; LLVM IR from aws/s2n-tls :: tests/unit (s2n_server_hello_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_blob = type { ptr, i32, i32, i8 }
%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_post_handshake = type { %struct.s2n_stuffer, [4 x i8] }
%struct.s2n_atomic_flag = type { i32 }
%struct.s2n_ecc_preferences = type { i8, ptr }
%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
@hello_retry_random_hex = external dso_local constant [65 x i8], align 16
@tls12_downgrade_protection_check_bytes = external dso_local constant [8 x i8], align 1
@tls11_downgrade_protection_check_bytes = external dso_local constant [8 x 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 [80 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 [34 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [33 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [149 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [56 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [85 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [55 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [47 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [87 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [104 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [67 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [82 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [67 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [82 x i8], align 1
@s2n_ecdhe_rsa_with_aes_256_gcm_sha384 = external global %struct.s2n_cipher_suite, align 8
@.str.33 = external hidden unnamed_addr constant [63 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [108 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [63 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [87 x i8], align 1
@.str.37 = external hidden unnamed_addr constant [59 x i8], align 1
@.str.38 = external hidden unnamed_addr constant [59 x i8], align 1
@.str.39 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.40 = external hidden unnamed_addr constant [61 x i8], align 1
@s2n_tls13_chacha20_poly1305_sha256 = external global %struct.s2n_cipher_suite, align 8
@.str.41 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.42 = external hidden unnamed_addr constant [59 x i8], align 1
@.str.43 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.44 = external hidden unnamed_addr constant [44 x i8], align 1
@.str.45 = external hidden unnamed_addr constant [65 x i8], align 1
@.str.46 = external hidden unnamed_addr constant [65 x i8], align 1
@.str.47 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.48 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.49 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.50 = external hidden unnamed_addr constant [77 x i8], align 1
@.str.51 = external hidden unnamed_addr constant [59 x i8], align 1
@.str.52 = external hidden unnamed_addr constant [63 x i8], align 1
@.str.53 = external hidden unnamed_addr constant [51 x i8], align 1
@.str.54 = external hidden unnamed_addr constant [35 x i8], align 1
@s2n_all_supported_curves_list = external constant [0 x ptr], align 8
@.str.55 = external hidden unnamed_addr constant [116 x i8], align 1
@.str.56 = external hidden unnamed_addr constant [66 x i8], align 1
@.str.57 = external hidden unnamed_addr constant [116 x i8], align 1
@.str.58 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.59 = external hidden unnamed_addr constant [40 x i8], align 1
@.str.60 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.61 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.62 = external hidden unnamed_addr constant [87 x i8], align 1
@.str.63 = external hidden unnamed_addr constant [99 x i8], align 1
@.str.64 = external hidden unnamed_addr constant [64 x i8], align 1
@.str.65 = external hidden unnamed_addr constant [91 x i8], align 1
@.str.66 = external hidden unnamed_addr constant [103 x i8], align 1
@.str.67 = external hidden unnamed_addr constant [84 x i8], align 1
@.str.68 = external hidden unnamed_addr constant [84 x i8], align 1
@.str.69 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.70 = external hidden unnamed_addr constant [80 x i8], align 1
@.str.71 = external hidden unnamed_addr constant [191 x i8], align 1
@.str.72 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.73 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.74 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.75 = external hidden unnamed_addr constant [97 x i8], align 1
@.str.76 = external hidden unnamed_addr constant [67 x i8], align 1
@.str.77 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.78 = external hidden unnamed_addr constant [57 x i8], align 1
@.str.79 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.80 = external hidden unnamed_addr constant [94 x i8], align 1
@.str.81 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.82 = external hidden unnamed_addr constant [91 x i8], align 1
@s2n_tls13_aes_128_gcm_sha256 = external global %struct.s2n_cipher_suite, align 8
@.str.83 = external hidden unnamed_addr constant [114 x i8], align 1
@.str.84 = external hidden unnamed_addr constant [80 x i8], align 1
@.str.85 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.86 = external hidden unnamed_addr constant [91 x i8], align 1
@.str.87 = external hidden unnamed_addr constant [114 x i8], align 1
@.str.88 = external hidden unnamed_addr constant [80 x i8], align 1
@.str.89 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.90 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.91 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.92 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.93 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.94 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.95 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.96 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.97 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.98 = 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 i32, align 4
  %16 = alloca i32, align 4
  %17 = alloca ptr, align 8
  %18 = alloca i32, align 4
  %19 = alloca i32, align 4
  %20 = alloca i32, align 4
  %21 = alloca i32, align 4
  %22 = alloca i32, align 4
  %23 = alloca i32, align 4
  %24 = alloca i32, align 4
  %25 = alloca i32, align 4
  %26 = alloca i32, align 4
  %27 = alloca ptr, align 8
  %28 = alloca ptr, align 8
  %29 = alloca i32, align 4
  %30 = alloca ptr, align 8
  %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 ptr, align 8
  %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 ptr, align 8
  %45 = alloca ptr, align 8
  %46 = alloca ptr, align 8
  %47 = alloca ptr, align 8
  %48 = alloca i32, align 4
  %49 = alloca i32, align 4
  %50 = alloca i32, align 4
  %51 = alloca i32, align 4
  %52 = alloca i32, align 4
  %53 = alloca i32, align 4
  %54 = alloca i32, align 4
  %55 = alloca i32, align 4
  %56 = alloca i32, align 4
  %57 = alloca ptr, align 8
  %58 = alloca i32, align 4
  %59 = alloca i32, align 4
  %60 = alloca i32, align 4
  %61 = alloca i32, align 4
  %62 = alloca i32, align 4
  %63 = alloca i32, align 4
  %64 = alloca ptr, align 8
  %65 = alloca ptr, align 8
  %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 ptr, align 8
  %77 = alloca ptr, align 8
  %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 ptr, align 8
  %91 = alloca ptr, align 8
  %92 = alloca i32, align 4
  %93 = alloca i32, align 4
  %94 = alloca i32, align 4
  %95 = alloca ptr, align 8
  %96 = alloca i32, align 4
  %97 = alloca i32, align 4
  %98 = alloca [32 x i8], align 16
  %99 = alloca i32, align 4
  %100 = alloca [32 x i8], align 16
  %101 = alloca i32, align 4
  %102 = alloca i32, align 4
  %103 = alloca i32, align 4
  %104 = alloca i32, align 4
  %105 = alloca i32, align 4
  %106 = alloca i32, align 4
  %107 = alloca i32, align 4
  %108 = alloca i32, align 4
  %109 = alloca i32, align 4
  %110 = alloca i32, align 4
  %111 = alloca i32, align 4
  %112 = alloca i32, align 4
  %113 = alloca i32, align 4
  %114 = alloca i32, align 4
  %115 = alloca i32, align 4
  %116 = alloca i32, align 4
  %117 = alloca i32, align 4
  %118 = alloca i32, align 4
  %119 = alloca 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 ptr, align 8
  %125 = alloca ptr, align 8
  %126 = alloca ptr, align 8
  %127 = alloca ptr, align 8
  %128 = alloca i32, align 4
  %129 = alloca i32, align 4
  %130 = alloca i32, align 4
  %131 = alloca i32, align 4
  %132 = alloca i32, align 4
  %133 = alloca i32, align 4
  %134 = alloca i32, align 4
  %135 = alloca i32, align 4
  %136 = alloca i32, align 4
  %137 = alloca ptr, align 8
  %138 = alloca i32, align 4
  %139 = alloca i32, align 4
  %140 = alloca 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 ptr, align 8
  %150 = alloca ptr, align 8
  %151 = alloca ptr, align 8
  %152 = alloca ptr, align 8
  %153 = alloca i32, align 4
  %154 = alloca i32, align 4
  %155 = alloca i32, align 4
  %156 = alloca i32, align 4
  %157 = alloca i32, align 4
  %158 = alloca i32, align 4
  %159 = alloca i32, align 4
  %160 = alloca i32, align 4
  %161 = alloca i32, align 4
  %162 = alloca ptr, align 8
  %163 = alloca i32, align 4
  %164 = alloca i32, align 4
  %165 = alloca 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 ptr, align 8
  %174 = alloca ptr, align 8
  %175 = alloca ptr, align 8
  %176 = alloca ptr, align 8
  %177 = alloca i32, align 4
  %178 = alloca i32, align 4
  %179 = alloca i32, align 4
  %180 = alloca i32, align 4
  %181 = alloca i32, align 4
  %182 = alloca i32, align 4
  %183 = alloca i32, align 4
  %184 = alloca i32, align 4
  %185 = alloca i32, align 4
  %186 = alloca i32, align 4
  %187 = alloca i32, align 4
  %188 = alloca ptr, align 8
  %189 = alloca i32, align 4
  %190 = alloca i32, align 4
  %191 = alloca i32, align 4
  %192 = alloca i32, align 4
  %193 = alloca i32, align 4
  %194 = alloca i32, align 4
  %195 = alloca ptr, align 8
  %196 = alloca ptr, align 8
  %197 = alloca ptr, align 8
  %198 = alloca ptr, align 8
  %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 i32, align 4
  %207 = alloca i32, align 4
  %208 = alloca ptr, align 8
  %209 = alloca i32, align 4
  %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 ptr, align 8
  %217 = alloca ptr, align 8
  %218 = alloca ptr, align 8
  %219 = alloca ptr, align 8
  %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 ptr, align 8
  %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 ptr, align 8
  %239 = alloca i32, align 4
  %240 = alloca ptr, align 8
  %241 = alloca i32, align 4
  %242 = alloca i32, align 4
  %243 = alloca [32 x i8], align 16
  %244 = alloca %struct.s2n_blob, align 8
  %245 = alloca %struct.s2n_result, 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 ptr, align 8
  %255 = alloca i32, align 4
  %256 = alloca i32, align 4
  %257 = alloca i32, align 4
  %258 = alloca ptr, align 8
  %259 = alloca i32, align 4
  %260 = alloca i32, align 4
  %261 = alloca ptr, align 8
  %262 = alloca i32, align 4
  %263 = alloca ptr, align 8
  %264 = alloca i32, align 4
  %265 = alloca %struct.s2n_result, 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 ptr, align 8
  %276 = alloca i32, align 4
  %277 = alloca i32, align 4
  %278 = alloca ptr, align 8
  %279 = alloca i32, align 4
  %280 = alloca %struct.s2n_result, 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 ptr, align 8
  %295 = alloca i32, align 4
  %296 = alloca ptr, align 8
  %297 = alloca i32, align 4
  %298 = alloca i32, align 4
  %299 = alloca %struct.s2n_result, align 4
  %300 = alloca i32, align 4
  %301 = alloca i32, align 4
  %302 = alloca ptr, align 8
  %303 = alloca i32, align 4
  %304 = alloca i32, align 4
  %305 = alloca %struct.s2n_result, align 4
  %306 = alloca i32, align 4
  %307 = alloca i32, align 4
  %308 = alloca %struct.s2n_result, 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 ptr, align 8
  %319 = alloca i32, align 4
  %320 = alloca i32, align 4
  %321 = alloca %struct.s2n_result, align 4
  %322 = alloca i32, align 4
  %323 = alloca i32, align 4
  %324 = alloca ptr, align 8
  %325 = alloca i32, align 4
  %326 = alloca i32, align 4
  %327 = alloca %struct.s2n_result, align 4
  %328 = alloca i32, align 4
  %329 = alloca i32, align 4
  %330 = alloca %struct.s2n_result, 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
  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 %347

347:                                              ; preds = %2
  br label %348

348:                                              ; preds = %347
  store i32 0, ptr @test_count, align 4, !tbaa !5
  %349 = load ptr, ptr @stdout, align 8, !tbaa !9
  %350 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %349, ptr noundef @.str, ptr noundef @.str.1) #10
  %351 = load ptr, ptr @stdout, align 8, !tbaa !9
  %352 = call i32 @fflush(ptr noundef %351)
  br label %353

353:                                              ; preds = %348
  %354 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext true)
  %355 = icmp eq i32 %354, -1
  br i1 %355, label %356, label %407

356:                                              ; preds = %353
  br label %357

357:                                              ; preds = %356
  br label %358

358:                                              ; preds = %357
  call void @llvm.lifetime.start.p0(i64 4, ptr %6) #10
  %359 = call ptr @__errno_location() #11
  %360 = load i32, ptr %359, align 4, !tbaa !5
  store i32 %360, ptr %6, align 4, !tbaa !5
  %361 = load ptr, ptr @stderr, align 8, !tbaa !9
  %362 = call i32 @s2n_print_stacktrace(ptr noundef %361)
  %363 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %364 = trunc i8 %363 to i1
  br i1 %364, label %365, label %387

365:                                              ; preds = %358
  %366 = load ptr, ptr @stderr, align 8, !tbaa !9
  %367 = call i32 @fileno(ptr noundef %366) #10
  %368 = call i32 @isatty(i32 noundef %367) #10
  %369 = icmp ne i32 %368, 0
  br i1 %369, label %370, label %387

370:                                              ; preds = %365
  %371 = load i32, ptr %6, align 4, !tbaa !5
  %372 = call ptr @__errno_location() #11
  store i32 %371, ptr %372, align 4, !tbaa !5
  %373 = load ptr, ptr @stderr, align 8, !tbaa !9
  %374 = load i32, ptr @test_count, align 4, !tbaa !5
  %375 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %376 = load i32, ptr %375, align 4, !tbaa !5
  %377 = call ptr @s2n_strerror(i32 noundef %376, ptr noundef @.str.4)
  %378 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %379 = load i32, ptr %378, align 4, !tbaa !5
  %380 = call ptr @s2n_strerror_debug(i32 noundef %379, ptr noundef @.str.4)
  %381 = call ptr @__errno_location() #11
  %382 = load i32, ptr %381, align 4, !tbaa !5
  %383 = call ptr @strerror(i32 noundef %382) #10
  %384 = call ptr @__errno_location() #11
  %385 = load i32, ptr %384, align 4, !tbaa !5
  %386 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %373, ptr noundef @.str.2, i32 noundef %374, ptr noundef @.str.3, ptr noundef @.str.1, i32 noundef 66, ptr noundef %377, ptr noundef %380, ptr noundef %383, i32 noundef %385) #10
  br label %404

387:                                              ; preds = %365, %358
  %388 = load i32, ptr %6, align 4, !tbaa !5
  %389 = call ptr @__errno_location() #11
  store i32 %388, ptr %389, align 4, !tbaa !5
  %390 = load ptr, ptr @stderr, align 8, !tbaa !9
  %391 = load i32, ptr @test_count, align 4, !tbaa !5
  %392 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %393 = load i32, ptr %392, align 4, !tbaa !5
  %394 = call ptr @s2n_strerror(i32 noundef %393, ptr noundef @.str.4)
  %395 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %396 = load i32, ptr %395, align 4, !tbaa !5
  %397 = call ptr @s2n_strerror_debug(i32 noundef %396, ptr noundef @.str.4)
  %398 = call ptr @__errno_location() #11
  %399 = load i32, ptr %398, align 4, !tbaa !5
  %400 = call ptr @strerror(i32 noundef %399) #10
  %401 = call ptr @__errno_location() #11
  %402 = load i32, ptr %401, align 4, !tbaa !5
  %403 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %390, ptr noundef @.str.5, i32 noundef %391, ptr noundef @.str.3, ptr noundef @.str.1, i32 noundef 66, ptr noundef %394, ptr noundef %397, ptr noundef %400, i32 noundef %402) #10
  br label %404

404:                                              ; preds = %387, %370
  call void @llvm.lifetime.end.p0(i64 4, ptr %6) #10
  br label %405

405:                                              ; preds = %404
  call void @exit(i32 noundef 1) #12
  unreachable

406:                                              ; No predecessors!
  br label %407

407:                                              ; preds = %406, %353
  br label %408

408:                                              ; preds = %407
  br label %409

409:                                              ; preds = %408
  %410 = load i32, ptr @test_count, align 4, !tbaa !5
  %411 = add nsw i32 %410, 1
  store i32 %411, ptr @test_count, align 4, !tbaa !5
  %412 = call i32 @s2n_enable_atexit()
  %413 = icmp eq i32 %412, -1
  br i1 %413, label %414, label %465

414:                                              ; preds = %409
  br label %415

415:                                              ; preds = %414
  br label %416

416:                                              ; preds = %415
  call void @llvm.lifetime.start.p0(i64 4, ptr %7) #10
  %417 = call ptr @__errno_location() #11
  %418 = load i32, ptr %417, align 4, !tbaa !5
  store i32 %418, ptr %7, align 4, !tbaa !5
  %419 = load ptr, ptr @stderr, align 8, !tbaa !9
  %420 = call i32 @s2n_print_stacktrace(ptr noundef %419)
  %421 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %422 = trunc i8 %421 to i1
  br i1 %422, label %423, label %445

423:                                              ; preds = %416
  %424 = load ptr, ptr @stderr, align 8, !tbaa !9
  %425 = call i32 @fileno(ptr noundef %424) #10
  %426 = call i32 @isatty(i32 noundef %425) #10
  %427 = icmp ne i32 %426, 0
  br i1 %427, label %428, label %445

428:                                              ; preds = %423
  %429 = load i32, ptr %7, align 4, !tbaa !5
  %430 = call ptr @__errno_location() #11
  store i32 %429, ptr %430, align 4, !tbaa !5
  %431 = load ptr, ptr @stderr, align 8, !tbaa !9
  %432 = load i32, ptr @test_count, align 4, !tbaa !5
  %433 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %434 = load i32, ptr %433, align 4, !tbaa !5
  %435 = call ptr @s2n_strerror(i32 noundef %434, ptr noundef @.str.4)
  %436 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %437 = load i32, ptr %436, align 4, !tbaa !5
  %438 = call ptr @s2n_strerror_debug(i32 noundef %437, ptr noundef @.str.4)
  %439 = call ptr @__errno_location() #11
  %440 = load i32, ptr %439, align 4, !tbaa !5
  %441 = call ptr @strerror(i32 noundef %440) #10
  %442 = call ptr @__errno_location() #11
  %443 = load i32, ptr %442, align 4, !tbaa !5
  %444 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %431, ptr noundef @.str.2, i32 noundef %432, ptr noundef @.str.6, ptr noundef @.str.1, i32 noundef 66, ptr noundef %435, ptr noundef %438, ptr noundef %441, i32 noundef %443) #10
  br label %462

445:                                              ; preds = %423, %416
  %446 = load i32, ptr %7, align 4, !tbaa !5
  %447 = call ptr @__errno_location() #11
  store i32 %446, ptr %447, align 4, !tbaa !5
  %448 = load ptr, ptr @stderr, align 8, !tbaa !9
  %449 = load i32, ptr @test_count, align 4, !tbaa !5
  %450 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %451 = load i32, ptr %450, align 4, !tbaa !5
  %452 = call ptr @s2n_strerror(i32 noundef %451, ptr noundef @.str.4)
  %453 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %454 = load i32, ptr %453, align 4, !tbaa !5
  %455 = call ptr @s2n_strerror_debug(i32 noundef %454, ptr noundef @.str.4)
  %456 = call ptr @__errno_location() #11
  %457 = load i32, ptr %456, align 4, !tbaa !5
  %458 = call ptr @strerror(i32 noundef %457) #10
  %459 = call ptr @__errno_location() #11
  %460 = load i32, ptr %459, align 4, !tbaa !5
  %461 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %448, ptr noundef @.str.5, i32 noundef %449, ptr noundef @.str.6, ptr noundef @.str.1, i32 noundef 66, ptr noundef %452, ptr noundef %455, ptr noundef %458, i32 noundef %460) #10
  br label %462

462:                                              ; preds = %445, %428
  call void @llvm.lifetime.end.p0(i64 4, ptr %7) #10
  br label %463

463:                                              ; preds = %462
  call void @exit(i32 noundef 1) #12
  unreachable

464:                                              ; No predecessors!
  br label %465

465:                                              ; preds = %464, %409
  br label %466

466:                                              ; preds = %465
  br label %467

467:                                              ; preds = %466
  br label %468

468:                                              ; preds = %467
  %469 = call i32 @s2n_init()
  %470 = icmp eq i32 %469, -1
  br i1 %470, label %471, label %522

471:                                              ; preds = %468
  br label %472

472:                                              ; preds = %471
  br label %473

473:                                              ; preds = %472
  call void @llvm.lifetime.start.p0(i64 4, ptr %8) #10
  %474 = call ptr @__errno_location() #11
  %475 = load i32, ptr %474, align 4, !tbaa !5
  store i32 %475, ptr %8, align 4, !tbaa !5
  %476 = load ptr, ptr @stderr, align 8, !tbaa !9
  %477 = call i32 @s2n_print_stacktrace(ptr noundef %476)
  %478 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %479 = trunc i8 %478 to i1
  br i1 %479, label %480, label %502

480:                                              ; preds = %473
  %481 = load ptr, ptr @stderr, align 8, !tbaa !9
  %482 = call i32 @fileno(ptr noundef %481) #10
  %483 = call i32 @isatty(i32 noundef %482) #10
  %484 = icmp ne i32 %483, 0
  br i1 %484, label %485, label %502

485:                                              ; preds = %480
  %486 = load i32, ptr %8, align 4, !tbaa !5
  %487 = call ptr @__errno_location() #11
  store i32 %486, ptr %487, align 4, !tbaa !5
  %488 = load ptr, ptr @stderr, align 8, !tbaa !9
  %489 = load i32, ptr @test_count, align 4, !tbaa !5
  %490 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %491 = load i32, ptr %490, align 4, !tbaa !5
  %492 = call ptr @s2n_strerror(i32 noundef %491, ptr noundef @.str.4)
  %493 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %494 = load i32, ptr %493, align 4, !tbaa !5
  %495 = call ptr @s2n_strerror_debug(i32 noundef %494, ptr noundef @.str.4)
  %496 = call ptr @__errno_location() #11
  %497 = load i32, ptr %496, align 4, !tbaa !5
  %498 = call ptr @strerror(i32 noundef %497) #10
  %499 = call ptr @__errno_location() #11
  %500 = load i32, ptr %499, align 4, !tbaa !5
  %501 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %488, ptr noundef @.str.2, i32 noundef %489, ptr noundef @.str.7, ptr noundef @.str.1, i32 noundef 66, ptr noundef %492, ptr noundef %495, ptr noundef %498, i32 noundef %500) #10
  br label %519

502:                                              ; preds = %480, %473
  %503 = load i32, ptr %8, align 4, !tbaa !5
  %504 = call ptr @__errno_location() #11
  store i32 %503, ptr %504, align 4, !tbaa !5
  %505 = load ptr, ptr @stderr, align 8, !tbaa !9
  %506 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %508, ptr noundef @.str.4)
  %510 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %511 = load i32, ptr %510, align 4, !tbaa !5
  %512 = call ptr @s2n_strerror_debug(i32 noundef %511, ptr noundef @.str.4)
  %513 = call ptr @__errno_location() #11
  %514 = load i32, ptr %513, align 4, !tbaa !5
  %515 = call ptr @strerror(i32 noundef %514) #10
  %516 = call ptr @__errno_location() #11
  %517 = load i32, ptr %516, align 4, !tbaa !5
  %518 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %505, ptr noundef @.str.5, i32 noundef %506, ptr noundef @.str.7, ptr noundef @.str.1, i32 noundef 66, ptr noundef %509, ptr noundef %512, ptr noundef %515, i32 noundef %517) #10
  br label %519

519:                                              ; preds = %502, %485
  call void @llvm.lifetime.end.p0(i64 4, ptr %8) #10
  br label %520

520:                                              ; preds = %519
  call void @exit(i32 noundef 1) #12
  unreachable

521:                                              ; No predecessors!
  br label %522

522:                                              ; preds = %521, %468
  br label %523

523:                                              ; preds = %522
  br label %524

524:                                              ; preds = %523
  br label %525

525:                                              ; preds = %524
  %526 = load i32, ptr @test_count, align 4, !tbaa !5
  %527 = add nsw i32 %526, 1
  store i32 %527, ptr @test_count, align 4, !tbaa !5
  %528 = call i32 (...) @s2n_disable_tls13_in_test()
  %529 = icmp eq i32 %528, -1
  br i1 %529, label %530, label %581

530:                                              ; preds = %525
  br label %531

531:                                              ; preds = %530
  br label %532

532:                                              ; preds = %531
  call void @llvm.lifetime.start.p0(i64 4, ptr %9) #10
  %533 = call ptr @__errno_location() #11
  %534 = load i32, ptr %533, align 4, !tbaa !5
  store i32 %534, ptr %9, align 4, !tbaa !5
  %535 = load ptr, ptr @stderr, align 8, !tbaa !9
  %536 = call i32 @s2n_print_stacktrace(ptr noundef %535)
  %537 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %538 = trunc i8 %537 to i1
  br i1 %538, label %539, label %561

539:                                              ; preds = %532
  %540 = load ptr, ptr @stderr, align 8, !tbaa !9
  %541 = call i32 @fileno(ptr noundef %540) #10
  %542 = call i32 @isatty(i32 noundef %541) #10
  %543 = icmp ne i32 %542, 0
  br i1 %543, label %544, label %561

544:                                              ; preds = %539
  %545 = load i32, ptr %9, align 4, !tbaa !5
  %546 = call ptr @__errno_location() #11
  store i32 %545, ptr %546, align 4, !tbaa !5
  %547 = load ptr, ptr @stderr, align 8, !tbaa !9
  %548 = load i32, ptr @test_count, align 4, !tbaa !5
  %549 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %550 = load i32, ptr %549, align 4, !tbaa !5
  %551 = call ptr @s2n_strerror(i32 noundef %550, ptr noundef @.str.4)
  %552 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %553 = load i32, ptr %552, align 4, !tbaa !5
  %554 = call ptr @s2n_strerror_debug(i32 noundef %553, ptr noundef @.str.4)
  %555 = call ptr @__errno_location() #11
  %556 = load i32, ptr %555, align 4, !tbaa !5
  %557 = call ptr @strerror(i32 noundef %556) #10
  %558 = call ptr @__errno_location() #11
  %559 = load i32, ptr %558, align 4, !tbaa !5
  %560 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %547, ptr noundef @.str.2, i32 noundef %548, ptr noundef @.str.8, ptr noundef @.str.1, i32 noundef 67, ptr noundef %551, ptr noundef %554, ptr noundef %557, i32 noundef %559) #10
  br label %578

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

578:                                              ; preds = %561, %544
  call void @llvm.lifetime.end.p0(i64 4, ptr %9) #10
  br label %579

579:                                              ; preds = %578
  call void @exit(i32 noundef 1) #12
  unreachable

580:                                              ; No predecessors!
  br label %581

581:                                              ; preds = %580, %525
  br label %582

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

583:                                              ; preds = %582
  %584 = load i32, ptr @test_count, align 4, !tbaa !5
  %585 = add nsw i32 %584, 1
  store i32 %585, ptr @test_count, align 4, !tbaa !5
  %586 = call i32 @s2n_test_cert_chain_and_key_new(ptr noundef %10, ptr noundef @.str.9, ptr noundef @.str.10)
  %587 = icmp eq i32 %586, -1
  br i1 %587, label %588, label %641

588:                                              ; preds = %583
  br label %589

589:                                              ; preds = %588
  br label %590

590:                                              ; preds = %589
  call void @llvm.lifetime.start.p0(i64 4, ptr %11) #10
  %591 = call ptr @__errno_location() #11
  %592 = load i32, ptr %591, align 4, !tbaa !5
  store i32 %592, ptr %11, align 4, !tbaa !5
  %593 = load ptr, ptr @stderr, align 8, !tbaa !9
  %594 = call i32 @s2n_print_stacktrace(ptr noundef %593)
  %595 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %596 = trunc i8 %595 to i1
  br i1 %596, label %597, label %619

597:                                              ; preds = %590
  %598 = load ptr, ptr @stderr, align 8, !tbaa !9
  %599 = call i32 @fileno(ptr noundef %598) #10
  %600 = call i32 @isatty(i32 noundef %599) #10
  %601 = icmp ne i32 %600, 0
  br i1 %601, label %602, label %619

602:                                              ; preds = %597
  %603 = load i32, ptr %11, align 4, !tbaa !5
  %604 = call ptr @__errno_location() #11
  store i32 %603, ptr %604, align 4, !tbaa !5
  %605 = load ptr, ptr @stderr, align 8, !tbaa !9
  %606 = load i32, ptr @test_count, align 4, !tbaa !5
  %607 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %608 = load i32, ptr %607, align 4, !tbaa !5
  %609 = call ptr @s2n_strerror(i32 noundef %608, ptr noundef @.str.4)
  %610 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %611 = load i32, ptr %610, align 4, !tbaa !5
  %612 = call ptr @s2n_strerror_debug(i32 noundef %611, ptr noundef @.str.4)
  %613 = call ptr @__errno_location() #11
  %614 = load i32, ptr %613, align 4, !tbaa !5
  %615 = call ptr @strerror(i32 noundef %614) #10
  %616 = call ptr @__errno_location() #11
  %617 = load i32, ptr %616, align 4, !tbaa !5
  %618 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %605, ptr noundef @.str.2, i32 noundef %606, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 71, ptr noundef %609, ptr noundef %612, ptr noundef %615, i32 noundef %617) #10
  br label %636

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

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

637:                                              ; preds = %636
  br label %638

638:                                              ; preds = %637
  call void @exit(i32 noundef 1) #12
  unreachable

639:                                              ; No predecessors!
  br label %640

640:                                              ; preds = %639
  br label %641

641:                                              ; preds = %640, %583
  br label %642

642:                                              ; preds = %641
  br label %643

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

644:                                              ; preds = %643
  %645 = load i32, ptr @test_count, align 4, !tbaa !5
  %646 = add nsw i32 %645, 1
  store i32 %646, ptr @test_count, align 4, !tbaa !5
  %647 = call ptr @s2n_config_new()
  store ptr %647, ptr %12, align 8, !tbaa !9
  %648 = icmp eq ptr %647, null
  br i1 %648, label %649, label %702

649:                                              ; preds = %644
  br label %650

650:                                              ; preds = %649
  br label %651

651:                                              ; preds = %650
  call void @llvm.lifetime.start.p0(i64 4, ptr %13) #10
  %652 = call ptr @__errno_location() #11
  %653 = load i32, ptr %652, align 4, !tbaa !5
  store i32 %653, ptr %13, align 4, !tbaa !5
  %654 = load ptr, ptr @stderr, align 8, !tbaa !9
  %655 = call i32 @s2n_print_stacktrace(ptr noundef %654)
  %656 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %657 = trunc i8 %656 to i1
  br i1 %657, label %658, label %680

658:                                              ; preds = %651
  %659 = load ptr, ptr @stderr, align 8, !tbaa !9
  %660 = call i32 @fileno(ptr noundef %659) #10
  %661 = call i32 @isatty(i32 noundef %660) #10
  %662 = icmp ne i32 %661, 0
  br i1 %662, label %663, label %680

663:                                              ; preds = %658
  %664 = load i32, ptr %13, align 4, !tbaa !5
  %665 = call ptr @__errno_location() #11
  store i32 %664, ptr %665, align 4, !tbaa !5
  %666 = load ptr, ptr @stderr, align 8, !tbaa !9
  %667 = load i32, ptr @test_count, align 4, !tbaa !5
  %668 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %669 = load i32, ptr %668, align 4, !tbaa !5
  %670 = call ptr @s2n_strerror(i32 noundef %669, ptr noundef @.str.4)
  %671 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %672 = load i32, ptr %671, align 4, !tbaa !5
  %673 = call ptr @s2n_strerror_debug(i32 noundef %672, ptr noundef @.str.4)
  %674 = call ptr @__errno_location() #11
  %675 = load i32, ptr %674, align 4, !tbaa !5
  %676 = call ptr @strerror(i32 noundef %675) #10
  %677 = call ptr @__errno_location() #11
  %678 = load i32, ptr %677, align 4, !tbaa !5
  %679 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %666, ptr noundef @.str.2, i32 noundef %667, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 76, ptr noundef %670, ptr noundef %673, ptr noundef %676, i32 noundef %678) #10
  br label %697

680:                                              ; preds = %658, %651
  %681 = load i32, ptr %13, align 4, !tbaa !5
  %682 = call ptr @__errno_location() #11
  store i32 %681, ptr %682, align 4, !tbaa !5
  %683 = load ptr, ptr @stderr, align 8, !tbaa !9
  %684 = load i32, ptr @test_count, align 4, !tbaa !5
  %685 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %686 = load i32, ptr %685, align 4, !tbaa !5
  %687 = call ptr @s2n_strerror(i32 noundef %686, ptr noundef @.str.4)
  %688 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %689 = load i32, ptr %688, align 4, !tbaa !5
  %690 = call ptr @s2n_strerror_debug(i32 noundef %689, ptr noundef @.str.4)
  %691 = call ptr @__errno_location() #11
  %692 = load i32, ptr %691, align 4, !tbaa !5
  %693 = call ptr @strerror(i32 noundef %692) #10
  %694 = call ptr @__errno_location() #11
  %695 = load i32, ptr %694, align 4, !tbaa !5
  %696 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %683, ptr noundef @.str.5, i32 noundef %684, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 76, ptr noundef %687, ptr noundef %690, ptr noundef %693, i32 noundef %695) #10
  br label %697

697:                                              ; preds = %680, %663
  call void @llvm.lifetime.end.p0(i64 4, ptr %13) #10
  br label %698

698:                                              ; preds = %697
  br label %699

699:                                              ; preds = %698
  call void @exit(i32 noundef 1) #12
  unreachable

700:                                              ; No predecessors!
  br label %701

701:                                              ; preds = %700
  br label %702

702:                                              ; preds = %701, %644
  br label %703

703:                                              ; preds = %702
  br label %704

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

705:                                              ; preds = %704
  %706 = load i32, ptr @test_count, align 4, !tbaa !5
  %707 = add nsw i32 %706, 1
  store i32 %707, ptr @test_count, align 4, !tbaa !5
  %708 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %708, ptr %14, align 8, !tbaa !9
  %709 = icmp eq ptr %708, null
  br i1 %709, label %710, label %763

710:                                              ; preds = %705
  br label %711

711:                                              ; preds = %710
  br label %712

712:                                              ; preds = %711
  call void @llvm.lifetime.start.p0(i64 4, ptr %15) #10
  %713 = call ptr @__errno_location() #11
  %714 = load i32, ptr %713, align 4, !tbaa !5
  store i32 %714, ptr %15, align 4, !tbaa !5
  %715 = load ptr, ptr @stderr, align 8, !tbaa !9
  %716 = call i32 @s2n_print_stacktrace(ptr noundef %715)
  %717 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %718 = trunc i8 %717 to i1
  br i1 %718, label %719, label %741

719:                                              ; preds = %712
  %720 = load ptr, ptr @stderr, align 8, !tbaa !9
  %721 = call i32 @fileno(ptr noundef %720) #10
  %722 = call i32 @isatty(i32 noundef %721) #10
  %723 = icmp ne i32 %722, 0
  br i1 %723, label %724, label %741

724:                                              ; preds = %719
  %725 = load i32, ptr %15, align 4, !tbaa !5
  %726 = call ptr @__errno_location() #11
  store i32 %725, ptr %726, align 4, !tbaa !5
  %727 = load ptr, ptr @stderr, align 8, !tbaa !9
  %728 = load i32, ptr @test_count, align 4, !tbaa !5
  %729 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %730 = load i32, ptr %729, align 4, !tbaa !5
  %731 = call ptr @s2n_strerror(i32 noundef %730, ptr noundef @.str.4)
  %732 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %733 = load i32, ptr %732, align 4, !tbaa !5
  %734 = call ptr @s2n_strerror_debug(i32 noundef %733, ptr noundef @.str.4)
  %735 = call ptr @__errno_location() #11
  %736 = load i32, ptr %735, align 4, !tbaa !5
  %737 = call ptr @strerror(i32 noundef %736) #10
  %738 = call ptr @__errno_location() #11
  %739 = load i32, ptr %738, align 4, !tbaa !5
  %740 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %727, ptr noundef @.str.2, i32 noundef %728, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 79, ptr noundef %731, ptr noundef %734, ptr noundef %737, i32 noundef %739) #10
  br label %758

741:                                              ; preds = %719, %712
  %742 = load i32, ptr %15, align 4, !tbaa !5
  %743 = call ptr @__errno_location() #11
  store i32 %742, ptr %743, align 4, !tbaa !5
  %744 = load ptr, ptr @stderr, align 8, !tbaa !9
  %745 = load i32, ptr @test_count, align 4, !tbaa !5
  %746 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %747 = load i32, ptr %746, align 4, !tbaa !5
  %748 = call ptr @s2n_strerror(i32 noundef %747, ptr noundef @.str.4)
  %749 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %750 = load i32, ptr %749, align 4, !tbaa !5
  %751 = call ptr @s2n_strerror_debug(i32 noundef %750, ptr noundef @.str.4)
  %752 = call ptr @__errno_location() #11
  %753 = load i32, ptr %752, align 4, !tbaa !5
  %754 = call ptr @strerror(i32 noundef %753) #10
  %755 = call ptr @__errno_location() #11
  %756 = load i32, ptr %755, align 4, !tbaa !5
  %757 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %744, ptr noundef @.str.5, i32 noundef %745, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 79, ptr noundef %748, ptr noundef %751, ptr noundef %754, i32 noundef %756) #10
  br label %758

758:                                              ; preds = %741, %724
  call void @llvm.lifetime.end.p0(i64 4, ptr %15) #10
  br label %759

759:                                              ; preds = %758
  br label %760

760:                                              ; preds = %759
  call void @exit(i32 noundef 1) #12
  unreachable

761:                                              ; No predecessors!
  br label %762

762:                                              ; preds = %761
  br label %763

763:                                              ; preds = %762, %705
  br label %764

764:                                              ; preds = %763
  br label %765

765:                                              ; preds = %764
  br label %766

766:                                              ; preds = %765
  %767 = load i32, ptr @test_count, align 4, !tbaa !5
  %768 = add nsw i32 %767, 1
  store i32 %768, ptr @test_count, align 4, !tbaa !5
  %769 = load ptr, ptr %14, align 8, !tbaa !9
  %770 = load ptr, ptr %12, align 8, !tbaa !9
  %771 = call i32 @s2n_connection_set_config(ptr noundef %769, ptr noundef %770)
  %772 = icmp eq i32 %771, -1
  br i1 %772, label %773, label %826

773:                                              ; preds = %766
  br label %774

774:                                              ; preds = %773
  br label %775

775:                                              ; preds = %774
  call void @llvm.lifetime.start.p0(i64 4, ptr %16) #10
  %776 = call ptr @__errno_location() #11
  %777 = load i32, ptr %776, align 4, !tbaa !5
  store i32 %777, ptr %16, align 4, !tbaa !5
  %778 = load ptr, ptr @stderr, align 8, !tbaa !9
  %779 = call i32 @s2n_print_stacktrace(ptr noundef %778)
  %780 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %781 = trunc i8 %780 to i1
  br i1 %781, label %782, label %804

782:                                              ; preds = %775
  %783 = load ptr, ptr @stderr, align 8, !tbaa !9
  %784 = call i32 @fileno(ptr noundef %783) #10
  %785 = call i32 @isatty(i32 noundef %784) #10
  %786 = icmp ne i32 %785, 0
  br i1 %786, label %787, label %804

787:                                              ; preds = %782
  %788 = load i32, ptr %16, align 4, !tbaa !5
  %789 = call ptr @__errno_location() #11
  store i32 %788, ptr %789, align 4, !tbaa !5
  %790 = load ptr, ptr @stderr, align 8, !tbaa !9
  %791 = load i32, ptr @test_count, align 4, !tbaa !5
  %792 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %793 = load i32, ptr %792, align 4, !tbaa !5
  %794 = call ptr @s2n_strerror(i32 noundef %793, ptr noundef @.str.4)
  %795 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %796 = load i32, ptr %795, align 4, !tbaa !5
  %797 = call ptr @s2n_strerror_debug(i32 noundef %796, ptr noundef @.str.4)
  %798 = call ptr @__errno_location() #11
  %799 = load i32, ptr %798, align 4, !tbaa !5
  %800 = call ptr @strerror(i32 noundef %799) #10
  %801 = call ptr @__errno_location() #11
  %802 = load i32, ptr %801, align 4, !tbaa !5
  %803 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %790, ptr noundef @.str.2, i32 noundef %791, ptr noundef @.str.14, ptr noundef @.str.1, i32 noundef 80, ptr noundef %794, ptr noundef %797, ptr noundef %800, i32 noundef %802) #10
  br label %821

804:                                              ; preds = %782, %775
  %805 = load i32, ptr %16, align 4, !tbaa !5
  %806 = call ptr @__errno_location() #11
  store i32 %805, ptr %806, align 4, !tbaa !5
  %807 = load ptr, ptr @stderr, align 8, !tbaa !9
  %808 = load i32, ptr @test_count, align 4, !tbaa !5
  %809 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %810 = load i32, ptr %809, align 4, !tbaa !5
  %811 = call ptr @s2n_strerror(i32 noundef %810, ptr noundef @.str.4)
  %812 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %813 = load i32, ptr %812, align 4, !tbaa !5
  %814 = call ptr @s2n_strerror_debug(i32 noundef %813, ptr noundef @.str.4)
  %815 = call ptr @__errno_location() #11
  %816 = load i32, ptr %815, align 4, !tbaa !5
  %817 = call ptr @strerror(i32 noundef %816) #10
  %818 = call ptr @__errno_location() #11
  %819 = load i32, ptr %818, align 4, !tbaa !5
  %820 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %807, ptr noundef @.str.5, i32 noundef %808, ptr noundef @.str.14, ptr noundef @.str.1, i32 noundef 80, ptr noundef %811, ptr noundef %814, ptr noundef %817, i32 noundef %819) #10
  br label %821

821:                                              ; preds = %804, %787
  call void @llvm.lifetime.end.p0(i64 4, ptr %16) #10
  br label %822

822:                                              ; preds = %821
  br label %823

823:                                              ; preds = %822
  call void @exit(i32 noundef 1) #12
  unreachable

824:                                              ; No predecessors!
  br label %825

825:                                              ; preds = %824
  br label %826

826:                                              ; preds = %825, %766
  br label %827

827:                                              ; preds = %826
  br label %828

828:                                              ; preds = %827
  call void @llvm.lifetime.start.p0(i64 8, ptr %17) #10
  %829 = load ptr, ptr %14, align 8, !tbaa !9
  %830 = getelementptr inbounds %struct.s2n_connection, ptr %829, i32 0, i32 52
  %831 = getelementptr inbounds %struct.s2n_handshake, ptr %830, i32 0, i32 0
  store ptr %831, ptr %17, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %18) #10
  %832 = load ptr, ptr %14, align 8, !tbaa !9
  %833 = getelementptr inbounds %struct.s2n_connection, ptr %832, i32 0, i32 19
  %834 = load i8, ptr %833, align 8, !tbaa !15
  %835 = zext i8 %834 to i32
  %836 = add nsw i32 35, %835
  %837 = add nsw i32 %836, 2
  %838 = add nsw i32 %837, 1
  store i32 %838, ptr %18, align 4, !tbaa !5
  %839 = load ptr, ptr %14, align 8, !tbaa !9
  %840 = getelementptr inbounds %struct.s2n_connection, ptr %839, i32 0, i32 23
  store i8 33, ptr %840, align 4, !tbaa !42
  br label %841

841:                                              ; preds = %828
  %842 = load i32, ptr @test_count, align 4, !tbaa !5
  %843 = add nsw i32 %842, 1
  store i32 %843, ptr @test_count, align 4, !tbaa !5
  %844 = load ptr, ptr %14, align 8, !tbaa !9
  %845 = call i32 @s2n_server_hello_send(ptr noundef %844)
  %846 = icmp eq i32 %845, -1
  br i1 %846, label %847, label %900

847:                                              ; preds = %841
  br label %848

848:                                              ; preds = %847
  br label %849

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

856:                                              ; preds = %849
  %857 = load ptr, ptr @stderr, align 8, !tbaa !9
  %858 = call i32 @fileno(ptr noundef %857) #10
  %859 = call i32 @isatty(i32 noundef %858) #10
  %860 = icmp ne i32 %859, 0
  br i1 %860, label %861, label %878

861:                                              ; preds = %856
  %862 = load i32, ptr %19, align 4, !tbaa !5
  %863 = call ptr @__errno_location() #11
  store i32 %862, ptr %863, align 4, !tbaa !5
  %864 = load ptr, ptr @stderr, align 8, !tbaa !9
  %865 = load i32, ptr @test_count, align 4, !tbaa !5
  %866 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %867 = load i32, ptr %866, align 4, !tbaa !5
  %868 = call ptr @s2n_strerror(i32 noundef %867, ptr noundef @.str.4)
  %869 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %870 = load i32, ptr %869, align 4, !tbaa !5
  %871 = call ptr @s2n_strerror_debug(i32 noundef %870, ptr noundef @.str.4)
  %872 = call ptr @__errno_location() #11
  %873 = load i32, ptr %872, align 4, !tbaa !5
  %874 = call ptr @strerror(i32 noundef %873) #10
  %875 = call ptr @__errno_location() #11
  %876 = load i32, ptr %875, align 4, !tbaa !5
  %877 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %864, ptr noundef @.str.2, i32 noundef %865, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 93, ptr noundef %868, ptr noundef %871, ptr noundef %874, i32 noundef %876) #10
  br label %895

878:                                              ; preds = %856, %849
  %879 = load i32, ptr %19, align 4, !tbaa !5
  %880 = call ptr @__errno_location() #11
  store i32 %879, ptr %880, align 4, !tbaa !5
  %881 = load ptr, ptr @stderr, align 8, !tbaa !9
  %882 = load i32, ptr @test_count, align 4, !tbaa !5
  %883 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %884 = load i32, ptr %883, align 4, !tbaa !5
  %885 = call ptr @s2n_strerror(i32 noundef %884, ptr noundef @.str.4)
  %886 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %887 = load i32, ptr %886, align 4, !tbaa !5
  %888 = call ptr @s2n_strerror_debug(i32 noundef %887, ptr noundef @.str.4)
  %889 = call ptr @__errno_location() #11
  %890 = load i32, ptr %889, align 4, !tbaa !5
  %891 = call ptr @strerror(i32 noundef %890) #10
  %892 = call ptr @__errno_location() #11
  %893 = load i32, ptr %892, align 4, !tbaa !5
  %894 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %881, ptr noundef @.str.5, i32 noundef %882, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 93, ptr noundef %885, ptr noundef %888, ptr noundef %891, i32 noundef %893) #10
  br label %895

895:                                              ; preds = %878, %861
  call void @llvm.lifetime.end.p0(i64 4, ptr %19) #10
  br label %896

896:                                              ; preds = %895
  br label %897

897:                                              ; preds = %896
  call void @exit(i32 noundef 1) #12
  unreachable

898:                                              ; No predecessors!
  br label %899

899:                                              ; preds = %898
  br label %900

900:                                              ; preds = %899, %841
  br label %901

901:                                              ; preds = %900
  br label %902

902:                                              ; preds = %901
  br label %903

903:                                              ; preds = %902
  %904 = load i32, ptr @test_count, align 4, !tbaa !5
  %905 = add nsw i32 %904, 1
  store i32 %905, ptr @test_count, align 4, !tbaa !5
  %906 = load ptr, ptr %17, align 8, !tbaa !9
  %907 = getelementptr inbounds %struct.s2n_stuffer, ptr %906, i32 0, i32 0
  %908 = getelementptr inbounds %struct.s2n_blob, ptr %907, i32 0, i32 0
  %909 = load ptr, ptr %908, align 8, !tbaa !43
  %910 = getelementptr inbounds i8, ptr %909, i64 0
  %911 = load i8, ptr %910, align 1, !tbaa !44
  %912 = zext i8 %911 to i32
  %913 = icmp eq i32 %912, 3
  br i1 %913, label %967, label %914

914:                                              ; preds = %903
  br label %915

915:                                              ; preds = %914
  br label %916

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

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

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

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

962:                                              ; preds = %945, %928
  call void @llvm.lifetime.end.p0(i64 4, ptr %20) #10
  br label %963

963:                                              ; preds = %962
  br label %964

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

965:                                              ; No predecessors!
  br label %966

966:                                              ; preds = %965
  br label %967

967:                                              ; preds = %966, %903
  br label %968

968:                                              ; preds = %967
  br label %969

969:                                              ; preds = %968
  br label %970

970:                                              ; preds = %969
  %971 = load i32, ptr @test_count, align 4, !tbaa !5
  %972 = add nsw i32 %971, 1
  store i32 %972, ptr @test_count, align 4, !tbaa !5
  %973 = load ptr, ptr %17, align 8, !tbaa !9
  %974 = getelementptr inbounds %struct.s2n_stuffer, ptr %973, i32 0, i32 0
  %975 = getelementptr inbounds %struct.s2n_blob, ptr %974, i32 0, i32 0
  %976 = load ptr, ptr %975, align 8, !tbaa !43
  %977 = getelementptr inbounds i8, ptr %976, i64 1
  %978 = load i8, ptr %977, align 1, !tbaa !44
  %979 = zext i8 %978 to i32
  %980 = icmp eq i32 %979, 3
  br i1 %980, label %1034, label %981

981:                                              ; preds = %970
  br label %982

982:                                              ; preds = %981
  br label %983

983:                                              ; preds = %982
  call void @llvm.lifetime.start.p0(i64 4, ptr %21) #10
  %984 = call ptr @__errno_location() #11
  %985 = load i32, ptr %984, align 4, !tbaa !5
  store i32 %985, ptr %21, align 4, !tbaa !5
  %986 = load ptr, ptr @stderr, align 8, !tbaa !9
  %987 = call i32 @s2n_print_stacktrace(ptr noundef %986)
  %988 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %989 = trunc i8 %988 to i1
  br i1 %989, label %990, label %1012

990:                                              ; preds = %983
  %991 = load ptr, ptr @stderr, align 8, !tbaa !9
  %992 = call i32 @fileno(ptr noundef %991) #10
  %993 = call i32 @isatty(i32 noundef %992) #10
  %994 = icmp ne i32 %993, 0
  br i1 %994, label %995, label %1012

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

1012:                                             ; preds = %990, %983
  %1013 = load i32, ptr %21, align 4, !tbaa !5
  %1014 = call ptr @__errno_location() #11
  store i32 %1013, ptr %1014, align 4, !tbaa !5
  %1015 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1016 = load i32, ptr @test_count, align 4, !tbaa !5
  %1017 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1018 = load i32, ptr %1017, align 4, !tbaa !5
  %1019 = call ptr @s2n_strerror(i32 noundef %1018, ptr noundef @.str.4)
  %1020 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1021 = load i32, ptr %1020, align 4, !tbaa !5
  %1022 = call ptr @s2n_strerror_debug(i32 noundef %1021, ptr noundef @.str.4)
  %1023 = call ptr @__errno_location() #11
  %1024 = load i32, ptr %1023, align 4, !tbaa !5
  %1025 = call ptr @strerror(i32 noundef %1024) #10
  %1026 = call ptr @__errno_location() #11
  %1027 = load i32, ptr %1026, align 4, !tbaa !5
  %1028 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1015, ptr noundef @.str.5, i32 noundef %1016, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 95, ptr noundef %1019, ptr noundef %1022, ptr noundef %1025, i32 noundef %1027) #10
  br label %1029

1029:                                             ; preds = %1012, %995
  call void @llvm.lifetime.end.p0(i64 4, ptr %21) #10
  br label %1030

1030:                                             ; preds = %1029
  br label %1031

1031:                                             ; preds = %1030
  call void @exit(i32 noundef 1) #12
  unreachable

1032:                                             ; No predecessors!
  br label %1033

1033:                                             ; preds = %1032
  br label %1034

1034:                                             ; preds = %1033, %970
  br label %1035

1035:                                             ; preds = %1034
  br label %1036

1036:                                             ; preds = %1035
  br label %1037

1037:                                             ; preds = %1036
  br label %1038

1038:                                             ; preds = %1037
  %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 = load ptr, ptr %17, align 8, !tbaa !9
  %1042 = load i32, ptr %18, align 4, !tbaa !5
  %1043 = call i32 @s2n_stuffer_skip_read(ptr noundef %1041, i32 noundef %1042)
  %1044 = icmp eq i32 %1043, -1
  br i1 %1044, label %1045, label %1098

1045:                                             ; preds = %1038
  br label %1046

1046:                                             ; preds = %1045
  br label %1047

1047:                                             ; preds = %1046
  call void @llvm.lifetime.start.p0(i64 4, ptr %22) #10
  %1048 = call ptr @__errno_location() #11
  %1049 = load i32, ptr %1048, align 4, !tbaa !5
  store i32 %1049, ptr %22, align 4, !tbaa !5
  %1050 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1051 = call i32 @s2n_print_stacktrace(ptr noundef %1050)
  %1052 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1053 = trunc i8 %1052 to i1
  br i1 %1053, label %1054, label %1076

1054:                                             ; preds = %1047
  %1055 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1056 = call i32 @fileno(ptr noundef %1055) #10
  %1057 = call i32 @isatty(i32 noundef %1056) #10
  %1058 = icmp ne i32 %1057, 0
  br i1 %1058, label %1059, label %1076

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

1076:                                             ; preds = %1054, %1047
  %1077 = load i32, ptr %22, align 4, !tbaa !5
  %1078 = call ptr @__errno_location() #11
  store i32 %1077, ptr %1078, align 4, !tbaa !5
  %1079 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1080 = load i32, ptr @test_count, align 4, !tbaa !5
  %1081 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1082 = load i32, ptr %1081, align 4, !tbaa !5
  %1083 = call ptr @s2n_strerror(i32 noundef %1082, ptr noundef @.str.4)
  %1084 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1085 = load i32, ptr %1084, align 4, !tbaa !5
  %1086 = call ptr @s2n_strerror_debug(i32 noundef %1085, ptr noundef @.str.4)
  %1087 = call ptr @__errno_location() #11
  %1088 = load i32, ptr %1087, align 4, !tbaa !5
  %1089 = call ptr @strerror(i32 noundef %1088) #10
  %1090 = call ptr @__errno_location() #11
  %1091 = load i32, ptr %1090, align 4, !tbaa !5
  %1092 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1079, ptr noundef @.str.5, i32 noundef %1080, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 96, ptr noundef %1083, ptr noundef %1086, ptr noundef %1089, i32 noundef %1091) #10
  br label %1093

1093:                                             ; preds = %1076, %1059
  call void @llvm.lifetime.end.p0(i64 4, ptr %22) #10
  br label %1094

1094:                                             ; preds = %1093
  br label %1095

1095:                                             ; preds = %1094
  call void @exit(i32 noundef 1) #12
  unreachable

1096:                                             ; No predecessors!
  br label %1097

1097:                                             ; preds = %1096
  br label %1098

1098:                                             ; preds = %1097, %1038
  br label %1099

1099:                                             ; preds = %1098
  br label %1100

1100:                                             ; preds = %1099
  br label %1101

1101:                                             ; preds = %1100
  %1102 = load i32, ptr @test_count, align 4, !tbaa !5
  %1103 = add nsw i32 %1102, 1
  store i32 %1103, ptr @test_count, align 4, !tbaa !5
  %1104 = load ptr, ptr %17, align 8, !tbaa !9
  %1105 = getelementptr inbounds %struct.s2n_stuffer, ptr %1104, i32 0, i32 2
  %1106 = load i32, ptr %1105, align 4, !tbaa !45
  %1107 = load ptr, ptr %17, align 8, !tbaa !9
  %1108 = getelementptr inbounds %struct.s2n_stuffer, ptr %1107, i32 0, i32 1
  %1109 = load i32, ptr %1108, align 8, !tbaa !46
  %1110 = sub i32 %1106, %1109
  %1111 = icmp eq i32 %1110, 0
  br i1 %1111, label %1165, label %1112

1112:                                             ; preds = %1101
  br label %1113

1113:                                             ; preds = %1112
  br label %1114

1114:                                             ; preds = %1113
  call void @llvm.lifetime.start.p0(i64 4, ptr %23) #10
  %1115 = call ptr @__errno_location() #11
  %1116 = load i32, ptr %1115, align 4, !tbaa !5
  store i32 %1116, ptr %23, align 4, !tbaa !5
  %1117 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1118 = call i32 @s2n_print_stacktrace(ptr noundef %1117)
  %1119 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1120 = trunc i8 %1119 to i1
  br i1 %1120, label %1121, label %1143

1121:                                             ; preds = %1114
  %1122 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1123 = call i32 @fileno(ptr noundef %1122) #10
  %1124 = call i32 @isatty(i32 noundef %1123) #10
  %1125 = icmp ne i32 %1124, 0
  br i1 %1125, label %1126, label %1143

1126:                                             ; preds = %1121
  %1127 = load i32, ptr %23, align 4, !tbaa !5
  %1128 = call ptr @__errno_location() #11
  store i32 %1127, ptr %1128, align 4, !tbaa !5
  %1129 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1130 = load i32, ptr @test_count, align 4, !tbaa !5
  %1131 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1132 = load i32, ptr %1131, align 4, !tbaa !5
  %1133 = call ptr @s2n_strerror(i32 noundef %1132, ptr noundef @.str.4)
  %1134 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1135 = load i32, ptr %1134, align 4, !tbaa !5
  %1136 = call ptr @s2n_strerror_debug(i32 noundef %1135, ptr noundef @.str.4)
  %1137 = call ptr @__errno_location() #11
  %1138 = load i32, ptr %1137, align 4, !tbaa !5
  %1139 = call ptr @strerror(i32 noundef %1138) #10
  %1140 = call ptr @__errno_location() #11
  %1141 = load i32, ptr %1140, align 4, !tbaa !5
  %1142 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1129, ptr noundef @.str.2, i32 noundef %1130, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 96, ptr noundef %1133, ptr noundef %1136, ptr noundef %1139, i32 noundef %1141) #10
  br label %1160

1143:                                             ; preds = %1121, %1114
  %1144 = load i32, ptr %23, align 4, !tbaa !5
  %1145 = call ptr @__errno_location() #11
  store i32 %1144, ptr %1145, align 4, !tbaa !5
  %1146 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1147 = load i32, ptr @test_count, align 4, !tbaa !5
  %1148 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1149 = load i32, ptr %1148, align 4, !tbaa !5
  %1150 = call ptr @s2n_strerror(i32 noundef %1149, ptr noundef @.str.4)
  %1151 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1152 = load i32, ptr %1151, align 4, !tbaa !5
  %1153 = call ptr @s2n_strerror_debug(i32 noundef %1152, ptr noundef @.str.4)
  %1154 = call ptr @__errno_location() #11
  %1155 = load i32, ptr %1154, align 4, !tbaa !5
  %1156 = call ptr @strerror(i32 noundef %1155) #10
  %1157 = call ptr @__errno_location() #11
  %1158 = load i32, ptr %1157, align 4, !tbaa !5
  %1159 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1146, ptr noundef @.str.5, i32 noundef %1147, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 96, ptr noundef %1150, ptr noundef %1153, ptr noundef %1156, i32 noundef %1158) #10
  br label %1160

1160:                                             ; preds = %1143, %1126
  call void @llvm.lifetime.end.p0(i64 4, ptr %23) #10
  br label %1161

1161:                                             ; preds = %1160
  br label %1162

1162:                                             ; preds = %1161
  call void @exit(i32 noundef 1) #12
  unreachable

1163:                                             ; No predecessors!
  br label %1164

1164:                                             ; preds = %1163
  br label %1165

1165:                                             ; preds = %1164, %1101
  br label %1166

1166:                                             ; preds = %1165
  br label %1167

1167:                                             ; preds = %1166
  br label %1168

1168:                                             ; preds = %1167
  br label %1169

1169:                                             ; preds = %1168
  br label %1170

1170:                                             ; preds = %1169
  %1171 = load i32, ptr @test_count, align 4, !tbaa !5
  %1172 = add nsw i32 %1171, 1
  store i32 %1172, ptr @test_count, align 4, !tbaa !5
  %1173 = load ptr, ptr %12, align 8, !tbaa !9
  %1174 = call i32 @s2n_config_free(ptr noundef %1173)
  %1175 = icmp eq i32 %1174, -1
  br i1 %1175, label %1176, label %1229

1176:                                             ; preds = %1170
  br label %1177

1177:                                             ; preds = %1176
  br label %1178

1178:                                             ; preds = %1177
  call void @llvm.lifetime.start.p0(i64 4, ptr %24) #10
  %1179 = call ptr @__errno_location() #11
  %1180 = load i32, ptr %1179, align 4, !tbaa !5
  store i32 %1180, ptr %24, align 4, !tbaa !5
  %1181 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1182 = call i32 @s2n_print_stacktrace(ptr noundef %1181)
  %1183 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1184 = trunc i8 %1183 to i1
  br i1 %1184, label %1185, label %1207

1185:                                             ; preds = %1178
  %1186 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1187 = call i32 @fileno(ptr noundef %1186) #10
  %1188 = call i32 @isatty(i32 noundef %1187) #10
  %1189 = icmp ne i32 %1188, 0
  br i1 %1189, label %1190, label %1207

1190:                                             ; preds = %1185
  %1191 = load i32, ptr %24, align 4, !tbaa !5
  %1192 = call ptr @__errno_location() #11
  store i32 %1191, ptr %1192, align 4, !tbaa !5
  %1193 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1194 = load i32, ptr @test_count, align 4, !tbaa !5
  %1195 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1196 = load i32, ptr %1195, align 4, !tbaa !5
  %1197 = call ptr @s2n_strerror(i32 noundef %1196, ptr noundef @.str.4)
  %1198 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1199 = load i32, ptr %1198, align 4, !tbaa !5
  %1200 = call ptr @s2n_strerror_debug(i32 noundef %1199, ptr noundef @.str.4)
  %1201 = call ptr @__errno_location() #11
  %1202 = load i32, ptr %1201, align 4, !tbaa !5
  %1203 = call ptr @strerror(i32 noundef %1202) #10
  %1204 = call ptr @__errno_location() #11
  %1205 = load i32, ptr %1204, align 4, !tbaa !5
  %1206 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1193, ptr noundef @.str.2, i32 noundef %1194, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 98, ptr noundef %1197, ptr noundef %1200, ptr noundef %1203, i32 noundef %1205) #10
  br label %1224

1207:                                             ; preds = %1185, %1178
  %1208 = load i32, ptr %24, align 4, !tbaa !5
  %1209 = call ptr @__errno_location() #11
  store i32 %1208, ptr %1209, align 4, !tbaa !5
  %1210 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1211 = load i32, ptr @test_count, align 4, !tbaa !5
  %1212 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1213 = load i32, ptr %1212, align 4, !tbaa !5
  %1214 = call ptr @s2n_strerror(i32 noundef %1213, ptr noundef @.str.4)
  %1215 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1216 = load i32, ptr %1215, align 4, !tbaa !5
  %1217 = call ptr @s2n_strerror_debug(i32 noundef %1216, ptr noundef @.str.4)
  %1218 = call ptr @__errno_location() #11
  %1219 = load i32, ptr %1218, align 4, !tbaa !5
  %1220 = call ptr @strerror(i32 noundef %1219) #10
  %1221 = call ptr @__errno_location() #11
  %1222 = load i32, ptr %1221, align 4, !tbaa !5
  %1223 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1210, ptr noundef @.str.5, i32 noundef %1211, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 98, ptr noundef %1214, ptr noundef %1217, ptr noundef %1220, i32 noundef %1222) #10
  br label %1224

1224:                                             ; preds = %1207, %1190
  call void @llvm.lifetime.end.p0(i64 4, ptr %24) #10
  br label %1225

1225:                                             ; preds = %1224
  br label %1226

1226:                                             ; preds = %1225
  call void @exit(i32 noundef 1) #12
  unreachable

1227:                                             ; No predecessors!
  br label %1228

1228:                                             ; preds = %1227
  br label %1229

1229:                                             ; preds = %1228, %1170
  br label %1230

1230:                                             ; preds = %1229
  br label %1231

1231:                                             ; preds = %1230
  br label %1232

1232:                                             ; preds = %1231
  %1233 = load i32, ptr @test_count, align 4, !tbaa !5
  %1234 = add nsw i32 %1233, 1
  store i32 %1234, ptr @test_count, align 4, !tbaa !5
  %1235 = load ptr, ptr %14, align 8, !tbaa !9
  %1236 = call i32 @s2n_connection_free(ptr noundef %1235)
  %1237 = icmp eq i32 %1236, -1
  br i1 %1237, label %1238, label %1291

1238:                                             ; preds = %1232
  br label %1239

1239:                                             ; preds = %1238
  br label %1240

1240:                                             ; preds = %1239
  call void @llvm.lifetime.start.p0(i64 4, ptr %25) #10
  %1241 = call ptr @__errno_location() #11
  %1242 = load i32, ptr %1241, align 4, !tbaa !5
  store i32 %1242, ptr %25, align 4, !tbaa !5
  %1243 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1244 = call i32 @s2n_print_stacktrace(ptr noundef %1243)
  %1245 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1246 = trunc i8 %1245 to i1
  br i1 %1246, label %1247, label %1269

1247:                                             ; preds = %1240
  %1248 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1249 = call i32 @fileno(ptr noundef %1248) #10
  %1250 = call i32 @isatty(i32 noundef %1249) #10
  %1251 = icmp ne i32 %1250, 0
  br i1 %1251, label %1252, label %1269

1252:                                             ; preds = %1247
  %1253 = load i32, ptr %25, align 4, !tbaa !5
  %1254 = call ptr @__errno_location() #11
  store i32 %1253, ptr %1254, align 4, !tbaa !5
  %1255 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1256 = load i32, ptr @test_count, align 4, !tbaa !5
  %1257 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1258 = load i32, ptr %1257, align 4, !tbaa !5
  %1259 = call ptr @s2n_strerror(i32 noundef %1258, ptr noundef @.str.4)
  %1260 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1261 = load i32, ptr %1260, align 4, !tbaa !5
  %1262 = call ptr @s2n_strerror_debug(i32 noundef %1261, ptr noundef @.str.4)
  %1263 = call ptr @__errno_location() #11
  %1264 = load i32, ptr %1263, align 4, !tbaa !5
  %1265 = call ptr @strerror(i32 noundef %1264) #10
  %1266 = call ptr @__errno_location() #11
  %1267 = load i32, ptr %1266, align 4, !tbaa !5
  %1268 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1255, ptr noundef @.str.2, i32 noundef %1256, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 99, ptr noundef %1259, ptr noundef %1262, ptr noundef %1265, i32 noundef %1267) #10
  br label %1286

1269:                                             ; preds = %1247, %1240
  %1270 = load i32, ptr %25, align 4, !tbaa !5
  %1271 = call ptr @__errno_location() #11
  store i32 %1270, ptr %1271, align 4, !tbaa !5
  %1272 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1273 = load i32, ptr @test_count, align 4, !tbaa !5
  %1274 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1275 = load i32, ptr %1274, align 4, !tbaa !5
  %1276 = call ptr @s2n_strerror(i32 noundef %1275, ptr noundef @.str.4)
  %1277 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1278 = load i32, ptr %1277, align 4, !tbaa !5
  %1279 = call ptr @s2n_strerror_debug(i32 noundef %1278, ptr noundef @.str.4)
  %1280 = call ptr @__errno_location() #11
  %1281 = load i32, ptr %1280, align 4, !tbaa !5
  %1282 = call ptr @strerror(i32 noundef %1281) #10
  %1283 = call ptr @__errno_location() #11
  %1284 = load i32, ptr %1283, align 4, !tbaa !5
  %1285 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1272, ptr noundef @.str.5, i32 noundef %1273, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 99, ptr noundef %1276, ptr noundef %1279, ptr noundef %1282, i32 noundef %1284) #10
  br label %1286

1286:                                             ; preds = %1269, %1252
  call void @llvm.lifetime.end.p0(i64 4, ptr %25) #10
  br label %1287

1287:                                             ; preds = %1286
  br label %1288

1288:                                             ; preds = %1287
  call void @exit(i32 noundef 1) #12
  unreachable

1289:                                             ; No predecessors!
  br label %1290

1290:                                             ; preds = %1289
  br label %1291

1291:                                             ; preds = %1290, %1232
  br label %1292

1292:                                             ; preds = %1291
  br label %1293

1293:                                             ; preds = %1292
  call void @llvm.lifetime.end.p0(i64 4, ptr %18) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %17) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %14) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %12) #10
  br label %1294

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

1299:                                             ; preds = %1294
  br label %1300

1300:                                             ; preds = %1299
  br label %1301

1301:                                             ; preds = %1300
  call void @llvm.lifetime.start.p0(i64 4, ptr %26) #10
  %1302 = call ptr @__errno_location() #11
  %1303 = load i32, ptr %1302, align 4, !tbaa !5
  store i32 %1303, ptr %26, 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) #10
  %1311 = call i32 @isatty(i32 noundef %1310) #10
  %1312 = icmp ne i32 %1311, 0
  br i1 %1312, label %1313, label %1330

1313:                                             ; preds = %1308
  %1314 = load i32, ptr %26, align 4, !tbaa !5
  %1315 = call ptr @__errno_location() #11
  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() #11
  %1325 = load i32, ptr %1324, align 4, !tbaa !5
  %1326 = call ptr @strerror(i32 noundef %1325) #10
  %1327 = call ptr @__errno_location() #11
  %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.22, ptr noundef @.str.1, i32 noundef 104, ptr noundef %1320, ptr noundef %1323, ptr noundef %1326, i32 noundef %1328) #10
  br label %1347

1330:                                             ; preds = %1308, %1301
  %1331 = load i32, ptr %26, align 4, !tbaa !5
  %1332 = call ptr @__errno_location() #11
  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() #11
  %1342 = load i32, ptr %1341, align 4, !tbaa !5
  %1343 = call ptr @strerror(i32 noundef %1342) #10
  %1344 = call ptr @__errno_location() #11
  %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.22, ptr noundef @.str.1, i32 noundef 104, ptr noundef %1337, ptr noundef %1340, ptr noundef %1343, i32 noundef %1345) #10
  br label %1347

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

1348:                                             ; preds = %1347
  br label %1349

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

1350:                                             ; No predecessors!
  br label %1351

1351:                                             ; preds = %1350
  br label %1352

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

1353:                                             ; preds = %1352
  br label %1354

1354:                                             ; preds = %1353
  call void @llvm.lifetime.start.p0(i64 8, ptr %27) #10
  store ptr null, ptr %27, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %28) #10
  store ptr null, ptr %28, align 8, !tbaa !9
  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 ptr @s2n_config_new()
  store ptr %1358, ptr %27, align 8, !tbaa !9
  %1359 = icmp eq ptr %1358, null
  br i1 %1359, label %1360, label %1413

1360:                                             ; preds = %1355
  br label %1361

1361:                                             ; preds = %1360
  br label %1362

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

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

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

1391:                                             ; preds = %1369, %1362
  %1392 = load i32, ptr %29, align 4, !tbaa !5
  %1393 = call ptr @__errno_location() #11
  store i32 %1392, ptr %1393, align 4, !tbaa !5
  %1394 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1395 = load i32, ptr @test_count, align 4, !tbaa !5
  %1396 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1397 = load i32, ptr %1396, align 4, !tbaa !5
  %1398 = call ptr @s2n_strerror(i32 noundef %1397, ptr noundef @.str.4)
  %1399 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1400 = load i32, ptr %1399, align 4, !tbaa !5
  %1401 = call ptr @s2n_strerror_debug(i32 noundef %1400, ptr noundef @.str.4)
  %1402 = call ptr @__errno_location() #11
  %1403 = load i32, ptr %1402, align 4, !tbaa !5
  %1404 = call ptr @strerror(i32 noundef %1403) #10
  %1405 = call ptr @__errno_location() #11
  %1406 = load i32, ptr %1405, align 4, !tbaa !5
  %1407 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1394, ptr noundef @.str.5, i32 noundef %1395, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 107, ptr noundef %1398, ptr noundef %1401, ptr noundef %1404, i32 noundef %1406) #10
  br label %1408

1408:                                             ; preds = %1391, %1374
  call void @llvm.lifetime.end.p0(i64 4, ptr %29) #10
  br label %1409

1409:                                             ; preds = %1408
  br label %1410

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

1411:                                             ; No predecessors!
  br label %1412

1412:                                             ; preds = %1411
  br label %1413

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

1414:                                             ; preds = %1413
  br label %1415

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

1416:                                             ; preds = %1415
  %1417 = load i32, ptr @test_count, align 4, !tbaa !5
  %1418 = add nsw i32 %1417, 1
  store i32 %1418, ptr @test_count, align 4, !tbaa !5
  %1419 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %1419, ptr %30, align 8, !tbaa !9
  %1420 = icmp eq ptr %1419, null
  br i1 %1420, label %1421, label %1474

1421:                                             ; preds = %1416
  br label %1422

1422:                                             ; preds = %1421
  br label %1423

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

1430:                                             ; preds = %1423
  %1431 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1432 = call i32 @fileno(ptr noundef %1431) #10
  %1433 = call i32 @isatty(i32 noundef %1432) #10
  %1434 = icmp ne i32 %1433, 0
  br i1 %1434, label %1435, label %1452

1435:                                             ; preds = %1430
  %1436 = load i32, ptr %31, align 4, !tbaa !5
  %1437 = call ptr @__errno_location() #11
  store i32 %1436, ptr %1437, align 4, !tbaa !5
  %1438 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1439 = load i32, ptr @test_count, align 4, !tbaa !5
  %1440 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1441 = load i32, ptr %1440, align 4, !tbaa !5
  %1442 = call ptr @s2n_strerror(i32 noundef %1441, ptr noundef @.str.4)
  %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_debug(i32 noundef %1444, ptr noundef @.str.4)
  %1446 = call ptr @__errno_location() #11
  %1447 = load i32, ptr %1446, align 4, !tbaa !5
  %1448 = call ptr @strerror(i32 noundef %1447) #10
  %1449 = call ptr @__errno_location() #11
  %1450 = load i32, ptr %1449, align 4, !tbaa !5
  %1451 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1438, ptr noundef @.str.2, i32 noundef %1439, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 110, ptr noundef %1442, ptr noundef %1445, ptr noundef %1448, i32 noundef %1450) #10
  br label %1469

1452:                                             ; preds = %1430, %1423
  %1453 = load i32, ptr %31, align 4, !tbaa !5
  %1454 = call ptr @__errno_location() #11
  store i32 %1453, ptr %1454, align 4, !tbaa !5
  %1455 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1456 = load i32, ptr @test_count, align 4, !tbaa !5
  %1457 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1458 = load i32, ptr %1457, align 4, !tbaa !5
  %1459 = call ptr @s2n_strerror(i32 noundef %1458, ptr noundef @.str.4)
  %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_debug(i32 noundef %1461, ptr noundef @.str.4)
  %1463 = call ptr @__errno_location() #11
  %1464 = load i32, ptr %1463, align 4, !tbaa !5
  %1465 = call ptr @strerror(i32 noundef %1464) #10
  %1466 = call ptr @__errno_location() #11
  %1467 = load i32, ptr %1466, align 4, !tbaa !5
  %1468 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1455, ptr noundef @.str.5, i32 noundef %1456, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 110, ptr noundef %1459, ptr noundef %1462, ptr noundef %1465, i32 noundef %1467) #10
  br label %1469

1469:                                             ; preds = %1452, %1435
  call void @llvm.lifetime.end.p0(i64 4, ptr %31) #10
  br label %1470

1470:                                             ; preds = %1469
  br label %1471

1471:                                             ; preds = %1470
  call void @exit(i32 noundef 1) #12
  unreachable

1472:                                             ; No predecessors!
  br label %1473

1473:                                             ; preds = %1472
  br label %1474

1474:                                             ; preds = %1473, %1416
  br label %1475

1475:                                             ; preds = %1474
  br label %1476

1476:                                             ; preds = %1475
  br label %1477

1477:                                             ; preds = %1476
  %1478 = load i32, ptr @test_count, align 4, !tbaa !5
  %1479 = add nsw i32 %1478, 1
  store i32 %1479, ptr @test_count, align 4, !tbaa !5
  %1480 = load ptr, ptr %30, align 8, !tbaa !9
  %1481 = load ptr, ptr %27, align 8, !tbaa !9
  %1482 = call i32 @s2n_connection_set_config(ptr noundef %1480, ptr noundef %1481)
  %1483 = icmp eq i32 %1482, -1
  br i1 %1483, label %1484, label %1537

1484:                                             ; preds = %1477
  br label %1485

1485:                                             ; preds = %1484
  br label %1486

1486:                                             ; preds = %1485
  call void @llvm.lifetime.start.p0(i64 4, ptr %32) #10
  %1487 = call ptr @__errno_location() #11
  %1488 = load i32, ptr %1487, align 4, !tbaa !5
  store i32 %1488, ptr %32, align 4, !tbaa !5
  %1489 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1490 = call i32 @s2n_print_stacktrace(ptr noundef %1489)
  %1491 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1492 = trunc i8 %1491 to i1
  br i1 %1492, label %1493, label %1515

1493:                                             ; preds = %1486
  %1494 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1495 = call i32 @fileno(ptr noundef %1494) #10
  %1496 = call i32 @isatty(i32 noundef %1495) #10
  %1497 = icmp ne i32 %1496, 0
  br i1 %1497, label %1498, label %1515

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

1515:                                             ; preds = %1493, %1486
  %1516 = load i32, ptr %32, align 4, !tbaa !5
  %1517 = call ptr @__errno_location() #11
  store i32 %1516, ptr %1517, align 4, !tbaa !5
  %1518 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1519 = load i32, ptr @test_count, align 4, !tbaa !5
  %1520 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1521 = load i32, ptr %1520, align 4, !tbaa !5
  %1522 = call ptr @s2n_strerror(i32 noundef %1521, ptr noundef @.str.4)
  %1523 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1524 = load i32, ptr %1523, align 4, !tbaa !5
  %1525 = call ptr @s2n_strerror_debug(i32 noundef %1524, ptr noundef @.str.4)
  %1526 = call ptr @__errno_location() #11
  %1527 = load i32, ptr %1526, align 4, !tbaa !5
  %1528 = call ptr @strerror(i32 noundef %1527) #10
  %1529 = call ptr @__errno_location() #11
  %1530 = load i32, ptr %1529, align 4, !tbaa !5
  %1531 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1518, ptr noundef @.str.5, i32 noundef %1519, ptr noundef @.str.14, ptr noundef @.str.1, i32 noundef 111, ptr noundef %1522, ptr noundef %1525, ptr noundef %1528, i32 noundef %1530) #10
  br label %1532

1532:                                             ; preds = %1515, %1498
  call void @llvm.lifetime.end.p0(i64 4, ptr %32) #10
  br label %1533

1533:                                             ; preds = %1532
  br label %1534

1534:                                             ; preds = %1533
  call void @exit(i32 noundef 1) #12
  unreachable

1535:                                             ; No predecessors!
  br label %1536

1536:                                             ; preds = %1535
  br label %1537

1537:                                             ; preds = %1536, %1477
  br label %1538

1538:                                             ; preds = %1537
  br label %1539

1539:                                             ; preds = %1538
  br label %1540

1540:                                             ; preds = %1539
  %1541 = load i32, ptr @test_count, align 4, !tbaa !5
  %1542 = add nsw i32 %1541, 1
  store i32 %1542, ptr @test_count, align 4, !tbaa !5
  %1543 = load ptr, ptr %30, align 8, !tbaa !9
  %1544 = getelementptr inbounds %struct.s2n_connection, ptr %1543, i32 0, i32 1
  %1545 = load ptr, ptr %1544, align 8, !tbaa !47
  %1546 = icmp eq ptr %1545, null
  br i1 %1546, label %1547, label %1600

1547:                                             ; preds = %1540
  br label %1548

1548:                                             ; preds = %1547
  br label %1549

1549:                                             ; preds = %1548
  call void @llvm.lifetime.start.p0(i64 4, ptr %33) #10
  %1550 = call ptr @__errno_location() #11
  %1551 = load i32, ptr %1550, align 4, !tbaa !5
  store i32 %1551, ptr %33, align 4, !tbaa !5
  %1552 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1553 = call i32 @s2n_print_stacktrace(ptr noundef %1552)
  %1554 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1555 = trunc i8 %1554 to i1
  br i1 %1555, label %1556, label %1578

1556:                                             ; preds = %1549
  %1557 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1558 = call i32 @fileno(ptr noundef %1557) #10
  %1559 = call i32 @isatty(i32 noundef %1558) #10
  %1560 = icmp ne i32 %1559, 0
  br i1 %1560, label %1561, label %1578

1561:                                             ; preds = %1556
  %1562 = load i32, ptr %33, align 4, !tbaa !5
  %1563 = call ptr @__errno_location() #11
  store i32 %1562, ptr %1563, align 4, !tbaa !5
  %1564 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1565 = load i32, ptr @test_count, align 4, !tbaa !5
  %1566 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1567 = load i32, ptr %1566, align 4, !tbaa !5
  %1568 = call ptr @s2n_strerror(i32 noundef %1567, ptr noundef @.str.4)
  %1569 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1570 = load i32, ptr %1569, align 4, !tbaa !5
  %1571 = call ptr @s2n_strerror_debug(i32 noundef %1570, ptr noundef @.str.4)
  %1572 = call ptr @__errno_location() #11
  %1573 = load i32, ptr %1572, align 4, !tbaa !5
  %1574 = call ptr @strerror(i32 noundef %1573) #10
  %1575 = call ptr @__errno_location() #11
  %1576 = load i32, ptr %1575, align 4, !tbaa !5
  %1577 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1564, ptr noundef @.str.2, i32 noundef %1565, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 112, ptr noundef %1568, ptr noundef %1571, ptr noundef %1574, i32 noundef %1576) #10
  br label %1595

1578:                                             ; preds = %1556, %1549
  %1579 = load i32, ptr %33, align 4, !tbaa !5
  %1580 = call ptr @__errno_location() #11
  store i32 %1579, ptr %1580, align 4, !tbaa !5
  %1581 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1582 = load i32, ptr @test_count, align 4, !tbaa !5
  %1583 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1584 = load i32, ptr %1583, align 4, !tbaa !5
  %1585 = call ptr @s2n_strerror(i32 noundef %1584, ptr noundef @.str.4)
  %1586 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1587 = load i32, ptr %1586, align 4, !tbaa !5
  %1588 = call ptr @s2n_strerror_debug(i32 noundef %1587, ptr noundef @.str.4)
  %1589 = call ptr @__errno_location() #11
  %1590 = load i32, ptr %1589, align 4, !tbaa !5
  %1591 = call ptr @strerror(i32 noundef %1590) #10
  %1592 = call ptr @__errno_location() #11
  %1593 = load i32, ptr %1592, align 4, !tbaa !5
  %1594 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1581, ptr noundef @.str.5, i32 noundef %1582, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 112, ptr noundef %1585, ptr noundef %1588, ptr noundef %1591, i32 noundef %1593) #10
  br label %1595

1595:                                             ; preds = %1578, %1561
  call void @llvm.lifetime.end.p0(i64 4, ptr %33) #10
  br label %1596

1596:                                             ; preds = %1595
  br label %1597

1597:                                             ; preds = %1596
  call void @exit(i32 noundef 1) #12
  unreachable

1598:                                             ; No predecessors!
  br label %1599

1599:                                             ; preds = %1598
  br label %1600

1600:                                             ; preds = %1599, %1540
  br label %1601

1601:                                             ; preds = %1600
  br label %1602

1602:                                             ; preds = %1601
  br label %1603

1603:                                             ; preds = %1602
  %1604 = load i32, ptr @test_count, align 4, !tbaa !5
  %1605 = add nsw i32 %1604, 1
  store i32 %1605, ptr @test_count, align 4, !tbaa !5
  %1606 = load ptr, ptr %30, align 8, !tbaa !9
  %1607 = call i32 @s2n_connection_get_ecc_preferences(ptr noundef %1606, ptr noundef %28)
  %1608 = icmp eq i32 %1607, -1
  br i1 %1608, label %1609, label %1662

1609:                                             ; preds = %1603
  br label %1610

1610:                                             ; preds = %1609
  br label %1611

1611:                                             ; preds = %1610
  call void @llvm.lifetime.start.p0(i64 4, ptr %34) #10
  %1612 = call ptr @__errno_location() #11
  %1613 = load i32, ptr %1612, align 4, !tbaa !5
  store i32 %1613, ptr %34, align 4, !tbaa !5
  %1614 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1615 = call i32 @s2n_print_stacktrace(ptr noundef %1614)
  %1616 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1617 = trunc i8 %1616 to i1
  br i1 %1617, label %1618, label %1640

1618:                                             ; preds = %1611
  %1619 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1620 = call i32 @fileno(ptr noundef %1619) #10
  %1621 = call i32 @isatty(i32 noundef %1620) #10
  %1622 = icmp ne i32 %1621, 0
  br i1 %1622, label %1623, label %1640

1623:                                             ; preds = %1618
  %1624 = load i32, ptr %34, align 4, !tbaa !5
  %1625 = call ptr @__errno_location() #11
  store i32 %1624, ptr %1625, align 4, !tbaa !5
  %1626 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1627 = load i32, ptr @test_count, align 4, !tbaa !5
  %1628 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1629 = load i32, ptr %1628, align 4, !tbaa !5
  %1630 = call ptr @s2n_strerror(i32 noundef %1629, ptr noundef @.str.4)
  %1631 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1632 = load i32, ptr %1631, align 4, !tbaa !5
  %1633 = call ptr @s2n_strerror_debug(i32 noundef %1632, ptr noundef @.str.4)
  %1634 = call ptr @__errno_location() #11
  %1635 = load i32, ptr %1634, align 4, !tbaa !5
  %1636 = call ptr @strerror(i32 noundef %1635) #10
  %1637 = call ptr @__errno_location() #11
  %1638 = load i32, ptr %1637, align 4, !tbaa !5
  %1639 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1626, ptr noundef @.str.2, i32 noundef %1627, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 113, ptr noundef %1630, ptr noundef %1633, ptr noundef %1636, i32 noundef %1638) #10
  br label %1657

1640:                                             ; preds = %1618, %1611
  %1641 = load i32, ptr %34, align 4, !tbaa !5
  %1642 = call ptr @__errno_location() #11
  store i32 %1641, ptr %1642, align 4, !tbaa !5
  %1643 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1644 = load i32, ptr @test_count, align 4, !tbaa !5
  %1645 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1646 = load i32, ptr %1645, align 4, !tbaa !5
  %1647 = call ptr @s2n_strerror(i32 noundef %1646, ptr noundef @.str.4)
  %1648 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1649 = load i32, ptr %1648, align 4, !tbaa !5
  %1650 = call ptr @s2n_strerror_debug(i32 noundef %1649, ptr noundef @.str.4)
  %1651 = call ptr @__errno_location() #11
  %1652 = load i32, ptr %1651, align 4, !tbaa !5
  %1653 = call ptr @strerror(i32 noundef %1652) #10
  %1654 = call ptr @__errno_location() #11
  %1655 = load i32, ptr %1654, align 4, !tbaa !5
  %1656 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1643, ptr noundef @.str.5, i32 noundef %1644, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 113, ptr noundef %1647, ptr noundef %1650, ptr noundef %1653, i32 noundef %1655) #10
  br label %1657

1657:                                             ; preds = %1640, %1623
  call void @llvm.lifetime.end.p0(i64 4, ptr %34) #10
  br label %1658

1658:                                             ; preds = %1657
  br label %1659

1659:                                             ; preds = %1658
  call void @exit(i32 noundef 1) #12
  unreachable

1660:                                             ; No predecessors!
  br label %1661

1661:                                             ; preds = %1660
  br label %1662

1662:                                             ; preds = %1661, %1603
  br label %1663

1663:                                             ; preds = %1662
  br label %1664

1664:                                             ; preds = %1663
  br label %1665

1665:                                             ; preds = %1664
  %1666 = load i32, ptr @test_count, align 4, !tbaa !5
  %1667 = add nsw i32 %1666, 1
  store i32 %1667, ptr @test_count, align 4, !tbaa !5
  %1668 = load ptr, ptr %28, align 8, !tbaa !9
  %1669 = icmp eq ptr %1668, null
  br i1 %1669, label %1670, label %1723

1670:                                             ; preds = %1665
  br label %1671

1671:                                             ; preds = %1670
  br label %1672

1672:                                             ; preds = %1671
  call void @llvm.lifetime.start.p0(i64 4, ptr %35) #10
  %1673 = call ptr @__errno_location() #11
  %1674 = load i32, ptr %1673, align 4, !tbaa !5
  store i32 %1674, ptr %35, align 4, !tbaa !5
  %1675 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1676 = call i32 @s2n_print_stacktrace(ptr noundef %1675)
  %1677 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1678 = trunc i8 %1677 to i1
  br i1 %1678, label %1679, label %1701

1679:                                             ; preds = %1672
  %1680 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1681 = call i32 @fileno(ptr noundef %1680) #10
  %1682 = call i32 @isatty(i32 noundef %1681) #10
  %1683 = icmp ne i32 %1682, 0
  br i1 %1683, label %1684, label %1701

1684:                                             ; preds = %1679
  %1685 = load i32, ptr %35, align 4, !tbaa !5
  %1686 = call ptr @__errno_location() #11
  store i32 %1685, ptr %1686, align 4, !tbaa !5
  %1687 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1688 = load i32, ptr @test_count, align 4, !tbaa !5
  %1689 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1690 = load i32, ptr %1689, align 4, !tbaa !5
  %1691 = call ptr @s2n_strerror(i32 noundef %1690, ptr noundef @.str.4)
  %1692 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1693 = load i32, ptr %1692, align 4, !tbaa !5
  %1694 = call ptr @s2n_strerror_debug(i32 noundef %1693, ptr noundef @.str.4)
  %1695 = call ptr @__errno_location() #11
  %1696 = load i32, ptr %1695, align 4, !tbaa !5
  %1697 = call ptr @strerror(i32 noundef %1696) #10
  %1698 = call ptr @__errno_location() #11
  %1699 = load i32, ptr %1698, align 4, !tbaa !5
  %1700 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1687, ptr noundef @.str.2, i32 noundef %1688, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 114, ptr noundef %1691, ptr noundef %1694, ptr noundef %1697, i32 noundef %1699) #10
  br label %1718

1701:                                             ; preds = %1679, %1672
  %1702 = load i32, ptr %35, align 4, !tbaa !5
  %1703 = call ptr @__errno_location() #11
  store i32 %1702, ptr %1703, align 4, !tbaa !5
  %1704 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1705 = load i32, ptr @test_count, align 4, !tbaa !5
  %1706 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1707 = load i32, ptr %1706, align 4, !tbaa !5
  %1708 = call ptr @s2n_strerror(i32 noundef %1707, ptr noundef @.str.4)
  %1709 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1710 = load i32, ptr %1709, align 4, !tbaa !5
  %1711 = call ptr @s2n_strerror_debug(i32 noundef %1710, ptr noundef @.str.4)
  %1712 = call ptr @__errno_location() #11
  %1713 = load i32, ptr %1712, align 4, !tbaa !5
  %1714 = call ptr @strerror(i32 noundef %1713) #10
  %1715 = call ptr @__errno_location() #11
  %1716 = load i32, ptr %1715, align 4, !tbaa !5
  %1717 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1704, ptr noundef @.str.5, i32 noundef %1705, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 114, ptr noundef %1708, ptr noundef %1711, ptr noundef %1714, i32 noundef %1716) #10
  br label %1718

1718:                                             ; preds = %1701, %1684
  call void @llvm.lifetime.end.p0(i64 4, ptr %35) #10
  br label %1719

1719:                                             ; preds = %1718
  br label %1720

1720:                                             ; preds = %1719
  call void @exit(i32 noundef 1) #12
  unreachable

1721:                                             ; No predecessors!
  br label %1722

1722:                                             ; preds = %1721
  br label %1723

1723:                                             ; preds = %1722, %1665
  br label %1724

1724:                                             ; preds = %1723
  br label %1725

1725:                                             ; preds = %1724
  %1726 = load ptr, ptr %30, align 8, !tbaa !9
  %1727 = getelementptr inbounds %struct.s2n_connection, ptr %1726, i32 0, i32 23
  store i8 34, ptr %1727, align 4, !tbaa !42
  %1728 = load ptr, ptr %28, align 8, !tbaa !9
  %1729 = getelementptr inbounds %struct.s2n_ecc_preferences, ptr %1728, i32 0, i32 1
  %1730 = load ptr, ptr %1729, align 8, !tbaa !48
  %1731 = getelementptr inbounds ptr, ptr %1730, i64 0
  %1732 = load ptr, ptr %1731, align 8, !tbaa !9
  %1733 = load ptr, ptr %30, align 8, !tbaa !9
  %1734 = getelementptr inbounds %struct.s2n_connection, ptr %1733, i32 0, i32 31
  %1735 = getelementptr inbounds %struct.s2n_kex_parameters, ptr %1734, i32 0, i32 1
  %1736 = getelementptr inbounds %struct.s2n_ecc_evp_params, ptr %1735, i32 0, i32 0
  store ptr %1732, ptr %1736, align 8, !tbaa !50
  %1737 = load ptr, ptr %28, align 8, !tbaa !9
  %1738 = getelementptr inbounds %struct.s2n_ecc_preferences, ptr %1737, i32 0, i32 1
  %1739 = load ptr, ptr %1738, align 8, !tbaa !48
  %1740 = getelementptr inbounds ptr, ptr %1739, i64 0
  %1741 = load ptr, ptr %1740, align 8, !tbaa !9
  %1742 = load ptr, ptr %30, align 8, !tbaa !9
  %1743 = getelementptr inbounds %struct.s2n_connection, ptr %1742, i32 0, i32 31
  %1744 = getelementptr inbounds %struct.s2n_kex_parameters, ptr %1743, i32 0, i32 3
  %1745 = getelementptr inbounds %struct.s2n_ecc_evp_params, ptr %1744, i32 0, i32 0
  store ptr %1741, ptr %1745, align 8, !tbaa !51
  br label %1746

1746:                                             ; preds = %1725
  %1747 = load i32, ptr @test_count, align 4, !tbaa !5
  %1748 = add nsw i32 %1747, 1
  store i32 %1748, ptr @test_count, align 4, !tbaa !5
  %1749 = load ptr, ptr %30, align 8, !tbaa !9
  %1750 = getelementptr inbounds %struct.s2n_connection, ptr %1749, i32 0, i32 31
  %1751 = getelementptr inbounds %struct.s2n_kex_parameters, ptr %1750, i32 0, i32 3
  %1752 = call i32 @s2n_ecc_evp_generate_ephemeral_key(ptr noundef %1751)
  %1753 = icmp eq i32 %1752, -1
  br i1 %1753, label %1754, label %1807

1754:                                             ; preds = %1746
  br label %1755

1755:                                             ; preds = %1754
  br label %1756

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

1763:                                             ; preds = %1756
  %1764 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1765 = call i32 @fileno(ptr noundef %1764) #10
  %1766 = call i32 @isatty(i32 noundef %1765) #10
  %1767 = icmp ne i32 %1766, 0
  br i1 %1767, label %1768, label %1785

1768:                                             ; preds = %1763
  %1769 = load i32, ptr %36, align 4, !tbaa !5
  %1770 = call ptr @__errno_location() #11
  store i32 %1769, ptr %1770, align 4, !tbaa !5
  %1771 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1772 = load i32, ptr @test_count, align 4, !tbaa !5
  %1773 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1774 = load i32, ptr %1773, align 4, !tbaa !5
  %1775 = call ptr @s2n_strerror(i32 noundef %1774, ptr noundef @.str.4)
  %1776 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1777 = load i32, ptr %1776, align 4, !tbaa !5
  %1778 = call ptr @s2n_strerror_debug(i32 noundef %1777, ptr noundef @.str.4)
  %1779 = call ptr @__errno_location() #11
  %1780 = load i32, ptr %1779, align 4, !tbaa !5
  %1781 = call ptr @strerror(i32 noundef %1780) #10
  %1782 = call ptr @__errno_location() #11
  %1783 = load i32, ptr %1782, align 4, !tbaa !5
  %1784 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1771, ptr noundef @.str.2, i32 noundef %1772, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 119, ptr noundef %1775, ptr noundef %1778, ptr noundef %1781, i32 noundef %1783) #10
  br label %1802

1785:                                             ; preds = %1763, %1756
  %1786 = load i32, ptr %36, align 4, !tbaa !5
  %1787 = call ptr @__errno_location() #11
  store i32 %1786, ptr %1787, align 4, !tbaa !5
  %1788 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1789 = load i32, ptr @test_count, align 4, !tbaa !5
  %1790 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1791 = load i32, ptr %1790, align 4, !tbaa !5
  %1792 = call ptr @s2n_strerror(i32 noundef %1791, ptr noundef @.str.4)
  %1793 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1794 = load i32, ptr %1793, align 4, !tbaa !5
  %1795 = call ptr @s2n_strerror_debug(i32 noundef %1794, ptr noundef @.str.4)
  %1796 = call ptr @__errno_location() #11
  %1797 = load i32, ptr %1796, align 4, !tbaa !5
  %1798 = call ptr @strerror(i32 noundef %1797) #10
  %1799 = call ptr @__errno_location() #11
  %1800 = load i32, ptr %1799, align 4, !tbaa !5
  %1801 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1788, ptr noundef @.str.5, i32 noundef %1789, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 119, ptr noundef %1792, ptr noundef %1795, ptr noundef %1798, i32 noundef %1800) #10
  br label %1802

1802:                                             ; preds = %1785, %1768
  call void @llvm.lifetime.end.p0(i64 4, ptr %36) #10
  br label %1803

1803:                                             ; preds = %1802
  br label %1804

1804:                                             ; preds = %1803
  call void @exit(i32 noundef 1) #12
  unreachable

1805:                                             ; No predecessors!
  br label %1806

1806:                                             ; preds = %1805
  br label %1807

1807:                                             ; preds = %1806, %1746
  br label %1808

1808:                                             ; preds = %1807
  br label %1809

1809:                                             ; preds = %1808
  call void @llvm.lifetime.start.p0(i64 8, ptr %37) #10
  %1810 = load ptr, ptr %30, align 8, !tbaa !9
  %1811 = getelementptr inbounds %struct.s2n_connection, ptr %1810, i32 0, i32 52
  %1812 = getelementptr inbounds %struct.s2n_handshake, ptr %1811, i32 0, i32 0
  store ptr %1812, ptr %37, align 8, !tbaa !9
  br label %1813

1813:                                             ; preds = %1809
  %1814 = load i32, ptr @test_count, align 4, !tbaa !5
  %1815 = add nsw i32 %1814, 1
  store i32 %1815, ptr @test_count, align 4, !tbaa !5
  %1816 = load ptr, ptr %30, align 8, !tbaa !9
  %1817 = call i32 @s2n_server_hello_send(ptr noundef %1816)
  %1818 = icmp eq i32 %1817, -1
  br i1 %1818, label %1819, label %1872

1819:                                             ; preds = %1813
  br label %1820

1820:                                             ; preds = %1819
  br label %1821

1821:                                             ; preds = %1820
  call void @llvm.lifetime.start.p0(i64 4, ptr %38) #10
  %1822 = call ptr @__errno_location() #11
  %1823 = load i32, ptr %1822, align 4, !tbaa !5
  store i32 %1823, ptr %38, align 4, !tbaa !5
  %1824 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1825 = call i32 @s2n_print_stacktrace(ptr noundef %1824)
  %1826 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1827 = trunc i8 %1826 to i1
  br i1 %1827, label %1828, label %1850

1828:                                             ; preds = %1821
  %1829 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1830 = call i32 @fileno(ptr noundef %1829) #10
  %1831 = call i32 @isatty(i32 noundef %1830) #10
  %1832 = icmp ne i32 %1831, 0
  br i1 %1832, label %1833, label %1850

1833:                                             ; preds = %1828
  %1834 = load i32, ptr %38, align 4, !tbaa !5
  %1835 = call ptr @__errno_location() #11
  store i32 %1834, ptr %1835, align 4, !tbaa !5
  %1836 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1837 = load i32, ptr @test_count, align 4, !tbaa !5
  %1838 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1839 = load i32, ptr %1838, align 4, !tbaa !5
  %1840 = call ptr @s2n_strerror(i32 noundef %1839, ptr noundef @.str.4)
  %1841 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1842 = load i32, ptr %1841, align 4, !tbaa !5
  %1843 = call ptr @s2n_strerror_debug(i32 noundef %1842, ptr noundef @.str.4)
  %1844 = call ptr @__errno_location() #11
  %1845 = load i32, ptr %1844, align 4, !tbaa !5
  %1846 = call ptr @strerror(i32 noundef %1845) #10
  %1847 = call ptr @__errno_location() #11
  %1848 = load i32, ptr %1847, align 4, !tbaa !5
  %1849 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1836, ptr noundef @.str.2, i32 noundef %1837, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 122, ptr noundef %1840, ptr noundef %1843, ptr noundef %1846, i32 noundef %1848) #10
  br label %1867

1850:                                             ; preds = %1828, %1821
  %1851 = load i32, ptr %38, align 4, !tbaa !5
  %1852 = call ptr @__errno_location() #11
  store i32 %1851, ptr %1852, align 4, !tbaa !5
  %1853 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1854 = load i32, ptr @test_count, align 4, !tbaa !5
  %1855 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1856 = load i32, ptr %1855, align 4, !tbaa !5
  %1857 = call ptr @s2n_strerror(i32 noundef %1856, ptr noundef @.str.4)
  %1858 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1859 = load i32, ptr %1858, align 4, !tbaa !5
  %1860 = call ptr @s2n_strerror_debug(i32 noundef %1859, ptr noundef @.str.4)
  %1861 = call ptr @__errno_location() #11
  %1862 = load i32, ptr %1861, align 4, !tbaa !5
  %1863 = call ptr @strerror(i32 noundef %1862) #10
  %1864 = call ptr @__errno_location() #11
  %1865 = load i32, ptr %1864, align 4, !tbaa !5
  %1866 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1853, ptr noundef @.str.5, i32 noundef %1854, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 122, ptr noundef %1857, ptr noundef %1860, ptr noundef %1863, i32 noundef %1865) #10
  br label %1867

1867:                                             ; preds = %1850, %1833
  call void @llvm.lifetime.end.p0(i64 4, ptr %38) #10
  br label %1868

1868:                                             ; preds = %1867
  br label %1869

1869:                                             ; preds = %1868
  call void @exit(i32 noundef 1) #12
  unreachable

1870:                                             ; No predecessors!
  br label %1871

1871:                                             ; preds = %1870
  br label %1872

1872:                                             ; preds = %1871, %1813
  br label %1873

1873:                                             ; preds = %1872
  br label %1874

1874:                                             ; preds = %1873
  br label %1875

1875:                                             ; preds = %1874
  %1876 = load i32, ptr @test_count, align 4, !tbaa !5
  %1877 = add nsw i32 %1876, 1
  store i32 %1877, ptr @test_count, align 4, !tbaa !5
  %1878 = load ptr, ptr %37, align 8, !tbaa !9
  %1879 = getelementptr inbounds %struct.s2n_stuffer, ptr %1878, i32 0, i32 0
  %1880 = getelementptr inbounds %struct.s2n_blob, ptr %1879, i32 0, i32 0
  %1881 = load ptr, ptr %1880, align 8, !tbaa !43
  %1882 = getelementptr inbounds i8, ptr %1881, i64 0
  %1883 = load i8, ptr %1882, align 1, !tbaa !44
  %1884 = zext i8 %1883 to i32
  %1885 = icmp eq i32 %1884, 3
  br i1 %1885, label %1939, label %1886

1886:                                             ; preds = %1875
  br label %1887

1887:                                             ; preds = %1886
  br label %1888

1888:                                             ; preds = %1887
  call void @llvm.lifetime.start.p0(i64 4, ptr %39) #10
  %1889 = call ptr @__errno_location() #11
  %1890 = load i32, ptr %1889, align 4, !tbaa !5
  store i32 %1890, ptr %39, align 4, !tbaa !5
  %1891 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1892 = call i32 @s2n_print_stacktrace(ptr noundef %1891)
  %1893 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1894 = trunc i8 %1893 to i1
  br i1 %1894, label %1895, label %1917

1895:                                             ; preds = %1888
  %1896 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1897 = call i32 @fileno(ptr noundef %1896) #10
  %1898 = call i32 @isatty(i32 noundef %1897) #10
  %1899 = icmp ne i32 %1898, 0
  br i1 %1899, label %1900, label %1917

1900:                                             ; preds = %1895
  %1901 = load i32, ptr %39, align 4, !tbaa !5
  %1902 = call ptr @__errno_location() #11
  store i32 %1901, ptr %1902, align 4, !tbaa !5
  %1903 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1904 = load i32, ptr @test_count, align 4, !tbaa !5
  %1905 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1906 = load i32, ptr %1905, align 4, !tbaa !5
  %1907 = call ptr @s2n_strerror(i32 noundef %1906, ptr noundef @.str.4)
  %1908 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1909 = load i32, ptr %1908, align 4, !tbaa !5
  %1910 = call ptr @s2n_strerror_debug(i32 noundef %1909, ptr noundef @.str.4)
  %1911 = call ptr @__errno_location() #11
  %1912 = load i32, ptr %1911, align 4, !tbaa !5
  %1913 = call ptr @strerror(i32 noundef %1912) #10
  %1914 = call ptr @__errno_location() #11
  %1915 = load i32, ptr %1914, align 4, !tbaa !5
  %1916 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1903, ptr noundef @.str.2, i32 noundef %1904, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 125, ptr noundef %1907, ptr noundef %1910, ptr noundef %1913, i32 noundef %1915) #10
  br label %1934

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

1934:                                             ; preds = %1917, %1900
  call void @llvm.lifetime.end.p0(i64 4, ptr %39) #10
  br label %1935

1935:                                             ; preds = %1934
  br label %1936

1936:                                             ; preds = %1935
  call void @exit(i32 noundef 1) #12
  unreachable

1937:                                             ; No predecessors!
  br label %1938

1938:                                             ; preds = %1937
  br label %1939

1939:                                             ; preds = %1938, %1875
  br label %1940

1940:                                             ; preds = %1939
  br label %1941

1941:                                             ; preds = %1940
  br label %1942

1942:                                             ; preds = %1941
  %1943 = load i32, ptr @test_count, align 4, !tbaa !5
  %1944 = add nsw i32 %1943, 1
  store i32 %1944, ptr @test_count, align 4, !tbaa !5
  %1945 = load ptr, ptr %37, align 8, !tbaa !9
  %1946 = getelementptr inbounds %struct.s2n_stuffer, ptr %1945, i32 0, i32 0
  %1947 = getelementptr inbounds %struct.s2n_blob, ptr %1946, i32 0, i32 0
  %1948 = load ptr, ptr %1947, align 8, !tbaa !43
  %1949 = getelementptr inbounds i8, ptr %1948, i64 1
  %1950 = load i8, ptr %1949, align 1, !tbaa !44
  %1951 = zext i8 %1950 to i32
  %1952 = icmp eq i32 %1951, 3
  br i1 %1952, label %2006, label %1953

1953:                                             ; preds = %1942
  br label %1954

1954:                                             ; preds = %1953
  br label %1955

1955:                                             ; preds = %1954
  call void @llvm.lifetime.start.p0(i64 4, ptr %40) #10
  %1956 = call ptr @__errno_location() #11
  %1957 = load i32, ptr %1956, align 4, !tbaa !5
  store i32 %1957, ptr %40, align 4, !tbaa !5
  %1958 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1959 = call i32 @s2n_print_stacktrace(ptr noundef %1958)
  %1960 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1961 = trunc i8 %1960 to i1
  br i1 %1961, label %1962, label %1984

1962:                                             ; preds = %1955
  %1963 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1964 = call i32 @fileno(ptr noundef %1963) #10
  %1965 = call i32 @isatty(i32 noundef %1964) #10
  %1966 = icmp ne i32 %1965, 0
  br i1 %1966, label %1967, label %1984

1967:                                             ; preds = %1962
  %1968 = load i32, ptr %40, align 4, !tbaa !5
  %1969 = call ptr @__errno_location() #11
  store i32 %1968, ptr %1969, align 4, !tbaa !5
  %1970 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1971 = load i32, ptr @test_count, align 4, !tbaa !5
  %1972 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1973 = load i32, ptr %1972, align 4, !tbaa !5
  %1974 = call ptr @s2n_strerror(i32 noundef %1973, ptr noundef @.str.4)
  %1975 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1976 = load i32, ptr %1975, align 4, !tbaa !5
  %1977 = call ptr @s2n_strerror_debug(i32 noundef %1976, ptr noundef @.str.4)
  %1978 = call ptr @__errno_location() #11
  %1979 = load i32, ptr %1978, align 4, !tbaa !5
  %1980 = call ptr @strerror(i32 noundef %1979) #10
  %1981 = call ptr @__errno_location() #11
  %1982 = load i32, ptr %1981, align 4, !tbaa !5
  %1983 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1970, ptr noundef @.str.2, i32 noundef %1971, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 126, ptr noundef %1974, ptr noundef %1977, ptr noundef %1980, i32 noundef %1982) #10
  br label %2001

1984:                                             ; preds = %1962, %1955
  %1985 = load i32, ptr %40, align 4, !tbaa !5
  %1986 = call ptr @__errno_location() #11
  store i32 %1985, ptr %1986, align 4, !tbaa !5
  %1987 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1988 = load i32, ptr @test_count, align 4, !tbaa !5
  %1989 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1990 = load i32, ptr %1989, align 4, !tbaa !5
  %1991 = call ptr @s2n_strerror(i32 noundef %1990, ptr noundef @.str.4)
  %1992 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1993 = load i32, ptr %1992, align 4, !tbaa !5
  %1994 = call ptr @s2n_strerror_debug(i32 noundef %1993, ptr noundef @.str.4)
  %1995 = call ptr @__errno_location() #11
  %1996 = load i32, ptr %1995, align 4, !tbaa !5
  %1997 = call ptr @strerror(i32 noundef %1996) #10
  %1998 = call ptr @__errno_location() #11
  %1999 = load i32, ptr %1998, align 4, !tbaa !5
  %2000 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1987, ptr noundef @.str.5, i32 noundef %1988, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 126, ptr noundef %1991, ptr noundef %1994, ptr noundef %1997, i32 noundef %1999) #10
  br label %2001

2001:                                             ; preds = %1984, %1967
  call void @llvm.lifetime.end.p0(i64 4, ptr %40) #10
  br label %2002

2002:                                             ; preds = %2001
  br label %2003

2003:                                             ; preds = %2002
  call void @exit(i32 noundef 1) #12
  unreachable

2004:                                             ; No predecessors!
  br label %2005

2005:                                             ; preds = %2004
  br label %2006

2006:                                             ; preds = %2005, %1942
  br label %2007

2007:                                             ; preds = %2006
  br label %2008

2008:                                             ; preds = %2007
  br label %2009

2009:                                             ; preds = %2008
  %2010 = load i32, ptr @test_count, align 4, !tbaa !5
  %2011 = add nsw i32 %2010, 1
  store i32 %2011, ptr @test_count, align 4, !tbaa !5
  %2012 = load ptr, ptr %27, align 8, !tbaa !9
  %2013 = call i32 @s2n_config_free(ptr noundef %2012)
  %2014 = icmp eq i32 %2013, -1
  br i1 %2014, label %2015, label %2068

2015:                                             ; preds = %2009
  br label %2016

2016:                                             ; preds = %2015
  br label %2017

2017:                                             ; preds = %2016
  call void @llvm.lifetime.start.p0(i64 4, ptr %41) #10
  %2018 = call ptr @__errno_location() #11
  %2019 = load i32, ptr %2018, align 4, !tbaa !5
  store i32 %2019, ptr %41, align 4, !tbaa !5
  %2020 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2021 = call i32 @s2n_print_stacktrace(ptr noundef %2020)
  %2022 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2023 = trunc i8 %2022 to i1
  br i1 %2023, label %2024, label %2046

2024:                                             ; preds = %2017
  %2025 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2026 = call i32 @fileno(ptr noundef %2025) #10
  %2027 = call i32 @isatty(i32 noundef %2026) #10
  %2028 = icmp ne i32 %2027, 0
  br i1 %2028, label %2029, label %2046

2029:                                             ; preds = %2024
  %2030 = load i32, ptr %41, align 4, !tbaa !5
  %2031 = call ptr @__errno_location() #11
  store i32 %2030, ptr %2031, align 4, !tbaa !5
  %2032 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2033 = load i32, ptr @test_count, align 4, !tbaa !5
  %2034 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2035 = load i32, ptr %2034, align 4, !tbaa !5
  %2036 = call ptr @s2n_strerror(i32 noundef %2035, ptr noundef @.str.4)
  %2037 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2038 = load i32, ptr %2037, align 4, !tbaa !5
  %2039 = call ptr @s2n_strerror_debug(i32 noundef %2038, ptr noundef @.str.4)
  %2040 = call ptr @__errno_location() #11
  %2041 = load i32, ptr %2040, align 4, !tbaa !5
  %2042 = call ptr @strerror(i32 noundef %2041) #10
  %2043 = call ptr @__errno_location() #11
  %2044 = load i32, ptr %2043, align 4, !tbaa !5
  %2045 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2032, ptr noundef @.str.2, i32 noundef %2033, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 128, ptr noundef %2036, ptr noundef %2039, ptr noundef %2042, i32 noundef %2044) #10
  br label %2063

2046:                                             ; preds = %2024, %2017
  %2047 = load i32, ptr %41, align 4, !tbaa !5
  %2048 = call ptr @__errno_location() #11
  store i32 %2047, ptr %2048, align 4, !tbaa !5
  %2049 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2050 = load i32, ptr @test_count, align 4, !tbaa !5
  %2051 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2052 = load i32, ptr %2051, align 4, !tbaa !5
  %2053 = call ptr @s2n_strerror(i32 noundef %2052, ptr noundef @.str.4)
  %2054 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2055 = load i32, ptr %2054, align 4, !tbaa !5
  %2056 = call ptr @s2n_strerror_debug(i32 noundef %2055, ptr noundef @.str.4)
  %2057 = call ptr @__errno_location() #11
  %2058 = load i32, ptr %2057, align 4, !tbaa !5
  %2059 = call ptr @strerror(i32 noundef %2058) #10
  %2060 = call ptr @__errno_location() #11
  %2061 = load i32, ptr %2060, align 4, !tbaa !5
  %2062 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2049, ptr noundef @.str.5, i32 noundef %2050, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 128, ptr noundef %2053, ptr noundef %2056, ptr noundef %2059, i32 noundef %2061) #10
  br label %2063

2063:                                             ; preds = %2046, %2029
  call void @llvm.lifetime.end.p0(i64 4, ptr %41) #10
  br label %2064

2064:                                             ; preds = %2063
  br label %2065

2065:                                             ; preds = %2064
  call void @exit(i32 noundef 1) #12
  unreachable

2066:                                             ; No predecessors!
  br label %2067

2067:                                             ; preds = %2066
  br label %2068

2068:                                             ; preds = %2067, %2009
  br label %2069

2069:                                             ; preds = %2068
  br label %2070

2070:                                             ; preds = %2069
  br label %2071

2071:                                             ; preds = %2070
  %2072 = load i32, ptr @test_count, align 4, !tbaa !5
  %2073 = add nsw i32 %2072, 1
  store i32 %2073, ptr @test_count, align 4, !tbaa !5
  %2074 = load ptr, ptr %30, align 8, !tbaa !9
  %2075 = call i32 @s2n_connection_free(ptr noundef %2074)
  %2076 = icmp eq i32 %2075, -1
  br i1 %2076, label %2077, label %2130

2077:                                             ; preds = %2071
  br label %2078

2078:                                             ; preds = %2077
  br label %2079

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

2086:                                             ; preds = %2079
  %2087 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2088 = call i32 @fileno(ptr noundef %2087) #10
  %2089 = call i32 @isatty(i32 noundef %2088) #10
  %2090 = icmp ne i32 %2089, 0
  br i1 %2090, label %2091, label %2108

2091:                                             ; preds = %2086
  %2092 = load i32, ptr %42, align 4, !tbaa !5
  %2093 = call ptr @__errno_location() #11
  store i32 %2092, ptr %2093, align 4, !tbaa !5
  %2094 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2095 = load i32, ptr @test_count, align 4, !tbaa !5
  %2096 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2097 = load i32, ptr %2096, align 4, !tbaa !5
  %2098 = call ptr @s2n_strerror(i32 noundef %2097, ptr noundef @.str.4)
  %2099 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2100 = load i32, ptr %2099, align 4, !tbaa !5
  %2101 = call ptr @s2n_strerror_debug(i32 noundef %2100, ptr noundef @.str.4)
  %2102 = call ptr @__errno_location() #11
  %2103 = load i32, ptr %2102, align 4, !tbaa !5
  %2104 = call ptr @strerror(i32 noundef %2103) #10
  %2105 = call ptr @__errno_location() #11
  %2106 = load i32, ptr %2105, align 4, !tbaa !5
  %2107 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2094, ptr noundef @.str.2, i32 noundef %2095, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 129, ptr noundef %2098, ptr noundef %2101, ptr noundef %2104, i32 noundef %2106) #10
  br label %2125

2108:                                             ; preds = %2086, %2079
  %2109 = load i32, ptr %42, align 4, !tbaa !5
  %2110 = call ptr @__errno_location() #11
  store i32 %2109, ptr %2110, align 4, !tbaa !5
  %2111 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2112 = load i32, ptr @test_count, align 4, !tbaa !5
  %2113 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2114 = load i32, ptr %2113, align 4, !tbaa !5
  %2115 = call ptr @s2n_strerror(i32 noundef %2114, ptr noundef @.str.4)
  %2116 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2117 = load i32, ptr %2116, align 4, !tbaa !5
  %2118 = call ptr @s2n_strerror_debug(i32 noundef %2117, ptr noundef @.str.4)
  %2119 = call ptr @__errno_location() #11
  %2120 = load i32, ptr %2119, align 4, !tbaa !5
  %2121 = call ptr @strerror(i32 noundef %2120) #10
  %2122 = call ptr @__errno_location() #11
  %2123 = load i32, ptr %2122, align 4, !tbaa !5
  %2124 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2111, ptr noundef @.str.5, i32 noundef %2112, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 129, ptr noundef %2115, ptr noundef %2118, ptr noundef %2121, i32 noundef %2123) #10
  br label %2125

2125:                                             ; preds = %2108, %2091
  call void @llvm.lifetime.end.p0(i64 4, ptr %42) #10
  br label %2126

2126:                                             ; preds = %2125
  br label %2127

2127:                                             ; preds = %2126
  call void @exit(i32 noundef 1) #12
  unreachable

2128:                                             ; No predecessors!
  br label %2129

2129:                                             ; preds = %2128
  br label %2130

2130:                                             ; preds = %2129, %2071
  br label %2131

2131:                                             ; preds = %2130
  br label %2132

2132:                                             ; preds = %2131
  br label %2133

2133:                                             ; preds = %2132
  %2134 = load i32, ptr @test_count, align 4, !tbaa !5
  %2135 = add nsw i32 %2134, 1
  store i32 %2135, ptr @test_count, align 4, !tbaa !5
  %2136 = call i32 (...) @s2n_disable_tls13_in_test()
  %2137 = icmp eq i32 %2136, -1
  br i1 %2137, label %2138, label %2191

2138:                                             ; preds = %2133
  br label %2139

2139:                                             ; preds = %2138
  br label %2140

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

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

2152:                                             ; preds = %2147
  %2153 = load i32, ptr %43, align 4, !tbaa !5
  %2154 = call ptr @__errno_location() #11
  store i32 %2153, ptr %2154, align 4, !tbaa !5
  %2155 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2156 = load i32, ptr @test_count, align 4, !tbaa !5
  %2157 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2158 = load i32, ptr %2157, align 4, !tbaa !5
  %2159 = call ptr @s2n_strerror(i32 noundef %2158, ptr noundef @.str.4)
  %2160 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2161 = load i32, ptr %2160, align 4, !tbaa !5
  %2162 = call ptr @s2n_strerror_debug(i32 noundef %2161, ptr noundef @.str.4)
  %2163 = call ptr @__errno_location() #11
  %2164 = load i32, ptr %2163, align 4, !tbaa !5
  %2165 = call ptr @strerror(i32 noundef %2164) #10
  %2166 = call ptr @__errno_location() #11
  %2167 = load i32, ptr %2166, align 4, !tbaa !5
  %2168 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2155, ptr noundef @.str.2, i32 noundef %2156, ptr noundef @.str.8, ptr noundef @.str.1, i32 noundef 131, ptr noundef %2159, ptr noundef %2162, ptr noundef %2165, i32 noundef %2167) #10
  br label %2186

2169:                                             ; preds = %2147, %2140
  %2170 = load i32, ptr %43, align 4, !tbaa !5
  %2171 = call ptr @__errno_location() #11
  store i32 %2170, ptr %2171, align 4, !tbaa !5
  %2172 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2173 = load i32, ptr @test_count, align 4, !tbaa !5
  %2174 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2175 = load i32, ptr %2174, align 4, !tbaa !5
  %2176 = call ptr @s2n_strerror(i32 noundef %2175, ptr noundef @.str.4)
  %2177 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2178 = load i32, ptr %2177, align 4, !tbaa !5
  %2179 = call ptr @s2n_strerror_debug(i32 noundef %2178, ptr noundef @.str.4)
  %2180 = call ptr @__errno_location() #11
  %2181 = load i32, ptr %2180, align 4, !tbaa !5
  %2182 = call ptr @strerror(i32 noundef %2181) #10
  %2183 = call ptr @__errno_location() #11
  %2184 = load i32, ptr %2183, align 4, !tbaa !5
  %2185 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2172, ptr noundef @.str.5, i32 noundef %2173, ptr noundef @.str.8, ptr noundef @.str.1, i32 noundef 131, ptr noundef %2176, ptr noundef %2179, ptr noundef %2182, i32 noundef %2184) #10
  br label %2186

2186:                                             ; preds = %2169, %2152
  call void @llvm.lifetime.end.p0(i64 4, ptr %43) #10
  br label %2187

2187:                                             ; preds = %2186
  br label %2188

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

2189:                                             ; No predecessors!
  br label %2190

2190:                                             ; preds = %2189
  br label %2191

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

2192:                                             ; preds = %2191
  br label %2193

2193:                                             ; preds = %2192
  call void @llvm.lifetime.end.p0(i64 8, ptr %37) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %30) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %28) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %27) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %44) #10
  store ptr null, ptr %44, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %45) #10
  store ptr null, ptr %45, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %46) #10
  store ptr null, ptr %46, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %47) #10
  store ptr null, ptr %47, align 8, !tbaa !9
  br label %2194

2194:                                             ; preds = %2193
  %2195 = load i32, ptr @test_count, align 4, !tbaa !5
  %2196 = add nsw i32 %2195, 1
  store i32 %2196, ptr @test_count, align 4, !tbaa !5
  %2197 = call ptr @s2n_config_new()
  store ptr %2197, ptr %44, align 8, !tbaa !9
  %2198 = icmp eq ptr %2197, null
  br i1 %2198, label %2199, label %2252

2199:                                             ; preds = %2194
  br label %2200

2200:                                             ; preds = %2199
  br label %2201

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

2208:                                             ; preds = %2201
  %2209 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2210 = call i32 @fileno(ptr noundef %2209) #10
  %2211 = call i32 @isatty(i32 noundef %2210) #10
  %2212 = icmp ne i32 %2211, 0
  br i1 %2212, label %2213, label %2230

2213:                                             ; preds = %2208
  %2214 = load i32, ptr %48, align 4, !tbaa !5
  %2215 = call ptr @__errno_location() #11
  store i32 %2214, ptr %2215, align 4, !tbaa !5
  %2216 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2217 = load i32, ptr @test_count, align 4, !tbaa !5
  %2218 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2219 = load i32, ptr %2218, align 4, !tbaa !5
  %2220 = call ptr @s2n_strerror(i32 noundef %2219, ptr noundef @.str.4)
  %2221 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2222 = load i32, ptr %2221, align 4, !tbaa !5
  %2223 = call ptr @s2n_strerror_debug(i32 noundef %2222, ptr noundef @.str.4)
  %2224 = call ptr @__errno_location() #11
  %2225 = load i32, ptr %2224, align 4, !tbaa !5
  %2226 = call ptr @strerror(i32 noundef %2225) #10
  %2227 = call ptr @__errno_location() #11
  %2228 = load i32, ptr %2227, align 4, !tbaa !5
  %2229 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2216, ptr noundef @.str.2, i32 noundef %2217, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 142, ptr noundef %2220, ptr noundef %2223, ptr noundef %2226, i32 noundef %2228) #10
  br label %2247

2230:                                             ; preds = %2208, %2201
  %2231 = load i32, ptr %48, align 4, !tbaa !5
  %2232 = call ptr @__errno_location() #11
  store i32 %2231, ptr %2232, align 4, !tbaa !5
  %2233 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2234 = load i32, ptr @test_count, align 4, !tbaa !5
  %2235 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2236 = load i32, ptr %2235, align 4, !tbaa !5
  %2237 = call ptr @s2n_strerror(i32 noundef %2236, ptr noundef @.str.4)
  %2238 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2239 = load i32, ptr %2238, align 4, !tbaa !5
  %2240 = call ptr @s2n_strerror_debug(i32 noundef %2239, ptr noundef @.str.4)
  %2241 = call ptr @__errno_location() #11
  %2242 = load i32, ptr %2241, align 4, !tbaa !5
  %2243 = call ptr @strerror(i32 noundef %2242) #10
  %2244 = call ptr @__errno_location() #11
  %2245 = load i32, ptr %2244, align 4, !tbaa !5
  %2246 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2233, ptr noundef @.str.5, i32 noundef %2234, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 142, ptr noundef %2237, ptr noundef %2240, ptr noundef %2243, i32 noundef %2245) #10
  br label %2247

2247:                                             ; preds = %2230, %2213
  call void @llvm.lifetime.end.p0(i64 4, ptr %48) #10
  br label %2248

2248:                                             ; preds = %2247
  br label %2249

2249:                                             ; preds = %2248
  call void @exit(i32 noundef 1) #12
  unreachable

2250:                                             ; No predecessors!
  br label %2251

2251:                                             ; preds = %2250
  br label %2252

2252:                                             ; preds = %2251, %2194
  br label %2253

2253:                                             ; preds = %2252
  br label %2254

2254:                                             ; preds = %2253
  br label %2255

2255:                                             ; preds = %2254
  %2256 = load i32, ptr @test_count, align 4, !tbaa !5
  %2257 = add nsw i32 %2256, 1
  store i32 %2257, ptr @test_count, align 4, !tbaa !5
  %2258 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %2258, ptr %46, align 8, !tbaa !9
  %2259 = icmp eq ptr %2258, null
  br i1 %2259, label %2260, label %2313

2260:                                             ; preds = %2255
  br label %2261

2261:                                             ; preds = %2260
  br label %2262

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

2269:                                             ; preds = %2262
  %2270 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2271 = call i32 @fileno(ptr noundef %2270) #10
  %2272 = call i32 @isatty(i32 noundef %2271) #10
  %2273 = icmp ne i32 %2272, 0
  br i1 %2273, label %2274, label %2291

2274:                                             ; preds = %2269
  %2275 = load i32, ptr %49, align 4, !tbaa !5
  %2276 = call ptr @__errno_location() #11
  store i32 %2275, ptr %2276, align 4, !tbaa !5
  %2277 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2278 = load i32, ptr @test_count, align 4, !tbaa !5
  %2279 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2280 = load i32, ptr %2279, align 4, !tbaa !5
  %2281 = call ptr @s2n_strerror(i32 noundef %2280, ptr noundef @.str.4)
  %2282 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2283 = load i32, ptr %2282, align 4, !tbaa !5
  %2284 = call ptr @s2n_strerror_debug(i32 noundef %2283, ptr noundef @.str.4)
  %2285 = call ptr @__errno_location() #11
  %2286 = load i32, ptr %2285, align 4, !tbaa !5
  %2287 = call ptr @strerror(i32 noundef %2286) #10
  %2288 = call ptr @__errno_location() #11
  %2289 = load i32, ptr %2288, align 4, !tbaa !5
  %2290 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2277, ptr noundef @.str.2, i32 noundef %2278, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 143, ptr noundef %2281, ptr noundef %2284, ptr noundef %2287, i32 noundef %2289) #10
  br label %2308

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

2308:                                             ; preds = %2291, %2274
  call void @llvm.lifetime.end.p0(i64 4, ptr %49) #10
  br label %2309

2309:                                             ; preds = %2308
  br label %2310

2310:                                             ; preds = %2309
  call void @exit(i32 noundef 1) #12
  unreachable

2311:                                             ; No predecessors!
  br label %2312

2312:                                             ; preds = %2311
  br label %2313

2313:                                             ; preds = %2312, %2255
  br label %2314

2314:                                             ; preds = %2313
  br label %2315

2315:                                             ; preds = %2314
  br label %2316

2316:                                             ; preds = %2315
  %2317 = load i32, ptr @test_count, align 4, !tbaa !5
  %2318 = add nsw i32 %2317, 1
  store i32 %2318, ptr @test_count, align 4, !tbaa !5
  %2319 = load ptr, ptr %46, align 8, !tbaa !9
  %2320 = load ptr, ptr %44, align 8, !tbaa !9
  %2321 = call i32 @s2n_connection_set_config(ptr noundef %2319, ptr noundef %2320)
  %2322 = icmp eq i32 %2321, -1
  br i1 %2322, label %2323, label %2376

2323:                                             ; preds = %2316
  br label %2324

2324:                                             ; preds = %2323
  br label %2325

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

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

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

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

2371:                                             ; preds = %2354, %2337
  call void @llvm.lifetime.end.p0(i64 4, ptr %50) #10
  br label %2372

2372:                                             ; preds = %2371
  br label %2373

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

2374:                                             ; No predecessors!
  br label %2375

2375:                                             ; preds = %2374
  br label %2376

2376:                                             ; preds = %2375, %2316
  br label %2377

2377:                                             ; preds = %2376
  br label %2378

2378:                                             ; preds = %2377
  br label %2379

2379:                                             ; preds = %2378
  %2380 = load i32, ptr @test_count, align 4, !tbaa !5
  %2381 = add nsw i32 %2380, 1
  store i32 %2381, ptr @test_count, align 4, !tbaa !5
  %2382 = call ptr @s2n_config_new()
  store ptr %2382, ptr %45, align 8, !tbaa !9
  %2383 = icmp eq ptr %2382, null
  br i1 %2383, label %2384, label %2437

2384:                                             ; preds = %2379
  br label %2385

2385:                                             ; preds = %2384
  br label %2386

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

2393:                                             ; preds = %2386
  %2394 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2395 = call i32 @fileno(ptr noundef %2394) #10
  %2396 = call i32 @isatty(i32 noundef %2395) #10
  %2397 = icmp ne i32 %2396, 0
  br i1 %2397, label %2398, label %2415

2398:                                             ; preds = %2393
  %2399 = load i32, ptr %51, align 4, !tbaa !5
  %2400 = call ptr @__errno_location() #11
  store i32 %2399, ptr %2400, align 4, !tbaa !5
  %2401 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2402 = load i32, ptr @test_count, align 4, !tbaa !5
  %2403 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2404 = load i32, ptr %2403, align 4, !tbaa !5
  %2405 = call ptr @s2n_strerror(i32 noundef %2404, ptr noundef @.str.4)
  %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_debug(i32 noundef %2407, ptr noundef @.str.4)
  %2409 = call ptr @__errno_location() #11
  %2410 = load i32, ptr %2409, align 4, !tbaa !5
  %2411 = call ptr @strerror(i32 noundef %2410) #10
  %2412 = call ptr @__errno_location() #11
  %2413 = load i32, ptr %2412, align 4, !tbaa !5
  %2414 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2401, ptr noundef @.str.2, i32 noundef %2402, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 146, ptr noundef %2405, ptr noundef %2408, ptr noundef %2411, i32 noundef %2413) #10
  br label %2432

2415:                                             ; preds = %2393, %2386
  %2416 = load i32, ptr %51, align 4, !tbaa !5
  %2417 = call ptr @__errno_location() #11
  store i32 %2416, ptr %2417, align 4, !tbaa !5
  %2418 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2419 = load i32, ptr @test_count, align 4, !tbaa !5
  %2420 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2421 = load i32, ptr %2420, align 4, !tbaa !5
  %2422 = call ptr @s2n_strerror(i32 noundef %2421, ptr noundef @.str.4)
  %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_debug(i32 noundef %2424, ptr noundef @.str.4)
  %2426 = call ptr @__errno_location() #11
  %2427 = load i32, ptr %2426, align 4, !tbaa !5
  %2428 = call ptr @strerror(i32 noundef %2427) #10
  %2429 = call ptr @__errno_location() #11
  %2430 = load i32, ptr %2429, align 4, !tbaa !5
  %2431 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2418, ptr noundef @.str.5, i32 noundef %2419, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 146, ptr noundef %2422, ptr noundef %2425, ptr noundef %2428, i32 noundef %2430) #10
  br label %2432

2432:                                             ; preds = %2415, %2398
  call void @llvm.lifetime.end.p0(i64 4, ptr %51) #10
  br label %2433

2433:                                             ; preds = %2432
  br label %2434

2434:                                             ; preds = %2433
  call void @exit(i32 noundef 1) #12
  unreachable

2435:                                             ; No predecessors!
  br label %2436

2436:                                             ; preds = %2435
  br label %2437

2437:                                             ; preds = %2436, %2379
  br label %2438

2438:                                             ; preds = %2437
  br label %2439

2439:                                             ; preds = %2438
  br label %2440

2440:                                             ; preds = %2439
  %2441 = load i32, ptr @test_count, align 4, !tbaa !5
  %2442 = add nsw i32 %2441, 1
  store i32 %2442, ptr @test_count, align 4, !tbaa !5
  %2443 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %2443, ptr %47, align 8, !tbaa !9
  %2444 = icmp eq ptr %2443, null
  br i1 %2444, label %2445, label %2498

2445:                                             ; preds = %2440
  br label %2446

2446:                                             ; preds = %2445
  br label %2447

2447:                                             ; preds = %2446
  call void @llvm.lifetime.start.p0(i64 4, ptr %52) #10
  %2448 = call ptr @__errno_location() #11
  %2449 = load i32, ptr %2448, align 4, !tbaa !5
  store i32 %2449, ptr %52, align 4, !tbaa !5
  %2450 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2451 = call i32 @s2n_print_stacktrace(ptr noundef %2450)
  %2452 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2453 = trunc i8 %2452 to i1
  br i1 %2453, label %2454, label %2476

2454:                                             ; preds = %2447
  %2455 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2456 = call i32 @fileno(ptr noundef %2455) #10
  %2457 = call i32 @isatty(i32 noundef %2456) #10
  %2458 = icmp ne i32 %2457, 0
  br i1 %2458, label %2459, label %2476

2459:                                             ; preds = %2454
  %2460 = load i32, ptr %52, align 4, !tbaa !5
  %2461 = call ptr @__errno_location() #11
  store i32 %2460, ptr %2461, align 4, !tbaa !5
  %2462 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2463 = load i32, ptr @test_count, align 4, !tbaa !5
  %2464 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2465 = load i32, ptr %2464, align 4, !tbaa !5
  %2466 = call ptr @s2n_strerror(i32 noundef %2465, ptr noundef @.str.4)
  %2467 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2468 = load i32, ptr %2467, align 4, !tbaa !5
  %2469 = call ptr @s2n_strerror_debug(i32 noundef %2468, ptr noundef @.str.4)
  %2470 = call ptr @__errno_location() #11
  %2471 = load i32, ptr %2470, align 4, !tbaa !5
  %2472 = call ptr @strerror(i32 noundef %2471) #10
  %2473 = call ptr @__errno_location() #11
  %2474 = load i32, ptr %2473, align 4, !tbaa !5
  %2475 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2462, ptr noundef @.str.2, i32 noundef %2463, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 147, ptr noundef %2466, ptr noundef %2469, ptr noundef %2472, i32 noundef %2474) #10
  br label %2493

2476:                                             ; preds = %2454, %2447
  %2477 = load i32, ptr %52, align 4, !tbaa !5
  %2478 = call ptr @__errno_location() #11
  store i32 %2477, ptr %2478, align 4, !tbaa !5
  %2479 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2480 = load i32, ptr @test_count, align 4, !tbaa !5
  %2481 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2482 = load i32, ptr %2481, align 4, !tbaa !5
  %2483 = call ptr @s2n_strerror(i32 noundef %2482, ptr noundef @.str.4)
  %2484 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2485 = load i32, ptr %2484, align 4, !tbaa !5
  %2486 = call ptr @s2n_strerror_debug(i32 noundef %2485, ptr noundef @.str.4)
  %2487 = call ptr @__errno_location() #11
  %2488 = load i32, ptr %2487, align 4, !tbaa !5
  %2489 = call ptr @strerror(i32 noundef %2488) #10
  %2490 = call ptr @__errno_location() #11
  %2491 = load i32, ptr %2490, align 4, !tbaa !5
  %2492 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2479, ptr noundef @.str.5, i32 noundef %2480, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 147, ptr noundef %2483, ptr noundef %2486, ptr noundef %2489, i32 noundef %2491) #10
  br label %2493

2493:                                             ; preds = %2476, %2459
  call void @llvm.lifetime.end.p0(i64 4, ptr %52) #10
  br label %2494

2494:                                             ; preds = %2493
  br label %2495

2495:                                             ; preds = %2494
  call void @exit(i32 noundef 1) #12
  unreachable

2496:                                             ; No predecessors!
  br label %2497

2497:                                             ; preds = %2496
  br label %2498

2498:                                             ; preds = %2497, %2440
  br label %2499

2499:                                             ; preds = %2498
  br label %2500

2500:                                             ; preds = %2499
  br label %2501

2501:                                             ; preds = %2500
  %2502 = load i32, ptr @test_count, align 4, !tbaa !5
  %2503 = add nsw i32 %2502, 1
  store i32 %2503, ptr @test_count, align 4, !tbaa !5
  %2504 = load ptr, ptr %47, align 8, !tbaa !9
  %2505 = load ptr, ptr %45, align 8, !tbaa !9
  %2506 = call i32 @s2n_connection_set_config(ptr noundef %2504, ptr noundef %2505)
  %2507 = icmp eq i32 %2506, -1
  br i1 %2507, label %2508, label %2561

2508:                                             ; preds = %2501
  br label %2509

2509:                                             ; preds = %2508
  br label %2510

2510:                                             ; preds = %2509
  call void @llvm.lifetime.start.p0(i64 4, ptr %53) #10
  %2511 = call ptr @__errno_location() #11
  %2512 = load i32, ptr %2511, align 4, !tbaa !5
  store i32 %2512, ptr %53, align 4, !tbaa !5
  %2513 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2514 = call i32 @s2n_print_stacktrace(ptr noundef %2513)
  %2515 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2516 = trunc i8 %2515 to i1
  br i1 %2516, label %2517, label %2539

2517:                                             ; preds = %2510
  %2518 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2519 = call i32 @fileno(ptr noundef %2518) #10
  %2520 = call i32 @isatty(i32 noundef %2519) #10
  %2521 = icmp ne i32 %2520, 0
  br i1 %2521, label %2522, label %2539

2522:                                             ; preds = %2517
  %2523 = load i32, ptr %53, align 4, !tbaa !5
  %2524 = call ptr @__errno_location() #11
  store i32 %2523, ptr %2524, align 4, !tbaa !5
  %2525 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2526 = load i32, ptr @test_count, align 4, !tbaa !5
  %2527 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2528 = load i32, ptr %2527, align 4, !tbaa !5
  %2529 = call ptr @s2n_strerror(i32 noundef %2528, ptr noundef @.str.4)
  %2530 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2531 = load i32, ptr %2530, align 4, !tbaa !5
  %2532 = call ptr @s2n_strerror_debug(i32 noundef %2531, ptr noundef @.str.4)
  %2533 = call ptr @__errno_location() #11
  %2534 = load i32, ptr %2533, align 4, !tbaa !5
  %2535 = call ptr @strerror(i32 noundef %2534) #10
  %2536 = call ptr @__errno_location() #11
  %2537 = load i32, ptr %2536, align 4, !tbaa !5
  %2538 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2525, ptr noundef @.str.2, i32 noundef %2526, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 148, ptr noundef %2529, ptr noundef %2532, ptr noundef %2535, i32 noundef %2537) #10
  br label %2556

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

2556:                                             ; preds = %2539, %2522
  call void @llvm.lifetime.end.p0(i64 4, ptr %53) #10
  br label %2557

2557:                                             ; preds = %2556
  br label %2558

2558:                                             ; preds = %2557
  call void @exit(i32 noundef 1) #12
  unreachable

2559:                                             ; No predecessors!
  br label %2560

2560:                                             ; preds = %2559
  br label %2561

2561:                                             ; preds = %2560, %2501
  br label %2562

2562:                                             ; preds = %2561
  br label %2563

2563:                                             ; preds = %2562
  %2564 = load ptr, ptr %46, align 8, !tbaa !9
  %2565 = getelementptr inbounds %struct.s2n_connection, ptr %2564, i32 0, i32 23
  store i8 33, ptr %2565, align 4, !tbaa !42
  %2566 = load ptr, ptr %46, align 8, !tbaa !9
  %2567 = getelementptr inbounds %struct.s2n_connection, ptr %2566, i32 0, i32 27
  %2568 = load ptr, ptr %2567, align 8, !tbaa !52
  %2569 = getelementptr inbounds %struct.s2n_crypto_parameters, ptr %2568, i32 0, i32 0
  store ptr @s2n_ecdhe_rsa_with_aes_256_gcm_sha384, ptr %2569, align 8, !tbaa !53
  br label %2570

2570:                                             ; preds = %2563
  %2571 = load i32, ptr @test_count, align 4, !tbaa !5
  %2572 = add nsw i32 %2571, 1
  store i32 %2572, ptr @test_count, align 4, !tbaa !5
  %2573 = load ptr, ptr %46, align 8, !tbaa !9
  %2574 = call i32 @s2n_server_hello_send(ptr noundef %2573)
  %2575 = icmp eq i32 %2574, -1
  br i1 %2575, label %2576, label %2629

2576:                                             ; preds = %2570
  br label %2577

2577:                                             ; preds = %2576
  br label %2578

2578:                                             ; preds = %2577
  call void @llvm.lifetime.start.p0(i64 4, ptr %54) #10
  %2579 = call ptr @__errno_location() #11
  %2580 = load i32, ptr %2579, align 4, !tbaa !5
  store i32 %2580, ptr %54, align 4, !tbaa !5
  %2581 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2582 = call i32 @s2n_print_stacktrace(ptr noundef %2581)
  %2583 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2584 = trunc i8 %2583 to i1
  br i1 %2584, label %2585, label %2607

2585:                                             ; preds = %2578
  %2586 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2587 = call i32 @fileno(ptr noundef %2586) #10
  %2588 = call i32 @isatty(i32 noundef %2587) #10
  %2589 = icmp ne i32 %2588, 0
  br i1 %2589, label %2590, label %2607

2590:                                             ; preds = %2585
  %2591 = load i32, ptr %54, align 4, !tbaa !5
  %2592 = call ptr @__errno_location() #11
  store i32 %2591, ptr %2592, align 4, !tbaa !5
  %2593 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2594 = load i32, ptr @test_count, align 4, !tbaa !5
  %2595 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2596 = load i32, ptr %2595, align 4, !tbaa !5
  %2597 = call ptr @s2n_strerror(i32 noundef %2596, ptr noundef @.str.4)
  %2598 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2599 = load i32, ptr %2598, align 4, !tbaa !5
  %2600 = call ptr @s2n_strerror_debug(i32 noundef %2599, ptr noundef @.str.4)
  %2601 = call ptr @__errno_location() #11
  %2602 = load i32, ptr %2601, align 4, !tbaa !5
  %2603 = call ptr @strerror(i32 noundef %2602) #10
  %2604 = call ptr @__errno_location() #11
  %2605 = load i32, ptr %2604, align 4, !tbaa !5
  %2606 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2593, ptr noundef @.str.2, i32 noundef %2594, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 153, ptr noundef %2597, ptr noundef %2600, ptr noundef %2603, i32 noundef %2605) #10
  br label %2624

2607:                                             ; preds = %2585, %2578
  %2608 = load i32, ptr %54, align 4, !tbaa !5
  %2609 = call ptr @__errno_location() #11
  store i32 %2608, ptr %2609, align 4, !tbaa !5
  %2610 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2611 = load i32, ptr @test_count, align 4, !tbaa !5
  %2612 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2613 = load i32, ptr %2612, align 4, !tbaa !5
  %2614 = call ptr @s2n_strerror(i32 noundef %2613, ptr noundef @.str.4)
  %2615 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2616 = load i32, ptr %2615, align 4, !tbaa !5
  %2617 = call ptr @s2n_strerror_debug(i32 noundef %2616, ptr noundef @.str.4)
  %2618 = call ptr @__errno_location() #11
  %2619 = load i32, ptr %2618, align 4, !tbaa !5
  %2620 = call ptr @strerror(i32 noundef %2619) #10
  %2621 = call ptr @__errno_location() #11
  %2622 = load i32, ptr %2621, align 4, !tbaa !5
  %2623 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2610, ptr noundef @.str.5, i32 noundef %2611, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 153, ptr noundef %2614, ptr noundef %2617, ptr noundef %2620, i32 noundef %2622) #10
  br label %2624

2624:                                             ; preds = %2607, %2590
  call void @llvm.lifetime.end.p0(i64 4, ptr %54) #10
  br label %2625

2625:                                             ; preds = %2624
  br label %2626

2626:                                             ; preds = %2625
  call void @exit(i32 noundef 1) #12
  unreachable

2627:                                             ; No predecessors!
  br label %2628

2628:                                             ; preds = %2627
  br label %2629

2629:                                             ; preds = %2628, %2570
  br label %2630

2630:                                             ; preds = %2629
  br label %2631

2631:                                             ; preds = %2630
  call void @llvm.lifetime.start.p0(i64 4, ptr %55) #10
  %2632 = load ptr, ptr %46, align 8, !tbaa !9
  %2633 = getelementptr inbounds %struct.s2n_connection, ptr %2632, i32 0, i32 52
  %2634 = getelementptr inbounds %struct.s2n_handshake, ptr %2633, i32 0, i32 0
  %2635 = getelementptr inbounds %struct.s2n_stuffer, ptr %2634, i32 0, i32 2
  %2636 = load i32, ptr %2635, align 4, !tbaa !58
  %2637 = load ptr, ptr %46, align 8, !tbaa !9
  %2638 = getelementptr inbounds %struct.s2n_connection, ptr %2637, i32 0, i32 52
  %2639 = getelementptr inbounds %struct.s2n_handshake, ptr %2638, i32 0, i32 0
  %2640 = getelementptr inbounds %struct.s2n_stuffer, ptr %2639, i32 0, i32 1
  %2641 = load i32, ptr %2640, align 8, !tbaa !59
  %2642 = sub i32 %2636, %2641
  store i32 %2642, ptr %55, align 4, !tbaa !5
  br label %2643

2643:                                             ; preds = %2631
  %2644 = load i32, ptr @test_count, align 4, !tbaa !5
  %2645 = add nsw i32 %2644, 1
  store i32 %2645, ptr @test_count, align 4, !tbaa !5
  %2646 = load ptr, ptr %46, align 8, !tbaa !9
  %2647 = getelementptr inbounds %struct.s2n_connection, ptr %2646, i32 0, i32 52
  %2648 = getelementptr inbounds %struct.s2n_handshake, ptr %2647, i32 0, i32 0
  %2649 = load ptr, ptr %47, align 8, !tbaa !9
  %2650 = getelementptr inbounds %struct.s2n_connection, ptr %2649, i32 0, i32 52
  %2651 = getelementptr inbounds %struct.s2n_handshake, ptr %2650, i32 0, i32 0
  %2652 = load i32, ptr %55, align 4, !tbaa !5
  %2653 = call i32 @s2n_stuffer_copy(ptr noundef %2648, ptr noundef %2651, i32 noundef %2652)
  %2654 = icmp eq i32 %2653, -1
  br i1 %2654, label %2655, label %2708

2655:                                             ; preds = %2643
  br label %2656

2656:                                             ; preds = %2655
  br label %2657

2657:                                             ; preds = %2656
  call void @llvm.lifetime.start.p0(i64 4, ptr %56) #10
  %2658 = call ptr @__errno_location() #11
  %2659 = load i32, ptr %2658, align 4, !tbaa !5
  store i32 %2659, ptr %56, align 4, !tbaa !5
  %2660 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2661 = call i32 @s2n_print_stacktrace(ptr noundef %2660)
  %2662 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2663 = trunc i8 %2662 to i1
  br i1 %2663, label %2664, label %2686

2664:                                             ; preds = %2657
  %2665 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2666 = call i32 @fileno(ptr noundef %2665) #10
  %2667 = call i32 @isatty(i32 noundef %2666) #10
  %2668 = icmp ne i32 %2667, 0
  br i1 %2668, label %2669, label %2686

2669:                                             ; preds = %2664
  %2670 = load i32, ptr %56, align 4, !tbaa !5
  %2671 = call ptr @__errno_location() #11
  store i32 %2670, ptr %2671, align 4, !tbaa !5
  %2672 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2673 = load i32, ptr @test_count, align 4, !tbaa !5
  %2674 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2675 = load i32, ptr %2674, align 4, !tbaa !5
  %2676 = call ptr @s2n_strerror(i32 noundef %2675, ptr noundef @.str.4)
  %2677 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2678 = load i32, ptr %2677, align 4, !tbaa !5
  %2679 = call ptr @s2n_strerror_debug(i32 noundef %2678, ptr noundef @.str.4)
  %2680 = call ptr @__errno_location() #11
  %2681 = load i32, ptr %2680, align 4, !tbaa !5
  %2682 = call ptr @strerror(i32 noundef %2681) #10
  %2683 = call ptr @__errno_location() #11
  %2684 = load i32, ptr %2683, align 4, !tbaa !5
  %2685 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2672, ptr noundef @.str.2, i32 noundef %2673, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 157, ptr noundef %2676, ptr noundef %2679, ptr noundef %2682, i32 noundef %2684) #10
  br label %2703

2686:                                             ; preds = %2664, %2657
  %2687 = load i32, ptr %56, align 4, !tbaa !5
  %2688 = call ptr @__errno_location() #11
  store i32 %2687, ptr %2688, align 4, !tbaa !5
  %2689 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2690 = load i32, ptr @test_count, align 4, !tbaa !5
  %2691 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2692 = load i32, ptr %2691, align 4, !tbaa !5
  %2693 = call ptr @s2n_strerror(i32 noundef %2692, ptr noundef @.str.4)
  %2694 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2695 = load i32, ptr %2694, align 4, !tbaa !5
  %2696 = call ptr @s2n_strerror_debug(i32 noundef %2695, ptr noundef @.str.4)
  %2697 = call ptr @__errno_location() #11
  %2698 = load i32, ptr %2697, align 4, !tbaa !5
  %2699 = call ptr @strerror(i32 noundef %2698) #10
  %2700 = call ptr @__errno_location() #11
  %2701 = load i32, ptr %2700, align 4, !tbaa !5
  %2702 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2689, ptr noundef @.str.5, i32 noundef %2690, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 157, ptr noundef %2693, ptr noundef %2696, ptr noundef %2699, i32 noundef %2701) #10
  br label %2703

2703:                                             ; preds = %2686, %2669
  call void @llvm.lifetime.end.p0(i64 4, ptr %56) #10
  br label %2704

2704:                                             ; preds = %2703
  br label %2705

2705:                                             ; preds = %2704
  call void @exit(i32 noundef 1) #12
  unreachable

2706:                                             ; No predecessors!
  br label %2707

2707:                                             ; preds = %2706
  br label %2708

2708:                                             ; preds = %2707, %2643
  br label %2709

2709:                                             ; preds = %2708
  br label %2710

2710:                                             ; preds = %2709
  call void @llvm.lifetime.start.p0(i64 8, ptr %57) #10
  %2711 = load ptr, ptr %47, align 8, !tbaa !9
  %2712 = getelementptr inbounds %struct.s2n_connection, ptr %2711, i32 0, i32 52
  %2713 = getelementptr inbounds %struct.s2n_handshake, ptr %2712, i32 0, i32 0
  store ptr %2713, ptr %57, align 8, !tbaa !9
  br label %2714

2714:                                             ; preds = %2710
  %2715 = load i32, ptr @test_count, align 4, !tbaa !5
  %2716 = add nsw i32 %2715, 1
  store i32 %2716, ptr @test_count, align 4, !tbaa !5
  %2717 = load ptr, ptr %47, align 8, !tbaa !9
  %2718 = call i32 @s2n_server_hello_recv(ptr noundef %2717)
  %2719 = icmp eq i32 %2718, -1
  br i1 %2719, label %2720, label %2773

2720:                                             ; preds = %2714
  br label %2721

2721:                                             ; preds = %2720
  br label %2722

2722:                                             ; preds = %2721
  call void @llvm.lifetime.start.p0(i64 4, ptr %58) #10
  %2723 = call ptr @__errno_location() #11
  %2724 = load i32, ptr %2723, align 4, !tbaa !5
  store i32 %2724, ptr %58, align 4, !tbaa !5
  %2725 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2726 = call i32 @s2n_print_stacktrace(ptr noundef %2725)
  %2727 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2728 = trunc i8 %2727 to i1
  br i1 %2728, label %2729, label %2751

2729:                                             ; preds = %2722
  %2730 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2731 = call i32 @fileno(ptr noundef %2730) #10
  %2732 = call i32 @isatty(i32 noundef %2731) #10
  %2733 = icmp ne i32 %2732, 0
  br i1 %2733, label %2734, label %2751

2734:                                             ; preds = %2729
  %2735 = load i32, ptr %58, align 4, !tbaa !5
  %2736 = call ptr @__errno_location() #11
  store i32 %2735, ptr %2736, align 4, !tbaa !5
  %2737 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2738 = load i32, ptr @test_count, align 4, !tbaa !5
  %2739 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2740 = load i32, ptr %2739, align 4, !tbaa !5
  %2741 = call ptr @s2n_strerror(i32 noundef %2740, ptr noundef @.str.4)
  %2742 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2743 = load i32, ptr %2742, align 4, !tbaa !5
  %2744 = call ptr @s2n_strerror_debug(i32 noundef %2743, ptr noundef @.str.4)
  %2745 = call ptr @__errno_location() #11
  %2746 = load i32, ptr %2745, align 4, !tbaa !5
  %2747 = call ptr @strerror(i32 noundef %2746) #10
  %2748 = call ptr @__errno_location() #11
  %2749 = load i32, ptr %2748, align 4, !tbaa !5
  %2750 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2737, ptr noundef @.str.2, i32 noundef %2738, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 161, ptr noundef %2741, ptr noundef %2744, ptr noundef %2747, i32 noundef %2749) #10
  br label %2768

2751:                                             ; preds = %2729, %2722
  %2752 = load i32, ptr %58, align 4, !tbaa !5
  %2753 = call ptr @__errno_location() #11
  store i32 %2752, ptr %2753, align 4, !tbaa !5
  %2754 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2755 = load i32, ptr @test_count, align 4, !tbaa !5
  %2756 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2757 = load i32, ptr %2756, align 4, !tbaa !5
  %2758 = call ptr @s2n_strerror(i32 noundef %2757, ptr noundef @.str.4)
  %2759 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2760 = load i32, ptr %2759, align 4, !tbaa !5
  %2761 = call ptr @s2n_strerror_debug(i32 noundef %2760, ptr noundef @.str.4)
  %2762 = call ptr @__errno_location() #11
  %2763 = load i32, ptr %2762, align 4, !tbaa !5
  %2764 = call ptr @strerror(i32 noundef %2763) #10
  %2765 = call ptr @__errno_location() #11
  %2766 = load i32, ptr %2765, align 4, !tbaa !5
  %2767 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2754, ptr noundef @.str.5, i32 noundef %2755, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 161, ptr noundef %2758, ptr noundef %2761, ptr noundef %2764, i32 noundef %2766) #10
  br label %2768

2768:                                             ; preds = %2751, %2734
  call void @llvm.lifetime.end.p0(i64 4, ptr %58) #10
  br label %2769

2769:                                             ; preds = %2768
  br label %2770

2770:                                             ; preds = %2769
  call void @exit(i32 noundef 1) #12
  unreachable

2771:                                             ; No predecessors!
  br label %2772

2772:                                             ; preds = %2771
  br label %2773

2773:                                             ; preds = %2772, %2714
  br label %2774

2774:                                             ; preds = %2773
  br label %2775

2775:                                             ; preds = %2774
  br label %2776

2776:                                             ; preds = %2775
  %2777 = load i32, ptr @test_count, align 4, !tbaa !5
  %2778 = add nsw i32 %2777, 1
  store i32 %2778, ptr @test_count, align 4, !tbaa !5
  %2779 = load ptr, ptr %57, align 8, !tbaa !9
  %2780 = getelementptr inbounds %struct.s2n_stuffer, ptr %2779, i32 0, i32 2
  %2781 = load i32, ptr %2780, align 4, !tbaa !45
  %2782 = load ptr, ptr %57, align 8, !tbaa !9
  %2783 = getelementptr inbounds %struct.s2n_stuffer, ptr %2782, i32 0, i32 1
  %2784 = load i32, ptr %2783, align 8, !tbaa !46
  %2785 = sub i32 %2781, %2784
  %2786 = icmp eq i32 %2785, 0
  br i1 %2786, label %2840, label %2787

2787:                                             ; preds = %2776
  br label %2788

2788:                                             ; preds = %2787
  br label %2789

2789:                                             ; preds = %2788
  call void @llvm.lifetime.start.p0(i64 4, ptr %59) #10
  %2790 = call ptr @__errno_location() #11
  %2791 = load i32, ptr %2790, align 4, !tbaa !5
  store i32 %2791, ptr %59, align 4, !tbaa !5
  %2792 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2793 = call i32 @s2n_print_stacktrace(ptr noundef %2792)
  %2794 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2795 = trunc i8 %2794 to i1
  br i1 %2795, label %2796, label %2818

2796:                                             ; preds = %2789
  %2797 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2798 = call i32 @fileno(ptr noundef %2797) #10
  %2799 = call i32 @isatty(i32 noundef %2798) #10
  %2800 = icmp ne i32 %2799, 0
  br i1 %2800, label %2801, label %2818

2801:                                             ; preds = %2796
  %2802 = load i32, ptr %59, align 4, !tbaa !5
  %2803 = call ptr @__errno_location() #11
  store i32 %2802, ptr %2803, align 4, !tbaa !5
  %2804 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2805 = load i32, ptr @test_count, align 4, !tbaa !5
  %2806 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2807 = load i32, ptr %2806, align 4, !tbaa !5
  %2808 = call ptr @s2n_strerror(i32 noundef %2807, ptr noundef @.str.4)
  %2809 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2810 = load i32, ptr %2809, align 4, !tbaa !5
  %2811 = call ptr @s2n_strerror_debug(i32 noundef %2810, ptr noundef @.str.4)
  %2812 = call ptr @__errno_location() #11
  %2813 = load i32, ptr %2812, align 4, !tbaa !5
  %2814 = call ptr @strerror(i32 noundef %2813) #10
  %2815 = call ptr @__errno_location() #11
  %2816 = load i32, ptr %2815, align 4, !tbaa !5
  %2817 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2804, ptr noundef @.str.2, i32 noundef %2805, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 163, ptr noundef %2808, ptr noundef %2811, ptr noundef %2814, i32 noundef %2816) #10
  br label %2835

2818:                                             ; preds = %2796, %2789
  %2819 = load i32, ptr %59, align 4, !tbaa !5
  %2820 = call ptr @__errno_location() #11
  store i32 %2819, ptr %2820, align 4, !tbaa !5
  %2821 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2822 = load i32, ptr @test_count, align 4, !tbaa !5
  %2823 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2824 = load i32, ptr %2823, align 4, !tbaa !5
  %2825 = call ptr @s2n_strerror(i32 noundef %2824, ptr noundef @.str.4)
  %2826 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2827 = load i32, ptr %2826, align 4, !tbaa !5
  %2828 = call ptr @s2n_strerror_debug(i32 noundef %2827, ptr noundef @.str.4)
  %2829 = call ptr @__errno_location() #11
  %2830 = load i32, ptr %2829, align 4, !tbaa !5
  %2831 = call ptr @strerror(i32 noundef %2830) #10
  %2832 = call ptr @__errno_location() #11
  %2833 = load i32, ptr %2832, align 4, !tbaa !5
  %2834 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2821, ptr noundef @.str.5, i32 noundef %2822, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 163, ptr noundef %2825, ptr noundef %2828, ptr noundef %2831, i32 noundef %2833) #10
  br label %2835

2835:                                             ; preds = %2818, %2801
  call void @llvm.lifetime.end.p0(i64 4, ptr %59) #10
  br label %2836

2836:                                             ; preds = %2835
  br label %2837

2837:                                             ; preds = %2836
  call void @exit(i32 noundef 1) #12
  unreachable

2838:                                             ; No predecessors!
  br label %2839

2839:                                             ; preds = %2838
  br label %2840

2840:                                             ; preds = %2839, %2776
  br label %2841

2841:                                             ; preds = %2840
  br label %2842

2842:                                             ; preds = %2841
  br label %2843

2843:                                             ; preds = %2842
  %2844 = load i32, ptr @test_count, align 4, !tbaa !5
  %2845 = add nsw i32 %2844, 1
  store i32 %2845, ptr @test_count, align 4, !tbaa !5
  %2846 = load ptr, ptr %45, align 8, !tbaa !9
  %2847 = call i32 @s2n_config_free(ptr noundef %2846)
  %2848 = icmp eq i32 %2847, -1
  br i1 %2848, label %2849, label %2902

2849:                                             ; preds = %2843
  br label %2850

2850:                                             ; preds = %2849
  br label %2851

2851:                                             ; preds = %2850
  call void @llvm.lifetime.start.p0(i64 4, ptr %60) #10
  %2852 = call ptr @__errno_location() #11
  %2853 = load i32, ptr %2852, align 4, !tbaa !5
  store i32 %2853, ptr %60, align 4, !tbaa !5
  %2854 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2855 = call i32 @s2n_print_stacktrace(ptr noundef %2854)
  %2856 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2857 = trunc i8 %2856 to i1
  br i1 %2857, label %2858, label %2880

2858:                                             ; preds = %2851
  %2859 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2860 = call i32 @fileno(ptr noundef %2859) #10
  %2861 = call i32 @isatty(i32 noundef %2860) #10
  %2862 = icmp ne i32 %2861, 0
  br i1 %2862, label %2863, label %2880

2863:                                             ; preds = %2858
  %2864 = load i32, ptr %60, align 4, !tbaa !5
  %2865 = call ptr @__errno_location() #11
  store i32 %2864, ptr %2865, align 4, !tbaa !5
  %2866 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2867 = load i32, ptr @test_count, align 4, !tbaa !5
  %2868 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2869 = load i32, ptr %2868, align 4, !tbaa !5
  %2870 = call ptr @s2n_strerror(i32 noundef %2869, ptr noundef @.str.4)
  %2871 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2872 = load i32, ptr %2871, align 4, !tbaa !5
  %2873 = call ptr @s2n_strerror_debug(i32 noundef %2872, ptr noundef @.str.4)
  %2874 = call ptr @__errno_location() #11
  %2875 = load i32, ptr %2874, align 4, !tbaa !5
  %2876 = call ptr @strerror(i32 noundef %2875) #10
  %2877 = call ptr @__errno_location() #11
  %2878 = load i32, ptr %2877, align 4, !tbaa !5
  %2879 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2866, ptr noundef @.str.2, i32 noundef %2867, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 165, ptr noundef %2870, ptr noundef %2873, ptr noundef %2876, i32 noundef %2878) #10
  br label %2897

2880:                                             ; preds = %2858, %2851
  %2881 = load i32, ptr %60, align 4, !tbaa !5
  %2882 = call ptr @__errno_location() #11
  store i32 %2881, ptr %2882, align 4, !tbaa !5
  %2883 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2884 = load i32, ptr @test_count, align 4, !tbaa !5
  %2885 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2886 = load i32, ptr %2885, align 4, !tbaa !5
  %2887 = call ptr @s2n_strerror(i32 noundef %2886, ptr noundef @.str.4)
  %2888 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2889 = load i32, ptr %2888, align 4, !tbaa !5
  %2890 = call ptr @s2n_strerror_debug(i32 noundef %2889, ptr noundef @.str.4)
  %2891 = call ptr @__errno_location() #11
  %2892 = load i32, ptr %2891, align 4, !tbaa !5
  %2893 = call ptr @strerror(i32 noundef %2892) #10
  %2894 = call ptr @__errno_location() #11
  %2895 = load i32, ptr %2894, align 4, !tbaa !5
  %2896 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2883, ptr noundef @.str.5, i32 noundef %2884, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 165, ptr noundef %2887, ptr noundef %2890, ptr noundef %2893, i32 noundef %2895) #10
  br label %2897

2897:                                             ; preds = %2880, %2863
  call void @llvm.lifetime.end.p0(i64 4, ptr %60) #10
  br label %2898

2898:                                             ; preds = %2897
  br label %2899

2899:                                             ; preds = %2898
  call void @exit(i32 noundef 1) #12
  unreachable

2900:                                             ; No predecessors!
  br label %2901

2901:                                             ; preds = %2900
  br label %2902

2902:                                             ; preds = %2901, %2843
  br label %2903

2903:                                             ; preds = %2902
  br label %2904

2904:                                             ; preds = %2903
  br label %2905

2905:                                             ; preds = %2904
  %2906 = load i32, ptr @test_count, align 4, !tbaa !5
  %2907 = add nsw i32 %2906, 1
  store i32 %2907, ptr @test_count, align 4, !tbaa !5
  %2908 = load ptr, ptr %44, align 8, !tbaa !9
  %2909 = call i32 @s2n_config_free(ptr noundef %2908)
  %2910 = icmp eq i32 %2909, -1
  br i1 %2910, label %2911, label %2964

2911:                                             ; preds = %2905
  br label %2912

2912:                                             ; preds = %2911
  br label %2913

2913:                                             ; preds = %2912
  call void @llvm.lifetime.start.p0(i64 4, ptr %61) #10
  %2914 = call ptr @__errno_location() #11
  %2915 = load i32, ptr %2914, align 4, !tbaa !5
  store i32 %2915, ptr %61, align 4, !tbaa !5
  %2916 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2917 = call i32 @s2n_print_stacktrace(ptr noundef %2916)
  %2918 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2919 = trunc i8 %2918 to i1
  br i1 %2919, label %2920, label %2942

2920:                                             ; preds = %2913
  %2921 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2922 = call i32 @fileno(ptr noundef %2921) #10
  %2923 = call i32 @isatty(i32 noundef %2922) #10
  %2924 = icmp ne i32 %2923, 0
  br i1 %2924, label %2925, label %2942

2925:                                             ; preds = %2920
  %2926 = load i32, ptr %61, align 4, !tbaa !5
  %2927 = call ptr @__errno_location() #11
  store i32 %2926, ptr %2927, align 4, !tbaa !5
  %2928 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2929 = load i32, ptr @test_count, align 4, !tbaa !5
  %2930 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2931 = load i32, ptr %2930, align 4, !tbaa !5
  %2932 = call ptr @s2n_strerror(i32 noundef %2931, ptr noundef @.str.4)
  %2933 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2934 = load i32, ptr %2933, align 4, !tbaa !5
  %2935 = call ptr @s2n_strerror_debug(i32 noundef %2934, ptr noundef @.str.4)
  %2936 = call ptr @__errno_location() #11
  %2937 = load i32, ptr %2936, align 4, !tbaa !5
  %2938 = call ptr @strerror(i32 noundef %2937) #10
  %2939 = call ptr @__errno_location() #11
  %2940 = load i32, ptr %2939, align 4, !tbaa !5
  %2941 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2928, ptr noundef @.str.2, i32 noundef %2929, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 166, ptr noundef %2932, ptr noundef %2935, ptr noundef %2938, i32 noundef %2940) #10
  br label %2959

2942:                                             ; preds = %2920, %2913
  %2943 = load i32, ptr %61, align 4, !tbaa !5
  %2944 = call ptr @__errno_location() #11
  store i32 %2943, ptr %2944, align 4, !tbaa !5
  %2945 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2946 = load i32, ptr @test_count, align 4, !tbaa !5
  %2947 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2948 = load i32, ptr %2947, align 4, !tbaa !5
  %2949 = call ptr @s2n_strerror(i32 noundef %2948, ptr noundef @.str.4)
  %2950 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2951 = load i32, ptr %2950, align 4, !tbaa !5
  %2952 = call ptr @s2n_strerror_debug(i32 noundef %2951, ptr noundef @.str.4)
  %2953 = call ptr @__errno_location() #11
  %2954 = load i32, ptr %2953, align 4, !tbaa !5
  %2955 = call ptr @strerror(i32 noundef %2954) #10
  %2956 = call ptr @__errno_location() #11
  %2957 = load i32, ptr %2956, align 4, !tbaa !5
  %2958 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2945, ptr noundef @.str.5, i32 noundef %2946, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 166, ptr noundef %2949, ptr noundef %2952, ptr noundef %2955, i32 noundef %2957) #10
  br label %2959

2959:                                             ; preds = %2942, %2925
  call void @llvm.lifetime.end.p0(i64 4, ptr %61) #10
  br label %2960

2960:                                             ; preds = %2959
  br label %2961

2961:                                             ; preds = %2960
  call void @exit(i32 noundef 1) #12
  unreachable

2962:                                             ; No predecessors!
  br label %2963

2963:                                             ; preds = %2962
  br label %2964

2964:                                             ; preds = %2963, %2905
  br label %2965

2965:                                             ; preds = %2964
  br label %2966

2966:                                             ; preds = %2965
  br label %2967

2967:                                             ; preds = %2966
  %2968 = load i32, ptr @test_count, align 4, !tbaa !5
  %2969 = add nsw i32 %2968, 1
  store i32 %2969, ptr @test_count, align 4, !tbaa !5
  %2970 = load ptr, ptr %47, align 8, !tbaa !9
  %2971 = call i32 @s2n_connection_free(ptr noundef %2970)
  %2972 = icmp eq i32 %2971, -1
  br i1 %2972, label %2973, label %3026

2973:                                             ; preds = %2967
  br label %2974

2974:                                             ; preds = %2973
  br label %2975

2975:                                             ; preds = %2974
  call void @llvm.lifetime.start.p0(i64 4, ptr %62) #10
  %2976 = call ptr @__errno_location() #11
  %2977 = load i32, ptr %2976, align 4, !tbaa !5
  store i32 %2977, ptr %62, align 4, !tbaa !5
  %2978 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2979 = call i32 @s2n_print_stacktrace(ptr noundef %2978)
  %2980 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2981 = trunc i8 %2980 to i1
  br i1 %2981, label %2982, label %3004

2982:                                             ; preds = %2975
  %2983 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2984 = call i32 @fileno(ptr noundef %2983) #10
  %2985 = call i32 @isatty(i32 noundef %2984) #10
  %2986 = icmp ne i32 %2985, 0
  br i1 %2986, label %2987, label %3004

2987:                                             ; preds = %2982
  %2988 = load i32, ptr %62, align 4, !tbaa !5
  %2989 = call ptr @__errno_location() #11
  store i32 %2988, ptr %2989, align 4, !tbaa !5
  %2990 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2991 = load i32, ptr @test_count, align 4, !tbaa !5
  %2992 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2993 = load i32, ptr %2992, align 4, !tbaa !5
  %2994 = call ptr @s2n_strerror(i32 noundef %2993, ptr noundef @.str.4)
  %2995 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2996 = load i32, ptr %2995, align 4, !tbaa !5
  %2997 = call ptr @s2n_strerror_debug(i32 noundef %2996, ptr noundef @.str.4)
  %2998 = call ptr @__errno_location() #11
  %2999 = load i32, ptr %2998, align 4, !tbaa !5
  %3000 = call ptr @strerror(i32 noundef %2999) #10
  %3001 = call ptr @__errno_location() #11
  %3002 = load i32, ptr %3001, align 4, !tbaa !5
  %3003 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2990, ptr noundef @.str.2, i32 noundef %2991, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 167, ptr noundef %2994, ptr noundef %2997, ptr noundef %3000, i32 noundef %3002) #10
  br label %3021

3004:                                             ; preds = %2982, %2975
  %3005 = load i32, ptr %62, align 4, !tbaa !5
  %3006 = call ptr @__errno_location() #11
  store i32 %3005, ptr %3006, align 4, !tbaa !5
  %3007 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3008 = load i32, ptr @test_count, align 4, !tbaa !5
  %3009 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3010 = load i32, ptr %3009, align 4, !tbaa !5
  %3011 = call ptr @s2n_strerror(i32 noundef %3010, ptr noundef @.str.4)
  %3012 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3013 = load i32, ptr %3012, align 4, !tbaa !5
  %3014 = call ptr @s2n_strerror_debug(i32 noundef %3013, ptr noundef @.str.4)
  %3015 = call ptr @__errno_location() #11
  %3016 = load i32, ptr %3015, align 4, !tbaa !5
  %3017 = call ptr @strerror(i32 noundef %3016) #10
  %3018 = call ptr @__errno_location() #11
  %3019 = load i32, ptr %3018, align 4, !tbaa !5
  %3020 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3007, ptr noundef @.str.5, i32 noundef %3008, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 167, ptr noundef %3011, ptr noundef %3014, ptr noundef %3017, i32 noundef %3019) #10
  br label %3021

3021:                                             ; preds = %3004, %2987
  call void @llvm.lifetime.end.p0(i64 4, ptr %62) #10
  br label %3022

3022:                                             ; preds = %3021
  br label %3023

3023:                                             ; preds = %3022
  call void @exit(i32 noundef 1) #12
  unreachable

3024:                                             ; No predecessors!
  br label %3025

3025:                                             ; preds = %3024
  br label %3026

3026:                                             ; preds = %3025, %2967
  br label %3027

3027:                                             ; preds = %3026
  br label %3028

3028:                                             ; preds = %3027
  br label %3029

3029:                                             ; preds = %3028
  %3030 = load i32, ptr @test_count, align 4, !tbaa !5
  %3031 = add nsw i32 %3030, 1
  store i32 %3031, ptr @test_count, align 4, !tbaa !5
  %3032 = load ptr, ptr %46, align 8, !tbaa !9
  %3033 = call i32 @s2n_connection_free(ptr noundef %3032)
  %3034 = icmp eq i32 %3033, -1
  br i1 %3034, label %3035, label %3088

3035:                                             ; preds = %3029
  br label %3036

3036:                                             ; preds = %3035
  br label %3037

3037:                                             ; preds = %3036
  call void @llvm.lifetime.start.p0(i64 4, ptr %63) #10
  %3038 = call ptr @__errno_location() #11
  %3039 = load i32, ptr %3038, align 4, !tbaa !5
  store i32 %3039, ptr %63, align 4, !tbaa !5
  %3040 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3041 = call i32 @s2n_print_stacktrace(ptr noundef %3040)
  %3042 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3043 = trunc i8 %3042 to i1
  br i1 %3043, label %3044, label %3066

3044:                                             ; preds = %3037
  %3045 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3046 = call i32 @fileno(ptr noundef %3045) #10
  %3047 = call i32 @isatty(i32 noundef %3046) #10
  %3048 = icmp ne i32 %3047, 0
  br i1 %3048, label %3049, label %3066

3049:                                             ; preds = %3044
  %3050 = load i32, ptr %63, align 4, !tbaa !5
  %3051 = call ptr @__errno_location() #11
  store i32 %3050, ptr %3051, align 4, !tbaa !5
  %3052 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3053 = load i32, ptr @test_count, align 4, !tbaa !5
  %3054 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3055 = load i32, ptr %3054, align 4, !tbaa !5
  %3056 = call ptr @s2n_strerror(i32 noundef %3055, ptr noundef @.str.4)
  %3057 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3058 = load i32, ptr %3057, align 4, !tbaa !5
  %3059 = call ptr @s2n_strerror_debug(i32 noundef %3058, ptr noundef @.str.4)
  %3060 = call ptr @__errno_location() #11
  %3061 = load i32, ptr %3060, align 4, !tbaa !5
  %3062 = call ptr @strerror(i32 noundef %3061) #10
  %3063 = call ptr @__errno_location() #11
  %3064 = load i32, ptr %3063, align 4, !tbaa !5
  %3065 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3052, ptr noundef @.str.2, i32 noundef %3053, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 168, ptr noundef %3056, ptr noundef %3059, ptr noundef %3062, i32 noundef %3064) #10
  br label %3083

3066:                                             ; preds = %3044, %3037
  %3067 = load i32, ptr %63, align 4, !tbaa !5
  %3068 = call ptr @__errno_location() #11
  store i32 %3067, ptr %3068, align 4, !tbaa !5
  %3069 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3070 = load i32, ptr @test_count, align 4, !tbaa !5
  %3071 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3072 = load i32, ptr %3071, align 4, !tbaa !5
  %3073 = call ptr @s2n_strerror(i32 noundef %3072, ptr noundef @.str.4)
  %3074 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3075 = load i32, ptr %3074, align 4, !tbaa !5
  %3076 = call ptr @s2n_strerror_debug(i32 noundef %3075, ptr noundef @.str.4)
  %3077 = call ptr @__errno_location() #11
  %3078 = load i32, ptr %3077, align 4, !tbaa !5
  %3079 = call ptr @strerror(i32 noundef %3078) #10
  %3080 = call ptr @__errno_location() #11
  %3081 = load i32, ptr %3080, align 4, !tbaa !5
  %3082 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3069, ptr noundef @.str.5, i32 noundef %3070, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 168, ptr noundef %3073, ptr noundef %3076, ptr noundef %3079, i32 noundef %3081) #10
  br label %3083

3083:                                             ; preds = %3066, %3049
  call void @llvm.lifetime.end.p0(i64 4, ptr %63) #10
  br label %3084

3084:                                             ; preds = %3083
  br label %3085

3085:                                             ; preds = %3084
  call void @exit(i32 noundef 1) #12
  unreachable

3086:                                             ; No predecessors!
  br label %3087

3087:                                             ; preds = %3086
  br label %3088

3088:                                             ; preds = %3087, %3029
  br label %3089

3089:                                             ; preds = %3088
  br label %3090

3090:                                             ; preds = %3089
  call void @llvm.lifetime.end.p0(i64 8, ptr %57) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %55) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %47) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %46) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %45) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %44) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %64) #10
  store ptr null, ptr %64, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %65) #10
  store ptr null, ptr %65, align 8, !tbaa !9
  br label %3091

3091:                                             ; preds = %3090
  %3092 = load i32, ptr @test_count, align 4, !tbaa !5
  %3093 = add nsw i32 %3092, 1
  store i32 %3093, ptr @test_count, align 4, !tbaa !5
  %3094 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %3094, ptr %64, align 8, !tbaa !9
  %3095 = icmp eq ptr %3094, null
  br i1 %3095, label %3096, label %3149

3096:                                             ; preds = %3091
  br label %3097

3097:                                             ; preds = %3096
  br label %3098

3098:                                             ; preds = %3097
  call void @llvm.lifetime.start.p0(i64 4, ptr %66) #10
  %3099 = call ptr @__errno_location() #11
  %3100 = load i32, ptr %3099, align 4, !tbaa !5
  store i32 %3100, ptr %66, align 4, !tbaa !5
  %3101 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3102 = call i32 @s2n_print_stacktrace(ptr noundef %3101)
  %3103 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3104 = trunc i8 %3103 to i1
  br i1 %3104, label %3105, label %3127

3105:                                             ; preds = %3098
  %3106 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3107 = call i32 @fileno(ptr noundef %3106) #10
  %3108 = call i32 @isatty(i32 noundef %3107) #10
  %3109 = icmp ne i32 %3108, 0
  br i1 %3109, label %3110, label %3127

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

3127:                                             ; preds = %3105, %3098
  %3128 = load i32, ptr %66, align 4, !tbaa !5
  %3129 = call ptr @__errno_location() #11
  store i32 %3128, ptr %3129, align 4, !tbaa !5
  %3130 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3131 = load i32, ptr @test_count, align 4, !tbaa !5
  %3132 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3133 = load i32, ptr %3132, align 4, !tbaa !5
  %3134 = call ptr @s2n_strerror(i32 noundef %3133, ptr noundef @.str.4)
  %3135 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3136 = load i32, ptr %3135, align 4, !tbaa !5
  %3137 = call ptr @s2n_strerror_debug(i32 noundef %3136, ptr noundef @.str.4)
  %3138 = call ptr @__errno_location() #11
  %3139 = load i32, ptr %3138, align 4, !tbaa !5
  %3140 = call ptr @strerror(i32 noundef %3139) #10
  %3141 = call ptr @__errno_location() #11
  %3142 = load i32, ptr %3141, align 4, !tbaa !5
  %3143 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3130, ptr noundef @.str.5, i32 noundef %3131, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 176, ptr noundef %3134, ptr noundef %3137, ptr noundef %3140, i32 noundef %3142) #10
  br label %3144

3144:                                             ; preds = %3127, %3110
  call void @llvm.lifetime.end.p0(i64 4, ptr %66) #10
  br label %3145

3145:                                             ; preds = %3144
  br label %3146

3146:                                             ; preds = %3145
  call void @exit(i32 noundef 1) #12
  unreachable

3147:                                             ; No predecessors!
  br label %3148

3148:                                             ; preds = %3147
  br label %3149

3149:                                             ; preds = %3148, %3091
  br label %3150

3150:                                             ; preds = %3149
  br label %3151

3151:                                             ; preds = %3150
  br label %3152

3152:                                             ; preds = %3151
  %3153 = load i32, ptr @test_count, align 4, !tbaa !5
  %3154 = add nsw i32 %3153, 1
  store i32 %3154, ptr @test_count, align 4, !tbaa !5
  %3155 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %3155, ptr %65, align 8, !tbaa !9
  %3156 = icmp eq ptr %3155, null
  br i1 %3156, label %3157, label %3210

3157:                                             ; preds = %3152
  br label %3158

3158:                                             ; preds = %3157
  br label %3159

3159:                                             ; preds = %3158
  call void @llvm.lifetime.start.p0(i64 4, ptr %67) #10
  %3160 = call ptr @__errno_location() #11
  %3161 = load i32, ptr %3160, align 4, !tbaa !5
  store i32 %3161, ptr %67, align 4, !tbaa !5
  %3162 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3163 = call i32 @s2n_print_stacktrace(ptr noundef %3162)
  %3164 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3165 = trunc i8 %3164 to i1
  br i1 %3165, label %3166, label %3188

3166:                                             ; preds = %3159
  %3167 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3168 = call i32 @fileno(ptr noundef %3167) #10
  %3169 = call i32 @isatty(i32 noundef %3168) #10
  %3170 = icmp ne i32 %3169, 0
  br i1 %3170, label %3171, label %3188

3171:                                             ; preds = %3166
  %3172 = load i32, ptr %67, align 4, !tbaa !5
  %3173 = call ptr @__errno_location() #11
  store i32 %3172, ptr %3173, align 4, !tbaa !5
  %3174 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3175 = load i32, ptr @test_count, align 4, !tbaa !5
  %3176 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3177 = load i32, ptr %3176, align 4, !tbaa !5
  %3178 = call ptr @s2n_strerror(i32 noundef %3177, ptr noundef @.str.4)
  %3179 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3180 = load i32, ptr %3179, align 4, !tbaa !5
  %3181 = call ptr @s2n_strerror_debug(i32 noundef %3180, ptr noundef @.str.4)
  %3182 = call ptr @__errno_location() #11
  %3183 = load i32, ptr %3182, align 4, !tbaa !5
  %3184 = call ptr @strerror(i32 noundef %3183) #10
  %3185 = call ptr @__errno_location() #11
  %3186 = load i32, ptr %3185, align 4, !tbaa !5
  %3187 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3174, ptr noundef @.str.2, i32 noundef %3175, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 177, ptr noundef %3178, ptr noundef %3181, ptr noundef %3184, i32 noundef %3186) #10
  br label %3205

3188:                                             ; preds = %3166, %3159
  %3189 = load i32, ptr %67, align 4, !tbaa !5
  %3190 = call ptr @__errno_location() #11
  store i32 %3189, ptr %3190, align 4, !tbaa !5
  %3191 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3192 = load i32, ptr @test_count, align 4, !tbaa !5
  %3193 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3194 = load i32, ptr %3193, align 4, !tbaa !5
  %3195 = call ptr @s2n_strerror(i32 noundef %3194, ptr noundef @.str.4)
  %3196 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3197 = load i32, ptr %3196, align 4, !tbaa !5
  %3198 = call ptr @s2n_strerror_debug(i32 noundef %3197, ptr noundef @.str.4)
  %3199 = call ptr @__errno_location() #11
  %3200 = load i32, ptr %3199, align 4, !tbaa !5
  %3201 = call ptr @strerror(i32 noundef %3200) #10
  %3202 = call ptr @__errno_location() #11
  %3203 = load i32, ptr %3202, align 4, !tbaa !5
  %3204 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3191, ptr noundef @.str.5, i32 noundef %3192, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 177, ptr noundef %3195, ptr noundef %3198, ptr noundef %3201, i32 noundef %3203) #10
  br label %3205

3205:                                             ; preds = %3188, %3171
  call void @llvm.lifetime.end.p0(i64 4, ptr %67) #10
  br label %3206

3206:                                             ; preds = %3205
  br label %3207

3207:                                             ; preds = %3206
  call void @exit(i32 noundef 1) #12
  unreachable

3208:                                             ; No predecessors!
  br label %3209

3209:                                             ; preds = %3208
  br label %3210

3210:                                             ; preds = %3209, %3152
  br label %3211

3211:                                             ; preds = %3210
  br label %3212

3212:                                             ; preds = %3211
  %3213 = load ptr, ptr %64, align 8, !tbaa !9
  %3214 = getelementptr inbounds %struct.s2n_connection, ptr %3213, i32 0, i32 23
  store i8 33, ptr %3214, align 4, !tbaa !42
  %3215 = load ptr, ptr %64, align 8, !tbaa !9
  %3216 = getelementptr inbounds %struct.s2n_connection, ptr %3215, i32 0, i32 27
  %3217 = load ptr, ptr %3216, align 8, !tbaa !52
  %3218 = getelementptr inbounds %struct.s2n_crypto_parameters, ptr %3217, i32 0, i32 0
  store ptr @s2n_tls13_chacha20_poly1305_sha256, ptr %3218, align 8, !tbaa !53
  br label %3219

3219:                                             ; preds = %3212
  %3220 = load i32, ptr @test_count, align 4, !tbaa !5
  %3221 = add nsw i32 %3220, 1
  store i32 %3221, ptr @test_count, align 4, !tbaa !5
  %3222 = load ptr, ptr %64, align 8, !tbaa !9
  %3223 = call i32 @s2n_server_hello_send(ptr noundef %3222)
  %3224 = icmp eq i32 %3223, -1
  br i1 %3224, label %3225, label %3278

3225:                                             ; preds = %3219
  br label %3226

3226:                                             ; preds = %3225
  br label %3227

3227:                                             ; preds = %3226
  call void @llvm.lifetime.start.p0(i64 4, ptr %68) #10
  %3228 = call ptr @__errno_location() #11
  %3229 = load i32, ptr %3228, align 4, !tbaa !5
  store i32 %3229, ptr %68, align 4, !tbaa !5
  %3230 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3231 = call i32 @s2n_print_stacktrace(ptr noundef %3230)
  %3232 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3233 = trunc i8 %3232 to i1
  br i1 %3233, label %3234, label %3256

3234:                                             ; preds = %3227
  %3235 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3236 = call i32 @fileno(ptr noundef %3235) #10
  %3237 = call i32 @isatty(i32 noundef %3236) #10
  %3238 = icmp ne i32 %3237, 0
  br i1 %3238, label %3239, label %3256

3239:                                             ; preds = %3234
  %3240 = load i32, ptr %68, align 4, !tbaa !5
  %3241 = call ptr @__errno_location() #11
  store i32 %3240, ptr %3241, align 4, !tbaa !5
  %3242 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3243 = load i32, ptr @test_count, align 4, !tbaa !5
  %3244 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3245 = load i32, ptr %3244, align 4, !tbaa !5
  %3246 = call ptr @s2n_strerror(i32 noundef %3245, ptr noundef @.str.4)
  %3247 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3248 = load i32, ptr %3247, align 4, !tbaa !5
  %3249 = call ptr @s2n_strerror_debug(i32 noundef %3248, ptr noundef @.str.4)
  %3250 = call ptr @__errno_location() #11
  %3251 = load i32, ptr %3250, align 4, !tbaa !5
  %3252 = call ptr @strerror(i32 noundef %3251) #10
  %3253 = call ptr @__errno_location() #11
  %3254 = load i32, ptr %3253, align 4, !tbaa !5
  %3255 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3242, ptr noundef @.str.2, i32 noundef %3243, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 184, ptr noundef %3246, ptr noundef %3249, ptr noundef %3252, i32 noundef %3254) #10
  br label %3273

3256:                                             ; preds = %3234, %3227
  %3257 = load i32, ptr %68, align 4, !tbaa !5
  %3258 = call ptr @__errno_location() #11
  store i32 %3257, ptr %3258, align 4, !tbaa !5
  %3259 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3260 = load i32, ptr @test_count, align 4, !tbaa !5
  %3261 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3262 = load i32, ptr %3261, align 4, !tbaa !5
  %3263 = call ptr @s2n_strerror(i32 noundef %3262, ptr noundef @.str.4)
  %3264 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3265 = load i32, ptr %3264, align 4, !tbaa !5
  %3266 = call ptr @s2n_strerror_debug(i32 noundef %3265, ptr noundef @.str.4)
  %3267 = call ptr @__errno_location() #11
  %3268 = load i32, ptr %3267, align 4, !tbaa !5
  %3269 = call ptr @strerror(i32 noundef %3268) #10
  %3270 = call ptr @__errno_location() #11
  %3271 = load i32, ptr %3270, align 4, !tbaa !5
  %3272 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3259, ptr noundef @.str.5, i32 noundef %3260, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 184, ptr noundef %3263, ptr noundef %3266, ptr noundef %3269, i32 noundef %3271) #10
  br label %3273

3273:                                             ; preds = %3256, %3239
  call void @llvm.lifetime.end.p0(i64 4, ptr %68) #10
  br label %3274

3274:                                             ; preds = %3273
  br label %3275

3275:                                             ; preds = %3274
  call void @exit(i32 noundef 1) #12
  unreachable

3276:                                             ; No predecessors!
  br label %3277

3277:                                             ; preds = %3276
  br label %3278

3278:                                             ; preds = %3277, %3219
  br label %3279

3279:                                             ; preds = %3278
  br label %3280

3280:                                             ; preds = %3279
  call void @llvm.lifetime.start.p0(i64 4, ptr %69) #10
  %3281 = load ptr, ptr %64, align 8, !tbaa !9
  %3282 = getelementptr inbounds %struct.s2n_connection, ptr %3281, i32 0, i32 52
  %3283 = getelementptr inbounds %struct.s2n_handshake, ptr %3282, i32 0, i32 0
  %3284 = getelementptr inbounds %struct.s2n_stuffer, ptr %3283, i32 0, i32 2
  %3285 = load i32, ptr %3284, align 4, !tbaa !58
  %3286 = load ptr, ptr %64, align 8, !tbaa !9
  %3287 = getelementptr inbounds %struct.s2n_connection, ptr %3286, i32 0, i32 52
  %3288 = getelementptr inbounds %struct.s2n_handshake, ptr %3287, i32 0, i32 0
  %3289 = getelementptr inbounds %struct.s2n_stuffer, ptr %3288, i32 0, i32 1
  %3290 = load i32, ptr %3289, align 8, !tbaa !59
  %3291 = sub i32 %3285, %3290
  store i32 %3291, ptr %69, align 4, !tbaa !5
  br label %3292

3292:                                             ; preds = %3280
  %3293 = load i32, ptr @test_count, align 4, !tbaa !5
  %3294 = add nsw i32 %3293, 1
  store i32 %3294, ptr @test_count, align 4, !tbaa !5
  %3295 = load ptr, ptr %64, align 8, !tbaa !9
  %3296 = getelementptr inbounds %struct.s2n_connection, ptr %3295, i32 0, i32 52
  %3297 = getelementptr inbounds %struct.s2n_handshake, ptr %3296, i32 0, i32 0
  %3298 = load ptr, ptr %65, align 8, !tbaa !9
  %3299 = getelementptr inbounds %struct.s2n_connection, ptr %3298, i32 0, i32 52
  %3300 = getelementptr inbounds %struct.s2n_handshake, ptr %3299, i32 0, i32 0
  %3301 = load i32, ptr %69, align 4, !tbaa !5
  %3302 = call i32 @s2n_stuffer_copy(ptr noundef %3297, ptr noundef %3300, i32 noundef %3301)
  %3303 = icmp eq i32 %3302, -1
  br i1 %3303, label %3304, label %3357

3304:                                             ; preds = %3292
  br label %3305

3305:                                             ; preds = %3304
  br label %3306

3306:                                             ; preds = %3305
  call void @llvm.lifetime.start.p0(i64 4, ptr %70) #10
  %3307 = call ptr @__errno_location() #11
  %3308 = load i32, ptr %3307, align 4, !tbaa !5
  store i32 %3308, ptr %70, align 4, !tbaa !5
  %3309 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3310 = call i32 @s2n_print_stacktrace(ptr noundef %3309)
  %3311 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3312 = trunc i8 %3311 to i1
  br i1 %3312, label %3313, label %3335

3313:                                             ; preds = %3306
  %3314 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3315 = call i32 @fileno(ptr noundef %3314) #10
  %3316 = call i32 @isatty(i32 noundef %3315) #10
  %3317 = icmp ne i32 %3316, 0
  br i1 %3317, label %3318, label %3335

3318:                                             ; preds = %3313
  %3319 = load i32, ptr %70, align 4, !tbaa !5
  %3320 = call ptr @__errno_location() #11
  store i32 %3319, ptr %3320, align 4, !tbaa !5
  %3321 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3322 = load i32, ptr @test_count, align 4, !tbaa !5
  %3323 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3324 = load i32, ptr %3323, align 4, !tbaa !5
  %3325 = call ptr @s2n_strerror(i32 noundef %3324, ptr noundef @.str.4)
  %3326 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3327 = load i32, ptr %3326, align 4, !tbaa !5
  %3328 = call ptr @s2n_strerror_debug(i32 noundef %3327, ptr noundef @.str.4)
  %3329 = call ptr @__errno_location() #11
  %3330 = load i32, ptr %3329, align 4, !tbaa !5
  %3331 = call ptr @strerror(i32 noundef %3330) #10
  %3332 = call ptr @__errno_location() #11
  %3333 = load i32, ptr %3332, align 4, !tbaa !5
  %3334 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3321, ptr noundef @.str.2, i32 noundef %3322, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 188, ptr noundef %3325, ptr noundef %3328, ptr noundef %3331, i32 noundef %3333) #10
  br label %3352

3335:                                             ; preds = %3313, %3306
  %3336 = load i32, ptr %70, align 4, !tbaa !5
  %3337 = call ptr @__errno_location() #11
  store i32 %3336, ptr %3337, align 4, !tbaa !5
  %3338 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3339 = load i32, ptr @test_count, align 4, !tbaa !5
  %3340 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3341 = load i32, ptr %3340, align 4, !tbaa !5
  %3342 = call ptr @s2n_strerror(i32 noundef %3341, ptr noundef @.str.4)
  %3343 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3344 = load i32, ptr %3343, align 4, !tbaa !5
  %3345 = call ptr @s2n_strerror_debug(i32 noundef %3344, ptr noundef @.str.4)
  %3346 = call ptr @__errno_location() #11
  %3347 = load i32, ptr %3346, align 4, !tbaa !5
  %3348 = call ptr @strerror(i32 noundef %3347) #10
  %3349 = call ptr @__errno_location() #11
  %3350 = load i32, ptr %3349, align 4, !tbaa !5
  %3351 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3338, ptr noundef @.str.5, i32 noundef %3339, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 188, ptr noundef %3342, ptr noundef %3345, ptr noundef %3348, i32 noundef %3350) #10
  br label %3352

3352:                                             ; preds = %3335, %3318
  call void @llvm.lifetime.end.p0(i64 4, ptr %70) #10
  br label %3353

3353:                                             ; preds = %3352
  br label %3354

3354:                                             ; preds = %3353
  call void @exit(i32 noundef 1) #12
  unreachable

3355:                                             ; No predecessors!
  br label %3356

3356:                                             ; preds = %3355
  br label %3357

3357:                                             ; preds = %3356, %3292
  br label %3358

3358:                                             ; preds = %3357
  br label %3359

3359:                                             ; preds = %3358
  br label %3360

3360:                                             ; preds = %3359
  br label %3361

3361:                                             ; preds = %3360
  br label %3362

3362:                                             ; preds = %3361
  %3363 = load i32, ptr @test_count, align 4, !tbaa !5
  %3364 = add nsw i32 %3363, 1
  store i32 %3364, ptr @test_count, align 4, !tbaa !5
  %3365 = load ptr, ptr %65, align 8, !tbaa !9
  %3366 = call i32 @s2n_server_hello_recv(ptr noundef %3365)
  %3367 = icmp eq i32 %3366, -1
  br i1 %3367, label %3421, label %3368

3368:                                             ; preds = %3362
  br label %3369

3369:                                             ; preds = %3368
  br label %3370

3370:                                             ; preds = %3369
  call void @llvm.lifetime.start.p0(i64 4, ptr %71) #10
  %3371 = call ptr @__errno_location() #11
  %3372 = load i32, ptr %3371, align 4, !tbaa !5
  store i32 %3372, ptr %71, align 4, !tbaa !5
  %3373 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3374 = call i32 @s2n_print_stacktrace(ptr noundef %3373)
  %3375 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3376 = trunc i8 %3375 to i1
  br i1 %3376, label %3377, label %3399

3377:                                             ; preds = %3370
  %3378 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3379 = call i32 @fileno(ptr noundef %3378) #10
  %3380 = call i32 @isatty(i32 noundef %3379) #10
  %3381 = icmp ne i32 %3380, 0
  br i1 %3381, label %3382, label %3399

3382:                                             ; preds = %3377
  %3383 = load i32, ptr %71, align 4, !tbaa !5
  %3384 = call ptr @__errno_location() #11
  store i32 %3383, ptr %3384, align 4, !tbaa !5
  %3385 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3386 = load i32, ptr @test_count, align 4, !tbaa !5
  %3387 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3388 = load i32, ptr %3387, align 4, !tbaa !5
  %3389 = call ptr @s2n_strerror(i32 noundef %3388, ptr noundef @.str.4)
  %3390 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3391 = load i32, ptr %3390, align 4, !tbaa !5
  %3392 = call ptr @s2n_strerror_debug(i32 noundef %3391, ptr noundef @.str.4)
  %3393 = call ptr @__errno_location() #11
  %3394 = load i32, ptr %3393, align 4, !tbaa !5
  %3395 = call ptr @strerror(i32 noundef %3394) #10
  %3396 = call ptr @__errno_location() #11
  %3397 = load i32, ptr %3396, align 4, !tbaa !5
  %3398 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3385, ptr noundef @.str.2, i32 noundef %3386, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 191, ptr noundef %3389, ptr noundef %3392, ptr noundef %3395, i32 noundef %3397) #10
  br label %3416

3399:                                             ; preds = %3377, %3370
  %3400 = load i32, ptr %71, align 4, !tbaa !5
  %3401 = call ptr @__errno_location() #11
  store i32 %3400, ptr %3401, align 4, !tbaa !5
  %3402 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3403 = load i32, ptr @test_count, align 4, !tbaa !5
  %3404 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3405 = load i32, ptr %3404, align 4, !tbaa !5
  %3406 = call ptr @s2n_strerror(i32 noundef %3405, ptr noundef @.str.4)
  %3407 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3408 = load i32, ptr %3407, align 4, !tbaa !5
  %3409 = call ptr @s2n_strerror_debug(i32 noundef %3408, ptr noundef @.str.4)
  %3410 = call ptr @__errno_location() #11
  %3411 = load i32, ptr %3410, align 4, !tbaa !5
  %3412 = call ptr @strerror(i32 noundef %3411) #10
  %3413 = call ptr @__errno_location() #11
  %3414 = load i32, ptr %3413, align 4, !tbaa !5
  %3415 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3402, ptr noundef @.str.5, i32 noundef %3403, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 191, ptr noundef %3406, ptr noundef %3409, ptr noundef %3412, i32 noundef %3414) #10
  br label %3416

3416:                                             ; preds = %3399, %3382
  call void @llvm.lifetime.end.p0(i64 4, ptr %71) #10
  br label %3417

3417:                                             ; preds = %3416
  br label %3418

3418:                                             ; preds = %3417
  call void @exit(i32 noundef 1) #12
  unreachable

3419:                                             ; No predecessors!
  br label %3420

3420:                                             ; preds = %3419
  br label %3421

3421:                                             ; preds = %3420, %3362
  br label %3422

3422:                                             ; preds = %3421
  br label %3423

3423:                                             ; preds = %3422
  br label %3424

3424:                                             ; preds = %3423
  %3425 = load i32, ptr @test_count, align 4, !tbaa !5
  %3426 = add nsw i32 %3425, 1
  store i32 %3426, ptr @test_count, align 4, !tbaa !5
  %3427 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3428 = load i32, ptr %3427, align 4, !tbaa !5
  %3429 = icmp eq i32 %3428, 335544334
  br i1 %3429, label %3483, label %3430

3430:                                             ; preds = %3424
  br label %3431

3431:                                             ; preds = %3430
  br label %3432

3432:                                             ; preds = %3431
  call void @llvm.lifetime.start.p0(i64 4, ptr %72) #10
  %3433 = call ptr @__errno_location() #11
  %3434 = load i32, ptr %3433, align 4, !tbaa !5
  store i32 %3434, ptr %72, align 4, !tbaa !5
  %3435 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3436 = call i32 @s2n_print_stacktrace(ptr noundef %3435)
  %3437 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3438 = trunc i8 %3437 to i1
  br i1 %3438, label %3439, label %3461

3439:                                             ; preds = %3432
  %3440 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3441 = call i32 @fileno(ptr noundef %3440) #10
  %3442 = call i32 @isatty(i32 noundef %3441) #10
  %3443 = icmp ne i32 %3442, 0
  br i1 %3443, label %3444, label %3461

3444:                                             ; preds = %3439
  %3445 = load i32, ptr %72, align 4, !tbaa !5
  %3446 = call ptr @__errno_location() #11
  store i32 %3445, ptr %3446, align 4, !tbaa !5
  %3447 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3448 = load i32, ptr @test_count, align 4, !tbaa !5
  %3449 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3450 = load i32, ptr %3449, align 4, !tbaa !5
  %3451 = call ptr @s2n_strerror(i32 noundef %3450, ptr noundef @.str.4)
  %3452 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3453 = load i32, ptr %3452, align 4, !tbaa !5
  %3454 = call ptr @s2n_strerror_debug(i32 noundef %3453, ptr noundef @.str.4)
  %3455 = call ptr @__errno_location() #11
  %3456 = load i32, ptr %3455, align 4, !tbaa !5
  %3457 = call ptr @strerror(i32 noundef %3456) #10
  %3458 = call ptr @__errno_location() #11
  %3459 = load i32, ptr %3458, align 4, !tbaa !5
  %3460 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3447, ptr noundef @.str.2, i32 noundef %3448, ptr noundef @.str.42, ptr noundef @.str.1, i32 noundef 191, ptr noundef %3451, ptr noundef %3454, ptr noundef %3457, i32 noundef %3459) #10
  br label %3478

3461:                                             ; preds = %3439, %3432
  %3462 = load i32, ptr %72, align 4, !tbaa !5
  %3463 = call ptr @__errno_location() #11
  store i32 %3462, ptr %3463, align 4, !tbaa !5
  %3464 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3465 = load i32, ptr @test_count, align 4, !tbaa !5
  %3466 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3467 = load i32, ptr %3466, align 4, !tbaa !5
  %3468 = call ptr @s2n_strerror(i32 noundef %3467, ptr noundef @.str.4)
  %3469 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3470 = load i32, ptr %3469, align 4, !tbaa !5
  %3471 = call ptr @s2n_strerror_debug(i32 noundef %3470, ptr noundef @.str.4)
  %3472 = call ptr @__errno_location() #11
  %3473 = load i32, ptr %3472, align 4, !tbaa !5
  %3474 = call ptr @strerror(i32 noundef %3473) #10
  %3475 = call ptr @__errno_location() #11
  %3476 = load i32, ptr %3475, align 4, !tbaa !5
  %3477 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3464, ptr noundef @.str.5, i32 noundef %3465, ptr noundef @.str.42, ptr noundef @.str.1, i32 noundef 191, ptr noundef %3468, ptr noundef %3471, ptr noundef %3474, i32 noundef %3476) #10
  br label %3478

3478:                                             ; preds = %3461, %3444
  call void @llvm.lifetime.end.p0(i64 4, ptr %72) #10
  br label %3479

3479:                                             ; preds = %3478
  br label %3480

3480:                                             ; preds = %3479
  call void @exit(i32 noundef 1) #12
  unreachable

3481:                                             ; No predecessors!
  br label %3482

3482:                                             ; preds = %3481
  br label %3483

3483:                                             ; preds = %3482, %3424
  br label %3484

3484:                                             ; preds = %3483
  br label %3485

3485:                                             ; preds = %3484
  br label %3486

3486:                                             ; preds = %3485
  %3487 = load i32, ptr @test_count, align 4, !tbaa !5
  %3488 = add nsw i32 %3487, 1
  store i32 %3488, ptr @test_count, align 4, !tbaa !5
  %3489 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3490 = load i32, ptr %3489, align 4, !tbaa !5
  %3491 = call ptr @s2n_strerror_debug(i32 noundef %3490, ptr noundef @.str.4)
  %3492 = icmp eq ptr %3491, null
  br i1 %3492, label %3493, label %3546

3493:                                             ; preds = %3486
  br label %3494

3494:                                             ; preds = %3493
  br label %3495

3495:                                             ; preds = %3494
  call void @llvm.lifetime.start.p0(i64 4, ptr %73) #10
  %3496 = call ptr @__errno_location() #11
  %3497 = load i32, ptr %3496, align 4, !tbaa !5
  store i32 %3497, ptr %73, align 4, !tbaa !5
  %3498 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3499 = call i32 @s2n_print_stacktrace(ptr noundef %3498)
  %3500 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3501 = trunc i8 %3500 to i1
  br i1 %3501, label %3502, label %3524

3502:                                             ; preds = %3495
  %3503 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3504 = call i32 @fileno(ptr noundef %3503) #10
  %3505 = call i32 @isatty(i32 noundef %3504) #10
  %3506 = icmp ne i32 %3505, 0
  br i1 %3506, label %3507, label %3524

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

3524:                                             ; preds = %3502, %3495
  %3525 = load i32, ptr %73, align 4, !tbaa !5
  %3526 = call ptr @__errno_location() #11
  store i32 %3525, ptr %3526, align 4, !tbaa !5
  %3527 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3528 = load i32, ptr @test_count, align 4, !tbaa !5
  %3529 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3530 = load i32, ptr %3529, align 4, !tbaa !5
  %3531 = call ptr @s2n_strerror(i32 noundef %3530, ptr noundef @.str.4)
  %3532 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3533 = load i32, ptr %3532, align 4, !tbaa !5
  %3534 = call ptr @s2n_strerror_debug(i32 noundef %3533, ptr noundef @.str.4)
  %3535 = call ptr @__errno_location() #11
  %3536 = load i32, ptr %3535, align 4, !tbaa !5
  %3537 = call ptr @strerror(i32 noundef %3536) #10
  %3538 = call ptr @__errno_location() #11
  %3539 = load i32, ptr %3538, align 4, !tbaa !5
  %3540 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3527, ptr noundef @.str.5, i32 noundef %3528, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 191, ptr noundef %3531, ptr noundef %3534, ptr noundef %3537, i32 noundef %3539) #10
  br label %3541

3541:                                             ; preds = %3524, %3507
  call void @llvm.lifetime.end.p0(i64 4, ptr %73) #10
  br label %3542

3542:                                             ; preds = %3541
  br label %3543

3543:                                             ; preds = %3542
  call void @exit(i32 noundef 1) #12
  unreachable

3544:                                             ; No predecessors!
  br label %3545

3545:                                             ; preds = %3544
  br label %3546

3546:                                             ; preds = %3545, %3486
  br label %3547

3547:                                             ; preds = %3546
  br label %3548

3548:                                             ; preds = %3547
  br label %3549

3549:                                             ; preds = %3548
  br label %3550

3550:                                             ; preds = %3549
  br label %3551

3551:                                             ; preds = %3550
  %3552 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %3552, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %3553 = call ptr @__errno_location() #11
  store i32 0, ptr %3553, align 4, !tbaa !5
  br label %3554

3554:                                             ; preds = %3551
  br label %3555

3555:                                             ; preds = %3554
  br label %3556

3556:                                             ; preds = %3555
  br label %3557

3557:                                             ; preds = %3556
  br label %3558

3558:                                             ; preds = %3557
  %3559 = load i32, ptr @test_count, align 4, !tbaa !5
  %3560 = add nsw i32 %3559, 1
  store i32 %3560, ptr @test_count, align 4, !tbaa !5
  %3561 = load ptr, ptr %65, align 8, !tbaa !9
  %3562 = call i32 @s2n_connection_free(ptr noundef %3561)
  %3563 = icmp eq i32 %3562, -1
  br i1 %3563, label %3564, label %3617

3564:                                             ; preds = %3558
  br label %3565

3565:                                             ; preds = %3564
  br label %3566

3566:                                             ; preds = %3565
  call void @llvm.lifetime.start.p0(i64 4, ptr %74) #10
  %3567 = call ptr @__errno_location() #11
  %3568 = load i32, ptr %3567, align 4, !tbaa !5
  store i32 %3568, ptr %74, align 4, !tbaa !5
  %3569 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3570 = call i32 @s2n_print_stacktrace(ptr noundef %3569)
  %3571 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3572 = trunc i8 %3571 to i1
  br i1 %3572, label %3573, label %3595

3573:                                             ; preds = %3566
  %3574 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3575 = call i32 @fileno(ptr noundef %3574) #10
  %3576 = call i32 @isatty(i32 noundef %3575) #10
  %3577 = icmp ne i32 %3576, 0
  br i1 %3577, label %3578, label %3595

3578:                                             ; preds = %3573
  %3579 = load i32, ptr %74, align 4, !tbaa !5
  %3580 = call ptr @__errno_location() #11
  store i32 %3579, ptr %3580, align 4, !tbaa !5
  %3581 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3582 = load i32, ptr @test_count, align 4, !tbaa !5
  %3583 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3584 = load i32, ptr %3583, align 4, !tbaa !5
  %3585 = call ptr @s2n_strerror(i32 noundef %3584, ptr noundef @.str.4)
  %3586 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3587 = load i32, ptr %3586, align 4, !tbaa !5
  %3588 = call ptr @s2n_strerror_debug(i32 noundef %3587, ptr noundef @.str.4)
  %3589 = call ptr @__errno_location() #11
  %3590 = load i32, ptr %3589, align 4, !tbaa !5
  %3591 = call ptr @strerror(i32 noundef %3590) #10
  %3592 = call ptr @__errno_location() #11
  %3593 = load i32, ptr %3592, align 4, !tbaa !5
  %3594 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3581, ptr noundef @.str.2, i32 noundef %3582, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 193, ptr noundef %3585, ptr noundef %3588, ptr noundef %3591, i32 noundef %3593) #10
  br label %3612

3595:                                             ; preds = %3573, %3566
  %3596 = load i32, ptr %74, align 4, !tbaa !5
  %3597 = call ptr @__errno_location() #11
  store i32 %3596, ptr %3597, align 4, !tbaa !5
  %3598 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3599 = load i32, ptr @test_count, align 4, !tbaa !5
  %3600 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3601 = load i32, ptr %3600, align 4, !tbaa !5
  %3602 = call ptr @s2n_strerror(i32 noundef %3601, ptr noundef @.str.4)
  %3603 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3604 = load i32, ptr %3603, align 4, !tbaa !5
  %3605 = call ptr @s2n_strerror_debug(i32 noundef %3604, ptr noundef @.str.4)
  %3606 = call ptr @__errno_location() #11
  %3607 = load i32, ptr %3606, align 4, !tbaa !5
  %3608 = call ptr @strerror(i32 noundef %3607) #10
  %3609 = call ptr @__errno_location() #11
  %3610 = load i32, ptr %3609, align 4, !tbaa !5
  %3611 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3598, ptr noundef @.str.5, i32 noundef %3599, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 193, ptr noundef %3602, ptr noundef %3605, ptr noundef %3608, i32 noundef %3610) #10
  br label %3612

3612:                                             ; preds = %3595, %3578
  call void @llvm.lifetime.end.p0(i64 4, ptr %74) #10
  br label %3613

3613:                                             ; preds = %3612
  br label %3614

3614:                                             ; preds = %3613
  call void @exit(i32 noundef 1) #12
  unreachable

3615:                                             ; No predecessors!
  br label %3616

3616:                                             ; preds = %3615
  br label %3617

3617:                                             ; preds = %3616, %3558
  br label %3618

3618:                                             ; preds = %3617
  br label %3619

3619:                                             ; preds = %3618
  br label %3620

3620:                                             ; preds = %3619
  %3621 = load i32, ptr @test_count, align 4, !tbaa !5
  %3622 = add nsw i32 %3621, 1
  store i32 %3622, ptr @test_count, align 4, !tbaa !5
  %3623 = load ptr, ptr %64, align 8, !tbaa !9
  %3624 = call i32 @s2n_connection_free(ptr noundef %3623)
  %3625 = icmp eq i32 %3624, -1
  br i1 %3625, label %3626, label %3679

3626:                                             ; preds = %3620
  br label %3627

3627:                                             ; preds = %3626
  br label %3628

3628:                                             ; preds = %3627
  call void @llvm.lifetime.start.p0(i64 4, ptr %75) #10
  %3629 = call ptr @__errno_location() #11
  %3630 = load i32, ptr %3629, align 4, !tbaa !5
  store i32 %3630, ptr %75, align 4, !tbaa !5
  %3631 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3632 = call i32 @s2n_print_stacktrace(ptr noundef %3631)
  %3633 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3634 = trunc i8 %3633 to i1
  br i1 %3634, label %3635, label %3657

3635:                                             ; preds = %3628
  %3636 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3637 = call i32 @fileno(ptr noundef %3636) #10
  %3638 = call i32 @isatty(i32 noundef %3637) #10
  %3639 = icmp ne i32 %3638, 0
  br i1 %3639, label %3640, label %3657

3640:                                             ; preds = %3635
  %3641 = load i32, ptr %75, align 4, !tbaa !5
  %3642 = call ptr @__errno_location() #11
  store i32 %3641, ptr %3642, align 4, !tbaa !5
  %3643 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3644 = load i32, ptr @test_count, align 4, !tbaa !5
  %3645 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3646 = load i32, ptr %3645, align 4, !tbaa !5
  %3647 = call ptr @s2n_strerror(i32 noundef %3646, ptr noundef @.str.4)
  %3648 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3649 = load i32, ptr %3648, align 4, !tbaa !5
  %3650 = call ptr @s2n_strerror_debug(i32 noundef %3649, ptr noundef @.str.4)
  %3651 = call ptr @__errno_location() #11
  %3652 = load i32, ptr %3651, align 4, !tbaa !5
  %3653 = call ptr @strerror(i32 noundef %3652) #10
  %3654 = call ptr @__errno_location() #11
  %3655 = load i32, ptr %3654, align 4, !tbaa !5
  %3656 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3643, ptr noundef @.str.2, i32 noundef %3644, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 194, ptr noundef %3647, ptr noundef %3650, ptr noundef %3653, i32 noundef %3655) #10
  br label %3674

3657:                                             ; preds = %3635, %3628
  %3658 = load i32, ptr %75, align 4, !tbaa !5
  %3659 = call ptr @__errno_location() #11
  store i32 %3658, ptr %3659, align 4, !tbaa !5
  %3660 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3661 = load i32, ptr @test_count, align 4, !tbaa !5
  %3662 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3663 = load i32, ptr %3662, align 4, !tbaa !5
  %3664 = call ptr @s2n_strerror(i32 noundef %3663, ptr noundef @.str.4)
  %3665 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3666 = load i32, ptr %3665, align 4, !tbaa !5
  %3667 = call ptr @s2n_strerror_debug(i32 noundef %3666, ptr noundef @.str.4)
  %3668 = call ptr @__errno_location() #11
  %3669 = load i32, ptr %3668, align 4, !tbaa !5
  %3670 = call ptr @strerror(i32 noundef %3669) #10
  %3671 = call ptr @__errno_location() #11
  %3672 = load i32, ptr %3671, align 4, !tbaa !5
  %3673 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3660, ptr noundef @.str.5, i32 noundef %3661, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 194, ptr noundef %3664, ptr noundef %3667, ptr noundef %3670, i32 noundef %3672) #10
  br label %3674

3674:                                             ; preds = %3657, %3640
  call void @llvm.lifetime.end.p0(i64 4, ptr %75) #10
  br label %3675

3675:                                             ; preds = %3674
  br label %3676

3676:                                             ; preds = %3675
  call void @exit(i32 noundef 1) #12
  unreachable

3677:                                             ; No predecessors!
  br label %3678

3678:                                             ; preds = %3677
  br label %3679

3679:                                             ; preds = %3678, %3620
  br label %3680

3680:                                             ; preds = %3679
  br label %3681

3681:                                             ; preds = %3680
  call void @llvm.lifetime.end.p0(i64 4, ptr %69) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %65) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %64) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %76) #10
  store ptr null, ptr %76, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %77) #10
  store ptr null, ptr %77, align 8, !tbaa !9
  br label %3682

3682:                                             ; preds = %3681
  %3683 = load i32, ptr @test_count, align 4, !tbaa !5
  %3684 = add nsw i32 %3683, 1
  store i32 %3684, ptr @test_count, align 4, !tbaa !5
  %3685 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %3685, ptr %76, align 8, !tbaa !9
  %3686 = icmp eq ptr %3685, null
  br i1 %3686, label %3687, label %3740

3687:                                             ; preds = %3682
  br label %3688

3688:                                             ; preds = %3687
  br label %3689

3689:                                             ; preds = %3688
  call void @llvm.lifetime.start.p0(i64 4, ptr %78) #10
  %3690 = call ptr @__errno_location() #11
  %3691 = load i32, ptr %3690, align 4, !tbaa !5
  store i32 %3691, ptr %78, align 4, !tbaa !5
  %3692 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3693 = call i32 @s2n_print_stacktrace(ptr noundef %3692)
  %3694 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3695 = trunc i8 %3694 to i1
  br i1 %3695, label %3696, label %3718

3696:                                             ; preds = %3689
  %3697 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3698 = call i32 @fileno(ptr noundef %3697) #10
  %3699 = call i32 @isatty(i32 noundef %3698) #10
  %3700 = icmp ne i32 %3699, 0
  br i1 %3700, label %3701, label %3718

3701:                                             ; preds = %3696
  %3702 = load i32, ptr %78, align 4, !tbaa !5
  %3703 = call ptr @__errno_location() #11
  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() #11
  %3713 = load i32, ptr %3712, align 4, !tbaa !5
  %3714 = call ptr @strerror(i32 noundef %3713) #10
  %3715 = call ptr @__errno_location() #11
  %3716 = load i32, ptr %3715, align 4, !tbaa !5
  %3717 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3704, ptr noundef @.str.2, i32 noundef %3705, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 202, ptr noundef %3708, ptr noundef %3711, ptr noundef %3714, i32 noundef %3716) #10
  br label %3735

3718:                                             ; preds = %3696, %3689
  %3719 = load i32, ptr %78, align 4, !tbaa !5
  %3720 = call ptr @__errno_location() #11
  store i32 %3719, ptr %3720, align 4, !tbaa !5
  %3721 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3722 = load i32, ptr @test_count, align 4, !tbaa !5
  %3723 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3724 = load i32, ptr %3723, align 4, !tbaa !5
  %3725 = call ptr @s2n_strerror(i32 noundef %3724, ptr noundef @.str.4)
  %3726 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3727 = load i32, ptr %3726, align 4, !tbaa !5
  %3728 = call ptr @s2n_strerror_debug(i32 noundef %3727, ptr noundef @.str.4)
  %3729 = call ptr @__errno_location() #11
  %3730 = load i32, ptr %3729, align 4, !tbaa !5
  %3731 = call ptr @strerror(i32 noundef %3730) #10
  %3732 = call ptr @__errno_location() #11
  %3733 = load i32, ptr %3732, align 4, !tbaa !5
  %3734 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3721, ptr noundef @.str.5, i32 noundef %3722, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 202, ptr noundef %3725, ptr noundef %3728, ptr noundef %3731, i32 noundef %3733) #10
  br label %3735

3735:                                             ; preds = %3718, %3701
  call void @llvm.lifetime.end.p0(i64 4, ptr %78) #10
  br label %3736

3736:                                             ; preds = %3735
  br label %3737

3737:                                             ; preds = %3736
  call void @exit(i32 noundef 1) #12
  unreachable

3738:                                             ; No predecessors!
  br label %3739

3739:                                             ; preds = %3738
  br label %3740

3740:                                             ; preds = %3739, %3682
  br label %3741

3741:                                             ; preds = %3740
  br label %3742

3742:                                             ; preds = %3741
  br label %3743

3743:                                             ; preds = %3742
  %3744 = load i32, ptr @test_count, align 4, !tbaa !5
  %3745 = add nsw i32 %3744, 1
  store i32 %3745, ptr @test_count, align 4, !tbaa !5
  %3746 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %3746, ptr %77, align 8, !tbaa !9
  %3747 = icmp eq ptr %3746, null
  br i1 %3747, label %3748, label %3801

3748:                                             ; preds = %3743
  br label %3749

3749:                                             ; preds = %3748
  br label %3750

3750:                                             ; preds = %3749
  call void @llvm.lifetime.start.p0(i64 4, ptr %79) #10
  %3751 = call ptr @__errno_location() #11
  %3752 = load i32, ptr %3751, align 4, !tbaa !5
  store i32 %3752, ptr %79, align 4, !tbaa !5
  %3753 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3754 = call i32 @s2n_print_stacktrace(ptr noundef %3753)
  %3755 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3756 = trunc i8 %3755 to i1
  br i1 %3756, label %3757, label %3779

3757:                                             ; preds = %3750
  %3758 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3759 = call i32 @fileno(ptr noundef %3758) #10
  %3760 = call i32 @isatty(i32 noundef %3759) #10
  %3761 = icmp ne i32 %3760, 0
  br i1 %3761, label %3762, label %3779

3762:                                             ; preds = %3757
  %3763 = load i32, ptr %79, align 4, !tbaa !5
  %3764 = call ptr @__errno_location() #11
  store i32 %3763, ptr %3764, align 4, !tbaa !5
  %3765 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3766 = load i32, ptr @test_count, align 4, !tbaa !5
  %3767 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3768 = load i32, ptr %3767, align 4, !tbaa !5
  %3769 = call ptr @s2n_strerror(i32 noundef %3768, ptr noundef @.str.4)
  %3770 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3771 = load i32, ptr %3770, align 4, !tbaa !5
  %3772 = call ptr @s2n_strerror_debug(i32 noundef %3771, ptr noundef @.str.4)
  %3773 = call ptr @__errno_location() #11
  %3774 = load i32, ptr %3773, align 4, !tbaa !5
  %3775 = call ptr @strerror(i32 noundef %3774) #10
  %3776 = call ptr @__errno_location() #11
  %3777 = load i32, ptr %3776, align 4, !tbaa !5
  %3778 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3765, ptr noundef @.str.2, i32 noundef %3766, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 203, ptr noundef %3769, ptr noundef %3772, ptr noundef %3775, i32 noundef %3777) #10
  br label %3796

3779:                                             ; preds = %3757, %3750
  %3780 = load i32, ptr %79, align 4, !tbaa !5
  %3781 = call ptr @__errno_location() #11
  store i32 %3780, ptr %3781, align 4, !tbaa !5
  %3782 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3783 = load i32, ptr @test_count, align 4, !tbaa !5
  %3784 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3785 = load i32, ptr %3784, align 4, !tbaa !5
  %3786 = call ptr @s2n_strerror(i32 noundef %3785, ptr noundef @.str.4)
  %3787 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3788 = load i32, ptr %3787, align 4, !tbaa !5
  %3789 = call ptr @s2n_strerror_debug(i32 noundef %3788, ptr noundef @.str.4)
  %3790 = call ptr @__errno_location() #11
  %3791 = load i32, ptr %3790, align 4, !tbaa !5
  %3792 = call ptr @strerror(i32 noundef %3791) #10
  %3793 = call ptr @__errno_location() #11
  %3794 = load i32, ptr %3793, align 4, !tbaa !5
  %3795 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3782, ptr noundef @.str.5, i32 noundef %3783, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 203, ptr noundef %3786, ptr noundef %3789, ptr noundef %3792, i32 noundef %3794) #10
  br label %3796

3796:                                             ; preds = %3779, %3762
  call void @llvm.lifetime.end.p0(i64 4, ptr %79) #10
  br label %3797

3797:                                             ; preds = %3796
  br label %3798

3798:                                             ; preds = %3797
  call void @exit(i32 noundef 1) #12
  unreachable

3799:                                             ; No predecessors!
  br label %3800

3800:                                             ; preds = %3799
  br label %3801

3801:                                             ; preds = %3800, %3743
  br label %3802

3802:                                             ; preds = %3801
  br label %3803

3803:                                             ; preds = %3802
  %3804 = load ptr, ptr %76, align 8, !tbaa !9
  %3805 = getelementptr inbounds %struct.s2n_connection, ptr %3804, i32 0, i32 23
  store i8 33, ptr %3805, align 4, !tbaa !42
  %3806 = load ptr, ptr %76, align 8, !tbaa !9
  %3807 = getelementptr inbounds %struct.s2n_connection, ptr %3806, i32 0, i32 27
  %3808 = load ptr, ptr %3807, align 8, !tbaa !52
  %3809 = getelementptr inbounds %struct.s2n_crypto_parameters, ptr %3808, i32 0, i32 0
  store ptr @s2n_ecdhe_rsa_with_aes_256_gcm_sha384, ptr %3809, align 8, !tbaa !53
  call void @llvm.lifetime.start.p0(i64 4, ptr %80) #10
  store i32 0, ptr %80, align 4, !tbaa !5
  br label %3810

3810:                                             ; preds = %3822, %3803
  %3811 = load i32, ptr %80, align 4, !tbaa !5
  %3812 = icmp slt i32 %3811, 32
  br i1 %3812, label %3814, label %3813

3813:                                             ; preds = %3810
  call void @llvm.lifetime.end.p0(i64 4, ptr %80) #10
  br label %3825

3814:                                             ; preds = %3810
  %3815 = load i32, ptr %80, align 4, !tbaa !5
  %3816 = trunc i32 %3815 to i8
  %3817 = load ptr, ptr %76, align 8, !tbaa !9
  %3818 = getelementptr inbounds %struct.s2n_connection, ptr %3817, i32 0, i32 18
  %3819 = load i32, ptr %80, align 4, !tbaa !5
  %3820 = sext i32 %3819 to i64
  %3821 = getelementptr inbounds [32 x i8], ptr %3818, i64 0, i64 %3820
  store i8 %3816, ptr %3821, align 1, !tbaa !44
  br label %3822

3822:                                             ; preds = %3814
  %3823 = load i32, ptr %80, align 4, !tbaa !5
  %3824 = add nsw i32 %3823, 1
  store i32 %3824, ptr %80, align 4, !tbaa !5
  br label %3810, !llvm.loop !60

3825:                                             ; preds = %3813
  br label %3826

3826:                                             ; preds = %3825
  %3827 = load i32, ptr @test_count, align 4, !tbaa !5
  %3828 = add nsw i32 %3827, 1
  store i32 %3828, ptr @test_count, align 4, !tbaa !5
  %3829 = load ptr, ptr %76, align 8, !tbaa !9
  %3830 = call i32 @s2n_server_hello_send(ptr noundef %3829)
  %3831 = icmp eq i32 %3830, -1
  br i1 %3831, label %3832, label %3885

3832:                                             ; preds = %3826
  br label %3833

3833:                                             ; preds = %3832
  br label %3834

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

3841:                                             ; preds = %3834
  %3842 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3843 = call i32 @fileno(ptr noundef %3842) #10
  %3844 = call i32 @isatty(i32 noundef %3843) #10
  %3845 = icmp ne i32 %3844, 0
  br i1 %3845, label %3846, label %3863

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

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

3880:                                             ; preds = %3863, %3846
  call void @llvm.lifetime.end.p0(i64 4, ptr %81) #10
  br label %3881

3881:                                             ; preds = %3880
  br label %3882

3882:                                             ; preds = %3881
  call void @exit(i32 noundef 1) #12
  unreachable

3883:                                             ; No predecessors!
  br label %3884

3884:                                             ; preds = %3883
  br label %3885

3885:                                             ; preds = %3884, %3826
  br label %3886

3886:                                             ; preds = %3885
  br label %3887

3887:                                             ; preds = %3886
  call void @llvm.lifetime.start.p0(i64 4, ptr %82) #10
  %3888 = load ptr, ptr %76, align 8, !tbaa !9
  %3889 = getelementptr inbounds %struct.s2n_connection, ptr %3888, i32 0, i32 52
  %3890 = getelementptr inbounds %struct.s2n_handshake, ptr %3889, i32 0, i32 0
  %3891 = getelementptr inbounds %struct.s2n_stuffer, ptr %3890, i32 0, i32 2
  %3892 = load i32, ptr %3891, align 4, !tbaa !58
  %3893 = load ptr, ptr %76, align 8, !tbaa !9
  %3894 = getelementptr inbounds %struct.s2n_connection, ptr %3893, i32 0, i32 52
  %3895 = getelementptr inbounds %struct.s2n_handshake, ptr %3894, i32 0, i32 0
  %3896 = getelementptr inbounds %struct.s2n_stuffer, ptr %3895, i32 0, i32 1
  %3897 = load i32, ptr %3896, align 8, !tbaa !59
  %3898 = sub i32 %3892, %3897
  store i32 %3898, ptr %82, align 4, !tbaa !5
  br label %3899

3899:                                             ; preds = %3887
  %3900 = load i32, ptr @test_count, align 4, !tbaa !5
  %3901 = add nsw i32 %3900, 1
  store i32 %3901, ptr @test_count, align 4, !tbaa !5
  %3902 = load ptr, ptr %76, align 8, !tbaa !9
  %3903 = getelementptr inbounds %struct.s2n_connection, ptr %3902, i32 0, i32 52
  %3904 = getelementptr inbounds %struct.s2n_handshake, ptr %3903, i32 0, i32 0
  %3905 = load ptr, ptr %77, align 8, !tbaa !9
  %3906 = getelementptr inbounds %struct.s2n_connection, ptr %3905, i32 0, i32 52
  %3907 = getelementptr inbounds %struct.s2n_handshake, ptr %3906, i32 0, i32 0
  %3908 = load i32, ptr %82, align 4, !tbaa !5
  %3909 = call i32 @s2n_stuffer_copy(ptr noundef %3904, ptr noundef %3907, i32 noundef %3908)
  %3910 = icmp eq i32 %3909, -1
  br i1 %3910, label %3911, label %3964

3911:                                             ; preds = %3899
  br label %3912

3912:                                             ; preds = %3911
  br label %3913

3913:                                             ; preds = %3912
  call void @llvm.lifetime.start.p0(i64 4, ptr %83) #10
  %3914 = call ptr @__errno_location() #11
  %3915 = load i32, ptr %3914, align 4, !tbaa !5
  store i32 %3915, ptr %83, align 4, !tbaa !5
  %3916 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3917 = call i32 @s2n_print_stacktrace(ptr noundef %3916)
  %3918 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3919 = trunc i8 %3918 to i1
  br i1 %3919, label %3920, label %3942

3920:                                             ; preds = %3913
  %3921 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3922 = call i32 @fileno(ptr noundef %3921) #10
  %3923 = call i32 @isatty(i32 noundef %3922) #10
  %3924 = icmp ne i32 %3923, 0
  br i1 %3924, label %3925, label %3942

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

3942:                                             ; preds = %3920, %3913
  %3943 = load i32, ptr %83, align 4, !tbaa !5
  %3944 = call ptr @__errno_location() #11
  store i32 %3943, ptr %3944, align 4, !tbaa !5
  %3945 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3946 = load i32, ptr @test_count, align 4, !tbaa !5
  %3947 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3948 = load i32, ptr %3947, align 4, !tbaa !5
  %3949 = call ptr @s2n_strerror(i32 noundef %3948, ptr noundef @.str.4)
  %3950 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3951 = load i32, ptr %3950, align 4, !tbaa !5
  %3952 = call ptr @s2n_strerror_debug(i32 noundef %3951, ptr noundef @.str.4)
  %3953 = call ptr @__errno_location() #11
  %3954 = load i32, ptr %3953, align 4, !tbaa !5
  %3955 = call ptr @strerror(i32 noundef %3954) #10
  %3956 = call ptr @__errno_location() #11
  %3957 = load i32, ptr %3956, align 4, !tbaa !5
  %3958 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3945, ptr noundef @.str.5, i32 noundef %3946, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 217, ptr noundef %3949, ptr noundef %3952, ptr noundef %3955, i32 noundef %3957) #10
  br label %3959

3959:                                             ; preds = %3942, %3925
  call void @llvm.lifetime.end.p0(i64 4, ptr %83) #10
  br label %3960

3960:                                             ; preds = %3959
  br label %3961

3961:                                             ; preds = %3960
  call void @exit(i32 noundef 1) #12
  unreachable

3962:                                             ; No predecessors!
  br label %3963

3963:                                             ; preds = %3962
  br label %3964

3964:                                             ; preds = %3963, %3899
  br label %3965

3965:                                             ; preds = %3964
  br label %3966

3966:                                             ; preds = %3965
  call void @llvm.lifetime.start.p0(i64 4, ptr %84) #10
  store i32 0, ptr %84, align 4, !tbaa !5
  br label %3967

3967:                                             ; preds = %3977, %3966
  %3968 = load i32, ptr %84, align 4, !tbaa !5
  %3969 = icmp slt i32 %3968, 32
  br i1 %3969, label %3971, label %3970

3970:                                             ; preds = %3967
  call void @llvm.lifetime.end.p0(i64 4, ptr %84) #10
  br label %3980

3971:                                             ; preds = %3967
  %3972 = load ptr, ptr %77, align 8, !tbaa !9
  %3973 = getelementptr inbounds %struct.s2n_connection, ptr %3972, i32 0, i32 18
  %3974 = load i32, ptr %84, align 4, !tbaa !5
  %3975 = sext i32 %3974 to i64
  %3976 = getelementptr inbounds [32 x i8], ptr %3973, i64 0, i64 %3975
  store i8 0, ptr %3976, align 1, !tbaa !44
  br label %3977

3977:                                             ; preds = %3971
  %3978 = load i32, ptr %84, align 4, !tbaa !5
  %3979 = add nsw i32 %3978, 1
  store i32 %3979, ptr %84, align 4, !tbaa !5
  br label %3967, !llvm.loop !62

3980:                                             ; preds = %3970
  %3981 = load ptr, ptr %77, align 8, !tbaa !9
  %3982 = load i32, ptr %3981, align 8
  %3983 = and i32 %3982, -8193
  %3984 = or i32 %3983, 8192
  store i32 %3984, ptr %3981, align 8
  br label %3985

3985:                                             ; preds = %3980
  %3986 = load i32, ptr @test_count, align 4, !tbaa !5
  %3987 = add nsw i32 %3986, 1
  store i32 %3987, ptr @test_count, align 4, !tbaa !5
  %3988 = load ptr, ptr %77, align 8, !tbaa !9
  %3989 = call i32 @s2n_server_hello_recv(ptr noundef %3988)
  %3990 = icmp eq i32 %3989, -1
  br i1 %3990, label %3991, label %4044

3991:                                             ; preds = %3985
  br label %3992

3992:                                             ; preds = %3991
  br label %3993

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

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

4005:                                             ; preds = %4000
  %4006 = load i32, ptr %85, align 4, !tbaa !5
  %4007 = call ptr @__errno_location() #11
  store i32 %4006, ptr %4007, align 4, !tbaa !5
  %4008 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4009 = load i32, ptr @test_count, align 4, !tbaa !5
  %4010 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4011 = load i32, ptr %4010, align 4, !tbaa !5
  %4012 = call ptr @s2n_strerror(i32 noundef %4011, ptr noundef @.str.4)
  %4013 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4014 = load i32, ptr %4013, align 4, !tbaa !5
  %4015 = call ptr @s2n_strerror_debug(i32 noundef %4014, ptr noundef @.str.4)
  %4016 = call ptr @__errno_location() #11
  %4017 = load i32, ptr %4016, align 4, !tbaa !5
  %4018 = call ptr @strerror(i32 noundef %4017) #10
  %4019 = call ptr @__errno_location() #11
  %4020 = load i32, ptr %4019, align 4, !tbaa !5
  %4021 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4008, ptr noundef @.str.2, i32 noundef %4009, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 227, ptr noundef %4012, ptr noundef %4015, ptr noundef %4018, i32 noundef %4020) #10
  br label %4039

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

4039:                                             ; preds = %4022, %4005
  call void @llvm.lifetime.end.p0(i64 4, ptr %85) #10
  br label %4040

4040:                                             ; preds = %4039
  br label %4041

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

4042:                                             ; No predecessors!
  br label %4043

4043:                                             ; preds = %4042
  br label %4044

4044:                                             ; preds = %4043, %3985
  br label %4045

4045:                                             ; preds = %4044
  br label %4046

4046:                                             ; preds = %4045
  br label %4047

4047:                                             ; preds = %4046
  %4048 = load i32, ptr @test_count, align 4, !tbaa !5
  %4049 = add nsw i32 %4048, 1
  store i32 %4049, ptr @test_count, align 4, !tbaa !5
  %4050 = load ptr, ptr %77, align 8, !tbaa !9
  %4051 = load i32, ptr %4050, align 8
  %4052 = lshr i32 %4051, 13
  %4053 = and i32 %4052, 1
  %4054 = icmp ne i32 %4053, 0
  br i1 %4054, label %4055, label %4108

4055:                                             ; preds = %4047
  br label %4056

4056:                                             ; preds = %4055
  br label %4057

4057:                                             ; preds = %4056
  call void @llvm.lifetime.start.p0(i64 4, ptr %86) #10
  %4058 = call ptr @__errno_location() #11
  %4059 = load i32, ptr %4058, align 4, !tbaa !5
  store i32 %4059, ptr %86, align 4, !tbaa !5
  %4060 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4061 = call i32 @s2n_print_stacktrace(ptr noundef %4060)
  %4062 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4063 = trunc i8 %4062 to i1
  br i1 %4063, label %4064, label %4086

4064:                                             ; preds = %4057
  %4065 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4066 = call i32 @fileno(ptr noundef %4065) #10
  %4067 = call i32 @isatty(i32 noundef %4066) #10
  %4068 = icmp ne i32 %4067, 0
  br i1 %4068, label %4069, label %4086

4069:                                             ; preds = %4064
  %4070 = load i32, ptr %86, align 4, !tbaa !5
  %4071 = call ptr @__errno_location() #11
  store i32 %4070, ptr %4071, align 4, !tbaa !5
  %4072 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4073 = load i32, ptr @test_count, align 4, !tbaa !5
  %4074 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4075 = load i32, ptr %4074, align 4, !tbaa !5
  %4076 = call ptr @s2n_strerror(i32 noundef %4075, ptr noundef @.str.4)
  %4077 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4078 = load i32, ptr %4077, align 4, !tbaa !5
  %4079 = call ptr @s2n_strerror_debug(i32 noundef %4078, ptr noundef @.str.4)
  %4080 = call ptr @__errno_location() #11
  %4081 = load i32, ptr %4080, align 4, !tbaa !5
  %4082 = call ptr @strerror(i32 noundef %4081) #10
  %4083 = call ptr @__errno_location() #11
  %4084 = load i32, ptr %4083, align 4, !tbaa !5
  %4085 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4072, ptr noundef @.str.2, i32 noundef %4073, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 228, ptr noundef %4076, ptr noundef %4079, ptr noundef %4082, i32 noundef %4084) #10
  br label %4103

4086:                                             ; preds = %4064, %4057
  %4087 = load i32, ptr %86, align 4, !tbaa !5
  %4088 = call ptr @__errno_location() #11
  store i32 %4087, ptr %4088, align 4, !tbaa !5
  %4089 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4090 = load i32, ptr @test_count, align 4, !tbaa !5
  %4091 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4092 = load i32, ptr %4091, align 4, !tbaa !5
  %4093 = call ptr @s2n_strerror(i32 noundef %4092, ptr noundef @.str.4)
  %4094 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4095 = load i32, ptr %4094, align 4, !tbaa !5
  %4096 = call ptr @s2n_strerror_debug(i32 noundef %4095, ptr noundef @.str.4)
  %4097 = call ptr @__errno_location() #11
  %4098 = load i32, ptr %4097, align 4, !tbaa !5
  %4099 = call ptr @strerror(i32 noundef %4098) #10
  %4100 = call ptr @__errno_location() #11
  %4101 = load i32, ptr %4100, align 4, !tbaa !5
  %4102 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4089, ptr noundef @.str.5, i32 noundef %4090, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 228, ptr noundef %4093, ptr noundef %4096, ptr noundef %4099, i32 noundef %4101) #10
  br label %4103

4103:                                             ; preds = %4086, %4069
  call void @llvm.lifetime.end.p0(i64 4, ptr %86) #10
  br label %4104

4104:                                             ; preds = %4103
  br label %4105

4105:                                             ; preds = %4104
  call void @exit(i32 noundef 1) #12
  unreachable

4106:                                             ; No predecessors!
  br label %4107

4107:                                             ; preds = %4106
  br label %4108

4108:                                             ; preds = %4107, %4047
  br label %4109

4109:                                             ; preds = %4108
  br label %4110

4110:                                             ; preds = %4109
  br label %4111

4111:                                             ; preds = %4110
  %4112 = load i32, ptr @test_count, align 4, !tbaa !5
  %4113 = add nsw i32 %4112, 1
  store i32 %4113, ptr @test_count, align 4, !tbaa !5
  %4114 = load ptr, ptr %77, align 8, !tbaa !9
  %4115 = call i32 @s2n_connection_free(ptr noundef %4114)
  %4116 = icmp eq i32 %4115, -1
  br i1 %4116, label %4117, label %4170

4117:                                             ; preds = %4111
  br label %4118

4118:                                             ; preds = %4117
  br label %4119

4119:                                             ; preds = %4118
  call void @llvm.lifetime.start.p0(i64 4, ptr %87) #10
  %4120 = call ptr @__errno_location() #11
  %4121 = load i32, ptr %4120, align 4, !tbaa !5
  store i32 %4121, ptr %87, align 4, !tbaa !5
  %4122 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4123 = call i32 @s2n_print_stacktrace(ptr noundef %4122)
  %4124 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4125 = trunc i8 %4124 to i1
  br i1 %4125, label %4126, label %4148

4126:                                             ; preds = %4119
  %4127 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4128 = call i32 @fileno(ptr noundef %4127) #10
  %4129 = call i32 @isatty(i32 noundef %4128) #10
  %4130 = icmp ne i32 %4129, 0
  br i1 %4130, label %4131, label %4148

4131:                                             ; preds = %4126
  %4132 = load i32, ptr %87, align 4, !tbaa !5
  %4133 = call ptr @__errno_location() #11
  store i32 %4132, ptr %4133, align 4, !tbaa !5
  %4134 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4135 = load i32, ptr @test_count, align 4, !tbaa !5
  %4136 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4137 = load i32, ptr %4136, align 4, !tbaa !5
  %4138 = call ptr @s2n_strerror(i32 noundef %4137, ptr noundef @.str.4)
  %4139 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4140 = load i32, ptr %4139, align 4, !tbaa !5
  %4141 = call ptr @s2n_strerror_debug(i32 noundef %4140, ptr noundef @.str.4)
  %4142 = call ptr @__errno_location() #11
  %4143 = load i32, ptr %4142, align 4, !tbaa !5
  %4144 = call ptr @strerror(i32 noundef %4143) #10
  %4145 = call ptr @__errno_location() #11
  %4146 = load i32, ptr %4145, align 4, !tbaa !5
  %4147 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4134, ptr noundef @.str.2, i32 noundef %4135, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 230, ptr noundef %4138, ptr noundef %4141, ptr noundef %4144, i32 noundef %4146) #10
  br label %4165

4148:                                             ; preds = %4126, %4119
  %4149 = load i32, ptr %87, align 4, !tbaa !5
  %4150 = call ptr @__errno_location() #11
  store i32 %4149, ptr %4150, align 4, !tbaa !5
  %4151 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4152 = load i32, ptr @test_count, align 4, !tbaa !5
  %4153 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4154 = load i32, ptr %4153, align 4, !tbaa !5
  %4155 = call ptr @s2n_strerror(i32 noundef %4154, ptr noundef @.str.4)
  %4156 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4157 = load i32, ptr %4156, align 4, !tbaa !5
  %4158 = call ptr @s2n_strerror_debug(i32 noundef %4157, ptr noundef @.str.4)
  %4159 = call ptr @__errno_location() #11
  %4160 = load i32, ptr %4159, align 4, !tbaa !5
  %4161 = call ptr @strerror(i32 noundef %4160) #10
  %4162 = call ptr @__errno_location() #11
  %4163 = load i32, ptr %4162, align 4, !tbaa !5
  %4164 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4151, ptr noundef @.str.5, i32 noundef %4152, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 230, ptr noundef %4155, ptr noundef %4158, ptr noundef %4161, i32 noundef %4163) #10
  br label %4165

4165:                                             ; preds = %4148, %4131
  call void @llvm.lifetime.end.p0(i64 4, ptr %87) #10
  br label %4166

4166:                                             ; preds = %4165
  br label %4167

4167:                                             ; preds = %4166
  call void @exit(i32 noundef 1) #12
  unreachable

4168:                                             ; No predecessors!
  br label %4169

4169:                                             ; preds = %4168
  br label %4170

4170:                                             ; preds = %4169, %4111
  br label %4171

4171:                                             ; preds = %4170
  br label %4172

4172:                                             ; preds = %4171
  br label %4173

4173:                                             ; preds = %4172
  %4174 = load i32, ptr @test_count, align 4, !tbaa !5
  %4175 = add nsw i32 %4174, 1
  store i32 %4175, ptr @test_count, align 4, !tbaa !5
  %4176 = load ptr, ptr %76, align 8, !tbaa !9
  %4177 = call i32 @s2n_connection_free(ptr noundef %4176)
  %4178 = icmp eq i32 %4177, -1
  br i1 %4178, label %4179, label %4232

4179:                                             ; preds = %4173
  br label %4180

4180:                                             ; preds = %4179
  br label %4181

4181:                                             ; preds = %4180
  call void @llvm.lifetime.start.p0(i64 4, ptr %88) #10
  %4182 = call ptr @__errno_location() #11
  %4183 = load i32, ptr %4182, align 4, !tbaa !5
  store i32 %4183, ptr %88, align 4, !tbaa !5
  %4184 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4185 = call i32 @s2n_print_stacktrace(ptr noundef %4184)
  %4186 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4187 = trunc i8 %4186 to i1
  br i1 %4187, label %4188, label %4210

4188:                                             ; preds = %4181
  %4189 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4190 = call i32 @fileno(ptr noundef %4189) #10
  %4191 = call i32 @isatty(i32 noundef %4190) #10
  %4192 = icmp ne i32 %4191, 0
  br i1 %4192, label %4193, label %4210

4193:                                             ; preds = %4188
  %4194 = load i32, ptr %88, align 4, !tbaa !5
  %4195 = call ptr @__errno_location() #11
  store i32 %4194, ptr %4195, align 4, !tbaa !5
  %4196 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4197 = load i32, ptr @test_count, align 4, !tbaa !5
  %4198 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4199 = load i32, ptr %4198, align 4, !tbaa !5
  %4200 = call ptr @s2n_strerror(i32 noundef %4199, ptr noundef @.str.4)
  %4201 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4202 = load i32, ptr %4201, align 4, !tbaa !5
  %4203 = call ptr @s2n_strerror_debug(i32 noundef %4202, ptr noundef @.str.4)
  %4204 = call ptr @__errno_location() #11
  %4205 = load i32, ptr %4204, align 4, !tbaa !5
  %4206 = call ptr @strerror(i32 noundef %4205) #10
  %4207 = call ptr @__errno_location() #11
  %4208 = load i32, ptr %4207, align 4, !tbaa !5
  %4209 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4196, ptr noundef @.str.2, i32 noundef %4197, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 231, ptr noundef %4200, ptr noundef %4203, ptr noundef %4206, i32 noundef %4208) #10
  br label %4227

4210:                                             ; preds = %4188, %4181
  %4211 = load i32, ptr %88, align 4, !tbaa !5
  %4212 = call ptr @__errno_location() #11
  store i32 %4211, ptr %4212, align 4, !tbaa !5
  %4213 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4214 = load i32, ptr @test_count, align 4, !tbaa !5
  %4215 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4216 = load i32, ptr %4215, align 4, !tbaa !5
  %4217 = call ptr @s2n_strerror(i32 noundef %4216, ptr noundef @.str.4)
  %4218 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4219 = load i32, ptr %4218, align 4, !tbaa !5
  %4220 = call ptr @s2n_strerror_debug(i32 noundef %4219, ptr noundef @.str.4)
  %4221 = call ptr @__errno_location() #11
  %4222 = load i32, ptr %4221, align 4, !tbaa !5
  %4223 = call ptr @strerror(i32 noundef %4222) #10
  %4224 = call ptr @__errno_location() #11
  %4225 = load i32, ptr %4224, align 4, !tbaa !5
  %4226 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4213, ptr noundef @.str.5, i32 noundef %4214, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 231, ptr noundef %4217, ptr noundef %4220, ptr noundef %4223, i32 noundef %4225) #10
  br label %4227

4227:                                             ; preds = %4210, %4193
  call void @llvm.lifetime.end.p0(i64 4, ptr %88) #10
  br label %4228

4228:                                             ; preds = %4227
  br label %4229

4229:                                             ; preds = %4228
  call void @exit(i32 noundef 1) #12
  unreachable

4230:                                             ; No predecessors!
  br label %4231

4231:                                             ; preds = %4230
  br label %4232

4232:                                             ; preds = %4231, %4173
  br label %4233

4233:                                             ; preds = %4232
  br label %4234

4234:                                             ; preds = %4233
  call void @llvm.lifetime.end.p0(i64 4, ptr %82) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %77) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %76) #10
  br label %4235

4235:                                             ; preds = %4234
  %4236 = load i32, ptr @test_count, align 4, !tbaa !5
  %4237 = add nsw i32 %4236, 1
  store i32 %4237, ptr @test_count, align 4, !tbaa !5
  %4238 = call i32 (...) @s2n_enable_tls13_in_test()
  %4239 = icmp eq i32 %4238, -1
  br i1 %4239, label %4240, label %4293

4240:                                             ; preds = %4235
  br label %4241

4241:                                             ; preds = %4240
  br label %4242

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

4249:                                             ; preds = %4242
  %4250 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4251 = call i32 @fileno(ptr noundef %4250) #10
  %4252 = call i32 @isatty(i32 noundef %4251) #10
  %4253 = icmp ne i32 %4252, 0
  br i1 %4253, label %4254, label %4271

4254:                                             ; preds = %4249
  %4255 = load i32, ptr %89, align 4, !tbaa !5
  %4256 = call ptr @__errno_location() #11
  store i32 %4255, ptr %4256, align 4, !tbaa !5
  %4257 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4258 = load i32, ptr @test_count, align 4, !tbaa !5
  %4259 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4260 = load i32, ptr %4259, align 4, !tbaa !5
  %4261 = call ptr @s2n_strerror(i32 noundef %4260, ptr noundef @.str.4)
  %4262 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4263 = load i32, ptr %4262, align 4, !tbaa !5
  %4264 = call ptr @s2n_strerror_debug(i32 noundef %4263, ptr noundef @.str.4)
  %4265 = call ptr @__errno_location() #11
  %4266 = load i32, ptr %4265, align 4, !tbaa !5
  %4267 = call ptr @strerror(i32 noundef %4266) #10
  %4268 = call ptr @__errno_location() #11
  %4269 = load i32, ptr %4268, align 4, !tbaa !5
  %4270 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4257, ptr noundef @.str.2, i32 noundef %4258, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 236, ptr noundef %4261, ptr noundef %4264, ptr noundef %4267, i32 noundef %4269) #10
  br label %4288

4271:                                             ; preds = %4249, %4242
  %4272 = load i32, ptr %89, align 4, !tbaa !5
  %4273 = call ptr @__errno_location() #11
  store i32 %4272, ptr %4273, align 4, !tbaa !5
  %4274 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4275 = load i32, ptr @test_count, align 4, !tbaa !5
  %4276 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4277 = load i32, ptr %4276, align 4, !tbaa !5
  %4278 = call ptr @s2n_strerror(i32 noundef %4277, ptr noundef @.str.4)
  %4279 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4280 = load i32, ptr %4279, align 4, !tbaa !5
  %4281 = call ptr @s2n_strerror_debug(i32 noundef %4280, ptr noundef @.str.4)
  %4282 = call ptr @__errno_location() #11
  %4283 = load i32, ptr %4282, align 4, !tbaa !5
  %4284 = call ptr @strerror(i32 noundef %4283) #10
  %4285 = call ptr @__errno_location() #11
  %4286 = load i32, ptr %4285, align 4, !tbaa !5
  %4287 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4274, ptr noundef @.str.5, i32 noundef %4275, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 236, ptr noundef %4278, ptr noundef %4281, ptr noundef %4284, i32 noundef %4286) #10
  br label %4288

4288:                                             ; preds = %4271, %4254
  call void @llvm.lifetime.end.p0(i64 4, ptr %89) #10
  br label %4289

4289:                                             ; preds = %4288
  br label %4290

4290:                                             ; preds = %4289
  call void @exit(i32 noundef 1) #12
  unreachable

4291:                                             ; No predecessors!
  br label %4292

4292:                                             ; preds = %4291
  br label %4293

4293:                                             ; preds = %4292, %4235
  br label %4294

4294:                                             ; preds = %4293
  br label %4295

4295:                                             ; preds = %4294
  call void @llvm.lifetime.start.p0(i64 8, ptr %90) #10
  store ptr null, ptr %90, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %91) #10
  store ptr null, ptr %91, align 8, !tbaa !9
  br label %4296

4296:                                             ; preds = %4295
  %4297 = load i32, ptr @test_count, align 4, !tbaa !5
  %4298 = add nsw i32 %4297, 1
  store i32 %4298, ptr @test_count, align 4, !tbaa !5
  %4299 = call ptr @s2n_config_new()
  store ptr %4299, ptr %90, align 8, !tbaa !9
  %4300 = icmp eq ptr %4299, null
  br i1 %4300, label %4301, label %4354

4301:                                             ; preds = %4296
  br label %4302

4302:                                             ; preds = %4301
  br label %4303

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

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

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

4332:                                             ; preds = %4310, %4303
  %4333 = load i32, ptr %92, align 4, !tbaa !5
  %4334 = call ptr @__errno_location() #11
  store i32 %4333, ptr %4334, align 4, !tbaa !5
  %4335 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4336 = load i32, ptr @test_count, align 4, !tbaa !5
  %4337 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4338 = load i32, ptr %4337, align 4, !tbaa !5
  %4339 = call ptr @s2n_strerror(i32 noundef %4338, ptr noundef @.str.4)
  %4340 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4341 = load i32, ptr %4340, align 4, !tbaa !5
  %4342 = call ptr @s2n_strerror_debug(i32 noundef %4341, ptr noundef @.str.4)
  %4343 = call ptr @__errno_location() #11
  %4344 = load i32, ptr %4343, align 4, !tbaa !5
  %4345 = call ptr @strerror(i32 noundef %4344) #10
  %4346 = call ptr @__errno_location() #11
  %4347 = load i32, ptr %4346, align 4, !tbaa !5
  %4348 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4335, ptr noundef @.str.5, i32 noundef %4336, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 239, ptr noundef %4339, ptr noundef %4342, ptr noundef %4345, i32 noundef %4347) #10
  br label %4349

4349:                                             ; preds = %4332, %4315
  call void @llvm.lifetime.end.p0(i64 4, ptr %92) #10
  br label %4350

4350:                                             ; preds = %4349
  br label %4351

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

4352:                                             ; No predecessors!
  br label %4353

4353:                                             ; preds = %4352
  br label %4354

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

4355:                                             ; preds = %4354
  br label %4356

4356:                                             ; preds = %4355
  br label %4357

4357:                                             ; preds = %4356
  %4358 = load i32, ptr @test_count, align 4, !tbaa !5
  %4359 = add nsw i32 %4358, 1
  store i32 %4359, ptr @test_count, align 4, !tbaa !5
  %4360 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %4360, ptr %91, align 8, !tbaa !9
  %4361 = icmp eq ptr %4360, null
  br i1 %4361, label %4362, label %4415

4362:                                             ; preds = %4357
  br label %4363

4363:                                             ; preds = %4362
  br label %4364

4364:                                             ; preds = %4363
  call void @llvm.lifetime.start.p0(i64 4, ptr %93) #10
  %4365 = call ptr @__errno_location() #11
  %4366 = load i32, ptr %4365, align 4, !tbaa !5
  store i32 %4366, ptr %93, align 4, !tbaa !5
  %4367 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4368 = call i32 @s2n_print_stacktrace(ptr noundef %4367)
  %4369 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4370 = trunc i8 %4369 to i1
  br i1 %4370, label %4371, label %4393

4371:                                             ; preds = %4364
  %4372 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4373 = call i32 @fileno(ptr noundef %4372) #10
  %4374 = call i32 @isatty(i32 noundef %4373) #10
  %4375 = icmp ne i32 %4374, 0
  br i1 %4375, label %4376, label %4393

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

4393:                                             ; preds = %4371, %4364
  %4394 = load i32, ptr %93, align 4, !tbaa !5
  %4395 = call ptr @__errno_location() #11
  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() #11
  %4405 = load i32, ptr %4404, align 4, !tbaa !5
  %4406 = call ptr @strerror(i32 noundef %4405) #10
  %4407 = call ptr @__errno_location() #11
  %4408 = load i32, ptr %4407, align 4, !tbaa !5
  %4409 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4396, ptr noundef @.str.5, i32 noundef %4397, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 240, ptr noundef %4400, ptr noundef %4403, ptr noundef %4406, i32 noundef %4408) #10
  br label %4410

4410:                                             ; preds = %4393, %4376
  call void @llvm.lifetime.end.p0(i64 4, ptr %93) #10
  br label %4411

4411:                                             ; preds = %4410
  br label %4412

4412:                                             ; preds = %4411
  call void @exit(i32 noundef 1) #12
  unreachable

4413:                                             ; No predecessors!
  br label %4414

4414:                                             ; preds = %4413
  br label %4415

4415:                                             ; preds = %4414, %4357
  br label %4416

4416:                                             ; preds = %4415
  br label %4417

4417:                                             ; preds = %4416
  br label %4418

4418:                                             ; preds = %4417
  %4419 = load i32, ptr @test_count, align 4, !tbaa !5
  %4420 = add nsw i32 %4419, 1
  store i32 %4420, ptr @test_count, align 4, !tbaa !5
  %4421 = load ptr, ptr %91, align 8, !tbaa !9
  %4422 = load ptr, ptr %90, align 8, !tbaa !9
  %4423 = call i32 @s2n_connection_set_config(ptr noundef %4421, ptr noundef %4422)
  %4424 = icmp eq i32 %4423, -1
  br i1 %4424, label %4425, label %4478

4425:                                             ; preds = %4418
  br label %4426

4426:                                             ; preds = %4425
  br label %4427

4427:                                             ; preds = %4426
  call void @llvm.lifetime.start.p0(i64 4, ptr %94) #10
  %4428 = call ptr @__errno_location() #11
  %4429 = load i32, ptr %4428, align 4, !tbaa !5
  store i32 %4429, ptr %94, align 4, !tbaa !5
  %4430 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4431 = call i32 @s2n_print_stacktrace(ptr noundef %4430)
  %4432 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4433 = trunc i8 %4432 to i1
  br i1 %4433, label %4434, label %4456

4434:                                             ; preds = %4427
  %4435 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4436 = call i32 @fileno(ptr noundef %4435) #10
  %4437 = call i32 @isatty(i32 noundef %4436) #10
  %4438 = icmp ne i32 %4437, 0
  br i1 %4438, label %4439, label %4456

4439:                                             ; preds = %4434
  %4440 = load i32, ptr %94, align 4, !tbaa !5
  %4441 = call ptr @__errno_location() #11
  store i32 %4440, ptr %4441, align 4, !tbaa !5
  %4442 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4443 = load i32, ptr @test_count, align 4, !tbaa !5
  %4444 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4445 = load i32, ptr %4444, align 4, !tbaa !5
  %4446 = call ptr @s2n_strerror(i32 noundef %4445, ptr noundef @.str.4)
  %4447 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4448 = load i32, ptr %4447, align 4, !tbaa !5
  %4449 = call ptr @s2n_strerror_debug(i32 noundef %4448, ptr noundef @.str.4)
  %4450 = call ptr @__errno_location() #11
  %4451 = load i32, ptr %4450, align 4, !tbaa !5
  %4452 = call ptr @strerror(i32 noundef %4451) #10
  %4453 = call ptr @__errno_location() #11
  %4454 = load i32, ptr %4453, align 4, !tbaa !5
  %4455 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4442, ptr noundef @.str.2, i32 noundef %4443, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 241, ptr noundef %4446, ptr noundef %4449, ptr noundef %4452, i32 noundef %4454) #10
  br label %4473

4456:                                             ; preds = %4434, %4427
  %4457 = load i32, ptr %94, align 4, !tbaa !5
  %4458 = call ptr @__errno_location() #11
  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() #11
  %4468 = load i32, ptr %4467, align 4, !tbaa !5
  %4469 = call ptr @strerror(i32 noundef %4468) #10
  %4470 = call ptr @__errno_location() #11
  %4471 = load i32, ptr %4470, align 4, !tbaa !5
  %4472 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4459, ptr noundef @.str.5, i32 noundef %4460, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 241, ptr noundef %4463, ptr noundef %4466, ptr noundef %4469, i32 noundef %4471) #10
  br label %4473

4473:                                             ; preds = %4456, %4439
  call void @llvm.lifetime.end.p0(i64 4, ptr %94) #10
  br label %4474

4474:                                             ; preds = %4473
  br label %4475

4475:                                             ; preds = %4474
  call void @exit(i32 noundef 1) #12
  unreachable

4476:                                             ; No predecessors!
  br label %4477

4477:                                             ; preds = %4476
  br label %4478

4478:                                             ; preds = %4477, %4418
  br label %4479

4479:                                             ; preds = %4478
  br label %4480

4480:                                             ; preds = %4479
  call void @llvm.lifetime.start.p0(i64 8, ptr %95) #10
  %4481 = load ptr, ptr %91, align 8, !tbaa !9
  %4482 = getelementptr inbounds %struct.s2n_connection, ptr %4481, i32 0, i32 52
  %4483 = getelementptr inbounds %struct.s2n_handshake, ptr %4482, i32 0, i32 0
  store ptr %4483, ptr %95, align 8, !tbaa !9
  br label %4484

4484:                                             ; preds = %4480
  %4485 = load i32, ptr @test_count, align 4, !tbaa !5
  %4486 = add nsw i32 %4485, 1
  store i32 %4486, ptr @test_count, align 4, !tbaa !5
  %4487 = load ptr, ptr %95, align 8, !tbaa !9
  %4488 = call i32 @s2n_stuffer_write_uint8(ptr noundef %4487, i8 noundef zeroext 3)
  %4489 = icmp eq i32 %4488, -1
  br i1 %4489, label %4490, label %4543

4490:                                             ; preds = %4484
  br label %4491

4491:                                             ; preds = %4490
  br label %4492

4492:                                             ; preds = %4491
  call void @llvm.lifetime.start.p0(i64 4, ptr %96) #10
  %4493 = call ptr @__errno_location() #11
  %4494 = load i32, ptr %4493, align 4, !tbaa !5
  store i32 %4494, ptr %96, align 4, !tbaa !5
  %4495 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4496 = call i32 @s2n_print_stacktrace(ptr noundef %4495)
  %4497 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4498 = trunc i8 %4497 to i1
  br i1 %4498, label %4499, label %4521

4499:                                             ; preds = %4492
  %4500 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4501 = call i32 @fileno(ptr noundef %4500) #10
  %4502 = call i32 @isatty(i32 noundef %4501) #10
  %4503 = icmp ne i32 %4502, 0
  br i1 %4503, label %4504, label %4521

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

4521:                                             ; preds = %4499, %4492
  %4522 = load i32, ptr %96, align 4, !tbaa !5
  %4523 = call ptr @__errno_location() #11
  store i32 %4522, ptr %4523, align 4, !tbaa !5
  %4524 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4525 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %4527, ptr noundef @.str.4)
  %4529 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4530 = load i32, ptr %4529, align 4, !tbaa !5
  %4531 = call ptr @s2n_strerror_debug(i32 noundef %4530, ptr noundef @.str.4)
  %4532 = call ptr @__errno_location() #11
  %4533 = load i32, ptr %4532, align 4, !tbaa !5
  %4534 = call ptr @strerror(i32 noundef %4533) #10
  %4535 = call ptr @__errno_location() #11
  %4536 = load i32, ptr %4535, align 4, !tbaa !5
  %4537 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4524, ptr noundef @.str.5, i32 noundef %4525, ptr noundef @.str.45, ptr noundef @.str.1, i32 noundef 245, ptr noundef %4528, ptr noundef %4531, ptr noundef %4534, i32 noundef %4536) #10
  br label %4538

4538:                                             ; preds = %4521, %4504
  call void @llvm.lifetime.end.p0(i64 4, ptr %96) #10
  br label %4539

4539:                                             ; preds = %4538
  br label %4540

4540:                                             ; preds = %4539
  call void @exit(i32 noundef 1) #12
  unreachable

4541:                                             ; No predecessors!
  br label %4542

4542:                                             ; preds = %4541
  br label %4543

4543:                                             ; preds = %4542, %4484
  br label %4544

4544:                                             ; preds = %4543
  br label %4545

4545:                                             ; preds = %4544
  br label %4546

4546:                                             ; preds = %4545
  %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 = load ptr, ptr %95, align 8, !tbaa !9
  %4550 = call i32 @s2n_stuffer_write_uint8(ptr noundef %4549, i8 noundef zeroext 3)
  %4551 = icmp eq i32 %4550, -1
  br i1 %4551, label %4552, label %4605

4552:                                             ; preds = %4546
  br label %4553

4553:                                             ; preds = %4552
  br label %4554

4554:                                             ; preds = %4553
  call void @llvm.lifetime.start.p0(i64 4, ptr %97) #10
  %4555 = call ptr @__errno_location() #11
  %4556 = load i32, ptr %4555, align 4, !tbaa !5
  store i32 %4556, ptr %97, align 4, !tbaa !5
  %4557 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4558 = call i32 @s2n_print_stacktrace(ptr noundef %4557)
  %4559 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4560 = trunc i8 %4559 to i1
  br i1 %4560, label %4561, label %4583

4561:                                             ; preds = %4554
  %4562 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4563 = call i32 @fileno(ptr noundef %4562) #10
  %4564 = call i32 @isatty(i32 noundef %4563) #10
  %4565 = icmp ne i32 %4564, 0
  br i1 %4565, label %4566, label %4583

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

4583:                                             ; preds = %4561, %4554
  %4584 = load i32, ptr %97, align 4, !tbaa !5
  %4585 = call ptr @__errno_location() #11
  store i32 %4584, ptr %4585, align 4, !tbaa !5
  %4586 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4587 = load i32, ptr @test_count, align 4, !tbaa !5
  %4588 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4589 = load i32, ptr %4588, align 4, !tbaa !5
  %4590 = call ptr @s2n_strerror(i32 noundef %4589, ptr noundef @.str.4)
  %4591 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4592 = load i32, ptr %4591, align 4, !tbaa !5
  %4593 = call ptr @s2n_strerror_debug(i32 noundef %4592, ptr noundef @.str.4)
  %4594 = call ptr @__errno_location() #11
  %4595 = load i32, ptr %4594, align 4, !tbaa !5
  %4596 = call ptr @strerror(i32 noundef %4595) #10
  %4597 = call ptr @__errno_location() #11
  %4598 = load i32, ptr %4597, align 4, !tbaa !5
  %4599 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4586, ptr noundef @.str.5, i32 noundef %4587, ptr noundef @.str.46, ptr noundef @.str.1, i32 noundef 246, ptr noundef %4590, ptr noundef %4593, ptr noundef %4596, i32 noundef %4598) #10
  br label %4600

4600:                                             ; preds = %4583, %4566
  call void @llvm.lifetime.end.p0(i64 4, ptr %97) #10
  br label %4601

4601:                                             ; preds = %4600
  br label %4602

4602:                                             ; preds = %4601
  call void @exit(i32 noundef 1) #12
  unreachable

4603:                                             ; No predecessors!
  br label %4604

4604:                                             ; preds = %4603
  br label %4605

4605:                                             ; preds = %4604, %4546
  br label %4606

4606:                                             ; preds = %4605
  br label %4607

4607:                                             ; preds = %4606
  call void @llvm.lifetime.start.p0(i64 32, ptr %98) #10
  call void @llvm.memset.p0.i64(ptr align 16 %98, i8 0, i64 32, i1 false)
  br label %4608

4608:                                             ; preds = %4607
  %4609 = load i32, ptr @test_count, align 4, !tbaa !5
  %4610 = add nsw i32 %4609, 1
  store i32 %4610, ptr @test_count, align 4, !tbaa !5
  %4611 = load ptr, ptr %95, align 8, !tbaa !9
  %4612 = getelementptr inbounds [32 x i8], ptr %98, i64 0, i64 0
  %4613 = call i32 @s2n_stuffer_write_bytes(ptr noundef %4611, ptr noundef %4612, i32 noundef 32)
  %4614 = icmp eq i32 %4613, -1
  br i1 %4614, label %4615, label %4668

4615:                                             ; preds = %4608
  br label %4616

4616:                                             ; preds = %4615
  br label %4617

4617:                                             ; preds = %4616
  call void @llvm.lifetime.start.p0(i64 4, ptr %99) #10
  %4618 = call ptr @__errno_location() #11
  %4619 = load i32, ptr %4618, align 4, !tbaa !5
  store i32 %4619, ptr %99, align 4, !tbaa !5
  %4620 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4621 = call i32 @s2n_print_stacktrace(ptr noundef %4620)
  %4622 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4623 = trunc i8 %4622 to i1
  br i1 %4623, label %4624, label %4646

4624:                                             ; preds = %4617
  %4625 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4626 = call i32 @fileno(ptr noundef %4625) #10
  %4627 = call i32 @isatty(i32 noundef %4626) #10
  %4628 = icmp ne i32 %4627, 0
  br i1 %4628, label %4629, label %4646

4629:                                             ; preds = %4624
  %4630 = load i32, ptr %99, align 4, !tbaa !5
  %4631 = call ptr @__errno_location() #11
  store i32 %4630, ptr %4631, align 4, !tbaa !5
  %4632 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4633 = load i32, ptr @test_count, align 4, !tbaa !5
  %4634 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4635 = load i32, ptr %4634, align 4, !tbaa !5
  %4636 = call ptr @s2n_strerror(i32 noundef %4635, ptr noundef @.str.4)
  %4637 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4638 = load i32, ptr %4637, align 4, !tbaa !5
  %4639 = call ptr @s2n_strerror_debug(i32 noundef %4638, ptr noundef @.str.4)
  %4640 = call ptr @__errno_location() #11
  %4641 = load i32, ptr %4640, align 4, !tbaa !5
  %4642 = call ptr @strerror(i32 noundef %4641) #10
  %4643 = call ptr @__errno_location() #11
  %4644 = load i32, ptr %4643, align 4, !tbaa !5
  %4645 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4632, ptr noundef @.str.2, i32 noundef %4633, ptr noundef @.str.47, ptr noundef @.str.1, i32 noundef 250, ptr noundef %4636, ptr noundef %4639, ptr noundef %4642, i32 noundef %4644) #10
  br label %4663

4646:                                             ; preds = %4624, %4617
  %4647 = load i32, ptr %99, align 4, !tbaa !5
  %4648 = call ptr @__errno_location() #11
  store i32 %4647, ptr %4648, align 4, !tbaa !5
  %4649 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4650 = load i32, ptr @test_count, align 4, !tbaa !5
  %4651 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4652 = load i32, ptr %4651, align 4, !tbaa !5
  %4653 = call ptr @s2n_strerror(i32 noundef %4652, ptr noundef @.str.4)
  %4654 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4655 = load i32, ptr %4654, align 4, !tbaa !5
  %4656 = call ptr @s2n_strerror_debug(i32 noundef %4655, ptr noundef @.str.4)
  %4657 = call ptr @__errno_location() #11
  %4658 = load i32, ptr %4657, align 4, !tbaa !5
  %4659 = call ptr @strerror(i32 noundef %4658) #10
  %4660 = call ptr @__errno_location() #11
  %4661 = load i32, ptr %4660, align 4, !tbaa !5
  %4662 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4649, ptr noundef @.str.5, i32 noundef %4650, ptr noundef @.str.47, ptr noundef @.str.1, i32 noundef 250, ptr noundef %4653, ptr noundef %4656, ptr noundef %4659, i32 noundef %4661) #10
  br label %4663

4663:                                             ; preds = %4646, %4629
  call void @llvm.lifetime.end.p0(i64 4, ptr %99) #10
  br label %4664

4664:                                             ; preds = %4663
  br label %4665

4665:                                             ; preds = %4664
  call void @exit(i32 noundef 1) #12
  unreachable

4666:                                             ; No predecessors!
  br label %4667

4667:                                             ; preds = %4666
  br label %4668

4668:                                             ; preds = %4667, %4608
  br label %4669

4669:                                             ; preds = %4668
  br label %4670

4670:                                             ; preds = %4669
  call void @llvm.lifetime.start.p0(i64 32, ptr %100) #10
  call void @llvm.memset.p0.i64(ptr align 16 %100, i8 0, i64 32, i1 false)
  call void @llvm.lifetime.start.p0(i64 4, ptr %101) #10
  store i32 0, ptr %101, align 4, !tbaa !5
  br label %4671

4671:                                             ; preds = %4688, %4670
  %4672 = load i32, ptr %101, align 4, !tbaa !5
  %4673 = icmp slt i32 %4672, 32
  br i1 %4673, label %4675, label %4674

4674:                                             ; preds = %4671
  call void @llvm.lifetime.end.p0(i64 4, ptr %101) #10
  br label %4691

4675:                                             ; preds = %4671
  %4676 = load i32, ptr %101, align 4, !tbaa !5
  %4677 = trunc i32 %4676 to i8
  %4678 = load i32, ptr %101, align 4, !tbaa !5
  %4679 = sext i32 %4678 to i64
  %4680 = getelementptr inbounds [32 x i8], ptr %100, i64 0, i64 %4679
  store i8 %4677, ptr %4680, align 1, !tbaa !44
  %4681 = load i32, ptr %101, align 4, !tbaa !5
  %4682 = trunc i32 %4681 to i8
  %4683 = load ptr, ptr %91, align 8, !tbaa !9
  %4684 = getelementptr inbounds %struct.s2n_connection, ptr %4683, i32 0, i32 18
  %4685 = load i32, ptr %101, align 4, !tbaa !5
  %4686 = sext i32 %4685 to i64
  %4687 = getelementptr inbounds [32 x i8], ptr %4684, i64 0, i64 %4686
  store i8 %4682, ptr %4687, align 1, !tbaa !44
  br label %4688

4688:                                             ; preds = %4675
  %4689 = load i32, ptr %101, align 4, !tbaa !5
  %4690 = add nsw i32 %4689, 1
  store i32 %4690, ptr %101, align 4, !tbaa !5
  br label %4671, !llvm.loop !63

4691:                                             ; preds = %4674
  br label %4692

4692:                                             ; preds = %4691
  %4693 = load i32, ptr @test_count, align 4, !tbaa !5
  %4694 = add nsw i32 %4693, 1
  store i32 %4694, ptr @test_count, align 4, !tbaa !5
  %4695 = load ptr, ptr %95, align 8, !tbaa !9
  %4696 = call i32 @s2n_stuffer_write_uint8(ptr noundef %4695, i8 noundef zeroext 32)
  %4697 = icmp eq i32 %4696, -1
  br i1 %4697, label %4698, label %4751

4698:                                             ; preds = %4692
  br label %4699

4699:                                             ; preds = %4698
  br label %4700

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

4707:                                             ; preds = %4700
  %4708 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4709 = call i32 @fileno(ptr noundef %4708) #10
  %4710 = call i32 @isatty(i32 noundef %4709) #10
  %4711 = icmp ne i32 %4710, 0
  br i1 %4711, label %4712, label %4729

4712:                                             ; preds = %4707
  %4713 = load i32, ptr %102, align 4, !tbaa !5
  %4714 = call ptr @__errno_location() #11
  store i32 %4713, ptr %4714, align 4, !tbaa !5
  %4715 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4716 = load i32, ptr @test_count, align 4, !tbaa !5
  %4717 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4718 = load i32, ptr %4717, align 4, !tbaa !5
  %4719 = call ptr @s2n_strerror(i32 noundef %4718, ptr noundef @.str.4)
  %4720 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4721 = load i32, ptr %4720, align 4, !tbaa !5
  %4722 = call ptr @s2n_strerror_debug(i32 noundef %4721, ptr noundef @.str.4)
  %4723 = call ptr @__errno_location() #11
  %4724 = load i32, ptr %4723, align 4, !tbaa !5
  %4725 = call ptr @strerror(i32 noundef %4724) #10
  %4726 = call ptr @__errno_location() #11
  %4727 = load i32, ptr %4726, align 4, !tbaa !5
  %4728 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4715, ptr noundef @.str.2, i32 noundef %4716, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 261, ptr noundef %4719, ptr noundef %4722, ptr noundef %4725, i32 noundef %4727) #10
  br label %4746

4729:                                             ; preds = %4707, %4700
  %4730 = load i32, ptr %102, align 4, !tbaa !5
  %4731 = call ptr @__errno_location() #11
  store i32 %4730, ptr %4731, align 4, !tbaa !5
  %4732 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4733 = load i32, ptr @test_count, align 4, !tbaa !5
  %4734 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4735 = load i32, ptr %4734, align 4, !tbaa !5
  %4736 = call ptr @s2n_strerror(i32 noundef %4735, ptr noundef @.str.4)
  %4737 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4738 = load i32, ptr %4737, align 4, !tbaa !5
  %4739 = call ptr @s2n_strerror_debug(i32 noundef %4738, ptr noundef @.str.4)
  %4740 = call ptr @__errno_location() #11
  %4741 = load i32, ptr %4740, align 4, !tbaa !5
  %4742 = call ptr @strerror(i32 noundef %4741) #10
  %4743 = call ptr @__errno_location() #11
  %4744 = load i32, ptr %4743, align 4, !tbaa !5
  %4745 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4732, ptr noundef @.str.5, i32 noundef %4733, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 261, ptr noundef %4736, ptr noundef %4739, ptr noundef %4742, i32 noundef %4744) #10
  br label %4746

4746:                                             ; preds = %4729, %4712
  call void @llvm.lifetime.end.p0(i64 4, ptr %102) #10
  br label %4747

4747:                                             ; preds = %4746
  br label %4748

4748:                                             ; preds = %4747
  call void @exit(i32 noundef 1) #12
  unreachable

4749:                                             ; No predecessors!
  br label %4750

4750:                                             ; preds = %4749
  br label %4751

4751:                                             ; preds = %4750, %4692
  br label %4752

4752:                                             ; preds = %4751
  br label %4753

4753:                                             ; preds = %4752
  br label %4754

4754:                                             ; preds = %4753
  %4755 = load i32, ptr @test_count, align 4, !tbaa !5
  %4756 = add nsw i32 %4755, 1
  store i32 %4756, ptr @test_count, align 4, !tbaa !5
  %4757 = load ptr, ptr %95, align 8, !tbaa !9
  %4758 = getelementptr inbounds [32 x i8], ptr %100, i64 0, i64 0
  %4759 = call i32 @s2n_stuffer_write_bytes(ptr noundef %4757, ptr noundef %4758, i32 noundef 32)
  %4760 = icmp eq i32 %4759, -1
  br i1 %4760, label %4761, label %4814

4761:                                             ; preds = %4754
  br label %4762

4762:                                             ; preds = %4761
  br label %4763

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

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

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

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

4809:                                             ; preds = %4792, %4775
  call void @llvm.lifetime.end.p0(i64 4, ptr %103) #10
  br label %4810

4810:                                             ; preds = %4809
  br label %4811

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

4812:                                             ; No predecessors!
  br label %4813

4813:                                             ; preds = %4812
  br label %4814

4814:                                             ; preds = %4813, %4754
  br label %4815

4815:                                             ; preds = %4814
  br label %4816

4816:                                             ; preds = %4815
  br label %4817

4817:                                             ; preds = %4816
  %4818 = load i32, ptr @test_count, align 4, !tbaa !5
  %4819 = add nsw i32 %4818, 1
  store i32 %4819, ptr @test_count, align 4, !tbaa !5
  %4820 = load ptr, ptr %95, align 8, !tbaa !9
  %4821 = call i32 @s2n_stuffer_write_uint16(ptr noundef %4820, i16 noundef zeroext 4865)
  %4822 = icmp eq i32 %4821, -1
  br i1 %4822, label %4823, label %4876

4823:                                             ; preds = %4817
  br label %4824

4824:                                             ; preds = %4823
  br label %4825

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

4832:                                             ; preds = %4825
  %4833 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4834 = call i32 @fileno(ptr noundef %4833) #10
  %4835 = call i32 @isatty(i32 noundef %4834) #10
  %4836 = icmp ne i32 %4835, 0
  br i1 %4836, label %4837, label %4854

4837:                                             ; preds = %4832
  %4838 = load i32, ptr %104, align 4, !tbaa !5
  %4839 = call ptr @__errno_location() #11
  store i32 %4838, ptr %4839, align 4, !tbaa !5
  %4840 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4841 = load i32, ptr @test_count, align 4, !tbaa !5
  %4842 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4843 = load i32, ptr %4842, align 4, !tbaa !5
  %4844 = call ptr @s2n_strerror(i32 noundef %4843, ptr noundef @.str.4)
  %4845 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4846 = load i32, ptr %4845, align 4, !tbaa !5
  %4847 = call ptr @s2n_strerror_debug(i32 noundef %4846, ptr noundef @.str.4)
  %4848 = call ptr @__errno_location() #11
  %4849 = load i32, ptr %4848, align 4, !tbaa !5
  %4850 = call ptr @strerror(i32 noundef %4849) #10
  %4851 = call ptr @__errno_location() #11
  %4852 = load i32, ptr %4851, align 4, !tbaa !5
  %4853 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4840, ptr noundef @.str.2, i32 noundef %4841, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 263, ptr noundef %4844, ptr noundef %4847, ptr noundef %4850, i32 noundef %4852) #10
  br label %4871

4854:                                             ; preds = %4832, %4825
  %4855 = load i32, ptr %104, align 4, !tbaa !5
  %4856 = call ptr @__errno_location() #11
  store i32 %4855, ptr %4856, align 4, !tbaa !5
  %4857 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4858 = load i32, ptr @test_count, align 4, !tbaa !5
  %4859 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4860 = load i32, ptr %4859, align 4, !tbaa !5
  %4861 = call ptr @s2n_strerror(i32 noundef %4860, ptr noundef @.str.4)
  %4862 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4863 = load i32, ptr %4862, align 4, !tbaa !5
  %4864 = call ptr @s2n_strerror_debug(i32 noundef %4863, ptr noundef @.str.4)
  %4865 = call ptr @__errno_location() #11
  %4866 = load i32, ptr %4865, align 4, !tbaa !5
  %4867 = call ptr @strerror(i32 noundef %4866) #10
  %4868 = call ptr @__errno_location() #11
  %4869 = load i32, ptr %4868, align 4, !tbaa !5
  %4870 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4857, ptr noundef @.str.5, i32 noundef %4858, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 263, ptr noundef %4861, ptr noundef %4864, ptr noundef %4867, i32 noundef %4869) #10
  br label %4871

4871:                                             ; preds = %4854, %4837
  call void @llvm.lifetime.end.p0(i64 4, ptr %104) #10
  br label %4872

4872:                                             ; preds = %4871
  br label %4873

4873:                                             ; preds = %4872
  call void @exit(i32 noundef 1) #12
  unreachable

4874:                                             ; No predecessors!
  br label %4875

4875:                                             ; preds = %4874
  br label %4876

4876:                                             ; preds = %4875, %4817
  br label %4877

4877:                                             ; preds = %4876
  br label %4878

4878:                                             ; preds = %4877
  br label %4879

4879:                                             ; preds = %4878
  %4880 = load i32, ptr @test_count, align 4, !tbaa !5
  %4881 = add nsw i32 %4880, 1
  store i32 %4881, ptr @test_count, align 4, !tbaa !5
  %4882 = load ptr, ptr %95, align 8, !tbaa !9
  %4883 = call i32 @s2n_stuffer_write_uint8(ptr noundef %4882, i8 noundef zeroext 0)
  %4884 = icmp eq i32 %4883, -1
  br i1 %4884, label %4885, label %4938

4885:                                             ; preds = %4879
  br label %4886

4886:                                             ; preds = %4885
  br label %4887

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

4894:                                             ; preds = %4887
  %4895 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4896 = call i32 @fileno(ptr noundef %4895) #10
  %4897 = call i32 @isatty(i32 noundef %4896) #10
  %4898 = icmp ne i32 %4897, 0
  br i1 %4898, label %4899, label %4916

4899:                                             ; preds = %4894
  %4900 = load i32, ptr %105, align 4, !tbaa !5
  %4901 = call ptr @__errno_location() #11
  store i32 %4900, ptr %4901, align 4, !tbaa !5
  %4902 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4903 = load i32, ptr @test_count, align 4, !tbaa !5
  %4904 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4905 = load i32, ptr %4904, align 4, !tbaa !5
  %4906 = call ptr @s2n_strerror(i32 noundef %4905, ptr noundef @.str.4)
  %4907 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4908 = load i32, ptr %4907, align 4, !tbaa !5
  %4909 = call ptr @s2n_strerror_debug(i32 noundef %4908, ptr noundef @.str.4)
  %4910 = call ptr @__errno_location() #11
  %4911 = load i32, ptr %4910, align 4, !tbaa !5
  %4912 = call ptr @strerror(i32 noundef %4911) #10
  %4913 = call ptr @__errno_location() #11
  %4914 = load i32, ptr %4913, align 4, !tbaa !5
  %4915 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4902, ptr noundef @.str.2, i32 noundef %4903, ptr noundef @.str.51, ptr noundef @.str.1, i32 noundef 264, ptr noundef %4906, ptr noundef %4909, ptr noundef %4912, i32 noundef %4914) #10
  br label %4933

4916:                                             ; preds = %4894, %4887
  %4917 = load i32, ptr %105, align 4, !tbaa !5
  %4918 = call ptr @__errno_location() #11
  store i32 %4917, ptr %4918, align 4, !tbaa !5
  %4919 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4920 = load i32, ptr @test_count, align 4, !tbaa !5
  %4921 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4922 = load i32, ptr %4921, align 4, !tbaa !5
  %4923 = call ptr @s2n_strerror(i32 noundef %4922, ptr noundef @.str.4)
  %4924 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4925 = load i32, ptr %4924, align 4, !tbaa !5
  %4926 = call ptr @s2n_strerror_debug(i32 noundef %4925, ptr noundef @.str.4)
  %4927 = call ptr @__errno_location() #11
  %4928 = load i32, ptr %4927, align 4, !tbaa !5
  %4929 = call ptr @strerror(i32 noundef %4928) #10
  %4930 = call ptr @__errno_location() #11
  %4931 = load i32, ptr %4930, align 4, !tbaa !5
  %4932 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4919, ptr noundef @.str.5, i32 noundef %4920, ptr noundef @.str.51, ptr noundef @.str.1, i32 noundef 264, ptr noundef %4923, ptr noundef %4926, ptr noundef %4929, i32 noundef %4931) #10
  br label %4933

4933:                                             ; preds = %4916, %4899
  call void @llvm.lifetime.end.p0(i64 4, ptr %105) #10
  br label %4934

4934:                                             ; preds = %4933
  br label %4935

4935:                                             ; preds = %4934
  call void @exit(i32 noundef 1) #12
  unreachable

4936:                                             ; No predecessors!
  br label %4937

4937:                                             ; preds = %4936
  br label %4938

4938:                                             ; preds = %4937, %4879
  br label %4939

4939:                                             ; preds = %4938
  br label %4940

4940:                                             ; preds = %4939
  %4941 = load ptr, ptr %91, align 8, !tbaa !9
  %4942 = getelementptr inbounds %struct.s2n_connection, ptr %4941, i32 0, i32 22
  store i8 34, ptr %4942, align 1, !tbaa !64
  %4943 = load ptr, ptr %91, align 8, !tbaa !9
  %4944 = getelementptr inbounds %struct.s2n_connection, ptr %4943, i32 0, i32 19
  store i8 32, ptr %4944, align 8, !tbaa !15
  br label %4945

4945:                                             ; preds = %4940
  %4946 = load i32, ptr @test_count, align 4, !tbaa !5
  %4947 = add nsw i32 %4946, 1
  store i32 %4947, ptr @test_count, align 4, !tbaa !5
  %4948 = load ptr, ptr %91, align 8, !tbaa !9
  %4949 = call i32 @s2n_server_hello_recv(ptr noundef %4948)
  %4950 = icmp eq i32 %4949, -1
  br i1 %4950, label %4951, label %5004

4951:                                             ; preds = %4945
  br label %4952

4952:                                             ; preds = %4951
  br label %4953

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

4960:                                             ; preds = %4953
  %4961 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4962 = call i32 @fileno(ptr noundef %4961) #10
  %4963 = call i32 @isatty(i32 noundef %4962) #10
  %4964 = icmp ne i32 %4963, 0
  br i1 %4964, label %4965, label %4982

4965:                                             ; preds = %4960
  %4966 = load i32, ptr %106, align 4, !tbaa !5
  %4967 = call ptr @__errno_location() #11
  store i32 %4966, ptr %4967, align 4, !tbaa !5
  %4968 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4969 = load i32, ptr @test_count, align 4, !tbaa !5
  %4970 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4971 = load i32, ptr %4970, align 4, !tbaa !5
  %4972 = call ptr @s2n_strerror(i32 noundef %4971, ptr noundef @.str.4)
  %4973 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4974 = load i32, ptr %4973, align 4, !tbaa !5
  %4975 = call ptr @s2n_strerror_debug(i32 noundef %4974, ptr noundef @.str.4)
  %4976 = call ptr @__errno_location() #11
  %4977 = load i32, ptr %4976, align 4, !tbaa !5
  %4978 = call ptr @strerror(i32 noundef %4977) #10
  %4979 = call ptr @__errno_location() #11
  %4980 = load i32, ptr %4979, align 4, !tbaa !5
  %4981 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4968, ptr noundef @.str.2, i32 noundef %4969, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 270, ptr noundef %4972, ptr noundef %4975, ptr noundef %4978, i32 noundef %4980) #10
  br label %4999

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

4999:                                             ; preds = %4982, %4965
  call void @llvm.lifetime.end.p0(i64 4, ptr %106) #10
  br label %5000

5000:                                             ; preds = %4999
  br label %5001

5001:                                             ; preds = %5000
  call void @exit(i32 noundef 1) #12
  unreachable

5002:                                             ; No predecessors!
  br label %5003

5003:                                             ; preds = %5002
  br label %5004

5004:                                             ; preds = %5003, %4945
  br label %5005

5005:                                             ; preds = %5004
  br label %5006

5006:                                             ; preds = %5005
  br label %5007

5007:                                             ; preds = %5006
  %5008 = load i32, ptr @test_count, align 4, !tbaa !5
  %5009 = add nsw i32 %5008, 1
  store i32 %5009, ptr @test_count, align 4, !tbaa !5
  %5010 = load ptr, ptr %95, align 8, !tbaa !9
  %5011 = getelementptr inbounds %struct.s2n_stuffer, ptr %5010, i32 0, i32 2
  %5012 = load i32, ptr %5011, align 4, !tbaa !45
  %5013 = load ptr, ptr %95, align 8, !tbaa !9
  %5014 = getelementptr inbounds %struct.s2n_stuffer, ptr %5013, i32 0, i32 1
  %5015 = load i32, ptr %5014, align 8, !tbaa !46
  %5016 = sub i32 %5012, %5015
  %5017 = icmp eq i32 %5016, 0
  br i1 %5017, label %5071, label %5018

5018:                                             ; preds = %5007
  br label %5019

5019:                                             ; preds = %5018
  br label %5020

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

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

5032:                                             ; preds = %5027
  %5033 = load i32, ptr %107, align 4, !tbaa !5
  %5034 = call ptr @__errno_location() #11
  store i32 %5033, ptr %5034, align 4, !tbaa !5
  %5035 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5036 = load i32, ptr @test_count, align 4, !tbaa !5
  %5037 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5038 = load i32, ptr %5037, align 4, !tbaa !5
  %5039 = call ptr @s2n_strerror(i32 noundef %5038, ptr noundef @.str.4)
  %5040 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5041 = load i32, ptr %5040, align 4, !tbaa !5
  %5042 = call ptr @s2n_strerror_debug(i32 noundef %5041, ptr noundef @.str.4)
  %5043 = call ptr @__errno_location() #11
  %5044 = load i32, ptr %5043, align 4, !tbaa !5
  %5045 = call ptr @strerror(i32 noundef %5044) #10
  %5046 = call ptr @__errno_location() #11
  %5047 = load i32, ptr %5046, align 4, !tbaa !5
  %5048 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5035, ptr noundef @.str.2, i32 noundef %5036, ptr noundef @.str.52, ptr noundef @.str.1, i32 noundef 271, ptr noundef %5039, ptr noundef %5042, ptr noundef %5045, i32 noundef %5047) #10
  br label %5066

5049:                                             ; preds = %5027, %5020
  %5050 = load i32, ptr %107, align 4, !tbaa !5
  %5051 = call ptr @__errno_location() #11
  store i32 %5050, ptr %5051, align 4, !tbaa !5
  %5052 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5053 = load i32, ptr @test_count, align 4, !tbaa !5
  %5054 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5055 = load i32, ptr %5054, align 4, !tbaa !5
  %5056 = call ptr @s2n_strerror(i32 noundef %5055, ptr noundef @.str.4)
  %5057 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5058 = load i32, ptr %5057, align 4, !tbaa !5
  %5059 = call ptr @s2n_strerror_debug(i32 noundef %5058, ptr noundef @.str.4)
  %5060 = call ptr @__errno_location() #11
  %5061 = load i32, ptr %5060, align 4, !tbaa !5
  %5062 = call ptr @strerror(i32 noundef %5061) #10
  %5063 = call ptr @__errno_location() #11
  %5064 = load i32, ptr %5063, align 4, !tbaa !5
  %5065 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5052, ptr noundef @.str.5, i32 noundef %5053, ptr noundef @.str.52, ptr noundef @.str.1, i32 noundef 271, ptr noundef %5056, ptr noundef %5059, ptr noundef %5062, i32 noundef %5064) #10
  br label %5066

5066:                                             ; preds = %5049, %5032
  call void @llvm.lifetime.end.p0(i64 4, ptr %107) #10
  br label %5067

5067:                                             ; preds = %5066
  br label %5068

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

5069:                                             ; No predecessors!
  br label %5070

5070:                                             ; preds = %5069
  br label %5071

5071:                                             ; preds = %5070, %5007
  br label %5072

5072:                                             ; preds = %5071
  br label %5073

5073:                                             ; preds = %5072
  call void @llvm.lifetime.start.p0(i64 4, ptr %108) #10
  store i32 0, ptr %108, align 4, !tbaa !5
  br label %5074

5074:                                             ; preds = %5354, %5073
  %5075 = load i32, ptr %108, align 4, !tbaa !5
  %5076 = icmp slt i32 %5075, 32
  br i1 %5076, label %5078, label %5077

5077:                                             ; preds = %5074
  call void @llvm.lifetime.end.p0(i64 4, ptr %108) #10
  br label %5357

5078:                                             ; preds = %5074
  %5079 = load ptr, ptr %91, align 8, !tbaa !9
  %5080 = getelementptr inbounds %struct.s2n_connection, ptr %5079, i32 0, i32 18
  %5081 = load i32, ptr %108, align 4, !tbaa !5
  %5082 = sext i32 %5081 to i64
  %5083 = getelementptr inbounds [32 x i8], ptr %5080, i64 0, i64 %5082
  %5084 = load i8, ptr %5083, align 1, !tbaa !44
  %5085 = zext i8 %5084 to i32
  %5086 = xor i32 %5085, 1
  %5087 = trunc i32 %5086 to i8
  store i8 %5087, ptr %5083, align 1, !tbaa !44
  br label %5088

5088:                                             ; preds = %5078
  %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 = load ptr, ptr %95, align 8, !tbaa !9
  %5092 = call i32 @s2n_stuffer_reread(ptr noundef %5091)
  %5093 = icmp eq i32 %5092, -1
  br i1 %5093, label %5094, label %5147

5094:                                             ; preds = %5088
  br label %5095

5095:                                             ; preds = %5094
  br label %5096

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

5103:                                             ; preds = %5096
  %5104 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5105 = call i32 @fileno(ptr noundef %5104) #10
  %5106 = call i32 @isatty(i32 noundef %5105) #10
  %5107 = icmp ne i32 %5106, 0
  br i1 %5107, label %5108, label %5125

5108:                                             ; preds = %5103
  %5109 = load i32, ptr %109, align 4, !tbaa !5
  %5110 = call ptr @__errno_location() #11
  store i32 %5109, ptr %5110, align 4, !tbaa !5
  %5111 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5112 = load i32, ptr @test_count, align 4, !tbaa !5
  %5113 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5114 = load i32, ptr %5113, align 4, !tbaa !5
  %5115 = call ptr @s2n_strerror(i32 noundef %5114, ptr noundef @.str.4)
  %5116 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5117 = load i32, ptr %5116, align 4, !tbaa !5
  %5118 = call ptr @s2n_strerror_debug(i32 noundef %5117, ptr noundef @.str.4)
  %5119 = call ptr @__errno_location() #11
  %5120 = load i32, ptr %5119, align 4, !tbaa !5
  %5121 = call ptr @strerror(i32 noundef %5120) #10
  %5122 = call ptr @__errno_location() #11
  %5123 = load i32, ptr %5122, align 4, !tbaa !5
  %5124 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5111, ptr noundef @.str.2, i32 noundef %5112, ptr noundef @.str.53, ptr noundef @.str.1, i32 noundef 276, ptr noundef %5115, ptr noundef %5118, ptr noundef %5121, i32 noundef %5123) #10
  br label %5142

5125:                                             ; preds = %5103, %5096
  %5126 = load i32, ptr %109, align 4, !tbaa !5
  %5127 = call ptr @__errno_location() #11
  store i32 %5126, ptr %5127, align 4, !tbaa !5
  %5128 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5129 = load i32, ptr @test_count, align 4, !tbaa !5
  %5130 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5131 = load i32, ptr %5130, align 4, !tbaa !5
  %5132 = call ptr @s2n_strerror(i32 noundef %5131, ptr noundef @.str.4)
  %5133 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5134 = load i32, ptr %5133, align 4, !tbaa !5
  %5135 = call ptr @s2n_strerror_debug(i32 noundef %5134, ptr noundef @.str.4)
  %5136 = call ptr @__errno_location() #11
  %5137 = load i32, ptr %5136, align 4, !tbaa !5
  %5138 = call ptr @strerror(i32 noundef %5137) #10
  %5139 = call ptr @__errno_location() #11
  %5140 = load i32, ptr %5139, align 4, !tbaa !5
  %5141 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5128, ptr noundef @.str.5, i32 noundef %5129, ptr noundef @.str.53, ptr noundef @.str.1, i32 noundef 276, ptr noundef %5132, ptr noundef %5135, ptr noundef %5138, i32 noundef %5140) #10
  br label %5142

5142:                                             ; preds = %5125, %5108
  call void @llvm.lifetime.end.p0(i64 4, ptr %109) #10
  br label %5143

5143:                                             ; preds = %5142
  br label %5144

5144:                                             ; preds = %5143
  call void @exit(i32 noundef 1) #12
  unreachable

5145:                                             ; No predecessors!
  br label %5146

5146:                                             ; preds = %5145
  br label %5147

5147:                                             ; preds = %5146, %5088
  br label %5148

5148:                                             ; preds = %5147
  br label %5149

5149:                                             ; preds = %5148
  br label %5150

5150:                                             ; preds = %5149
  br label %5151

5151:                                             ; preds = %5150
  %5152 = load i32, ptr @test_count, align 4, !tbaa !5
  %5153 = add nsw i32 %5152, 1
  store i32 %5153, ptr @test_count, align 4, !tbaa !5
  %5154 = load ptr, ptr %91, align 8, !tbaa !9
  %5155 = call i32 @s2n_server_hello_recv(ptr noundef %5154)
  %5156 = icmp eq i32 %5155, -1
  br i1 %5156, label %5210, label %5157

5157:                                             ; preds = %5151
  br label %5158

5158:                                             ; preds = %5157
  br label %5159

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

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

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

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

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

5206:                                             ; preds = %5205
  br label %5207

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

5208:                                             ; No predecessors!
  br label %5209

5209:                                             ; preds = %5208
  br label %5210

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

5211:                                             ; preds = %5210
  br label %5212

5212:                                             ; preds = %5211
  br label %5213

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

5219:                                             ; preds = %5213
  br label %5220

5220:                                             ; preds = %5219
  br label %5221

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

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

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

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

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

5268:                                             ; preds = %5267
  br label %5269

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

5270:                                             ; No predecessors!
  br label %5271

5271:                                             ; preds = %5270
  br label %5272

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

5273:                                             ; preds = %5272
  br label %5274

5274:                                             ; preds = %5273
  br label %5275

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

5282:                                             ; preds = %5275
  br label %5283

5283:                                             ; preds = %5282
  br label %5284

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

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

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

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

5330:                                             ; preds = %5313, %5296
  call void @llvm.lifetime.end.p0(i64 4, ptr %112) #10
  br label %5331

5331:                                             ; preds = %5330
  br label %5332

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

5333:                                             ; No predecessors!
  br label %5334

5334:                                             ; preds = %5333
  br label %5335

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

5336:                                             ; preds = %5335
  br label %5337

5337:                                             ; preds = %5336
  br label %5338

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

5341:                                             ; preds = %5338
  br label %5342

5342:                                             ; preds = %5341
  br label %5343

5343:                                             ; preds = %5342
  br label %5344

5344:                                             ; preds = %5343
  %5345 = load ptr, ptr %91, align 8, !tbaa !9
  %5346 = getelementptr inbounds %struct.s2n_connection, ptr %5345, i32 0, i32 18
  %5347 = load i32, ptr %108, align 4, !tbaa !5
  %5348 = sext i32 %5347 to i64
  %5349 = getelementptr inbounds [32 x i8], ptr %5346, i64 0, i64 %5348
  %5350 = load i8, ptr %5349, align 1, !tbaa !44
  %5351 = zext i8 %5350 to i32
  %5352 = xor i32 %5351, 1
  %5353 = trunc i32 %5352 to i8
  store i8 %5353, ptr %5349, align 1, !tbaa !44
  br label %5354

5354:                                             ; preds = %5344
  %5355 = load i32, ptr %108, align 4, !tbaa !5
  %5356 = add nsw i32 %5355, 1
  store i32 %5356, ptr %108, align 4, !tbaa !5
  br label %5074, !llvm.loop !65

5357:                                             ; preds = %5077
  br label %5358

5358:                                             ; preds = %5357
  %5359 = load i32, ptr @test_count, align 4, !tbaa !5
  %5360 = add nsw i32 %5359, 1
  store i32 %5360, ptr @test_count, align 4, !tbaa !5
  %5361 = load ptr, ptr %95, align 8, !tbaa !9
  %5362 = call i32 @s2n_stuffer_reread(ptr noundef %5361)
  %5363 = icmp eq i32 %5362, -1
  br i1 %5363, label %5364, label %5417

5364:                                             ; preds = %5358
  br label %5365

5365:                                             ; preds = %5364
  br label %5366

5366:                                             ; preds = %5365
  call void @llvm.lifetime.start.p0(i64 4, ptr %113) #10
  %5367 = call ptr @__errno_location() #11
  %5368 = load i32, ptr %5367, align 4, !tbaa !5
  store i32 %5368, ptr %113, align 4, !tbaa !5
  %5369 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5370 = call i32 @s2n_print_stacktrace(ptr noundef %5369)
  %5371 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5372 = trunc i8 %5371 to i1
  br i1 %5372, label %5373, label %5395

5373:                                             ; preds = %5366
  %5374 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5375 = call i32 @fileno(ptr noundef %5374) #10
  %5376 = call i32 @isatty(i32 noundef %5375) #10
  %5377 = icmp ne i32 %5376, 0
  br i1 %5377, label %5378, label %5395

5378:                                             ; preds = %5373
  %5379 = load i32, ptr %113, align 4, !tbaa !5
  %5380 = call ptr @__errno_location() #11
  store i32 %5379, ptr %5380, align 4, !tbaa !5
  %5381 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5382 = load i32, ptr @test_count, align 4, !tbaa !5
  %5383 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5384 = load i32, ptr %5383, align 4, !tbaa !5
  %5385 = call ptr @s2n_strerror(i32 noundef %5384, ptr noundef @.str.4)
  %5386 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5387 = load i32, ptr %5386, align 4, !tbaa !5
  %5388 = call ptr @s2n_strerror_debug(i32 noundef %5387, ptr noundef @.str.4)
  %5389 = call ptr @__errno_location() #11
  %5390 = load i32, ptr %5389, align 4, !tbaa !5
  %5391 = call ptr @strerror(i32 noundef %5390) #10
  %5392 = call ptr @__errno_location() #11
  %5393 = load i32, ptr %5392, align 4, !tbaa !5
  %5394 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5381, ptr noundef @.str.2, i32 noundef %5382, ptr noundef @.str.53, ptr noundef @.str.1, i32 noundef 282, ptr noundef %5385, ptr noundef %5388, ptr noundef %5391, i32 noundef %5393) #10
  br label %5412

5395:                                             ; preds = %5373, %5366
  %5396 = load i32, ptr %113, align 4, !tbaa !5
  %5397 = call ptr @__errno_location() #11
  store i32 %5396, ptr %5397, align 4, !tbaa !5
  %5398 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5399 = load i32, ptr @test_count, align 4, !tbaa !5
  %5400 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5401 = load i32, ptr %5400, align 4, !tbaa !5
  %5402 = call ptr @s2n_strerror(i32 noundef %5401, ptr noundef @.str.4)
  %5403 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5404 = load i32, ptr %5403, align 4, !tbaa !5
  %5405 = call ptr @s2n_strerror_debug(i32 noundef %5404, ptr noundef @.str.4)
  %5406 = call ptr @__errno_location() #11
  %5407 = load i32, ptr %5406, align 4, !tbaa !5
  %5408 = call ptr @strerror(i32 noundef %5407) #10
  %5409 = call ptr @__errno_location() #11
  %5410 = load i32, ptr %5409, align 4, !tbaa !5
  %5411 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5398, ptr noundef @.str.5, i32 noundef %5399, ptr noundef @.str.53, ptr noundef @.str.1, i32 noundef 282, ptr noundef %5402, ptr noundef %5405, ptr noundef %5408, i32 noundef %5410) #10
  br label %5412

5412:                                             ; preds = %5395, %5378
  call void @llvm.lifetime.end.p0(i64 4, ptr %113) #10
  br label %5413

5413:                                             ; preds = %5412
  br label %5414

5414:                                             ; preds = %5413
  call void @exit(i32 noundef 1) #12
  unreachable

5415:                                             ; No predecessors!
  br label %5416

5416:                                             ; preds = %5415
  br label %5417

5417:                                             ; preds = %5416, %5358
  br label %5418

5418:                                             ; preds = %5417
  br label %5419

5419:                                             ; preds = %5418
  br label %5420

5420:                                             ; preds = %5419
  %5421 = load i32, ptr @test_count, align 4, !tbaa !5
  %5422 = add nsw i32 %5421, 1
  store i32 %5422, ptr @test_count, align 4, !tbaa !5
  %5423 = load ptr, ptr %91, align 8, !tbaa !9
  %5424 = call i32 @s2n_server_hello_recv(ptr noundef %5423)
  %5425 = icmp eq i32 %5424, -1
  br i1 %5425, label %5426, label %5479

5426:                                             ; preds = %5420
  br label %5427

5427:                                             ; preds = %5426
  br label %5428

5428:                                             ; preds = %5427
  call void @llvm.lifetime.start.p0(i64 4, ptr %114) #10
  %5429 = call ptr @__errno_location() #11
  %5430 = load i32, ptr %5429, align 4, !tbaa !5
  store i32 %5430, ptr %114, align 4, !tbaa !5
  %5431 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5432 = call i32 @s2n_print_stacktrace(ptr noundef %5431)
  %5433 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5434 = trunc i8 %5433 to i1
  br i1 %5434, label %5435, label %5457

5435:                                             ; preds = %5428
  %5436 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5437 = call i32 @fileno(ptr noundef %5436) #10
  %5438 = call i32 @isatty(i32 noundef %5437) #10
  %5439 = icmp ne i32 %5438, 0
  br i1 %5439, label %5440, label %5457

5440:                                             ; preds = %5435
  %5441 = load i32, ptr %114, align 4, !tbaa !5
  %5442 = call ptr @__errno_location() #11
  store i32 %5441, ptr %5442, align 4, !tbaa !5
  %5443 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5444 = load i32, ptr @test_count, align 4, !tbaa !5
  %5445 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5446 = load i32, ptr %5445, align 4, !tbaa !5
  %5447 = call ptr @s2n_strerror(i32 noundef %5446, ptr noundef @.str.4)
  %5448 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5449 = load i32, ptr %5448, align 4, !tbaa !5
  %5450 = call ptr @s2n_strerror_debug(i32 noundef %5449, ptr noundef @.str.4)
  %5451 = call ptr @__errno_location() #11
  %5452 = load i32, ptr %5451, align 4, !tbaa !5
  %5453 = call ptr @strerror(i32 noundef %5452) #10
  %5454 = call ptr @__errno_location() #11
  %5455 = load i32, ptr %5454, align 4, !tbaa !5
  %5456 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5443, ptr noundef @.str.2, i32 noundef %5444, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 283, ptr noundef %5447, ptr noundef %5450, ptr noundef %5453, i32 noundef %5455) #10
  br label %5474

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

5474:                                             ; preds = %5457, %5440
  call void @llvm.lifetime.end.p0(i64 4, ptr %114) #10
  br label %5475

5475:                                             ; preds = %5474
  br label %5476

5476:                                             ; preds = %5475
  call void @exit(i32 noundef 1) #12
  unreachable

5477:                                             ; No predecessors!
  br label %5478

5478:                                             ; preds = %5477
  br label %5479

5479:                                             ; preds = %5478, %5420
  br label %5480

5480:                                             ; preds = %5479
  br label %5481

5481:                                             ; preds = %5480
  call void @llvm.lifetime.start.p0(i64 4, ptr %115) #10
  store i32 0, ptr %115, align 4, !tbaa !5
  br label %5482

5482:                                             ; preds = %5748, %5481
  %5483 = load i32, ptr %115, align 4, !tbaa !5
  %5484 = icmp slt i32 %5483, 32
  br i1 %5484, label %5486, label %5485

5485:                                             ; preds = %5482
  call void @llvm.lifetime.end.p0(i64 4, ptr %115) #10
  br label %5751

5486:                                             ; preds = %5482
  %5487 = load i32, ptr %115, align 4, !tbaa !5
  %5488 = trunc i32 %5487 to i8
  %5489 = load ptr, ptr %91, align 8, !tbaa !9
  %5490 = getelementptr inbounds %struct.s2n_connection, ptr %5489, i32 0, i32 19
  store i8 %5488, ptr %5490, align 8, !tbaa !15
  br label %5491

5491:                                             ; preds = %5486
  %5492 = load i32, ptr @test_count, align 4, !tbaa !5
  %5493 = add nsw i32 %5492, 1
  store i32 %5493, ptr @test_count, align 4, !tbaa !5
  %5494 = load ptr, ptr %95, align 8, !tbaa !9
  %5495 = call i32 @s2n_stuffer_reread(ptr noundef %5494)
  %5496 = icmp eq i32 %5495, -1
  br i1 %5496, label %5497, label %5550

5497:                                             ; preds = %5491
  br label %5498

5498:                                             ; preds = %5497
  br label %5499

5499:                                             ; preds = %5498
  call void @llvm.lifetime.start.p0(i64 4, ptr %116) #10
  %5500 = call ptr @__errno_location() #11
  %5501 = load i32, ptr %5500, align 4, !tbaa !5
  store i32 %5501, ptr %116, align 4, !tbaa !5
  %5502 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5503 = call i32 @s2n_print_stacktrace(ptr noundef %5502)
  %5504 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5505 = trunc i8 %5504 to i1
  br i1 %5505, label %5506, label %5528

5506:                                             ; preds = %5499
  %5507 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5508 = call i32 @fileno(ptr noundef %5507) #10
  %5509 = call i32 @isatty(i32 noundef %5508) #10
  %5510 = icmp ne i32 %5509, 0
  br i1 %5510, label %5511, label %5528

5511:                                             ; preds = %5506
  %5512 = load i32, ptr %116, align 4, !tbaa !5
  %5513 = call ptr @__errno_location() #11
  store i32 %5512, ptr %5513, align 4, !tbaa !5
  %5514 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5515 = load i32, ptr @test_count, align 4, !tbaa !5
  %5516 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5517 = load i32, ptr %5516, align 4, !tbaa !5
  %5518 = call ptr @s2n_strerror(i32 noundef %5517, ptr noundef @.str.4)
  %5519 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5520 = load i32, ptr %5519, align 4, !tbaa !5
  %5521 = call ptr @s2n_strerror_debug(i32 noundef %5520, ptr noundef @.str.4)
  %5522 = call ptr @__errno_location() #11
  %5523 = load i32, ptr %5522, align 4, !tbaa !5
  %5524 = call ptr @strerror(i32 noundef %5523) #10
  %5525 = call ptr @__errno_location() #11
  %5526 = load i32, ptr %5525, align 4, !tbaa !5
  %5527 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5514, ptr noundef @.str.2, i32 noundef %5515, ptr noundef @.str.53, ptr noundef @.str.1, i32 noundef 288, ptr noundef %5518, ptr noundef %5521, ptr noundef %5524, i32 noundef %5526) #10
  br label %5545

5528:                                             ; preds = %5506, %5499
  %5529 = load i32, ptr %116, align 4, !tbaa !5
  %5530 = call ptr @__errno_location() #11
  store i32 %5529, ptr %5530, align 4, !tbaa !5
  %5531 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5532 = load i32, ptr @test_count, align 4, !tbaa !5
  %5533 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5534 = load i32, ptr %5533, align 4, !tbaa !5
  %5535 = call ptr @s2n_strerror(i32 noundef %5534, ptr noundef @.str.4)
  %5536 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5537 = load i32, ptr %5536, align 4, !tbaa !5
  %5538 = call ptr @s2n_strerror_debug(i32 noundef %5537, ptr noundef @.str.4)
  %5539 = call ptr @__errno_location() #11
  %5540 = load i32, ptr %5539, align 4, !tbaa !5
  %5541 = call ptr @strerror(i32 noundef %5540) #10
  %5542 = call ptr @__errno_location() #11
  %5543 = load i32, ptr %5542, align 4, !tbaa !5
  %5544 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5531, ptr noundef @.str.5, i32 noundef %5532, ptr noundef @.str.53, ptr noundef @.str.1, i32 noundef 288, ptr noundef %5535, ptr noundef %5538, ptr noundef %5541, i32 noundef %5543) #10
  br label %5545

5545:                                             ; preds = %5528, %5511
  call void @llvm.lifetime.end.p0(i64 4, ptr %116) #10
  br label %5546

5546:                                             ; preds = %5545
  br label %5547

5547:                                             ; preds = %5546
  call void @exit(i32 noundef 1) #12
  unreachable

5548:                                             ; No predecessors!
  br label %5549

5549:                                             ; preds = %5548
  br label %5550

5550:                                             ; preds = %5549, %5491
  br label %5551

5551:                                             ; preds = %5550
  br label %5552

5552:                                             ; preds = %5551
  br label %5553

5553:                                             ; preds = %5552
  br label %5554

5554:                                             ; preds = %5553
  %5555 = load i32, ptr @test_count, align 4, !tbaa !5
  %5556 = add nsw i32 %5555, 1
  store i32 %5556, ptr @test_count, align 4, !tbaa !5
  %5557 = load ptr, ptr %91, align 8, !tbaa !9
  %5558 = call i32 @s2n_server_hello_recv(ptr noundef %5557)
  %5559 = icmp eq i32 %5558, -1
  br i1 %5559, label %5613, label %5560

5560:                                             ; preds = %5554
  br label %5561

5561:                                             ; preds = %5560
  br label %5562

5562:                                             ; preds = %5561
  call void @llvm.lifetime.start.p0(i64 4, ptr %117) #10
  %5563 = call ptr @__errno_location() #11
  %5564 = load i32, ptr %5563, align 4, !tbaa !5
  store i32 %5564, ptr %117, align 4, !tbaa !5
  %5565 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5566 = call i32 @s2n_print_stacktrace(ptr noundef %5565)
  %5567 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5568 = trunc i8 %5567 to i1
  br i1 %5568, label %5569, label %5591

5569:                                             ; preds = %5562
  %5570 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5571 = call i32 @fileno(ptr noundef %5570) #10
  %5572 = call i32 @isatty(i32 noundef %5571) #10
  %5573 = icmp ne i32 %5572, 0
  br i1 %5573, label %5574, label %5591

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

5591:                                             ; preds = %5569, %5562
  %5592 = load i32, ptr %117, align 4, !tbaa !5
  %5593 = call ptr @__errno_location() #11
  store i32 %5592, ptr %5593, align 4, !tbaa !5
  %5594 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5595 = load i32, ptr @test_count, align 4, !tbaa !5
  %5596 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5597 = load i32, ptr %5596, align 4, !tbaa !5
  %5598 = call ptr @s2n_strerror(i32 noundef %5597, ptr noundef @.str.4)
  %5599 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5600 = load i32, ptr %5599, align 4, !tbaa !5
  %5601 = call ptr @s2n_strerror_debug(i32 noundef %5600, ptr noundef @.str.4)
  %5602 = call ptr @__errno_location() #11
  %5603 = load i32, ptr %5602, align 4, !tbaa !5
  %5604 = call ptr @strerror(i32 noundef %5603) #10
  %5605 = call ptr @__errno_location() #11
  %5606 = load i32, ptr %5605, align 4, !tbaa !5
  %5607 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5594, ptr noundef @.str.5, i32 noundef %5595, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 289, ptr noundef %5598, ptr noundef %5601, ptr noundef %5604, i32 noundef %5606) #10
  br label %5608

5608:                                             ; preds = %5591, %5574
  call void @llvm.lifetime.end.p0(i64 4, ptr %117) #10
  br label %5609

5609:                                             ; preds = %5608
  br label %5610

5610:                                             ; preds = %5609
  call void @exit(i32 noundef 1) #12
  unreachable

5611:                                             ; No predecessors!
  br label %5612

5612:                                             ; preds = %5611
  br label %5613

5613:                                             ; preds = %5612, %5554
  br label %5614

5614:                                             ; preds = %5613
  br label %5615

5615:                                             ; preds = %5614
  br label %5616

5616:                                             ; preds = %5615
  %5617 = load i32, ptr @test_count, align 4, !tbaa !5
  %5618 = add nsw i32 %5617, 1
  store i32 %5618, ptr @test_count, align 4, !tbaa !5
  %5619 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5620 = load i32, ptr %5619, align 4, !tbaa !5
  %5621 = icmp eq i32 %5620, 0
  br i1 %5621, label %5622, label %5675

5622:                                             ; preds = %5616
  br label %5623

5623:                                             ; preds = %5622
  br label %5624

5624:                                             ; preds = %5623
  call void @llvm.lifetime.start.p0(i64 4, ptr %118) #10
  %5625 = call ptr @__errno_location() #11
  %5626 = load i32, ptr %5625, align 4, !tbaa !5
  store i32 %5626, ptr %118, align 4, !tbaa !5
  %5627 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5628 = call i32 @s2n_print_stacktrace(ptr noundef %5627)
  %5629 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5630 = trunc i8 %5629 to i1
  br i1 %5630, label %5631, label %5653

5631:                                             ; preds = %5624
  %5632 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5633 = call i32 @fileno(ptr noundef %5632) #10
  %5634 = call i32 @isatty(i32 noundef %5633) #10
  %5635 = icmp ne i32 %5634, 0
  br i1 %5635, label %5636, label %5653

5636:                                             ; preds = %5631
  %5637 = load i32, ptr %118, align 4, !tbaa !5
  %5638 = call ptr @__errno_location() #11
  store i32 %5637, ptr %5638, align 4, !tbaa !5
  %5639 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5640 = load i32, ptr @test_count, align 4, !tbaa !5
  %5641 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5642 = load i32, ptr %5641, align 4, !tbaa !5
  %5643 = call ptr @s2n_strerror(i32 noundef %5642, ptr noundef @.str.4)
  %5644 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5645 = load i32, ptr %5644, align 4, !tbaa !5
  %5646 = call ptr @s2n_strerror_debug(i32 noundef %5645, ptr noundef @.str.4)
  %5647 = call ptr @__errno_location() #11
  %5648 = load i32, ptr %5647, align 4, !tbaa !5
  %5649 = call ptr @strerror(i32 noundef %5648) #10
  %5650 = call ptr @__errno_location() #11
  %5651 = load i32, ptr %5650, align 4, !tbaa !5
  %5652 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5639, ptr noundef @.str.2, i32 noundef %5640, ptr noundef @.str.54, ptr noundef @.str.1, i32 noundef 289, ptr noundef %5643, ptr noundef %5646, ptr noundef %5649, i32 noundef %5651) #10
  br label %5670

5653:                                             ; preds = %5631, %5624
  %5654 = load i32, ptr %118, align 4, !tbaa !5
  %5655 = call ptr @__errno_location() #11
  store i32 %5654, ptr %5655, align 4, !tbaa !5
  %5656 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5657 = load i32, ptr @test_count, align 4, !tbaa !5
  %5658 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5659 = load i32, ptr %5658, align 4, !tbaa !5
  %5660 = call ptr @s2n_strerror(i32 noundef %5659, ptr noundef @.str.4)
  %5661 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5662 = load i32, ptr %5661, align 4, !tbaa !5
  %5663 = call ptr @s2n_strerror_debug(i32 noundef %5662, ptr noundef @.str.4)
  %5664 = call ptr @__errno_location() #11
  %5665 = load i32, ptr %5664, align 4, !tbaa !5
  %5666 = call ptr @strerror(i32 noundef %5665) #10
  %5667 = call ptr @__errno_location() #11
  %5668 = load i32, ptr %5667, align 4, !tbaa !5
  %5669 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5656, ptr noundef @.str.5, i32 noundef %5657, ptr noundef @.str.54, ptr noundef @.str.1, i32 noundef 289, ptr noundef %5660, ptr noundef %5663, ptr noundef %5666, i32 noundef %5668) #10
  br label %5670

5670:                                             ; preds = %5653, %5636
  call void @llvm.lifetime.end.p0(i64 4, ptr %118) #10
  br label %5671

5671:                                             ; preds = %5670
  br label %5672

5672:                                             ; preds = %5671
  call void @exit(i32 noundef 1) #12
  unreachable

5673:                                             ; No predecessors!
  br label %5674

5674:                                             ; preds = %5673
  br label %5675

5675:                                             ; preds = %5674, %5616
  br label %5676

5676:                                             ; preds = %5675
  br label %5677

5677:                                             ; preds = %5676
  br label %5678

5678:                                             ; preds = %5677
  %5679 = load i32, ptr @test_count, align 4, !tbaa !5
  %5680 = add nsw i32 %5679, 1
  store i32 %5680, ptr @test_count, align 4, !tbaa !5
  %5681 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5682 = load i32, ptr %5681, align 4, !tbaa !5
  %5683 = call ptr @s2n_strerror_debug(i32 noundef %5682, ptr noundef @.str.4)
  %5684 = icmp eq ptr %5683, null
  br i1 %5684, label %5685, label %5738

5685:                                             ; preds = %5678
  br label %5686

5686:                                             ; preds = %5685
  br label %5687

5687:                                             ; preds = %5686
  call void @llvm.lifetime.start.p0(i64 4, ptr %119) #10
  %5688 = call ptr @__errno_location() #11
  %5689 = load i32, ptr %5688, align 4, !tbaa !5
  store i32 %5689, ptr %119, align 4, !tbaa !5
  %5690 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5691 = call i32 @s2n_print_stacktrace(ptr noundef %5690)
  %5692 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5693 = trunc i8 %5692 to i1
  br i1 %5693, label %5694, label %5716

5694:                                             ; preds = %5687
  %5695 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5696 = call i32 @fileno(ptr noundef %5695) #10
  %5697 = call i32 @isatty(i32 noundef %5696) #10
  %5698 = icmp ne i32 %5697, 0
  br i1 %5698, label %5699, label %5716

5699:                                             ; preds = %5694
  %5700 = load i32, ptr %119, align 4, !tbaa !5
  %5701 = call ptr @__errno_location() #11
  store i32 %5700, ptr %5701, align 4, !tbaa !5
  %5702 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5703 = load i32, ptr @test_count, align 4, !tbaa !5
  %5704 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5705 = load i32, ptr %5704, align 4, !tbaa !5
  %5706 = call ptr @s2n_strerror(i32 noundef %5705, ptr noundef @.str.4)
  %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_debug(i32 noundef %5708, ptr noundef @.str.4)
  %5710 = call ptr @__errno_location() #11
  %5711 = load i32, ptr %5710, align 4, !tbaa !5
  %5712 = call ptr @strerror(i32 noundef %5711) #10
  %5713 = call ptr @__errno_location() #11
  %5714 = load i32, ptr %5713, align 4, !tbaa !5
  %5715 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5702, ptr noundef @.str.2, i32 noundef %5703, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 289, ptr noundef %5706, ptr noundef %5709, ptr noundef %5712, i32 noundef %5714) #10
  br label %5733

5716:                                             ; preds = %5694, %5687
  %5717 = load i32, ptr %119, align 4, !tbaa !5
  %5718 = call ptr @__errno_location() #11
  store i32 %5717, ptr %5718, align 4, !tbaa !5
  %5719 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5720 = load i32, ptr @test_count, align 4, !tbaa !5
  %5721 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5722 = load i32, ptr %5721, align 4, !tbaa !5
  %5723 = call ptr @s2n_strerror(i32 noundef %5722, ptr noundef @.str.4)
  %5724 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5725 = load i32, ptr %5724, align 4, !tbaa !5
  %5726 = call ptr @s2n_strerror_debug(i32 noundef %5725, ptr noundef @.str.4)
  %5727 = call ptr @__errno_location() #11
  %5728 = load i32, ptr %5727, align 4, !tbaa !5
  %5729 = call ptr @strerror(i32 noundef %5728) #10
  %5730 = call ptr @__errno_location() #11
  %5731 = load i32, ptr %5730, align 4, !tbaa !5
  %5732 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5719, ptr noundef @.str.5, i32 noundef %5720, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 289, ptr noundef %5723, ptr noundef %5726, ptr noundef %5729, i32 noundef %5731) #10
  br label %5733

5733:                                             ; preds = %5716, %5699
  call void @llvm.lifetime.end.p0(i64 4, ptr %119) #10
  br label %5734

5734:                                             ; preds = %5733
  br label %5735

5735:                                             ; preds = %5734
  call void @exit(i32 noundef 1) #12
  unreachable

5736:                                             ; No predecessors!
  br label %5737

5737:                                             ; preds = %5736
  br label %5738

5738:                                             ; preds = %5737, %5678
  br label %5739

5739:                                             ; preds = %5738
  br label %5740

5740:                                             ; preds = %5739
  br label %5741

5741:                                             ; preds = %5740
  %5742 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %5742, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %5743 = call ptr @__errno_location() #11
  store i32 0, ptr %5743, align 4, !tbaa !5
  br label %5744

5744:                                             ; preds = %5741
  br label %5745

5745:                                             ; preds = %5744
  br label %5746

5746:                                             ; preds = %5745
  br label %5747

5747:                                             ; preds = %5746
  br label %5748

5748:                                             ; preds = %5747
  %5749 = load i32, ptr %115, align 4, !tbaa !5
  %5750 = add nsw i32 %5749, 1
  store i32 %5750, ptr %115, align 4, !tbaa !5
  br label %5482, !llvm.loop !66

5751:                                             ; preds = %5485
  br label %5752

5752:                                             ; preds = %5751
  %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 %90, align 8, !tbaa !9
  %5756 = call i32 @s2n_config_free(ptr noundef %5755)
  %5757 = icmp eq i32 %5756, -1
  br i1 %5757, label %5758, label %5811

5758:                                             ; preds = %5752
  br label %5759

5759:                                             ; preds = %5758
  br label %5760

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

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

5772:                                             ; preds = %5767
  %5773 = load i32, ptr %120, align 4, !tbaa !5
  %5774 = call ptr @__errno_location() #11
  store i32 %5773, ptr %5774, align 4, !tbaa !5
  %5775 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5776 = load i32, ptr @test_count, align 4, !tbaa !5
  %5777 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5778 = load i32, ptr %5777, align 4, !tbaa !5
  %5779 = call ptr @s2n_strerror(i32 noundef %5778, ptr noundef @.str.4)
  %5780 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5781 = load i32, ptr %5780, align 4, !tbaa !5
  %5782 = call ptr @s2n_strerror_debug(i32 noundef %5781, ptr noundef @.str.4)
  %5783 = call ptr @__errno_location() #11
  %5784 = load i32, ptr %5783, align 4, !tbaa !5
  %5785 = call ptr @strerror(i32 noundef %5784) #10
  %5786 = call ptr @__errno_location() #11
  %5787 = load i32, ptr %5786, align 4, !tbaa !5
  %5788 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5775, ptr noundef @.str.2, i32 noundef %5776, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 292, ptr noundef %5779, ptr noundef %5782, ptr noundef %5785, i32 noundef %5787) #10
  br label %5806

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

5806:                                             ; preds = %5789, %5772
  call void @llvm.lifetime.end.p0(i64 4, ptr %120) #10
  br label %5807

5807:                                             ; preds = %5806
  br label %5808

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

5809:                                             ; No predecessors!
  br label %5810

5810:                                             ; preds = %5809
  br label %5811

5811:                                             ; preds = %5810, %5752
  br label %5812

5812:                                             ; preds = %5811
  br label %5813

5813:                                             ; preds = %5812
  br label %5814

5814:                                             ; preds = %5813
  %5815 = load i32, ptr @test_count, align 4, !tbaa !5
  %5816 = add nsw i32 %5815, 1
  store i32 %5816, ptr @test_count, align 4, !tbaa !5
  %5817 = load ptr, ptr %91, align 8, !tbaa !9
  %5818 = call i32 @s2n_connection_free(ptr noundef %5817)
  %5819 = icmp eq i32 %5818, -1
  br i1 %5819, label %5820, label %5873

5820:                                             ; preds = %5814
  br label %5821

5821:                                             ; preds = %5820
  br label %5822

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

5829:                                             ; preds = %5822
  %5830 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5831 = call i32 @fileno(ptr noundef %5830) #10
  %5832 = call i32 @isatty(i32 noundef %5831) #10
  %5833 = icmp ne i32 %5832, 0
  br i1 %5833, label %5834, label %5851

5834:                                             ; preds = %5829
  %5835 = load i32, ptr %121, align 4, !tbaa !5
  %5836 = call ptr @__errno_location() #11
  store i32 %5835, ptr %5836, align 4, !tbaa !5
  %5837 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5838 = load i32, ptr @test_count, align 4, !tbaa !5
  %5839 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5840 = load i32, ptr %5839, align 4, !tbaa !5
  %5841 = call ptr @s2n_strerror(i32 noundef %5840, ptr noundef @.str.4)
  %5842 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5843 = load i32, ptr %5842, align 4, !tbaa !5
  %5844 = call ptr @s2n_strerror_debug(i32 noundef %5843, ptr noundef @.str.4)
  %5845 = call ptr @__errno_location() #11
  %5846 = load i32, ptr %5845, align 4, !tbaa !5
  %5847 = call ptr @strerror(i32 noundef %5846) #10
  %5848 = call ptr @__errno_location() #11
  %5849 = load i32, ptr %5848, align 4, !tbaa !5
  %5850 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5837, ptr noundef @.str.2, i32 noundef %5838, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 293, ptr noundef %5841, ptr noundef %5844, ptr noundef %5847, i32 noundef %5849) #10
  br label %5868

5851:                                             ; preds = %5829, %5822
  %5852 = load i32, ptr %121, align 4, !tbaa !5
  %5853 = call ptr @__errno_location() #11
  store i32 %5852, ptr %5853, align 4, !tbaa !5
  %5854 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5855 = load i32, ptr @test_count, align 4, !tbaa !5
  %5856 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5857 = load i32, ptr %5856, align 4, !tbaa !5
  %5858 = call ptr @s2n_strerror(i32 noundef %5857, ptr noundef @.str.4)
  %5859 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5860 = load i32, ptr %5859, align 4, !tbaa !5
  %5861 = call ptr @s2n_strerror_debug(i32 noundef %5860, ptr noundef @.str.4)
  %5862 = call ptr @__errno_location() #11
  %5863 = load i32, ptr %5862, align 4, !tbaa !5
  %5864 = call ptr @strerror(i32 noundef %5863) #10
  %5865 = call ptr @__errno_location() #11
  %5866 = load i32, ptr %5865, align 4, !tbaa !5
  %5867 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5854, ptr noundef @.str.5, i32 noundef %5855, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 293, ptr noundef %5858, ptr noundef %5861, ptr noundef %5864, i32 noundef %5866) #10
  br label %5868

5868:                                             ; preds = %5851, %5834
  call void @llvm.lifetime.end.p0(i64 4, ptr %121) #10
  br label %5869

5869:                                             ; preds = %5868
  br label %5870

5870:                                             ; preds = %5869
  call void @exit(i32 noundef 1) #12
  unreachable

5871:                                             ; No predecessors!
  br label %5872

5872:                                             ; preds = %5871
  br label %5873

5873:                                             ; preds = %5872, %5814
  br label %5874

5874:                                             ; preds = %5873
  br label %5875

5875:                                             ; preds = %5874
  br label %5876

5876:                                             ; preds = %5875
  %5877 = load i32, ptr @test_count, align 4, !tbaa !5
  %5878 = add nsw i32 %5877, 1
  store i32 %5878, ptr @test_count, align 4, !tbaa !5
  %5879 = call i32 (...) @s2n_disable_tls13_in_test()
  %5880 = icmp eq i32 %5879, -1
  br i1 %5880, label %5881, label %5934

5881:                                             ; preds = %5876
  br label %5882

5882:                                             ; preds = %5881
  br label %5883

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

5890:                                             ; preds = %5883
  %5891 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5892 = call i32 @fileno(ptr noundef %5891) #10
  %5893 = call i32 @isatty(i32 noundef %5892) #10
  %5894 = icmp ne i32 %5893, 0
  br i1 %5894, label %5895, label %5912

5895:                                             ; preds = %5890
  %5896 = load i32, ptr %122, align 4, !tbaa !5
  %5897 = call ptr @__errno_location() #11
  store i32 %5896, ptr %5897, align 4, !tbaa !5
  %5898 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5899 = load i32, ptr @test_count, align 4, !tbaa !5
  %5900 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5901 = load i32, ptr %5900, align 4, !tbaa !5
  %5902 = call ptr @s2n_strerror(i32 noundef %5901, ptr noundef @.str.4)
  %5903 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5904 = load i32, ptr %5903, align 4, !tbaa !5
  %5905 = call ptr @s2n_strerror_debug(i32 noundef %5904, ptr noundef @.str.4)
  %5906 = call ptr @__errno_location() #11
  %5907 = load i32, ptr %5906, align 4, !tbaa !5
  %5908 = call ptr @strerror(i32 noundef %5907) #10
  %5909 = call ptr @__errno_location() #11
  %5910 = load i32, ptr %5909, align 4, !tbaa !5
  %5911 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5898, ptr noundef @.str.2, i32 noundef %5899, ptr noundef @.str.8, ptr noundef @.str.1, i32 noundef 294, ptr noundef %5902, ptr noundef %5905, ptr noundef %5908, i32 noundef %5910) #10
  br label %5929

5912:                                             ; preds = %5890, %5883
  %5913 = load i32, ptr %122, align 4, !tbaa !5
  %5914 = call ptr @__errno_location() #11
  store i32 %5913, ptr %5914, align 4, !tbaa !5
  %5915 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5916 = load i32, ptr @test_count, align 4, !tbaa !5
  %5917 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5918 = load i32, ptr %5917, align 4, !tbaa !5
  %5919 = call ptr @s2n_strerror(i32 noundef %5918, ptr noundef @.str.4)
  %5920 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5921 = load i32, ptr %5920, align 4, !tbaa !5
  %5922 = call ptr @s2n_strerror_debug(i32 noundef %5921, ptr noundef @.str.4)
  %5923 = call ptr @__errno_location() #11
  %5924 = load i32, ptr %5923, align 4, !tbaa !5
  %5925 = call ptr @strerror(i32 noundef %5924) #10
  %5926 = call ptr @__errno_location() #11
  %5927 = load i32, ptr %5926, align 4, !tbaa !5
  %5928 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5915, ptr noundef @.str.5, i32 noundef %5916, ptr noundef @.str.8, ptr noundef @.str.1, i32 noundef 294, ptr noundef %5919, ptr noundef %5922, ptr noundef %5925, i32 noundef %5927) #10
  br label %5929

5929:                                             ; preds = %5912, %5895
  call void @llvm.lifetime.end.p0(i64 4, ptr %122) #10
  br label %5930

5930:                                             ; preds = %5929
  br label %5931

5931:                                             ; preds = %5930
  call void @exit(i32 noundef 1) #12
  unreachable

5932:                                             ; No predecessors!
  br label %5933

5933:                                             ; preds = %5932
  br label %5934

5934:                                             ; preds = %5933, %5876
  br label %5935

5935:                                             ; preds = %5934
  br label %5936

5936:                                             ; preds = %5935
  call void @llvm.lifetime.end.p0(i64 32, ptr %100) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %98) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %95) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %91) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %90) #10
  br label %5937

5937:                                             ; preds = %5936
  %5938 = load i32, ptr @test_count, align 4, !tbaa !5
  %5939 = add nsw i32 %5938, 1
  store i32 %5939, ptr @test_count, align 4, !tbaa !5
  %5940 = call i32 (...) @s2n_enable_tls13_in_test()
  %5941 = icmp eq i32 %5940, -1
  br i1 %5941, label %5942, label %5995

5942:                                             ; preds = %5937
  br label %5943

5943:                                             ; preds = %5942
  br label %5944

5944:                                             ; preds = %5943
  call void @llvm.lifetime.start.p0(i64 4, ptr %123) #10
  %5945 = call ptr @__errno_location() #11
  %5946 = load i32, ptr %5945, align 4, !tbaa !5
  store i32 %5946, ptr %123, align 4, !tbaa !5
  %5947 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5948 = call i32 @s2n_print_stacktrace(ptr noundef %5947)
  %5949 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5950 = trunc i8 %5949 to i1
  br i1 %5950, label %5951, label %5973

5951:                                             ; preds = %5944
  %5952 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5953 = call i32 @fileno(ptr noundef %5952) #10
  %5954 = call i32 @isatty(i32 noundef %5953) #10
  %5955 = icmp ne i32 %5954, 0
  br i1 %5955, label %5956, label %5973

5956:                                             ; preds = %5951
  %5957 = load i32, ptr %123, align 4, !tbaa !5
  %5958 = call ptr @__errno_location() #11
  store i32 %5957, ptr %5958, align 4, !tbaa !5
  %5959 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5960 = load i32, ptr @test_count, align 4, !tbaa !5
  %5961 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5962 = load i32, ptr %5961, align 4, !tbaa !5
  %5963 = call ptr @s2n_strerror(i32 noundef %5962, ptr noundef @.str.4)
  %5964 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5965 = load i32, ptr %5964, align 4, !tbaa !5
  %5966 = call ptr @s2n_strerror_debug(i32 noundef %5965, ptr noundef @.str.4)
  %5967 = call ptr @__errno_location() #11
  %5968 = load i32, ptr %5967, align 4, !tbaa !5
  %5969 = call ptr @strerror(i32 noundef %5968) #10
  %5970 = call ptr @__errno_location() #11
  %5971 = load i32, ptr %5970, align 4, !tbaa !5
  %5972 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5959, ptr noundef @.str.2, i32 noundef %5960, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 299, ptr noundef %5963, ptr noundef %5966, ptr noundef %5969, i32 noundef %5971) #10
  br label %5990

5973:                                             ; preds = %5951, %5944
  %5974 = load i32, ptr %123, align 4, !tbaa !5
  %5975 = call ptr @__errno_location() #11
  store i32 %5974, ptr %5975, align 4, !tbaa !5
  %5976 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5977 = load i32, ptr @test_count, align 4, !tbaa !5
  %5978 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5979 = load i32, ptr %5978, align 4, !tbaa !5
  %5980 = call ptr @s2n_strerror(i32 noundef %5979, ptr noundef @.str.4)
  %5981 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5982 = load i32, ptr %5981, align 4, !tbaa !5
  %5983 = call ptr @s2n_strerror_debug(i32 noundef %5982, ptr noundef @.str.4)
  %5984 = call ptr @__errno_location() #11
  %5985 = load i32, ptr %5984, align 4, !tbaa !5
  %5986 = call ptr @strerror(i32 noundef %5985) #10
  %5987 = call ptr @__errno_location() #11
  %5988 = load i32, ptr %5987, align 4, !tbaa !5
  %5989 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5976, ptr noundef @.str.5, i32 noundef %5977, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 299, ptr noundef %5980, ptr noundef %5983, ptr noundef %5986, i32 noundef %5988) #10
  br label %5990

5990:                                             ; preds = %5973, %5956
  call void @llvm.lifetime.end.p0(i64 4, ptr %123) #10
  br label %5991

5991:                                             ; preds = %5990
  br label %5992

5992:                                             ; preds = %5991
  call void @exit(i32 noundef 1) #12
  unreachable

5993:                                             ; No predecessors!
  br label %5994

5994:                                             ; preds = %5993
  br label %5995

5995:                                             ; preds = %5994, %5937
  br label %5996

5996:                                             ; preds = %5995
  br label %5997

5997:                                             ; preds = %5996
  call void @llvm.lifetime.start.p0(i64 8, ptr %124) #10
  store ptr null, ptr %124, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %125) #10
  store ptr null, ptr %125, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %126) #10
  store ptr null, ptr %126, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %127) #10
  store ptr null, ptr %127, align 8, !tbaa !9
  br label %5998

5998:                                             ; preds = %5997
  %5999 = load i32, ptr @test_count, align 4, !tbaa !5
  %6000 = add nsw i32 %5999, 1
  store i32 %6000, ptr @test_count, align 4, !tbaa !5
  %6001 = call ptr @s2n_config_new()
  store ptr %6001, ptr %126, align 8, !tbaa !9
  %6002 = icmp eq ptr %6001, null
  br i1 %6002, label %6003, label %6056

6003:                                             ; preds = %5998
  br label %6004

6004:                                             ; preds = %6003
  br label %6005

6005:                                             ; preds = %6004
  call void @llvm.lifetime.start.p0(i64 4, ptr %128) #10
  %6006 = call ptr @__errno_location() #11
  %6007 = load i32, ptr %6006, align 4, !tbaa !5
  store i32 %6007, ptr %128, align 4, !tbaa !5
  %6008 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6009 = call i32 @s2n_print_stacktrace(ptr noundef %6008)
  %6010 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6011 = trunc i8 %6010 to i1
  br i1 %6011, label %6012, label %6034

6012:                                             ; preds = %6005
  %6013 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6014 = call i32 @fileno(ptr noundef %6013) #10
  %6015 = call i32 @isatty(i32 noundef %6014) #10
  %6016 = icmp ne i32 %6015, 0
  br i1 %6016, label %6017, label %6034

6017:                                             ; preds = %6012
  %6018 = load i32, ptr %128, align 4, !tbaa !5
  %6019 = call ptr @__errno_location() #11
  store i32 %6018, ptr %6019, align 4, !tbaa !5
  %6020 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6021 = load i32, ptr @test_count, align 4, !tbaa !5
  %6022 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6023 = load i32, ptr %6022, align 4, !tbaa !5
  %6024 = call ptr @s2n_strerror(i32 noundef %6023, ptr noundef @.str.4)
  %6025 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6026 = load i32, ptr %6025, align 4, !tbaa !5
  %6027 = call ptr @s2n_strerror_debug(i32 noundef %6026, ptr noundef @.str.4)
  %6028 = call ptr @__errno_location() #11
  %6029 = load i32, ptr %6028, align 4, !tbaa !5
  %6030 = call ptr @strerror(i32 noundef %6029) #10
  %6031 = call ptr @__errno_location() #11
  %6032 = load i32, ptr %6031, align 4, !tbaa !5
  %6033 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6020, ptr noundef @.str.2, i32 noundef %6021, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 305, ptr noundef %6024, ptr noundef %6027, ptr noundef %6030, i32 noundef %6032) #10
  br label %6051

6034:                                             ; preds = %6012, %6005
  %6035 = load i32, ptr %128, align 4, !tbaa !5
  %6036 = call ptr @__errno_location() #11
  store i32 %6035, ptr %6036, align 4, !tbaa !5
  %6037 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6038 = load i32, ptr @test_count, align 4, !tbaa !5
  %6039 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6040 = load i32, ptr %6039, align 4, !tbaa !5
  %6041 = call ptr @s2n_strerror(i32 noundef %6040, ptr noundef @.str.4)
  %6042 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6043 = load i32, ptr %6042, align 4, !tbaa !5
  %6044 = call ptr @s2n_strerror_debug(i32 noundef %6043, ptr noundef @.str.4)
  %6045 = call ptr @__errno_location() #11
  %6046 = load i32, ptr %6045, align 4, !tbaa !5
  %6047 = call ptr @strerror(i32 noundef %6046) #10
  %6048 = call ptr @__errno_location() #11
  %6049 = load i32, ptr %6048, align 4, !tbaa !5
  %6050 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6037, ptr noundef @.str.5, i32 noundef %6038, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 305, ptr noundef %6041, ptr noundef %6044, ptr noundef %6047, i32 noundef %6049) #10
  br label %6051

6051:                                             ; preds = %6034, %6017
  call void @llvm.lifetime.end.p0(i64 4, ptr %128) #10
  br label %6052

6052:                                             ; preds = %6051
  br label %6053

6053:                                             ; preds = %6052
  call void @exit(i32 noundef 1) #12
  unreachable

6054:                                             ; No predecessors!
  br label %6055

6055:                                             ; preds = %6054
  br label %6056

6056:                                             ; preds = %6055, %5998
  br label %6057

6057:                                             ; preds = %6056
  br label %6058

6058:                                             ; preds = %6057
  br label %6059

6059:                                             ; preds = %6058
  %6060 = load i32, ptr @test_count, align 4, !tbaa !5
  %6061 = add nsw i32 %6060, 1
  store i32 %6061, ptr @test_count, align 4, !tbaa !5
  %6062 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %6062, ptr %127, align 8, !tbaa !9
  %6063 = icmp eq ptr %6062, null
  br i1 %6063, label %6064, label %6117

6064:                                             ; preds = %6059
  br label %6065

6065:                                             ; preds = %6064
  br label %6066

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

6073:                                             ; preds = %6066
  %6074 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6075 = call i32 @fileno(ptr noundef %6074) #10
  %6076 = call i32 @isatty(i32 noundef %6075) #10
  %6077 = icmp ne i32 %6076, 0
  br i1 %6077, label %6078, label %6095

6078:                                             ; preds = %6073
  %6079 = load i32, ptr %129, align 4, !tbaa !5
  %6080 = call ptr @__errno_location() #11
  store i32 %6079, ptr %6080, align 4, !tbaa !5
  %6081 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6082 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %6084, ptr noundef @.str.4)
  %6086 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6087 = load i32, ptr %6086, align 4, !tbaa !5
  %6088 = call ptr @s2n_strerror_debug(i32 noundef %6087, ptr noundef @.str.4)
  %6089 = call ptr @__errno_location() #11
  %6090 = load i32, ptr %6089, align 4, !tbaa !5
  %6091 = call ptr @strerror(i32 noundef %6090) #10
  %6092 = call ptr @__errno_location() #11
  %6093 = load i32, ptr %6092, align 4, !tbaa !5
  %6094 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6081, ptr noundef @.str.2, i32 noundef %6082, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 306, ptr noundef %6085, ptr noundef %6088, ptr noundef %6091, i32 noundef %6093) #10
  br label %6112

6095:                                             ; preds = %6073, %6066
  %6096 = load i32, ptr %129, align 4, !tbaa !5
  %6097 = call ptr @__errno_location() #11
  store i32 %6096, ptr %6097, align 4, !tbaa !5
  %6098 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6099 = load i32, ptr @test_count, align 4, !tbaa !5
  %6100 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6101 = load i32, ptr %6100, align 4, !tbaa !5
  %6102 = call ptr @s2n_strerror(i32 noundef %6101, ptr noundef @.str.4)
  %6103 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6104 = load i32, ptr %6103, align 4, !tbaa !5
  %6105 = call ptr @s2n_strerror_debug(i32 noundef %6104, ptr noundef @.str.4)
  %6106 = call ptr @__errno_location() #11
  %6107 = load i32, ptr %6106, align 4, !tbaa !5
  %6108 = call ptr @strerror(i32 noundef %6107) #10
  %6109 = call ptr @__errno_location() #11
  %6110 = load i32, ptr %6109, align 4, !tbaa !5
  %6111 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6098, ptr noundef @.str.5, i32 noundef %6099, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 306, ptr noundef %6102, ptr noundef %6105, ptr noundef %6108, i32 noundef %6110) #10
  br label %6112

6112:                                             ; preds = %6095, %6078
  call void @llvm.lifetime.end.p0(i64 4, ptr %129) #10
  br label %6113

6113:                                             ; preds = %6112
  br label %6114

6114:                                             ; preds = %6113
  call void @exit(i32 noundef 1) #12
  unreachable

6115:                                             ; No predecessors!
  br label %6116

6116:                                             ; preds = %6115
  br label %6117

6117:                                             ; preds = %6116, %6059
  br label %6118

6118:                                             ; preds = %6117
  br label %6119

6119:                                             ; preds = %6118
  br label %6120

6120:                                             ; preds = %6119
  %6121 = load i32, ptr @test_count, align 4, !tbaa !5
  %6122 = add nsw i32 %6121, 1
  store i32 %6122, ptr @test_count, align 4, !tbaa !5
  %6123 = load ptr, ptr %127, align 8, !tbaa !9
  %6124 = load ptr, ptr %126, align 8, !tbaa !9
  %6125 = call i32 @s2n_connection_set_config(ptr noundef %6123, ptr noundef %6124)
  %6126 = icmp eq i32 %6125, -1
  br i1 %6126, label %6127, label %6180

6127:                                             ; preds = %6120
  br label %6128

6128:                                             ; preds = %6127
  br label %6129

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

6136:                                             ; preds = %6129
  %6137 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6138 = call i32 @fileno(ptr noundef %6137) #10
  %6139 = call i32 @isatty(i32 noundef %6138) #10
  %6140 = icmp ne i32 %6139, 0
  br i1 %6140, label %6141, label %6158

6141:                                             ; preds = %6136
  %6142 = load i32, ptr %130, align 4, !tbaa !5
  %6143 = call ptr @__errno_location() #11
  store i32 %6142, ptr %6143, align 4, !tbaa !5
  %6144 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6145 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %6147, ptr noundef @.str.4)
  %6149 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6150 = load i32, ptr %6149, align 4, !tbaa !5
  %6151 = call ptr @s2n_strerror_debug(i32 noundef %6150, ptr noundef @.str.4)
  %6152 = call ptr @__errno_location() #11
  %6153 = load i32, ptr %6152, align 4, !tbaa !5
  %6154 = call ptr @strerror(i32 noundef %6153) #10
  %6155 = call ptr @__errno_location() #11
  %6156 = load i32, ptr %6155, align 4, !tbaa !5
  %6157 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6144, ptr noundef @.str.2, i32 noundef %6145, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 307, ptr noundef %6148, ptr noundef %6151, ptr noundef %6154, i32 noundef %6156) #10
  br label %6175

6158:                                             ; preds = %6136, %6129
  %6159 = load i32, ptr %130, align 4, !tbaa !5
  %6160 = call ptr @__errno_location() #11
  store i32 %6159, ptr %6160, align 4, !tbaa !5
  %6161 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6162 = load i32, ptr @test_count, align 4, !tbaa !5
  %6163 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6164 = load i32, ptr %6163, align 4, !tbaa !5
  %6165 = call ptr @s2n_strerror(i32 noundef %6164, ptr noundef @.str.4)
  %6166 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6167 = load i32, ptr %6166, align 4, !tbaa !5
  %6168 = call ptr @s2n_strerror_debug(i32 noundef %6167, ptr noundef @.str.4)
  %6169 = call ptr @__errno_location() #11
  %6170 = load i32, ptr %6169, align 4, !tbaa !5
  %6171 = call ptr @strerror(i32 noundef %6170) #10
  %6172 = call ptr @__errno_location() #11
  %6173 = load i32, ptr %6172, align 4, !tbaa !5
  %6174 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6161, ptr noundef @.str.5, i32 noundef %6162, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 307, ptr noundef %6165, ptr noundef %6168, ptr noundef %6171, i32 noundef %6173) #10
  br label %6175

6175:                                             ; preds = %6158, %6141
  call void @llvm.lifetime.end.p0(i64 4, ptr %130) #10
  br label %6176

6176:                                             ; preds = %6175
  br label %6177

6177:                                             ; preds = %6176
  call void @exit(i32 noundef 1) #12
  unreachable

6178:                                             ; No predecessors!
  br label %6179

6179:                                             ; preds = %6178
  br label %6180

6180:                                             ; preds = %6179, %6120
  br label %6181

6181:                                             ; preds = %6180
  br label %6182

6182:                                             ; preds = %6181
  br label %6183

6183:                                             ; preds = %6182
  %6184 = load i32, ptr @test_count, align 4, !tbaa !5
  %6185 = add nsw i32 %6184, 1
  store i32 %6185, ptr @test_count, align 4, !tbaa !5
  %6186 = call ptr @s2n_config_new()
  store ptr %6186, ptr %124, align 8, !tbaa !9
  %6187 = icmp eq ptr %6186, null
  br i1 %6187, label %6188, label %6241

6188:                                             ; preds = %6183
  br label %6189

6189:                                             ; preds = %6188
  br label %6190

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

6197:                                             ; preds = %6190
  %6198 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6199 = call i32 @fileno(ptr noundef %6198) #10
  %6200 = call i32 @isatty(i32 noundef %6199) #10
  %6201 = icmp ne i32 %6200, 0
  br i1 %6201, label %6202, label %6219

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

6219:                                             ; preds = %6197, %6190
  %6220 = load i32, ptr %131, align 4, !tbaa !5
  %6221 = call ptr @__errno_location() #11
  store i32 %6220, ptr %6221, align 4, !tbaa !5
  %6222 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6223 = load i32, ptr @test_count, align 4, !tbaa !5
  %6224 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6225 = load i32, ptr %6224, align 4, !tbaa !5
  %6226 = call ptr @s2n_strerror(i32 noundef %6225, ptr noundef @.str.4)
  %6227 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6228 = load i32, ptr %6227, align 4, !tbaa !5
  %6229 = call ptr @s2n_strerror_debug(i32 noundef %6228, ptr noundef @.str.4)
  %6230 = call ptr @__errno_location() #11
  %6231 = load i32, ptr %6230, align 4, !tbaa !5
  %6232 = call ptr @strerror(i32 noundef %6231) #10
  %6233 = call ptr @__errno_location() #11
  %6234 = load i32, ptr %6233, align 4, !tbaa !5
  %6235 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6222, ptr noundef @.str.5, i32 noundef %6223, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 309, ptr noundef %6226, ptr noundef %6229, ptr noundef %6232, i32 noundef %6234) #10
  br label %6236

6236:                                             ; preds = %6219, %6202
  call void @llvm.lifetime.end.p0(i64 4, ptr %131) #10
  br label %6237

6237:                                             ; preds = %6236
  br label %6238

6238:                                             ; preds = %6237
  call void @exit(i32 noundef 1) #12
  unreachable

6239:                                             ; No predecessors!
  br label %6240

6240:                                             ; preds = %6239
  br label %6241

6241:                                             ; preds = %6240, %6183
  br label %6242

6242:                                             ; preds = %6241
  br label %6243

6243:                                             ; preds = %6242
  br label %6244

6244:                                             ; preds = %6243
  %6245 = load i32, ptr @test_count, align 4, !tbaa !5
  %6246 = add nsw i32 %6245, 1
  store i32 %6246, ptr @test_count, align 4, !tbaa !5
  %6247 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %6247, ptr %125, align 8, !tbaa !9
  %6248 = icmp eq ptr %6247, null
  br i1 %6248, label %6249, label %6302

6249:                                             ; preds = %6244
  br label %6250

6250:                                             ; preds = %6249
  br label %6251

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

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

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

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

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

6298:                                             ; preds = %6297
  br label %6299

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

6300:                                             ; No predecessors!
  br label %6301

6301:                                             ; preds = %6300
  br label %6302

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

6303:                                             ; preds = %6302
  br label %6304

6304:                                             ; preds = %6303
  br label %6305

6305:                                             ; preds = %6304
  %6306 = load i32, ptr @test_count, align 4, !tbaa !5
  %6307 = add nsw i32 %6306, 1
  store i32 %6307, ptr @test_count, align 4, !tbaa !5
  %6308 = load ptr, ptr %125, align 8, !tbaa !9
  %6309 = load ptr, ptr %124, align 8, !tbaa !9
  %6310 = call i32 @s2n_connection_set_config(ptr noundef %6308, ptr noundef %6309)
  %6311 = icmp eq i32 %6310, -1
  br i1 %6311, label %6312, label %6365

6312:                                             ; preds = %6305
  br label %6313

6313:                                             ; preds = %6312
  br label %6314

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

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

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

6343:                                             ; preds = %6321, %6314
  %6344 = load i32, ptr %133, align 4, !tbaa !5
  %6345 = call ptr @__errno_location() #11
  store i32 %6344, ptr %6345, align 4, !tbaa !5
  %6346 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6347 = load i32, ptr @test_count, align 4, !tbaa !5
  %6348 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6349 = load i32, ptr %6348, align 4, !tbaa !5
  %6350 = call ptr @s2n_strerror(i32 noundef %6349, ptr noundef @.str.4)
  %6351 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6352 = load i32, ptr %6351, align 4, !tbaa !5
  %6353 = call ptr @s2n_strerror_debug(i32 noundef %6352, ptr noundef @.str.4)
  %6354 = call ptr @__errno_location() #11
  %6355 = load i32, ptr %6354, align 4, !tbaa !5
  %6356 = call ptr @strerror(i32 noundef %6355) #10
  %6357 = call ptr @__errno_location() #11
  %6358 = load i32, ptr %6357, align 4, !tbaa !5
  %6359 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6346, ptr noundef @.str.5, i32 noundef %6347, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 311, ptr noundef %6350, ptr noundef %6353, ptr noundef %6356, i32 noundef %6358) #10
  br label %6360

6360:                                             ; preds = %6343, %6326
  call void @llvm.lifetime.end.p0(i64 4, ptr %133) #10
  br label %6361

6361:                                             ; preds = %6360
  br label %6362

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

6363:                                             ; No predecessors!
  br label %6364

6364:                                             ; preds = %6363
  br label %6365

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

6366:                                             ; preds = %6365
  br label %6367

6367:                                             ; preds = %6366
  %6368 = load ptr, ptr %125, align 8, !tbaa !9
  %6369 = getelementptr inbounds %struct.s2n_connection, ptr %6368, i32 0, i32 21
  store i8 34, ptr %6369, align 2, !tbaa !67
  %6370 = load ptr, ptr @s2n_all_supported_curves_list, align 8, !tbaa !9
  %6371 = load ptr, ptr %127, align 8, !tbaa !9
  %6372 = getelementptr inbounds %struct.s2n_connection, ptr %6371, i32 0, i32 31
  %6373 = getelementptr inbounds %struct.s2n_kex_parameters, ptr %6372, i32 0, i32 1
  %6374 = getelementptr inbounds %struct.s2n_ecc_evp_params, ptr %6373, i32 0, i32 0
  store ptr %6370, ptr %6374, align 8, !tbaa !50
  %6375 = load ptr, ptr %127, align 8, !tbaa !9
  %6376 = getelementptr inbounds %struct.s2n_connection, ptr %6375, i32 0, i32 23
  store i8 32, ptr %6376, align 4, !tbaa !42
  br label %6377

6377:                                             ; preds = %6367
  %6378 = load i32, ptr @test_count, align 4, !tbaa !5
  %6379 = add nsw i32 %6378, 1
  store i32 %6379, ptr @test_count, align 4, !tbaa !5
  %6380 = load ptr, ptr %127, align 8, !tbaa !9
  %6381 = call i32 @s2n_server_hello_send(ptr noundef %6380)
  %6382 = icmp eq i32 %6381, -1
  br i1 %6382, label %6383, label %6436

6383:                                             ; preds = %6377
  br label %6384

6384:                                             ; preds = %6383
  br label %6385

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

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

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

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

6431:                                             ; preds = %6414, %6397
  call void @llvm.lifetime.end.p0(i64 4, ptr %134) #10
  br label %6432

6432:                                             ; preds = %6431
  br label %6433

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

6434:                                             ; No predecessors!
  br label %6435

6435:                                             ; preds = %6434
  br label %6436

6436:                                             ; preds = %6435, %6377
  br label %6437

6437:                                             ; preds = %6436
  br label %6438

6438:                                             ; preds = %6437
  call void @llvm.lifetime.start.p0(i64 4, ptr %135) #10
  %6439 = load ptr, ptr %127, align 8, !tbaa !9
  %6440 = getelementptr inbounds %struct.s2n_connection, ptr %6439, i32 0, i32 52
  %6441 = getelementptr inbounds %struct.s2n_handshake, ptr %6440, i32 0, i32 0
  %6442 = getelementptr inbounds %struct.s2n_stuffer, ptr %6441, i32 0, i32 2
  %6443 = load i32, ptr %6442, align 4, !tbaa !58
  %6444 = load ptr, ptr %127, align 8, !tbaa !9
  %6445 = getelementptr inbounds %struct.s2n_connection, ptr %6444, i32 0, i32 52
  %6446 = getelementptr inbounds %struct.s2n_handshake, ptr %6445, i32 0, i32 0
  %6447 = getelementptr inbounds %struct.s2n_stuffer, ptr %6446, i32 0, i32 1
  %6448 = load i32, ptr %6447, align 8, !tbaa !59
  %6449 = sub i32 %6443, %6448
  store i32 %6449, ptr %135, align 4, !tbaa !5
  br label %6450

6450:                                             ; preds = %6438
  %6451 = load i32, ptr @test_count, align 4, !tbaa !5
  %6452 = add nsw i32 %6451, 1
  store i32 %6452, ptr @test_count, align 4, !tbaa !5
  %6453 = load ptr, ptr %127, align 8, !tbaa !9
  %6454 = getelementptr inbounds %struct.s2n_connection, ptr %6453, i32 0, i32 52
  %6455 = getelementptr inbounds %struct.s2n_handshake, ptr %6454, i32 0, i32 0
  %6456 = load ptr, ptr %125, align 8, !tbaa !9
  %6457 = getelementptr inbounds %struct.s2n_connection, ptr %6456, i32 0, i32 52
  %6458 = getelementptr inbounds %struct.s2n_handshake, ptr %6457, i32 0, i32 0
  %6459 = load i32, ptr %135, align 4, !tbaa !5
  %6460 = call i32 @s2n_stuffer_copy(ptr noundef %6455, ptr noundef %6458, i32 noundef %6459)
  %6461 = icmp eq i32 %6460, -1
  br i1 %6461, label %6462, label %6515

6462:                                             ; preds = %6450
  br label %6463

6463:                                             ; preds = %6462
  br label %6464

6464:                                             ; preds = %6463
  call void @llvm.lifetime.start.p0(i64 4, ptr %136) #10
  %6465 = call ptr @__errno_location() #11
  %6466 = load i32, ptr %6465, align 4, !tbaa !5
  store i32 %6466, ptr %136, align 4, !tbaa !5
  %6467 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6468 = call i32 @s2n_print_stacktrace(ptr noundef %6467)
  %6469 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6470 = trunc i8 %6469 to i1
  br i1 %6470, label %6471, label %6493

6471:                                             ; preds = %6464
  %6472 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6473 = call i32 @fileno(ptr noundef %6472) #10
  %6474 = call i32 @isatty(i32 noundef %6473) #10
  %6475 = icmp ne i32 %6474, 0
  br i1 %6475, label %6476, label %6493

6476:                                             ; preds = %6471
  %6477 = load i32, ptr %136, align 4, !tbaa !5
  %6478 = call ptr @__errno_location() #11
  store i32 %6477, ptr %6478, align 4, !tbaa !5
  %6479 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6480 = load i32, ptr @test_count, align 4, !tbaa !5
  %6481 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6482 = load i32, ptr %6481, align 4, !tbaa !5
  %6483 = call ptr @s2n_strerror(i32 noundef %6482, ptr noundef @.str.4)
  %6484 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6485 = load i32, ptr %6484, align 4, !tbaa !5
  %6486 = call ptr @s2n_strerror_debug(i32 noundef %6485, ptr noundef @.str.4)
  %6487 = call ptr @__errno_location() #11
  %6488 = load i32, ptr %6487, align 4, !tbaa !5
  %6489 = call ptr @strerror(i32 noundef %6488) #10
  %6490 = call ptr @__errno_location() #11
  %6491 = load i32, ptr %6490, align 4, !tbaa !5
  %6492 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6479, ptr noundef @.str.2, i32 noundef %6480, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 325, ptr noundef %6483, ptr noundef %6486, ptr noundef %6489, i32 noundef %6491) #10
  br label %6510

6493:                                             ; preds = %6471, %6464
  %6494 = load i32, ptr %136, align 4, !tbaa !5
  %6495 = call ptr @__errno_location() #11
  store i32 %6494, ptr %6495, align 4, !tbaa !5
  %6496 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6497 = load i32, ptr @test_count, align 4, !tbaa !5
  %6498 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6499 = load i32, ptr %6498, align 4, !tbaa !5
  %6500 = call ptr @s2n_strerror(i32 noundef %6499, ptr noundef @.str.4)
  %6501 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6502 = load i32, ptr %6501, align 4, !tbaa !5
  %6503 = call ptr @s2n_strerror_debug(i32 noundef %6502, ptr noundef @.str.4)
  %6504 = call ptr @__errno_location() #11
  %6505 = load i32, ptr %6504, align 4, !tbaa !5
  %6506 = call ptr @strerror(i32 noundef %6505) #10
  %6507 = call ptr @__errno_location() #11
  %6508 = load i32, ptr %6507, align 4, !tbaa !5
  %6509 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6496, ptr noundef @.str.5, i32 noundef %6497, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 325, ptr noundef %6500, ptr noundef %6503, ptr noundef %6506, i32 noundef %6508) #10
  br label %6510

6510:                                             ; preds = %6493, %6476
  call void @llvm.lifetime.end.p0(i64 4, ptr %136) #10
  br label %6511

6511:                                             ; preds = %6510
  br label %6512

6512:                                             ; preds = %6511
  call void @exit(i32 noundef 1) #12
  unreachable

6513:                                             ; No predecessors!
  br label %6514

6514:                                             ; preds = %6513
  br label %6515

6515:                                             ; preds = %6514, %6450
  br label %6516

6516:                                             ; preds = %6515
  br label %6517

6517:                                             ; preds = %6516
  call void @llvm.lifetime.start.p0(i64 8, ptr %137) #10
  %6518 = load ptr, ptr %125, align 8, !tbaa !9
  %6519 = getelementptr inbounds %struct.s2n_connection, ptr %6518, i32 0, i32 52
  %6520 = getelementptr inbounds %struct.s2n_handshake, ptr %6519, i32 0, i32 0
  store ptr %6520, ptr %137, align 8, !tbaa !9
  br label %6521

6521:                                             ; preds = %6517
  br label %6522

6522:                                             ; preds = %6521
  %6523 = load i32, ptr @test_count, align 4, !tbaa !5
  %6524 = add nsw i32 %6523, 1
  store i32 %6524, ptr @test_count, align 4, !tbaa !5
  %6525 = load ptr, ptr %137, align 8, !tbaa !9
  %6526 = getelementptr inbounds %struct.s2n_stuffer, ptr %6525, i32 0, i32 0
  %6527 = getelementptr inbounds %struct.s2n_blob, ptr %6526, i32 0, i32 0
  %6528 = load ptr, ptr %6527, align 8, !tbaa !43
  %6529 = getelementptr inbounds i8, ptr %6528, i64 26
  %6530 = call i32 @memcmp(ptr noundef %6529, ptr noundef @tls11_downgrade_protection_check_bytes, i64 noundef 8) #13
  %6531 = icmp eq i32 %6530, 0
  br i1 %6531, label %6585, label %6532

6532:                                             ; preds = %6522
  br label %6533

6533:                                             ; preds = %6532
  br label %6534

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

6541:                                             ; preds = %6534
  %6542 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6543 = call i32 @fileno(ptr noundef %6542) #10
  %6544 = call i32 @isatty(i32 noundef %6543) #10
  %6545 = icmp ne i32 %6544, 0
  br i1 %6545, label %6546, label %6563

6546:                                             ; preds = %6541
  %6547 = load i32, ptr %138, align 4, !tbaa !5
  %6548 = call ptr @__errno_location() #11
  store i32 %6547, ptr %6548, align 4, !tbaa !5
  %6549 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6550 = load i32, ptr @test_count, align 4, !tbaa !5
  %6551 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6552 = load i32, ptr %6551, align 4, !tbaa !5
  %6553 = call ptr @s2n_strerror(i32 noundef %6552, ptr noundef @.str.4)
  %6554 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6555 = load i32, ptr %6554, align 4, !tbaa !5
  %6556 = call ptr @s2n_strerror_debug(i32 noundef %6555, ptr noundef @.str.4)
  %6557 = call ptr @__errno_location() #11
  %6558 = load i32, ptr %6557, align 4, !tbaa !5
  %6559 = call ptr @strerror(i32 noundef %6558) #10
  %6560 = call ptr @__errno_location() #11
  %6561 = load i32, ptr %6560, align 4, !tbaa !5
  %6562 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6549, ptr noundef @.str.2, i32 noundef %6550, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 329, ptr noundef %6553, ptr noundef %6556, ptr noundef %6559, i32 noundef %6561) #10
  br label %6580

6563:                                             ; preds = %6541, %6534
  %6564 = load i32, ptr %138, align 4, !tbaa !5
  %6565 = call ptr @__errno_location() #11
  store i32 %6564, ptr %6565, align 4, !tbaa !5
  %6566 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6567 = load i32, ptr @test_count, align 4, !tbaa !5
  %6568 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6569 = load i32, ptr %6568, align 4, !tbaa !5
  %6570 = call ptr @s2n_strerror(i32 noundef %6569, ptr noundef @.str.4)
  %6571 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6572 = load i32, ptr %6571, align 4, !tbaa !5
  %6573 = call ptr @s2n_strerror_debug(i32 noundef %6572, ptr noundef @.str.4)
  %6574 = call ptr @__errno_location() #11
  %6575 = load i32, ptr %6574, align 4, !tbaa !5
  %6576 = call ptr @strerror(i32 noundef %6575) #10
  %6577 = call ptr @__errno_location() #11
  %6578 = load i32, ptr %6577, align 4, !tbaa !5
  %6579 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6566, ptr noundef @.str.5, i32 noundef %6567, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 329, ptr noundef %6570, ptr noundef %6573, ptr noundef %6576, i32 noundef %6578) #10
  br label %6580

6580:                                             ; preds = %6563, %6546
  call void @llvm.lifetime.end.p0(i64 4, ptr %138) #10
  br label %6581

6581:                                             ; preds = %6580
  br label %6582

6582:                                             ; preds = %6581
  call void @exit(i32 noundef 1) #12
  unreachable

6583:                                             ; No predecessors!
  br label %6584

6584:                                             ; preds = %6583
  br label %6585

6585:                                             ; preds = %6584, %6522
  br label %6586

6586:                                             ; preds = %6585
  br label %6587

6587:                                             ; preds = %6586
  br label %6588

6588:                                             ; preds = %6587
  br label %6589

6589:                                             ; preds = %6588
  br label %6590

6590:                                             ; preds = %6589
  br label %6591

6591:                                             ; preds = %6590
  br label %6592

6592:                                             ; preds = %6591
  %6593 = load i32, ptr @test_count, align 4, !tbaa !5
  %6594 = add nsw i32 %6593, 1
  store i32 %6594, ptr @test_count, align 4, !tbaa !5
  %6595 = load ptr, ptr %125, align 8, !tbaa !9
  %6596 = call i32 @s2n_server_hello_recv(ptr noundef %6595)
  %6597 = icmp eq i32 %6596, -1
  br i1 %6597, label %6651, label %6598

6598:                                             ; preds = %6592
  br label %6599

6599:                                             ; preds = %6598
  br label %6600

6600:                                             ; preds = %6599
  call void @llvm.lifetime.start.p0(i64 4, ptr %139) #10
  %6601 = call ptr @__errno_location() #11
  %6602 = load i32, ptr %6601, align 4, !tbaa !5
  store i32 %6602, ptr %139, align 4, !tbaa !5
  %6603 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6604 = call i32 @s2n_print_stacktrace(ptr noundef %6603)
  %6605 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6606 = trunc i8 %6605 to i1
  br i1 %6606, label %6607, label %6629

6607:                                             ; preds = %6600
  %6608 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6609 = call i32 @fileno(ptr noundef %6608) #10
  %6610 = call i32 @isatty(i32 noundef %6609) #10
  %6611 = icmp ne i32 %6610, 0
  br i1 %6611, label %6612, label %6629

6612:                                             ; preds = %6607
  %6613 = load i32, ptr %139, align 4, !tbaa !5
  %6614 = call ptr @__errno_location() #11
  store i32 %6613, ptr %6614, align 4, !tbaa !5
  %6615 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6616 = load i32, ptr @test_count, align 4, !tbaa !5
  %6617 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6618 = load i32, ptr %6617, align 4, !tbaa !5
  %6619 = call ptr @s2n_strerror(i32 noundef %6618, ptr noundef @.str.4)
  %6620 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6621 = load i32, ptr %6620, align 4, !tbaa !5
  %6622 = call ptr @s2n_strerror_debug(i32 noundef %6621, ptr noundef @.str.4)
  %6623 = call ptr @__errno_location() #11
  %6624 = load i32, ptr %6623, align 4, !tbaa !5
  %6625 = call ptr @strerror(i32 noundef %6624) #10
  %6626 = call ptr @__errno_location() #11
  %6627 = load i32, ptr %6626, align 4, !tbaa !5
  %6628 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6615, ptr noundef @.str.2, i32 noundef %6616, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 330, ptr noundef %6619, ptr noundef %6622, ptr noundef %6625, i32 noundef %6627) #10
  br label %6646

6629:                                             ; preds = %6607, %6600
  %6630 = load i32, ptr %139, align 4, !tbaa !5
  %6631 = call ptr @__errno_location() #11
  store i32 %6630, ptr %6631, align 4, !tbaa !5
  %6632 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6633 = load i32, ptr @test_count, align 4, !tbaa !5
  %6634 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6635 = load i32, ptr %6634, align 4, !tbaa !5
  %6636 = call ptr @s2n_strerror(i32 noundef %6635, ptr noundef @.str.4)
  %6637 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6638 = load i32, ptr %6637, align 4, !tbaa !5
  %6639 = call ptr @s2n_strerror_debug(i32 noundef %6638, ptr noundef @.str.4)
  %6640 = call ptr @__errno_location() #11
  %6641 = load i32, ptr %6640, align 4, !tbaa !5
  %6642 = call ptr @strerror(i32 noundef %6641) #10
  %6643 = call ptr @__errno_location() #11
  %6644 = load i32, ptr %6643, align 4, !tbaa !5
  %6645 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6632, ptr noundef @.str.5, i32 noundef %6633, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 330, ptr noundef %6636, ptr noundef %6639, ptr noundef %6642, i32 noundef %6644) #10
  br label %6646

6646:                                             ; preds = %6629, %6612
  call void @llvm.lifetime.end.p0(i64 4, ptr %139) #10
  br label %6647

6647:                                             ; preds = %6646
  br label %6648

6648:                                             ; preds = %6647
  call void @exit(i32 noundef 1) #12
  unreachable

6649:                                             ; No predecessors!
  br label %6650

6650:                                             ; preds = %6649
  br label %6651

6651:                                             ; preds = %6650, %6592
  br label %6652

6652:                                             ; preds = %6651
  br label %6653

6653:                                             ; preds = %6652
  br label %6654

6654:                                             ; preds = %6653
  %6655 = load i32, ptr @test_count, align 4, !tbaa !5
  %6656 = add nsw i32 %6655, 1
  store i32 %6656, ptr @test_count, align 4, !tbaa !5
  %6657 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6658 = load i32, ptr %6657, align 4, !tbaa !5
  %6659 = icmp eq i32 %6658, 335544387
  br i1 %6659, label %6713, label %6660

6660:                                             ; preds = %6654
  br label %6661

6661:                                             ; preds = %6660
  br label %6662

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

6669:                                             ; preds = %6662
  %6670 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6671 = call i32 @fileno(ptr noundef %6670) #10
  %6672 = call i32 @isatty(i32 noundef %6671) #10
  %6673 = icmp ne i32 %6672, 0
  br i1 %6673, label %6674, label %6691

6674:                                             ; preds = %6669
  %6675 = load i32, ptr %140, align 4, !tbaa !5
  %6676 = call ptr @__errno_location() #11
  store i32 %6675, ptr %6676, align 4, !tbaa !5
  %6677 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6678 = load i32, ptr @test_count, align 4, !tbaa !5
  %6679 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6680 = load i32, ptr %6679, align 4, !tbaa !5
  %6681 = call ptr @s2n_strerror(i32 noundef %6680, ptr noundef @.str.4)
  %6682 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6683 = load i32, ptr %6682, align 4, !tbaa !5
  %6684 = call ptr @s2n_strerror_debug(i32 noundef %6683, ptr noundef @.str.4)
  %6685 = call ptr @__errno_location() #11
  %6686 = load i32, ptr %6685, align 4, !tbaa !5
  %6687 = call ptr @strerror(i32 noundef %6686) #10
  %6688 = call ptr @__errno_location() #11
  %6689 = load i32, ptr %6688, align 4, !tbaa !5
  %6690 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6677, ptr noundef @.str.2, i32 noundef %6678, ptr noundef @.str.56, ptr noundef @.str.1, i32 noundef 330, ptr noundef %6681, ptr noundef %6684, ptr noundef %6687, i32 noundef %6689) #10
  br label %6708

6691:                                             ; preds = %6669, %6662
  %6692 = load i32, ptr %140, align 4, !tbaa !5
  %6693 = call ptr @__errno_location() #11
  store i32 %6692, ptr %6693, align 4, !tbaa !5
  %6694 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6695 = load i32, ptr @test_count, align 4, !tbaa !5
  %6696 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6697 = load i32, ptr %6696, align 4, !tbaa !5
  %6698 = call ptr @s2n_strerror(i32 noundef %6697, ptr noundef @.str.4)
  %6699 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6700 = load i32, ptr %6699, align 4, !tbaa !5
  %6701 = call ptr @s2n_strerror_debug(i32 noundef %6700, ptr noundef @.str.4)
  %6702 = call ptr @__errno_location() #11
  %6703 = load i32, ptr %6702, align 4, !tbaa !5
  %6704 = call ptr @strerror(i32 noundef %6703) #10
  %6705 = call ptr @__errno_location() #11
  %6706 = load i32, ptr %6705, align 4, !tbaa !5
  %6707 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6694, ptr noundef @.str.5, i32 noundef %6695, ptr noundef @.str.56, ptr noundef @.str.1, i32 noundef 330, ptr noundef %6698, ptr noundef %6701, ptr noundef %6704, i32 noundef %6706) #10
  br label %6708

6708:                                             ; preds = %6691, %6674
  call void @llvm.lifetime.end.p0(i64 4, ptr %140) #10
  br label %6709

6709:                                             ; preds = %6708
  br label %6710

6710:                                             ; preds = %6709
  call void @exit(i32 noundef 1) #12
  unreachable

6711:                                             ; No predecessors!
  br label %6712

6712:                                             ; preds = %6711
  br label %6713

6713:                                             ; preds = %6712, %6654
  br label %6714

6714:                                             ; preds = %6713
  br label %6715

6715:                                             ; preds = %6714
  br label %6716

6716:                                             ; preds = %6715
  %6717 = load i32, ptr @test_count, align 4, !tbaa !5
  %6718 = add nsw i32 %6717, 1
  store i32 %6718, ptr @test_count, align 4, !tbaa !5
  %6719 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6720 = load i32, ptr %6719, align 4, !tbaa !5
  %6721 = call ptr @s2n_strerror_debug(i32 noundef %6720, ptr noundef @.str.4)
  %6722 = icmp eq ptr %6721, null
  br i1 %6722, label %6723, label %6776

6723:                                             ; preds = %6716
  br label %6724

6724:                                             ; preds = %6723
  br label %6725

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

6732:                                             ; preds = %6725
  %6733 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6734 = call i32 @fileno(ptr noundef %6733) #10
  %6735 = call i32 @isatty(i32 noundef %6734) #10
  %6736 = icmp ne i32 %6735, 0
  br i1 %6736, label %6737, label %6754

6737:                                             ; preds = %6732
  %6738 = load i32, ptr %141, align 4, !tbaa !5
  %6739 = call ptr @__errno_location() #11
  store i32 %6738, ptr %6739, align 4, !tbaa !5
  %6740 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6741 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %6743, ptr noundef @.str.4)
  %6745 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6746 = load i32, ptr %6745, align 4, !tbaa !5
  %6747 = call ptr @s2n_strerror_debug(i32 noundef %6746, ptr noundef @.str.4)
  %6748 = call ptr @__errno_location() #11
  %6749 = load i32, ptr %6748, align 4, !tbaa !5
  %6750 = call ptr @strerror(i32 noundef %6749) #10
  %6751 = call ptr @__errno_location() #11
  %6752 = load i32, ptr %6751, align 4, !tbaa !5
  %6753 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6740, ptr noundef @.str.2, i32 noundef %6741, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 330, ptr noundef %6744, ptr noundef %6747, ptr noundef %6750, i32 noundef %6752) #10
  br label %6771

6754:                                             ; preds = %6732, %6725
  %6755 = load i32, ptr %141, align 4, !tbaa !5
  %6756 = call ptr @__errno_location() #11
  store i32 %6755, ptr %6756, align 4, !tbaa !5
  %6757 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6758 = load i32, ptr @test_count, align 4, !tbaa !5
  %6759 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6760 = load i32, ptr %6759, align 4, !tbaa !5
  %6761 = call ptr @s2n_strerror(i32 noundef %6760, ptr noundef @.str.4)
  %6762 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6763 = load i32, ptr %6762, align 4, !tbaa !5
  %6764 = call ptr @s2n_strerror_debug(i32 noundef %6763, ptr noundef @.str.4)
  %6765 = call ptr @__errno_location() #11
  %6766 = load i32, ptr %6765, align 4, !tbaa !5
  %6767 = call ptr @strerror(i32 noundef %6766) #10
  %6768 = call ptr @__errno_location() #11
  %6769 = load i32, ptr %6768, align 4, !tbaa !5
  %6770 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6757, ptr noundef @.str.5, i32 noundef %6758, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 330, ptr noundef %6761, ptr noundef %6764, ptr noundef %6767, i32 noundef %6769) #10
  br label %6771

6771:                                             ; preds = %6754, %6737
  call void @llvm.lifetime.end.p0(i64 4, ptr %141) #10
  br label %6772

6772:                                             ; preds = %6771
  br label %6773

6773:                                             ; preds = %6772
  call void @exit(i32 noundef 1) #12
  unreachable

6774:                                             ; No predecessors!
  br label %6775

6775:                                             ; preds = %6774
  br label %6776

6776:                                             ; preds = %6775, %6716
  br label %6777

6777:                                             ; preds = %6776
  br label %6778

6778:                                             ; preds = %6777
  br label %6779

6779:                                             ; preds = %6778
  br label %6780

6780:                                             ; preds = %6779
  br label %6781

6781:                                             ; preds = %6780
  %6782 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %6782, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %6783 = call ptr @__errno_location() #11
  store i32 0, ptr %6783, align 4, !tbaa !5
  br label %6784

6784:                                             ; preds = %6781
  br label %6785

6785:                                             ; preds = %6784
  br label %6786

6786:                                             ; preds = %6785
  br label %6787

6787:                                             ; preds = %6786
  br label %6788

6788:                                             ; preds = %6787
  %6789 = load i32, ptr @test_count, align 4, !tbaa !5
  %6790 = add nsw i32 %6789, 1
  store i32 %6790, ptr @test_count, align 4, !tbaa !5
  %6791 = load ptr, ptr %137, align 8, !tbaa !9
  %6792 = getelementptr inbounds %struct.s2n_stuffer, ptr %6791, i32 0, i32 2
  %6793 = load i32, ptr %6792, align 4, !tbaa !45
  %6794 = load ptr, ptr %137, align 8, !tbaa !9
  %6795 = getelementptr inbounds %struct.s2n_stuffer, ptr %6794, i32 0, i32 1
  %6796 = load i32, ptr %6795, align 8, !tbaa !46
  %6797 = sub i32 %6793, %6796
  %6798 = icmp eq i32 %6797, 0
  br i1 %6798, label %6852, label %6799

6799:                                             ; preds = %6788
  br label %6800

6800:                                             ; preds = %6799
  br label %6801

6801:                                             ; preds = %6800
  call void @llvm.lifetime.start.p0(i64 4, ptr %142) #10
  %6802 = call ptr @__errno_location() #11
  %6803 = load i32, ptr %6802, align 4, !tbaa !5
  store i32 %6803, ptr %142, align 4, !tbaa !5
  %6804 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6805 = call i32 @s2n_print_stacktrace(ptr noundef %6804)
  %6806 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6807 = trunc i8 %6806 to i1
  br i1 %6807, label %6808, label %6830

6808:                                             ; preds = %6801
  %6809 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6810 = call i32 @fileno(ptr noundef %6809) #10
  %6811 = call i32 @isatty(i32 noundef %6810) #10
  %6812 = icmp ne i32 %6811, 0
  br i1 %6812, label %6813, label %6830

6813:                                             ; preds = %6808
  %6814 = load i32, ptr %142, align 4, !tbaa !5
  %6815 = call ptr @__errno_location() #11
  store i32 %6814, ptr %6815, align 4, !tbaa !5
  %6816 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6817 = load i32, ptr @test_count, align 4, !tbaa !5
  %6818 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6819 = load i32, ptr %6818, align 4, !tbaa !5
  %6820 = call ptr @s2n_strerror(i32 noundef %6819, ptr noundef @.str.4)
  %6821 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6822 = load i32, ptr %6821, align 4, !tbaa !5
  %6823 = call ptr @s2n_strerror_debug(i32 noundef %6822, ptr noundef @.str.4)
  %6824 = call ptr @__errno_location() #11
  %6825 = load i32, ptr %6824, align 4, !tbaa !5
  %6826 = call ptr @strerror(i32 noundef %6825) #10
  %6827 = call ptr @__errno_location() #11
  %6828 = load i32, ptr %6827, align 4, !tbaa !5
  %6829 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6816, ptr noundef @.str.2, i32 noundef %6817, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 332, ptr noundef %6820, ptr noundef %6823, ptr noundef %6826, i32 noundef %6828) #10
  br label %6847

6830:                                             ; preds = %6808, %6801
  %6831 = load i32, ptr %142, align 4, !tbaa !5
  %6832 = call ptr @__errno_location() #11
  store i32 %6831, ptr %6832, align 4, !tbaa !5
  %6833 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6834 = load i32, ptr @test_count, align 4, !tbaa !5
  %6835 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6836 = load i32, ptr %6835, align 4, !tbaa !5
  %6837 = call ptr @s2n_strerror(i32 noundef %6836, ptr noundef @.str.4)
  %6838 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6839 = load i32, ptr %6838, align 4, !tbaa !5
  %6840 = call ptr @s2n_strerror_debug(i32 noundef %6839, ptr noundef @.str.4)
  %6841 = call ptr @__errno_location() #11
  %6842 = load i32, ptr %6841, align 4, !tbaa !5
  %6843 = call ptr @strerror(i32 noundef %6842) #10
  %6844 = call ptr @__errno_location() #11
  %6845 = load i32, ptr %6844, align 4, !tbaa !5
  %6846 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6833, ptr noundef @.str.5, i32 noundef %6834, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 332, ptr noundef %6837, ptr noundef %6840, ptr noundef %6843, i32 noundef %6845) #10
  br label %6847

6847:                                             ; preds = %6830, %6813
  call void @llvm.lifetime.end.p0(i64 4, ptr %142) #10
  br label %6848

6848:                                             ; preds = %6847
  br label %6849

6849:                                             ; preds = %6848
  call void @exit(i32 noundef 1) #12
  unreachable

6850:                                             ; No predecessors!
  br label %6851

6851:                                             ; preds = %6850
  br label %6852

6852:                                             ; preds = %6851, %6788
  br label %6853

6853:                                             ; preds = %6852
  br label %6854

6854:                                             ; preds = %6853
  br label %6855

6855:                                             ; preds = %6854
  %6856 = load i32, ptr @test_count, align 4, !tbaa !5
  %6857 = add nsw i32 %6856, 1
  store i32 %6857, ptr @test_count, align 4, !tbaa !5
  %6858 = load ptr, ptr %124, align 8, !tbaa !9
  %6859 = call i32 @s2n_config_free(ptr noundef %6858)
  %6860 = icmp eq i32 %6859, -1
  br i1 %6860, label %6861, label %6914

6861:                                             ; preds = %6855
  br label %6862

6862:                                             ; preds = %6861
  br label %6863

6863:                                             ; preds = %6862
  call void @llvm.lifetime.start.p0(i64 4, ptr %143) #10
  %6864 = call ptr @__errno_location() #11
  %6865 = load i32, ptr %6864, align 4, !tbaa !5
  store i32 %6865, ptr %143, align 4, !tbaa !5
  %6866 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6867 = call i32 @s2n_print_stacktrace(ptr noundef %6866)
  %6868 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6869 = trunc i8 %6868 to i1
  br i1 %6869, label %6870, label %6892

6870:                                             ; preds = %6863
  %6871 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6872 = call i32 @fileno(ptr noundef %6871) #10
  %6873 = call i32 @isatty(i32 noundef %6872) #10
  %6874 = icmp ne i32 %6873, 0
  br i1 %6874, label %6875, label %6892

6875:                                             ; preds = %6870
  %6876 = load i32, ptr %143, align 4, !tbaa !5
  %6877 = call ptr @__errno_location() #11
  store i32 %6876, ptr %6877, align 4, !tbaa !5
  %6878 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6879 = load i32, ptr @test_count, align 4, !tbaa !5
  %6880 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6881 = load i32, ptr %6880, align 4, !tbaa !5
  %6882 = call ptr @s2n_strerror(i32 noundef %6881, ptr noundef @.str.4)
  %6883 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6884 = load i32, ptr %6883, align 4, !tbaa !5
  %6885 = call ptr @s2n_strerror_debug(i32 noundef %6884, ptr noundef @.str.4)
  %6886 = call ptr @__errno_location() #11
  %6887 = load i32, ptr %6886, align 4, !tbaa !5
  %6888 = call ptr @strerror(i32 noundef %6887) #10
  %6889 = call ptr @__errno_location() #11
  %6890 = load i32, ptr %6889, align 4, !tbaa !5
  %6891 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6878, ptr noundef @.str.2, i32 noundef %6879, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 334, ptr noundef %6882, ptr noundef %6885, ptr noundef %6888, i32 noundef %6890) #10
  br label %6909

6892:                                             ; preds = %6870, %6863
  %6893 = load i32, ptr %143, align 4, !tbaa !5
  %6894 = call ptr @__errno_location() #11
  store i32 %6893, ptr %6894, align 4, !tbaa !5
  %6895 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6896 = load i32, ptr @test_count, align 4, !tbaa !5
  %6897 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6898 = load i32, ptr %6897, align 4, !tbaa !5
  %6899 = call ptr @s2n_strerror(i32 noundef %6898, ptr noundef @.str.4)
  %6900 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6901 = load i32, ptr %6900, align 4, !tbaa !5
  %6902 = call ptr @s2n_strerror_debug(i32 noundef %6901, ptr noundef @.str.4)
  %6903 = call ptr @__errno_location() #11
  %6904 = load i32, ptr %6903, align 4, !tbaa !5
  %6905 = call ptr @strerror(i32 noundef %6904) #10
  %6906 = call ptr @__errno_location() #11
  %6907 = load i32, ptr %6906, align 4, !tbaa !5
  %6908 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6895, ptr noundef @.str.5, i32 noundef %6896, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 334, ptr noundef %6899, ptr noundef %6902, ptr noundef %6905, i32 noundef %6907) #10
  br label %6909

6909:                                             ; preds = %6892, %6875
  call void @llvm.lifetime.end.p0(i64 4, ptr %143) #10
  br label %6910

6910:                                             ; preds = %6909
  br label %6911

6911:                                             ; preds = %6910
  call void @exit(i32 noundef 1) #12
  unreachable

6912:                                             ; No predecessors!
  br label %6913

6913:                                             ; preds = %6912
  br label %6914

6914:                                             ; preds = %6913, %6855
  br label %6915

6915:                                             ; preds = %6914
  br label %6916

6916:                                             ; preds = %6915
  br label %6917

6917:                                             ; preds = %6916
  %6918 = load i32, ptr @test_count, align 4, !tbaa !5
  %6919 = add nsw i32 %6918, 1
  store i32 %6919, ptr @test_count, align 4, !tbaa !5
  %6920 = load ptr, ptr %126, align 8, !tbaa !9
  %6921 = call i32 @s2n_config_free(ptr noundef %6920)
  %6922 = icmp eq i32 %6921, -1
  br i1 %6922, label %6923, label %6976

6923:                                             ; preds = %6917
  br label %6924

6924:                                             ; preds = %6923
  br label %6925

6925:                                             ; preds = %6924
  call void @llvm.lifetime.start.p0(i64 4, ptr %144) #10
  %6926 = call ptr @__errno_location() #11
  %6927 = load i32, ptr %6926, align 4, !tbaa !5
  store i32 %6927, ptr %144, align 4, !tbaa !5
  %6928 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6929 = call i32 @s2n_print_stacktrace(ptr noundef %6928)
  %6930 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6931 = trunc i8 %6930 to i1
  br i1 %6931, label %6932, label %6954

6932:                                             ; preds = %6925
  %6933 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6934 = call i32 @fileno(ptr noundef %6933) #10
  %6935 = call i32 @isatty(i32 noundef %6934) #10
  %6936 = icmp ne i32 %6935, 0
  br i1 %6936, label %6937, label %6954

6937:                                             ; preds = %6932
  %6938 = load i32, ptr %144, align 4, !tbaa !5
  %6939 = call ptr @__errno_location() #11
  store i32 %6938, ptr %6939, align 4, !tbaa !5
  %6940 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6941 = load i32, ptr @test_count, align 4, !tbaa !5
  %6942 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6943 = load i32, ptr %6942, align 4, !tbaa !5
  %6944 = call ptr @s2n_strerror(i32 noundef %6943, ptr noundef @.str.4)
  %6945 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6946 = load i32, ptr %6945, align 4, !tbaa !5
  %6947 = call ptr @s2n_strerror_debug(i32 noundef %6946, ptr noundef @.str.4)
  %6948 = call ptr @__errno_location() #11
  %6949 = load i32, ptr %6948, align 4, !tbaa !5
  %6950 = call ptr @strerror(i32 noundef %6949) #10
  %6951 = call ptr @__errno_location() #11
  %6952 = load i32, ptr %6951, align 4, !tbaa !5
  %6953 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6940, ptr noundef @.str.2, i32 noundef %6941, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 335, ptr noundef %6944, ptr noundef %6947, ptr noundef %6950, i32 noundef %6952) #10
  br label %6971

6954:                                             ; preds = %6932, %6925
  %6955 = load i32, ptr %144, align 4, !tbaa !5
  %6956 = call ptr @__errno_location() #11
  store i32 %6955, ptr %6956, align 4, !tbaa !5
  %6957 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6958 = load i32, ptr @test_count, align 4, !tbaa !5
  %6959 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6960 = load i32, ptr %6959, align 4, !tbaa !5
  %6961 = call ptr @s2n_strerror(i32 noundef %6960, ptr noundef @.str.4)
  %6962 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6963 = load i32, ptr %6962, align 4, !tbaa !5
  %6964 = call ptr @s2n_strerror_debug(i32 noundef %6963, ptr noundef @.str.4)
  %6965 = call ptr @__errno_location() #11
  %6966 = load i32, ptr %6965, align 4, !tbaa !5
  %6967 = call ptr @strerror(i32 noundef %6966) #10
  %6968 = call ptr @__errno_location() #11
  %6969 = load i32, ptr %6968, align 4, !tbaa !5
  %6970 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6957, ptr noundef @.str.5, i32 noundef %6958, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 335, ptr noundef %6961, ptr noundef %6964, ptr noundef %6967, i32 noundef %6969) #10
  br label %6971

6971:                                             ; preds = %6954, %6937
  call void @llvm.lifetime.end.p0(i64 4, ptr %144) #10
  br label %6972

6972:                                             ; preds = %6971
  br label %6973

6973:                                             ; preds = %6972
  call void @exit(i32 noundef 1) #12
  unreachable

6974:                                             ; No predecessors!
  br label %6975

6975:                                             ; preds = %6974
  br label %6976

6976:                                             ; preds = %6975, %6917
  br label %6977

6977:                                             ; preds = %6976
  br label %6978

6978:                                             ; preds = %6977
  br label %6979

6979:                                             ; preds = %6978
  %6980 = load i32, ptr @test_count, align 4, !tbaa !5
  %6981 = add nsw i32 %6980, 1
  store i32 %6981, ptr @test_count, align 4, !tbaa !5
  %6982 = load ptr, ptr %125, align 8, !tbaa !9
  %6983 = call i32 @s2n_connection_free(ptr noundef %6982)
  %6984 = icmp eq i32 %6983, -1
  br i1 %6984, label %6985, label %7038

6985:                                             ; preds = %6979
  br label %6986

6986:                                             ; preds = %6985
  br label %6987

6987:                                             ; preds = %6986
  call void @llvm.lifetime.start.p0(i64 4, ptr %145) #10
  %6988 = call ptr @__errno_location() #11
  %6989 = load i32, ptr %6988, align 4, !tbaa !5
  store i32 %6989, ptr %145, align 4, !tbaa !5
  %6990 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6991 = call i32 @s2n_print_stacktrace(ptr noundef %6990)
  %6992 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6993 = trunc i8 %6992 to i1
  br i1 %6993, label %6994, label %7016

6994:                                             ; preds = %6987
  %6995 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6996 = call i32 @fileno(ptr noundef %6995) #10
  %6997 = call i32 @isatty(i32 noundef %6996) #10
  %6998 = icmp ne i32 %6997, 0
  br i1 %6998, label %6999, label %7016

6999:                                             ; preds = %6994
  %7000 = load i32, ptr %145, align 4, !tbaa !5
  %7001 = call ptr @__errno_location() #11
  store i32 %7000, ptr %7001, align 4, !tbaa !5
  %7002 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7003 = load i32, ptr @test_count, align 4, !tbaa !5
  %7004 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7005 = load i32, ptr %7004, align 4, !tbaa !5
  %7006 = call ptr @s2n_strerror(i32 noundef %7005, ptr noundef @.str.4)
  %7007 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7008 = load i32, ptr %7007, align 4, !tbaa !5
  %7009 = call ptr @s2n_strerror_debug(i32 noundef %7008, ptr noundef @.str.4)
  %7010 = call ptr @__errno_location() #11
  %7011 = load i32, ptr %7010, align 4, !tbaa !5
  %7012 = call ptr @strerror(i32 noundef %7011) #10
  %7013 = call ptr @__errno_location() #11
  %7014 = load i32, ptr %7013, align 4, !tbaa !5
  %7015 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7002, ptr noundef @.str.2, i32 noundef %7003, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 336, ptr noundef %7006, ptr noundef %7009, ptr noundef %7012, i32 noundef %7014) #10
  br label %7033

7016:                                             ; preds = %6994, %6987
  %7017 = load i32, ptr %145, align 4, !tbaa !5
  %7018 = call ptr @__errno_location() #11
  store i32 %7017, ptr %7018, align 4, !tbaa !5
  %7019 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7020 = load i32, ptr @test_count, align 4, !tbaa !5
  %7021 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7022 = load i32, ptr %7021, align 4, !tbaa !5
  %7023 = call ptr @s2n_strerror(i32 noundef %7022, ptr noundef @.str.4)
  %7024 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7025 = load i32, ptr %7024, align 4, !tbaa !5
  %7026 = call ptr @s2n_strerror_debug(i32 noundef %7025, ptr noundef @.str.4)
  %7027 = call ptr @__errno_location() #11
  %7028 = load i32, ptr %7027, align 4, !tbaa !5
  %7029 = call ptr @strerror(i32 noundef %7028) #10
  %7030 = call ptr @__errno_location() #11
  %7031 = load i32, ptr %7030, align 4, !tbaa !5
  %7032 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7019, ptr noundef @.str.5, i32 noundef %7020, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 336, ptr noundef %7023, ptr noundef %7026, ptr noundef %7029, i32 noundef %7031) #10
  br label %7033

7033:                                             ; preds = %7016, %6999
  call void @llvm.lifetime.end.p0(i64 4, ptr %145) #10
  br label %7034

7034:                                             ; preds = %7033
  br label %7035

7035:                                             ; preds = %7034
  call void @exit(i32 noundef 1) #12
  unreachable

7036:                                             ; No predecessors!
  br label %7037

7037:                                             ; preds = %7036
  br label %7038

7038:                                             ; preds = %7037, %6979
  br label %7039

7039:                                             ; preds = %7038
  br label %7040

7040:                                             ; preds = %7039
  br label %7041

7041:                                             ; preds = %7040
  %7042 = load i32, ptr @test_count, align 4, !tbaa !5
  %7043 = add nsw i32 %7042, 1
  store i32 %7043, ptr @test_count, align 4, !tbaa !5
  %7044 = load ptr, ptr %127, align 8, !tbaa !9
  %7045 = call i32 @s2n_connection_free(ptr noundef %7044)
  %7046 = icmp eq i32 %7045, -1
  br i1 %7046, label %7047, label %7100

7047:                                             ; preds = %7041
  br label %7048

7048:                                             ; preds = %7047
  br label %7049

7049:                                             ; preds = %7048
  call void @llvm.lifetime.start.p0(i64 4, ptr %146) #10
  %7050 = call ptr @__errno_location() #11
  %7051 = load i32, ptr %7050, align 4, !tbaa !5
  store i32 %7051, ptr %146, align 4, !tbaa !5
  %7052 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7053 = call i32 @s2n_print_stacktrace(ptr noundef %7052)
  %7054 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7055 = trunc i8 %7054 to i1
  br i1 %7055, label %7056, label %7078

7056:                                             ; preds = %7049
  %7057 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7058 = call i32 @fileno(ptr noundef %7057) #10
  %7059 = call i32 @isatty(i32 noundef %7058) #10
  %7060 = icmp ne i32 %7059, 0
  br i1 %7060, label %7061, label %7078

7061:                                             ; preds = %7056
  %7062 = load i32, ptr %146, align 4, !tbaa !5
  %7063 = call ptr @__errno_location() #11
  store i32 %7062, ptr %7063, align 4, !tbaa !5
  %7064 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7065 = load i32, ptr @test_count, align 4, !tbaa !5
  %7066 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7067 = load i32, ptr %7066, align 4, !tbaa !5
  %7068 = call ptr @s2n_strerror(i32 noundef %7067, ptr noundef @.str.4)
  %7069 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7070 = load i32, ptr %7069, align 4, !tbaa !5
  %7071 = call ptr @s2n_strerror_debug(i32 noundef %7070, ptr noundef @.str.4)
  %7072 = call ptr @__errno_location() #11
  %7073 = load i32, ptr %7072, align 4, !tbaa !5
  %7074 = call ptr @strerror(i32 noundef %7073) #10
  %7075 = call ptr @__errno_location() #11
  %7076 = load i32, ptr %7075, align 4, !tbaa !5
  %7077 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7064, ptr noundef @.str.2, i32 noundef %7065, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 337, ptr noundef %7068, ptr noundef %7071, ptr noundef %7074, i32 noundef %7076) #10
  br label %7095

7078:                                             ; preds = %7056, %7049
  %7079 = load i32, ptr %146, align 4, !tbaa !5
  %7080 = call ptr @__errno_location() #11
  store i32 %7079, ptr %7080, align 4, !tbaa !5
  %7081 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7082 = load i32, ptr @test_count, align 4, !tbaa !5
  %7083 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7084 = load i32, ptr %7083, align 4, !tbaa !5
  %7085 = call ptr @s2n_strerror(i32 noundef %7084, ptr noundef @.str.4)
  %7086 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7087 = load i32, ptr %7086, align 4, !tbaa !5
  %7088 = call ptr @s2n_strerror_debug(i32 noundef %7087, ptr noundef @.str.4)
  %7089 = call ptr @__errno_location() #11
  %7090 = load i32, ptr %7089, align 4, !tbaa !5
  %7091 = call ptr @strerror(i32 noundef %7090) #10
  %7092 = call ptr @__errno_location() #11
  %7093 = load i32, ptr %7092, align 4, !tbaa !5
  %7094 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7081, ptr noundef @.str.5, i32 noundef %7082, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 337, ptr noundef %7085, ptr noundef %7088, ptr noundef %7091, i32 noundef %7093) #10
  br label %7095

7095:                                             ; preds = %7078, %7061
  call void @llvm.lifetime.end.p0(i64 4, ptr %146) #10
  br label %7096

7096:                                             ; preds = %7095
  br label %7097

7097:                                             ; preds = %7096
  call void @exit(i32 noundef 1) #12
  unreachable

7098:                                             ; No predecessors!
  br label %7099

7099:                                             ; preds = %7098
  br label %7100

7100:                                             ; preds = %7099, %7041
  br label %7101

7101:                                             ; preds = %7100
  br label %7102

7102:                                             ; preds = %7101
  br label %7103

7103:                                             ; preds = %7102
  %7104 = load i32, ptr @test_count, align 4, !tbaa !5
  %7105 = add nsw i32 %7104, 1
  store i32 %7105, ptr @test_count, align 4, !tbaa !5
  %7106 = call i32 (...) @s2n_disable_tls13_in_test()
  %7107 = icmp eq i32 %7106, -1
  br i1 %7107, label %7108, label %7161

7108:                                             ; preds = %7103
  br label %7109

7109:                                             ; preds = %7108
  br label %7110

7110:                                             ; preds = %7109
  call void @llvm.lifetime.start.p0(i64 4, ptr %147) #10
  %7111 = call ptr @__errno_location() #11
  %7112 = load i32, ptr %7111, align 4, !tbaa !5
  store i32 %7112, ptr %147, align 4, !tbaa !5
  %7113 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7114 = call i32 @s2n_print_stacktrace(ptr noundef %7113)
  %7115 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7116 = trunc i8 %7115 to i1
  br i1 %7116, label %7117, label %7139

7117:                                             ; preds = %7110
  %7118 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7119 = call i32 @fileno(ptr noundef %7118) #10
  %7120 = call i32 @isatty(i32 noundef %7119) #10
  %7121 = icmp ne i32 %7120, 0
  br i1 %7121, label %7122, label %7139

7122:                                             ; preds = %7117
  %7123 = load i32, ptr %147, align 4, !tbaa !5
  %7124 = call ptr @__errno_location() #11
  store i32 %7123, ptr %7124, align 4, !tbaa !5
  %7125 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7126 = load i32, ptr @test_count, align 4, !tbaa !5
  %7127 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7128 = load i32, ptr %7127, align 4, !tbaa !5
  %7129 = call ptr @s2n_strerror(i32 noundef %7128, ptr noundef @.str.4)
  %7130 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7131 = load i32, ptr %7130, align 4, !tbaa !5
  %7132 = call ptr @s2n_strerror_debug(i32 noundef %7131, ptr noundef @.str.4)
  %7133 = call ptr @__errno_location() #11
  %7134 = load i32, ptr %7133, align 4, !tbaa !5
  %7135 = call ptr @strerror(i32 noundef %7134) #10
  %7136 = call ptr @__errno_location() #11
  %7137 = load i32, ptr %7136, align 4, !tbaa !5
  %7138 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7125, ptr noundef @.str.2, i32 noundef %7126, ptr noundef @.str.8, ptr noundef @.str.1, i32 noundef 338, ptr noundef %7129, ptr noundef %7132, ptr noundef %7135, i32 noundef %7137) #10
  br label %7156

7139:                                             ; preds = %7117, %7110
  %7140 = load i32, ptr %147, align 4, !tbaa !5
  %7141 = call ptr @__errno_location() #11
  store i32 %7140, ptr %7141, align 4, !tbaa !5
  %7142 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7143 = load i32, ptr @test_count, align 4, !tbaa !5
  %7144 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7145 = load i32, ptr %7144, align 4, !tbaa !5
  %7146 = call ptr @s2n_strerror(i32 noundef %7145, ptr noundef @.str.4)
  %7147 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7148 = load i32, ptr %7147, align 4, !tbaa !5
  %7149 = call ptr @s2n_strerror_debug(i32 noundef %7148, ptr noundef @.str.4)
  %7150 = call ptr @__errno_location() #11
  %7151 = load i32, ptr %7150, align 4, !tbaa !5
  %7152 = call ptr @strerror(i32 noundef %7151) #10
  %7153 = call ptr @__errno_location() #11
  %7154 = load i32, ptr %7153, align 4, !tbaa !5
  %7155 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7142, ptr noundef @.str.5, i32 noundef %7143, ptr noundef @.str.8, ptr noundef @.str.1, i32 noundef 338, ptr noundef %7146, ptr noundef %7149, ptr noundef %7152, i32 noundef %7154) #10
  br label %7156

7156:                                             ; preds = %7139, %7122
  call void @llvm.lifetime.end.p0(i64 4, ptr %147) #10
  br label %7157

7157:                                             ; preds = %7156
  br label %7158

7158:                                             ; preds = %7157
  call void @exit(i32 noundef 1) #12
  unreachable

7159:                                             ; No predecessors!
  br label %7160

7160:                                             ; preds = %7159
  br label %7161

7161:                                             ; preds = %7160, %7103
  br label %7162

7162:                                             ; preds = %7161
  br label %7163

7163:                                             ; preds = %7162
  call void @llvm.lifetime.end.p0(i64 8, ptr %137) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %135) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %127) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %126) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %125) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %124) #10
  br label %7164

7164:                                             ; preds = %7163
  %7165 = load i32, ptr @test_count, align 4, !tbaa !5
  %7166 = add nsw i32 %7165, 1
  store i32 %7166, ptr @test_count, align 4, !tbaa !5
  %7167 = call i32 (...) @s2n_enable_tls13_in_test()
  %7168 = icmp eq i32 %7167, -1
  br i1 %7168, label %7169, label %7222

7169:                                             ; preds = %7164
  br label %7170

7170:                                             ; preds = %7169
  br label %7171

7171:                                             ; preds = %7170
  call void @llvm.lifetime.start.p0(i64 4, ptr %148) #10
  %7172 = call ptr @__errno_location() #11
  %7173 = load i32, ptr %7172, align 4, !tbaa !5
  store i32 %7173, ptr %148, align 4, !tbaa !5
  %7174 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7175 = call i32 @s2n_print_stacktrace(ptr noundef %7174)
  %7176 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7177 = trunc i8 %7176 to i1
  br i1 %7177, label %7178, label %7200

7178:                                             ; preds = %7171
  %7179 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7180 = call i32 @fileno(ptr noundef %7179) #10
  %7181 = call i32 @isatty(i32 noundef %7180) #10
  %7182 = icmp ne i32 %7181, 0
  br i1 %7182, label %7183, label %7200

7183:                                             ; preds = %7178
  %7184 = load i32, ptr %148, align 4, !tbaa !5
  %7185 = call ptr @__errno_location() #11
  store i32 %7184, ptr %7185, align 4, !tbaa !5
  %7186 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7187 = load i32, ptr @test_count, align 4, !tbaa !5
  %7188 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7189 = load i32, ptr %7188, align 4, !tbaa !5
  %7190 = call ptr @s2n_strerror(i32 noundef %7189, ptr noundef @.str.4)
  %7191 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7192 = load i32, ptr %7191, align 4, !tbaa !5
  %7193 = call ptr @s2n_strerror_debug(i32 noundef %7192, ptr noundef @.str.4)
  %7194 = call ptr @__errno_location() #11
  %7195 = load i32, ptr %7194, align 4, !tbaa !5
  %7196 = call ptr @strerror(i32 noundef %7195) #10
  %7197 = call ptr @__errno_location() #11
  %7198 = load i32, ptr %7197, align 4, !tbaa !5
  %7199 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7186, ptr noundef @.str.2, i32 noundef %7187, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 343, ptr noundef %7190, ptr noundef %7193, ptr noundef %7196, i32 noundef %7198) #10
  br label %7217

7200:                                             ; preds = %7178, %7171
  %7201 = load i32, ptr %148, align 4, !tbaa !5
  %7202 = call ptr @__errno_location() #11
  store i32 %7201, ptr %7202, align 4, !tbaa !5
  %7203 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7204 = load i32, ptr @test_count, align 4, !tbaa !5
  %7205 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7206 = load i32, ptr %7205, align 4, !tbaa !5
  %7207 = call ptr @s2n_strerror(i32 noundef %7206, ptr noundef @.str.4)
  %7208 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7209 = load i32, ptr %7208, align 4, !tbaa !5
  %7210 = call ptr @s2n_strerror_debug(i32 noundef %7209, ptr noundef @.str.4)
  %7211 = call ptr @__errno_location() #11
  %7212 = load i32, ptr %7211, align 4, !tbaa !5
  %7213 = call ptr @strerror(i32 noundef %7212) #10
  %7214 = call ptr @__errno_location() #11
  %7215 = load i32, ptr %7214, align 4, !tbaa !5
  %7216 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7203, ptr noundef @.str.5, i32 noundef %7204, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 343, ptr noundef %7207, ptr noundef %7210, ptr noundef %7213, i32 noundef %7215) #10
  br label %7217

7217:                                             ; preds = %7200, %7183
  call void @llvm.lifetime.end.p0(i64 4, ptr %148) #10
  br label %7218

7218:                                             ; preds = %7217
  br label %7219

7219:                                             ; preds = %7218
  call void @exit(i32 noundef 1) #12
  unreachable

7220:                                             ; No predecessors!
  br label %7221

7221:                                             ; preds = %7220
  br label %7222

7222:                                             ; preds = %7221, %7164
  br label %7223

7223:                                             ; preds = %7222
  br label %7224

7224:                                             ; preds = %7223
  call void @llvm.lifetime.start.p0(i64 8, ptr %149) #10
  store ptr null, ptr %149, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %150) #10
  store ptr null, ptr %150, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %151) #10
  store ptr null, ptr %151, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %152) #10
  store ptr null, ptr %152, align 8, !tbaa !9
  br label %7225

7225:                                             ; preds = %7224
  %7226 = load i32, ptr @test_count, align 4, !tbaa !5
  %7227 = add nsw i32 %7226, 1
  store i32 %7227, ptr @test_count, align 4, !tbaa !5
  %7228 = call ptr @s2n_config_new()
  store ptr %7228, ptr %151, align 8, !tbaa !9
  %7229 = icmp eq ptr %7228, null
  br i1 %7229, label %7230, label %7283

7230:                                             ; preds = %7225
  br label %7231

7231:                                             ; preds = %7230
  br label %7232

7232:                                             ; preds = %7231
  call void @llvm.lifetime.start.p0(i64 4, ptr %153) #10
  %7233 = call ptr @__errno_location() #11
  %7234 = load i32, ptr %7233, align 4, !tbaa !5
  store i32 %7234, ptr %153, align 4, !tbaa !5
  %7235 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7236 = call i32 @s2n_print_stacktrace(ptr noundef %7235)
  %7237 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7238 = trunc i8 %7237 to i1
  br i1 %7238, label %7239, label %7261

7239:                                             ; preds = %7232
  %7240 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7241 = call i32 @fileno(ptr noundef %7240) #10
  %7242 = call i32 @isatty(i32 noundef %7241) #10
  %7243 = icmp ne i32 %7242, 0
  br i1 %7243, label %7244, label %7261

7244:                                             ; preds = %7239
  %7245 = load i32, ptr %153, align 4, !tbaa !5
  %7246 = call ptr @__errno_location() #11
  store i32 %7245, ptr %7246, align 4, !tbaa !5
  %7247 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7248 = load i32, ptr @test_count, align 4, !tbaa !5
  %7249 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7250 = load i32, ptr %7249, align 4, !tbaa !5
  %7251 = call ptr @s2n_strerror(i32 noundef %7250, ptr noundef @.str.4)
  %7252 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7253 = load i32, ptr %7252, align 4, !tbaa !5
  %7254 = call ptr @s2n_strerror_debug(i32 noundef %7253, ptr noundef @.str.4)
  %7255 = call ptr @__errno_location() #11
  %7256 = load i32, ptr %7255, align 4, !tbaa !5
  %7257 = call ptr @strerror(i32 noundef %7256) #10
  %7258 = call ptr @__errno_location() #11
  %7259 = load i32, ptr %7258, align 4, !tbaa !5
  %7260 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7247, ptr noundef @.str.2, i32 noundef %7248, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 349, ptr noundef %7251, ptr noundef %7254, ptr noundef %7257, i32 noundef %7259) #10
  br label %7278

7261:                                             ; preds = %7239, %7232
  %7262 = load i32, ptr %153, align 4, !tbaa !5
  %7263 = call ptr @__errno_location() #11
  store i32 %7262, ptr %7263, align 4, !tbaa !5
  %7264 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7265 = load i32, ptr @test_count, align 4, !tbaa !5
  %7266 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7267 = load i32, ptr %7266, align 4, !tbaa !5
  %7268 = call ptr @s2n_strerror(i32 noundef %7267, ptr noundef @.str.4)
  %7269 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7270 = load i32, ptr %7269, align 4, !tbaa !5
  %7271 = call ptr @s2n_strerror_debug(i32 noundef %7270, ptr noundef @.str.4)
  %7272 = call ptr @__errno_location() #11
  %7273 = load i32, ptr %7272, align 4, !tbaa !5
  %7274 = call ptr @strerror(i32 noundef %7273) #10
  %7275 = call ptr @__errno_location() #11
  %7276 = load i32, ptr %7275, align 4, !tbaa !5
  %7277 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7264, ptr noundef @.str.5, i32 noundef %7265, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 349, ptr noundef %7268, ptr noundef %7271, ptr noundef %7274, i32 noundef %7276) #10
  br label %7278

7278:                                             ; preds = %7261, %7244
  call void @llvm.lifetime.end.p0(i64 4, ptr %153) #10
  br label %7279

7279:                                             ; preds = %7278
  br label %7280

7280:                                             ; preds = %7279
  call void @exit(i32 noundef 1) #12
  unreachable

7281:                                             ; No predecessors!
  br label %7282

7282:                                             ; preds = %7281
  br label %7283

7283:                                             ; preds = %7282, %7225
  br label %7284

7284:                                             ; preds = %7283
  br label %7285

7285:                                             ; preds = %7284
  br label %7286

7286:                                             ; preds = %7285
  %7287 = load i32, ptr @test_count, align 4, !tbaa !5
  %7288 = add nsw i32 %7287, 1
  store i32 %7288, ptr @test_count, align 4, !tbaa !5
  %7289 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %7289, ptr %152, align 8, !tbaa !9
  %7290 = icmp eq ptr %7289, null
  br i1 %7290, label %7291, label %7344

7291:                                             ; preds = %7286
  br label %7292

7292:                                             ; preds = %7291
  br label %7293

7293:                                             ; preds = %7292
  call void @llvm.lifetime.start.p0(i64 4, ptr %154) #10
  %7294 = call ptr @__errno_location() #11
  %7295 = load i32, ptr %7294, align 4, !tbaa !5
  store i32 %7295, ptr %154, align 4, !tbaa !5
  %7296 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7297 = call i32 @s2n_print_stacktrace(ptr noundef %7296)
  %7298 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7299 = trunc i8 %7298 to i1
  br i1 %7299, label %7300, label %7322

7300:                                             ; preds = %7293
  %7301 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7302 = call i32 @fileno(ptr noundef %7301) #10
  %7303 = call i32 @isatty(i32 noundef %7302) #10
  %7304 = icmp ne i32 %7303, 0
  br i1 %7304, label %7305, label %7322

7305:                                             ; preds = %7300
  %7306 = load i32, ptr %154, align 4, !tbaa !5
  %7307 = call ptr @__errno_location() #11
  store i32 %7306, ptr %7307, align 4, !tbaa !5
  %7308 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7309 = load i32, ptr @test_count, align 4, !tbaa !5
  %7310 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7311 = load i32, ptr %7310, align 4, !tbaa !5
  %7312 = call ptr @s2n_strerror(i32 noundef %7311, ptr noundef @.str.4)
  %7313 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7314 = load i32, ptr %7313, align 4, !tbaa !5
  %7315 = call ptr @s2n_strerror_debug(i32 noundef %7314, ptr noundef @.str.4)
  %7316 = call ptr @__errno_location() #11
  %7317 = load i32, ptr %7316, align 4, !tbaa !5
  %7318 = call ptr @strerror(i32 noundef %7317) #10
  %7319 = call ptr @__errno_location() #11
  %7320 = load i32, ptr %7319, align 4, !tbaa !5
  %7321 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7308, ptr noundef @.str.2, i32 noundef %7309, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 350, ptr noundef %7312, ptr noundef %7315, ptr noundef %7318, i32 noundef %7320) #10
  br label %7339

7322:                                             ; preds = %7300, %7293
  %7323 = load i32, ptr %154, align 4, !tbaa !5
  %7324 = call ptr @__errno_location() #11
  store i32 %7323, ptr %7324, align 4, !tbaa !5
  %7325 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7326 = load i32, ptr @test_count, align 4, !tbaa !5
  %7327 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7328 = load i32, ptr %7327, align 4, !tbaa !5
  %7329 = call ptr @s2n_strerror(i32 noundef %7328, ptr noundef @.str.4)
  %7330 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7331 = load i32, ptr %7330, align 4, !tbaa !5
  %7332 = call ptr @s2n_strerror_debug(i32 noundef %7331, ptr noundef @.str.4)
  %7333 = call ptr @__errno_location() #11
  %7334 = load i32, ptr %7333, align 4, !tbaa !5
  %7335 = call ptr @strerror(i32 noundef %7334) #10
  %7336 = call ptr @__errno_location() #11
  %7337 = load i32, ptr %7336, align 4, !tbaa !5
  %7338 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7325, ptr noundef @.str.5, i32 noundef %7326, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 350, ptr noundef %7329, ptr noundef %7332, ptr noundef %7335, i32 noundef %7337) #10
  br label %7339

7339:                                             ; preds = %7322, %7305
  call void @llvm.lifetime.end.p0(i64 4, ptr %154) #10
  br label %7340

7340:                                             ; preds = %7339
  br label %7341

7341:                                             ; preds = %7340
  call void @exit(i32 noundef 1) #12
  unreachable

7342:                                             ; No predecessors!
  br label %7343

7343:                                             ; preds = %7342
  br label %7344

7344:                                             ; preds = %7343, %7286
  br label %7345

7345:                                             ; preds = %7344
  br label %7346

7346:                                             ; preds = %7345
  br label %7347

7347:                                             ; preds = %7346
  %7348 = load i32, ptr @test_count, align 4, !tbaa !5
  %7349 = add nsw i32 %7348, 1
  store i32 %7349, ptr @test_count, align 4, !tbaa !5
  %7350 = load ptr, ptr %152, align 8, !tbaa !9
  %7351 = load ptr, ptr %151, align 8, !tbaa !9
  %7352 = call i32 @s2n_connection_set_config(ptr noundef %7350, ptr noundef %7351)
  %7353 = icmp eq i32 %7352, -1
  br i1 %7353, label %7354, label %7407

7354:                                             ; preds = %7347
  br label %7355

7355:                                             ; preds = %7354
  br label %7356

7356:                                             ; preds = %7355
  call void @llvm.lifetime.start.p0(i64 4, ptr %155) #10
  %7357 = call ptr @__errno_location() #11
  %7358 = load i32, ptr %7357, align 4, !tbaa !5
  store i32 %7358, ptr %155, align 4, !tbaa !5
  %7359 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7360 = call i32 @s2n_print_stacktrace(ptr noundef %7359)
  %7361 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7362 = trunc i8 %7361 to i1
  br i1 %7362, label %7363, label %7385

7363:                                             ; preds = %7356
  %7364 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7365 = call i32 @fileno(ptr noundef %7364) #10
  %7366 = call i32 @isatty(i32 noundef %7365) #10
  %7367 = icmp ne i32 %7366, 0
  br i1 %7367, label %7368, label %7385

7368:                                             ; preds = %7363
  %7369 = load i32, ptr %155, align 4, !tbaa !5
  %7370 = call ptr @__errno_location() #11
  store i32 %7369, ptr %7370, align 4, !tbaa !5
  %7371 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7372 = load i32, ptr @test_count, align 4, !tbaa !5
  %7373 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7374 = load i32, ptr %7373, align 4, !tbaa !5
  %7375 = call ptr @s2n_strerror(i32 noundef %7374, ptr noundef @.str.4)
  %7376 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7377 = load i32, ptr %7376, align 4, !tbaa !5
  %7378 = call ptr @s2n_strerror_debug(i32 noundef %7377, ptr noundef @.str.4)
  %7379 = call ptr @__errno_location() #11
  %7380 = load i32, ptr %7379, align 4, !tbaa !5
  %7381 = call ptr @strerror(i32 noundef %7380) #10
  %7382 = call ptr @__errno_location() #11
  %7383 = load i32, ptr %7382, align 4, !tbaa !5
  %7384 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7371, ptr noundef @.str.2, i32 noundef %7372, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 351, ptr noundef %7375, ptr noundef %7378, ptr noundef %7381, i32 noundef %7383) #10
  br label %7402

7385:                                             ; preds = %7363, %7356
  %7386 = load i32, ptr %155, align 4, !tbaa !5
  %7387 = call ptr @__errno_location() #11
  store i32 %7386, ptr %7387, align 4, !tbaa !5
  %7388 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7389 = load i32, ptr @test_count, align 4, !tbaa !5
  %7390 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7391 = load i32, ptr %7390, align 4, !tbaa !5
  %7392 = call ptr @s2n_strerror(i32 noundef %7391, ptr noundef @.str.4)
  %7393 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7394 = load i32, ptr %7393, align 4, !tbaa !5
  %7395 = call ptr @s2n_strerror_debug(i32 noundef %7394, ptr noundef @.str.4)
  %7396 = call ptr @__errno_location() #11
  %7397 = load i32, ptr %7396, align 4, !tbaa !5
  %7398 = call ptr @strerror(i32 noundef %7397) #10
  %7399 = call ptr @__errno_location() #11
  %7400 = load i32, ptr %7399, align 4, !tbaa !5
  %7401 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7388, ptr noundef @.str.5, i32 noundef %7389, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 351, ptr noundef %7392, ptr noundef %7395, ptr noundef %7398, i32 noundef %7400) #10
  br label %7402

7402:                                             ; preds = %7385, %7368
  call void @llvm.lifetime.end.p0(i64 4, ptr %155) #10
  br label %7403

7403:                                             ; preds = %7402
  br label %7404

7404:                                             ; preds = %7403
  call void @exit(i32 noundef 1) #12
  unreachable

7405:                                             ; No predecessors!
  br label %7406

7406:                                             ; preds = %7405
  br label %7407

7407:                                             ; preds = %7406, %7347
  br label %7408

7408:                                             ; preds = %7407
  br label %7409

7409:                                             ; preds = %7408
  br label %7410

7410:                                             ; preds = %7409
  %7411 = load i32, ptr @test_count, align 4, !tbaa !5
  %7412 = add nsw i32 %7411, 1
  store i32 %7412, ptr @test_count, align 4, !tbaa !5
  %7413 = call ptr @s2n_config_new()
  store ptr %7413, ptr %149, align 8, !tbaa !9
  %7414 = icmp eq ptr %7413, null
  br i1 %7414, label %7415, label %7468

7415:                                             ; preds = %7410
  br label %7416

7416:                                             ; preds = %7415
  br label %7417

7417:                                             ; preds = %7416
  call void @llvm.lifetime.start.p0(i64 4, ptr %156) #10
  %7418 = call ptr @__errno_location() #11
  %7419 = load i32, ptr %7418, align 4, !tbaa !5
  store i32 %7419, ptr %156, align 4, !tbaa !5
  %7420 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7421 = call i32 @s2n_print_stacktrace(ptr noundef %7420)
  %7422 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7423 = trunc i8 %7422 to i1
  br i1 %7423, label %7424, label %7446

7424:                                             ; preds = %7417
  %7425 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7426 = call i32 @fileno(ptr noundef %7425) #10
  %7427 = call i32 @isatty(i32 noundef %7426) #10
  %7428 = icmp ne i32 %7427, 0
  br i1 %7428, label %7429, label %7446

7429:                                             ; preds = %7424
  %7430 = load i32, ptr %156, align 4, !tbaa !5
  %7431 = call ptr @__errno_location() #11
  store i32 %7430, ptr %7431, align 4, !tbaa !5
  %7432 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7433 = load i32, ptr @test_count, align 4, !tbaa !5
  %7434 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7435 = load i32, ptr %7434, align 4, !tbaa !5
  %7436 = call ptr @s2n_strerror(i32 noundef %7435, ptr noundef @.str.4)
  %7437 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7438 = load i32, ptr %7437, align 4, !tbaa !5
  %7439 = call ptr @s2n_strerror_debug(i32 noundef %7438, ptr noundef @.str.4)
  %7440 = call ptr @__errno_location() #11
  %7441 = load i32, ptr %7440, align 4, !tbaa !5
  %7442 = call ptr @strerror(i32 noundef %7441) #10
  %7443 = call ptr @__errno_location() #11
  %7444 = load i32, ptr %7443, align 4, !tbaa !5
  %7445 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7432, ptr noundef @.str.2, i32 noundef %7433, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 353, ptr noundef %7436, ptr noundef %7439, ptr noundef %7442, i32 noundef %7444) #10
  br label %7463

7446:                                             ; preds = %7424, %7417
  %7447 = load i32, ptr %156, align 4, !tbaa !5
  %7448 = call ptr @__errno_location() #11
  store i32 %7447, ptr %7448, align 4, !tbaa !5
  %7449 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7450 = load i32, ptr @test_count, align 4, !tbaa !5
  %7451 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7452 = load i32, ptr %7451, align 4, !tbaa !5
  %7453 = call ptr @s2n_strerror(i32 noundef %7452, ptr noundef @.str.4)
  %7454 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7455 = load i32, ptr %7454, align 4, !tbaa !5
  %7456 = call ptr @s2n_strerror_debug(i32 noundef %7455, ptr noundef @.str.4)
  %7457 = call ptr @__errno_location() #11
  %7458 = load i32, ptr %7457, align 4, !tbaa !5
  %7459 = call ptr @strerror(i32 noundef %7458) #10
  %7460 = call ptr @__errno_location() #11
  %7461 = load i32, ptr %7460, align 4, !tbaa !5
  %7462 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7449, ptr noundef @.str.5, i32 noundef %7450, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 353, ptr noundef %7453, ptr noundef %7456, ptr noundef %7459, i32 noundef %7461) #10
  br label %7463

7463:                                             ; preds = %7446, %7429
  call void @llvm.lifetime.end.p0(i64 4, ptr %156) #10
  br label %7464

7464:                                             ; preds = %7463
  br label %7465

7465:                                             ; preds = %7464
  call void @exit(i32 noundef 1) #12
  unreachable

7466:                                             ; No predecessors!
  br label %7467

7467:                                             ; preds = %7466
  br label %7468

7468:                                             ; preds = %7467, %7410
  br label %7469

7469:                                             ; preds = %7468
  br label %7470

7470:                                             ; preds = %7469
  br label %7471

7471:                                             ; preds = %7470
  %7472 = load i32, ptr @test_count, align 4, !tbaa !5
  %7473 = add nsw i32 %7472, 1
  store i32 %7473, ptr @test_count, align 4, !tbaa !5
  %7474 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %7474, ptr %150, align 8, !tbaa !9
  %7475 = icmp eq ptr %7474, null
  br i1 %7475, label %7476, label %7529

7476:                                             ; preds = %7471
  br label %7477

7477:                                             ; preds = %7476
  br label %7478

7478:                                             ; preds = %7477
  call void @llvm.lifetime.start.p0(i64 4, ptr %157) #10
  %7479 = call ptr @__errno_location() #11
  %7480 = load i32, ptr %7479, align 4, !tbaa !5
  store i32 %7480, ptr %157, align 4, !tbaa !5
  %7481 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7482 = call i32 @s2n_print_stacktrace(ptr noundef %7481)
  %7483 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7484 = trunc i8 %7483 to i1
  br i1 %7484, label %7485, label %7507

7485:                                             ; preds = %7478
  %7486 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7487 = call i32 @fileno(ptr noundef %7486) #10
  %7488 = call i32 @isatty(i32 noundef %7487) #10
  %7489 = icmp ne i32 %7488, 0
  br i1 %7489, label %7490, label %7507

7490:                                             ; preds = %7485
  %7491 = load i32, ptr %157, align 4, !tbaa !5
  %7492 = call ptr @__errno_location() #11
  store i32 %7491, ptr %7492, align 4, !tbaa !5
  %7493 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7494 = load i32, ptr @test_count, align 4, !tbaa !5
  %7495 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7496 = load i32, ptr %7495, align 4, !tbaa !5
  %7497 = call ptr @s2n_strerror(i32 noundef %7496, ptr noundef @.str.4)
  %7498 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7499 = load i32, ptr %7498, align 4, !tbaa !5
  %7500 = call ptr @s2n_strerror_debug(i32 noundef %7499, ptr noundef @.str.4)
  %7501 = call ptr @__errno_location() #11
  %7502 = load i32, ptr %7501, align 4, !tbaa !5
  %7503 = call ptr @strerror(i32 noundef %7502) #10
  %7504 = call ptr @__errno_location() #11
  %7505 = load i32, ptr %7504, align 4, !tbaa !5
  %7506 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7493, ptr noundef @.str.2, i32 noundef %7494, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 354, ptr noundef %7497, ptr noundef %7500, ptr noundef %7503, i32 noundef %7505) #10
  br label %7524

7507:                                             ; preds = %7485, %7478
  %7508 = load i32, ptr %157, align 4, !tbaa !5
  %7509 = call ptr @__errno_location() #11
  store i32 %7508, ptr %7509, align 4, !tbaa !5
  %7510 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7511 = load i32, ptr @test_count, align 4, !tbaa !5
  %7512 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7513 = load i32, ptr %7512, align 4, !tbaa !5
  %7514 = call ptr @s2n_strerror(i32 noundef %7513, ptr noundef @.str.4)
  %7515 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7516 = load i32, ptr %7515, align 4, !tbaa !5
  %7517 = call ptr @s2n_strerror_debug(i32 noundef %7516, ptr noundef @.str.4)
  %7518 = call ptr @__errno_location() #11
  %7519 = load i32, ptr %7518, align 4, !tbaa !5
  %7520 = call ptr @strerror(i32 noundef %7519) #10
  %7521 = call ptr @__errno_location() #11
  %7522 = load i32, ptr %7521, align 4, !tbaa !5
  %7523 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7510, ptr noundef @.str.5, i32 noundef %7511, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 354, ptr noundef %7514, ptr noundef %7517, ptr noundef %7520, i32 noundef %7522) #10
  br label %7524

7524:                                             ; preds = %7507, %7490
  call void @llvm.lifetime.end.p0(i64 4, ptr %157) #10
  br label %7525

7525:                                             ; preds = %7524
  br label %7526

7526:                                             ; preds = %7525
  call void @exit(i32 noundef 1) #12
  unreachable

7527:                                             ; No predecessors!
  br label %7528

7528:                                             ; preds = %7527
  br label %7529

7529:                                             ; preds = %7528, %7471
  br label %7530

7530:                                             ; preds = %7529
  br label %7531

7531:                                             ; preds = %7530
  br label %7532

7532:                                             ; preds = %7531
  %7533 = load i32, ptr @test_count, align 4, !tbaa !5
  %7534 = add nsw i32 %7533, 1
  store i32 %7534, ptr @test_count, align 4, !tbaa !5
  %7535 = load ptr, ptr %150, align 8, !tbaa !9
  %7536 = load ptr, ptr %149, align 8, !tbaa !9
  %7537 = call i32 @s2n_connection_set_config(ptr noundef %7535, ptr noundef %7536)
  %7538 = icmp eq i32 %7537, -1
  br i1 %7538, label %7539, label %7592

7539:                                             ; preds = %7532
  br label %7540

7540:                                             ; preds = %7539
  br label %7541

7541:                                             ; preds = %7540
  call void @llvm.lifetime.start.p0(i64 4, ptr %158) #10
  %7542 = call ptr @__errno_location() #11
  %7543 = load i32, ptr %7542, align 4, !tbaa !5
  store i32 %7543, ptr %158, align 4, !tbaa !5
  %7544 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7545 = call i32 @s2n_print_stacktrace(ptr noundef %7544)
  %7546 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7547 = trunc i8 %7546 to i1
  br i1 %7547, label %7548, label %7570

7548:                                             ; preds = %7541
  %7549 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7550 = call i32 @fileno(ptr noundef %7549) #10
  %7551 = call i32 @isatty(i32 noundef %7550) #10
  %7552 = icmp ne i32 %7551, 0
  br i1 %7552, label %7553, label %7570

7553:                                             ; preds = %7548
  %7554 = load i32, ptr %158, align 4, !tbaa !5
  %7555 = call ptr @__errno_location() #11
  store i32 %7554, ptr %7555, align 4, !tbaa !5
  %7556 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7557 = load i32, ptr @test_count, align 4, !tbaa !5
  %7558 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7559 = load i32, ptr %7558, align 4, !tbaa !5
  %7560 = call ptr @s2n_strerror(i32 noundef %7559, ptr noundef @.str.4)
  %7561 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7562 = load i32, ptr %7561, align 4, !tbaa !5
  %7563 = call ptr @s2n_strerror_debug(i32 noundef %7562, ptr noundef @.str.4)
  %7564 = call ptr @__errno_location() #11
  %7565 = load i32, ptr %7564, align 4, !tbaa !5
  %7566 = call ptr @strerror(i32 noundef %7565) #10
  %7567 = call ptr @__errno_location() #11
  %7568 = load i32, ptr %7567, align 4, !tbaa !5
  %7569 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7556, ptr noundef @.str.2, i32 noundef %7557, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 355, ptr noundef %7560, ptr noundef %7563, ptr noundef %7566, i32 noundef %7568) #10
  br label %7587

7570:                                             ; preds = %7548, %7541
  %7571 = load i32, ptr %158, align 4, !tbaa !5
  %7572 = call ptr @__errno_location() #11
  store i32 %7571, ptr %7572, align 4, !tbaa !5
  %7573 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7574 = load i32, ptr @test_count, align 4, !tbaa !5
  %7575 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7576 = load i32, ptr %7575, align 4, !tbaa !5
  %7577 = call ptr @s2n_strerror(i32 noundef %7576, ptr noundef @.str.4)
  %7578 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7579 = load i32, ptr %7578, align 4, !tbaa !5
  %7580 = call ptr @s2n_strerror_debug(i32 noundef %7579, ptr noundef @.str.4)
  %7581 = call ptr @__errno_location() #11
  %7582 = load i32, ptr %7581, align 4, !tbaa !5
  %7583 = call ptr @strerror(i32 noundef %7582) #10
  %7584 = call ptr @__errno_location() #11
  %7585 = load i32, ptr %7584, align 4, !tbaa !5
  %7586 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7573, ptr noundef @.str.5, i32 noundef %7574, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 355, ptr noundef %7577, ptr noundef %7580, ptr noundef %7583, i32 noundef %7585) #10
  br label %7587

7587:                                             ; preds = %7570, %7553
  call void @llvm.lifetime.end.p0(i64 4, ptr %158) #10
  br label %7588

7588:                                             ; preds = %7587
  br label %7589

7589:                                             ; preds = %7588
  call void @exit(i32 noundef 1) #12
  unreachable

7590:                                             ; No predecessors!
  br label %7591

7591:                                             ; preds = %7590
  br label %7592

7592:                                             ; preds = %7591, %7532
  br label %7593

7593:                                             ; preds = %7592
  br label %7594

7594:                                             ; preds = %7593
  %7595 = load ptr, ptr %150, align 8, !tbaa !9
  %7596 = getelementptr inbounds %struct.s2n_connection, ptr %7595, i32 0, i32 21
  store i8 34, ptr %7596, align 2, !tbaa !67
  %7597 = load ptr, ptr @s2n_all_supported_curves_list, align 8, !tbaa !9
  %7598 = load ptr, ptr %152, align 8, !tbaa !9
  %7599 = getelementptr inbounds %struct.s2n_connection, ptr %7598, i32 0, i32 31
  %7600 = getelementptr inbounds %struct.s2n_kex_parameters, ptr %7599, i32 0, i32 1
  %7601 = getelementptr inbounds %struct.s2n_ecc_evp_params, ptr %7600, i32 0, i32 0
  store ptr %7597, ptr %7601, align 8, !tbaa !50
  %7602 = load ptr, ptr %152, align 8, !tbaa !9
  %7603 = getelementptr inbounds %struct.s2n_connection, ptr %7602, i32 0, i32 23
  store i8 33, ptr %7603, align 4, !tbaa !42
  br label %7604

7604:                                             ; preds = %7594
  %7605 = load i32, ptr @test_count, align 4, !tbaa !5
  %7606 = add nsw i32 %7605, 1
  store i32 %7606, ptr @test_count, align 4, !tbaa !5
  %7607 = load ptr, ptr %152, align 8, !tbaa !9
  %7608 = call i32 @s2n_server_hello_send(ptr noundef %7607)
  %7609 = icmp eq i32 %7608, -1
  br i1 %7609, label %7610, label %7663

7610:                                             ; preds = %7604
  br label %7611

7611:                                             ; preds = %7610
  br label %7612

7612:                                             ; preds = %7611
  call void @llvm.lifetime.start.p0(i64 4, ptr %159) #10
  %7613 = call ptr @__errno_location() #11
  %7614 = load i32, ptr %7613, align 4, !tbaa !5
  store i32 %7614, ptr %159, align 4, !tbaa !5
  %7615 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7616 = call i32 @s2n_print_stacktrace(ptr noundef %7615)
  %7617 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7618 = trunc i8 %7617 to i1
  br i1 %7618, label %7619, label %7641

7619:                                             ; preds = %7612
  %7620 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7621 = call i32 @fileno(ptr noundef %7620) #10
  %7622 = call i32 @isatty(i32 noundef %7621) #10
  %7623 = icmp ne i32 %7622, 0
  br i1 %7623, label %7624, label %7641

7624:                                             ; preds = %7619
  %7625 = load i32, ptr %159, align 4, !tbaa !5
  %7626 = call ptr @__errno_location() #11
  store i32 %7625, ptr %7626, align 4, !tbaa !5
  %7627 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7628 = load i32, ptr @test_count, align 4, !tbaa !5
  %7629 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7630 = load i32, ptr %7629, align 4, !tbaa !5
  %7631 = call ptr @s2n_strerror(i32 noundef %7630, ptr noundef @.str.4)
  %7632 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7633 = load i32, ptr %7632, align 4, !tbaa !5
  %7634 = call ptr @s2n_strerror_debug(i32 noundef %7633, ptr noundef @.str.4)
  %7635 = call ptr @__errno_location() #11
  %7636 = load i32, ptr %7635, align 4, !tbaa !5
  %7637 = call ptr @strerror(i32 noundef %7636) #10
  %7638 = call ptr @__errno_location() #11
  %7639 = load i32, ptr %7638, align 4, !tbaa !5
  %7640 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7627, ptr noundef @.str.2, i32 noundef %7628, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 365, ptr noundef %7631, ptr noundef %7634, ptr noundef %7637, i32 noundef %7639) #10
  br label %7658

7641:                                             ; preds = %7619, %7612
  %7642 = load i32, ptr %159, align 4, !tbaa !5
  %7643 = call ptr @__errno_location() #11
  store i32 %7642, ptr %7643, align 4, !tbaa !5
  %7644 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7645 = load i32, ptr @test_count, align 4, !tbaa !5
  %7646 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7647 = load i32, ptr %7646, align 4, !tbaa !5
  %7648 = call ptr @s2n_strerror(i32 noundef %7647, ptr noundef @.str.4)
  %7649 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7650 = load i32, ptr %7649, align 4, !tbaa !5
  %7651 = call ptr @s2n_strerror_debug(i32 noundef %7650, ptr noundef @.str.4)
  %7652 = call ptr @__errno_location() #11
  %7653 = load i32, ptr %7652, align 4, !tbaa !5
  %7654 = call ptr @strerror(i32 noundef %7653) #10
  %7655 = call ptr @__errno_location() #11
  %7656 = load i32, ptr %7655, align 4, !tbaa !5
  %7657 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7644, ptr noundef @.str.5, i32 noundef %7645, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 365, ptr noundef %7648, ptr noundef %7651, ptr noundef %7654, i32 noundef %7656) #10
  br label %7658

7658:                                             ; preds = %7641, %7624
  call void @llvm.lifetime.end.p0(i64 4, ptr %159) #10
  br label %7659

7659:                                             ; preds = %7658
  br label %7660

7660:                                             ; preds = %7659
  call void @exit(i32 noundef 1) #12
  unreachable

7661:                                             ; No predecessors!
  br label %7662

7662:                                             ; preds = %7661
  br label %7663

7663:                                             ; preds = %7662, %7604
  br label %7664

7664:                                             ; preds = %7663
  br label %7665

7665:                                             ; preds = %7664
  call void @llvm.lifetime.start.p0(i64 4, ptr %160) #10
  %7666 = load ptr, ptr %152, align 8, !tbaa !9
  %7667 = getelementptr inbounds %struct.s2n_connection, ptr %7666, i32 0, i32 52
  %7668 = getelementptr inbounds %struct.s2n_handshake, ptr %7667, i32 0, i32 0
  %7669 = getelementptr inbounds %struct.s2n_stuffer, ptr %7668, i32 0, i32 2
  %7670 = load i32, ptr %7669, align 4, !tbaa !58
  %7671 = load ptr, ptr %152, align 8, !tbaa !9
  %7672 = getelementptr inbounds %struct.s2n_connection, ptr %7671, i32 0, i32 52
  %7673 = getelementptr inbounds %struct.s2n_handshake, ptr %7672, i32 0, i32 0
  %7674 = getelementptr inbounds %struct.s2n_stuffer, ptr %7673, i32 0, i32 1
  %7675 = load i32, ptr %7674, align 8, !tbaa !59
  %7676 = sub i32 %7670, %7675
  store i32 %7676, ptr %160, align 4, !tbaa !5
  br label %7677

7677:                                             ; preds = %7665
  %7678 = load i32, ptr @test_count, align 4, !tbaa !5
  %7679 = add nsw i32 %7678, 1
  store i32 %7679, ptr @test_count, align 4, !tbaa !5
  %7680 = load ptr, ptr %152, align 8, !tbaa !9
  %7681 = getelementptr inbounds %struct.s2n_connection, ptr %7680, i32 0, i32 52
  %7682 = getelementptr inbounds %struct.s2n_handshake, ptr %7681, i32 0, i32 0
  %7683 = load ptr, ptr %150, align 8, !tbaa !9
  %7684 = getelementptr inbounds %struct.s2n_connection, ptr %7683, i32 0, i32 52
  %7685 = getelementptr inbounds %struct.s2n_handshake, ptr %7684, i32 0, i32 0
  %7686 = load i32, ptr %160, align 4, !tbaa !5
  %7687 = call i32 @s2n_stuffer_copy(ptr noundef %7682, ptr noundef %7685, i32 noundef %7686)
  %7688 = icmp eq i32 %7687, -1
  br i1 %7688, label %7689, label %7742

7689:                                             ; preds = %7677
  br label %7690

7690:                                             ; preds = %7689
  br label %7691

7691:                                             ; preds = %7690
  call void @llvm.lifetime.start.p0(i64 4, ptr %161) #10
  %7692 = call ptr @__errno_location() #11
  %7693 = load i32, ptr %7692, align 4, !tbaa !5
  store i32 %7693, ptr %161, align 4, !tbaa !5
  %7694 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7695 = call i32 @s2n_print_stacktrace(ptr noundef %7694)
  %7696 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7697 = trunc i8 %7696 to i1
  br i1 %7697, label %7698, label %7720

7698:                                             ; preds = %7691
  %7699 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7700 = call i32 @fileno(ptr noundef %7699) #10
  %7701 = call i32 @isatty(i32 noundef %7700) #10
  %7702 = icmp ne i32 %7701, 0
  br i1 %7702, label %7703, label %7720

7703:                                             ; preds = %7698
  %7704 = load i32, ptr %161, align 4, !tbaa !5
  %7705 = call ptr @__errno_location() #11
  store i32 %7704, ptr %7705, align 4, !tbaa !5
  %7706 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7707 = load i32, ptr @test_count, align 4, !tbaa !5
  %7708 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7709 = load i32, ptr %7708, align 4, !tbaa !5
  %7710 = call ptr @s2n_strerror(i32 noundef %7709, ptr noundef @.str.4)
  %7711 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7712 = load i32, ptr %7711, align 4, !tbaa !5
  %7713 = call ptr @s2n_strerror_debug(i32 noundef %7712, ptr noundef @.str.4)
  %7714 = call ptr @__errno_location() #11
  %7715 = load i32, ptr %7714, align 4, !tbaa !5
  %7716 = call ptr @strerror(i32 noundef %7715) #10
  %7717 = call ptr @__errno_location() #11
  %7718 = load i32, ptr %7717, align 4, !tbaa !5
  %7719 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7706, ptr noundef @.str.2, i32 noundef %7707, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 369, ptr noundef %7710, ptr noundef %7713, ptr noundef %7716, i32 noundef %7718) #10
  br label %7737

7720:                                             ; preds = %7698, %7691
  %7721 = load i32, ptr %161, align 4, !tbaa !5
  %7722 = call ptr @__errno_location() #11
  store i32 %7721, ptr %7722, align 4, !tbaa !5
  %7723 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7724 = load i32, ptr @test_count, align 4, !tbaa !5
  %7725 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7726 = load i32, ptr %7725, align 4, !tbaa !5
  %7727 = call ptr @s2n_strerror(i32 noundef %7726, ptr noundef @.str.4)
  %7728 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7729 = load i32, ptr %7728, align 4, !tbaa !5
  %7730 = call ptr @s2n_strerror_debug(i32 noundef %7729, ptr noundef @.str.4)
  %7731 = call ptr @__errno_location() #11
  %7732 = load i32, ptr %7731, align 4, !tbaa !5
  %7733 = call ptr @strerror(i32 noundef %7732) #10
  %7734 = call ptr @__errno_location() #11
  %7735 = load i32, ptr %7734, align 4, !tbaa !5
  %7736 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7723, ptr noundef @.str.5, i32 noundef %7724, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 369, ptr noundef %7727, ptr noundef %7730, ptr noundef %7733, i32 noundef %7735) #10
  br label %7737

7737:                                             ; preds = %7720, %7703
  call void @llvm.lifetime.end.p0(i64 4, ptr %161) #10
  br label %7738

7738:                                             ; preds = %7737
  br label %7739

7739:                                             ; preds = %7738
  call void @exit(i32 noundef 1) #12
  unreachable

7740:                                             ; No predecessors!
  br label %7741

7741:                                             ; preds = %7740
  br label %7742

7742:                                             ; preds = %7741, %7677
  br label %7743

7743:                                             ; preds = %7742
  br label %7744

7744:                                             ; preds = %7743
  call void @llvm.lifetime.start.p0(i64 8, ptr %162) #10
  %7745 = load ptr, ptr %150, align 8, !tbaa !9
  %7746 = getelementptr inbounds %struct.s2n_connection, ptr %7745, i32 0, i32 52
  %7747 = getelementptr inbounds %struct.s2n_handshake, ptr %7746, i32 0, i32 0
  store ptr %7747, ptr %162, align 8, !tbaa !9
  br label %7748

7748:                                             ; preds = %7744
  br label %7749

7749:                                             ; preds = %7748
  %7750 = load i32, ptr @test_count, align 4, !tbaa !5
  %7751 = add nsw i32 %7750, 1
  store i32 %7751, ptr @test_count, align 4, !tbaa !5
  %7752 = load ptr, ptr %162, align 8, !tbaa !9
  %7753 = getelementptr inbounds %struct.s2n_stuffer, ptr %7752, i32 0, i32 0
  %7754 = getelementptr inbounds %struct.s2n_blob, ptr %7753, i32 0, i32 0
  %7755 = load ptr, ptr %7754, align 8, !tbaa !43
  %7756 = getelementptr inbounds i8, ptr %7755, i64 26
  %7757 = call i32 @memcmp(ptr noundef %7756, ptr noundef @tls12_downgrade_protection_check_bytes, i64 noundef 8) #13
  %7758 = icmp eq i32 %7757, 0
  br i1 %7758, label %7812, label %7759

7759:                                             ; preds = %7749
  br label %7760

7760:                                             ; preds = %7759
  br label %7761

7761:                                             ; preds = %7760
  call void @llvm.lifetime.start.p0(i64 4, ptr %163) #10
  %7762 = call ptr @__errno_location() #11
  %7763 = load i32, ptr %7762, align 4, !tbaa !5
  store i32 %7763, ptr %163, align 4, !tbaa !5
  %7764 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7765 = call i32 @s2n_print_stacktrace(ptr noundef %7764)
  %7766 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7767 = trunc i8 %7766 to i1
  br i1 %7767, label %7768, label %7790

7768:                                             ; preds = %7761
  %7769 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7770 = call i32 @fileno(ptr noundef %7769) #10
  %7771 = call i32 @isatty(i32 noundef %7770) #10
  %7772 = icmp ne i32 %7771, 0
  br i1 %7772, label %7773, label %7790

7773:                                             ; preds = %7768
  %7774 = load i32, ptr %163, align 4, !tbaa !5
  %7775 = call ptr @__errno_location() #11
  store i32 %7774, ptr %7775, align 4, !tbaa !5
  %7776 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7777 = load i32, ptr @test_count, align 4, !tbaa !5
  %7778 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7779 = load i32, ptr %7778, align 4, !tbaa !5
  %7780 = call ptr @s2n_strerror(i32 noundef %7779, ptr noundef @.str.4)
  %7781 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7782 = load i32, ptr %7781, align 4, !tbaa !5
  %7783 = call ptr @s2n_strerror_debug(i32 noundef %7782, ptr noundef @.str.4)
  %7784 = call ptr @__errno_location() #11
  %7785 = load i32, ptr %7784, align 4, !tbaa !5
  %7786 = call ptr @strerror(i32 noundef %7785) #10
  %7787 = call ptr @__errno_location() #11
  %7788 = load i32, ptr %7787, align 4, !tbaa !5
  %7789 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7776, ptr noundef @.str.2, i32 noundef %7777, ptr noundef @.str.57, ptr noundef @.str.1, i32 noundef 373, ptr noundef %7780, ptr noundef %7783, ptr noundef %7786, i32 noundef %7788) #10
  br label %7807

7790:                                             ; preds = %7768, %7761
  %7791 = load i32, ptr %163, align 4, !tbaa !5
  %7792 = call ptr @__errno_location() #11
  store i32 %7791, ptr %7792, align 4, !tbaa !5
  %7793 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7794 = load i32, ptr @test_count, align 4, !tbaa !5
  %7795 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7796 = load i32, ptr %7795, align 4, !tbaa !5
  %7797 = call ptr @s2n_strerror(i32 noundef %7796, ptr noundef @.str.4)
  %7798 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7799 = load i32, ptr %7798, align 4, !tbaa !5
  %7800 = call ptr @s2n_strerror_debug(i32 noundef %7799, ptr noundef @.str.4)
  %7801 = call ptr @__errno_location() #11
  %7802 = load i32, ptr %7801, align 4, !tbaa !5
  %7803 = call ptr @strerror(i32 noundef %7802) #10
  %7804 = call ptr @__errno_location() #11
  %7805 = load i32, ptr %7804, align 4, !tbaa !5
  %7806 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7793, ptr noundef @.str.5, i32 noundef %7794, ptr noundef @.str.57, ptr noundef @.str.1, i32 noundef 373, ptr noundef %7797, ptr noundef %7800, ptr noundef %7803, i32 noundef %7805) #10
  br label %7807

7807:                                             ; preds = %7790, %7773
  call void @llvm.lifetime.end.p0(i64 4, ptr %163) #10
  br label %7808

7808:                                             ; preds = %7807
  br label %7809

7809:                                             ; preds = %7808
  call void @exit(i32 noundef 1) #12
  unreachable

7810:                                             ; No predecessors!
  br label %7811

7811:                                             ; preds = %7810
  br label %7812

7812:                                             ; preds = %7811, %7749
  br label %7813

7813:                                             ; preds = %7812
  br label %7814

7814:                                             ; preds = %7813
  br label %7815

7815:                                             ; preds = %7814
  br label %7816

7816:                                             ; preds = %7815
  br label %7817

7817:                                             ; preds = %7816
  br label %7818

7818:                                             ; preds = %7817
  br label %7819

7819:                                             ; preds = %7818
  %7820 = load i32, ptr @test_count, align 4, !tbaa !5
  %7821 = add nsw i32 %7820, 1
  store i32 %7821, ptr @test_count, align 4, !tbaa !5
  %7822 = load ptr, ptr %150, align 8, !tbaa !9
  %7823 = call i32 @s2n_server_hello_recv(ptr noundef %7822)
  %7824 = icmp eq i32 %7823, -1
  br i1 %7824, label %7878, label %7825

7825:                                             ; preds = %7819
  br label %7826

7826:                                             ; preds = %7825
  br label %7827

7827:                                             ; preds = %7826
  call void @llvm.lifetime.start.p0(i64 4, ptr %164) #10
  %7828 = call ptr @__errno_location() #11
  %7829 = load i32, ptr %7828, align 4, !tbaa !5
  store i32 %7829, ptr %164, align 4, !tbaa !5
  %7830 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7831 = call i32 @s2n_print_stacktrace(ptr noundef %7830)
  %7832 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7833 = trunc i8 %7832 to i1
  br i1 %7833, label %7834, label %7856

7834:                                             ; preds = %7827
  %7835 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7836 = call i32 @fileno(ptr noundef %7835) #10
  %7837 = call i32 @isatty(i32 noundef %7836) #10
  %7838 = icmp ne i32 %7837, 0
  br i1 %7838, label %7839, label %7856

7839:                                             ; preds = %7834
  %7840 = load i32, ptr %164, align 4, !tbaa !5
  %7841 = call ptr @__errno_location() #11
  store i32 %7840, ptr %7841, align 4, !tbaa !5
  %7842 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7843 = load i32, ptr @test_count, align 4, !tbaa !5
  %7844 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7845 = load i32, ptr %7844, align 4, !tbaa !5
  %7846 = call ptr @s2n_strerror(i32 noundef %7845, ptr noundef @.str.4)
  %7847 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7848 = load i32, ptr %7847, align 4, !tbaa !5
  %7849 = call ptr @s2n_strerror_debug(i32 noundef %7848, ptr noundef @.str.4)
  %7850 = call ptr @__errno_location() #11
  %7851 = load i32, ptr %7850, align 4, !tbaa !5
  %7852 = call ptr @strerror(i32 noundef %7851) #10
  %7853 = call ptr @__errno_location() #11
  %7854 = load i32, ptr %7853, align 4, !tbaa !5
  %7855 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7842, ptr noundef @.str.2, i32 noundef %7843, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 374, ptr noundef %7846, ptr noundef %7849, ptr noundef %7852, i32 noundef %7854) #10
  br label %7873

7856:                                             ; preds = %7834, %7827
  %7857 = load i32, ptr %164, align 4, !tbaa !5
  %7858 = call ptr @__errno_location() #11
  store i32 %7857, ptr %7858, align 4, !tbaa !5
  %7859 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7860 = load i32, ptr @test_count, align 4, !tbaa !5
  %7861 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7862 = load i32, ptr %7861, align 4, !tbaa !5
  %7863 = call ptr @s2n_strerror(i32 noundef %7862, ptr noundef @.str.4)
  %7864 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7865 = load i32, ptr %7864, align 4, !tbaa !5
  %7866 = call ptr @s2n_strerror_debug(i32 noundef %7865, ptr noundef @.str.4)
  %7867 = call ptr @__errno_location() #11
  %7868 = load i32, ptr %7867, align 4, !tbaa !5
  %7869 = call ptr @strerror(i32 noundef %7868) #10
  %7870 = call ptr @__errno_location() #11
  %7871 = load i32, ptr %7870, align 4, !tbaa !5
  %7872 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7859, ptr noundef @.str.5, i32 noundef %7860, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 374, ptr noundef %7863, ptr noundef %7866, ptr noundef %7869, i32 noundef %7871) #10
  br label %7873

7873:                                             ; preds = %7856, %7839
  call void @llvm.lifetime.end.p0(i64 4, ptr %164) #10
  br label %7874

7874:                                             ; preds = %7873
  br label %7875

7875:                                             ; preds = %7874
  call void @exit(i32 noundef 1) #12
  unreachable

7876:                                             ; No predecessors!
  br label %7877

7877:                                             ; preds = %7876
  br label %7878

7878:                                             ; preds = %7877, %7819
  br label %7879

7879:                                             ; preds = %7878
  br label %7880

7880:                                             ; preds = %7879
  br label %7881

7881:                                             ; preds = %7880
  %7882 = load i32, ptr @test_count, align 4, !tbaa !5
  %7883 = add nsw i32 %7882, 1
  store i32 %7883, ptr @test_count, align 4, !tbaa !5
  %7884 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7885 = load i32, ptr %7884, align 4, !tbaa !5
  %7886 = icmp eq i32 %7885, 335544387
  br i1 %7886, label %7940, label %7887

7887:                                             ; preds = %7881
  br label %7888

7888:                                             ; preds = %7887
  br label %7889

7889:                                             ; preds = %7888
  call void @llvm.lifetime.start.p0(i64 4, ptr %165) #10
  %7890 = call ptr @__errno_location() #11
  %7891 = load i32, ptr %7890, align 4, !tbaa !5
  store i32 %7891, ptr %165, align 4, !tbaa !5
  %7892 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7893 = call i32 @s2n_print_stacktrace(ptr noundef %7892)
  %7894 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7895 = trunc i8 %7894 to i1
  br i1 %7895, label %7896, label %7918

7896:                                             ; preds = %7889
  %7897 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7898 = call i32 @fileno(ptr noundef %7897) #10
  %7899 = call i32 @isatty(i32 noundef %7898) #10
  %7900 = icmp ne i32 %7899, 0
  br i1 %7900, label %7901, label %7918

7901:                                             ; preds = %7896
  %7902 = load i32, ptr %165, align 4, !tbaa !5
  %7903 = call ptr @__errno_location() #11
  store i32 %7902, ptr %7903, align 4, !tbaa !5
  %7904 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7905 = load i32, ptr @test_count, align 4, !tbaa !5
  %7906 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7907 = load i32, ptr %7906, align 4, !tbaa !5
  %7908 = call ptr @s2n_strerror(i32 noundef %7907, ptr noundef @.str.4)
  %7909 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7910 = load i32, ptr %7909, align 4, !tbaa !5
  %7911 = call ptr @s2n_strerror_debug(i32 noundef %7910, ptr noundef @.str.4)
  %7912 = call ptr @__errno_location() #11
  %7913 = load i32, ptr %7912, align 4, !tbaa !5
  %7914 = call ptr @strerror(i32 noundef %7913) #10
  %7915 = call ptr @__errno_location() #11
  %7916 = load i32, ptr %7915, align 4, !tbaa !5
  %7917 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7904, ptr noundef @.str.2, i32 noundef %7905, ptr noundef @.str.56, ptr noundef @.str.1, i32 noundef 374, ptr noundef %7908, ptr noundef %7911, ptr noundef %7914, i32 noundef %7916) #10
  br label %7935

7918:                                             ; preds = %7896, %7889
  %7919 = load i32, ptr %165, align 4, !tbaa !5
  %7920 = call ptr @__errno_location() #11
  store i32 %7919, ptr %7920, align 4, !tbaa !5
  %7921 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7922 = load i32, ptr @test_count, align 4, !tbaa !5
  %7923 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7924 = load i32, ptr %7923, align 4, !tbaa !5
  %7925 = call ptr @s2n_strerror(i32 noundef %7924, ptr noundef @.str.4)
  %7926 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7927 = load i32, ptr %7926, align 4, !tbaa !5
  %7928 = call ptr @s2n_strerror_debug(i32 noundef %7927, ptr noundef @.str.4)
  %7929 = call ptr @__errno_location() #11
  %7930 = load i32, ptr %7929, align 4, !tbaa !5
  %7931 = call ptr @strerror(i32 noundef %7930) #10
  %7932 = call ptr @__errno_location() #11
  %7933 = load i32, ptr %7932, align 4, !tbaa !5
  %7934 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7921, ptr noundef @.str.5, i32 noundef %7922, ptr noundef @.str.56, ptr noundef @.str.1, i32 noundef 374, ptr noundef %7925, ptr noundef %7928, ptr noundef %7931, i32 noundef %7933) #10
  br label %7935

7935:                                             ; preds = %7918, %7901
  call void @llvm.lifetime.end.p0(i64 4, ptr %165) #10
  br label %7936

7936:                                             ; preds = %7935
  br label %7937

7937:                                             ; preds = %7936
  call void @exit(i32 noundef 1) #12
  unreachable

7938:                                             ; No predecessors!
  br label %7939

7939:                                             ; preds = %7938
  br label %7940

7940:                                             ; preds = %7939, %7881
  br label %7941

7941:                                             ; preds = %7940
  br label %7942

7942:                                             ; preds = %7941
  br label %7943

7943:                                             ; preds = %7942
  %7944 = load i32, ptr @test_count, align 4, !tbaa !5
  %7945 = add nsw i32 %7944, 1
  store i32 %7945, ptr @test_count, align 4, !tbaa !5
  %7946 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7947 = load i32, ptr %7946, align 4, !tbaa !5
  %7948 = call ptr @s2n_strerror_debug(i32 noundef %7947, ptr noundef @.str.4)
  %7949 = icmp eq ptr %7948, null
  br i1 %7949, label %7950, label %8003

7950:                                             ; preds = %7943
  br label %7951

7951:                                             ; preds = %7950
  br label %7952

7952:                                             ; preds = %7951
  call void @llvm.lifetime.start.p0(i64 4, ptr %166) #10
  %7953 = call ptr @__errno_location() #11
  %7954 = load i32, ptr %7953, align 4, !tbaa !5
  store i32 %7954, ptr %166, align 4, !tbaa !5
  %7955 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7956 = call i32 @s2n_print_stacktrace(ptr noundef %7955)
  %7957 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7958 = trunc i8 %7957 to i1
  br i1 %7958, label %7959, label %7981

7959:                                             ; preds = %7952
  %7960 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7961 = call i32 @fileno(ptr noundef %7960) #10
  %7962 = call i32 @isatty(i32 noundef %7961) #10
  %7963 = icmp ne i32 %7962, 0
  br i1 %7963, label %7964, label %7981

7964:                                             ; preds = %7959
  %7965 = load i32, ptr %166, align 4, !tbaa !5
  %7966 = call ptr @__errno_location() #11
  store i32 %7965, ptr %7966, align 4, !tbaa !5
  %7967 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7968 = load i32, ptr @test_count, align 4, !tbaa !5
  %7969 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7970 = load i32, ptr %7969, align 4, !tbaa !5
  %7971 = call ptr @s2n_strerror(i32 noundef %7970, ptr noundef @.str.4)
  %7972 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7973 = load i32, ptr %7972, align 4, !tbaa !5
  %7974 = call ptr @s2n_strerror_debug(i32 noundef %7973, ptr noundef @.str.4)
  %7975 = call ptr @__errno_location() #11
  %7976 = load i32, ptr %7975, align 4, !tbaa !5
  %7977 = call ptr @strerror(i32 noundef %7976) #10
  %7978 = call ptr @__errno_location() #11
  %7979 = load i32, ptr %7978, align 4, !tbaa !5
  %7980 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7967, ptr noundef @.str.2, i32 noundef %7968, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 374, ptr noundef %7971, ptr noundef %7974, ptr noundef %7977, i32 noundef %7979) #10
  br label %7998

7981:                                             ; preds = %7959, %7952
  %7982 = load i32, ptr %166, align 4, !tbaa !5
  %7983 = call ptr @__errno_location() #11
  store i32 %7982, ptr %7983, align 4, !tbaa !5
  %7984 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7985 = load i32, ptr @test_count, align 4, !tbaa !5
  %7986 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7987 = load i32, ptr %7986, align 4, !tbaa !5
  %7988 = call ptr @s2n_strerror(i32 noundef %7987, ptr noundef @.str.4)
  %7989 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7990 = load i32, ptr %7989, align 4, !tbaa !5
  %7991 = call ptr @s2n_strerror_debug(i32 noundef %7990, ptr noundef @.str.4)
  %7992 = call ptr @__errno_location() #11
  %7993 = load i32, ptr %7992, align 4, !tbaa !5
  %7994 = call ptr @strerror(i32 noundef %7993) #10
  %7995 = call ptr @__errno_location() #11
  %7996 = load i32, ptr %7995, align 4, !tbaa !5
  %7997 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7984, ptr noundef @.str.5, i32 noundef %7985, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 374, ptr noundef %7988, ptr noundef %7991, ptr noundef %7994, i32 noundef %7996) #10
  br label %7998

7998:                                             ; preds = %7981, %7964
  call void @llvm.lifetime.end.p0(i64 4, ptr %166) #10
  br label %7999

7999:                                             ; preds = %7998
  br label %8000

8000:                                             ; preds = %7999
  call void @exit(i32 noundef 1) #12
  unreachable

8001:                                             ; No predecessors!
  br label %8002

8002:                                             ; preds = %8001
  br label %8003

8003:                                             ; preds = %8002, %7943
  br label %8004

8004:                                             ; preds = %8003
  br label %8005

8005:                                             ; preds = %8004
  br label %8006

8006:                                             ; preds = %8005
  br label %8007

8007:                                             ; preds = %8006
  br label %8008

8008:                                             ; preds = %8007
  %8009 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %8009, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %8010 = call ptr @__errno_location() #11
  store i32 0, ptr %8010, align 4, !tbaa !5
  br label %8011

8011:                                             ; preds = %8008
  br label %8012

8012:                                             ; preds = %8011
  br label %8013

8013:                                             ; preds = %8012
  br label %8014

8014:                                             ; preds = %8013
  br label %8015

8015:                                             ; preds = %8014
  %8016 = load i32, ptr @test_count, align 4, !tbaa !5
  %8017 = add nsw i32 %8016, 1
  store i32 %8017, ptr @test_count, align 4, !tbaa !5
  %8018 = load ptr, ptr %162, align 8, !tbaa !9
  %8019 = getelementptr inbounds %struct.s2n_stuffer, ptr %8018, i32 0, i32 2
  %8020 = load i32, ptr %8019, align 4, !tbaa !45
  %8021 = load ptr, ptr %162, align 8, !tbaa !9
  %8022 = getelementptr inbounds %struct.s2n_stuffer, ptr %8021, i32 0, i32 1
  %8023 = load i32, ptr %8022, align 8, !tbaa !46
  %8024 = sub i32 %8020, %8023
  %8025 = icmp eq i32 %8024, 0
  br i1 %8025, label %8079, label %8026

8026:                                             ; preds = %8015
  br label %8027

8027:                                             ; preds = %8026
  br label %8028

8028:                                             ; preds = %8027
  call void @llvm.lifetime.start.p0(i64 4, ptr %167) #10
  %8029 = call ptr @__errno_location() #11
  %8030 = load i32, ptr %8029, align 4, !tbaa !5
  store i32 %8030, ptr %167, align 4, !tbaa !5
  %8031 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8032 = call i32 @s2n_print_stacktrace(ptr noundef %8031)
  %8033 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8034 = trunc i8 %8033 to i1
  br i1 %8034, label %8035, label %8057

8035:                                             ; preds = %8028
  %8036 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8037 = call i32 @fileno(ptr noundef %8036) #10
  %8038 = call i32 @isatty(i32 noundef %8037) #10
  %8039 = icmp ne i32 %8038, 0
  br i1 %8039, label %8040, label %8057

8040:                                             ; preds = %8035
  %8041 = load i32, ptr %167, align 4, !tbaa !5
  %8042 = call ptr @__errno_location() #11
  store i32 %8041, ptr %8042, align 4, !tbaa !5
  %8043 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8044 = load i32, ptr @test_count, align 4, !tbaa !5
  %8045 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8046 = load i32, ptr %8045, align 4, !tbaa !5
  %8047 = call ptr @s2n_strerror(i32 noundef %8046, ptr noundef @.str.4)
  %8048 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8049 = load i32, ptr %8048, align 4, !tbaa !5
  %8050 = call ptr @s2n_strerror_debug(i32 noundef %8049, ptr noundef @.str.4)
  %8051 = call ptr @__errno_location() #11
  %8052 = load i32, ptr %8051, align 4, !tbaa !5
  %8053 = call ptr @strerror(i32 noundef %8052) #10
  %8054 = call ptr @__errno_location() #11
  %8055 = load i32, ptr %8054, align 4, !tbaa !5
  %8056 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8043, ptr noundef @.str.2, i32 noundef %8044, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 376, ptr noundef %8047, ptr noundef %8050, ptr noundef %8053, i32 noundef %8055) #10
  br label %8074

8057:                                             ; preds = %8035, %8028
  %8058 = load i32, ptr %167, align 4, !tbaa !5
  %8059 = call ptr @__errno_location() #11
  store i32 %8058, ptr %8059, align 4, !tbaa !5
  %8060 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8061 = load i32, ptr @test_count, align 4, !tbaa !5
  %8062 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8063 = load i32, ptr %8062, align 4, !tbaa !5
  %8064 = call ptr @s2n_strerror(i32 noundef %8063, ptr noundef @.str.4)
  %8065 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8066 = load i32, ptr %8065, align 4, !tbaa !5
  %8067 = call ptr @s2n_strerror_debug(i32 noundef %8066, ptr noundef @.str.4)
  %8068 = call ptr @__errno_location() #11
  %8069 = load i32, ptr %8068, align 4, !tbaa !5
  %8070 = call ptr @strerror(i32 noundef %8069) #10
  %8071 = call ptr @__errno_location() #11
  %8072 = load i32, ptr %8071, align 4, !tbaa !5
  %8073 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8060, ptr noundef @.str.5, i32 noundef %8061, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 376, ptr noundef %8064, ptr noundef %8067, ptr noundef %8070, i32 noundef %8072) #10
  br label %8074

8074:                                             ; preds = %8057, %8040
  call void @llvm.lifetime.end.p0(i64 4, ptr %167) #10
  br label %8075

8075:                                             ; preds = %8074
  br label %8076

8076:                                             ; preds = %8075
  call void @exit(i32 noundef 1) #12
  unreachable

8077:                                             ; No predecessors!
  br label %8078

8078:                                             ; preds = %8077
  br label %8079

8079:                                             ; preds = %8078, %8015
  br label %8080

8080:                                             ; preds = %8079
  br label %8081

8081:                                             ; preds = %8080
  br label %8082

8082:                                             ; preds = %8081
  %8083 = load i32, ptr @test_count, align 4, !tbaa !5
  %8084 = add nsw i32 %8083, 1
  store i32 %8084, ptr @test_count, align 4, !tbaa !5
  %8085 = load ptr, ptr %149, align 8, !tbaa !9
  %8086 = call i32 @s2n_config_free(ptr noundef %8085)
  %8087 = icmp eq i32 %8086, -1
  br i1 %8087, label %8088, label %8141

8088:                                             ; preds = %8082
  br label %8089

8089:                                             ; preds = %8088
  br label %8090

8090:                                             ; preds = %8089
  call void @llvm.lifetime.start.p0(i64 4, ptr %168) #10
  %8091 = call ptr @__errno_location() #11
  %8092 = load i32, ptr %8091, align 4, !tbaa !5
  store i32 %8092, ptr %168, align 4, !tbaa !5
  %8093 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8094 = call i32 @s2n_print_stacktrace(ptr noundef %8093)
  %8095 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8096 = trunc i8 %8095 to i1
  br i1 %8096, label %8097, label %8119

8097:                                             ; preds = %8090
  %8098 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8099 = call i32 @fileno(ptr noundef %8098) #10
  %8100 = call i32 @isatty(i32 noundef %8099) #10
  %8101 = icmp ne i32 %8100, 0
  br i1 %8101, label %8102, label %8119

8102:                                             ; preds = %8097
  %8103 = load i32, ptr %168, align 4, !tbaa !5
  %8104 = call ptr @__errno_location() #11
  store i32 %8103, ptr %8104, align 4, !tbaa !5
  %8105 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8106 = load i32, ptr @test_count, align 4, !tbaa !5
  %8107 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8108 = load i32, ptr %8107, align 4, !tbaa !5
  %8109 = call ptr @s2n_strerror(i32 noundef %8108, ptr noundef @.str.4)
  %8110 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8111 = load i32, ptr %8110, align 4, !tbaa !5
  %8112 = call ptr @s2n_strerror_debug(i32 noundef %8111, ptr noundef @.str.4)
  %8113 = call ptr @__errno_location() #11
  %8114 = load i32, ptr %8113, align 4, !tbaa !5
  %8115 = call ptr @strerror(i32 noundef %8114) #10
  %8116 = call ptr @__errno_location() #11
  %8117 = load i32, ptr %8116, align 4, !tbaa !5
  %8118 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8105, ptr noundef @.str.2, i32 noundef %8106, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 378, ptr noundef %8109, ptr noundef %8112, ptr noundef %8115, i32 noundef %8117) #10
  br label %8136

8119:                                             ; preds = %8097, %8090
  %8120 = load i32, ptr %168, align 4, !tbaa !5
  %8121 = call ptr @__errno_location() #11
  store i32 %8120, ptr %8121, align 4, !tbaa !5
  %8122 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8123 = load i32, ptr @test_count, align 4, !tbaa !5
  %8124 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8125 = load i32, ptr %8124, align 4, !tbaa !5
  %8126 = call ptr @s2n_strerror(i32 noundef %8125, ptr noundef @.str.4)
  %8127 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8128 = load i32, ptr %8127, align 4, !tbaa !5
  %8129 = call ptr @s2n_strerror_debug(i32 noundef %8128, ptr noundef @.str.4)
  %8130 = call ptr @__errno_location() #11
  %8131 = load i32, ptr %8130, align 4, !tbaa !5
  %8132 = call ptr @strerror(i32 noundef %8131) #10
  %8133 = call ptr @__errno_location() #11
  %8134 = load i32, ptr %8133, align 4, !tbaa !5
  %8135 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8122, ptr noundef @.str.5, i32 noundef %8123, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 378, ptr noundef %8126, ptr noundef %8129, ptr noundef %8132, i32 noundef %8134) #10
  br label %8136

8136:                                             ; preds = %8119, %8102
  call void @llvm.lifetime.end.p0(i64 4, ptr %168) #10
  br label %8137

8137:                                             ; preds = %8136
  br label %8138

8138:                                             ; preds = %8137
  call void @exit(i32 noundef 1) #12
  unreachable

8139:                                             ; No predecessors!
  br label %8140

8140:                                             ; preds = %8139
  br label %8141

8141:                                             ; preds = %8140, %8082
  br label %8142

8142:                                             ; preds = %8141
  br label %8143

8143:                                             ; preds = %8142
  br label %8144

8144:                                             ; preds = %8143
  %8145 = load i32, ptr @test_count, align 4, !tbaa !5
  %8146 = add nsw i32 %8145, 1
  store i32 %8146, ptr @test_count, align 4, !tbaa !5
  %8147 = load ptr, ptr %151, align 8, !tbaa !9
  %8148 = call i32 @s2n_config_free(ptr noundef %8147)
  %8149 = icmp eq i32 %8148, -1
  br i1 %8149, label %8150, label %8203

8150:                                             ; preds = %8144
  br label %8151

8151:                                             ; preds = %8150
  br label %8152

8152:                                             ; preds = %8151
  call void @llvm.lifetime.start.p0(i64 4, ptr %169) #10
  %8153 = call ptr @__errno_location() #11
  %8154 = load i32, ptr %8153, align 4, !tbaa !5
  store i32 %8154, ptr %169, align 4, !tbaa !5
  %8155 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8156 = call i32 @s2n_print_stacktrace(ptr noundef %8155)
  %8157 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8158 = trunc i8 %8157 to i1
  br i1 %8158, label %8159, label %8181

8159:                                             ; preds = %8152
  %8160 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8161 = call i32 @fileno(ptr noundef %8160) #10
  %8162 = call i32 @isatty(i32 noundef %8161) #10
  %8163 = icmp ne i32 %8162, 0
  br i1 %8163, label %8164, label %8181

8164:                                             ; preds = %8159
  %8165 = load i32, ptr %169, align 4, !tbaa !5
  %8166 = call ptr @__errno_location() #11
  store i32 %8165, ptr %8166, align 4, !tbaa !5
  %8167 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8168 = load i32, ptr @test_count, align 4, !tbaa !5
  %8169 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8170 = load i32, ptr %8169, align 4, !tbaa !5
  %8171 = call ptr @s2n_strerror(i32 noundef %8170, ptr noundef @.str.4)
  %8172 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8173 = load i32, ptr %8172, align 4, !tbaa !5
  %8174 = call ptr @s2n_strerror_debug(i32 noundef %8173, ptr noundef @.str.4)
  %8175 = call ptr @__errno_location() #11
  %8176 = load i32, ptr %8175, align 4, !tbaa !5
  %8177 = call ptr @strerror(i32 noundef %8176) #10
  %8178 = call ptr @__errno_location() #11
  %8179 = load i32, ptr %8178, align 4, !tbaa !5
  %8180 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8167, ptr noundef @.str.2, i32 noundef %8168, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 379, ptr noundef %8171, ptr noundef %8174, ptr noundef %8177, i32 noundef %8179) #10
  br label %8198

8181:                                             ; preds = %8159, %8152
  %8182 = load i32, ptr %169, align 4, !tbaa !5
  %8183 = call ptr @__errno_location() #11
  store i32 %8182, ptr %8183, align 4, !tbaa !5
  %8184 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8185 = load i32, ptr @test_count, align 4, !tbaa !5
  %8186 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8187 = load i32, ptr %8186, align 4, !tbaa !5
  %8188 = call ptr @s2n_strerror(i32 noundef %8187, ptr noundef @.str.4)
  %8189 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8190 = load i32, ptr %8189, align 4, !tbaa !5
  %8191 = call ptr @s2n_strerror_debug(i32 noundef %8190, ptr noundef @.str.4)
  %8192 = call ptr @__errno_location() #11
  %8193 = load i32, ptr %8192, align 4, !tbaa !5
  %8194 = call ptr @strerror(i32 noundef %8193) #10
  %8195 = call ptr @__errno_location() #11
  %8196 = load i32, ptr %8195, align 4, !tbaa !5
  %8197 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8184, ptr noundef @.str.5, i32 noundef %8185, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 379, ptr noundef %8188, ptr noundef %8191, ptr noundef %8194, i32 noundef %8196) #10
  br label %8198

8198:                                             ; preds = %8181, %8164
  call void @llvm.lifetime.end.p0(i64 4, ptr %169) #10
  br label %8199

8199:                                             ; preds = %8198
  br label %8200

8200:                                             ; preds = %8199
  call void @exit(i32 noundef 1) #12
  unreachable

8201:                                             ; No predecessors!
  br label %8202

8202:                                             ; preds = %8201
  br label %8203

8203:                                             ; preds = %8202, %8144
  br label %8204

8204:                                             ; preds = %8203
  br label %8205

8205:                                             ; preds = %8204
  br label %8206

8206:                                             ; preds = %8205
  %8207 = load i32, ptr @test_count, align 4, !tbaa !5
  %8208 = add nsw i32 %8207, 1
  store i32 %8208, ptr @test_count, align 4, !tbaa !5
  %8209 = load ptr, ptr %150, align 8, !tbaa !9
  %8210 = call i32 @s2n_connection_free(ptr noundef %8209)
  %8211 = icmp eq i32 %8210, -1
  br i1 %8211, label %8212, label %8265

8212:                                             ; preds = %8206
  br label %8213

8213:                                             ; preds = %8212
  br label %8214

8214:                                             ; preds = %8213
  call void @llvm.lifetime.start.p0(i64 4, ptr %170) #10
  %8215 = call ptr @__errno_location() #11
  %8216 = load i32, ptr %8215, align 4, !tbaa !5
  store i32 %8216, ptr %170, align 4, !tbaa !5
  %8217 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8218 = call i32 @s2n_print_stacktrace(ptr noundef %8217)
  %8219 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8220 = trunc i8 %8219 to i1
  br i1 %8220, label %8221, label %8243

8221:                                             ; preds = %8214
  %8222 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8223 = call i32 @fileno(ptr noundef %8222) #10
  %8224 = call i32 @isatty(i32 noundef %8223) #10
  %8225 = icmp ne i32 %8224, 0
  br i1 %8225, label %8226, label %8243

8226:                                             ; preds = %8221
  %8227 = load i32, ptr %170, align 4, !tbaa !5
  %8228 = call ptr @__errno_location() #11
  store i32 %8227, ptr %8228, align 4, !tbaa !5
  %8229 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8230 = load i32, ptr @test_count, align 4, !tbaa !5
  %8231 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8232 = load i32, ptr %8231, align 4, !tbaa !5
  %8233 = call ptr @s2n_strerror(i32 noundef %8232, ptr noundef @.str.4)
  %8234 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8235 = load i32, ptr %8234, align 4, !tbaa !5
  %8236 = call ptr @s2n_strerror_debug(i32 noundef %8235, ptr noundef @.str.4)
  %8237 = call ptr @__errno_location() #11
  %8238 = load i32, ptr %8237, align 4, !tbaa !5
  %8239 = call ptr @strerror(i32 noundef %8238) #10
  %8240 = call ptr @__errno_location() #11
  %8241 = load i32, ptr %8240, align 4, !tbaa !5
  %8242 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8229, ptr noundef @.str.2, i32 noundef %8230, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 380, ptr noundef %8233, ptr noundef %8236, ptr noundef %8239, i32 noundef %8241) #10
  br label %8260

8243:                                             ; preds = %8221, %8214
  %8244 = load i32, ptr %170, align 4, !tbaa !5
  %8245 = call ptr @__errno_location() #11
  store i32 %8244, ptr %8245, align 4, !tbaa !5
  %8246 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8247 = load i32, ptr @test_count, align 4, !tbaa !5
  %8248 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8249 = load i32, ptr %8248, align 4, !tbaa !5
  %8250 = call ptr @s2n_strerror(i32 noundef %8249, ptr noundef @.str.4)
  %8251 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8252 = load i32, ptr %8251, align 4, !tbaa !5
  %8253 = call ptr @s2n_strerror_debug(i32 noundef %8252, ptr noundef @.str.4)
  %8254 = call ptr @__errno_location() #11
  %8255 = load i32, ptr %8254, align 4, !tbaa !5
  %8256 = call ptr @strerror(i32 noundef %8255) #10
  %8257 = call ptr @__errno_location() #11
  %8258 = load i32, ptr %8257, align 4, !tbaa !5
  %8259 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8246, ptr noundef @.str.5, i32 noundef %8247, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 380, ptr noundef %8250, ptr noundef %8253, ptr noundef %8256, i32 noundef %8258) #10
  br label %8260

8260:                                             ; preds = %8243, %8226
  call void @llvm.lifetime.end.p0(i64 4, ptr %170) #10
  br label %8261

8261:                                             ; preds = %8260
  br label %8262

8262:                                             ; preds = %8261
  call void @exit(i32 noundef 1) #12
  unreachable

8263:                                             ; No predecessors!
  br label %8264

8264:                                             ; preds = %8263
  br label %8265

8265:                                             ; preds = %8264, %8206
  br label %8266

8266:                                             ; preds = %8265
  br label %8267

8267:                                             ; preds = %8266
  br label %8268

8268:                                             ; preds = %8267
  %8269 = load i32, ptr @test_count, align 4, !tbaa !5
  %8270 = add nsw i32 %8269, 1
  store i32 %8270, ptr @test_count, align 4, !tbaa !5
  %8271 = load ptr, ptr %152, align 8, !tbaa !9
  %8272 = call i32 @s2n_connection_free(ptr noundef %8271)
  %8273 = icmp eq i32 %8272, -1
  br i1 %8273, label %8274, label %8327

8274:                                             ; preds = %8268
  br label %8275

8275:                                             ; preds = %8274
  br label %8276

8276:                                             ; preds = %8275
  call void @llvm.lifetime.start.p0(i64 4, ptr %171) #10
  %8277 = call ptr @__errno_location() #11
  %8278 = load i32, ptr %8277, align 4, !tbaa !5
  store i32 %8278, ptr %171, align 4, !tbaa !5
  %8279 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8280 = call i32 @s2n_print_stacktrace(ptr noundef %8279)
  %8281 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8282 = trunc i8 %8281 to i1
  br i1 %8282, label %8283, label %8305

8283:                                             ; preds = %8276
  %8284 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8285 = call i32 @fileno(ptr noundef %8284) #10
  %8286 = call i32 @isatty(i32 noundef %8285) #10
  %8287 = icmp ne i32 %8286, 0
  br i1 %8287, label %8288, label %8305

8288:                                             ; preds = %8283
  %8289 = load i32, ptr %171, align 4, !tbaa !5
  %8290 = call ptr @__errno_location() #11
  store i32 %8289, ptr %8290, align 4, !tbaa !5
  %8291 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8292 = load i32, ptr @test_count, align 4, !tbaa !5
  %8293 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8294 = load i32, ptr %8293, align 4, !tbaa !5
  %8295 = call ptr @s2n_strerror(i32 noundef %8294, ptr noundef @.str.4)
  %8296 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8297 = load i32, ptr %8296, align 4, !tbaa !5
  %8298 = call ptr @s2n_strerror_debug(i32 noundef %8297, ptr noundef @.str.4)
  %8299 = call ptr @__errno_location() #11
  %8300 = load i32, ptr %8299, align 4, !tbaa !5
  %8301 = call ptr @strerror(i32 noundef %8300) #10
  %8302 = call ptr @__errno_location() #11
  %8303 = load i32, ptr %8302, align 4, !tbaa !5
  %8304 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8291, ptr noundef @.str.2, i32 noundef %8292, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 381, ptr noundef %8295, ptr noundef %8298, ptr noundef %8301, i32 noundef %8303) #10
  br label %8322

8305:                                             ; preds = %8283, %8276
  %8306 = load i32, ptr %171, align 4, !tbaa !5
  %8307 = call ptr @__errno_location() #11
  store i32 %8306, ptr %8307, align 4, !tbaa !5
  %8308 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8309 = load i32, ptr @test_count, align 4, !tbaa !5
  %8310 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8311 = load i32, ptr %8310, align 4, !tbaa !5
  %8312 = call ptr @s2n_strerror(i32 noundef %8311, ptr noundef @.str.4)
  %8313 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8314 = load i32, ptr %8313, align 4, !tbaa !5
  %8315 = call ptr @s2n_strerror_debug(i32 noundef %8314, ptr noundef @.str.4)
  %8316 = call ptr @__errno_location() #11
  %8317 = load i32, ptr %8316, align 4, !tbaa !5
  %8318 = call ptr @strerror(i32 noundef %8317) #10
  %8319 = call ptr @__errno_location() #11
  %8320 = load i32, ptr %8319, align 4, !tbaa !5
  %8321 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8308, ptr noundef @.str.5, i32 noundef %8309, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 381, ptr noundef %8312, ptr noundef %8315, ptr noundef %8318, i32 noundef %8320) #10
  br label %8322

8322:                                             ; preds = %8305, %8288
  call void @llvm.lifetime.end.p0(i64 4, ptr %171) #10
  br label %8323

8323:                                             ; preds = %8322
  br label %8324

8324:                                             ; preds = %8323
  call void @exit(i32 noundef 1) #12
  unreachable

8325:                                             ; No predecessors!
  br label %8326

8326:                                             ; preds = %8325
  br label %8327

8327:                                             ; preds = %8326, %8268
  br label %8328

8328:                                             ; preds = %8327
  br label %8329

8329:                                             ; preds = %8328
  br label %8330

8330:                                             ; preds = %8329
  %8331 = load i32, ptr @test_count, align 4, !tbaa !5
  %8332 = add nsw i32 %8331, 1
  store i32 %8332, ptr @test_count, align 4, !tbaa !5
  %8333 = call i32 (...) @s2n_disable_tls13_in_test()
  %8334 = icmp eq i32 %8333, -1
  br i1 %8334, label %8335, label %8388

8335:                                             ; preds = %8330
  br label %8336

8336:                                             ; preds = %8335
  br label %8337

8337:                                             ; preds = %8336
  call void @llvm.lifetime.start.p0(i64 4, ptr %172) #10
  %8338 = call ptr @__errno_location() #11
  %8339 = load i32, ptr %8338, align 4, !tbaa !5
  store i32 %8339, ptr %172, align 4, !tbaa !5
  %8340 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8341 = call i32 @s2n_print_stacktrace(ptr noundef %8340)
  %8342 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8343 = trunc i8 %8342 to i1
  br i1 %8343, label %8344, label %8366

8344:                                             ; preds = %8337
  %8345 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8346 = call i32 @fileno(ptr noundef %8345) #10
  %8347 = call i32 @isatty(i32 noundef %8346) #10
  %8348 = icmp ne i32 %8347, 0
  br i1 %8348, label %8349, label %8366

8349:                                             ; preds = %8344
  %8350 = load i32, ptr %172, align 4, !tbaa !5
  %8351 = call ptr @__errno_location() #11
  store i32 %8350, ptr %8351, align 4, !tbaa !5
  %8352 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8353 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %8355, ptr noundef @.str.4)
  %8357 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8358 = load i32, ptr %8357, align 4, !tbaa !5
  %8359 = call ptr @s2n_strerror_debug(i32 noundef %8358, ptr noundef @.str.4)
  %8360 = call ptr @__errno_location() #11
  %8361 = load i32, ptr %8360, align 4, !tbaa !5
  %8362 = call ptr @strerror(i32 noundef %8361) #10
  %8363 = call ptr @__errno_location() #11
  %8364 = load i32, ptr %8363, align 4, !tbaa !5
  %8365 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8352, ptr noundef @.str.2, i32 noundef %8353, ptr noundef @.str.8, ptr noundef @.str.1, i32 noundef 382, ptr noundef %8356, ptr noundef %8359, ptr noundef %8362, i32 noundef %8364) #10
  br label %8383

8366:                                             ; preds = %8344, %8337
  %8367 = load i32, ptr %172, align 4, !tbaa !5
  %8368 = call ptr @__errno_location() #11
  store i32 %8367, ptr %8368, align 4, !tbaa !5
  %8369 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8370 = load i32, ptr @test_count, align 4, !tbaa !5
  %8371 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8372 = load i32, ptr %8371, align 4, !tbaa !5
  %8373 = call ptr @s2n_strerror(i32 noundef %8372, ptr noundef @.str.4)
  %8374 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8375 = load i32, ptr %8374, align 4, !tbaa !5
  %8376 = call ptr @s2n_strerror_debug(i32 noundef %8375, ptr noundef @.str.4)
  %8377 = call ptr @__errno_location() #11
  %8378 = load i32, ptr %8377, align 4, !tbaa !5
  %8379 = call ptr @strerror(i32 noundef %8378) #10
  %8380 = call ptr @__errno_location() #11
  %8381 = load i32, ptr %8380, align 4, !tbaa !5
  %8382 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8369, ptr noundef @.str.5, i32 noundef %8370, ptr noundef @.str.8, ptr noundef @.str.1, i32 noundef 382, ptr noundef %8373, ptr noundef %8376, ptr noundef %8379, i32 noundef %8381) #10
  br label %8383

8383:                                             ; preds = %8366, %8349
  call void @llvm.lifetime.end.p0(i64 4, ptr %172) #10
  br label %8384

8384:                                             ; preds = %8383
  br label %8385

8385:                                             ; preds = %8384
  call void @exit(i32 noundef 1) #12
  unreachable

8386:                                             ; No predecessors!
  br label %8387

8387:                                             ; preds = %8386
  br label %8388

8388:                                             ; preds = %8387, %8330
  br label %8389

8389:                                             ; preds = %8388
  br label %8390

8390:                                             ; preds = %8389
  call void @llvm.lifetime.end.p0(i64 8, ptr %162) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %160) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %152) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %151) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %150) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %149) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %173) #10
  store ptr null, ptr %173, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %174) #10
  store ptr null, ptr %174, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %175) #10
  store ptr null, ptr %175, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %176) #10
  store ptr null, ptr %176, align 8, !tbaa !9
  br label %8391

8391:                                             ; preds = %8390
  %8392 = load i32, ptr @test_count, align 4, !tbaa !5
  %8393 = add nsw i32 %8392, 1
  store i32 %8393, ptr @test_count, align 4, !tbaa !5
  %8394 = call ptr @s2n_config_new()
  store ptr %8394, ptr %175, align 8, !tbaa !9
  %8395 = icmp eq ptr %8394, null
  br i1 %8395, label %8396, label %8449

8396:                                             ; preds = %8391
  br label %8397

8397:                                             ; preds = %8396
  br label %8398

8398:                                             ; preds = %8397
  call void @llvm.lifetime.start.p0(i64 4, ptr %177) #10
  %8399 = call ptr @__errno_location() #11
  %8400 = load i32, ptr %8399, align 4, !tbaa !5
  store i32 %8400, ptr %177, align 4, !tbaa !5
  %8401 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8402 = call i32 @s2n_print_stacktrace(ptr noundef %8401)
  %8403 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8404 = trunc i8 %8403 to i1
  br i1 %8404, label %8405, label %8427

8405:                                             ; preds = %8398
  %8406 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8407 = call i32 @fileno(ptr noundef %8406) #10
  %8408 = call i32 @isatty(i32 noundef %8407) #10
  %8409 = icmp ne i32 %8408, 0
  br i1 %8409, label %8410, label %8427

8410:                                             ; preds = %8405
  %8411 = load i32, ptr %177, align 4, !tbaa !5
  %8412 = call ptr @__errno_location() #11
  store i32 %8411, ptr %8412, align 4, !tbaa !5
  %8413 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8414 = load i32, ptr @test_count, align 4, !tbaa !5
  %8415 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8416 = load i32, ptr %8415, align 4, !tbaa !5
  %8417 = call ptr @s2n_strerror(i32 noundef %8416, ptr noundef @.str.4)
  %8418 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8419 = load i32, ptr %8418, align 4, !tbaa !5
  %8420 = call ptr @s2n_strerror_debug(i32 noundef %8419, ptr noundef @.str.4)
  %8421 = call ptr @__errno_location() #11
  %8422 = load i32, ptr %8421, align 4, !tbaa !5
  %8423 = call ptr @strerror(i32 noundef %8422) #10
  %8424 = call ptr @__errno_location() #11
  %8425 = load i32, ptr %8424, align 4, !tbaa !5
  %8426 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8413, ptr noundef @.str.2, i32 noundef %8414, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 392, ptr noundef %8417, ptr noundef %8420, ptr noundef %8423, i32 noundef %8425) #10
  br label %8444

8427:                                             ; preds = %8405, %8398
  %8428 = load i32, ptr %177, align 4, !tbaa !5
  %8429 = call ptr @__errno_location() #11
  store i32 %8428, ptr %8429, align 4, !tbaa !5
  %8430 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8431 = load i32, ptr @test_count, align 4, !tbaa !5
  %8432 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8433 = load i32, ptr %8432, align 4, !tbaa !5
  %8434 = call ptr @s2n_strerror(i32 noundef %8433, ptr noundef @.str.4)
  %8435 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8436 = load i32, ptr %8435, align 4, !tbaa !5
  %8437 = call ptr @s2n_strerror_debug(i32 noundef %8436, ptr noundef @.str.4)
  %8438 = call ptr @__errno_location() #11
  %8439 = load i32, ptr %8438, align 4, !tbaa !5
  %8440 = call ptr @strerror(i32 noundef %8439) #10
  %8441 = call ptr @__errno_location() #11
  %8442 = load i32, ptr %8441, align 4, !tbaa !5
  %8443 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8430, ptr noundef @.str.5, i32 noundef %8431, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 392, ptr noundef %8434, ptr noundef %8437, ptr noundef %8440, i32 noundef %8442) #10
  br label %8444

8444:                                             ; preds = %8427, %8410
  call void @llvm.lifetime.end.p0(i64 4, ptr %177) #10
  br label %8445

8445:                                             ; preds = %8444
  br label %8446

8446:                                             ; preds = %8445
  call void @exit(i32 noundef 1) #12
  unreachable

8447:                                             ; No predecessors!
  br label %8448

8448:                                             ; preds = %8447
  br label %8449

8449:                                             ; preds = %8448, %8391
  br label %8450

8450:                                             ; preds = %8449
  br label %8451

8451:                                             ; preds = %8450
  br label %8452

8452:                                             ; preds = %8451
  %8453 = load i32, ptr @test_count, align 4, !tbaa !5
  %8454 = add nsw i32 %8453, 1
  store i32 %8454, ptr @test_count, align 4, !tbaa !5
  %8455 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %8455, ptr %176, align 8, !tbaa !9
  %8456 = icmp eq ptr %8455, null
  br i1 %8456, label %8457, label %8510

8457:                                             ; preds = %8452
  br label %8458

8458:                                             ; preds = %8457
  br label %8459

8459:                                             ; preds = %8458
  call void @llvm.lifetime.start.p0(i64 4, ptr %178) #10
  %8460 = call ptr @__errno_location() #11
  %8461 = load i32, ptr %8460, align 4, !tbaa !5
  store i32 %8461, ptr %178, align 4, !tbaa !5
  %8462 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8463 = call i32 @s2n_print_stacktrace(ptr noundef %8462)
  %8464 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8465 = trunc i8 %8464 to i1
  br i1 %8465, label %8466, label %8488

8466:                                             ; preds = %8459
  %8467 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8468 = call i32 @fileno(ptr noundef %8467) #10
  %8469 = call i32 @isatty(i32 noundef %8468) #10
  %8470 = icmp ne i32 %8469, 0
  br i1 %8470, label %8471, label %8488

8471:                                             ; preds = %8466
  %8472 = load i32, ptr %178, align 4, !tbaa !5
  %8473 = call ptr @__errno_location() #11
  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() #11
  %8483 = load i32, ptr %8482, align 4, !tbaa !5
  %8484 = call ptr @strerror(i32 noundef %8483) #10
  %8485 = call ptr @__errno_location() #11
  %8486 = load i32, ptr %8485, align 4, !tbaa !5
  %8487 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8474, ptr noundef @.str.2, i32 noundef %8475, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 393, ptr noundef %8478, ptr noundef %8481, ptr noundef %8484, i32 noundef %8486) #10
  br label %8505

8488:                                             ; preds = %8466, %8459
  %8489 = load i32, ptr %178, align 4, !tbaa !5
  %8490 = call ptr @__errno_location() #11
  store i32 %8489, ptr %8490, align 4, !tbaa !5
  %8491 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8492 = load i32, ptr @test_count, align 4, !tbaa !5
  %8493 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8494 = load i32, ptr %8493, align 4, !tbaa !5
  %8495 = call ptr @s2n_strerror(i32 noundef %8494, ptr noundef @.str.4)
  %8496 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8497 = load i32, ptr %8496, align 4, !tbaa !5
  %8498 = call ptr @s2n_strerror_debug(i32 noundef %8497, ptr noundef @.str.4)
  %8499 = call ptr @__errno_location() #11
  %8500 = load i32, ptr %8499, align 4, !tbaa !5
  %8501 = call ptr @strerror(i32 noundef %8500) #10
  %8502 = call ptr @__errno_location() #11
  %8503 = load i32, ptr %8502, align 4, !tbaa !5
  %8504 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8491, ptr noundef @.str.5, i32 noundef %8492, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 393, ptr noundef %8495, ptr noundef %8498, ptr noundef %8501, i32 noundef %8503) #10
  br label %8505

8505:                                             ; preds = %8488, %8471
  call void @llvm.lifetime.end.p0(i64 4, ptr %178) #10
  br label %8506

8506:                                             ; preds = %8505
  br label %8507

8507:                                             ; preds = %8506
  call void @exit(i32 noundef 1) #12
  unreachable

8508:                                             ; No predecessors!
  br label %8509

8509:                                             ; preds = %8508
  br label %8510

8510:                                             ; preds = %8509, %8452
  br label %8511

8511:                                             ; preds = %8510
  br label %8512

8512:                                             ; preds = %8511
  br label %8513

8513:                                             ; preds = %8512
  %8514 = load i32, ptr @test_count, align 4, !tbaa !5
  %8515 = add nsw i32 %8514, 1
  store i32 %8515, ptr @test_count, align 4, !tbaa !5
  %8516 = load ptr, ptr %176, align 8, !tbaa !9
  %8517 = load ptr, ptr %175, align 8, !tbaa !9
  %8518 = call i32 @s2n_connection_set_config(ptr noundef %8516, ptr noundef %8517)
  %8519 = icmp eq i32 %8518, -1
  br i1 %8519, label %8520, label %8573

8520:                                             ; preds = %8513
  br label %8521

8521:                                             ; preds = %8520
  br label %8522

8522:                                             ; preds = %8521
  call void @llvm.lifetime.start.p0(i64 4, ptr %179) #10
  %8523 = call ptr @__errno_location() #11
  %8524 = load i32, ptr %8523, align 4, !tbaa !5
  store i32 %8524, ptr %179, align 4, !tbaa !5
  %8525 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8526 = call i32 @s2n_print_stacktrace(ptr noundef %8525)
  %8527 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8528 = trunc i8 %8527 to i1
  br i1 %8528, label %8529, label %8551

8529:                                             ; preds = %8522
  %8530 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8531 = call i32 @fileno(ptr noundef %8530) #10
  %8532 = call i32 @isatty(i32 noundef %8531) #10
  %8533 = icmp ne i32 %8532, 0
  br i1 %8533, label %8534, label %8551

8534:                                             ; preds = %8529
  %8535 = load i32, ptr %179, align 4, !tbaa !5
  %8536 = call ptr @__errno_location() #11
  store i32 %8535, ptr %8536, align 4, !tbaa !5
  %8537 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8538 = load i32, ptr @test_count, align 4, !tbaa !5
  %8539 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8540 = load i32, ptr %8539, align 4, !tbaa !5
  %8541 = call ptr @s2n_strerror(i32 noundef %8540, ptr noundef @.str.4)
  %8542 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8543 = load i32, ptr %8542, align 4, !tbaa !5
  %8544 = call ptr @s2n_strerror_debug(i32 noundef %8543, ptr noundef @.str.4)
  %8545 = call ptr @__errno_location() #11
  %8546 = load i32, ptr %8545, align 4, !tbaa !5
  %8547 = call ptr @strerror(i32 noundef %8546) #10
  %8548 = call ptr @__errno_location() #11
  %8549 = load i32, ptr %8548, align 4, !tbaa !5
  %8550 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8537, ptr noundef @.str.2, i32 noundef %8538, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 394, ptr noundef %8541, ptr noundef %8544, ptr noundef %8547, i32 noundef %8549) #10
  br label %8568

8551:                                             ; preds = %8529, %8522
  %8552 = load i32, ptr %179, align 4, !tbaa !5
  %8553 = call ptr @__errno_location() #11
  store i32 %8552, ptr %8553, align 4, !tbaa !5
  %8554 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8555 = load i32, ptr @test_count, align 4, !tbaa !5
  %8556 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8557 = load i32, ptr %8556, align 4, !tbaa !5
  %8558 = call ptr @s2n_strerror(i32 noundef %8557, ptr noundef @.str.4)
  %8559 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8560 = load i32, ptr %8559, align 4, !tbaa !5
  %8561 = call ptr @s2n_strerror_debug(i32 noundef %8560, ptr noundef @.str.4)
  %8562 = call ptr @__errno_location() #11
  %8563 = load i32, ptr %8562, align 4, !tbaa !5
  %8564 = call ptr @strerror(i32 noundef %8563) #10
  %8565 = call ptr @__errno_location() #11
  %8566 = load i32, ptr %8565, align 4, !tbaa !5
  %8567 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8554, ptr noundef @.str.5, i32 noundef %8555, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 394, ptr noundef %8558, ptr noundef %8561, ptr noundef %8564, i32 noundef %8566) #10
  br label %8568

8568:                                             ; preds = %8551, %8534
  call void @llvm.lifetime.end.p0(i64 4, ptr %179) #10
  br label %8569

8569:                                             ; preds = %8568
  br label %8570

8570:                                             ; preds = %8569
  call void @exit(i32 noundef 1) #12
  unreachable

8571:                                             ; No predecessors!
  br label %8572

8572:                                             ; preds = %8571
  br label %8573

8573:                                             ; preds = %8572, %8513
  br label %8574

8574:                                             ; preds = %8573
  br label %8575

8575:                                             ; preds = %8574
  br label %8576

8576:                                             ; preds = %8575
  %8577 = load i32, ptr @test_count, align 4, !tbaa !5
  %8578 = add nsw i32 %8577, 1
  store i32 %8578, ptr @test_count, align 4, !tbaa !5
  %8579 = call ptr @s2n_config_new()
  store ptr %8579, ptr %173, align 8, !tbaa !9
  %8580 = icmp eq ptr %8579, null
  br i1 %8580, label %8581, label %8634

8581:                                             ; preds = %8576
  br label %8582

8582:                                             ; preds = %8581
  br label %8583

8583:                                             ; preds = %8582
  call void @llvm.lifetime.start.p0(i64 4, ptr %180) #10
  %8584 = call ptr @__errno_location() #11
  %8585 = load i32, ptr %8584, align 4, !tbaa !5
  store i32 %8585, ptr %180, align 4, !tbaa !5
  %8586 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8587 = call i32 @s2n_print_stacktrace(ptr noundef %8586)
  %8588 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8589 = trunc i8 %8588 to i1
  br i1 %8589, label %8590, label %8612

8590:                                             ; preds = %8583
  %8591 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8592 = call i32 @fileno(ptr noundef %8591) #10
  %8593 = call i32 @isatty(i32 noundef %8592) #10
  %8594 = icmp ne i32 %8593, 0
  br i1 %8594, label %8595, label %8612

8595:                                             ; preds = %8590
  %8596 = load i32, ptr %180, align 4, !tbaa !5
  %8597 = call ptr @__errno_location() #11
  store i32 %8596, ptr %8597, align 4, !tbaa !5
  %8598 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8599 = load i32, ptr @test_count, align 4, !tbaa !5
  %8600 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8601 = load i32, ptr %8600, align 4, !tbaa !5
  %8602 = call ptr @s2n_strerror(i32 noundef %8601, ptr noundef @.str.4)
  %8603 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8604 = load i32, ptr %8603, align 4, !tbaa !5
  %8605 = call ptr @s2n_strerror_debug(i32 noundef %8604, ptr noundef @.str.4)
  %8606 = call ptr @__errno_location() #11
  %8607 = load i32, ptr %8606, align 4, !tbaa !5
  %8608 = call ptr @strerror(i32 noundef %8607) #10
  %8609 = call ptr @__errno_location() #11
  %8610 = load i32, ptr %8609, align 4, !tbaa !5
  %8611 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8598, ptr noundef @.str.2, i32 noundef %8599, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 396, ptr noundef %8602, ptr noundef %8605, ptr noundef %8608, i32 noundef %8610) #10
  br label %8629

8612:                                             ; preds = %8590, %8583
  %8613 = load i32, ptr %180, align 4, !tbaa !5
  %8614 = call ptr @__errno_location() #11
  store i32 %8613, ptr %8614, align 4, !tbaa !5
  %8615 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8616 = load i32, ptr @test_count, align 4, !tbaa !5
  %8617 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8618 = load i32, ptr %8617, align 4, !tbaa !5
  %8619 = call ptr @s2n_strerror(i32 noundef %8618, ptr noundef @.str.4)
  %8620 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8621 = load i32, ptr %8620, align 4, !tbaa !5
  %8622 = call ptr @s2n_strerror_debug(i32 noundef %8621, ptr noundef @.str.4)
  %8623 = call ptr @__errno_location() #11
  %8624 = load i32, ptr %8623, align 4, !tbaa !5
  %8625 = call ptr @strerror(i32 noundef %8624) #10
  %8626 = call ptr @__errno_location() #11
  %8627 = load i32, ptr %8626, align 4, !tbaa !5
  %8628 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8615, ptr noundef @.str.5, i32 noundef %8616, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 396, ptr noundef %8619, ptr noundef %8622, ptr noundef %8625, i32 noundef %8627) #10
  br label %8629

8629:                                             ; preds = %8612, %8595
  call void @llvm.lifetime.end.p0(i64 4, ptr %180) #10
  br label %8630

8630:                                             ; preds = %8629
  br label %8631

8631:                                             ; preds = %8630
  call void @exit(i32 noundef 1) #12
  unreachable

8632:                                             ; No predecessors!
  br label %8633

8633:                                             ; preds = %8632
  br label %8634

8634:                                             ; preds = %8633, %8576
  br label %8635

8635:                                             ; preds = %8634
  br label %8636

8636:                                             ; preds = %8635
  br label %8637

8637:                                             ; preds = %8636
  %8638 = load i32, ptr @test_count, align 4, !tbaa !5
  %8639 = add nsw i32 %8638, 1
  store i32 %8639, ptr @test_count, align 4, !tbaa !5
  %8640 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %8640, ptr %174, align 8, !tbaa !9
  %8641 = icmp eq ptr %8640, null
  br i1 %8641, label %8642, label %8695

8642:                                             ; preds = %8637
  br label %8643

8643:                                             ; preds = %8642
  br label %8644

8644:                                             ; preds = %8643
  call void @llvm.lifetime.start.p0(i64 4, ptr %181) #10
  %8645 = call ptr @__errno_location() #11
  %8646 = load i32, ptr %8645, align 4, !tbaa !5
  store i32 %8646, ptr %181, align 4, !tbaa !5
  %8647 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8648 = call i32 @s2n_print_stacktrace(ptr noundef %8647)
  %8649 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8650 = trunc i8 %8649 to i1
  br i1 %8650, label %8651, label %8673

8651:                                             ; preds = %8644
  %8652 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8653 = call i32 @fileno(ptr noundef %8652) #10
  %8654 = call i32 @isatty(i32 noundef %8653) #10
  %8655 = icmp ne i32 %8654, 0
  br i1 %8655, label %8656, label %8673

8656:                                             ; preds = %8651
  %8657 = load i32, ptr %181, align 4, !tbaa !5
  %8658 = call ptr @__errno_location() #11
  store i32 %8657, ptr %8658, align 4, !tbaa !5
  %8659 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8660 = load i32, ptr @test_count, align 4, !tbaa !5
  %8661 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8662 = load i32, ptr %8661, align 4, !tbaa !5
  %8663 = call ptr @s2n_strerror(i32 noundef %8662, ptr noundef @.str.4)
  %8664 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8665 = load i32, ptr %8664, align 4, !tbaa !5
  %8666 = call ptr @s2n_strerror_debug(i32 noundef %8665, ptr noundef @.str.4)
  %8667 = call ptr @__errno_location() #11
  %8668 = load i32, ptr %8667, align 4, !tbaa !5
  %8669 = call ptr @strerror(i32 noundef %8668) #10
  %8670 = call ptr @__errno_location() #11
  %8671 = load i32, ptr %8670, align 4, !tbaa !5
  %8672 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8659, ptr noundef @.str.2, i32 noundef %8660, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 397, ptr noundef %8663, ptr noundef %8666, ptr noundef %8669, i32 noundef %8671) #10
  br label %8690

8673:                                             ; preds = %8651, %8644
  %8674 = load i32, ptr %181, align 4, !tbaa !5
  %8675 = call ptr @__errno_location() #11
  store i32 %8674, ptr %8675, align 4, !tbaa !5
  %8676 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8677 = load i32, ptr @test_count, align 4, !tbaa !5
  %8678 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8679 = load i32, ptr %8678, align 4, !tbaa !5
  %8680 = call ptr @s2n_strerror(i32 noundef %8679, ptr noundef @.str.4)
  %8681 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8682 = load i32, ptr %8681, align 4, !tbaa !5
  %8683 = call ptr @s2n_strerror_debug(i32 noundef %8682, ptr noundef @.str.4)
  %8684 = call ptr @__errno_location() #11
  %8685 = load i32, ptr %8684, align 4, !tbaa !5
  %8686 = call ptr @strerror(i32 noundef %8685) #10
  %8687 = call ptr @__errno_location() #11
  %8688 = load i32, ptr %8687, align 4, !tbaa !5
  %8689 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8676, ptr noundef @.str.5, i32 noundef %8677, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 397, ptr noundef %8680, ptr noundef %8683, ptr noundef %8686, i32 noundef %8688) #10
  br label %8690

8690:                                             ; preds = %8673, %8656
  call void @llvm.lifetime.end.p0(i64 4, ptr %181) #10
  br label %8691

8691:                                             ; preds = %8690
  br label %8692

8692:                                             ; preds = %8691
  call void @exit(i32 noundef 1) #12
  unreachable

8693:                                             ; No predecessors!
  br label %8694

8694:                                             ; preds = %8693
  br label %8695

8695:                                             ; preds = %8694, %8637
  br label %8696

8696:                                             ; preds = %8695
  br label %8697

8697:                                             ; preds = %8696
  br label %8698

8698:                                             ; preds = %8697
  %8699 = load i32, ptr @test_count, align 4, !tbaa !5
  %8700 = add nsw i32 %8699, 1
  store i32 %8700, ptr @test_count, align 4, !tbaa !5
  %8701 = load ptr, ptr %174, align 8, !tbaa !9
  %8702 = load ptr, ptr %173, align 8, !tbaa !9
  %8703 = call i32 @s2n_connection_set_config(ptr noundef %8701, ptr noundef %8702)
  %8704 = icmp eq i32 %8703, -1
  br i1 %8704, label %8705, label %8758

8705:                                             ; preds = %8698
  br label %8706

8706:                                             ; preds = %8705
  br label %8707

8707:                                             ; preds = %8706
  call void @llvm.lifetime.start.p0(i64 4, ptr %182) #10
  %8708 = call ptr @__errno_location() #11
  %8709 = load i32, ptr %8708, align 4, !tbaa !5
  store i32 %8709, ptr %182, 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) #10
  %8717 = call i32 @isatty(i32 noundef %8716) #10
  %8718 = icmp ne i32 %8717, 0
  br i1 %8718, label %8719, label %8736

8719:                                             ; preds = %8714
  %8720 = load i32, ptr %182, align 4, !tbaa !5
  %8721 = call ptr @__errno_location() #11
  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() #11
  %8731 = load i32, ptr %8730, align 4, !tbaa !5
  %8732 = call ptr @strerror(i32 noundef %8731) #10
  %8733 = call ptr @__errno_location() #11
  %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.32, ptr noundef @.str.1, i32 noundef 398, ptr noundef %8726, ptr noundef %8729, ptr noundef %8732, i32 noundef %8734) #10
  br label %8753

8736:                                             ; preds = %8714, %8707
  %8737 = load i32, ptr %182, align 4, !tbaa !5
  %8738 = call ptr @__errno_location() #11
  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() #11
  %8748 = load i32, ptr %8747, align 4, !tbaa !5
  %8749 = call ptr @strerror(i32 noundef %8748) #10
  %8750 = call ptr @__errno_location() #11
  %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.32, ptr noundef @.str.1, i32 noundef 398, ptr noundef %8743, ptr noundef %8746, ptr noundef %8749, i32 noundef %8751) #10
  br label %8753

8753:                                             ; preds = %8736, %8719
  call void @llvm.lifetime.end.p0(i64 4, ptr %182) #10
  br label %8754

8754:                                             ; preds = %8753
  br label %8755

8755:                                             ; preds = %8754
  call void @exit(i32 noundef 1) #12
  unreachable

8756:                                             ; No predecessors!
  br label %8757

8757:                                             ; preds = %8756
  br label %8758

8758:                                             ; preds = %8757, %8698
  br label %8759

8759:                                             ; preds = %8758
  br label %8760

8760:                                             ; preds = %8759
  %8761 = load ptr, ptr %174, align 8, !tbaa !9
  %8762 = getelementptr inbounds %struct.s2n_connection, ptr %8761, i32 0, i32 21
  store i8 33, ptr %8762, align 2, !tbaa !67
  br label %8763

8763:                                             ; preds = %8760
  %8764 = load i32, ptr @test_count, align 4, !tbaa !5
  %8765 = add nsw i32 %8764, 1
  store i32 %8765, ptr @test_count, align 4, !tbaa !5
  %8766 = call i32 (...) @s2n_enable_tls13_in_test()
  %8767 = icmp eq i32 %8766, -1
  br i1 %8767, label %8768, label %8821

8768:                                             ; preds = %8763
  br label %8769

8769:                                             ; preds = %8768
  br label %8770

8770:                                             ; preds = %8769
  call void @llvm.lifetime.start.p0(i64 4, ptr %183) #10
  %8771 = call ptr @__errno_location() #11
  %8772 = load i32, ptr %8771, align 4, !tbaa !5
  store i32 %8772, ptr %183, align 4, !tbaa !5
  %8773 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8774 = call i32 @s2n_print_stacktrace(ptr noundef %8773)
  %8775 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8776 = trunc i8 %8775 to i1
  br i1 %8776, label %8777, label %8799

8777:                                             ; preds = %8770
  %8778 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8779 = call i32 @fileno(ptr noundef %8778) #10
  %8780 = call i32 @isatty(i32 noundef %8779) #10
  %8781 = icmp ne i32 %8780, 0
  br i1 %8781, label %8782, label %8799

8782:                                             ; preds = %8777
  %8783 = load i32, ptr %183, align 4, !tbaa !5
  %8784 = call ptr @__errno_location() #11
  store i32 %8783, ptr %8784, align 4, !tbaa !5
  %8785 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8786 = load i32, ptr @test_count, align 4, !tbaa !5
  %8787 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8788 = load i32, ptr %8787, align 4, !tbaa !5
  %8789 = call ptr @s2n_strerror(i32 noundef %8788, ptr noundef @.str.4)
  %8790 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8791 = load i32, ptr %8790, align 4, !tbaa !5
  %8792 = call ptr @s2n_strerror_debug(i32 noundef %8791, ptr noundef @.str.4)
  %8793 = call ptr @__errno_location() #11
  %8794 = load i32, ptr %8793, align 4, !tbaa !5
  %8795 = call ptr @strerror(i32 noundef %8794) #10
  %8796 = call ptr @__errno_location() #11
  %8797 = load i32, ptr %8796, align 4, !tbaa !5
  %8798 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8785, ptr noundef @.str.2, i32 noundef %8786, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 405, ptr noundef %8789, ptr noundef %8792, ptr noundef %8795, i32 noundef %8797) #10
  br label %8816

8799:                                             ; preds = %8777, %8770
  %8800 = load i32, ptr %183, align 4, !tbaa !5
  %8801 = call ptr @__errno_location() #11
  store i32 %8800, ptr %8801, align 4, !tbaa !5
  %8802 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8803 = load i32, ptr @test_count, align 4, !tbaa !5
  %8804 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8805 = load i32, ptr %8804, align 4, !tbaa !5
  %8806 = call ptr @s2n_strerror(i32 noundef %8805, ptr noundef @.str.4)
  %8807 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8808 = load i32, ptr %8807, align 4, !tbaa !5
  %8809 = call ptr @s2n_strerror_debug(i32 noundef %8808, ptr noundef @.str.4)
  %8810 = call ptr @__errno_location() #11
  %8811 = load i32, ptr %8810, align 4, !tbaa !5
  %8812 = call ptr @strerror(i32 noundef %8811) #10
  %8813 = call ptr @__errno_location() #11
  %8814 = load i32, ptr %8813, align 4, !tbaa !5
  %8815 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8802, ptr noundef @.str.5, i32 noundef %8803, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 405, ptr noundef %8806, ptr noundef %8809, ptr noundef %8812, i32 noundef %8814) #10
  br label %8816

8816:                                             ; preds = %8799, %8782
  call void @llvm.lifetime.end.p0(i64 4, ptr %183) #10
  br label %8817

8817:                                             ; preds = %8816
  br label %8818

8818:                                             ; preds = %8817
  call void @exit(i32 noundef 1) #12
  unreachable

8819:                                             ; No predecessors!
  br label %8820

8820:                                             ; preds = %8819
  br label %8821

8821:                                             ; preds = %8820, %8763
  br label %8822

8822:                                             ; preds = %8821
  br label %8823

8823:                                             ; preds = %8822
  %8824 = load ptr, ptr %176, align 8, !tbaa !9
  %8825 = getelementptr inbounds %struct.s2n_connection, ptr %8824, i32 0, i32 23
  store i8 33, ptr %8825, align 4, !tbaa !42
  %8826 = load ptr, ptr %176, align 8, !tbaa !9
  %8827 = getelementptr inbounds %struct.s2n_connection, ptr %8826, i32 0, i32 27
  %8828 = load ptr, ptr %8827, align 8, !tbaa !52
  %8829 = getelementptr inbounds %struct.s2n_crypto_parameters, ptr %8828, i32 0, i32 0
  store ptr @s2n_ecdhe_rsa_with_aes_256_gcm_sha384, ptr %8829, align 8, !tbaa !53
  br label %8830

8830:                                             ; preds = %8823
  %8831 = load i32, ptr @test_count, align 4, !tbaa !5
  %8832 = add nsw i32 %8831, 1
  store i32 %8832, ptr @test_count, align 4, !tbaa !5
  %8833 = load ptr, ptr %176, align 8, !tbaa !9
  %8834 = call i32 @s2n_server_hello_send(ptr noundef %8833)
  %8835 = icmp eq i32 %8834, -1
  br i1 %8835, label %8836, label %8889

8836:                                             ; preds = %8830
  br label %8837

8837:                                             ; preds = %8836
  br label %8838

8838:                                             ; preds = %8837
  call void @llvm.lifetime.start.p0(i64 4, ptr %184) #10
  %8839 = call ptr @__errno_location() #11
  %8840 = load i32, ptr %8839, align 4, !tbaa !5
  store i32 %8840, ptr %184, align 4, !tbaa !5
  %8841 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8842 = call i32 @s2n_print_stacktrace(ptr noundef %8841)
  %8843 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8844 = trunc i8 %8843 to i1
  br i1 %8844, label %8845, label %8867

8845:                                             ; preds = %8838
  %8846 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8847 = call i32 @fileno(ptr noundef %8846) #10
  %8848 = call i32 @isatty(i32 noundef %8847) #10
  %8849 = icmp ne i32 %8848, 0
  br i1 %8849, label %8850, label %8867

8850:                                             ; preds = %8845
  %8851 = load i32, ptr %184, align 4, !tbaa !5
  %8852 = call ptr @__errno_location() #11
  store i32 %8851, ptr %8852, align 4, !tbaa !5
  %8853 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8854 = load i32, ptr @test_count, align 4, !tbaa !5
  %8855 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8856 = load i32, ptr %8855, align 4, !tbaa !5
  %8857 = call ptr @s2n_strerror(i32 noundef %8856, ptr noundef @.str.4)
  %8858 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8859 = load i32, ptr %8858, align 4, !tbaa !5
  %8860 = call ptr @s2n_strerror_debug(i32 noundef %8859, ptr noundef @.str.4)
  %8861 = call ptr @__errno_location() #11
  %8862 = load i32, ptr %8861, align 4, !tbaa !5
  %8863 = call ptr @strerror(i32 noundef %8862) #10
  %8864 = call ptr @__errno_location() #11
  %8865 = load i32, ptr %8864, align 4, !tbaa !5
  %8866 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8853, ptr noundef @.str.2, i32 noundef %8854, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 408, ptr noundef %8857, ptr noundef %8860, ptr noundef %8863, i32 noundef %8865) #10
  br label %8884

8867:                                             ; preds = %8845, %8838
  %8868 = load i32, ptr %184, align 4, !tbaa !5
  %8869 = call ptr @__errno_location() #11
  store i32 %8868, ptr %8869, align 4, !tbaa !5
  %8870 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8871 = load i32, ptr @test_count, align 4, !tbaa !5
  %8872 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8873 = load i32, ptr %8872, align 4, !tbaa !5
  %8874 = call ptr @s2n_strerror(i32 noundef %8873, ptr noundef @.str.4)
  %8875 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8876 = load i32, ptr %8875, align 4, !tbaa !5
  %8877 = call ptr @s2n_strerror_debug(i32 noundef %8876, ptr noundef @.str.4)
  %8878 = call ptr @__errno_location() #11
  %8879 = load i32, ptr %8878, align 4, !tbaa !5
  %8880 = call ptr @strerror(i32 noundef %8879) #10
  %8881 = call ptr @__errno_location() #11
  %8882 = load i32, ptr %8881, align 4, !tbaa !5
  %8883 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8870, ptr noundef @.str.5, i32 noundef %8871, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 408, ptr noundef %8874, ptr noundef %8877, ptr noundef %8880, i32 noundef %8882) #10
  br label %8884

8884:                                             ; preds = %8867, %8850
  call void @llvm.lifetime.end.p0(i64 4, ptr %184) #10
  br label %8885

8885:                                             ; preds = %8884
  br label %8886

8886:                                             ; preds = %8885
  call void @exit(i32 noundef 1) #12
  unreachable

8887:                                             ; No predecessors!
  br label %8888

8888:                                             ; preds = %8887
  br label %8889

8889:                                             ; preds = %8888, %8830
  br label %8890

8890:                                             ; preds = %8889
  br label %8891

8891:                                             ; preds = %8890
  br label %8892

8892:                                             ; preds = %8891
  %8893 = load i32, ptr @test_count, align 4, !tbaa !5
  %8894 = add nsw i32 %8893, 1
  store i32 %8894, ptr @test_count, align 4, !tbaa !5
  %8895 = call i32 (...) @s2n_disable_tls13_in_test()
  %8896 = icmp eq i32 %8895, -1
  br i1 %8896, label %8897, label %8950

8897:                                             ; preds = %8892
  br label %8898

8898:                                             ; preds = %8897
  br label %8899

8899:                                             ; preds = %8898
  call void @llvm.lifetime.start.p0(i64 4, ptr %185) #10
  %8900 = call ptr @__errno_location() #11
  %8901 = load i32, ptr %8900, align 4, !tbaa !5
  store i32 %8901, ptr %185, align 4, !tbaa !5
  %8902 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8903 = call i32 @s2n_print_stacktrace(ptr noundef %8902)
  %8904 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8905 = trunc i8 %8904 to i1
  br i1 %8905, label %8906, label %8928

8906:                                             ; preds = %8899
  %8907 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8908 = call i32 @fileno(ptr noundef %8907) #10
  %8909 = call i32 @isatty(i32 noundef %8908) #10
  %8910 = icmp ne i32 %8909, 0
  br i1 %8910, label %8911, label %8928

8911:                                             ; preds = %8906
  %8912 = load i32, ptr %185, align 4, !tbaa !5
  %8913 = call ptr @__errno_location() #11
  store i32 %8912, ptr %8913, align 4, !tbaa !5
  %8914 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8915 = load i32, ptr @test_count, align 4, !tbaa !5
  %8916 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8917 = load i32, ptr %8916, align 4, !tbaa !5
  %8918 = call ptr @s2n_strerror(i32 noundef %8917, ptr noundef @.str.4)
  %8919 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8920 = load i32, ptr %8919, align 4, !tbaa !5
  %8921 = call ptr @s2n_strerror_debug(i32 noundef %8920, ptr noundef @.str.4)
  %8922 = call ptr @__errno_location() #11
  %8923 = load i32, ptr %8922, align 4, !tbaa !5
  %8924 = call ptr @strerror(i32 noundef %8923) #10
  %8925 = call ptr @__errno_location() #11
  %8926 = load i32, ptr %8925, align 4, !tbaa !5
  %8927 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8914, ptr noundef @.str.2, i32 noundef %8915, ptr noundef @.str.8, ptr noundef @.str.1, i32 noundef 409, ptr noundef %8918, ptr noundef %8921, ptr noundef %8924, i32 noundef %8926) #10
  br label %8945

8928:                                             ; preds = %8906, %8899
  %8929 = load i32, ptr %185, align 4, !tbaa !5
  %8930 = call ptr @__errno_location() #11
  store i32 %8929, ptr %8930, align 4, !tbaa !5
  %8931 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8932 = load i32, ptr @test_count, align 4, !tbaa !5
  %8933 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8934 = load i32, ptr %8933, align 4, !tbaa !5
  %8935 = call ptr @s2n_strerror(i32 noundef %8934, ptr noundef @.str.4)
  %8936 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8937 = load i32, ptr %8936, align 4, !tbaa !5
  %8938 = call ptr @s2n_strerror_debug(i32 noundef %8937, ptr noundef @.str.4)
  %8939 = call ptr @__errno_location() #11
  %8940 = load i32, ptr %8939, align 4, !tbaa !5
  %8941 = call ptr @strerror(i32 noundef %8940) #10
  %8942 = call ptr @__errno_location() #11
  %8943 = load i32, ptr %8942, align 4, !tbaa !5
  %8944 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8931, ptr noundef @.str.5, i32 noundef %8932, ptr noundef @.str.8, ptr noundef @.str.1, i32 noundef 409, ptr noundef %8935, ptr noundef %8938, ptr noundef %8941, i32 noundef %8943) #10
  br label %8945

8945:                                             ; preds = %8928, %8911
  call void @llvm.lifetime.end.p0(i64 4, ptr %185) #10
  br label %8946

8946:                                             ; preds = %8945
  br label %8947

8947:                                             ; preds = %8946
  call void @exit(i32 noundef 1) #12
  unreachable

8948:                                             ; No predecessors!
  br label %8949

8949:                                             ; preds = %8948
  br label %8950

8950:                                             ; preds = %8949, %8892
  br label %8951

8951:                                             ; preds = %8950
  br label %8952

8952:                                             ; preds = %8951
  call void @llvm.lifetime.start.p0(i64 4, ptr %186) #10
  %8953 = load ptr, ptr %176, align 8, !tbaa !9
  %8954 = getelementptr inbounds %struct.s2n_connection, ptr %8953, i32 0, i32 52
  %8955 = getelementptr inbounds %struct.s2n_handshake, ptr %8954, i32 0, i32 0
  %8956 = getelementptr inbounds %struct.s2n_stuffer, ptr %8955, i32 0, i32 2
  %8957 = load i32, ptr %8956, align 4, !tbaa !58
  %8958 = load ptr, ptr %176, align 8, !tbaa !9
  %8959 = getelementptr inbounds %struct.s2n_connection, ptr %8958, i32 0, i32 52
  %8960 = getelementptr inbounds %struct.s2n_handshake, ptr %8959, i32 0, i32 0
  %8961 = getelementptr inbounds %struct.s2n_stuffer, ptr %8960, i32 0, i32 1
  %8962 = load i32, ptr %8961, align 8, !tbaa !59
  %8963 = sub i32 %8957, %8962
  store i32 %8963, ptr %186, align 4, !tbaa !5
  br label %8964

8964:                                             ; preds = %8952
  %8965 = load i32, ptr @test_count, align 4, !tbaa !5
  %8966 = add nsw i32 %8965, 1
  store i32 %8966, ptr @test_count, align 4, !tbaa !5
  %8967 = load ptr, ptr %176, align 8, !tbaa !9
  %8968 = getelementptr inbounds %struct.s2n_connection, ptr %8967, i32 0, i32 52
  %8969 = getelementptr inbounds %struct.s2n_handshake, ptr %8968, i32 0, i32 0
  %8970 = load ptr, ptr %174, align 8, !tbaa !9
  %8971 = getelementptr inbounds %struct.s2n_connection, ptr %8970, i32 0, i32 52
  %8972 = getelementptr inbounds %struct.s2n_handshake, ptr %8971, i32 0, i32 0
  %8973 = load i32, ptr %186, align 4, !tbaa !5
  %8974 = call i32 @s2n_stuffer_copy(ptr noundef %8969, ptr noundef %8972, i32 noundef %8973)
  %8975 = icmp eq i32 %8974, -1
  br i1 %8975, label %8976, label %9029

8976:                                             ; preds = %8964
  br label %8977

8977:                                             ; preds = %8976
  br label %8978

8978:                                             ; preds = %8977
  call void @llvm.lifetime.start.p0(i64 4, ptr %187) #10
  %8979 = call ptr @__errno_location() #11
  %8980 = load i32, ptr %8979, align 4, !tbaa !5
  store i32 %8980, ptr %187, align 4, !tbaa !5
  %8981 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8982 = call i32 @s2n_print_stacktrace(ptr noundef %8981)
  %8983 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8984 = trunc i8 %8983 to i1
  br i1 %8984, label %8985, label %9007

8985:                                             ; preds = %8978
  %8986 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8987 = call i32 @fileno(ptr noundef %8986) #10
  %8988 = call i32 @isatty(i32 noundef %8987) #10
  %8989 = icmp ne i32 %8988, 0
  br i1 %8989, label %8990, label %9007

8990:                                             ; preds = %8985
  %8991 = load i32, ptr %187, align 4, !tbaa !5
  %8992 = call ptr @__errno_location() #11
  store i32 %8991, ptr %8992, align 4, !tbaa !5
  %8993 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8994 = load i32, ptr @test_count, align 4, !tbaa !5
  %8995 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8996 = load i32, ptr %8995, align 4, !tbaa !5
  %8997 = call ptr @s2n_strerror(i32 noundef %8996, ptr noundef @.str.4)
  %8998 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8999 = load i32, ptr %8998, align 4, !tbaa !5
  %9000 = call ptr @s2n_strerror_debug(i32 noundef %8999, ptr noundef @.str.4)
  %9001 = call ptr @__errno_location() #11
  %9002 = load i32, ptr %9001, align 4, !tbaa !5
  %9003 = call ptr @strerror(i32 noundef %9002) #10
  %9004 = call ptr @__errno_location() #11
  %9005 = load i32, ptr %9004, align 4, !tbaa !5
  %9006 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8993, ptr noundef @.str.2, i32 noundef %8994, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 413, ptr noundef %8997, ptr noundef %9000, ptr noundef %9003, i32 noundef %9005) #10
  br label %9024

9007:                                             ; preds = %8985, %8978
  %9008 = load i32, ptr %187, align 4, !tbaa !5
  %9009 = call ptr @__errno_location() #11
  store i32 %9008, ptr %9009, align 4, !tbaa !5
  %9010 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9011 = load i32, ptr @test_count, align 4, !tbaa !5
  %9012 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9013 = load i32, ptr %9012, align 4, !tbaa !5
  %9014 = call ptr @s2n_strerror(i32 noundef %9013, ptr noundef @.str.4)
  %9015 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9016 = load i32, ptr %9015, align 4, !tbaa !5
  %9017 = call ptr @s2n_strerror_debug(i32 noundef %9016, ptr noundef @.str.4)
  %9018 = call ptr @__errno_location() #11
  %9019 = load i32, ptr %9018, align 4, !tbaa !5
  %9020 = call ptr @strerror(i32 noundef %9019) #10
  %9021 = call ptr @__errno_location() #11
  %9022 = load i32, ptr %9021, align 4, !tbaa !5
  %9023 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9010, ptr noundef @.str.5, i32 noundef %9011, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 413, ptr noundef %9014, ptr noundef %9017, ptr noundef %9020, i32 noundef %9022) #10
  br label %9024

9024:                                             ; preds = %9007, %8990
  call void @llvm.lifetime.end.p0(i64 4, ptr %187) #10
  br label %9025

9025:                                             ; preds = %9024
  br label %9026

9026:                                             ; preds = %9025
  call void @exit(i32 noundef 1) #12
  unreachable

9027:                                             ; No predecessors!
  br label %9028

9028:                                             ; preds = %9027
  br label %9029

9029:                                             ; preds = %9028, %8964
  br label %9030

9030:                                             ; preds = %9029
  br label %9031

9031:                                             ; preds = %9030
  call void @llvm.lifetime.start.p0(i64 8, ptr %188) #10
  %9032 = load ptr, ptr %174, align 8, !tbaa !9
  %9033 = getelementptr inbounds %struct.s2n_connection, ptr %9032, i32 0, i32 52
  %9034 = getelementptr inbounds %struct.s2n_handshake, ptr %9033, i32 0, i32 0
  store ptr %9034, ptr %188, align 8, !tbaa !9
  br label %9035

9035:                                             ; preds = %9031
  %9036 = load i32, ptr @test_count, align 4, !tbaa !5
  %9037 = add nsw i32 %9036, 1
  store i32 %9037, ptr @test_count, align 4, !tbaa !5
  %9038 = load ptr, ptr %174, align 8, !tbaa !9
  %9039 = call i32 @s2n_server_hello_recv(ptr noundef %9038)
  %9040 = icmp eq i32 %9039, -1
  br i1 %9040, label %9041, label %9094

9041:                                             ; preds = %9035
  br label %9042

9042:                                             ; preds = %9041
  br label %9043

9043:                                             ; preds = %9042
  call void @llvm.lifetime.start.p0(i64 4, ptr %189) #10
  %9044 = call ptr @__errno_location() #11
  %9045 = load i32, ptr %9044, align 4, !tbaa !5
  store i32 %9045, ptr %189, align 4, !tbaa !5
  %9046 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9047 = call i32 @s2n_print_stacktrace(ptr noundef %9046)
  %9048 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9049 = trunc i8 %9048 to i1
  br i1 %9049, label %9050, label %9072

9050:                                             ; preds = %9043
  %9051 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9052 = call i32 @fileno(ptr noundef %9051) #10
  %9053 = call i32 @isatty(i32 noundef %9052) #10
  %9054 = icmp ne i32 %9053, 0
  br i1 %9054, label %9055, label %9072

9055:                                             ; preds = %9050
  %9056 = load i32, ptr %189, align 4, !tbaa !5
  %9057 = call ptr @__errno_location() #11
  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() #11
  %9067 = load i32, ptr %9066, align 4, !tbaa !5
  %9068 = call ptr @strerror(i32 noundef %9067) #10
  %9069 = call ptr @__errno_location() #11
  %9070 = load i32, ptr %9069, align 4, !tbaa !5
  %9071 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9058, ptr noundef @.str.2, i32 noundef %9059, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 417, ptr noundef %9062, ptr noundef %9065, ptr noundef %9068, i32 noundef %9070) #10
  br label %9089

9072:                                             ; preds = %9050, %9043
  %9073 = load i32, ptr %189, align 4, !tbaa !5
  %9074 = call ptr @__errno_location() #11
  store i32 %9073, ptr %9074, align 4, !tbaa !5
  %9075 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9076 = load i32, ptr @test_count, align 4, !tbaa !5
  %9077 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9078 = load i32, ptr %9077, align 4, !tbaa !5
  %9079 = call ptr @s2n_strerror(i32 noundef %9078, ptr noundef @.str.4)
  %9080 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9081 = load i32, ptr %9080, align 4, !tbaa !5
  %9082 = call ptr @s2n_strerror_debug(i32 noundef %9081, ptr noundef @.str.4)
  %9083 = call ptr @__errno_location() #11
  %9084 = load i32, ptr %9083, align 4, !tbaa !5
  %9085 = call ptr @strerror(i32 noundef %9084) #10
  %9086 = call ptr @__errno_location() #11
  %9087 = load i32, ptr %9086, align 4, !tbaa !5
  %9088 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9075, ptr noundef @.str.5, i32 noundef %9076, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 417, ptr noundef %9079, ptr noundef %9082, ptr noundef %9085, i32 noundef %9087) #10
  br label %9089

9089:                                             ; preds = %9072, %9055
  call void @llvm.lifetime.end.p0(i64 4, ptr %189) #10
  br label %9090

9090:                                             ; preds = %9089
  br label %9091

9091:                                             ; preds = %9090
  call void @exit(i32 noundef 1) #12
  unreachable

9092:                                             ; No predecessors!
  br label %9093

9093:                                             ; preds = %9092
  br label %9094

9094:                                             ; preds = %9093, %9035
  br label %9095

9095:                                             ; preds = %9094
  br label %9096

9096:                                             ; preds = %9095
  br label %9097

9097:                                             ; preds = %9096
  %9098 = load i32, ptr @test_count, align 4, !tbaa !5
  %9099 = add nsw i32 %9098, 1
  store i32 %9099, ptr @test_count, align 4, !tbaa !5
  %9100 = load ptr, ptr %188, align 8, !tbaa !9
  %9101 = getelementptr inbounds %struct.s2n_stuffer, ptr %9100, i32 0, i32 2
  %9102 = load i32, ptr %9101, align 4, !tbaa !45
  %9103 = load ptr, ptr %188, align 8, !tbaa !9
  %9104 = getelementptr inbounds %struct.s2n_stuffer, ptr %9103, i32 0, i32 1
  %9105 = load i32, ptr %9104, align 8, !tbaa !46
  %9106 = sub i32 %9102, %9105
  %9107 = icmp eq i32 %9106, 0
  br i1 %9107, label %9161, label %9108

9108:                                             ; preds = %9097
  br label %9109

9109:                                             ; preds = %9108
  br label %9110

9110:                                             ; preds = %9109
  call void @llvm.lifetime.start.p0(i64 4, ptr %190) #10
  %9111 = call ptr @__errno_location() #11
  %9112 = load i32, ptr %9111, align 4, !tbaa !5
  store i32 %9112, ptr %190, align 4, !tbaa !5
  %9113 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9114 = call i32 @s2n_print_stacktrace(ptr noundef %9113)
  %9115 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9116 = trunc i8 %9115 to i1
  br i1 %9116, label %9117, label %9139

9117:                                             ; preds = %9110
  %9118 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9119 = call i32 @fileno(ptr noundef %9118) #10
  %9120 = call i32 @isatty(i32 noundef %9119) #10
  %9121 = icmp ne i32 %9120, 0
  br i1 %9121, label %9122, label %9139

9122:                                             ; preds = %9117
  %9123 = load i32, ptr %190, align 4, !tbaa !5
  %9124 = call ptr @__errno_location() #11
  store i32 %9123, ptr %9124, align 4, !tbaa !5
  %9125 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9126 = load i32, ptr @test_count, align 4, !tbaa !5
  %9127 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9128 = load i32, ptr %9127, align 4, !tbaa !5
  %9129 = call ptr @s2n_strerror(i32 noundef %9128, ptr noundef @.str.4)
  %9130 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9131 = load i32, ptr %9130, align 4, !tbaa !5
  %9132 = call ptr @s2n_strerror_debug(i32 noundef %9131, ptr noundef @.str.4)
  %9133 = call ptr @__errno_location() #11
  %9134 = load i32, ptr %9133, align 4, !tbaa !5
  %9135 = call ptr @strerror(i32 noundef %9134) #10
  %9136 = call ptr @__errno_location() #11
  %9137 = load i32, ptr %9136, align 4, !tbaa !5
  %9138 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9125, ptr noundef @.str.2, i32 noundef %9126, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 419, ptr noundef %9129, ptr noundef %9132, ptr noundef %9135, i32 noundef %9137) #10
  br label %9156

9139:                                             ; preds = %9117, %9110
  %9140 = load i32, ptr %190, align 4, !tbaa !5
  %9141 = call ptr @__errno_location() #11
  store i32 %9140, ptr %9141, align 4, !tbaa !5
  %9142 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9143 = load i32, ptr @test_count, align 4, !tbaa !5
  %9144 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9145 = load i32, ptr %9144, align 4, !tbaa !5
  %9146 = call ptr @s2n_strerror(i32 noundef %9145, ptr noundef @.str.4)
  %9147 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9148 = load i32, ptr %9147, align 4, !tbaa !5
  %9149 = call ptr @s2n_strerror_debug(i32 noundef %9148, ptr noundef @.str.4)
  %9150 = call ptr @__errno_location() #11
  %9151 = load i32, ptr %9150, align 4, !tbaa !5
  %9152 = call ptr @strerror(i32 noundef %9151) #10
  %9153 = call ptr @__errno_location() #11
  %9154 = load i32, ptr %9153, align 4, !tbaa !5
  %9155 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9142, ptr noundef @.str.5, i32 noundef %9143, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 419, ptr noundef %9146, ptr noundef %9149, ptr noundef %9152, i32 noundef %9154) #10
  br label %9156

9156:                                             ; preds = %9139, %9122
  call void @llvm.lifetime.end.p0(i64 4, ptr %190) #10
  br label %9157

9157:                                             ; preds = %9156
  br label %9158

9158:                                             ; preds = %9157
  call void @exit(i32 noundef 1) #12
  unreachable

9159:                                             ; No predecessors!
  br label %9160

9160:                                             ; preds = %9159
  br label %9161

9161:                                             ; preds = %9160, %9097
  br label %9162

9162:                                             ; preds = %9161
  br label %9163

9163:                                             ; preds = %9162
  br label %9164

9164:                                             ; preds = %9163
  %9165 = load i32, ptr @test_count, align 4, !tbaa !5
  %9166 = add nsw i32 %9165, 1
  store i32 %9166, ptr @test_count, align 4, !tbaa !5
  %9167 = load ptr, ptr %173, align 8, !tbaa !9
  %9168 = call i32 @s2n_config_free(ptr noundef %9167)
  %9169 = icmp eq i32 %9168, -1
  br i1 %9169, label %9170, label %9223

9170:                                             ; preds = %9164
  br label %9171

9171:                                             ; preds = %9170
  br label %9172

9172:                                             ; preds = %9171
  call void @llvm.lifetime.start.p0(i64 4, ptr %191) #10
  %9173 = call ptr @__errno_location() #11
  %9174 = load i32, ptr %9173, align 4, !tbaa !5
  store i32 %9174, ptr %191, align 4, !tbaa !5
  %9175 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9176 = call i32 @s2n_print_stacktrace(ptr noundef %9175)
  %9177 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9178 = trunc i8 %9177 to i1
  br i1 %9178, label %9179, label %9201

9179:                                             ; preds = %9172
  %9180 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9181 = call i32 @fileno(ptr noundef %9180) #10
  %9182 = call i32 @isatty(i32 noundef %9181) #10
  %9183 = icmp ne i32 %9182, 0
  br i1 %9183, label %9184, label %9201

9184:                                             ; preds = %9179
  %9185 = load i32, ptr %191, align 4, !tbaa !5
  %9186 = call ptr @__errno_location() #11
  store i32 %9185, ptr %9186, align 4, !tbaa !5
  %9187 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9188 = load i32, ptr @test_count, align 4, !tbaa !5
  %9189 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9190 = load i32, ptr %9189, align 4, !tbaa !5
  %9191 = call ptr @s2n_strerror(i32 noundef %9190, ptr noundef @.str.4)
  %9192 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9193 = load i32, ptr %9192, align 4, !tbaa !5
  %9194 = call ptr @s2n_strerror_debug(i32 noundef %9193, ptr noundef @.str.4)
  %9195 = call ptr @__errno_location() #11
  %9196 = load i32, ptr %9195, align 4, !tbaa !5
  %9197 = call ptr @strerror(i32 noundef %9196) #10
  %9198 = call ptr @__errno_location() #11
  %9199 = load i32, ptr %9198, align 4, !tbaa !5
  %9200 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9187, ptr noundef @.str.2, i32 noundef %9188, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 421, ptr noundef %9191, ptr noundef %9194, ptr noundef %9197, i32 noundef %9199) #10
  br label %9218

9201:                                             ; preds = %9179, %9172
  %9202 = load i32, ptr %191, align 4, !tbaa !5
  %9203 = call ptr @__errno_location() #11
  store i32 %9202, ptr %9203, align 4, !tbaa !5
  %9204 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9205 = load i32, ptr @test_count, align 4, !tbaa !5
  %9206 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9207 = load i32, ptr %9206, align 4, !tbaa !5
  %9208 = call ptr @s2n_strerror(i32 noundef %9207, ptr noundef @.str.4)
  %9209 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9210 = load i32, ptr %9209, align 4, !tbaa !5
  %9211 = call ptr @s2n_strerror_debug(i32 noundef %9210, ptr noundef @.str.4)
  %9212 = call ptr @__errno_location() #11
  %9213 = load i32, ptr %9212, align 4, !tbaa !5
  %9214 = call ptr @strerror(i32 noundef %9213) #10
  %9215 = call ptr @__errno_location() #11
  %9216 = load i32, ptr %9215, align 4, !tbaa !5
  %9217 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9204, ptr noundef @.str.5, i32 noundef %9205, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 421, ptr noundef %9208, ptr noundef %9211, ptr noundef %9214, i32 noundef %9216) #10
  br label %9218

9218:                                             ; preds = %9201, %9184
  call void @llvm.lifetime.end.p0(i64 4, ptr %191) #10
  br label %9219

9219:                                             ; preds = %9218
  br label %9220

9220:                                             ; preds = %9219
  call void @exit(i32 noundef 1) #12
  unreachable

9221:                                             ; No predecessors!
  br label %9222

9222:                                             ; preds = %9221
  br label %9223

9223:                                             ; preds = %9222, %9164
  br label %9224

9224:                                             ; preds = %9223
  br label %9225

9225:                                             ; preds = %9224
  br label %9226

9226:                                             ; preds = %9225
  %9227 = load i32, ptr @test_count, align 4, !tbaa !5
  %9228 = add nsw i32 %9227, 1
  store i32 %9228, ptr @test_count, align 4, !tbaa !5
  %9229 = load ptr, ptr %175, align 8, !tbaa !9
  %9230 = call i32 @s2n_config_free(ptr noundef %9229)
  %9231 = icmp eq i32 %9230, -1
  br i1 %9231, label %9232, label %9285

9232:                                             ; preds = %9226
  br label %9233

9233:                                             ; preds = %9232
  br label %9234

9234:                                             ; preds = %9233
  call void @llvm.lifetime.start.p0(i64 4, ptr %192) #10
  %9235 = call ptr @__errno_location() #11
  %9236 = load i32, ptr %9235, align 4, !tbaa !5
  store i32 %9236, ptr %192, align 4, !tbaa !5
  %9237 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9238 = call i32 @s2n_print_stacktrace(ptr noundef %9237)
  %9239 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9240 = trunc i8 %9239 to i1
  br i1 %9240, label %9241, label %9263

9241:                                             ; preds = %9234
  %9242 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9243 = call i32 @fileno(ptr noundef %9242) #10
  %9244 = call i32 @isatty(i32 noundef %9243) #10
  %9245 = icmp ne i32 %9244, 0
  br i1 %9245, label %9246, label %9263

9246:                                             ; preds = %9241
  %9247 = load i32, ptr %192, align 4, !tbaa !5
  %9248 = call ptr @__errno_location() #11
  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() #11
  %9258 = load i32, ptr %9257, align 4, !tbaa !5
  %9259 = call ptr @strerror(i32 noundef %9258) #10
  %9260 = call ptr @__errno_location() #11
  %9261 = load i32, ptr %9260, align 4, !tbaa !5
  %9262 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9249, ptr noundef @.str.2, i32 noundef %9250, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 422, ptr noundef %9253, ptr noundef %9256, ptr noundef %9259, i32 noundef %9261) #10
  br label %9280

9263:                                             ; preds = %9241, %9234
  %9264 = load i32, ptr %192, align 4, !tbaa !5
  %9265 = call ptr @__errno_location() #11
  store i32 %9264, ptr %9265, align 4, !tbaa !5
  %9266 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9267 = load i32, ptr @test_count, align 4, !tbaa !5
  %9268 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9269 = load i32, ptr %9268, align 4, !tbaa !5
  %9270 = call ptr @s2n_strerror(i32 noundef %9269, ptr noundef @.str.4)
  %9271 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9272 = load i32, ptr %9271, align 4, !tbaa !5
  %9273 = call ptr @s2n_strerror_debug(i32 noundef %9272, ptr noundef @.str.4)
  %9274 = call ptr @__errno_location() #11
  %9275 = load i32, ptr %9274, align 4, !tbaa !5
  %9276 = call ptr @strerror(i32 noundef %9275) #10
  %9277 = call ptr @__errno_location() #11
  %9278 = load i32, ptr %9277, align 4, !tbaa !5
  %9279 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9266, ptr noundef @.str.5, i32 noundef %9267, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 422, ptr noundef %9270, ptr noundef %9273, ptr noundef %9276, i32 noundef %9278) #10
  br label %9280

9280:                                             ; preds = %9263, %9246
  call void @llvm.lifetime.end.p0(i64 4, ptr %192) #10
  br label %9281

9281:                                             ; preds = %9280
  br label %9282

9282:                                             ; preds = %9281
  call void @exit(i32 noundef 1) #12
  unreachable

9283:                                             ; No predecessors!
  br label %9284

9284:                                             ; preds = %9283
  br label %9285

9285:                                             ; preds = %9284, %9226
  br label %9286

9286:                                             ; preds = %9285
  br label %9287

9287:                                             ; preds = %9286
  br label %9288

9288:                                             ; preds = %9287
  %9289 = load i32, ptr @test_count, align 4, !tbaa !5
  %9290 = add nsw i32 %9289, 1
  store i32 %9290, ptr @test_count, align 4, !tbaa !5
  %9291 = load ptr, ptr %174, align 8, !tbaa !9
  %9292 = call i32 @s2n_connection_free(ptr noundef %9291)
  %9293 = icmp eq i32 %9292, -1
  br i1 %9293, label %9294, label %9347

9294:                                             ; preds = %9288
  br label %9295

9295:                                             ; preds = %9294
  br label %9296

9296:                                             ; preds = %9295
  call void @llvm.lifetime.start.p0(i64 4, ptr %193) #10
  %9297 = call ptr @__errno_location() #11
  %9298 = load i32, ptr %9297, align 4, !tbaa !5
  store i32 %9298, ptr %193, align 4, !tbaa !5
  %9299 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9300 = call i32 @s2n_print_stacktrace(ptr noundef %9299)
  %9301 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9302 = trunc i8 %9301 to i1
  br i1 %9302, label %9303, label %9325

9303:                                             ; preds = %9296
  %9304 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9305 = call i32 @fileno(ptr noundef %9304) #10
  %9306 = call i32 @isatty(i32 noundef %9305) #10
  %9307 = icmp ne i32 %9306, 0
  br i1 %9307, label %9308, label %9325

9308:                                             ; preds = %9303
  %9309 = load i32, ptr %193, align 4, !tbaa !5
  %9310 = call ptr @__errno_location() #11
  store i32 %9309, ptr %9310, align 4, !tbaa !5
  %9311 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9312 = load i32, ptr @test_count, align 4, !tbaa !5
  %9313 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9314 = load i32, ptr %9313, align 4, !tbaa !5
  %9315 = call ptr @s2n_strerror(i32 noundef %9314, ptr noundef @.str.4)
  %9316 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9317 = load i32, ptr %9316, align 4, !tbaa !5
  %9318 = call ptr @s2n_strerror_debug(i32 noundef %9317, ptr noundef @.str.4)
  %9319 = call ptr @__errno_location() #11
  %9320 = load i32, ptr %9319, align 4, !tbaa !5
  %9321 = call ptr @strerror(i32 noundef %9320) #10
  %9322 = call ptr @__errno_location() #11
  %9323 = load i32, ptr %9322, align 4, !tbaa !5
  %9324 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9311, ptr noundef @.str.2, i32 noundef %9312, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 423, ptr noundef %9315, ptr noundef %9318, ptr noundef %9321, i32 noundef %9323) #10
  br label %9342

9325:                                             ; preds = %9303, %9296
  %9326 = load i32, ptr %193, align 4, !tbaa !5
  %9327 = call ptr @__errno_location() #11
  store i32 %9326, ptr %9327, align 4, !tbaa !5
  %9328 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9329 = load i32, ptr @test_count, align 4, !tbaa !5
  %9330 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9331 = load i32, ptr %9330, align 4, !tbaa !5
  %9332 = call ptr @s2n_strerror(i32 noundef %9331, ptr noundef @.str.4)
  %9333 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9334 = load i32, ptr %9333, align 4, !tbaa !5
  %9335 = call ptr @s2n_strerror_debug(i32 noundef %9334, ptr noundef @.str.4)
  %9336 = call ptr @__errno_location() #11
  %9337 = load i32, ptr %9336, align 4, !tbaa !5
  %9338 = call ptr @strerror(i32 noundef %9337) #10
  %9339 = call ptr @__errno_location() #11
  %9340 = load i32, ptr %9339, align 4, !tbaa !5
  %9341 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9328, ptr noundef @.str.5, i32 noundef %9329, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 423, ptr noundef %9332, ptr noundef %9335, ptr noundef %9338, i32 noundef %9340) #10
  br label %9342

9342:                                             ; preds = %9325, %9308
  call void @llvm.lifetime.end.p0(i64 4, ptr %193) #10
  br label %9343

9343:                                             ; preds = %9342
  br label %9344

9344:                                             ; preds = %9343
  call void @exit(i32 noundef 1) #12
  unreachable

9345:                                             ; No predecessors!
  br label %9346

9346:                                             ; preds = %9345
  br label %9347

9347:                                             ; preds = %9346, %9288
  br label %9348

9348:                                             ; preds = %9347
  br label %9349

9349:                                             ; preds = %9348
  br label %9350

9350:                                             ; preds = %9349
  %9351 = load i32, ptr @test_count, align 4, !tbaa !5
  %9352 = add nsw i32 %9351, 1
  store i32 %9352, ptr @test_count, align 4, !tbaa !5
  %9353 = load ptr, ptr %176, align 8, !tbaa !9
  %9354 = call i32 @s2n_connection_free(ptr noundef %9353)
  %9355 = icmp eq i32 %9354, -1
  br i1 %9355, label %9356, label %9409

9356:                                             ; preds = %9350
  br label %9357

9357:                                             ; preds = %9356
  br label %9358

9358:                                             ; preds = %9357
  call void @llvm.lifetime.start.p0(i64 4, ptr %194) #10
  %9359 = call ptr @__errno_location() #11
  %9360 = load i32, ptr %9359, align 4, !tbaa !5
  store i32 %9360, ptr %194, align 4, !tbaa !5
  %9361 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9362 = call i32 @s2n_print_stacktrace(ptr noundef %9361)
  %9363 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9364 = trunc i8 %9363 to i1
  br i1 %9364, label %9365, label %9387

9365:                                             ; preds = %9358
  %9366 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9367 = call i32 @fileno(ptr noundef %9366) #10
  %9368 = call i32 @isatty(i32 noundef %9367) #10
  %9369 = icmp ne i32 %9368, 0
  br i1 %9369, label %9370, label %9387

9370:                                             ; preds = %9365
  %9371 = load i32, ptr %194, align 4, !tbaa !5
  %9372 = call ptr @__errno_location() #11
  store i32 %9371, ptr %9372, align 4, !tbaa !5
  %9373 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9374 = load i32, ptr @test_count, align 4, !tbaa !5
  %9375 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9376 = load i32, ptr %9375, align 4, !tbaa !5
  %9377 = call ptr @s2n_strerror(i32 noundef %9376, ptr noundef @.str.4)
  %9378 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9379 = load i32, ptr %9378, align 4, !tbaa !5
  %9380 = call ptr @s2n_strerror_debug(i32 noundef %9379, ptr noundef @.str.4)
  %9381 = call ptr @__errno_location() #11
  %9382 = load i32, ptr %9381, align 4, !tbaa !5
  %9383 = call ptr @strerror(i32 noundef %9382) #10
  %9384 = call ptr @__errno_location() #11
  %9385 = load i32, ptr %9384, align 4, !tbaa !5
  %9386 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9373, ptr noundef @.str.2, i32 noundef %9374, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 424, ptr noundef %9377, ptr noundef %9380, ptr noundef %9383, i32 noundef %9385) #10
  br label %9404

9387:                                             ; preds = %9365, %9358
  %9388 = load i32, ptr %194, align 4, !tbaa !5
  %9389 = call ptr @__errno_location() #11
  store i32 %9388, ptr %9389, align 4, !tbaa !5
  %9390 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9391 = load i32, ptr @test_count, align 4, !tbaa !5
  %9392 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9393 = load i32, ptr %9392, align 4, !tbaa !5
  %9394 = call ptr @s2n_strerror(i32 noundef %9393, ptr noundef @.str.4)
  %9395 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9396 = load i32, ptr %9395, align 4, !tbaa !5
  %9397 = call ptr @s2n_strerror_debug(i32 noundef %9396, ptr noundef @.str.4)
  %9398 = call ptr @__errno_location() #11
  %9399 = load i32, ptr %9398, align 4, !tbaa !5
  %9400 = call ptr @strerror(i32 noundef %9399) #10
  %9401 = call ptr @__errno_location() #11
  %9402 = load i32, ptr %9401, align 4, !tbaa !5
  %9403 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9390, ptr noundef @.str.5, i32 noundef %9391, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 424, ptr noundef %9394, ptr noundef %9397, ptr noundef %9400, i32 noundef %9402) #10
  br label %9404

9404:                                             ; preds = %9387, %9370
  call void @llvm.lifetime.end.p0(i64 4, ptr %194) #10
  br label %9405

9405:                                             ; preds = %9404
  br label %9406

9406:                                             ; preds = %9405
  call void @exit(i32 noundef 1) #12
  unreachable

9407:                                             ; No predecessors!
  br label %9408

9408:                                             ; preds = %9407
  br label %9409

9409:                                             ; preds = %9408, %9350
  br label %9410

9410:                                             ; preds = %9409
  br label %9411

9411:                                             ; preds = %9410
  call void @llvm.lifetime.end.p0(i64 8, ptr %188) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %186) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %176) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %175) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %174) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %173) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %195) #10
  store ptr null, ptr %195, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %196) #10
  store ptr null, ptr %196, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %197) #10
  store ptr null, ptr %197, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %198) #10
  store ptr null, ptr %198, align 8, !tbaa !9
  br label %9412

9412:                                             ; preds = %9411
  %9413 = load i32, ptr @test_count, align 4, !tbaa !5
  %9414 = add nsw i32 %9413, 1
  store i32 %9414, ptr @test_count, align 4, !tbaa !5
  %9415 = call ptr @s2n_config_new()
  store ptr %9415, ptr %197, align 8, !tbaa !9
  %9416 = icmp eq ptr %9415, null
  br i1 %9416, label %9417, label %9470

9417:                                             ; preds = %9412
  br label %9418

9418:                                             ; preds = %9417
  br label %9419

9419:                                             ; preds = %9418
  call void @llvm.lifetime.start.p0(i64 4, ptr %199) #10
  %9420 = call ptr @__errno_location() #11
  %9421 = load i32, ptr %9420, align 4, !tbaa !5
  store i32 %9421, ptr %199, align 4, !tbaa !5
  %9422 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9423 = call i32 @s2n_print_stacktrace(ptr noundef %9422)
  %9424 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9425 = trunc i8 %9424 to i1
  br i1 %9425, label %9426, label %9448

9426:                                             ; preds = %9419
  %9427 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9428 = call i32 @fileno(ptr noundef %9427) #10
  %9429 = call i32 @isatty(i32 noundef %9428) #10
  %9430 = icmp ne i32 %9429, 0
  br i1 %9430, label %9431, label %9448

9431:                                             ; preds = %9426
  %9432 = load i32, ptr %199, align 4, !tbaa !5
  %9433 = call ptr @__errno_location() #11
  store i32 %9432, ptr %9433, align 4, !tbaa !5
  %9434 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9435 = load i32, ptr @test_count, align 4, !tbaa !5
  %9436 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9437 = load i32, ptr %9436, align 4, !tbaa !5
  %9438 = call ptr @s2n_strerror(i32 noundef %9437, ptr noundef @.str.4)
  %9439 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9440 = load i32, ptr %9439, align 4, !tbaa !5
  %9441 = call ptr @s2n_strerror_debug(i32 noundef %9440, ptr noundef @.str.4)
  %9442 = call ptr @__errno_location() #11
  %9443 = load i32, ptr %9442, align 4, !tbaa !5
  %9444 = call ptr @strerror(i32 noundef %9443) #10
  %9445 = call ptr @__errno_location() #11
  %9446 = load i32, ptr %9445, align 4, !tbaa !5
  %9447 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9434, ptr noundef @.str.2, i32 noundef %9435, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 434, ptr noundef %9438, ptr noundef %9441, ptr noundef %9444, i32 noundef %9446) #10
  br label %9465

9448:                                             ; preds = %9426, %9419
  %9449 = load i32, ptr %199, align 4, !tbaa !5
  %9450 = call ptr @__errno_location() #11
  store i32 %9449, ptr %9450, align 4, !tbaa !5
  %9451 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9452 = load i32, ptr @test_count, align 4, !tbaa !5
  %9453 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9454 = load i32, ptr %9453, align 4, !tbaa !5
  %9455 = call ptr @s2n_strerror(i32 noundef %9454, ptr noundef @.str.4)
  %9456 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9457 = load i32, ptr %9456, align 4, !tbaa !5
  %9458 = call ptr @s2n_strerror_debug(i32 noundef %9457, ptr noundef @.str.4)
  %9459 = call ptr @__errno_location() #11
  %9460 = load i32, ptr %9459, align 4, !tbaa !5
  %9461 = call ptr @strerror(i32 noundef %9460) #10
  %9462 = call ptr @__errno_location() #11
  %9463 = load i32, ptr %9462, align 4, !tbaa !5
  %9464 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9451, ptr noundef @.str.5, i32 noundef %9452, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 434, ptr noundef %9455, ptr noundef %9458, ptr noundef %9461, i32 noundef %9463) #10
  br label %9465

9465:                                             ; preds = %9448, %9431
  call void @llvm.lifetime.end.p0(i64 4, ptr %199) #10
  br label %9466

9466:                                             ; preds = %9465
  br label %9467

9467:                                             ; preds = %9466
  call void @exit(i32 noundef 1) #12
  unreachable

9468:                                             ; No predecessors!
  br label %9469

9469:                                             ; preds = %9468
  br label %9470

9470:                                             ; preds = %9469, %9412
  br label %9471

9471:                                             ; preds = %9470
  br label %9472

9472:                                             ; preds = %9471
  br label %9473

9473:                                             ; preds = %9472
  %9474 = load i32, ptr @test_count, align 4, !tbaa !5
  %9475 = add nsw i32 %9474, 1
  store i32 %9475, ptr @test_count, align 4, !tbaa !5
  %9476 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %9476, ptr %198, align 8, !tbaa !9
  %9477 = icmp eq ptr %9476, null
  br i1 %9477, label %9478, label %9531

9478:                                             ; preds = %9473
  br label %9479

9479:                                             ; preds = %9478
  br label %9480

9480:                                             ; preds = %9479
  call void @llvm.lifetime.start.p0(i64 4, ptr %200) #10
  %9481 = call ptr @__errno_location() #11
  %9482 = load i32, ptr %9481, align 4, !tbaa !5
  store i32 %9482, ptr %200, align 4, !tbaa !5
  %9483 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9484 = call i32 @s2n_print_stacktrace(ptr noundef %9483)
  %9485 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9486 = trunc i8 %9485 to i1
  br i1 %9486, label %9487, label %9509

9487:                                             ; preds = %9480
  %9488 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9489 = call i32 @fileno(ptr noundef %9488) #10
  %9490 = call i32 @isatty(i32 noundef %9489) #10
  %9491 = icmp ne i32 %9490, 0
  br i1 %9491, label %9492, label %9509

9492:                                             ; preds = %9487
  %9493 = load i32, ptr %200, align 4, !tbaa !5
  %9494 = call ptr @__errno_location() #11
  store i32 %9493, ptr %9494, align 4, !tbaa !5
  %9495 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9496 = load i32, ptr @test_count, align 4, !tbaa !5
  %9497 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9498 = load i32, ptr %9497, align 4, !tbaa !5
  %9499 = call ptr @s2n_strerror(i32 noundef %9498, ptr noundef @.str.4)
  %9500 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9501 = load i32, ptr %9500, align 4, !tbaa !5
  %9502 = call ptr @s2n_strerror_debug(i32 noundef %9501, ptr noundef @.str.4)
  %9503 = call ptr @__errno_location() #11
  %9504 = load i32, ptr %9503, align 4, !tbaa !5
  %9505 = call ptr @strerror(i32 noundef %9504) #10
  %9506 = call ptr @__errno_location() #11
  %9507 = load i32, ptr %9506, align 4, !tbaa !5
  %9508 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9495, ptr noundef @.str.2, i32 noundef %9496, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 435, ptr noundef %9499, ptr noundef %9502, ptr noundef %9505, i32 noundef %9507) #10
  br label %9526

9509:                                             ; preds = %9487, %9480
  %9510 = load i32, ptr %200, align 4, !tbaa !5
  %9511 = call ptr @__errno_location() #11
  store i32 %9510, ptr %9511, align 4, !tbaa !5
  %9512 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9513 = load i32, ptr @test_count, align 4, !tbaa !5
  %9514 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9515 = load i32, ptr %9514, align 4, !tbaa !5
  %9516 = call ptr @s2n_strerror(i32 noundef %9515, ptr noundef @.str.4)
  %9517 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9518 = load i32, ptr %9517, align 4, !tbaa !5
  %9519 = call ptr @s2n_strerror_debug(i32 noundef %9518, ptr noundef @.str.4)
  %9520 = call ptr @__errno_location() #11
  %9521 = load i32, ptr %9520, align 4, !tbaa !5
  %9522 = call ptr @strerror(i32 noundef %9521) #10
  %9523 = call ptr @__errno_location() #11
  %9524 = load i32, ptr %9523, align 4, !tbaa !5
  %9525 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9512, ptr noundef @.str.5, i32 noundef %9513, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 435, ptr noundef %9516, ptr noundef %9519, ptr noundef %9522, i32 noundef %9524) #10
  br label %9526

9526:                                             ; preds = %9509, %9492
  call void @llvm.lifetime.end.p0(i64 4, ptr %200) #10
  br label %9527

9527:                                             ; preds = %9526
  br label %9528

9528:                                             ; preds = %9527
  call void @exit(i32 noundef 1) #12
  unreachable

9529:                                             ; No predecessors!
  br label %9530

9530:                                             ; preds = %9529
  br label %9531

9531:                                             ; preds = %9530, %9473
  br label %9532

9532:                                             ; preds = %9531
  br label %9533

9533:                                             ; preds = %9532
  br label %9534

9534:                                             ; preds = %9533
  %9535 = load i32, ptr @test_count, align 4, !tbaa !5
  %9536 = add nsw i32 %9535, 1
  store i32 %9536, ptr @test_count, align 4, !tbaa !5
  %9537 = load ptr, ptr %198, align 8, !tbaa !9
  %9538 = load ptr, ptr %197, align 8, !tbaa !9
  %9539 = call i32 @s2n_connection_set_config(ptr noundef %9537, ptr noundef %9538)
  %9540 = icmp eq i32 %9539, -1
  br i1 %9540, label %9541, label %9594

9541:                                             ; preds = %9534
  br label %9542

9542:                                             ; preds = %9541
  br label %9543

9543:                                             ; preds = %9542
  call void @llvm.lifetime.start.p0(i64 4, ptr %201) #10
  %9544 = call ptr @__errno_location() #11
  %9545 = load i32, ptr %9544, align 4, !tbaa !5
  store i32 %9545, ptr %201, align 4, !tbaa !5
  %9546 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9547 = call i32 @s2n_print_stacktrace(ptr noundef %9546)
  %9548 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9549 = trunc i8 %9548 to i1
  br i1 %9549, label %9550, label %9572

9550:                                             ; preds = %9543
  %9551 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9552 = call i32 @fileno(ptr noundef %9551) #10
  %9553 = call i32 @isatty(i32 noundef %9552) #10
  %9554 = icmp ne i32 %9553, 0
  br i1 %9554, label %9555, label %9572

9555:                                             ; preds = %9550
  %9556 = load i32, ptr %201, align 4, !tbaa !5
  %9557 = call ptr @__errno_location() #11
  store i32 %9556, ptr %9557, align 4, !tbaa !5
  %9558 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9559 = load i32, ptr @test_count, align 4, !tbaa !5
  %9560 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9561 = load i32, ptr %9560, align 4, !tbaa !5
  %9562 = call ptr @s2n_strerror(i32 noundef %9561, ptr noundef @.str.4)
  %9563 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9564 = load i32, ptr %9563, align 4, !tbaa !5
  %9565 = call ptr @s2n_strerror_debug(i32 noundef %9564, ptr noundef @.str.4)
  %9566 = call ptr @__errno_location() #11
  %9567 = load i32, ptr %9566, align 4, !tbaa !5
  %9568 = call ptr @strerror(i32 noundef %9567) #10
  %9569 = call ptr @__errno_location() #11
  %9570 = load i32, ptr %9569, align 4, !tbaa !5
  %9571 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9558, ptr noundef @.str.2, i32 noundef %9559, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 436, ptr noundef %9562, ptr noundef %9565, ptr noundef %9568, i32 noundef %9570) #10
  br label %9589

9572:                                             ; preds = %9550, %9543
  %9573 = load i32, ptr %201, align 4, !tbaa !5
  %9574 = call ptr @__errno_location() #11
  store i32 %9573, ptr %9574, align 4, !tbaa !5
  %9575 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9576 = load i32, ptr @test_count, align 4, !tbaa !5
  %9577 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9578 = load i32, ptr %9577, align 4, !tbaa !5
  %9579 = call ptr @s2n_strerror(i32 noundef %9578, ptr noundef @.str.4)
  %9580 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9581 = load i32, ptr %9580, align 4, !tbaa !5
  %9582 = call ptr @s2n_strerror_debug(i32 noundef %9581, ptr noundef @.str.4)
  %9583 = call ptr @__errno_location() #11
  %9584 = load i32, ptr %9583, align 4, !tbaa !5
  %9585 = call ptr @strerror(i32 noundef %9584) #10
  %9586 = call ptr @__errno_location() #11
  %9587 = load i32, ptr %9586, align 4, !tbaa !5
  %9588 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9575, ptr noundef @.str.5, i32 noundef %9576, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 436, ptr noundef %9579, ptr noundef %9582, ptr noundef %9585, i32 noundef %9587) #10
  br label %9589

9589:                                             ; preds = %9572, %9555
  call void @llvm.lifetime.end.p0(i64 4, ptr %201) #10
  br label %9590

9590:                                             ; preds = %9589
  br label %9591

9591:                                             ; preds = %9590
  call void @exit(i32 noundef 1) #12
  unreachable

9592:                                             ; No predecessors!
  br label %9593

9593:                                             ; preds = %9592
  br label %9594

9594:                                             ; preds = %9593, %9534
  br label %9595

9595:                                             ; preds = %9594
  br label %9596

9596:                                             ; preds = %9595
  br label %9597

9597:                                             ; preds = %9596
  %9598 = load i32, ptr @test_count, align 4, !tbaa !5
  %9599 = add nsw i32 %9598, 1
  store i32 %9599, ptr @test_count, align 4, !tbaa !5
  %9600 = call ptr @s2n_config_new()
  store ptr %9600, ptr %195, align 8, !tbaa !9
  %9601 = icmp eq ptr %9600, null
  br i1 %9601, label %9602, label %9655

9602:                                             ; preds = %9597
  br label %9603

9603:                                             ; preds = %9602
  br label %9604

9604:                                             ; preds = %9603
  call void @llvm.lifetime.start.p0(i64 4, ptr %202) #10
  %9605 = call ptr @__errno_location() #11
  %9606 = load i32, ptr %9605, align 4, !tbaa !5
  store i32 %9606, ptr %202, align 4, !tbaa !5
  %9607 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9608 = call i32 @s2n_print_stacktrace(ptr noundef %9607)
  %9609 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9610 = trunc i8 %9609 to i1
  br i1 %9610, label %9611, label %9633

9611:                                             ; preds = %9604
  %9612 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9613 = call i32 @fileno(ptr noundef %9612) #10
  %9614 = call i32 @isatty(i32 noundef %9613) #10
  %9615 = icmp ne i32 %9614, 0
  br i1 %9615, label %9616, label %9633

9616:                                             ; preds = %9611
  %9617 = load i32, ptr %202, align 4, !tbaa !5
  %9618 = call ptr @__errno_location() #11
  store i32 %9617, ptr %9618, align 4, !tbaa !5
  %9619 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9620 = load i32, ptr @test_count, align 4, !tbaa !5
  %9621 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9622 = load i32, ptr %9621, align 4, !tbaa !5
  %9623 = call ptr @s2n_strerror(i32 noundef %9622, ptr noundef @.str.4)
  %9624 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9625 = load i32, ptr %9624, align 4, !tbaa !5
  %9626 = call ptr @s2n_strerror_debug(i32 noundef %9625, ptr noundef @.str.4)
  %9627 = call ptr @__errno_location() #11
  %9628 = load i32, ptr %9627, align 4, !tbaa !5
  %9629 = call ptr @strerror(i32 noundef %9628) #10
  %9630 = call ptr @__errno_location() #11
  %9631 = load i32, ptr %9630, align 4, !tbaa !5
  %9632 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9619, ptr noundef @.str.2, i32 noundef %9620, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 438, ptr noundef %9623, ptr noundef %9626, ptr noundef %9629, i32 noundef %9631) #10
  br label %9650

9633:                                             ; preds = %9611, %9604
  %9634 = load i32, ptr %202, align 4, !tbaa !5
  %9635 = call ptr @__errno_location() #11
  store i32 %9634, ptr %9635, align 4, !tbaa !5
  %9636 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9637 = load i32, ptr @test_count, align 4, !tbaa !5
  %9638 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9639 = load i32, ptr %9638, align 4, !tbaa !5
  %9640 = call ptr @s2n_strerror(i32 noundef %9639, ptr noundef @.str.4)
  %9641 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9642 = load i32, ptr %9641, align 4, !tbaa !5
  %9643 = call ptr @s2n_strerror_debug(i32 noundef %9642, ptr noundef @.str.4)
  %9644 = call ptr @__errno_location() #11
  %9645 = load i32, ptr %9644, align 4, !tbaa !5
  %9646 = call ptr @strerror(i32 noundef %9645) #10
  %9647 = call ptr @__errno_location() #11
  %9648 = load i32, ptr %9647, align 4, !tbaa !5
  %9649 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9636, ptr noundef @.str.5, i32 noundef %9637, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 438, ptr noundef %9640, ptr noundef %9643, ptr noundef %9646, i32 noundef %9648) #10
  br label %9650

9650:                                             ; preds = %9633, %9616
  call void @llvm.lifetime.end.p0(i64 4, ptr %202) #10
  br label %9651

9651:                                             ; preds = %9650
  br label %9652

9652:                                             ; preds = %9651
  call void @exit(i32 noundef 1) #12
  unreachable

9653:                                             ; No predecessors!
  br label %9654

9654:                                             ; preds = %9653
  br label %9655

9655:                                             ; preds = %9654, %9597
  br label %9656

9656:                                             ; preds = %9655
  br label %9657

9657:                                             ; preds = %9656
  br label %9658

9658:                                             ; preds = %9657
  %9659 = load i32, ptr @test_count, align 4, !tbaa !5
  %9660 = add nsw i32 %9659, 1
  store i32 %9660, ptr @test_count, align 4, !tbaa !5
  %9661 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %9661, ptr %196, align 8, !tbaa !9
  %9662 = icmp eq ptr %9661, null
  br i1 %9662, label %9663, label %9716

9663:                                             ; preds = %9658
  br label %9664

9664:                                             ; preds = %9663
  br label %9665

9665:                                             ; preds = %9664
  call void @llvm.lifetime.start.p0(i64 4, ptr %203) #10
  %9666 = call ptr @__errno_location() #11
  %9667 = load i32, ptr %9666, align 4, !tbaa !5
  store i32 %9667, ptr %203, align 4, !tbaa !5
  %9668 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9669 = call i32 @s2n_print_stacktrace(ptr noundef %9668)
  %9670 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9671 = trunc i8 %9670 to i1
  br i1 %9671, label %9672, label %9694

9672:                                             ; preds = %9665
  %9673 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9674 = call i32 @fileno(ptr noundef %9673) #10
  %9675 = call i32 @isatty(i32 noundef %9674) #10
  %9676 = icmp ne i32 %9675, 0
  br i1 %9676, label %9677, label %9694

9677:                                             ; preds = %9672
  %9678 = load i32, ptr %203, align 4, !tbaa !5
  %9679 = call ptr @__errno_location() #11
  store i32 %9678, ptr %9679, align 4, !tbaa !5
  %9680 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9681 = load i32, ptr @test_count, align 4, !tbaa !5
  %9682 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9683 = load i32, ptr %9682, align 4, !tbaa !5
  %9684 = call ptr @s2n_strerror(i32 noundef %9683, ptr noundef @.str.4)
  %9685 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9686 = load i32, ptr %9685, align 4, !tbaa !5
  %9687 = call ptr @s2n_strerror_debug(i32 noundef %9686, ptr noundef @.str.4)
  %9688 = call ptr @__errno_location() #11
  %9689 = load i32, ptr %9688, align 4, !tbaa !5
  %9690 = call ptr @strerror(i32 noundef %9689) #10
  %9691 = call ptr @__errno_location() #11
  %9692 = load i32, ptr %9691, align 4, !tbaa !5
  %9693 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9680, ptr noundef @.str.2, i32 noundef %9681, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 439, ptr noundef %9684, ptr noundef %9687, ptr noundef %9690, i32 noundef %9692) #10
  br label %9711

9694:                                             ; preds = %9672, %9665
  %9695 = load i32, ptr %203, align 4, !tbaa !5
  %9696 = call ptr @__errno_location() #11
  store i32 %9695, ptr %9696, align 4, !tbaa !5
  %9697 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9698 = load i32, ptr @test_count, align 4, !tbaa !5
  %9699 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9700 = load i32, ptr %9699, align 4, !tbaa !5
  %9701 = call ptr @s2n_strerror(i32 noundef %9700, ptr noundef @.str.4)
  %9702 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9703 = load i32, ptr %9702, align 4, !tbaa !5
  %9704 = call ptr @s2n_strerror_debug(i32 noundef %9703, ptr noundef @.str.4)
  %9705 = call ptr @__errno_location() #11
  %9706 = load i32, ptr %9705, align 4, !tbaa !5
  %9707 = call ptr @strerror(i32 noundef %9706) #10
  %9708 = call ptr @__errno_location() #11
  %9709 = load i32, ptr %9708, align 4, !tbaa !5
  %9710 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9697, ptr noundef @.str.5, i32 noundef %9698, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 439, ptr noundef %9701, ptr noundef %9704, ptr noundef %9707, i32 noundef %9709) #10
  br label %9711

9711:                                             ; preds = %9694, %9677
  call void @llvm.lifetime.end.p0(i64 4, ptr %203) #10
  br label %9712

9712:                                             ; preds = %9711
  br label %9713

9713:                                             ; preds = %9712
  call void @exit(i32 noundef 1) #12
  unreachable

9714:                                             ; No predecessors!
  br label %9715

9715:                                             ; preds = %9714
  br label %9716

9716:                                             ; preds = %9715, %9658
  br label %9717

9717:                                             ; preds = %9716
  br label %9718

9718:                                             ; preds = %9717
  br label %9719

9719:                                             ; preds = %9718
  %9720 = load i32, ptr @test_count, align 4, !tbaa !5
  %9721 = add nsw i32 %9720, 1
  store i32 %9721, ptr @test_count, align 4, !tbaa !5
  %9722 = load ptr, ptr %196, align 8, !tbaa !9
  %9723 = load ptr, ptr %195, align 8, !tbaa !9
  %9724 = call i32 @s2n_connection_set_config(ptr noundef %9722, ptr noundef %9723)
  %9725 = icmp eq i32 %9724, -1
  br i1 %9725, label %9726, label %9779

9726:                                             ; preds = %9719
  br label %9727

9727:                                             ; preds = %9726
  br label %9728

9728:                                             ; preds = %9727
  call void @llvm.lifetime.start.p0(i64 4, ptr %204) #10
  %9729 = call ptr @__errno_location() #11
  %9730 = load i32, ptr %9729, align 4, !tbaa !5
  store i32 %9730, ptr %204, align 4, !tbaa !5
  %9731 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9732 = call i32 @s2n_print_stacktrace(ptr noundef %9731)
  %9733 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9734 = trunc i8 %9733 to i1
  br i1 %9734, label %9735, label %9757

9735:                                             ; preds = %9728
  %9736 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9737 = call i32 @fileno(ptr noundef %9736) #10
  %9738 = call i32 @isatty(i32 noundef %9737) #10
  %9739 = icmp ne i32 %9738, 0
  br i1 %9739, label %9740, label %9757

9740:                                             ; preds = %9735
  %9741 = load i32, ptr %204, align 4, !tbaa !5
  %9742 = call ptr @__errno_location() #11
  store i32 %9741, ptr %9742, align 4, !tbaa !5
  %9743 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9744 = load i32, ptr @test_count, align 4, !tbaa !5
  %9745 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9746 = load i32, ptr %9745, align 4, !tbaa !5
  %9747 = call ptr @s2n_strerror(i32 noundef %9746, ptr noundef @.str.4)
  %9748 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9749 = load i32, ptr %9748, align 4, !tbaa !5
  %9750 = call ptr @s2n_strerror_debug(i32 noundef %9749, ptr noundef @.str.4)
  %9751 = call ptr @__errno_location() #11
  %9752 = load i32, ptr %9751, align 4, !tbaa !5
  %9753 = call ptr @strerror(i32 noundef %9752) #10
  %9754 = call ptr @__errno_location() #11
  %9755 = load i32, ptr %9754, align 4, !tbaa !5
  %9756 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9743, ptr noundef @.str.2, i32 noundef %9744, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 440, ptr noundef %9747, ptr noundef %9750, ptr noundef %9753, i32 noundef %9755) #10
  br label %9774

9757:                                             ; preds = %9735, %9728
  %9758 = load i32, ptr %204, align 4, !tbaa !5
  %9759 = call ptr @__errno_location() #11
  store i32 %9758, ptr %9759, align 4, !tbaa !5
  %9760 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9761 = load i32, ptr @test_count, align 4, !tbaa !5
  %9762 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9763 = load i32, ptr %9762, align 4, !tbaa !5
  %9764 = call ptr @s2n_strerror(i32 noundef %9763, ptr noundef @.str.4)
  %9765 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9766 = load i32, ptr %9765, align 4, !tbaa !5
  %9767 = call ptr @s2n_strerror_debug(i32 noundef %9766, ptr noundef @.str.4)
  %9768 = call ptr @__errno_location() #11
  %9769 = load i32, ptr %9768, align 4, !tbaa !5
  %9770 = call ptr @strerror(i32 noundef %9769) #10
  %9771 = call ptr @__errno_location() #11
  %9772 = load i32, ptr %9771, align 4, !tbaa !5
  %9773 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9760, ptr noundef @.str.5, i32 noundef %9761, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 440, ptr noundef %9764, ptr noundef %9767, ptr noundef %9770, i32 noundef %9772) #10
  br label %9774

9774:                                             ; preds = %9757, %9740
  call void @llvm.lifetime.end.p0(i64 4, ptr %204) #10
  br label %9775

9775:                                             ; preds = %9774
  br label %9776

9776:                                             ; preds = %9775
  call void @exit(i32 noundef 1) #12
  unreachable

9777:                                             ; No predecessors!
  br label %9778

9778:                                             ; preds = %9777
  br label %9779

9779:                                             ; preds = %9778, %9719
  br label %9780

9780:                                             ; preds = %9779
  br label %9781

9781:                                             ; preds = %9780
  %9782 = load ptr, ptr %196, align 8, !tbaa !9
  %9783 = getelementptr inbounds %struct.s2n_connection, ptr %9782, i32 0, i32 21
  store i8 34, ptr %9783, align 2, !tbaa !67
  %9784 = load ptr, ptr %198, align 8, !tbaa !9
  %9785 = getelementptr inbounds %struct.s2n_connection, ptr %9784, i32 0, i32 22
  store i8 33, ptr %9785, align 1, !tbaa !64
  %9786 = load ptr, ptr %198, align 8, !tbaa !9
  %9787 = getelementptr inbounds %struct.s2n_connection, ptr %9786, i32 0, i32 23
  store i8 33, ptr %9787, align 4, !tbaa !42
  %9788 = load ptr, ptr %198, align 8, !tbaa !9
  %9789 = getelementptr inbounds %struct.s2n_connection, ptr %9788, i32 0, i32 27
  %9790 = load ptr, ptr %9789, align 8, !tbaa !52
  %9791 = getelementptr inbounds %struct.s2n_crypto_parameters, ptr %9790, i32 0, i32 0
  store ptr @s2n_ecdhe_rsa_with_aes_256_gcm_sha384, ptr %9791, align 8, !tbaa !53
  br label %9792

9792:                                             ; preds = %9781
  %9793 = load i32, ptr @test_count, align 4, !tbaa !5
  %9794 = add nsw i32 %9793, 1
  store i32 %9794, ptr @test_count, align 4, !tbaa !5
  %9795 = load ptr, ptr %198, align 8, !tbaa !9
  %9796 = call i32 @s2n_server_hello_send(ptr noundef %9795)
  %9797 = icmp eq i32 %9796, -1
  br i1 %9797, label %9798, label %9851

9798:                                             ; preds = %9792
  br label %9799

9799:                                             ; preds = %9798
  br label %9800

9800:                                             ; preds = %9799
  call void @llvm.lifetime.start.p0(i64 4, ptr %205) #10
  %9801 = call ptr @__errno_location() #11
  %9802 = load i32, ptr %9801, align 4, !tbaa !5
  store i32 %9802, ptr %205, align 4, !tbaa !5
  %9803 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9804 = call i32 @s2n_print_stacktrace(ptr noundef %9803)
  %9805 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9806 = trunc i8 %9805 to i1
  br i1 %9806, label %9807, label %9829

9807:                                             ; preds = %9800
  %9808 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9809 = call i32 @fileno(ptr noundef %9808) #10
  %9810 = call i32 @isatty(i32 noundef %9809) #10
  %9811 = icmp ne i32 %9810, 0
  br i1 %9811, label %9812, label %9829

9812:                                             ; preds = %9807
  %9813 = load i32, ptr %205, align 4, !tbaa !5
  %9814 = call ptr @__errno_location() #11
  store i32 %9813, ptr %9814, align 4, !tbaa !5
  %9815 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9816 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %9818, ptr noundef @.str.4)
  %9820 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9821 = load i32, ptr %9820, align 4, !tbaa !5
  %9822 = call ptr @s2n_strerror_debug(i32 noundef %9821, ptr noundef @.str.4)
  %9823 = call ptr @__errno_location() #11
  %9824 = load i32, ptr %9823, align 4, !tbaa !5
  %9825 = call ptr @strerror(i32 noundef %9824) #10
  %9826 = call ptr @__errno_location() #11
  %9827 = load i32, ptr %9826, align 4, !tbaa !5
  %9828 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9815, ptr noundef @.str.2, i32 noundef %9816, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 450, ptr noundef %9819, ptr noundef %9822, ptr noundef %9825, i32 noundef %9827) #10
  br label %9846

9829:                                             ; preds = %9807, %9800
  %9830 = load i32, ptr %205, align 4, !tbaa !5
  %9831 = call ptr @__errno_location() #11
  store i32 %9830, ptr %9831, align 4, !tbaa !5
  %9832 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9833 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %9835, ptr noundef @.str.4)
  %9837 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9838 = load i32, ptr %9837, align 4, !tbaa !5
  %9839 = call ptr @s2n_strerror_debug(i32 noundef %9838, ptr noundef @.str.4)
  %9840 = call ptr @__errno_location() #11
  %9841 = load i32, ptr %9840, align 4, !tbaa !5
  %9842 = call ptr @strerror(i32 noundef %9841) #10
  %9843 = call ptr @__errno_location() #11
  %9844 = load i32, ptr %9843, align 4, !tbaa !5
  %9845 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9832, ptr noundef @.str.5, i32 noundef %9833, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 450, ptr noundef %9836, ptr noundef %9839, ptr noundef %9842, i32 noundef %9844) #10
  br label %9846

9846:                                             ; preds = %9829, %9812
  call void @llvm.lifetime.end.p0(i64 4, ptr %205) #10
  br label %9847

9847:                                             ; preds = %9846
  br label %9848

9848:                                             ; preds = %9847
  call void @exit(i32 noundef 1) #12
  unreachable

9849:                                             ; No predecessors!
  br label %9850

9850:                                             ; preds = %9849
  br label %9851

9851:                                             ; preds = %9850, %9792
  br label %9852

9852:                                             ; preds = %9851
  br label %9853

9853:                                             ; preds = %9852
  call void @llvm.lifetime.start.p0(i64 4, ptr %206) #10
  %9854 = load ptr, ptr %198, align 8, !tbaa !9
  %9855 = getelementptr inbounds %struct.s2n_connection, ptr %9854, i32 0, i32 52
  %9856 = getelementptr inbounds %struct.s2n_handshake, ptr %9855, i32 0, i32 0
  %9857 = getelementptr inbounds %struct.s2n_stuffer, ptr %9856, i32 0, i32 2
  %9858 = load i32, ptr %9857, align 4, !tbaa !58
  %9859 = load ptr, ptr %198, align 8, !tbaa !9
  %9860 = getelementptr inbounds %struct.s2n_connection, ptr %9859, i32 0, i32 52
  %9861 = getelementptr inbounds %struct.s2n_handshake, ptr %9860, i32 0, i32 0
  %9862 = getelementptr inbounds %struct.s2n_stuffer, ptr %9861, i32 0, i32 1
  %9863 = load i32, ptr %9862, align 8, !tbaa !59
  %9864 = sub i32 %9858, %9863
  store i32 %9864, ptr %206, align 4, !tbaa !5
  br label %9865

9865:                                             ; preds = %9853
  %9866 = load i32, ptr @test_count, align 4, !tbaa !5
  %9867 = add nsw i32 %9866, 1
  store i32 %9867, ptr @test_count, align 4, !tbaa !5
  %9868 = load ptr, ptr %198, align 8, !tbaa !9
  %9869 = getelementptr inbounds %struct.s2n_connection, ptr %9868, i32 0, i32 52
  %9870 = getelementptr inbounds %struct.s2n_handshake, ptr %9869, i32 0, i32 0
  %9871 = load ptr, ptr %196, align 8, !tbaa !9
  %9872 = getelementptr inbounds %struct.s2n_connection, ptr %9871, i32 0, i32 52
  %9873 = getelementptr inbounds %struct.s2n_handshake, ptr %9872, i32 0, i32 0
  %9874 = load i32, ptr %206, align 4, !tbaa !5
  %9875 = call i32 @s2n_stuffer_copy(ptr noundef %9870, ptr noundef %9873, i32 noundef %9874)
  %9876 = icmp eq i32 %9875, -1
  br i1 %9876, label %9877, label %9930

9877:                                             ; preds = %9865
  br label %9878

9878:                                             ; preds = %9877
  br label %9879

9879:                                             ; preds = %9878
  call void @llvm.lifetime.start.p0(i64 4, ptr %207) #10
  %9880 = call ptr @__errno_location() #11
  %9881 = load i32, ptr %9880, align 4, !tbaa !5
  store i32 %9881, ptr %207, align 4, !tbaa !5
  %9882 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9883 = call i32 @s2n_print_stacktrace(ptr noundef %9882)
  %9884 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9885 = trunc i8 %9884 to i1
  br i1 %9885, label %9886, label %9908

9886:                                             ; preds = %9879
  %9887 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9888 = call i32 @fileno(ptr noundef %9887) #10
  %9889 = call i32 @isatty(i32 noundef %9888) #10
  %9890 = icmp ne i32 %9889, 0
  br i1 %9890, label %9891, label %9908

9891:                                             ; preds = %9886
  %9892 = load i32, ptr %207, align 4, !tbaa !5
  %9893 = call ptr @__errno_location() #11
  store i32 %9892, ptr %9893, align 4, !tbaa !5
  %9894 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9895 = load i32, ptr @test_count, align 4, !tbaa !5
  %9896 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9897 = load i32, ptr %9896, align 4, !tbaa !5
  %9898 = call ptr @s2n_strerror(i32 noundef %9897, ptr noundef @.str.4)
  %9899 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9900 = load i32, ptr %9899, align 4, !tbaa !5
  %9901 = call ptr @s2n_strerror_debug(i32 noundef %9900, ptr noundef @.str.4)
  %9902 = call ptr @__errno_location() #11
  %9903 = load i32, ptr %9902, align 4, !tbaa !5
  %9904 = call ptr @strerror(i32 noundef %9903) #10
  %9905 = call ptr @__errno_location() #11
  %9906 = load i32, ptr %9905, align 4, !tbaa !5
  %9907 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9894, ptr noundef @.str.2, i32 noundef %9895, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 454, ptr noundef %9898, ptr noundef %9901, ptr noundef %9904, i32 noundef %9906) #10
  br label %9925

9908:                                             ; preds = %9886, %9879
  %9909 = load i32, ptr %207, align 4, !tbaa !5
  %9910 = call ptr @__errno_location() #11
  store i32 %9909, ptr %9910, align 4, !tbaa !5
  %9911 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9912 = load i32, ptr @test_count, align 4, !tbaa !5
  %9913 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9914 = load i32, ptr %9913, align 4, !tbaa !5
  %9915 = call ptr @s2n_strerror(i32 noundef %9914, ptr noundef @.str.4)
  %9916 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9917 = load i32, ptr %9916, align 4, !tbaa !5
  %9918 = call ptr @s2n_strerror_debug(i32 noundef %9917, ptr noundef @.str.4)
  %9919 = call ptr @__errno_location() #11
  %9920 = load i32, ptr %9919, align 4, !tbaa !5
  %9921 = call ptr @strerror(i32 noundef %9920) #10
  %9922 = call ptr @__errno_location() #11
  %9923 = load i32, ptr %9922, align 4, !tbaa !5
  %9924 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9911, ptr noundef @.str.5, i32 noundef %9912, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 454, ptr noundef %9915, ptr noundef %9918, ptr noundef %9921, i32 noundef %9923) #10
  br label %9925

9925:                                             ; preds = %9908, %9891
  call void @llvm.lifetime.end.p0(i64 4, ptr %207) #10
  br label %9926

9926:                                             ; preds = %9925
  br label %9927

9927:                                             ; preds = %9926
  call void @exit(i32 noundef 1) #12
  unreachable

9928:                                             ; No predecessors!
  br label %9929

9929:                                             ; preds = %9928
  br label %9930

9930:                                             ; preds = %9929, %9865
  br label %9931

9931:                                             ; preds = %9930
  br label %9932

9932:                                             ; preds = %9931
  call void @llvm.lifetime.start.p0(i64 8, ptr %208) #10
  %9933 = load ptr, ptr %196, align 8, !tbaa !9
  %9934 = getelementptr inbounds %struct.s2n_connection, ptr %9933, i32 0, i32 52
  %9935 = getelementptr inbounds %struct.s2n_handshake, ptr %9934, i32 0, i32 0
  store ptr %9935, ptr %208, align 8, !tbaa !9
  br label %9936

9936:                                             ; preds = %9932
  %9937 = call i32 (...) @s2n_enable_tls13_in_test()
  %9938 = icmp sgt i32 %9937, -1
  br i1 %9938, label %9940, label %9939

9939:                                             ; preds = %9936
  store i32 -1, ptr %3, align 4
  store i32 1, ptr %209, align 4
  br label %10327

9940:                                             ; preds = %9936
  br label %9941

9941:                                             ; preds = %9940
  br label %9942

9942:                                             ; preds = %9941
  br label %9943

9943:                                             ; preds = %9942
  %9944 = load i32, ptr @test_count, align 4, !tbaa !5
  %9945 = add nsw i32 %9944, 1
  store i32 %9945, ptr @test_count, align 4, !tbaa !5
  %9946 = load ptr, ptr %196, align 8, !tbaa !9
  %9947 = call i32 @s2n_server_hello_recv(ptr noundef %9946)
  %9948 = icmp eq i32 %9947, -1
  br i1 %9948, label %9949, label %10002

9949:                                             ; preds = %9943
  br label %9950

9950:                                             ; preds = %9949
  br label %9951

9951:                                             ; preds = %9950
  call void @llvm.lifetime.start.p0(i64 4, ptr %210) #10
  %9952 = call ptr @__errno_location() #11
  %9953 = load i32, ptr %9952, align 4, !tbaa !5
  store i32 %9953, ptr %210, align 4, !tbaa !5
  %9954 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9955 = call i32 @s2n_print_stacktrace(ptr noundef %9954)
  %9956 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9957 = trunc i8 %9956 to i1
  br i1 %9957, label %9958, label %9980

9958:                                             ; preds = %9951
  %9959 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9960 = call i32 @fileno(ptr noundef %9959) #10
  %9961 = call i32 @isatty(i32 noundef %9960) #10
  %9962 = icmp ne i32 %9961, 0
  br i1 %9962, label %9963, label %9980

9963:                                             ; preds = %9958
  %9964 = load i32, ptr %210, align 4, !tbaa !5
  %9965 = call ptr @__errno_location() #11
  store i32 %9964, ptr %9965, align 4, !tbaa !5
  %9966 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9967 = load i32, ptr @test_count, align 4, !tbaa !5
  %9968 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9969 = load i32, ptr %9968, align 4, !tbaa !5
  %9970 = call ptr @s2n_strerror(i32 noundef %9969, ptr noundef @.str.4)
  %9971 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9972 = load i32, ptr %9971, align 4, !tbaa !5
  %9973 = call ptr @s2n_strerror_debug(i32 noundef %9972, ptr noundef @.str.4)
  %9974 = call ptr @__errno_location() #11
  %9975 = load i32, ptr %9974, align 4, !tbaa !5
  %9976 = call ptr @strerror(i32 noundef %9975) #10
  %9977 = call ptr @__errno_location() #11
  %9978 = load i32, ptr %9977, align 4, !tbaa !5
  %9979 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9966, ptr noundef @.str.2, i32 noundef %9967, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 459, ptr noundef %9970, ptr noundef %9973, ptr noundef %9976, i32 noundef %9978) #10
  br label %9997

9980:                                             ; preds = %9958, %9951
  %9981 = load i32, ptr %210, align 4, !tbaa !5
  %9982 = call ptr @__errno_location() #11
  store i32 %9981, ptr %9982, align 4, !tbaa !5
  %9983 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9984 = load i32, ptr @test_count, align 4, !tbaa !5
  %9985 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9986 = load i32, ptr %9985, align 4, !tbaa !5
  %9987 = call ptr @s2n_strerror(i32 noundef %9986, ptr noundef @.str.4)
  %9988 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9989 = load i32, ptr %9988, align 4, !tbaa !5
  %9990 = call ptr @s2n_strerror_debug(i32 noundef %9989, ptr noundef @.str.4)
  %9991 = call ptr @__errno_location() #11
  %9992 = load i32, ptr %9991, align 4, !tbaa !5
  %9993 = call ptr @strerror(i32 noundef %9992) #10
  %9994 = call ptr @__errno_location() #11
  %9995 = load i32, ptr %9994, align 4, !tbaa !5
  %9996 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9983, ptr noundef @.str.5, i32 noundef %9984, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 459, ptr noundef %9987, ptr noundef %9990, ptr noundef %9993, i32 noundef %9995) #10
  br label %9997

9997:                                             ; preds = %9980, %9963
  call void @llvm.lifetime.end.p0(i64 4, ptr %210) #10
  br label %9998

9998:                                             ; preds = %9997
  br label %9999

9999:                                             ; preds = %9998
  call void @exit(i32 noundef 1) #12
  unreachable

10000:                                            ; No predecessors!
  br label %10001

10001:                                            ; preds = %10000
  br label %10002

10002:                                            ; preds = %10001, %9943
  br label %10003

10003:                                            ; preds = %10002
  br label %10004

10004:                                            ; preds = %10003
  br label %10005

10005:                                            ; preds = %10004
  %10006 = call i32 (...) @s2n_disable_tls13_in_test()
  %10007 = icmp sgt i32 %10006, -1
  br i1 %10007, label %10009, label %10008

10008:                                            ; preds = %10005
  store i32 -1, ptr %3, align 4
  store i32 1, ptr %209, align 4
  br label %10327

10009:                                            ; preds = %10005
  br label %10010

10010:                                            ; preds = %10009
  br label %10011

10011:                                            ; preds = %10010
  br label %10012

10012:                                            ; preds = %10011
  %10013 = load i32, ptr @test_count, align 4, !tbaa !5
  %10014 = add nsw i32 %10013, 1
  store i32 %10014, ptr @test_count, align 4, !tbaa !5
  %10015 = load ptr, ptr %208, align 8, !tbaa !9
  %10016 = getelementptr inbounds %struct.s2n_stuffer, ptr %10015, i32 0, i32 2
  %10017 = load i32, ptr %10016, align 4, !tbaa !45
  %10018 = load ptr, ptr %208, align 8, !tbaa !9
  %10019 = getelementptr inbounds %struct.s2n_stuffer, ptr %10018, i32 0, i32 1
  %10020 = load i32, ptr %10019, align 8, !tbaa !46
  %10021 = sub i32 %10017, %10020
  %10022 = icmp eq i32 %10021, 0
  br i1 %10022, label %10076, label %10023

10023:                                            ; preds = %10012
  br label %10024

10024:                                            ; preds = %10023
  br label %10025

10025:                                            ; preds = %10024
  call void @llvm.lifetime.start.p0(i64 4, ptr %211) #10
  %10026 = call ptr @__errno_location() #11
  %10027 = load i32, ptr %10026, align 4, !tbaa !5
  store i32 %10027, ptr %211, align 4, !tbaa !5
  %10028 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10029 = call i32 @s2n_print_stacktrace(ptr noundef %10028)
  %10030 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10031 = trunc i8 %10030 to i1
  br i1 %10031, label %10032, label %10054

10032:                                            ; preds = %10025
  %10033 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10034 = call i32 @fileno(ptr noundef %10033) #10
  %10035 = call i32 @isatty(i32 noundef %10034) #10
  %10036 = icmp ne i32 %10035, 0
  br i1 %10036, label %10037, label %10054

10037:                                            ; preds = %10032
  %10038 = load i32, ptr %211, align 4, !tbaa !5
  %10039 = call ptr @__errno_location() #11
  store i32 %10038, ptr %10039, align 4, !tbaa !5
  %10040 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10041 = load i32, ptr @test_count, align 4, !tbaa !5
  %10042 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10043 = load i32, ptr %10042, align 4, !tbaa !5
  %10044 = call ptr @s2n_strerror(i32 noundef %10043, ptr noundef @.str.4)
  %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 = call ptr @__errno_location() #11
  %10049 = load i32, ptr %10048, align 4, !tbaa !5
  %10050 = call ptr @strerror(i32 noundef %10049) #10
  %10051 = call ptr @__errno_location() #11
  %10052 = load i32, ptr %10051, align 4, !tbaa !5
  %10053 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10040, ptr noundef @.str.2, i32 noundef %10041, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 461, ptr noundef %10044, ptr noundef %10047, ptr noundef %10050, i32 noundef %10052) #10
  br label %10071

10054:                                            ; preds = %10032, %10025
  %10055 = load i32, ptr %211, align 4, !tbaa !5
  %10056 = call ptr @__errno_location() #11
  store i32 %10055, ptr %10056, align 4, !tbaa !5
  %10057 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10058 = load i32, ptr @test_count, align 4, !tbaa !5
  %10059 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10060 = load i32, ptr %10059, align 4, !tbaa !5
  %10061 = call ptr @s2n_strerror(i32 noundef %10060, ptr noundef @.str.4)
  %10062 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10063 = load i32, ptr %10062, align 4, !tbaa !5
  %10064 = call ptr @s2n_strerror_debug(i32 noundef %10063, ptr noundef @.str.4)
  %10065 = call ptr @__errno_location() #11
  %10066 = load i32, ptr %10065, align 4, !tbaa !5
  %10067 = call ptr @strerror(i32 noundef %10066) #10
  %10068 = call ptr @__errno_location() #11
  %10069 = load i32, ptr %10068, align 4, !tbaa !5
  %10070 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10057, ptr noundef @.str.5, i32 noundef %10058, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 461, ptr noundef %10061, ptr noundef %10064, ptr noundef %10067, i32 noundef %10069) #10
  br label %10071

10071:                                            ; preds = %10054, %10037
  call void @llvm.lifetime.end.p0(i64 4, ptr %211) #10
  br label %10072

10072:                                            ; preds = %10071
  br label %10073

10073:                                            ; preds = %10072
  call void @exit(i32 noundef 1) #12
  unreachable

10074:                                            ; No predecessors!
  br label %10075

10075:                                            ; preds = %10074
  br label %10076

10076:                                            ; preds = %10075, %10012
  br label %10077

10077:                                            ; preds = %10076
  br label %10078

10078:                                            ; preds = %10077
  br label %10079

10079:                                            ; preds = %10078
  %10080 = load i32, ptr @test_count, align 4, !tbaa !5
  %10081 = add nsw i32 %10080, 1
  store i32 %10081, ptr @test_count, align 4, !tbaa !5
  %10082 = load ptr, ptr %195, align 8, !tbaa !9
  %10083 = call i32 @s2n_config_free(ptr noundef %10082)
  %10084 = icmp eq i32 %10083, -1
  br i1 %10084, label %10085, label %10138

10085:                                            ; preds = %10079
  br label %10086

10086:                                            ; preds = %10085
  br label %10087

10087:                                            ; preds = %10086
  call void @llvm.lifetime.start.p0(i64 4, ptr %212) #10
  %10088 = call ptr @__errno_location() #11
  %10089 = load i32, ptr %10088, align 4, !tbaa !5
  store i32 %10089, ptr %212, align 4, !tbaa !5
  %10090 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10091 = call i32 @s2n_print_stacktrace(ptr noundef %10090)
  %10092 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10093 = trunc i8 %10092 to i1
  br i1 %10093, label %10094, label %10116

10094:                                            ; preds = %10087
  %10095 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10096 = call i32 @fileno(ptr noundef %10095) #10
  %10097 = call i32 @isatty(i32 noundef %10096) #10
  %10098 = icmp ne i32 %10097, 0
  br i1 %10098, label %10099, label %10116

10099:                                            ; preds = %10094
  %10100 = load i32, ptr %212, align 4, !tbaa !5
  %10101 = call ptr @__errno_location() #11
  store i32 %10100, ptr %10101, align 4, !tbaa !5
  %10102 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10103 = load i32, ptr @test_count, align 4, !tbaa !5
  %10104 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10105 = load i32, ptr %10104, align 4, !tbaa !5
  %10106 = call ptr @s2n_strerror(i32 noundef %10105, ptr noundef @.str.4)
  %10107 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10108 = load i32, ptr %10107, align 4, !tbaa !5
  %10109 = call ptr @s2n_strerror_debug(i32 noundef %10108, ptr noundef @.str.4)
  %10110 = call ptr @__errno_location() #11
  %10111 = load i32, ptr %10110, align 4, !tbaa !5
  %10112 = call ptr @strerror(i32 noundef %10111) #10
  %10113 = call ptr @__errno_location() #11
  %10114 = load i32, ptr %10113, align 4, !tbaa !5
  %10115 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10102, ptr noundef @.str.2, i32 noundef %10103, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 463, ptr noundef %10106, ptr noundef %10109, ptr noundef %10112, i32 noundef %10114) #10
  br label %10133

10116:                                            ; preds = %10094, %10087
  %10117 = load i32, ptr %212, align 4, !tbaa !5
  %10118 = call ptr @__errno_location() #11
  store i32 %10117, ptr %10118, align 4, !tbaa !5
  %10119 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10120 = load i32, ptr @test_count, align 4, !tbaa !5
  %10121 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10122 = load i32, ptr %10121, align 4, !tbaa !5
  %10123 = call ptr @s2n_strerror(i32 noundef %10122, ptr noundef @.str.4)
  %10124 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10125 = load i32, ptr %10124, align 4, !tbaa !5
  %10126 = call ptr @s2n_strerror_debug(i32 noundef %10125, ptr noundef @.str.4)
  %10127 = call ptr @__errno_location() #11
  %10128 = load i32, ptr %10127, align 4, !tbaa !5
  %10129 = call ptr @strerror(i32 noundef %10128) #10
  %10130 = call ptr @__errno_location() #11
  %10131 = load i32, ptr %10130, align 4, !tbaa !5
  %10132 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10119, ptr noundef @.str.5, i32 noundef %10120, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 463, ptr noundef %10123, ptr noundef %10126, ptr noundef %10129, i32 noundef %10131) #10
  br label %10133

10133:                                            ; preds = %10116, %10099
  call void @llvm.lifetime.end.p0(i64 4, ptr %212) #10
  br label %10134

10134:                                            ; preds = %10133
  br label %10135

10135:                                            ; preds = %10134
  call void @exit(i32 noundef 1) #12
  unreachable

10136:                                            ; No predecessors!
  br label %10137

10137:                                            ; preds = %10136
  br label %10138

10138:                                            ; preds = %10137, %10079
  br label %10139

10139:                                            ; preds = %10138
  br label %10140

10140:                                            ; preds = %10139
  br label %10141

10141:                                            ; preds = %10140
  %10142 = load i32, ptr @test_count, align 4, !tbaa !5
  %10143 = add nsw i32 %10142, 1
  store i32 %10143, ptr @test_count, align 4, !tbaa !5
  %10144 = load ptr, ptr %197, align 8, !tbaa !9
  %10145 = call i32 @s2n_config_free(ptr noundef %10144)
  %10146 = icmp eq i32 %10145, -1
  br i1 %10146, label %10147, label %10200

10147:                                            ; preds = %10141
  br label %10148

10148:                                            ; preds = %10147
  br label %10149

10149:                                            ; preds = %10148
  call void @llvm.lifetime.start.p0(i64 4, ptr %213) #10
  %10150 = call ptr @__errno_location() #11
  %10151 = load i32, ptr %10150, align 4, !tbaa !5
  store i32 %10151, ptr %213, align 4, !tbaa !5
  %10152 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10153 = call i32 @s2n_print_stacktrace(ptr noundef %10152)
  %10154 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10155 = trunc i8 %10154 to i1
  br i1 %10155, label %10156, label %10178

10156:                                            ; preds = %10149
  %10157 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10158 = call i32 @fileno(ptr noundef %10157) #10
  %10159 = call i32 @isatty(i32 noundef %10158) #10
  %10160 = icmp ne i32 %10159, 0
  br i1 %10160, label %10161, label %10178

10161:                                            ; preds = %10156
  %10162 = load i32, ptr %213, align 4, !tbaa !5
  %10163 = call ptr @__errno_location() #11
  store i32 %10162, ptr %10163, align 4, !tbaa !5
  %10164 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10165 = load i32, ptr @test_count, align 4, !tbaa !5
  %10166 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10167 = load i32, ptr %10166, align 4, !tbaa !5
  %10168 = call ptr @s2n_strerror(i32 noundef %10167, ptr noundef @.str.4)
  %10169 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10170 = load i32, ptr %10169, align 4, !tbaa !5
  %10171 = call ptr @s2n_strerror_debug(i32 noundef %10170, ptr noundef @.str.4)
  %10172 = call ptr @__errno_location() #11
  %10173 = load i32, ptr %10172, align 4, !tbaa !5
  %10174 = call ptr @strerror(i32 noundef %10173) #10
  %10175 = call ptr @__errno_location() #11
  %10176 = load i32, ptr %10175, align 4, !tbaa !5
  %10177 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10164, ptr noundef @.str.2, i32 noundef %10165, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 464, ptr noundef %10168, ptr noundef %10171, ptr noundef %10174, i32 noundef %10176) #10
  br label %10195

10178:                                            ; preds = %10156, %10149
  %10179 = load i32, ptr %213, align 4, !tbaa !5
  %10180 = call ptr @__errno_location() #11
  store i32 %10179, ptr %10180, align 4, !tbaa !5
  %10181 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10182 = load i32, ptr @test_count, align 4, !tbaa !5
  %10183 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10184 = load i32, ptr %10183, align 4, !tbaa !5
  %10185 = call ptr @s2n_strerror(i32 noundef %10184, ptr noundef @.str.4)
  %10186 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10187 = load i32, ptr %10186, align 4, !tbaa !5
  %10188 = call ptr @s2n_strerror_debug(i32 noundef %10187, ptr noundef @.str.4)
  %10189 = call ptr @__errno_location() #11
  %10190 = load i32, ptr %10189, align 4, !tbaa !5
  %10191 = call ptr @strerror(i32 noundef %10190) #10
  %10192 = call ptr @__errno_location() #11
  %10193 = load i32, ptr %10192, align 4, !tbaa !5
  %10194 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10181, ptr noundef @.str.5, i32 noundef %10182, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 464, ptr noundef %10185, ptr noundef %10188, ptr noundef %10191, i32 noundef %10193) #10
  br label %10195

10195:                                            ; preds = %10178, %10161
  call void @llvm.lifetime.end.p0(i64 4, ptr %213) #10
  br label %10196

10196:                                            ; preds = %10195
  br label %10197

10197:                                            ; preds = %10196
  call void @exit(i32 noundef 1) #12
  unreachable

10198:                                            ; No predecessors!
  br label %10199

10199:                                            ; preds = %10198
  br label %10200

10200:                                            ; preds = %10199, %10141
  br label %10201

10201:                                            ; preds = %10200
  br label %10202

10202:                                            ; preds = %10201
  br label %10203

10203:                                            ; preds = %10202
  %10204 = load i32, ptr @test_count, align 4, !tbaa !5
  %10205 = add nsw i32 %10204, 1
  store i32 %10205, ptr @test_count, align 4, !tbaa !5
  %10206 = load ptr, ptr %196, align 8, !tbaa !9
  %10207 = call i32 @s2n_connection_free(ptr noundef %10206)
  %10208 = icmp eq i32 %10207, -1
  br i1 %10208, label %10209, label %10262

10209:                                            ; preds = %10203
  br label %10210

10210:                                            ; preds = %10209
  br label %10211

10211:                                            ; preds = %10210
  call void @llvm.lifetime.start.p0(i64 4, ptr %214) #10
  %10212 = call ptr @__errno_location() #11
  %10213 = load i32, ptr %10212, align 4, !tbaa !5
  store i32 %10213, ptr %214, align 4, !tbaa !5
  %10214 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10215 = call i32 @s2n_print_stacktrace(ptr noundef %10214)
  %10216 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10217 = trunc i8 %10216 to i1
  br i1 %10217, label %10218, label %10240

10218:                                            ; preds = %10211
  %10219 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10220 = call i32 @fileno(ptr noundef %10219) #10
  %10221 = call i32 @isatty(i32 noundef %10220) #10
  %10222 = icmp ne i32 %10221, 0
  br i1 %10222, label %10223, label %10240

10223:                                            ; preds = %10218
  %10224 = load i32, ptr %214, align 4, !tbaa !5
  %10225 = call ptr @__errno_location() #11
  store i32 %10224, ptr %10225, align 4, !tbaa !5
  %10226 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10227 = load i32, ptr @test_count, align 4, !tbaa !5
  %10228 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10229 = load i32, ptr %10228, align 4, !tbaa !5
  %10230 = call ptr @s2n_strerror(i32 noundef %10229, ptr noundef @.str.4)
  %10231 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10232 = load i32, ptr %10231, align 4, !tbaa !5
  %10233 = call ptr @s2n_strerror_debug(i32 noundef %10232, ptr noundef @.str.4)
  %10234 = call ptr @__errno_location() #11
  %10235 = load i32, ptr %10234, align 4, !tbaa !5
  %10236 = call ptr @strerror(i32 noundef %10235) #10
  %10237 = call ptr @__errno_location() #11
  %10238 = load i32, ptr %10237, align 4, !tbaa !5
  %10239 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10226, ptr noundef @.str.2, i32 noundef %10227, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 465, ptr noundef %10230, ptr noundef %10233, ptr noundef %10236, i32 noundef %10238) #10
  br label %10257

10240:                                            ; preds = %10218, %10211
  %10241 = load i32, ptr %214, align 4, !tbaa !5
  %10242 = call ptr @__errno_location() #11
  store i32 %10241, ptr %10242, align 4, !tbaa !5
  %10243 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10244 = load i32, ptr @test_count, align 4, !tbaa !5
  %10245 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10246 = load i32, ptr %10245, align 4, !tbaa !5
  %10247 = call ptr @s2n_strerror(i32 noundef %10246, ptr noundef @.str.4)
  %10248 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10249 = load i32, ptr %10248, align 4, !tbaa !5
  %10250 = call ptr @s2n_strerror_debug(i32 noundef %10249, ptr noundef @.str.4)
  %10251 = call ptr @__errno_location() #11
  %10252 = load i32, ptr %10251, align 4, !tbaa !5
  %10253 = call ptr @strerror(i32 noundef %10252) #10
  %10254 = call ptr @__errno_location() #11
  %10255 = load i32, ptr %10254, align 4, !tbaa !5
  %10256 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10243, ptr noundef @.str.5, i32 noundef %10244, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 465, ptr noundef %10247, ptr noundef %10250, ptr noundef %10253, i32 noundef %10255) #10
  br label %10257

10257:                                            ; preds = %10240, %10223
  call void @llvm.lifetime.end.p0(i64 4, ptr %214) #10
  br label %10258

10258:                                            ; preds = %10257
  br label %10259

10259:                                            ; preds = %10258
  call void @exit(i32 noundef 1) #12
  unreachable

10260:                                            ; No predecessors!
  br label %10261

10261:                                            ; preds = %10260
  br label %10262

10262:                                            ; preds = %10261, %10203
  br label %10263

10263:                                            ; preds = %10262
  br label %10264

10264:                                            ; preds = %10263
  br label %10265

10265:                                            ; preds = %10264
  %10266 = load i32, ptr @test_count, align 4, !tbaa !5
  %10267 = add nsw i32 %10266, 1
  store i32 %10267, ptr @test_count, align 4, !tbaa !5
  %10268 = load ptr, ptr %198, align 8, !tbaa !9
  %10269 = call i32 @s2n_connection_free(ptr noundef %10268)
  %10270 = icmp eq i32 %10269, -1
  br i1 %10270, label %10271, label %10324

10271:                                            ; preds = %10265
  br label %10272

10272:                                            ; preds = %10271
  br label %10273

10273:                                            ; preds = %10272
  call void @llvm.lifetime.start.p0(i64 4, ptr %215) #10
  %10274 = call ptr @__errno_location() #11
  %10275 = load i32, ptr %10274, align 4, !tbaa !5
  store i32 %10275, ptr %215, align 4, !tbaa !5
  %10276 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10277 = call i32 @s2n_print_stacktrace(ptr noundef %10276)
  %10278 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10279 = trunc i8 %10278 to i1
  br i1 %10279, label %10280, label %10302

10280:                                            ; preds = %10273
  %10281 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10282 = call i32 @fileno(ptr noundef %10281) #10
  %10283 = call i32 @isatty(i32 noundef %10282) #10
  %10284 = icmp ne i32 %10283, 0
  br i1 %10284, label %10285, label %10302

10285:                                            ; preds = %10280
  %10286 = load i32, ptr %215, align 4, !tbaa !5
  %10287 = call ptr @__errno_location() #11
  store i32 %10286, ptr %10287, align 4, !tbaa !5
  %10288 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10289 = load i32, ptr @test_count, align 4, !tbaa !5
  %10290 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10291 = load i32, ptr %10290, align 4, !tbaa !5
  %10292 = call ptr @s2n_strerror(i32 noundef %10291, ptr noundef @.str.4)
  %10293 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10294 = load i32, ptr %10293, align 4, !tbaa !5
  %10295 = call ptr @s2n_strerror_debug(i32 noundef %10294, ptr noundef @.str.4)
  %10296 = call ptr @__errno_location() #11
  %10297 = load i32, ptr %10296, align 4, !tbaa !5
  %10298 = call ptr @strerror(i32 noundef %10297) #10
  %10299 = call ptr @__errno_location() #11
  %10300 = load i32, ptr %10299, align 4, !tbaa !5
  %10301 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10288, ptr noundef @.str.2, i32 noundef %10289, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 466, ptr noundef %10292, ptr noundef %10295, ptr noundef %10298, i32 noundef %10300) #10
  br label %10319

10302:                                            ; preds = %10280, %10273
  %10303 = load i32, ptr %215, align 4, !tbaa !5
  %10304 = call ptr @__errno_location() #11
  store i32 %10303, ptr %10304, align 4, !tbaa !5
  %10305 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10306 = load i32, ptr @test_count, align 4, !tbaa !5
  %10307 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10308 = load i32, ptr %10307, align 4, !tbaa !5
  %10309 = call ptr @s2n_strerror(i32 noundef %10308, ptr noundef @.str.4)
  %10310 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10311 = load i32, ptr %10310, align 4, !tbaa !5
  %10312 = call ptr @s2n_strerror_debug(i32 noundef %10311, ptr noundef @.str.4)
  %10313 = call ptr @__errno_location() #11
  %10314 = load i32, ptr %10313, align 4, !tbaa !5
  %10315 = call ptr @strerror(i32 noundef %10314) #10
  %10316 = call ptr @__errno_location() #11
  %10317 = load i32, ptr %10316, align 4, !tbaa !5
  %10318 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10305, ptr noundef @.str.5, i32 noundef %10306, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 466, ptr noundef %10309, ptr noundef %10312, ptr noundef %10315, i32 noundef %10317) #10
  br label %10319

10319:                                            ; preds = %10302, %10285
  call void @llvm.lifetime.end.p0(i64 4, ptr %215) #10
  br label %10320

10320:                                            ; preds = %10319
  br label %10321

10321:                                            ; preds = %10320
  call void @exit(i32 noundef 1) #12
  unreachable

10322:                                            ; No predecessors!
  br label %10323

10323:                                            ; preds = %10322
  br label %10324

10324:                                            ; preds = %10323, %10265
  br label %10325

10325:                                            ; preds = %10324
  br label %10326

10326:                                            ; preds = %10325
  store i32 0, ptr %209, align 4
  br label %10327

10327:                                            ; preds = %10326, %10008, %9939
  call void @llvm.lifetime.end.p0(i64 8, ptr %208) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %206) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %198) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %197) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %196) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %195) #10
  %10328 = load i32, ptr %209, align 4
  switch i32 %10328, label %16834 [
    i32 0, label %10329
  ]

10329:                                            ; preds = %10327
  call void @llvm.lifetime.start.p0(i64 8, ptr %216) #10
  store ptr null, ptr %216, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %217) #10
  store ptr null, ptr %217, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %218) #10
  store ptr null, ptr %218, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %219) #10
  store ptr null, ptr %219, align 8, !tbaa !9
  br label %10330

10330:                                            ; preds = %10329
  %10331 = load i32, ptr @test_count, align 4, !tbaa !5
  %10332 = add nsw i32 %10331, 1
  store i32 %10332, ptr @test_count, align 4, !tbaa !5
  %10333 = call ptr @s2n_config_new()
  store ptr %10333, ptr %218, align 8, !tbaa !9
  %10334 = icmp eq ptr %10333, null
  br i1 %10334, label %10335, label %10388

10335:                                            ; preds = %10330
  br label %10336

10336:                                            ; preds = %10335
  br label %10337

10337:                                            ; preds = %10336
  call void @llvm.lifetime.start.p0(i64 4, ptr %220) #10
  %10338 = call ptr @__errno_location() #11
  %10339 = load i32, ptr %10338, align 4, !tbaa !5
  store i32 %10339, ptr %220, align 4, !tbaa !5
  %10340 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10341 = call i32 @s2n_print_stacktrace(ptr noundef %10340)
  %10342 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10343 = trunc i8 %10342 to i1
  br i1 %10343, label %10344, label %10366

10344:                                            ; preds = %10337
  %10345 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10346 = call i32 @fileno(ptr noundef %10345) #10
  %10347 = call i32 @isatty(i32 noundef %10346) #10
  %10348 = icmp ne i32 %10347, 0
  br i1 %10348, label %10349, label %10366

10349:                                            ; preds = %10344
  %10350 = load i32, ptr %220, align 4, !tbaa !5
  %10351 = call ptr @__errno_location() #11
  store i32 %10350, ptr %10351, align 4, !tbaa !5
  %10352 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10353 = load i32, ptr @test_count, align 4, !tbaa !5
  %10354 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10355 = load i32, ptr %10354, align 4, !tbaa !5
  %10356 = call ptr @s2n_strerror(i32 noundef %10355, ptr noundef @.str.4)
  %10357 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10358 = load i32, ptr %10357, align 4, !tbaa !5
  %10359 = call ptr @s2n_strerror_debug(i32 noundef %10358, ptr noundef @.str.4)
  %10360 = call ptr @__errno_location() #11
  %10361 = load i32, ptr %10360, align 4, !tbaa !5
  %10362 = call ptr @strerror(i32 noundef %10361) #10
  %10363 = call ptr @__errno_location() #11
  %10364 = load i32, ptr %10363, align 4, !tbaa !5
  %10365 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10352, ptr noundef @.str.2, i32 noundef %10353, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 476, ptr noundef %10356, ptr noundef %10359, ptr noundef %10362, i32 noundef %10364) #10
  br label %10383

10366:                                            ; preds = %10344, %10337
  %10367 = load i32, ptr %220, align 4, !tbaa !5
  %10368 = call ptr @__errno_location() #11
  store i32 %10367, ptr %10368, align 4, !tbaa !5
  %10369 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10370 = load i32, 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 = call ptr @s2n_strerror(i32 noundef %10372, ptr noundef @.str.4)
  %10374 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10375 = load i32, ptr %10374, align 4, !tbaa !5
  %10376 = call ptr @s2n_strerror_debug(i32 noundef %10375, ptr noundef @.str.4)
  %10377 = call ptr @__errno_location() #11
  %10378 = load i32, ptr %10377, align 4, !tbaa !5
  %10379 = call ptr @strerror(i32 noundef %10378) #10
  %10380 = call ptr @__errno_location() #11
  %10381 = load i32, ptr %10380, align 4, !tbaa !5
  %10382 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10369, ptr noundef @.str.5, i32 noundef %10370, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 476, ptr noundef %10373, ptr noundef %10376, ptr noundef %10379, i32 noundef %10381) #10
  br label %10383

10383:                                            ; preds = %10366, %10349
  call void @llvm.lifetime.end.p0(i64 4, ptr %220) #10
  br label %10384

10384:                                            ; preds = %10383
  br label %10385

10385:                                            ; preds = %10384
  call void @exit(i32 noundef 1) #12
  unreachable

10386:                                            ; No predecessors!
  br label %10387

10387:                                            ; preds = %10386
  br label %10388

10388:                                            ; preds = %10387, %10330
  br label %10389

10389:                                            ; preds = %10388
  br label %10390

10390:                                            ; preds = %10389
  br label %10391

10391:                                            ; preds = %10390
  %10392 = load i32, ptr @test_count, align 4, !tbaa !5
  %10393 = add nsw i32 %10392, 1
  store i32 %10393, ptr @test_count, align 4, !tbaa !5
  %10394 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %10394, ptr %219, align 8, !tbaa !9
  %10395 = icmp eq ptr %10394, null
  br i1 %10395, label %10396, label %10449

10396:                                            ; preds = %10391
  br label %10397

10397:                                            ; preds = %10396
  br label %10398

10398:                                            ; preds = %10397
  call void @llvm.lifetime.start.p0(i64 4, ptr %221) #10
  %10399 = call ptr @__errno_location() #11
  %10400 = load i32, ptr %10399, align 4, !tbaa !5
  store i32 %10400, ptr %221, align 4, !tbaa !5
  %10401 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10402 = call i32 @s2n_print_stacktrace(ptr noundef %10401)
  %10403 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10404 = trunc i8 %10403 to i1
  br i1 %10404, label %10405, label %10427

10405:                                            ; preds = %10398
  %10406 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10407 = call i32 @fileno(ptr noundef %10406) #10
  %10408 = call i32 @isatty(i32 noundef %10407) #10
  %10409 = icmp ne i32 %10408, 0
  br i1 %10409, label %10410, label %10427

10410:                                            ; preds = %10405
  %10411 = load i32, ptr %221, align 4, !tbaa !5
  %10412 = call ptr @__errno_location() #11
  store i32 %10411, ptr %10412, align 4, !tbaa !5
  %10413 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10414 = load i32, ptr @test_count, align 4, !tbaa !5
  %10415 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10416 = load i32, ptr %10415, align 4, !tbaa !5
  %10417 = call ptr @s2n_strerror(i32 noundef %10416, ptr noundef @.str.4)
  %10418 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10419 = load i32, ptr %10418, align 4, !tbaa !5
  %10420 = call ptr @s2n_strerror_debug(i32 noundef %10419, ptr noundef @.str.4)
  %10421 = call ptr @__errno_location() #11
  %10422 = load i32, ptr %10421, align 4, !tbaa !5
  %10423 = call ptr @strerror(i32 noundef %10422) #10
  %10424 = call ptr @__errno_location() #11
  %10425 = load i32, ptr %10424, align 4, !tbaa !5
  %10426 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10413, ptr noundef @.str.2, i32 noundef %10414, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 477, ptr noundef %10417, ptr noundef %10420, ptr noundef %10423, i32 noundef %10425) #10
  br label %10444

10427:                                            ; preds = %10405, %10398
  %10428 = load i32, ptr %221, align 4, !tbaa !5
  %10429 = call ptr @__errno_location() #11
  store i32 %10428, ptr %10429, align 4, !tbaa !5
  %10430 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10431 = load i32, ptr @test_count, align 4, !tbaa !5
  %10432 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10433 = load i32, ptr %10432, align 4, !tbaa !5
  %10434 = call ptr @s2n_strerror(i32 noundef %10433, ptr noundef @.str.4)
  %10435 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10436 = load i32, ptr %10435, align 4, !tbaa !5
  %10437 = call ptr @s2n_strerror_debug(i32 noundef %10436, ptr noundef @.str.4)
  %10438 = call ptr @__errno_location() #11
  %10439 = load i32, ptr %10438, align 4, !tbaa !5
  %10440 = call ptr @strerror(i32 noundef %10439) #10
  %10441 = call ptr @__errno_location() #11
  %10442 = load i32, ptr %10441, align 4, !tbaa !5
  %10443 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10430, ptr noundef @.str.5, i32 noundef %10431, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 477, ptr noundef %10434, ptr noundef %10437, ptr noundef %10440, i32 noundef %10442) #10
  br label %10444

10444:                                            ; preds = %10427, %10410
  call void @llvm.lifetime.end.p0(i64 4, ptr %221) #10
  br label %10445

10445:                                            ; preds = %10444
  br label %10446

10446:                                            ; preds = %10445
  call void @exit(i32 noundef 1) #12
  unreachable

10447:                                            ; No predecessors!
  br label %10448

10448:                                            ; preds = %10447
  br label %10449

10449:                                            ; preds = %10448, %10391
  br label %10450

10450:                                            ; preds = %10449
  br label %10451

10451:                                            ; preds = %10450
  br label %10452

10452:                                            ; preds = %10451
  %10453 = load i32, ptr @test_count, align 4, !tbaa !5
  %10454 = add nsw i32 %10453, 1
  store i32 %10454, ptr @test_count, align 4, !tbaa !5
  %10455 = load ptr, ptr %219, align 8, !tbaa !9
  %10456 = load ptr, ptr %218, align 8, !tbaa !9
  %10457 = call i32 @s2n_connection_set_config(ptr noundef %10455, ptr noundef %10456)
  %10458 = icmp eq i32 %10457, -1
  br i1 %10458, label %10459, label %10512

10459:                                            ; preds = %10452
  br label %10460

10460:                                            ; preds = %10459
  br label %10461

10461:                                            ; preds = %10460
  call void @llvm.lifetime.start.p0(i64 4, ptr %222) #10
  %10462 = call ptr @__errno_location() #11
  %10463 = load i32, ptr %10462, align 4, !tbaa !5
  store i32 %10463, ptr %222, align 4, !tbaa !5
  %10464 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10465 = call i32 @s2n_print_stacktrace(ptr noundef %10464)
  %10466 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10467 = trunc i8 %10466 to i1
  br i1 %10467, label %10468, label %10490

10468:                                            ; preds = %10461
  %10469 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10470 = call i32 @fileno(ptr noundef %10469) #10
  %10471 = call i32 @isatty(i32 noundef %10470) #10
  %10472 = icmp ne i32 %10471, 0
  br i1 %10472, label %10473, label %10490

10473:                                            ; preds = %10468
  %10474 = load i32, ptr %222, align 4, !tbaa !5
  %10475 = call ptr @__errno_location() #11
  store i32 %10474, ptr %10475, align 4, !tbaa !5
  %10476 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10477 = load i32, ptr @test_count, align 4, !tbaa !5
  %10478 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10479 = load i32, ptr %10478, align 4, !tbaa !5
  %10480 = call ptr @s2n_strerror(i32 noundef %10479, ptr noundef @.str.4)
  %10481 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10482 = load i32, ptr %10481, align 4, !tbaa !5
  %10483 = call ptr @s2n_strerror_debug(i32 noundef %10482, ptr noundef @.str.4)
  %10484 = call ptr @__errno_location() #11
  %10485 = load i32, ptr %10484, align 4, !tbaa !5
  %10486 = call ptr @strerror(i32 noundef %10485) #10
  %10487 = call ptr @__errno_location() #11
  %10488 = load i32, ptr %10487, align 4, !tbaa !5
  %10489 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10476, ptr noundef @.str.2, i32 noundef %10477, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 478, ptr noundef %10480, ptr noundef %10483, ptr noundef %10486, i32 noundef %10488) #10
  br label %10507

10490:                                            ; preds = %10468, %10461
  %10491 = load i32, ptr %222, align 4, !tbaa !5
  %10492 = call ptr @__errno_location() #11
  store i32 %10491, ptr %10492, align 4, !tbaa !5
  %10493 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10494 = load i32, ptr @test_count, align 4, !tbaa !5
  %10495 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10496 = load i32, ptr %10495, align 4, !tbaa !5
  %10497 = call ptr @s2n_strerror(i32 noundef %10496, ptr noundef @.str.4)
  %10498 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10499 = load i32, ptr %10498, align 4, !tbaa !5
  %10500 = call ptr @s2n_strerror_debug(i32 noundef %10499, ptr noundef @.str.4)
  %10501 = call ptr @__errno_location() #11
  %10502 = load i32, ptr %10501, align 4, !tbaa !5
  %10503 = call ptr @strerror(i32 noundef %10502) #10
  %10504 = call ptr @__errno_location() #11
  %10505 = load i32, ptr %10504, align 4, !tbaa !5
  %10506 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10493, ptr noundef @.str.5, i32 noundef %10494, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 478, ptr noundef %10497, ptr noundef %10500, ptr noundef %10503, i32 noundef %10505) #10
  br label %10507

10507:                                            ; preds = %10490, %10473
  call void @llvm.lifetime.end.p0(i64 4, ptr %222) #10
  br label %10508

10508:                                            ; preds = %10507
  br label %10509

10509:                                            ; preds = %10508
  call void @exit(i32 noundef 1) #12
  unreachable

10510:                                            ; No predecessors!
  br label %10511

10511:                                            ; preds = %10510
  br label %10512

10512:                                            ; preds = %10511, %10452
  br label %10513

10513:                                            ; preds = %10512
  br label %10514

10514:                                            ; preds = %10513
  br label %10515

10515:                                            ; preds = %10514
  %10516 = load i32, ptr @test_count, align 4, !tbaa !5
  %10517 = add nsw i32 %10516, 1
  store i32 %10517, ptr @test_count, align 4, !tbaa !5
  %10518 = call ptr @s2n_config_new()
  store ptr %10518, ptr %216, align 8, !tbaa !9
  %10519 = icmp eq ptr %10518, null
  br i1 %10519, label %10520, label %10573

10520:                                            ; preds = %10515
  br label %10521

10521:                                            ; preds = %10520
  br label %10522

10522:                                            ; preds = %10521
  call void @llvm.lifetime.start.p0(i64 4, ptr %223) #10
  %10523 = call ptr @__errno_location() #11
  %10524 = load i32, ptr %10523, align 4, !tbaa !5
  store i32 %10524, ptr %223, align 4, !tbaa !5
  %10525 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10526 = call i32 @s2n_print_stacktrace(ptr noundef %10525)
  %10527 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10528 = trunc i8 %10527 to i1
  br i1 %10528, label %10529, label %10551

10529:                                            ; preds = %10522
  %10530 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10531 = call i32 @fileno(ptr noundef %10530) #10
  %10532 = call i32 @isatty(i32 noundef %10531) #10
  %10533 = icmp ne i32 %10532, 0
  br i1 %10533, label %10534, label %10551

10534:                                            ; preds = %10529
  %10535 = load i32, ptr %223, align 4, !tbaa !5
  %10536 = call ptr @__errno_location() #11
  store i32 %10535, ptr %10536, align 4, !tbaa !5
  %10537 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10538 = load i32, ptr @test_count, align 4, !tbaa !5
  %10539 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10540 = load i32, ptr %10539, align 4, !tbaa !5
  %10541 = call ptr @s2n_strerror(i32 noundef %10540, ptr noundef @.str.4)
  %10542 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10543 = load i32, ptr %10542, align 4, !tbaa !5
  %10544 = call ptr @s2n_strerror_debug(i32 noundef %10543, ptr noundef @.str.4)
  %10545 = call ptr @__errno_location() #11
  %10546 = load i32, ptr %10545, align 4, !tbaa !5
  %10547 = call ptr @strerror(i32 noundef %10546) #10
  %10548 = call ptr @__errno_location() #11
  %10549 = load i32, ptr %10548, align 4, !tbaa !5
  %10550 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10537, ptr noundef @.str.2, i32 noundef %10538, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 480, ptr noundef %10541, ptr noundef %10544, ptr noundef %10547, i32 noundef %10549) #10
  br label %10568

10551:                                            ; preds = %10529, %10522
  %10552 = load i32, ptr %223, align 4, !tbaa !5
  %10553 = call ptr @__errno_location() #11
  store i32 %10552, ptr %10553, align 4, !tbaa !5
  %10554 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10555 = load i32, ptr @test_count, align 4, !tbaa !5
  %10556 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10557 = load i32, ptr %10556, align 4, !tbaa !5
  %10558 = call ptr @s2n_strerror(i32 noundef %10557, ptr noundef @.str.4)
  %10559 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10560 = load i32, ptr %10559, align 4, !tbaa !5
  %10561 = call ptr @s2n_strerror_debug(i32 noundef %10560, ptr noundef @.str.4)
  %10562 = call ptr @__errno_location() #11
  %10563 = load i32, ptr %10562, align 4, !tbaa !5
  %10564 = call ptr @strerror(i32 noundef %10563) #10
  %10565 = call ptr @__errno_location() #11
  %10566 = load i32, ptr %10565, align 4, !tbaa !5
  %10567 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10554, ptr noundef @.str.5, i32 noundef %10555, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 480, ptr noundef %10558, ptr noundef %10561, ptr noundef %10564, i32 noundef %10566) #10
  br label %10568

10568:                                            ; preds = %10551, %10534
  call void @llvm.lifetime.end.p0(i64 4, ptr %223) #10
  br label %10569

10569:                                            ; preds = %10568
  br label %10570

10570:                                            ; preds = %10569
  call void @exit(i32 noundef 1) #12
  unreachable

10571:                                            ; No predecessors!
  br label %10572

10572:                                            ; preds = %10571
  br label %10573

10573:                                            ; preds = %10572, %10515
  br label %10574

10574:                                            ; preds = %10573
  br label %10575

10575:                                            ; preds = %10574
  br label %10576

10576:                                            ; preds = %10575
  %10577 = load i32, ptr @test_count, align 4, !tbaa !5
  %10578 = add nsw i32 %10577, 1
  store i32 %10578, ptr @test_count, align 4, !tbaa !5
  %10579 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %10579, ptr %217, align 8, !tbaa !9
  %10580 = icmp eq ptr %10579, null
  br i1 %10580, label %10581, label %10634

10581:                                            ; preds = %10576
  br label %10582

10582:                                            ; preds = %10581
  br label %10583

10583:                                            ; preds = %10582
  call void @llvm.lifetime.start.p0(i64 4, ptr %224) #10
  %10584 = call ptr @__errno_location() #11
  %10585 = load i32, ptr %10584, align 4, !tbaa !5
  store i32 %10585, ptr %224, align 4, !tbaa !5
  %10586 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10587 = call i32 @s2n_print_stacktrace(ptr noundef %10586)
  %10588 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10589 = trunc i8 %10588 to i1
  br i1 %10589, label %10590, label %10612

10590:                                            ; preds = %10583
  %10591 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10592 = call i32 @fileno(ptr noundef %10591) #10
  %10593 = call i32 @isatty(i32 noundef %10592) #10
  %10594 = icmp ne i32 %10593, 0
  br i1 %10594, label %10595, label %10612

10595:                                            ; preds = %10590
  %10596 = load i32, ptr %224, align 4, !tbaa !5
  %10597 = call ptr @__errno_location() #11
  store i32 %10596, ptr %10597, align 4, !tbaa !5
  %10598 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10599 = load i32, ptr @test_count, align 4, !tbaa !5
  %10600 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10601 = load i32, ptr %10600, align 4, !tbaa !5
  %10602 = call ptr @s2n_strerror(i32 noundef %10601, ptr noundef @.str.4)
  %10603 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10604 = load i32, ptr %10603, align 4, !tbaa !5
  %10605 = call ptr @s2n_strerror_debug(i32 noundef %10604, ptr noundef @.str.4)
  %10606 = call ptr @__errno_location() #11
  %10607 = load i32, ptr %10606, align 4, !tbaa !5
  %10608 = call ptr @strerror(i32 noundef %10607) #10
  %10609 = call ptr @__errno_location() #11
  %10610 = load i32, ptr %10609, align 4, !tbaa !5
  %10611 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10598, ptr noundef @.str.2, i32 noundef %10599, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 481, ptr noundef %10602, ptr noundef %10605, ptr noundef %10608, i32 noundef %10610) #10
  br label %10629

10612:                                            ; preds = %10590, %10583
  %10613 = load i32, ptr %224, align 4, !tbaa !5
  %10614 = call ptr @__errno_location() #11
  store i32 %10613, ptr %10614, align 4, !tbaa !5
  %10615 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10616 = load i32, ptr @test_count, align 4, !tbaa !5
  %10617 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10618 = load i32, ptr %10617, align 4, !tbaa !5
  %10619 = call ptr @s2n_strerror(i32 noundef %10618, ptr noundef @.str.4)
  %10620 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10621 = load i32, ptr %10620, align 4, !tbaa !5
  %10622 = call ptr @s2n_strerror_debug(i32 noundef %10621, ptr noundef @.str.4)
  %10623 = call ptr @__errno_location() #11
  %10624 = load i32, ptr %10623, align 4, !tbaa !5
  %10625 = call ptr @strerror(i32 noundef %10624) #10
  %10626 = call ptr @__errno_location() #11
  %10627 = load i32, ptr %10626, align 4, !tbaa !5
  %10628 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10615, ptr noundef @.str.5, i32 noundef %10616, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 481, ptr noundef %10619, ptr noundef %10622, ptr noundef %10625, i32 noundef %10627) #10
  br label %10629

10629:                                            ; preds = %10612, %10595
  call void @llvm.lifetime.end.p0(i64 4, ptr %224) #10
  br label %10630

10630:                                            ; preds = %10629
  br label %10631

10631:                                            ; preds = %10630
  call void @exit(i32 noundef 1) #12
  unreachable

10632:                                            ; No predecessors!
  br label %10633

10633:                                            ; preds = %10632
  br label %10634

10634:                                            ; preds = %10633, %10576
  br label %10635

10635:                                            ; preds = %10634
  br label %10636

10636:                                            ; preds = %10635
  br label %10637

10637:                                            ; preds = %10636
  %10638 = load i32, ptr @test_count, align 4, !tbaa !5
  %10639 = add nsw i32 %10638, 1
  store i32 %10639, ptr @test_count, align 4, !tbaa !5
  %10640 = load ptr, ptr %217, align 8, !tbaa !9
  %10641 = load ptr, ptr %216, align 8, !tbaa !9
  %10642 = call i32 @s2n_connection_set_config(ptr noundef %10640, ptr noundef %10641)
  %10643 = icmp eq i32 %10642, -1
  br i1 %10643, label %10644, label %10697

10644:                                            ; preds = %10637
  br label %10645

10645:                                            ; preds = %10644
  br label %10646

10646:                                            ; preds = %10645
  call void @llvm.lifetime.start.p0(i64 4, ptr %225) #10
  %10647 = call ptr @__errno_location() #11
  %10648 = load i32, ptr %10647, align 4, !tbaa !5
  store i32 %10648, ptr %225, align 4, !tbaa !5
  %10649 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10650 = call i32 @s2n_print_stacktrace(ptr noundef %10649)
  %10651 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10652 = trunc i8 %10651 to i1
  br i1 %10652, label %10653, label %10675

10653:                                            ; preds = %10646
  %10654 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10655 = call i32 @fileno(ptr noundef %10654) #10
  %10656 = call i32 @isatty(i32 noundef %10655) #10
  %10657 = icmp ne i32 %10656, 0
  br i1 %10657, label %10658, label %10675

10658:                                            ; preds = %10653
  %10659 = load i32, ptr %225, align 4, !tbaa !5
  %10660 = call ptr @__errno_location() #11
  store i32 %10659, ptr %10660, align 4, !tbaa !5
  %10661 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10662 = load i32, ptr @test_count, align 4, !tbaa !5
  %10663 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10664 = load i32, ptr %10663, align 4, !tbaa !5
  %10665 = call ptr @s2n_strerror(i32 noundef %10664, ptr noundef @.str.4)
  %10666 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10667 = load i32, ptr %10666, align 4, !tbaa !5
  %10668 = call ptr @s2n_strerror_debug(i32 noundef %10667, ptr noundef @.str.4)
  %10669 = call ptr @__errno_location() #11
  %10670 = load i32, ptr %10669, align 4, !tbaa !5
  %10671 = call ptr @strerror(i32 noundef %10670) #10
  %10672 = call ptr @__errno_location() #11
  %10673 = load i32, ptr %10672, align 4, !tbaa !5
  %10674 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10661, ptr noundef @.str.2, i32 noundef %10662, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 482, ptr noundef %10665, ptr noundef %10668, ptr noundef %10671, i32 noundef %10673) #10
  br label %10692

10675:                                            ; preds = %10653, %10646
  %10676 = load i32, ptr %225, align 4, !tbaa !5
  %10677 = call ptr @__errno_location() #11
  store i32 %10676, ptr %10677, align 4, !tbaa !5
  %10678 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10679 = load i32, ptr @test_count, align 4, !tbaa !5
  %10680 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10681 = load i32, ptr %10680, align 4, !tbaa !5
  %10682 = call ptr @s2n_strerror(i32 noundef %10681, ptr noundef @.str.4)
  %10683 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10684 = load i32, ptr %10683, align 4, !tbaa !5
  %10685 = call ptr @s2n_strerror_debug(i32 noundef %10684, ptr noundef @.str.4)
  %10686 = call ptr @__errno_location() #11
  %10687 = load i32, ptr %10686, align 4, !tbaa !5
  %10688 = call ptr @strerror(i32 noundef %10687) #10
  %10689 = call ptr @__errno_location() #11
  %10690 = load i32, ptr %10689, align 4, !tbaa !5
  %10691 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10678, ptr noundef @.str.5, i32 noundef %10679, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 482, ptr noundef %10682, ptr noundef %10685, ptr noundef %10688, i32 noundef %10690) #10
  br label %10692

10692:                                            ; preds = %10675, %10658
  call void @llvm.lifetime.end.p0(i64 4, ptr %225) #10
  br label %10693

10693:                                            ; preds = %10692
  br label %10694

10694:                                            ; preds = %10693
  call void @exit(i32 noundef 1) #12
  unreachable

10695:                                            ; No predecessors!
  br label %10696

10696:                                            ; preds = %10695
  br label %10697

10697:                                            ; preds = %10696, %10637
  br label %10698

10698:                                            ; preds = %10697
  br label %10699

10699:                                            ; preds = %10698
  %10700 = load ptr, ptr %217, align 8, !tbaa !9
  %10701 = getelementptr inbounds %struct.s2n_connection, ptr %10700, i32 0, i32 21
  store i8 33, ptr %10701, align 2, !tbaa !67
  br label %10702

10702:                                            ; preds = %10699
  %10703 = load i32, ptr @test_count, align 4, !tbaa !5
  %10704 = add nsw i32 %10703, 1
  store i32 %10704, ptr @test_count, align 4, !tbaa !5
  %10705 = call i32 (...) @s2n_enable_tls13_in_test()
  %10706 = icmp eq i32 %10705, -1
  br i1 %10706, label %10707, label %10760

10707:                                            ; preds = %10702
  br label %10708

10708:                                            ; preds = %10707
  br label %10709

10709:                                            ; preds = %10708
  call void @llvm.lifetime.start.p0(i64 4, ptr %226) #10
  %10710 = call ptr @__errno_location() #11
  %10711 = load i32, ptr %10710, align 4, !tbaa !5
  store i32 %10711, ptr %226, align 4, !tbaa !5
  %10712 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10713 = call i32 @s2n_print_stacktrace(ptr noundef %10712)
  %10714 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10715 = trunc i8 %10714 to i1
  br i1 %10715, label %10716, label %10738

10716:                                            ; preds = %10709
  %10717 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10718 = call i32 @fileno(ptr noundef %10717) #10
  %10719 = call i32 @isatty(i32 noundef %10718) #10
  %10720 = icmp ne i32 %10719, 0
  br i1 %10720, label %10721, label %10738

10721:                                            ; preds = %10716
  %10722 = load i32, ptr %226, align 4, !tbaa !5
  %10723 = call ptr @__errno_location() #11
  store i32 %10722, ptr %10723, align 4, !tbaa !5
  %10724 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10725 = load i32, ptr @test_count, align 4, !tbaa !5
  %10726 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10727 = load i32, ptr %10726, align 4, !tbaa !5
  %10728 = call ptr @s2n_strerror(i32 noundef %10727, ptr noundef @.str.4)
  %10729 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10730 = load i32, ptr %10729, align 4, !tbaa !5
  %10731 = call ptr @s2n_strerror_debug(i32 noundef %10730, ptr noundef @.str.4)
  %10732 = call ptr @__errno_location() #11
  %10733 = load i32, ptr %10732, align 4, !tbaa !5
  %10734 = call ptr @strerror(i32 noundef %10733) #10
  %10735 = call ptr @__errno_location() #11
  %10736 = load i32, ptr %10735, align 4, !tbaa !5
  %10737 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10724, ptr noundef @.str.2, i32 noundef %10725, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 489, ptr noundef %10728, ptr noundef %10731, ptr noundef %10734, i32 noundef %10736) #10
  br label %10755

10738:                                            ; preds = %10716, %10709
  %10739 = load i32, ptr %226, align 4, !tbaa !5
  %10740 = call ptr @__errno_location() #11
  store i32 %10739, ptr %10740, align 4, !tbaa !5
  %10741 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10742 = load i32, ptr @test_count, align 4, !tbaa !5
  %10743 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10744 = load i32, ptr %10743, align 4, !tbaa !5
  %10745 = call ptr @s2n_strerror(i32 noundef %10744, ptr noundef @.str.4)
  %10746 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10747 = load i32, ptr %10746, align 4, !tbaa !5
  %10748 = call ptr @s2n_strerror_debug(i32 noundef %10747, ptr noundef @.str.4)
  %10749 = call ptr @__errno_location() #11
  %10750 = load i32, ptr %10749, align 4, !tbaa !5
  %10751 = call ptr @strerror(i32 noundef %10750) #10
  %10752 = call ptr @__errno_location() #11
  %10753 = load i32, ptr %10752, align 4, !tbaa !5
  %10754 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10741, ptr noundef @.str.5, i32 noundef %10742, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 489, ptr noundef %10745, ptr noundef %10748, ptr noundef %10751, i32 noundef %10753) #10
  br label %10755

10755:                                            ; preds = %10738, %10721
  call void @llvm.lifetime.end.p0(i64 4, ptr %226) #10
  br label %10756

10756:                                            ; preds = %10755
  br label %10757

10757:                                            ; preds = %10756
  call void @exit(i32 noundef 1) #12
  unreachable

10758:                                            ; No predecessors!
  br label %10759

10759:                                            ; preds = %10758
  br label %10760

10760:                                            ; preds = %10759, %10702
  br label %10761

10761:                                            ; preds = %10760
  br label %10762

10762:                                            ; preds = %10761
  %10763 = load ptr, ptr %219, align 8, !tbaa !9
  %10764 = getelementptr inbounds %struct.s2n_connection, ptr %10763, i32 0, i32 23
  store i8 33, ptr %10764, align 4, !tbaa !42
  %10765 = load ptr, ptr %219, align 8, !tbaa !9
  %10766 = getelementptr inbounds %struct.s2n_connection, ptr %10765, i32 0, i32 27
  %10767 = load ptr, ptr %10766, align 8, !tbaa !52
  %10768 = getelementptr inbounds %struct.s2n_crypto_parameters, ptr %10767, i32 0, i32 0
  store ptr @s2n_ecdhe_rsa_with_aes_256_gcm_sha384, ptr %10768, align 8, !tbaa !53
  br label %10769

10769:                                            ; preds = %10762
  %10770 = load i32, ptr @test_count, align 4, !tbaa !5
  %10771 = add nsw i32 %10770, 1
  store i32 %10771, ptr @test_count, align 4, !tbaa !5
  %10772 = load ptr, ptr %219, align 8, !tbaa !9
  %10773 = call i32 @s2n_server_hello_send(ptr noundef %10772)
  %10774 = icmp eq i32 %10773, -1
  br i1 %10774, label %10775, label %10828

10775:                                            ; preds = %10769
  br label %10776

10776:                                            ; preds = %10775
  br label %10777

10777:                                            ; preds = %10776
  call void @llvm.lifetime.start.p0(i64 4, ptr %227) #10
  %10778 = call ptr @__errno_location() #11
  %10779 = load i32, ptr %10778, align 4, !tbaa !5
  store i32 %10779, ptr %227, align 4, !tbaa !5
  %10780 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10781 = call i32 @s2n_print_stacktrace(ptr noundef %10780)
  %10782 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10783 = trunc i8 %10782 to i1
  br i1 %10783, label %10784, label %10806

10784:                                            ; preds = %10777
  %10785 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10786 = call i32 @fileno(ptr noundef %10785) #10
  %10787 = call i32 @isatty(i32 noundef %10786) #10
  %10788 = icmp ne i32 %10787, 0
  br i1 %10788, label %10789, label %10806

10789:                                            ; preds = %10784
  %10790 = load i32, ptr %227, align 4, !tbaa !5
  %10791 = call ptr @__errno_location() #11
  store i32 %10790, ptr %10791, align 4, !tbaa !5
  %10792 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10793 = load i32, ptr @test_count, align 4, !tbaa !5
  %10794 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10795 = load i32, ptr %10794, align 4, !tbaa !5
  %10796 = call ptr @s2n_strerror(i32 noundef %10795, ptr noundef @.str.4)
  %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_debug(i32 noundef %10798, ptr noundef @.str.4)
  %10800 = call ptr @__errno_location() #11
  %10801 = load i32, ptr %10800, align 4, !tbaa !5
  %10802 = call ptr @strerror(i32 noundef %10801) #10
  %10803 = call ptr @__errno_location() #11
  %10804 = load i32, ptr %10803, align 4, !tbaa !5
  %10805 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10792, ptr noundef @.str.2, i32 noundef %10793, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 493, ptr noundef %10796, ptr noundef %10799, ptr noundef %10802, i32 noundef %10804) #10
  br label %10823

10806:                                            ; preds = %10784, %10777
  %10807 = load i32, ptr %227, align 4, !tbaa !5
  %10808 = call ptr @__errno_location() #11
  store i32 %10807, ptr %10808, align 4, !tbaa !5
  %10809 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10810 = load i32, ptr @test_count, align 4, !tbaa !5
  %10811 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10812 = load i32, ptr %10811, align 4, !tbaa !5
  %10813 = call ptr @s2n_strerror(i32 noundef %10812, ptr noundef @.str.4)
  %10814 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10815 = load i32, ptr %10814, align 4, !tbaa !5
  %10816 = call ptr @s2n_strerror_debug(i32 noundef %10815, ptr noundef @.str.4)
  %10817 = call ptr @__errno_location() #11
  %10818 = load i32, ptr %10817, align 4, !tbaa !5
  %10819 = call ptr @strerror(i32 noundef %10818) #10
  %10820 = call ptr @__errno_location() #11
  %10821 = load i32, ptr %10820, align 4, !tbaa !5
  %10822 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10809, ptr noundef @.str.5, i32 noundef %10810, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 493, ptr noundef %10813, ptr noundef %10816, ptr noundef %10819, i32 noundef %10821) #10
  br label %10823

10823:                                            ; preds = %10806, %10789
  call void @llvm.lifetime.end.p0(i64 4, ptr %227) #10
  br label %10824

10824:                                            ; preds = %10823
  br label %10825

10825:                                            ; preds = %10824
  call void @exit(i32 noundef 1) #12
  unreachable

10826:                                            ; No predecessors!
  br label %10827

10827:                                            ; preds = %10826
  br label %10828

10828:                                            ; preds = %10827, %10769
  br label %10829

10829:                                            ; preds = %10828
  br label %10830

10830:                                            ; preds = %10829
  br label %10831

10831:                                            ; preds = %10830
  %10832 = load i32, ptr @test_count, align 4, !tbaa !5
  %10833 = add nsw i32 %10832, 1
  store i32 %10833, ptr @test_count, align 4, !tbaa !5
  %10834 = call i32 (...) @s2n_disable_tls13_in_test()
  %10835 = icmp eq i32 %10834, -1
  br i1 %10835, label %10836, label %10889

10836:                                            ; preds = %10831
  br label %10837

10837:                                            ; preds = %10836
  br label %10838

10838:                                            ; preds = %10837
  call void @llvm.lifetime.start.p0(i64 4, ptr %228) #10
  %10839 = call ptr @__errno_location() #11
  %10840 = load i32, ptr %10839, align 4, !tbaa !5
  store i32 %10840, ptr %228, align 4, !tbaa !5
  %10841 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10842 = call i32 @s2n_print_stacktrace(ptr noundef %10841)
  %10843 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10844 = trunc i8 %10843 to i1
  br i1 %10844, label %10845, label %10867

10845:                                            ; preds = %10838
  %10846 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10847 = call i32 @fileno(ptr noundef %10846) #10
  %10848 = call i32 @isatty(i32 noundef %10847) #10
  %10849 = icmp ne i32 %10848, 0
  br i1 %10849, label %10850, label %10867

10850:                                            ; preds = %10845
  %10851 = load i32, ptr %228, align 4, !tbaa !5
  %10852 = call ptr @__errno_location() #11
  store i32 %10851, ptr %10852, align 4, !tbaa !5
  %10853 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10854 = load i32, ptr @test_count, align 4, !tbaa !5
  %10855 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10856 = load i32, ptr %10855, align 4, !tbaa !5
  %10857 = call ptr @s2n_strerror(i32 noundef %10856, ptr noundef @.str.4)
  %10858 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10859 = load i32, ptr %10858, align 4, !tbaa !5
  %10860 = call ptr @s2n_strerror_debug(i32 noundef %10859, ptr noundef @.str.4)
  %10861 = call ptr @__errno_location() #11
  %10862 = load i32, ptr %10861, align 4, !tbaa !5
  %10863 = call ptr @strerror(i32 noundef %10862) #10
  %10864 = call ptr @__errno_location() #11
  %10865 = load i32, ptr %10864, align 4, !tbaa !5
  %10866 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10853, ptr noundef @.str.2, i32 noundef %10854, ptr noundef @.str.8, ptr noundef @.str.1, i32 noundef 494, ptr noundef %10857, ptr noundef %10860, ptr noundef %10863, i32 noundef %10865) #10
  br label %10884

10867:                                            ; preds = %10845, %10838
  %10868 = load i32, ptr %228, align 4, !tbaa !5
  %10869 = call ptr @__errno_location() #11
  store i32 %10868, ptr %10869, align 4, !tbaa !5
  %10870 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10871 = load i32, ptr @test_count, align 4, !tbaa !5
  %10872 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10873 = load i32, ptr %10872, align 4, !tbaa !5
  %10874 = call ptr @s2n_strerror(i32 noundef %10873, ptr noundef @.str.4)
  %10875 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10876 = load i32, ptr %10875, align 4, !tbaa !5
  %10877 = call ptr @s2n_strerror_debug(i32 noundef %10876, ptr noundef @.str.4)
  %10878 = call ptr @__errno_location() #11
  %10879 = load i32, ptr %10878, align 4, !tbaa !5
  %10880 = call ptr @strerror(i32 noundef %10879) #10
  %10881 = call ptr @__errno_location() #11
  %10882 = load i32, ptr %10881, align 4, !tbaa !5
  %10883 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10870, ptr noundef @.str.5, i32 noundef %10871, ptr noundef @.str.8, ptr noundef @.str.1, i32 noundef 494, ptr noundef %10874, ptr noundef %10877, ptr noundef %10880, i32 noundef %10882) #10
  br label %10884

10884:                                            ; preds = %10867, %10850
  call void @llvm.lifetime.end.p0(i64 4, ptr %228) #10
  br label %10885

10885:                                            ; preds = %10884
  br label %10886

10886:                                            ; preds = %10885
  call void @exit(i32 noundef 1) #12
  unreachable

10887:                                            ; No predecessors!
  br label %10888

10888:                                            ; preds = %10887
  br label %10889

10889:                                            ; preds = %10888, %10831
  br label %10890

10890:                                            ; preds = %10889
  br label %10891

10891:                                            ; preds = %10890
  call void @llvm.lifetime.start.p0(i64 4, ptr %229) #10
  %10892 = load ptr, ptr %219, align 8, !tbaa !9
  %10893 = getelementptr inbounds %struct.s2n_connection, ptr %10892, i32 0, i32 52
  %10894 = getelementptr inbounds %struct.s2n_handshake, ptr %10893, i32 0, i32 0
  %10895 = getelementptr inbounds %struct.s2n_stuffer, ptr %10894, i32 0, i32 2
  %10896 = load i32, ptr %10895, align 4, !tbaa !58
  %10897 = load ptr, ptr %219, align 8, !tbaa !9
  %10898 = getelementptr inbounds %struct.s2n_connection, ptr %10897, i32 0, i32 52
  %10899 = getelementptr inbounds %struct.s2n_handshake, ptr %10898, i32 0, i32 0
  %10900 = getelementptr inbounds %struct.s2n_stuffer, ptr %10899, i32 0, i32 1
  %10901 = load i32, ptr %10900, align 8, !tbaa !59
  %10902 = sub i32 %10896, %10901
  store i32 %10902, ptr %229, align 4, !tbaa !5
  br label %10903

10903:                                            ; preds = %10891
  %10904 = load i32, ptr @test_count, align 4, !tbaa !5
  %10905 = add nsw i32 %10904, 1
  store i32 %10905, ptr @test_count, align 4, !tbaa !5
  %10906 = load ptr, ptr %219, align 8, !tbaa !9
  %10907 = getelementptr inbounds %struct.s2n_connection, ptr %10906, i32 0, i32 52
  %10908 = getelementptr inbounds %struct.s2n_handshake, ptr %10907, i32 0, i32 0
  %10909 = load ptr, ptr %217, align 8, !tbaa !9
  %10910 = getelementptr inbounds %struct.s2n_connection, ptr %10909, i32 0, i32 52
  %10911 = getelementptr inbounds %struct.s2n_handshake, ptr %10910, i32 0, i32 0
  %10912 = load i32, ptr %229, align 4, !tbaa !5
  %10913 = call i32 @s2n_stuffer_copy(ptr noundef %10908, ptr noundef %10911, i32 noundef %10912)
  %10914 = icmp eq i32 %10913, -1
  br i1 %10914, label %10915, label %10968

10915:                                            ; preds = %10903
  br label %10916

10916:                                            ; preds = %10915
  br label %10917

10917:                                            ; preds = %10916
  call void @llvm.lifetime.start.p0(i64 4, ptr %230) #10
  %10918 = call ptr @__errno_location() #11
  %10919 = load i32, ptr %10918, align 4, !tbaa !5
  store i32 %10919, ptr %230, align 4, !tbaa !5
  %10920 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10921 = call i32 @s2n_print_stacktrace(ptr noundef %10920)
  %10922 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10923 = trunc i8 %10922 to i1
  br i1 %10923, label %10924, label %10946

10924:                                            ; preds = %10917
  %10925 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10926 = call i32 @fileno(ptr noundef %10925) #10
  %10927 = call i32 @isatty(i32 noundef %10926) #10
  %10928 = icmp ne i32 %10927, 0
  br i1 %10928, label %10929, label %10946

10929:                                            ; preds = %10924
  %10930 = load i32, ptr %230, align 4, !tbaa !5
  %10931 = call ptr @__errno_location() #11
  store i32 %10930, ptr %10931, align 4, !tbaa !5
  %10932 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10933 = load i32, ptr @test_count, align 4, !tbaa !5
  %10934 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10935 = load i32, ptr %10934, align 4, !tbaa !5
  %10936 = call ptr @s2n_strerror(i32 noundef %10935, ptr noundef @.str.4)
  %10937 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10938 = load i32, ptr %10937, align 4, !tbaa !5
  %10939 = call ptr @s2n_strerror_debug(i32 noundef %10938, ptr noundef @.str.4)
  %10940 = call ptr @__errno_location() #11
  %10941 = load i32, ptr %10940, align 4, !tbaa !5
  %10942 = call ptr @strerror(i32 noundef %10941) #10
  %10943 = call ptr @__errno_location() #11
  %10944 = load i32, ptr %10943, align 4, !tbaa !5
  %10945 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10932, ptr noundef @.str.2, i32 noundef %10933, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 498, ptr noundef %10936, ptr noundef %10939, ptr noundef %10942, i32 noundef %10944) #10
  br label %10963

10946:                                            ; preds = %10924, %10917
  %10947 = load i32, ptr %230, align 4, !tbaa !5
  %10948 = call ptr @__errno_location() #11
  store i32 %10947, ptr %10948, align 4, !tbaa !5
  %10949 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10950 = load i32, ptr @test_count, align 4, !tbaa !5
  %10951 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10952 = load i32, ptr %10951, align 4, !tbaa !5
  %10953 = call ptr @s2n_strerror(i32 noundef %10952, ptr noundef @.str.4)
  %10954 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10955 = load i32, ptr %10954, align 4, !tbaa !5
  %10956 = call ptr @s2n_strerror_debug(i32 noundef %10955, ptr noundef @.str.4)
  %10957 = call ptr @__errno_location() #11
  %10958 = load i32, ptr %10957, align 4, !tbaa !5
  %10959 = call ptr @strerror(i32 noundef %10958) #10
  %10960 = call ptr @__errno_location() #11
  %10961 = load i32, ptr %10960, align 4, !tbaa !5
  %10962 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10949, ptr noundef @.str.5, i32 noundef %10950, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 498, ptr noundef %10953, ptr noundef %10956, ptr noundef %10959, i32 noundef %10961) #10
  br label %10963

10963:                                            ; preds = %10946, %10929
  call void @llvm.lifetime.end.p0(i64 4, ptr %230) #10
  br label %10964

10964:                                            ; preds = %10963
  br label %10965

10965:                                            ; preds = %10964
  call void @exit(i32 noundef 1) #12
  unreachable

10966:                                            ; No predecessors!
  br label %10967

10967:                                            ; preds = %10966
  br label %10968

10968:                                            ; preds = %10967, %10903
  br label %10969

10969:                                            ; preds = %10968
  br label %10970

10970:                                            ; preds = %10969
  call void @llvm.lifetime.start.p0(i64 8, ptr %231) #10
  %10971 = load ptr, ptr %217, align 8, !tbaa !9
  %10972 = getelementptr inbounds %struct.s2n_connection, ptr %10971, i32 0, i32 52
  %10973 = getelementptr inbounds %struct.s2n_handshake, ptr %10972, i32 0, i32 0
  store ptr %10973, ptr %231, align 8, !tbaa !9
  br label %10974

10974:                                            ; preds = %10970
  %10975 = load i32, ptr @test_count, align 4, !tbaa !5
  %10976 = add nsw i32 %10975, 1
  store i32 %10976, ptr @test_count, align 4, !tbaa !5
  %10977 = load ptr, ptr %217, align 8, !tbaa !9
  %10978 = call i32 @s2n_server_hello_recv(ptr noundef %10977)
  %10979 = icmp eq i32 %10978, -1
  br i1 %10979, label %10980, label %11033

10980:                                            ; preds = %10974
  br label %10981

10981:                                            ; preds = %10980
  br label %10982

10982:                                            ; preds = %10981
  call void @llvm.lifetime.start.p0(i64 4, ptr %232) #10
  %10983 = call ptr @__errno_location() #11
  %10984 = load i32, ptr %10983, align 4, !tbaa !5
  store i32 %10984, ptr %232, align 4, !tbaa !5
  %10985 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10986 = call i32 @s2n_print_stacktrace(ptr noundef %10985)
  %10987 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10988 = trunc i8 %10987 to i1
  br i1 %10988, label %10989, label %11011

10989:                                            ; preds = %10982
  %10990 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10991 = call i32 @fileno(ptr noundef %10990) #10
  %10992 = call i32 @isatty(i32 noundef %10991) #10
  %10993 = icmp ne i32 %10992, 0
  br i1 %10993, label %10994, label %11011

10994:                                            ; preds = %10989
  %10995 = load i32, ptr %232, align 4, !tbaa !5
  %10996 = call ptr @__errno_location() #11
  store i32 %10995, ptr %10996, align 4, !tbaa !5
  %10997 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10998 = load i32, ptr @test_count, align 4, !tbaa !5
  %10999 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11000 = load i32, ptr %10999, align 4, !tbaa !5
  %11001 = call ptr @s2n_strerror(i32 noundef %11000, ptr noundef @.str.4)
  %11002 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11003 = load i32, ptr %11002, align 4, !tbaa !5
  %11004 = call ptr @s2n_strerror_debug(i32 noundef %11003, ptr noundef @.str.4)
  %11005 = call ptr @__errno_location() #11
  %11006 = load i32, ptr %11005, align 4, !tbaa !5
  %11007 = call ptr @strerror(i32 noundef %11006) #10
  %11008 = call ptr @__errno_location() #11
  %11009 = load i32, ptr %11008, align 4, !tbaa !5
  %11010 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10997, ptr noundef @.str.2, i32 noundef %10998, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 502, ptr noundef %11001, ptr noundef %11004, ptr noundef %11007, i32 noundef %11009) #10
  br label %11028

11011:                                            ; preds = %10989, %10982
  %11012 = load i32, ptr %232, align 4, !tbaa !5
  %11013 = call ptr @__errno_location() #11
  store i32 %11012, ptr %11013, align 4, !tbaa !5
  %11014 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11015 = load i32, ptr @test_count, align 4, !tbaa !5
  %11016 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11017 = load i32, ptr %11016, align 4, !tbaa !5
  %11018 = call ptr @s2n_strerror(i32 noundef %11017, ptr noundef @.str.4)
  %11019 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11020 = load i32, ptr %11019, align 4, !tbaa !5
  %11021 = call ptr @s2n_strerror_debug(i32 noundef %11020, ptr noundef @.str.4)
  %11022 = call ptr @__errno_location() #11
  %11023 = load i32, ptr %11022, align 4, !tbaa !5
  %11024 = call ptr @strerror(i32 noundef %11023) #10
  %11025 = call ptr @__errno_location() #11
  %11026 = load i32, ptr %11025, align 4, !tbaa !5
  %11027 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11014, ptr noundef @.str.5, i32 noundef %11015, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 502, ptr noundef %11018, ptr noundef %11021, ptr noundef %11024, i32 noundef %11026) #10
  br label %11028

11028:                                            ; preds = %11011, %10994
  call void @llvm.lifetime.end.p0(i64 4, ptr %232) #10
  br label %11029

11029:                                            ; preds = %11028
  br label %11030

11030:                                            ; preds = %11029
  call void @exit(i32 noundef 1) #12
  unreachable

11031:                                            ; No predecessors!
  br label %11032

11032:                                            ; preds = %11031
  br label %11033

11033:                                            ; preds = %11032, %10974
  br label %11034

11034:                                            ; preds = %11033
  br label %11035

11035:                                            ; preds = %11034
  br label %11036

11036:                                            ; preds = %11035
  %11037 = load i32, ptr @test_count, align 4, !tbaa !5
  %11038 = add nsw i32 %11037, 1
  store i32 %11038, ptr @test_count, align 4, !tbaa !5
  %11039 = load ptr, ptr %231, align 8, !tbaa !9
  %11040 = getelementptr inbounds %struct.s2n_stuffer, ptr %11039, i32 0, i32 2
  %11041 = load i32, ptr %11040, align 4, !tbaa !45
  %11042 = load ptr, ptr %231, align 8, !tbaa !9
  %11043 = getelementptr inbounds %struct.s2n_stuffer, ptr %11042, i32 0, i32 1
  %11044 = load i32, ptr %11043, align 8, !tbaa !46
  %11045 = sub i32 %11041, %11044
  %11046 = icmp eq i32 %11045, 0
  br i1 %11046, label %11100, label %11047

11047:                                            ; preds = %11036
  br label %11048

11048:                                            ; preds = %11047
  br label %11049

11049:                                            ; preds = %11048
  call void @llvm.lifetime.start.p0(i64 4, ptr %233) #10
  %11050 = call ptr @__errno_location() #11
  %11051 = load i32, ptr %11050, align 4, !tbaa !5
  store i32 %11051, ptr %233, align 4, !tbaa !5
  %11052 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11053 = call i32 @s2n_print_stacktrace(ptr noundef %11052)
  %11054 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11055 = trunc i8 %11054 to i1
  br i1 %11055, label %11056, label %11078

11056:                                            ; preds = %11049
  %11057 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11058 = call i32 @fileno(ptr noundef %11057) #10
  %11059 = call i32 @isatty(i32 noundef %11058) #10
  %11060 = icmp ne i32 %11059, 0
  br i1 %11060, label %11061, label %11078

11061:                                            ; preds = %11056
  %11062 = load i32, ptr %233, align 4, !tbaa !5
  %11063 = call ptr @__errno_location() #11
  store i32 %11062, ptr %11063, align 4, !tbaa !5
  %11064 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11065 = load i32, ptr @test_count, align 4, !tbaa !5
  %11066 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11067 = load i32, ptr %11066, align 4, !tbaa !5
  %11068 = call ptr @s2n_strerror(i32 noundef %11067, ptr noundef @.str.4)
  %11069 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11070 = load i32, ptr %11069, align 4, !tbaa !5
  %11071 = call ptr @s2n_strerror_debug(i32 noundef %11070, ptr noundef @.str.4)
  %11072 = call ptr @__errno_location() #11
  %11073 = load i32, ptr %11072, align 4, !tbaa !5
  %11074 = call ptr @strerror(i32 noundef %11073) #10
  %11075 = call ptr @__errno_location() #11
  %11076 = load i32, ptr %11075, align 4, !tbaa !5
  %11077 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11064, ptr noundef @.str.2, i32 noundef %11065, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 504, ptr noundef %11068, ptr noundef %11071, ptr noundef %11074, i32 noundef %11076) #10
  br label %11095

11078:                                            ; preds = %11056, %11049
  %11079 = load i32, ptr %233, align 4, !tbaa !5
  %11080 = call ptr @__errno_location() #11
  store i32 %11079, ptr %11080, align 4, !tbaa !5
  %11081 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11082 = load i32, ptr @test_count, align 4, !tbaa !5
  %11083 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11084 = load i32, ptr %11083, align 4, !tbaa !5
  %11085 = call ptr @s2n_strerror(i32 noundef %11084, ptr noundef @.str.4)
  %11086 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11087 = load i32, ptr %11086, align 4, !tbaa !5
  %11088 = call ptr @s2n_strerror_debug(i32 noundef %11087, ptr noundef @.str.4)
  %11089 = call ptr @__errno_location() #11
  %11090 = load i32, ptr %11089, align 4, !tbaa !5
  %11091 = call ptr @strerror(i32 noundef %11090) #10
  %11092 = call ptr @__errno_location() #11
  %11093 = load i32, ptr %11092, align 4, !tbaa !5
  %11094 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11081, ptr noundef @.str.5, i32 noundef %11082, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 504, ptr noundef %11085, ptr noundef %11088, ptr noundef %11091, i32 noundef %11093) #10
  br label %11095

11095:                                            ; preds = %11078, %11061
  call void @llvm.lifetime.end.p0(i64 4, ptr %233) #10
  br label %11096

11096:                                            ; preds = %11095
  br label %11097

11097:                                            ; preds = %11096
  call void @exit(i32 noundef 1) #12
  unreachable

11098:                                            ; No predecessors!
  br label %11099

11099:                                            ; preds = %11098
  br label %11100

11100:                                            ; preds = %11099, %11036
  br label %11101

11101:                                            ; preds = %11100
  br label %11102

11102:                                            ; preds = %11101
  br label %11103

11103:                                            ; preds = %11102
  %11104 = load i32, ptr @test_count, align 4, !tbaa !5
  %11105 = add nsw i32 %11104, 1
  store i32 %11105, ptr @test_count, align 4, !tbaa !5
  %11106 = load ptr, ptr %216, align 8, !tbaa !9
  %11107 = call i32 @s2n_config_free(ptr noundef %11106)
  %11108 = icmp eq i32 %11107, -1
  br i1 %11108, label %11109, label %11162

11109:                                            ; preds = %11103
  br label %11110

11110:                                            ; preds = %11109
  br label %11111

11111:                                            ; preds = %11110
  call void @llvm.lifetime.start.p0(i64 4, ptr %234) #10
  %11112 = call ptr @__errno_location() #11
  %11113 = load i32, ptr %11112, align 4, !tbaa !5
  store i32 %11113, ptr %234, align 4, !tbaa !5
  %11114 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11115 = call i32 @s2n_print_stacktrace(ptr noundef %11114)
  %11116 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11117 = trunc i8 %11116 to i1
  br i1 %11117, label %11118, label %11140

11118:                                            ; preds = %11111
  %11119 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11120 = call i32 @fileno(ptr noundef %11119) #10
  %11121 = call i32 @isatty(i32 noundef %11120) #10
  %11122 = icmp ne i32 %11121, 0
  br i1 %11122, label %11123, label %11140

11123:                                            ; preds = %11118
  %11124 = load i32, ptr %234, align 4, !tbaa !5
  %11125 = call ptr @__errno_location() #11
  store i32 %11124, ptr %11125, align 4, !tbaa !5
  %11126 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11127 = load i32, ptr @test_count, align 4, !tbaa !5
  %11128 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11129 = load i32, ptr %11128, align 4, !tbaa !5
  %11130 = call ptr @s2n_strerror(i32 noundef %11129, ptr noundef @.str.4)
  %11131 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11132 = load i32, ptr %11131, align 4, !tbaa !5
  %11133 = call ptr @s2n_strerror_debug(i32 noundef %11132, ptr noundef @.str.4)
  %11134 = call ptr @__errno_location() #11
  %11135 = load i32, ptr %11134, align 4, !tbaa !5
  %11136 = call ptr @strerror(i32 noundef %11135) #10
  %11137 = call ptr @__errno_location() #11
  %11138 = load i32, ptr %11137, align 4, !tbaa !5
  %11139 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11126, ptr noundef @.str.2, i32 noundef %11127, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 506, ptr noundef %11130, ptr noundef %11133, ptr noundef %11136, i32 noundef %11138) #10
  br label %11157

11140:                                            ; preds = %11118, %11111
  %11141 = load i32, ptr %234, align 4, !tbaa !5
  %11142 = call ptr @__errno_location() #11
  store i32 %11141, ptr %11142, align 4, !tbaa !5
  %11143 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11144 = load i32, ptr @test_count, align 4, !tbaa !5
  %11145 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11146 = load i32, ptr %11145, align 4, !tbaa !5
  %11147 = call ptr @s2n_strerror(i32 noundef %11146, ptr noundef @.str.4)
  %11148 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11149 = load i32, ptr %11148, align 4, !tbaa !5
  %11150 = call ptr @s2n_strerror_debug(i32 noundef %11149, ptr noundef @.str.4)
  %11151 = call ptr @__errno_location() #11
  %11152 = load i32, ptr %11151, align 4, !tbaa !5
  %11153 = call ptr @strerror(i32 noundef %11152) #10
  %11154 = call ptr @__errno_location() #11
  %11155 = load i32, ptr %11154, align 4, !tbaa !5
  %11156 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11143, ptr noundef @.str.5, i32 noundef %11144, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 506, ptr noundef %11147, ptr noundef %11150, ptr noundef %11153, i32 noundef %11155) #10
  br label %11157

11157:                                            ; preds = %11140, %11123
  call void @llvm.lifetime.end.p0(i64 4, ptr %234) #10
  br label %11158

11158:                                            ; preds = %11157
  br label %11159

11159:                                            ; preds = %11158
  call void @exit(i32 noundef 1) #12
  unreachable

11160:                                            ; No predecessors!
  br label %11161

11161:                                            ; preds = %11160
  br label %11162

11162:                                            ; preds = %11161, %11103
  br label %11163

11163:                                            ; preds = %11162
  br label %11164

11164:                                            ; preds = %11163
  br label %11165

11165:                                            ; preds = %11164
  %11166 = load i32, ptr @test_count, align 4, !tbaa !5
  %11167 = add nsw i32 %11166, 1
  store i32 %11167, ptr @test_count, align 4, !tbaa !5
  %11168 = load ptr, ptr %218, align 8, !tbaa !9
  %11169 = call i32 @s2n_config_free(ptr noundef %11168)
  %11170 = icmp eq i32 %11169, -1
  br i1 %11170, label %11171, label %11224

11171:                                            ; preds = %11165
  br label %11172

11172:                                            ; preds = %11171
  br label %11173

11173:                                            ; preds = %11172
  call void @llvm.lifetime.start.p0(i64 4, ptr %235) #10
  %11174 = call ptr @__errno_location() #11
  %11175 = load i32, ptr %11174, align 4, !tbaa !5
  store i32 %11175, ptr %235, align 4, !tbaa !5
  %11176 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11177 = call i32 @s2n_print_stacktrace(ptr noundef %11176)
  %11178 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11179 = trunc i8 %11178 to i1
  br i1 %11179, label %11180, label %11202

11180:                                            ; preds = %11173
  %11181 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11182 = call i32 @fileno(ptr noundef %11181) #10
  %11183 = call i32 @isatty(i32 noundef %11182) #10
  %11184 = icmp ne i32 %11183, 0
  br i1 %11184, label %11185, label %11202

11185:                                            ; preds = %11180
  %11186 = load i32, ptr %235, align 4, !tbaa !5
  %11187 = call ptr @__errno_location() #11
  store i32 %11186, ptr %11187, align 4, !tbaa !5
  %11188 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11189 = load i32, ptr @test_count, align 4, !tbaa !5
  %11190 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11191 = load i32, ptr %11190, align 4, !tbaa !5
  %11192 = call ptr @s2n_strerror(i32 noundef %11191, ptr noundef @.str.4)
  %11193 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11194 = load i32, ptr %11193, align 4, !tbaa !5
  %11195 = call ptr @s2n_strerror_debug(i32 noundef %11194, ptr noundef @.str.4)
  %11196 = call ptr @__errno_location() #11
  %11197 = load i32, ptr %11196, align 4, !tbaa !5
  %11198 = call ptr @strerror(i32 noundef %11197) #10
  %11199 = call ptr @__errno_location() #11
  %11200 = load i32, ptr %11199, align 4, !tbaa !5
  %11201 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11188, ptr noundef @.str.2, i32 noundef %11189, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 507, ptr noundef %11192, ptr noundef %11195, ptr noundef %11198, i32 noundef %11200) #10
  br label %11219

11202:                                            ; preds = %11180, %11173
  %11203 = load i32, ptr %235, align 4, !tbaa !5
  %11204 = call ptr @__errno_location() #11
  store i32 %11203, ptr %11204, align 4, !tbaa !5
  %11205 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11206 = load i32, ptr @test_count, align 4, !tbaa !5
  %11207 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11208 = load i32, ptr %11207, align 4, !tbaa !5
  %11209 = call ptr @s2n_strerror(i32 noundef %11208, ptr noundef @.str.4)
  %11210 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11211 = load i32, ptr %11210, align 4, !tbaa !5
  %11212 = call ptr @s2n_strerror_debug(i32 noundef %11211, ptr noundef @.str.4)
  %11213 = call ptr @__errno_location() #11
  %11214 = load i32, ptr %11213, align 4, !tbaa !5
  %11215 = call ptr @strerror(i32 noundef %11214) #10
  %11216 = call ptr @__errno_location() #11
  %11217 = load i32, ptr %11216, align 4, !tbaa !5
  %11218 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11205, ptr noundef @.str.5, i32 noundef %11206, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 507, ptr noundef %11209, ptr noundef %11212, ptr noundef %11215, i32 noundef %11217) #10
  br label %11219

11219:                                            ; preds = %11202, %11185
  call void @llvm.lifetime.end.p0(i64 4, ptr %235) #10
  br label %11220

11220:                                            ; preds = %11219
  br label %11221

11221:                                            ; preds = %11220
  call void @exit(i32 noundef 1) #12
  unreachable

11222:                                            ; No predecessors!
  br label %11223

11223:                                            ; preds = %11222
  br label %11224

11224:                                            ; preds = %11223, %11165
  br label %11225

11225:                                            ; preds = %11224
  br label %11226

11226:                                            ; preds = %11225
  br label %11227

11227:                                            ; preds = %11226
  %11228 = load i32, ptr @test_count, align 4, !tbaa !5
  %11229 = add nsw i32 %11228, 1
  store i32 %11229, ptr @test_count, align 4, !tbaa !5
  %11230 = load ptr, ptr %217, align 8, !tbaa !9
  %11231 = call i32 @s2n_connection_free(ptr noundef %11230)
  %11232 = icmp eq i32 %11231, -1
  br i1 %11232, label %11233, label %11286

11233:                                            ; preds = %11227
  br label %11234

11234:                                            ; preds = %11233
  br label %11235

11235:                                            ; preds = %11234
  call void @llvm.lifetime.start.p0(i64 4, ptr %236) #10
  %11236 = call ptr @__errno_location() #11
  %11237 = load i32, ptr %11236, align 4, !tbaa !5
  store i32 %11237, ptr %236, align 4, !tbaa !5
  %11238 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11239 = call i32 @s2n_print_stacktrace(ptr noundef %11238)
  %11240 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11241 = trunc i8 %11240 to i1
  br i1 %11241, label %11242, label %11264

11242:                                            ; preds = %11235
  %11243 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11244 = call i32 @fileno(ptr noundef %11243) #10
  %11245 = call i32 @isatty(i32 noundef %11244) #10
  %11246 = icmp ne i32 %11245, 0
  br i1 %11246, label %11247, label %11264

11247:                                            ; preds = %11242
  %11248 = load i32, ptr %236, align 4, !tbaa !5
  %11249 = call ptr @__errno_location() #11
  store i32 %11248, ptr %11249, align 4, !tbaa !5
  %11250 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11251 = load i32, ptr @test_count, align 4, !tbaa !5
  %11252 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11253 = load i32, ptr %11252, align 4, !tbaa !5
  %11254 = call ptr @s2n_strerror(i32 noundef %11253, ptr noundef @.str.4)
  %11255 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11256 = load i32, ptr %11255, align 4, !tbaa !5
  %11257 = call ptr @s2n_strerror_debug(i32 noundef %11256, ptr noundef @.str.4)
  %11258 = call ptr @__errno_location() #11
  %11259 = load i32, ptr %11258, align 4, !tbaa !5
  %11260 = call ptr @strerror(i32 noundef %11259) #10
  %11261 = call ptr @__errno_location() #11
  %11262 = load i32, ptr %11261, align 4, !tbaa !5
  %11263 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11250, ptr noundef @.str.2, i32 noundef %11251, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 508, ptr noundef %11254, ptr noundef %11257, ptr noundef %11260, i32 noundef %11262) #10
  br label %11281

11264:                                            ; preds = %11242, %11235
  %11265 = load i32, ptr %236, align 4, !tbaa !5
  %11266 = call ptr @__errno_location() #11
  store i32 %11265, ptr %11266, align 4, !tbaa !5
  %11267 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11268 = load i32, ptr @test_count, align 4, !tbaa !5
  %11269 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11270 = load i32, ptr %11269, align 4, !tbaa !5
  %11271 = call ptr @s2n_strerror(i32 noundef %11270, ptr noundef @.str.4)
  %11272 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11273 = load i32, ptr %11272, align 4, !tbaa !5
  %11274 = call ptr @s2n_strerror_debug(i32 noundef %11273, ptr noundef @.str.4)
  %11275 = call ptr @__errno_location() #11
  %11276 = load i32, ptr %11275, align 4, !tbaa !5
  %11277 = call ptr @strerror(i32 noundef %11276) #10
  %11278 = call ptr @__errno_location() #11
  %11279 = load i32, ptr %11278, align 4, !tbaa !5
  %11280 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11267, ptr noundef @.str.5, i32 noundef %11268, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 508, ptr noundef %11271, ptr noundef %11274, ptr noundef %11277, i32 noundef %11279) #10
  br label %11281

11281:                                            ; preds = %11264, %11247
  call void @llvm.lifetime.end.p0(i64 4, ptr %236) #10
  br label %11282

11282:                                            ; preds = %11281
  br label %11283

11283:                                            ; preds = %11282
  call void @exit(i32 noundef 1) #12
  unreachable

11284:                                            ; No predecessors!
  br label %11285

11285:                                            ; preds = %11284
  br label %11286

11286:                                            ; preds = %11285, %11227
  br label %11287

11287:                                            ; preds = %11286
  br label %11288

11288:                                            ; preds = %11287
  br label %11289

11289:                                            ; preds = %11288
  %11290 = load i32, ptr @test_count, align 4, !tbaa !5
  %11291 = add nsw i32 %11290, 1
  store i32 %11291, ptr @test_count, align 4, !tbaa !5
  %11292 = load ptr, ptr %219, align 8, !tbaa !9
  %11293 = call i32 @s2n_connection_free(ptr noundef %11292)
  %11294 = icmp eq i32 %11293, -1
  br i1 %11294, label %11295, label %11348

11295:                                            ; preds = %11289
  br label %11296

11296:                                            ; preds = %11295
  br label %11297

11297:                                            ; preds = %11296
  call void @llvm.lifetime.start.p0(i64 4, ptr %237) #10
  %11298 = call ptr @__errno_location() #11
  %11299 = load i32, ptr %11298, align 4, !tbaa !5
  store i32 %11299, ptr %237, align 4, !tbaa !5
  %11300 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11301 = call i32 @s2n_print_stacktrace(ptr noundef %11300)
  %11302 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11303 = trunc i8 %11302 to i1
  br i1 %11303, label %11304, label %11326

11304:                                            ; preds = %11297
  %11305 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11306 = call i32 @fileno(ptr noundef %11305) #10
  %11307 = call i32 @isatty(i32 noundef %11306) #10
  %11308 = icmp ne i32 %11307, 0
  br i1 %11308, label %11309, label %11326

11309:                                            ; preds = %11304
  %11310 = load i32, ptr %237, align 4, !tbaa !5
  %11311 = call ptr @__errno_location() #11
  store i32 %11310, ptr %11311, align 4, !tbaa !5
  %11312 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11313 = load i32, ptr @test_count, align 4, !tbaa !5
  %11314 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11315 = load i32, ptr %11314, align 4, !tbaa !5
  %11316 = call ptr @s2n_strerror(i32 noundef %11315, ptr noundef @.str.4)
  %11317 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11318 = load i32, ptr %11317, align 4, !tbaa !5
  %11319 = call ptr @s2n_strerror_debug(i32 noundef %11318, ptr noundef @.str.4)
  %11320 = call ptr @__errno_location() #11
  %11321 = load i32, ptr %11320, align 4, !tbaa !5
  %11322 = call ptr @strerror(i32 noundef %11321) #10
  %11323 = call ptr @__errno_location() #11
  %11324 = load i32, ptr %11323, align 4, !tbaa !5
  %11325 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11312, ptr noundef @.str.2, i32 noundef %11313, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 509, ptr noundef %11316, ptr noundef %11319, ptr noundef %11322, i32 noundef %11324) #10
  br label %11343

11326:                                            ; preds = %11304, %11297
  %11327 = load i32, ptr %237, align 4, !tbaa !5
  %11328 = call ptr @__errno_location() #11
  store i32 %11327, ptr %11328, align 4, !tbaa !5
  %11329 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11330 = load i32, ptr @test_count, align 4, !tbaa !5
  %11331 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11332 = load i32, ptr %11331, align 4, !tbaa !5
  %11333 = call ptr @s2n_strerror(i32 noundef %11332, ptr noundef @.str.4)
  %11334 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11335 = load i32, ptr %11334, align 4, !tbaa !5
  %11336 = call ptr @s2n_strerror_debug(i32 noundef %11335, ptr noundef @.str.4)
  %11337 = call ptr @__errno_location() #11
  %11338 = load i32, ptr %11337, align 4, !tbaa !5
  %11339 = call ptr @strerror(i32 noundef %11338) #10
  %11340 = call ptr @__errno_location() #11
  %11341 = load i32, ptr %11340, align 4, !tbaa !5
  %11342 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11329, ptr noundef @.str.5, i32 noundef %11330, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 509, ptr noundef %11333, ptr noundef %11336, ptr noundef %11339, i32 noundef %11341) #10
  br label %11343

11343:                                            ; preds = %11326, %11309
  call void @llvm.lifetime.end.p0(i64 4, ptr %237) #10
  br label %11344

11344:                                            ; preds = %11343
  br label %11345

11345:                                            ; preds = %11344
  call void @exit(i32 noundef 1) #12
  unreachable

11346:                                            ; No predecessors!
  br label %11347

11347:                                            ; preds = %11346
  br label %11348

11348:                                            ; preds = %11347, %11289
  br label %11349

11349:                                            ; preds = %11348
  br label %11350

11350:                                            ; preds = %11349
  call void @llvm.lifetime.end.p0(i64 8, ptr %231) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %229) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %219) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %218) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %217) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %216) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %238) #10
  store ptr null, ptr %238, align 8, !tbaa !9
  br label %11351

11351:                                            ; preds = %11350
  %11352 = load i32, ptr @test_count, align 4, !tbaa !5
  %11353 = add nsw i32 %11352, 1
  store i32 %11353, ptr @test_count, align 4, !tbaa !5
  %11354 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %11354, ptr %238, align 8, !tbaa !9
  %11355 = icmp eq ptr %11354, null
  br i1 %11355, label %11356, label %11409

11356:                                            ; preds = %11351
  br label %11357

11357:                                            ; preds = %11356
  br label %11358

11358:                                            ; preds = %11357
  call void @llvm.lifetime.start.p0(i64 4, ptr %239) #10
  %11359 = call ptr @__errno_location() #11
  %11360 = load i32, ptr %11359, align 4, !tbaa !5
  store i32 %11360, ptr %239, align 4, !tbaa !5
  %11361 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11362 = call i32 @s2n_print_stacktrace(ptr noundef %11361)
  %11363 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11364 = trunc i8 %11363 to i1
  br i1 %11364, label %11365, label %11387

11365:                                            ; preds = %11358
  %11366 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11367 = call i32 @fileno(ptr noundef %11366) #10
  %11368 = call i32 @isatty(i32 noundef %11367) #10
  %11369 = icmp ne i32 %11368, 0
  br i1 %11369, label %11370, label %11387

11370:                                            ; preds = %11365
  %11371 = load i32, ptr %239, align 4, !tbaa !5
  %11372 = call ptr @__errno_location() #11
  store i32 %11371, ptr %11372, align 4, !tbaa !5
  %11373 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11374 = load i32, ptr @test_count, align 4, !tbaa !5
  %11375 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11376 = load i32, ptr %11375, align 4, !tbaa !5
  %11377 = call ptr @s2n_strerror(i32 noundef %11376, ptr noundef @.str.4)
  %11378 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11379 = load i32, ptr %11378, align 4, !tbaa !5
  %11380 = call ptr @s2n_strerror_debug(i32 noundef %11379, ptr noundef @.str.4)
  %11381 = call ptr @__errno_location() #11
  %11382 = load i32, ptr %11381, align 4, !tbaa !5
  %11383 = call ptr @strerror(i32 noundef %11382) #10
  %11384 = call ptr @__errno_location() #11
  %11385 = load i32, ptr %11384, align 4, !tbaa !5
  %11386 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11373, ptr noundef @.str.2, i32 noundef %11374, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 515, ptr noundef %11377, ptr noundef %11380, ptr noundef %11383, i32 noundef %11385) #10
  br label %11404

11387:                                            ; preds = %11365, %11358
  %11388 = load i32, ptr %239, align 4, !tbaa !5
  %11389 = call ptr @__errno_location() #11
  store i32 %11388, ptr %11389, align 4, !tbaa !5
  %11390 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11391 = load i32, ptr @test_count, align 4, !tbaa !5
  %11392 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11393 = load i32, ptr %11392, align 4, !tbaa !5
  %11394 = call ptr @s2n_strerror(i32 noundef %11393, ptr noundef @.str.4)
  %11395 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11396 = load i32, ptr %11395, align 4, !tbaa !5
  %11397 = call ptr @s2n_strerror_debug(i32 noundef %11396, ptr noundef @.str.4)
  %11398 = call ptr @__errno_location() #11
  %11399 = load i32, ptr %11398, align 4, !tbaa !5
  %11400 = call ptr @strerror(i32 noundef %11399) #10
  %11401 = call ptr @__errno_location() #11
  %11402 = load i32, ptr %11401, align 4, !tbaa !5
  %11403 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11390, ptr noundef @.str.5, i32 noundef %11391, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 515, ptr noundef %11394, ptr noundef %11397, ptr noundef %11400, i32 noundef %11402) #10
  br label %11404

11404:                                            ; preds = %11387, %11370
  call void @llvm.lifetime.end.p0(i64 4, ptr %239) #10
  br label %11405

11405:                                            ; preds = %11404
  br label %11406

11406:                                            ; preds = %11405
  call void @exit(i32 noundef 1) #12
  unreachable

11407:                                            ; No predecessors!
  br label %11408

11408:                                            ; preds = %11407
  br label %11409

11409:                                            ; preds = %11408, %11351
  br label %11410

11410:                                            ; preds = %11409
  br label %11411

11411:                                            ; preds = %11410
  call void @llvm.lifetime.start.p0(i64 8, ptr %240) #10
  %11412 = load ptr, ptr %238, align 8, !tbaa !9
  %11413 = getelementptr inbounds %struct.s2n_connection, ptr %11412, i32 0, i32 52
  %11414 = getelementptr inbounds %struct.s2n_handshake, ptr %11413, i32 0, i32 0
  store ptr %11414, ptr %240, align 8, !tbaa !9
  %11415 = load ptr, ptr %238, align 8, !tbaa !9
  %11416 = getelementptr inbounds %struct.s2n_connection, ptr %11415, i32 0, i32 22
  store i8 34, ptr %11416, align 1, !tbaa !64
  br label %11417

11417:                                            ; preds = %11411
  %11418 = load i32, ptr @test_count, align 4, !tbaa !5
  %11419 = add nsw i32 %11418, 1
  store i32 %11419, ptr @test_count, align 4, !tbaa !5
  %11420 = load ptr, ptr %240, align 8, !tbaa !9
  %11421 = call i32 @s2n_stuffer_write_uint8(ptr noundef %11420, i8 noundef zeroext 3)
  %11422 = icmp eq i32 %11421, -1
  br i1 %11422, label %11423, label %11476

11423:                                            ; preds = %11417
  br label %11424

11424:                                            ; preds = %11423
  br label %11425

11425:                                            ; preds = %11424
  call void @llvm.lifetime.start.p0(i64 4, ptr %241) #10
  %11426 = call ptr @__errno_location() #11
  %11427 = load i32, ptr %11426, align 4, !tbaa !5
  store i32 %11427, ptr %241, align 4, !tbaa !5
  %11428 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11429 = call i32 @s2n_print_stacktrace(ptr noundef %11428)
  %11430 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11431 = trunc i8 %11430 to i1
  br i1 %11431, label %11432, label %11454

11432:                                            ; preds = %11425
  %11433 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11434 = call i32 @fileno(ptr noundef %11433) #10
  %11435 = call i32 @isatty(i32 noundef %11434) #10
  %11436 = icmp ne i32 %11435, 0
  br i1 %11436, label %11437, label %11454

11437:                                            ; preds = %11432
  %11438 = load i32, ptr %241, align 4, !tbaa !5
  %11439 = call ptr @__errno_location() #11
  store i32 %11438, ptr %11439, align 4, !tbaa !5
  %11440 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11441 = load i32, ptr @test_count, align 4, !tbaa !5
  %11442 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11443 = load i32, ptr %11442, align 4, !tbaa !5
  %11444 = call ptr @s2n_strerror(i32 noundef %11443, ptr noundef @.str.4)
  %11445 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11446 = load i32, ptr %11445, align 4, !tbaa !5
  %11447 = call ptr @s2n_strerror_debug(i32 noundef %11446, ptr noundef @.str.4)
  %11448 = call ptr @__errno_location() #11
  %11449 = load i32, ptr %11448, align 4, !tbaa !5
  %11450 = call ptr @strerror(i32 noundef %11449) #10
  %11451 = call ptr @__errno_location() #11
  %11452 = load i32, ptr %11451, align 4, !tbaa !5
  %11453 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11440, ptr noundef @.str.2, i32 noundef %11441, ptr noundef @.str.45, ptr noundef @.str.1, i32 noundef 520, ptr noundef %11444, ptr noundef %11447, ptr noundef %11450, i32 noundef %11452) #10
  br label %11471

11454:                                            ; preds = %11432, %11425
  %11455 = load i32, ptr %241, align 4, !tbaa !5
  %11456 = call ptr @__errno_location() #11
  store i32 %11455, ptr %11456, align 4, !tbaa !5
  %11457 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11458 = load i32, ptr @test_count, align 4, !tbaa !5
  %11459 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11460 = load i32, ptr %11459, align 4, !tbaa !5
  %11461 = call ptr @s2n_strerror(i32 noundef %11460, ptr noundef @.str.4)
  %11462 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11463 = load i32, ptr %11462, align 4, !tbaa !5
  %11464 = call ptr @s2n_strerror_debug(i32 noundef %11463, ptr noundef @.str.4)
  %11465 = call ptr @__errno_location() #11
  %11466 = load i32, ptr %11465, align 4, !tbaa !5
  %11467 = call ptr @strerror(i32 noundef %11466) #10
  %11468 = call ptr @__errno_location() #11
  %11469 = load i32, ptr %11468, align 4, !tbaa !5
  %11470 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11457, ptr noundef @.str.5, i32 noundef %11458, ptr noundef @.str.45, ptr noundef @.str.1, i32 noundef 520, ptr noundef %11461, ptr noundef %11464, ptr noundef %11467, i32 noundef %11469) #10
  br label %11471

11471:                                            ; preds = %11454, %11437
  call void @llvm.lifetime.end.p0(i64 4, ptr %241) #10
  br label %11472

11472:                                            ; preds = %11471
  br label %11473

11473:                                            ; preds = %11472
  call void @exit(i32 noundef 1) #12
  unreachable

11474:                                            ; No predecessors!
  br label %11475

11475:                                            ; preds = %11474
  br label %11476

11476:                                            ; preds = %11475, %11417
  br label %11477

11477:                                            ; preds = %11476
  br label %11478

11478:                                            ; preds = %11477
  br label %11479

11479:                                            ; preds = %11478
  %11480 = load i32, ptr @test_count, align 4, !tbaa !5
  %11481 = add nsw i32 %11480, 1
  store i32 %11481, ptr @test_count, align 4, !tbaa !5
  %11482 = load ptr, ptr %240, align 8, !tbaa !9
  %11483 = call i32 @s2n_stuffer_write_uint8(ptr noundef %11482, i8 noundef zeroext 3)
  %11484 = icmp eq i32 %11483, -1
  br i1 %11484, label %11485, label %11538

11485:                                            ; preds = %11479
  br label %11486

11486:                                            ; preds = %11485
  br label %11487

11487:                                            ; preds = %11486
  call void @llvm.lifetime.start.p0(i64 4, ptr %242) #10
  %11488 = call ptr @__errno_location() #11
  %11489 = load i32, ptr %11488, align 4, !tbaa !5
  store i32 %11489, ptr %242, align 4, !tbaa !5
  %11490 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11491 = call i32 @s2n_print_stacktrace(ptr noundef %11490)
  %11492 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11493 = trunc i8 %11492 to i1
  br i1 %11493, label %11494, label %11516

11494:                                            ; preds = %11487
  %11495 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11496 = call i32 @fileno(ptr noundef %11495) #10
  %11497 = call i32 @isatty(i32 noundef %11496) #10
  %11498 = icmp ne i32 %11497, 0
  br i1 %11498, label %11499, label %11516

11499:                                            ; preds = %11494
  %11500 = load i32, ptr %242, align 4, !tbaa !5
  %11501 = call ptr @__errno_location() #11
  store i32 %11500, ptr %11501, align 4, !tbaa !5
  %11502 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11503 = load i32, ptr @test_count, align 4, !tbaa !5
  %11504 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11505 = load i32, ptr %11504, align 4, !tbaa !5
  %11506 = call ptr @s2n_strerror(i32 noundef %11505, ptr noundef @.str.4)
  %11507 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11508 = load i32, ptr %11507, align 4, !tbaa !5
  %11509 = call ptr @s2n_strerror_debug(i32 noundef %11508, ptr noundef @.str.4)
  %11510 = call ptr @__errno_location() #11
  %11511 = load i32, ptr %11510, align 4, !tbaa !5
  %11512 = call ptr @strerror(i32 noundef %11511) #10
  %11513 = call ptr @__errno_location() #11
  %11514 = load i32, ptr %11513, align 4, !tbaa !5
  %11515 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11502, ptr noundef @.str.2, i32 noundef %11503, ptr noundef @.str.46, ptr noundef @.str.1, i32 noundef 521, ptr noundef %11506, ptr noundef %11509, ptr noundef %11512, i32 noundef %11514) #10
  br label %11533

11516:                                            ; preds = %11494, %11487
  %11517 = load i32, ptr %242, align 4, !tbaa !5
  %11518 = call ptr @__errno_location() #11
  store i32 %11517, ptr %11518, align 4, !tbaa !5
  %11519 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11520 = load i32, ptr @test_count, align 4, !tbaa !5
  %11521 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11522 = load i32, ptr %11521, align 4, !tbaa !5
  %11523 = call ptr @s2n_strerror(i32 noundef %11522, ptr noundef @.str.4)
  %11524 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11525 = load i32, ptr %11524, align 4, !tbaa !5
  %11526 = call ptr @s2n_strerror_debug(i32 noundef %11525, ptr noundef @.str.4)
  %11527 = call ptr @__errno_location() #11
  %11528 = load i32, ptr %11527, align 4, !tbaa !5
  %11529 = call ptr @strerror(i32 noundef %11528) #10
  %11530 = call ptr @__errno_location() #11
  %11531 = load i32, ptr %11530, align 4, !tbaa !5
  %11532 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11519, ptr noundef @.str.5, i32 noundef %11520, ptr noundef @.str.46, ptr noundef @.str.1, i32 noundef 521, ptr noundef %11523, ptr noundef %11526, ptr noundef %11529, i32 noundef %11531) #10
  br label %11533

11533:                                            ; preds = %11516, %11499
  call void @llvm.lifetime.end.p0(i64 4, ptr %242) #10
  br label %11534

11534:                                            ; preds = %11533
  br label %11535

11535:                                            ; preds = %11534
  call void @exit(i32 noundef 1) #12
  unreachable

11536:                                            ; No predecessors!
  br label %11537

11537:                                            ; preds = %11536
  br label %11538

11538:                                            ; preds = %11537, %11479
  br label %11539

11539:                                            ; preds = %11538
  br label %11540

11540:                                            ; preds = %11539
  call void @llvm.lifetime.start.p0(i64 32, ptr %243) #10
  call void @llvm.memset.p0.i64(ptr align 16 %243, i8 0, i64 32, i1 false)
  call void @llvm.lifetime.start.p0(i64 24, ptr %244) #10
  call void @llvm.memset.p0.i64(ptr align 8 %244, i8 0, i64 24, i1 false)
  br label %11541

11541:                                            ; preds = %11540
  %11542 = call i32 @s2n_blob_alloc_from_hex_with_whitespace(ptr noundef %244, ptr noundef @hello_retry_random_hex)
  %11543 = getelementptr inbounds %struct.s2n_result, ptr %245, i32 0, i32 0
  store i32 %11542, ptr %11543, align 4
  %11544 = getelementptr inbounds %struct.s2n_result, ptr %245, i32 0, i32 0
  %11545 = load i32, ptr %11544, align 4
  %11546 = call zeroext i1 @s2n_result_is_ok(i32 %11545)
  br i1 %11546, label %11548, label %11547

11547:                                            ; preds = %11541
  store i32 -1, ptr %3, align 4
  store i32 1, ptr %209, align 4
  br label %11988

11548:                                            ; preds = %11541
  br label %11549

11549:                                            ; preds = %11548
  br label %11550

11550:                                            ; preds = %11549
  br label %11551

11551:                                            ; preds = %11550
  %11552 = load i32, ptr @test_count, align 4, !tbaa !5
  %11553 = add nsw i32 %11552, 1
  store i32 %11553, ptr @test_count, align 4, !tbaa !5
  %11554 = load ptr, ptr %240, align 8, !tbaa !9
  %11555 = getelementptr inbounds %struct.s2n_blob, ptr %244, i32 0, i32 0
  %11556 = load ptr, ptr %11555, align 8, !tbaa !68
  %11557 = call i32 @s2n_stuffer_write_bytes(ptr noundef %11554, ptr noundef %11556, i32 noundef 32)
  %11558 = icmp eq i32 %11557, -1
  br i1 %11558, label %11559, label %11612

11559:                                            ; preds = %11551
  br label %11560

11560:                                            ; preds = %11559
  br label %11561

11561:                                            ; preds = %11560
  call void @llvm.lifetime.start.p0(i64 4, ptr %246) #10
  %11562 = call ptr @__errno_location() #11
  %11563 = load i32, ptr %11562, align 4, !tbaa !5
  store i32 %11563, ptr %246, align 4, !tbaa !5
  %11564 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11565 = call i32 @s2n_print_stacktrace(ptr noundef %11564)
  %11566 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11567 = trunc i8 %11566 to i1
  br i1 %11567, label %11568, label %11590

11568:                                            ; preds = %11561
  %11569 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11570 = call i32 @fileno(ptr noundef %11569) #10
  %11571 = call i32 @isatty(i32 noundef %11570) #10
  %11572 = icmp ne i32 %11571, 0
  br i1 %11572, label %11573, label %11590

11573:                                            ; preds = %11568
  %11574 = load i32, ptr %246, align 4, !tbaa !5
  %11575 = call ptr @__errno_location() #11
  store i32 %11574, ptr %11575, align 4, !tbaa !5
  %11576 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11577 = load i32, ptr @test_count, align 4, !tbaa !5
  %11578 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11579 = load i32, ptr %11578, align 4, !tbaa !5
  %11580 = call ptr @s2n_strerror(i32 noundef %11579, ptr noundef @.str.4)
  %11581 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11582 = load i32, ptr %11581, align 4, !tbaa !5
  %11583 = call ptr @s2n_strerror_debug(i32 noundef %11582, ptr noundef @.str.4)
  %11584 = call ptr @__errno_location() #11
  %11585 = load i32, ptr %11584, align 4, !tbaa !5
  %11586 = call ptr @strerror(i32 noundef %11585) #10
  %11587 = call ptr @__errno_location() #11
  %11588 = load i32, ptr %11587, align 4, !tbaa !5
  %11589 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11576, ptr noundef @.str.2, i32 noundef %11577, ptr noundef @.str.58, ptr noundef @.str.1, i32 noundef 527, ptr noundef %11580, ptr noundef %11583, ptr noundef %11586, i32 noundef %11588) #10
  br label %11607

11590:                                            ; preds = %11568, %11561
  %11591 = load i32, ptr %246, align 4, !tbaa !5
  %11592 = call ptr @__errno_location() #11
  store i32 %11591, ptr %11592, align 4, !tbaa !5
  %11593 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11594 = load i32, ptr @test_count, align 4, !tbaa !5
  %11595 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11596 = load i32, ptr %11595, align 4, !tbaa !5
  %11597 = call ptr @s2n_strerror(i32 noundef %11596, ptr noundef @.str.4)
  %11598 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11599 = load i32, ptr %11598, align 4, !tbaa !5
  %11600 = call ptr @s2n_strerror_debug(i32 noundef %11599, ptr noundef @.str.4)
  %11601 = call ptr @__errno_location() #11
  %11602 = load i32, ptr %11601, align 4, !tbaa !5
  %11603 = call ptr @strerror(i32 noundef %11602) #10
  %11604 = call ptr @__errno_location() #11
  %11605 = load i32, ptr %11604, align 4, !tbaa !5
  %11606 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11593, ptr noundef @.str.5, i32 noundef %11594, ptr noundef @.str.58, ptr noundef @.str.1, i32 noundef 527, ptr noundef %11597, ptr noundef %11600, ptr noundef %11603, i32 noundef %11605) #10
  br label %11607

11607:                                            ; preds = %11590, %11573
  call void @llvm.lifetime.end.p0(i64 4, ptr %246) #10
  br label %11608

11608:                                            ; preds = %11607
  br label %11609

11609:                                            ; preds = %11608
  call void @exit(i32 noundef 1) #12
  unreachable

11610:                                            ; No predecessors!
  br label %11611

11611:                                            ; preds = %11610
  br label %11612

11612:                                            ; preds = %11611, %11551
  br label %11613

11613:                                            ; preds = %11612
  br label %11614

11614:                                            ; preds = %11613
  br label %11615

11615:                                            ; preds = %11614
  %11616 = load i32, ptr @test_count, align 4, !tbaa !5
  %11617 = add nsw i32 %11616, 1
  store i32 %11617, ptr @test_count, align 4, !tbaa !5
  %11618 = load ptr, ptr %240, align 8, !tbaa !9
  %11619 = call i32 @s2n_stuffer_write_uint8(ptr noundef %11618, i8 noundef zeroext 32)
  %11620 = icmp eq i32 %11619, -1
  br i1 %11620, label %11621, label %11674

11621:                                            ; preds = %11615
  br label %11622

11622:                                            ; preds = %11621
  br label %11623

11623:                                            ; preds = %11622
  call void @llvm.lifetime.start.p0(i64 4, ptr %247) #10
  %11624 = call ptr @__errno_location() #11
  %11625 = load i32, ptr %11624, align 4, !tbaa !5
  store i32 %11625, ptr %247, align 4, !tbaa !5
  %11626 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11627 = call i32 @s2n_print_stacktrace(ptr noundef %11626)
  %11628 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11629 = trunc i8 %11628 to i1
  br i1 %11629, label %11630, label %11652

11630:                                            ; preds = %11623
  %11631 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11632 = call i32 @fileno(ptr noundef %11631) #10
  %11633 = call i32 @isatty(i32 noundef %11632) #10
  %11634 = icmp ne i32 %11633, 0
  br i1 %11634, label %11635, label %11652

11635:                                            ; preds = %11630
  %11636 = load i32, ptr %247, align 4, !tbaa !5
  %11637 = call ptr @__errno_location() #11
  store i32 %11636, ptr %11637, align 4, !tbaa !5
  %11638 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11639 = load i32, ptr @test_count, align 4, !tbaa !5
  %11640 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11641 = load i32, ptr %11640, align 4, !tbaa !5
  %11642 = call ptr @s2n_strerror(i32 noundef %11641, ptr noundef @.str.4)
  %11643 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11644 = load i32, ptr %11643, align 4, !tbaa !5
  %11645 = call ptr @s2n_strerror_debug(i32 noundef %11644, ptr noundef @.str.4)
  %11646 = call ptr @__errno_location() #11
  %11647 = load i32, ptr %11646, align 4, !tbaa !5
  %11648 = call ptr @strerror(i32 noundef %11647) #10
  %11649 = call ptr @__errno_location() #11
  %11650 = load i32, ptr %11649, align 4, !tbaa !5
  %11651 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11638, ptr noundef @.str.2, i32 noundef %11639, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 530, ptr noundef %11642, ptr noundef %11645, ptr noundef %11648, i32 noundef %11650) #10
  br label %11669

11652:                                            ; preds = %11630, %11623
  %11653 = load i32, ptr %247, align 4, !tbaa !5
  %11654 = call ptr @__errno_location() #11
  store i32 %11653, ptr %11654, align 4, !tbaa !5
  %11655 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11656 = load i32, ptr @test_count, align 4, !tbaa !5
  %11657 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11658 = load i32, ptr %11657, align 4, !tbaa !5
  %11659 = call ptr @s2n_strerror(i32 noundef %11658, ptr noundef @.str.4)
  %11660 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11661 = load i32, ptr %11660, align 4, !tbaa !5
  %11662 = call ptr @s2n_strerror_debug(i32 noundef %11661, ptr noundef @.str.4)
  %11663 = call ptr @__errno_location() #11
  %11664 = load i32, ptr %11663, align 4, !tbaa !5
  %11665 = call ptr @strerror(i32 noundef %11664) #10
  %11666 = call ptr @__errno_location() #11
  %11667 = load i32, ptr %11666, align 4, !tbaa !5
  %11668 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11655, ptr noundef @.str.5, i32 noundef %11656, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 530, ptr noundef %11659, ptr noundef %11662, ptr noundef %11665, i32 noundef %11667) #10
  br label %11669

11669:                                            ; preds = %11652, %11635
  call void @llvm.lifetime.end.p0(i64 4, ptr %247) #10
  br label %11670

11670:                                            ; preds = %11669
  br label %11671

11671:                                            ; preds = %11670
  call void @exit(i32 noundef 1) #12
  unreachable

11672:                                            ; No predecessors!
  br label %11673

11673:                                            ; preds = %11672
  br label %11674

11674:                                            ; preds = %11673, %11615
  br label %11675

11675:                                            ; preds = %11674
  br label %11676

11676:                                            ; preds = %11675
  br label %11677

11677:                                            ; preds = %11676
  %11678 = load i32, ptr @test_count, align 4, !tbaa !5
  %11679 = add nsw i32 %11678, 1
  store i32 %11679, ptr @test_count, align 4, !tbaa !5
  %11680 = load ptr, ptr %240, align 8, !tbaa !9
  %11681 = getelementptr inbounds [32 x i8], ptr %243, i64 0, i64 0
  %11682 = call i32 @s2n_stuffer_write_bytes(ptr noundef %11680, ptr noundef %11681, i32 noundef 32)
  %11683 = icmp eq i32 %11682, -1
  br i1 %11683, label %11684, label %11737

11684:                                            ; preds = %11677
  br label %11685

11685:                                            ; preds = %11684
  br label %11686

11686:                                            ; preds = %11685
  call void @llvm.lifetime.start.p0(i64 4, ptr %248) #10
  %11687 = call ptr @__errno_location() #11
  %11688 = load i32, ptr %11687, align 4, !tbaa !5
  store i32 %11688, ptr %248, align 4, !tbaa !5
  %11689 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11690 = call i32 @s2n_print_stacktrace(ptr noundef %11689)
  %11691 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11692 = trunc i8 %11691 to i1
  br i1 %11692, label %11693, label %11715

11693:                                            ; preds = %11686
  %11694 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11695 = call i32 @fileno(ptr noundef %11694) #10
  %11696 = call i32 @isatty(i32 noundef %11695) #10
  %11697 = icmp ne i32 %11696, 0
  br i1 %11697, label %11698, label %11715

11698:                                            ; preds = %11693
  %11699 = load i32, ptr %248, align 4, !tbaa !5
  %11700 = call ptr @__errno_location() #11
  store i32 %11699, ptr %11700, align 4, !tbaa !5
  %11701 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11702 = load i32, ptr @test_count, align 4, !tbaa !5
  %11703 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11704 = load i32, ptr %11703, align 4, !tbaa !5
  %11705 = call ptr @s2n_strerror(i32 noundef %11704, ptr noundef @.str.4)
  %11706 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11707 = load i32, ptr %11706, align 4, !tbaa !5
  %11708 = call ptr @s2n_strerror_debug(i32 noundef %11707, ptr noundef @.str.4)
  %11709 = call ptr @__errno_location() #11
  %11710 = load i32, ptr %11709, align 4, !tbaa !5
  %11711 = call ptr @strerror(i32 noundef %11710) #10
  %11712 = call ptr @__errno_location() #11
  %11713 = load i32, ptr %11712, align 4, !tbaa !5
  %11714 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11701, ptr noundef @.str.2, i32 noundef %11702, ptr noundef @.str.49, ptr noundef @.str.1, i32 noundef 531, ptr noundef %11705, ptr noundef %11708, ptr noundef %11711, i32 noundef %11713) #10
  br label %11732

11715:                                            ; preds = %11693, %11686
  %11716 = load i32, ptr %248, align 4, !tbaa !5
  %11717 = call ptr @__errno_location() #11
  store i32 %11716, ptr %11717, align 4, !tbaa !5
  %11718 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11719 = load i32, ptr @test_count, align 4, !tbaa !5
  %11720 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11721 = load i32, ptr %11720, align 4, !tbaa !5
  %11722 = call ptr @s2n_strerror(i32 noundef %11721, ptr noundef @.str.4)
  %11723 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11724 = load i32, ptr %11723, align 4, !tbaa !5
  %11725 = call ptr @s2n_strerror_debug(i32 noundef %11724, ptr noundef @.str.4)
  %11726 = call ptr @__errno_location() #11
  %11727 = load i32, ptr %11726, align 4, !tbaa !5
  %11728 = call ptr @strerror(i32 noundef %11727) #10
  %11729 = call ptr @__errno_location() #11
  %11730 = load i32, ptr %11729, align 4, !tbaa !5
  %11731 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11718, ptr noundef @.str.5, i32 noundef %11719, ptr noundef @.str.49, ptr noundef @.str.1, i32 noundef 531, ptr noundef %11722, ptr noundef %11725, ptr noundef %11728, i32 noundef %11730) #10
  br label %11732

11732:                                            ; preds = %11715, %11698
  call void @llvm.lifetime.end.p0(i64 4, ptr %248) #10
  br label %11733

11733:                                            ; preds = %11732
  br label %11734

11734:                                            ; preds = %11733
  call void @exit(i32 noundef 1) #12
  unreachable

11735:                                            ; No predecessors!
  br label %11736

11736:                                            ; preds = %11735
  br label %11737

11737:                                            ; preds = %11736, %11677
  br label %11738

11738:                                            ; preds = %11737
  br label %11739

11739:                                            ; preds = %11738
  br label %11740

11740:                                            ; preds = %11739
  %11741 = load i32, ptr @test_count, align 4, !tbaa !5
  %11742 = add nsw i32 %11741, 1
  store i32 %11742, ptr @test_count, align 4, !tbaa !5
  %11743 = load ptr, ptr %240, align 8, !tbaa !9
  %11744 = call i32 @s2n_stuffer_write_uint16(ptr noundef %11743, i16 noundef zeroext 4865)
  %11745 = icmp eq i32 %11744, -1
  br i1 %11745, label %11746, label %11799

11746:                                            ; preds = %11740
  br label %11747

11747:                                            ; preds = %11746
  br label %11748

11748:                                            ; preds = %11747
  call void @llvm.lifetime.start.p0(i64 4, ptr %249) #10
  %11749 = call ptr @__errno_location() #11
  %11750 = load i32, ptr %11749, align 4, !tbaa !5
  store i32 %11750, ptr %249, align 4, !tbaa !5
  %11751 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11752 = call i32 @s2n_print_stacktrace(ptr noundef %11751)
  %11753 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11754 = trunc i8 %11753 to i1
  br i1 %11754, label %11755, label %11777

11755:                                            ; preds = %11748
  %11756 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11757 = call i32 @fileno(ptr noundef %11756) #10
  %11758 = call i32 @isatty(i32 noundef %11757) #10
  %11759 = icmp ne i32 %11758, 0
  br i1 %11759, label %11760, label %11777

11760:                                            ; preds = %11755
  %11761 = load i32, ptr %249, align 4, !tbaa !5
  %11762 = call ptr @__errno_location() #11
  store i32 %11761, ptr %11762, align 4, !tbaa !5
  %11763 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11764 = load i32, ptr @test_count, align 4, !tbaa !5
  %11765 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11766 = load i32, ptr %11765, align 4, !tbaa !5
  %11767 = call ptr @s2n_strerror(i32 noundef %11766, ptr noundef @.str.4)
  %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_debug(i32 noundef %11769, ptr noundef @.str.4)
  %11771 = call ptr @__errno_location() #11
  %11772 = load i32, ptr %11771, align 4, !tbaa !5
  %11773 = call ptr @strerror(i32 noundef %11772) #10
  %11774 = call ptr @__errno_location() #11
  %11775 = load i32, ptr %11774, align 4, !tbaa !5
  %11776 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11763, ptr noundef @.str.2, i32 noundef %11764, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 534, ptr noundef %11767, ptr noundef %11770, ptr noundef %11773, i32 noundef %11775) #10
  br label %11794

11777:                                            ; preds = %11755, %11748
  %11778 = load i32, ptr %249, align 4, !tbaa !5
  %11779 = call ptr @__errno_location() #11
  store i32 %11778, ptr %11779, align 4, !tbaa !5
  %11780 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11781 = load i32, ptr @test_count, align 4, !tbaa !5
  %11782 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11783 = load i32, ptr %11782, align 4, !tbaa !5
  %11784 = call ptr @s2n_strerror(i32 noundef %11783, ptr noundef @.str.4)
  %11785 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11786 = load i32, ptr %11785, align 4, !tbaa !5
  %11787 = call ptr @s2n_strerror_debug(i32 noundef %11786, ptr noundef @.str.4)
  %11788 = call ptr @__errno_location() #11
  %11789 = load i32, ptr %11788, align 4, !tbaa !5
  %11790 = call ptr @strerror(i32 noundef %11789) #10
  %11791 = call ptr @__errno_location() #11
  %11792 = load i32, ptr %11791, align 4, !tbaa !5
  %11793 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11780, ptr noundef @.str.5, i32 noundef %11781, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 534, ptr noundef %11784, ptr noundef %11787, ptr noundef %11790, i32 noundef %11792) #10
  br label %11794

11794:                                            ; preds = %11777, %11760
  call void @llvm.lifetime.end.p0(i64 4, ptr %249) #10
  br label %11795

11795:                                            ; preds = %11794
  br label %11796

11796:                                            ; preds = %11795
  call void @exit(i32 noundef 1) #12
  unreachable

11797:                                            ; No predecessors!
  br label %11798

11798:                                            ; preds = %11797
  br label %11799

11799:                                            ; preds = %11798, %11740
  br label %11800

11800:                                            ; preds = %11799
  br label %11801

11801:                                            ; preds = %11800
  br label %11802

11802:                                            ; preds = %11801
  %11803 = load i32, ptr @test_count, align 4, !tbaa !5
  %11804 = add nsw i32 %11803, 1
  store i32 %11804, ptr @test_count, align 4, !tbaa !5
  %11805 = load ptr, ptr %240, align 8, !tbaa !9
  %11806 = call i32 @s2n_stuffer_write_uint8(ptr noundef %11805, i8 noundef zeroext 0)
  %11807 = icmp eq i32 %11806, -1
  br i1 %11807, label %11808, label %11861

11808:                                            ; preds = %11802
  br label %11809

11809:                                            ; preds = %11808
  br label %11810

11810:                                            ; preds = %11809
  call void @llvm.lifetime.start.p0(i64 4, ptr %250) #10
  %11811 = call ptr @__errno_location() #11
  %11812 = load i32, ptr %11811, align 4, !tbaa !5
  store i32 %11812, ptr %250, align 4, !tbaa !5
  %11813 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11814 = call i32 @s2n_print_stacktrace(ptr noundef %11813)
  %11815 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11816 = trunc i8 %11815 to i1
  br i1 %11816, label %11817, label %11839

11817:                                            ; preds = %11810
  %11818 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11819 = call i32 @fileno(ptr noundef %11818) #10
  %11820 = call i32 @isatty(i32 noundef %11819) #10
  %11821 = icmp ne i32 %11820, 0
  br i1 %11821, label %11822, label %11839

11822:                                            ; preds = %11817
  %11823 = load i32, ptr %250, align 4, !tbaa !5
  %11824 = call ptr @__errno_location() #11
  store i32 %11823, ptr %11824, align 4, !tbaa !5
  %11825 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11826 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %11828, ptr noundef @.str.4)
  %11830 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11831 = load i32, ptr %11830, align 4, !tbaa !5
  %11832 = call ptr @s2n_strerror_debug(i32 noundef %11831, ptr noundef @.str.4)
  %11833 = call ptr @__errno_location() #11
  %11834 = load i32, ptr %11833, align 4, !tbaa !5
  %11835 = call ptr @strerror(i32 noundef %11834) #10
  %11836 = call ptr @__errno_location() #11
  %11837 = load i32, ptr %11836, align 4, !tbaa !5
  %11838 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11825, ptr noundef @.str.2, i32 noundef %11826, ptr noundef @.str.51, ptr noundef @.str.1, i32 noundef 537, ptr noundef %11829, ptr noundef %11832, ptr noundef %11835, i32 noundef %11837) #10
  br label %11856

11839:                                            ; preds = %11817, %11810
  %11840 = load i32, ptr %250, align 4, !tbaa !5
  %11841 = call ptr @__errno_location() #11
  store i32 %11840, ptr %11841, align 4, !tbaa !5
  %11842 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11843 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %11845, ptr noundef @.str.4)
  %11847 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11848 = load i32, ptr %11847, align 4, !tbaa !5
  %11849 = call ptr @s2n_strerror_debug(i32 noundef %11848, ptr noundef @.str.4)
  %11850 = call ptr @__errno_location() #11
  %11851 = load i32, ptr %11850, align 4, !tbaa !5
  %11852 = call ptr @strerror(i32 noundef %11851) #10
  %11853 = call ptr @__errno_location() #11
  %11854 = load i32, ptr %11853, align 4, !tbaa !5
  %11855 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11842, ptr noundef @.str.5, i32 noundef %11843, ptr noundef @.str.51, ptr noundef @.str.1, i32 noundef 537, ptr noundef %11846, ptr noundef %11849, ptr noundef %11852, i32 noundef %11854) #10
  br label %11856

11856:                                            ; preds = %11839, %11822
  call void @llvm.lifetime.end.p0(i64 4, ptr %250) #10
  br label %11857

11857:                                            ; preds = %11856
  br label %11858

11858:                                            ; preds = %11857
  call void @exit(i32 noundef 1) #12
  unreachable

11859:                                            ; No predecessors!
  br label %11860

11860:                                            ; preds = %11859
  br label %11861

11861:                                            ; preds = %11860, %11802
  br label %11862

11862:                                            ; preds = %11861
  br label %11863

11863:                                            ; preds = %11862
  br label %11864

11864:                                            ; preds = %11863
  %11865 = load i32, ptr @test_count, align 4, !tbaa !5
  %11866 = add nsw i32 %11865, 1
  store i32 %11866, ptr @test_count, align 4, !tbaa !5
  %11867 = getelementptr inbounds %struct.s2n_blob, ptr %244, i32 0, i32 1
  %11868 = load i32, ptr %11867, align 8, !tbaa !69
  %11869 = icmp eq i32 32, %11868
  br i1 %11869, label %11923, label %11870

11870:                                            ; preds = %11864
  br label %11871

11871:                                            ; preds = %11870
  br label %11872

11872:                                            ; preds = %11871
  call void @llvm.lifetime.start.p0(i64 4, ptr %251) #10
  %11873 = call ptr @__errno_location() #11
  %11874 = load i32, ptr %11873, align 4, !tbaa !5
  store i32 %11874, ptr %251, align 4, !tbaa !5
  %11875 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11876 = call i32 @s2n_print_stacktrace(ptr noundef %11875)
  %11877 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11878 = trunc i8 %11877 to i1
  br i1 %11878, label %11879, label %11901

11879:                                            ; preds = %11872
  %11880 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11881 = call i32 @fileno(ptr noundef %11880) #10
  %11882 = call i32 @isatty(i32 noundef %11881) #10
  %11883 = icmp ne i32 %11882, 0
  br i1 %11883, label %11884, label %11901

11884:                                            ; preds = %11879
  %11885 = load i32, ptr %251, align 4, !tbaa !5
  %11886 = call ptr @__errno_location() #11
  store i32 %11885, ptr %11886, align 4, !tbaa !5
  %11887 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11888 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %11890, ptr noundef @.str.4)
  %11892 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11893 = load i32, ptr %11892, align 4, !tbaa !5
  %11894 = call ptr @s2n_strerror_debug(i32 noundef %11893, ptr noundef @.str.4)
  %11895 = call ptr @__errno_location() #11
  %11896 = load i32, ptr %11895, align 4, !tbaa !5
  %11897 = call ptr @strerror(i32 noundef %11896) #10
  %11898 = call ptr @__errno_location() #11
  %11899 = load i32, ptr %11898, align 4, !tbaa !5
  %11900 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11887, ptr noundef @.str.2, i32 noundef %11888, ptr noundef @.str.59, ptr noundef @.str.1, i32 noundef 538, ptr noundef %11891, ptr noundef %11894, ptr noundef %11897, i32 noundef %11899) #10
  br label %11918

11901:                                            ; preds = %11879, %11872
  %11902 = load i32, ptr %251, align 4, !tbaa !5
  %11903 = call ptr @__errno_location() #11
  store i32 %11902, ptr %11903, align 4, !tbaa !5
  %11904 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11905 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %11907, ptr noundef @.str.4)
  %11909 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11910 = load i32, ptr %11909, align 4, !tbaa !5
  %11911 = call ptr @s2n_strerror_debug(i32 noundef %11910, ptr noundef @.str.4)
  %11912 = call ptr @__errno_location() #11
  %11913 = load i32, ptr %11912, align 4, !tbaa !5
  %11914 = call ptr @strerror(i32 noundef %11913) #10
  %11915 = call ptr @__errno_location() #11
  %11916 = load i32, ptr %11915, align 4, !tbaa !5
  %11917 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11904, ptr noundef @.str.5, i32 noundef %11905, ptr noundef @.str.59, ptr noundef @.str.1, i32 noundef 538, ptr noundef %11908, ptr noundef %11911, ptr noundef %11914, i32 noundef %11916) #10
  br label %11918

11918:                                            ; preds = %11901, %11884
  call void @llvm.lifetime.end.p0(i64 4, ptr %251) #10
  br label %11919

11919:                                            ; preds = %11918
  br label %11920

11920:                                            ; preds = %11919
  call void @exit(i32 noundef 1) #12
  unreachable

11921:                                            ; No predecessors!
  br label %11922

11922:                                            ; preds = %11921
  br label %11923

11923:                                            ; preds = %11922, %11864
  br label %11924

11924:                                            ; preds = %11923
  br label %11925

11925:                                            ; preds = %11924
  br label %11926

11926:                                            ; preds = %11925
  %11927 = load i32, ptr @test_count, align 4, !tbaa !5
  %11928 = add nsw i32 %11927, 1
  store i32 %11928, ptr @test_count, align 4, !tbaa !5
  %11929 = load ptr, ptr %238, align 8, !tbaa !9
  %11930 = call i32 @s2n_connection_free(ptr noundef %11929)
  %11931 = icmp eq i32 %11930, -1
  br i1 %11931, label %11932, label %11985

11932:                                            ; preds = %11926
  br label %11933

11933:                                            ; preds = %11932
  br label %11934

11934:                                            ; preds = %11933
  call void @llvm.lifetime.start.p0(i64 4, ptr %252) #10
  %11935 = call ptr @__errno_location() #11
  %11936 = load i32, ptr %11935, align 4, !tbaa !5
  store i32 %11936, ptr %252, align 4, !tbaa !5
  %11937 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11938 = call i32 @s2n_print_stacktrace(ptr noundef %11937)
  %11939 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11940 = trunc i8 %11939 to i1
  br i1 %11940, label %11941, label %11963

11941:                                            ; preds = %11934
  %11942 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11943 = call i32 @fileno(ptr noundef %11942) #10
  %11944 = call i32 @isatty(i32 noundef %11943) #10
  %11945 = icmp ne i32 %11944, 0
  br i1 %11945, label %11946, label %11963

11946:                                            ; preds = %11941
  %11947 = load i32, ptr %252, align 4, !tbaa !5
  %11948 = call ptr @__errno_location() #11
  store i32 %11947, ptr %11948, align 4, !tbaa !5
  %11949 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11950 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %11952, ptr noundef @.str.4)
  %11954 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11955 = load i32, ptr %11954, align 4, !tbaa !5
  %11956 = call ptr @s2n_strerror_debug(i32 noundef %11955, ptr noundef @.str.4)
  %11957 = call ptr @__errno_location() #11
  %11958 = load i32, ptr %11957, align 4, !tbaa !5
  %11959 = call ptr @strerror(i32 noundef %11958) #10
  %11960 = call ptr @__errno_location() #11
  %11961 = load i32, ptr %11960, align 4, !tbaa !5
  %11962 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11949, ptr noundef @.str.2, i32 noundef %11950, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 540, ptr noundef %11953, ptr noundef %11956, ptr noundef %11959, i32 noundef %11961) #10
  br label %11980

11963:                                            ; preds = %11941, %11934
  %11964 = load i32, ptr %252, align 4, !tbaa !5
  %11965 = call ptr @__errno_location() #11
  store i32 %11964, ptr %11965, align 4, !tbaa !5
  %11966 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11967 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %11969, ptr noundef @.str.4)
  %11971 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11972 = load i32, ptr %11971, align 4, !tbaa !5
  %11973 = call ptr @s2n_strerror_debug(i32 noundef %11972, ptr noundef @.str.4)
  %11974 = call ptr @__errno_location() #11
  %11975 = load i32, ptr %11974, align 4, !tbaa !5
  %11976 = call ptr @strerror(i32 noundef %11975) #10
  %11977 = call ptr @__errno_location() #11
  %11978 = load i32, ptr %11977, align 4, !tbaa !5
  %11979 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11966, ptr noundef @.str.5, i32 noundef %11967, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 540, ptr noundef %11970, ptr noundef %11973, ptr noundef %11976, i32 noundef %11978) #10
  br label %11980

11980:                                            ; preds = %11963, %11946
  call void @llvm.lifetime.end.p0(i64 4, ptr %252) #10
  br label %11981

11981:                                            ; preds = %11980
  br label %11982

11982:                                            ; preds = %11981
  call void @exit(i32 noundef 1) #12
  unreachable

11983:                                            ; No predecessors!
  br label %11984

11984:                                            ; preds = %11983
  br label %11985

11985:                                            ; preds = %11984, %11926
  br label %11986

11986:                                            ; preds = %11985
  br label %11987

11987:                                            ; preds = %11986
  store i32 0, ptr %209, align 4
  br label %11988

11988:                                            ; preds = %11987, %11547
  %11989 = call i32 @s2n_free(ptr noundef %244)
  call void @llvm.lifetime.end.p0(i64 24, ptr %244) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %243) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %240) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %238) #10
  %11990 = load i32, ptr %209, align 4
  switch i32 %11990, label %16834 [
    i32 0, label %11991
  ]

11991:                                            ; preds = %11988
  %11992 = call zeroext i1 (...) @s2n_is_tls13_fully_supported()
  br i1 %11992, label %11993, label %14052

11993:                                            ; preds = %11991
  br label %11994

11994:                                            ; preds = %11993
  %11995 = load i32, ptr @test_count, align 4, !tbaa !5
  %11996 = add nsw i32 %11995, 1
  store i32 %11996, ptr @test_count, align 4, !tbaa !5
  %11997 = call i32 (...) @s2n_reset_tls13_in_test()
  %11998 = icmp eq i32 %11997, -1
  br i1 %11998, label %11999, label %12052

11999:                                            ; preds = %11994
  br label %12000

12000:                                            ; preds = %11999
  br label %12001

12001:                                            ; preds = %12000
  call void @llvm.lifetime.start.p0(i64 4, ptr %253) #10
  %12002 = call ptr @__errno_location() #11
  %12003 = load i32, ptr %12002, align 4, !tbaa !5
  store i32 %12003, ptr %253, align 4, !tbaa !5
  %12004 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12005 = call i32 @s2n_print_stacktrace(ptr noundef %12004)
  %12006 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12007 = trunc i8 %12006 to i1
  br i1 %12007, label %12008, label %12030

12008:                                            ; preds = %12001
  %12009 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12010 = call i32 @fileno(ptr noundef %12009) #10
  %12011 = call i32 @isatty(i32 noundef %12010) #10
  %12012 = icmp ne i32 %12011, 0
  br i1 %12012, label %12013, label %12030

12013:                                            ; preds = %12008
  %12014 = load i32, ptr %253, align 4, !tbaa !5
  %12015 = call ptr @__errno_location() #11
  store i32 %12014, ptr %12015, align 4, !tbaa !5
  %12016 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12017 = load i32, ptr @test_count, align 4, !tbaa !5
  %12018 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12019 = load i32, ptr %12018, align 4, !tbaa !5
  %12020 = call ptr @s2n_strerror(i32 noundef %12019, ptr noundef @.str.4)
  %12021 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12022 = load i32, ptr %12021, align 4, !tbaa !5
  %12023 = call ptr @s2n_strerror_debug(i32 noundef %12022, ptr noundef @.str.4)
  %12024 = call ptr @__errno_location() #11
  %12025 = load i32, ptr %12024, align 4, !tbaa !5
  %12026 = call ptr @strerror(i32 noundef %12025) #10
  %12027 = call ptr @__errno_location() #11
  %12028 = load i32, ptr %12027, align 4, !tbaa !5
  %12029 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12016, ptr noundef @.str.2, i32 noundef %12017, ptr noundef @.str.60, ptr noundef @.str.1, i32 noundef 545, ptr noundef %12020, ptr noundef %12023, ptr noundef %12026, i32 noundef %12028) #10
  br label %12047

12030:                                            ; preds = %12008, %12001
  %12031 = load i32, ptr %253, align 4, !tbaa !5
  %12032 = call ptr @__errno_location() #11
  store i32 %12031, ptr %12032, align 4, !tbaa !5
  %12033 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12034 = load i32, ptr @test_count, align 4, !tbaa !5
  %12035 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12036 = load i32, ptr %12035, align 4, !tbaa !5
  %12037 = call ptr @s2n_strerror(i32 noundef %12036, ptr noundef @.str.4)
  %12038 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12039 = load i32, ptr %12038, align 4, !tbaa !5
  %12040 = call ptr @s2n_strerror_debug(i32 noundef %12039, ptr noundef @.str.4)
  %12041 = call ptr @__errno_location() #11
  %12042 = load i32, ptr %12041, align 4, !tbaa !5
  %12043 = call ptr @strerror(i32 noundef %12042) #10
  %12044 = call ptr @__errno_location() #11
  %12045 = load i32, ptr %12044, align 4, !tbaa !5
  %12046 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12033, ptr noundef @.str.5, i32 noundef %12034, ptr noundef @.str.60, ptr noundef @.str.1, i32 noundef 545, ptr noundef %12037, ptr noundef %12040, ptr noundef %12043, i32 noundef %12045) #10
  br label %12047

12047:                                            ; preds = %12030, %12013
  call void @llvm.lifetime.end.p0(i64 4, ptr %253) #10
  br label %12048

12048:                                            ; preds = %12047
  br label %12049

12049:                                            ; preds = %12048
  call void @exit(i32 noundef 1) #12
  unreachable

12050:                                            ; No predecessors!
  br label %12051

12051:                                            ; preds = %12050
  br label %12052

12052:                                            ; preds = %12051, %11994
  br label %12053

12053:                                            ; preds = %12052
  br label %12054

12054:                                            ; preds = %12053
  call void @llvm.lifetime.start.p0(i64 8, ptr %254) #10
  %12055 = call ptr @s2n_config_new()
  store ptr %12055, ptr %254, align 8, !tbaa !9
  br label %12056

12056:                                            ; preds = %12054
  %12057 = load i32, ptr @test_count, align 4, !tbaa !5
  %12058 = add nsw i32 %12057, 1
  store i32 %12058, ptr @test_count, align 4, !tbaa !5
  %12059 = load ptr, ptr %254, align 8, !tbaa !9
  %12060 = call i32 @s2n_config_set_cipher_preferences(ptr noundef %12059, ptr noundef @.str.61)
  %12061 = icmp eq i32 %12060, -1
  br i1 %12061, label %12062, label %12115

12062:                                            ; preds = %12056
  br label %12063

12063:                                            ; preds = %12062
  br label %12064

12064:                                            ; preds = %12063
  call void @llvm.lifetime.start.p0(i64 4, ptr %255) #10
  %12065 = call ptr @__errno_location() #11
  %12066 = load i32, ptr %12065, align 4, !tbaa !5
  store i32 %12066, ptr %255, align 4, !tbaa !5
  %12067 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12068 = call i32 @s2n_print_stacktrace(ptr noundef %12067)
  %12069 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12070 = trunc i8 %12069 to i1
  br i1 %12070, label %12071, label %12093

12071:                                            ; preds = %12064
  %12072 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12073 = call i32 @fileno(ptr noundef %12072) #10
  %12074 = call i32 @isatty(i32 noundef %12073) #10
  %12075 = icmp ne i32 %12074, 0
  br i1 %12075, label %12076, label %12093

12076:                                            ; preds = %12071
  %12077 = load i32, ptr %255, align 4, !tbaa !5
  %12078 = call ptr @__errno_location() #11
  store i32 %12077, ptr %12078, align 4, !tbaa !5
  %12079 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12080 = load i32, ptr @test_count, align 4, !tbaa !5
  %12081 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12082 = load i32, ptr %12081, align 4, !tbaa !5
  %12083 = call ptr @s2n_strerror(i32 noundef %12082, ptr noundef @.str.4)
  %12084 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12085 = load i32, ptr %12084, align 4, !tbaa !5
  %12086 = call ptr @s2n_strerror_debug(i32 noundef %12085, ptr noundef @.str.4)
  %12087 = call ptr @__errno_location() #11
  %12088 = load i32, ptr %12087, align 4, !tbaa !5
  %12089 = call ptr @strerror(i32 noundef %12088) #10
  %12090 = call ptr @__errno_location() #11
  %12091 = load i32, ptr %12090, align 4, !tbaa !5
  %12092 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12079, ptr noundef @.str.2, i32 noundef %12080, ptr noundef @.str.62, ptr noundef @.str.1, i32 noundef 548, ptr noundef %12083, ptr noundef %12086, ptr noundef %12089, i32 noundef %12091) #10
  br label %12110

12093:                                            ; preds = %12071, %12064
  %12094 = load i32, ptr %255, align 4, !tbaa !5
  %12095 = call ptr @__errno_location() #11
  store i32 %12094, ptr %12095, align 4, !tbaa !5
  %12096 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12097 = load i32, ptr @test_count, align 4, !tbaa !5
  %12098 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12099 = load i32, ptr %12098, align 4, !tbaa !5
  %12100 = call ptr @s2n_strerror(i32 noundef %12099, ptr noundef @.str.4)
  %12101 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12102 = load i32, ptr %12101, align 4, !tbaa !5
  %12103 = call ptr @s2n_strerror_debug(i32 noundef %12102, ptr noundef @.str.4)
  %12104 = call ptr @__errno_location() #11
  %12105 = load i32, ptr %12104, align 4, !tbaa !5
  %12106 = call ptr @strerror(i32 noundef %12105) #10
  %12107 = call ptr @__errno_location() #11
  %12108 = load i32, ptr %12107, align 4, !tbaa !5
  %12109 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12096, ptr noundef @.str.5, i32 noundef %12097, ptr noundef @.str.62, ptr noundef @.str.1, i32 noundef 548, ptr noundef %12100, ptr noundef %12103, ptr noundef %12106, i32 noundef %12108) #10
  br label %12110

12110:                                            ; preds = %12093, %12076
  call void @llvm.lifetime.end.p0(i64 4, ptr %255) #10
  br label %12111

12111:                                            ; preds = %12110
  br label %12112

12112:                                            ; preds = %12111
  call void @exit(i32 noundef 1) #12
  unreachable

12113:                                            ; No predecessors!
  br label %12114

12114:                                            ; preds = %12113
  br label %12115

12115:                                            ; preds = %12114, %12056
  br label %12116

12116:                                            ; preds = %12115
  br label %12117

12117:                                            ; preds = %12116
  br label %12118

12118:                                            ; preds = %12117
  %12119 = load i32, ptr @test_count, align 4, !tbaa !5
  %12120 = add nsw i32 %12119, 1
  store i32 %12120, ptr @test_count, align 4, !tbaa !5
  %12121 = load ptr, ptr %254, align 8, !tbaa !9
  %12122 = load ptr, ptr %10, align 8, !tbaa !9
  %12123 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef %12121, ptr noundef %12122)
  %12124 = icmp eq i32 %12123, -1
  br i1 %12124, label %12125, label %12178

12125:                                            ; preds = %12118
  br label %12126

12126:                                            ; preds = %12125
  br label %12127

12127:                                            ; preds = %12126
  call void @llvm.lifetime.start.p0(i64 4, ptr %256) #10
  %12128 = call ptr @__errno_location() #11
  %12129 = load i32, ptr %12128, align 4, !tbaa !5
  store i32 %12129, ptr %256, align 4, !tbaa !5
  %12130 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12131 = call i32 @s2n_print_stacktrace(ptr noundef %12130)
  %12132 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12133 = trunc i8 %12132 to i1
  br i1 %12133, label %12134, label %12156

12134:                                            ; preds = %12127
  %12135 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12136 = call i32 @fileno(ptr noundef %12135) #10
  %12137 = call i32 @isatty(i32 noundef %12136) #10
  %12138 = icmp ne i32 %12137, 0
  br i1 %12138, label %12139, label %12156

12139:                                            ; preds = %12134
  %12140 = load i32, ptr %256, align 4, !tbaa !5
  %12141 = call ptr @__errno_location() #11
  store i32 %12140, ptr %12141, align 4, !tbaa !5
  %12142 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12143 = load i32, ptr @test_count, align 4, !tbaa !5
  %12144 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12145 = load i32, ptr %12144, align 4, !tbaa !5
  %12146 = call ptr @s2n_strerror(i32 noundef %12145, ptr noundef @.str.4)
  %12147 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12148 = load i32, ptr %12147, align 4, !tbaa !5
  %12149 = call ptr @s2n_strerror_debug(i32 noundef %12148, ptr noundef @.str.4)
  %12150 = call ptr @__errno_location() #11
  %12151 = load i32, ptr %12150, align 4, !tbaa !5
  %12152 = call ptr @strerror(i32 noundef %12151) #10
  %12153 = call ptr @__errno_location() #11
  %12154 = load i32, ptr %12153, align 4, !tbaa !5
  %12155 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12142, ptr noundef @.str.2, i32 noundef %12143, ptr noundef @.str.63, ptr noundef @.str.1, i32 noundef 549, ptr noundef %12146, ptr noundef %12149, ptr noundef %12152, i32 noundef %12154) #10
  br label %12173

12156:                                            ; preds = %12134, %12127
  %12157 = load i32, ptr %256, align 4, !tbaa !5
  %12158 = call ptr @__errno_location() #11
  store i32 %12157, ptr %12158, align 4, !tbaa !5
  %12159 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12160 = load i32, ptr @test_count, align 4, !tbaa !5
  %12161 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12162 = load i32, ptr %12161, align 4, !tbaa !5
  %12163 = call ptr @s2n_strerror(i32 noundef %12162, ptr noundef @.str.4)
  %12164 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12165 = load i32, ptr %12164, align 4, !tbaa !5
  %12166 = call ptr @s2n_strerror_debug(i32 noundef %12165, ptr noundef @.str.4)
  %12167 = call ptr @__errno_location() #11
  %12168 = load i32, ptr %12167, align 4, !tbaa !5
  %12169 = call ptr @strerror(i32 noundef %12168) #10
  %12170 = call ptr @__errno_location() #11
  %12171 = load i32, ptr %12170, align 4, !tbaa !5
  %12172 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12159, ptr noundef @.str.5, i32 noundef %12160, ptr noundef @.str.63, ptr noundef @.str.1, i32 noundef 549, ptr noundef %12163, ptr noundef %12166, ptr noundef %12169, i32 noundef %12171) #10
  br label %12173

12173:                                            ; preds = %12156, %12139
  call void @llvm.lifetime.end.p0(i64 4, ptr %256) #10
  br label %12174

12174:                                            ; preds = %12173
  br label %12175

12175:                                            ; preds = %12174
  call void @exit(i32 noundef 1) #12
  unreachable

12176:                                            ; No predecessors!
  br label %12177

12177:                                            ; preds = %12176
  br label %12178

12178:                                            ; preds = %12177, %12118
  br label %12179

12179:                                            ; preds = %12178
  br label %12180

12180:                                            ; preds = %12179
  br label %12181

12181:                                            ; preds = %12180
  %12182 = load i32, ptr @test_count, align 4, !tbaa !5
  %12183 = add nsw i32 %12182, 1
  store i32 %12183, ptr @test_count, align 4, !tbaa !5
  %12184 = load ptr, ptr %254, align 8, !tbaa !9
  %12185 = call i32 @s2n_config_enable_quic(ptr noundef %12184)
  %12186 = icmp eq i32 %12185, -1
  br i1 %12186, label %12187, label %12240

12187:                                            ; preds = %12181
  br label %12188

12188:                                            ; preds = %12187
  br label %12189

12189:                                            ; preds = %12188
  call void @llvm.lifetime.start.p0(i64 4, ptr %257) #10
  %12190 = call ptr @__errno_location() #11
  %12191 = load i32, ptr %12190, align 4, !tbaa !5
  store i32 %12191, ptr %257, align 4, !tbaa !5
  %12192 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12193 = call i32 @s2n_print_stacktrace(ptr noundef %12192)
  %12194 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12195 = trunc i8 %12194 to i1
  br i1 %12195, label %12196, label %12218

12196:                                            ; preds = %12189
  %12197 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12198 = call i32 @fileno(ptr noundef %12197) #10
  %12199 = call i32 @isatty(i32 noundef %12198) #10
  %12200 = icmp ne i32 %12199, 0
  br i1 %12200, label %12201, label %12218

12201:                                            ; preds = %12196
  %12202 = load i32, ptr %257, align 4, !tbaa !5
  %12203 = call ptr @__errno_location() #11
  store i32 %12202, ptr %12203, align 4, !tbaa !5
  %12204 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12205 = load i32, ptr @test_count, align 4, !tbaa !5
  %12206 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12207 = load i32, ptr %12206, align 4, !tbaa !5
  %12208 = call ptr @s2n_strerror(i32 noundef %12207, ptr noundef @.str.4)
  %12209 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12210 = load i32, ptr %12209, align 4, !tbaa !5
  %12211 = call ptr @s2n_strerror_debug(i32 noundef %12210, ptr noundef @.str.4)
  %12212 = call ptr @__errno_location() #11
  %12213 = load i32, ptr %12212, align 4, !tbaa !5
  %12214 = call ptr @strerror(i32 noundef %12213) #10
  %12215 = call ptr @__errno_location() #11
  %12216 = load i32, ptr %12215, align 4, !tbaa !5
  %12217 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12204, ptr noundef @.str.2, i32 noundef %12205, ptr noundef @.str.64, ptr noundef @.str.1, i32 noundef 550, ptr noundef %12208, ptr noundef %12211, ptr noundef %12214, i32 noundef %12216) #10
  br label %12235

12218:                                            ; preds = %12196, %12189
  %12219 = load i32, ptr %257, align 4, !tbaa !5
  %12220 = call ptr @__errno_location() #11
  store i32 %12219, ptr %12220, align 4, !tbaa !5
  %12221 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12222 = load i32, ptr @test_count, align 4, !tbaa !5
  %12223 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12224 = load i32, ptr %12223, align 4, !tbaa !5
  %12225 = call ptr @s2n_strerror(i32 noundef %12224, ptr noundef @.str.4)
  %12226 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12227 = load i32, ptr %12226, align 4, !tbaa !5
  %12228 = call ptr @s2n_strerror_debug(i32 noundef %12227, ptr noundef @.str.4)
  %12229 = call ptr @__errno_location() #11
  %12230 = load i32, ptr %12229, align 4, !tbaa !5
  %12231 = call ptr @strerror(i32 noundef %12230) #10
  %12232 = call ptr @__errno_location() #11
  %12233 = load i32, ptr %12232, align 4, !tbaa !5
  %12234 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12221, ptr noundef @.str.5, i32 noundef %12222, ptr noundef @.str.64, ptr noundef @.str.1, i32 noundef 550, ptr noundef %12225, ptr noundef %12228, ptr noundef %12231, i32 noundef %12233) #10
  br label %12235

12235:                                            ; preds = %12218, %12201
  call void @llvm.lifetime.end.p0(i64 4, ptr %257) #10
  br label %12236

12236:                                            ; preds = %12235
  br label %12237

12237:                                            ; preds = %12236
  call void @exit(i32 noundef 1) #12
  unreachable

12238:                                            ; No predecessors!
  br label %12239

12239:                                            ; preds = %12238
  br label %12240

12240:                                            ; preds = %12239, %12181
  br label %12241

12241:                                            ; preds = %12240
  br label %12242

12242:                                            ; preds = %12241
  call void @llvm.lifetime.start.p0(i64 8, ptr %258) #10
  %12243 = call ptr @s2n_config_new()
  store ptr %12243, ptr %258, align 8, !tbaa !9
  br label %12244

12244:                                            ; preds = %12242
  %12245 = load i32, ptr @test_count, align 4, !tbaa !5
  %12246 = add nsw i32 %12245, 1
  store i32 %12246, ptr @test_count, align 4, !tbaa !5
  %12247 = load ptr, ptr %258, align 8, !tbaa !9
  %12248 = call i32 @s2n_config_set_cipher_preferences(ptr noundef %12247, ptr noundef @.str.61)
  %12249 = icmp eq i32 %12248, -1
  br i1 %12249, label %12250, label %12303

12250:                                            ; preds = %12244
  br label %12251

12251:                                            ; preds = %12250
  br label %12252

12252:                                            ; preds = %12251
  call void @llvm.lifetime.start.p0(i64 4, ptr %259) #10
  %12253 = call ptr @__errno_location() #11
  %12254 = load i32, ptr %12253, align 4, !tbaa !5
  store i32 %12254, ptr %259, 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) #10
  %12262 = call i32 @isatty(i32 noundef %12261) #10
  %12263 = icmp ne i32 %12262, 0
  br i1 %12263, label %12264, label %12281

12264:                                            ; preds = %12259
  %12265 = load i32, ptr %259, align 4, !tbaa !5
  %12266 = call ptr @__errno_location() #11
  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() #11
  %12276 = load i32, ptr %12275, align 4, !tbaa !5
  %12277 = call ptr @strerror(i32 noundef %12276) #10
  %12278 = call ptr @__errno_location() #11
  %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.65, ptr noundef @.str.1, i32 noundef 553, ptr noundef %12271, ptr noundef %12274, ptr noundef %12277, i32 noundef %12279) #10
  br label %12298

12281:                                            ; preds = %12259, %12252
  %12282 = load i32, ptr %259, align 4, !tbaa !5
  %12283 = call ptr @__errno_location() #11
  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() #11
  %12293 = load i32, ptr %12292, align 4, !tbaa !5
  %12294 = call ptr @strerror(i32 noundef %12293) #10
  %12295 = call ptr @__errno_location() #11
  %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.65, ptr noundef @.str.1, i32 noundef 553, ptr noundef %12288, ptr noundef %12291, ptr noundef %12294, i32 noundef %12296) #10
  br label %12298

12298:                                            ; preds = %12281, %12264
  call void @llvm.lifetime.end.p0(i64 4, ptr %259) #10
  br label %12299

12299:                                            ; preds = %12298
  br label %12300

12300:                                            ; preds = %12299
  call void @exit(i32 noundef 1) #12
  unreachable

12301:                                            ; No predecessors!
  br label %12302

12302:                                            ; preds = %12301
  br label %12303

12303:                                            ; preds = %12302, %12244
  br label %12304

12304:                                            ; preds = %12303
  br label %12305

12305:                                            ; preds = %12304
  br label %12306

12306:                                            ; preds = %12305
  %12307 = load i32, ptr @test_count, align 4, !tbaa !5
  %12308 = add nsw i32 %12307, 1
  store i32 %12308, ptr @test_count, align 4, !tbaa !5
  %12309 = load ptr, ptr %258, align 8, !tbaa !9
  %12310 = load ptr, ptr %10, align 8, !tbaa !9
  %12311 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef %12309, ptr noundef %12310)
  %12312 = icmp eq i32 %12311, -1
  br i1 %12312, label %12313, label %12366

12313:                                            ; preds = %12306
  br label %12314

12314:                                            ; preds = %12313
  br label %12315

12315:                                            ; preds = %12314
  call void @llvm.lifetime.start.p0(i64 4, ptr %260) #10
  %12316 = call ptr @__errno_location() #11
  %12317 = load i32, ptr %12316, align 4, !tbaa !5
  store i32 %12317, ptr %260, align 4, !tbaa !5
  %12318 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12319 = call i32 @s2n_print_stacktrace(ptr noundef %12318)
  %12320 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12321 = trunc i8 %12320 to i1
  br i1 %12321, label %12322, label %12344

12322:                                            ; preds = %12315
  %12323 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12324 = call i32 @fileno(ptr noundef %12323) #10
  %12325 = call i32 @isatty(i32 noundef %12324) #10
  %12326 = icmp ne i32 %12325, 0
  br i1 %12326, label %12327, label %12344

12327:                                            ; preds = %12322
  %12328 = load i32, ptr %260, align 4, !tbaa !5
  %12329 = call ptr @__errno_location() #11
  store i32 %12328, ptr %12329, align 4, !tbaa !5
  %12330 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12331 = load i32, ptr @test_count, align 4, !tbaa !5
  %12332 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12333 = load i32, ptr %12332, align 4, !tbaa !5
  %12334 = call ptr @s2n_strerror(i32 noundef %12333, ptr noundef @.str.4)
  %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_debug(i32 noundef %12336, ptr noundef @.str.4)
  %12338 = call ptr @__errno_location() #11
  %12339 = load i32, ptr %12338, align 4, !tbaa !5
  %12340 = call ptr @strerror(i32 noundef %12339) #10
  %12341 = call ptr @__errno_location() #11
  %12342 = load i32, ptr %12341, align 4, !tbaa !5
  %12343 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12330, ptr noundef @.str.2, i32 noundef %12331, ptr noundef @.str.66, ptr noundef @.str.1, i32 noundef 554, ptr noundef %12334, ptr noundef %12337, ptr noundef %12340, i32 noundef %12342) #10
  br label %12361

12344:                                            ; preds = %12322, %12315
  %12345 = load i32, ptr %260, align 4, !tbaa !5
  %12346 = call ptr @__errno_location() #11
  store i32 %12345, ptr %12346, align 4, !tbaa !5
  %12347 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12348 = load i32, ptr @test_count, align 4, !tbaa !5
  %12349 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12350 = load i32, ptr %12349, align 4, !tbaa !5
  %12351 = call ptr @s2n_strerror(i32 noundef %12350, ptr noundef @.str.4)
  %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_debug(i32 noundef %12353, ptr noundef @.str.4)
  %12355 = call ptr @__errno_location() #11
  %12356 = load i32, ptr %12355, align 4, !tbaa !5
  %12357 = call ptr @strerror(i32 noundef %12356) #10
  %12358 = call ptr @__errno_location() #11
  %12359 = load i32, ptr %12358, align 4, !tbaa !5
  %12360 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12347, ptr noundef @.str.5, i32 noundef %12348, ptr noundef @.str.66, ptr noundef @.str.1, i32 noundef 554, ptr noundef %12351, ptr noundef %12354, ptr noundef %12357, i32 noundef %12359) #10
  br label %12361

12361:                                            ; preds = %12344, %12327
  call void @llvm.lifetime.end.p0(i64 4, ptr %260) #10
  br label %12362

12362:                                            ; preds = %12361
  br label %12363

12363:                                            ; preds = %12362
  call void @exit(i32 noundef 1) #12
  unreachable

12364:                                            ; No predecessors!
  br label %12365

12365:                                            ; preds = %12364
  br label %12366

12366:                                            ; preds = %12365, %12306
  br label %12367

12367:                                            ; preds = %12366
  br label %12368

12368:                                            ; preds = %12367
  %12369 = call zeroext i1 (...) @s2n_is_tls13_fully_supported()
  br i1 %12369, label %12370, label %13082

12370:                                            ; preds = %12368
  call void @llvm.lifetime.start.p0(i64 8, ptr %261) #10
  %12371 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %12371, ptr %261, align 8, !tbaa !9
  br label %12372

12372:                                            ; preds = %12370
  %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 %261, align 8, !tbaa !9
  %12376 = load ptr, ptr %258, align 8, !tbaa !9
  %12377 = call i32 @s2n_connection_set_config(ptr noundef %12375, ptr noundef %12376)
  %12378 = icmp eq i32 %12377, -1
  br i1 %12378, label %12379, label %12432

12379:                                            ; preds = %12372
  br label %12380

12380:                                            ; preds = %12379
  br label %12381

12381:                                            ; preds = %12380
  call void @llvm.lifetime.start.p0(i64 4, ptr %262) #10
  %12382 = call ptr @__errno_location() #11
  %12383 = load i32, ptr %12382, align 4, !tbaa !5
  store i32 %12383, ptr %262, align 4, !tbaa !5
  %12384 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12385 = call i32 @s2n_print_stacktrace(ptr noundef %12384)
  %12386 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12387 = trunc i8 %12386 to i1
  br i1 %12387, label %12388, label %12410

12388:                                            ; preds = %12381
  %12389 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12390 = call i32 @fileno(ptr noundef %12389) #10
  %12391 = call i32 @isatty(i32 noundef %12390) #10
  %12392 = icmp ne i32 %12391, 0
  br i1 %12392, label %12393, label %12410

12393:                                            ; preds = %12388
  %12394 = load i32, ptr %262, align 4, !tbaa !5
  %12395 = call ptr @__errno_location() #11
  store i32 %12394, ptr %12395, align 4, !tbaa !5
  %12396 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12397 = load i32, ptr @test_count, align 4, !tbaa !5
  %12398 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12399 = load i32, ptr %12398, align 4, !tbaa !5
  %12400 = call ptr @s2n_strerror(i32 noundef %12399, ptr noundef @.str.4)
  %12401 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12402 = load i32, ptr %12401, align 4, !tbaa !5
  %12403 = call ptr @s2n_strerror_debug(i32 noundef %12402, ptr noundef @.str.4)
  %12404 = call ptr @__errno_location() #11
  %12405 = load i32, ptr %12404, align 4, !tbaa !5
  %12406 = call ptr @strerror(i32 noundef %12405) #10
  %12407 = call ptr @__errno_location() #11
  %12408 = load i32, ptr %12407, align 4, !tbaa !5
  %12409 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12396, ptr noundef @.str.2, i32 noundef %12397, ptr noundef @.str.67, ptr noundef @.str.1, i32 noundef 559, ptr noundef %12400, ptr noundef %12403, ptr noundef %12406, i32 noundef %12408) #10
  br label %12427

12410:                                            ; preds = %12388, %12381
  %12411 = load i32, ptr %262, align 4, !tbaa !5
  %12412 = call ptr @__errno_location() #11
  store i32 %12411, ptr %12412, align 4, !tbaa !5
  %12413 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12414 = load i32, ptr @test_count, align 4, !tbaa !5
  %12415 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12416 = load i32, ptr %12415, align 4, !tbaa !5
  %12417 = call ptr @s2n_strerror(i32 noundef %12416, ptr noundef @.str.4)
  %12418 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12419 = load i32, ptr %12418, align 4, !tbaa !5
  %12420 = call ptr @s2n_strerror_debug(i32 noundef %12419, ptr noundef @.str.4)
  %12421 = call ptr @__errno_location() #11
  %12422 = load i32, ptr %12421, align 4, !tbaa !5
  %12423 = call ptr @strerror(i32 noundef %12422) #10
  %12424 = call ptr @__errno_location() #11
  %12425 = load i32, ptr %12424, align 4, !tbaa !5
  %12426 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12413, ptr noundef @.str.5, i32 noundef %12414, ptr noundef @.str.67, ptr noundef @.str.1, i32 noundef 559, ptr noundef %12417, ptr noundef %12420, ptr noundef %12423, i32 noundef %12425) #10
  br label %12427

12427:                                            ; preds = %12410, %12393
  call void @llvm.lifetime.end.p0(i64 4, ptr %262) #10
  br label %12428

12428:                                            ; preds = %12427
  br label %12429

12429:                                            ; preds = %12428
  call void @exit(i32 noundef 1) #12
  unreachable

12430:                                            ; No predecessors!
  br label %12431

12431:                                            ; preds = %12430
  br label %12432

12432:                                            ; preds = %12431, %12372
  br label %12433

12433:                                            ; preds = %12432
  br label %12434

12434:                                            ; preds = %12433
  call void @llvm.lifetime.start.p0(i64 8, ptr %263) #10
  %12435 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %12435, ptr %263, align 8, !tbaa !9
  br label %12436

12436:                                            ; preds = %12434
  %12437 = load i32, ptr @test_count, align 4, !tbaa !5
  %12438 = add nsw i32 %12437, 1
  store i32 %12438, ptr @test_count, align 4, !tbaa !5
  %12439 = load ptr, ptr %263, align 8, !tbaa !9
  %12440 = load ptr, ptr %258, align 8, !tbaa !9
  %12441 = call i32 @s2n_connection_set_config(ptr noundef %12439, ptr noundef %12440)
  %12442 = icmp eq i32 %12441, -1
  br i1 %12442, label %12443, label %12496

12443:                                            ; preds = %12436
  br label %12444

12444:                                            ; preds = %12443
  br label %12445

12445:                                            ; preds = %12444
  call void @llvm.lifetime.start.p0(i64 4, ptr %264) #10
  %12446 = call ptr @__errno_location() #11
  %12447 = load i32, ptr %12446, align 4, !tbaa !5
  store i32 %12447, ptr %264, 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) #10
  %12455 = call i32 @isatty(i32 noundef %12454) #10
  %12456 = icmp ne i32 %12455, 0
  br i1 %12456, label %12457, label %12474

12457:                                            ; preds = %12452
  %12458 = load i32, ptr %264, align 4, !tbaa !5
  %12459 = call ptr @__errno_location() #11
  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() #11
  %12469 = load i32, ptr %12468, align 4, !tbaa !5
  %12470 = call ptr @strerror(i32 noundef %12469) #10
  %12471 = call ptr @__errno_location() #11
  %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.68, ptr noundef @.str.1, i32 noundef 562, ptr noundef %12464, ptr noundef %12467, ptr noundef %12470, i32 noundef %12472) #10
  br label %12491

12474:                                            ; preds = %12452, %12445
  %12475 = load i32, ptr %264, align 4, !tbaa !5
  %12476 = call ptr @__errno_location() #11
  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() #11
  %12486 = load i32, ptr %12485, align 4, !tbaa !5
  %12487 = call ptr @strerror(i32 noundef %12486) #10
  %12488 = call ptr @__errno_location() #11
  %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.68, ptr noundef @.str.1, i32 noundef 562, ptr noundef %12481, ptr noundef %12484, ptr noundef %12487, i32 noundef %12489) #10
  br label %12491

12491:                                            ; preds = %12474, %12457
  call void @llvm.lifetime.end.p0(i64 4, ptr %264) #10
  br label %12492

12492:                                            ; preds = %12491
  br label %12493

12493:                                            ; preds = %12492
  call void @exit(i32 noundef 1) #12
  unreachable

12494:                                            ; No predecessors!
  br label %12495

12495:                                            ; preds = %12494
  br label %12496

12496:                                            ; preds = %12495, %12436
  br label %12497

12497:                                            ; preds = %12496
  br label %12498

12498:                                            ; preds = %12497
  br label %12499

12499:                                            ; preds = %12498
  %12500 = load i32, ptr @test_count, align 4, !tbaa !5
  %12501 = add nsw i32 %12500, 1
  store i32 %12501, ptr @test_count, align 4, !tbaa !5
  %12502 = load ptr, ptr %261, align 8, !tbaa !9
  %12503 = load ptr, ptr %263, align 8, !tbaa !9
  %12504 = call i32 @s2n_test_client_hello(ptr noundef %12502, ptr noundef %12503)
  %12505 = getelementptr inbounds %struct.s2n_result, ptr %265, i32 0, i32 0
  store i32 %12504, ptr %12505, align 4
  %12506 = getelementptr inbounds %struct.s2n_result, ptr %265, i32 0, i32 0
  %12507 = load i32, ptr %12506, align 4
  %12508 = call zeroext i1 @s2n_result_is_ok(i32 %12507)
  br i1 %12508, label %12562, label %12509

12509:                                            ; preds = %12499
  br label %12510

12510:                                            ; preds = %12509
  br label %12511

12511:                                            ; preds = %12510
  call void @llvm.lifetime.start.p0(i64 4, ptr %266) #10
  %12512 = call ptr @__errno_location() #11
  %12513 = load i32, ptr %12512, align 4, !tbaa !5
  store i32 %12513, ptr %266, align 4, !tbaa !5
  %12514 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12515 = call i32 @s2n_print_stacktrace(ptr noundef %12514)
  %12516 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12517 = trunc i8 %12516 to i1
  br i1 %12517, label %12518, label %12540

12518:                                            ; preds = %12511
  %12519 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12520 = call i32 @fileno(ptr noundef %12519) #10
  %12521 = call i32 @isatty(i32 noundef %12520) #10
  %12522 = icmp ne i32 %12521, 0
  br i1 %12522, label %12523, label %12540

12523:                                            ; preds = %12518
  %12524 = load i32, ptr %266, align 4, !tbaa !5
  %12525 = call ptr @__errno_location() #11
  store i32 %12524, ptr %12525, align 4, !tbaa !5
  %12526 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12527 = load i32, ptr @test_count, align 4, !tbaa !5
  %12528 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12529 = load i32, ptr %12528, align 4, !tbaa !5
  %12530 = call ptr @s2n_strerror(i32 noundef %12529, ptr noundef @.str.4)
  %12531 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12532 = load i32, ptr %12531, align 4, !tbaa !5
  %12533 = call ptr @s2n_strerror_debug(i32 noundef %12532, ptr noundef @.str.4)
  %12534 = call ptr @__errno_location() #11
  %12535 = load i32, ptr %12534, align 4, !tbaa !5
  %12536 = call ptr @strerror(i32 noundef %12535) #10
  %12537 = call ptr @__errno_location() #11
  %12538 = load i32, ptr %12537, align 4, !tbaa !5
  %12539 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12526, ptr noundef @.str.2, i32 noundef %12527, ptr noundef @.str.69, ptr noundef @.str.1, i32 noundef 564, ptr noundef %12530, ptr noundef %12533, ptr noundef %12536, i32 noundef %12538) #10
  br label %12557

12540:                                            ; preds = %12518, %12511
  %12541 = load i32, ptr %266, align 4, !tbaa !5
  %12542 = call ptr @__errno_location() #11
  store i32 %12541, ptr %12542, align 4, !tbaa !5
  %12543 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12544 = load i32, ptr @test_count, align 4, !tbaa !5
  %12545 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12546 = load i32, ptr %12545, align 4, !tbaa !5
  %12547 = call ptr @s2n_strerror(i32 noundef %12546, ptr noundef @.str.4)
  %12548 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12549 = load i32, ptr %12548, align 4, !tbaa !5
  %12550 = call ptr @s2n_strerror_debug(i32 noundef %12549, ptr noundef @.str.4)
  %12551 = call ptr @__errno_location() #11
  %12552 = load i32, ptr %12551, align 4, !tbaa !5
  %12553 = call ptr @strerror(i32 noundef %12552) #10
  %12554 = call ptr @__errno_location() #11
  %12555 = load i32, ptr %12554, align 4, !tbaa !5
  %12556 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12543, ptr noundef @.str.5, i32 noundef %12544, ptr noundef @.str.69, ptr noundef @.str.1, i32 noundef 564, ptr noundef %12547, ptr noundef %12550, ptr noundef %12553, i32 noundef %12555) #10
  br label %12557

12557:                                            ; preds = %12540, %12523
  call void @llvm.lifetime.end.p0(i64 4, ptr %266) #10
  br label %12558

12558:                                            ; preds = %12557
  br label %12559

12559:                                            ; preds = %12558
  call void @exit(i32 noundef 1) #12
  unreachable

12560:                                            ; No predecessors!
  br label %12561

12561:                                            ; preds = %12560
  br label %12562

12562:                                            ; preds = %12561, %12499
  br label %12563

12563:                                            ; preds = %12562
  br label %12564

12564:                                            ; preds = %12563
  br label %12565

12565:                                            ; preds = %12564
  %12566 = load i32, ptr @test_count, align 4, !tbaa !5
  %12567 = add nsw i32 %12566, 1
  store i32 %12567, ptr @test_count, align 4, !tbaa !5
  %12568 = load ptr, ptr %261, align 8, !tbaa !9
  %12569 = load ptr, ptr %254, align 8, !tbaa !9
  %12570 = call i32 @s2n_connection_set_config(ptr noundef %12568, ptr noundef %12569)
  %12571 = icmp eq i32 %12570, -1
  br i1 %12571, label %12572, label %12625

12572:                                            ; preds = %12565
  br label %12573

12573:                                            ; preds = %12572
  br label %12574

12574:                                            ; preds = %12573
  call void @llvm.lifetime.start.p0(i64 4, ptr %267) #10
  %12575 = call ptr @__errno_location() #11
  %12576 = load i32, ptr %12575, align 4, !tbaa !5
  store i32 %12576, ptr %267, align 4, !tbaa !5
  %12577 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12578 = call i32 @s2n_print_stacktrace(ptr noundef %12577)
  %12579 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12580 = trunc i8 %12579 to i1
  br i1 %12580, label %12581, label %12603

12581:                                            ; preds = %12574
  %12582 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12583 = call i32 @fileno(ptr noundef %12582) #10
  %12584 = call i32 @isatty(i32 noundef %12583) #10
  %12585 = icmp ne i32 %12584, 0
  br i1 %12585, label %12586, label %12603

12586:                                            ; preds = %12581
  %12587 = load i32, ptr %267, align 4, !tbaa !5
  %12588 = call ptr @__errno_location() #11
  store i32 %12587, ptr %12588, align 4, !tbaa !5
  %12589 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12590 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %12592, ptr noundef @.str.4)
  %12594 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12595 = load i32, ptr %12594, align 4, !tbaa !5
  %12596 = call ptr @s2n_strerror_debug(i32 noundef %12595, ptr noundef @.str.4)
  %12597 = call ptr @__errno_location() #11
  %12598 = load i32, ptr %12597, align 4, !tbaa !5
  %12599 = call ptr @strerror(i32 noundef %12598) #10
  %12600 = call ptr @__errno_location() #11
  %12601 = load i32, ptr %12600, align 4, !tbaa !5
  %12602 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12589, ptr noundef @.str.2, i32 noundef %12590, ptr noundef @.str.70, ptr noundef @.str.1, i32 noundef 565, ptr noundef %12593, ptr noundef %12596, ptr noundef %12599, i32 noundef %12601) #10
  br label %12620

12603:                                            ; preds = %12581, %12574
  %12604 = load i32, ptr %267, align 4, !tbaa !5
  %12605 = call ptr @__errno_location() #11
  store i32 %12604, ptr %12605, align 4, !tbaa !5
  %12606 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12607 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %12609, ptr noundef @.str.4)
  %12611 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12612 = load i32, ptr %12611, align 4, !tbaa !5
  %12613 = call ptr @s2n_strerror_debug(i32 noundef %12612, ptr noundef @.str.4)
  %12614 = call ptr @__errno_location() #11
  %12615 = load i32, ptr %12614, align 4, !tbaa !5
  %12616 = call ptr @strerror(i32 noundef %12615) #10
  %12617 = call ptr @__errno_location() #11
  %12618 = load i32, ptr %12617, align 4, !tbaa !5
  %12619 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12606, ptr noundef @.str.5, i32 noundef %12607, ptr noundef @.str.70, ptr noundef @.str.1, i32 noundef 565, ptr noundef %12610, ptr noundef %12613, ptr noundef %12616, i32 noundef %12618) #10
  br label %12620

12620:                                            ; preds = %12603, %12586
  call void @llvm.lifetime.end.p0(i64 4, ptr %267) #10
  br label %12621

12621:                                            ; preds = %12620
  br label %12622

12622:                                            ; preds = %12621
  call void @exit(i32 noundef 1) #12
  unreachable

12623:                                            ; No predecessors!
  br label %12624

12624:                                            ; preds = %12623
  br label %12625

12625:                                            ; preds = %12624, %12565
  br label %12626

12626:                                            ; preds = %12625
  br label %12627

12627:                                            ; preds = %12626
  br label %12628

12628:                                            ; preds = %12627
  %12629 = load i32, ptr @test_count, align 4, !tbaa !5
  %12630 = add nsw i32 %12629, 1
  store i32 %12630, ptr @test_count, align 4, !tbaa !5
  %12631 = load ptr, ptr %263, align 8, !tbaa !9
  %12632 = call i32 @s2n_server_hello_send(ptr noundef %12631)
  %12633 = icmp eq i32 %12632, -1
  br i1 %12633, label %12634, label %12687

12634:                                            ; preds = %12628
  br label %12635

12635:                                            ; preds = %12634
  br label %12636

12636:                                            ; preds = %12635
  call void @llvm.lifetime.start.p0(i64 4, ptr %268) #10
  %12637 = call ptr @__errno_location() #11
  %12638 = load i32, ptr %12637, align 4, !tbaa !5
  store i32 %12638, ptr %268, align 4, !tbaa !5
  %12639 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12640 = call i32 @s2n_print_stacktrace(ptr noundef %12639)
  %12641 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12642 = trunc i8 %12641 to i1
  br i1 %12642, label %12643, label %12665

12643:                                            ; preds = %12636
  %12644 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12645 = call i32 @fileno(ptr noundef %12644) #10
  %12646 = call i32 @isatty(i32 noundef %12645) #10
  %12647 = icmp ne i32 %12646, 0
  br i1 %12647, label %12648, label %12665

12648:                                            ; preds = %12643
  %12649 = load i32, ptr %268, align 4, !tbaa !5
  %12650 = call ptr @__errno_location() #11
  store i32 %12649, ptr %12650, align 4, !tbaa !5
  %12651 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12652 = load i32, ptr @test_count, align 4, !tbaa !5
  %12653 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12654 = load i32, ptr %12653, align 4, !tbaa !5
  %12655 = call ptr @s2n_strerror(i32 noundef %12654, ptr noundef @.str.4)
  %12656 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12657 = load i32, ptr %12656, align 4, !tbaa !5
  %12658 = call ptr @s2n_strerror_debug(i32 noundef %12657, ptr noundef @.str.4)
  %12659 = call ptr @__errno_location() #11
  %12660 = load i32, ptr %12659, align 4, !tbaa !5
  %12661 = call ptr @strerror(i32 noundef %12660) #10
  %12662 = call ptr @__errno_location() #11
  %12663 = load i32, ptr %12662, align 4, !tbaa !5
  %12664 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12651, ptr noundef @.str.2, i32 noundef %12652, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 567, ptr noundef %12655, ptr noundef %12658, ptr noundef %12661, i32 noundef %12663) #10
  br label %12682

12665:                                            ; preds = %12643, %12636
  %12666 = load i32, ptr %268, align 4, !tbaa !5
  %12667 = call ptr @__errno_location() #11
  store i32 %12666, ptr %12667, align 4, !tbaa !5
  %12668 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12669 = load i32, ptr @test_count, align 4, !tbaa !5
  %12670 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12671 = load i32, ptr %12670, align 4, !tbaa !5
  %12672 = call ptr @s2n_strerror(i32 noundef %12671, ptr noundef @.str.4)
  %12673 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12674 = load i32, ptr %12673, align 4, !tbaa !5
  %12675 = call ptr @s2n_strerror_debug(i32 noundef %12674, ptr noundef @.str.4)
  %12676 = call ptr @__errno_location() #11
  %12677 = load i32, ptr %12676, align 4, !tbaa !5
  %12678 = call ptr @strerror(i32 noundef %12677) #10
  %12679 = call ptr @__errno_location() #11
  %12680 = load i32, ptr %12679, align 4, !tbaa !5
  %12681 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12668, ptr noundef @.str.5, i32 noundef %12669, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 567, ptr noundef %12672, ptr noundef %12675, ptr noundef %12678, i32 noundef %12680) #10
  br label %12682

12682:                                            ; preds = %12665, %12648
  call void @llvm.lifetime.end.p0(i64 4, ptr %268) #10
  br label %12683

12683:                                            ; preds = %12682
  br label %12684

12684:                                            ; preds = %12683
  call void @exit(i32 noundef 1) #12
  unreachable

12685:                                            ; No predecessors!
  br label %12686

12686:                                            ; preds = %12685
  br label %12687

12687:                                            ; preds = %12686, %12628
  br label %12688

12688:                                            ; preds = %12687
  br label %12689

12689:                                            ; preds = %12688
  br label %12690

12690:                                            ; preds = %12689
  %12691 = load i32, ptr @test_count, align 4, !tbaa !5
  %12692 = add nsw i32 %12691, 1
  store i32 %12692, ptr @test_count, align 4, !tbaa !5
  %12693 = load ptr, ptr %263, align 8, !tbaa !9
  %12694 = getelementptr inbounds %struct.s2n_connection, ptr %12693, i32 0, i32 52
  %12695 = getelementptr inbounds %struct.s2n_handshake, ptr %12694, i32 0, i32 0
  %12696 = load ptr, ptr %261, align 8, !tbaa !9
  %12697 = getelementptr inbounds %struct.s2n_connection, ptr %12696, i32 0, i32 52
  %12698 = getelementptr inbounds %struct.s2n_handshake, ptr %12697, i32 0, i32 0
  %12699 = load ptr, ptr %263, align 8, !tbaa !9
  %12700 = getelementptr inbounds %struct.s2n_connection, ptr %12699, i32 0, i32 52
  %12701 = getelementptr inbounds %struct.s2n_handshake, ptr %12700, i32 0, i32 0
  %12702 = getelementptr inbounds %struct.s2n_stuffer, ptr %12701, i32 0, i32 2
  %12703 = load i32, ptr %12702, align 4, !tbaa !58
  %12704 = load ptr, ptr %263, align 8, !tbaa !9
  %12705 = getelementptr inbounds %struct.s2n_connection, ptr %12704, i32 0, i32 52
  %12706 = getelementptr inbounds %struct.s2n_handshake, ptr %12705, i32 0, i32 0
  %12707 = getelementptr inbounds %struct.s2n_stuffer, ptr %12706, i32 0, i32 1
  %12708 = load i32, ptr %12707, align 8, !tbaa !59
  %12709 = sub i32 %12703, %12708
  %12710 = call i32 @s2n_stuffer_copy(ptr noundef %12695, ptr noundef %12698, i32 noundef %12709)
  %12711 = icmp eq i32 %12710, -1
  br i1 %12711, label %12712, label %12765

12712:                                            ; preds = %12690
  br label %12713

12713:                                            ; preds = %12712
  br label %12714

12714:                                            ; preds = %12713
  call void @llvm.lifetime.start.p0(i64 4, ptr %269) #10
  %12715 = call ptr @__errno_location() #11
  %12716 = load i32, ptr %12715, align 4, !tbaa !5
  store i32 %12716, ptr %269, align 4, !tbaa !5
  %12717 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12718 = call i32 @s2n_print_stacktrace(ptr noundef %12717)
  %12719 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12720 = trunc i8 %12719 to i1
  br i1 %12720, label %12721, label %12743

12721:                                            ; preds = %12714
  %12722 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12723 = call i32 @fileno(ptr noundef %12722) #10
  %12724 = call i32 @isatty(i32 noundef %12723) #10
  %12725 = icmp ne i32 %12724, 0
  br i1 %12725, label %12726, label %12743

12726:                                            ; preds = %12721
  %12727 = load i32, ptr %269, align 4, !tbaa !5
  %12728 = call ptr @__errno_location() #11
  store i32 %12727, ptr %12728, align 4, !tbaa !5
  %12729 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12730 = load i32, ptr @test_count, align 4, !tbaa !5
  %12731 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12732 = load i32, ptr %12731, align 4, !tbaa !5
  %12733 = call ptr @s2n_strerror(i32 noundef %12732, ptr noundef @.str.4)
  %12734 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12735 = load i32, ptr %12734, align 4, !tbaa !5
  %12736 = call ptr @s2n_strerror_debug(i32 noundef %12735, ptr noundef @.str.4)
  %12737 = call ptr @__errno_location() #11
  %12738 = load i32, ptr %12737, align 4, !tbaa !5
  %12739 = call ptr @strerror(i32 noundef %12738) #10
  %12740 = call ptr @__errno_location() #11
  %12741 = load i32, ptr %12740, align 4, !tbaa !5
  %12742 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12729, ptr noundef @.str.2, i32 noundef %12730, ptr noundef @.str.71, ptr noundef @.str.1, i32 noundef 569, ptr noundef %12733, ptr noundef %12736, ptr noundef %12739, i32 noundef %12741) #10
  br label %12760

12743:                                            ; preds = %12721, %12714
  %12744 = load i32, ptr %269, align 4, !tbaa !5
  %12745 = call ptr @__errno_location() #11
  store i32 %12744, ptr %12745, align 4, !tbaa !5
  %12746 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12747 = load i32, ptr @test_count, align 4, !tbaa !5
  %12748 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12749 = load i32, ptr %12748, align 4, !tbaa !5
  %12750 = call ptr @s2n_strerror(i32 noundef %12749, ptr noundef @.str.4)
  %12751 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12752 = load i32, ptr %12751, align 4, !tbaa !5
  %12753 = call ptr @s2n_strerror_debug(i32 noundef %12752, ptr noundef @.str.4)
  %12754 = call ptr @__errno_location() #11
  %12755 = load i32, ptr %12754, align 4, !tbaa !5
  %12756 = call ptr @strerror(i32 noundef %12755) #10
  %12757 = call ptr @__errno_location() #11
  %12758 = load i32, ptr %12757, align 4, !tbaa !5
  %12759 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12746, ptr noundef @.str.5, i32 noundef %12747, ptr noundef @.str.71, ptr noundef @.str.1, i32 noundef 569, ptr noundef %12750, ptr noundef %12753, ptr noundef %12756, i32 noundef %12758) #10
  br label %12760

12760:                                            ; preds = %12743, %12726
  call void @llvm.lifetime.end.p0(i64 4, ptr %269) #10
  br label %12761

12761:                                            ; preds = %12760
  br label %12762

12762:                                            ; preds = %12761
  call void @exit(i32 noundef 1) #12
  unreachable

12763:                                            ; No predecessors!
  br label %12764

12764:                                            ; preds = %12763
  br label %12765

12765:                                            ; preds = %12764, %12690
  br label %12766

12766:                                            ; preds = %12765
  br label %12767

12767:                                            ; preds = %12766
  br label %12768

12768:                                            ; preds = %12767
  %12769 = load i32, ptr @test_count, align 4, !tbaa !5
  %12770 = add nsw i32 %12769, 1
  store i32 %12770, ptr @test_count, align 4, !tbaa !5
  %12771 = load ptr, ptr %261, align 8, !tbaa !9
  %12772 = call i32 @s2n_server_hello_recv(ptr noundef %12771)
  %12773 = icmp eq i32 %12772, -1
  br i1 %12773, label %12774, label %12827

12774:                                            ; preds = %12768
  br label %12775

12775:                                            ; preds = %12774
  br label %12776

12776:                                            ; preds = %12775
  call void @llvm.lifetime.start.p0(i64 4, ptr %270) #10
  %12777 = call ptr @__errno_location() #11
  %12778 = load i32, ptr %12777, align 4, !tbaa !5
  store i32 %12778, ptr %270, align 4, !tbaa !5
  %12779 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12780 = call i32 @s2n_print_stacktrace(ptr noundef %12779)
  %12781 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12782 = trunc i8 %12781 to i1
  br i1 %12782, label %12783, label %12805

12783:                                            ; preds = %12776
  %12784 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12785 = call i32 @fileno(ptr noundef %12784) #10
  %12786 = call i32 @isatty(i32 noundef %12785) #10
  %12787 = icmp ne i32 %12786, 0
  br i1 %12787, label %12788, label %12805

12788:                                            ; preds = %12783
  %12789 = load i32, ptr %270, align 4, !tbaa !5
  %12790 = call ptr @__errno_location() #11
  store i32 %12789, ptr %12790, align 4, !tbaa !5
  %12791 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12792 = load i32, ptr @test_count, align 4, !tbaa !5
  %12793 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12794 = load i32, ptr %12793, align 4, !tbaa !5
  %12795 = call ptr @s2n_strerror(i32 noundef %12794, ptr noundef @.str.4)
  %12796 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12797 = load i32, ptr %12796, align 4, !tbaa !5
  %12798 = call ptr @s2n_strerror_debug(i32 noundef %12797, ptr noundef @.str.4)
  %12799 = call ptr @__errno_location() #11
  %12800 = load i32, ptr %12799, align 4, !tbaa !5
  %12801 = call ptr @strerror(i32 noundef %12800) #10
  %12802 = call ptr @__errno_location() #11
  %12803 = load i32, ptr %12802, align 4, !tbaa !5
  %12804 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12791, ptr noundef @.str.2, i32 noundef %12792, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 570, ptr noundef %12795, ptr noundef %12798, ptr noundef %12801, i32 noundef %12803) #10
  br label %12822

12805:                                            ; preds = %12783, %12776
  %12806 = load i32, ptr %270, align 4, !tbaa !5
  %12807 = call ptr @__errno_location() #11
  store i32 %12806, ptr %12807, align 4, !tbaa !5
  %12808 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12809 = load i32, ptr @test_count, align 4, !tbaa !5
  %12810 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12811 = load i32, ptr %12810, align 4, !tbaa !5
  %12812 = call ptr @s2n_strerror(i32 noundef %12811, ptr noundef @.str.4)
  %12813 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12814 = load i32, ptr %12813, align 4, !tbaa !5
  %12815 = call ptr @s2n_strerror_debug(i32 noundef %12814, ptr noundef @.str.4)
  %12816 = call ptr @__errno_location() #11
  %12817 = load i32, ptr %12816, align 4, !tbaa !5
  %12818 = call ptr @strerror(i32 noundef %12817) #10
  %12819 = call ptr @__errno_location() #11
  %12820 = load i32, ptr %12819, align 4, !tbaa !5
  %12821 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12808, ptr noundef @.str.5, i32 noundef %12809, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 570, ptr noundef %12812, ptr noundef %12815, ptr noundef %12818, i32 noundef %12820) #10
  br label %12822

12822:                                            ; preds = %12805, %12788
  call void @llvm.lifetime.end.p0(i64 4, ptr %270) #10
  br label %12823

12823:                                            ; preds = %12822
  br label %12824

12824:                                            ; preds = %12823
  call void @exit(i32 noundef 1) #12
  unreachable

12825:                                            ; No predecessors!
  br label %12826

12826:                                            ; preds = %12825
  br label %12827

12827:                                            ; preds = %12826, %12768
  br label %12828

12828:                                            ; preds = %12827
  br label %12829

12829:                                            ; preds = %12828
  br label %12830

12830:                                            ; preds = %12829
  %12831 = load i32, ptr @test_count, align 4, !tbaa !5
  %12832 = add nsw i32 %12831, 1
  store i32 %12832, ptr @test_count, align 4, !tbaa !5
  %12833 = load ptr, ptr %261, align 8, !tbaa !9
  %12834 = getelementptr inbounds %struct.s2n_connection, ptr %12833, i32 0, i32 23
  %12835 = load i8, ptr %12834, align 4, !tbaa !42
  %12836 = zext i8 %12835 to i32
  %12837 = icmp eq i32 %12836, 34
  br i1 %12837, label %12891, label %12838

12838:                                            ; preds = %12830
  br label %12839

12839:                                            ; preds = %12838
  br label %12840

12840:                                            ; preds = %12839
  call void @llvm.lifetime.start.p0(i64 4, ptr %271) #10
  %12841 = call ptr @__errno_location() #11
  %12842 = load i32, ptr %12841, align 4, !tbaa !5
  store i32 %12842, ptr %271, align 4, !tbaa !5
  %12843 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12844 = call i32 @s2n_print_stacktrace(ptr noundef %12843)
  %12845 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12846 = trunc i8 %12845 to i1
  br i1 %12846, label %12847, label %12869

12847:                                            ; preds = %12840
  %12848 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12849 = call i32 @fileno(ptr noundef %12848) #10
  %12850 = call i32 @isatty(i32 noundef %12849) #10
  %12851 = icmp ne i32 %12850, 0
  br i1 %12851, label %12852, label %12869

12852:                                            ; preds = %12847
  %12853 = load i32, ptr %271, align 4, !tbaa !5
  %12854 = call ptr @__errno_location() #11
  store i32 %12853, ptr %12854, align 4, !tbaa !5
  %12855 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12856 = load i32, ptr @test_count, align 4, !tbaa !5
  %12857 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12858 = load i32, ptr %12857, align 4, !tbaa !5
  %12859 = call ptr @s2n_strerror(i32 noundef %12858, ptr noundef @.str.4)
  %12860 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12861 = load i32, ptr %12860, align 4, !tbaa !5
  %12862 = call ptr @s2n_strerror_debug(i32 noundef %12861, ptr noundef @.str.4)
  %12863 = call ptr @__errno_location() #11
  %12864 = load i32, ptr %12863, align 4, !tbaa !5
  %12865 = call ptr @strerror(i32 noundef %12864) #10
  %12866 = call ptr @__errno_location() #11
  %12867 = load i32, ptr %12866, align 4, !tbaa !5
  %12868 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12855, ptr noundef @.str.2, i32 noundef %12856, ptr noundef @.str.72, ptr noundef @.str.1, i32 noundef 572, ptr noundef %12859, ptr noundef %12862, ptr noundef %12865, i32 noundef %12867) #10
  br label %12886

12869:                                            ; preds = %12847, %12840
  %12870 = load i32, ptr %271, align 4, !tbaa !5
  %12871 = call ptr @__errno_location() #11
  store i32 %12870, ptr %12871, align 4, !tbaa !5
  %12872 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12873 = load i32, ptr @test_count, align 4, !tbaa !5
  %12874 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12875 = load i32, ptr %12874, align 4, !tbaa !5
  %12876 = call ptr @s2n_strerror(i32 noundef %12875, ptr noundef @.str.4)
  %12877 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12878 = load i32, ptr %12877, align 4, !tbaa !5
  %12879 = call ptr @s2n_strerror_debug(i32 noundef %12878, ptr noundef @.str.4)
  %12880 = call ptr @__errno_location() #11
  %12881 = load i32, ptr %12880, align 4, !tbaa !5
  %12882 = call ptr @strerror(i32 noundef %12881) #10
  %12883 = call ptr @__errno_location() #11
  %12884 = load i32, ptr %12883, align 4, !tbaa !5
  %12885 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12872, ptr noundef @.str.5, i32 noundef %12873, ptr noundef @.str.72, ptr noundef @.str.1, i32 noundef 572, ptr noundef %12876, ptr noundef %12879, ptr noundef %12882, i32 noundef %12884) #10
  br label %12886

12886:                                            ; preds = %12869, %12852
  call void @llvm.lifetime.end.p0(i64 4, ptr %271) #10
  br label %12887

12887:                                            ; preds = %12886
  br label %12888

12888:                                            ; preds = %12887
  call void @exit(i32 noundef 1) #12
  unreachable

12889:                                            ; No predecessors!
  br label %12890

12890:                                            ; preds = %12889
  br label %12891

12891:                                            ; preds = %12890, %12830
  br label %12892

12892:                                            ; preds = %12891
  br label %12893

12893:                                            ; preds = %12892
  br label %12894

12894:                                            ; preds = %12893
  %12895 = load i32, ptr @test_count, align 4, !tbaa !5
  %12896 = add nsw i32 %12895, 1
  store i32 %12896, ptr @test_count, align 4, !tbaa !5
  %12897 = load ptr, ptr %263, align 8, !tbaa !9
  %12898 = getelementptr inbounds %struct.s2n_connection, ptr %12897, i32 0, i32 23
  %12899 = load i8, ptr %12898, align 4, !tbaa !42
  %12900 = zext i8 %12899 to i32
  %12901 = icmp eq i32 %12900, 34
  br i1 %12901, label %12955, label %12902

12902:                                            ; preds = %12894
  br label %12903

12903:                                            ; preds = %12902
  br label %12904

12904:                                            ; preds = %12903
  call void @llvm.lifetime.start.p0(i64 4, ptr %272) #10
  %12905 = call ptr @__errno_location() #11
  %12906 = load i32, ptr %12905, align 4, !tbaa !5
  store i32 %12906, ptr %272, align 4, !tbaa !5
  %12907 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12908 = call i32 @s2n_print_stacktrace(ptr noundef %12907)
  %12909 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12910 = trunc i8 %12909 to i1
  br i1 %12910, label %12911, label %12933

12911:                                            ; preds = %12904
  %12912 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12913 = call i32 @fileno(ptr noundef %12912) #10
  %12914 = call i32 @isatty(i32 noundef %12913) #10
  %12915 = icmp ne i32 %12914, 0
  br i1 %12915, label %12916, label %12933

12916:                                            ; preds = %12911
  %12917 = load i32, ptr %272, align 4, !tbaa !5
  %12918 = call ptr @__errno_location() #11
  store i32 %12917, ptr %12918, align 4, !tbaa !5
  %12919 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12920 = load i32, ptr @test_count, align 4, !tbaa !5
  %12921 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12922 = load i32, ptr %12921, align 4, !tbaa !5
  %12923 = call ptr @s2n_strerror(i32 noundef %12922, ptr noundef @.str.4)
  %12924 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12925 = load i32, ptr %12924, align 4, !tbaa !5
  %12926 = call ptr @s2n_strerror_debug(i32 noundef %12925, ptr noundef @.str.4)
  %12927 = call ptr @__errno_location() #11
  %12928 = load i32, ptr %12927, align 4, !tbaa !5
  %12929 = call ptr @strerror(i32 noundef %12928) #10
  %12930 = call ptr @__errno_location() #11
  %12931 = load i32, ptr %12930, align 4, !tbaa !5
  %12932 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12919, ptr noundef @.str.2, i32 noundef %12920, ptr noundef @.str.73, ptr noundef @.str.1, i32 noundef 573, ptr noundef %12923, ptr noundef %12926, ptr noundef %12929, i32 noundef %12931) #10
  br label %12950

12933:                                            ; preds = %12911, %12904
  %12934 = load i32, ptr %272, align 4, !tbaa !5
  %12935 = call ptr @__errno_location() #11
  store i32 %12934, ptr %12935, align 4, !tbaa !5
  %12936 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12937 = load i32, ptr @test_count, align 4, !tbaa !5
  %12938 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12939 = load i32, ptr %12938, align 4, !tbaa !5
  %12940 = call ptr @s2n_strerror(i32 noundef %12939, ptr noundef @.str.4)
  %12941 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12942 = load i32, ptr %12941, align 4, !tbaa !5
  %12943 = call ptr @s2n_strerror_debug(i32 noundef %12942, ptr noundef @.str.4)
  %12944 = call ptr @__errno_location() #11
  %12945 = load i32, ptr %12944, align 4, !tbaa !5
  %12946 = call ptr @strerror(i32 noundef %12945) #10
  %12947 = call ptr @__errno_location() #11
  %12948 = load i32, ptr %12947, align 4, !tbaa !5
  %12949 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12936, ptr noundef @.str.5, i32 noundef %12937, ptr noundef @.str.73, ptr noundef @.str.1, i32 noundef 573, ptr noundef %12940, ptr noundef %12943, ptr noundef %12946, i32 noundef %12948) #10
  br label %12950

12950:                                            ; preds = %12933, %12916
  call void @llvm.lifetime.end.p0(i64 4, ptr %272) #10
  br label %12951

12951:                                            ; preds = %12950
  br label %12952

12952:                                            ; preds = %12951
  call void @exit(i32 noundef 1) #12
  unreachable

12953:                                            ; No predecessors!
  br label %12954

12954:                                            ; preds = %12953
  br label %12955

12955:                                            ; preds = %12954, %12894
  br label %12956

12956:                                            ; preds = %12955
  br label %12957

12957:                                            ; preds = %12956
  br label %12958

12958:                                            ; preds = %12957
  %12959 = load i32, ptr @test_count, align 4, !tbaa !5
  %12960 = add nsw i32 %12959, 1
  store i32 %12960, ptr @test_count, align 4, !tbaa !5
  %12961 = load ptr, ptr %261, align 8, !tbaa !9
  %12962 = call i32 @s2n_connection_free(ptr noundef %12961)
  %12963 = icmp eq i32 %12962, -1
  br i1 %12963, label %12964, label %13017

12964:                                            ; preds = %12958
  br label %12965

12965:                                            ; preds = %12964
  br label %12966

12966:                                            ; preds = %12965
  call void @llvm.lifetime.start.p0(i64 4, ptr %273) #10
  %12967 = call ptr @__errno_location() #11
  %12968 = load i32, ptr %12967, align 4, !tbaa !5
  store i32 %12968, ptr %273, align 4, !tbaa !5
  %12969 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12970 = call i32 @s2n_print_stacktrace(ptr noundef %12969)
  %12971 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12972 = trunc i8 %12971 to i1
  br i1 %12972, label %12973, label %12995

12973:                                            ; preds = %12966
  %12974 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12975 = call i32 @fileno(ptr noundef %12974) #10
  %12976 = call i32 @isatty(i32 noundef %12975) #10
  %12977 = icmp ne i32 %12976, 0
  br i1 %12977, label %12978, label %12995

12978:                                            ; preds = %12973
  %12979 = load i32, ptr %273, align 4, !tbaa !5
  %12980 = call ptr @__errno_location() #11
  store i32 %12979, ptr %12980, align 4, !tbaa !5
  %12981 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12982 = load i32, ptr @test_count, align 4, !tbaa !5
  %12983 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12984 = load i32, ptr %12983, align 4, !tbaa !5
  %12985 = call ptr @s2n_strerror(i32 noundef %12984, ptr noundef @.str.4)
  %12986 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12987 = load i32, ptr %12986, align 4, !tbaa !5
  %12988 = call ptr @s2n_strerror_debug(i32 noundef %12987, ptr noundef @.str.4)
  %12989 = call ptr @__errno_location() #11
  %12990 = load i32, ptr %12989, align 4, !tbaa !5
  %12991 = call ptr @strerror(i32 noundef %12990) #10
  %12992 = call ptr @__errno_location() #11
  %12993 = load i32, ptr %12992, align 4, !tbaa !5
  %12994 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12981, ptr noundef @.str.2, i32 noundef %12982, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 575, ptr noundef %12985, ptr noundef %12988, ptr noundef %12991, i32 noundef %12993) #10
  br label %13012

12995:                                            ; preds = %12973, %12966
  %12996 = load i32, ptr %273, align 4, !tbaa !5
  %12997 = call ptr @__errno_location() #11
  store i32 %12996, ptr %12997, align 4, !tbaa !5
  %12998 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12999 = load i32, ptr @test_count, align 4, !tbaa !5
  %13000 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13001 = load i32, ptr %13000, align 4, !tbaa !5
  %13002 = call ptr @s2n_strerror(i32 noundef %13001, ptr noundef @.str.4)
  %13003 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13004 = load i32, ptr %13003, align 4, !tbaa !5
  %13005 = call ptr @s2n_strerror_debug(i32 noundef %13004, ptr noundef @.str.4)
  %13006 = call ptr @__errno_location() #11
  %13007 = load i32, ptr %13006, align 4, !tbaa !5
  %13008 = call ptr @strerror(i32 noundef %13007) #10
  %13009 = call ptr @__errno_location() #11
  %13010 = load i32, ptr %13009, align 4, !tbaa !5
  %13011 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12998, ptr noundef @.str.5, i32 noundef %12999, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 575, ptr noundef %13002, ptr noundef %13005, ptr noundef %13008, i32 noundef %13010) #10
  br label %13012

13012:                                            ; preds = %12995, %12978
  call void @llvm.lifetime.end.p0(i64 4, ptr %273) #10
  br label %13013

13013:                                            ; preds = %13012
  br label %13014

13014:                                            ; preds = %13013
  call void @exit(i32 noundef 1) #12
  unreachable

13015:                                            ; No predecessors!
  br label %13016

13016:                                            ; preds = %13015
  br label %13017

13017:                                            ; preds = %13016, %12958
  br label %13018

13018:                                            ; preds = %13017
  br label %13019

13019:                                            ; preds = %13018
  br label %13020

13020:                                            ; preds = %13019
  %13021 = load i32, ptr @test_count, align 4, !tbaa !5
  %13022 = add nsw i32 %13021, 1
  store i32 %13022, ptr @test_count, align 4, !tbaa !5
  %13023 = load ptr, ptr %263, align 8, !tbaa !9
  %13024 = call i32 @s2n_connection_free(ptr noundef %13023)
  %13025 = icmp eq i32 %13024, -1
  br i1 %13025, label %13026, label %13079

13026:                                            ; preds = %13020
  br label %13027

13027:                                            ; preds = %13026
  br label %13028

13028:                                            ; preds = %13027
  call void @llvm.lifetime.start.p0(i64 4, ptr %274) #10
  %13029 = call ptr @__errno_location() #11
  %13030 = load i32, ptr %13029, align 4, !tbaa !5
  store i32 %13030, ptr %274, align 4, !tbaa !5
  %13031 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13032 = call i32 @s2n_print_stacktrace(ptr noundef %13031)
  %13033 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13034 = trunc i8 %13033 to i1
  br i1 %13034, label %13035, label %13057

13035:                                            ; preds = %13028
  %13036 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13037 = call i32 @fileno(ptr noundef %13036) #10
  %13038 = call i32 @isatty(i32 noundef %13037) #10
  %13039 = icmp ne i32 %13038, 0
  br i1 %13039, label %13040, label %13057

13040:                                            ; preds = %13035
  %13041 = load i32, ptr %274, align 4, !tbaa !5
  %13042 = call ptr @__errno_location() #11
  store i32 %13041, ptr %13042, align 4, !tbaa !5
  %13043 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13044 = load i32, ptr @test_count, align 4, !tbaa !5
  %13045 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13046 = load i32, ptr %13045, align 4, !tbaa !5
  %13047 = call ptr @s2n_strerror(i32 noundef %13046, ptr noundef @.str.4)
  %13048 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13049 = load i32, ptr %13048, align 4, !tbaa !5
  %13050 = call ptr @s2n_strerror_debug(i32 noundef %13049, ptr noundef @.str.4)
  %13051 = call ptr @__errno_location() #11
  %13052 = load i32, ptr %13051, align 4, !tbaa !5
  %13053 = call ptr @strerror(i32 noundef %13052) #10
  %13054 = call ptr @__errno_location() #11
  %13055 = load i32, ptr %13054, align 4, !tbaa !5
  %13056 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13043, ptr noundef @.str.2, i32 noundef %13044, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 576, ptr noundef %13047, ptr noundef %13050, ptr noundef %13053, i32 noundef %13055) #10
  br label %13074

13057:                                            ; preds = %13035, %13028
  %13058 = load i32, ptr %274, align 4, !tbaa !5
  %13059 = call ptr @__errno_location() #11
  store i32 %13058, ptr %13059, align 4, !tbaa !5
  %13060 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13061 = load i32, ptr @test_count, align 4, !tbaa !5
  %13062 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13063 = load i32, ptr %13062, align 4, !tbaa !5
  %13064 = call ptr @s2n_strerror(i32 noundef %13063, ptr noundef @.str.4)
  %13065 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13066 = load i32, ptr %13065, align 4, !tbaa !5
  %13067 = call ptr @s2n_strerror_debug(i32 noundef %13066, ptr noundef @.str.4)
  %13068 = call ptr @__errno_location() #11
  %13069 = load i32, ptr %13068, align 4, !tbaa !5
  %13070 = call ptr @strerror(i32 noundef %13069) #10
  %13071 = call ptr @__errno_location() #11
  %13072 = load i32, ptr %13071, align 4, !tbaa !5
  %13073 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13060, ptr noundef @.str.5, i32 noundef %13061, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 576, ptr noundef %13064, ptr noundef %13067, ptr noundef %13070, i32 noundef %13072) #10
  br label %13074

13074:                                            ; preds = %13057, %13040
  call void @llvm.lifetime.end.p0(i64 4, ptr %274) #10
  br label %13075

13075:                                            ; preds = %13074
  br label %13076

13076:                                            ; preds = %13075
  call void @exit(i32 noundef 1) #12
  unreachable

13077:                                            ; No predecessors!
  br label %13078

13078:                                            ; preds = %13077
  br label %13079

13079:                                            ; preds = %13078, %13020
  br label %13080

13080:                                            ; preds = %13079
  br label %13081

13081:                                            ; preds = %13080
  call void @llvm.lifetime.end.p0(i64 8, ptr %263) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %261) #10
  br label %13082

13082:                                            ; preds = %13081, %12368
  call void @llvm.lifetime.start.p0(i64 8, ptr %275) #10
  %13083 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %13083, ptr %275, align 8, !tbaa !9
  br label %13084

13084:                                            ; preds = %13082
  %13085 = load i32, ptr @test_count, align 4, !tbaa !5
  %13086 = add nsw i32 %13085, 1
  store i32 %13086, ptr @test_count, align 4, !tbaa !5
  %13087 = load ptr, ptr %275, align 8, !tbaa !9
  %13088 = load ptr, ptr %258, align 8, !tbaa !9
  %13089 = call i32 @s2n_connection_set_config(ptr noundef %13087, ptr noundef %13088)
  %13090 = icmp eq i32 %13089, -1
  br i1 %13090, label %13091, label %13144

13091:                                            ; preds = %13084
  br label %13092

13092:                                            ; preds = %13091
  br label %13093

13093:                                            ; preds = %13092
  call void @llvm.lifetime.start.p0(i64 4, ptr %276) #10
  %13094 = call ptr @__errno_location() #11
  %13095 = load i32, ptr %13094, align 4, !tbaa !5
  store i32 %13095, ptr %276, align 4, !tbaa !5
  %13096 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13097 = call i32 @s2n_print_stacktrace(ptr noundef %13096)
  %13098 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13099 = trunc i8 %13098 to i1
  br i1 %13099, label %13100, label %13122

13100:                                            ; preds = %13093
  %13101 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13102 = call i32 @fileno(ptr noundef %13101) #10
  %13103 = call i32 @isatty(i32 noundef %13102) #10
  %13104 = icmp ne i32 %13103, 0
  br i1 %13104, label %13105, label %13122

13105:                                            ; preds = %13100
  %13106 = load i32, ptr %276, align 4, !tbaa !5
  %13107 = call ptr @__errno_location() #11
  store i32 %13106, ptr %13107, align 4, !tbaa !5
  %13108 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13109 = load i32, ptr @test_count, align 4, !tbaa !5
  %13110 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13111 = load i32, ptr %13110, align 4, !tbaa !5
  %13112 = call ptr @s2n_strerror(i32 noundef %13111, ptr noundef @.str.4)
  %13113 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13114 = load i32, ptr %13113, align 4, !tbaa !5
  %13115 = call ptr @s2n_strerror_debug(i32 noundef %13114, ptr noundef @.str.4)
  %13116 = call ptr @__errno_location() #11
  %13117 = load i32, ptr %13116, align 4, !tbaa !5
  %13118 = call ptr @strerror(i32 noundef %13117) #10
  %13119 = call ptr @__errno_location() #11
  %13120 = load i32, ptr %13119, align 4, !tbaa !5
  %13121 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13108, ptr noundef @.str.2, i32 noundef %13109, ptr noundef @.str.68, ptr noundef @.str.1, i32 noundef 582, ptr noundef %13112, ptr noundef %13115, ptr noundef %13118, i32 noundef %13120) #10
  br label %13139

13122:                                            ; preds = %13100, %13093
  %13123 = load i32, ptr %276, align 4, !tbaa !5
  %13124 = call ptr @__errno_location() #11
  store i32 %13123, ptr %13124, align 4, !tbaa !5
  %13125 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13126 = load i32, ptr @test_count, align 4, !tbaa !5
  %13127 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13128 = load i32, ptr %13127, align 4, !tbaa !5
  %13129 = call ptr @s2n_strerror(i32 noundef %13128, ptr noundef @.str.4)
  %13130 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13131 = load i32, ptr %13130, align 4, !tbaa !5
  %13132 = call ptr @s2n_strerror_debug(i32 noundef %13131, ptr noundef @.str.4)
  %13133 = call ptr @__errno_location() #11
  %13134 = load i32, ptr %13133, align 4, !tbaa !5
  %13135 = call ptr @strerror(i32 noundef %13134) #10
  %13136 = call ptr @__errno_location() #11
  %13137 = load i32, ptr %13136, align 4, !tbaa !5
  %13138 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13125, ptr noundef @.str.5, i32 noundef %13126, ptr noundef @.str.68, ptr noundef @.str.1, i32 noundef 582, ptr noundef %13129, ptr noundef %13132, ptr noundef %13135, i32 noundef %13137) #10
  br label %13139

13139:                                            ; preds = %13122, %13105
  call void @llvm.lifetime.end.p0(i64 4, ptr %276) #10
  br label %13140

13140:                                            ; preds = %13139
  br label %13141

13141:                                            ; preds = %13140
  call void @exit(i32 noundef 1) #12
  unreachable

13142:                                            ; No predecessors!
  br label %13143

13143:                                            ; preds = %13142
  br label %13144

13144:                                            ; preds = %13143, %13084
  br label %13145

13145:                                            ; preds = %13144
  br label %13146

13146:                                            ; preds = %13145
  br label %13147

13147:                                            ; preds = %13146
  %13148 = load i32, ptr @test_count, align 4, !tbaa !5
  %13149 = add nsw i32 %13148, 1
  store i32 %13149, ptr @test_count, align 4, !tbaa !5
  %13150 = load ptr, ptr %275, align 8, !tbaa !9
  %13151 = call i32 @s2n_connection_set_cipher_preferences(ptr noundef %13150, ptr noundef @.str.74)
  %13152 = icmp eq i32 %13151, -1
  br i1 %13152, label %13153, label %13206

13153:                                            ; preds = %13147
  br label %13154

13154:                                            ; preds = %13153
  br label %13155

13155:                                            ; preds = %13154
  call void @llvm.lifetime.start.p0(i64 4, ptr %277) #10
  %13156 = call ptr @__errno_location() #11
  %13157 = load i32, ptr %13156, align 4, !tbaa !5
  store i32 %13157, ptr %277, align 4, !tbaa !5
  %13158 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13159 = call i32 @s2n_print_stacktrace(ptr noundef %13158)
  %13160 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13161 = trunc i8 %13160 to i1
  br i1 %13161, label %13162, label %13184

13162:                                            ; preds = %13155
  %13163 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13164 = call i32 @fileno(ptr noundef %13163) #10
  %13165 = call i32 @isatty(i32 noundef %13164) #10
  %13166 = icmp ne i32 %13165, 0
  br i1 %13166, label %13167, label %13184

13167:                                            ; preds = %13162
  %13168 = load i32, ptr %277, align 4, !tbaa !5
  %13169 = call ptr @__errno_location() #11
  store i32 %13168, ptr %13169, align 4, !tbaa !5
  %13170 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13171 = load i32, ptr @test_count, align 4, !tbaa !5
  %13172 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13173 = load i32, ptr %13172, align 4, !tbaa !5
  %13174 = call ptr @s2n_strerror(i32 noundef %13173, ptr noundef @.str.4)
  %13175 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13176 = load i32, ptr %13175, align 4, !tbaa !5
  %13177 = call ptr @s2n_strerror_debug(i32 noundef %13176, ptr noundef @.str.4)
  %13178 = call ptr @__errno_location() #11
  %13179 = load i32, ptr %13178, align 4, !tbaa !5
  %13180 = call ptr @strerror(i32 noundef %13179) #10
  %13181 = call ptr @__errno_location() #11
  %13182 = load i32, ptr %13181, align 4, !tbaa !5
  %13183 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13170, ptr noundef @.str.2, i32 noundef %13171, ptr noundef @.str.75, ptr noundef @.str.1, i32 noundef 583, ptr noundef %13174, ptr noundef %13177, ptr noundef %13180, i32 noundef %13182) #10
  br label %13201

13184:                                            ; preds = %13162, %13155
  %13185 = load i32, ptr %277, align 4, !tbaa !5
  %13186 = call ptr @__errno_location() #11
  store i32 %13185, ptr %13186, align 4, !tbaa !5
  %13187 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13188 = load i32, ptr @test_count, align 4, !tbaa !5
  %13189 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13190 = load i32, ptr %13189, align 4, !tbaa !5
  %13191 = call ptr @s2n_strerror(i32 noundef %13190, ptr noundef @.str.4)
  %13192 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13193 = load i32, ptr %13192, align 4, !tbaa !5
  %13194 = call ptr @s2n_strerror_debug(i32 noundef %13193, ptr noundef @.str.4)
  %13195 = call ptr @__errno_location() #11
  %13196 = load i32, ptr %13195, align 4, !tbaa !5
  %13197 = call ptr @strerror(i32 noundef %13196) #10
  %13198 = call ptr @__errno_location() #11
  %13199 = load i32, ptr %13198, align 4, !tbaa !5
  %13200 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13187, ptr noundef @.str.5, i32 noundef %13188, ptr noundef @.str.75, ptr noundef @.str.1, i32 noundef 583, ptr noundef %13191, ptr noundef %13194, ptr noundef %13197, i32 noundef %13199) #10
  br label %13201

13201:                                            ; preds = %13184, %13167
  call void @llvm.lifetime.end.p0(i64 4, ptr %277) #10
  br label %13202

13202:                                            ; preds = %13201
  br label %13203

13203:                                            ; preds = %13202
  call void @exit(i32 noundef 1) #12
  unreachable

13204:                                            ; No predecessors!
  br label %13205

13205:                                            ; preds = %13204
  br label %13206

13206:                                            ; preds = %13205, %13147
  br label %13207

13207:                                            ; preds = %13206
  br label %13208

13208:                                            ; preds = %13207
  call void @llvm.lifetime.start.p0(i64 8, ptr %278) #10
  %13209 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %13209, ptr %278, align 8, !tbaa !9
  br label %13210

13210:                                            ; preds = %13208
  %13211 = load i32, ptr @test_count, align 4, !tbaa !5
  %13212 = add nsw i32 %13211, 1
  store i32 %13212, ptr @test_count, align 4, !tbaa !5
  %13213 = load ptr, ptr %278, align 8, !tbaa !9
  %13214 = load ptr, ptr %258, align 8, !tbaa !9
  %13215 = call i32 @s2n_connection_set_config(ptr noundef %13213, ptr noundef %13214)
  %13216 = icmp eq i32 %13215, -1
  br i1 %13216, label %13217, label %13270

13217:                                            ; preds = %13210
  br label %13218

13218:                                            ; preds = %13217
  br label %13219

13219:                                            ; preds = %13218
  call void @llvm.lifetime.start.p0(i64 4, ptr %279) #10
  %13220 = call ptr @__errno_location() #11
  %13221 = load i32, ptr %13220, align 4, !tbaa !5
  store i32 %13221, ptr %279, align 4, !tbaa !5
  %13222 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13223 = call i32 @s2n_print_stacktrace(ptr noundef %13222)
  %13224 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13225 = trunc i8 %13224 to i1
  br i1 %13225, label %13226, label %13248

13226:                                            ; preds = %13219
  %13227 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13228 = call i32 @fileno(ptr noundef %13227) #10
  %13229 = call i32 @isatty(i32 noundef %13228) #10
  %13230 = icmp ne i32 %13229, 0
  br i1 %13230, label %13231, label %13248

13231:                                            ; preds = %13226
  %13232 = load i32, ptr %279, align 4, !tbaa !5
  %13233 = call ptr @__errno_location() #11
  store i32 %13232, ptr %13233, align 4, !tbaa !5
  %13234 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13235 = load i32, ptr @test_count, align 4, !tbaa !5
  %13236 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13237 = load i32, ptr %13236, align 4, !tbaa !5
  %13238 = call ptr @s2n_strerror(i32 noundef %13237, ptr noundef @.str.4)
  %13239 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13240 = load i32, ptr %13239, align 4, !tbaa !5
  %13241 = call ptr @s2n_strerror_debug(i32 noundef %13240, ptr noundef @.str.4)
  %13242 = call ptr @__errno_location() #11
  %13243 = load i32, ptr %13242, align 4, !tbaa !5
  %13244 = call ptr @strerror(i32 noundef %13243) #10
  %13245 = call ptr @__errno_location() #11
  %13246 = load i32, ptr %13245, align 4, !tbaa !5
  %13247 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13234, ptr noundef @.str.2, i32 noundef %13235, ptr noundef @.str.67, ptr noundef @.str.1, i32 noundef 586, ptr noundef %13238, ptr noundef %13241, ptr noundef %13244, i32 noundef %13246) #10
  br label %13265

13248:                                            ; preds = %13226, %13219
  %13249 = load i32, ptr %279, align 4, !tbaa !5
  %13250 = call ptr @__errno_location() #11
  store i32 %13249, ptr %13250, align 4, !tbaa !5
  %13251 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13252 = load i32, ptr @test_count, align 4, !tbaa !5
  %13253 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13254 = load i32, ptr %13253, align 4, !tbaa !5
  %13255 = call ptr @s2n_strerror(i32 noundef %13254, ptr noundef @.str.4)
  %13256 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13257 = load i32, ptr %13256, align 4, !tbaa !5
  %13258 = call ptr @s2n_strerror_debug(i32 noundef %13257, ptr noundef @.str.4)
  %13259 = call ptr @__errno_location() #11
  %13260 = load i32, ptr %13259, align 4, !tbaa !5
  %13261 = call ptr @strerror(i32 noundef %13260) #10
  %13262 = call ptr @__errno_location() #11
  %13263 = load i32, ptr %13262, align 4, !tbaa !5
  %13264 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13251, ptr noundef @.str.5, i32 noundef %13252, ptr noundef @.str.67, ptr noundef @.str.1, i32 noundef 586, ptr noundef %13255, ptr noundef %13258, ptr noundef %13261, i32 noundef %13263) #10
  br label %13265

13265:                                            ; preds = %13248, %13231
  call void @llvm.lifetime.end.p0(i64 4, ptr %279) #10
  br label %13266

13266:                                            ; preds = %13265
  br label %13267

13267:                                            ; preds = %13266
  call void @exit(i32 noundef 1) #12
  unreachable

13268:                                            ; No predecessors!
  br label %13269

13269:                                            ; preds = %13268
  br label %13270

13270:                                            ; preds = %13269, %13210
  br label %13271

13271:                                            ; preds = %13270
  br label %13272

13272:                                            ; preds = %13271
  br label %13273

13273:                                            ; preds = %13272
  %13274 = load i32, ptr @test_count, align 4, !tbaa !5
  %13275 = add nsw i32 %13274, 1
  store i32 %13275, ptr @test_count, align 4, !tbaa !5
  %13276 = load ptr, ptr %278, align 8, !tbaa !9
  %13277 = load ptr, ptr %275, align 8, !tbaa !9
  %13278 = call i32 @s2n_test_client_hello(ptr noundef %13276, ptr noundef %13277)
  %13279 = getelementptr inbounds %struct.s2n_result, ptr %280, i32 0, i32 0
  store i32 %13278, ptr %13279, align 4
  %13280 = getelementptr inbounds %struct.s2n_result, ptr %280, i32 0, i32 0
  %13281 = load i32, ptr %13280, align 4
  %13282 = call zeroext i1 @s2n_result_is_ok(i32 %13281)
  br i1 %13282, label %13336, label %13283

13283:                                            ; preds = %13273
  br label %13284

13284:                                            ; preds = %13283
  br label %13285

13285:                                            ; preds = %13284
  call void @llvm.lifetime.start.p0(i64 4, ptr %281) #10
  %13286 = call ptr @__errno_location() #11
  %13287 = load i32, ptr %13286, align 4, !tbaa !5
  store i32 %13287, ptr %281, align 4, !tbaa !5
  %13288 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13289 = call i32 @s2n_print_stacktrace(ptr noundef %13288)
  %13290 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13291 = trunc i8 %13290 to i1
  br i1 %13291, label %13292, label %13314

13292:                                            ; preds = %13285
  %13293 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13294 = call i32 @fileno(ptr noundef %13293) #10
  %13295 = call i32 @isatty(i32 noundef %13294) #10
  %13296 = icmp ne i32 %13295, 0
  br i1 %13296, label %13297, label %13314

13297:                                            ; preds = %13292
  %13298 = load i32, ptr %281, align 4, !tbaa !5
  %13299 = call ptr @__errno_location() #11
  store i32 %13298, ptr %13299, align 4, !tbaa !5
  %13300 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13301 = load i32, ptr @test_count, align 4, !tbaa !5
  %13302 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13303 = load i32, ptr %13302, align 4, !tbaa !5
  %13304 = call ptr @s2n_strerror(i32 noundef %13303, ptr noundef @.str.4)
  %13305 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13306 = load i32, ptr %13305, align 4, !tbaa !5
  %13307 = call ptr @s2n_strerror_debug(i32 noundef %13306, ptr noundef @.str.4)
  %13308 = call ptr @__errno_location() #11
  %13309 = load i32, ptr %13308, align 4, !tbaa !5
  %13310 = call ptr @strerror(i32 noundef %13309) #10
  %13311 = call ptr @__errno_location() #11
  %13312 = load i32, ptr %13311, align 4, !tbaa !5
  %13313 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13300, ptr noundef @.str.2, i32 noundef %13301, ptr noundef @.str.69, ptr noundef @.str.1, i32 noundef 588, ptr noundef %13304, ptr noundef %13307, ptr noundef %13310, i32 noundef %13312) #10
  br label %13331

13314:                                            ; preds = %13292, %13285
  %13315 = load i32, ptr %281, align 4, !tbaa !5
  %13316 = call ptr @__errno_location() #11
  store i32 %13315, ptr %13316, align 4, !tbaa !5
  %13317 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13318 = load i32, ptr @test_count, align 4, !tbaa !5
  %13319 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13320 = load i32, ptr %13319, align 4, !tbaa !5
  %13321 = call ptr @s2n_strerror(i32 noundef %13320, ptr noundef @.str.4)
  %13322 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13323 = load i32, ptr %13322, align 4, !tbaa !5
  %13324 = call ptr @s2n_strerror_debug(i32 noundef %13323, ptr noundef @.str.4)
  %13325 = call ptr @__errno_location() #11
  %13326 = load i32, ptr %13325, align 4, !tbaa !5
  %13327 = call ptr @strerror(i32 noundef %13326) #10
  %13328 = call ptr @__errno_location() #11
  %13329 = load i32, ptr %13328, align 4, !tbaa !5
  %13330 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13317, ptr noundef @.str.5, i32 noundef %13318, ptr noundef @.str.69, ptr noundef @.str.1, i32 noundef 588, ptr noundef %13321, ptr noundef %13324, ptr noundef %13327, i32 noundef %13329) #10
  br label %13331

13331:                                            ; preds = %13314, %13297
  call void @llvm.lifetime.end.p0(i64 4, ptr %281) #10
  br label %13332

13332:                                            ; preds = %13331
  br label %13333

13333:                                            ; preds = %13332
  call void @exit(i32 noundef 1) #12
  unreachable

13334:                                            ; No predecessors!
  br label %13335

13335:                                            ; preds = %13334
  br label %13336

13336:                                            ; preds = %13335, %13273
  br label %13337

13337:                                            ; preds = %13336
  br label %13338

13338:                                            ; preds = %13337
  br label %13339

13339:                                            ; preds = %13338
  %13340 = load i32, ptr @test_count, align 4, !tbaa !5
  %13341 = add nsw i32 %13340, 1
  store i32 %13341, ptr @test_count, align 4, !tbaa !5
  %13342 = load ptr, ptr %278, align 8, !tbaa !9
  %13343 = load ptr, ptr %254, align 8, !tbaa !9
  %13344 = call i32 @s2n_connection_set_config(ptr noundef %13342, ptr noundef %13343)
  %13345 = icmp eq i32 %13344, -1
  br i1 %13345, label %13346, label %13399

13346:                                            ; preds = %13339
  br label %13347

13347:                                            ; preds = %13346
  br label %13348

13348:                                            ; preds = %13347
  call void @llvm.lifetime.start.p0(i64 4, ptr %282) #10
  %13349 = call ptr @__errno_location() #11
  %13350 = load i32, ptr %13349, align 4, !tbaa !5
  store i32 %13350, ptr %282, align 4, !tbaa !5
  %13351 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13352 = call i32 @s2n_print_stacktrace(ptr noundef %13351)
  %13353 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13354 = trunc i8 %13353 to i1
  br i1 %13354, label %13355, label %13377

13355:                                            ; preds = %13348
  %13356 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13357 = call i32 @fileno(ptr noundef %13356) #10
  %13358 = call i32 @isatty(i32 noundef %13357) #10
  %13359 = icmp ne i32 %13358, 0
  br i1 %13359, label %13360, label %13377

13360:                                            ; preds = %13355
  %13361 = load i32, ptr %282, align 4, !tbaa !5
  %13362 = call ptr @__errno_location() #11
  store i32 %13361, ptr %13362, align 4, !tbaa !5
  %13363 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13364 = load i32, ptr @test_count, align 4, !tbaa !5
  %13365 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13366 = load i32, ptr %13365, align 4, !tbaa !5
  %13367 = call ptr @s2n_strerror(i32 noundef %13366, ptr noundef @.str.4)
  %13368 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13369 = load i32, ptr %13368, align 4, !tbaa !5
  %13370 = call ptr @s2n_strerror_debug(i32 noundef %13369, ptr noundef @.str.4)
  %13371 = call ptr @__errno_location() #11
  %13372 = load i32, ptr %13371, align 4, !tbaa !5
  %13373 = call ptr @strerror(i32 noundef %13372) #10
  %13374 = call ptr @__errno_location() #11
  %13375 = load i32, ptr %13374, align 4, !tbaa !5
  %13376 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13363, ptr noundef @.str.2, i32 noundef %13364, ptr noundef @.str.70, ptr noundef @.str.1, i32 noundef 589, ptr noundef %13367, ptr noundef %13370, ptr noundef %13373, i32 noundef %13375) #10
  br label %13394

13377:                                            ; preds = %13355, %13348
  %13378 = load i32, ptr %282, align 4, !tbaa !5
  %13379 = call ptr @__errno_location() #11
  store i32 %13378, ptr %13379, align 4, !tbaa !5
  %13380 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13381 = load i32, ptr @test_count, align 4, !tbaa !5
  %13382 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13383 = load i32, ptr %13382, align 4, !tbaa !5
  %13384 = call ptr @s2n_strerror(i32 noundef %13383, ptr noundef @.str.4)
  %13385 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13386 = load i32, ptr %13385, align 4, !tbaa !5
  %13387 = call ptr @s2n_strerror_debug(i32 noundef %13386, ptr noundef @.str.4)
  %13388 = call ptr @__errno_location() #11
  %13389 = load i32, ptr %13388, align 4, !tbaa !5
  %13390 = call ptr @strerror(i32 noundef %13389) #10
  %13391 = call ptr @__errno_location() #11
  %13392 = load i32, ptr %13391, align 4, !tbaa !5
  %13393 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13380, ptr noundef @.str.5, i32 noundef %13381, ptr noundef @.str.70, ptr noundef @.str.1, i32 noundef 589, ptr noundef %13384, ptr noundef %13387, ptr noundef %13390, i32 noundef %13392) #10
  br label %13394

13394:                                            ; preds = %13377, %13360
  call void @llvm.lifetime.end.p0(i64 4, ptr %282) #10
  br label %13395

13395:                                            ; preds = %13394
  br label %13396

13396:                                            ; preds = %13395
  call void @exit(i32 noundef 1) #12
  unreachable

13397:                                            ; No predecessors!
  br label %13398

13398:                                            ; preds = %13397
  br label %13399

13399:                                            ; preds = %13398, %13339
  br label %13400

13400:                                            ; preds = %13399
  br label %13401

13401:                                            ; preds = %13400
  br label %13402

13402:                                            ; preds = %13401
  %13403 = load i32, ptr @test_count, align 4, !tbaa !5
  %13404 = add nsw i32 %13403, 1
  store i32 %13404, ptr @test_count, align 4, !tbaa !5
  %13405 = load ptr, ptr %275, align 8, !tbaa !9
  %13406 = call i32 @s2n_server_hello_send(ptr noundef %13405)
  %13407 = icmp eq i32 %13406, -1
  br i1 %13407, label %13408, label %13461

13408:                                            ; preds = %13402
  br label %13409

13409:                                            ; preds = %13408
  br label %13410

13410:                                            ; preds = %13409
  call void @llvm.lifetime.start.p0(i64 4, ptr %283) #10
  %13411 = call ptr @__errno_location() #11
  %13412 = load i32, ptr %13411, align 4, !tbaa !5
  store i32 %13412, ptr %283, align 4, !tbaa !5
  %13413 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13414 = call i32 @s2n_print_stacktrace(ptr noundef %13413)
  %13415 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13416 = trunc i8 %13415 to i1
  br i1 %13416, label %13417, label %13439

13417:                                            ; preds = %13410
  %13418 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13419 = call i32 @fileno(ptr noundef %13418) #10
  %13420 = call i32 @isatty(i32 noundef %13419) #10
  %13421 = icmp ne i32 %13420, 0
  br i1 %13421, label %13422, label %13439

13422:                                            ; preds = %13417
  %13423 = load i32, ptr %283, align 4, !tbaa !5
  %13424 = call ptr @__errno_location() #11
  store i32 %13423, ptr %13424, align 4, !tbaa !5
  %13425 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13426 = load i32, ptr @test_count, align 4, !tbaa !5
  %13427 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13428 = load i32, ptr %13427, align 4, !tbaa !5
  %13429 = call ptr @s2n_strerror(i32 noundef %13428, ptr noundef @.str.4)
  %13430 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13431 = load i32, ptr %13430, align 4, !tbaa !5
  %13432 = call ptr @s2n_strerror_debug(i32 noundef %13431, ptr noundef @.str.4)
  %13433 = call ptr @__errno_location() #11
  %13434 = load i32, ptr %13433, align 4, !tbaa !5
  %13435 = call ptr @strerror(i32 noundef %13434) #10
  %13436 = call ptr @__errno_location() #11
  %13437 = load i32, ptr %13436, align 4, !tbaa !5
  %13438 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13425, ptr noundef @.str.2, i32 noundef %13426, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 591, ptr noundef %13429, ptr noundef %13432, ptr noundef %13435, i32 noundef %13437) #10
  br label %13456

13439:                                            ; preds = %13417, %13410
  %13440 = load i32, ptr %283, align 4, !tbaa !5
  %13441 = call ptr @__errno_location() #11
  store i32 %13440, ptr %13441, align 4, !tbaa !5
  %13442 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13443 = load i32, ptr @test_count, align 4, !tbaa !5
  %13444 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13445 = load i32, ptr %13444, align 4, !tbaa !5
  %13446 = call ptr @s2n_strerror(i32 noundef %13445, ptr noundef @.str.4)
  %13447 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13448 = load i32, ptr %13447, align 4, !tbaa !5
  %13449 = call ptr @s2n_strerror_debug(i32 noundef %13448, ptr noundef @.str.4)
  %13450 = call ptr @__errno_location() #11
  %13451 = load i32, ptr %13450, align 4, !tbaa !5
  %13452 = call ptr @strerror(i32 noundef %13451) #10
  %13453 = call ptr @__errno_location() #11
  %13454 = load i32, ptr %13453, align 4, !tbaa !5
  %13455 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13442, ptr noundef @.str.5, i32 noundef %13443, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 591, ptr noundef %13446, ptr noundef %13449, ptr noundef %13452, i32 noundef %13454) #10
  br label %13456

13456:                                            ; preds = %13439, %13422
  call void @llvm.lifetime.end.p0(i64 4, ptr %283) #10
  br label %13457

13457:                                            ; preds = %13456
  br label %13458

13458:                                            ; preds = %13457
  call void @exit(i32 noundef 1) #12
  unreachable

13459:                                            ; No predecessors!
  br label %13460

13460:                                            ; preds = %13459
  br label %13461

13461:                                            ; preds = %13460, %13402
  br label %13462

13462:                                            ; preds = %13461
  br label %13463

13463:                                            ; preds = %13462
  br label %13464

13464:                                            ; preds = %13463
  %13465 = load i32, ptr @test_count, align 4, !tbaa !5
  %13466 = add nsw i32 %13465, 1
  store i32 %13466, ptr @test_count, align 4, !tbaa !5
  %13467 = load ptr, ptr %275, align 8, !tbaa !9
  %13468 = getelementptr inbounds %struct.s2n_connection, ptr %13467, i32 0, i32 52
  %13469 = getelementptr inbounds %struct.s2n_handshake, ptr %13468, i32 0, i32 0
  %13470 = load ptr, ptr %278, align 8, !tbaa !9
  %13471 = getelementptr inbounds %struct.s2n_connection, ptr %13470, i32 0, i32 52
  %13472 = getelementptr inbounds %struct.s2n_handshake, ptr %13471, i32 0, i32 0
  %13473 = load ptr, ptr %275, align 8, !tbaa !9
  %13474 = getelementptr inbounds %struct.s2n_connection, ptr %13473, i32 0, i32 52
  %13475 = getelementptr inbounds %struct.s2n_handshake, ptr %13474, i32 0, i32 0
  %13476 = getelementptr inbounds %struct.s2n_stuffer, ptr %13475, i32 0, i32 2
  %13477 = load i32, ptr %13476, align 4, !tbaa !58
  %13478 = load ptr, ptr %275, align 8, !tbaa !9
  %13479 = getelementptr inbounds %struct.s2n_connection, ptr %13478, i32 0, i32 52
  %13480 = getelementptr inbounds %struct.s2n_handshake, ptr %13479, i32 0, i32 0
  %13481 = getelementptr inbounds %struct.s2n_stuffer, ptr %13480, i32 0, i32 1
  %13482 = load i32, ptr %13481, align 8, !tbaa !59
  %13483 = sub i32 %13477, %13482
  %13484 = call i32 @s2n_stuffer_copy(ptr noundef %13469, ptr noundef %13472, i32 noundef %13483)
  %13485 = icmp eq i32 %13484, -1
  br i1 %13485, label %13486, label %13539

13486:                                            ; preds = %13464
  br label %13487

13487:                                            ; preds = %13486
  br label %13488

13488:                                            ; preds = %13487
  call void @llvm.lifetime.start.p0(i64 4, ptr %284) #10
  %13489 = call ptr @__errno_location() #11
  %13490 = load i32, ptr %13489, align 4, !tbaa !5
  store i32 %13490, ptr %284, align 4, !tbaa !5
  %13491 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13492 = call i32 @s2n_print_stacktrace(ptr noundef %13491)
  %13493 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13494 = trunc i8 %13493 to i1
  br i1 %13494, label %13495, label %13517

13495:                                            ; preds = %13488
  %13496 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13497 = call i32 @fileno(ptr noundef %13496) #10
  %13498 = call i32 @isatty(i32 noundef %13497) #10
  %13499 = icmp ne i32 %13498, 0
  br i1 %13499, label %13500, label %13517

13500:                                            ; preds = %13495
  %13501 = load i32, ptr %284, align 4, !tbaa !5
  %13502 = call ptr @__errno_location() #11
  store i32 %13501, ptr %13502, align 4, !tbaa !5
  %13503 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13504 = load i32, ptr @test_count, align 4, !tbaa !5
  %13505 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13506 = load i32, ptr %13505, align 4, !tbaa !5
  %13507 = call ptr @s2n_strerror(i32 noundef %13506, ptr noundef @.str.4)
  %13508 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13509 = load i32, ptr %13508, align 4, !tbaa !5
  %13510 = call ptr @s2n_strerror_debug(i32 noundef %13509, ptr noundef @.str.4)
  %13511 = call ptr @__errno_location() #11
  %13512 = load i32, ptr %13511, align 4, !tbaa !5
  %13513 = call ptr @strerror(i32 noundef %13512) #10
  %13514 = call ptr @__errno_location() #11
  %13515 = load i32, ptr %13514, align 4, !tbaa !5
  %13516 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13503, ptr noundef @.str.2, i32 noundef %13504, ptr noundef @.str.71, ptr noundef @.str.1, i32 noundef 593, ptr noundef %13507, ptr noundef %13510, ptr noundef %13513, i32 noundef %13515) #10
  br label %13534

13517:                                            ; preds = %13495, %13488
  %13518 = load i32, ptr %284, align 4, !tbaa !5
  %13519 = call ptr @__errno_location() #11
  store i32 %13518, ptr %13519, align 4, !tbaa !5
  %13520 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13521 = load i32, ptr @test_count, align 4, !tbaa !5
  %13522 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13523 = load i32, ptr %13522, align 4, !tbaa !5
  %13524 = call ptr @s2n_strerror(i32 noundef %13523, ptr noundef @.str.4)
  %13525 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13526 = load i32, ptr %13525, align 4, !tbaa !5
  %13527 = call ptr @s2n_strerror_debug(i32 noundef %13526, ptr noundef @.str.4)
  %13528 = call ptr @__errno_location() #11
  %13529 = load i32, ptr %13528, align 4, !tbaa !5
  %13530 = call ptr @strerror(i32 noundef %13529) #10
  %13531 = call ptr @__errno_location() #11
  %13532 = load i32, ptr %13531, align 4, !tbaa !5
  %13533 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13520, ptr noundef @.str.5, i32 noundef %13521, ptr noundef @.str.71, ptr noundef @.str.1, i32 noundef 593, ptr noundef %13524, ptr noundef %13527, ptr noundef %13530, i32 noundef %13532) #10
  br label %13534

13534:                                            ; preds = %13517, %13500
  call void @llvm.lifetime.end.p0(i64 4, ptr %284) #10
  br label %13535

13535:                                            ; preds = %13534
  br label %13536

13536:                                            ; preds = %13535
  call void @exit(i32 noundef 1) #12
  unreachable

13537:                                            ; No predecessors!
  br label %13538

13538:                                            ; preds = %13537
  br label %13539

13539:                                            ; preds = %13538, %13464
  br label %13540

13540:                                            ; preds = %13539
  br label %13541

13541:                                            ; preds = %13540
  br label %13542

13542:                                            ; preds = %13541
  br label %13543

13543:                                            ; preds = %13542
  br label %13544

13544:                                            ; preds = %13543
  %13545 = load i32, ptr @test_count, align 4, !tbaa !5
  %13546 = add nsw i32 %13545, 1
  store i32 %13546, ptr @test_count, align 4, !tbaa !5
  %13547 = load ptr, ptr %278, align 8, !tbaa !9
  %13548 = call i32 @s2n_server_hello_recv(ptr noundef %13547)
  %13549 = icmp eq i32 %13548, -1
  br i1 %13549, label %13603, label %13550

13550:                                            ; preds = %13544
  br label %13551

13551:                                            ; preds = %13550
  br label %13552

13552:                                            ; preds = %13551
  call void @llvm.lifetime.start.p0(i64 4, ptr %285) #10
  %13553 = call ptr @__errno_location() #11
  %13554 = load i32, ptr %13553, align 4, !tbaa !5
  store i32 %13554, ptr %285, align 4, !tbaa !5
  %13555 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13556 = call i32 @s2n_print_stacktrace(ptr noundef %13555)
  %13557 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13558 = trunc i8 %13557 to i1
  br i1 %13558, label %13559, label %13581

13559:                                            ; preds = %13552
  %13560 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13561 = call i32 @fileno(ptr noundef %13560) #10
  %13562 = call i32 @isatty(i32 noundef %13561) #10
  %13563 = icmp ne i32 %13562, 0
  br i1 %13563, label %13564, label %13581

13564:                                            ; preds = %13559
  %13565 = load i32, ptr %285, align 4, !tbaa !5
  %13566 = call ptr @__errno_location() #11
  store i32 %13565, ptr %13566, align 4, !tbaa !5
  %13567 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13568 = load i32, ptr @test_count, align 4, !tbaa !5
  %13569 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13570 = load i32, ptr %13569, align 4, !tbaa !5
  %13571 = call ptr @s2n_strerror(i32 noundef %13570, ptr noundef @.str.4)
  %13572 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13573 = load i32, ptr %13572, align 4, !tbaa !5
  %13574 = call ptr @s2n_strerror_debug(i32 noundef %13573, ptr noundef @.str.4)
  %13575 = call ptr @__errno_location() #11
  %13576 = load i32, ptr %13575, align 4, !tbaa !5
  %13577 = call ptr @strerror(i32 noundef %13576) #10
  %13578 = call ptr @__errno_location() #11
  %13579 = load i32, ptr %13578, align 4, !tbaa !5
  %13580 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13567, ptr noundef @.str.2, i32 noundef %13568, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 594, ptr noundef %13571, ptr noundef %13574, ptr noundef %13577, i32 noundef %13579) #10
  br label %13598

13581:                                            ; preds = %13559, %13552
  %13582 = load i32, ptr %285, align 4, !tbaa !5
  %13583 = call ptr @__errno_location() #11
  store i32 %13582, ptr %13583, align 4, !tbaa !5
  %13584 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13585 = load i32, ptr @test_count, align 4, !tbaa !5
  %13586 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13587 = load i32, ptr %13586, align 4, !tbaa !5
  %13588 = call ptr @s2n_strerror(i32 noundef %13587, ptr noundef @.str.4)
  %13589 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13590 = load i32, ptr %13589, align 4, !tbaa !5
  %13591 = call ptr @s2n_strerror_debug(i32 noundef %13590, ptr noundef @.str.4)
  %13592 = call ptr @__errno_location() #11
  %13593 = load i32, ptr %13592, align 4, !tbaa !5
  %13594 = call ptr @strerror(i32 noundef %13593) #10
  %13595 = call ptr @__errno_location() #11
  %13596 = load i32, ptr %13595, align 4, !tbaa !5
  %13597 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13584, ptr noundef @.str.5, i32 noundef %13585, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 594, ptr noundef %13588, ptr noundef %13591, ptr noundef %13594, i32 noundef %13596) #10
  br label %13598

13598:                                            ; preds = %13581, %13564
  call void @llvm.lifetime.end.p0(i64 4, ptr %285) #10
  br label %13599

13599:                                            ; preds = %13598
  br label %13600

13600:                                            ; preds = %13599
  call void @exit(i32 noundef 1) #12
  unreachable

13601:                                            ; No predecessors!
  br label %13602

13602:                                            ; preds = %13601
  br label %13603

13603:                                            ; preds = %13602, %13544
  br label %13604

13604:                                            ; preds = %13603
  br label %13605

13605:                                            ; preds = %13604
  br label %13606

13606:                                            ; preds = %13605
  %13607 = load i32, ptr @test_count, align 4, !tbaa !5
  %13608 = add nsw i32 %13607, 1
  store i32 %13608, ptr @test_count, align 4, !tbaa !5
  %13609 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13610 = load i32, ptr %13609, align 4, !tbaa !5
  %13611 = icmp eq i32 %13610, 335544384
  br i1 %13611, label %13665, label %13612

13612:                                            ; preds = %13606
  br label %13613

13613:                                            ; preds = %13612
  br label %13614

13614:                                            ; preds = %13613
  call void @llvm.lifetime.start.p0(i64 4, ptr %286) #10
  %13615 = call ptr @__errno_location() #11
  %13616 = load i32, ptr %13615, align 4, !tbaa !5
  store i32 %13616, ptr %286, align 4, !tbaa !5
  %13617 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13618 = call i32 @s2n_print_stacktrace(ptr noundef %13617)
  %13619 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13620 = trunc i8 %13619 to i1
  br i1 %13620, label %13621, label %13643

13621:                                            ; preds = %13614
  %13622 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13623 = call i32 @fileno(ptr noundef %13622) #10
  %13624 = call i32 @isatty(i32 noundef %13623) #10
  %13625 = icmp ne i32 %13624, 0
  br i1 %13625, label %13626, label %13643

13626:                                            ; preds = %13621
  %13627 = load i32, ptr %286, align 4, !tbaa !5
  %13628 = call ptr @__errno_location() #11
  store i32 %13627, ptr %13628, align 4, !tbaa !5
  %13629 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13630 = load i32, ptr @test_count, align 4, !tbaa !5
  %13631 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13632 = load i32, ptr %13631, align 4, !tbaa !5
  %13633 = call ptr @s2n_strerror(i32 noundef %13632, ptr noundef @.str.4)
  %13634 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13635 = load i32, ptr %13634, align 4, !tbaa !5
  %13636 = call ptr @s2n_strerror_debug(i32 noundef %13635, ptr noundef @.str.4)
  %13637 = call ptr @__errno_location() #11
  %13638 = load i32, ptr %13637, align 4, !tbaa !5
  %13639 = call ptr @strerror(i32 noundef %13638) #10
  %13640 = call ptr @__errno_location() #11
  %13641 = load i32, ptr %13640, align 4, !tbaa !5
  %13642 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13629, ptr noundef @.str.2, i32 noundef %13630, ptr noundef @.str.76, ptr noundef @.str.1, i32 noundef 594, ptr noundef %13633, ptr noundef %13636, ptr noundef %13639, i32 noundef %13641) #10
  br label %13660

13643:                                            ; preds = %13621, %13614
  %13644 = load i32, ptr %286, align 4, !tbaa !5
  %13645 = call ptr @__errno_location() #11
  store i32 %13644, ptr %13645, align 4, !tbaa !5
  %13646 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13647 = load i32, ptr @test_count, align 4, !tbaa !5
  %13648 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13649 = load i32, ptr %13648, align 4, !tbaa !5
  %13650 = call ptr @s2n_strerror(i32 noundef %13649, ptr noundef @.str.4)
  %13651 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13652 = load i32, ptr %13651, align 4, !tbaa !5
  %13653 = call ptr @s2n_strerror_debug(i32 noundef %13652, ptr noundef @.str.4)
  %13654 = call ptr @__errno_location() #11
  %13655 = load i32, ptr %13654, align 4, !tbaa !5
  %13656 = call ptr @strerror(i32 noundef %13655) #10
  %13657 = call ptr @__errno_location() #11
  %13658 = load i32, ptr %13657, align 4, !tbaa !5
  %13659 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13646, ptr noundef @.str.5, i32 noundef %13647, ptr noundef @.str.76, ptr noundef @.str.1, i32 noundef 594, ptr noundef %13650, ptr noundef %13653, ptr noundef %13656, i32 noundef %13658) #10
  br label %13660

13660:                                            ; preds = %13643, %13626
  call void @llvm.lifetime.end.p0(i64 4, ptr %286) #10
  br label %13661

13661:                                            ; preds = %13660
  br label %13662

13662:                                            ; preds = %13661
  call void @exit(i32 noundef 1) #12
  unreachable

13663:                                            ; No predecessors!
  br label %13664

13664:                                            ; preds = %13663
  br label %13665

13665:                                            ; preds = %13664, %13606
  br label %13666

13666:                                            ; preds = %13665
  br label %13667

13667:                                            ; preds = %13666
  br label %13668

13668:                                            ; preds = %13667
  %13669 = load i32, ptr @test_count, align 4, !tbaa !5
  %13670 = add nsw i32 %13669, 1
  store i32 %13670, ptr @test_count, align 4, !tbaa !5
  %13671 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13672 = load i32, ptr %13671, align 4, !tbaa !5
  %13673 = call ptr @s2n_strerror_debug(i32 noundef %13672, ptr noundef @.str.4)
  %13674 = icmp eq ptr %13673, null
  br i1 %13674, label %13675, label %13728

13675:                                            ; preds = %13668
  br label %13676

13676:                                            ; preds = %13675
  br label %13677

13677:                                            ; preds = %13676
  call void @llvm.lifetime.start.p0(i64 4, ptr %287) #10
  %13678 = call ptr @__errno_location() #11
  %13679 = load i32, ptr %13678, align 4, !tbaa !5
  store i32 %13679, ptr %287, align 4, !tbaa !5
  %13680 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13681 = call i32 @s2n_print_stacktrace(ptr noundef %13680)
  %13682 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13683 = trunc i8 %13682 to i1
  br i1 %13683, label %13684, label %13706

13684:                                            ; preds = %13677
  %13685 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13686 = call i32 @fileno(ptr noundef %13685) #10
  %13687 = call i32 @isatty(i32 noundef %13686) #10
  %13688 = icmp ne i32 %13687, 0
  br i1 %13688, label %13689, label %13706

13689:                                            ; preds = %13684
  %13690 = load i32, ptr %287, align 4, !tbaa !5
  %13691 = call ptr @__errno_location() #11
  store i32 %13690, ptr %13691, align 4, !tbaa !5
  %13692 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13693 = load i32, ptr @test_count, align 4, !tbaa !5
  %13694 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13695 = load i32, ptr %13694, align 4, !tbaa !5
  %13696 = call ptr @s2n_strerror(i32 noundef %13695, ptr noundef @.str.4)
  %13697 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13698 = load i32, ptr %13697, align 4, !tbaa !5
  %13699 = call ptr @s2n_strerror_debug(i32 noundef %13698, ptr noundef @.str.4)
  %13700 = call ptr @__errno_location() #11
  %13701 = load i32, ptr %13700, align 4, !tbaa !5
  %13702 = call ptr @strerror(i32 noundef %13701) #10
  %13703 = call ptr @__errno_location() #11
  %13704 = load i32, ptr %13703, align 4, !tbaa !5
  %13705 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13692, ptr noundef @.str.2, i32 noundef %13693, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 594, ptr noundef %13696, ptr noundef %13699, ptr noundef %13702, i32 noundef %13704) #10
  br label %13723

13706:                                            ; preds = %13684, %13677
  %13707 = load i32, ptr %287, align 4, !tbaa !5
  %13708 = call ptr @__errno_location() #11
  store i32 %13707, ptr %13708, align 4, !tbaa !5
  %13709 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13710 = load i32, ptr @test_count, align 4, !tbaa !5
  %13711 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13712 = load i32, ptr %13711, align 4, !tbaa !5
  %13713 = call ptr @s2n_strerror(i32 noundef %13712, ptr noundef @.str.4)
  %13714 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13715 = load i32, ptr %13714, align 4, !tbaa !5
  %13716 = call ptr @s2n_strerror_debug(i32 noundef %13715, ptr noundef @.str.4)
  %13717 = call ptr @__errno_location() #11
  %13718 = load i32, ptr %13717, align 4, !tbaa !5
  %13719 = call ptr @strerror(i32 noundef %13718) #10
  %13720 = call ptr @__errno_location() #11
  %13721 = load i32, ptr %13720, align 4, !tbaa !5
  %13722 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13709, ptr noundef @.str.5, i32 noundef %13710, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 594, ptr noundef %13713, ptr noundef %13716, ptr noundef %13719, i32 noundef %13721) #10
  br label %13723

13723:                                            ; preds = %13706, %13689
  call void @llvm.lifetime.end.p0(i64 4, ptr %287) #10
  br label %13724

13724:                                            ; preds = %13723
  br label %13725

13725:                                            ; preds = %13724
  call void @exit(i32 noundef 1) #12
  unreachable

13726:                                            ; No predecessors!
  br label %13727

13727:                                            ; preds = %13726
  br label %13728

13728:                                            ; preds = %13727, %13668
  br label %13729

13729:                                            ; preds = %13728
  br label %13730

13730:                                            ; preds = %13729
  br label %13731

13731:                                            ; preds = %13730
  br label %13732

13732:                                            ; preds = %13731
  br label %13733

13733:                                            ; preds = %13732
  %13734 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %13734, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %13735 = call ptr @__errno_location() #11
  store i32 0, ptr %13735, align 4, !tbaa !5
  br label %13736

13736:                                            ; preds = %13733
  br label %13737

13737:                                            ; preds = %13736
  br label %13738

13738:                                            ; preds = %13737
  br label %13739

13739:                                            ; preds = %13738
  br label %13740

13740:                                            ; preds = %13739
  %13741 = load i32, ptr @test_count, align 4, !tbaa !5
  %13742 = add nsw i32 %13741, 1
  store i32 %13742, ptr @test_count, align 4, !tbaa !5
  %13743 = load ptr, ptr %275, align 8, !tbaa !9
  %13744 = getelementptr inbounds %struct.s2n_connection, ptr %13743, i32 0, i32 23
  %13745 = load i8, ptr %13744, align 4, !tbaa !42
  %13746 = zext i8 %13745 to i32
  %13747 = icmp eq i32 %13746, 33
  br i1 %13747, label %13801, label %13748

13748:                                            ; preds = %13740
  br label %13749

13749:                                            ; preds = %13748
  br label %13750

13750:                                            ; preds = %13749
  call void @llvm.lifetime.start.p0(i64 4, ptr %288) #10
  %13751 = call ptr @__errno_location() #11
  %13752 = load i32, ptr %13751, align 4, !tbaa !5
  store i32 %13752, ptr %288, align 4, !tbaa !5
  %13753 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13754 = call i32 @s2n_print_stacktrace(ptr noundef %13753)
  %13755 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13756 = trunc i8 %13755 to i1
  br i1 %13756, label %13757, label %13779

13757:                                            ; preds = %13750
  %13758 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13759 = call i32 @fileno(ptr noundef %13758) #10
  %13760 = call i32 @isatty(i32 noundef %13759) #10
  %13761 = icmp ne i32 %13760, 0
  br i1 %13761, label %13762, label %13779

13762:                                            ; preds = %13757
  %13763 = load i32, ptr %288, align 4, !tbaa !5
  %13764 = call ptr @__errno_location() #11
  store i32 %13763, ptr %13764, align 4, !tbaa !5
  %13765 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13766 = load i32, ptr @test_count, align 4, !tbaa !5
  %13767 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13768 = load i32, ptr %13767, align 4, !tbaa !5
  %13769 = call ptr @s2n_strerror(i32 noundef %13768, ptr noundef @.str.4)
  %13770 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13771 = load i32, ptr %13770, align 4, !tbaa !5
  %13772 = call ptr @s2n_strerror_debug(i32 noundef %13771, ptr noundef @.str.4)
  %13773 = call ptr @__errno_location() #11
  %13774 = load i32, ptr %13773, align 4, !tbaa !5
  %13775 = call ptr @strerror(i32 noundef %13774) #10
  %13776 = call ptr @__errno_location() #11
  %13777 = load i32, ptr %13776, align 4, !tbaa !5
  %13778 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13765, ptr noundef @.str.2, i32 noundef %13766, ptr noundef @.str.77, ptr noundef @.str.1, i32 noundef 596, ptr noundef %13769, ptr noundef %13772, ptr noundef %13775, i32 noundef %13777) #10
  br label %13796

13779:                                            ; preds = %13757, %13750
  %13780 = load i32, ptr %288, align 4, !tbaa !5
  %13781 = call ptr @__errno_location() #11
  store i32 %13780, ptr %13781, align 4, !tbaa !5
  %13782 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13783 = load i32, ptr @test_count, align 4, !tbaa !5
  %13784 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13785 = load i32, ptr %13784, align 4, !tbaa !5
  %13786 = call ptr @s2n_strerror(i32 noundef %13785, ptr noundef @.str.4)
  %13787 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13788 = load i32, ptr %13787, align 4, !tbaa !5
  %13789 = call ptr @s2n_strerror_debug(i32 noundef %13788, ptr noundef @.str.4)
  %13790 = call ptr @__errno_location() #11
  %13791 = load i32, ptr %13790, align 4, !tbaa !5
  %13792 = call ptr @strerror(i32 noundef %13791) #10
  %13793 = call ptr @__errno_location() #11
  %13794 = load i32, ptr %13793, align 4, !tbaa !5
  %13795 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13782, ptr noundef @.str.5, i32 noundef %13783, ptr noundef @.str.77, ptr noundef @.str.1, i32 noundef 596, ptr noundef %13786, ptr noundef %13789, ptr noundef %13792, i32 noundef %13794) #10
  br label %13796

13796:                                            ; preds = %13779, %13762
  call void @llvm.lifetime.end.p0(i64 4, ptr %288) #10
  br label %13797

13797:                                            ; preds = %13796
  br label %13798

13798:                                            ; preds = %13797
  call void @exit(i32 noundef 1) #12
  unreachable

13799:                                            ; No predecessors!
  br label %13800

13800:                                            ; preds = %13799
  br label %13801

13801:                                            ; preds = %13800, %13740
  br label %13802

13802:                                            ; preds = %13801
  br label %13803

13803:                                            ; preds = %13802
  br label %13804

13804:                                            ; preds = %13803
  %13805 = load i32, ptr @test_count, align 4, !tbaa !5
  %13806 = add nsw i32 %13805, 1
  store i32 %13806, ptr @test_count, align 4, !tbaa !5
  %13807 = load ptr, ptr %278, align 8, !tbaa !9
  %13808 = call i32 @s2n_connection_free(ptr noundef %13807)
  %13809 = icmp eq i32 %13808, -1
  br i1 %13809, label %13810, label %13863

13810:                                            ; preds = %13804
  br label %13811

13811:                                            ; preds = %13810
  br label %13812

13812:                                            ; preds = %13811
  call void @llvm.lifetime.start.p0(i64 4, ptr %289) #10
  %13813 = call ptr @__errno_location() #11
  %13814 = load i32, ptr %13813, align 4, !tbaa !5
  store i32 %13814, ptr %289, align 4, !tbaa !5
  %13815 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13816 = call i32 @s2n_print_stacktrace(ptr noundef %13815)
  %13817 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13818 = trunc i8 %13817 to i1
  br i1 %13818, label %13819, label %13841

13819:                                            ; preds = %13812
  %13820 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13821 = call i32 @fileno(ptr noundef %13820) #10
  %13822 = call i32 @isatty(i32 noundef %13821) #10
  %13823 = icmp ne i32 %13822, 0
  br i1 %13823, label %13824, label %13841

13824:                                            ; preds = %13819
  %13825 = load i32, ptr %289, align 4, !tbaa !5
  %13826 = call ptr @__errno_location() #11
  store i32 %13825, ptr %13826, align 4, !tbaa !5
  %13827 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13828 = load i32, ptr @test_count, align 4, !tbaa !5
  %13829 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13830 = load i32, ptr %13829, align 4, !tbaa !5
  %13831 = call ptr @s2n_strerror(i32 noundef %13830, ptr noundef @.str.4)
  %13832 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13833 = load i32, ptr %13832, align 4, !tbaa !5
  %13834 = call ptr @s2n_strerror_debug(i32 noundef %13833, ptr noundef @.str.4)
  %13835 = call ptr @__errno_location() #11
  %13836 = load i32, ptr %13835, align 4, !tbaa !5
  %13837 = call ptr @strerror(i32 noundef %13836) #10
  %13838 = call ptr @__errno_location() #11
  %13839 = load i32, ptr %13838, align 4, !tbaa !5
  %13840 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13827, ptr noundef @.str.2, i32 noundef %13828, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 598, ptr noundef %13831, ptr noundef %13834, ptr noundef %13837, i32 noundef %13839) #10
  br label %13858

13841:                                            ; preds = %13819, %13812
  %13842 = load i32, ptr %289, align 4, !tbaa !5
  %13843 = call ptr @__errno_location() #11
  store i32 %13842, ptr %13843, align 4, !tbaa !5
  %13844 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13845 = load i32, ptr @test_count, align 4, !tbaa !5
  %13846 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13847 = load i32, ptr %13846, align 4, !tbaa !5
  %13848 = call ptr @s2n_strerror(i32 noundef %13847, ptr noundef @.str.4)
  %13849 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13850 = load i32, ptr %13849, align 4, !tbaa !5
  %13851 = call ptr @s2n_strerror_debug(i32 noundef %13850, ptr noundef @.str.4)
  %13852 = call ptr @__errno_location() #11
  %13853 = load i32, ptr %13852, align 4, !tbaa !5
  %13854 = call ptr @strerror(i32 noundef %13853) #10
  %13855 = call ptr @__errno_location() #11
  %13856 = load i32, ptr %13855, align 4, !tbaa !5
  %13857 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13844, ptr noundef @.str.5, i32 noundef %13845, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 598, ptr noundef %13848, ptr noundef %13851, ptr noundef %13854, i32 noundef %13856) #10
  br label %13858

13858:                                            ; preds = %13841, %13824
  call void @llvm.lifetime.end.p0(i64 4, ptr %289) #10
  br label %13859

13859:                                            ; preds = %13858
  br label %13860

13860:                                            ; preds = %13859
  call void @exit(i32 noundef 1) #12
  unreachable

13861:                                            ; No predecessors!
  br label %13862

13862:                                            ; preds = %13861
  br label %13863

13863:                                            ; preds = %13862, %13804
  br label %13864

13864:                                            ; preds = %13863
  br label %13865

13865:                                            ; preds = %13864
  br label %13866

13866:                                            ; preds = %13865
  %13867 = load i32, ptr @test_count, align 4, !tbaa !5
  %13868 = add nsw i32 %13867, 1
  store i32 %13868, ptr @test_count, align 4, !tbaa !5
  %13869 = load ptr, ptr %275, align 8, !tbaa !9
  %13870 = call i32 @s2n_connection_free(ptr noundef %13869)
  %13871 = icmp eq i32 %13870, -1
  br i1 %13871, label %13872, label %13925

13872:                                            ; preds = %13866
  br label %13873

13873:                                            ; preds = %13872
  br label %13874

13874:                                            ; preds = %13873
  call void @llvm.lifetime.start.p0(i64 4, ptr %290) #10
  %13875 = call ptr @__errno_location() #11
  %13876 = load i32, ptr %13875, align 4, !tbaa !5
  store i32 %13876, ptr %290, align 4, !tbaa !5
  %13877 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13878 = call i32 @s2n_print_stacktrace(ptr noundef %13877)
  %13879 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13880 = trunc i8 %13879 to i1
  br i1 %13880, label %13881, label %13903

13881:                                            ; preds = %13874
  %13882 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13883 = call i32 @fileno(ptr noundef %13882) #10
  %13884 = call i32 @isatty(i32 noundef %13883) #10
  %13885 = icmp ne i32 %13884, 0
  br i1 %13885, label %13886, label %13903

13886:                                            ; preds = %13881
  %13887 = load i32, ptr %290, align 4, !tbaa !5
  %13888 = call ptr @__errno_location() #11
  store i32 %13887, ptr %13888, align 4, !tbaa !5
  %13889 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13890 = load i32, ptr @test_count, align 4, !tbaa !5
  %13891 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13892 = load i32, ptr %13891, align 4, !tbaa !5
  %13893 = call ptr @s2n_strerror(i32 noundef %13892, ptr noundef @.str.4)
  %13894 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13895 = load i32, ptr %13894, align 4, !tbaa !5
  %13896 = call ptr @s2n_strerror_debug(i32 noundef %13895, ptr noundef @.str.4)
  %13897 = call ptr @__errno_location() #11
  %13898 = load i32, ptr %13897, align 4, !tbaa !5
  %13899 = call ptr @strerror(i32 noundef %13898) #10
  %13900 = call ptr @__errno_location() #11
  %13901 = load i32, ptr %13900, align 4, !tbaa !5
  %13902 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13889, ptr noundef @.str.2, i32 noundef %13890, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 599, ptr noundef %13893, ptr noundef %13896, ptr noundef %13899, i32 noundef %13901) #10
  br label %13920

13903:                                            ; preds = %13881, %13874
  %13904 = load i32, ptr %290, align 4, !tbaa !5
  %13905 = call ptr @__errno_location() #11
  store i32 %13904, ptr %13905, align 4, !tbaa !5
  %13906 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13907 = load i32, ptr @test_count, align 4, !tbaa !5
  %13908 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13909 = load i32, ptr %13908, align 4, !tbaa !5
  %13910 = call ptr @s2n_strerror(i32 noundef %13909, ptr noundef @.str.4)
  %13911 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13912 = load i32, ptr %13911, align 4, !tbaa !5
  %13913 = call ptr @s2n_strerror_debug(i32 noundef %13912, ptr noundef @.str.4)
  %13914 = call ptr @__errno_location() #11
  %13915 = load i32, ptr %13914, align 4, !tbaa !5
  %13916 = call ptr @strerror(i32 noundef %13915) #10
  %13917 = call ptr @__errno_location() #11
  %13918 = load i32, ptr %13917, align 4, !tbaa !5
  %13919 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13906, ptr noundef @.str.5, i32 noundef %13907, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 599, ptr noundef %13910, ptr noundef %13913, ptr noundef %13916, i32 noundef %13918) #10
  br label %13920

13920:                                            ; preds = %13903, %13886
  call void @llvm.lifetime.end.p0(i64 4, ptr %290) #10
  br label %13921

13921:                                            ; preds = %13920
  br label %13922

13922:                                            ; preds = %13921
  call void @exit(i32 noundef 1) #12
  unreachable

13923:                                            ; No predecessors!
  br label %13924

13924:                                            ; preds = %13923
  br label %13925

13925:                                            ; preds = %13924, %13866
  br label %13926

13926:                                            ; preds = %13925
  br label %13927

13927:                                            ; preds = %13926
  call void @llvm.lifetime.end.p0(i64 8, ptr %278) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %275) #10
  br label %13928

13928:                                            ; preds = %13927
  %13929 = load i32, ptr @test_count, align 4, !tbaa !5
  %13930 = add nsw i32 %13929, 1
  store i32 %13930, ptr @test_count, align 4, !tbaa !5
  %13931 = load ptr, ptr %254, align 8, !tbaa !9
  %13932 = call i32 @s2n_config_free(ptr noundef %13931)
  %13933 = icmp eq i32 %13932, -1
  br i1 %13933, label %13934, label %13987

13934:                                            ; preds = %13928
  br label %13935

13935:                                            ; preds = %13934
  br label %13936

13936:                                            ; preds = %13935
  call void @llvm.lifetime.start.p0(i64 4, ptr %291) #10
  %13937 = call ptr @__errno_location() #11
  %13938 = load i32, ptr %13937, align 4, !tbaa !5
  store i32 %13938, ptr %291, align 4, !tbaa !5
  %13939 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13940 = call i32 @s2n_print_stacktrace(ptr noundef %13939)
  %13941 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13942 = trunc i8 %13941 to i1
  br i1 %13942, label %13943, label %13965

13943:                                            ; preds = %13936
  %13944 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13945 = call i32 @fileno(ptr noundef %13944) #10
  %13946 = call i32 @isatty(i32 noundef %13945) #10
  %13947 = icmp ne i32 %13946, 0
  br i1 %13947, label %13948, label %13965

13948:                                            ; preds = %13943
  %13949 = load i32, ptr %291, align 4, !tbaa !5
  %13950 = call ptr @__errno_location() #11
  store i32 %13949, ptr %13950, align 4, !tbaa !5
  %13951 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13952 = load i32, ptr @test_count, align 4, !tbaa !5
  %13953 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13954 = load i32, ptr %13953, align 4, !tbaa !5
  %13955 = call ptr @s2n_strerror(i32 noundef %13954, ptr noundef @.str.4)
  %13956 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13957 = load i32, ptr %13956, align 4, !tbaa !5
  %13958 = call ptr @s2n_strerror_debug(i32 noundef %13957, ptr noundef @.str.4)
  %13959 = call ptr @__errno_location() #11
  %13960 = load i32, ptr %13959, align 4, !tbaa !5
  %13961 = call ptr @strerror(i32 noundef %13960) #10
  %13962 = call ptr @__errno_location() #11
  %13963 = load i32, ptr %13962, align 4, !tbaa !5
  %13964 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13951, ptr noundef @.str.2, i32 noundef %13952, ptr noundef @.str.78, ptr noundef @.str.1, i32 noundef 602, ptr noundef %13955, ptr noundef %13958, ptr noundef %13961, i32 noundef %13963) #10
  br label %13982

13965:                                            ; preds = %13943, %13936
  %13966 = load i32, ptr %291, align 4, !tbaa !5
  %13967 = call ptr @__errno_location() #11
  store i32 %13966, ptr %13967, align 4, !tbaa !5
  %13968 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13969 = load i32, ptr @test_count, align 4, !tbaa !5
  %13970 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13971 = load i32, ptr %13970, align 4, !tbaa !5
  %13972 = call ptr @s2n_strerror(i32 noundef %13971, ptr noundef @.str.4)
  %13973 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13974 = load i32, ptr %13973, align 4, !tbaa !5
  %13975 = call ptr @s2n_strerror_debug(i32 noundef %13974, ptr noundef @.str.4)
  %13976 = call ptr @__errno_location() #11
  %13977 = load i32, ptr %13976, align 4, !tbaa !5
  %13978 = call ptr @strerror(i32 noundef %13977) #10
  %13979 = call ptr @__errno_location() #11
  %13980 = load i32, ptr %13979, align 4, !tbaa !5
  %13981 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13968, ptr noundef @.str.5, i32 noundef %13969, ptr noundef @.str.78, ptr noundef @.str.1, i32 noundef 602, ptr noundef %13972, ptr noundef %13975, ptr noundef %13978, i32 noundef %13980) #10
  br label %13982

13982:                                            ; preds = %13965, %13948
  call void @llvm.lifetime.end.p0(i64 4, ptr %291) #10
  br label %13983

13983:                                            ; preds = %13982
  br label %13984

13984:                                            ; preds = %13983
  call void @exit(i32 noundef 1) #12
  unreachable

13985:                                            ; No predecessors!
  br label %13986

13986:                                            ; preds = %13985
  br label %13987

13987:                                            ; preds = %13986, %13928
  br label %13988

13988:                                            ; preds = %13987
  br label %13989

13989:                                            ; preds = %13988
  br label %13990

13990:                                            ; preds = %13989
  %13991 = load i32, ptr @test_count, align 4, !tbaa !5
  %13992 = add nsw i32 %13991, 1
  store i32 %13992, ptr @test_count, align 4, !tbaa !5
  %13993 = load ptr, ptr %258, align 8, !tbaa !9
  %13994 = call i32 @s2n_config_free(ptr noundef %13993)
  %13995 = icmp eq i32 %13994, -1
  br i1 %13995, label %13996, label %14049

13996:                                            ; preds = %13990
  br label %13997

13997:                                            ; preds = %13996
  br label %13998

13998:                                            ; preds = %13997
  call void @llvm.lifetime.start.p0(i64 4, ptr %292) #10
  %13999 = call ptr @__errno_location() #11
  %14000 = load i32, ptr %13999, align 4, !tbaa !5
  store i32 %14000, ptr %292, align 4, !tbaa !5
  %14001 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14002 = call i32 @s2n_print_stacktrace(ptr noundef %14001)
  %14003 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14004 = trunc i8 %14003 to i1
  br i1 %14004, label %14005, label %14027

14005:                                            ; preds = %13998
  %14006 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14007 = call i32 @fileno(ptr noundef %14006) #10
  %14008 = call i32 @isatty(i32 noundef %14007) #10
  %14009 = icmp ne i32 %14008, 0
  br i1 %14009, label %14010, label %14027

14010:                                            ; preds = %14005
  %14011 = load i32, ptr %292, align 4, !tbaa !5
  %14012 = call ptr @__errno_location() #11
  store i32 %14011, ptr %14012, align 4, !tbaa !5
  %14013 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14014 = load i32, ptr @test_count, align 4, !tbaa !5
  %14015 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14016 = load i32, ptr %14015, align 4, !tbaa !5
  %14017 = call ptr @s2n_strerror(i32 noundef %14016, ptr noundef @.str.4)
  %14018 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14019 = load i32, ptr %14018, align 4, !tbaa !5
  %14020 = call ptr @s2n_strerror_debug(i32 noundef %14019, ptr noundef @.str.4)
  %14021 = call ptr @__errno_location() #11
  %14022 = load i32, ptr %14021, align 4, !tbaa !5
  %14023 = call ptr @strerror(i32 noundef %14022) #10
  %14024 = call ptr @__errno_location() #11
  %14025 = load i32, ptr %14024, align 4, !tbaa !5
  %14026 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14013, ptr noundef @.str.2, i32 noundef %14014, ptr noundef @.str.79, ptr noundef @.str.1, i32 noundef 603, ptr noundef %14017, ptr noundef %14020, ptr noundef %14023, i32 noundef %14025) #10
  br label %14044

14027:                                            ; preds = %14005, %13998
  %14028 = load i32, ptr %292, align 4, !tbaa !5
  %14029 = call ptr @__errno_location() #11
  store i32 %14028, ptr %14029, align 4, !tbaa !5
  %14030 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14031 = load i32, ptr @test_count, align 4, !tbaa !5
  %14032 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14033 = load i32, ptr %14032, align 4, !tbaa !5
  %14034 = call ptr @s2n_strerror(i32 noundef %14033, ptr noundef @.str.4)
  %14035 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14036 = load i32, ptr %14035, align 4, !tbaa !5
  %14037 = call ptr @s2n_strerror_debug(i32 noundef %14036, ptr noundef @.str.4)
  %14038 = call ptr @__errno_location() #11
  %14039 = load i32, ptr %14038, align 4, !tbaa !5
  %14040 = call ptr @strerror(i32 noundef %14039) #10
  %14041 = call ptr @__errno_location() #11
  %14042 = load i32, ptr %14041, align 4, !tbaa !5
  %14043 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14030, ptr noundef @.str.5, i32 noundef %14031, ptr noundef @.str.79, ptr noundef @.str.1, i32 noundef 603, ptr noundef %14034, ptr noundef %14037, ptr noundef %14040, i32 noundef %14042) #10
  br label %14044

14044:                                            ; preds = %14027, %14010
  call void @llvm.lifetime.end.p0(i64 4, ptr %292) #10
  br label %14045

14045:                                            ; preds = %14044
  br label %14046

14046:                                            ; preds = %14045
  call void @exit(i32 noundef 1) #12
  unreachable

14047:                                            ; No predecessors!
  br label %14048

14048:                                            ; preds = %14047
  br label %14049

14049:                                            ; preds = %14048, %13990
  br label %14050

14050:                                            ; preds = %14049
  br label %14051

14051:                                            ; preds = %14050
  call void @llvm.lifetime.end.p0(i64 8, ptr %258) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %254) #10
  br label %14052

14052:                                            ; preds = %14051, %11991
  %14053 = call zeroext i1 (...) @s2n_is_tls13_fully_supported()
  br i1 %14053, label %14054, label %16617

14054:                                            ; preds = %14052
  br label %14055

14055:                                            ; preds = %14054
  %14056 = load i32, ptr @test_count, align 4, !tbaa !5
  %14057 = add nsw i32 %14056, 1
  store i32 %14057, ptr @test_count, align 4, !tbaa !5
  %14058 = call i32 (...) @s2n_reset_tls13_in_test()
  %14059 = icmp eq i32 %14058, -1
  br i1 %14059, label %14060, label %14113

14060:                                            ; preds = %14055
  br label %14061

14061:                                            ; preds = %14060
  br label %14062

14062:                                            ; preds = %14061
  call void @llvm.lifetime.start.p0(i64 4, ptr %293) #10
  %14063 = call ptr @__errno_location() #11
  %14064 = load i32, ptr %14063, align 4, !tbaa !5
  store i32 %14064, ptr %293, align 4, !tbaa !5
  %14065 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14066 = call i32 @s2n_print_stacktrace(ptr noundef %14065)
  %14067 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14068 = trunc i8 %14067 to i1
  br i1 %14068, label %14069, label %14091

14069:                                            ; preds = %14062
  %14070 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14071 = call i32 @fileno(ptr noundef %14070) #10
  %14072 = call i32 @isatty(i32 noundef %14071) #10
  %14073 = icmp ne i32 %14072, 0
  br i1 %14073, label %14074, label %14091

14074:                                            ; preds = %14069
  %14075 = load i32, ptr %293, align 4, !tbaa !5
  %14076 = call ptr @__errno_location() #11
  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() #11
  %14086 = load i32, ptr %14085, align 4, !tbaa !5
  %14087 = call ptr @strerror(i32 noundef %14086) #10
  %14088 = call ptr @__errno_location() #11
  %14089 = load i32, ptr %14088, align 4, !tbaa !5
  %14090 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14077, ptr noundef @.str.2, i32 noundef %14078, ptr noundef @.str.60, ptr noundef @.str.1, i32 noundef 614, ptr noundef %14081, ptr noundef %14084, ptr noundef %14087, i32 noundef %14089) #10
  br label %14108

14091:                                            ; preds = %14069, %14062
  %14092 = load i32, ptr %293, align 4, !tbaa !5
  %14093 = call ptr @__errno_location() #11
  store i32 %14092, ptr %14093, align 4, !tbaa !5
  %14094 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14095 = load i32, ptr @test_count, align 4, !tbaa !5
  %14096 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14097 = load i32, ptr %14096, align 4, !tbaa !5
  %14098 = call ptr @s2n_strerror(i32 noundef %14097, ptr noundef @.str.4)
  %14099 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14100 = load i32, ptr %14099, align 4, !tbaa !5
  %14101 = call ptr @s2n_strerror_debug(i32 noundef %14100, ptr noundef @.str.4)
  %14102 = call ptr @__errno_location() #11
  %14103 = load i32, ptr %14102, align 4, !tbaa !5
  %14104 = call ptr @strerror(i32 noundef %14103) #10
  %14105 = call ptr @__errno_location() #11
  %14106 = load i32, ptr %14105, align 4, !tbaa !5
  %14107 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14094, ptr noundef @.str.5, i32 noundef %14095, ptr noundef @.str.60, ptr noundef @.str.1, i32 noundef 614, ptr noundef %14098, ptr noundef %14101, ptr noundef %14104, i32 noundef %14106) #10
  br label %14108

14108:                                            ; preds = %14091, %14074
  call void @llvm.lifetime.end.p0(i64 4, ptr %293) #10
  br label %14109

14109:                                            ; preds = %14108
  br label %14110

14110:                                            ; preds = %14109
  call void @exit(i32 noundef 1) #12
  unreachable

14111:                                            ; No predecessors!
  br label %14112

14112:                                            ; preds = %14111
  br label %14113

14113:                                            ; preds = %14112, %14055
  br label %14114

14114:                                            ; preds = %14113
  br label %14115

14115:                                            ; preds = %14114
  call void @llvm.lifetime.start.p0(i64 8, ptr %294) #10
  %14116 = call ptr @s2n_config_new()
  store ptr %14116, ptr %294, align 8, !tbaa !9
  br label %14117

14117:                                            ; preds = %14115
  %14118 = load i32, ptr @test_count, align 4, !tbaa !5
  %14119 = add nsw i32 %14118, 1
  store i32 %14119, ptr @test_count, align 4, !tbaa !5
  %14120 = load ptr, ptr %294, align 8, !tbaa !9
  %14121 = load ptr, ptr %10, align 8, !tbaa !9
  %14122 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef %14120, ptr noundef %14121)
  %14123 = icmp eq i32 %14122, -1
  br i1 %14123, label %14124, label %14177

14124:                                            ; preds = %14117
  br label %14125

14125:                                            ; preds = %14124
  br label %14126

14126:                                            ; preds = %14125
  call void @llvm.lifetime.start.p0(i64 4, ptr %295) #10
  %14127 = call ptr @__errno_location() #11
  %14128 = load i32, ptr %14127, align 4, !tbaa !5
  store i32 %14128, ptr %295, align 4, !tbaa !5
  %14129 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14130 = call i32 @s2n_print_stacktrace(ptr noundef %14129)
  %14131 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14132 = trunc i8 %14131 to i1
  br i1 %14132, label %14133, label %14155

14133:                                            ; preds = %14126
  %14134 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14135 = call i32 @fileno(ptr noundef %14134) #10
  %14136 = call i32 @isatty(i32 noundef %14135) #10
  %14137 = icmp ne i32 %14136, 0
  br i1 %14137, label %14138, label %14155

14138:                                            ; preds = %14133
  %14139 = load i32, ptr %295, align 4, !tbaa !5
  %14140 = call ptr @__errno_location() #11
  store i32 %14139, ptr %14140, align 4, !tbaa !5
  %14141 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14142 = load i32, ptr @test_count, align 4, !tbaa !5
  %14143 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14144 = load i32, ptr %14143, align 4, !tbaa !5
  %14145 = call ptr @s2n_strerror(i32 noundef %14144, ptr noundef @.str.4)
  %14146 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14147 = load i32, ptr %14146, align 4, !tbaa !5
  %14148 = call ptr @s2n_strerror_debug(i32 noundef %14147, ptr noundef @.str.4)
  %14149 = call ptr @__errno_location() #11
  %14150 = load i32, ptr %14149, align 4, !tbaa !5
  %14151 = call ptr @strerror(i32 noundef %14150) #10
  %14152 = call ptr @__errno_location() #11
  %14153 = load i32, ptr %14152, align 4, !tbaa !5
  %14154 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14141, ptr noundef @.str.2, i32 noundef %14142, ptr noundef @.str.80, ptr noundef @.str.1, i32 noundef 617, ptr noundef %14145, ptr noundef %14148, ptr noundef %14151, i32 noundef %14153) #10
  br label %14172

14155:                                            ; preds = %14133, %14126
  %14156 = load i32, ptr %295, align 4, !tbaa !5
  %14157 = call ptr @__errno_location() #11
  store i32 %14156, ptr %14157, align 4, !tbaa !5
  %14158 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14159 = load i32, ptr @test_count, align 4, !tbaa !5
  %14160 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14161 = load i32, ptr %14160, align 4, !tbaa !5
  %14162 = call ptr @s2n_strerror(i32 noundef %14161, ptr noundef @.str.4)
  %14163 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14164 = load i32, ptr %14163, align 4, !tbaa !5
  %14165 = call ptr @s2n_strerror_debug(i32 noundef %14164, ptr noundef @.str.4)
  %14166 = call ptr @__errno_location() #11
  %14167 = load i32, ptr %14166, align 4, !tbaa !5
  %14168 = call ptr @strerror(i32 noundef %14167) #10
  %14169 = call ptr @__errno_location() #11
  %14170 = load i32, ptr %14169, align 4, !tbaa !5
  %14171 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14158, ptr noundef @.str.5, i32 noundef %14159, ptr noundef @.str.80, ptr noundef @.str.1, i32 noundef 617, ptr noundef %14162, ptr noundef %14165, ptr noundef %14168, i32 noundef %14170) #10
  br label %14172

14172:                                            ; preds = %14155, %14138
  call void @llvm.lifetime.end.p0(i64 4, ptr %295) #10
  br label %14173

14173:                                            ; preds = %14172
  br label %14174

14174:                                            ; preds = %14173
  call void @exit(i32 noundef 1) #12
  unreachable

14175:                                            ; No predecessors!
  br label %14176

14176:                                            ; preds = %14175
  br label %14177

14177:                                            ; preds = %14176, %14117
  br label %14178

14178:                                            ; preds = %14177
  br label %14179

14179:                                            ; preds = %14178
  call void @llvm.lifetime.start.p0(i64 8, ptr %296) #10
  %14180 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %14180, ptr %296, align 8, !tbaa !9
  br label %14181

14181:                                            ; preds = %14179
  %14182 = load i32, ptr @test_count, align 4, !tbaa !5
  %14183 = add nsw i32 %14182, 1
  store i32 %14183, ptr @test_count, align 4, !tbaa !5
  %14184 = load ptr, ptr %296, align 8, !tbaa !9
  %14185 = load ptr, ptr %294, align 8, !tbaa !9
  %14186 = call i32 @s2n_connection_set_config(ptr noundef %14184, ptr noundef %14185)
  %14187 = icmp eq i32 %14186, -1
  br i1 %14187, label %14188, label %14241

14188:                                            ; preds = %14181
  br label %14189

14189:                                            ; preds = %14188
  br label %14190

14190:                                            ; preds = %14189
  call void @llvm.lifetime.start.p0(i64 4, ptr %297) #10
  %14191 = call ptr @__errno_location() #11
  %14192 = load i32, ptr %14191, align 4, !tbaa !5
  store i32 %14192, ptr %297, align 4, !tbaa !5
  %14193 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14194 = call i32 @s2n_print_stacktrace(ptr noundef %14193)
  %14195 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14196 = trunc i8 %14195 to i1
  br i1 %14196, label %14197, label %14219

14197:                                            ; preds = %14190
  %14198 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14199 = call i32 @fileno(ptr noundef %14198) #10
  %14200 = call i32 @isatty(i32 noundef %14199) #10
  %14201 = icmp ne i32 %14200, 0
  br i1 %14201, label %14202, label %14219

14202:                                            ; preds = %14197
  %14203 = load i32, ptr %297, align 4, !tbaa !5
  %14204 = call ptr @__errno_location() #11
  store i32 %14203, ptr %14204, align 4, !tbaa !5
  %14205 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14206 = load i32, ptr @test_count, align 4, !tbaa !5
  %14207 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14208 = load i32, ptr %14207, align 4, !tbaa !5
  %14209 = call ptr @s2n_strerror(i32 noundef %14208, ptr noundef @.str.4)
  %14210 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14211 = load i32, ptr %14210, align 4, !tbaa !5
  %14212 = call ptr @s2n_strerror_debug(i32 noundef %14211, ptr noundef @.str.4)
  %14213 = call ptr @__errno_location() #11
  %14214 = load i32, ptr %14213, align 4, !tbaa !5
  %14215 = call ptr @strerror(i32 noundef %14214) #10
  %14216 = call ptr @__errno_location() #11
  %14217 = load i32, ptr %14216, align 4, !tbaa !5
  %14218 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14205, ptr noundef @.str.2, i32 noundef %14206, ptr noundef @.str.81, ptr noundef @.str.1, i32 noundef 622, ptr noundef %14209, ptr noundef %14212, ptr noundef %14215, i32 noundef %14217) #10
  br label %14236

14219:                                            ; preds = %14197, %14190
  %14220 = load i32, ptr %297, align 4, !tbaa !5
  %14221 = call ptr @__errno_location() #11
  store i32 %14220, ptr %14221, align 4, !tbaa !5
  %14222 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14223 = load i32, ptr @test_count, align 4, !tbaa !5
  %14224 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14225 = load i32, ptr %14224, align 4, !tbaa !5
  %14226 = call ptr @s2n_strerror(i32 noundef %14225, ptr noundef @.str.4)
  %14227 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14228 = load i32, ptr %14227, align 4, !tbaa !5
  %14229 = call ptr @s2n_strerror_debug(i32 noundef %14228, ptr noundef @.str.4)
  %14230 = call ptr @__errno_location() #11
  %14231 = load i32, ptr %14230, align 4, !tbaa !5
  %14232 = call ptr @strerror(i32 noundef %14231) #10
  %14233 = call ptr @__errno_location() #11
  %14234 = load i32, ptr %14233, align 4, !tbaa !5
  %14235 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14222, ptr noundef @.str.5, i32 noundef %14223, ptr noundef @.str.81, ptr noundef @.str.1, i32 noundef 622, ptr noundef %14226, ptr noundef %14229, ptr noundef %14232, i32 noundef %14234) #10
  br label %14236

14236:                                            ; preds = %14219, %14202
  call void @llvm.lifetime.end.p0(i64 4, ptr %297) #10
  br label %14237

14237:                                            ; preds = %14236
  br label %14238

14238:                                            ; preds = %14237
  call void @exit(i32 noundef 1) #12
  unreachable

14239:                                            ; No predecessors!
  br label %14240

14240:                                            ; preds = %14239
  br label %14241

14241:                                            ; preds = %14240, %14181
  br label %14242

14242:                                            ; preds = %14241
  br label %14243

14243:                                            ; preds = %14242
  br label %14244

14244:                                            ; preds = %14243
  %14245 = load i32, ptr @test_count, align 4, !tbaa !5
  %14246 = add nsw i32 %14245, 1
  store i32 %14246, ptr @test_count, align 4, !tbaa !5
  %14247 = load ptr, ptr %296, align 8, !tbaa !9
  %14248 = call i32 @s2n_connection_set_cipher_preferences(ptr noundef %14247, ptr noundef @.str.61)
  %14249 = icmp eq i32 %14248, -1
  br i1 %14249, label %14250, label %14303

14250:                                            ; preds = %14244
  br label %14251

14251:                                            ; preds = %14250
  br label %14252

14252:                                            ; preds = %14251
  call void @llvm.lifetime.start.p0(i64 4, ptr %298) #10
  %14253 = call ptr @__errno_location() #11
  %14254 = load i32, ptr %14253, align 4, !tbaa !5
  store i32 %14254, ptr %298, align 4, !tbaa !5
  %14255 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14256 = call i32 @s2n_print_stacktrace(ptr noundef %14255)
  %14257 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14258 = trunc i8 %14257 to i1
  br i1 %14258, label %14259, label %14281

14259:                                            ; preds = %14252
  %14260 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14261 = call i32 @fileno(ptr noundef %14260) #10
  %14262 = call i32 @isatty(i32 noundef %14261) #10
  %14263 = icmp ne i32 %14262, 0
  br i1 %14263, label %14264, label %14281

14264:                                            ; preds = %14259
  %14265 = load i32, ptr %298, align 4, !tbaa !5
  %14266 = call ptr @__errno_location() #11
  store i32 %14265, ptr %14266, align 4, !tbaa !5
  %14267 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14268 = load i32, ptr @test_count, align 4, !tbaa !5
  %14269 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14270 = load i32, ptr %14269, align 4, !tbaa !5
  %14271 = call ptr @s2n_strerror(i32 noundef %14270, ptr noundef @.str.4)
  %14272 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14273 = load i32, ptr %14272, align 4, !tbaa !5
  %14274 = call ptr @s2n_strerror_debug(i32 noundef %14273, ptr noundef @.str.4)
  %14275 = call ptr @__errno_location() #11
  %14276 = load i32, ptr %14275, align 4, !tbaa !5
  %14277 = call ptr @strerror(i32 noundef %14276) #10
  %14278 = call ptr @__errno_location() #11
  %14279 = load i32, ptr %14278, align 4, !tbaa !5
  %14280 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14267, ptr noundef @.str.2, i32 noundef %14268, ptr noundef @.str.82, ptr noundef @.str.1, i32 noundef 623, ptr noundef %14271, ptr noundef %14274, ptr noundef %14277, i32 noundef %14279) #10
  br label %14298

14281:                                            ; preds = %14259, %14252
  %14282 = load i32, ptr %298, align 4, !tbaa !5
  %14283 = call ptr @__errno_location() #11
  store i32 %14282, ptr %14283, align 4, !tbaa !5
  %14284 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14285 = load i32, ptr @test_count, align 4, !tbaa !5
  %14286 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14287 = load i32, ptr %14286, align 4, !tbaa !5
  %14288 = call ptr @s2n_strerror(i32 noundef %14287, ptr noundef @.str.4)
  %14289 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14290 = load i32, ptr %14289, align 4, !tbaa !5
  %14291 = call ptr @s2n_strerror_debug(i32 noundef %14290, ptr noundef @.str.4)
  %14292 = call ptr @__errno_location() #11
  %14293 = load i32, ptr %14292, align 4, !tbaa !5
  %14294 = call ptr @strerror(i32 noundef %14293) #10
  %14295 = call ptr @__errno_location() #11
  %14296 = load i32, ptr %14295, align 4, !tbaa !5
  %14297 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14284, ptr noundef @.str.5, i32 noundef %14285, ptr noundef @.str.82, ptr noundef @.str.1, i32 noundef 623, ptr noundef %14288, ptr noundef %14291, ptr noundef %14294, i32 noundef %14296) #10
  br label %14298

14298:                                            ; preds = %14281, %14264
  call void @llvm.lifetime.end.p0(i64 4, ptr %298) #10
  br label %14299

14299:                                            ; preds = %14298
  br label %14300

14300:                                            ; preds = %14299
  call void @exit(i32 noundef 1) #12
  unreachable

14301:                                            ; No predecessors!
  br label %14302

14302:                                            ; preds = %14301
  br label %14303

14303:                                            ; preds = %14302, %14244
  br label %14304

14304:                                            ; preds = %14303
  br label %14305

14305:                                            ; preds = %14304
  br label %14306

14306:                                            ; preds = %14305
  %14307 = load i32, ptr @test_count, align 4, !tbaa !5
  %14308 = add nsw i32 %14307, 1
  store i32 %14308, ptr @test_count, align 4, !tbaa !5
  %14309 = load ptr, ptr %296, align 8, !tbaa !9
  %14310 = call i32 @s2n_append_test_psk_with_early_data(ptr noundef %14309, i32 noundef 1, ptr noundef @s2n_tls13_aes_128_gcm_sha256)
  %14311 = getelementptr inbounds %struct.s2n_result, ptr %299, i32 0, i32 0
  store i32 %14310, ptr %14311, align 4
  %14312 = getelementptr inbounds %struct.s2n_result, ptr %299, i32 0, i32 0
  %14313 = load i32, ptr %14312, align 4
  %14314 = call zeroext i1 @s2n_result_is_ok(i32 %14313)
  br i1 %14314, label %14368, label %14315

14315:                                            ; preds = %14306
  br label %14316

14316:                                            ; preds = %14315
  br label %14317

14317:                                            ; preds = %14316
  call void @llvm.lifetime.start.p0(i64 4, ptr %300) #10
  %14318 = call ptr @__errno_location() #11
  %14319 = load i32, ptr %14318, align 4, !tbaa !5
  store i32 %14319, ptr %300, align 4, !tbaa !5
  %14320 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14321 = call i32 @s2n_print_stacktrace(ptr noundef %14320)
  %14322 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14323 = trunc i8 %14322 to i1
  br i1 %14323, label %14324, label %14346

14324:                                            ; preds = %14317
  %14325 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14326 = call i32 @fileno(ptr noundef %14325) #10
  %14327 = call i32 @isatty(i32 noundef %14326) #10
  %14328 = icmp ne i32 %14327, 0
  br i1 %14328, label %14329, label %14346

14329:                                            ; preds = %14324
  %14330 = load i32, ptr %300, align 4, !tbaa !5
  %14331 = call ptr @__errno_location() #11
  store i32 %14330, ptr %14331, align 4, !tbaa !5
  %14332 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14333 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %14335, ptr noundef @.str.4)
  %14337 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14338 = load i32, ptr %14337, align 4, !tbaa !5
  %14339 = call ptr @s2n_strerror_debug(i32 noundef %14338, ptr noundef @.str.4)
  %14340 = call ptr @__errno_location() #11
  %14341 = load i32, ptr %14340, align 4, !tbaa !5
  %14342 = call ptr @strerror(i32 noundef %14341) #10
  %14343 = call ptr @__errno_location() #11
  %14344 = load i32, ptr %14343, align 4, !tbaa !5
  %14345 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14332, ptr noundef @.str.2, i32 noundef %14333, ptr noundef @.str.83, ptr noundef @.str.1, i32 noundef 624, ptr noundef %14336, ptr noundef %14339, ptr noundef %14342, i32 noundef %14344) #10
  br label %14363

14346:                                            ; preds = %14324, %14317
  %14347 = load i32, ptr %300, align 4, !tbaa !5
  %14348 = call ptr @__errno_location() #11
  store i32 %14347, ptr %14348, align 4, !tbaa !5
  %14349 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14350 = load i32, ptr @test_count, align 4, !tbaa !5
  %14351 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14352 = load i32, ptr %14351, align 4, !tbaa !5
  %14353 = call ptr @s2n_strerror(i32 noundef %14352, ptr noundef @.str.4)
  %14354 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14355 = load i32, ptr %14354, align 4, !tbaa !5
  %14356 = call ptr @s2n_strerror_debug(i32 noundef %14355, ptr noundef @.str.4)
  %14357 = call ptr @__errno_location() #11
  %14358 = load i32, ptr %14357, align 4, !tbaa !5
  %14359 = call ptr @strerror(i32 noundef %14358) #10
  %14360 = call ptr @__errno_location() #11
  %14361 = load i32, ptr %14360, align 4, !tbaa !5
  %14362 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14349, ptr noundef @.str.5, i32 noundef %14350, ptr noundef @.str.83, ptr noundef @.str.1, i32 noundef 624, ptr noundef %14353, ptr noundef %14356, ptr noundef %14359, i32 noundef %14361) #10
  br label %14363

14363:                                            ; preds = %14346, %14329
  call void @llvm.lifetime.end.p0(i64 4, ptr %300) #10
  br label %14364

14364:                                            ; preds = %14363
  br label %14365

14365:                                            ; preds = %14364
  call void @exit(i32 noundef 1) #12
  unreachable

14366:                                            ; No predecessors!
  br label %14367

14367:                                            ; preds = %14366
  br label %14368

14368:                                            ; preds = %14367, %14306
  br label %14369

14369:                                            ; preds = %14368
  br label %14370

14370:                                            ; preds = %14369
  br label %14371

14371:                                            ; preds = %14370
  %14372 = load i32, ptr @test_count, align 4, !tbaa !5
  %14373 = add nsw i32 %14372, 1
  store i32 %14373, ptr @test_count, align 4, !tbaa !5
  %14374 = load ptr, ptr %296, align 8, !tbaa !9
  %14375 = call i32 @s2n_connection_set_early_data_expected(ptr noundef %14374)
  %14376 = icmp eq i32 %14375, -1
  br i1 %14376, label %14377, label %14430

14377:                                            ; preds = %14371
  br label %14378

14378:                                            ; preds = %14377
  br label %14379

14379:                                            ; preds = %14378
  call void @llvm.lifetime.start.p0(i64 4, ptr %301) #10
  %14380 = call ptr @__errno_location() #11
  %14381 = load i32, ptr %14380, align 4, !tbaa !5
  store i32 %14381, ptr %301, align 4, !tbaa !5
  %14382 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14383 = call i32 @s2n_print_stacktrace(ptr noundef %14382)
  %14384 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14385 = trunc i8 %14384 to i1
  br i1 %14385, label %14386, label %14408

14386:                                            ; preds = %14379
  %14387 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14388 = call i32 @fileno(ptr noundef %14387) #10
  %14389 = call i32 @isatty(i32 noundef %14388) #10
  %14390 = icmp ne i32 %14389, 0
  br i1 %14390, label %14391, label %14408

14391:                                            ; preds = %14386
  %14392 = load i32, ptr %301, align 4, !tbaa !5
  %14393 = call ptr @__errno_location() #11
  store i32 %14392, ptr %14393, align 4, !tbaa !5
  %14394 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14395 = load i32, ptr @test_count, align 4, !tbaa !5
  %14396 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14397 = load i32, ptr %14396, align 4, !tbaa !5
  %14398 = call ptr @s2n_strerror(i32 noundef %14397, ptr noundef @.str.4)
  %14399 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14400 = load i32, ptr %14399, align 4, !tbaa !5
  %14401 = call ptr @s2n_strerror_debug(i32 noundef %14400, ptr noundef @.str.4)
  %14402 = call ptr @__errno_location() #11
  %14403 = load i32, ptr %14402, align 4, !tbaa !5
  %14404 = call ptr @strerror(i32 noundef %14403) #10
  %14405 = call ptr @__errno_location() #11
  %14406 = load i32, ptr %14405, align 4, !tbaa !5
  %14407 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14394, ptr noundef @.str.2, i32 noundef %14395, ptr noundef @.str.84, ptr noundef @.str.1, i32 noundef 625, ptr noundef %14398, ptr noundef %14401, ptr noundef %14404, i32 noundef %14406) #10
  br label %14425

14408:                                            ; preds = %14386, %14379
  %14409 = load i32, ptr %301, align 4, !tbaa !5
  %14410 = call ptr @__errno_location() #11
  store i32 %14409, ptr %14410, align 4, !tbaa !5
  %14411 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14412 = load i32, ptr @test_count, align 4, !tbaa !5
  %14413 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14414 = load i32, ptr %14413, align 4, !tbaa !5
  %14415 = call ptr @s2n_strerror(i32 noundef %14414, ptr noundef @.str.4)
  %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 = call ptr @__errno_location() #11
  %14420 = load i32, ptr %14419, align 4, !tbaa !5
  %14421 = call ptr @strerror(i32 noundef %14420) #10
  %14422 = call ptr @__errno_location() #11
  %14423 = load i32, ptr %14422, align 4, !tbaa !5
  %14424 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14411, ptr noundef @.str.5, i32 noundef %14412, ptr noundef @.str.84, ptr noundef @.str.1, i32 noundef 625, ptr noundef %14415, ptr noundef %14418, ptr noundef %14421, i32 noundef %14423) #10
  br label %14425

14425:                                            ; preds = %14408, %14391
  call void @llvm.lifetime.end.p0(i64 4, ptr %301) #10
  br label %14426

14426:                                            ; preds = %14425
  br label %14427

14427:                                            ; preds = %14426
  call void @exit(i32 noundef 1) #12
  unreachable

14428:                                            ; No predecessors!
  br label %14429

14429:                                            ; preds = %14428
  br label %14430

14430:                                            ; preds = %14429, %14371
  br label %14431

14431:                                            ; preds = %14430
  br label %14432

14432:                                            ; preds = %14431
  call void @llvm.lifetime.start.p0(i64 8, ptr %302) #10
  %14433 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %14433, ptr %302, align 8, !tbaa !9
  br label %14434

14434:                                            ; preds = %14432
  %14435 = load i32, ptr @test_count, align 4, !tbaa !5
  %14436 = add nsw i32 %14435, 1
  store i32 %14436, ptr @test_count, align 4, !tbaa !5
  %14437 = load ptr, ptr %302, align 8, !tbaa !9
  %14438 = load ptr, ptr %294, align 8, !tbaa !9
  %14439 = call i32 @s2n_connection_set_config(ptr noundef %14437, ptr noundef %14438)
  %14440 = icmp eq i32 %14439, -1
  br i1 %14440, label %14441, label %14494

14441:                                            ; preds = %14434
  br label %14442

14442:                                            ; preds = %14441
  br label %14443

14443:                                            ; preds = %14442
  call void @llvm.lifetime.start.p0(i64 4, ptr %303) #10
  %14444 = call ptr @__errno_location() #11
  %14445 = load i32, ptr %14444, align 4, !tbaa !5
  store i32 %14445, ptr %303, align 4, !tbaa !5
  %14446 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14447 = call i32 @s2n_print_stacktrace(ptr noundef %14446)
  %14448 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14449 = trunc i8 %14448 to i1
  br i1 %14449, label %14450, label %14472

14450:                                            ; preds = %14443
  %14451 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14452 = call i32 @fileno(ptr noundef %14451) #10
  %14453 = call i32 @isatty(i32 noundef %14452) #10
  %14454 = icmp ne i32 %14453, 0
  br i1 %14454, label %14455, label %14472

14455:                                            ; preds = %14450
  %14456 = load i32, ptr %303, align 4, !tbaa !5
  %14457 = call ptr @__errno_location() #11
  store i32 %14456, ptr %14457, align 4, !tbaa !5
  %14458 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14459 = load i32, ptr @test_count, align 4, !tbaa !5
  %14460 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14461 = load i32, ptr %14460, align 4, !tbaa !5
  %14462 = call ptr @s2n_strerror(i32 noundef %14461, ptr noundef @.str.4)
  %14463 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14464 = load i32, ptr %14463, align 4, !tbaa !5
  %14465 = call ptr @s2n_strerror_debug(i32 noundef %14464, ptr noundef @.str.4)
  %14466 = call ptr @__errno_location() #11
  %14467 = load i32, ptr %14466, align 4, !tbaa !5
  %14468 = call ptr @strerror(i32 noundef %14467) #10
  %14469 = call ptr @__errno_location() #11
  %14470 = load i32, ptr %14469, align 4, !tbaa !5
  %14471 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14458, ptr noundef @.str.2, i32 noundef %14459, ptr noundef @.str.85, ptr noundef @.str.1, i32 noundef 628, ptr noundef %14462, ptr noundef %14465, ptr noundef %14468, i32 noundef %14470) #10
  br label %14489

14472:                                            ; preds = %14450, %14443
  %14473 = load i32, ptr %303, align 4, !tbaa !5
  %14474 = call ptr @__errno_location() #11
  store i32 %14473, ptr %14474, align 4, !tbaa !5
  %14475 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14476 = load i32, ptr @test_count, align 4, !tbaa !5
  %14477 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14478 = load i32, ptr %14477, align 4, !tbaa !5
  %14479 = call ptr @s2n_strerror(i32 noundef %14478, ptr noundef @.str.4)
  %14480 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14481 = load i32, ptr %14480, align 4, !tbaa !5
  %14482 = call ptr @s2n_strerror_debug(i32 noundef %14481, ptr noundef @.str.4)
  %14483 = call ptr @__errno_location() #11
  %14484 = load i32, ptr %14483, align 4, !tbaa !5
  %14485 = call ptr @strerror(i32 noundef %14484) #10
  %14486 = call ptr @__errno_location() #11
  %14487 = load i32, ptr %14486, align 4, !tbaa !5
  %14488 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14475, ptr noundef @.str.5, i32 noundef %14476, ptr noundef @.str.85, ptr noundef @.str.1, i32 noundef 628, ptr noundef %14479, ptr noundef %14482, ptr noundef %14485, i32 noundef %14487) #10
  br label %14489

14489:                                            ; preds = %14472, %14455
  call void @llvm.lifetime.end.p0(i64 4, ptr %303) #10
  br label %14490

14490:                                            ; preds = %14489
  br label %14491

14491:                                            ; preds = %14490
  call void @exit(i32 noundef 1) #12
  unreachable

14492:                                            ; No predecessors!
  br label %14493

14493:                                            ; preds = %14492
  br label %14494

14494:                                            ; preds = %14493, %14434
  br label %14495

14495:                                            ; preds = %14494
  br label %14496

14496:                                            ; preds = %14495
  br label %14497

14497:                                            ; preds = %14496
  %14498 = load i32, ptr @test_count, align 4, !tbaa !5
  %14499 = add nsw i32 %14498, 1
  store i32 %14499, ptr @test_count, align 4, !tbaa !5
  %14500 = load ptr, ptr %302, align 8, !tbaa !9
  %14501 = call i32 @s2n_connection_set_cipher_preferences(ptr noundef %14500, ptr noundef @.str.61)
  %14502 = icmp eq i32 %14501, -1
  br i1 %14502, label %14503, label %14556

14503:                                            ; preds = %14497
  br label %14504

14504:                                            ; preds = %14503
  br label %14505

14505:                                            ; preds = %14504
  call void @llvm.lifetime.start.p0(i64 4, ptr %304) #10
  %14506 = call ptr @__errno_location() #11
  %14507 = load i32, ptr %14506, align 4, !tbaa !5
  store i32 %14507, ptr %304, align 4, !tbaa !5
  %14508 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14509 = call i32 @s2n_print_stacktrace(ptr noundef %14508)
  %14510 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14511 = trunc i8 %14510 to i1
  br i1 %14511, label %14512, label %14534

14512:                                            ; preds = %14505
  %14513 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14514 = call i32 @fileno(ptr noundef %14513) #10
  %14515 = call i32 @isatty(i32 noundef %14514) #10
  %14516 = icmp ne i32 %14515, 0
  br i1 %14516, label %14517, label %14534

14517:                                            ; preds = %14512
  %14518 = load i32, ptr %304, align 4, !tbaa !5
  %14519 = call ptr @__errno_location() #11
  store i32 %14518, ptr %14519, align 4, !tbaa !5
  %14520 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14521 = load i32, ptr @test_count, align 4, !tbaa !5
  %14522 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14523 = load i32, ptr %14522, align 4, !tbaa !5
  %14524 = call ptr @s2n_strerror(i32 noundef %14523, ptr noundef @.str.4)
  %14525 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14526 = load i32, ptr %14525, align 4, !tbaa !5
  %14527 = call ptr @s2n_strerror_debug(i32 noundef %14526, ptr noundef @.str.4)
  %14528 = call ptr @__errno_location() #11
  %14529 = load i32, ptr %14528, align 4, !tbaa !5
  %14530 = call ptr @strerror(i32 noundef %14529) #10
  %14531 = call ptr @__errno_location() #11
  %14532 = load i32, ptr %14531, align 4, !tbaa !5
  %14533 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14520, ptr noundef @.str.2, i32 noundef %14521, ptr noundef @.str.86, ptr noundef @.str.1, i32 noundef 629, ptr noundef %14524, ptr noundef %14527, ptr noundef %14530, i32 noundef %14532) #10
  br label %14551

14534:                                            ; preds = %14512, %14505
  %14535 = load i32, ptr %304, align 4, !tbaa !5
  %14536 = call ptr @__errno_location() #11
  store i32 %14535, ptr %14536, align 4, !tbaa !5
  %14537 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14538 = load i32, ptr @test_count, align 4, !tbaa !5
  %14539 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14540 = load i32, ptr %14539, align 4, !tbaa !5
  %14541 = call ptr @s2n_strerror(i32 noundef %14540, ptr noundef @.str.4)
  %14542 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14543 = load i32, ptr %14542, align 4, !tbaa !5
  %14544 = call ptr @s2n_strerror_debug(i32 noundef %14543, ptr noundef @.str.4)
  %14545 = call ptr @__errno_location() #11
  %14546 = load i32, ptr %14545, align 4, !tbaa !5
  %14547 = call ptr @strerror(i32 noundef %14546) #10
  %14548 = call ptr @__errno_location() #11
  %14549 = load i32, ptr %14548, align 4, !tbaa !5
  %14550 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14537, ptr noundef @.str.5, i32 noundef %14538, ptr noundef @.str.86, ptr noundef @.str.1, i32 noundef 629, ptr noundef %14541, ptr noundef %14544, ptr noundef %14547, i32 noundef %14549) #10
  br label %14551

14551:                                            ; preds = %14534, %14517
  call void @llvm.lifetime.end.p0(i64 4, ptr %304) #10
  br label %14552

14552:                                            ; preds = %14551
  br label %14553

14553:                                            ; preds = %14552
  call void @exit(i32 noundef 1) #12
  unreachable

14554:                                            ; No predecessors!
  br label %14555

14555:                                            ; preds = %14554
  br label %14556

14556:                                            ; preds = %14555, %14497
  br label %14557

14557:                                            ; preds = %14556
  br label %14558

14558:                                            ; preds = %14557
  br label %14559

14559:                                            ; preds = %14558
  %14560 = load i32, ptr @test_count, align 4, !tbaa !5
  %14561 = add nsw i32 %14560, 1
  store i32 %14561, ptr @test_count, align 4, !tbaa !5
  %14562 = load ptr, ptr %302, align 8, !tbaa !9
  %14563 = call i32 @s2n_append_test_psk_with_early_data(ptr noundef %14562, i32 noundef 1, ptr noundef @s2n_tls13_aes_128_gcm_sha256)
  %14564 = getelementptr inbounds %struct.s2n_result, ptr %305, i32 0, i32 0
  store i32 %14563, ptr %14564, align 4
  %14565 = getelementptr inbounds %struct.s2n_result, ptr %305, i32 0, i32 0
  %14566 = load i32, ptr %14565, align 4
  %14567 = call zeroext i1 @s2n_result_is_ok(i32 %14566)
  br i1 %14567, label %14621, label %14568

14568:                                            ; preds = %14559
  br label %14569

14569:                                            ; preds = %14568
  br label %14570

14570:                                            ; preds = %14569
  call void @llvm.lifetime.start.p0(i64 4, ptr %306) #10
  %14571 = call ptr @__errno_location() #11
  %14572 = load i32, ptr %14571, align 4, !tbaa !5
  store i32 %14572, ptr %306, align 4, !tbaa !5
  %14573 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14574 = call i32 @s2n_print_stacktrace(ptr noundef %14573)
  %14575 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14576 = trunc i8 %14575 to i1
  br i1 %14576, label %14577, label %14599

14577:                                            ; preds = %14570
  %14578 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14579 = call i32 @fileno(ptr noundef %14578) #10
  %14580 = call i32 @isatty(i32 noundef %14579) #10
  %14581 = icmp ne i32 %14580, 0
  br i1 %14581, label %14582, label %14599

14582:                                            ; preds = %14577
  %14583 = load i32, ptr %306, align 4, !tbaa !5
  %14584 = call ptr @__errno_location() #11
  store i32 %14583, ptr %14584, align 4, !tbaa !5
  %14585 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14586 = load i32, ptr @test_count, align 4, !tbaa !5
  %14587 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14588 = load i32, ptr %14587, align 4, !tbaa !5
  %14589 = call ptr @s2n_strerror(i32 noundef %14588, ptr noundef @.str.4)
  %14590 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14591 = load i32, ptr %14590, align 4, !tbaa !5
  %14592 = call ptr @s2n_strerror_debug(i32 noundef %14591, ptr noundef @.str.4)
  %14593 = call ptr @__errno_location() #11
  %14594 = load i32, ptr %14593, align 4, !tbaa !5
  %14595 = call ptr @strerror(i32 noundef %14594) #10
  %14596 = call ptr @__errno_location() #11
  %14597 = load i32, ptr %14596, align 4, !tbaa !5
  %14598 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14585, ptr noundef @.str.2, i32 noundef %14586, ptr noundef @.str.87, ptr noundef @.str.1, i32 noundef 630, ptr noundef %14589, ptr noundef %14592, ptr noundef %14595, i32 noundef %14597) #10
  br label %14616

14599:                                            ; preds = %14577, %14570
  %14600 = load i32, ptr %306, align 4, !tbaa !5
  %14601 = call ptr @__errno_location() #11
  store i32 %14600, ptr %14601, align 4, !tbaa !5
  %14602 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14603 = load i32, ptr @test_count, align 4, !tbaa !5
  %14604 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14605 = load i32, ptr %14604, align 4, !tbaa !5
  %14606 = call ptr @s2n_strerror(i32 noundef %14605, ptr noundef @.str.4)
  %14607 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14608 = load i32, ptr %14607, align 4, !tbaa !5
  %14609 = call ptr @s2n_strerror_debug(i32 noundef %14608, ptr noundef @.str.4)
  %14610 = call ptr @__errno_location() #11
  %14611 = load i32, ptr %14610, align 4, !tbaa !5
  %14612 = call ptr @strerror(i32 noundef %14611) #10
  %14613 = call ptr @__errno_location() #11
  %14614 = load i32, ptr %14613, align 4, !tbaa !5
  %14615 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14602, ptr noundef @.str.5, i32 noundef %14603, ptr noundef @.str.87, ptr noundef @.str.1, i32 noundef 630, ptr noundef %14606, ptr noundef %14609, ptr noundef %14612, i32 noundef %14614) #10
  br label %14616

14616:                                            ; preds = %14599, %14582
  call void @llvm.lifetime.end.p0(i64 4, ptr %306) #10
  br label %14617

14617:                                            ; preds = %14616
  br label %14618

14618:                                            ; preds = %14617
  call void @exit(i32 noundef 1) #12
  unreachable

14619:                                            ; No predecessors!
  br label %14620

14620:                                            ; preds = %14619
  br label %14621

14621:                                            ; preds = %14620, %14559
  br label %14622

14622:                                            ; preds = %14621
  br label %14623

14623:                                            ; preds = %14622
  br label %14624

14624:                                            ; preds = %14623
  %14625 = load i32, ptr @test_count, align 4, !tbaa !5
  %14626 = add nsw i32 %14625, 1
  store i32 %14626, ptr @test_count, align 4, !tbaa !5
  %14627 = load ptr, ptr %302, align 8, !tbaa !9
  %14628 = call i32 @s2n_connection_set_early_data_expected(ptr noundef %14627)
  %14629 = icmp eq i32 %14628, -1
  br i1 %14629, label %14630, label %14683

14630:                                            ; preds = %14624
  br label %14631

14631:                                            ; preds = %14630
  br label %14632

14632:                                            ; preds = %14631
  call void @llvm.lifetime.start.p0(i64 4, ptr %307) #10
  %14633 = call ptr @__errno_location() #11
  %14634 = load i32, ptr %14633, align 4, !tbaa !5
  store i32 %14634, ptr %307, align 4, !tbaa !5
  %14635 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14636 = call i32 @s2n_print_stacktrace(ptr noundef %14635)
  %14637 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14638 = trunc i8 %14637 to i1
  br i1 %14638, label %14639, label %14661

14639:                                            ; preds = %14632
  %14640 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14641 = call i32 @fileno(ptr noundef %14640) #10
  %14642 = call i32 @isatty(i32 noundef %14641) #10
  %14643 = icmp ne i32 %14642, 0
  br i1 %14643, label %14644, label %14661

14644:                                            ; preds = %14639
  %14645 = load i32, ptr %307, align 4, !tbaa !5
  %14646 = call ptr @__errno_location() #11
  store i32 %14645, ptr %14646, align 4, !tbaa !5
  %14647 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14648 = load i32, ptr @test_count, align 4, !tbaa !5
  %14649 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14650 = load i32, ptr %14649, align 4, !tbaa !5
  %14651 = call ptr @s2n_strerror(i32 noundef %14650, ptr noundef @.str.4)
  %14652 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14653 = load i32, ptr %14652, align 4, !tbaa !5
  %14654 = call ptr @s2n_strerror_debug(i32 noundef %14653, ptr noundef @.str.4)
  %14655 = call ptr @__errno_location() #11
  %14656 = load i32, ptr %14655, align 4, !tbaa !5
  %14657 = call ptr @strerror(i32 noundef %14656) #10
  %14658 = call ptr @__errno_location() #11
  %14659 = load i32, ptr %14658, align 4, !tbaa !5
  %14660 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14647, ptr noundef @.str.2, i32 noundef %14648, ptr noundef @.str.88, ptr noundef @.str.1, i32 noundef 631, ptr noundef %14651, ptr noundef %14654, ptr noundef %14657, i32 noundef %14659) #10
  br label %14678

14661:                                            ; preds = %14639, %14632
  %14662 = load i32, ptr %307, align 4, !tbaa !5
  %14663 = call ptr @__errno_location() #11
  store i32 %14662, ptr %14663, align 4, !tbaa !5
  %14664 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14665 = load i32, ptr @test_count, align 4, !tbaa !5
  %14666 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14667 = load i32, ptr %14666, align 4, !tbaa !5
  %14668 = call ptr @s2n_strerror(i32 noundef %14667, ptr noundef @.str.4)
  %14669 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14670 = load i32, ptr %14669, align 4, !tbaa !5
  %14671 = call ptr @s2n_strerror_debug(i32 noundef %14670, ptr noundef @.str.4)
  %14672 = call ptr @__errno_location() #11
  %14673 = load i32, ptr %14672, align 4, !tbaa !5
  %14674 = call ptr @strerror(i32 noundef %14673) #10
  %14675 = call ptr @__errno_location() #11
  %14676 = load i32, ptr %14675, align 4, !tbaa !5
  %14677 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14664, ptr noundef @.str.5, i32 noundef %14665, ptr noundef @.str.88, ptr noundef @.str.1, i32 noundef 631, ptr noundef %14668, ptr noundef %14671, ptr noundef %14674, i32 noundef %14676) #10
  br label %14678

14678:                                            ; preds = %14661, %14644
  call void @llvm.lifetime.end.p0(i64 4, ptr %307) #10
  br label %14679

14679:                                            ; preds = %14678
  br label %14680

14680:                                            ; preds = %14679
  call void @exit(i32 noundef 1) #12
  unreachable

14681:                                            ; No predecessors!
  br label %14682

14682:                                            ; preds = %14681
  br label %14683

14683:                                            ; preds = %14682, %14624
  br label %14684

14684:                                            ; preds = %14683
  br label %14685

14685:                                            ; preds = %14684
  br label %14686

14686:                                            ; preds = %14685
  %14687 = load i32, ptr @test_count, align 4, !tbaa !5
  %14688 = add nsw i32 %14687, 1
  store i32 %14688, ptr @test_count, align 4, !tbaa !5
  %14689 = load ptr, ptr %296, align 8, !tbaa !9
  %14690 = load ptr, ptr %302, align 8, !tbaa !9
  %14691 = call i32 @s2n_test_client_hello(ptr noundef %14689, ptr noundef %14690)
  %14692 = getelementptr inbounds %struct.s2n_result, ptr %308, i32 0, i32 0
  store i32 %14691, ptr %14692, align 4
  %14693 = getelementptr inbounds %struct.s2n_result, ptr %308, i32 0, i32 0
  %14694 = load i32, ptr %14693, align 4
  %14695 = call zeroext i1 @s2n_result_is_ok(i32 %14694)
  br i1 %14695, label %14749, label %14696

14696:                                            ; preds = %14686
  br label %14697

14697:                                            ; preds = %14696
  br label %14698

14698:                                            ; preds = %14697
  call void @llvm.lifetime.start.p0(i64 4, ptr %309) #10
  %14699 = call ptr @__errno_location() #11
  %14700 = load i32, ptr %14699, align 4, !tbaa !5
  store i32 %14700, ptr %309, align 4, !tbaa !5
  %14701 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14702 = call i32 @s2n_print_stacktrace(ptr noundef %14701)
  %14703 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14704 = trunc i8 %14703 to i1
  br i1 %14704, label %14705, label %14727

14705:                                            ; preds = %14698
  %14706 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14707 = call i32 @fileno(ptr noundef %14706) #10
  %14708 = call i32 @isatty(i32 noundef %14707) #10
  %14709 = icmp ne i32 %14708, 0
  br i1 %14709, label %14710, label %14727

14710:                                            ; preds = %14705
  %14711 = load i32, ptr %309, align 4, !tbaa !5
  %14712 = call ptr @__errno_location() #11
  store i32 %14711, ptr %14712, align 4, !tbaa !5
  %14713 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14714 = load i32, ptr @test_count, align 4, !tbaa !5
  %14715 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14716 = load i32, ptr %14715, align 4, !tbaa !5
  %14717 = call ptr @s2n_strerror(i32 noundef %14716, ptr noundef @.str.4)
  %14718 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14719 = load i32, ptr %14718, align 4, !tbaa !5
  %14720 = call ptr @s2n_strerror_debug(i32 noundef %14719, ptr noundef @.str.4)
  %14721 = call ptr @__errno_location() #11
  %14722 = load i32, ptr %14721, align 4, !tbaa !5
  %14723 = call ptr @strerror(i32 noundef %14722) #10
  %14724 = call ptr @__errno_location() #11
  %14725 = load i32, ptr %14724, align 4, !tbaa !5
  %14726 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14713, ptr noundef @.str.2, i32 noundef %14714, ptr noundef @.str.69, ptr noundef @.str.1, i32 noundef 633, ptr noundef %14717, ptr noundef %14720, ptr noundef %14723, i32 noundef %14725) #10
  br label %14744

14727:                                            ; preds = %14705, %14698
  %14728 = load i32, ptr %309, align 4, !tbaa !5
  %14729 = call ptr @__errno_location() #11
  store i32 %14728, ptr %14729, align 4, !tbaa !5
  %14730 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14731 = load i32, ptr @test_count, align 4, !tbaa !5
  %14732 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14733 = load i32, ptr %14732, align 4, !tbaa !5
  %14734 = call ptr @s2n_strerror(i32 noundef %14733, ptr noundef @.str.4)
  %14735 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14736 = load i32, ptr %14735, align 4, !tbaa !5
  %14737 = call ptr @s2n_strerror_debug(i32 noundef %14736, ptr noundef @.str.4)
  %14738 = call ptr @__errno_location() #11
  %14739 = load i32, ptr %14738, align 4, !tbaa !5
  %14740 = call ptr @strerror(i32 noundef %14739) #10
  %14741 = call ptr @__errno_location() #11
  %14742 = load i32, ptr %14741, align 4, !tbaa !5
  %14743 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14730, ptr noundef @.str.5, i32 noundef %14731, ptr noundef @.str.69, ptr noundef @.str.1, i32 noundef 633, ptr noundef %14734, ptr noundef %14737, ptr noundef %14740, i32 noundef %14742) #10
  br label %14744

14744:                                            ; preds = %14727, %14710
  call void @llvm.lifetime.end.p0(i64 4, ptr %309) #10
  br label %14745

14745:                                            ; preds = %14744
  br label %14746

14746:                                            ; preds = %14745
  call void @exit(i32 noundef 1) #12
  unreachable

14747:                                            ; No predecessors!
  br label %14748

14748:                                            ; preds = %14747
  br label %14749

14749:                                            ; preds = %14748, %14686
  br label %14750

14750:                                            ; preds = %14749
  br label %14751

14751:                                            ; preds = %14750
  br label %14752

14752:                                            ; preds = %14751
  %14753 = load i32, ptr @test_count, align 4, !tbaa !5
  %14754 = add nsw i32 %14753, 1
  store i32 %14754, ptr @test_count, align 4, !tbaa !5
  %14755 = load ptr, ptr %302, align 8, !tbaa !9
  %14756 = call i32 @s2n_server_hello_send(ptr noundef %14755)
  %14757 = icmp eq i32 %14756, -1
  br i1 %14757, label %14758, label %14811

14758:                                            ; preds = %14752
  br label %14759

14759:                                            ; preds = %14758
  br label %14760

14760:                                            ; preds = %14759
  call void @llvm.lifetime.start.p0(i64 4, ptr %310) #10
  %14761 = call ptr @__errno_location() #11
  %14762 = load i32, ptr %14761, align 4, !tbaa !5
  store i32 %14762, ptr %310, align 4, !tbaa !5
  %14763 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14764 = call i32 @s2n_print_stacktrace(ptr noundef %14763)
  %14765 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14766 = trunc i8 %14765 to i1
  br i1 %14766, label %14767, label %14789

14767:                                            ; preds = %14760
  %14768 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14769 = call i32 @fileno(ptr noundef %14768) #10
  %14770 = call i32 @isatty(i32 noundef %14769) #10
  %14771 = icmp ne i32 %14770, 0
  br i1 %14771, label %14772, label %14789

14772:                                            ; preds = %14767
  %14773 = load i32, ptr %310, align 4, !tbaa !5
  %14774 = call ptr @__errno_location() #11
  store i32 %14773, ptr %14774, align 4, !tbaa !5
  %14775 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14776 = load i32, ptr @test_count, align 4, !tbaa !5
  %14777 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14778 = load i32, ptr %14777, align 4, !tbaa !5
  %14779 = call ptr @s2n_strerror(i32 noundef %14778, ptr noundef @.str.4)
  %14780 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14781 = load i32, ptr %14780, align 4, !tbaa !5
  %14782 = call ptr @s2n_strerror_debug(i32 noundef %14781, ptr noundef @.str.4)
  %14783 = call ptr @__errno_location() #11
  %14784 = load i32, ptr %14783, align 4, !tbaa !5
  %14785 = call ptr @strerror(i32 noundef %14784) #10
  %14786 = call ptr @__errno_location() #11
  %14787 = load i32, ptr %14786, align 4, !tbaa !5
  %14788 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14775, ptr noundef @.str.2, i32 noundef %14776, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 635, ptr noundef %14779, ptr noundef %14782, ptr noundef %14785, i32 noundef %14787) #10
  br label %14806

14789:                                            ; preds = %14767, %14760
  %14790 = load i32, ptr %310, align 4, !tbaa !5
  %14791 = call ptr @__errno_location() #11
  store i32 %14790, ptr %14791, align 4, !tbaa !5
  %14792 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14793 = load i32, ptr @test_count, align 4, !tbaa !5
  %14794 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14795 = load i32, ptr %14794, align 4, !tbaa !5
  %14796 = call ptr @s2n_strerror(i32 noundef %14795, ptr noundef @.str.4)
  %14797 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14798 = load i32, ptr %14797, align 4, !tbaa !5
  %14799 = call ptr @s2n_strerror_debug(i32 noundef %14798, ptr noundef @.str.4)
  %14800 = call ptr @__errno_location() #11
  %14801 = load i32, ptr %14800, align 4, !tbaa !5
  %14802 = call ptr @strerror(i32 noundef %14801) #10
  %14803 = call ptr @__errno_location() #11
  %14804 = load i32, ptr %14803, align 4, !tbaa !5
  %14805 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14792, ptr noundef @.str.5, i32 noundef %14793, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 635, ptr noundef %14796, ptr noundef %14799, ptr noundef %14802, i32 noundef %14804) #10
  br label %14806

14806:                                            ; preds = %14789, %14772
  call void @llvm.lifetime.end.p0(i64 4, ptr %310) #10
  br label %14807

14807:                                            ; preds = %14806
  br label %14808

14808:                                            ; preds = %14807
  call void @exit(i32 noundef 1) #12
  unreachable

14809:                                            ; No predecessors!
  br label %14810

14810:                                            ; preds = %14809
  br label %14811

14811:                                            ; preds = %14810, %14752
  br label %14812

14812:                                            ; preds = %14811
  br label %14813

14813:                                            ; preds = %14812
  br label %14814

14814:                                            ; preds = %14813
  %14815 = load i32, ptr @test_count, align 4, !tbaa !5
  %14816 = add nsw i32 %14815, 1
  store i32 %14816, ptr @test_count, align 4, !tbaa !5
  %14817 = load ptr, ptr %302, align 8, !tbaa !9
  %14818 = getelementptr inbounds %struct.s2n_connection, ptr %14817, i32 0, i32 52
  %14819 = getelementptr inbounds %struct.s2n_handshake, ptr %14818, i32 0, i32 0
  %14820 = load ptr, ptr %296, align 8, !tbaa !9
  %14821 = getelementptr inbounds %struct.s2n_connection, ptr %14820, i32 0, i32 52
  %14822 = getelementptr inbounds %struct.s2n_handshake, ptr %14821, i32 0, i32 0
  %14823 = load ptr, ptr %302, align 8, !tbaa !9
  %14824 = getelementptr inbounds %struct.s2n_connection, ptr %14823, i32 0, i32 52
  %14825 = getelementptr inbounds %struct.s2n_handshake, ptr %14824, i32 0, i32 0
  %14826 = getelementptr inbounds %struct.s2n_stuffer, ptr %14825, i32 0, i32 2
  %14827 = load i32, ptr %14826, align 4, !tbaa !58
  %14828 = load ptr, ptr %302, align 8, !tbaa !9
  %14829 = getelementptr inbounds %struct.s2n_connection, ptr %14828, i32 0, i32 52
  %14830 = getelementptr inbounds %struct.s2n_handshake, ptr %14829, i32 0, i32 0
  %14831 = getelementptr inbounds %struct.s2n_stuffer, ptr %14830, i32 0, i32 1
  %14832 = load i32, ptr %14831, align 8, !tbaa !59
  %14833 = sub i32 %14827, %14832
  %14834 = call i32 @s2n_stuffer_copy(ptr noundef %14819, ptr noundef %14822, i32 noundef %14833)
  %14835 = icmp eq i32 %14834, -1
  br i1 %14835, label %14836, label %14889

14836:                                            ; preds = %14814
  br label %14837

14837:                                            ; preds = %14836
  br label %14838

14838:                                            ; preds = %14837
  call void @llvm.lifetime.start.p0(i64 4, ptr %311) #10
  %14839 = call ptr @__errno_location() #11
  %14840 = load i32, ptr %14839, align 4, !tbaa !5
  store i32 %14840, ptr %311, align 4, !tbaa !5
  %14841 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14842 = call i32 @s2n_print_stacktrace(ptr noundef %14841)
  %14843 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14844 = trunc i8 %14843 to i1
  br i1 %14844, label %14845, label %14867

14845:                                            ; preds = %14838
  %14846 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14847 = call i32 @fileno(ptr noundef %14846) #10
  %14848 = call i32 @isatty(i32 noundef %14847) #10
  %14849 = icmp ne i32 %14848, 0
  br i1 %14849, label %14850, label %14867

14850:                                            ; preds = %14845
  %14851 = load i32, ptr %311, align 4, !tbaa !5
  %14852 = call ptr @__errno_location() #11
  store i32 %14851, ptr %14852, align 4, !tbaa !5
  %14853 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14854 = load i32, ptr @test_count, align 4, !tbaa !5
  %14855 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14856 = load i32, ptr %14855, align 4, !tbaa !5
  %14857 = call ptr @s2n_strerror(i32 noundef %14856, ptr noundef @.str.4)
  %14858 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14859 = load i32, ptr %14858, align 4, !tbaa !5
  %14860 = call ptr @s2n_strerror_debug(i32 noundef %14859, ptr noundef @.str.4)
  %14861 = call ptr @__errno_location() #11
  %14862 = load i32, ptr %14861, align 4, !tbaa !5
  %14863 = call ptr @strerror(i32 noundef %14862) #10
  %14864 = call ptr @__errno_location() #11
  %14865 = load i32, ptr %14864, align 4, !tbaa !5
  %14866 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14853, ptr noundef @.str.2, i32 noundef %14854, ptr noundef @.str.71, ptr noundef @.str.1, i32 noundef 637, ptr noundef %14857, ptr noundef %14860, ptr noundef %14863, i32 noundef %14865) #10
  br label %14884

14867:                                            ; preds = %14845, %14838
  %14868 = load i32, ptr %311, align 4, !tbaa !5
  %14869 = call ptr @__errno_location() #11
  store i32 %14868, ptr %14869, align 4, !tbaa !5
  %14870 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14871 = load i32, ptr @test_count, align 4, !tbaa !5
  %14872 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14873 = load i32, ptr %14872, align 4, !tbaa !5
  %14874 = call ptr @s2n_strerror(i32 noundef %14873, ptr noundef @.str.4)
  %14875 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14876 = load i32, ptr %14875, align 4, !tbaa !5
  %14877 = call ptr @s2n_strerror_debug(i32 noundef %14876, ptr noundef @.str.4)
  %14878 = call ptr @__errno_location() #11
  %14879 = load i32, ptr %14878, align 4, !tbaa !5
  %14880 = call ptr @strerror(i32 noundef %14879) #10
  %14881 = call ptr @__errno_location() #11
  %14882 = load i32, ptr %14881, align 4, !tbaa !5
  %14883 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14870, ptr noundef @.str.5, i32 noundef %14871, ptr noundef @.str.71, ptr noundef @.str.1, i32 noundef 637, ptr noundef %14874, ptr noundef %14877, ptr noundef %14880, i32 noundef %14882) #10
  br label %14884

14884:                                            ; preds = %14867, %14850
  call void @llvm.lifetime.end.p0(i64 4, ptr %311) #10
  br label %14885

14885:                                            ; preds = %14884
  br label %14886

14886:                                            ; preds = %14885
  call void @exit(i32 noundef 1) #12
  unreachable

14887:                                            ; No predecessors!
  br label %14888

14888:                                            ; preds = %14887
  br label %14889

14889:                                            ; preds = %14888, %14814
  br label %14890

14890:                                            ; preds = %14889
  br label %14891

14891:                                            ; preds = %14890
  br label %14892

14892:                                            ; preds = %14891
  %14893 = load i32, ptr @test_count, align 4, !tbaa !5
  %14894 = add nsw i32 %14893, 1
  store i32 %14894, ptr @test_count, align 4, !tbaa !5
  %14895 = load ptr, ptr %296, align 8, !tbaa !9
  %14896 = call i32 @s2n_server_hello_recv(ptr noundef %14895)
  %14897 = icmp eq i32 %14896, -1
  br i1 %14897, label %14898, label %14951

14898:                                            ; preds = %14892
  br label %14899

14899:                                            ; preds = %14898
  br label %14900

14900:                                            ; preds = %14899
  call void @llvm.lifetime.start.p0(i64 4, ptr %312) #10
  %14901 = call ptr @__errno_location() #11
  %14902 = load i32, ptr %14901, align 4, !tbaa !5
  store i32 %14902, ptr %312, align 4, !tbaa !5
  %14903 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14904 = call i32 @s2n_print_stacktrace(ptr noundef %14903)
  %14905 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14906 = trunc i8 %14905 to i1
  br i1 %14906, label %14907, label %14929

14907:                                            ; preds = %14900
  %14908 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14909 = call i32 @fileno(ptr noundef %14908) #10
  %14910 = call i32 @isatty(i32 noundef %14909) #10
  %14911 = icmp ne i32 %14910, 0
  br i1 %14911, label %14912, label %14929

14912:                                            ; preds = %14907
  %14913 = load i32, ptr %312, align 4, !tbaa !5
  %14914 = call ptr @__errno_location() #11
  store i32 %14913, ptr %14914, align 4, !tbaa !5
  %14915 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14916 = load i32, ptr @test_count, align 4, !tbaa !5
  %14917 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14918 = load i32, ptr %14917, align 4, !tbaa !5
  %14919 = call ptr @s2n_strerror(i32 noundef %14918, ptr noundef @.str.4)
  %14920 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14921 = load i32, ptr %14920, align 4, !tbaa !5
  %14922 = call ptr @s2n_strerror_debug(i32 noundef %14921, ptr noundef @.str.4)
  %14923 = call ptr @__errno_location() #11
  %14924 = load i32, ptr %14923, align 4, !tbaa !5
  %14925 = call ptr @strerror(i32 noundef %14924) #10
  %14926 = call ptr @__errno_location() #11
  %14927 = load i32, ptr %14926, align 4, !tbaa !5
  %14928 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14915, ptr noundef @.str.2, i32 noundef %14916, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 638, ptr noundef %14919, ptr noundef %14922, ptr noundef %14925, i32 noundef %14927) #10
  br label %14946

14929:                                            ; preds = %14907, %14900
  %14930 = load i32, ptr %312, align 4, !tbaa !5
  %14931 = call ptr @__errno_location() #11
  store i32 %14930, ptr %14931, align 4, !tbaa !5
  %14932 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14933 = load i32, ptr @test_count, align 4, !tbaa !5
  %14934 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14935 = load i32, ptr %14934, align 4, !tbaa !5
  %14936 = call ptr @s2n_strerror(i32 noundef %14935, ptr noundef @.str.4)
  %14937 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14938 = load i32, ptr %14937, align 4, !tbaa !5
  %14939 = call ptr @s2n_strerror_debug(i32 noundef %14938, ptr noundef @.str.4)
  %14940 = call ptr @__errno_location() #11
  %14941 = load i32, ptr %14940, align 4, !tbaa !5
  %14942 = call ptr @strerror(i32 noundef %14941) #10
  %14943 = call ptr @__errno_location() #11
  %14944 = load i32, ptr %14943, align 4, !tbaa !5
  %14945 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14932, ptr noundef @.str.5, i32 noundef %14933, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 638, ptr noundef %14936, ptr noundef %14939, ptr noundef %14942, i32 noundef %14944) #10
  br label %14946

14946:                                            ; preds = %14929, %14912
  call void @llvm.lifetime.end.p0(i64 4, ptr %312) #10
  br label %14947

14947:                                            ; preds = %14946
  br label %14948

14948:                                            ; preds = %14947
  call void @exit(i32 noundef 1) #12
  unreachable

14949:                                            ; No predecessors!
  br label %14950

14950:                                            ; preds = %14949
  br label %14951

14951:                                            ; preds = %14950, %14892
  br label %14952

14952:                                            ; preds = %14951
  br label %14953

14953:                                            ; preds = %14952
  br label %14954

14954:                                            ; preds = %14953
  %14955 = load i32, ptr @test_count, align 4, !tbaa !5
  %14956 = add nsw i32 %14955, 1
  store i32 %14956, ptr @test_count, align 4, !tbaa !5
  %14957 = load ptr, ptr %296, align 8, !tbaa !9
  %14958 = getelementptr inbounds %struct.s2n_connection, ptr %14957, i32 0, i32 89
  %14959 = load i32, ptr %14958, align 8, !tbaa !70
  %14960 = icmp eq i32 %14959, 1
  br i1 %14960, label %15014, label %14961

14961:                                            ; preds = %14954
  br label %14962

14962:                                            ; preds = %14961
  br label %14963

14963:                                            ; preds = %14962
  call void @llvm.lifetime.start.p0(i64 4, ptr %313) #10
  %14964 = call ptr @__errno_location() #11
  %14965 = load i32, ptr %14964, align 4, !tbaa !5
  store i32 %14965, ptr %313, align 4, !tbaa !5
  %14966 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14967 = call i32 @s2n_print_stacktrace(ptr noundef %14966)
  %14968 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14969 = trunc i8 %14968 to i1
  br i1 %14969, label %14970, label %14992

14970:                                            ; preds = %14963
  %14971 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14972 = call i32 @fileno(ptr noundef %14971) #10
  %14973 = call i32 @isatty(i32 noundef %14972) #10
  %14974 = icmp ne i32 %14973, 0
  br i1 %14974, label %14975, label %14992

14975:                                            ; preds = %14970
  %14976 = load i32, ptr %313, align 4, !tbaa !5
  %14977 = call ptr @__errno_location() #11
  store i32 %14976, ptr %14977, align 4, !tbaa !5
  %14978 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14979 = load i32, ptr @test_count, align 4, !tbaa !5
  %14980 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14981 = load i32, ptr %14980, align 4, !tbaa !5
  %14982 = call ptr @s2n_strerror(i32 noundef %14981, ptr noundef @.str.4)
  %14983 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14984 = load i32, ptr %14983, align 4, !tbaa !5
  %14985 = call ptr @s2n_strerror_debug(i32 noundef %14984, ptr noundef @.str.4)
  %14986 = call ptr @__errno_location() #11
  %14987 = load i32, ptr %14986, align 4, !tbaa !5
  %14988 = call ptr @strerror(i32 noundef %14987) #10
  %14989 = call ptr @__errno_location() #11
  %14990 = load i32, ptr %14989, align 4, !tbaa !5
  %14991 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14978, ptr noundef @.str.2, i32 noundef %14979, ptr noundef @.str.89, ptr noundef @.str.1, i32 noundef 640, ptr noundef %14982, ptr noundef %14985, ptr noundef %14988, i32 noundef %14990) #10
  br label %15009

14992:                                            ; preds = %14970, %14963
  %14993 = load i32, ptr %313, align 4, !tbaa !5
  %14994 = call ptr @__errno_location() #11
  store i32 %14993, ptr %14994, align 4, !tbaa !5
  %14995 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14996 = load i32, ptr @test_count, align 4, !tbaa !5
  %14997 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14998 = load i32, ptr %14997, align 4, !tbaa !5
  %14999 = call ptr @s2n_strerror(i32 noundef %14998, ptr noundef @.str.4)
  %15000 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15001 = load i32, ptr %15000, align 4, !tbaa !5
  %15002 = call ptr @s2n_strerror_debug(i32 noundef %15001, ptr noundef @.str.4)
  %15003 = call ptr @__errno_location() #11
  %15004 = load i32, ptr %15003, align 4, !tbaa !5
  %15005 = call ptr @strerror(i32 noundef %15004) #10
  %15006 = call ptr @__errno_location() #11
  %15007 = load i32, ptr %15006, align 4, !tbaa !5
  %15008 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14995, ptr noundef @.str.5, i32 noundef %14996, ptr noundef @.str.89, ptr noundef @.str.1, i32 noundef 640, ptr noundef %14999, ptr noundef %15002, ptr noundef %15005, i32 noundef %15007) #10
  br label %15009

15009:                                            ; preds = %14992, %14975
  call void @llvm.lifetime.end.p0(i64 4, ptr %313) #10
  br label %15010

15010:                                            ; preds = %15009
  br label %15011

15011:                                            ; preds = %15010
  call void @exit(i32 noundef 1) #12
  unreachable

15012:                                            ; No predecessors!
  br label %15013

15013:                                            ; preds = %15012
  br label %15014

15014:                                            ; preds = %15013, %14954
  br label %15015

15015:                                            ; preds = %15014
  br label %15016

15016:                                            ; preds = %15015
  br label %15017

15017:                                            ; preds = %15016
  %15018 = load i32, ptr @test_count, align 4, !tbaa !5
  %15019 = add nsw i32 %15018, 1
  store i32 %15019, ptr @test_count, align 4, !tbaa !5
  %15020 = load ptr, ptr %296, align 8, !tbaa !9
  %15021 = getelementptr inbounds %struct.s2n_connection, ptr %15020, i32 0, i32 22
  %15022 = load i8, ptr %15021, align 1, !tbaa !64
  %15023 = zext i8 %15022 to i32
  %15024 = icmp eq i32 %15023, 34
  br i1 %15024, label %15078, label %15025

15025:                                            ; preds = %15017
  br label %15026

15026:                                            ; preds = %15025
  br label %15027

15027:                                            ; preds = %15026
  call void @llvm.lifetime.start.p0(i64 4, ptr %314) #10
  %15028 = call ptr @__errno_location() #11
  %15029 = load i32, ptr %15028, align 4, !tbaa !5
  store i32 %15029, ptr %314, align 4, !tbaa !5
  %15030 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15031 = call i32 @s2n_print_stacktrace(ptr noundef %15030)
  %15032 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15033 = trunc i8 %15032 to i1
  br i1 %15033, label %15034, label %15056

15034:                                            ; preds = %15027
  %15035 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15036 = call i32 @fileno(ptr noundef %15035) #10
  %15037 = call i32 @isatty(i32 noundef %15036) #10
  %15038 = icmp ne i32 %15037, 0
  br i1 %15038, label %15039, label %15056

15039:                                            ; preds = %15034
  %15040 = load i32, ptr %314, align 4, !tbaa !5
  %15041 = call ptr @__errno_location() #11
  store i32 %15040, ptr %15041, align 4, !tbaa !5
  %15042 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15043 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %15045, ptr noundef @.str.4)
  %15047 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15048 = load i32, ptr %15047, align 4, !tbaa !5
  %15049 = call ptr @s2n_strerror_debug(i32 noundef %15048, ptr noundef @.str.4)
  %15050 = call ptr @__errno_location() #11
  %15051 = load i32, ptr %15050, align 4, !tbaa !5
  %15052 = call ptr @strerror(i32 noundef %15051) #10
  %15053 = call ptr @__errno_location() #11
  %15054 = load i32, ptr %15053, align 4, !tbaa !5
  %15055 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15042, ptr noundef @.str.2, i32 noundef %15043, ptr noundef @.str.90, ptr noundef @.str.1, i32 noundef 641, ptr noundef %15046, ptr noundef %15049, ptr noundef %15052, i32 noundef %15054) #10
  br label %15073

15056:                                            ; preds = %15034, %15027
  %15057 = load i32, ptr %314, align 4, !tbaa !5
  %15058 = call ptr @__errno_location() #11
  store i32 %15057, ptr %15058, align 4, !tbaa !5
  %15059 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15060 = load i32, ptr @test_count, align 4, !tbaa !5
  %15061 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15062 = load i32, ptr %15061, align 4, !tbaa !5
  %15063 = call ptr @s2n_strerror(i32 noundef %15062, ptr noundef @.str.4)
  %15064 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15065 = load i32, ptr %15064, align 4, !tbaa !5
  %15066 = call ptr @s2n_strerror_debug(i32 noundef %15065, ptr noundef @.str.4)
  %15067 = call ptr @__errno_location() #11
  %15068 = load i32, ptr %15067, align 4, !tbaa !5
  %15069 = call ptr @strerror(i32 noundef %15068) #10
  %15070 = call ptr @__errno_location() #11
  %15071 = load i32, ptr %15070, align 4, !tbaa !5
  %15072 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15059, ptr noundef @.str.5, i32 noundef %15060, ptr noundef @.str.90, ptr noundef @.str.1, i32 noundef 641, ptr noundef %15063, ptr noundef %15066, ptr noundef %15069, i32 noundef %15071) #10
  br label %15073

15073:                                            ; preds = %15056, %15039
  call void @llvm.lifetime.end.p0(i64 4, ptr %314) #10
  br label %15074

15074:                                            ; preds = %15073
  br label %15075

15075:                                            ; preds = %15074
  call void @exit(i32 noundef 1) #12
  unreachable

15076:                                            ; No predecessors!
  br label %15077

15077:                                            ; preds = %15076
  br label %15078

15078:                                            ; preds = %15077, %15017
  br label %15079

15079:                                            ; preds = %15078
  br label %15080

15080:                                            ; preds = %15079
  br label %15081

15081:                                            ; preds = %15080
  %15082 = load i32, ptr @test_count, align 4, !tbaa !5
  %15083 = add nsw i32 %15082, 1
  store i32 %15083, ptr @test_count, align 4, !tbaa !5
  %15084 = load ptr, ptr %302, align 8, !tbaa !9
  %15085 = getelementptr inbounds %struct.s2n_connection, ptr %15084, i32 0, i32 23
  %15086 = load i8, ptr %15085, align 4, !tbaa !42
  %15087 = zext i8 %15086 to i32
  %15088 = icmp eq i32 %15087, 34
  br i1 %15088, label %15142, label %15089

15089:                                            ; preds = %15081
  br label %15090

15090:                                            ; preds = %15089
  br label %15091

15091:                                            ; preds = %15090
  call void @llvm.lifetime.start.p0(i64 4, ptr %315) #10
  %15092 = call ptr @__errno_location() #11
  %15093 = load i32, ptr %15092, align 4, !tbaa !5
  store i32 %15093, ptr %315, align 4, !tbaa !5
  %15094 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15095 = call i32 @s2n_print_stacktrace(ptr noundef %15094)
  %15096 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15097 = trunc i8 %15096 to i1
  br i1 %15097, label %15098, label %15120

15098:                                            ; preds = %15091
  %15099 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15100 = call i32 @fileno(ptr noundef %15099) #10
  %15101 = call i32 @isatty(i32 noundef %15100) #10
  %15102 = icmp ne i32 %15101, 0
  br i1 %15102, label %15103, label %15120

15103:                                            ; preds = %15098
  %15104 = load i32, ptr %315, align 4, !tbaa !5
  %15105 = call ptr @__errno_location() #11
  store i32 %15104, ptr %15105, align 4, !tbaa !5
  %15106 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15107 = load i32, ptr @test_count, align 4, !tbaa !5
  %15108 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15109 = load i32, ptr %15108, align 4, !tbaa !5
  %15110 = call ptr @s2n_strerror(i32 noundef %15109, ptr noundef @.str.4)
  %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_debug(i32 noundef %15112, ptr noundef @.str.4)
  %15114 = call ptr @__errno_location() #11
  %15115 = load i32, ptr %15114, align 4, !tbaa !5
  %15116 = call ptr @strerror(i32 noundef %15115) #10
  %15117 = call ptr @__errno_location() #11
  %15118 = load i32, ptr %15117, align 4, !tbaa !5
  %15119 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15106, ptr noundef @.str.2, i32 noundef %15107, ptr noundef @.str.73, ptr noundef @.str.1, i32 noundef 642, ptr noundef %15110, ptr noundef %15113, ptr noundef %15116, i32 noundef %15118) #10
  br label %15137

15120:                                            ; preds = %15098, %15091
  %15121 = load i32, ptr %315, align 4, !tbaa !5
  %15122 = call ptr @__errno_location() #11
  store i32 %15121, ptr %15122, align 4, !tbaa !5
  %15123 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15124 = load i32, ptr @test_count, align 4, !tbaa !5
  %15125 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15126 = load i32, ptr %15125, align 4, !tbaa !5
  %15127 = call ptr @s2n_strerror(i32 noundef %15126, ptr noundef @.str.4)
  %15128 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15129 = load i32, ptr %15128, align 4, !tbaa !5
  %15130 = call ptr @s2n_strerror_debug(i32 noundef %15129, ptr noundef @.str.4)
  %15131 = call ptr @__errno_location() #11
  %15132 = load i32, ptr %15131, align 4, !tbaa !5
  %15133 = call ptr @strerror(i32 noundef %15132) #10
  %15134 = call ptr @__errno_location() #11
  %15135 = load i32, ptr %15134, align 4, !tbaa !5
  %15136 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15123, ptr noundef @.str.5, i32 noundef %15124, ptr noundef @.str.73, ptr noundef @.str.1, i32 noundef 642, ptr noundef %15127, ptr noundef %15130, ptr noundef %15133, i32 noundef %15135) #10
  br label %15137

15137:                                            ; preds = %15120, %15103
  call void @llvm.lifetime.end.p0(i64 4, ptr %315) #10
  br label %15138

15138:                                            ; preds = %15137
  br label %15139

15139:                                            ; preds = %15138
  call void @exit(i32 noundef 1) #12
  unreachable

15140:                                            ; No predecessors!
  br label %15141

15141:                                            ; preds = %15140
  br label %15142

15142:                                            ; preds = %15141, %15081
  br label %15143

15143:                                            ; preds = %15142
  br label %15144

15144:                                            ; preds = %15143
  br label %15145

15145:                                            ; preds = %15144
  %15146 = load i32, ptr @test_count, align 4, !tbaa !5
  %15147 = add nsw i32 %15146, 1
  store i32 %15147, ptr @test_count, align 4, !tbaa !5
  %15148 = load ptr, ptr %296, align 8, !tbaa !9
  %15149 = call i32 @s2n_connection_free(ptr noundef %15148)
  %15150 = icmp eq i32 %15149, -1
  br i1 %15150, label %15151, label %15204

15151:                                            ; preds = %15145
  br label %15152

15152:                                            ; preds = %15151
  br label %15153

15153:                                            ; preds = %15152
  call void @llvm.lifetime.start.p0(i64 4, ptr %316) #10
  %15154 = call ptr @__errno_location() #11
  %15155 = load i32, ptr %15154, align 4, !tbaa !5
  store i32 %15155, ptr %316, align 4, !tbaa !5
  %15156 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15157 = call i32 @s2n_print_stacktrace(ptr noundef %15156)
  %15158 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15159 = trunc i8 %15158 to i1
  br i1 %15159, label %15160, label %15182

15160:                                            ; preds = %15153
  %15161 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15162 = call i32 @fileno(ptr noundef %15161) #10
  %15163 = call i32 @isatty(i32 noundef %15162) #10
  %15164 = icmp ne i32 %15163, 0
  br i1 %15164, label %15165, label %15182

15165:                                            ; preds = %15160
  %15166 = load i32, ptr %316, align 4, !tbaa !5
  %15167 = call ptr @__errno_location() #11
  store i32 %15166, ptr %15167, align 4, !tbaa !5
  %15168 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15169 = load i32, ptr @test_count, align 4, !tbaa !5
  %15170 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15171 = load i32, ptr %15170, align 4, !tbaa !5
  %15172 = call ptr @s2n_strerror(i32 noundef %15171, ptr noundef @.str.4)
  %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_debug(i32 noundef %15174, ptr noundef @.str.4)
  %15176 = call ptr @__errno_location() #11
  %15177 = load i32, ptr %15176, align 4, !tbaa !5
  %15178 = call ptr @strerror(i32 noundef %15177) #10
  %15179 = call ptr @__errno_location() #11
  %15180 = load i32, ptr %15179, align 4, !tbaa !5
  %15181 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15168, ptr noundef @.str.2, i32 noundef %15169, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 644, ptr noundef %15172, ptr noundef %15175, ptr noundef %15178, i32 noundef %15180) #10
  br label %15199

15182:                                            ; preds = %15160, %15153
  %15183 = load i32, ptr %316, align 4, !tbaa !5
  %15184 = call ptr @__errno_location() #11
  store i32 %15183, ptr %15184, align 4, !tbaa !5
  %15185 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15186 = load i32, ptr @test_count, align 4, !tbaa !5
  %15187 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15188 = load i32, ptr %15187, align 4, !tbaa !5
  %15189 = call ptr @s2n_strerror(i32 noundef %15188, ptr noundef @.str.4)
  %15190 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15191 = load i32, ptr %15190, align 4, !tbaa !5
  %15192 = call ptr @s2n_strerror_debug(i32 noundef %15191, ptr noundef @.str.4)
  %15193 = call ptr @__errno_location() #11
  %15194 = load i32, ptr %15193, align 4, !tbaa !5
  %15195 = call ptr @strerror(i32 noundef %15194) #10
  %15196 = call ptr @__errno_location() #11
  %15197 = load i32, ptr %15196, align 4, !tbaa !5
  %15198 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15185, ptr noundef @.str.5, i32 noundef %15186, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 644, ptr noundef %15189, ptr noundef %15192, ptr noundef %15195, i32 noundef %15197) #10
  br label %15199

15199:                                            ; preds = %15182, %15165
  call void @llvm.lifetime.end.p0(i64 4, ptr %316) #10
  br label %15200

15200:                                            ; preds = %15199
  br label %15201

15201:                                            ; preds = %15200
  call void @exit(i32 noundef 1) #12
  unreachable

15202:                                            ; No predecessors!
  br label %15203

15203:                                            ; preds = %15202
  br label %15204

15204:                                            ; preds = %15203, %15145
  br label %15205

15205:                                            ; preds = %15204
  br label %15206

15206:                                            ; preds = %15205
  br label %15207

15207:                                            ; preds = %15206
  %15208 = load i32, ptr @test_count, align 4, !tbaa !5
  %15209 = add nsw i32 %15208, 1
  store i32 %15209, ptr @test_count, align 4, !tbaa !5
  %15210 = load ptr, ptr %302, align 8, !tbaa !9
  %15211 = call i32 @s2n_connection_free(ptr noundef %15210)
  %15212 = icmp eq i32 %15211, -1
  br i1 %15212, label %15213, label %15266

15213:                                            ; preds = %15207
  br label %15214

15214:                                            ; preds = %15213
  br label %15215

15215:                                            ; preds = %15214
  call void @llvm.lifetime.start.p0(i64 4, ptr %317) #10
  %15216 = call ptr @__errno_location() #11
  %15217 = load i32, ptr %15216, align 4, !tbaa !5
  store i32 %15217, ptr %317, align 4, !tbaa !5
  %15218 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15219 = call i32 @s2n_print_stacktrace(ptr noundef %15218)
  %15220 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15221 = trunc i8 %15220 to i1
  br i1 %15221, label %15222, label %15244

15222:                                            ; preds = %15215
  %15223 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15224 = call i32 @fileno(ptr noundef %15223) #10
  %15225 = call i32 @isatty(i32 noundef %15224) #10
  %15226 = icmp ne i32 %15225, 0
  br i1 %15226, label %15227, label %15244

15227:                                            ; preds = %15222
  %15228 = load i32, ptr %317, align 4, !tbaa !5
  %15229 = call ptr @__errno_location() #11
  store i32 %15228, ptr %15229, align 4, !tbaa !5
  %15230 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15231 = load i32, ptr @test_count, align 4, !tbaa !5
  %15232 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15233 = load i32, ptr %15232, align 4, !tbaa !5
  %15234 = call ptr @s2n_strerror(i32 noundef %15233, ptr noundef @.str.4)
  %15235 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15236 = load i32, ptr %15235, align 4, !tbaa !5
  %15237 = call ptr @s2n_strerror_debug(i32 noundef %15236, ptr noundef @.str.4)
  %15238 = call ptr @__errno_location() #11
  %15239 = load i32, ptr %15238, align 4, !tbaa !5
  %15240 = call ptr @strerror(i32 noundef %15239) #10
  %15241 = call ptr @__errno_location() #11
  %15242 = load i32, ptr %15241, align 4, !tbaa !5
  %15243 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15230, ptr noundef @.str.2, i32 noundef %15231, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 645, ptr noundef %15234, ptr noundef %15237, ptr noundef %15240, i32 noundef %15242) #10
  br label %15261

15244:                                            ; preds = %15222, %15215
  %15245 = load i32, ptr %317, align 4, !tbaa !5
  %15246 = call ptr @__errno_location() #11
  store i32 %15245, ptr %15246, align 4, !tbaa !5
  %15247 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15248 = load i32, ptr @test_count, align 4, !tbaa !5
  %15249 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15250 = load i32, ptr %15249, align 4, !tbaa !5
  %15251 = call ptr @s2n_strerror(i32 noundef %15250, ptr noundef @.str.4)
  %15252 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15253 = load i32, ptr %15252, align 4, !tbaa !5
  %15254 = call ptr @s2n_strerror_debug(i32 noundef %15253, ptr noundef @.str.4)
  %15255 = call ptr @__errno_location() #11
  %15256 = load i32, ptr %15255, align 4, !tbaa !5
  %15257 = call ptr @strerror(i32 noundef %15256) #10
  %15258 = call ptr @__errno_location() #11
  %15259 = load i32, ptr %15258, align 4, !tbaa !5
  %15260 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15247, ptr noundef @.str.5, i32 noundef %15248, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 645, ptr noundef %15251, ptr noundef %15254, ptr noundef %15257, i32 noundef %15259) #10
  br label %15261

15261:                                            ; preds = %15244, %15227
  call void @llvm.lifetime.end.p0(i64 4, ptr %317) #10
  br label %15262

15262:                                            ; preds = %15261
  br label %15263

15263:                                            ; preds = %15262
  call void @exit(i32 noundef 1) #12
  unreachable

15264:                                            ; No predecessors!
  br label %15265

15265:                                            ; preds = %15264
  br label %15266

15266:                                            ; preds = %15265, %15207
  br label %15267

15267:                                            ; preds = %15266
  br label %15268

15268:                                            ; preds = %15267
  call void @llvm.lifetime.end.p0(i64 8, ptr %302) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %296) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %318) #10
  %15269 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %15269, ptr %318, align 8, !tbaa !9
  br label %15270

15270:                                            ; preds = %15268
  %15271 = load i32, ptr @test_count, align 4, !tbaa !5
  %15272 = add nsw i32 %15271, 1
  store i32 %15272, ptr @test_count, align 4, !tbaa !5
  %15273 = load ptr, ptr %318, align 8, !tbaa !9
  %15274 = load ptr, ptr %294, align 8, !tbaa !9
  %15275 = call i32 @s2n_connection_set_config(ptr noundef %15273, ptr noundef %15274)
  %15276 = icmp eq i32 %15275, -1
  br i1 %15276, label %15277, label %15330

15277:                                            ; preds = %15270
  br label %15278

15278:                                            ; preds = %15277
  br label %15279

15279:                                            ; preds = %15278
  call void @llvm.lifetime.start.p0(i64 4, ptr %319) #10
  %15280 = call ptr @__errno_location() #11
  %15281 = load i32, ptr %15280, align 4, !tbaa !5
  store i32 %15281, ptr %319, align 4, !tbaa !5
  %15282 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15283 = call i32 @s2n_print_stacktrace(ptr noundef %15282)
  %15284 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15285 = trunc i8 %15284 to i1
  br i1 %15285, label %15286, label %15308

15286:                                            ; preds = %15279
  %15287 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15288 = call i32 @fileno(ptr noundef %15287) #10
  %15289 = call i32 @isatty(i32 noundef %15288) #10
  %15290 = icmp ne i32 %15289, 0
  br i1 %15290, label %15291, label %15308

15291:                                            ; preds = %15286
  %15292 = load i32, ptr %319, align 4, !tbaa !5
  %15293 = call ptr @__errno_location() #11
  store i32 %15292, ptr %15293, align 4, !tbaa !5
  %15294 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15295 = load i32, ptr @test_count, align 4, !tbaa !5
  %15296 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15297 = load i32, ptr %15296, align 4, !tbaa !5
  %15298 = call ptr @s2n_strerror(i32 noundef %15297, ptr noundef @.str.4)
  %15299 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15300 = load i32, ptr %15299, align 4, !tbaa !5
  %15301 = call ptr @s2n_strerror_debug(i32 noundef %15300, ptr noundef @.str.4)
  %15302 = call ptr @__errno_location() #11
  %15303 = load i32, ptr %15302, align 4, !tbaa !5
  %15304 = call ptr @strerror(i32 noundef %15303) #10
  %15305 = call ptr @__errno_location() #11
  %15306 = load i32, ptr %15305, align 4, !tbaa !5
  %15307 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15294, ptr noundef @.str.2, i32 noundef %15295, ptr noundef @.str.81, ptr noundef @.str.1, i32 noundef 651, ptr noundef %15298, ptr noundef %15301, ptr noundef %15304, i32 noundef %15306) #10
  br label %15325

15308:                                            ; preds = %15286, %15279
  %15309 = load i32, ptr %319, align 4, !tbaa !5
  %15310 = call ptr @__errno_location() #11
  store i32 %15309, ptr %15310, align 4, !tbaa !5
  %15311 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15312 = load i32, ptr @test_count, align 4, !tbaa !5
  %15313 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15314 = load i32, ptr %15313, align 4, !tbaa !5
  %15315 = call ptr @s2n_strerror(i32 noundef %15314, ptr noundef @.str.4)
  %15316 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15317 = load i32, ptr %15316, align 4, !tbaa !5
  %15318 = call ptr @s2n_strerror_debug(i32 noundef %15317, ptr noundef @.str.4)
  %15319 = call ptr @__errno_location() #11
  %15320 = load i32, ptr %15319, align 4, !tbaa !5
  %15321 = call ptr @strerror(i32 noundef %15320) #10
  %15322 = call ptr @__errno_location() #11
  %15323 = load i32, ptr %15322, align 4, !tbaa !5
  %15324 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15311, ptr noundef @.str.5, i32 noundef %15312, ptr noundef @.str.81, ptr noundef @.str.1, i32 noundef 651, ptr noundef %15315, ptr noundef %15318, ptr noundef %15321, i32 noundef %15323) #10
  br label %15325

15325:                                            ; preds = %15308, %15291
  call void @llvm.lifetime.end.p0(i64 4, ptr %319) #10
  br label %15326

15326:                                            ; preds = %15325
  br label %15327

15327:                                            ; preds = %15326
  call void @exit(i32 noundef 1) #12
  unreachable

15328:                                            ; No predecessors!
  br label %15329

15329:                                            ; preds = %15328
  br label %15330

15330:                                            ; preds = %15329, %15270
  br label %15331

15331:                                            ; preds = %15330
  br label %15332

15332:                                            ; preds = %15331
  br label %15333

15333:                                            ; preds = %15332
  %15334 = load i32, ptr @test_count, align 4, !tbaa !5
  %15335 = add nsw i32 %15334, 1
  store i32 %15335, ptr @test_count, align 4, !tbaa !5
  %15336 = load ptr, ptr %318, align 8, !tbaa !9
  %15337 = call i32 @s2n_connection_set_cipher_preferences(ptr noundef %15336, ptr noundef @.str.61)
  %15338 = icmp eq i32 %15337, -1
  br i1 %15338, label %15339, label %15392

15339:                                            ; preds = %15333
  br label %15340

15340:                                            ; preds = %15339
  br label %15341

15341:                                            ; preds = %15340
  call void @llvm.lifetime.start.p0(i64 4, ptr %320) #10
  %15342 = call ptr @__errno_location() #11
  %15343 = load i32, ptr %15342, align 4, !tbaa !5
  store i32 %15343, ptr %320, align 4, !tbaa !5
  %15344 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15345 = call i32 @s2n_print_stacktrace(ptr noundef %15344)
  %15346 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15347 = trunc i8 %15346 to i1
  br i1 %15347, label %15348, label %15370

15348:                                            ; preds = %15341
  %15349 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15350 = call i32 @fileno(ptr noundef %15349) #10
  %15351 = call i32 @isatty(i32 noundef %15350) #10
  %15352 = icmp ne i32 %15351, 0
  br i1 %15352, label %15353, label %15370

15353:                                            ; preds = %15348
  %15354 = load i32, ptr %320, align 4, !tbaa !5
  %15355 = call ptr @__errno_location() #11
  store i32 %15354, ptr %15355, align 4, !tbaa !5
  %15356 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15357 = load i32, ptr @test_count, align 4, !tbaa !5
  %15358 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15359 = load i32, ptr %15358, align 4, !tbaa !5
  %15360 = call ptr @s2n_strerror(i32 noundef %15359, ptr noundef @.str.4)
  %15361 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15362 = load i32, ptr %15361, align 4, !tbaa !5
  %15363 = call ptr @s2n_strerror_debug(i32 noundef %15362, ptr noundef @.str.4)
  %15364 = call ptr @__errno_location() #11
  %15365 = load i32, ptr %15364, align 4, !tbaa !5
  %15366 = call ptr @strerror(i32 noundef %15365) #10
  %15367 = call ptr @__errno_location() #11
  %15368 = load i32, ptr %15367, align 4, !tbaa !5
  %15369 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15356, ptr noundef @.str.2, i32 noundef %15357, ptr noundef @.str.82, ptr noundef @.str.1, i32 noundef 652, ptr noundef %15360, ptr noundef %15363, ptr noundef %15366, i32 noundef %15368) #10
  br label %15387

15370:                                            ; preds = %15348, %15341
  %15371 = load i32, ptr %320, align 4, !tbaa !5
  %15372 = call ptr @__errno_location() #11
  store i32 %15371, ptr %15372, align 4, !tbaa !5
  %15373 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15374 = load i32, ptr @test_count, align 4, !tbaa !5
  %15375 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15376 = load i32, ptr %15375, align 4, !tbaa !5
  %15377 = call ptr @s2n_strerror(i32 noundef %15376, ptr noundef @.str.4)
  %15378 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15379 = load i32, ptr %15378, align 4, !tbaa !5
  %15380 = call ptr @s2n_strerror_debug(i32 noundef %15379, ptr noundef @.str.4)
  %15381 = call ptr @__errno_location() #11
  %15382 = load i32, ptr %15381, align 4, !tbaa !5
  %15383 = call ptr @strerror(i32 noundef %15382) #10
  %15384 = call ptr @__errno_location() #11
  %15385 = load i32, ptr %15384, align 4, !tbaa !5
  %15386 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15373, ptr noundef @.str.5, i32 noundef %15374, ptr noundef @.str.82, ptr noundef @.str.1, i32 noundef 652, ptr noundef %15377, ptr noundef %15380, ptr noundef %15383, i32 noundef %15385) #10
  br label %15387

15387:                                            ; preds = %15370, %15353
  call void @llvm.lifetime.end.p0(i64 4, ptr %320) #10
  br label %15388

15388:                                            ; preds = %15387
  br label %15389

15389:                                            ; preds = %15388
  call void @exit(i32 noundef 1) #12
  unreachable

15390:                                            ; No predecessors!
  br label %15391

15391:                                            ; preds = %15390
  br label %15392

15392:                                            ; preds = %15391, %15333
  br label %15393

15393:                                            ; preds = %15392
  br label %15394

15394:                                            ; preds = %15393
  br label %15395

15395:                                            ; preds = %15394
  %15396 = load i32, ptr @test_count, align 4, !tbaa !5
  %15397 = add nsw i32 %15396, 1
  store i32 %15397, ptr @test_count, align 4, !tbaa !5
  %15398 = load ptr, ptr %318, align 8, !tbaa !9
  %15399 = call i32 @s2n_append_test_psk_with_early_data(ptr noundef %15398, i32 noundef 1, ptr noundef @s2n_tls13_aes_128_gcm_sha256)
  %15400 = getelementptr inbounds %struct.s2n_result, ptr %321, i32 0, i32 0
  store i32 %15399, ptr %15400, align 4
  %15401 = getelementptr inbounds %struct.s2n_result, ptr %321, i32 0, i32 0
  %15402 = load i32, ptr %15401, align 4
  %15403 = call zeroext i1 @s2n_result_is_ok(i32 %15402)
  br i1 %15403, label %15457, label %15404

15404:                                            ; preds = %15395
  br label %15405

15405:                                            ; preds = %15404
  br label %15406

15406:                                            ; preds = %15405
  call void @llvm.lifetime.start.p0(i64 4, ptr %322) #10
  %15407 = call ptr @__errno_location() #11
  %15408 = load i32, ptr %15407, align 4, !tbaa !5
  store i32 %15408, ptr %322, align 4, !tbaa !5
  %15409 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15410 = call i32 @s2n_print_stacktrace(ptr noundef %15409)
  %15411 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15412 = trunc i8 %15411 to i1
  br i1 %15412, label %15413, label %15435

15413:                                            ; preds = %15406
  %15414 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15415 = call i32 @fileno(ptr noundef %15414) #10
  %15416 = call i32 @isatty(i32 noundef %15415) #10
  %15417 = icmp ne i32 %15416, 0
  br i1 %15417, label %15418, label %15435

15418:                                            ; preds = %15413
  %15419 = load i32, ptr %322, align 4, !tbaa !5
  %15420 = call ptr @__errno_location() #11
  store i32 %15419, ptr %15420, align 4, !tbaa !5
  %15421 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15422 = load i32, ptr @test_count, align 4, !tbaa !5
  %15423 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15424 = load i32, ptr %15423, align 4, !tbaa !5
  %15425 = call ptr @s2n_strerror(i32 noundef %15424, ptr noundef @.str.4)
  %15426 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15427 = load i32, ptr %15426, align 4, !tbaa !5
  %15428 = call ptr @s2n_strerror_debug(i32 noundef %15427, ptr noundef @.str.4)
  %15429 = call ptr @__errno_location() #11
  %15430 = load i32, ptr %15429, align 4, !tbaa !5
  %15431 = call ptr @strerror(i32 noundef %15430) #10
  %15432 = call ptr @__errno_location() #11
  %15433 = load i32, ptr %15432, align 4, !tbaa !5
  %15434 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15421, ptr noundef @.str.2, i32 noundef %15422, ptr noundef @.str.83, ptr noundef @.str.1, i32 noundef 653, ptr noundef %15425, ptr noundef %15428, ptr noundef %15431, i32 noundef %15433) #10
  br label %15452

15435:                                            ; preds = %15413, %15406
  %15436 = load i32, ptr %322, align 4, !tbaa !5
  %15437 = call ptr @__errno_location() #11
  store i32 %15436, ptr %15437, align 4, !tbaa !5
  %15438 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15439 = load i32, ptr @test_count, align 4, !tbaa !5
  %15440 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15441 = load i32, ptr %15440, align 4, !tbaa !5
  %15442 = call ptr @s2n_strerror(i32 noundef %15441, ptr noundef @.str.4)
  %15443 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15444 = load i32, ptr %15443, align 4, !tbaa !5
  %15445 = call ptr @s2n_strerror_debug(i32 noundef %15444, ptr noundef @.str.4)
  %15446 = call ptr @__errno_location() #11
  %15447 = load i32, ptr %15446, align 4, !tbaa !5
  %15448 = call ptr @strerror(i32 noundef %15447) #10
  %15449 = call ptr @__errno_location() #11
  %15450 = load i32, ptr %15449, align 4, !tbaa !5
  %15451 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15438, ptr noundef @.str.5, i32 noundef %15439, ptr noundef @.str.83, ptr noundef @.str.1, i32 noundef 653, ptr noundef %15442, ptr noundef %15445, ptr noundef %15448, i32 noundef %15450) #10
  br label %15452

15452:                                            ; preds = %15435, %15418
  call void @llvm.lifetime.end.p0(i64 4, ptr %322) #10
  br label %15453

15453:                                            ; preds = %15452
  br label %15454

15454:                                            ; preds = %15453
  call void @exit(i32 noundef 1) #12
  unreachable

15455:                                            ; No predecessors!
  br label %15456

15456:                                            ; preds = %15455
  br label %15457

15457:                                            ; preds = %15456, %15395
  br label %15458

15458:                                            ; preds = %15457
  br label %15459

15459:                                            ; preds = %15458
  br label %15460

15460:                                            ; preds = %15459
  %15461 = load i32, ptr @test_count, align 4, !tbaa !5
  %15462 = add nsw i32 %15461, 1
  store i32 %15462, ptr @test_count, align 4, !tbaa !5
  %15463 = load ptr, ptr %318, align 8, !tbaa !9
  %15464 = call i32 @s2n_connection_set_early_data_expected(ptr noundef %15463)
  %15465 = icmp eq i32 %15464, -1
  br i1 %15465, label %15466, label %15519

15466:                                            ; preds = %15460
  br label %15467

15467:                                            ; preds = %15466
  br label %15468

15468:                                            ; preds = %15467
  call void @llvm.lifetime.start.p0(i64 4, ptr %323) #10
  %15469 = call ptr @__errno_location() #11
  %15470 = load i32, ptr %15469, align 4, !tbaa !5
  store i32 %15470, ptr %323, align 4, !tbaa !5
  %15471 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15472 = call i32 @s2n_print_stacktrace(ptr noundef %15471)
  %15473 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15474 = trunc i8 %15473 to i1
  br i1 %15474, label %15475, label %15497

15475:                                            ; preds = %15468
  %15476 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15477 = call i32 @fileno(ptr noundef %15476) #10
  %15478 = call i32 @isatty(i32 noundef %15477) #10
  %15479 = icmp ne i32 %15478, 0
  br i1 %15479, label %15480, label %15497

15480:                                            ; preds = %15475
  %15481 = load i32, ptr %323, align 4, !tbaa !5
  %15482 = call ptr @__errno_location() #11
  store i32 %15481, ptr %15482, align 4, !tbaa !5
  %15483 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15484 = load i32, ptr @test_count, align 4, !tbaa !5
  %15485 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15486 = load i32, ptr %15485, align 4, !tbaa !5
  %15487 = call ptr @s2n_strerror(i32 noundef %15486, ptr noundef @.str.4)
  %15488 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15489 = load i32, ptr %15488, align 4, !tbaa !5
  %15490 = call ptr @s2n_strerror_debug(i32 noundef %15489, ptr noundef @.str.4)
  %15491 = call ptr @__errno_location() #11
  %15492 = load i32, ptr %15491, align 4, !tbaa !5
  %15493 = call ptr @strerror(i32 noundef %15492) #10
  %15494 = call ptr @__errno_location() #11
  %15495 = load i32, ptr %15494, align 4, !tbaa !5
  %15496 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15483, ptr noundef @.str.2, i32 noundef %15484, ptr noundef @.str.84, ptr noundef @.str.1, i32 noundef 654, ptr noundef %15487, ptr noundef %15490, ptr noundef %15493, i32 noundef %15495) #10
  br label %15514

15497:                                            ; preds = %15475, %15468
  %15498 = load i32, ptr %323, align 4, !tbaa !5
  %15499 = call ptr @__errno_location() #11
  store i32 %15498, ptr %15499, align 4, !tbaa !5
  %15500 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15501 = load i32, ptr @test_count, align 4, !tbaa !5
  %15502 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15503 = load i32, ptr %15502, align 4, !tbaa !5
  %15504 = call ptr @s2n_strerror(i32 noundef %15503, ptr noundef @.str.4)
  %15505 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15506 = load i32, ptr %15505, align 4, !tbaa !5
  %15507 = call ptr @s2n_strerror_debug(i32 noundef %15506, ptr noundef @.str.4)
  %15508 = call ptr @__errno_location() #11
  %15509 = load i32, ptr %15508, align 4, !tbaa !5
  %15510 = call ptr @strerror(i32 noundef %15509) #10
  %15511 = call ptr @__errno_location() #11
  %15512 = load i32, ptr %15511, align 4, !tbaa !5
  %15513 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15500, ptr noundef @.str.5, i32 noundef %15501, ptr noundef @.str.84, ptr noundef @.str.1, i32 noundef 654, ptr noundef %15504, ptr noundef %15507, ptr noundef %15510, i32 noundef %15512) #10
  br label %15514

15514:                                            ; preds = %15497, %15480
  call void @llvm.lifetime.end.p0(i64 4, ptr %323) #10
  br label %15515

15515:                                            ; preds = %15514
  br label %15516

15516:                                            ; preds = %15515
  call void @exit(i32 noundef 1) #12
  unreachable

15517:                                            ; No predecessors!
  br label %15518

15518:                                            ; preds = %15517
  br label %15519

15519:                                            ; preds = %15518, %15460
  br label %15520

15520:                                            ; preds = %15519
  br label %15521

15521:                                            ; preds = %15520
  call void @llvm.lifetime.start.p0(i64 8, ptr %324) #10
  %15522 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %15522, ptr %324, align 8, !tbaa !9
  br label %15523

15523:                                            ; preds = %15521
  %15524 = load i32, ptr @test_count, align 4, !tbaa !5
  %15525 = add nsw i32 %15524, 1
  store i32 %15525, ptr @test_count, align 4, !tbaa !5
  %15526 = load ptr, ptr %324, align 8, !tbaa !9
  %15527 = load ptr, ptr %294, align 8, !tbaa !9
  %15528 = call i32 @s2n_connection_set_config(ptr noundef %15526, ptr noundef %15527)
  %15529 = icmp eq i32 %15528, -1
  br i1 %15529, label %15530, label %15583

15530:                                            ; preds = %15523
  br label %15531

15531:                                            ; preds = %15530
  br label %15532

15532:                                            ; preds = %15531
  call void @llvm.lifetime.start.p0(i64 4, ptr %325) #10
  %15533 = call ptr @__errno_location() #11
  %15534 = load i32, ptr %15533, align 4, !tbaa !5
  store i32 %15534, ptr %325, align 4, !tbaa !5
  %15535 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15536 = call i32 @s2n_print_stacktrace(ptr noundef %15535)
  %15537 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15538 = trunc i8 %15537 to i1
  br i1 %15538, label %15539, label %15561

15539:                                            ; preds = %15532
  %15540 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15541 = call i32 @fileno(ptr noundef %15540) #10
  %15542 = call i32 @isatty(i32 noundef %15541) #10
  %15543 = icmp ne i32 %15542, 0
  br i1 %15543, label %15544, label %15561

15544:                                            ; preds = %15539
  %15545 = load i32, ptr %325, align 4, !tbaa !5
  %15546 = call ptr @__errno_location() #11
  store i32 %15545, ptr %15546, align 4, !tbaa !5
  %15547 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15548 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %15550, ptr noundef @.str.4)
  %15552 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15553 = load i32, ptr %15552, align 4, !tbaa !5
  %15554 = call ptr @s2n_strerror_debug(i32 noundef %15553, ptr noundef @.str.4)
  %15555 = call ptr @__errno_location() #11
  %15556 = load i32, ptr %15555, align 4, !tbaa !5
  %15557 = call ptr @strerror(i32 noundef %15556) #10
  %15558 = call ptr @__errno_location() #11
  %15559 = load i32, ptr %15558, align 4, !tbaa !5
  %15560 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15547, ptr noundef @.str.2, i32 noundef %15548, ptr noundef @.str.85, ptr noundef @.str.1, i32 noundef 657, ptr noundef %15551, ptr noundef %15554, ptr noundef %15557, i32 noundef %15559) #10
  br label %15578

15561:                                            ; preds = %15539, %15532
  %15562 = load i32, ptr %325, align 4, !tbaa !5
  %15563 = call ptr @__errno_location() #11
  store i32 %15562, ptr %15563, align 4, !tbaa !5
  %15564 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15565 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %15567, ptr noundef @.str.4)
  %15569 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15570 = load i32, ptr %15569, align 4, !tbaa !5
  %15571 = call ptr @s2n_strerror_debug(i32 noundef %15570, ptr noundef @.str.4)
  %15572 = call ptr @__errno_location() #11
  %15573 = load i32, ptr %15572, align 4, !tbaa !5
  %15574 = call ptr @strerror(i32 noundef %15573) #10
  %15575 = call ptr @__errno_location() #11
  %15576 = load i32, ptr %15575, align 4, !tbaa !5
  %15577 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15564, ptr noundef @.str.5, i32 noundef %15565, ptr noundef @.str.85, ptr noundef @.str.1, i32 noundef 657, ptr noundef %15568, ptr noundef %15571, ptr noundef %15574, i32 noundef %15576) #10
  br label %15578

15578:                                            ; preds = %15561, %15544
  call void @llvm.lifetime.end.p0(i64 4, ptr %325) #10
  br label %15579

15579:                                            ; preds = %15578
  br label %15580

15580:                                            ; preds = %15579
  call void @exit(i32 noundef 1) #12
  unreachable

15581:                                            ; No predecessors!
  br label %15582

15582:                                            ; preds = %15581
  br label %15583

15583:                                            ; preds = %15582, %15523
  br label %15584

15584:                                            ; preds = %15583
  br label %15585

15585:                                            ; preds = %15584
  br label %15586

15586:                                            ; preds = %15585
  %15587 = load i32, ptr @test_count, align 4, !tbaa !5
  %15588 = add nsw i32 %15587, 1
  store i32 %15588, ptr @test_count, align 4, !tbaa !5
  %15589 = load ptr, ptr %324, align 8, !tbaa !9
  %15590 = call i32 @s2n_connection_set_cipher_preferences(ptr noundef %15589, ptr noundef @.str.74)
  %15591 = icmp eq i32 %15590, -1
  br i1 %15591, label %15592, label %15645

15592:                                            ; preds = %15586
  br label %15593

15593:                                            ; preds = %15592
  br label %15594

15594:                                            ; preds = %15593
  call void @llvm.lifetime.start.p0(i64 4, ptr %326) #10
  %15595 = call ptr @__errno_location() #11
  %15596 = load i32, ptr %15595, align 4, !tbaa !5
  store i32 %15596, ptr %326, align 4, !tbaa !5
  %15597 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15598 = call i32 @s2n_print_stacktrace(ptr noundef %15597)
  %15599 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15600 = trunc i8 %15599 to i1
  br i1 %15600, label %15601, label %15623

15601:                                            ; preds = %15594
  %15602 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15603 = call i32 @fileno(ptr noundef %15602) #10
  %15604 = call i32 @isatty(i32 noundef %15603) #10
  %15605 = icmp ne i32 %15604, 0
  br i1 %15605, label %15606, label %15623

15606:                                            ; preds = %15601
  %15607 = load i32, ptr %326, align 4, !tbaa !5
  %15608 = call ptr @__errno_location() #11
  store i32 %15607, ptr %15608, align 4, !tbaa !5
  %15609 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15610 = load i32, ptr @test_count, align 4, !tbaa !5
  %15611 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15612 = load i32, ptr %15611, align 4, !tbaa !5
  %15613 = call ptr @s2n_strerror(i32 noundef %15612, ptr noundef @.str.4)
  %15614 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15615 = load i32, ptr %15614, align 4, !tbaa !5
  %15616 = call ptr @s2n_strerror_debug(i32 noundef %15615, ptr noundef @.str.4)
  %15617 = call ptr @__errno_location() #11
  %15618 = load i32, ptr %15617, align 4, !tbaa !5
  %15619 = call ptr @strerror(i32 noundef %15618) #10
  %15620 = call ptr @__errno_location() #11
  %15621 = load i32, ptr %15620, align 4, !tbaa !5
  %15622 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15609, ptr noundef @.str.2, i32 noundef %15610, ptr noundef @.str.75, ptr noundef @.str.1, i32 noundef 658, ptr noundef %15613, ptr noundef %15616, ptr noundef %15619, i32 noundef %15621) #10
  br label %15640

15623:                                            ; preds = %15601, %15594
  %15624 = load i32, ptr %326, align 4, !tbaa !5
  %15625 = call ptr @__errno_location() #11
  store i32 %15624, ptr %15625, align 4, !tbaa !5
  %15626 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15627 = load i32, ptr @test_count, align 4, !tbaa !5
  %15628 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15629 = load i32, ptr %15628, align 4, !tbaa !5
  %15630 = call ptr @s2n_strerror(i32 noundef %15629, ptr noundef @.str.4)
  %15631 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15632 = load i32, ptr %15631, align 4, !tbaa !5
  %15633 = call ptr @s2n_strerror_debug(i32 noundef %15632, ptr noundef @.str.4)
  %15634 = call ptr @__errno_location() #11
  %15635 = load i32, ptr %15634, align 4, !tbaa !5
  %15636 = call ptr @strerror(i32 noundef %15635) #10
  %15637 = call ptr @__errno_location() #11
  %15638 = load i32, ptr %15637, align 4, !tbaa !5
  %15639 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15626, ptr noundef @.str.5, i32 noundef %15627, ptr noundef @.str.75, ptr noundef @.str.1, i32 noundef 658, ptr noundef %15630, ptr noundef %15633, ptr noundef %15636, i32 noundef %15638) #10
  br label %15640

15640:                                            ; preds = %15623, %15606
  call void @llvm.lifetime.end.p0(i64 4, ptr %326) #10
  br label %15641

15641:                                            ; preds = %15640
  br label %15642

15642:                                            ; preds = %15641
  call void @exit(i32 noundef 1) #12
  unreachable

15643:                                            ; No predecessors!
  br label %15644

15644:                                            ; preds = %15643
  br label %15645

15645:                                            ; preds = %15644, %15586
  br label %15646

15646:                                            ; preds = %15645
  br label %15647

15647:                                            ; preds = %15646
  br label %15648

15648:                                            ; preds = %15647
  %15649 = load i32, ptr @test_count, align 4, !tbaa !5
  %15650 = add nsw i32 %15649, 1
  store i32 %15650, ptr @test_count, align 4, !tbaa !5
  %15651 = load ptr, ptr %324, align 8, !tbaa !9
  %15652 = call i32 @s2n_append_test_psk_with_early_data(ptr noundef %15651, i32 noundef 1, ptr noundef @s2n_tls13_aes_128_gcm_sha256)
  %15653 = getelementptr inbounds %struct.s2n_result, ptr %327, i32 0, i32 0
  store i32 %15652, ptr %15653, align 4
  %15654 = getelementptr inbounds %struct.s2n_result, ptr %327, i32 0, i32 0
  %15655 = load i32, ptr %15654, align 4
  %15656 = call zeroext i1 @s2n_result_is_ok(i32 %15655)
  br i1 %15656, label %15710, label %15657

15657:                                            ; preds = %15648
  br label %15658

15658:                                            ; preds = %15657
  br label %15659

15659:                                            ; preds = %15658
  call void @llvm.lifetime.start.p0(i64 4, ptr %328) #10
  %15660 = call ptr @__errno_location() #11
  %15661 = load i32, ptr %15660, align 4, !tbaa !5
  store i32 %15661, ptr %328, align 4, !tbaa !5
  %15662 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15663 = call i32 @s2n_print_stacktrace(ptr noundef %15662)
  %15664 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15665 = trunc i8 %15664 to i1
  br i1 %15665, label %15666, label %15688

15666:                                            ; preds = %15659
  %15667 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15668 = call i32 @fileno(ptr noundef %15667) #10
  %15669 = call i32 @isatty(i32 noundef %15668) #10
  %15670 = icmp ne i32 %15669, 0
  br i1 %15670, label %15671, label %15688

15671:                                            ; preds = %15666
  %15672 = load i32, ptr %328, align 4, !tbaa !5
  %15673 = call ptr @__errno_location() #11
  store i32 %15672, ptr %15673, align 4, !tbaa !5
  %15674 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15675 = load i32, ptr @test_count, align 4, !tbaa !5
  %15676 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15677 = load i32, ptr %15676, align 4, !tbaa !5
  %15678 = call ptr @s2n_strerror(i32 noundef %15677, ptr noundef @.str.4)
  %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_debug(i32 noundef %15680, ptr noundef @.str.4)
  %15682 = call ptr @__errno_location() #11
  %15683 = load i32, ptr %15682, align 4, !tbaa !5
  %15684 = call ptr @strerror(i32 noundef %15683) #10
  %15685 = call ptr @__errno_location() #11
  %15686 = load i32, ptr %15685, align 4, !tbaa !5
  %15687 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15674, ptr noundef @.str.2, i32 noundef %15675, ptr noundef @.str.87, ptr noundef @.str.1, i32 noundef 659, ptr noundef %15678, ptr noundef %15681, ptr noundef %15684, i32 noundef %15686) #10
  br label %15705

15688:                                            ; preds = %15666, %15659
  %15689 = load i32, ptr %328, align 4, !tbaa !5
  %15690 = call ptr @__errno_location() #11
  store i32 %15689, ptr %15690, align 4, !tbaa !5
  %15691 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15692 = load i32, ptr @test_count, align 4, !tbaa !5
  %15693 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15694 = load i32, ptr %15693, align 4, !tbaa !5
  %15695 = call ptr @s2n_strerror(i32 noundef %15694, ptr noundef @.str.4)
  %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_debug(i32 noundef %15697, ptr noundef @.str.4)
  %15699 = call ptr @__errno_location() #11
  %15700 = load i32, ptr %15699, align 4, !tbaa !5
  %15701 = call ptr @strerror(i32 noundef %15700) #10
  %15702 = call ptr @__errno_location() #11
  %15703 = load i32, ptr %15702, align 4, !tbaa !5
  %15704 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15691, ptr noundef @.str.5, i32 noundef %15692, ptr noundef @.str.87, ptr noundef @.str.1, i32 noundef 659, ptr noundef %15695, ptr noundef %15698, ptr noundef %15701, i32 noundef %15703) #10
  br label %15705

15705:                                            ; preds = %15688, %15671
  call void @llvm.lifetime.end.p0(i64 4, ptr %328) #10
  br label %15706

15706:                                            ; preds = %15705
  br label %15707

15707:                                            ; preds = %15706
  call void @exit(i32 noundef 1) #12
  unreachable

15708:                                            ; No predecessors!
  br label %15709

15709:                                            ; preds = %15708
  br label %15710

15710:                                            ; preds = %15709, %15648
  br label %15711

15711:                                            ; preds = %15710
  br label %15712

15712:                                            ; preds = %15711
  br label %15713

15713:                                            ; preds = %15712
  %15714 = load i32, ptr @test_count, align 4, !tbaa !5
  %15715 = add nsw i32 %15714, 1
  store i32 %15715, ptr @test_count, align 4, !tbaa !5
  %15716 = load ptr, ptr %324, align 8, !tbaa !9
  %15717 = call i32 @s2n_connection_set_early_data_expected(ptr noundef %15716)
  %15718 = icmp eq i32 %15717, -1
  br i1 %15718, label %15719, label %15772

15719:                                            ; preds = %15713
  br label %15720

15720:                                            ; preds = %15719
  br label %15721

15721:                                            ; preds = %15720
  call void @llvm.lifetime.start.p0(i64 4, ptr %329) #10
  %15722 = call ptr @__errno_location() #11
  %15723 = load i32, ptr %15722, align 4, !tbaa !5
  store i32 %15723, ptr %329, align 4, !tbaa !5
  %15724 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15725 = call i32 @s2n_print_stacktrace(ptr noundef %15724)
  %15726 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15727 = trunc i8 %15726 to i1
  br i1 %15727, label %15728, label %15750

15728:                                            ; preds = %15721
  %15729 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15730 = call i32 @fileno(ptr noundef %15729) #10
  %15731 = call i32 @isatty(i32 noundef %15730) #10
  %15732 = icmp ne i32 %15731, 0
  br i1 %15732, label %15733, label %15750

15733:                                            ; preds = %15728
  %15734 = load i32, ptr %329, align 4, !tbaa !5
  %15735 = call ptr @__errno_location() #11
  store i32 %15734, ptr %15735, align 4, !tbaa !5
  %15736 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15737 = load i32, ptr @test_count, align 4, !tbaa !5
  %15738 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15739 = load i32, ptr %15738, align 4, !tbaa !5
  %15740 = call ptr @s2n_strerror(i32 noundef %15739, ptr noundef @.str.4)
  %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_debug(i32 noundef %15742, ptr noundef @.str.4)
  %15744 = call ptr @__errno_location() #11
  %15745 = load i32, ptr %15744, align 4, !tbaa !5
  %15746 = call ptr @strerror(i32 noundef %15745) #10
  %15747 = call ptr @__errno_location() #11
  %15748 = load i32, ptr %15747, align 4, !tbaa !5
  %15749 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15736, ptr noundef @.str.2, i32 noundef %15737, ptr noundef @.str.88, ptr noundef @.str.1, i32 noundef 660, ptr noundef %15740, ptr noundef %15743, ptr noundef %15746, i32 noundef %15748) #10
  br label %15767

15750:                                            ; preds = %15728, %15721
  %15751 = load i32, ptr %329, align 4, !tbaa !5
  %15752 = call ptr @__errno_location() #11
  store i32 %15751, ptr %15752, align 4, !tbaa !5
  %15753 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15754 = load i32, ptr @test_count, align 4, !tbaa !5
  %15755 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15756 = load i32, ptr %15755, align 4, !tbaa !5
  %15757 = call ptr @s2n_strerror(i32 noundef %15756, ptr noundef @.str.4)
  %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_debug(i32 noundef %15759, ptr noundef @.str.4)
  %15761 = call ptr @__errno_location() #11
  %15762 = load i32, ptr %15761, align 4, !tbaa !5
  %15763 = call ptr @strerror(i32 noundef %15762) #10
  %15764 = call ptr @__errno_location() #11
  %15765 = load i32, ptr %15764, align 4, !tbaa !5
  %15766 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15753, ptr noundef @.str.5, i32 noundef %15754, ptr noundef @.str.88, ptr noundef @.str.1, i32 noundef 660, ptr noundef %15757, ptr noundef %15760, ptr noundef %15763, i32 noundef %15765) #10
  br label %15767

15767:                                            ; preds = %15750, %15733
  call void @llvm.lifetime.end.p0(i64 4, ptr %329) #10
  br label %15768

15768:                                            ; preds = %15767
  br label %15769

15769:                                            ; preds = %15768
  call void @exit(i32 noundef 1) #12
  unreachable

15770:                                            ; No predecessors!
  br label %15771

15771:                                            ; preds = %15770
  br label %15772

15772:                                            ; preds = %15771, %15713
  br label %15773

15773:                                            ; preds = %15772
  br label %15774

15774:                                            ; preds = %15773
  br label %15775

15775:                                            ; preds = %15774
  %15776 = load i32, ptr @test_count, align 4, !tbaa !5
  %15777 = add nsw i32 %15776, 1
  store i32 %15777, ptr @test_count, align 4, !tbaa !5
  %15778 = load ptr, ptr %318, align 8, !tbaa !9
  %15779 = load ptr, ptr %324, align 8, !tbaa !9
  %15780 = call i32 @s2n_test_client_hello(ptr noundef %15778, ptr noundef %15779)
  %15781 = getelementptr inbounds %struct.s2n_result, ptr %330, i32 0, i32 0
  store i32 %15780, ptr %15781, align 4
  %15782 = getelementptr inbounds %struct.s2n_result, ptr %330, i32 0, i32 0
  %15783 = load i32, ptr %15782, align 4
  %15784 = call zeroext i1 @s2n_result_is_ok(i32 %15783)
  br i1 %15784, label %15838, label %15785

15785:                                            ; preds = %15775
  br label %15786

15786:                                            ; preds = %15785
  br label %15787

15787:                                            ; preds = %15786
  call void @llvm.lifetime.start.p0(i64 4, ptr %331) #10
  %15788 = call ptr @__errno_location() #11
  %15789 = load i32, ptr %15788, align 4, !tbaa !5
  store i32 %15789, ptr %331, 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) #10
  %15797 = call i32 @isatty(i32 noundef %15796) #10
  %15798 = icmp ne i32 %15797, 0
  br i1 %15798, label %15799, label %15816

15799:                                            ; preds = %15794
  %15800 = load i32, ptr %331, align 4, !tbaa !5
  %15801 = call ptr @__errno_location() #11
  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() #11
  %15811 = load i32, ptr %15810, align 4, !tbaa !5
  %15812 = call ptr @strerror(i32 noundef %15811) #10
  %15813 = call ptr @__errno_location() #11
  %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.69, ptr noundef @.str.1, i32 noundef 662, ptr noundef %15806, ptr noundef %15809, ptr noundef %15812, i32 noundef %15814) #10
  br label %15833

15816:                                            ; preds = %15794, %15787
  %15817 = load i32, ptr %331, align 4, !tbaa !5
  %15818 = call ptr @__errno_location() #11
  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() #11
  %15828 = load i32, ptr %15827, align 4, !tbaa !5
  %15829 = call ptr @strerror(i32 noundef %15828) #10
  %15830 = call ptr @__errno_location() #11
  %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.69, ptr noundef @.str.1, i32 noundef 662, ptr noundef %15823, ptr noundef %15826, ptr noundef %15829, i32 noundef %15831) #10
  br label %15833

15833:                                            ; preds = %15816, %15799
  call void @llvm.lifetime.end.p0(i64 4, ptr %331) #10
  br label %15834

15834:                                            ; preds = %15833
  br label %15835

15835:                                            ; preds = %15834
  call void @exit(i32 noundef 1) #12
  unreachable

15836:                                            ; No predecessors!
  br label %15837

15837:                                            ; preds = %15836
  br label %15838

15838:                                            ; preds = %15837, %15775
  br label %15839

15839:                                            ; preds = %15838
  br label %15840

15840:                                            ; preds = %15839
  br label %15841

15841:                                            ; preds = %15840
  %15842 = load i32, ptr @test_count, align 4, !tbaa !5
  %15843 = add nsw i32 %15842, 1
  store i32 %15843, ptr @test_count, align 4, !tbaa !5
  %15844 = load ptr, ptr %324, align 8, !tbaa !9
  %15845 = call i32 @s2n_server_hello_send(ptr noundef %15844)
  %15846 = icmp eq i32 %15845, -1
  br i1 %15846, label %15847, label %15900

15847:                                            ; preds = %15841
  br label %15848

15848:                                            ; preds = %15847
  br label %15849

15849:                                            ; preds = %15848
  call void @llvm.lifetime.start.p0(i64 4, ptr %332) #10
  %15850 = call ptr @__errno_location() #11
  %15851 = load i32, ptr %15850, align 4, !tbaa !5
  store i32 %15851, ptr %332, align 4, !tbaa !5
  %15852 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15853 = call i32 @s2n_print_stacktrace(ptr noundef %15852)
  %15854 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15855 = trunc i8 %15854 to i1
  br i1 %15855, label %15856, label %15878

15856:                                            ; preds = %15849
  %15857 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15858 = call i32 @fileno(ptr noundef %15857) #10
  %15859 = call i32 @isatty(i32 noundef %15858) #10
  %15860 = icmp ne i32 %15859, 0
  br i1 %15860, label %15861, label %15878

15861:                                            ; preds = %15856
  %15862 = load i32, ptr %332, align 4, !tbaa !5
  %15863 = call ptr @__errno_location() #11
  store i32 %15862, ptr %15863, align 4, !tbaa !5
  %15864 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15865 = load i32, ptr @test_count, align 4, !tbaa !5
  %15866 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15867 = load i32, ptr %15866, align 4, !tbaa !5
  %15868 = call ptr @s2n_strerror(i32 noundef %15867, ptr noundef @.str.4)
  %15869 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15870 = load i32, ptr %15869, align 4, !tbaa !5
  %15871 = call ptr @s2n_strerror_debug(i32 noundef %15870, ptr noundef @.str.4)
  %15872 = call ptr @__errno_location() #11
  %15873 = load i32, ptr %15872, align 4, !tbaa !5
  %15874 = call ptr @strerror(i32 noundef %15873) #10
  %15875 = call ptr @__errno_location() #11
  %15876 = load i32, ptr %15875, align 4, !tbaa !5
  %15877 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15864, ptr noundef @.str.2, i32 noundef %15865, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 664, ptr noundef %15868, ptr noundef %15871, ptr noundef %15874, i32 noundef %15876) #10
  br label %15895

15878:                                            ; preds = %15856, %15849
  %15879 = load i32, ptr %332, align 4, !tbaa !5
  %15880 = call ptr @__errno_location() #11
  store i32 %15879, ptr %15880, align 4, !tbaa !5
  %15881 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15882 = load i32, ptr @test_count, align 4, !tbaa !5
  %15883 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15884 = load i32, ptr %15883, align 4, !tbaa !5
  %15885 = call ptr @s2n_strerror(i32 noundef %15884, ptr noundef @.str.4)
  %15886 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15887 = load i32, ptr %15886, align 4, !tbaa !5
  %15888 = call ptr @s2n_strerror_debug(i32 noundef %15887, ptr noundef @.str.4)
  %15889 = call ptr @__errno_location() #11
  %15890 = load i32, ptr %15889, align 4, !tbaa !5
  %15891 = call ptr @strerror(i32 noundef %15890) #10
  %15892 = call ptr @__errno_location() #11
  %15893 = load i32, ptr %15892, align 4, !tbaa !5
  %15894 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15881, ptr noundef @.str.5, i32 noundef %15882, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 664, ptr noundef %15885, ptr noundef %15888, ptr noundef %15891, i32 noundef %15893) #10
  br label %15895

15895:                                            ; preds = %15878, %15861
  call void @llvm.lifetime.end.p0(i64 4, ptr %332) #10
  br label %15896

15896:                                            ; preds = %15895
  br label %15897

15897:                                            ; preds = %15896
  call void @exit(i32 noundef 1) #12
  unreachable

15898:                                            ; No predecessors!
  br label %15899

15899:                                            ; preds = %15898
  br label %15900

15900:                                            ; preds = %15899, %15841
  br label %15901

15901:                                            ; preds = %15900
  br label %15902

15902:                                            ; preds = %15901
  br label %15903

15903:                                            ; preds = %15902
  %15904 = load i32, ptr @test_count, align 4, !tbaa !5
  %15905 = add nsw i32 %15904, 1
  store i32 %15905, ptr @test_count, align 4, !tbaa !5
  %15906 = load ptr, ptr %324, align 8, !tbaa !9
  %15907 = getelementptr inbounds %struct.s2n_connection, ptr %15906, i32 0, i32 52
  %15908 = getelementptr inbounds %struct.s2n_handshake, ptr %15907, i32 0, i32 0
  %15909 = load ptr, ptr %318, align 8, !tbaa !9
  %15910 = getelementptr inbounds %struct.s2n_connection, ptr %15909, i32 0, i32 52
  %15911 = getelementptr inbounds %struct.s2n_handshake, ptr %15910, i32 0, i32 0
  %15912 = load ptr, ptr %324, align 8, !tbaa !9
  %15913 = getelementptr inbounds %struct.s2n_connection, ptr %15912, i32 0, i32 52
  %15914 = getelementptr inbounds %struct.s2n_handshake, ptr %15913, i32 0, i32 0
  %15915 = getelementptr inbounds %struct.s2n_stuffer, ptr %15914, i32 0, i32 2
  %15916 = load i32, ptr %15915, align 4, !tbaa !58
  %15917 = load ptr, ptr %324, align 8, !tbaa !9
  %15918 = getelementptr inbounds %struct.s2n_connection, ptr %15917, i32 0, i32 52
  %15919 = getelementptr inbounds %struct.s2n_handshake, ptr %15918, i32 0, i32 0
  %15920 = getelementptr inbounds %struct.s2n_stuffer, ptr %15919, i32 0, i32 1
  %15921 = load i32, ptr %15920, align 8, !tbaa !59
  %15922 = sub i32 %15916, %15921
  %15923 = call i32 @s2n_stuffer_copy(ptr noundef %15908, ptr noundef %15911, i32 noundef %15922)
  %15924 = icmp eq i32 %15923, -1
  br i1 %15924, label %15925, label %15978

15925:                                            ; preds = %15903
  br label %15926

15926:                                            ; preds = %15925
  br label %15927

15927:                                            ; preds = %15926
  call void @llvm.lifetime.start.p0(i64 4, ptr %333) #10
  %15928 = call ptr @__errno_location() #11
  %15929 = load i32, ptr %15928, align 4, !tbaa !5
  store i32 %15929, ptr %333, align 4, !tbaa !5
  %15930 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15931 = call i32 @s2n_print_stacktrace(ptr noundef %15930)
  %15932 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15933 = trunc i8 %15932 to i1
  br i1 %15933, label %15934, label %15956

15934:                                            ; preds = %15927
  %15935 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15936 = call i32 @fileno(ptr noundef %15935) #10
  %15937 = call i32 @isatty(i32 noundef %15936) #10
  %15938 = icmp ne i32 %15937, 0
  br i1 %15938, label %15939, label %15956

15939:                                            ; preds = %15934
  %15940 = load i32, ptr %333, align 4, !tbaa !5
  %15941 = call ptr @__errno_location() #11
  store i32 %15940, ptr %15941, align 4, !tbaa !5
  %15942 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15943 = load i32, ptr @test_count, align 4, !tbaa !5
  %15944 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15945 = load i32, ptr %15944, align 4, !tbaa !5
  %15946 = call ptr @s2n_strerror(i32 noundef %15945, ptr noundef @.str.4)
  %15947 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15948 = load i32, ptr %15947, align 4, !tbaa !5
  %15949 = call ptr @s2n_strerror_debug(i32 noundef %15948, ptr noundef @.str.4)
  %15950 = call ptr @__errno_location() #11
  %15951 = load i32, ptr %15950, align 4, !tbaa !5
  %15952 = call ptr @strerror(i32 noundef %15951) #10
  %15953 = call ptr @__errno_location() #11
  %15954 = load i32, ptr %15953, align 4, !tbaa !5
  %15955 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15942, ptr noundef @.str.2, i32 noundef %15943, ptr noundef @.str.71, ptr noundef @.str.1, i32 noundef 666, ptr noundef %15946, ptr noundef %15949, ptr noundef %15952, i32 noundef %15954) #10
  br label %15973

15956:                                            ; preds = %15934, %15927
  %15957 = load i32, ptr %333, align 4, !tbaa !5
  %15958 = call ptr @__errno_location() #11
  store i32 %15957, ptr %15958, align 4, !tbaa !5
  %15959 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15960 = load i32, ptr @test_count, align 4, !tbaa !5
  %15961 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15962 = load i32, ptr %15961, align 4, !tbaa !5
  %15963 = call ptr @s2n_strerror(i32 noundef %15962, ptr noundef @.str.4)
  %15964 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15965 = load i32, ptr %15964, align 4, !tbaa !5
  %15966 = call ptr @s2n_strerror_debug(i32 noundef %15965, ptr noundef @.str.4)
  %15967 = call ptr @__errno_location() #11
  %15968 = load i32, ptr %15967, align 4, !tbaa !5
  %15969 = call ptr @strerror(i32 noundef %15968) #10
  %15970 = call ptr @__errno_location() #11
  %15971 = load i32, ptr %15970, align 4, !tbaa !5
  %15972 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15959, ptr noundef @.str.5, i32 noundef %15960, ptr noundef @.str.71, ptr noundef @.str.1, i32 noundef 666, ptr noundef %15963, ptr noundef %15966, ptr noundef %15969, i32 noundef %15971) #10
  br label %15973

15973:                                            ; preds = %15956, %15939
  call void @llvm.lifetime.end.p0(i64 4, ptr %333) #10
  br label %15974

15974:                                            ; preds = %15973
  br label %15975

15975:                                            ; preds = %15974
  call void @exit(i32 noundef 1) #12
  unreachable

15976:                                            ; No predecessors!
  br label %15977

15977:                                            ; preds = %15976
  br label %15978

15978:                                            ; preds = %15977, %15903
  br label %15979

15979:                                            ; preds = %15978
  br label %15980

15980:                                            ; preds = %15979
  br label %15981

15981:                                            ; preds = %15980
  br label %15982

15982:                                            ; preds = %15981
  br label %15983

15983:                                            ; preds = %15982
  %15984 = load i32, ptr @test_count, align 4, !tbaa !5
  %15985 = add nsw i32 %15984, 1
  store i32 %15985, ptr @test_count, align 4, !tbaa !5
  %15986 = load ptr, ptr %318, align 8, !tbaa !9
  %15987 = call i32 @s2n_server_hello_recv(ptr noundef %15986)
  %15988 = icmp eq i32 %15987, -1
  br i1 %15988, label %16042, label %15989

15989:                                            ; preds = %15983
  br label %15990

15990:                                            ; preds = %15989
  br label %15991

15991:                                            ; preds = %15990
  call void @llvm.lifetime.start.p0(i64 4, ptr %334) #10
  %15992 = call ptr @__errno_location() #11
  %15993 = load i32, ptr %15992, align 4, !tbaa !5
  store i32 %15993, ptr %334, align 4, !tbaa !5
  %15994 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15995 = call i32 @s2n_print_stacktrace(ptr noundef %15994)
  %15996 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15997 = trunc i8 %15996 to i1
  br i1 %15997, label %15998, label %16020

15998:                                            ; preds = %15991
  %15999 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16000 = call i32 @fileno(ptr noundef %15999) #10
  %16001 = call i32 @isatty(i32 noundef %16000) #10
  %16002 = icmp ne i32 %16001, 0
  br i1 %16002, label %16003, label %16020

16003:                                            ; preds = %15998
  %16004 = load i32, ptr %334, align 4, !tbaa !5
  %16005 = call ptr @__errno_location() #11
  store i32 %16004, ptr %16005, align 4, !tbaa !5
  %16006 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16007 = load i32, ptr @test_count, align 4, !tbaa !5
  %16008 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16009 = load i32, ptr %16008, align 4, !tbaa !5
  %16010 = call ptr @s2n_strerror(i32 noundef %16009, ptr noundef @.str.4)
  %16011 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16012 = load i32, ptr %16011, align 4, !tbaa !5
  %16013 = call ptr @s2n_strerror_debug(i32 noundef %16012, ptr noundef @.str.4)
  %16014 = call ptr @__errno_location() #11
  %16015 = load i32, ptr %16014, align 4, !tbaa !5
  %16016 = call ptr @strerror(i32 noundef %16015) #10
  %16017 = call ptr @__errno_location() #11
  %16018 = load i32, ptr %16017, align 4, !tbaa !5
  %16019 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16006, ptr noundef @.str.2, i32 noundef %16007, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 667, ptr noundef %16010, ptr noundef %16013, ptr noundef %16016, i32 noundef %16018) #10
  br label %16037

16020:                                            ; preds = %15998, %15991
  %16021 = load i32, ptr %334, align 4, !tbaa !5
  %16022 = call ptr @__errno_location() #11
  store i32 %16021, ptr %16022, align 4, !tbaa !5
  %16023 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16024 = load i32, ptr @test_count, align 4, !tbaa !5
  %16025 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16026 = load i32, ptr %16025, align 4, !tbaa !5
  %16027 = call ptr @s2n_strerror(i32 noundef %16026, ptr noundef @.str.4)
  %16028 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16029 = load i32, ptr %16028, align 4, !tbaa !5
  %16030 = call ptr @s2n_strerror_debug(i32 noundef %16029, ptr noundef @.str.4)
  %16031 = call ptr @__errno_location() #11
  %16032 = load i32, ptr %16031, align 4, !tbaa !5
  %16033 = call ptr @strerror(i32 noundef %16032) #10
  %16034 = call ptr @__errno_location() #11
  %16035 = load i32, ptr %16034, align 4, !tbaa !5
  %16036 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16023, ptr noundef @.str.5, i32 noundef %16024, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 667, ptr noundef %16027, ptr noundef %16030, ptr noundef %16033, i32 noundef %16035) #10
  br label %16037

16037:                                            ; preds = %16020, %16003
  call void @llvm.lifetime.end.p0(i64 4, ptr %334) #10
  br label %16038

16038:                                            ; preds = %16037
  br label %16039

16039:                                            ; preds = %16038
  call void @exit(i32 noundef 1) #12
  unreachable

16040:                                            ; No predecessors!
  br label %16041

16041:                                            ; preds = %16040
  br label %16042

16042:                                            ; preds = %16041, %15983
  br label %16043

16043:                                            ; preds = %16042
  br label %16044

16044:                                            ; preds = %16043
  br label %16045

16045:                                            ; preds = %16044
  %16046 = load i32, ptr @test_count, align 4, !tbaa !5
  %16047 = add nsw i32 %16046, 1
  store i32 %16047, ptr @test_count, align 4, !tbaa !5
  %16048 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16049 = load i32, ptr %16048, align 4, !tbaa !5
  %16050 = icmp eq i32 %16049, 335544384
  br i1 %16050, label %16104, label %16051

16051:                                            ; preds = %16045
  br label %16052

16052:                                            ; preds = %16051
  br label %16053

16053:                                            ; preds = %16052
  call void @llvm.lifetime.start.p0(i64 4, ptr %335) #10
  %16054 = call ptr @__errno_location() #11
  %16055 = load i32, ptr %16054, align 4, !tbaa !5
  store i32 %16055, ptr %335, align 4, !tbaa !5
  %16056 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16057 = call i32 @s2n_print_stacktrace(ptr noundef %16056)
  %16058 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16059 = trunc i8 %16058 to i1
  br i1 %16059, label %16060, label %16082

16060:                                            ; preds = %16053
  %16061 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16062 = call i32 @fileno(ptr noundef %16061) #10
  %16063 = call i32 @isatty(i32 noundef %16062) #10
  %16064 = icmp ne i32 %16063, 0
  br i1 %16064, label %16065, label %16082

16065:                                            ; preds = %16060
  %16066 = load i32, ptr %335, align 4, !tbaa !5
  %16067 = call ptr @__errno_location() #11
  store i32 %16066, ptr %16067, align 4, !tbaa !5
  %16068 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16069 = load i32, ptr @test_count, align 4, !tbaa !5
  %16070 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16071 = load i32, ptr %16070, align 4, !tbaa !5
  %16072 = call ptr @s2n_strerror(i32 noundef %16071, ptr noundef @.str.4)
  %16073 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16074 = load i32, ptr %16073, align 4, !tbaa !5
  %16075 = call ptr @s2n_strerror_debug(i32 noundef %16074, ptr noundef @.str.4)
  %16076 = call ptr @__errno_location() #11
  %16077 = load i32, ptr %16076, align 4, !tbaa !5
  %16078 = call ptr @strerror(i32 noundef %16077) #10
  %16079 = call ptr @__errno_location() #11
  %16080 = load i32, ptr %16079, align 4, !tbaa !5
  %16081 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16068, ptr noundef @.str.2, i32 noundef %16069, ptr noundef @.str.76, ptr noundef @.str.1, i32 noundef 667, ptr noundef %16072, ptr noundef %16075, ptr noundef %16078, i32 noundef %16080) #10
  br label %16099

16082:                                            ; preds = %16060, %16053
  %16083 = load i32, ptr %335, align 4, !tbaa !5
  %16084 = call ptr @__errno_location() #11
  store i32 %16083, ptr %16084, align 4, !tbaa !5
  %16085 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16086 = load i32, ptr @test_count, align 4, !tbaa !5
  %16087 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16088 = load i32, ptr %16087, align 4, !tbaa !5
  %16089 = call ptr @s2n_strerror(i32 noundef %16088, ptr noundef @.str.4)
  %16090 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16091 = load i32, ptr %16090, align 4, !tbaa !5
  %16092 = call ptr @s2n_strerror_debug(i32 noundef %16091, ptr noundef @.str.4)
  %16093 = call ptr @__errno_location() #11
  %16094 = load i32, ptr %16093, align 4, !tbaa !5
  %16095 = call ptr @strerror(i32 noundef %16094) #10
  %16096 = call ptr @__errno_location() #11
  %16097 = load i32, ptr %16096, align 4, !tbaa !5
  %16098 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16085, ptr noundef @.str.5, i32 noundef %16086, ptr noundef @.str.76, ptr noundef @.str.1, i32 noundef 667, ptr noundef %16089, ptr noundef %16092, ptr noundef %16095, i32 noundef %16097) #10
  br label %16099

16099:                                            ; preds = %16082, %16065
  call void @llvm.lifetime.end.p0(i64 4, ptr %335) #10
  br label %16100

16100:                                            ; preds = %16099
  br label %16101

16101:                                            ; preds = %16100
  call void @exit(i32 noundef 1) #12
  unreachable

16102:                                            ; No predecessors!
  br label %16103

16103:                                            ; preds = %16102
  br label %16104

16104:                                            ; preds = %16103, %16045
  br label %16105

16105:                                            ; preds = %16104
  br label %16106

16106:                                            ; preds = %16105
  br label %16107

16107:                                            ; preds = %16106
  %16108 = load i32, ptr @test_count, align 4, !tbaa !5
  %16109 = add nsw i32 %16108, 1
  store i32 %16109, ptr @test_count, align 4, !tbaa !5
  %16110 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16111 = load i32, ptr %16110, align 4, !tbaa !5
  %16112 = call ptr @s2n_strerror_debug(i32 noundef %16111, ptr noundef @.str.4)
  %16113 = icmp eq ptr %16112, null
  br i1 %16113, label %16114, label %16167

16114:                                            ; preds = %16107
  br label %16115

16115:                                            ; preds = %16114
  br label %16116

16116:                                            ; preds = %16115
  call void @llvm.lifetime.start.p0(i64 4, ptr %336) #10
  %16117 = call ptr @__errno_location() #11
  %16118 = load i32, ptr %16117, align 4, !tbaa !5
  store i32 %16118, ptr %336, align 4, !tbaa !5
  %16119 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16120 = call i32 @s2n_print_stacktrace(ptr noundef %16119)
  %16121 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16122 = trunc i8 %16121 to i1
  br i1 %16122, label %16123, label %16145

16123:                                            ; preds = %16116
  %16124 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16125 = call i32 @fileno(ptr noundef %16124) #10
  %16126 = call i32 @isatty(i32 noundef %16125) #10
  %16127 = icmp ne i32 %16126, 0
  br i1 %16127, label %16128, label %16145

16128:                                            ; preds = %16123
  %16129 = load i32, ptr %336, align 4, !tbaa !5
  %16130 = call ptr @__errno_location() #11
  store i32 %16129, ptr %16130, align 4, !tbaa !5
  %16131 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16132 = load i32, ptr @test_count, align 4, !tbaa !5
  %16133 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16134 = load i32, ptr %16133, align 4, !tbaa !5
  %16135 = call ptr @s2n_strerror(i32 noundef %16134, ptr noundef @.str.4)
  %16136 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16137 = load i32, ptr %16136, align 4, !tbaa !5
  %16138 = call ptr @s2n_strerror_debug(i32 noundef %16137, ptr noundef @.str.4)
  %16139 = call ptr @__errno_location() #11
  %16140 = load i32, ptr %16139, align 4, !tbaa !5
  %16141 = call ptr @strerror(i32 noundef %16140) #10
  %16142 = call ptr @__errno_location() #11
  %16143 = load i32, ptr %16142, align 4, !tbaa !5
  %16144 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16131, ptr noundef @.str.2, i32 noundef %16132, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 667, ptr noundef %16135, ptr noundef %16138, ptr noundef %16141, i32 noundef %16143) #10
  br label %16162

16145:                                            ; preds = %16123, %16116
  %16146 = load i32, ptr %336, align 4, !tbaa !5
  %16147 = call ptr @__errno_location() #11
  store i32 %16146, ptr %16147, align 4, !tbaa !5
  %16148 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16149 = load i32, ptr @test_count, align 4, !tbaa !5
  %16150 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16151 = load i32, ptr %16150, align 4, !tbaa !5
  %16152 = call ptr @s2n_strerror(i32 noundef %16151, ptr noundef @.str.4)
  %16153 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16154 = load i32, ptr %16153, align 4, !tbaa !5
  %16155 = call ptr @s2n_strerror_debug(i32 noundef %16154, ptr noundef @.str.4)
  %16156 = call ptr @__errno_location() #11
  %16157 = load i32, ptr %16156, align 4, !tbaa !5
  %16158 = call ptr @strerror(i32 noundef %16157) #10
  %16159 = call ptr @__errno_location() #11
  %16160 = load i32, ptr %16159, align 4, !tbaa !5
  %16161 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16148, ptr noundef @.str.5, i32 noundef %16149, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 667, ptr noundef %16152, ptr noundef %16155, ptr noundef %16158, i32 noundef %16160) #10
  br label %16162

16162:                                            ; preds = %16145, %16128
  call void @llvm.lifetime.end.p0(i64 4, ptr %336) #10
  br label %16163

16163:                                            ; preds = %16162
  br label %16164

16164:                                            ; preds = %16163
  call void @exit(i32 noundef 1) #12
  unreachable

16165:                                            ; No predecessors!
  br label %16166

16166:                                            ; preds = %16165
  br label %16167

16167:                                            ; preds = %16166, %16107
  br label %16168

16168:                                            ; preds = %16167
  br label %16169

16169:                                            ; preds = %16168
  br label %16170

16170:                                            ; preds = %16169
  br label %16171

16171:                                            ; preds = %16170
  br label %16172

16172:                                            ; preds = %16171
  %16173 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %16173, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %16174 = call ptr @__errno_location() #11
  store i32 0, ptr %16174, align 4, !tbaa !5
  br label %16175

16175:                                            ; preds = %16172
  br label %16176

16176:                                            ; preds = %16175
  br label %16177

16177:                                            ; preds = %16176
  br label %16178

16178:                                            ; preds = %16177
  br label %16179

16179:                                            ; preds = %16178
  %16180 = load i32, ptr @test_count, align 4, !tbaa !5
  %16181 = add nsw i32 %16180, 1
  store i32 %16181, ptr @test_count, align 4, !tbaa !5
  %16182 = load ptr, ptr %318, align 8, !tbaa !9
  %16183 = getelementptr inbounds %struct.s2n_connection, ptr %16182, i32 0, i32 89
  %16184 = load i32, ptr %16183, align 8, !tbaa !70
  %16185 = icmp eq i32 %16184, 1
  br i1 %16185, label %16239, label %16186

16186:                                            ; preds = %16179
  br label %16187

16187:                                            ; preds = %16186
  br label %16188

16188:                                            ; preds = %16187
  call void @llvm.lifetime.start.p0(i64 4, ptr %337) #10
  %16189 = call ptr @__errno_location() #11
  %16190 = load i32, ptr %16189, align 4, !tbaa !5
  store i32 %16190, ptr %337, align 4, !tbaa !5
  %16191 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16192 = call i32 @s2n_print_stacktrace(ptr noundef %16191)
  %16193 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16194 = trunc i8 %16193 to i1
  br i1 %16194, label %16195, label %16217

16195:                                            ; preds = %16188
  %16196 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16197 = call i32 @fileno(ptr noundef %16196) #10
  %16198 = call i32 @isatty(i32 noundef %16197) #10
  %16199 = icmp ne i32 %16198, 0
  br i1 %16199, label %16200, label %16217

16200:                                            ; preds = %16195
  %16201 = load i32, ptr %337, align 4, !tbaa !5
  %16202 = call ptr @__errno_location() #11
  store i32 %16201, ptr %16202, align 4, !tbaa !5
  %16203 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16204 = load i32, ptr @test_count, align 4, !tbaa !5
  %16205 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16206 = load i32, ptr %16205, align 4, !tbaa !5
  %16207 = call ptr @s2n_strerror(i32 noundef %16206, ptr noundef @.str.4)
  %16208 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16209 = load i32, ptr %16208, align 4, !tbaa !5
  %16210 = call ptr @s2n_strerror_debug(i32 noundef %16209, ptr noundef @.str.4)
  %16211 = call ptr @__errno_location() #11
  %16212 = load i32, ptr %16211, align 4, !tbaa !5
  %16213 = call ptr @strerror(i32 noundef %16212) #10
  %16214 = call ptr @__errno_location() #11
  %16215 = load i32, ptr %16214, align 4, !tbaa !5
  %16216 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16203, ptr noundef @.str.2, i32 noundef %16204, ptr noundef @.str.89, ptr noundef @.str.1, i32 noundef 669, ptr noundef %16207, ptr noundef %16210, ptr noundef %16213, i32 noundef %16215) #10
  br label %16234

16217:                                            ; preds = %16195, %16188
  %16218 = load i32, ptr %337, align 4, !tbaa !5
  %16219 = call ptr @__errno_location() #11
  store i32 %16218, ptr %16219, align 4, !tbaa !5
  %16220 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16221 = load i32, ptr @test_count, align 4, !tbaa !5
  %16222 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16223 = load i32, ptr %16222, align 4, !tbaa !5
  %16224 = call ptr @s2n_strerror(i32 noundef %16223, ptr noundef @.str.4)
  %16225 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16226 = load i32, ptr %16225, align 4, !tbaa !5
  %16227 = call ptr @s2n_strerror_debug(i32 noundef %16226, ptr noundef @.str.4)
  %16228 = call ptr @__errno_location() #11
  %16229 = load i32, ptr %16228, align 4, !tbaa !5
  %16230 = call ptr @strerror(i32 noundef %16229) #10
  %16231 = call ptr @__errno_location() #11
  %16232 = load i32, ptr %16231, align 4, !tbaa !5
  %16233 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16220, ptr noundef @.str.5, i32 noundef %16221, ptr noundef @.str.89, ptr noundef @.str.1, i32 noundef 669, ptr noundef %16224, ptr noundef %16227, ptr noundef %16230, i32 noundef %16232) #10
  br label %16234

16234:                                            ; preds = %16217, %16200
  call void @llvm.lifetime.end.p0(i64 4, ptr %337) #10
  br label %16235

16235:                                            ; preds = %16234
  br label %16236

16236:                                            ; preds = %16235
  call void @exit(i32 noundef 1) #12
  unreachable

16237:                                            ; No predecessors!
  br label %16238

16238:                                            ; preds = %16237
  br label %16239

16239:                                            ; preds = %16238, %16179
  br label %16240

16240:                                            ; preds = %16239
  br label %16241

16241:                                            ; preds = %16240
  br label %16242

16242:                                            ; preds = %16241
  %16243 = load i32, ptr @test_count, align 4, !tbaa !5
  %16244 = add nsw i32 %16243, 1
  store i32 %16244, ptr @test_count, align 4, !tbaa !5
  %16245 = load ptr, ptr %318, align 8, !tbaa !9
  %16246 = getelementptr inbounds %struct.s2n_connection, ptr %16245, i32 0, i32 22
  %16247 = load i8, ptr %16246, align 1, !tbaa !64
  %16248 = zext i8 %16247 to i32
  %16249 = icmp eq i32 %16248, 33
  br i1 %16249, label %16303, label %16250

16250:                                            ; preds = %16242
  br label %16251

16251:                                            ; preds = %16250
  br label %16252

16252:                                            ; preds = %16251
  call void @llvm.lifetime.start.p0(i64 4, ptr %338) #10
  %16253 = call ptr @__errno_location() #11
  %16254 = load i32, ptr %16253, align 4, !tbaa !5
  store i32 %16254, ptr %338, align 4, !tbaa !5
  %16255 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16256 = call i32 @s2n_print_stacktrace(ptr noundef %16255)
  %16257 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16258 = trunc i8 %16257 to i1
  br i1 %16258, label %16259, label %16281

16259:                                            ; preds = %16252
  %16260 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16261 = call i32 @fileno(ptr noundef %16260) #10
  %16262 = call i32 @isatty(i32 noundef %16261) #10
  %16263 = icmp ne i32 %16262, 0
  br i1 %16263, label %16264, label %16281

16264:                                            ; preds = %16259
  %16265 = load i32, ptr %338, align 4, !tbaa !5
  %16266 = call ptr @__errno_location() #11
  store i32 %16265, ptr %16266, align 4, !tbaa !5
  %16267 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16268 = load i32, ptr @test_count, align 4, !tbaa !5
  %16269 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16270 = load i32, ptr %16269, align 4, !tbaa !5
  %16271 = call ptr @s2n_strerror(i32 noundef %16270, ptr noundef @.str.4)
  %16272 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16273 = load i32, ptr %16272, align 4, !tbaa !5
  %16274 = call ptr @s2n_strerror_debug(i32 noundef %16273, ptr noundef @.str.4)
  %16275 = call ptr @__errno_location() #11
  %16276 = load i32, ptr %16275, align 4, !tbaa !5
  %16277 = call ptr @strerror(i32 noundef %16276) #10
  %16278 = call ptr @__errno_location() #11
  %16279 = load i32, ptr %16278, align 4, !tbaa !5
  %16280 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16267, ptr noundef @.str.2, i32 noundef %16268, ptr noundef @.str.91, ptr noundef @.str.1, i32 noundef 670, ptr noundef %16271, ptr noundef %16274, ptr noundef %16277, i32 noundef %16279) #10
  br label %16298

16281:                                            ; preds = %16259, %16252
  %16282 = load i32, ptr %338, align 4, !tbaa !5
  %16283 = call ptr @__errno_location() #11
  store i32 %16282, ptr %16283, align 4, !tbaa !5
  %16284 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16285 = load i32, ptr @test_count, align 4, !tbaa !5
  %16286 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16287 = load i32, ptr %16286, align 4, !tbaa !5
  %16288 = call ptr @s2n_strerror(i32 noundef %16287, ptr noundef @.str.4)
  %16289 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16290 = load i32, ptr %16289, align 4, !tbaa !5
  %16291 = call ptr @s2n_strerror_debug(i32 noundef %16290, ptr noundef @.str.4)
  %16292 = call ptr @__errno_location() #11
  %16293 = load i32, ptr %16292, align 4, !tbaa !5
  %16294 = call ptr @strerror(i32 noundef %16293) #10
  %16295 = call ptr @__errno_location() #11
  %16296 = load i32, ptr %16295, align 4, !tbaa !5
  %16297 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16284, ptr noundef @.str.5, i32 noundef %16285, ptr noundef @.str.91, ptr noundef @.str.1, i32 noundef 670, ptr noundef %16288, ptr noundef %16291, ptr noundef %16294, i32 noundef %16296) #10
  br label %16298

16298:                                            ; preds = %16281, %16264
  call void @llvm.lifetime.end.p0(i64 4, ptr %338) #10
  br label %16299

16299:                                            ; preds = %16298
  br label %16300

16300:                                            ; preds = %16299
  call void @exit(i32 noundef 1) #12
  unreachable

16301:                                            ; No predecessors!
  br label %16302

16302:                                            ; preds = %16301
  br label %16303

16303:                                            ; preds = %16302, %16242
  br label %16304

16304:                                            ; preds = %16303
  br label %16305

16305:                                            ; preds = %16304
  br label %16306

16306:                                            ; preds = %16305
  %16307 = load i32, ptr @test_count, align 4, !tbaa !5
  %16308 = add nsw i32 %16307, 1
  store i32 %16308, ptr @test_count, align 4, !tbaa !5
  %16309 = load ptr, ptr %324, align 8, !tbaa !9
  %16310 = getelementptr inbounds %struct.s2n_connection, ptr %16309, i32 0, i32 23
  %16311 = load i8, ptr %16310, align 4, !tbaa !42
  %16312 = zext i8 %16311 to i32
  %16313 = icmp eq i32 %16312, 33
  br i1 %16313, label %16367, label %16314

16314:                                            ; preds = %16306
  br label %16315

16315:                                            ; preds = %16314
  br label %16316

16316:                                            ; preds = %16315
  call void @llvm.lifetime.start.p0(i64 4, ptr %339) #10
  %16317 = call ptr @__errno_location() #11
  %16318 = load i32, ptr %16317, align 4, !tbaa !5
  store i32 %16318, ptr %339, align 4, !tbaa !5
  %16319 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16320 = call i32 @s2n_print_stacktrace(ptr noundef %16319)
  %16321 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16322 = trunc i8 %16321 to i1
  br i1 %16322, label %16323, label %16345

16323:                                            ; preds = %16316
  %16324 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16325 = call i32 @fileno(ptr noundef %16324) #10
  %16326 = call i32 @isatty(i32 noundef %16325) #10
  %16327 = icmp ne i32 %16326, 0
  br i1 %16327, label %16328, label %16345

16328:                                            ; preds = %16323
  %16329 = load i32, ptr %339, align 4, !tbaa !5
  %16330 = call ptr @__errno_location() #11
  store i32 %16329, ptr %16330, align 4, !tbaa !5
  %16331 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16332 = load i32, ptr @test_count, align 4, !tbaa !5
  %16333 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16334 = load i32, ptr %16333, align 4, !tbaa !5
  %16335 = call ptr @s2n_strerror(i32 noundef %16334, ptr noundef @.str.4)
  %16336 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16337 = load i32, ptr %16336, align 4, !tbaa !5
  %16338 = call ptr @s2n_strerror_debug(i32 noundef %16337, ptr noundef @.str.4)
  %16339 = call ptr @__errno_location() #11
  %16340 = load i32, ptr %16339, align 4, !tbaa !5
  %16341 = call ptr @strerror(i32 noundef %16340) #10
  %16342 = call ptr @__errno_location() #11
  %16343 = load i32, ptr %16342, align 4, !tbaa !5
  %16344 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16331, ptr noundef @.str.2, i32 noundef %16332, ptr noundef @.str.77, ptr noundef @.str.1, i32 noundef 671, ptr noundef %16335, ptr noundef %16338, ptr noundef %16341, i32 noundef %16343) #10
  br label %16362

16345:                                            ; preds = %16323, %16316
  %16346 = load i32, ptr %339, align 4, !tbaa !5
  %16347 = call ptr @__errno_location() #11
  store i32 %16346, ptr %16347, align 4, !tbaa !5
  %16348 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16349 = load i32, ptr @test_count, align 4, !tbaa !5
  %16350 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16351 = load i32, ptr %16350, align 4, !tbaa !5
  %16352 = call ptr @s2n_strerror(i32 noundef %16351, ptr noundef @.str.4)
  %16353 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16354 = load i32, ptr %16353, align 4, !tbaa !5
  %16355 = call ptr @s2n_strerror_debug(i32 noundef %16354, ptr noundef @.str.4)
  %16356 = call ptr @__errno_location() #11
  %16357 = load i32, ptr %16356, align 4, !tbaa !5
  %16358 = call ptr @strerror(i32 noundef %16357) #10
  %16359 = call ptr @__errno_location() #11
  %16360 = load i32, ptr %16359, align 4, !tbaa !5
  %16361 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16348, ptr noundef @.str.5, i32 noundef %16349, ptr noundef @.str.77, ptr noundef @.str.1, i32 noundef 671, ptr noundef %16352, ptr noundef %16355, ptr noundef %16358, i32 noundef %16360) #10
  br label %16362

16362:                                            ; preds = %16345, %16328
  call void @llvm.lifetime.end.p0(i64 4, ptr %339) #10
  br label %16363

16363:                                            ; preds = %16362
  br label %16364

16364:                                            ; preds = %16363
  call void @exit(i32 noundef 1) #12
  unreachable

16365:                                            ; No predecessors!
  br label %16366

16366:                                            ; preds = %16365
  br label %16367

16367:                                            ; preds = %16366, %16306
  br label %16368

16368:                                            ; preds = %16367
  br label %16369

16369:                                            ; preds = %16368
  br label %16370

16370:                                            ; preds = %16369
  %16371 = load i32, ptr @test_count, align 4, !tbaa !5
  %16372 = add nsw i32 %16371, 1
  store i32 %16372, ptr @test_count, align 4, !tbaa !5
  %16373 = load ptr, ptr %318, align 8, !tbaa !9
  %16374 = call i32 @s2n_connection_free(ptr noundef %16373)
  %16375 = icmp eq i32 %16374, -1
  br i1 %16375, label %16376, label %16429

16376:                                            ; preds = %16370
  br label %16377

16377:                                            ; preds = %16376
  br label %16378

16378:                                            ; preds = %16377
  call void @llvm.lifetime.start.p0(i64 4, ptr %340) #10
  %16379 = call ptr @__errno_location() #11
  %16380 = load i32, ptr %16379, align 4, !tbaa !5
  store i32 %16380, ptr %340, align 4, !tbaa !5
  %16381 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16382 = call i32 @s2n_print_stacktrace(ptr noundef %16381)
  %16383 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16384 = trunc i8 %16383 to i1
  br i1 %16384, label %16385, label %16407

16385:                                            ; preds = %16378
  %16386 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16387 = call i32 @fileno(ptr noundef %16386) #10
  %16388 = call i32 @isatty(i32 noundef %16387) #10
  %16389 = icmp ne i32 %16388, 0
  br i1 %16389, label %16390, label %16407

16390:                                            ; preds = %16385
  %16391 = load i32, ptr %340, align 4, !tbaa !5
  %16392 = call ptr @__errno_location() #11
  store i32 %16391, ptr %16392, align 4, !tbaa !5
  %16393 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16394 = load i32, ptr @test_count, align 4, !tbaa !5
  %16395 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16396 = load i32, ptr %16395, align 4, !tbaa !5
  %16397 = call ptr @s2n_strerror(i32 noundef %16396, ptr noundef @.str.4)
  %16398 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16399 = load i32, ptr %16398, align 4, !tbaa !5
  %16400 = call ptr @s2n_strerror_debug(i32 noundef %16399, ptr noundef @.str.4)
  %16401 = call ptr @__errno_location() #11
  %16402 = load i32, ptr %16401, align 4, !tbaa !5
  %16403 = call ptr @strerror(i32 noundef %16402) #10
  %16404 = call ptr @__errno_location() #11
  %16405 = load i32, ptr %16404, align 4, !tbaa !5
  %16406 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16393, ptr noundef @.str.2, i32 noundef %16394, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 673, ptr noundef %16397, ptr noundef %16400, ptr noundef %16403, i32 noundef %16405) #10
  br label %16424

16407:                                            ; preds = %16385, %16378
  %16408 = load i32, ptr %340, align 4, !tbaa !5
  %16409 = call ptr @__errno_location() #11
  store i32 %16408, ptr %16409, align 4, !tbaa !5
  %16410 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16411 = load i32, ptr @test_count, align 4, !tbaa !5
  %16412 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16413 = load i32, ptr %16412, align 4, !tbaa !5
  %16414 = call ptr @s2n_strerror(i32 noundef %16413, ptr noundef @.str.4)
  %16415 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16416 = load i32, ptr %16415, align 4, !tbaa !5
  %16417 = call ptr @s2n_strerror_debug(i32 noundef %16416, ptr noundef @.str.4)
  %16418 = call ptr @__errno_location() #11
  %16419 = load i32, ptr %16418, align 4, !tbaa !5
  %16420 = call ptr @strerror(i32 noundef %16419) #10
  %16421 = call ptr @__errno_location() #11
  %16422 = load i32, ptr %16421, align 4, !tbaa !5
  %16423 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16410, ptr noundef @.str.5, i32 noundef %16411, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 673, ptr noundef %16414, ptr noundef %16417, ptr noundef %16420, i32 noundef %16422) #10
  br label %16424

16424:                                            ; preds = %16407, %16390
  call void @llvm.lifetime.end.p0(i64 4, ptr %340) #10
  br label %16425

16425:                                            ; preds = %16424
  br label %16426

16426:                                            ; preds = %16425
  call void @exit(i32 noundef 1) #12
  unreachable

16427:                                            ; No predecessors!
  br label %16428

16428:                                            ; preds = %16427
  br label %16429

16429:                                            ; preds = %16428, %16370
  br label %16430

16430:                                            ; preds = %16429
  br label %16431

16431:                                            ; preds = %16430
  br label %16432

16432:                                            ; preds = %16431
  %16433 = load i32, ptr @test_count, align 4, !tbaa !5
  %16434 = add nsw i32 %16433, 1
  store i32 %16434, ptr @test_count, align 4, !tbaa !5
  %16435 = load ptr, ptr %324, align 8, !tbaa !9
  %16436 = call i32 @s2n_connection_free(ptr noundef %16435)
  %16437 = icmp eq i32 %16436, -1
  br i1 %16437, label %16438, label %16491

16438:                                            ; preds = %16432
  br label %16439

16439:                                            ; preds = %16438
  br label %16440

16440:                                            ; preds = %16439
  call void @llvm.lifetime.start.p0(i64 4, ptr %341) #10
  %16441 = call ptr @__errno_location() #11
  %16442 = load i32, ptr %16441, align 4, !tbaa !5
  store i32 %16442, ptr %341, align 4, !tbaa !5
  %16443 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16444 = call i32 @s2n_print_stacktrace(ptr noundef %16443)
  %16445 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16446 = trunc i8 %16445 to i1
  br i1 %16446, label %16447, label %16469

16447:                                            ; preds = %16440
  %16448 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16449 = call i32 @fileno(ptr noundef %16448) #10
  %16450 = call i32 @isatty(i32 noundef %16449) #10
  %16451 = icmp ne i32 %16450, 0
  br i1 %16451, label %16452, label %16469

16452:                                            ; preds = %16447
  %16453 = load i32, ptr %341, align 4, !tbaa !5
  %16454 = call ptr @__errno_location() #11
  store i32 %16453, ptr %16454, align 4, !tbaa !5
  %16455 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16456 = load i32, ptr @test_count, align 4, !tbaa !5
  %16457 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16458 = load i32, ptr %16457, align 4, !tbaa !5
  %16459 = call ptr @s2n_strerror(i32 noundef %16458, ptr noundef @.str.4)
  %16460 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16461 = load i32, ptr %16460, align 4, !tbaa !5
  %16462 = call ptr @s2n_strerror_debug(i32 noundef %16461, ptr noundef @.str.4)
  %16463 = call ptr @__errno_location() #11
  %16464 = load i32, ptr %16463, align 4, !tbaa !5
  %16465 = call ptr @strerror(i32 noundef %16464) #10
  %16466 = call ptr @__errno_location() #11
  %16467 = load i32, ptr %16466, align 4, !tbaa !5
  %16468 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16455, ptr noundef @.str.2, i32 noundef %16456, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 674, ptr noundef %16459, ptr noundef %16462, ptr noundef %16465, i32 noundef %16467) #10
  br label %16486

16469:                                            ; preds = %16447, %16440
  %16470 = load i32, ptr %341, align 4, !tbaa !5
  %16471 = call ptr @__errno_location() #11
  store i32 %16470, ptr %16471, align 4, !tbaa !5
  %16472 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16473 = load i32, ptr @test_count, align 4, !tbaa !5
  %16474 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16475 = load i32, ptr %16474, align 4, !tbaa !5
  %16476 = call ptr @s2n_strerror(i32 noundef %16475, ptr noundef @.str.4)
  %16477 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16478 = load i32, ptr %16477, align 4, !tbaa !5
  %16479 = call ptr @s2n_strerror_debug(i32 noundef %16478, ptr noundef @.str.4)
  %16480 = call ptr @__errno_location() #11
  %16481 = load i32, ptr %16480, align 4, !tbaa !5
  %16482 = call ptr @strerror(i32 noundef %16481) #10
  %16483 = call ptr @__errno_location() #11
  %16484 = load i32, ptr %16483, align 4, !tbaa !5
  %16485 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16472, ptr noundef @.str.5, i32 noundef %16473, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 674, ptr noundef %16476, ptr noundef %16479, ptr noundef %16482, i32 noundef %16484) #10
  br label %16486

16486:                                            ; preds = %16469, %16452
  call void @llvm.lifetime.end.p0(i64 4, ptr %341) #10
  br label %16487

16487:                                            ; preds = %16486
  br label %16488

16488:                                            ; preds = %16487
  call void @exit(i32 noundef 1) #12
  unreachable

16489:                                            ; No predecessors!
  br label %16490

16490:                                            ; preds = %16489
  br label %16491

16491:                                            ; preds = %16490, %16432
  br label %16492

16492:                                            ; preds = %16491
  br label %16493

16493:                                            ; preds = %16492
  call void @llvm.lifetime.end.p0(i64 8, ptr %324) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %318) #10
  br label %16494

16494:                                            ; preds = %16493
  %16495 = load i32, ptr @test_count, align 4, !tbaa !5
  %16496 = add nsw i32 %16495, 1
  store i32 %16496, ptr @test_count, align 4, !tbaa !5
  %16497 = load ptr, ptr %294, align 8, !tbaa !9
  %16498 = call i32 @s2n_config_free(ptr noundef %16497)
  %16499 = icmp eq i32 %16498, -1
  br i1 %16499, label %16500, label %16553

16500:                                            ; preds = %16494
  br label %16501

16501:                                            ; preds = %16500
  br label %16502

16502:                                            ; preds = %16501
  call void @llvm.lifetime.start.p0(i64 4, ptr %342) #10
  %16503 = call ptr @__errno_location() #11
  %16504 = load i32, ptr %16503, align 4, !tbaa !5
  store i32 %16504, ptr %342, align 4, !tbaa !5
  %16505 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16506 = call i32 @s2n_print_stacktrace(ptr noundef %16505)
  %16507 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16508 = trunc i8 %16507 to i1
  br i1 %16508, label %16509, label %16531

16509:                                            ; preds = %16502
  %16510 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16511 = call i32 @fileno(ptr noundef %16510) #10
  %16512 = call i32 @isatty(i32 noundef %16511) #10
  %16513 = icmp ne i32 %16512, 0
  br i1 %16513, label %16514, label %16531

16514:                                            ; preds = %16509
  %16515 = load i32, ptr %342, align 4, !tbaa !5
  %16516 = call ptr @__errno_location() #11
  store i32 %16515, ptr %16516, align 4, !tbaa !5
  %16517 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16518 = load i32, ptr @test_count, align 4, !tbaa !5
  %16519 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16520 = load i32, ptr %16519, align 4, !tbaa !5
  %16521 = call ptr @s2n_strerror(i32 noundef %16520, ptr noundef @.str.4)
  %16522 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16523 = load i32, ptr %16522, align 4, !tbaa !5
  %16524 = call ptr @s2n_strerror_debug(i32 noundef %16523, ptr noundef @.str.4)
  %16525 = call ptr @__errno_location() #11
  %16526 = load i32, ptr %16525, align 4, !tbaa !5
  %16527 = call ptr @strerror(i32 noundef %16526) #10
  %16528 = call ptr @__errno_location() #11
  %16529 = load i32, ptr %16528, align 4, !tbaa !5
  %16530 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16517, ptr noundef @.str.2, i32 noundef %16518, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 677, ptr noundef %16521, ptr noundef %16524, ptr noundef %16527, i32 noundef %16529) #10
  br label %16548

16531:                                            ; preds = %16509, %16502
  %16532 = load i32, ptr %342, align 4, !tbaa !5
  %16533 = call ptr @__errno_location() #11
  store i32 %16532, ptr %16533, align 4, !tbaa !5
  %16534 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16535 = load i32, ptr @test_count, align 4, !tbaa !5
  %16536 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16537 = load i32, ptr %16536, align 4, !tbaa !5
  %16538 = call ptr @s2n_strerror(i32 noundef %16537, ptr noundef @.str.4)
  %16539 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16540 = load i32, ptr %16539, align 4, !tbaa !5
  %16541 = call ptr @s2n_strerror_debug(i32 noundef %16540, ptr noundef @.str.4)
  %16542 = call ptr @__errno_location() #11
  %16543 = load i32, ptr %16542, align 4, !tbaa !5
  %16544 = call ptr @strerror(i32 noundef %16543) #10
  %16545 = call ptr @__errno_location() #11
  %16546 = load i32, ptr %16545, align 4, !tbaa !5
  %16547 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16534, ptr noundef @.str.5, i32 noundef %16535, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 677, ptr noundef %16538, ptr noundef %16541, ptr noundef %16544, i32 noundef %16546) #10
  br label %16548

16548:                                            ; preds = %16531, %16514
  call void @llvm.lifetime.end.p0(i64 4, ptr %342) #10
  br label %16549

16549:                                            ; preds = %16548
  br label %16550

16550:                                            ; preds = %16549
  call void @exit(i32 noundef 1) #12
  unreachable

16551:                                            ; No predecessors!
  br label %16552

16552:                                            ; preds = %16551
  br label %16553

16553:                                            ; preds = %16552, %16494
  br label %16554

16554:                                            ; preds = %16553
  br label %16555

16555:                                            ; preds = %16554
  br label %16556

16556:                                            ; preds = %16555
  %16557 = load i32, ptr @test_count, align 4, !tbaa !5
  %16558 = add nsw i32 %16557, 1
  store i32 %16558, ptr @test_count, align 4, !tbaa !5
  %16559 = call i32 (...) @s2n_disable_tls13_in_test()
  %16560 = icmp eq i32 %16559, -1
  br i1 %16560, label %16561, label %16614

16561:                                            ; preds = %16556
  br label %16562

16562:                                            ; preds = %16561
  br label %16563

16563:                                            ; preds = %16562
  call void @llvm.lifetime.start.p0(i64 4, ptr %343) #10
  %16564 = call ptr @__errno_location() #11
  %16565 = load i32, ptr %16564, align 4, !tbaa !5
  store i32 %16565, ptr %343, align 4, !tbaa !5
  %16566 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16567 = call i32 @s2n_print_stacktrace(ptr noundef %16566)
  %16568 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16569 = trunc i8 %16568 to i1
  br i1 %16569, label %16570, label %16592

16570:                                            ; preds = %16563
  %16571 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16572 = call i32 @fileno(ptr noundef %16571) #10
  %16573 = call i32 @isatty(i32 noundef %16572) #10
  %16574 = icmp ne i32 %16573, 0
  br i1 %16574, label %16575, label %16592

16575:                                            ; preds = %16570
  %16576 = load i32, ptr %343, align 4, !tbaa !5
  %16577 = call ptr @__errno_location() #11
  store i32 %16576, ptr %16577, align 4, !tbaa !5
  %16578 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16579 = load i32, ptr @test_count, align 4, !tbaa !5
  %16580 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16581 = load i32, ptr %16580, align 4, !tbaa !5
  %16582 = call ptr @s2n_strerror(i32 noundef %16581, ptr noundef @.str.4)
  %16583 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16584 = load i32, ptr %16583, align 4, !tbaa !5
  %16585 = call ptr @s2n_strerror_debug(i32 noundef %16584, ptr noundef @.str.4)
  %16586 = call ptr @__errno_location() #11
  %16587 = load i32, ptr %16586, align 4, !tbaa !5
  %16588 = call ptr @strerror(i32 noundef %16587) #10
  %16589 = call ptr @__errno_location() #11
  %16590 = load i32, ptr %16589, align 4, !tbaa !5
  %16591 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16578, ptr noundef @.str.2, i32 noundef %16579, ptr noundef @.str.8, ptr noundef @.str.1, i32 noundef 678, ptr noundef %16582, ptr noundef %16585, ptr noundef %16588, i32 noundef %16590) #10
  br label %16609

16592:                                            ; preds = %16570, %16563
  %16593 = load i32, ptr %343, align 4, !tbaa !5
  %16594 = call ptr @__errno_location() #11
  store i32 %16593, ptr %16594, align 4, !tbaa !5
  %16595 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16596 = load i32, ptr @test_count, align 4, !tbaa !5
  %16597 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16598 = load i32, ptr %16597, align 4, !tbaa !5
  %16599 = call ptr @s2n_strerror(i32 noundef %16598, ptr noundef @.str.4)
  %16600 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16601 = load i32, ptr %16600, align 4, !tbaa !5
  %16602 = call ptr @s2n_strerror_debug(i32 noundef %16601, ptr noundef @.str.4)
  %16603 = call ptr @__errno_location() #11
  %16604 = load i32, ptr %16603, align 4, !tbaa !5
  %16605 = call ptr @strerror(i32 noundef %16604) #10
  %16606 = call ptr @__errno_location() #11
  %16607 = load i32, ptr %16606, align 4, !tbaa !5
  %16608 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16595, ptr noundef @.str.5, i32 noundef %16596, ptr noundef @.str.8, ptr noundef @.str.1, i32 noundef 678, ptr noundef %16599, ptr noundef %16602, ptr noundef %16605, i32 noundef %16607) #10
  br label %16609

16609:                                            ; preds = %16592, %16575
  call void @llvm.lifetime.end.p0(i64 4, ptr %343) #10
  br label %16610

16610:                                            ; preds = %16609
  br label %16611

16611:                                            ; preds = %16610
  call void @exit(i32 noundef 1) #12
  unreachable

16612:                                            ; No predecessors!
  br label %16613

16613:                                            ; preds = %16612
  br label %16614

16614:                                            ; preds = %16613, %16556
  br label %16615

16615:                                            ; preds = %16614
  br label %16616

16616:                                            ; preds = %16615
  call void @llvm.lifetime.end.p0(i64 8, ptr %294) #10
  br label %16617

16617:                                            ; preds = %16616, %14052
  br label %16618

16618:                                            ; preds = %16617
  %16619 = load i32, ptr @test_count, align 4, !tbaa !5
  %16620 = add nsw i32 %16619, 1
  store i32 %16620, ptr @test_count, align 4, !tbaa !5
  %16621 = load ptr, ptr %10, align 8, !tbaa !9
  %16622 = call i32 @s2n_cert_chain_and_key_free(ptr noundef %16621)
  %16623 = icmp eq i32 %16622, -1
  br i1 %16623, label %16624, label %16677

16624:                                            ; preds = %16618
  br label %16625

16625:                                            ; preds = %16624
  br label %16626

16626:                                            ; preds = %16625
  call void @llvm.lifetime.start.p0(i64 4, ptr %344) #10
  %16627 = call ptr @__errno_location() #11
  %16628 = load i32, ptr %16627, align 4, !tbaa !5
  store i32 %16628, ptr %344, align 4, !tbaa !5
  %16629 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16630 = call i32 @s2n_print_stacktrace(ptr noundef %16629)
  %16631 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16632 = trunc i8 %16631 to i1
  br i1 %16632, label %16633, label %16655

16633:                                            ; preds = %16626
  %16634 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16635 = call i32 @fileno(ptr noundef %16634) #10
  %16636 = call i32 @isatty(i32 noundef %16635) #10
  %16637 = icmp ne i32 %16636, 0
  br i1 %16637, label %16638, label %16655

16638:                                            ; preds = %16633
  %16639 = load i32, ptr %344, align 4, !tbaa !5
  %16640 = call ptr @__errno_location() #11
  store i32 %16639, ptr %16640, align 4, !tbaa !5
  %16641 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16642 = load i32, ptr @test_count, align 4, !tbaa !5
  %16643 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16644 = load i32, ptr %16643, align 4, !tbaa !5
  %16645 = call ptr @s2n_strerror(i32 noundef %16644, ptr noundef @.str.4)
  %16646 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16647 = load i32, ptr %16646, align 4, !tbaa !5
  %16648 = call ptr @s2n_strerror_debug(i32 noundef %16647, ptr noundef @.str.4)
  %16649 = call ptr @__errno_location() #11
  %16650 = load i32, ptr %16649, align 4, !tbaa !5
  %16651 = call ptr @strerror(i32 noundef %16650) #10
  %16652 = call ptr @__errno_location() #11
  %16653 = load i32, ptr %16652, align 4, !tbaa !5
  %16654 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16641, ptr noundef @.str.2, i32 noundef %16642, ptr noundef @.str.92, ptr noundef @.str.1, i32 noundef 681, ptr noundef %16645, ptr noundef %16648, ptr noundef %16651, i32 noundef %16653) #10
  br label %16672

16655:                                            ; preds = %16633, %16626
  %16656 = load i32, ptr %344, align 4, !tbaa !5
  %16657 = call ptr @__errno_location() #11
  store i32 %16656, ptr %16657, align 4, !tbaa !5
  %16658 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16659 = load i32, ptr @test_count, align 4, !tbaa !5
  %16660 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16661 = load i32, ptr %16660, align 4, !tbaa !5
  %16662 = call ptr @s2n_strerror(i32 noundef %16661, ptr noundef @.str.4)
  %16663 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16664 = load i32, ptr %16663, align 4, !tbaa !5
  %16665 = call ptr @s2n_strerror_debug(i32 noundef %16664, ptr noundef @.str.4)
  %16666 = call ptr @__errno_location() #11
  %16667 = load i32, ptr %16666, align 4, !tbaa !5
  %16668 = call ptr @strerror(i32 noundef %16667) #10
  %16669 = call ptr @__errno_location() #11
  %16670 = load i32, ptr %16669, align 4, !tbaa !5
  %16671 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16658, ptr noundef @.str.5, i32 noundef %16659, ptr noundef @.str.92, ptr noundef @.str.1, i32 noundef 681, ptr noundef %16662, ptr noundef %16665, ptr noundef %16668, i32 noundef %16670) #10
  br label %16672

16672:                                            ; preds = %16655, %16638
  call void @llvm.lifetime.end.p0(i64 4, ptr %344) #10
  br label %16673

16673:                                            ; preds = %16672
  br label %16674

16674:                                            ; preds = %16673
  call void @exit(i32 noundef 1) #12
  unreachable

16675:                                            ; No predecessors!
  br label %16676

16676:                                            ; preds = %16675
  br label %16677

16677:                                            ; preds = %16676, %16618
  br label %16678

16678:                                            ; preds = %16677
  br label %16679

16679:                                            ; preds = %16678
  br label %16680

16680:                                            ; preds = %16679
  br label %16681

16681:                                            ; preds = %16680
  %16682 = call i32 @s2n_cleanup()
  %16683 = icmp eq i32 %16682, -1
  br i1 %16683, label %16684, label %16737

16684:                                            ; preds = %16681
  br label %16685

16685:                                            ; preds = %16684
  br label %16686

16686:                                            ; preds = %16685
  call void @llvm.lifetime.start.p0(i64 4, ptr %345) #10
  %16687 = call ptr @__errno_location() #11
  %16688 = load i32, ptr %16687, align 4, !tbaa !5
  store i32 %16688, ptr %345, align 4, !tbaa !5
  %16689 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16690 = call i32 @s2n_print_stacktrace(ptr noundef %16689)
  %16691 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16692 = trunc i8 %16691 to i1
  br i1 %16692, label %16693, label %16715

16693:                                            ; preds = %16686
  %16694 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16695 = call i32 @fileno(ptr noundef %16694) #10
  %16696 = call i32 @isatty(i32 noundef %16695) #10
  %16697 = icmp ne i32 %16696, 0
  br i1 %16697, label %16698, label %16715

16698:                                            ; preds = %16693
  %16699 = load i32, ptr %345, align 4, !tbaa !5
  %16700 = call ptr @__errno_location() #11
  store i32 %16699, ptr %16700, align 4, !tbaa !5
  %16701 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16702 = load i32, ptr @test_count, align 4, !tbaa !5
  %16703 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16704 = load i32, ptr %16703, align 4, !tbaa !5
  %16705 = call ptr @s2n_strerror(i32 noundef %16704, ptr noundef @.str.4)
  %16706 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16707 = load i32, ptr %16706, align 4, !tbaa !5
  %16708 = call ptr @s2n_strerror_debug(i32 noundef %16707, ptr noundef @.str.4)
  %16709 = call ptr @__errno_location() #11
  %16710 = load i32, ptr %16709, align 4, !tbaa !5
  %16711 = call ptr @strerror(i32 noundef %16710) #10
  %16712 = call ptr @__errno_location() #11
  %16713 = load i32, ptr %16712, align 4, !tbaa !5
  %16714 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16701, ptr noundef @.str.2, i32 noundef %16702, ptr noundef @.str.93, ptr noundef @.str.1, i32 noundef 683, ptr noundef %16705, ptr noundef %16708, ptr noundef %16711, i32 noundef %16713) #10
  br label %16732

16715:                                            ; preds = %16693, %16686
  %16716 = load i32, ptr %345, align 4, !tbaa !5
  %16717 = call ptr @__errno_location() #11
  store i32 %16716, ptr %16717, align 4, !tbaa !5
  %16718 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16719 = load i32, ptr @test_count, align 4, !tbaa !5
  %16720 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16721 = load i32, ptr %16720, align 4, !tbaa !5
  %16722 = call ptr @s2n_strerror(i32 noundef %16721, ptr noundef @.str.4)
  %16723 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16724 = load i32, ptr %16723, align 4, !tbaa !5
  %16725 = call ptr @s2n_strerror_debug(i32 noundef %16724, ptr noundef @.str.4)
  %16726 = call ptr @__errno_location() #11
  %16727 = load i32, ptr %16726, align 4, !tbaa !5
  %16728 = call ptr @strerror(i32 noundef %16727) #10
  %16729 = call ptr @__errno_location() #11
  %16730 = load i32, ptr %16729, align 4, !tbaa !5
  %16731 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16718, ptr noundef @.str.5, i32 noundef %16719, ptr noundef @.str.93, ptr noundef @.str.1, i32 noundef 683, ptr noundef %16722, ptr noundef %16725, ptr noundef %16728, i32 noundef %16730) #10
  br label %16732

16732:                                            ; preds = %16715, %16698
  call void @llvm.lifetime.end.p0(i64 4, ptr %345) #10
  br label %16733

16733:                                            ; preds = %16732
  br label %16734

16734:                                            ; preds = %16733
  call void @exit(i32 noundef 1) #12
  unreachable

16735:                                            ; No predecessors!
  br label %16736

16736:                                            ; preds = %16735
  br label %16737

16737:                                            ; preds = %16736, %16681
  br label %16738

16738:                                            ; preds = %16737
  br label %16739

16739:                                            ; preds = %16738
  br label %16740

16740:                                            ; preds = %16739
  br label %16741

16741:                                            ; preds = %16740
  %16742 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext false)
  %16743 = icmp eq i32 %16742, -1
  br i1 %16743, label %16744, label %16797

16744:                                            ; preds = %16741
  br label %16745

16745:                                            ; preds = %16744
  br label %16746

16746:                                            ; preds = %16745
  call void @llvm.lifetime.start.p0(i64 4, ptr %346) #10
  %16747 = call ptr @__errno_location() #11
  %16748 = load i32, ptr %16747, align 4, !tbaa !5
  store i32 %16748, ptr %346, align 4, !tbaa !5
  %16749 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16750 = call i32 @s2n_print_stacktrace(ptr noundef %16749)
  %16751 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16752 = trunc i8 %16751 to i1
  br i1 %16752, label %16753, label %16775

16753:                                            ; preds = %16746
  %16754 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16755 = call i32 @fileno(ptr noundef %16754) #10
  %16756 = call i32 @isatty(i32 noundef %16755) #10
  %16757 = icmp ne i32 %16756, 0
  br i1 %16757, label %16758, label %16775

16758:                                            ; preds = %16753
  %16759 = load i32, ptr %346, align 4, !tbaa !5
  %16760 = call ptr @__errno_location() #11
  store i32 %16759, ptr %16760, align 4, !tbaa !5
  %16761 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16762 = load i32, ptr @test_count, align 4, !tbaa !5
  %16763 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16764 = load i32, ptr %16763, align 4, !tbaa !5
  %16765 = call ptr @s2n_strerror(i32 noundef %16764, ptr noundef @.str.4)
  %16766 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16767 = load i32, ptr %16766, align 4, !tbaa !5
  %16768 = call ptr @s2n_strerror_debug(i32 noundef %16767, ptr noundef @.str.4)
  %16769 = call ptr @__errno_location() #11
  %16770 = load i32, ptr %16769, align 4, !tbaa !5
  %16771 = call ptr @strerror(i32 noundef %16770) #10
  %16772 = call ptr @__errno_location() #11
  %16773 = load i32, ptr %16772, align 4, !tbaa !5
  %16774 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16761, ptr noundef @.str.2, i32 noundef %16762, ptr noundef @.str.94, ptr noundef @.str.1, i32 noundef 683, ptr noundef %16765, ptr noundef %16768, ptr noundef %16771, i32 noundef %16773) #10
  br label %16792

16775:                                            ; preds = %16753, %16746
  %16776 = load i32, ptr %346, align 4, !tbaa !5
  %16777 = call ptr @__errno_location() #11
  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() #11
  %16787 = load i32, ptr %16786, align 4, !tbaa !5
  %16788 = call ptr @strerror(i32 noundef %16787) #10
  %16789 = call ptr @__errno_location() #11
  %16790 = load i32, ptr %16789, align 4, !tbaa !5
  %16791 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16778, ptr noundef @.str.5, i32 noundef %16779, ptr noundef @.str.94, ptr noundef @.str.1, i32 noundef 683, ptr noundef %16782, ptr noundef %16785, ptr noundef %16788, i32 noundef %16790) #10
  br label %16792

16792:                                            ; preds = %16775, %16758
  call void @llvm.lifetime.end.p0(i64 4, ptr %346) #10
  br label %16793

16793:                                            ; preds = %16792
  br label %16794

16794:                                            ; preds = %16793
  call void @exit(i32 noundef 1) #12
  unreachable

16795:                                            ; No predecessors!
  br label %16796

16796:                                            ; preds = %16795
  br label %16797

16797:                                            ; preds = %16796, %16741
  br label %16798

16798:                                            ; preds = %16797
  br label %16799

16799:                                            ; preds = %16798
  %16800 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16801 = trunc i8 %16800 to i1
  br i1 %16801, label %16802, label %16818

16802:                                            ; preds = %16799
  %16803 = load ptr, ptr @stdout, align 8, !tbaa !9
  %16804 = call i32 @fileno(ptr noundef %16803) #10
  %16805 = call i32 @isatty(i32 noundef %16804) #10
  %16806 = icmp ne i32 %16805, 0
  br i1 %16806, label %16807, label %16818

16807:                                            ; preds = %16802
  %16808 = load i32, ptr @test_count, align 4, !tbaa !5
  %16809 = icmp ne i32 %16808, 0
  br i1 %16809, label %16810, label %16814

16810:                                            ; preds = %16807
  %16811 = load ptr, ptr @stdout, align 8, !tbaa !9
  %16812 = load i32, ptr @test_count, align 4, !tbaa !5
  %16813 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16811, ptr noundef @.str.95, i32 noundef %16812) #10
  br label %16817

16814:                                            ; preds = %16807
  %16815 = load ptr, ptr @stdout, align 8, !tbaa !9
  %16816 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16815, ptr noundef @.str.96) #10
  br label %16817

16817:                                            ; preds = %16814, %16810
  br label %16829

16818:                                            ; preds = %16802, %16799
  %16819 = load i32, ptr @test_count, align 4, !tbaa !5
  %16820 = icmp ne i32 %16819, 0
  br i1 %16820, label %16821, label %16825

16821:                                            ; preds = %16818
  %16822 = load ptr, ptr @stdout, align 8, !tbaa !9
  %16823 = load i32, ptr @test_count, align 4, !tbaa !5
  %16824 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16822, ptr noundef @.str.97, i32 noundef %16823) #10
  br label %16828

16825:                                            ; preds = %16818
  %16826 = load ptr, ptr @stdout, align 8, !tbaa !9
  %16827 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16826, ptr noundef @.str.98) #10
  br label %16828

16828:                                            ; preds = %16825, %16821
  br label %16829

16829:                                            ; preds = %16828, %16817
  store i32 0, ptr %3, align 4
  store i32 1, ptr %209, align 4
  br label %16834

16830:                                            ; No predecessors!
  br label %16831

16831:                                            ; preds = %16830
  br label %16832

16832:                                            ; preds = %16831
  br label %16833

16833:                                            ; preds = %16832
  store i32 0, ptr %209, align 4
  br label %16834

16834:                                            ; preds = %16833, %16829, %11988, %10327
  call void @llvm.lifetime.end.p0(i64 8, ptr %10) #10
  %16835 = load i32, ptr %209, align 4
  switch i32 %16835, label %16838 [
    i32 0, label %16836
    i32 1, label %16836
  ]

16836:                                            ; preds = %16834, %16834
  %16837 = load i32, ptr %3, align 4
  ret i32 %16837

16838:                                            ; preds = %16834
  unreachable
}

; Function Attrs: nounwind
declare i32 @fprintf(ptr noundef, ptr noundef, ...) #1

declare i32 @fflush(ptr noundef) #2

declare i32 @s2n_in_unit_test_set(i1 noundef zeroext) #2

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

; Function Attrs: nounwind willreturn memory(none)
declare ptr @__errno_location() #4

declare i32 @s2n_print_stacktrace(ptr noundef) #2

; Function Attrs: nounwind
declare i32 @isatty(i32 noundef) #1

; Function Attrs: nounwind
declare i32 @fileno(ptr noundef) #1

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

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

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

; Function Attrs: nounwind
declare ptr @strerror(i32 noundef) #1

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

; Function Attrs: noreturn nounwind
declare void @exit(i32 noundef) #6

declare i32 @s2n_enable_atexit() #2

declare i32 @s2n_init() #2

declare i32 @s2n_disable_tls13_in_test(...) #2

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

declare ptr @s2n_config_new() #2

declare ptr @s2n_connection_new(i32 noundef) #2

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

declare i32 @s2n_server_hello_send(ptr noundef) #2

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

declare i32 @s2n_config_free(ptr noundef) #2

declare i32 @s2n_connection_free(ptr noundef) #2

declare i32 @s2n_enable_tls13_in_test(...) #2

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

declare i32 @s2n_ecc_evp_generate_ephemeral_key(ptr noundef) #2

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

declare i32 @s2n_server_hello_recv(ptr noundef) #2

declare void @s2n_debug_info_reset() #2

declare i32 @s2n_stuffer_write_uint8(ptr noundef, i8 noundef zeroext) #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_stuffer_write_bytes(ptr noundef, ptr noundef, i32 noundef) #2

declare i32 @s2n_stuffer_write_uint16(ptr noundef, i16 noundef zeroext) #2

declare i32 @s2n_stuffer_reread(ptr noundef) #2

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

declare i32 @s2n_free(ptr noundef) #2

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

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

declare zeroext i1 @s2n_is_tls13_fully_supported(...) #2

declare i32 @s2n_reset_tls13_in_test(...) #2

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

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

declare i32 @s2n_config_enable_quic(ptr noundef) #2

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

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

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

declare i32 @s2n_connection_set_early_data_expected(ptr noundef) #2

declare i32 @s2n_cert_chain_and_key_free(ptr noundef) #2

declare i32 @s2n_cleanup() #2

attributes #0 = { nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #1 = { nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #2 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #3 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #4 = { nounwind willreturn memory(none) "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #5 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) }
attributes #6 = { noreturn nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #7 = { nocallback nofree nounwind willreturn memory(argmem: write) }
attributes #8 = { nounwind willreturn memory(read) "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #9 = { inlinehint nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #10 = { nounwind }
attributes #11 = { nounwind willreturn memory(none) }
attributes #12 = { noreturn nounwind }
attributes #13 = { nounwind willreturn memory(read) }

!llvm.module.flags = !{!0, !1, !2, !3}
!llvm.ident = !{!4}

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"int", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C/C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"any pointer", !7, i64 0}
!11 = !{!12, !12, i64 0}
!12 = !{!"_Bool", !7, i64 0}
!13 = !{i8 0, i8 2}
!14 = !{}
!15 = !{!16, !7, i64 216}
!16 = !{!"s2n_connection", !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 2, !6, i64 2, !6, i64 2, !6, i64 2, !6, i64 2, !6, i64 2, !6, i64 2, !10, i64 8, !10, i64 16, !10, i64 24, !10, i64 32, !10, i64 40, !10, i64 48, !10, i64 56, !10, i64 64, !10, i64 72, !7, i64 80, !7, i64 102, !7, i64 124, !6, i64 148, !6, i64 152, !17, i64 160, !18, i64 168, !18, i64 176, !7, i64 184, !7, i64 216, !7, i64 217, !7, i64 218, !7, i64 219, !7, i64 220, !7, i64 221, !7, i64 222, !10, i64 224, !10, i64 232, !19, i64 240, !10, i64 632, !10, i64 640, !20, i64 648, !26, i64 1144, !29, i64 1688, !10, i64 1752, !7, i64 1760, !6, i64 1764, !7, i64 1768, !32, i64 1776, !32, i64 1816, !32, i64 1856, !32, i64 1896, !6, i64 1936, !18, i64 1944, !7, i64 1952, !32, i64 1960, !7, i64 2000, !7, i64 2001, !7, i64 2002, !12, i64 2003, !33, i64 2004, !33, i64 2008, !34, i64 2016, !31, i64 2208, !6, i64 2212, !31, i64 2216, !18, i64 2224, !7, i64 2232, !18, i64 2240, !18, i64 2248, !18, i64 2256, !33, i64 2264, !33, i64 2268, !7, i64 2272, !7, i64 2528, !6, i64 2784, !25, i64 2792, !6, i64 2816, !25, i64 2824, !25, i64 2848, !25, i64 2872, !36, i64 2896, !38, i64 3704, !10, i64 3760, !10, i64 3768, !7, i64 3776, !6, i64 3780, !25, i64 3784, !6, i64 3808, !40, i64 3816, !7, i64 3848, !32, i64 3992, !25, i64 4032, !25, i64 4056, !12, i64 4080, !12, i64 4081, !12, i64 4082, !31, i64 4084, !31, i64 4086, !6, i64 4088, !6, i64 4092, !25, i64 4096, !6, i64 4120, !41, i64 4128, !33, i64 4176, !7, i64 4180, !7, i64 4181}
!17 = !{!"s2n_timer", !18, i64 0}
!18 = !{!"long", !7, i64 0}
!19 = !{!"s2n_secrets", !7, i64 0, !6, i64 388}
!20 = !{!"s2n_kex_parameters", !21, i64 0, !22, i64 8, !7, i64 24, !22, i64 56, !23, i64 72, !23, i64 184, !7, i64 296, !24, i64 360, !25, i64 448, !25, i64 472}
!21 = !{!"s2n_dh_params", !10, i64 0}
!22 = !{!"s2n_ecc_evp_params", !10, i64 0, !10, i64 8}
!23 = !{!"s2n_kem_group_params", !10, i64 0, !24, i64 8, !22, i64 96}
!24 = !{!"s2n_kem_params", !10, i64 0, !25, i64 8, !25, i64 32, !25, i64 56, !12, i64 80}
!25 = !{!"s2n_blob", !10, i64 0, !6, i64 8, !6, i64 12, !6, i64 16}
!26 = !{!"s2n_handshake_parameters", !27, i64 0, !27, i64 48, !25, i64 96, !6, i64 120, !28, i64 124, !10, i64 384, !10, i64 392, !10, i64 400, !7, i64 408, !7, i64 440, !7, i64 472, !7, i64 473, !7, i64 474, !7, i64 506}
!27 = !{!"s2n_pkey", !10, i64 0, !10, i64 8, !10, i64 16, !10, i64 24, !10, i64 32, !10, i64 40}
!28 = !{!"s2n_sig_scheme_list", !7, i64 0, !7, i64 256}
!29 = !{!"s2n_psk_parameters", !6, i64 0, !30, i64 8, !31, i64 40, !31, i64 42, !10, i64 48, !6, i64 56}
!30 = !{!"s2n_array", !25, i64 0, !6, i64 24, !6, i64 28}
!31 = !{!"short", !7, i64 0}
!32 = !{!"s2n_stuffer", !25, i64 0, !6, i64 24, !6, i64 28, !6, i64 32, !6, i64 36, !6, i64 36, !6, i64 36}
!33 = !{!"", !6, i64 0}
!34 = !{!"s2n_handshake", !32, i64 0, !10, i64 40, !7, i64 48, !7, i64 56, !7, i64 104, !7, i64 152, !6, i64 156, !6, i64 160, !6, i64 164, !6, i64 168, !35, i64 176, !6, i64 184, !6, i64 184, !6, i64 184, !6, i64 184, !6, i64 188}
!35 = !{!"s2n_offered_early_data", !10, i64 0}
!36 = !{!"s2n_client_hello", !25, i64 0, !37, i64 24, !25, i64 728, !25, i64 752, !25, i64 776, !7, i64 800, !7, i64 801, !6, i64 802, !6, i64 802, !6, i64 802, !6, i64 802, !6, i64 802, !6, i64 802, !6, i64 802}
!37 = !{!"", !7, i64 0, !25, i64 672, !31, i64 696}
!38 = !{!"s2n_x509_validator", !10, i64 0, !10, i64 8, !7, i64 16, !7, i64 17, !31, i64 18, !10, i64 24, !6, i64 32, !10, i64 40, !39, i64 48, !12, i64 52}
!39 = !{!"s2n_cert_validation_info", !6, i64 0, !6, i64 0}
!40 = !{!"s2n_ticket_fields", !25, i64 0, !6, i64 24}
!41 = !{!"s2n_post_handshake", !32, i64 0, !7, i64 40}
!42 = !{!16, !7, i64 220}
!43 = !{!32, !10, i64 0}
!44 = !{!7, !7, i64 0}
!45 = !{!32, !6, i64 28}
!46 = !{!32, !6, i64 24}
!47 = !{!16, !10, i64 8}
!48 = !{!49, !10, i64 8}
!49 = !{!"s2n_ecc_preferences", !7, i64 0, !10, i64 8}
!50 = !{!16, !10, i64 656}
!51 = !{!16, !10, i64 704}
!52 = !{!16, !10, i64 232}
!53 = !{!54, !10, i64 0}
!54 = !{!"s2n_crypto_parameters", !10, i64 0, !55, i64 8, !55, i64 16, !56, i64 24, !56, i64 456, !7, i64 888, !7, i64 904, !7, i64 920, !7, i64 928}
!55 = !{!"s2n_session_key", !10, i64 0}
!56 = !{!"s2n_hmac_state", !6, i64 0, !31, i64 4, !6, i64 8, !31, i64 12, !7, i64 14, !57, i64 16, !57, i64 72, !57, i64 128, !57, i64 184, !7, i64 240, !7, i64 368}
!57 = !{!"s2n_hash_state", !10, i64 0, !6, i64 8, !7, i64 12, !18, i64 16, !7, i64 24}
!58 = !{!16, !6, i64 2044}
!59 = !{!16, !6, i64 2040}
!60 = distinct !{!60, !61}
!61 = !{!"llvm.loop.mustprogress"}
!62 = distinct !{!62, !61}
!63 = distinct !{!63, !61}
!64 = !{!16, !7, i64 219}
!65 = distinct !{!65, !61}
!66 = distinct !{!66, !61}
!67 = !{!16, !7, i64 218}
!68 = !{!25, !10, i64 0}
!69 = !{!25, !6, i64 8}
!70 = !{!16, !6, i64 4088}


; 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_blob = type { ptr, i32, i32, i8 }

@s2n_use_color_in_output = external dso_local local_unnamed_addr global i8, align 1
@hello_retry_random_hex = external dso_local constant [65 x i8], align 16
@tls12_downgrade_protection_check_bytes = external dso_local constant [8 x i8], align 1
@tls11_downgrade_protection_check_bytes = external dso_local constant [8 x 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 [80 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 [34 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [33 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [149 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [56 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [85 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [55 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [47 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [87 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [104 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [67 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [82 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [67 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [82 x i8], align 1
@s2n_ecdhe_rsa_with_aes_256_gcm_sha384 = external global %struct.s2n_cipher_suite, align 8
@.str.33 = external hidden unnamed_addr constant [63 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [108 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [63 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [87 x i8], align 1
@.str.37 = external hidden unnamed_addr constant [59 x i8], align 1
@.str.38 = external hidden unnamed_addr constant [59 x i8], align 1
@.str.39 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.40 = external hidden unnamed_addr constant [61 x i8], align 1
@s2n_tls13_chacha20_poly1305_sha256 = external global %struct.s2n_cipher_suite, align 8
@.str.41 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.42 = external hidden unnamed_addr constant [59 x i8], align 1
@.str.43 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.44 = external hidden unnamed_addr constant [44 x i8], align 1
@.str.45 = external hidden unnamed_addr constant [65 x i8], align 1
@.str.46 = external hidden unnamed_addr constant [65 x i8], align 1
@.str.47 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.48 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.49 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.50 = external hidden unnamed_addr constant [77 x i8], align 1
@.str.51 = external hidden unnamed_addr constant [59 x i8], align 1
@.str.52 = external hidden unnamed_addr constant [63 x i8], align 1
@.str.53 = external hidden unnamed_addr constant [51 x i8], align 1
@.str.54 = external hidden unnamed_addr constant [35 x i8], align 1
@s2n_all_supported_curves_list = external local_unnamed_addr constant [0 x ptr], align 8
@.str.55 = external hidden unnamed_addr constant [116 x i8], align 1
@.str.56 = external hidden unnamed_addr constant [66 x i8], align 1
@.str.57 = external hidden unnamed_addr constant [116 x i8], align 1
@.str.58 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.59 = external hidden unnamed_addr constant [40 x i8], align 1
@.str.60 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.61 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.62 = external hidden unnamed_addr constant [87 x i8], align 1
@.str.63 = external hidden unnamed_addr constant [99 x i8], align 1
@.str.64 = external hidden unnamed_addr constant [64 x i8], align 1
@.str.65 = external hidden unnamed_addr constant [91 x i8], align 1
@.str.66 = external hidden unnamed_addr constant [103 x i8], align 1
@.str.67 = external hidden unnamed_addr constant [84 x i8], align 1
@.str.68 = external hidden unnamed_addr constant [84 x i8], align 1
@.str.69 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.70 = external hidden unnamed_addr constant [80 x i8], align 1
@.str.71 = external hidden unnamed_addr constant [191 x i8], align 1
@.str.72 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.73 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.74 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.75 = external hidden unnamed_addr constant [97 x i8], align 1
@.str.76 = external hidden unnamed_addr constant [67 x i8], align 1
@.str.77 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.78 = external hidden unnamed_addr constant [57 x i8], align 1
@.str.79 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.80 = external hidden unnamed_addr constant [94 x i8], align 1
@.str.81 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.82 = external hidden unnamed_addr constant [91 x i8], align 1
@s2n_tls13_aes_128_gcm_sha256 = external global %struct.s2n_cipher_suite, align 8
@.str.83 = external hidden unnamed_addr constant [114 x i8], align 1
@.str.84 = external hidden unnamed_addr constant [80 x i8], align 1
@.str.85 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.86 = external hidden unnamed_addr constant [91 x i8], align 1
@.str.87 = external hidden unnamed_addr constant [114 x i8], align 1
@.str.88 = external hidden unnamed_addr constant [80 x i8], align 1
@.str.89 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.90 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.91 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.92 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.93 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.94 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.95 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.96 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.97 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.98 = external hidden unnamed_addr constant [25 x i8], align 1

; Function Attrs: nounwind uwtable
define dso_local range(i32 -1, 1) i32 @main(i32 noundef %0, ptr nocapture noundef readnone %1) local_unnamed_addr #0 {
  %3 = alloca ptr, align 8
  %4 = alloca ptr, align 8
  %5 = alloca [32 x i8], align 16
  %6 = alloca [32 x i8], align 16
  %7 = alloca [32 x i8], align 16
  %8 = alloca %struct.s2n_blob, 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) #11
  %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) #11
  %14 = icmp eq i32 %13, -1
  br i1 %14, label %15, label %39

15:                                               ; preds = %2
  %16 = tail call ptr @__errno_location() #12
  %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) #11
  %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) #11
  %25 = tail call i32 @isatty(i32 noundef %24) #11
  %.not1153 = icmp eq i32 %25, 0
  br i1 %.not1153, 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) #11
  %33 = load i32, ptr %30, align 4, !tbaa !5
  %34 = tail call ptr @s2n_strerror_debug(i32 noundef %33, ptr noundef nonnull @.str.4) #11
  %35 = load i32, ptr %16, align 4, !tbaa !5
  %36 = tail call ptr @strerror(i32 noundef %35) #11
  %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 66, ptr noundef %32, ptr noundef %34, ptr noundef %36, i32 noundef %37) #13
  tail call void @exit(i32 noundef 1) #14
  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() #11
  %43 = icmp eq i32 %42, -1
  br i1 %43, label %44, label %68

44:                                               ; preds = %39
  %45 = tail call ptr @__errno_location() #12
  %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) #11
  %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) #11
  %54 = tail call i32 @isatty(i32 noundef %53) #11
  %.not1152 = icmp eq i32 %54, 0
  br i1 %.not1152, label %55, label %56

55:                                               ; preds = %51, %44
  br label %56

56:                                               ; preds = %51, %55
  %.str.5.sink1180 = 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) #11
  %62 = load i32, ptr %59, align 4, !tbaa !5
  %63 = tail call ptr @s2n_strerror_debug(i32 noundef %62, ptr noundef nonnull @.str.4) #11
  %64 = load i32, ptr %45, align 4, !tbaa !5
  %65 = tail call ptr @strerror(i32 noundef %64) #11
  %66 = load i32, ptr %45, align 4, !tbaa !5
  %67 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %57, ptr noundef nonnull %.str.5.sink1180, i32 noundef %58, ptr noundef nonnull @.str.6, ptr noundef nonnull @.str.1, i32 noundef 66, ptr noundef %61, ptr noundef %63, ptr noundef %65, i32 noundef %66) #13
  tail call void @exit(i32 noundef 1) #14
  unreachable

68:                                               ; preds = %39
  %69 = tail call i32 @s2n_init() #11
  %70 = icmp eq i32 %69, -1
  br i1 %70, label %71, label %95

71:                                               ; preds = %68
  %72 = tail call ptr @__errno_location() #12
  %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) #11
  %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) #11
  %81 = tail call i32 @isatty(i32 noundef %80) #11
  %.not1151 = icmp eq i32 %81, 0
  br i1 %.not1151, label %82, label %83

82:                                               ; preds = %78, %71
  br label %83

83:                                               ; preds = %78, %82
  %.str.5.sink1191 = 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) #11
  %89 = load i32, ptr %86, align 4, !tbaa !5
  %90 = tail call ptr @s2n_strerror_debug(i32 noundef %89, ptr noundef nonnull @.str.4) #11
  %91 = load i32, ptr %72, align 4, !tbaa !5
  %92 = tail call ptr @strerror(i32 noundef %91) #11
  %93 = load i32, ptr %72, align 4, !tbaa !5
  %94 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %84, ptr noundef nonnull %.str.5.sink1191, i32 noundef %85, ptr noundef nonnull @.str.7, ptr noundef nonnull @.str.1, i32 noundef 66, ptr noundef %88, ptr noundef %90, ptr noundef %92, i32 noundef %93) #13
  tail call void @exit(i32 noundef 1) #14
  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() #11
  %99 = icmp eq i32 %98, -1
  br i1 %99, label %100, label %124

100:                                              ; preds = %95
  %101 = tail call ptr @__errno_location() #12
  %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) #11
  %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) #11
  %110 = tail call i32 @isatty(i32 noundef %109) #11
  %.not1150 = icmp eq i32 %110, 0
  br i1 %.not1150, label %111, label %112

111:                                              ; preds = %107, %100
  br label %112

112:                                              ; preds = %107, %111
  %.str.5.sink1202 = 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) #11
  %118 = load i32, ptr %115, align 4, !tbaa !5
  %119 = tail call ptr @s2n_strerror_debug(i32 noundef %118, ptr noundef nonnull @.str.4) #11
  %120 = load i32, ptr %101, align 4, !tbaa !5
  %121 = tail call ptr @strerror(i32 noundef %120) #11
  %122 = load i32, ptr %101, align 4, !tbaa !5
  %123 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %113, ptr noundef nonnull %.str.5.sink1202, i32 noundef %114, ptr noundef nonnull @.str.8, ptr noundef nonnull @.str.1, i32 noundef 67, ptr noundef %117, ptr noundef %119, ptr noundef %121, i32 noundef %122) #13
  tail call void @exit(i32 noundef 1) #14
  unreachable

124:                                              ; preds = %95
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %3) #11
  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) #11
  %128 = icmp eq i32 %127, -1
  br i1 %128, label %129, label %153

129:                                              ; preds = %124
  %130 = tail call ptr @__errno_location() #12
  %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) #11
  %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) #11
  %139 = call i32 @isatty(i32 noundef %138) #11
  %.not1149 = icmp eq i32 %139, 0
  br i1 %.not1149, label %140, label %141

140:                                              ; preds = %136, %129
  br label %141

141:                                              ; preds = %136, %140
  %.str.5.sink1213 = 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) #11
  %147 = load i32, ptr %144, align 4, !tbaa !5
  %148 = call ptr @s2n_strerror_debug(i32 noundef %147, ptr noundef nonnull @.str.4) #11
  %149 = load i32, ptr %130, align 4, !tbaa !5
  %150 = call ptr @strerror(i32 noundef %149) #11
  %151 = load i32, ptr %130, align 4, !tbaa !5
  %152 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %142, ptr noundef nonnull %.str.5.sink1213, i32 noundef %143, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.1, i32 noundef 71, ptr noundef %146, ptr noundef %148, ptr noundef %150, i32 noundef %151) #13
  call void @exit(i32 noundef 1) #14
  unreachable

153:                                              ; preds = %124
  %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 ptr @s2n_config_new() #11
  %157 = icmp eq ptr %156, null
  br i1 %157, label %158, label %182

158:                                              ; preds = %153
  %159 = tail call ptr @__errno_location() #12
  %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) #11
  %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) #11
  %168 = call i32 @isatty(i32 noundef %167) #11
  %.not1148 = icmp eq i32 %168, 0
  br i1 %.not1148, label %169, label %170

169:                                              ; preds = %165, %158
  br label %170

170:                                              ; preds = %165, %169
  %.str.5.sink1224 = 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) #11
  %176 = load i32, ptr %173, align 4, !tbaa !5
  %177 = call ptr @s2n_strerror_debug(i32 noundef %176, ptr noundef nonnull @.str.4) #11
  %178 = load i32, ptr %159, align 4, !tbaa !5
  %179 = call ptr @strerror(i32 noundef %178) #11
  %180 = load i32, ptr %159, align 4, !tbaa !5
  %181 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %171, ptr noundef nonnull %.str.5.sink1224, i32 noundef %172, ptr noundef nonnull @.str.12, ptr noundef nonnull @.str.1, i32 noundef 76, ptr noundef %175, ptr noundef %177, ptr noundef %179, i32 noundef %180) #13
  call void @exit(i32 noundef 1) #14
  unreachable

182:                                              ; preds = %153
  %183 = load i32, ptr @test_count, align 4, !tbaa !5
  %184 = add nsw i32 %183, 1
  store i32 %184, ptr @test_count, align 4, !tbaa !5
  %185 = call ptr @s2n_connection_new(i32 noundef 0) #11
  %186 = icmp eq ptr %185, null
  br i1 %186, label %187, label %211

187:                                              ; preds = %182
  %188 = tail call ptr @__errno_location() #12
  %189 = load i32, ptr %188, align 4, !tbaa !5
  %190 = load ptr, ptr @stderr, align 8, !tbaa !9
  %191 = call i32 @s2n_print_stacktrace(ptr noundef %190) #11
  %192 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %193 = trunc nuw i8 %192 to i1
  br i1 %193, label %194, label %198

194:                                              ; preds = %187
  %195 = load ptr, ptr @stderr, align 8, !tbaa !9
  %196 = call i32 @fileno(ptr noundef %195) #11
  %197 = call i32 @isatty(i32 noundef %196) #11
  %.not1147 = icmp eq i32 %197, 0
  br i1 %.not1147, label %198, label %199

198:                                              ; preds = %194, %187
  br label %199

199:                                              ; preds = %194, %198
  %.str.5.sink1235 = phi ptr [ @.str.5, %198 ], [ @.str.2, %194 ]
  store i32 %189, ptr %188, align 4, !tbaa !5
  %200 = load ptr, ptr @stderr, align 8, !tbaa !9
  %201 = load i32, ptr @test_count, align 4, !tbaa !5
  %202 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %203 = load i32, ptr %202, align 4, !tbaa !5
  %204 = call ptr @s2n_strerror(i32 noundef %203, ptr noundef nonnull @.str.4) #11
  %205 = load i32, ptr %202, align 4, !tbaa !5
  %206 = call ptr @s2n_strerror_debug(i32 noundef %205, ptr noundef nonnull @.str.4) #11
  %207 = load i32, ptr %188, align 4, !tbaa !5
  %208 = call ptr @strerror(i32 noundef %207) #11
  %209 = load i32, ptr %188, align 4, !tbaa !5
  %210 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %200, ptr noundef nonnull %.str.5.sink1235, i32 noundef %201, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.1, i32 noundef 79, ptr noundef %204, ptr noundef %206, ptr noundef %208, i32 noundef %209) #13
  call void @exit(i32 noundef 1) #14
  unreachable

211:                                              ; preds = %182
  %212 = load i32, ptr @test_count, align 4, !tbaa !5
  %213 = add nsw i32 %212, 1
  store i32 %213, ptr @test_count, align 4, !tbaa !5
  %214 = call i32 @s2n_connection_set_config(ptr noundef nonnull %185, ptr noundef nonnull %156) #11
  %215 = icmp eq i32 %214, -1
  br i1 %215, label %216, label %240

216:                                              ; preds = %211
  %217 = tail call ptr @__errno_location() #12
  %218 = load i32, ptr %217, align 4, !tbaa !5
  %219 = load ptr, ptr @stderr, align 8, !tbaa !9
  %220 = call i32 @s2n_print_stacktrace(ptr noundef %219) #11
  %221 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %222 = trunc nuw i8 %221 to i1
  br i1 %222, label %223, label %227

223:                                              ; preds = %216
  %224 = load ptr, ptr @stderr, align 8, !tbaa !9
  %225 = call i32 @fileno(ptr noundef %224) #11
  %226 = call i32 @isatty(i32 noundef %225) #11
  %.not1146 = icmp eq i32 %226, 0
  br i1 %.not1146, label %227, label %228

227:                                              ; preds = %223, %216
  br label %228

228:                                              ; preds = %223, %227
  %.str.5.sink1246 = phi ptr [ @.str.5, %227 ], [ @.str.2, %223 ]
  store i32 %218, ptr %217, align 4, !tbaa !5
  %229 = load ptr, ptr @stderr, align 8, !tbaa !9
  %230 = load i32, ptr @test_count, align 4, !tbaa !5
  %231 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %232 = load i32, ptr %231, align 4, !tbaa !5
  %233 = call ptr @s2n_strerror(i32 noundef %232, ptr noundef nonnull @.str.4) #11
  %234 = load i32, ptr %231, align 4, !tbaa !5
  %235 = call ptr @s2n_strerror_debug(i32 noundef %234, ptr noundef nonnull @.str.4) #11
  %236 = load i32, ptr %217, align 4, !tbaa !5
  %237 = call ptr @strerror(i32 noundef %236) #11
  %238 = load i32, ptr %217, align 4, !tbaa !5
  %239 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %229, ptr noundef nonnull %.str.5.sink1246, i32 noundef %230, ptr noundef nonnull @.str.14, ptr noundef nonnull @.str.1, i32 noundef 80, ptr noundef %233, ptr noundef %235, ptr noundef %237, i32 noundef %238) #13
  call void @exit(i32 noundef 1) #14
  unreachable

240:                                              ; preds = %211
  %241 = getelementptr inbounds i8, ptr %185, i64 2016
  %242 = getelementptr inbounds i8, ptr %185, i64 216
  %243 = load i8, ptr %242, align 8, !tbaa !15
  %244 = zext i8 %243 to i32
  %245 = add nuw nsw i32 %244, 38
  %246 = getelementptr inbounds i8, ptr %185, i64 220
  store i8 33, ptr %246, align 4, !tbaa !42
  %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 = call i32 @s2n_server_hello_send(ptr noundef nonnull %185) #11
  %250 = icmp eq i32 %249, -1
  br i1 %250, label %251, label %275

251:                                              ; preds = %240
  %252 = tail call ptr @__errno_location() #12
  %253 = load i32, ptr %252, align 4, !tbaa !5
  %254 = load ptr, ptr @stderr, align 8, !tbaa !9
  %255 = call i32 @s2n_print_stacktrace(ptr noundef %254) #11
  %256 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %257 = trunc nuw i8 %256 to i1
  br i1 %257, label %258, label %262

258:                                              ; preds = %251
  %259 = load ptr, ptr @stderr, align 8, !tbaa !9
  %260 = call i32 @fileno(ptr noundef %259) #11
  %261 = call i32 @isatty(i32 noundef %260) #11
  %.not1145 = icmp eq i32 %261, 0
  br i1 %.not1145, label %262, label %263

262:                                              ; preds = %258, %251
  br label %263

263:                                              ; preds = %258, %262
  %.str.5.sink1257 = phi ptr [ @.str.5, %262 ], [ @.str.2, %258 ]
  store i32 %253, ptr %252, align 4, !tbaa !5
  %264 = load ptr, ptr @stderr, align 8, !tbaa !9
  %265 = load i32, ptr @test_count, align 4, !tbaa !5
  %266 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %267 = load i32, ptr %266, align 4, !tbaa !5
  %268 = call ptr @s2n_strerror(i32 noundef %267, ptr noundef nonnull @.str.4) #11
  %269 = load i32, ptr %266, align 4, !tbaa !5
  %270 = call ptr @s2n_strerror_debug(i32 noundef %269, ptr noundef nonnull @.str.4) #11
  %271 = load i32, ptr %252, align 4, !tbaa !5
  %272 = call ptr @strerror(i32 noundef %271) #11
  %273 = load i32, ptr %252, align 4, !tbaa !5
  %274 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %264, ptr noundef nonnull %.str.5.sink1257, i32 noundef %265, ptr noundef nonnull @.str.15, ptr noundef nonnull @.str.1, i32 noundef 93, ptr noundef %268, ptr noundef %270, ptr noundef %272, i32 noundef %273) #13
  call void @exit(i32 noundef 1) #14
  unreachable

275:                                              ; preds = %240
  %276 = load i32, ptr @test_count, align 4, !tbaa !5
  %277 = add nsw i32 %276, 1
  store i32 %277, ptr @test_count, align 4, !tbaa !5
  %278 = load ptr, ptr %241, align 8, !tbaa !43
  %279 = load i8, ptr %278, align 1, !tbaa !44
  %280 = icmp eq i8 %279, 3
  br i1 %280, label %305, label %281

281:                                              ; preds = %275
  %282 = tail call ptr @__errno_location() #12
  %283 = load i32, ptr %282, align 4, !tbaa !5
  %284 = load ptr, ptr @stderr, align 8, !tbaa !9
  %285 = call i32 @s2n_print_stacktrace(ptr noundef %284) #11
  %286 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %287 = trunc nuw i8 %286 to i1
  br i1 %287, label %288, label %292

288:                                              ; preds = %281
  %289 = load ptr, ptr @stderr, align 8, !tbaa !9
  %290 = call i32 @fileno(ptr noundef %289) #11
  %291 = call i32 @isatty(i32 noundef %290) #11
  %.not = icmp eq i32 %291, 0
  br i1 %.not, label %292, label %293

292:                                              ; preds = %288, %281
  br label %293

293:                                              ; preds = %288, %292
  %.str.5.sink1268 = phi ptr [ @.str.5, %292 ], [ @.str.2, %288 ]
  store i32 %283, ptr %282, align 4, !tbaa !5
  %294 = load ptr, ptr @stderr, align 8, !tbaa !9
  %295 = load i32, ptr @test_count, align 4, !tbaa !5
  %296 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %297 = load i32, ptr %296, align 4, !tbaa !5
  %298 = call ptr @s2n_strerror(i32 noundef %297, ptr noundef nonnull @.str.4) #11
  %299 = load i32, ptr %296, align 4, !tbaa !5
  %300 = call ptr @s2n_strerror_debug(i32 noundef %299, ptr noundef nonnull @.str.4) #11
  %301 = load i32, ptr %282, align 4, !tbaa !5
  %302 = call ptr @strerror(i32 noundef %301) #11
  %303 = load i32, ptr %282, align 4, !tbaa !5
  %304 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %294, ptr noundef nonnull %.str.5.sink1268, i32 noundef %295, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.1, i32 noundef 94, ptr noundef %298, ptr noundef %300, ptr noundef %302, i32 noundef %303) #13
  call void @exit(i32 noundef 1) #14
  unreachable

305:                                              ; preds = %275
  %306 = add nsw i32 %276, 2
  store i32 %306, ptr @test_count, align 4, !tbaa !5
  %307 = getelementptr inbounds i8, ptr %278, i64 1
  %308 = load i8, ptr %307, align 1, !tbaa !44
  %309 = icmp eq i8 %308, 3
  br i1 %309, label %334, label %310

310:                                              ; preds = %305
  %311 = tail call ptr @__errno_location() #12
  %312 = load i32, ptr %311, align 4, !tbaa !5
  %313 = load ptr, ptr @stderr, align 8, !tbaa !9
  %314 = call i32 @s2n_print_stacktrace(ptr noundef %313) #11
  %315 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %316 = trunc nuw i8 %315 to i1
  br i1 %316, label %317, label %321

317:                                              ; preds = %310
  %318 = load ptr, ptr @stderr, align 8, !tbaa !9
  %319 = call i32 @fileno(ptr noundef %318) #11
  %320 = call i32 @isatty(i32 noundef %319) #11
  %.not895 = icmp eq i32 %320, 0
  br i1 %.not895, label %321, label %322

321:                                              ; preds = %317, %310
  br label %322

322:                                              ; preds = %317, %321
  %.str.5.sink1279 = phi ptr [ @.str.5, %321 ], [ @.str.2, %317 ]
  store i32 %312, ptr %311, align 4, !tbaa !5
  %323 = load ptr, ptr @stderr, align 8, !tbaa !9
  %324 = load i32, ptr @test_count, align 4, !tbaa !5
  %325 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %326 = load i32, ptr %325, align 4, !tbaa !5
  %327 = call ptr @s2n_strerror(i32 noundef %326, ptr noundef nonnull @.str.4) #11
  %328 = load i32, ptr %325, align 4, !tbaa !5
  %329 = call ptr @s2n_strerror_debug(i32 noundef %328, ptr noundef nonnull @.str.4) #11
  %330 = load i32, ptr %311, align 4, !tbaa !5
  %331 = call ptr @strerror(i32 noundef %330) #11
  %332 = load i32, ptr %311, align 4, !tbaa !5
  %333 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %323, ptr noundef nonnull %.str.5.sink1279, i32 noundef %324, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.1, i32 noundef 95, ptr noundef %327, ptr noundef %329, ptr noundef %331, i32 noundef %332) #13
  call void @exit(i32 noundef 1) #14
  unreachable

334:                                              ; preds = %305
  %335 = add nsw i32 %276, 3
  store i32 %335, ptr @test_count, align 4, !tbaa !5
  %336 = call i32 @s2n_stuffer_skip_read(ptr noundef nonnull %241, i32 noundef %245) #11
  %337 = icmp eq i32 %336, -1
  br i1 %337, label %338, label %362

338:                                              ; preds = %334
  %339 = tail call ptr @__errno_location() #12
  %340 = load i32, ptr %339, align 4, !tbaa !5
  %341 = load ptr, ptr @stderr, align 8, !tbaa !9
  %342 = call i32 @s2n_print_stacktrace(ptr noundef %341) #11
  %343 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %344 = trunc nuw i8 %343 to i1
  br i1 %344, label %345, label %349

345:                                              ; preds = %338
  %346 = load ptr, ptr @stderr, align 8, !tbaa !9
  %347 = call i32 @fileno(ptr noundef %346) #11
  %348 = call i32 @isatty(i32 noundef %347) #11
  %.not1144 = icmp eq i32 %348, 0
  br i1 %.not1144, label %349, label %350

349:                                              ; preds = %345, %338
  br label %350

350:                                              ; preds = %345, %349
  %.str.5.sink1290 = phi ptr [ @.str.5, %349 ], [ @.str.2, %345 ]
  store i32 %340, ptr %339, align 4, !tbaa !5
  %351 = load ptr, ptr @stderr, align 8, !tbaa !9
  %352 = load i32, ptr @test_count, align 4, !tbaa !5
  %353 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %354 = load i32, ptr %353, align 4, !tbaa !5
  %355 = call ptr @s2n_strerror(i32 noundef %354, ptr noundef nonnull @.str.4) #11
  %356 = load i32, ptr %353, align 4, !tbaa !5
  %357 = call ptr @s2n_strerror_debug(i32 noundef %356, ptr noundef nonnull @.str.4) #11
  %358 = load i32, ptr %339, align 4, !tbaa !5
  %359 = call ptr @strerror(i32 noundef %358) #11
  %360 = load i32, ptr %339, align 4, !tbaa !5
  %361 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %351, ptr noundef nonnull %.str.5.sink1290, i32 noundef %352, ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.1, i32 noundef 96, ptr noundef %355, ptr noundef %357, ptr noundef %359, i32 noundef %360) #13
  call void @exit(i32 noundef 1) #14
  unreachable

362:                                              ; preds = %334
  %363 = load i32, ptr @test_count, align 4, !tbaa !5
  %364 = add nsw i32 %363, 1
  store i32 %364, ptr @test_count, align 4, !tbaa !5
  %365 = getelementptr inbounds i8, ptr %185, i64 2044
  %366 = load i32, ptr %365, align 4, !tbaa !45
  %367 = getelementptr inbounds i8, ptr %185, i64 2040
  %368 = load i32, ptr %367, align 8, !tbaa !46
  %369 = icmp eq i32 %366, %368
  br i1 %369, label %394, label %370

370:                                              ; preds = %362
  %371 = tail call ptr @__errno_location() #12
  %372 = load i32, ptr %371, align 4, !tbaa !5
  %373 = load ptr, ptr @stderr, align 8, !tbaa !9
  %374 = call i32 @s2n_print_stacktrace(ptr noundef %373) #11
  %375 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %376 = trunc nuw i8 %375 to i1
  br i1 %376, label %377, label %381

377:                                              ; preds = %370
  %378 = load ptr, ptr @stderr, align 8, !tbaa !9
  %379 = call i32 @fileno(ptr noundef %378) #11
  %380 = call i32 @isatty(i32 noundef %379) #11
  %.not896 = icmp eq i32 %380, 0
  br i1 %.not896, label %381, label %382

381:                                              ; preds = %377, %370
  br label %382

382:                                              ; preds = %377, %381
  %.str.5.sink1301 = phi ptr [ @.str.5, %381 ], [ @.str.2, %377 ]
  store i32 %372, ptr %371, align 4, !tbaa !5
  %383 = load ptr, ptr @stderr, align 8, !tbaa !9
  %384 = load i32, ptr @test_count, align 4, !tbaa !5
  %385 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %386 = load i32, ptr %385, align 4, !tbaa !5
  %387 = call ptr @s2n_strerror(i32 noundef %386, ptr noundef nonnull @.str.4) #11
  %388 = load i32, ptr %385, align 4, !tbaa !5
  %389 = call ptr @s2n_strerror_debug(i32 noundef %388, ptr noundef nonnull @.str.4) #11
  %390 = load i32, ptr %371, align 4, !tbaa !5
  %391 = call ptr @strerror(i32 noundef %390) #11
  %392 = load i32, ptr %371, align 4, !tbaa !5
  %393 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %383, ptr noundef nonnull %.str.5.sink1301, i32 noundef %384, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 96, ptr noundef %387, ptr noundef %389, ptr noundef %391, i32 noundef %392) #13
  call void @exit(i32 noundef 1) #14
  unreachable

394:                                              ; preds = %362
  %395 = add nsw i32 %363, 2
  store i32 %395, ptr @test_count, align 4, !tbaa !5
  %396 = call i32 @s2n_config_free(ptr noundef nonnull %156) #11
  %397 = icmp eq i32 %396, -1
  br i1 %397, label %398, label %422

398:                                              ; preds = %394
  %399 = tail call ptr @__errno_location() #12
  %400 = load i32, ptr %399, align 4, !tbaa !5
  %401 = load ptr, ptr @stderr, align 8, !tbaa !9
  %402 = call i32 @s2n_print_stacktrace(ptr noundef %401) #11
  %403 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %404 = trunc nuw i8 %403 to i1
  br i1 %404, label %405, label %409

405:                                              ; preds = %398
  %406 = load ptr, ptr @stderr, align 8, !tbaa !9
  %407 = call i32 @fileno(ptr noundef %406) #11
  %408 = call i32 @isatty(i32 noundef %407) #11
  %.not1143 = icmp eq i32 %408, 0
  br i1 %.not1143, label %409, label %410

409:                                              ; preds = %405, %398
  br label %410

410:                                              ; preds = %405, %409
  %.str.5.sink1312 = phi ptr [ @.str.5, %409 ], [ @.str.2, %405 ]
  store i32 %400, ptr %399, align 4, !tbaa !5
  %411 = load ptr, ptr @stderr, align 8, !tbaa !9
  %412 = load i32, ptr @test_count, align 4, !tbaa !5
  %413 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %414 = load i32, ptr %413, align 4, !tbaa !5
  %415 = call ptr @s2n_strerror(i32 noundef %414, ptr noundef nonnull @.str.4) #11
  %416 = load i32, ptr %413, align 4, !tbaa !5
  %417 = call ptr @s2n_strerror_debug(i32 noundef %416, ptr noundef nonnull @.str.4) #11
  %418 = load i32, ptr %399, align 4, !tbaa !5
  %419 = call ptr @strerror(i32 noundef %418) #11
  %420 = load i32, ptr %399, align 4, !tbaa !5
  %421 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %411, ptr noundef nonnull %.str.5.sink1312, i32 noundef %412, ptr noundef nonnull @.str.20, ptr noundef nonnull @.str.1, i32 noundef 98, ptr noundef %415, ptr noundef %417, ptr noundef %419, i32 noundef %420) #13
  call void @exit(i32 noundef 1) #14
  unreachable

422:                                              ; preds = %394
  %423 = load i32, ptr @test_count, align 4, !tbaa !5
  %424 = add nsw i32 %423, 1
  store i32 %424, ptr @test_count, align 4, !tbaa !5
  %425 = call i32 @s2n_connection_free(ptr noundef nonnull %185) #11
  %426 = icmp eq i32 %425, -1
  br i1 %426, label %427, label %451

427:                                              ; preds = %422
  %428 = tail call ptr @__errno_location() #12
  %429 = load i32, ptr %428, align 4, !tbaa !5
  %430 = load ptr, ptr @stderr, align 8, !tbaa !9
  %431 = call i32 @s2n_print_stacktrace(ptr noundef %430) #11
  %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 = %427
  %435 = load ptr, ptr @stderr, align 8, !tbaa !9
  %436 = call i32 @fileno(ptr noundef %435) #11
  %437 = call i32 @isatty(i32 noundef %436) #11
  %.not1142 = icmp eq i32 %437, 0
  br i1 %.not1142, label %438, label %439

438:                                              ; preds = %434, %427
  br label %439

439:                                              ; preds = %434, %438
  %.str.5.sink1323 = phi ptr [ @.str.5, %438 ], [ @.str.2, %434 ]
  store i32 %429, ptr %428, align 4, !tbaa !5
  %440 = load ptr, ptr @stderr, align 8, !tbaa !9
  %441 = load i32, ptr @test_count, align 4, !tbaa !5
  %442 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %443 = load i32, ptr %442, align 4, !tbaa !5
  %444 = call ptr @s2n_strerror(i32 noundef %443, ptr noundef nonnull @.str.4) #11
  %445 = load i32, ptr %442, align 4, !tbaa !5
  %446 = call ptr @s2n_strerror_debug(i32 noundef %445, ptr noundef nonnull @.str.4) #11
  %447 = load i32, ptr %428, align 4, !tbaa !5
  %448 = call ptr @strerror(i32 noundef %447) #11
  %449 = load i32, ptr %428, align 4, !tbaa !5
  %450 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %440, ptr noundef nonnull %.str.5.sink1323, i32 noundef %441, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 99, ptr noundef %444, ptr noundef %446, ptr noundef %448, i32 noundef %449) #13
  call void @exit(i32 noundef 1) #14
  unreachable

451:                                              ; preds = %422
  %452 = load i32, ptr @test_count, align 4, !tbaa !5
  %453 = add nsw i32 %452, 1
  store i32 %453, ptr @test_count, align 4, !tbaa !5
  %454 = call i32 (...) @s2n_enable_tls13_in_test() #11
  %455 = icmp eq i32 %454, -1
  br i1 %455, label %456, label %480

456:                                              ; preds = %451
  %457 = tail call ptr @__errno_location() #12
  %458 = load i32, ptr %457, align 4, !tbaa !5
  %459 = load ptr, ptr @stderr, align 8, !tbaa !9
  %460 = call i32 @s2n_print_stacktrace(ptr noundef %459) #11
  %461 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %462 = trunc nuw i8 %461 to i1
  br i1 %462, label %463, label %467

463:                                              ; preds = %456
  %464 = load ptr, ptr @stderr, align 8, !tbaa !9
  %465 = call i32 @fileno(ptr noundef %464) #11
  %466 = call i32 @isatty(i32 noundef %465) #11
  %.not1141 = icmp eq i32 %466, 0
  br i1 %.not1141, label %467, label %468

467:                                              ; preds = %463, %456
  br label %468

468:                                              ; preds = %463, %467
  %.str.5.sink1334 = phi ptr [ @.str.5, %467 ], [ @.str.2, %463 ]
  store i32 %458, ptr %457, align 4, !tbaa !5
  %469 = load ptr, ptr @stderr, align 8, !tbaa !9
  %470 = load i32, ptr @test_count, align 4, !tbaa !5
  %471 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %472 = load i32, ptr %471, align 4, !tbaa !5
  %473 = call ptr @s2n_strerror(i32 noundef %472, ptr noundef nonnull @.str.4) #11
  %474 = load i32, ptr %471, align 4, !tbaa !5
  %475 = call ptr @s2n_strerror_debug(i32 noundef %474, ptr noundef nonnull @.str.4) #11
  %476 = load i32, ptr %457, align 4, !tbaa !5
  %477 = call ptr @strerror(i32 noundef %476) #11
  %478 = load i32, ptr %457, align 4, !tbaa !5
  %479 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %469, ptr noundef nonnull %.str.5.sink1334, i32 noundef %470, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 104, ptr noundef %473, ptr noundef %475, ptr noundef %477, i32 noundef %478) #13
  call void @exit(i32 noundef 1) #14
  unreachable

480:                                              ; preds = %451
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %4) #11
  store ptr null, ptr %4, align 8, !tbaa !9
  %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 ptr @s2n_config_new() #11
  %484 = icmp eq ptr %483, null
  br i1 %484, label %485, label %509

485:                                              ; preds = %480
  %486 = tail call ptr @__errno_location() #12
  %487 = load i32, ptr %486, align 4, !tbaa !5
  %488 = load ptr, ptr @stderr, align 8, !tbaa !9
  %489 = call i32 @s2n_print_stacktrace(ptr noundef %488) #11
  %490 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %491 = trunc nuw i8 %490 to i1
  br i1 %491, label %492, label %496

492:                                              ; preds = %485
  %493 = load ptr, ptr @stderr, align 8, !tbaa !9
  %494 = call i32 @fileno(ptr noundef %493) #11
  %495 = call i32 @isatty(i32 noundef %494) #11
  %.not1140 = icmp eq i32 %495, 0
  br i1 %.not1140, label %496, label %497

496:                                              ; preds = %492, %485
  br label %497

497:                                              ; preds = %492, %496
  %.str.5.sink1345 = phi ptr [ @.str.5, %496 ], [ @.str.2, %492 ]
  store i32 %487, ptr %486, align 4, !tbaa !5
  %498 = load ptr, ptr @stderr, align 8, !tbaa !9
  %499 = load i32, ptr @test_count, align 4, !tbaa !5
  %500 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %501 = load i32, ptr %500, align 4, !tbaa !5
  %502 = call ptr @s2n_strerror(i32 noundef %501, ptr noundef nonnull @.str.4) #11
  %503 = load i32, ptr %500, align 4, !tbaa !5
  %504 = call ptr @s2n_strerror_debug(i32 noundef %503, ptr noundef nonnull @.str.4) #11
  %505 = load i32, ptr %486, align 4, !tbaa !5
  %506 = call ptr @strerror(i32 noundef %505) #11
  %507 = load i32, ptr %486, align 4, !tbaa !5
  %508 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %498, ptr noundef nonnull %.str.5.sink1345, i32 noundef %499, ptr noundef nonnull @.str.12, ptr noundef nonnull @.str.1, i32 noundef 107, ptr noundef %502, ptr noundef %504, ptr noundef %506, i32 noundef %507) #13
  call void @exit(i32 noundef 1) #14
  unreachable

509:                                              ; preds = %480
  %510 = load i32, ptr @test_count, align 4, !tbaa !5
  %511 = add nsw i32 %510, 1
  store i32 %511, ptr @test_count, align 4, !tbaa !5
  %512 = call ptr @s2n_connection_new(i32 noundef 0) #11
  %513 = icmp eq ptr %512, null
  br i1 %513, label %514, label %538

514:                                              ; preds = %509
  %515 = tail call ptr @__errno_location() #12
  %516 = load i32, ptr %515, align 4, !tbaa !5
  %517 = load ptr, ptr @stderr, align 8, !tbaa !9
  %518 = call i32 @s2n_print_stacktrace(ptr noundef %517) #11
  %519 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %520 = trunc nuw i8 %519 to i1
  br i1 %520, label %521, label %525

521:                                              ; preds = %514
  %522 = load ptr, ptr @stderr, align 8, !tbaa !9
  %523 = call i32 @fileno(ptr noundef %522) #11
  %524 = call i32 @isatty(i32 noundef %523) #11
  %.not1139 = icmp eq i32 %524, 0
  br i1 %.not1139, label %525, label %526

525:                                              ; preds = %521, %514
  br label %526

526:                                              ; preds = %521, %525
  %.str.5.sink1356 = phi ptr [ @.str.5, %525 ], [ @.str.2, %521 ]
  store i32 %516, ptr %515, align 4, !tbaa !5
  %527 = load ptr, ptr @stderr, align 8, !tbaa !9
  %528 = load i32, ptr @test_count, align 4, !tbaa !5
  %529 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %530 = load i32, ptr %529, align 4, !tbaa !5
  %531 = call ptr @s2n_strerror(i32 noundef %530, ptr noundef nonnull @.str.4) #11
  %532 = load i32, ptr %529, align 4, !tbaa !5
  %533 = call ptr @s2n_strerror_debug(i32 noundef %532, ptr noundef nonnull @.str.4) #11
  %534 = load i32, ptr %515, align 4, !tbaa !5
  %535 = call ptr @strerror(i32 noundef %534) #11
  %536 = load i32, ptr %515, align 4, !tbaa !5
  %537 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %527, ptr noundef nonnull %.str.5.sink1356, i32 noundef %528, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.1, i32 noundef 110, ptr noundef %531, ptr noundef %533, ptr noundef %535, i32 noundef %536) #13
  call void @exit(i32 noundef 1) #14
  unreachable

538:                                              ; preds = %509
  %539 = load i32, ptr @test_count, align 4, !tbaa !5
  %540 = add nsw i32 %539, 1
  store i32 %540, ptr @test_count, align 4, !tbaa !5
  %541 = call i32 @s2n_connection_set_config(ptr noundef nonnull %512, ptr noundef nonnull %483) #11
  %542 = icmp eq i32 %541, -1
  br i1 %542, label %543, label %567

543:                                              ; preds = %538
  %544 = tail call ptr @__errno_location() #12
  %545 = load i32, ptr %544, align 4, !tbaa !5
  %546 = load ptr, ptr @stderr, align 8, !tbaa !9
  %547 = call i32 @s2n_print_stacktrace(ptr noundef %546) #11
  %548 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %549 = trunc nuw i8 %548 to i1
  br i1 %549, label %550, label %554

550:                                              ; preds = %543
  %551 = load ptr, ptr @stderr, align 8, !tbaa !9
  %552 = call i32 @fileno(ptr noundef %551) #11
  %553 = call i32 @isatty(i32 noundef %552) #11
  %.not1138 = icmp eq i32 %553, 0
  br i1 %.not1138, label %554, label %555

554:                                              ; preds = %550, %543
  br label %555

555:                                              ; preds = %550, %554
  %.str.5.sink1367 = phi ptr [ @.str.5, %554 ], [ @.str.2, %550 ]
  store i32 %545, ptr %544, align 4, !tbaa !5
  %556 = load ptr, ptr @stderr, align 8, !tbaa !9
  %557 = load i32, ptr @test_count, align 4, !tbaa !5
  %558 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %559 = load i32, ptr %558, align 4, !tbaa !5
  %560 = call ptr @s2n_strerror(i32 noundef %559, ptr noundef nonnull @.str.4) #11
  %561 = load i32, ptr %558, align 4, !tbaa !5
  %562 = call ptr @s2n_strerror_debug(i32 noundef %561, ptr noundef nonnull @.str.4) #11
  %563 = load i32, ptr %544, align 4, !tbaa !5
  %564 = call ptr @strerror(i32 noundef %563) #11
  %565 = load i32, ptr %544, align 4, !tbaa !5
  %566 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %556, ptr noundef nonnull %.str.5.sink1367, i32 noundef %557, ptr noundef nonnull @.str.14, ptr noundef nonnull @.str.1, i32 noundef 111, ptr noundef %560, ptr noundef %562, ptr noundef %564, i32 noundef %565) #13
  call void @exit(i32 noundef 1) #14
  unreachable

567:                                              ; preds = %538
  %568 = load i32, ptr @test_count, align 4, !tbaa !5
  %569 = add nsw i32 %568, 1
  store i32 %569, ptr @test_count, align 4, !tbaa !5
  %570 = getelementptr inbounds i8, ptr %512, i64 8
  %571 = load ptr, ptr %570, align 8, !tbaa !47
  %572 = icmp eq ptr %571, null
  br i1 %572, label %573, label %597

573:                                              ; preds = %567
  %574 = tail call ptr @__errno_location() #12
  %575 = load i32, ptr %574, align 4, !tbaa !5
  %576 = load ptr, ptr @stderr, align 8, !tbaa !9
  %577 = call i32 @s2n_print_stacktrace(ptr noundef %576) #11
  %578 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %579 = trunc nuw i8 %578 to i1
  br i1 %579, label %580, label %584

580:                                              ; preds = %573
  %581 = load ptr, ptr @stderr, align 8, !tbaa !9
  %582 = call i32 @fileno(ptr noundef %581) #11
  %583 = call i32 @isatty(i32 noundef %582) #11
  %.not1137 = icmp eq i32 %583, 0
  br i1 %.not1137, label %584, label %585

584:                                              ; preds = %580, %573
  br label %585

585:                                              ; preds = %580, %584
  %.str.5.sink1378 = phi ptr [ @.str.5, %584 ], [ @.str.2, %580 ]
  store i32 %575, ptr %574, align 4, !tbaa !5
  %586 = load ptr, ptr @stderr, align 8, !tbaa !9
  %587 = load i32, ptr @test_count, align 4, !tbaa !5
  %588 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %589 = load i32, ptr %588, align 4, !tbaa !5
  %590 = call ptr @s2n_strerror(i32 noundef %589, ptr noundef nonnull @.str.4) #11
  %591 = load i32, ptr %588, align 4, !tbaa !5
  %592 = call ptr @s2n_strerror_debug(i32 noundef %591, ptr noundef nonnull @.str.4) #11
  %593 = load i32, ptr %574, align 4, !tbaa !5
  %594 = call ptr @strerror(i32 noundef %593) #11
  %595 = load i32, ptr %574, align 4, !tbaa !5
  %596 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %586, ptr noundef nonnull %.str.5.sink1378, i32 noundef %587, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.1, i32 noundef 112, ptr noundef %590, ptr noundef %592, ptr noundef %594, i32 noundef %595) #13
  call void @exit(i32 noundef 1) #14
  unreachable

597:                                              ; preds = %567
  %598 = add nsw i32 %568, 2
  store i32 %598, ptr @test_count, align 4, !tbaa !5
  %599 = call i32 @s2n_connection_get_ecc_preferences(ptr noundef nonnull %512, ptr noundef nonnull %4) #11
  %600 = icmp eq i32 %599, -1
  br i1 %600, label %601, label %625

601:                                              ; preds = %597
  %602 = tail call ptr @__errno_location() #12
  %603 = load i32, ptr %602, align 4, !tbaa !5
  %604 = load ptr, ptr @stderr, align 8, !tbaa !9
  %605 = call i32 @s2n_print_stacktrace(ptr noundef %604) #11
  %606 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %607 = trunc nuw i8 %606 to i1
  br i1 %607, label %608, label %612

608:                                              ; preds = %601
  %609 = load ptr, ptr @stderr, align 8, !tbaa !9
  %610 = call i32 @fileno(ptr noundef %609) #11
  %611 = call i32 @isatty(i32 noundef %610) #11
  %.not1136 = icmp eq i32 %611, 0
  br i1 %.not1136, label %612, label %613

612:                                              ; preds = %608, %601
  br label %613

613:                                              ; preds = %608, %612
  %.str.5.sink1389 = phi ptr [ @.str.5, %612 ], [ @.str.2, %608 ]
  store i32 %603, ptr %602, align 4, !tbaa !5
  %614 = load ptr, ptr @stderr, align 8, !tbaa !9
  %615 = load i32, ptr @test_count, align 4, !tbaa !5
  %616 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %617 = load i32, ptr %616, align 4, !tbaa !5
  %618 = call ptr @s2n_strerror(i32 noundef %617, ptr noundef nonnull @.str.4) #11
  %619 = load i32, ptr %616, align 4, !tbaa !5
  %620 = call ptr @s2n_strerror_debug(i32 noundef %619, ptr noundef nonnull @.str.4) #11
  %621 = load i32, ptr %602, align 4, !tbaa !5
  %622 = call ptr @strerror(i32 noundef %621) #11
  %623 = load i32, ptr %602, align 4, !tbaa !5
  %624 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %614, ptr noundef nonnull %.str.5.sink1389, i32 noundef %615, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 113, ptr noundef %618, ptr noundef %620, ptr noundef %622, i32 noundef %623) #13
  call void @exit(i32 noundef 1) #14
  unreachable

625:                                              ; preds = %597
  %626 = load i32, ptr @test_count, align 4, !tbaa !5
  %627 = add nsw i32 %626, 1
  store i32 %627, ptr @test_count, align 4, !tbaa !5
  %628 = load ptr, ptr %4, align 8, !tbaa !9
  %629 = icmp eq ptr %628, null
  br i1 %629, label %630, label %654

630:                                              ; preds = %625
  %631 = tail call ptr @__errno_location() #12
  %632 = load i32, ptr %631, align 4, !tbaa !5
  %633 = load ptr, ptr @stderr, align 8, !tbaa !9
  %634 = call i32 @s2n_print_stacktrace(ptr noundef %633) #11
  %635 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %636 = trunc nuw i8 %635 to i1
  br i1 %636, label %637, label %641

637:                                              ; preds = %630
  %638 = load ptr, ptr @stderr, align 8, !tbaa !9
  %639 = call i32 @fileno(ptr noundef %638) #11
  %640 = call i32 @isatty(i32 noundef %639) #11
  %.not1135 = icmp eq i32 %640, 0
  br i1 %.not1135, label %641, label %642

641:                                              ; preds = %637, %630
  br label %642

642:                                              ; preds = %637, %641
  %.str.5.sink1400 = phi ptr [ @.str.5, %641 ], [ @.str.2, %637 ]
  store i32 %632, ptr %631, align 4, !tbaa !5
  %643 = load ptr, ptr @stderr, align 8, !tbaa !9
  %644 = load i32, ptr @test_count, align 4, !tbaa !5
  %645 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %646 = load i32, ptr %645, align 4, !tbaa !5
  %647 = call ptr @s2n_strerror(i32 noundef %646, ptr noundef nonnull @.str.4) #11
  %648 = load i32, ptr %645, align 4, !tbaa !5
  %649 = call ptr @s2n_strerror_debug(i32 noundef %648, ptr noundef nonnull @.str.4) #11
  %650 = load i32, ptr %631, align 4, !tbaa !5
  %651 = call ptr @strerror(i32 noundef %650) #11
  %652 = load i32, ptr %631, align 4, !tbaa !5
  %653 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %643, ptr noundef nonnull %.str.5.sink1400, i32 noundef %644, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 114, ptr noundef %647, ptr noundef %649, ptr noundef %651, i32 noundef %652) #13
  call void @exit(i32 noundef 1) #14
  unreachable

654:                                              ; preds = %625
  %655 = getelementptr inbounds i8, ptr %512, i64 220
  store i8 34, ptr %655, align 4, !tbaa !42
  %656 = getelementptr inbounds i8, ptr %628, i64 8
  %657 = load ptr, ptr %656, align 8, !tbaa !48
  %658 = load ptr, ptr %657, align 8, !tbaa !9
  %659 = getelementptr inbounds i8, ptr %512, i64 656
  store ptr %658, ptr %659, align 8, !tbaa !50
  %660 = getelementptr inbounds i8, ptr %512, i64 704
  store ptr %658, ptr %660, align 8, !tbaa !51
  %661 = add nsw i32 %626, 2
  store i32 %661, ptr @test_count, align 4, !tbaa !5
  %662 = call i32 @s2n_ecc_evp_generate_ephemeral_key(ptr noundef nonnull %660) #11
  %663 = icmp eq i32 %662, -1
  br i1 %663, label %664, label %688

664:                                              ; preds = %654
  %665 = tail call ptr @__errno_location() #12
  %666 = load i32, ptr %665, align 4, !tbaa !5
  %667 = load ptr, ptr @stderr, align 8, !tbaa !9
  %668 = call i32 @s2n_print_stacktrace(ptr noundef %667) #11
  %669 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %670 = trunc nuw i8 %669 to i1
  br i1 %670, label %671, label %675

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

675:                                              ; preds = %671, %664
  br label %676

676:                                              ; preds = %671, %675
  %.str.5.sink1411 = phi ptr [ @.str.5, %675 ], [ @.str.2, %671 ]
  store i32 %666, ptr %665, align 4, !tbaa !5
  %677 = load ptr, ptr @stderr, align 8, !tbaa !9
  %678 = load i32, ptr @test_count, align 4, !tbaa !5
  %679 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %680 = load i32, ptr %679, align 4, !tbaa !5
  %681 = call ptr @s2n_strerror(i32 noundef %680, ptr noundef nonnull @.str.4) #11
  %682 = load i32, ptr %679, align 4, !tbaa !5
  %683 = call ptr @s2n_strerror_debug(i32 noundef %682, ptr noundef nonnull @.str.4) #11
  %684 = load i32, ptr %665, align 4, !tbaa !5
  %685 = call ptr @strerror(i32 noundef %684) #11
  %686 = load i32, ptr %665, align 4, !tbaa !5
  %687 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %677, ptr noundef nonnull %.str.5.sink1411, i32 noundef %678, ptr noundef nonnull @.str.26, ptr noundef nonnull @.str.1, i32 noundef 119, ptr noundef %681, ptr noundef %683, ptr noundef %685, i32 noundef %686) #13
  call void @exit(i32 noundef 1) #14
  unreachable

688:                                              ; preds = %654
  %689 = load i32, ptr @test_count, align 4, !tbaa !5
  %690 = add nsw i32 %689, 1
  store i32 %690, ptr @test_count, align 4, !tbaa !5
  %691 = call i32 @s2n_server_hello_send(ptr noundef nonnull %512) #11
  %692 = icmp eq i32 %691, -1
  br i1 %692, label %693, label %717

693:                                              ; preds = %688
  %694 = tail call ptr @__errno_location() #12
  %695 = load i32, ptr %694, align 4, !tbaa !5
  %696 = load ptr, ptr @stderr, align 8, !tbaa !9
  %697 = call i32 @s2n_print_stacktrace(ptr noundef %696) #11
  %698 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %699 = trunc nuw i8 %698 to i1
  br i1 %699, label %700, label %704

700:                                              ; preds = %693
  %701 = load ptr, ptr @stderr, align 8, !tbaa !9
  %702 = call i32 @fileno(ptr noundef %701) #11
  %703 = call i32 @isatty(i32 noundef %702) #11
  %.not1133 = icmp eq i32 %703, 0
  br i1 %.not1133, label %704, label %705

704:                                              ; preds = %700, %693
  br label %705

705:                                              ; preds = %700, %704
  %.str.5.sink1422 = phi ptr [ @.str.5, %704 ], [ @.str.2, %700 ]
  store i32 %695, ptr %694, align 4, !tbaa !5
  %706 = load ptr, ptr @stderr, align 8, !tbaa !9
  %707 = load i32, ptr @test_count, align 4, !tbaa !5
  %708 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %709 = load i32, ptr %708, align 4, !tbaa !5
  %710 = call ptr @s2n_strerror(i32 noundef %709, ptr noundef nonnull @.str.4) #11
  %711 = load i32, ptr %708, align 4, !tbaa !5
  %712 = call ptr @s2n_strerror_debug(i32 noundef %711, ptr noundef nonnull @.str.4) #11
  %713 = load i32, ptr %694, align 4, !tbaa !5
  %714 = call ptr @strerror(i32 noundef %713) #11
  %715 = load i32, ptr %694, align 4, !tbaa !5
  %716 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %706, ptr noundef nonnull %.str.5.sink1422, i32 noundef %707, ptr noundef nonnull @.str.15, ptr noundef nonnull @.str.1, i32 noundef 122, ptr noundef %710, ptr noundef %712, ptr noundef %714, i32 noundef %715) #13
  call void @exit(i32 noundef 1) #14
  unreachable

717:                                              ; preds = %688
  %718 = getelementptr inbounds i8, ptr %512, i64 2016
  %719 = load i32, ptr @test_count, align 4, !tbaa !5
  %720 = add nsw i32 %719, 1
  store i32 %720, ptr @test_count, align 4, !tbaa !5
  %721 = load ptr, ptr %718, align 8, !tbaa !43
  %722 = load i8, ptr %721, align 1, !tbaa !44
  %723 = icmp eq i8 %722, 3
  br i1 %723, label %748, label %724

724:                                              ; preds = %717
  %725 = tail call ptr @__errno_location() #12
  %726 = load i32, ptr %725, align 4, !tbaa !5
  %727 = load ptr, ptr @stderr, align 8, !tbaa !9
  %728 = call i32 @s2n_print_stacktrace(ptr noundef %727) #11
  %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 = %724
  %732 = load ptr, ptr @stderr, align 8, !tbaa !9
  %733 = call i32 @fileno(ptr noundef %732) #11
  %734 = call i32 @isatty(i32 noundef %733) #11
  %.not897 = icmp eq i32 %734, 0
  br i1 %.not897, label %735, label %736

735:                                              ; preds = %731, %724
  br label %736

736:                                              ; preds = %731, %735
  %.str.5.sink1433 = phi ptr [ @.str.5, %735 ], [ @.str.2, %731 ]
  store i32 %726, ptr %725, 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 nonnull @.str.4) #11
  %742 = load i32, ptr %739, align 4, !tbaa !5
  %743 = call ptr @s2n_strerror_debug(i32 noundef %742, ptr noundef nonnull @.str.4) #11
  %744 = load i32, ptr %725, align 4, !tbaa !5
  %745 = call ptr @strerror(i32 noundef %744) #11
  %746 = load i32, ptr %725, align 4, !tbaa !5
  %747 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %737, ptr noundef nonnull %.str.5.sink1433, i32 noundef %738, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.1, i32 noundef 125, ptr noundef %741, ptr noundef %743, ptr noundef %745, i32 noundef %746) #13
  call void @exit(i32 noundef 1) #14
  unreachable

748:                                              ; preds = %717
  %749 = add nsw i32 %719, 2
  store i32 %749, ptr @test_count, align 4, !tbaa !5
  %750 = getelementptr inbounds i8, ptr %721, i64 1
  %751 = load i8, ptr %750, align 1, !tbaa !44
  %752 = icmp eq i8 %751, 3
  br i1 %752, label %777, label %753

753:                                              ; preds = %748
  %754 = tail call ptr @__errno_location() #12
  %755 = load i32, ptr %754, align 4, !tbaa !5
  %756 = load ptr, ptr @stderr, align 8, !tbaa !9
  %757 = call i32 @s2n_print_stacktrace(ptr noundef %756) #11
  %758 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %759 = trunc nuw i8 %758 to i1
  br i1 %759, label %760, label %764

760:                                              ; preds = %753
  %761 = load ptr, ptr @stderr, align 8, !tbaa !9
  %762 = call i32 @fileno(ptr noundef %761) #11
  %763 = call i32 @isatty(i32 noundef %762) #11
  %.not898 = icmp eq i32 %763, 0
  br i1 %.not898, label %764, label %765

764:                                              ; preds = %760, %753
  br label %765

765:                                              ; preds = %760, %764
  %.str.5.sink1444 = phi ptr [ @.str.5, %764 ], [ @.str.2, %760 ]
  store i32 %755, ptr %754, align 4, !tbaa !5
  %766 = load ptr, ptr @stderr, align 8, !tbaa !9
  %767 = load i32, ptr @test_count, align 4, !tbaa !5
  %768 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %769 = load i32, ptr %768, align 4, !tbaa !5
  %770 = call ptr @s2n_strerror(i32 noundef %769, ptr noundef nonnull @.str.4) #11
  %771 = load i32, ptr %768, align 4, !tbaa !5
  %772 = call ptr @s2n_strerror_debug(i32 noundef %771, ptr noundef nonnull @.str.4) #11
  %773 = load i32, ptr %754, align 4, !tbaa !5
  %774 = call ptr @strerror(i32 noundef %773) #11
  %775 = load i32, ptr %754, align 4, !tbaa !5
  %776 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %766, ptr noundef nonnull %.str.5.sink1444, i32 noundef %767, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.1, i32 noundef 126, ptr noundef %770, ptr noundef %772, ptr noundef %774, i32 noundef %775) #13
  call void @exit(i32 noundef 1) #14
  unreachable

777:                                              ; preds = %748
  %778 = add nsw i32 %719, 3
  store i32 %778, ptr @test_count, align 4, !tbaa !5
  %779 = call i32 @s2n_config_free(ptr noundef nonnull %483) #11
  %780 = icmp eq i32 %779, -1
  br i1 %780, label %781, label %805

781:                                              ; preds = %777
  %782 = tail call ptr @__errno_location() #12
  %783 = load i32, ptr %782, align 4, !tbaa !5
  %784 = load ptr, ptr @stderr, align 8, !tbaa !9
  %785 = call i32 @s2n_print_stacktrace(ptr noundef %784) #11
  %786 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %787 = trunc nuw i8 %786 to i1
  br i1 %787, label %788, label %792

788:                                              ; preds = %781
  %789 = load ptr, ptr @stderr, align 8, !tbaa !9
  %790 = call i32 @fileno(ptr noundef %789) #11
  %791 = call i32 @isatty(i32 noundef %790) #11
  %.not1132 = icmp eq i32 %791, 0
  br i1 %.not1132, label %792, label %793

792:                                              ; preds = %788, %781
  br label %793

793:                                              ; preds = %788, %792
  %.str.5.sink1455 = phi ptr [ @.str.5, %792 ], [ @.str.2, %788 ]
  store i32 %783, ptr %782, align 4, !tbaa !5
  %794 = load ptr, ptr @stderr, align 8, !tbaa !9
  %795 = load i32, ptr @test_count, align 4, !tbaa !5
  %796 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %797 = load i32, ptr %796, align 4, !tbaa !5
  %798 = call ptr @s2n_strerror(i32 noundef %797, ptr noundef nonnull @.str.4) #11
  %799 = load i32, ptr %796, align 4, !tbaa !5
  %800 = call ptr @s2n_strerror_debug(i32 noundef %799, ptr noundef nonnull @.str.4) #11
  %801 = load i32, ptr %782, align 4, !tbaa !5
  %802 = call ptr @strerror(i32 noundef %801) #11
  %803 = load i32, ptr %782, align 4, !tbaa !5
  %804 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %794, ptr noundef nonnull %.str.5.sink1455, i32 noundef %795, ptr noundef nonnull @.str.20, ptr noundef nonnull @.str.1, i32 noundef 128, ptr noundef %798, ptr noundef %800, ptr noundef %802, i32 noundef %803) #13
  call void @exit(i32 noundef 1) #14
  unreachable

805:                                              ; preds = %777
  %806 = load i32, ptr @test_count, align 4, !tbaa !5
  %807 = add nsw i32 %806, 1
  store i32 %807, ptr @test_count, align 4, !tbaa !5
  %808 = call i32 @s2n_connection_free(ptr noundef nonnull %512) #11
  %809 = icmp eq i32 %808, -1
  br i1 %809, label %810, label %834

810:                                              ; preds = %805
  %811 = tail call ptr @__errno_location() #12
  %812 = load i32, ptr %811, align 4, !tbaa !5
  %813 = load ptr, ptr @stderr, align 8, !tbaa !9
  %814 = call i32 @s2n_print_stacktrace(ptr noundef %813) #11
  %815 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %816 = trunc nuw i8 %815 to i1
  br i1 %816, label %817, label %821

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

821:                                              ; preds = %817, %810
  br label %822

822:                                              ; preds = %817, %821
  %.str.5.sink1466 = phi ptr [ @.str.5, %821 ], [ @.str.2, %817 ]
  store i32 %812, ptr %811, align 4, !tbaa !5
  %823 = load ptr, ptr @stderr, align 8, !tbaa !9
  %824 = load i32, ptr @test_count, align 4, !tbaa !5
  %825 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %826 = load i32, ptr %825, align 4, !tbaa !5
  %827 = call ptr @s2n_strerror(i32 noundef %826, ptr noundef nonnull @.str.4) #11
  %828 = load i32, ptr %825, align 4, !tbaa !5
  %829 = call ptr @s2n_strerror_debug(i32 noundef %828, ptr noundef nonnull @.str.4) #11
  %830 = load i32, ptr %811, align 4, !tbaa !5
  %831 = call ptr @strerror(i32 noundef %830) #11
  %832 = load i32, ptr %811, align 4, !tbaa !5
  %833 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %823, ptr noundef nonnull %.str.5.sink1466, i32 noundef %824, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 129, ptr noundef %827, ptr noundef %829, ptr noundef %831, i32 noundef %832) #13
  call void @exit(i32 noundef 1) #14
  unreachable

834:                                              ; preds = %805
  %835 = load i32, ptr @test_count, align 4, !tbaa !5
  %836 = add nsw i32 %835, 1
  store i32 %836, ptr @test_count, align 4, !tbaa !5
  %837 = call i32 (...) @s2n_disable_tls13_in_test() #11
  %838 = icmp eq i32 %837, -1
  br i1 %838, label %839, label %863

839:                                              ; preds = %834
  %840 = tail call ptr @__errno_location() #12
  %841 = load i32, ptr %840, align 4, !tbaa !5
  %842 = load ptr, ptr @stderr, align 8, !tbaa !9
  %843 = call i32 @s2n_print_stacktrace(ptr noundef %842) #11
  %844 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %845 = trunc nuw i8 %844 to i1
  br i1 %845, label %846, label %850

846:                                              ; preds = %839
  %847 = load ptr, ptr @stderr, align 8, !tbaa !9
  %848 = call i32 @fileno(ptr noundef %847) #11
  %849 = call i32 @isatty(i32 noundef %848) #11
  %.not1130 = icmp eq i32 %849, 0
  br i1 %.not1130, label %850, label %851

850:                                              ; preds = %846, %839
  br label %851

851:                                              ; preds = %846, %850
  %.str.5.sink1477 = phi ptr [ @.str.5, %850 ], [ @.str.2, %846 ]
  store i32 %841, ptr %840, align 4, !tbaa !5
  %852 = load ptr, ptr @stderr, align 8, !tbaa !9
  %853 = load i32, ptr @test_count, align 4, !tbaa !5
  %854 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %855 = load i32, ptr %854, align 4, !tbaa !5
  %856 = call ptr @s2n_strerror(i32 noundef %855, ptr noundef nonnull @.str.4) #11
  %857 = load i32, ptr %854, align 4, !tbaa !5
  %858 = call ptr @s2n_strerror_debug(i32 noundef %857, ptr noundef nonnull @.str.4) #11
  %859 = load i32, ptr %840, align 4, !tbaa !5
  %860 = call ptr @strerror(i32 noundef %859) #11
  %861 = load i32, ptr %840, align 4, !tbaa !5
  %862 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %852, ptr noundef nonnull %.str.5.sink1477, i32 noundef %853, ptr noundef nonnull @.str.8, ptr noundef nonnull @.str.1, i32 noundef 131, ptr noundef %856, ptr noundef %858, ptr noundef %860, i32 noundef %861) #13
  call void @exit(i32 noundef 1) #14
  unreachable

863:                                              ; preds = %834
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %4) #11
  %864 = load i32, ptr @test_count, align 4, !tbaa !5
  %865 = add nsw i32 %864, 1
  store i32 %865, ptr @test_count, align 4, !tbaa !5
  %866 = call ptr @s2n_config_new() #11
  %867 = icmp eq ptr %866, null
  br i1 %867, label %868, label %892

868:                                              ; preds = %863
  %869 = tail call ptr @__errno_location() #12
  %870 = load i32, ptr %869, align 4, !tbaa !5
  %871 = load ptr, ptr @stderr, align 8, !tbaa !9
  %872 = call i32 @s2n_print_stacktrace(ptr noundef %871) #11
  %873 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %874 = trunc nuw i8 %873 to i1
  br i1 %874, label %875, label %879

875:                                              ; preds = %868
  %876 = load ptr, ptr @stderr, align 8, !tbaa !9
  %877 = call i32 @fileno(ptr noundef %876) #11
  %878 = call i32 @isatty(i32 noundef %877) #11
  %.not1129 = icmp eq i32 %878, 0
  br i1 %.not1129, label %879, label %880

879:                                              ; preds = %875, %868
  br label %880

880:                                              ; preds = %875, %879
  %.str.5.sink1488 = phi ptr [ @.str.5, %879 ], [ @.str.2, %875 ]
  store i32 %870, ptr %869, align 4, !tbaa !5
  %881 = load ptr, ptr @stderr, align 8, !tbaa !9
  %882 = load i32, ptr @test_count, align 4, !tbaa !5
  %883 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %884 = load i32, ptr %883, align 4, !tbaa !5
  %885 = call ptr @s2n_strerror(i32 noundef %884, ptr noundef nonnull @.str.4) #11
  %886 = load i32, ptr %883, align 4, !tbaa !5
  %887 = call ptr @s2n_strerror_debug(i32 noundef %886, ptr noundef nonnull @.str.4) #11
  %888 = load i32, ptr %869, align 4, !tbaa !5
  %889 = call ptr @strerror(i32 noundef %888) #11
  %890 = load i32, ptr %869, align 4, !tbaa !5
  %891 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %881, ptr noundef nonnull %.str.5.sink1488, i32 noundef %882, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.1, i32 noundef 142, ptr noundef %885, ptr noundef %887, ptr noundef %889, i32 noundef %890) #13
  call void @exit(i32 noundef 1) #14
  unreachable

892:                                              ; preds = %863
  %893 = load i32, ptr @test_count, align 4, !tbaa !5
  %894 = add nsw i32 %893, 1
  store i32 %894, ptr @test_count, align 4, !tbaa !5
  %895 = call ptr @s2n_connection_new(i32 noundef 0) #11
  %896 = icmp eq ptr %895, null
  br i1 %896, label %897, label %921

897:                                              ; preds = %892
  %898 = tail call ptr @__errno_location() #12
  %899 = load i32, ptr %898, align 4, !tbaa !5
  %900 = load ptr, ptr @stderr, align 8, !tbaa !9
  %901 = call i32 @s2n_print_stacktrace(ptr noundef %900) #11
  %902 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %903 = trunc nuw i8 %902 to i1
  br i1 %903, label %904, label %908

904:                                              ; preds = %897
  %905 = load ptr, ptr @stderr, align 8, !tbaa !9
  %906 = call i32 @fileno(ptr noundef %905) #11
  %907 = call i32 @isatty(i32 noundef %906) #11
  %.not1128 = icmp eq i32 %907, 0
  br i1 %.not1128, label %908, label %909

908:                                              ; preds = %904, %897
  br label %909

909:                                              ; preds = %904, %908
  %.str.5.sink1499 = phi ptr [ @.str.5, %908 ], [ @.str.2, %904 ]
  store i32 %899, ptr %898, align 4, !tbaa !5
  %910 = load ptr, ptr @stderr, align 8, !tbaa !9
  %911 = load i32, ptr @test_count, align 4, !tbaa !5
  %912 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %913 = load i32, ptr %912, align 4, !tbaa !5
  %914 = call ptr @s2n_strerror(i32 noundef %913, ptr noundef nonnull @.str.4) #11
  %915 = load i32, ptr %912, align 4, !tbaa !5
  %916 = call ptr @s2n_strerror_debug(i32 noundef %915, ptr noundef nonnull @.str.4) #11
  %917 = load i32, ptr %898, align 4, !tbaa !5
  %918 = call ptr @strerror(i32 noundef %917) #11
  %919 = load i32, ptr %898, align 4, !tbaa !5
  %920 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %910, ptr noundef nonnull %.str.5.sink1499, i32 noundef %911, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.1, i32 noundef 143, ptr noundef %914, ptr noundef %916, ptr noundef %918, i32 noundef %919) #13
  call void @exit(i32 noundef 1) #14
  unreachable

921:                                              ; preds = %892
  %922 = load i32, ptr @test_count, align 4, !tbaa !5
  %923 = add nsw i32 %922, 1
  store i32 %923, ptr @test_count, align 4, !tbaa !5
  %924 = call i32 @s2n_connection_set_config(ptr noundef nonnull %895, ptr noundef nonnull %866) #11
  %925 = icmp eq i32 %924, -1
  br i1 %925, label %926, label %950

926:                                              ; preds = %921
  %927 = tail call ptr @__errno_location() #12
  %928 = load i32, ptr %927, align 4, !tbaa !5
  %929 = load ptr, ptr @stderr, align 8, !tbaa !9
  %930 = call i32 @s2n_print_stacktrace(ptr noundef %929) #11
  %931 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %932 = trunc nuw i8 %931 to i1
  br i1 %932, label %933, label %937

933:                                              ; preds = %926
  %934 = load ptr, ptr @stderr, align 8, !tbaa !9
  %935 = call i32 @fileno(ptr noundef %934) #11
  %936 = call i32 @isatty(i32 noundef %935) #11
  %.not1127 = icmp eq i32 %936, 0
  br i1 %.not1127, label %937, label %938

937:                                              ; preds = %933, %926
  br label %938

938:                                              ; preds = %933, %937
  %.str.5.sink1510 = phi ptr [ @.str.5, %937 ], [ @.str.2, %933 ]
  store i32 %928, ptr %927, align 4, !tbaa !5
  %939 = load ptr, ptr @stderr, align 8, !tbaa !9
  %940 = load i32, ptr @test_count, align 4, !tbaa !5
  %941 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %942 = load i32, ptr %941, align 4, !tbaa !5
  %943 = call ptr @s2n_strerror(i32 noundef %942, ptr noundef nonnull @.str.4) #11
  %944 = load i32, ptr %941, align 4, !tbaa !5
  %945 = call ptr @s2n_strerror_debug(i32 noundef %944, ptr noundef nonnull @.str.4) #11
  %946 = load i32, ptr %927, align 4, !tbaa !5
  %947 = call ptr @strerror(i32 noundef %946) #11
  %948 = load i32, ptr %927, align 4, !tbaa !5
  %949 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %939, ptr noundef nonnull %.str.5.sink1510, i32 noundef %940, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 144, ptr noundef %943, ptr noundef %945, ptr noundef %947, i32 noundef %948) #13
  call void @exit(i32 noundef 1) #14
  unreachable

950:                                              ; preds = %921
  %951 = load i32, ptr @test_count, align 4, !tbaa !5
  %952 = add nsw i32 %951, 1
  store i32 %952, ptr @test_count, align 4, !tbaa !5
  %953 = call ptr @s2n_config_new() #11
  %954 = icmp eq ptr %953, null
  br i1 %954, label %955, label %979

955:                                              ; preds = %950
  %956 = tail call ptr @__errno_location() #12
  %957 = load i32, ptr %956, align 4, !tbaa !5
  %958 = load ptr, ptr @stderr, align 8, !tbaa !9
  %959 = call i32 @s2n_print_stacktrace(ptr noundef %958) #11
  %960 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %961 = trunc nuw i8 %960 to i1
  br i1 %961, label %962, label %966

962:                                              ; preds = %955
  %963 = load ptr, ptr @stderr, align 8, !tbaa !9
  %964 = call i32 @fileno(ptr noundef %963) #11
  %965 = call i32 @isatty(i32 noundef %964) #11
  %.not1126 = icmp eq i32 %965, 0
  br i1 %.not1126, label %966, label %967

966:                                              ; preds = %962, %955
  br label %967

967:                                              ; preds = %962, %966
  %.str.5.sink1521 = phi ptr [ @.str.5, %966 ], [ @.str.2, %962 ]
  store i32 %957, ptr %956, align 4, !tbaa !5
  %968 = load ptr, ptr @stderr, align 8, !tbaa !9
  %969 = load i32, ptr @test_count, align 4, !tbaa !5
  %970 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %971 = load i32, ptr %970, align 4, !tbaa !5
  %972 = call ptr @s2n_strerror(i32 noundef %971, ptr noundef nonnull @.str.4) #11
  %973 = load i32, ptr %970, align 4, !tbaa !5
  %974 = call ptr @s2n_strerror_debug(i32 noundef %973, ptr noundef nonnull @.str.4) #11
  %975 = load i32, ptr %956, align 4, !tbaa !5
  %976 = call ptr @strerror(i32 noundef %975) #11
  %977 = load i32, ptr %956, align 4, !tbaa !5
  %978 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %968, ptr noundef nonnull %.str.5.sink1521, i32 noundef %969, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.1, i32 noundef 146, ptr noundef %972, ptr noundef %974, ptr noundef %976, i32 noundef %977) #13
  call void @exit(i32 noundef 1) #14
  unreachable

979:                                              ; preds = %950
  %980 = load i32, ptr @test_count, align 4, !tbaa !5
  %981 = add nsw i32 %980, 1
  store i32 %981, ptr @test_count, align 4, !tbaa !5
  %982 = call ptr @s2n_connection_new(i32 noundef 1) #11
  %983 = icmp eq ptr %982, null
  br i1 %983, label %984, label %1008

984:                                              ; preds = %979
  %985 = tail call ptr @__errno_location() #12
  %986 = load i32, ptr %985, align 4, !tbaa !5
  %987 = load ptr, ptr @stderr, align 8, !tbaa !9
  %988 = call i32 @s2n_print_stacktrace(ptr noundef %987) #11
  %989 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %990 = trunc nuw i8 %989 to i1
  br i1 %990, label %991, label %995

991:                                              ; preds = %984
  %992 = load ptr, ptr @stderr, align 8, !tbaa !9
  %993 = call i32 @fileno(ptr noundef %992) #11
  %994 = call i32 @isatty(i32 noundef %993) #11
  %.not1125 = icmp eq i32 %994, 0
  br i1 %.not1125, label %995, label %996

995:                                              ; preds = %991, %984
  br label %996

996:                                              ; preds = %991, %995
  %.str.5.sink1532 = phi ptr [ @.str.5, %995 ], [ @.str.2, %991 ]
  store i32 %986, ptr %985, align 4, !tbaa !5
  %997 = load ptr, ptr @stderr, align 8, !tbaa !9
  %998 = load i32, ptr @test_count, align 4, !tbaa !5
  %999 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1000 = load i32, ptr %999, align 4, !tbaa !5
  %1001 = call ptr @s2n_strerror(i32 noundef %1000, ptr noundef nonnull @.str.4) #11
  %1002 = load i32, ptr %999, align 4, !tbaa !5
  %1003 = call ptr @s2n_strerror_debug(i32 noundef %1002, ptr noundef nonnull @.str.4) #11
  %1004 = load i32, ptr %985, align 4, !tbaa !5
  %1005 = call ptr @strerror(i32 noundef %1004) #11
  %1006 = load i32, ptr %985, align 4, !tbaa !5
  %1007 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %997, ptr noundef nonnull %.str.5.sink1532, i32 noundef %998, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.1, i32 noundef 147, ptr noundef %1001, ptr noundef %1003, ptr noundef %1005, i32 noundef %1006) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1008:                                             ; preds = %979
  %1009 = load i32, ptr @test_count, align 4, !tbaa !5
  %1010 = add nsw i32 %1009, 1
  store i32 %1010, ptr @test_count, align 4, !tbaa !5
  %1011 = call i32 @s2n_connection_set_config(ptr noundef nonnull %982, ptr noundef nonnull %953) #11
  %1012 = icmp eq i32 %1011, -1
  br i1 %1012, label %1013, label %1037

1013:                                             ; preds = %1008
  %1014 = tail call ptr @__errno_location() #12
  %1015 = load i32, ptr %1014, align 4, !tbaa !5
  %1016 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1017 = call i32 @s2n_print_stacktrace(ptr noundef %1016) #11
  %1018 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1019 = trunc nuw i8 %1018 to i1
  br i1 %1019, label %1020, label %1024

1020:                                             ; preds = %1013
  %1021 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1022 = call i32 @fileno(ptr noundef %1021) #11
  %1023 = call i32 @isatty(i32 noundef %1022) #11
  %.not1124 = icmp eq i32 %1023, 0
  br i1 %.not1124, label %1024, label %1025

1024:                                             ; preds = %1020, %1013
  br label %1025

1025:                                             ; preds = %1020, %1024
  %.str.5.sink1543 = phi ptr [ @.str.5, %1024 ], [ @.str.2, %1020 ]
  store i32 %1015, ptr %1014, align 4, !tbaa !5
  %1026 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1027 = load i32, ptr @test_count, align 4, !tbaa !5
  %1028 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1029 = load i32, ptr %1028, align 4, !tbaa !5
  %1030 = call ptr @s2n_strerror(i32 noundef %1029, ptr noundef nonnull @.str.4) #11
  %1031 = load i32, ptr %1028, align 4, !tbaa !5
  %1032 = call ptr @s2n_strerror_debug(i32 noundef %1031, ptr noundef nonnull @.str.4) #11
  %1033 = load i32, ptr %1014, align 4, !tbaa !5
  %1034 = call ptr @strerror(i32 noundef %1033) #11
  %1035 = load i32, ptr %1014, align 4, !tbaa !5
  %1036 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1026, ptr noundef nonnull %.str.5.sink1543, i32 noundef %1027, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.1, i32 noundef 148, ptr noundef %1030, ptr noundef %1032, ptr noundef %1034, i32 noundef %1035) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1037:                                             ; preds = %1008
  %1038 = getelementptr inbounds i8, ptr %895, i64 220
  store i8 33, ptr %1038, align 4, !tbaa !42
  %1039 = getelementptr inbounds i8, ptr %895, i64 232
  %1040 = load ptr, ptr %1039, align 8, !tbaa !52
  store ptr @s2n_ecdhe_rsa_with_aes_256_gcm_sha384, ptr %1040, align 8, !tbaa !53
  %1041 = load i32, ptr @test_count, align 4, !tbaa !5
  %1042 = add nsw i32 %1041, 1
  store i32 %1042, ptr @test_count, align 4, !tbaa !5
  %1043 = call i32 @s2n_server_hello_send(ptr noundef nonnull %895) #11
  %1044 = icmp eq i32 %1043, -1
  br i1 %1044, label %1045, label %1069

1045:                                             ; preds = %1037
  %1046 = tail call ptr @__errno_location() #12
  %1047 = load i32, ptr %1046, align 4, !tbaa !5
  %1048 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1049 = call i32 @s2n_print_stacktrace(ptr noundef %1048) #11
  %1050 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1051 = trunc nuw i8 %1050 to i1
  br i1 %1051, label %1052, label %1056

1052:                                             ; preds = %1045
  %1053 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1054 = call i32 @fileno(ptr noundef %1053) #11
  %1055 = call i32 @isatty(i32 noundef %1054) #11
  %.not1123 = icmp eq i32 %1055, 0
  br i1 %.not1123, label %1056, label %1057

1056:                                             ; preds = %1052, %1045
  br label %1057

1057:                                             ; preds = %1052, %1056
  %.str.5.sink1554 = phi ptr [ @.str.5, %1056 ], [ @.str.2, %1052 ]
  store i32 %1047, ptr %1046, 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 nonnull @.str.4) #11
  %1063 = load i32, ptr %1060, align 4, !tbaa !5
  %1064 = call ptr @s2n_strerror_debug(i32 noundef %1063, ptr noundef nonnull @.str.4) #11
  %1065 = load i32, ptr %1046, align 4, !tbaa !5
  %1066 = call ptr @strerror(i32 noundef %1065) #11
  %1067 = load i32, ptr %1046, align 4, !tbaa !5
  %1068 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1058, ptr noundef nonnull %.str.5.sink1554, i32 noundef %1059, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.1, i32 noundef 153, ptr noundef %1062, ptr noundef %1064, ptr noundef %1066, i32 noundef %1067) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1069:                                             ; preds = %1037
  %1070 = getelementptr inbounds i8, ptr %895, i64 2016
  %1071 = getelementptr inbounds i8, ptr %895, i64 2044
  %1072 = load i32, ptr %1071, align 4, !tbaa !58
  %1073 = getelementptr inbounds i8, ptr %895, i64 2040
  %1074 = load i32, ptr %1073, align 8, !tbaa !59
  %1075 = sub i32 %1072, %1074
  %1076 = load i32, ptr @test_count, align 4, !tbaa !5
  %1077 = add nsw i32 %1076, 1
  store i32 %1077, ptr @test_count, align 4, !tbaa !5
  %1078 = getelementptr inbounds i8, ptr %982, i64 2016
  %1079 = call i32 @s2n_stuffer_copy(ptr noundef nonnull %1070, ptr noundef nonnull %1078, i32 noundef %1075) #11
  %1080 = icmp eq i32 %1079, -1
  br i1 %1080, label %1081, label %1105

1081:                                             ; preds = %1069
  %1082 = tail call ptr @__errno_location() #12
  %1083 = load i32, ptr %1082, align 4, !tbaa !5
  %1084 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1085 = call i32 @s2n_print_stacktrace(ptr noundef %1084) #11
  %1086 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1087 = trunc nuw i8 %1086 to i1
  br i1 %1087, label %1088, label %1092

1088:                                             ; preds = %1081
  %1089 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1090 = call i32 @fileno(ptr noundef %1089) #11
  %1091 = call i32 @isatty(i32 noundef %1090) #11
  %.not1122 = icmp eq i32 %1091, 0
  br i1 %.not1122, label %1092, label %1093

1092:                                             ; preds = %1088, %1081
  br label %1093

1093:                                             ; preds = %1088, %1092
  %.str.5.sink1565 = phi ptr [ @.str.5, %1092 ], [ @.str.2, %1088 ]
  store i32 %1083, ptr %1082, align 4, !tbaa !5
  %1094 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1095 = load i32, ptr @test_count, align 4, !tbaa !5
  %1096 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1097 = load i32, ptr %1096, align 4, !tbaa !5
  %1098 = call ptr @s2n_strerror(i32 noundef %1097, ptr noundef nonnull @.str.4) #11
  %1099 = load i32, ptr %1096, align 4, !tbaa !5
  %1100 = call ptr @s2n_strerror_debug(i32 noundef %1099, ptr noundef nonnull @.str.4) #11
  %1101 = load i32, ptr %1082, align 4, !tbaa !5
  %1102 = call ptr @strerror(i32 noundef %1101) #11
  %1103 = load i32, ptr %1082, align 4, !tbaa !5
  %1104 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1094, ptr noundef nonnull %.str.5.sink1565, i32 noundef %1095, ptr noundef nonnull @.str.34, ptr noundef nonnull @.str.1, i32 noundef 157, ptr noundef %1098, ptr noundef %1100, ptr noundef %1102, i32 noundef %1103) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1105:                                             ; preds = %1069
  %1106 = load i32, ptr @test_count, align 4, !tbaa !5
  %1107 = add nsw i32 %1106, 1
  store i32 %1107, ptr @test_count, align 4, !tbaa !5
  %1108 = call i32 @s2n_server_hello_recv(ptr noundef nonnull %982) #11
  %1109 = icmp eq i32 %1108, -1
  br i1 %1109, label %1110, label %1134

1110:                                             ; preds = %1105
  %1111 = tail call ptr @__errno_location() #12
  %1112 = load i32, ptr %1111, align 4, !tbaa !5
  %1113 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1114 = call i32 @s2n_print_stacktrace(ptr noundef %1113) #11
  %1115 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1116 = trunc nuw i8 %1115 to i1
  br i1 %1116, label %1117, label %1121

1117:                                             ; preds = %1110
  %1118 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1119 = call i32 @fileno(ptr noundef %1118) #11
  %1120 = call i32 @isatty(i32 noundef %1119) #11
  %.not1121 = icmp eq i32 %1120, 0
  br i1 %.not1121, label %1121, label %1122

1121:                                             ; preds = %1117, %1110
  br label %1122

1122:                                             ; preds = %1117, %1121
  %.str.5.sink1576 = phi ptr [ @.str.5, %1121 ], [ @.str.2, %1117 ]
  store i32 %1112, ptr %1111, align 4, !tbaa !5
  %1123 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1124 = load i32, ptr @test_count, align 4, !tbaa !5
  %1125 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1126 = load i32, ptr %1125, align 4, !tbaa !5
  %1127 = call ptr @s2n_strerror(i32 noundef %1126, ptr noundef nonnull @.str.4) #11
  %1128 = load i32, ptr %1125, align 4, !tbaa !5
  %1129 = call ptr @s2n_strerror_debug(i32 noundef %1128, ptr noundef nonnull @.str.4) #11
  %1130 = load i32, ptr %1111, align 4, !tbaa !5
  %1131 = call ptr @strerror(i32 noundef %1130) #11
  %1132 = load i32, ptr %1111, align 4, !tbaa !5
  %1133 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1123, ptr noundef nonnull %.str.5.sink1576, i32 noundef %1124, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.1, i32 noundef 161, ptr noundef %1127, ptr noundef %1129, ptr noundef %1131, i32 noundef %1132) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1134:                                             ; preds = %1105
  %1135 = load i32, ptr @test_count, align 4, !tbaa !5
  %1136 = add nsw i32 %1135, 1
  store i32 %1136, ptr @test_count, align 4, !tbaa !5
  %1137 = getelementptr inbounds i8, ptr %982, i64 2044
  %1138 = load i32, ptr %1137, align 4, !tbaa !45
  %1139 = getelementptr inbounds i8, ptr %982, i64 2040
  %1140 = load i32, ptr %1139, align 8, !tbaa !46
  %1141 = icmp eq i32 %1138, %1140
  br i1 %1141, label %1166, label %1142

1142:                                             ; preds = %1134
  %1143 = tail call ptr @__errno_location() #12
  %1144 = load i32, ptr %1143, align 4, !tbaa !5
  %1145 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1146 = call i32 @s2n_print_stacktrace(ptr noundef %1145) #11
  %1147 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1148 = trunc nuw i8 %1147 to i1
  br i1 %1148, label %1149, label %1153

1149:                                             ; preds = %1142
  %1150 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1151 = call i32 @fileno(ptr noundef %1150) #11
  %1152 = call i32 @isatty(i32 noundef %1151) #11
  %.not899 = icmp eq i32 %1152, 0
  br i1 %.not899, label %1153, label %1154

1153:                                             ; preds = %1149, %1142
  br label %1154

1154:                                             ; preds = %1149, %1153
  %.str.5.sink1587 = phi ptr [ @.str.5, %1153 ], [ @.str.2, %1149 ]
  store i32 %1144, ptr %1143, align 4, !tbaa !5
  %1155 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1156 = load i32, ptr @test_count, align 4, !tbaa !5
  %1157 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1158 = load i32, ptr %1157, align 4, !tbaa !5
  %1159 = call ptr @s2n_strerror(i32 noundef %1158, ptr noundef nonnull @.str.4) #11
  %1160 = load i32, ptr %1157, align 4, !tbaa !5
  %1161 = call ptr @s2n_strerror_debug(i32 noundef %1160, ptr noundef nonnull @.str.4) #11
  %1162 = load i32, ptr %1143, align 4, !tbaa !5
  %1163 = call ptr @strerror(i32 noundef %1162) #11
  %1164 = load i32, ptr %1143, align 4, !tbaa !5
  %1165 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1155, ptr noundef nonnull %.str.5.sink1587, i32 noundef %1156, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.1, i32 noundef 163, ptr noundef %1159, ptr noundef %1161, ptr noundef %1163, i32 noundef %1164) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1166:                                             ; preds = %1134
  %1167 = add nsw i32 %1135, 2
  store i32 %1167, ptr @test_count, align 4, !tbaa !5
  %1168 = call i32 @s2n_config_free(ptr noundef nonnull %953) #11
  %1169 = icmp eq i32 %1168, -1
  br i1 %1169, label %1170, label %1194

1170:                                             ; preds = %1166
  %1171 = tail call ptr @__errno_location() #12
  %1172 = load i32, ptr %1171, align 4, !tbaa !5
  %1173 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1174 = call i32 @s2n_print_stacktrace(ptr noundef %1173) #11
  %1175 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1176 = trunc nuw i8 %1175 to i1
  br i1 %1176, label %1177, label %1181

1177:                                             ; preds = %1170
  %1178 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1179 = call i32 @fileno(ptr noundef %1178) #11
  %1180 = call i32 @isatty(i32 noundef %1179) #11
  %.not1120 = icmp eq i32 %1180, 0
  br i1 %.not1120, label %1181, label %1182

1181:                                             ; preds = %1177, %1170
  br label %1182

1182:                                             ; preds = %1177, %1181
  %.str.5.sink1598 = phi ptr [ @.str.5, %1181 ], [ @.str.2, %1177 ]
  store i32 %1172, ptr %1171, 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 nonnull @.str.4) #11
  %1188 = load i32, ptr %1185, align 4, !tbaa !5
  %1189 = call ptr @s2n_strerror_debug(i32 noundef %1188, ptr noundef nonnull @.str.4) #11
  %1190 = load i32, ptr %1171, align 4, !tbaa !5
  %1191 = call ptr @strerror(i32 noundef %1190) #11
  %1192 = load i32, ptr %1171, align 4, !tbaa !5
  %1193 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1183, ptr noundef nonnull %.str.5.sink1598, i32 noundef %1184, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.1, i32 noundef 165, ptr noundef %1187, ptr noundef %1189, ptr noundef %1191, i32 noundef %1192) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1194:                                             ; preds = %1166
  %1195 = load i32, ptr @test_count, align 4, !tbaa !5
  %1196 = add nsw i32 %1195, 1
  store i32 %1196, ptr @test_count, align 4, !tbaa !5
  %1197 = call i32 @s2n_config_free(ptr noundef nonnull %866) #11
  %1198 = icmp eq i32 %1197, -1
  br i1 %1198, label %1199, label %1223

1199:                                             ; preds = %1194
  %1200 = tail call ptr @__errno_location() #12
  %1201 = load i32, ptr %1200, align 4, !tbaa !5
  %1202 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1203 = call i32 @s2n_print_stacktrace(ptr noundef %1202) #11
  %1204 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1205 = trunc nuw i8 %1204 to i1
  br i1 %1205, label %1206, label %1210

1206:                                             ; preds = %1199
  %1207 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1208 = call i32 @fileno(ptr noundef %1207) #11
  %1209 = call i32 @isatty(i32 noundef %1208) #11
  %.not1119 = icmp eq i32 %1209, 0
  br i1 %.not1119, label %1210, label %1211

1210:                                             ; preds = %1206, %1199
  br label %1211

1211:                                             ; preds = %1206, %1210
  %.str.5.sink1609 = phi ptr [ @.str.5, %1210 ], [ @.str.2, %1206 ]
  store i32 %1201, ptr %1200, align 4, !tbaa !5
  %1212 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1213 = load i32, ptr @test_count, align 4, !tbaa !5
  %1214 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1215 = load i32, ptr %1214, align 4, !tbaa !5
  %1216 = call ptr @s2n_strerror(i32 noundef %1215, ptr noundef nonnull @.str.4) #11
  %1217 = load i32, ptr %1214, align 4, !tbaa !5
  %1218 = call ptr @s2n_strerror_debug(i32 noundef %1217, ptr noundef nonnull @.str.4) #11
  %1219 = load i32, ptr %1200, align 4, !tbaa !5
  %1220 = call ptr @strerror(i32 noundef %1219) #11
  %1221 = load i32, ptr %1200, align 4, !tbaa !5
  %1222 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1212, ptr noundef nonnull %.str.5.sink1609, i32 noundef %1213, ptr noundef nonnull @.str.38, ptr noundef nonnull @.str.1, i32 noundef 166, ptr noundef %1216, ptr noundef %1218, ptr noundef %1220, i32 noundef %1221) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1223:                                             ; preds = %1194
  %1224 = load i32, ptr @test_count, align 4, !tbaa !5
  %1225 = add nsw i32 %1224, 1
  store i32 %1225, ptr @test_count, align 4, !tbaa !5
  %1226 = call i32 @s2n_connection_free(ptr noundef nonnull %982) #11
  %1227 = icmp eq i32 %1226, -1
  br i1 %1227, label %1228, label %1252

1228:                                             ; preds = %1223
  %1229 = tail call ptr @__errno_location() #12
  %1230 = load i32, ptr %1229, align 4, !tbaa !5
  %1231 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1232 = call i32 @s2n_print_stacktrace(ptr noundef %1231) #11
  %1233 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1234 = trunc nuw i8 %1233 to i1
  br i1 %1234, label %1235, label %1239

1235:                                             ; preds = %1228
  %1236 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1237 = call i32 @fileno(ptr noundef %1236) #11
  %1238 = call i32 @isatty(i32 noundef %1237) #11
  %.not1118 = icmp eq i32 %1238, 0
  br i1 %.not1118, label %1239, label %1240

1239:                                             ; preds = %1235, %1228
  br label %1240

1240:                                             ; preds = %1235, %1239
  %.str.5.sink1620 = phi ptr [ @.str.5, %1239 ], [ @.str.2, %1235 ]
  store i32 %1230, ptr %1229, align 4, !tbaa !5
  %1241 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1242 = load i32, ptr @test_count, align 4, !tbaa !5
  %1243 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1244 = load i32, ptr %1243, align 4, !tbaa !5
  %1245 = call ptr @s2n_strerror(i32 noundef %1244, ptr noundef nonnull @.str.4) #11
  %1246 = load i32, ptr %1243, align 4, !tbaa !5
  %1247 = call ptr @s2n_strerror_debug(i32 noundef %1246, ptr noundef nonnull @.str.4) #11
  %1248 = load i32, ptr %1229, align 4, !tbaa !5
  %1249 = call ptr @strerror(i32 noundef %1248) #11
  %1250 = load i32, ptr %1229, align 4, !tbaa !5
  %1251 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1241, ptr noundef nonnull %.str.5.sink1620, i32 noundef %1242, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.1, i32 noundef 167, ptr noundef %1245, ptr noundef %1247, ptr noundef %1249, i32 noundef %1250) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1252:                                             ; preds = %1223
  %1253 = load i32, ptr @test_count, align 4, !tbaa !5
  %1254 = add nsw i32 %1253, 1
  store i32 %1254, ptr @test_count, align 4, !tbaa !5
  %1255 = call i32 @s2n_connection_free(ptr noundef nonnull %895) #11
  %1256 = icmp eq i32 %1255, -1
  br i1 %1256, label %1257, label %1281

1257:                                             ; preds = %1252
  %1258 = tail call ptr @__errno_location() #12
  %1259 = load i32, ptr %1258, align 4, !tbaa !5
  %1260 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1261 = call i32 @s2n_print_stacktrace(ptr noundef %1260) #11
  %1262 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1263 = trunc nuw i8 %1262 to i1
  br i1 %1263, label %1264, label %1268

1264:                                             ; preds = %1257
  %1265 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1266 = call i32 @fileno(ptr noundef %1265) #11
  %1267 = call i32 @isatty(i32 noundef %1266) #11
  %.not1117 = icmp eq i32 %1267, 0
  br i1 %.not1117, label %1268, label %1269

1268:                                             ; preds = %1264, %1257
  br label %1269

1269:                                             ; preds = %1264, %1268
  %.str.5.sink1631 = phi ptr [ @.str.5, %1268 ], [ @.str.2, %1264 ]
  store i32 %1259, ptr %1258, align 4, !tbaa !5
  %1270 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1271 = load i32, ptr @test_count, align 4, !tbaa !5
  %1272 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1273 = load i32, ptr %1272, align 4, !tbaa !5
  %1274 = call ptr @s2n_strerror(i32 noundef %1273, ptr noundef nonnull @.str.4) #11
  %1275 = load i32, ptr %1272, align 4, !tbaa !5
  %1276 = call ptr @s2n_strerror_debug(i32 noundef %1275, ptr noundef nonnull @.str.4) #11
  %1277 = load i32, ptr %1258, align 4, !tbaa !5
  %1278 = call ptr @strerror(i32 noundef %1277) #11
  %1279 = load i32, ptr %1258, align 4, !tbaa !5
  %1280 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1270, ptr noundef nonnull %.str.5.sink1631, i32 noundef %1271, ptr noundef nonnull @.str.40, ptr noundef nonnull @.str.1, i32 noundef 168, ptr noundef %1274, ptr noundef %1276, ptr noundef %1278, i32 noundef %1279) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1281:                                             ; preds = %1252
  %1282 = load i32, ptr @test_count, align 4, !tbaa !5
  %1283 = add nsw i32 %1282, 1
  store i32 %1283, ptr @test_count, align 4, !tbaa !5
  %1284 = call ptr @s2n_connection_new(i32 noundef 0) #11
  %1285 = icmp eq ptr %1284, null
  br i1 %1285, label %1286, label %1310

1286:                                             ; preds = %1281
  %1287 = tail call ptr @__errno_location() #12
  %1288 = load i32, ptr %1287, align 4, !tbaa !5
  %1289 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1290 = call i32 @s2n_print_stacktrace(ptr noundef %1289) #11
  %1291 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1292 = trunc nuw i8 %1291 to i1
  br i1 %1292, label %1293, label %1297

1293:                                             ; preds = %1286
  %1294 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1295 = call i32 @fileno(ptr noundef %1294) #11
  %1296 = call i32 @isatty(i32 noundef %1295) #11
  %.not1116 = icmp eq i32 %1296, 0
  br i1 %.not1116, label %1297, label %1298

1297:                                             ; preds = %1293, %1286
  br label %1298

1298:                                             ; preds = %1293, %1297
  %.str.5.sink1642 = phi ptr [ @.str.5, %1297 ], [ @.str.2, %1293 ]
  store i32 %1288, ptr %1287, align 4, !tbaa !5
  %1299 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1300 = load i32, ptr @test_count, align 4, !tbaa !5
  %1301 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1302 = load i32, ptr %1301, align 4, !tbaa !5
  %1303 = call ptr @s2n_strerror(i32 noundef %1302, ptr noundef nonnull @.str.4) #11
  %1304 = load i32, ptr %1301, align 4, !tbaa !5
  %1305 = call ptr @s2n_strerror_debug(i32 noundef %1304, ptr noundef nonnull @.str.4) #11
  %1306 = load i32, ptr %1287, align 4, !tbaa !5
  %1307 = call ptr @strerror(i32 noundef %1306) #11
  %1308 = load i32, ptr %1287, align 4, !tbaa !5
  %1309 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1299, ptr noundef nonnull %.str.5.sink1642, i32 noundef %1300, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.1, i32 noundef 176, ptr noundef %1303, ptr noundef %1305, ptr noundef %1307, i32 noundef %1308) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1310:                                             ; preds = %1281
  %1311 = load i32, ptr @test_count, align 4, !tbaa !5
  %1312 = add nsw i32 %1311, 1
  store i32 %1312, ptr @test_count, align 4, !tbaa !5
  %1313 = call ptr @s2n_connection_new(i32 noundef 1) #11
  %1314 = icmp eq ptr %1313, null
  br i1 %1314, label %1315, label %1339

1315:                                             ; preds = %1310
  %1316 = tail call ptr @__errno_location() #12
  %1317 = load i32, ptr %1316, align 4, !tbaa !5
  %1318 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1319 = call i32 @s2n_print_stacktrace(ptr noundef %1318) #11
  %1320 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1321 = trunc nuw i8 %1320 to i1
  br i1 %1321, label %1322, label %1326

1322:                                             ; preds = %1315
  %1323 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1324 = call i32 @fileno(ptr noundef %1323) #11
  %1325 = call i32 @isatty(i32 noundef %1324) #11
  %.not1115 = icmp eq i32 %1325, 0
  br i1 %.not1115, label %1326, label %1327

1326:                                             ; preds = %1322, %1315
  br label %1327

1327:                                             ; preds = %1322, %1326
  %.str.5.sink1653 = phi ptr [ @.str.5, %1326 ], [ @.str.2, %1322 ]
  store i32 %1317, ptr %1316, align 4, !tbaa !5
  %1328 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1329 = load i32, ptr @test_count, align 4, !tbaa !5
  %1330 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1331 = load i32, ptr %1330, align 4, !tbaa !5
  %1332 = call ptr @s2n_strerror(i32 noundef %1331, ptr noundef nonnull @.str.4) #11
  %1333 = load i32, ptr %1330, align 4, !tbaa !5
  %1334 = call ptr @s2n_strerror_debug(i32 noundef %1333, ptr noundef nonnull @.str.4) #11
  %1335 = load i32, ptr %1316, align 4, !tbaa !5
  %1336 = call ptr @strerror(i32 noundef %1335) #11
  %1337 = load i32, ptr %1316, align 4, !tbaa !5
  %1338 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1328, ptr noundef nonnull %.str.5.sink1653, i32 noundef %1329, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.1, i32 noundef 177, ptr noundef %1332, ptr noundef %1334, ptr noundef %1336, i32 noundef %1337) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1339:                                             ; preds = %1310
  %1340 = getelementptr inbounds i8, ptr %1284, i64 220
  store i8 33, ptr %1340, align 4, !tbaa !42
  %1341 = getelementptr inbounds i8, ptr %1284, i64 232
  %1342 = load ptr, ptr %1341, align 8, !tbaa !52
  store ptr @s2n_tls13_chacha20_poly1305_sha256, ptr %1342, align 8, !tbaa !53
  %1343 = load i32, ptr @test_count, align 4, !tbaa !5
  %1344 = add nsw i32 %1343, 1
  store i32 %1344, ptr @test_count, align 4, !tbaa !5
  %1345 = call i32 @s2n_server_hello_send(ptr noundef nonnull %1284) #11
  %1346 = icmp eq i32 %1345, -1
  br i1 %1346, label %1347, label %1371

1347:                                             ; preds = %1339
  %1348 = tail call ptr @__errno_location() #12
  %1349 = load i32, ptr %1348, align 4, !tbaa !5
  %1350 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1351 = call i32 @s2n_print_stacktrace(ptr noundef %1350) #11
  %1352 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1353 = trunc nuw i8 %1352 to i1
  br i1 %1353, label %1354, label %1358

1354:                                             ; preds = %1347
  %1355 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1356 = call i32 @fileno(ptr noundef %1355) #11
  %1357 = call i32 @isatty(i32 noundef %1356) #11
  %.not1114 = icmp eq i32 %1357, 0
  br i1 %.not1114, label %1358, label %1359

1358:                                             ; preds = %1354, %1347
  br label %1359

1359:                                             ; preds = %1354, %1358
  %.str.5.sink1664 = phi ptr [ @.str.5, %1358 ], [ @.str.2, %1354 ]
  store i32 %1349, ptr %1348, align 4, !tbaa !5
  %1360 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1361 = load i32, ptr @test_count, align 4, !tbaa !5
  %1362 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1363 = load i32, ptr %1362, align 4, !tbaa !5
  %1364 = call ptr @s2n_strerror(i32 noundef %1363, ptr noundef nonnull @.str.4) #11
  %1365 = load i32, ptr %1362, align 4, !tbaa !5
  %1366 = call ptr @s2n_strerror_debug(i32 noundef %1365, ptr noundef nonnull @.str.4) #11
  %1367 = load i32, ptr %1348, align 4, !tbaa !5
  %1368 = call ptr @strerror(i32 noundef %1367) #11
  %1369 = load i32, ptr %1348, align 4, !tbaa !5
  %1370 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1360, ptr noundef nonnull %.str.5.sink1664, i32 noundef %1361, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.1, i32 noundef 184, ptr noundef %1364, ptr noundef %1366, ptr noundef %1368, i32 noundef %1369) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1371:                                             ; preds = %1339
  %1372 = getelementptr inbounds i8, ptr %1284, i64 2016
  %1373 = getelementptr inbounds i8, ptr %1284, i64 2044
  %1374 = load i32, ptr %1373, align 4, !tbaa !58
  %1375 = getelementptr inbounds i8, ptr %1284, i64 2040
  %1376 = load i32, ptr %1375, align 8, !tbaa !59
  %1377 = sub i32 %1374, %1376
  %1378 = load i32, ptr @test_count, align 4, !tbaa !5
  %1379 = add nsw i32 %1378, 1
  store i32 %1379, ptr @test_count, align 4, !tbaa !5
  %1380 = getelementptr inbounds i8, ptr %1313, i64 2016
  %1381 = call i32 @s2n_stuffer_copy(ptr noundef nonnull %1372, ptr noundef nonnull %1380, i32 noundef %1377) #11
  %1382 = icmp eq i32 %1381, -1
  br i1 %1382, label %1383, label %1407

1383:                                             ; preds = %1371
  %1384 = tail call ptr @__errno_location() #12
  %1385 = load i32, ptr %1384, align 4, !tbaa !5
  %1386 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1387 = call i32 @s2n_print_stacktrace(ptr noundef %1386) #11
  %1388 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1389 = trunc nuw i8 %1388 to i1
  br i1 %1389, label %1390, label %1394

1390:                                             ; preds = %1383
  %1391 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1392 = call i32 @fileno(ptr noundef %1391) #11
  %1393 = call i32 @isatty(i32 noundef %1392) #11
  %.not1113 = icmp eq i32 %1393, 0
  br i1 %.not1113, label %1394, label %1395

1394:                                             ; preds = %1390, %1383
  br label %1395

1395:                                             ; preds = %1390, %1394
  %.str.5.sink1675 = phi ptr [ @.str.5, %1394 ], [ @.str.2, %1390 ]
  store i32 %1385, ptr %1384, align 4, !tbaa !5
  %1396 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1397 = load i32, ptr @test_count, align 4, !tbaa !5
  %1398 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1399 = load i32, ptr %1398, align 4, !tbaa !5
  %1400 = call ptr @s2n_strerror(i32 noundef %1399, ptr noundef nonnull @.str.4) #11
  %1401 = load i32, ptr %1398, align 4, !tbaa !5
  %1402 = call ptr @s2n_strerror_debug(i32 noundef %1401, ptr noundef nonnull @.str.4) #11
  %1403 = load i32, ptr %1384, align 4, !tbaa !5
  %1404 = call ptr @strerror(i32 noundef %1403) #11
  %1405 = load i32, ptr %1384, align 4, !tbaa !5
  %1406 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1396, ptr noundef nonnull %.str.5.sink1675, i32 noundef %1397, ptr noundef nonnull @.str.34, ptr noundef nonnull @.str.1, i32 noundef 188, ptr noundef %1400, ptr noundef %1402, ptr noundef %1404, i32 noundef %1405) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1407:                                             ; preds = %1371
  %1408 = load i32, ptr @test_count, align 4, !tbaa !5
  %1409 = add nsw i32 %1408, 1
  store i32 %1409, ptr @test_count, align 4, !tbaa !5
  %1410 = call i32 @s2n_server_hello_recv(ptr noundef nonnull %1313) #11
  %1411 = icmp eq i32 %1410, -1
  br i1 %1411, label %1436, label %1412

1412:                                             ; preds = %1407
  %1413 = tail call ptr @__errno_location() #12
  %1414 = load i32, ptr %1413, align 4, !tbaa !5
  %1415 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1416 = call i32 @s2n_print_stacktrace(ptr noundef %1415) #11
  %1417 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1418 = trunc nuw i8 %1417 to i1
  br i1 %1418, label %1419, label %1423

1419:                                             ; preds = %1412
  %1420 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1421 = call i32 @fileno(ptr noundef %1420) #11
  %1422 = call i32 @isatty(i32 noundef %1421) #11
  %.not900 = icmp eq i32 %1422, 0
  br i1 %.not900, label %1423, label %1424

1423:                                             ; preds = %1419, %1412
  br label %1424

1424:                                             ; preds = %1419, %1423
  %.str.5.sink1686 = phi ptr [ @.str.5, %1423 ], [ @.str.2, %1419 ]
  store i32 %1414, ptr %1413, align 4, !tbaa !5
  %1425 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1426 = load i32, ptr @test_count, align 4, !tbaa !5
  %1427 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1428 = load i32, ptr %1427, align 4, !tbaa !5
  %1429 = call ptr @s2n_strerror(i32 noundef %1428, ptr noundef nonnull @.str.4) #11
  %1430 = load i32, ptr %1427, align 4, !tbaa !5
  %1431 = call ptr @s2n_strerror_debug(i32 noundef %1430, ptr noundef nonnull @.str.4) #11
  %1432 = load i32, ptr %1413, align 4, !tbaa !5
  %1433 = call ptr @strerror(i32 noundef %1432) #11
  %1434 = load i32, ptr %1413, align 4, !tbaa !5
  %1435 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1425, ptr noundef nonnull %.str.5.sink1686, i32 noundef %1426, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.1, i32 noundef 191, ptr noundef %1429, ptr noundef %1431, ptr noundef %1433, i32 noundef %1434) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1436:                                             ; preds = %1407
  %1437 = load i32, ptr @test_count, align 4, !tbaa !5
  %1438 = add nsw i32 %1437, 1
  store i32 %1438, ptr @test_count, align 4, !tbaa !5
  %1439 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1440 = load i32, ptr %1439, align 4, !tbaa !5
  %1441 = icmp eq i32 %1440, 335544334
  br i1 %1441, label %1465, label %1442

1442:                                             ; preds = %1436
  %1443 = tail call ptr @__errno_location() #12
  %1444 = load i32, ptr %1443, align 4, !tbaa !5
  %1445 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1446 = call i32 @s2n_print_stacktrace(ptr noundef %1445) #11
  %1447 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1448 = trunc nuw i8 %1447 to i1
  br i1 %1448, label %1449, label %1453

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

1453:                                             ; preds = %1449, %1442
  br label %1454

1454:                                             ; preds = %1449, %1453
  %.str.5.sink1697 = phi ptr [ @.str.5, %1453 ], [ @.str.2, %1449 ]
  store i32 %1444, ptr %1443, align 4, !tbaa !5
  %1455 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1456 = load i32, ptr @test_count, align 4, !tbaa !5
  %1457 = load i32, ptr %1439, align 4, !tbaa !5
  %1458 = call ptr @s2n_strerror(i32 noundef %1457, ptr noundef nonnull @.str.4) #11
  %1459 = load i32, ptr %1439, align 4, !tbaa !5
  %1460 = call ptr @s2n_strerror_debug(i32 noundef %1459, ptr noundef nonnull @.str.4) #11
  %1461 = load i32, ptr %1443, align 4, !tbaa !5
  %1462 = call ptr @strerror(i32 noundef %1461) #11
  %1463 = load i32, ptr %1443, align 4, !tbaa !5
  %1464 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1455, ptr noundef nonnull %.str.5.sink1697, i32 noundef %1456, ptr noundef nonnull @.str.42, ptr noundef nonnull @.str.1, i32 noundef 191, ptr noundef %1458, ptr noundef %1460, ptr noundef %1462, i32 noundef %1463) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1465:                                             ; preds = %1436
  %1466 = add nsw i32 %1437, 2
  store i32 %1466, ptr @test_count, align 4, !tbaa !5
  %1467 = call ptr @s2n_strerror_debug(i32 noundef 335544334, ptr noundef nonnull @.str.4) #11
  %1468 = icmp eq ptr %1467, null
  br i1 %1468, label %1469, label %1492

1469:                                             ; preds = %1465
  %1470 = tail call ptr @__errno_location() #12
  %1471 = load i32, ptr %1470, align 4, !tbaa !5
  %1472 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1473 = call i32 @s2n_print_stacktrace(ptr noundef %1472) #11
  %1474 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1475 = trunc nuw i8 %1474 to i1
  br i1 %1475, label %1476, label %1480

1476:                                             ; preds = %1469
  %1477 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1478 = call i32 @fileno(ptr noundef %1477) #11
  %1479 = call i32 @isatty(i32 noundef %1478) #11
  %.not1112 = icmp eq i32 %1479, 0
  br i1 %.not1112, label %1480, label %1481

1480:                                             ; preds = %1476, %1469
  br label %1481

1481:                                             ; preds = %1476, %1480
  %.str.5.sink1706 = phi ptr [ @.str.5, %1480 ], [ @.str.2, %1476 ]
  store i32 %1471, ptr %1470, align 4, !tbaa !5
  %1482 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1483 = load i32, ptr @test_count, align 4, !tbaa !5
  %1484 = load i32, ptr %1439, align 4, !tbaa !5
  %1485 = call ptr @s2n_strerror(i32 noundef %1484, ptr noundef nonnull @.str.4) #11
  %1486 = load i32, ptr %1439, align 4, !tbaa !5
  %1487 = call ptr @s2n_strerror_debug(i32 noundef %1486, ptr noundef nonnull @.str.4) #11
  %1488 = load i32, ptr %1470, align 4, !tbaa !5
  %1489 = call ptr @strerror(i32 noundef %1488) #11
  %1490 = load i32, ptr %1470, align 4, !tbaa !5
  %1491 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1482, ptr noundef nonnull %.str.5.sink1706, i32 noundef %1483, ptr noundef nonnull @.str.43, ptr noundef nonnull @.str.1, i32 noundef 191, ptr noundef %1485, ptr noundef %1487, ptr noundef %1489, i32 noundef %1490) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1492:                                             ; preds = %1465
  store i32 0, ptr %1439, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #11
  %1493 = tail call ptr @__errno_location() #12
  store i32 0, ptr %1493, align 4, !tbaa !5
  %1494 = load i32, ptr @test_count, align 4, !tbaa !5
  %1495 = add nsw i32 %1494, 1
  store i32 %1495, ptr @test_count, align 4, !tbaa !5
  %1496 = call i32 @s2n_connection_free(ptr noundef nonnull %1313) #11
  %1497 = icmp eq i32 %1496, -1
  br i1 %1497, label %1498, label %1520

1498:                                             ; preds = %1492
  %1499 = load i32, ptr %1493, align 4, !tbaa !5
  %1500 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1501 = call i32 @s2n_print_stacktrace(ptr noundef %1500) #11
  %1502 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1503 = trunc nuw i8 %1502 to i1
  br i1 %1503, label %1504, label %1508

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

1508:                                             ; preds = %1504, %1498
  br label %1509

1509:                                             ; preds = %1504, %1508
  %.str.5.sink1715 = phi ptr [ @.str.5, %1508 ], [ @.str.2, %1504 ]
  store i32 %1499, ptr %1493, align 4, !tbaa !5
  %1510 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1511 = load i32, ptr @test_count, align 4, !tbaa !5
  %1512 = load i32, ptr %1439, align 4, !tbaa !5
  %1513 = call ptr @s2n_strerror(i32 noundef %1512, ptr noundef nonnull @.str.4) #11
  %1514 = load i32, ptr %1439, align 4, !tbaa !5
  %1515 = call ptr @s2n_strerror_debug(i32 noundef %1514, ptr noundef nonnull @.str.4) #11
  %1516 = load i32, ptr %1493, align 4, !tbaa !5
  %1517 = call ptr @strerror(i32 noundef %1516) #11
  %1518 = load i32, ptr %1493, align 4, !tbaa !5
  %1519 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1510, ptr noundef nonnull %.str.5.sink1715, i32 noundef %1511, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.1, i32 noundef 193, ptr noundef %1513, ptr noundef %1515, ptr noundef %1517, i32 noundef %1518) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1520:                                             ; preds = %1492
  %1521 = load i32, ptr @test_count, align 4, !tbaa !5
  %1522 = add nsw i32 %1521, 1
  store i32 %1522, ptr @test_count, align 4, !tbaa !5
  %1523 = call i32 @s2n_connection_free(ptr noundef nonnull %1284) #11
  %1524 = icmp eq i32 %1523, -1
  br i1 %1524, label %1525, label %1547

1525:                                             ; preds = %1520
  %1526 = load i32, ptr %1493, align 4, !tbaa !5
  %1527 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1528 = call i32 @s2n_print_stacktrace(ptr noundef %1527) #11
  %1529 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1530 = trunc nuw i8 %1529 to i1
  br i1 %1530, label %1531, label %1535

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

1535:                                             ; preds = %1531, %1525
  br label %1536

1536:                                             ; preds = %1531, %1535
  %.str.5.sink1724 = phi ptr [ @.str.5, %1535 ], [ @.str.2, %1531 ]
  store i32 %1526, ptr %1493, align 4, !tbaa !5
  %1537 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1538 = load i32, ptr @test_count, align 4, !tbaa !5
  %1539 = load i32, ptr %1439, align 4, !tbaa !5
  %1540 = call ptr @s2n_strerror(i32 noundef %1539, ptr noundef nonnull @.str.4) #11
  %1541 = load i32, ptr %1439, align 4, !tbaa !5
  %1542 = call ptr @s2n_strerror_debug(i32 noundef %1541, ptr noundef nonnull @.str.4) #11
  %1543 = load i32, ptr %1493, align 4, !tbaa !5
  %1544 = call ptr @strerror(i32 noundef %1543) #11
  %1545 = load i32, ptr %1493, align 4, !tbaa !5
  %1546 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1537, ptr noundef nonnull %.str.5.sink1724, i32 noundef %1538, ptr noundef nonnull @.str.40, ptr noundef nonnull @.str.1, i32 noundef 194, ptr noundef %1540, ptr noundef %1542, ptr noundef %1544, i32 noundef %1545) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1547:                                             ; preds = %1520
  %1548 = load i32, ptr @test_count, align 4, !tbaa !5
  %1549 = add nsw i32 %1548, 1
  store i32 %1549, ptr @test_count, align 4, !tbaa !5
  %1550 = call ptr @s2n_connection_new(i32 noundef 0) #11
  %1551 = icmp eq ptr %1550, null
  br i1 %1551, label %1552, label %1574

1552:                                             ; preds = %1547
  %1553 = load i32, ptr %1493, align 4, !tbaa !5
  %1554 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1555 = call i32 @s2n_print_stacktrace(ptr noundef %1554) #11
  %1556 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1557 = trunc nuw i8 %1556 to i1
  br i1 %1557, label %1558, label %1562

1558:                                             ; preds = %1552
  %1559 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1560 = call i32 @fileno(ptr noundef %1559) #11
  %1561 = call i32 @isatty(i32 noundef %1560) #11
  %.not1109 = icmp eq i32 %1561, 0
  br i1 %.not1109, label %1562, label %1563

1562:                                             ; preds = %1558, %1552
  br label %1563

1563:                                             ; preds = %1558, %1562
  %.str.5.sink1733 = phi ptr [ @.str.5, %1562 ], [ @.str.2, %1558 ]
  store i32 %1553, ptr %1493, align 4, !tbaa !5
  %1564 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1565 = load i32, ptr @test_count, align 4, !tbaa !5
  %1566 = load i32, ptr %1439, align 4, !tbaa !5
  %1567 = call ptr @s2n_strerror(i32 noundef %1566, ptr noundef nonnull @.str.4) #11
  %1568 = load i32, ptr %1439, align 4, !tbaa !5
  %1569 = call ptr @s2n_strerror_debug(i32 noundef %1568, ptr noundef nonnull @.str.4) #11
  %1570 = load i32, ptr %1493, align 4, !tbaa !5
  %1571 = call ptr @strerror(i32 noundef %1570) #11
  %1572 = load i32, ptr %1493, align 4, !tbaa !5
  %1573 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1564, ptr noundef nonnull %.str.5.sink1733, i32 noundef %1565, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.1, i32 noundef 202, ptr noundef %1567, ptr noundef %1569, ptr noundef %1571, i32 noundef %1572) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1574:                                             ; preds = %1547
  %1575 = load i32, ptr @test_count, align 4, !tbaa !5
  %1576 = add nsw i32 %1575, 1
  store i32 %1576, ptr @test_count, align 4, !tbaa !5
  %1577 = call ptr @s2n_connection_new(i32 noundef 1) #11
  %1578 = icmp eq ptr %1577, null
  br i1 %1578, label %1579, label %1601

1579:                                             ; preds = %1574
  %1580 = load i32, ptr %1493, align 4, !tbaa !5
  %1581 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1582 = call i32 @s2n_print_stacktrace(ptr noundef %1581) #11
  %1583 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1584 = trunc nuw i8 %1583 to i1
  br i1 %1584, label %1585, label %1589

1585:                                             ; preds = %1579
  %1586 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1587 = call i32 @fileno(ptr noundef %1586) #11
  %1588 = call i32 @isatty(i32 noundef %1587) #11
  %.not1108 = icmp eq i32 %1588, 0
  br i1 %.not1108, label %1589, label %1590

1589:                                             ; preds = %1585, %1579
  br label %1590

1590:                                             ; preds = %1585, %1589
  %.str.5.sink1742 = phi ptr [ @.str.5, %1589 ], [ @.str.2, %1585 ]
  store i32 %1580, ptr %1493, align 4, !tbaa !5
  %1591 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1592 = load i32, ptr @test_count, align 4, !tbaa !5
  %1593 = load i32, ptr %1439, align 4, !tbaa !5
  %1594 = call ptr @s2n_strerror(i32 noundef %1593, ptr noundef nonnull @.str.4) #11
  %1595 = load i32, ptr %1439, align 4, !tbaa !5
  %1596 = call ptr @s2n_strerror_debug(i32 noundef %1595, ptr noundef nonnull @.str.4) #11
  %1597 = load i32, ptr %1493, align 4, !tbaa !5
  %1598 = call ptr @strerror(i32 noundef %1597) #11
  %1599 = load i32, ptr %1493, align 4, !tbaa !5
  %1600 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1591, ptr noundef nonnull %.str.5.sink1742, i32 noundef %1592, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.1, i32 noundef 203, ptr noundef %1594, ptr noundef %1596, ptr noundef %1598, i32 noundef %1599) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1601:                                             ; preds = %1574
  %1602 = getelementptr inbounds i8, ptr %1550, i64 220
  store i8 33, ptr %1602, align 4, !tbaa !42
  %1603 = getelementptr inbounds i8, ptr %1550, i64 232
  %1604 = load ptr, ptr %1603, align 8, !tbaa !52
  store ptr @s2n_ecdhe_rsa_with_aes_256_gcm_sha384, ptr %1604, align 8, !tbaa !53
  %1605 = getelementptr inbounds i8, ptr %1550, i64 184
  store <16 x i8> <i8 0, i8 1, i8 2, i8 3, i8 4, i8 5, i8 6, i8 7, i8 8, i8 9, i8 10, i8 11, i8 12, i8 13, i8 14, i8 15>, ptr %1605, align 1, !tbaa !44
  %1606 = getelementptr inbounds i8, ptr %1550, i64 200
  store <16 x i8> <i8 16, i8 17, i8 18, i8 19, i8 20, i8 21, i8 22, i8 23, i8 24, i8 25, i8 26, i8 27, i8 28, i8 29, i8 30, i8 31>, ptr %1606, align 1, !tbaa !44
  %1607 = load i32, ptr @test_count, align 4, !tbaa !5
  %1608 = add nsw i32 %1607, 1
  store i32 %1608, ptr @test_count, align 4, !tbaa !5
  %1609 = call i32 @s2n_server_hello_send(ptr noundef nonnull %1550) #11
  %1610 = icmp eq i32 %1609, -1
  br i1 %1610, label %1611, label %1633

1611:                                             ; preds = %1601
  %1612 = load i32, ptr %1493, align 4, !tbaa !5
  %1613 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1614 = call i32 @s2n_print_stacktrace(ptr noundef %1613) #11
  %1615 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1616 = trunc nuw i8 %1615 to i1
  br i1 %1616, label %1617, label %1621

1617:                                             ; preds = %1611
  %1618 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1619 = call i32 @fileno(ptr noundef %1618) #11
  %1620 = call i32 @isatty(i32 noundef %1619) #11
  %.not1107 = icmp eq i32 %1620, 0
  br i1 %.not1107, label %1621, label %1622

1621:                                             ; preds = %1617, %1611
  br label %1622

1622:                                             ; preds = %1617, %1621
  %.str.5.sink1751 = phi ptr [ @.str.5, %1621 ], [ @.str.2, %1617 ]
  store i32 %1612, ptr %1493, align 4, !tbaa !5
  %1623 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1624 = load i32, ptr @test_count, align 4, !tbaa !5
  %1625 = load i32, ptr %1439, align 4, !tbaa !5
  %1626 = call ptr @s2n_strerror(i32 noundef %1625, ptr noundef nonnull @.str.4) #11
  %1627 = load i32, ptr %1439, align 4, !tbaa !5
  %1628 = call ptr @s2n_strerror_debug(i32 noundef %1627, ptr noundef nonnull @.str.4) #11
  %1629 = load i32, ptr %1493, align 4, !tbaa !5
  %1630 = call ptr @strerror(i32 noundef %1629) #11
  %1631 = load i32, ptr %1493, align 4, !tbaa !5
  %1632 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1623, ptr noundef nonnull %.str.5.sink1751, i32 noundef %1624, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.1, i32 noundef 213, ptr noundef %1626, ptr noundef %1628, ptr noundef %1630, i32 noundef %1631) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1633:                                             ; preds = %1601
  %1634 = getelementptr inbounds i8, ptr %1550, i64 2016
  %1635 = getelementptr inbounds i8, ptr %1550, i64 2044
  %1636 = load i32, ptr %1635, align 4, !tbaa !58
  %1637 = getelementptr inbounds i8, ptr %1550, i64 2040
  %1638 = load i32, ptr %1637, align 8, !tbaa !59
  %1639 = sub i32 %1636, %1638
  %1640 = load i32, ptr @test_count, align 4, !tbaa !5
  %1641 = add nsw i32 %1640, 1
  store i32 %1641, ptr @test_count, align 4, !tbaa !5
  %1642 = getelementptr inbounds i8, ptr %1577, i64 2016
  %1643 = call i32 @s2n_stuffer_copy(ptr noundef nonnull %1634, ptr noundef nonnull %1642, i32 noundef %1639) #11
  %1644 = icmp eq i32 %1643, -1
  br i1 %1644, label %1652, label %.preheader1159

.preheader1159:                                   ; preds = %1633
  %1645 = getelementptr inbounds i8, ptr %1577, i64 184
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 1 dereferenceable(32) %1645, i8 0, i64 32, i1 false), !tbaa !44
  %1646 = load i32, ptr %1577, align 8
  %1647 = or i32 %1646, 8192
  store i32 %1647, ptr %1577, align 8
  %1648 = load i32, ptr @test_count, align 4, !tbaa !5
  %1649 = add nsw i32 %1648, 1
  store i32 %1649, ptr @test_count, align 4, !tbaa !5
  %1650 = call i32 @s2n_server_hello_recv(ptr noundef nonnull %1577) #11
  %1651 = icmp eq i32 %1650, -1
  br i1 %1651, label %1674, label %1696

1652:                                             ; preds = %1633
  %1653 = load i32, ptr %1493, align 4, !tbaa !5
  %1654 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1655 = call i32 @s2n_print_stacktrace(ptr noundef %1654) #11
  %1656 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1657 = trunc nuw i8 %1656 to i1
  br i1 %1657, label %1658, label %1662

1658:                                             ; preds = %1652
  %1659 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1660 = call i32 @fileno(ptr noundef %1659) #11
  %1661 = call i32 @isatty(i32 noundef %1660) #11
  %.not1106 = icmp eq i32 %1661, 0
  br i1 %.not1106, label %1662, label %1663

1662:                                             ; preds = %1658, %1652
  br label %1663

1663:                                             ; preds = %1658, %1662
  %.str.5.sink1760 = phi ptr [ @.str.5, %1662 ], [ @.str.2, %1658 ]
  store i32 %1653, ptr %1493, align 4, !tbaa !5
  %1664 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1665 = load i32, ptr @test_count, align 4, !tbaa !5
  %1666 = load i32, ptr %1439, align 4, !tbaa !5
  %1667 = call ptr @s2n_strerror(i32 noundef %1666, ptr noundef nonnull @.str.4) #11
  %1668 = load i32, ptr %1439, align 4, !tbaa !5
  %1669 = call ptr @s2n_strerror_debug(i32 noundef %1668, ptr noundef nonnull @.str.4) #11
  %1670 = load i32, ptr %1493, align 4, !tbaa !5
  %1671 = call ptr @strerror(i32 noundef %1670) #11
  %1672 = load i32, ptr %1493, align 4, !tbaa !5
  %1673 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1664, ptr noundef nonnull %.str.5.sink1760, i32 noundef %1665, ptr noundef nonnull @.str.34, ptr noundef nonnull @.str.1, i32 noundef 217, ptr noundef %1667, ptr noundef %1669, ptr noundef %1671, i32 noundef %1672) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1674:                                             ; preds = %.preheader1159
  %1675 = load i32, ptr %1493, align 4, !tbaa !5
  %1676 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1677 = call i32 @s2n_print_stacktrace(ptr noundef %1676) #11
  %1678 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1679 = trunc nuw i8 %1678 to i1
  br i1 %1679, label %1680, label %1684

1680:                                             ; preds = %1674
  %1681 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1682 = call i32 @fileno(ptr noundef %1681) #11
  %1683 = call i32 @isatty(i32 noundef %1682) #11
  %.not1105 = icmp eq i32 %1683, 0
  br i1 %.not1105, label %1684, label %1685

1684:                                             ; preds = %1680, %1674
  br label %1685

1685:                                             ; preds = %1680, %1684
  %.str.5.sink1769 = phi ptr [ @.str.5, %1684 ], [ @.str.2, %1680 ]
  store i32 %1675, ptr %1493, align 4, !tbaa !5
  %1686 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1687 = load i32, ptr @test_count, align 4, !tbaa !5
  %1688 = load i32, ptr %1439, align 4, !tbaa !5
  %1689 = call ptr @s2n_strerror(i32 noundef %1688, ptr noundef nonnull @.str.4) #11
  %1690 = load i32, ptr %1439, align 4, !tbaa !5
  %1691 = call ptr @s2n_strerror_debug(i32 noundef %1690, ptr noundef nonnull @.str.4) #11
  %1692 = load i32, ptr %1493, align 4, !tbaa !5
  %1693 = call ptr @strerror(i32 noundef %1692) #11
  %1694 = load i32, ptr %1493, align 4, !tbaa !5
  %1695 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1686, ptr noundef nonnull %.str.5.sink1769, i32 noundef %1687, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.1, i32 noundef 227, ptr noundef %1689, ptr noundef %1691, ptr noundef %1693, i32 noundef %1694) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1696:                                             ; preds = %.preheader1159
  %1697 = load i32, ptr @test_count, align 4, !tbaa !5
  %1698 = add nsw i32 %1697, 1
  store i32 %1698, ptr @test_count, align 4, !tbaa !5
  %1699 = load i32, ptr %1577, align 8
  %1700 = and i32 %1699, 8192
  %.not902 = icmp eq i32 %1700, 0
  br i1 %.not902, label %1723, label %1701

1701:                                             ; preds = %1696
  %1702 = load i32, ptr %1493, align 4, !tbaa !5
  %1703 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1704 = call i32 @s2n_print_stacktrace(ptr noundef %1703) #11
  %1705 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1706 = trunc nuw i8 %1705 to i1
  br i1 %1706, label %1707, label %1711

1707:                                             ; preds = %1701
  %1708 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1709 = call i32 @fileno(ptr noundef %1708) #11
  %1710 = call i32 @isatty(i32 noundef %1709) #11
  %.not1104 = icmp eq i32 %1710, 0
  br i1 %.not1104, label %1711, label %1712

1711:                                             ; preds = %1707, %1701
  br label %1712

1712:                                             ; preds = %1707, %1711
  %.str.5.sink1778 = phi ptr [ @.str.5, %1711 ], [ @.str.2, %1707 ]
  store i32 %1702, ptr %1493, align 4, !tbaa !5
  %1713 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1714 = load i32, ptr @test_count, align 4, !tbaa !5
  %1715 = load i32, ptr %1439, align 4, !tbaa !5
  %1716 = call ptr @s2n_strerror(i32 noundef %1715, ptr noundef nonnull @.str.4) #11
  %1717 = load i32, ptr %1439, align 4, !tbaa !5
  %1718 = call ptr @s2n_strerror_debug(i32 noundef %1717, ptr noundef nonnull @.str.4) #11
  %1719 = load i32, ptr %1493, align 4, !tbaa !5
  %1720 = call ptr @strerror(i32 noundef %1719) #11
  %1721 = load i32, ptr %1493, align 4, !tbaa !5
  %1722 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1713, ptr noundef nonnull %.str.5.sink1778, i32 noundef %1714, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.1, i32 noundef 228, ptr noundef %1716, ptr noundef %1718, ptr noundef %1720, i32 noundef %1721) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1723:                                             ; preds = %1696
  %1724 = add nsw i32 %1697, 2
  store i32 %1724, ptr @test_count, align 4, !tbaa !5
  %1725 = call i32 @s2n_connection_free(ptr noundef nonnull %1577) #11
  %1726 = icmp eq i32 %1725, -1
  br i1 %1726, label %1727, label %1749

1727:                                             ; preds = %1723
  %1728 = load i32, ptr %1493, align 4, !tbaa !5
  %1729 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1730 = call i32 @s2n_print_stacktrace(ptr noundef %1729) #11
  %1731 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1732 = trunc nuw i8 %1731 to i1
  br i1 %1732, label %1733, label %1737

1733:                                             ; preds = %1727
  %1734 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1735 = call i32 @fileno(ptr noundef %1734) #11
  %1736 = call i32 @isatty(i32 noundef %1735) #11
  %.not1103 = icmp eq i32 %1736, 0
  br i1 %.not1103, label %1737, label %1738

1737:                                             ; preds = %1733, %1727
  br label %1738

1738:                                             ; preds = %1733, %1737
  %.str.5.sink1787 = phi ptr [ @.str.5, %1737 ], [ @.str.2, %1733 ]
  store i32 %1728, ptr %1493, align 4, !tbaa !5
  %1739 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1740 = load i32, ptr @test_count, align 4, !tbaa !5
  %1741 = load i32, ptr %1439, align 4, !tbaa !5
  %1742 = call ptr @s2n_strerror(i32 noundef %1741, ptr noundef nonnull @.str.4) #11
  %1743 = load i32, ptr %1439, align 4, !tbaa !5
  %1744 = call ptr @s2n_strerror_debug(i32 noundef %1743, ptr noundef nonnull @.str.4) #11
  %1745 = load i32, ptr %1493, align 4, !tbaa !5
  %1746 = call ptr @strerror(i32 noundef %1745) #11
  %1747 = load i32, ptr %1493, align 4, !tbaa !5
  %1748 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1739, ptr noundef nonnull %.str.5.sink1787, i32 noundef %1740, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.1, i32 noundef 230, ptr noundef %1742, ptr noundef %1744, ptr noundef %1746, i32 noundef %1747) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1749:                                             ; preds = %1723
  %1750 = load i32, ptr @test_count, align 4, !tbaa !5
  %1751 = add nsw i32 %1750, 1
  store i32 %1751, ptr @test_count, align 4, !tbaa !5
  %1752 = call i32 @s2n_connection_free(ptr noundef nonnull %1550) #11
  %1753 = icmp eq i32 %1752, -1
  br i1 %1753, label %1754, label %1776

1754:                                             ; preds = %1749
  %1755 = load i32, ptr %1493, align 4, !tbaa !5
  %1756 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1757 = call i32 @s2n_print_stacktrace(ptr noundef %1756) #11
  %1758 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1759 = trunc nuw i8 %1758 to i1
  br i1 %1759, label %1760, label %1764

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

1764:                                             ; preds = %1760, %1754
  br label %1765

1765:                                             ; preds = %1760, %1764
  %.str.5.sink1796 = phi ptr [ @.str.5, %1764 ], [ @.str.2, %1760 ]
  store i32 %1755, ptr %1493, align 4, !tbaa !5
  %1766 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1767 = load i32, ptr @test_count, align 4, !tbaa !5
  %1768 = load i32, ptr %1439, align 4, !tbaa !5
  %1769 = call ptr @s2n_strerror(i32 noundef %1768, ptr noundef nonnull @.str.4) #11
  %1770 = load i32, ptr %1439, align 4, !tbaa !5
  %1771 = call ptr @s2n_strerror_debug(i32 noundef %1770, ptr noundef nonnull @.str.4) #11
  %1772 = load i32, ptr %1493, align 4, !tbaa !5
  %1773 = call ptr @strerror(i32 noundef %1772) #11
  %1774 = load i32, ptr %1493, align 4, !tbaa !5
  %1775 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1766, ptr noundef nonnull %.str.5.sink1796, i32 noundef %1767, ptr noundef nonnull @.str.40, ptr noundef nonnull @.str.1, i32 noundef 231, ptr noundef %1769, ptr noundef %1771, ptr noundef %1773, i32 noundef %1774) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1776:                                             ; preds = %1749
  %1777 = load i32, ptr @test_count, align 4, !tbaa !5
  %1778 = add nsw i32 %1777, 1
  store i32 %1778, ptr @test_count, align 4, !tbaa !5
  %1779 = call i32 (...) @s2n_enable_tls13_in_test() #11
  %1780 = icmp eq i32 %1779, -1
  br i1 %1780, label %1781, label %1803

1781:                                             ; preds = %1776
  %1782 = load i32, ptr %1493, align 4, !tbaa !5
  %1783 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1784 = call i32 @s2n_print_stacktrace(ptr noundef %1783) #11
  %1785 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1786 = trunc nuw i8 %1785 to i1
  br i1 %1786, label %1787, label %1791

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

1791:                                             ; preds = %1787, %1781
  br label %1792

1792:                                             ; preds = %1787, %1791
  %.str.5.sink1805 = phi ptr [ @.str.5, %1791 ], [ @.str.2, %1787 ]
  store i32 %1782, ptr %1493, align 4, !tbaa !5
  %1793 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1794 = load i32, ptr @test_count, align 4, !tbaa !5
  %1795 = load i32, ptr %1439, align 4, !tbaa !5
  %1796 = call ptr @s2n_strerror(i32 noundef %1795, ptr noundef nonnull @.str.4) #11
  %1797 = load i32, ptr %1439, align 4, !tbaa !5
  %1798 = call ptr @s2n_strerror_debug(i32 noundef %1797, ptr noundef nonnull @.str.4) #11
  %1799 = load i32, ptr %1493, align 4, !tbaa !5
  %1800 = call ptr @strerror(i32 noundef %1799) #11
  %1801 = load i32, ptr %1493, align 4, !tbaa !5
  %1802 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1793, ptr noundef nonnull %.str.5.sink1805, i32 noundef %1794, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 236, ptr noundef %1796, ptr noundef %1798, ptr noundef %1800, i32 noundef %1801) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1803:                                             ; preds = %1776
  %1804 = load i32, ptr @test_count, align 4, !tbaa !5
  %1805 = add nsw i32 %1804, 1
  store i32 %1805, ptr @test_count, align 4, !tbaa !5
  %1806 = call ptr @s2n_config_new() #11
  %1807 = icmp eq ptr %1806, null
  br i1 %1807, label %1808, label %1830

1808:                                             ; preds = %1803
  %1809 = load i32, ptr %1493, align 4, !tbaa !5
  %1810 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1811 = call i32 @s2n_print_stacktrace(ptr noundef %1810) #11
  %1812 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1813 = trunc nuw i8 %1812 to i1
  br i1 %1813, label %1814, label %1818

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

1818:                                             ; preds = %1814, %1808
  br label %1819

1819:                                             ; preds = %1814, %1818
  %.str.5.sink1814 = phi ptr [ @.str.5, %1818 ], [ @.str.2, %1814 ]
  store i32 %1809, ptr %1493, align 4, !tbaa !5
  %1820 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1821 = load i32, ptr @test_count, align 4, !tbaa !5
  %1822 = load i32, ptr %1439, align 4, !tbaa !5
  %1823 = call ptr @s2n_strerror(i32 noundef %1822, ptr noundef nonnull @.str.4) #11
  %1824 = load i32, ptr %1439, align 4, !tbaa !5
  %1825 = call ptr @s2n_strerror_debug(i32 noundef %1824, ptr noundef nonnull @.str.4) #11
  %1826 = load i32, ptr %1493, align 4, !tbaa !5
  %1827 = call ptr @strerror(i32 noundef %1826) #11
  %1828 = load i32, ptr %1493, align 4, !tbaa !5
  %1829 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1820, ptr noundef nonnull %.str.5.sink1814, i32 noundef %1821, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.1, i32 noundef 239, ptr noundef %1823, ptr noundef %1825, ptr noundef %1827, i32 noundef %1828) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1830:                                             ; preds = %1803
  %1831 = load i32, ptr @test_count, align 4, !tbaa !5
  %1832 = add nsw i32 %1831, 1
  store i32 %1832, ptr @test_count, align 4, !tbaa !5
  %1833 = call ptr @s2n_connection_new(i32 noundef 1) #11
  %1834 = icmp eq ptr %1833, null
  br i1 %1834, label %1835, label %1857

1835:                                             ; preds = %1830
  %1836 = load i32, ptr %1493, align 4, !tbaa !5
  %1837 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1838 = call i32 @s2n_print_stacktrace(ptr noundef %1837) #11
  %1839 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1840 = trunc nuw i8 %1839 to i1
  br i1 %1840, label %1841, label %1845

1841:                                             ; preds = %1835
  %1842 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1843 = call i32 @fileno(ptr noundef %1842) #11
  %1844 = call i32 @isatty(i32 noundef %1843) #11
  %.not1099 = icmp eq i32 %1844, 0
  br i1 %.not1099, label %1845, label %1846

1845:                                             ; preds = %1841, %1835
  br label %1846

1846:                                             ; preds = %1841, %1845
  %.str.5.sink1823 = phi ptr [ @.str.5, %1845 ], [ @.str.2, %1841 ]
  store i32 %1836, ptr %1493, align 4, !tbaa !5
  %1847 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1848 = load i32, ptr @test_count, align 4, !tbaa !5
  %1849 = load i32, ptr %1439, align 4, !tbaa !5
  %1850 = call ptr @s2n_strerror(i32 noundef %1849, ptr noundef nonnull @.str.4) #11
  %1851 = load i32, ptr %1439, align 4, !tbaa !5
  %1852 = call ptr @s2n_strerror_debug(i32 noundef %1851, ptr noundef nonnull @.str.4) #11
  %1853 = load i32, ptr %1493, align 4, !tbaa !5
  %1854 = call ptr @strerror(i32 noundef %1853) #11
  %1855 = load i32, ptr %1493, align 4, !tbaa !5
  %1856 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1847, ptr noundef nonnull %.str.5.sink1823, i32 noundef %1848, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.1, i32 noundef 240, ptr noundef %1850, ptr noundef %1852, ptr noundef %1854, i32 noundef %1855) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1857:                                             ; preds = %1830
  %1858 = load i32, ptr @test_count, align 4, !tbaa !5
  %1859 = add nsw i32 %1858, 1
  store i32 %1859, ptr @test_count, align 4, !tbaa !5
  %1860 = call i32 @s2n_connection_set_config(ptr noundef nonnull %1833, ptr noundef nonnull %1806) #11
  %1861 = icmp eq i32 %1860, -1
  br i1 %1861, label %1862, label %1884

1862:                                             ; preds = %1857
  %1863 = load i32, ptr %1493, align 4, !tbaa !5
  %1864 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1865 = call i32 @s2n_print_stacktrace(ptr noundef %1864) #11
  %1866 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1867 = trunc nuw i8 %1866 to i1
  br i1 %1867, label %1868, label %1872

1868:                                             ; preds = %1862
  %1869 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1870 = call i32 @fileno(ptr noundef %1869) #11
  %1871 = call i32 @isatty(i32 noundef %1870) #11
  %.not1098 = icmp eq i32 %1871, 0
  br i1 %.not1098, label %1872, label %1873

1872:                                             ; preds = %1868, %1862
  br label %1873

1873:                                             ; preds = %1868, %1872
  %.str.5.sink1832 = phi ptr [ @.str.5, %1872 ], [ @.str.2, %1868 ]
  store i32 %1863, ptr %1493, align 4, !tbaa !5
  %1874 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1875 = load i32, ptr @test_count, align 4, !tbaa !5
  %1876 = load i32, ptr %1439, align 4, !tbaa !5
  %1877 = call ptr @s2n_strerror(i32 noundef %1876, ptr noundef nonnull @.str.4) #11
  %1878 = load i32, ptr %1439, align 4, !tbaa !5
  %1879 = call ptr @s2n_strerror_debug(i32 noundef %1878, ptr noundef nonnull @.str.4) #11
  %1880 = load i32, ptr %1493, align 4, !tbaa !5
  %1881 = call ptr @strerror(i32 noundef %1880) #11
  %1882 = load i32, ptr %1493, align 4, !tbaa !5
  %1883 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1874, ptr noundef nonnull %.str.5.sink1832, i32 noundef %1875, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.1, i32 noundef 241, ptr noundef %1877, ptr noundef %1879, ptr noundef %1881, i32 noundef %1882) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1884:                                             ; preds = %1857
  %1885 = getelementptr inbounds i8, ptr %1833, i64 2016
  %1886 = load i32, ptr @test_count, align 4, !tbaa !5
  %1887 = add nsw i32 %1886, 1
  store i32 %1887, ptr @test_count, align 4, !tbaa !5
  %1888 = call i32 @s2n_stuffer_write_uint8(ptr noundef nonnull %1885, i8 noundef zeroext 3) #11
  %1889 = icmp eq i32 %1888, -1
  br i1 %1889, label %1890, label %1912

1890:                                             ; preds = %1884
  %1891 = load i32, ptr %1493, align 4, !tbaa !5
  %1892 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1893 = call i32 @s2n_print_stacktrace(ptr noundef %1892) #11
  %1894 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1895 = trunc nuw i8 %1894 to i1
  br i1 %1895, label %1896, label %1900

1896:                                             ; preds = %1890
  %1897 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1898 = call i32 @fileno(ptr noundef %1897) #11
  %1899 = call i32 @isatty(i32 noundef %1898) #11
  %.not1097 = icmp eq i32 %1899, 0
  br i1 %.not1097, label %1900, label %1901

1900:                                             ; preds = %1896, %1890
  br label %1901

1901:                                             ; preds = %1896, %1900
  %.str.5.sink1841 = phi ptr [ @.str.5, %1900 ], [ @.str.2, %1896 ]
  store i32 %1891, ptr %1493, align 4, !tbaa !5
  %1902 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1903 = load i32, ptr @test_count, align 4, !tbaa !5
  %1904 = load i32, ptr %1439, align 4, !tbaa !5
  %1905 = call ptr @s2n_strerror(i32 noundef %1904, ptr noundef nonnull @.str.4) #11
  %1906 = load i32, ptr %1439, align 4, !tbaa !5
  %1907 = call ptr @s2n_strerror_debug(i32 noundef %1906, ptr noundef nonnull @.str.4) #11
  %1908 = load i32, ptr %1493, align 4, !tbaa !5
  %1909 = call ptr @strerror(i32 noundef %1908) #11
  %1910 = load i32, ptr %1493, align 4, !tbaa !5
  %1911 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1902, ptr noundef nonnull %.str.5.sink1841, i32 noundef %1903, ptr noundef nonnull @.str.45, ptr noundef nonnull @.str.1, i32 noundef 245, ptr noundef %1905, ptr noundef %1907, ptr noundef %1909, i32 noundef %1910) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1912:                                             ; preds = %1884
  %1913 = load i32, ptr @test_count, align 4, !tbaa !5
  %1914 = add nsw i32 %1913, 1
  store i32 %1914, ptr @test_count, align 4, !tbaa !5
  %1915 = call i32 @s2n_stuffer_write_uint8(ptr noundef nonnull %1885, i8 noundef zeroext 3) #11
  %1916 = icmp eq i32 %1915, -1
  br i1 %1916, label %1917, label %1939

1917:                                             ; preds = %1912
  %1918 = load i32, ptr %1493, align 4, !tbaa !5
  %1919 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1920 = call i32 @s2n_print_stacktrace(ptr noundef %1919) #11
  %1921 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1922 = trunc nuw i8 %1921 to i1
  br i1 %1922, label %1923, label %1927

1923:                                             ; preds = %1917
  %1924 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1925 = call i32 @fileno(ptr noundef %1924) #11
  %1926 = call i32 @isatty(i32 noundef %1925) #11
  %.not1096 = icmp eq i32 %1926, 0
  br i1 %.not1096, label %1927, label %1928

1927:                                             ; preds = %1923, %1917
  br label %1928

1928:                                             ; preds = %1923, %1927
  %.str.5.sink1850 = phi ptr [ @.str.5, %1927 ], [ @.str.2, %1923 ]
  store i32 %1918, ptr %1493, align 4, !tbaa !5
  %1929 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1930 = load i32, ptr @test_count, align 4, !tbaa !5
  %1931 = load i32, ptr %1439, align 4, !tbaa !5
  %1932 = call ptr @s2n_strerror(i32 noundef %1931, ptr noundef nonnull @.str.4) #11
  %1933 = load i32, ptr %1439, align 4, !tbaa !5
  %1934 = call ptr @s2n_strerror_debug(i32 noundef %1933, ptr noundef nonnull @.str.4) #11
  %1935 = load i32, ptr %1493, align 4, !tbaa !5
  %1936 = call ptr @strerror(i32 noundef %1935) #11
  %1937 = load i32, ptr %1493, align 4, !tbaa !5
  %1938 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1929, ptr noundef nonnull %.str.5.sink1850, i32 noundef %1930, ptr noundef nonnull @.str.46, ptr noundef nonnull @.str.1, i32 noundef 246, ptr noundef %1932, ptr noundef %1934, ptr noundef %1936, i32 noundef %1937) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1939:                                             ; preds = %1912
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %5) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(32) %5, i8 0, i64 32, i1 false)
  %1940 = load i32, ptr @test_count, align 4, !tbaa !5
  %1941 = add nsw i32 %1940, 1
  store i32 %1941, ptr @test_count, align 4, !tbaa !5
  %1942 = call i32 @s2n_stuffer_write_bytes(ptr noundef nonnull %1885, ptr noundef nonnull %5, i32 noundef 32) #11
  %1943 = icmp eq i32 %1942, -1
  br i1 %1943, label %1944, label %1966

1944:                                             ; preds = %1939
  %1945 = load i32, ptr %1493, align 4, !tbaa !5
  %1946 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1947 = call i32 @s2n_print_stacktrace(ptr noundef %1946) #11
  %1948 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1949 = trunc nuw i8 %1948 to i1
  br i1 %1949, label %1950, label %1954

1950:                                             ; preds = %1944
  %1951 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1952 = call i32 @fileno(ptr noundef %1951) #11
  %1953 = call i32 @isatty(i32 noundef %1952) #11
  %.not1095 = icmp eq i32 %1953, 0
  br i1 %.not1095, label %1954, label %1955

1954:                                             ; preds = %1950, %1944
  br label %1955

1955:                                             ; preds = %1950, %1954
  %.str.5.sink1859 = phi ptr [ @.str.5, %1954 ], [ @.str.2, %1950 ]
  store i32 %1945, ptr %1493, align 4, !tbaa !5
  %1956 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1957 = load i32, ptr @test_count, align 4, !tbaa !5
  %1958 = load i32, ptr %1439, align 4, !tbaa !5
  %1959 = call ptr @s2n_strerror(i32 noundef %1958, ptr noundef nonnull @.str.4) #11
  %1960 = load i32, ptr %1439, align 4, !tbaa !5
  %1961 = call ptr @s2n_strerror_debug(i32 noundef %1960, ptr noundef nonnull @.str.4) #11
  %1962 = load i32, ptr %1493, align 4, !tbaa !5
  %1963 = call ptr @strerror(i32 noundef %1962) #11
  %1964 = load i32, ptr %1493, align 4, !tbaa !5
  %1965 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1956, ptr noundef nonnull %.str.5.sink1859, i32 noundef %1957, ptr noundef nonnull @.str.47, ptr noundef nonnull @.str.1, i32 noundef 250, ptr noundef %1959, ptr noundef %1961, ptr noundef %1963, i32 noundef %1964) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1966:                                             ; preds = %1939
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %6) #11
  %1967 = getelementptr inbounds i8, ptr %1833, i64 184
  store <16 x i8> <i8 0, i8 1, i8 2, i8 3, i8 4, i8 5, i8 6, i8 7, i8 8, i8 9, i8 10, i8 11, i8 12, i8 13, i8 14, i8 15>, ptr %6, align 16
  store <16 x i8> <i8 0, i8 1, i8 2, i8 3, i8 4, i8 5, i8 6, i8 7, i8 8, i8 9, i8 10, i8 11, i8 12, i8 13, i8 14, i8 15>, ptr %1967, align 1, !tbaa !44
  %1968 = getelementptr inbounds i8, ptr %6, i64 16
  %1969 = getelementptr inbounds i8, ptr %1833, i64 200
  store <16 x i8> <i8 16, i8 17, i8 18, i8 19, i8 20, i8 21, i8 22, i8 23, i8 24, i8 25, i8 26, i8 27, i8 28, i8 29, i8 30, i8 31>, ptr %1968, align 16, !tbaa !44
  store <16 x i8> <i8 16, i8 17, i8 18, i8 19, i8 20, i8 21, i8 22, i8 23, i8 24, i8 25, i8 26, i8 27, i8 28, i8 29, i8 30, i8 31>, ptr %1969, align 1, !tbaa !44
  %1970 = load i32, ptr @test_count, align 4, !tbaa !5
  %1971 = add nsw i32 %1970, 1
  store i32 %1971, ptr @test_count, align 4, !tbaa !5
  %1972 = call i32 @s2n_stuffer_write_uint8(ptr noundef nonnull %1885, i8 noundef zeroext 32) #11
  %1973 = icmp eq i32 %1972, -1
  br i1 %1973, label %1974, label %1996

1974:                                             ; preds = %1966
  %1975 = load i32, ptr %1493, align 4, !tbaa !5
  %1976 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1977 = call i32 @s2n_print_stacktrace(ptr noundef %1976) #11
  %1978 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1979 = trunc nuw i8 %1978 to i1
  br i1 %1979, label %1980, label %1984

1980:                                             ; preds = %1974
  %1981 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1982 = call i32 @fileno(ptr noundef %1981) #11
  %1983 = call i32 @isatty(i32 noundef %1982) #11
  %.not1094 = icmp eq i32 %1983, 0
  br i1 %.not1094, label %1984, label %1985

1984:                                             ; preds = %1980, %1974
  br label %1985

1985:                                             ; preds = %1980, %1984
  %.str.5.sink1868 = phi ptr [ @.str.5, %1984 ], [ @.str.2, %1980 ]
  store i32 %1975, ptr %1493, align 4, !tbaa !5
  %1986 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1987 = load i32, ptr @test_count, align 4, !tbaa !5
  %1988 = load i32, ptr %1439, align 4, !tbaa !5
  %1989 = call ptr @s2n_strerror(i32 noundef %1988, ptr noundef nonnull @.str.4) #11
  %1990 = load i32, ptr %1439, align 4, !tbaa !5
  %1991 = call ptr @s2n_strerror_debug(i32 noundef %1990, ptr noundef nonnull @.str.4) #11
  %1992 = load i32, ptr %1493, align 4, !tbaa !5
  %1993 = call ptr @strerror(i32 noundef %1992) #11
  %1994 = load i32, ptr %1493, align 4, !tbaa !5
  %1995 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1986, ptr noundef nonnull %.str.5.sink1868, i32 noundef %1987, ptr noundef nonnull @.str.48, ptr noundef nonnull @.str.1, i32 noundef 261, ptr noundef %1989, ptr noundef %1991, ptr noundef %1993, i32 noundef %1994) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1996:                                             ; preds = %1966
  %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 = call i32 @s2n_stuffer_write_bytes(ptr noundef nonnull %1885, ptr noundef nonnull %6, i32 noundef 32) #11
  %2000 = icmp eq i32 %1999, -1
  br i1 %2000, label %2001, label %2023

2001:                                             ; preds = %1996
  %2002 = load i32, ptr %1493, align 4, !tbaa !5
  %2003 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2004 = call i32 @s2n_print_stacktrace(ptr noundef %2003) #11
  %2005 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2006 = trunc nuw i8 %2005 to i1
  br i1 %2006, label %2007, label %2011

2007:                                             ; preds = %2001
  %2008 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2009 = call i32 @fileno(ptr noundef %2008) #11
  %2010 = call i32 @isatty(i32 noundef %2009) #11
  %.not1093 = icmp eq i32 %2010, 0
  br i1 %.not1093, label %2011, label %2012

2011:                                             ; preds = %2007, %2001
  br label %2012

2012:                                             ; preds = %2007, %2011
  %.str.5.sink1877 = phi ptr [ @.str.5, %2011 ], [ @.str.2, %2007 ]
  store i32 %2002, ptr %1493, align 4, !tbaa !5
  %2013 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2014 = load i32, ptr @test_count, align 4, !tbaa !5
  %2015 = load i32, ptr %1439, align 4, !tbaa !5
  %2016 = call ptr @s2n_strerror(i32 noundef %2015, ptr noundef nonnull @.str.4) #11
  %2017 = load i32, ptr %1439, align 4, !tbaa !5
  %2018 = call ptr @s2n_strerror_debug(i32 noundef %2017, ptr noundef nonnull @.str.4) #11
  %2019 = load i32, ptr %1493, align 4, !tbaa !5
  %2020 = call ptr @strerror(i32 noundef %2019) #11
  %2021 = load i32, ptr %1493, align 4, !tbaa !5
  %2022 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2013, ptr noundef nonnull %.str.5.sink1877, i32 noundef %2014, ptr noundef nonnull @.str.49, ptr noundef nonnull @.str.1, i32 noundef 262, ptr noundef %2016, ptr noundef %2018, ptr noundef %2020, i32 noundef %2021) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2023:                                             ; preds = %1996
  %2024 = load i32, ptr @test_count, align 4, !tbaa !5
  %2025 = add nsw i32 %2024, 1
  store i32 %2025, ptr @test_count, align 4, !tbaa !5
  %2026 = call i32 @s2n_stuffer_write_uint16(ptr noundef nonnull %1885, i16 noundef zeroext 4865) #11
  %2027 = icmp eq i32 %2026, -1
  br i1 %2027, label %2028, label %2050

2028:                                             ; preds = %2023
  %2029 = load i32, ptr %1493, align 4, !tbaa !5
  %2030 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2031 = call i32 @s2n_print_stacktrace(ptr noundef %2030) #11
  %2032 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2033 = trunc nuw i8 %2032 to i1
  br i1 %2033, label %2034, label %2038

2034:                                             ; preds = %2028
  %2035 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2036 = call i32 @fileno(ptr noundef %2035) #11
  %2037 = call i32 @isatty(i32 noundef %2036) #11
  %.not1092 = icmp eq i32 %2037, 0
  br i1 %.not1092, label %2038, label %2039

2038:                                             ; preds = %2034, %2028
  br label %2039

2039:                                             ; preds = %2034, %2038
  %.str.5.sink1886 = phi ptr [ @.str.5, %2038 ], [ @.str.2, %2034 ]
  store i32 %2029, ptr %1493, align 4, !tbaa !5
  %2040 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2041 = load i32, ptr @test_count, align 4, !tbaa !5
  %2042 = load i32, ptr %1439, align 4, !tbaa !5
  %2043 = call ptr @s2n_strerror(i32 noundef %2042, ptr noundef nonnull @.str.4) #11
  %2044 = load i32, ptr %1439, align 4, !tbaa !5
  %2045 = call ptr @s2n_strerror_debug(i32 noundef %2044, ptr noundef nonnull @.str.4) #11
  %2046 = load i32, ptr %1493, align 4, !tbaa !5
  %2047 = call ptr @strerror(i32 noundef %2046) #11
  %2048 = load i32, ptr %1493, align 4, !tbaa !5
  %2049 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2040, ptr noundef nonnull %.str.5.sink1886, i32 noundef %2041, ptr noundef nonnull @.str.50, ptr noundef nonnull @.str.1, i32 noundef 263, ptr noundef %2043, ptr noundef %2045, ptr noundef %2047, i32 noundef %2048) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2050:                                             ; preds = %2023
  %2051 = load i32, ptr @test_count, align 4, !tbaa !5
  %2052 = add nsw i32 %2051, 1
  store i32 %2052, ptr @test_count, align 4, !tbaa !5
  %2053 = call i32 @s2n_stuffer_write_uint8(ptr noundef nonnull %1885, i8 noundef zeroext 0) #11
  %2054 = icmp eq i32 %2053, -1
  br i1 %2054, label %2055, label %2077

2055:                                             ; preds = %2050
  %2056 = load i32, ptr %1493, align 4, !tbaa !5
  %2057 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2058 = call i32 @s2n_print_stacktrace(ptr noundef %2057) #11
  %2059 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2060 = trunc nuw i8 %2059 to i1
  br i1 %2060, label %2061, label %2065

2061:                                             ; preds = %2055
  %2062 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2063 = call i32 @fileno(ptr noundef %2062) #11
  %2064 = call i32 @isatty(i32 noundef %2063) #11
  %.not1091 = icmp eq i32 %2064, 0
  br i1 %.not1091, label %2065, label %2066

2065:                                             ; preds = %2061, %2055
  br label %2066

2066:                                             ; preds = %2061, %2065
  %.str.5.sink1895 = phi ptr [ @.str.5, %2065 ], [ @.str.2, %2061 ]
  store i32 %2056, ptr %1493, align 4, !tbaa !5
  %2067 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2068 = load i32, ptr @test_count, align 4, !tbaa !5
  %2069 = load i32, ptr %1439, align 4, !tbaa !5
  %2070 = call ptr @s2n_strerror(i32 noundef %2069, ptr noundef nonnull @.str.4) #11
  %2071 = load i32, ptr %1439, align 4, !tbaa !5
  %2072 = call ptr @s2n_strerror_debug(i32 noundef %2071, ptr noundef nonnull @.str.4) #11
  %2073 = load i32, ptr %1493, align 4, !tbaa !5
  %2074 = call ptr @strerror(i32 noundef %2073) #11
  %2075 = load i32, ptr %1493, align 4, !tbaa !5
  %2076 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2067, ptr noundef nonnull %.str.5.sink1895, i32 noundef %2068, ptr noundef nonnull @.str.51, ptr noundef nonnull @.str.1, i32 noundef 264, ptr noundef %2070, ptr noundef %2072, ptr noundef %2074, i32 noundef %2075) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2077:                                             ; preds = %2050
  %2078 = getelementptr inbounds i8, ptr %1833, i64 219
  store i8 34, ptr %2078, align 1, !tbaa !60
  %2079 = getelementptr inbounds i8, ptr %1833, i64 216
  store i8 32, ptr %2079, align 8, !tbaa !15
  %2080 = load i32, ptr @test_count, align 4, !tbaa !5
  %2081 = add nsw i32 %2080, 1
  store i32 %2081, ptr @test_count, align 4, !tbaa !5
  %2082 = call i32 @s2n_server_hello_recv(ptr noundef nonnull %1833) #11
  %2083 = icmp eq i32 %2082, -1
  br i1 %2083, label %2084, label %2106

2084:                                             ; preds = %2077
  %2085 = load i32, ptr %1493, align 4, !tbaa !5
  %2086 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2087 = call i32 @s2n_print_stacktrace(ptr noundef %2086) #11
  %2088 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2089 = trunc nuw i8 %2088 to i1
  br i1 %2089, label %2090, label %2094

2090:                                             ; preds = %2084
  %2091 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2092 = call i32 @fileno(ptr noundef %2091) #11
  %2093 = call i32 @isatty(i32 noundef %2092) #11
  %.not1090 = icmp eq i32 %2093, 0
  br i1 %.not1090, label %2094, label %2095

2094:                                             ; preds = %2090, %2084
  br label %2095

2095:                                             ; preds = %2090, %2094
  %.str.5.sink1904 = phi ptr [ @.str.5, %2094 ], [ @.str.2, %2090 ]
  store i32 %2085, ptr %1493, align 4, !tbaa !5
  %2096 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2097 = load i32, ptr @test_count, align 4, !tbaa !5
  %2098 = load i32, ptr %1439, align 4, !tbaa !5
  %2099 = call ptr @s2n_strerror(i32 noundef %2098, ptr noundef nonnull @.str.4) #11
  %2100 = load i32, ptr %1439, align 4, !tbaa !5
  %2101 = call ptr @s2n_strerror_debug(i32 noundef %2100, ptr noundef nonnull @.str.4) #11
  %2102 = load i32, ptr %1493, align 4, !tbaa !5
  %2103 = call ptr @strerror(i32 noundef %2102) #11
  %2104 = load i32, ptr %1493, align 4, !tbaa !5
  %2105 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2096, ptr noundef nonnull %.str.5.sink1904, i32 noundef %2097, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.1, i32 noundef 270, ptr noundef %2099, ptr noundef %2101, ptr noundef %2103, i32 noundef %2104) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2106:                                             ; preds = %2077
  %2107 = load i32, ptr @test_count, align 4, !tbaa !5
  %2108 = add nsw i32 %2107, 1
  store i32 %2108, ptr @test_count, align 4, !tbaa !5
  %2109 = getelementptr inbounds i8, ptr %1833, i64 2044
  %2110 = load i32, ptr %2109, align 4, !tbaa !45
  %2111 = getelementptr inbounds i8, ptr %1833, i64 2040
  %2112 = load i32, ptr %2111, align 8, !tbaa !46
  %2113 = icmp eq i32 %2110, %2112
  br i1 %2113, label %.preheader1158, label %2114

2114:                                             ; preds = %2106
  %2115 = load i32, ptr %1493, align 4, !tbaa !5
  %2116 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2117 = call i32 @s2n_print_stacktrace(ptr noundef %2116) #11
  %2118 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2119 = trunc nuw i8 %2118 to i1
  br i1 %2119, label %2120, label %2124

2120:                                             ; preds = %2114
  %2121 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2122 = call i32 @fileno(ptr noundef %2121) #11
  %2123 = call i32 @isatty(i32 noundef %2122) #11
  %.not903 = icmp eq i32 %2123, 0
  br i1 %.not903, label %2124, label %2125

2124:                                             ; preds = %2120, %2114
  br label %2125

2125:                                             ; preds = %2120, %2124
  %.str.5.sink1913 = phi ptr [ @.str.5, %2124 ], [ @.str.2, %2120 ]
  store i32 %2115, ptr %1493, align 4, !tbaa !5
  %2126 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2127 = load i32, ptr @test_count, align 4, !tbaa !5
  %2128 = load i32, ptr %1439, align 4, !tbaa !5
  %2129 = call ptr @s2n_strerror(i32 noundef %2128, ptr noundef nonnull @.str.4) #11
  %2130 = load i32, ptr %1439, align 4, !tbaa !5
  %2131 = call ptr @s2n_strerror_debug(i32 noundef %2130, ptr noundef nonnull @.str.4) #11
  %2132 = load i32, ptr %1493, align 4, !tbaa !5
  %2133 = call ptr @strerror(i32 noundef %2132) #11
  %2134 = load i32, ptr %1493, align 4, !tbaa !5
  %2135 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2126, ptr noundef nonnull %.str.5.sink1913, i32 noundef %2127, ptr noundef nonnull @.str.52, ptr noundef nonnull @.str.1, i32 noundef 271, ptr noundef %2129, ptr noundef %2131, ptr noundef %2133, i32 noundef %2134) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2136:                                             ; preds = %2250
  %2137 = load i32, ptr @test_count, align 4, !tbaa !5
  %2138 = add nsw i32 %2137, 1
  store i32 %2138, ptr @test_count, align 4, !tbaa !5
  %2139 = call i32 @s2n_stuffer_reread(ptr noundef nonnull %1885) #11
  %2140 = icmp eq i32 %2139, -1
  br i1 %2140, label %2253, label %2275

.preheader1158:                                   ; preds = %2106, %2250
  %indvars.iv = phi i64 [ %indvars.iv.next, %2250 ], [ 0, %2106 ]
  %2141 = getelementptr inbounds [32 x i8], ptr %1967, i64 0, i64 %indvars.iv
  %2142 = load i8, ptr %2141, align 1, !tbaa !44
  %2143 = xor i8 %2142, 1
  store i8 %2143, ptr %2141, align 1, !tbaa !44
  %2144 = load i32, ptr @test_count, align 4, !tbaa !5
  %2145 = add nsw i32 %2144, 1
  store i32 %2145, ptr @test_count, align 4, !tbaa !5
  %2146 = call i32 @s2n_stuffer_reread(ptr noundef nonnull %1885) #11
  %2147 = icmp eq i32 %2146, -1
  br i1 %2147, label %2148, label %2170

2148:                                             ; preds = %.preheader1158
  %2149 = load i32, ptr %1493, align 4, !tbaa !5
  %2150 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2151 = call i32 @s2n_print_stacktrace(ptr noundef %2150) #11
  %2152 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2153 = trunc nuw i8 %2152 to i1
  br i1 %2153, label %2154, label %2158

2154:                                             ; preds = %2148
  %2155 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2156 = call i32 @fileno(ptr noundef %2155) #11
  %2157 = call i32 @isatty(i32 noundef %2156) #11
  %.not1089 = icmp eq i32 %2157, 0
  br i1 %.not1089, label %2158, label %2159

2158:                                             ; preds = %2154, %2148
  br label %2159

2159:                                             ; preds = %2154, %2158
  %.str.5.sink1922 = phi ptr [ @.str.5, %2158 ], [ @.str.2, %2154 ]
  store i32 %2149, ptr %1493, align 4, !tbaa !5
  %2160 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2161 = load i32, ptr @test_count, align 4, !tbaa !5
  %2162 = load i32, ptr %1439, align 4, !tbaa !5
  %2163 = call ptr @s2n_strerror(i32 noundef %2162, ptr noundef nonnull @.str.4) #11
  %2164 = load i32, ptr %1439, align 4, !tbaa !5
  %2165 = call ptr @s2n_strerror_debug(i32 noundef %2164, ptr noundef nonnull @.str.4) #11
  %2166 = load i32, ptr %1493, align 4, !tbaa !5
  %2167 = call ptr @strerror(i32 noundef %2166) #11
  %2168 = load i32, ptr %1493, align 4, !tbaa !5
  %2169 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2160, ptr noundef nonnull %.str.5.sink1922, i32 noundef %2161, ptr noundef nonnull @.str.53, ptr noundef nonnull @.str.1, i32 noundef 276, ptr noundef %2163, ptr noundef %2165, ptr noundef %2167, i32 noundef %2168) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2170:                                             ; preds = %.preheader1158
  %2171 = load i32, ptr @test_count, align 4, !tbaa !5
  %2172 = add nsw i32 %2171, 1
  store i32 %2172, ptr @test_count, align 4, !tbaa !5
  %2173 = call i32 @s2n_server_hello_recv(ptr noundef nonnull %1833) #11
  %2174 = icmp eq i32 %2173, -1
  br i1 %2174, label %2197, label %2175

2175:                                             ; preds = %2170
  %2176 = load i32, ptr %1493, align 4, !tbaa !5
  %2177 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2178 = call i32 @s2n_print_stacktrace(ptr noundef %2177) #11
  %2179 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2180 = trunc nuw i8 %2179 to i1
  br i1 %2180, label %2181, label %2185

2181:                                             ; preds = %2175
  %2182 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2183 = call i32 @fileno(ptr noundef %2182) #11
  %2184 = call i32 @isatty(i32 noundef %2183) #11
  %.not1086 = icmp eq i32 %2184, 0
  br i1 %.not1086, label %2185, label %2186

2185:                                             ; preds = %2181, %2175
  br label %2186

2186:                                             ; preds = %2181, %2185
  %.str.5.sink1931 = phi ptr [ @.str.5, %2185 ], [ @.str.2, %2181 ]
  store i32 %2176, ptr %1493, align 4, !tbaa !5
  %2187 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2188 = load i32, ptr @test_count, align 4, !tbaa !5
  %2189 = load i32, ptr %1439, align 4, !tbaa !5
  %2190 = call ptr @s2n_strerror(i32 noundef %2189, ptr noundef nonnull @.str.4) #11
  %2191 = load i32, ptr %1439, align 4, !tbaa !5
  %2192 = call ptr @s2n_strerror_debug(i32 noundef %2191, ptr noundef nonnull @.str.4) #11
  %2193 = load i32, ptr %1493, align 4, !tbaa !5
  %2194 = call ptr @strerror(i32 noundef %2193) #11
  %2195 = load i32, ptr %1493, align 4, !tbaa !5
  %2196 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2187, ptr noundef nonnull %.str.5.sink1931, i32 noundef %2188, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.1, i32 noundef 277, ptr noundef %2190, ptr noundef %2192, ptr noundef %2194, i32 noundef %2195) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2197:                                             ; preds = %2170
  %2198 = load i32, ptr @test_count, align 4, !tbaa !5
  %2199 = add nsw i32 %2198, 1
  store i32 %2199, ptr @test_count, align 4, !tbaa !5
  %2200 = load i32, ptr %1439, align 4, !tbaa !5
  %2201 = icmp eq i32 %2200, 0
  br i1 %2201, label %2202, label %2224

2202:                                             ; preds = %2197
  %2203 = load i32, ptr %1493, align 4, !tbaa !5
  %2204 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2205 = call i32 @s2n_print_stacktrace(ptr noundef %2204) #11
  %2206 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2207 = trunc nuw i8 %2206 to i1
  br i1 %2207, label %2208, label %2212

2208:                                             ; preds = %2202
  %2209 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2210 = call i32 @fileno(ptr noundef %2209) #11
  %2211 = call i32 @isatty(i32 noundef %2210) #11
  %.not1088 = icmp eq i32 %2211, 0
  br i1 %.not1088, label %2212, label %2213

2212:                                             ; preds = %2208, %2202
  br label %2213

2213:                                             ; preds = %2208, %2212
  %.str.5.sink1940 = phi ptr [ @.str.5, %2212 ], [ @.str.2, %2208 ]
  store i32 %2203, ptr %1493, align 4, !tbaa !5
  %2214 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2215 = load i32, ptr @test_count, align 4, !tbaa !5
  %2216 = load i32, ptr %1439, align 4, !tbaa !5
  %2217 = call ptr @s2n_strerror(i32 noundef %2216, ptr noundef nonnull @.str.4) #11
  %2218 = load i32, ptr %1439, align 4, !tbaa !5
  %2219 = call ptr @s2n_strerror_debug(i32 noundef %2218, ptr noundef nonnull @.str.4) #11
  %2220 = load i32, ptr %1493, align 4, !tbaa !5
  %2221 = call ptr @strerror(i32 noundef %2220) #11
  %2222 = load i32, ptr %1493, align 4, !tbaa !5
  %2223 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2214, ptr noundef nonnull %.str.5.sink1940, i32 noundef %2215, ptr noundef nonnull @.str.54, ptr noundef nonnull @.str.1, i32 noundef 277, ptr noundef %2217, ptr noundef %2219, ptr noundef %2221, i32 noundef %2222) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2224:                                             ; preds = %2197
  %2225 = add nsw i32 %2198, 2
  store i32 %2225, ptr @test_count, align 4, !tbaa !5
  %2226 = call ptr @s2n_strerror_debug(i32 noundef %2200, ptr noundef nonnull @.str.4) #11
  %2227 = icmp eq ptr %2226, null
  br i1 %2227, label %2228, label %2250

2228:                                             ; preds = %2224
  %2229 = load i32, ptr %1493, align 4, !tbaa !5
  %2230 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2231 = call i32 @s2n_print_stacktrace(ptr noundef %2230) #11
  %2232 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2233 = trunc nuw i8 %2232 to i1
  br i1 %2233, label %2234, label %2238

2234:                                             ; preds = %2228
  %2235 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2236 = call i32 @fileno(ptr noundef %2235) #11
  %2237 = call i32 @isatty(i32 noundef %2236) #11
  %.not1087 = icmp eq i32 %2237, 0
  br i1 %.not1087, label %2238, label %2239

2238:                                             ; preds = %2234, %2228
  br label %2239

2239:                                             ; preds = %2234, %2238
  %.str.5.sink1949 = phi ptr [ @.str.5, %2238 ], [ @.str.2, %2234 ]
  store i32 %2229, ptr %1493, align 4, !tbaa !5
  %2240 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2241 = load i32, ptr @test_count, align 4, !tbaa !5
  %2242 = load i32, ptr %1439, align 4, !tbaa !5
  %2243 = call ptr @s2n_strerror(i32 noundef %2242, ptr noundef nonnull @.str.4) #11
  %2244 = load i32, ptr %1439, align 4, !tbaa !5
  %2245 = call ptr @s2n_strerror_debug(i32 noundef %2244, ptr noundef nonnull @.str.4) #11
  %2246 = load i32, ptr %1493, align 4, !tbaa !5
  %2247 = call ptr @strerror(i32 noundef %2246) #11
  %2248 = load i32, ptr %1493, align 4, !tbaa !5
  %2249 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2240, ptr noundef nonnull %.str.5.sink1949, i32 noundef %2241, ptr noundef nonnull @.str.43, ptr noundef nonnull @.str.1, i32 noundef 277, ptr noundef %2243, ptr noundef %2245, ptr noundef %2247, i32 noundef %2248) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2250:                                             ; preds = %2224
  store i32 0, ptr %1439, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #11
  store i32 0, ptr %1493, align 4, !tbaa !5
  %2251 = load i8, ptr %2141, align 1, !tbaa !44
  %2252 = xor i8 %2251, 1
  store i8 %2252, ptr %2141, align 1, !tbaa !44
  %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1
  %exitcond.not = icmp eq i64 %indvars.iv.next, 32
  br i1 %exitcond.not, label %2136, label %.preheader1158, !llvm.loop !61

2253:                                             ; preds = %2136
  %2254 = load i32, ptr %1493, align 4, !tbaa !5
  %2255 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2256 = call i32 @s2n_print_stacktrace(ptr noundef %2255) #11
  %2257 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2258 = trunc nuw i8 %2257 to i1
  br i1 %2258, label %2259, label %2263

2259:                                             ; preds = %2253
  %2260 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2261 = call i32 @fileno(ptr noundef %2260) #11
  %2262 = call i32 @isatty(i32 noundef %2261) #11
  %.not1085 = icmp eq i32 %2262, 0
  br i1 %.not1085, label %2263, label %2264

2263:                                             ; preds = %2259, %2253
  br label %2264

2264:                                             ; preds = %2259, %2263
  %.str.5.sink1958 = phi ptr [ @.str.5, %2263 ], [ @.str.2, %2259 ]
  store i32 %2254, ptr %1493, align 4, !tbaa !5
  %2265 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2266 = load i32, ptr @test_count, align 4, !tbaa !5
  %2267 = load i32, ptr %1439, align 4, !tbaa !5
  %2268 = call ptr @s2n_strerror(i32 noundef %2267, ptr noundef nonnull @.str.4) #11
  %2269 = load i32, ptr %1439, align 4, !tbaa !5
  %2270 = call ptr @s2n_strerror_debug(i32 noundef %2269, ptr noundef nonnull @.str.4) #11
  %2271 = load i32, ptr %1493, align 4, !tbaa !5
  %2272 = call ptr @strerror(i32 noundef %2271) #11
  %2273 = load i32, ptr %1493, align 4, !tbaa !5
  %2274 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2265, ptr noundef nonnull %.str.5.sink1958, i32 noundef %2266, ptr noundef nonnull @.str.53, ptr noundef nonnull @.str.1, i32 noundef 282, ptr noundef %2268, ptr noundef %2270, ptr noundef %2272, i32 noundef %2273) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2275:                                             ; preds = %2136
  %2276 = load i32, ptr @test_count, align 4, !tbaa !5
  %2277 = add nsw i32 %2276, 1
  store i32 %2277, ptr @test_count, align 4, !tbaa !5
  %2278 = call i32 @s2n_server_hello_recv(ptr noundef nonnull %1833) #11
  %2279 = icmp eq i32 %2278, -1
  br i1 %2279, label %2280, label %.preheader

2280:                                             ; preds = %2275
  %2281 = load i32, ptr %1493, align 4, !tbaa !5
  %2282 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2283 = call i32 @s2n_print_stacktrace(ptr noundef %2282) #11
  %2284 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2285 = trunc nuw i8 %2284 to i1
  br i1 %2285, label %2286, label %2290

2286:                                             ; preds = %2280
  %2287 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2288 = call i32 @fileno(ptr noundef %2287) #11
  %2289 = call i32 @isatty(i32 noundef %2288) #11
  %.not1084 = icmp eq i32 %2289, 0
  br i1 %.not1084, label %2290, label %2291

2290:                                             ; preds = %2286, %2280
  br label %2291

2291:                                             ; preds = %2286, %2290
  %.str.5.sink1967 = phi ptr [ @.str.5, %2290 ], [ @.str.2, %2286 ]
  store i32 %2281, ptr %1493, align 4, !tbaa !5
  %2292 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2293 = load i32, ptr @test_count, align 4, !tbaa !5
  %2294 = load i32, ptr %1439, align 4, !tbaa !5
  %2295 = call ptr @s2n_strerror(i32 noundef %2294, ptr noundef nonnull @.str.4) #11
  %2296 = load i32, ptr %1439, align 4, !tbaa !5
  %2297 = call ptr @s2n_strerror_debug(i32 noundef %2296, ptr noundef nonnull @.str.4) #11
  %2298 = load i32, ptr %1493, align 4, !tbaa !5
  %2299 = call ptr @strerror(i32 noundef %2298) #11
  %2300 = load i32, ptr %1493, align 4, !tbaa !5
  %2301 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2292, ptr noundef nonnull %.str.5.sink1967, i32 noundef %2293, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.1, i32 noundef 283, ptr noundef %2295, ptr noundef %2297, ptr noundef %2299, i32 noundef %2300) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2302:                                             ; preds = %2414
  %2303 = load i32, ptr @test_count, align 4, !tbaa !5
  %2304 = add nsw i32 %2303, 1
  store i32 %2304, ptr @test_count, align 4, !tbaa !5
  %2305 = call i32 @s2n_config_free(ptr noundef nonnull %1806) #11
  %2306 = icmp eq i32 %2305, -1
  br i1 %2306, label %2416, label %2438

.preheader:                                       ; preds = %2275, %2414
  %.08551164 = phi i32 [ %2415, %2414 ], [ 0, %2275 ]
  %2307 = trunc nuw i32 %.08551164 to i8
  store i8 %2307, ptr %2079, align 8, !tbaa !15
  %2308 = load i32, ptr @test_count, align 4, !tbaa !5
  %2309 = add nsw i32 %2308, 1
  store i32 %2309, ptr @test_count, align 4, !tbaa !5
  %2310 = call i32 @s2n_stuffer_reread(ptr noundef nonnull %1885) #11
  %2311 = icmp eq i32 %2310, -1
  br i1 %2311, label %2312, label %2334

2312:                                             ; preds = %.preheader
  %2313 = load i32, ptr %1493, align 4, !tbaa !5
  %2314 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2315 = call i32 @s2n_print_stacktrace(ptr noundef %2314) #11
  %2316 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2317 = trunc nuw i8 %2316 to i1
  br i1 %2317, label %2318, label %2322

2318:                                             ; preds = %2312
  %2319 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2320 = call i32 @fileno(ptr noundef %2319) #11
  %2321 = call i32 @isatty(i32 noundef %2320) #11
  %.not1083 = icmp eq i32 %2321, 0
  br i1 %.not1083, label %2322, label %2323

2322:                                             ; preds = %2318, %2312
  br label %2323

2323:                                             ; preds = %2318, %2322
  %.str.5.sink1976 = phi ptr [ @.str.5, %2322 ], [ @.str.2, %2318 ]
  store i32 %2313, ptr %1493, align 4, !tbaa !5
  %2324 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2325 = load i32, ptr @test_count, align 4, !tbaa !5
  %2326 = load i32, ptr %1439, align 4, !tbaa !5
  %2327 = call ptr @s2n_strerror(i32 noundef %2326, ptr noundef nonnull @.str.4) #11
  %2328 = load i32, ptr %1439, align 4, !tbaa !5
  %2329 = call ptr @s2n_strerror_debug(i32 noundef %2328, ptr noundef nonnull @.str.4) #11
  %2330 = load i32, ptr %1493, align 4, !tbaa !5
  %2331 = call ptr @strerror(i32 noundef %2330) #11
  %2332 = load i32, ptr %1493, align 4, !tbaa !5
  %2333 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2324, ptr noundef nonnull %.str.5.sink1976, i32 noundef %2325, ptr noundef nonnull @.str.53, ptr noundef nonnull @.str.1, i32 noundef 288, ptr noundef %2327, ptr noundef %2329, ptr noundef %2331, i32 noundef %2332) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2334:                                             ; preds = %.preheader
  %2335 = load i32, ptr @test_count, align 4, !tbaa !5
  %2336 = add nsw i32 %2335, 1
  store i32 %2336, ptr @test_count, align 4, !tbaa !5
  %2337 = call i32 @s2n_server_hello_recv(ptr noundef nonnull %1833) #11
  %2338 = icmp eq i32 %2337, -1
  br i1 %2338, label %2361, label %2339

2339:                                             ; preds = %2334
  %2340 = load i32, ptr %1493, align 4, !tbaa !5
  %2341 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2342 = call i32 @s2n_print_stacktrace(ptr noundef %2341) #11
  %2343 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2344 = trunc nuw i8 %2343 to i1
  br i1 %2344, label %2345, label %2349

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

2349:                                             ; preds = %2345, %2339
  br label %2350

2350:                                             ; preds = %2345, %2349
  %.str.5.sink1985 = phi ptr [ @.str.5, %2349 ], [ @.str.2, %2345 ]
  store i32 %2340, ptr %1493, align 4, !tbaa !5
  %2351 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2352 = load i32, ptr @test_count, align 4, !tbaa !5
  %2353 = load i32, ptr %1439, align 4, !tbaa !5
  %2354 = call ptr @s2n_strerror(i32 noundef %2353, ptr noundef nonnull @.str.4) #11
  %2355 = load i32, ptr %1439, align 4, !tbaa !5
  %2356 = call ptr @s2n_strerror_debug(i32 noundef %2355, ptr noundef nonnull @.str.4) #11
  %2357 = load i32, ptr %1493, align 4, !tbaa !5
  %2358 = call ptr @strerror(i32 noundef %2357) #11
  %2359 = load i32, ptr %1493, align 4, !tbaa !5
  %2360 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2351, ptr noundef nonnull %.str.5.sink1985, i32 noundef %2352, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.1, i32 noundef 289, ptr noundef %2354, ptr noundef %2356, ptr noundef %2358, i32 noundef %2359) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2361:                                             ; preds = %2334
  %2362 = load i32, ptr @test_count, align 4, !tbaa !5
  %2363 = add nsw i32 %2362, 1
  store i32 %2363, ptr @test_count, align 4, !tbaa !5
  %2364 = load i32, ptr %1439, align 4, !tbaa !5
  %2365 = icmp eq i32 %2364, 0
  br i1 %2365, label %2366, label %2388

2366:                                             ; preds = %2361
  %2367 = load i32, ptr %1493, align 4, !tbaa !5
  %2368 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2369 = call i32 @s2n_print_stacktrace(ptr noundef %2368) #11
  %2370 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2371 = trunc nuw i8 %2370 to i1
  br i1 %2371, label %2372, label %2376

2372:                                             ; preds = %2366
  %2373 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2374 = call i32 @fileno(ptr noundef %2373) #11
  %2375 = call i32 @isatty(i32 noundef %2374) #11
  %.not1082 = icmp eq i32 %2375, 0
  br i1 %.not1082, label %2376, label %2377

2376:                                             ; preds = %2372, %2366
  br label %2377

2377:                                             ; preds = %2372, %2376
  %.str.5.sink1994 = phi ptr [ @.str.5, %2376 ], [ @.str.2, %2372 ]
  store i32 %2367, ptr %1493, align 4, !tbaa !5
  %2378 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2379 = load i32, ptr @test_count, align 4, !tbaa !5
  %2380 = load i32, ptr %1439, align 4, !tbaa !5
  %2381 = call ptr @s2n_strerror(i32 noundef %2380, ptr noundef nonnull @.str.4) #11
  %2382 = load i32, ptr %1439, align 4, !tbaa !5
  %2383 = call ptr @s2n_strerror_debug(i32 noundef %2382, ptr noundef nonnull @.str.4) #11
  %2384 = load i32, ptr %1493, align 4, !tbaa !5
  %2385 = call ptr @strerror(i32 noundef %2384) #11
  %2386 = load i32, ptr %1493, align 4, !tbaa !5
  %2387 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2378, ptr noundef nonnull %.str.5.sink1994, i32 noundef %2379, ptr noundef nonnull @.str.54, ptr noundef nonnull @.str.1, i32 noundef 289, ptr noundef %2381, ptr noundef %2383, ptr noundef %2385, i32 noundef %2386) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2388:                                             ; preds = %2361
  %2389 = add nsw i32 %2362, 2
  store i32 %2389, ptr @test_count, align 4, !tbaa !5
  %2390 = call ptr @s2n_strerror_debug(i32 noundef %2364, ptr noundef nonnull @.str.4) #11
  %2391 = icmp eq ptr %2390, null
  br i1 %2391, label %2392, label %2414

2392:                                             ; preds = %2388
  %2393 = load i32, ptr %1493, align 4, !tbaa !5
  %2394 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2395 = call i32 @s2n_print_stacktrace(ptr noundef %2394) #11
  %2396 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2397 = trunc nuw i8 %2396 to i1
  br i1 %2397, label %2398, label %2402

2398:                                             ; preds = %2392
  %2399 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2400 = call i32 @fileno(ptr noundef %2399) #11
  %2401 = call i32 @isatty(i32 noundef %2400) #11
  %.not1081 = icmp eq i32 %2401, 0
  br i1 %.not1081, label %2402, label %2403

2402:                                             ; preds = %2398, %2392
  br label %2403

2403:                                             ; preds = %2398, %2402
  %.str.5.sink2003 = phi ptr [ @.str.5, %2402 ], [ @.str.2, %2398 ]
  store i32 %2393, ptr %1493, align 4, !tbaa !5
  %2404 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2405 = load i32, ptr @test_count, align 4, !tbaa !5
  %2406 = load i32, ptr %1439, align 4, !tbaa !5
  %2407 = call ptr @s2n_strerror(i32 noundef %2406, ptr noundef nonnull @.str.4) #11
  %2408 = load i32, ptr %1439, align 4, !tbaa !5
  %2409 = call ptr @s2n_strerror_debug(i32 noundef %2408, ptr noundef nonnull @.str.4) #11
  %2410 = load i32, ptr %1493, align 4, !tbaa !5
  %2411 = call ptr @strerror(i32 noundef %2410) #11
  %2412 = load i32, ptr %1493, align 4, !tbaa !5
  %2413 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2404, ptr noundef nonnull %.str.5.sink2003, i32 noundef %2405, ptr noundef nonnull @.str.43, ptr noundef nonnull @.str.1, i32 noundef 289, ptr noundef %2407, ptr noundef %2409, ptr noundef %2411, i32 noundef %2412) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2414:                                             ; preds = %2388
  store i32 0, ptr %1439, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #11
  store i32 0, ptr %1493, align 4, !tbaa !5
  %2415 = add nuw nsw i32 %.08551164, 1
  %exitcond1169.not = icmp eq i32 %2415, 32
  br i1 %exitcond1169.not, label %2302, label %.preheader, !llvm.loop !63

2416:                                             ; preds = %2302
  %2417 = load i32, ptr %1493, align 4, !tbaa !5
  %2418 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2419 = call i32 @s2n_print_stacktrace(ptr noundef %2418) #11
  %2420 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2421 = trunc nuw i8 %2420 to i1
  br i1 %2421, label %2422, label %2426

2422:                                             ; preds = %2416
  %2423 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2424 = call i32 @fileno(ptr noundef %2423) #11
  %2425 = call i32 @isatty(i32 noundef %2424) #11
  %.not1079 = icmp eq i32 %2425, 0
  br i1 %.not1079, label %2426, label %2427

2426:                                             ; preds = %2422, %2416
  br label %2427

2427:                                             ; preds = %2422, %2426
  %.str.5.sink2012 = phi ptr [ @.str.5, %2426 ], [ @.str.2, %2422 ]
  store i32 %2417, ptr %1493, align 4, !tbaa !5
  %2428 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2429 = load i32, ptr @test_count, align 4, !tbaa !5
  %2430 = load i32, ptr %1439, align 4, !tbaa !5
  %2431 = call ptr @s2n_strerror(i32 noundef %2430, ptr noundef nonnull @.str.4) #11
  %2432 = load i32, ptr %1439, align 4, !tbaa !5
  %2433 = call ptr @s2n_strerror_debug(i32 noundef %2432, ptr noundef nonnull @.str.4) #11
  %2434 = load i32, ptr %1493, align 4, !tbaa !5
  %2435 = call ptr @strerror(i32 noundef %2434) #11
  %2436 = load i32, ptr %1493, align 4, !tbaa !5
  %2437 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2428, ptr noundef nonnull %.str.5.sink2012, i32 noundef %2429, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.1, i32 noundef 292, ptr noundef %2431, ptr noundef %2433, ptr noundef %2435, i32 noundef %2436) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2438:                                             ; preds = %2302
  %2439 = load i32, ptr @test_count, align 4, !tbaa !5
  %2440 = add nsw i32 %2439, 1
  store i32 %2440, ptr @test_count, align 4, !tbaa !5
  %2441 = call i32 @s2n_connection_free(ptr noundef nonnull %1833) #11
  %2442 = icmp eq i32 %2441, -1
  br i1 %2442, label %2443, label %2465

2443:                                             ; preds = %2438
  %2444 = load i32, ptr %1493, align 4, !tbaa !5
  %2445 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2446 = call i32 @s2n_print_stacktrace(ptr noundef %2445) #11
  %2447 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2448 = trunc nuw i8 %2447 to i1
  br i1 %2448, label %2449, label %2453

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

2453:                                             ; preds = %2449, %2443
  br label %2454

2454:                                             ; preds = %2449, %2453
  %.str.5.sink2021 = phi ptr [ @.str.5, %2453 ], [ @.str.2, %2449 ]
  store i32 %2444, ptr %1493, align 4, !tbaa !5
  %2455 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2456 = load i32, ptr @test_count, align 4, !tbaa !5
  %2457 = load i32, ptr %1439, align 4, !tbaa !5
  %2458 = call ptr @s2n_strerror(i32 noundef %2457, ptr noundef nonnull @.str.4) #11
  %2459 = load i32, ptr %1439, align 4, !tbaa !5
  %2460 = call ptr @s2n_strerror_debug(i32 noundef %2459, ptr noundef nonnull @.str.4) #11
  %2461 = load i32, ptr %1493, align 4, !tbaa !5
  %2462 = call ptr @strerror(i32 noundef %2461) #11
  %2463 = load i32, ptr %1493, align 4, !tbaa !5
  %2464 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2455, ptr noundef nonnull %.str.5.sink2021, i32 noundef %2456, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.1, i32 noundef 293, ptr noundef %2458, ptr noundef %2460, ptr noundef %2462, i32 noundef %2463) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2465:                                             ; preds = %2438
  %2466 = load i32, ptr @test_count, align 4, !tbaa !5
  %2467 = add nsw i32 %2466, 1
  store i32 %2467, ptr @test_count, align 4, !tbaa !5
  %2468 = call i32 (...) @s2n_disable_tls13_in_test() #11
  %2469 = icmp eq i32 %2468, -1
  br i1 %2469, label %2470, label %2492

2470:                                             ; preds = %2465
  %2471 = load i32, ptr %1493, align 4, !tbaa !5
  %2472 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2473 = call i32 @s2n_print_stacktrace(ptr noundef %2472) #11
  %2474 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2475 = trunc nuw i8 %2474 to i1
  br i1 %2475, label %2476, label %2480

2476:                                             ; preds = %2470
  %2477 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2478 = call i32 @fileno(ptr noundef %2477) #11
  %2479 = call i32 @isatty(i32 noundef %2478) #11
  %.not1077 = icmp eq i32 %2479, 0
  br i1 %.not1077, label %2480, label %2481

2480:                                             ; preds = %2476, %2470
  br label %2481

2481:                                             ; preds = %2476, %2480
  %.str.5.sink2030 = phi ptr [ @.str.5, %2480 ], [ @.str.2, %2476 ]
  store i32 %2471, ptr %1493, align 4, !tbaa !5
  %2482 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2483 = load i32, ptr @test_count, align 4, !tbaa !5
  %2484 = load i32, ptr %1439, align 4, !tbaa !5
  %2485 = call ptr @s2n_strerror(i32 noundef %2484, ptr noundef nonnull @.str.4) #11
  %2486 = load i32, ptr %1439, align 4, !tbaa !5
  %2487 = call ptr @s2n_strerror_debug(i32 noundef %2486, ptr noundef nonnull @.str.4) #11
  %2488 = load i32, ptr %1493, align 4, !tbaa !5
  %2489 = call ptr @strerror(i32 noundef %2488) #11
  %2490 = load i32, ptr %1493, align 4, !tbaa !5
  %2491 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2482, ptr noundef nonnull %.str.5.sink2030, i32 noundef %2483, ptr noundef nonnull @.str.8, ptr noundef nonnull @.str.1, i32 noundef 294, ptr noundef %2485, ptr noundef %2487, ptr noundef %2489, i32 noundef %2490) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2492:                                             ; preds = %2465
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %6) #11
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %5) #11
  %2493 = load i32, ptr @test_count, align 4, !tbaa !5
  %2494 = add nsw i32 %2493, 1
  store i32 %2494, ptr @test_count, align 4, !tbaa !5
  %2495 = call i32 (...) @s2n_enable_tls13_in_test() #11
  %2496 = icmp eq i32 %2495, -1
  br i1 %2496, label %2497, label %2519

2497:                                             ; preds = %2492
  %2498 = load i32, ptr %1493, align 4, !tbaa !5
  %2499 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2500 = call i32 @s2n_print_stacktrace(ptr noundef %2499) #11
  %2501 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2502 = trunc nuw i8 %2501 to i1
  br i1 %2502, label %2503, label %2507

2503:                                             ; preds = %2497
  %2504 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2505 = call i32 @fileno(ptr noundef %2504) #11
  %2506 = call i32 @isatty(i32 noundef %2505) #11
  %.not1076 = icmp eq i32 %2506, 0
  br i1 %.not1076, label %2507, label %2508

2507:                                             ; preds = %2503, %2497
  br label %2508

2508:                                             ; preds = %2503, %2507
  %.str.5.sink2039 = phi ptr [ @.str.5, %2507 ], [ @.str.2, %2503 ]
  store i32 %2498, ptr %1493, align 4, !tbaa !5
  %2509 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2510 = load i32, ptr @test_count, align 4, !tbaa !5
  %2511 = load i32, ptr %1439, align 4, !tbaa !5
  %2512 = call ptr @s2n_strerror(i32 noundef %2511, ptr noundef nonnull @.str.4) #11
  %2513 = load i32, ptr %1439, align 4, !tbaa !5
  %2514 = call ptr @s2n_strerror_debug(i32 noundef %2513, ptr noundef nonnull @.str.4) #11
  %2515 = load i32, ptr %1493, align 4, !tbaa !5
  %2516 = call ptr @strerror(i32 noundef %2515) #11
  %2517 = load i32, ptr %1493, align 4, !tbaa !5
  %2518 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2509, ptr noundef nonnull %.str.5.sink2039, i32 noundef %2510, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 299, ptr noundef %2512, ptr noundef %2514, ptr noundef %2516, i32 noundef %2517) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2519:                                             ; preds = %2492
  %2520 = load i32, ptr @test_count, align 4, !tbaa !5
  %2521 = add nsw i32 %2520, 1
  store i32 %2521, ptr @test_count, align 4, !tbaa !5
  %2522 = call ptr @s2n_config_new() #11
  %2523 = icmp eq ptr %2522, null
  br i1 %2523, label %2524, label %2546

2524:                                             ; preds = %2519
  %2525 = load i32, ptr %1493, align 4, !tbaa !5
  %2526 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2527 = call i32 @s2n_print_stacktrace(ptr noundef %2526) #11
  %2528 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2529 = trunc nuw i8 %2528 to i1
  br i1 %2529, label %2530, label %2534

2530:                                             ; preds = %2524
  %2531 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2532 = call i32 @fileno(ptr noundef %2531) #11
  %2533 = call i32 @isatty(i32 noundef %2532) #11
  %.not1075 = icmp eq i32 %2533, 0
  br i1 %.not1075, label %2534, label %2535

2534:                                             ; preds = %2530, %2524
  br label %2535

2535:                                             ; preds = %2530, %2534
  %.str.5.sink2048 = phi ptr [ @.str.5, %2534 ], [ @.str.2, %2530 ]
  store i32 %2525, ptr %1493, align 4, !tbaa !5
  %2536 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2537 = load i32, ptr @test_count, align 4, !tbaa !5
  %2538 = load i32, ptr %1439, align 4, !tbaa !5
  %2539 = call ptr @s2n_strerror(i32 noundef %2538, ptr noundef nonnull @.str.4) #11
  %2540 = load i32, ptr %1439, align 4, !tbaa !5
  %2541 = call ptr @s2n_strerror_debug(i32 noundef %2540, ptr noundef nonnull @.str.4) #11
  %2542 = load i32, ptr %1493, align 4, !tbaa !5
  %2543 = call ptr @strerror(i32 noundef %2542) #11
  %2544 = load i32, ptr %1493, align 4, !tbaa !5
  %2545 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2536, ptr noundef nonnull %.str.5.sink2048, i32 noundef %2537, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.1, i32 noundef 305, ptr noundef %2539, ptr noundef %2541, ptr noundef %2543, i32 noundef %2544) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2546:                                             ; preds = %2519
  %2547 = load i32, ptr @test_count, align 4, !tbaa !5
  %2548 = add nsw i32 %2547, 1
  store i32 %2548, ptr @test_count, align 4, !tbaa !5
  %2549 = call ptr @s2n_connection_new(i32 noundef 0) #11
  %2550 = icmp eq ptr %2549, null
  br i1 %2550, label %2551, label %2573

2551:                                             ; preds = %2546
  %2552 = load i32, ptr %1493, align 4, !tbaa !5
  %2553 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2554 = call i32 @s2n_print_stacktrace(ptr noundef %2553) #11
  %2555 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2556 = trunc nuw i8 %2555 to i1
  br i1 %2556, label %2557, label %2561

2557:                                             ; preds = %2551
  %2558 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2559 = call i32 @fileno(ptr noundef %2558) #11
  %2560 = call i32 @isatty(i32 noundef %2559) #11
  %.not1074 = icmp eq i32 %2560, 0
  br i1 %.not1074, label %2561, label %2562

2561:                                             ; preds = %2557, %2551
  br label %2562

2562:                                             ; preds = %2557, %2561
  %.str.5.sink2057 = phi ptr [ @.str.5, %2561 ], [ @.str.2, %2557 ]
  store i32 %2552, ptr %1493, align 4, !tbaa !5
  %2563 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2564 = load i32, ptr @test_count, align 4, !tbaa !5
  %2565 = load i32, ptr %1439, align 4, !tbaa !5
  %2566 = call ptr @s2n_strerror(i32 noundef %2565, ptr noundef nonnull @.str.4) #11
  %2567 = load i32, ptr %1439, align 4, !tbaa !5
  %2568 = call ptr @s2n_strerror_debug(i32 noundef %2567, ptr noundef nonnull @.str.4) #11
  %2569 = load i32, ptr %1493, align 4, !tbaa !5
  %2570 = call ptr @strerror(i32 noundef %2569) #11
  %2571 = load i32, ptr %1493, align 4, !tbaa !5
  %2572 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2563, ptr noundef nonnull %.str.5.sink2057, i32 noundef %2564, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.1, i32 noundef 306, ptr noundef %2566, ptr noundef %2568, ptr noundef %2570, i32 noundef %2571) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2573:                                             ; preds = %2546
  %2574 = load i32, ptr @test_count, align 4, !tbaa !5
  %2575 = add nsw i32 %2574, 1
  store i32 %2575, ptr @test_count, align 4, !tbaa !5
  %2576 = call i32 @s2n_connection_set_config(ptr noundef nonnull %2549, ptr noundef nonnull %2522) #11
  %2577 = icmp eq i32 %2576, -1
  br i1 %2577, label %2578, label %2600

2578:                                             ; preds = %2573
  %2579 = load i32, ptr %1493, align 4, !tbaa !5
  %2580 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2581 = call i32 @s2n_print_stacktrace(ptr noundef %2580) #11
  %2582 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2583 = trunc nuw i8 %2582 to i1
  br i1 %2583, label %2584, label %2588

2584:                                             ; preds = %2578
  %2585 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2586 = call i32 @fileno(ptr noundef %2585) #11
  %2587 = call i32 @isatty(i32 noundef %2586) #11
  %.not1073 = icmp eq i32 %2587, 0
  br i1 %.not1073, label %2588, label %2589

2588:                                             ; preds = %2584, %2578
  br label %2589

2589:                                             ; preds = %2584, %2588
  %.str.5.sink2066 = phi ptr [ @.str.5, %2588 ], [ @.str.2, %2584 ]
  store i32 %2579, ptr %1493, align 4, !tbaa !5
  %2590 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2591 = load i32, ptr @test_count, align 4, !tbaa !5
  %2592 = load i32, ptr %1439, align 4, !tbaa !5
  %2593 = call ptr @s2n_strerror(i32 noundef %2592, ptr noundef nonnull @.str.4) #11
  %2594 = load i32, ptr %1439, align 4, !tbaa !5
  %2595 = call ptr @s2n_strerror_debug(i32 noundef %2594, ptr noundef nonnull @.str.4) #11
  %2596 = load i32, ptr %1493, align 4, !tbaa !5
  %2597 = call ptr @strerror(i32 noundef %2596) #11
  %2598 = load i32, ptr %1493, align 4, !tbaa !5
  %2599 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2590, ptr noundef nonnull %.str.5.sink2066, i32 noundef %2591, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 307, ptr noundef %2593, ptr noundef %2595, ptr noundef %2597, i32 noundef %2598) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2600:                                             ; preds = %2573
  %2601 = load i32, ptr @test_count, align 4, !tbaa !5
  %2602 = add nsw i32 %2601, 1
  store i32 %2602, ptr @test_count, align 4, !tbaa !5
  %2603 = call ptr @s2n_config_new() #11
  %2604 = icmp eq ptr %2603, null
  br i1 %2604, label %2605, label %2627

2605:                                             ; preds = %2600
  %2606 = load i32, ptr %1493, align 4, !tbaa !5
  %2607 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2608 = call i32 @s2n_print_stacktrace(ptr noundef %2607) #11
  %2609 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2610 = trunc nuw i8 %2609 to i1
  br i1 %2610, label %2611, label %2615

2611:                                             ; preds = %2605
  %2612 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2613 = call i32 @fileno(ptr noundef %2612) #11
  %2614 = call i32 @isatty(i32 noundef %2613) #11
  %.not1072 = icmp eq i32 %2614, 0
  br i1 %.not1072, label %2615, label %2616

2615:                                             ; preds = %2611, %2605
  br label %2616

2616:                                             ; preds = %2611, %2615
  %.str.5.sink2075 = phi ptr [ @.str.5, %2615 ], [ @.str.2, %2611 ]
  store i32 %2606, ptr %1493, align 4, !tbaa !5
  %2617 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2618 = load i32, ptr @test_count, align 4, !tbaa !5
  %2619 = load i32, ptr %1439, align 4, !tbaa !5
  %2620 = call ptr @s2n_strerror(i32 noundef %2619, ptr noundef nonnull @.str.4) #11
  %2621 = load i32, ptr %1439, align 4, !tbaa !5
  %2622 = call ptr @s2n_strerror_debug(i32 noundef %2621, ptr noundef nonnull @.str.4) #11
  %2623 = load i32, ptr %1493, align 4, !tbaa !5
  %2624 = call ptr @strerror(i32 noundef %2623) #11
  %2625 = load i32, ptr %1493, align 4, !tbaa !5
  %2626 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2617, ptr noundef nonnull %.str.5.sink2075, i32 noundef %2618, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.1, i32 noundef 309, ptr noundef %2620, ptr noundef %2622, ptr noundef %2624, i32 noundef %2625) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2627:                                             ; preds = %2600
  %2628 = load i32, ptr @test_count, align 4, !tbaa !5
  %2629 = add nsw i32 %2628, 1
  store i32 %2629, ptr @test_count, align 4, !tbaa !5
  %2630 = call ptr @s2n_connection_new(i32 noundef 1) #11
  %2631 = icmp eq ptr %2630, null
  br i1 %2631, label %2632, label %2654

2632:                                             ; preds = %2627
  %2633 = load i32, ptr %1493, align 4, !tbaa !5
  %2634 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2635 = call i32 @s2n_print_stacktrace(ptr noundef %2634) #11
  %2636 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2637 = trunc nuw i8 %2636 to i1
  br i1 %2637, label %2638, label %2642

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

2642:                                             ; preds = %2638, %2632
  br label %2643

2643:                                             ; preds = %2638, %2642
  %.str.5.sink2084 = phi ptr [ @.str.5, %2642 ], [ @.str.2, %2638 ]
  store i32 %2633, ptr %1493, align 4, !tbaa !5
  %2644 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2645 = load i32, ptr @test_count, align 4, !tbaa !5
  %2646 = load i32, ptr %1439, align 4, !tbaa !5
  %2647 = call ptr @s2n_strerror(i32 noundef %2646, ptr noundef nonnull @.str.4) #11
  %2648 = load i32, ptr %1439, align 4, !tbaa !5
  %2649 = call ptr @s2n_strerror_debug(i32 noundef %2648, ptr noundef nonnull @.str.4) #11
  %2650 = load i32, ptr %1493, align 4, !tbaa !5
  %2651 = call ptr @strerror(i32 noundef %2650) #11
  %2652 = load i32, ptr %1493, align 4, !tbaa !5
  %2653 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2644, ptr noundef nonnull %.str.5.sink2084, i32 noundef %2645, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.1, i32 noundef 310, ptr noundef %2647, ptr noundef %2649, ptr noundef %2651, i32 noundef %2652) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2654:                                             ; preds = %2627
  %2655 = load i32, ptr @test_count, align 4, !tbaa !5
  %2656 = add nsw i32 %2655, 1
  store i32 %2656, ptr @test_count, align 4, !tbaa !5
  %2657 = call i32 @s2n_connection_set_config(ptr noundef nonnull %2630, ptr noundef nonnull %2603) #11
  %2658 = icmp eq i32 %2657, -1
  br i1 %2658, label %2659, label %2681

2659:                                             ; preds = %2654
  %2660 = load i32, ptr %1493, align 4, !tbaa !5
  %2661 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2662 = call i32 @s2n_print_stacktrace(ptr noundef %2661) #11
  %2663 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2664 = trunc nuw i8 %2663 to i1
  br i1 %2664, label %2665, label %2669

2665:                                             ; preds = %2659
  %2666 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2667 = call i32 @fileno(ptr noundef %2666) #11
  %2668 = call i32 @isatty(i32 noundef %2667) #11
  %.not1070 = icmp eq i32 %2668, 0
  br i1 %.not1070, label %2669, label %2670

2669:                                             ; preds = %2665, %2659
  br label %2670

2670:                                             ; preds = %2665, %2669
  %.str.5.sink2093 = phi ptr [ @.str.5, %2669 ], [ @.str.2, %2665 ]
  store i32 %2660, ptr %1493, align 4, !tbaa !5
  %2671 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2672 = load i32, ptr @test_count, align 4, !tbaa !5
  %2673 = load i32, ptr %1439, align 4, !tbaa !5
  %2674 = call ptr @s2n_strerror(i32 noundef %2673, ptr noundef nonnull @.str.4) #11
  %2675 = load i32, ptr %1439, align 4, !tbaa !5
  %2676 = call ptr @s2n_strerror_debug(i32 noundef %2675, ptr noundef nonnull @.str.4) #11
  %2677 = load i32, ptr %1493, align 4, !tbaa !5
  %2678 = call ptr @strerror(i32 noundef %2677) #11
  %2679 = load i32, ptr %1493, align 4, !tbaa !5
  %2680 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2671, ptr noundef nonnull %.str.5.sink2093, i32 noundef %2672, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.1, i32 noundef 311, ptr noundef %2674, ptr noundef %2676, ptr noundef %2678, i32 noundef %2679) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2681:                                             ; preds = %2654
  %2682 = getelementptr inbounds i8, ptr %2630, i64 218
  store i8 34, ptr %2682, align 2, !tbaa !64
  %2683 = load ptr, ptr @s2n_all_supported_curves_list, align 8, !tbaa !9
  %2684 = getelementptr inbounds i8, ptr %2549, i64 656
  store ptr %2683, ptr %2684, align 8, !tbaa !50
  %2685 = getelementptr inbounds i8, ptr %2549, i64 220
  store i8 32, ptr %2685, align 4, !tbaa !42
  %2686 = load i32, ptr @test_count, align 4, !tbaa !5
  %2687 = add nsw i32 %2686, 1
  store i32 %2687, ptr @test_count, align 4, !tbaa !5
  %2688 = call i32 @s2n_server_hello_send(ptr noundef nonnull %2549) #11
  %2689 = icmp eq i32 %2688, -1
  br i1 %2689, label %2690, label %2712

2690:                                             ; preds = %2681
  %2691 = load i32, ptr %1493, align 4, !tbaa !5
  %2692 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2693 = call i32 @s2n_print_stacktrace(ptr noundef %2692) #11
  %2694 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2695 = trunc nuw i8 %2694 to i1
  br i1 %2695, label %2696, label %2700

2696:                                             ; preds = %2690
  %2697 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2698 = call i32 @fileno(ptr noundef %2697) #11
  %2699 = call i32 @isatty(i32 noundef %2698) #11
  %.not1069 = icmp eq i32 %2699, 0
  br i1 %.not1069, label %2700, label %2701

2700:                                             ; preds = %2696, %2690
  br label %2701

2701:                                             ; preds = %2696, %2700
  %.str.5.sink2102 = phi ptr [ @.str.5, %2700 ], [ @.str.2, %2696 ]
  store i32 %2691, ptr %1493, align 4, !tbaa !5
  %2702 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2703 = load i32, ptr @test_count, align 4, !tbaa !5
  %2704 = load i32, ptr %1439, align 4, !tbaa !5
  %2705 = call ptr @s2n_strerror(i32 noundef %2704, ptr noundef nonnull @.str.4) #11
  %2706 = load i32, ptr %1439, align 4, !tbaa !5
  %2707 = call ptr @s2n_strerror_debug(i32 noundef %2706, ptr noundef nonnull @.str.4) #11
  %2708 = load i32, ptr %1493, align 4, !tbaa !5
  %2709 = call ptr @strerror(i32 noundef %2708) #11
  %2710 = load i32, ptr %1493, align 4, !tbaa !5
  %2711 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2702, ptr noundef nonnull %.str.5.sink2102, i32 noundef %2703, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.1, i32 noundef 321, ptr noundef %2705, ptr noundef %2707, ptr noundef %2709, i32 noundef %2710) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2712:                                             ; preds = %2681
  %2713 = getelementptr inbounds i8, ptr %2549, i64 2016
  %2714 = getelementptr inbounds i8, ptr %2549, i64 2044
  %2715 = load i32, ptr %2714, align 4, !tbaa !58
  %2716 = getelementptr inbounds i8, ptr %2549, i64 2040
  %2717 = load i32, ptr %2716, align 8, !tbaa !59
  %2718 = sub i32 %2715, %2717
  %2719 = load i32, ptr @test_count, align 4, !tbaa !5
  %2720 = add nsw i32 %2719, 1
  store i32 %2720, ptr @test_count, align 4, !tbaa !5
  %2721 = getelementptr inbounds i8, ptr %2630, i64 2016
  %2722 = call i32 @s2n_stuffer_copy(ptr noundef nonnull %2713, ptr noundef nonnull %2721, i32 noundef %2718) #11
  %2723 = icmp eq i32 %2722, -1
  br i1 %2723, label %2724, label %2746

2724:                                             ; preds = %2712
  %2725 = load i32, ptr %1493, align 4, !tbaa !5
  %2726 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2727 = call i32 @s2n_print_stacktrace(ptr noundef %2726) #11
  %2728 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2729 = trunc nuw i8 %2728 to i1
  br i1 %2729, label %2730, label %2734

2730:                                             ; preds = %2724
  %2731 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2732 = call i32 @fileno(ptr noundef %2731) #11
  %2733 = call i32 @isatty(i32 noundef %2732) #11
  %.not1068 = icmp eq i32 %2733, 0
  br i1 %.not1068, label %2734, label %2735

2734:                                             ; preds = %2730, %2724
  br label %2735

2735:                                             ; preds = %2730, %2734
  %.str.5.sink2111 = phi ptr [ @.str.5, %2734 ], [ @.str.2, %2730 ]
  store i32 %2725, ptr %1493, align 4, !tbaa !5
  %2736 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2737 = load i32, ptr @test_count, align 4, !tbaa !5
  %2738 = load i32, ptr %1439, align 4, !tbaa !5
  %2739 = call ptr @s2n_strerror(i32 noundef %2738, ptr noundef nonnull @.str.4) #11
  %2740 = load i32, ptr %1439, align 4, !tbaa !5
  %2741 = call ptr @s2n_strerror_debug(i32 noundef %2740, ptr noundef nonnull @.str.4) #11
  %2742 = load i32, ptr %1493, align 4, !tbaa !5
  %2743 = call ptr @strerror(i32 noundef %2742) #11
  %2744 = load i32, ptr %1493, align 4, !tbaa !5
  %2745 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2736, ptr noundef nonnull %.str.5.sink2111, i32 noundef %2737, ptr noundef nonnull @.str.34, ptr noundef nonnull @.str.1, i32 noundef 325, ptr noundef %2739, ptr noundef %2741, ptr noundef %2743, i32 noundef %2744) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2746:                                             ; preds = %2712
  %2747 = load i32, ptr @test_count, align 4, !tbaa !5
  %2748 = add nsw i32 %2747, 1
  store i32 %2748, ptr @test_count, align 4, !tbaa !5
  %2749 = load ptr, ptr %2721, align 8, !tbaa !43
  %2750 = getelementptr inbounds i8, ptr %2749, i64 26
  %bcmp = call i32 @bcmp(ptr noundef nonnull dereferenceable(8) %2750, ptr noundef nonnull dereferenceable(8) @tls11_downgrade_protection_check_bytes, i64 8)
  %2751 = icmp eq i32 %bcmp, 0
  br i1 %2751, label %2774, label %2752

2752:                                             ; preds = %2746
  %2753 = load i32, ptr %1493, align 4, !tbaa !5
  %2754 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2755 = call i32 @s2n_print_stacktrace(ptr noundef %2754) #11
  %2756 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2757 = trunc nuw i8 %2756 to i1
  br i1 %2757, label %2758, label %2762

2758:                                             ; preds = %2752
  %2759 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2760 = call i32 @fileno(ptr noundef %2759) #11
  %2761 = call i32 @isatty(i32 noundef %2760) #11
  %.not904 = icmp eq i32 %2761, 0
  br i1 %.not904, label %2762, label %2763

2762:                                             ; preds = %2758, %2752
  br label %2763

2763:                                             ; preds = %2758, %2762
  %.str.5.sink2120 = phi ptr [ @.str.5, %2762 ], [ @.str.2, %2758 ]
  store i32 %2753, ptr %1493, align 4, !tbaa !5
  %2764 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2765 = load i32, ptr @test_count, align 4, !tbaa !5
  %2766 = load i32, ptr %1439, align 4, !tbaa !5
  %2767 = call ptr @s2n_strerror(i32 noundef %2766, ptr noundef nonnull @.str.4) #11
  %2768 = load i32, ptr %1439, align 4, !tbaa !5
  %2769 = call ptr @s2n_strerror_debug(i32 noundef %2768, ptr noundef nonnull @.str.4) #11
  %2770 = load i32, ptr %1493, align 4, !tbaa !5
  %2771 = call ptr @strerror(i32 noundef %2770) #11
  %2772 = load i32, ptr %1493, align 4, !tbaa !5
  %2773 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2764, ptr noundef nonnull %.str.5.sink2120, i32 noundef %2765, ptr noundef nonnull @.str.55, ptr noundef nonnull @.str.1, i32 noundef 329, ptr noundef %2767, ptr noundef %2769, ptr noundef %2771, i32 noundef %2772) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2774:                                             ; preds = %2746
  %2775 = add nsw i32 %2747, 2
  store i32 %2775, ptr @test_count, align 4, !tbaa !5
  %2776 = call i32 @s2n_server_hello_recv(ptr noundef nonnull %2630) #11
  %2777 = icmp eq i32 %2776, -1
  br i1 %2777, label %2800, label %2778

2778:                                             ; preds = %2774
  %2779 = load i32, ptr %1493, align 4, !tbaa !5
  %2780 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2781 = call i32 @s2n_print_stacktrace(ptr noundef %2780) #11
  %2782 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2783 = trunc nuw i8 %2782 to i1
  br i1 %2783, label %2784, label %2788

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

2788:                                             ; preds = %2784, %2778
  br label %2789

2789:                                             ; preds = %2784, %2788
  %.str.5.sink2129 = phi ptr [ @.str.5, %2788 ], [ @.str.2, %2784 ]
  store i32 %2779, ptr %1493, align 4, !tbaa !5
  %2790 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2791 = load i32, ptr @test_count, align 4, !tbaa !5
  %2792 = load i32, ptr %1439, align 4, !tbaa !5
  %2793 = call ptr @s2n_strerror(i32 noundef %2792, ptr noundef nonnull @.str.4) #11
  %2794 = load i32, ptr %1439, align 4, !tbaa !5
  %2795 = call ptr @s2n_strerror_debug(i32 noundef %2794, ptr noundef nonnull @.str.4) #11
  %2796 = load i32, ptr %1493, align 4, !tbaa !5
  %2797 = call ptr @strerror(i32 noundef %2796) #11
  %2798 = load i32, ptr %1493, align 4, !tbaa !5
  %2799 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2790, ptr noundef nonnull %.str.5.sink2129, i32 noundef %2791, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.1, i32 noundef 330, ptr noundef %2793, ptr noundef %2795, ptr noundef %2797, i32 noundef %2798) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2800:                                             ; preds = %2774
  %2801 = load i32, ptr @test_count, align 4, !tbaa !5
  %2802 = add nsw i32 %2801, 1
  store i32 %2802, ptr @test_count, align 4, !tbaa !5
  %2803 = load i32, ptr %1439, align 4, !tbaa !5
  %2804 = icmp eq i32 %2803, 335544387
  br i1 %2804, label %2827, label %2805

2805:                                             ; preds = %2800
  %2806 = load i32, ptr %1493, align 4, !tbaa !5
  %2807 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2808 = call i32 @s2n_print_stacktrace(ptr noundef %2807) #11
  %2809 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2810 = trunc nuw i8 %2809 to i1
  br i1 %2810, label %2811, label %2815

2811:                                             ; preds = %2805
  %2812 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2813 = call i32 @fileno(ptr noundef %2812) #11
  %2814 = call i32 @isatty(i32 noundef %2813) #11
  %.not906 = icmp eq i32 %2814, 0
  br i1 %.not906, label %2815, label %2816

2815:                                             ; preds = %2811, %2805
  br label %2816

2816:                                             ; preds = %2811, %2815
  %.str.5.sink2138 = phi ptr [ @.str.5, %2815 ], [ @.str.2, %2811 ]
  store i32 %2806, ptr %1493, align 4, !tbaa !5
  %2817 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2818 = load i32, ptr @test_count, align 4, !tbaa !5
  %2819 = load i32, ptr %1439, align 4, !tbaa !5
  %2820 = call ptr @s2n_strerror(i32 noundef %2819, ptr noundef nonnull @.str.4) #11
  %2821 = load i32, ptr %1439, align 4, !tbaa !5
  %2822 = call ptr @s2n_strerror_debug(i32 noundef %2821, ptr noundef nonnull @.str.4) #11
  %2823 = load i32, ptr %1493, align 4, !tbaa !5
  %2824 = call ptr @strerror(i32 noundef %2823) #11
  %2825 = load i32, ptr %1493, align 4, !tbaa !5
  %2826 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2817, ptr noundef nonnull %.str.5.sink2138, i32 noundef %2818, ptr noundef nonnull @.str.56, ptr noundef nonnull @.str.1, i32 noundef 330, ptr noundef %2820, ptr noundef %2822, ptr noundef %2824, i32 noundef %2825) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2827:                                             ; preds = %2800
  %2828 = add nsw i32 %2801, 2
  store i32 %2828, ptr @test_count, align 4, !tbaa !5
  %2829 = call ptr @s2n_strerror_debug(i32 noundef 335544387, ptr noundef nonnull @.str.4) #11
  %2830 = icmp eq ptr %2829, null
  br i1 %2830, label %2831, label %2853

2831:                                             ; preds = %2827
  %2832 = load i32, ptr %1493, align 4, !tbaa !5
  %2833 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2834 = call i32 @s2n_print_stacktrace(ptr noundef %2833) #11
  %2835 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2836 = trunc nuw i8 %2835 to i1
  br i1 %2836, label %2837, label %2841

2837:                                             ; preds = %2831
  %2838 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2839 = call i32 @fileno(ptr noundef %2838) #11
  %2840 = call i32 @isatty(i32 noundef %2839) #11
  %.not1067 = icmp eq i32 %2840, 0
  br i1 %.not1067, label %2841, label %2842

2841:                                             ; preds = %2837, %2831
  br label %2842

2842:                                             ; preds = %2837, %2841
  %.str.5.sink2147 = phi ptr [ @.str.5, %2841 ], [ @.str.2, %2837 ]
  store i32 %2832, ptr %1493, align 4, !tbaa !5
  %2843 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2844 = load i32, ptr @test_count, align 4, !tbaa !5
  %2845 = load i32, ptr %1439, align 4, !tbaa !5
  %2846 = call ptr @s2n_strerror(i32 noundef %2845, ptr noundef nonnull @.str.4) #11
  %2847 = load i32, ptr %1439, align 4, !tbaa !5
  %2848 = call ptr @s2n_strerror_debug(i32 noundef %2847, ptr noundef nonnull @.str.4) #11
  %2849 = load i32, ptr %1493, align 4, !tbaa !5
  %2850 = call ptr @strerror(i32 noundef %2849) #11
  %2851 = load i32, ptr %1493, align 4, !tbaa !5
  %2852 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2843, ptr noundef nonnull %.str.5.sink2147, i32 noundef %2844, ptr noundef nonnull @.str.43, ptr noundef nonnull @.str.1, i32 noundef 330, ptr noundef %2846, ptr noundef %2848, ptr noundef %2850, i32 noundef %2851) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2853:                                             ; preds = %2827
  store i32 0, ptr %1439, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #11
  store i32 0, ptr %1493, align 4, !tbaa !5
  %2854 = load i32, ptr @test_count, align 4, !tbaa !5
  %2855 = add nsw i32 %2854, 1
  store i32 %2855, ptr @test_count, align 4, !tbaa !5
  %2856 = getelementptr inbounds i8, ptr %2630, i64 2044
  %2857 = load i32, ptr %2856, align 4, !tbaa !45
  %2858 = getelementptr inbounds i8, ptr %2630, i64 2040
  %2859 = load i32, ptr %2858, align 8, !tbaa !46
  %2860 = icmp eq i32 %2857, %2859
  br i1 %2860, label %2883, label %2861

2861:                                             ; preds = %2853
  %2862 = load i32, ptr %1493, align 4, !tbaa !5
  %2863 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2864 = call i32 @s2n_print_stacktrace(ptr noundef %2863) #11
  %2865 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2866 = trunc nuw i8 %2865 to i1
  br i1 %2866, label %2867, label %2871

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

2871:                                             ; preds = %2867, %2861
  br label %2872

2872:                                             ; preds = %2867, %2871
  %.str.5.sink2156 = phi ptr [ @.str.5, %2871 ], [ @.str.2, %2867 ]
  store i32 %2862, ptr %1493, align 4, !tbaa !5
  %2873 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2874 = load i32, ptr @test_count, align 4, !tbaa !5
  %2875 = load i32, ptr %1439, align 4, !tbaa !5
  %2876 = call ptr @s2n_strerror(i32 noundef %2875, ptr noundef nonnull @.str.4) #11
  %2877 = load i32, ptr %1439, align 4, !tbaa !5
  %2878 = call ptr @s2n_strerror_debug(i32 noundef %2877, ptr noundef nonnull @.str.4) #11
  %2879 = load i32, ptr %1493, align 4, !tbaa !5
  %2880 = call ptr @strerror(i32 noundef %2879) #11
  %2881 = load i32, ptr %1493, align 4, !tbaa !5
  %2882 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2873, ptr noundef nonnull %.str.5.sink2156, i32 noundef %2874, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.1, i32 noundef 332, ptr noundef %2876, ptr noundef %2878, ptr noundef %2880, i32 noundef %2881) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2883:                                             ; preds = %2853
  %2884 = add nsw i32 %2854, 2
  store i32 %2884, ptr @test_count, align 4, !tbaa !5
  %2885 = call i32 @s2n_config_free(ptr noundef nonnull %2603) #11
  %2886 = icmp eq i32 %2885, -1
  br i1 %2886, label %2887, label %2909

2887:                                             ; preds = %2883
  %2888 = load i32, ptr %1493, align 4, !tbaa !5
  %2889 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2890 = call i32 @s2n_print_stacktrace(ptr noundef %2889) #11
  %2891 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2892 = trunc nuw i8 %2891 to i1
  br i1 %2892, label %2893, label %2897

2893:                                             ; preds = %2887
  %2894 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2895 = call i32 @fileno(ptr noundef %2894) #11
  %2896 = call i32 @isatty(i32 noundef %2895) #11
  %.not1066 = icmp eq i32 %2896, 0
  br i1 %.not1066, label %2897, label %2898

2897:                                             ; preds = %2893, %2887
  br label %2898

2898:                                             ; preds = %2893, %2897
  %.str.5.sink2165 = phi ptr [ @.str.5, %2897 ], [ @.str.2, %2893 ]
  store i32 %2888, ptr %1493, align 4, !tbaa !5
  %2899 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2900 = load i32, ptr @test_count, align 4, !tbaa !5
  %2901 = load i32, ptr %1439, align 4, !tbaa !5
  %2902 = call ptr @s2n_strerror(i32 noundef %2901, ptr noundef nonnull @.str.4) #11
  %2903 = load i32, ptr %1439, align 4, !tbaa !5
  %2904 = call ptr @s2n_strerror_debug(i32 noundef %2903, ptr noundef nonnull @.str.4) #11
  %2905 = load i32, ptr %1493, align 4, !tbaa !5
  %2906 = call ptr @strerror(i32 noundef %2905) #11
  %2907 = load i32, ptr %1493, align 4, !tbaa !5
  %2908 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2899, ptr noundef nonnull %.str.5.sink2165, i32 noundef %2900, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.1, i32 noundef 334, ptr noundef %2902, ptr noundef %2904, ptr noundef %2906, i32 noundef %2907) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2909:                                             ; preds = %2883
  %2910 = load i32, ptr @test_count, align 4, !tbaa !5
  %2911 = add nsw i32 %2910, 1
  store i32 %2911, ptr @test_count, align 4, !tbaa !5
  %2912 = call i32 @s2n_config_free(ptr noundef nonnull %2522) #11
  %2913 = icmp eq i32 %2912, -1
  br i1 %2913, label %2914, label %2936

2914:                                             ; preds = %2909
  %2915 = load i32, ptr %1493, align 4, !tbaa !5
  %2916 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2917 = call i32 @s2n_print_stacktrace(ptr noundef %2916) #11
  %2918 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2919 = trunc nuw i8 %2918 to i1
  br i1 %2919, label %2920, label %2924

2920:                                             ; preds = %2914
  %2921 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2922 = call i32 @fileno(ptr noundef %2921) #11
  %2923 = call i32 @isatty(i32 noundef %2922) #11
  %.not1065 = icmp eq i32 %2923, 0
  br i1 %.not1065, label %2924, label %2925

2924:                                             ; preds = %2920, %2914
  br label %2925

2925:                                             ; preds = %2920, %2924
  %.str.5.sink2174 = phi ptr [ @.str.5, %2924 ], [ @.str.2, %2920 ]
  store i32 %2915, ptr %1493, align 4, !tbaa !5
  %2926 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2927 = load i32, ptr @test_count, align 4, !tbaa !5
  %2928 = load i32, ptr %1439, align 4, !tbaa !5
  %2929 = call ptr @s2n_strerror(i32 noundef %2928, ptr noundef nonnull @.str.4) #11
  %2930 = load i32, ptr %1439, align 4, !tbaa !5
  %2931 = call ptr @s2n_strerror_debug(i32 noundef %2930, ptr noundef nonnull @.str.4) #11
  %2932 = load i32, ptr %1493, align 4, !tbaa !5
  %2933 = call ptr @strerror(i32 noundef %2932) #11
  %2934 = load i32, ptr %1493, align 4, !tbaa !5
  %2935 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2926, ptr noundef nonnull %.str.5.sink2174, i32 noundef %2927, ptr noundef nonnull @.str.38, ptr noundef nonnull @.str.1, i32 noundef 335, ptr noundef %2929, ptr noundef %2931, ptr noundef %2933, i32 noundef %2934) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2936:                                             ; preds = %2909
  %2937 = load i32, ptr @test_count, align 4, !tbaa !5
  %2938 = add nsw i32 %2937, 1
  store i32 %2938, ptr @test_count, align 4, !tbaa !5
  %2939 = call i32 @s2n_connection_free(ptr noundef nonnull %2630) #11
  %2940 = icmp eq i32 %2939, -1
  br i1 %2940, label %2941, label %2963

2941:                                             ; preds = %2936
  %2942 = load i32, ptr %1493, align 4, !tbaa !5
  %2943 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2944 = call i32 @s2n_print_stacktrace(ptr noundef %2943) #11
  %2945 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2946 = trunc nuw i8 %2945 to i1
  br i1 %2946, label %2947, label %2951

2947:                                             ; preds = %2941
  %2948 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2949 = call i32 @fileno(ptr noundef %2948) #11
  %2950 = call i32 @isatty(i32 noundef %2949) #11
  %.not1064 = icmp eq i32 %2950, 0
  br i1 %.not1064, label %2951, label %2952

2951:                                             ; preds = %2947, %2941
  br label %2952

2952:                                             ; preds = %2947, %2951
  %.str.5.sink2183 = phi ptr [ @.str.5, %2951 ], [ @.str.2, %2947 ]
  store i32 %2942, ptr %1493, align 4, !tbaa !5
  %2953 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2954 = load i32, ptr @test_count, align 4, !tbaa !5
  %2955 = load i32, ptr %1439, align 4, !tbaa !5
  %2956 = call ptr @s2n_strerror(i32 noundef %2955, ptr noundef nonnull @.str.4) #11
  %2957 = load i32, ptr %1439, align 4, !tbaa !5
  %2958 = call ptr @s2n_strerror_debug(i32 noundef %2957, ptr noundef nonnull @.str.4) #11
  %2959 = load i32, ptr %1493, align 4, !tbaa !5
  %2960 = call ptr @strerror(i32 noundef %2959) #11
  %2961 = load i32, ptr %1493, align 4, !tbaa !5
  %2962 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2953, ptr noundef nonnull %.str.5.sink2183, i32 noundef %2954, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.1, i32 noundef 336, ptr noundef %2956, ptr noundef %2958, ptr noundef %2960, i32 noundef %2961) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2963:                                             ; preds = %2936
  %2964 = load i32, ptr @test_count, align 4, !tbaa !5
  %2965 = add nsw i32 %2964, 1
  store i32 %2965, ptr @test_count, align 4, !tbaa !5
  %2966 = call i32 @s2n_connection_free(ptr noundef nonnull %2549) #11
  %2967 = icmp eq i32 %2966, -1
  br i1 %2967, label %2968, label %2990

2968:                                             ; preds = %2963
  %2969 = load i32, ptr %1493, align 4, !tbaa !5
  %2970 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2971 = call i32 @s2n_print_stacktrace(ptr noundef %2970) #11
  %2972 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2973 = trunc nuw i8 %2972 to i1
  br i1 %2973, label %2974, label %2978

2974:                                             ; preds = %2968
  %2975 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2976 = call i32 @fileno(ptr noundef %2975) #11
  %2977 = call i32 @isatty(i32 noundef %2976) #11
  %.not1063 = icmp eq i32 %2977, 0
  br i1 %.not1063, label %2978, label %2979

2978:                                             ; preds = %2974, %2968
  br label %2979

2979:                                             ; preds = %2974, %2978
  %.str.5.sink2192 = phi ptr [ @.str.5, %2978 ], [ @.str.2, %2974 ]
  store i32 %2969, ptr %1493, align 4, !tbaa !5
  %2980 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2981 = load i32, ptr @test_count, align 4, !tbaa !5
  %2982 = load i32, ptr %1439, align 4, !tbaa !5
  %2983 = call ptr @s2n_strerror(i32 noundef %2982, ptr noundef nonnull @.str.4) #11
  %2984 = load i32, ptr %1439, align 4, !tbaa !5
  %2985 = call ptr @s2n_strerror_debug(i32 noundef %2984, ptr noundef nonnull @.str.4) #11
  %2986 = load i32, ptr %1493, align 4, !tbaa !5
  %2987 = call ptr @strerror(i32 noundef %2986) #11
  %2988 = load i32, ptr %1493, align 4, !tbaa !5
  %2989 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2980, ptr noundef nonnull %.str.5.sink2192, i32 noundef %2981, ptr noundef nonnull @.str.40, ptr noundef nonnull @.str.1, i32 noundef 337, ptr noundef %2983, ptr noundef %2985, ptr noundef %2987, i32 noundef %2988) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2990:                                             ; preds = %2963
  %2991 = load i32, ptr @test_count, align 4, !tbaa !5
  %2992 = add nsw i32 %2991, 1
  store i32 %2992, ptr @test_count, align 4, !tbaa !5
  %2993 = call i32 (...) @s2n_disable_tls13_in_test() #11
  %2994 = icmp eq i32 %2993, -1
  br i1 %2994, label %2995, label %3017

2995:                                             ; preds = %2990
  %2996 = load i32, ptr %1493, align 4, !tbaa !5
  %2997 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2998 = call i32 @s2n_print_stacktrace(ptr noundef %2997) #11
  %2999 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3000 = trunc nuw i8 %2999 to i1
  br i1 %3000, label %3001, label %3005

3001:                                             ; preds = %2995
  %3002 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3003 = call i32 @fileno(ptr noundef %3002) #11
  %3004 = call i32 @isatty(i32 noundef %3003) #11
  %.not1062 = icmp eq i32 %3004, 0
  br i1 %.not1062, label %3005, label %3006

3005:                                             ; preds = %3001, %2995
  br label %3006

3006:                                             ; preds = %3001, %3005
  %.str.5.sink2201 = phi ptr [ @.str.5, %3005 ], [ @.str.2, %3001 ]
  store i32 %2996, ptr %1493, align 4, !tbaa !5
  %3007 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3008 = load i32, ptr @test_count, align 4, !tbaa !5
  %3009 = load i32, ptr %1439, align 4, !tbaa !5
  %3010 = call ptr @s2n_strerror(i32 noundef %3009, ptr noundef nonnull @.str.4) #11
  %3011 = load i32, ptr %1439, align 4, !tbaa !5
  %3012 = call ptr @s2n_strerror_debug(i32 noundef %3011, ptr noundef nonnull @.str.4) #11
  %3013 = load i32, ptr %1493, align 4, !tbaa !5
  %3014 = call ptr @strerror(i32 noundef %3013) #11
  %3015 = load i32, ptr %1493, align 4, !tbaa !5
  %3016 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3007, ptr noundef nonnull %.str.5.sink2201, i32 noundef %3008, ptr noundef nonnull @.str.8, ptr noundef nonnull @.str.1, i32 noundef 338, ptr noundef %3010, ptr noundef %3012, ptr noundef %3014, i32 noundef %3015) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3017:                                             ; preds = %2990
  %3018 = load i32, ptr @test_count, align 4, !tbaa !5
  %3019 = add nsw i32 %3018, 1
  store i32 %3019, ptr @test_count, align 4, !tbaa !5
  %3020 = call i32 (...) @s2n_enable_tls13_in_test() #11
  %3021 = icmp eq i32 %3020, -1
  br i1 %3021, label %3022, label %3044

3022:                                             ; preds = %3017
  %3023 = load i32, ptr %1493, align 4, !tbaa !5
  %3024 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3025 = call i32 @s2n_print_stacktrace(ptr noundef %3024) #11
  %3026 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3027 = trunc nuw i8 %3026 to i1
  br i1 %3027, label %3028, label %3032

3028:                                             ; preds = %3022
  %3029 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3030 = call i32 @fileno(ptr noundef %3029) #11
  %3031 = call i32 @isatty(i32 noundef %3030) #11
  %.not1061 = icmp eq i32 %3031, 0
  br i1 %.not1061, label %3032, label %3033

3032:                                             ; preds = %3028, %3022
  br label %3033

3033:                                             ; preds = %3028, %3032
  %.str.5.sink2210 = phi ptr [ @.str.5, %3032 ], [ @.str.2, %3028 ]
  store i32 %3023, ptr %1493, align 4, !tbaa !5
  %3034 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3035 = load i32, ptr @test_count, align 4, !tbaa !5
  %3036 = load i32, ptr %1439, align 4, !tbaa !5
  %3037 = call ptr @s2n_strerror(i32 noundef %3036, ptr noundef nonnull @.str.4) #11
  %3038 = load i32, ptr %1439, align 4, !tbaa !5
  %3039 = call ptr @s2n_strerror_debug(i32 noundef %3038, ptr noundef nonnull @.str.4) #11
  %3040 = load i32, ptr %1493, align 4, !tbaa !5
  %3041 = call ptr @strerror(i32 noundef %3040) #11
  %3042 = load i32, ptr %1493, align 4, !tbaa !5
  %3043 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3034, ptr noundef nonnull %.str.5.sink2210, i32 noundef %3035, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 343, ptr noundef %3037, ptr noundef %3039, ptr noundef %3041, i32 noundef %3042) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3044:                                             ; preds = %3017
  %3045 = load i32, ptr @test_count, align 4, !tbaa !5
  %3046 = add nsw i32 %3045, 1
  store i32 %3046, ptr @test_count, align 4, !tbaa !5
  %3047 = call ptr @s2n_config_new() #11
  %3048 = icmp eq ptr %3047, null
  br i1 %3048, label %3049, label %3071

3049:                                             ; preds = %3044
  %3050 = load i32, ptr %1493, align 4, !tbaa !5
  %3051 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3052 = call i32 @s2n_print_stacktrace(ptr noundef %3051) #11
  %3053 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3054 = trunc nuw i8 %3053 to i1
  br i1 %3054, label %3055, label %3059

3055:                                             ; preds = %3049
  %3056 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3057 = call i32 @fileno(ptr noundef %3056) #11
  %3058 = call i32 @isatty(i32 noundef %3057) #11
  %.not1060 = icmp eq i32 %3058, 0
  br i1 %.not1060, label %3059, label %3060

3059:                                             ; preds = %3055, %3049
  br label %3060

3060:                                             ; preds = %3055, %3059
  %.str.5.sink2219 = phi ptr [ @.str.5, %3059 ], [ @.str.2, %3055 ]
  store i32 %3050, ptr %1493, align 4, !tbaa !5
  %3061 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3062 = load i32, ptr @test_count, align 4, !tbaa !5
  %3063 = load i32, ptr %1439, align 4, !tbaa !5
  %3064 = call ptr @s2n_strerror(i32 noundef %3063, ptr noundef nonnull @.str.4) #11
  %3065 = load i32, ptr %1439, align 4, !tbaa !5
  %3066 = call ptr @s2n_strerror_debug(i32 noundef %3065, ptr noundef nonnull @.str.4) #11
  %3067 = load i32, ptr %1493, align 4, !tbaa !5
  %3068 = call ptr @strerror(i32 noundef %3067) #11
  %3069 = load i32, ptr %1493, align 4, !tbaa !5
  %3070 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3061, ptr noundef nonnull %.str.5.sink2219, i32 noundef %3062, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.1, i32 noundef 349, ptr noundef %3064, ptr noundef %3066, ptr noundef %3068, i32 noundef %3069) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3071:                                             ; preds = %3044
  %3072 = load i32, ptr @test_count, align 4, !tbaa !5
  %3073 = add nsw i32 %3072, 1
  store i32 %3073, ptr @test_count, align 4, !tbaa !5
  %3074 = call ptr @s2n_connection_new(i32 noundef 0) #11
  %3075 = icmp eq ptr %3074, null
  br i1 %3075, label %3076, label %3098

3076:                                             ; preds = %3071
  %3077 = load i32, ptr %1493, align 4, !tbaa !5
  %3078 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3079 = call i32 @s2n_print_stacktrace(ptr noundef %3078) #11
  %3080 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3081 = trunc nuw i8 %3080 to i1
  br i1 %3081, label %3082, label %3086

3082:                                             ; preds = %3076
  %3083 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3084 = call i32 @fileno(ptr noundef %3083) #11
  %3085 = call i32 @isatty(i32 noundef %3084) #11
  %.not1059 = icmp eq i32 %3085, 0
  br i1 %.not1059, label %3086, label %3087

3086:                                             ; preds = %3082, %3076
  br label %3087

3087:                                             ; preds = %3082, %3086
  %.str.5.sink2228 = phi ptr [ @.str.5, %3086 ], [ @.str.2, %3082 ]
  store i32 %3077, ptr %1493, align 4, !tbaa !5
  %3088 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3089 = load i32, ptr @test_count, align 4, !tbaa !5
  %3090 = load i32, ptr %1439, align 4, !tbaa !5
  %3091 = call ptr @s2n_strerror(i32 noundef %3090, ptr noundef nonnull @.str.4) #11
  %3092 = load i32, ptr %1439, align 4, !tbaa !5
  %3093 = call ptr @s2n_strerror_debug(i32 noundef %3092, ptr noundef nonnull @.str.4) #11
  %3094 = load i32, ptr %1493, align 4, !tbaa !5
  %3095 = call ptr @strerror(i32 noundef %3094) #11
  %3096 = load i32, ptr %1493, align 4, !tbaa !5
  %3097 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3088, ptr noundef nonnull %.str.5.sink2228, i32 noundef %3089, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.1, i32 noundef 350, ptr noundef %3091, ptr noundef %3093, ptr noundef %3095, i32 noundef %3096) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3098:                                             ; preds = %3071
  %3099 = load i32, ptr @test_count, align 4, !tbaa !5
  %3100 = add nsw i32 %3099, 1
  store i32 %3100, ptr @test_count, align 4, !tbaa !5
  %3101 = call i32 @s2n_connection_set_config(ptr noundef nonnull %3074, ptr noundef nonnull %3047) #11
  %3102 = icmp eq i32 %3101, -1
  br i1 %3102, label %3103, label %3125

3103:                                             ; preds = %3098
  %3104 = load i32, ptr %1493, align 4, !tbaa !5
  %3105 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3106 = call i32 @s2n_print_stacktrace(ptr noundef %3105) #11
  %3107 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3108 = trunc nuw i8 %3107 to i1
  br i1 %3108, label %3109, label %3113

3109:                                             ; preds = %3103
  %3110 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3111 = call i32 @fileno(ptr noundef %3110) #11
  %3112 = call i32 @isatty(i32 noundef %3111) #11
  %.not1058 = icmp eq i32 %3112, 0
  br i1 %.not1058, label %3113, label %3114

3113:                                             ; preds = %3109, %3103
  br label %3114

3114:                                             ; preds = %3109, %3113
  %.str.5.sink2237 = phi ptr [ @.str.5, %3113 ], [ @.str.2, %3109 ]
  store i32 %3104, ptr %1493, align 4, !tbaa !5
  %3115 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3116 = load i32, ptr @test_count, align 4, !tbaa !5
  %3117 = load i32, ptr %1439, align 4, !tbaa !5
  %3118 = call ptr @s2n_strerror(i32 noundef %3117, ptr noundef nonnull @.str.4) #11
  %3119 = load i32, ptr %1439, align 4, !tbaa !5
  %3120 = call ptr @s2n_strerror_debug(i32 noundef %3119, ptr noundef nonnull @.str.4) #11
  %3121 = load i32, ptr %1493, align 4, !tbaa !5
  %3122 = call ptr @strerror(i32 noundef %3121) #11
  %3123 = load i32, ptr %1493, align 4, !tbaa !5
  %3124 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3115, ptr noundef nonnull %.str.5.sink2237, i32 noundef %3116, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 351, ptr noundef %3118, ptr noundef %3120, ptr noundef %3122, i32 noundef %3123) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3125:                                             ; preds = %3098
  %3126 = load i32, ptr @test_count, align 4, !tbaa !5
  %3127 = add nsw i32 %3126, 1
  store i32 %3127, ptr @test_count, align 4, !tbaa !5
  %3128 = call ptr @s2n_config_new() #11
  %3129 = icmp eq ptr %3128, null
  br i1 %3129, label %3130, label %3152

3130:                                             ; preds = %3125
  %3131 = load i32, ptr %1493, align 4, !tbaa !5
  %3132 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3133 = call i32 @s2n_print_stacktrace(ptr noundef %3132) #11
  %3134 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3135 = trunc nuw i8 %3134 to i1
  br i1 %3135, label %3136, label %3140

3136:                                             ; preds = %3130
  %3137 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3138 = call i32 @fileno(ptr noundef %3137) #11
  %3139 = call i32 @isatty(i32 noundef %3138) #11
  %.not1057 = icmp eq i32 %3139, 0
  br i1 %.not1057, label %3140, label %3141

3140:                                             ; preds = %3136, %3130
  br label %3141

3141:                                             ; preds = %3136, %3140
  %.str.5.sink2246 = phi ptr [ @.str.5, %3140 ], [ @.str.2, %3136 ]
  store i32 %3131, ptr %1493, align 4, !tbaa !5
  %3142 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3143 = load i32, ptr @test_count, align 4, !tbaa !5
  %3144 = load i32, ptr %1439, align 4, !tbaa !5
  %3145 = call ptr @s2n_strerror(i32 noundef %3144, ptr noundef nonnull @.str.4) #11
  %3146 = load i32, ptr %1439, align 4, !tbaa !5
  %3147 = call ptr @s2n_strerror_debug(i32 noundef %3146, ptr noundef nonnull @.str.4) #11
  %3148 = load i32, ptr %1493, align 4, !tbaa !5
  %3149 = call ptr @strerror(i32 noundef %3148) #11
  %3150 = load i32, ptr %1493, align 4, !tbaa !5
  %3151 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3142, ptr noundef nonnull %.str.5.sink2246, i32 noundef %3143, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.1, i32 noundef 353, ptr noundef %3145, ptr noundef %3147, ptr noundef %3149, i32 noundef %3150) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3152:                                             ; preds = %3125
  %3153 = load i32, ptr @test_count, align 4, !tbaa !5
  %3154 = add nsw i32 %3153, 1
  store i32 %3154, ptr @test_count, align 4, !tbaa !5
  %3155 = call ptr @s2n_connection_new(i32 noundef 1) #11
  %3156 = icmp eq ptr %3155, null
  br i1 %3156, label %3157, label %3179

3157:                                             ; preds = %3152
  %3158 = load i32, ptr %1493, align 4, !tbaa !5
  %3159 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3160 = call i32 @s2n_print_stacktrace(ptr noundef %3159) #11
  %3161 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3162 = trunc nuw i8 %3161 to i1
  br i1 %3162, label %3163, label %3167

3163:                                             ; preds = %3157
  %3164 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3165 = call i32 @fileno(ptr noundef %3164) #11
  %3166 = call i32 @isatty(i32 noundef %3165) #11
  %.not1056 = icmp eq i32 %3166, 0
  br i1 %.not1056, label %3167, label %3168

3167:                                             ; preds = %3163, %3157
  br label %3168

3168:                                             ; preds = %3163, %3167
  %.str.5.sink2255 = phi ptr [ @.str.5, %3167 ], [ @.str.2, %3163 ]
  store i32 %3158, ptr %1493, align 4, !tbaa !5
  %3169 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3170 = load i32, ptr @test_count, align 4, !tbaa !5
  %3171 = load i32, ptr %1439, align 4, !tbaa !5
  %3172 = call ptr @s2n_strerror(i32 noundef %3171, ptr noundef nonnull @.str.4) #11
  %3173 = load i32, ptr %1439, align 4, !tbaa !5
  %3174 = call ptr @s2n_strerror_debug(i32 noundef %3173, ptr noundef nonnull @.str.4) #11
  %3175 = load i32, ptr %1493, align 4, !tbaa !5
  %3176 = call ptr @strerror(i32 noundef %3175) #11
  %3177 = load i32, ptr %1493, align 4, !tbaa !5
  %3178 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3169, ptr noundef nonnull %.str.5.sink2255, i32 noundef %3170, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.1, i32 noundef 354, ptr noundef %3172, ptr noundef %3174, ptr noundef %3176, i32 noundef %3177) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3179:                                             ; preds = %3152
  %3180 = load i32, ptr @test_count, align 4, !tbaa !5
  %3181 = add nsw i32 %3180, 1
  store i32 %3181, ptr @test_count, align 4, !tbaa !5
  %3182 = call i32 @s2n_connection_set_config(ptr noundef nonnull %3155, ptr noundef nonnull %3128) #11
  %3183 = icmp eq i32 %3182, -1
  br i1 %3183, label %3184, label %3206

3184:                                             ; preds = %3179
  %3185 = load i32, ptr %1493, align 4, !tbaa !5
  %3186 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3187 = call i32 @s2n_print_stacktrace(ptr noundef %3186) #11
  %3188 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3189 = trunc nuw i8 %3188 to i1
  br i1 %3189, label %3190, label %3194

3190:                                             ; preds = %3184
  %3191 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3192 = call i32 @fileno(ptr noundef %3191) #11
  %3193 = call i32 @isatty(i32 noundef %3192) #11
  %.not1055 = icmp eq i32 %3193, 0
  br i1 %.not1055, label %3194, label %3195

3194:                                             ; preds = %3190, %3184
  br label %3195

3195:                                             ; preds = %3190, %3194
  %.str.5.sink2264 = phi ptr [ @.str.5, %3194 ], [ @.str.2, %3190 ]
  store i32 %3185, ptr %1493, align 4, !tbaa !5
  %3196 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3197 = load i32, ptr @test_count, align 4, !tbaa !5
  %3198 = load i32, ptr %1439, align 4, !tbaa !5
  %3199 = call ptr @s2n_strerror(i32 noundef %3198, ptr noundef nonnull @.str.4) #11
  %3200 = load i32, ptr %1439, align 4, !tbaa !5
  %3201 = call ptr @s2n_strerror_debug(i32 noundef %3200, ptr noundef nonnull @.str.4) #11
  %3202 = load i32, ptr %1493, align 4, !tbaa !5
  %3203 = call ptr @strerror(i32 noundef %3202) #11
  %3204 = load i32, ptr %1493, align 4, !tbaa !5
  %3205 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3196, ptr noundef nonnull %.str.5.sink2264, i32 noundef %3197, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.1, i32 noundef 355, ptr noundef %3199, ptr noundef %3201, ptr noundef %3203, i32 noundef %3204) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3206:                                             ; preds = %3179
  %3207 = getelementptr inbounds i8, ptr %3155, i64 218
  store i8 34, ptr %3207, align 2, !tbaa !64
  %3208 = getelementptr inbounds i8, ptr %3074, i64 656
  store ptr %2683, ptr %3208, align 8, !tbaa !50
  %3209 = getelementptr inbounds i8, ptr %3074, i64 220
  store i8 33, ptr %3209, align 4, !tbaa !42
  %3210 = load i32, ptr @test_count, align 4, !tbaa !5
  %3211 = add nsw i32 %3210, 1
  store i32 %3211, ptr @test_count, align 4, !tbaa !5
  %3212 = call i32 @s2n_server_hello_send(ptr noundef nonnull %3074) #11
  %3213 = icmp eq i32 %3212, -1
  br i1 %3213, label %3214, label %3236

3214:                                             ; preds = %3206
  %3215 = load i32, ptr %1493, align 4, !tbaa !5
  %3216 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3217 = call i32 @s2n_print_stacktrace(ptr noundef %3216) #11
  %3218 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3219 = trunc nuw i8 %3218 to i1
  br i1 %3219, label %3220, label %3224

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

3224:                                             ; preds = %3220, %3214
  br label %3225

3225:                                             ; preds = %3220, %3224
  %.str.5.sink2273 = phi ptr [ @.str.5, %3224 ], [ @.str.2, %3220 ]
  store i32 %3215, ptr %1493, align 4, !tbaa !5
  %3226 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3227 = load i32, ptr @test_count, align 4, !tbaa !5
  %3228 = load i32, ptr %1439, align 4, !tbaa !5
  %3229 = call ptr @s2n_strerror(i32 noundef %3228, ptr noundef nonnull @.str.4) #11
  %3230 = load i32, ptr %1439, align 4, !tbaa !5
  %3231 = call ptr @s2n_strerror_debug(i32 noundef %3230, ptr noundef nonnull @.str.4) #11
  %3232 = load i32, ptr %1493, align 4, !tbaa !5
  %3233 = call ptr @strerror(i32 noundef %3232) #11
  %3234 = load i32, ptr %1493, align 4, !tbaa !5
  %3235 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3226, ptr noundef nonnull %.str.5.sink2273, i32 noundef %3227, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.1, i32 noundef 365, ptr noundef %3229, ptr noundef %3231, ptr noundef %3233, i32 noundef %3234) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3236:                                             ; preds = %3206
  %3237 = getelementptr inbounds i8, ptr %3074, i64 2016
  %3238 = getelementptr inbounds i8, ptr %3074, i64 2044
  %3239 = load i32, ptr %3238, align 4, !tbaa !58
  %3240 = getelementptr inbounds i8, ptr %3074, i64 2040
  %3241 = load i32, ptr %3240, align 8, !tbaa !59
  %3242 = sub i32 %3239, %3241
  %3243 = load i32, ptr @test_count, align 4, !tbaa !5
  %3244 = add nsw i32 %3243, 1
  store i32 %3244, ptr @test_count, align 4, !tbaa !5
  %3245 = getelementptr inbounds i8, ptr %3155, i64 2016
  %3246 = call i32 @s2n_stuffer_copy(ptr noundef nonnull %3237, ptr noundef nonnull %3245, i32 noundef %3242) #11
  %3247 = icmp eq i32 %3246, -1
  br i1 %3247, label %3248, label %3270

3248:                                             ; preds = %3236
  %3249 = load i32, ptr %1493, align 4, !tbaa !5
  %3250 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3251 = call i32 @s2n_print_stacktrace(ptr noundef %3250) #11
  %3252 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3253 = trunc nuw i8 %3252 to i1
  br i1 %3253, label %3254, label %3258

3254:                                             ; preds = %3248
  %3255 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3256 = call i32 @fileno(ptr noundef %3255) #11
  %3257 = call i32 @isatty(i32 noundef %3256) #11
  %.not1053 = icmp eq i32 %3257, 0
  br i1 %.not1053, label %3258, label %3259

3258:                                             ; preds = %3254, %3248
  br label %3259

3259:                                             ; preds = %3254, %3258
  %.str.5.sink2282 = phi ptr [ @.str.5, %3258 ], [ @.str.2, %3254 ]
  store i32 %3249, ptr %1493, align 4, !tbaa !5
  %3260 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3261 = load i32, ptr @test_count, align 4, !tbaa !5
  %3262 = load i32, ptr %1439, align 4, !tbaa !5
  %3263 = call ptr @s2n_strerror(i32 noundef %3262, ptr noundef nonnull @.str.4) #11
  %3264 = load i32, ptr %1439, align 4, !tbaa !5
  %3265 = call ptr @s2n_strerror_debug(i32 noundef %3264, ptr noundef nonnull @.str.4) #11
  %3266 = load i32, ptr %1493, align 4, !tbaa !5
  %3267 = call ptr @strerror(i32 noundef %3266) #11
  %3268 = load i32, ptr %1493, align 4, !tbaa !5
  %3269 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3260, ptr noundef nonnull %.str.5.sink2282, i32 noundef %3261, ptr noundef nonnull @.str.34, ptr noundef nonnull @.str.1, i32 noundef 369, ptr noundef %3263, ptr noundef %3265, ptr noundef %3267, i32 noundef %3268) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3270:                                             ; preds = %3236
  %3271 = load i32, ptr @test_count, align 4, !tbaa !5
  %3272 = add nsw i32 %3271, 1
  store i32 %3272, ptr @test_count, align 4, !tbaa !5
  %3273 = load ptr, ptr %3245, align 8, !tbaa !43
  %3274 = getelementptr inbounds i8, ptr %3273, i64 26
  %bcmp908 = call i32 @bcmp(ptr noundef nonnull dereferenceable(8) %3274, ptr noundef nonnull dereferenceable(8) @tls12_downgrade_protection_check_bytes, i64 8)
  %3275 = icmp eq i32 %bcmp908, 0
  br i1 %3275, label %3298, label %3276

3276:                                             ; preds = %3270
  %3277 = load i32, ptr %1493, align 4, !tbaa !5
  %3278 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3279 = call i32 @s2n_print_stacktrace(ptr noundef %3278) #11
  %3280 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3281 = trunc nuw i8 %3280 to i1
  br i1 %3281, label %3282, label %3286

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

3286:                                             ; preds = %3282, %3276
  br label %3287

3287:                                             ; preds = %3282, %3286
  %.str.5.sink2291 = phi ptr [ @.str.5, %3286 ], [ @.str.2, %3282 ]
  store i32 %3277, ptr %1493, align 4, !tbaa !5
  %3288 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3289 = load i32, ptr @test_count, align 4, !tbaa !5
  %3290 = load i32, ptr %1439, align 4, !tbaa !5
  %3291 = call ptr @s2n_strerror(i32 noundef %3290, ptr noundef nonnull @.str.4) #11
  %3292 = load i32, ptr %1439, align 4, !tbaa !5
  %3293 = call ptr @s2n_strerror_debug(i32 noundef %3292, ptr noundef nonnull @.str.4) #11
  %3294 = load i32, ptr %1493, align 4, !tbaa !5
  %3295 = call ptr @strerror(i32 noundef %3294) #11
  %3296 = load i32, ptr %1493, align 4, !tbaa !5
  %3297 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3288, ptr noundef nonnull %.str.5.sink2291, i32 noundef %3289, ptr noundef nonnull @.str.57, ptr noundef nonnull @.str.1, i32 noundef 373, ptr noundef %3291, ptr noundef %3293, ptr noundef %3295, i32 noundef %3296) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3298:                                             ; preds = %3270
  %3299 = add nsw i32 %3271, 2
  store i32 %3299, ptr @test_count, align 4, !tbaa !5
  %3300 = call i32 @s2n_server_hello_recv(ptr noundef nonnull %3155) #11
  %3301 = icmp eq i32 %3300, -1
  br i1 %3301, label %3324, label %3302

3302:                                             ; preds = %3298
  %3303 = load i32, ptr %1493, align 4, !tbaa !5
  %3304 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3305 = call i32 @s2n_print_stacktrace(ptr noundef %3304) #11
  %3306 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3307 = trunc nuw i8 %3306 to i1
  br i1 %3307, label %3308, label %3312

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

3312:                                             ; preds = %3308, %3302
  br label %3313

3313:                                             ; preds = %3308, %3312
  %.str.5.sink2300 = phi ptr [ @.str.5, %3312 ], [ @.str.2, %3308 ]
  store i32 %3303, ptr %1493, align 4, !tbaa !5
  %3314 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3315 = load i32, ptr @test_count, align 4, !tbaa !5
  %3316 = load i32, ptr %1439, align 4, !tbaa !5
  %3317 = call ptr @s2n_strerror(i32 noundef %3316, ptr noundef nonnull @.str.4) #11
  %3318 = load i32, ptr %1439, align 4, !tbaa !5
  %3319 = call ptr @s2n_strerror_debug(i32 noundef %3318, ptr noundef nonnull @.str.4) #11
  %3320 = load i32, ptr %1493, align 4, !tbaa !5
  %3321 = call ptr @strerror(i32 noundef %3320) #11
  %3322 = load i32, ptr %1493, align 4, !tbaa !5
  %3323 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3314, ptr noundef nonnull %.str.5.sink2300, i32 noundef %3315, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.1, i32 noundef 374, ptr noundef %3317, ptr noundef %3319, ptr noundef %3321, i32 noundef %3322) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3324:                                             ; preds = %3298
  %3325 = load i32, ptr @test_count, align 4, !tbaa !5
  %3326 = add nsw i32 %3325, 1
  store i32 %3326, ptr @test_count, align 4, !tbaa !5
  %3327 = load i32, ptr %1439, align 4, !tbaa !5
  %3328 = icmp eq i32 %3327, 335544387
  br i1 %3328, label %3351, label %3329

3329:                                             ; preds = %3324
  %3330 = load i32, ptr %1493, align 4, !tbaa !5
  %3331 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3332 = call i32 @s2n_print_stacktrace(ptr noundef %3331) #11
  %3333 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3334 = trunc nuw i8 %3333 to i1
  br i1 %3334, label %3335, label %3339

3335:                                             ; preds = %3329
  %3336 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3337 = call i32 @fileno(ptr noundef %3336) #11
  %3338 = call i32 @isatty(i32 noundef %3337) #11
  %.not911 = icmp eq i32 %3338, 0
  br i1 %.not911, label %3339, label %3340

3339:                                             ; preds = %3335, %3329
  br label %3340

3340:                                             ; preds = %3335, %3339
  %.str.5.sink2309 = phi ptr [ @.str.5, %3339 ], [ @.str.2, %3335 ]
  store i32 %3330, ptr %1493, align 4, !tbaa !5
  %3341 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3342 = load i32, ptr @test_count, align 4, !tbaa !5
  %3343 = load i32, ptr %1439, align 4, !tbaa !5
  %3344 = call ptr @s2n_strerror(i32 noundef %3343, ptr noundef nonnull @.str.4) #11
  %3345 = load i32, ptr %1439, align 4, !tbaa !5
  %3346 = call ptr @s2n_strerror_debug(i32 noundef %3345, ptr noundef nonnull @.str.4) #11
  %3347 = load i32, ptr %1493, align 4, !tbaa !5
  %3348 = call ptr @strerror(i32 noundef %3347) #11
  %3349 = load i32, ptr %1493, align 4, !tbaa !5
  %3350 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3341, ptr noundef nonnull %.str.5.sink2309, i32 noundef %3342, ptr noundef nonnull @.str.56, ptr noundef nonnull @.str.1, i32 noundef 374, ptr noundef %3344, ptr noundef %3346, ptr noundef %3348, i32 noundef %3349) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3351:                                             ; preds = %3324
  %3352 = add nsw i32 %3325, 2
  store i32 %3352, ptr @test_count, align 4, !tbaa !5
  %3353 = call ptr @s2n_strerror_debug(i32 noundef 335544387, ptr noundef nonnull @.str.4) #11
  %3354 = icmp eq ptr %3353, null
  br i1 %3354, label %3355, label %3377

3355:                                             ; preds = %3351
  %3356 = load i32, ptr %1493, align 4, !tbaa !5
  %3357 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3358 = call i32 @s2n_print_stacktrace(ptr noundef %3357) #11
  %3359 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3360 = trunc nuw i8 %3359 to i1
  br i1 %3360, label %3361, label %3365

3361:                                             ; preds = %3355
  %3362 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3363 = call i32 @fileno(ptr noundef %3362) #11
  %3364 = call i32 @isatty(i32 noundef %3363) #11
  %.not1052 = icmp eq i32 %3364, 0
  br i1 %.not1052, label %3365, label %3366

3365:                                             ; preds = %3361, %3355
  br label %3366

3366:                                             ; preds = %3361, %3365
  %.str.5.sink2318 = phi ptr [ @.str.5, %3365 ], [ @.str.2, %3361 ]
  store i32 %3356, ptr %1493, align 4, !tbaa !5
  %3367 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3368 = load i32, ptr @test_count, align 4, !tbaa !5
  %3369 = load i32, ptr %1439, align 4, !tbaa !5
  %3370 = call ptr @s2n_strerror(i32 noundef %3369, ptr noundef nonnull @.str.4) #11
  %3371 = load i32, ptr %1439, align 4, !tbaa !5
  %3372 = call ptr @s2n_strerror_debug(i32 noundef %3371, ptr noundef nonnull @.str.4) #11
  %3373 = load i32, ptr %1493, align 4, !tbaa !5
  %3374 = call ptr @strerror(i32 noundef %3373) #11
  %3375 = load i32, ptr %1493, align 4, !tbaa !5
  %3376 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3367, ptr noundef nonnull %.str.5.sink2318, i32 noundef %3368, ptr noundef nonnull @.str.43, ptr noundef nonnull @.str.1, i32 noundef 374, ptr noundef %3370, ptr noundef %3372, ptr noundef %3374, i32 noundef %3375) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3377:                                             ; preds = %3351
  store i32 0, ptr %1439, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #11
  store i32 0, ptr %1493, align 4, !tbaa !5
  %3378 = load i32, ptr @test_count, align 4, !tbaa !5
  %3379 = add nsw i32 %3378, 1
  store i32 %3379, ptr @test_count, align 4, !tbaa !5
  %3380 = getelementptr inbounds i8, ptr %3155, i64 2044
  %3381 = load i32, ptr %3380, align 4, !tbaa !45
  %3382 = getelementptr inbounds i8, ptr %3155, i64 2040
  %3383 = load i32, ptr %3382, align 8, !tbaa !46
  %3384 = icmp eq i32 %3381, %3383
  br i1 %3384, label %3407, label %3385

3385:                                             ; preds = %3377
  %3386 = load i32, ptr %1493, align 4, !tbaa !5
  %3387 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3388 = call i32 @s2n_print_stacktrace(ptr noundef %3387) #11
  %3389 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3390 = trunc nuw i8 %3389 to i1
  br i1 %3390, label %3391, label %3395

3391:                                             ; preds = %3385
  %3392 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3393 = call i32 @fileno(ptr noundef %3392) #11
  %3394 = call i32 @isatty(i32 noundef %3393) #11
  %.not912 = icmp eq i32 %3394, 0
  br i1 %.not912, label %3395, label %3396

3395:                                             ; preds = %3391, %3385
  br label %3396

3396:                                             ; preds = %3391, %3395
  %.str.5.sink2327 = phi ptr [ @.str.5, %3395 ], [ @.str.2, %3391 ]
  store i32 %3386, ptr %1493, align 4, !tbaa !5
  %3397 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3398 = load i32, ptr @test_count, align 4, !tbaa !5
  %3399 = load i32, ptr %1439, align 4, !tbaa !5
  %3400 = call ptr @s2n_strerror(i32 noundef %3399, ptr noundef nonnull @.str.4) #11
  %3401 = load i32, ptr %1439, align 4, !tbaa !5
  %3402 = call ptr @s2n_strerror_debug(i32 noundef %3401, ptr noundef nonnull @.str.4) #11
  %3403 = load i32, ptr %1493, align 4, !tbaa !5
  %3404 = call ptr @strerror(i32 noundef %3403) #11
  %3405 = load i32, ptr %1493, align 4, !tbaa !5
  %3406 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3397, ptr noundef nonnull %.str.5.sink2327, i32 noundef %3398, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.1, i32 noundef 376, ptr noundef %3400, ptr noundef %3402, ptr noundef %3404, i32 noundef %3405) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3407:                                             ; preds = %3377
  %3408 = add nsw i32 %3378, 2
  store i32 %3408, ptr @test_count, align 4, !tbaa !5
  %3409 = call i32 @s2n_config_free(ptr noundef nonnull %3128) #11
  %3410 = icmp eq i32 %3409, -1
  br i1 %3410, label %3411, label %3433

3411:                                             ; preds = %3407
  %3412 = load i32, ptr %1493, align 4, !tbaa !5
  %3413 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3414 = call i32 @s2n_print_stacktrace(ptr noundef %3413) #11
  %3415 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3416 = trunc nuw i8 %3415 to i1
  br i1 %3416, label %3417, label %3421

3417:                                             ; preds = %3411
  %3418 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3419 = call i32 @fileno(ptr noundef %3418) #11
  %3420 = call i32 @isatty(i32 noundef %3419) #11
  %.not1051 = icmp eq i32 %3420, 0
  br i1 %.not1051, label %3421, label %3422

3421:                                             ; preds = %3417, %3411
  br label %3422

3422:                                             ; preds = %3417, %3421
  %.str.5.sink2336 = phi ptr [ @.str.5, %3421 ], [ @.str.2, %3417 ]
  store i32 %3412, ptr %1493, align 4, !tbaa !5
  %3423 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3424 = load i32, ptr @test_count, align 4, !tbaa !5
  %3425 = load i32, ptr %1439, align 4, !tbaa !5
  %3426 = call ptr @s2n_strerror(i32 noundef %3425, ptr noundef nonnull @.str.4) #11
  %3427 = load i32, ptr %1439, align 4, !tbaa !5
  %3428 = call ptr @s2n_strerror_debug(i32 noundef %3427, ptr noundef nonnull @.str.4) #11
  %3429 = load i32, ptr %1493, align 4, !tbaa !5
  %3430 = call ptr @strerror(i32 noundef %3429) #11
  %3431 = load i32, ptr %1493, align 4, !tbaa !5
  %3432 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3423, ptr noundef nonnull %.str.5.sink2336, i32 noundef %3424, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.1, i32 noundef 378, ptr noundef %3426, ptr noundef %3428, ptr noundef %3430, i32 noundef %3431) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3433:                                             ; preds = %3407
  %3434 = load i32, ptr @test_count, align 4, !tbaa !5
  %3435 = add nsw i32 %3434, 1
  store i32 %3435, ptr @test_count, align 4, !tbaa !5
  %3436 = call i32 @s2n_config_free(ptr noundef nonnull %3047) #11
  %3437 = icmp eq i32 %3436, -1
  br i1 %3437, label %3438, label %3460

3438:                                             ; preds = %3433
  %3439 = load i32, ptr %1493, align 4, !tbaa !5
  %3440 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3441 = call i32 @s2n_print_stacktrace(ptr noundef %3440) #11
  %3442 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3443 = trunc nuw i8 %3442 to i1
  br i1 %3443, label %3444, label %3448

3444:                                             ; preds = %3438
  %3445 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3446 = call i32 @fileno(ptr noundef %3445) #11
  %3447 = call i32 @isatty(i32 noundef %3446) #11
  %.not1050 = icmp eq i32 %3447, 0
  br i1 %.not1050, label %3448, label %3449

3448:                                             ; preds = %3444, %3438
  br label %3449

3449:                                             ; preds = %3444, %3448
  %.str.5.sink2345 = phi ptr [ @.str.5, %3448 ], [ @.str.2, %3444 ]
  store i32 %3439, ptr %1493, align 4, !tbaa !5
  %3450 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3451 = load i32, ptr @test_count, align 4, !tbaa !5
  %3452 = load i32, ptr %1439, align 4, !tbaa !5
  %3453 = call ptr @s2n_strerror(i32 noundef %3452, ptr noundef nonnull @.str.4) #11
  %3454 = load i32, ptr %1439, align 4, !tbaa !5
  %3455 = call ptr @s2n_strerror_debug(i32 noundef %3454, ptr noundef nonnull @.str.4) #11
  %3456 = load i32, ptr %1493, align 4, !tbaa !5
  %3457 = call ptr @strerror(i32 noundef %3456) #11
  %3458 = load i32, ptr %1493, align 4, !tbaa !5
  %3459 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3450, ptr noundef nonnull %.str.5.sink2345, i32 noundef %3451, ptr noundef nonnull @.str.38, ptr noundef nonnull @.str.1, i32 noundef 379, ptr noundef %3453, ptr noundef %3455, ptr noundef %3457, i32 noundef %3458) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3460:                                             ; preds = %3433
  %3461 = load i32, ptr @test_count, align 4, !tbaa !5
  %3462 = add nsw i32 %3461, 1
  store i32 %3462, ptr @test_count, align 4, !tbaa !5
  %3463 = call i32 @s2n_connection_free(ptr noundef nonnull %3155) #11
  %3464 = icmp eq i32 %3463, -1
  br i1 %3464, label %3465, label %3487

3465:                                             ; preds = %3460
  %3466 = load i32, ptr %1493, align 4, !tbaa !5
  %3467 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3468 = call i32 @s2n_print_stacktrace(ptr noundef %3467) #11
  %3469 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3470 = trunc nuw i8 %3469 to i1
  br i1 %3470, label %3471, label %3475

3471:                                             ; preds = %3465
  %3472 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3473 = call i32 @fileno(ptr noundef %3472) #11
  %3474 = call i32 @isatty(i32 noundef %3473) #11
  %.not1049 = icmp eq i32 %3474, 0
  br i1 %.not1049, label %3475, label %3476

3475:                                             ; preds = %3471, %3465
  br label %3476

3476:                                             ; preds = %3471, %3475
  %.str.5.sink2354 = phi ptr [ @.str.5, %3475 ], [ @.str.2, %3471 ]
  store i32 %3466, ptr %1493, align 4, !tbaa !5
  %3477 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3478 = load i32, ptr @test_count, align 4, !tbaa !5
  %3479 = load i32, ptr %1439, align 4, !tbaa !5
  %3480 = call ptr @s2n_strerror(i32 noundef %3479, ptr noundef nonnull @.str.4) #11
  %3481 = load i32, ptr %1439, align 4, !tbaa !5
  %3482 = call ptr @s2n_strerror_debug(i32 noundef %3481, ptr noundef nonnull @.str.4) #11
  %3483 = load i32, ptr %1493, align 4, !tbaa !5
  %3484 = call ptr @strerror(i32 noundef %3483) #11
  %3485 = load i32, ptr %1493, align 4, !tbaa !5
  %3486 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3477, ptr noundef nonnull %.str.5.sink2354, i32 noundef %3478, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.1, i32 noundef 380, ptr noundef %3480, ptr noundef %3482, ptr noundef %3484, i32 noundef %3485) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3487:                                             ; preds = %3460
  %3488 = load i32, ptr @test_count, align 4, !tbaa !5
  %3489 = add nsw i32 %3488, 1
  store i32 %3489, ptr @test_count, align 4, !tbaa !5
  %3490 = call i32 @s2n_connection_free(ptr noundef nonnull %3074) #11
  %3491 = icmp eq i32 %3490, -1
  br i1 %3491, label %3492, label %3514

3492:                                             ; preds = %3487
  %3493 = load i32, ptr %1493, align 4, !tbaa !5
  %3494 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3495 = call i32 @s2n_print_stacktrace(ptr noundef %3494) #11
  %3496 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3497 = trunc nuw i8 %3496 to i1
  br i1 %3497, label %3498, label %3502

3498:                                             ; preds = %3492
  %3499 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3500 = call i32 @fileno(ptr noundef %3499) #11
  %3501 = call i32 @isatty(i32 noundef %3500) #11
  %.not1048 = icmp eq i32 %3501, 0
  br i1 %.not1048, label %3502, label %3503

3502:                                             ; preds = %3498, %3492
  br label %3503

3503:                                             ; preds = %3498, %3502
  %.str.5.sink2363 = phi ptr [ @.str.5, %3502 ], [ @.str.2, %3498 ]
  store i32 %3493, ptr %1493, align 4, !tbaa !5
  %3504 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3505 = load i32, ptr @test_count, align 4, !tbaa !5
  %3506 = load i32, ptr %1439, align 4, !tbaa !5
  %3507 = call ptr @s2n_strerror(i32 noundef %3506, ptr noundef nonnull @.str.4) #11
  %3508 = load i32, ptr %1439, align 4, !tbaa !5
  %3509 = call ptr @s2n_strerror_debug(i32 noundef %3508, ptr noundef nonnull @.str.4) #11
  %3510 = load i32, ptr %1493, align 4, !tbaa !5
  %3511 = call ptr @strerror(i32 noundef %3510) #11
  %3512 = load i32, ptr %1493, align 4, !tbaa !5
  %3513 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3504, ptr noundef nonnull %.str.5.sink2363, i32 noundef %3505, ptr noundef nonnull @.str.40, ptr noundef nonnull @.str.1, i32 noundef 381, ptr noundef %3507, ptr noundef %3509, ptr noundef %3511, i32 noundef %3512) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3514:                                             ; preds = %3487
  %3515 = load i32, ptr @test_count, align 4, !tbaa !5
  %3516 = add nsw i32 %3515, 1
  store i32 %3516, ptr @test_count, align 4, !tbaa !5
  %3517 = call i32 (...) @s2n_disable_tls13_in_test() #11
  %3518 = icmp eq i32 %3517, -1
  br i1 %3518, label %3519, label %3541

3519:                                             ; preds = %3514
  %3520 = load i32, ptr %1493, align 4, !tbaa !5
  %3521 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3522 = call i32 @s2n_print_stacktrace(ptr noundef %3521) #11
  %3523 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3524 = trunc nuw i8 %3523 to i1
  br i1 %3524, label %3525, label %3529

3525:                                             ; preds = %3519
  %3526 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3527 = call i32 @fileno(ptr noundef %3526) #11
  %3528 = call i32 @isatty(i32 noundef %3527) #11
  %.not1047 = icmp eq i32 %3528, 0
  br i1 %.not1047, label %3529, label %3530

3529:                                             ; preds = %3525, %3519
  br label %3530

3530:                                             ; preds = %3525, %3529
  %.str.5.sink2372 = phi ptr [ @.str.5, %3529 ], [ @.str.2, %3525 ]
  store i32 %3520, ptr %1493, align 4, !tbaa !5
  %3531 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3532 = load i32, ptr @test_count, align 4, !tbaa !5
  %3533 = load i32, ptr %1439, align 4, !tbaa !5
  %3534 = call ptr @s2n_strerror(i32 noundef %3533, ptr noundef nonnull @.str.4) #11
  %3535 = load i32, ptr %1439, align 4, !tbaa !5
  %3536 = call ptr @s2n_strerror_debug(i32 noundef %3535, ptr noundef nonnull @.str.4) #11
  %3537 = load i32, ptr %1493, align 4, !tbaa !5
  %3538 = call ptr @strerror(i32 noundef %3537) #11
  %3539 = load i32, ptr %1493, align 4, !tbaa !5
  %3540 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3531, ptr noundef nonnull %.str.5.sink2372, i32 noundef %3532, ptr noundef nonnull @.str.8, ptr noundef nonnull @.str.1, i32 noundef 382, ptr noundef %3534, ptr noundef %3536, ptr noundef %3538, i32 noundef %3539) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3541:                                             ; preds = %3514
  %3542 = load i32, ptr @test_count, align 4, !tbaa !5
  %3543 = add nsw i32 %3542, 1
  store i32 %3543, ptr @test_count, align 4, !tbaa !5
  %3544 = call ptr @s2n_config_new() #11
  %3545 = icmp eq ptr %3544, null
  br i1 %3545, label %3546, label %3568

3546:                                             ; preds = %3541
  %3547 = load i32, ptr %1493, align 4, !tbaa !5
  %3548 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3549 = call i32 @s2n_print_stacktrace(ptr noundef %3548) #11
  %3550 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3551 = trunc nuw i8 %3550 to i1
  br i1 %3551, label %3552, label %3556

3552:                                             ; preds = %3546
  %3553 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3554 = call i32 @fileno(ptr noundef %3553) #11
  %3555 = call i32 @isatty(i32 noundef %3554) #11
  %.not1046 = icmp eq i32 %3555, 0
  br i1 %.not1046, label %3556, label %3557

3556:                                             ; preds = %3552, %3546
  br label %3557

3557:                                             ; preds = %3552, %3556
  %.str.5.sink2381 = phi ptr [ @.str.5, %3556 ], [ @.str.2, %3552 ]
  store i32 %3547, ptr %1493, align 4, !tbaa !5
  %3558 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3559 = load i32, ptr @test_count, align 4, !tbaa !5
  %3560 = load i32, ptr %1439, align 4, !tbaa !5
  %3561 = call ptr @s2n_strerror(i32 noundef %3560, ptr noundef nonnull @.str.4) #11
  %3562 = load i32, ptr %1439, align 4, !tbaa !5
  %3563 = call ptr @s2n_strerror_debug(i32 noundef %3562, ptr noundef nonnull @.str.4) #11
  %3564 = load i32, ptr %1493, align 4, !tbaa !5
  %3565 = call ptr @strerror(i32 noundef %3564) #11
  %3566 = load i32, ptr %1493, align 4, !tbaa !5
  %3567 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3558, ptr noundef nonnull %.str.5.sink2381, i32 noundef %3559, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.1, i32 noundef 392, ptr noundef %3561, ptr noundef %3563, ptr noundef %3565, i32 noundef %3566) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3568:                                             ; preds = %3541
  %3569 = load i32, ptr @test_count, align 4, !tbaa !5
  %3570 = add nsw i32 %3569, 1
  store i32 %3570, ptr @test_count, align 4, !tbaa !5
  %3571 = call ptr @s2n_connection_new(i32 noundef 0) #11
  %3572 = icmp eq ptr %3571, null
  br i1 %3572, label %3573, label %3595

3573:                                             ; preds = %3568
  %3574 = load i32, ptr %1493, align 4, !tbaa !5
  %3575 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3576 = call i32 @s2n_print_stacktrace(ptr noundef %3575) #11
  %3577 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3578 = trunc nuw i8 %3577 to i1
  br i1 %3578, label %3579, label %3583

3579:                                             ; preds = %3573
  %3580 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3581 = call i32 @fileno(ptr noundef %3580) #11
  %3582 = call i32 @isatty(i32 noundef %3581) #11
  %.not1045 = icmp eq i32 %3582, 0
  br i1 %.not1045, label %3583, label %3584

3583:                                             ; preds = %3579, %3573
  br label %3584

3584:                                             ; preds = %3579, %3583
  %.str.5.sink2390 = phi ptr [ @.str.5, %3583 ], [ @.str.2, %3579 ]
  store i32 %3574, ptr %1493, align 4, !tbaa !5
  %3585 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3586 = load i32, ptr @test_count, align 4, !tbaa !5
  %3587 = load i32, ptr %1439, align 4, !tbaa !5
  %3588 = call ptr @s2n_strerror(i32 noundef %3587, ptr noundef nonnull @.str.4) #11
  %3589 = load i32, ptr %1439, align 4, !tbaa !5
  %3590 = call ptr @s2n_strerror_debug(i32 noundef %3589, ptr noundef nonnull @.str.4) #11
  %3591 = load i32, ptr %1493, align 4, !tbaa !5
  %3592 = call ptr @strerror(i32 noundef %3591) #11
  %3593 = load i32, ptr %1493, align 4, !tbaa !5
  %3594 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3585, ptr noundef nonnull %.str.5.sink2390, i32 noundef %3586, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.1, i32 noundef 393, ptr noundef %3588, ptr noundef %3590, ptr noundef %3592, i32 noundef %3593) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3595:                                             ; preds = %3568
  %3596 = load i32, ptr @test_count, align 4, !tbaa !5
  %3597 = add nsw i32 %3596, 1
  store i32 %3597, ptr @test_count, align 4, !tbaa !5
  %3598 = call i32 @s2n_connection_set_config(ptr noundef nonnull %3571, ptr noundef nonnull %3544) #11
  %3599 = icmp eq i32 %3598, -1
  br i1 %3599, label %3600, label %3622

3600:                                             ; preds = %3595
  %3601 = load i32, ptr %1493, align 4, !tbaa !5
  %3602 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3603 = call i32 @s2n_print_stacktrace(ptr noundef %3602) #11
  %3604 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3605 = trunc nuw i8 %3604 to i1
  br i1 %3605, label %3606, label %3610

3606:                                             ; preds = %3600
  %3607 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3608 = call i32 @fileno(ptr noundef %3607) #11
  %3609 = call i32 @isatty(i32 noundef %3608) #11
  %.not1044 = icmp eq i32 %3609, 0
  br i1 %.not1044, label %3610, label %3611

3610:                                             ; preds = %3606, %3600
  br label %3611

3611:                                             ; preds = %3606, %3610
  %.str.5.sink2399 = phi ptr [ @.str.5, %3610 ], [ @.str.2, %3606 ]
  store i32 %3601, ptr %1493, align 4, !tbaa !5
  %3612 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3613 = load i32, ptr @test_count, align 4, !tbaa !5
  %3614 = load i32, ptr %1439, align 4, !tbaa !5
  %3615 = call ptr @s2n_strerror(i32 noundef %3614, ptr noundef nonnull @.str.4) #11
  %3616 = load i32, ptr %1439, align 4, !tbaa !5
  %3617 = call ptr @s2n_strerror_debug(i32 noundef %3616, ptr noundef nonnull @.str.4) #11
  %3618 = load i32, ptr %1493, align 4, !tbaa !5
  %3619 = call ptr @strerror(i32 noundef %3618) #11
  %3620 = load i32, ptr %1493, align 4, !tbaa !5
  %3621 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3612, ptr noundef nonnull %.str.5.sink2399, i32 noundef %3613, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 394, ptr noundef %3615, ptr noundef %3617, ptr noundef %3619, i32 noundef %3620) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3622:                                             ; preds = %3595
  %3623 = load i32, ptr @test_count, align 4, !tbaa !5
  %3624 = add nsw i32 %3623, 1
  store i32 %3624, ptr @test_count, align 4, !tbaa !5
  %3625 = call ptr @s2n_config_new() #11
  %3626 = icmp eq ptr %3625, null
  br i1 %3626, label %3627, label %3649

3627:                                             ; preds = %3622
  %3628 = load i32, ptr %1493, align 4, !tbaa !5
  %3629 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3630 = call i32 @s2n_print_stacktrace(ptr noundef %3629) #11
  %3631 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3632 = trunc nuw i8 %3631 to i1
  br i1 %3632, label %3633, label %3637

3633:                                             ; preds = %3627
  %3634 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3635 = call i32 @fileno(ptr noundef %3634) #11
  %3636 = call i32 @isatty(i32 noundef %3635) #11
  %.not1043 = icmp eq i32 %3636, 0
  br i1 %.not1043, label %3637, label %3638

3637:                                             ; preds = %3633, %3627
  br label %3638

3638:                                             ; preds = %3633, %3637
  %.str.5.sink2408 = phi ptr [ @.str.5, %3637 ], [ @.str.2, %3633 ]
  store i32 %3628, ptr %1493, align 4, !tbaa !5
  %3639 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3640 = load i32, ptr @test_count, align 4, !tbaa !5
  %3641 = load i32, ptr %1439, align 4, !tbaa !5
  %3642 = call ptr @s2n_strerror(i32 noundef %3641, ptr noundef nonnull @.str.4) #11
  %3643 = load i32, ptr %1439, align 4, !tbaa !5
  %3644 = call ptr @s2n_strerror_debug(i32 noundef %3643, ptr noundef nonnull @.str.4) #11
  %3645 = load i32, ptr %1493, align 4, !tbaa !5
  %3646 = call ptr @strerror(i32 noundef %3645) #11
  %3647 = load i32, ptr %1493, align 4, !tbaa !5
  %3648 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3639, ptr noundef nonnull %.str.5.sink2408, i32 noundef %3640, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.1, i32 noundef 396, ptr noundef %3642, ptr noundef %3644, ptr noundef %3646, i32 noundef %3647) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3649:                                             ; preds = %3622
  %3650 = load i32, ptr @test_count, align 4, !tbaa !5
  %3651 = add nsw i32 %3650, 1
  store i32 %3651, ptr @test_count, align 4, !tbaa !5
  %3652 = call ptr @s2n_connection_new(i32 noundef 1) #11
  %3653 = icmp eq ptr %3652, null
  br i1 %3653, label %3654, label %3676

3654:                                             ; preds = %3649
  %3655 = load i32, ptr %1493, align 4, !tbaa !5
  %3656 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3657 = call i32 @s2n_print_stacktrace(ptr noundef %3656) #11
  %3658 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3659 = trunc nuw i8 %3658 to i1
  br i1 %3659, label %3660, label %3664

3660:                                             ; preds = %3654
  %3661 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3662 = call i32 @fileno(ptr noundef %3661) #11
  %3663 = call i32 @isatty(i32 noundef %3662) #11
  %.not1042 = icmp eq i32 %3663, 0
  br i1 %.not1042, label %3664, label %3665

3664:                                             ; preds = %3660, %3654
  br label %3665

3665:                                             ; preds = %3660, %3664
  %.str.5.sink2417 = phi ptr [ @.str.5, %3664 ], [ @.str.2, %3660 ]
  store i32 %3655, ptr %1493, align 4, !tbaa !5
  %3666 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3667 = load i32, ptr @test_count, align 4, !tbaa !5
  %3668 = load i32, ptr %1439, align 4, !tbaa !5
  %3669 = call ptr @s2n_strerror(i32 noundef %3668, ptr noundef nonnull @.str.4) #11
  %3670 = load i32, ptr %1439, align 4, !tbaa !5
  %3671 = call ptr @s2n_strerror_debug(i32 noundef %3670, ptr noundef nonnull @.str.4) #11
  %3672 = load i32, ptr %1493, align 4, !tbaa !5
  %3673 = call ptr @strerror(i32 noundef %3672) #11
  %3674 = load i32, ptr %1493, align 4, !tbaa !5
  %3675 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3666, ptr noundef nonnull %.str.5.sink2417, i32 noundef %3667, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.1, i32 noundef 397, ptr noundef %3669, ptr noundef %3671, ptr noundef %3673, i32 noundef %3674) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3676:                                             ; preds = %3649
  %3677 = load i32, ptr @test_count, align 4, !tbaa !5
  %3678 = add nsw i32 %3677, 1
  store i32 %3678, ptr @test_count, align 4, !tbaa !5
  %3679 = call i32 @s2n_connection_set_config(ptr noundef nonnull %3652, ptr noundef nonnull %3625) #11
  %3680 = icmp eq i32 %3679, -1
  br i1 %3680, label %3681, label %3703

3681:                                             ; preds = %3676
  %3682 = load i32, ptr %1493, align 4, !tbaa !5
  %3683 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3684 = call i32 @s2n_print_stacktrace(ptr noundef %3683) #11
  %3685 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3686 = trunc nuw i8 %3685 to i1
  br i1 %3686, label %3687, label %3691

3687:                                             ; preds = %3681
  %3688 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3689 = call i32 @fileno(ptr noundef %3688) #11
  %3690 = call i32 @isatty(i32 noundef %3689) #11
  %.not1041 = icmp eq i32 %3690, 0
  br i1 %.not1041, label %3691, label %3692

3691:                                             ; preds = %3687, %3681
  br label %3692

3692:                                             ; preds = %3687, %3691
  %.str.5.sink2426 = phi ptr [ @.str.5, %3691 ], [ @.str.2, %3687 ]
  store i32 %3682, ptr %1493, align 4, !tbaa !5
  %3693 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3694 = load i32, ptr @test_count, align 4, !tbaa !5
  %3695 = load i32, ptr %1439, align 4, !tbaa !5
  %3696 = call ptr @s2n_strerror(i32 noundef %3695, ptr noundef nonnull @.str.4) #11
  %3697 = load i32, ptr %1439, align 4, !tbaa !5
  %3698 = call ptr @s2n_strerror_debug(i32 noundef %3697, ptr noundef nonnull @.str.4) #11
  %3699 = load i32, ptr %1493, align 4, !tbaa !5
  %3700 = call ptr @strerror(i32 noundef %3699) #11
  %3701 = load i32, ptr %1493, align 4, !tbaa !5
  %3702 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3693, ptr noundef nonnull %.str.5.sink2426, i32 noundef %3694, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.1, i32 noundef 398, ptr noundef %3696, ptr noundef %3698, ptr noundef %3700, i32 noundef %3701) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3703:                                             ; preds = %3676
  %3704 = getelementptr inbounds i8, ptr %3652, i64 218
  store i8 33, ptr %3704, align 2, !tbaa !64
  %3705 = load i32, ptr @test_count, align 4, !tbaa !5
  %3706 = add nsw i32 %3705, 1
  store i32 %3706, ptr @test_count, align 4, !tbaa !5
  %3707 = call i32 (...) @s2n_enable_tls13_in_test() #11
  %3708 = icmp eq i32 %3707, -1
  br i1 %3708, label %3709, label %3731

3709:                                             ; preds = %3703
  %3710 = load i32, ptr %1493, align 4, !tbaa !5
  %3711 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3712 = call i32 @s2n_print_stacktrace(ptr noundef %3711) #11
  %3713 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3714 = trunc nuw i8 %3713 to i1
  br i1 %3714, label %3715, label %3719

3715:                                             ; preds = %3709
  %3716 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3717 = call i32 @fileno(ptr noundef %3716) #11
  %3718 = call i32 @isatty(i32 noundef %3717) #11
  %.not1040 = icmp eq i32 %3718, 0
  br i1 %.not1040, label %3719, label %3720

3719:                                             ; preds = %3715, %3709
  br label %3720

3720:                                             ; preds = %3715, %3719
  %.str.5.sink2435 = phi ptr [ @.str.5, %3719 ], [ @.str.2, %3715 ]
  store i32 %3710, ptr %1493, align 4, !tbaa !5
  %3721 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3722 = load i32, ptr @test_count, align 4, !tbaa !5
  %3723 = load i32, ptr %1439, align 4, !tbaa !5
  %3724 = call ptr @s2n_strerror(i32 noundef %3723, ptr noundef nonnull @.str.4) #11
  %3725 = load i32, ptr %1439, align 4, !tbaa !5
  %3726 = call ptr @s2n_strerror_debug(i32 noundef %3725, ptr noundef nonnull @.str.4) #11
  %3727 = load i32, ptr %1493, align 4, !tbaa !5
  %3728 = call ptr @strerror(i32 noundef %3727) #11
  %3729 = load i32, ptr %1493, align 4, !tbaa !5
  %3730 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3721, ptr noundef nonnull %.str.5.sink2435, i32 noundef %3722, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 405, ptr noundef %3724, ptr noundef %3726, ptr noundef %3728, i32 noundef %3729) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3731:                                             ; preds = %3703
  %3732 = getelementptr inbounds i8, ptr %3571, i64 220
  store i8 33, ptr %3732, align 4, !tbaa !42
  %3733 = getelementptr inbounds i8, ptr %3571, i64 232
  %3734 = load ptr, ptr %3733, align 8, !tbaa !52
  store ptr @s2n_ecdhe_rsa_with_aes_256_gcm_sha384, ptr %3734, align 8, !tbaa !53
  %3735 = load i32, ptr @test_count, align 4, !tbaa !5
  %3736 = add nsw i32 %3735, 1
  store i32 %3736, ptr @test_count, align 4, !tbaa !5
  %3737 = call i32 @s2n_server_hello_send(ptr noundef nonnull %3571) #11
  %3738 = icmp eq i32 %3737, -1
  br i1 %3738, label %3739, label %3761

3739:                                             ; preds = %3731
  %3740 = load i32, ptr %1493, align 4, !tbaa !5
  %3741 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3742 = call i32 @s2n_print_stacktrace(ptr noundef %3741) #11
  %3743 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3744 = trunc nuw i8 %3743 to i1
  br i1 %3744, label %3745, label %3749

3745:                                             ; preds = %3739
  %3746 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3747 = call i32 @fileno(ptr noundef %3746) #11
  %3748 = call i32 @isatty(i32 noundef %3747) #11
  %.not1039 = icmp eq i32 %3748, 0
  br i1 %.not1039, label %3749, label %3750

3749:                                             ; preds = %3745, %3739
  br label %3750

3750:                                             ; preds = %3745, %3749
  %.str.5.sink2444 = phi ptr [ @.str.5, %3749 ], [ @.str.2, %3745 ]
  store i32 %3740, ptr %1493, align 4, !tbaa !5
  %3751 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3752 = load i32, ptr @test_count, align 4, !tbaa !5
  %3753 = load i32, ptr %1439, align 4, !tbaa !5
  %3754 = call ptr @s2n_strerror(i32 noundef %3753, ptr noundef nonnull @.str.4) #11
  %3755 = load i32, ptr %1439, align 4, !tbaa !5
  %3756 = call ptr @s2n_strerror_debug(i32 noundef %3755, ptr noundef nonnull @.str.4) #11
  %3757 = load i32, ptr %1493, align 4, !tbaa !5
  %3758 = call ptr @strerror(i32 noundef %3757) #11
  %3759 = load i32, ptr %1493, align 4, !tbaa !5
  %3760 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3751, ptr noundef nonnull %.str.5.sink2444, i32 noundef %3752, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.1, i32 noundef 408, ptr noundef %3754, ptr noundef %3756, ptr noundef %3758, i32 noundef %3759) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3761:                                             ; preds = %3731
  %3762 = load i32, ptr @test_count, align 4, !tbaa !5
  %3763 = add nsw i32 %3762, 1
  store i32 %3763, ptr @test_count, align 4, !tbaa !5
  %3764 = call i32 (...) @s2n_disable_tls13_in_test() #11
  %3765 = icmp eq i32 %3764, -1
  br i1 %3765, label %3766, label %3788

3766:                                             ; preds = %3761
  %3767 = load i32, ptr %1493, align 4, !tbaa !5
  %3768 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3769 = call i32 @s2n_print_stacktrace(ptr noundef %3768) #11
  %3770 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3771 = trunc nuw i8 %3770 to i1
  br i1 %3771, label %3772, label %3776

3772:                                             ; preds = %3766
  %3773 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3774 = call i32 @fileno(ptr noundef %3773) #11
  %3775 = call i32 @isatty(i32 noundef %3774) #11
  %.not1038 = icmp eq i32 %3775, 0
  br i1 %.not1038, label %3776, label %3777

3776:                                             ; preds = %3772, %3766
  br label %3777

3777:                                             ; preds = %3772, %3776
  %.str.5.sink2453 = phi ptr [ @.str.5, %3776 ], [ @.str.2, %3772 ]
  store i32 %3767, ptr %1493, align 4, !tbaa !5
  %3778 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3779 = load i32, ptr @test_count, align 4, !tbaa !5
  %3780 = load i32, ptr %1439, align 4, !tbaa !5
  %3781 = call ptr @s2n_strerror(i32 noundef %3780, ptr noundef nonnull @.str.4) #11
  %3782 = load i32, ptr %1439, align 4, !tbaa !5
  %3783 = call ptr @s2n_strerror_debug(i32 noundef %3782, ptr noundef nonnull @.str.4) #11
  %3784 = load i32, ptr %1493, align 4, !tbaa !5
  %3785 = call ptr @strerror(i32 noundef %3784) #11
  %3786 = load i32, ptr %1493, align 4, !tbaa !5
  %3787 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3778, ptr noundef nonnull %.str.5.sink2453, i32 noundef %3779, ptr noundef nonnull @.str.8, ptr noundef nonnull @.str.1, i32 noundef 409, ptr noundef %3781, ptr noundef %3783, ptr noundef %3785, i32 noundef %3786) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3788:                                             ; preds = %3761
  %3789 = getelementptr inbounds i8, ptr %3571, i64 2016
  %3790 = getelementptr inbounds i8, ptr %3571, i64 2044
  %3791 = load i32, ptr %3790, align 4, !tbaa !58
  %3792 = getelementptr inbounds i8, ptr %3571, i64 2040
  %3793 = load i32, ptr %3792, align 8, !tbaa !59
  %3794 = sub i32 %3791, %3793
  %3795 = load i32, ptr @test_count, align 4, !tbaa !5
  %3796 = add nsw i32 %3795, 1
  store i32 %3796, ptr @test_count, align 4, !tbaa !5
  %3797 = getelementptr inbounds i8, ptr %3652, i64 2016
  %3798 = call i32 @s2n_stuffer_copy(ptr noundef nonnull %3789, ptr noundef nonnull %3797, i32 noundef %3794) #11
  %3799 = icmp eq i32 %3798, -1
  br i1 %3799, label %3800, label %3822

3800:                                             ; preds = %3788
  %3801 = load i32, ptr %1493, align 4, !tbaa !5
  %3802 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3803 = call i32 @s2n_print_stacktrace(ptr noundef %3802) #11
  %3804 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3805 = trunc nuw i8 %3804 to i1
  br i1 %3805, label %3806, label %3810

3806:                                             ; preds = %3800
  %3807 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3808 = call i32 @fileno(ptr noundef %3807) #11
  %3809 = call i32 @isatty(i32 noundef %3808) #11
  %.not1037 = icmp eq i32 %3809, 0
  br i1 %.not1037, label %3810, label %3811

3810:                                             ; preds = %3806, %3800
  br label %3811

3811:                                             ; preds = %3806, %3810
  %.str.5.sink2462 = phi ptr [ @.str.5, %3810 ], [ @.str.2, %3806 ]
  store i32 %3801, ptr %1493, align 4, !tbaa !5
  %3812 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3813 = load i32, ptr @test_count, align 4, !tbaa !5
  %3814 = load i32, ptr %1439, align 4, !tbaa !5
  %3815 = call ptr @s2n_strerror(i32 noundef %3814, ptr noundef nonnull @.str.4) #11
  %3816 = load i32, ptr %1439, align 4, !tbaa !5
  %3817 = call ptr @s2n_strerror_debug(i32 noundef %3816, ptr noundef nonnull @.str.4) #11
  %3818 = load i32, ptr %1493, align 4, !tbaa !5
  %3819 = call ptr @strerror(i32 noundef %3818) #11
  %3820 = load i32, ptr %1493, align 4, !tbaa !5
  %3821 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3812, ptr noundef nonnull %.str.5.sink2462, i32 noundef %3813, ptr noundef nonnull @.str.34, ptr noundef nonnull @.str.1, i32 noundef 413, ptr noundef %3815, ptr noundef %3817, ptr noundef %3819, i32 noundef %3820) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3822:                                             ; preds = %3788
  %3823 = load i32, ptr @test_count, align 4, !tbaa !5
  %3824 = add nsw i32 %3823, 1
  store i32 %3824, ptr @test_count, align 4, !tbaa !5
  %3825 = call i32 @s2n_server_hello_recv(ptr noundef nonnull %3652) #11
  %3826 = icmp eq i32 %3825, -1
  br i1 %3826, label %3827, label %3849

3827:                                             ; preds = %3822
  %3828 = load i32, ptr %1493, align 4, !tbaa !5
  %3829 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3830 = call i32 @s2n_print_stacktrace(ptr noundef %3829) #11
  %3831 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3832 = trunc nuw i8 %3831 to i1
  br i1 %3832, label %3833, label %3837

3833:                                             ; preds = %3827
  %3834 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3835 = call i32 @fileno(ptr noundef %3834) #11
  %3836 = call i32 @isatty(i32 noundef %3835) #11
  %.not1036 = icmp eq i32 %3836, 0
  br i1 %.not1036, label %3837, label %3838

3837:                                             ; preds = %3833, %3827
  br label %3838

3838:                                             ; preds = %3833, %3837
  %.str.5.sink2471 = phi ptr [ @.str.5, %3837 ], [ @.str.2, %3833 ]
  store i32 %3828, ptr %1493, align 4, !tbaa !5
  %3839 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3840 = load i32, ptr @test_count, align 4, !tbaa !5
  %3841 = load i32, ptr %1439, align 4, !tbaa !5
  %3842 = call ptr @s2n_strerror(i32 noundef %3841, ptr noundef nonnull @.str.4) #11
  %3843 = load i32, ptr %1439, align 4, !tbaa !5
  %3844 = call ptr @s2n_strerror_debug(i32 noundef %3843, ptr noundef nonnull @.str.4) #11
  %3845 = load i32, ptr %1493, align 4, !tbaa !5
  %3846 = call ptr @strerror(i32 noundef %3845) #11
  %3847 = load i32, ptr %1493, align 4, !tbaa !5
  %3848 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3839, ptr noundef nonnull %.str.5.sink2471, i32 noundef %3840, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.1, i32 noundef 417, ptr noundef %3842, ptr noundef %3844, ptr noundef %3846, i32 noundef %3847) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3849:                                             ; preds = %3822
  %3850 = load i32, ptr @test_count, align 4, !tbaa !5
  %3851 = add nsw i32 %3850, 1
  store i32 %3851, ptr @test_count, align 4, !tbaa !5
  %3852 = getelementptr inbounds i8, ptr %3652, i64 2044
  %3853 = load i32, ptr %3852, align 4, !tbaa !45
  %3854 = getelementptr inbounds i8, ptr %3652, i64 2040
  %3855 = load i32, ptr %3854, align 8, !tbaa !46
  %3856 = icmp eq i32 %3853, %3855
  br i1 %3856, label %3879, label %3857

3857:                                             ; preds = %3849
  %3858 = load i32, ptr %1493, align 4, !tbaa !5
  %3859 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3860 = call i32 @s2n_print_stacktrace(ptr noundef %3859) #11
  %3861 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3862 = trunc nuw i8 %3861 to i1
  br i1 %3862, label %3863, label %3867

3863:                                             ; preds = %3857
  %3864 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3865 = call i32 @fileno(ptr noundef %3864) #11
  %3866 = call i32 @isatty(i32 noundef %3865) #11
  %.not913 = icmp eq i32 %3866, 0
  br i1 %.not913, label %3867, label %3868

3867:                                             ; preds = %3863, %3857
  br label %3868

3868:                                             ; preds = %3863, %3867
  %.str.5.sink2480 = phi ptr [ @.str.5, %3867 ], [ @.str.2, %3863 ]
  store i32 %3858, ptr %1493, align 4, !tbaa !5
  %3869 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3870 = load i32, ptr @test_count, align 4, !tbaa !5
  %3871 = load i32, ptr %1439, align 4, !tbaa !5
  %3872 = call ptr @s2n_strerror(i32 noundef %3871, ptr noundef nonnull @.str.4) #11
  %3873 = load i32, ptr %1439, align 4, !tbaa !5
  %3874 = call ptr @s2n_strerror_debug(i32 noundef %3873, ptr noundef nonnull @.str.4) #11
  %3875 = load i32, ptr %1493, align 4, !tbaa !5
  %3876 = call ptr @strerror(i32 noundef %3875) #11
  %3877 = load i32, ptr %1493, align 4, !tbaa !5
  %3878 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3869, ptr noundef nonnull %.str.5.sink2480, i32 noundef %3870, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.1, i32 noundef 419, ptr noundef %3872, ptr noundef %3874, ptr noundef %3876, i32 noundef %3877) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3879:                                             ; preds = %3849
  %3880 = add nsw i32 %3850, 2
  store i32 %3880, ptr @test_count, align 4, !tbaa !5
  %3881 = call i32 @s2n_config_free(ptr noundef nonnull %3625) #11
  %3882 = icmp eq i32 %3881, -1
  br i1 %3882, label %3883, label %3905

3883:                                             ; preds = %3879
  %3884 = load i32, ptr %1493, align 4, !tbaa !5
  %3885 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3886 = call i32 @s2n_print_stacktrace(ptr noundef %3885) #11
  %3887 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3888 = trunc nuw i8 %3887 to i1
  br i1 %3888, label %3889, label %3893

3889:                                             ; preds = %3883
  %3890 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3891 = call i32 @fileno(ptr noundef %3890) #11
  %3892 = call i32 @isatty(i32 noundef %3891) #11
  %.not1035 = icmp eq i32 %3892, 0
  br i1 %.not1035, label %3893, label %3894

3893:                                             ; preds = %3889, %3883
  br label %3894

3894:                                             ; preds = %3889, %3893
  %.str.5.sink2489 = phi ptr [ @.str.5, %3893 ], [ @.str.2, %3889 ]
  store i32 %3884, ptr %1493, align 4, !tbaa !5
  %3895 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3896 = load i32, ptr @test_count, align 4, !tbaa !5
  %3897 = load i32, ptr %1439, align 4, !tbaa !5
  %3898 = call ptr @s2n_strerror(i32 noundef %3897, ptr noundef nonnull @.str.4) #11
  %3899 = load i32, ptr %1439, align 4, !tbaa !5
  %3900 = call ptr @s2n_strerror_debug(i32 noundef %3899, ptr noundef nonnull @.str.4) #11
  %3901 = load i32, ptr %1493, align 4, !tbaa !5
  %3902 = call ptr @strerror(i32 noundef %3901) #11
  %3903 = load i32, ptr %1493, align 4, !tbaa !5
  %3904 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3895, ptr noundef nonnull %.str.5.sink2489, i32 noundef %3896, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.1, i32 noundef 421, ptr noundef %3898, ptr noundef %3900, ptr noundef %3902, i32 noundef %3903) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3905:                                             ; preds = %3879
  %3906 = load i32, ptr @test_count, align 4, !tbaa !5
  %3907 = add nsw i32 %3906, 1
  store i32 %3907, ptr @test_count, align 4, !tbaa !5
  %3908 = call i32 @s2n_config_free(ptr noundef nonnull %3544) #11
  %3909 = icmp eq i32 %3908, -1
  br i1 %3909, label %3910, label %3932

3910:                                             ; preds = %3905
  %3911 = load i32, ptr %1493, align 4, !tbaa !5
  %3912 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3913 = call i32 @s2n_print_stacktrace(ptr noundef %3912) #11
  %3914 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3915 = trunc nuw i8 %3914 to i1
  br i1 %3915, label %3916, label %3920

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

3920:                                             ; preds = %3916, %3910
  br label %3921

3921:                                             ; preds = %3916, %3920
  %.str.5.sink2498 = phi ptr [ @.str.5, %3920 ], [ @.str.2, %3916 ]
  store i32 %3911, ptr %1493, align 4, !tbaa !5
  %3922 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3923 = load i32, ptr @test_count, align 4, !tbaa !5
  %3924 = load i32, ptr %1439, align 4, !tbaa !5
  %3925 = call ptr @s2n_strerror(i32 noundef %3924, ptr noundef nonnull @.str.4) #11
  %3926 = load i32, ptr %1439, align 4, !tbaa !5
  %3927 = call ptr @s2n_strerror_debug(i32 noundef %3926, ptr noundef nonnull @.str.4) #11
  %3928 = load i32, ptr %1493, align 4, !tbaa !5
  %3929 = call ptr @strerror(i32 noundef %3928) #11
  %3930 = load i32, ptr %1493, align 4, !tbaa !5
  %3931 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3922, ptr noundef nonnull %.str.5.sink2498, i32 noundef %3923, ptr noundef nonnull @.str.38, ptr noundef nonnull @.str.1, i32 noundef 422, ptr noundef %3925, ptr noundef %3927, ptr noundef %3929, i32 noundef %3930) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3932:                                             ; preds = %3905
  %3933 = load i32, ptr @test_count, align 4, !tbaa !5
  %3934 = add nsw i32 %3933, 1
  store i32 %3934, ptr @test_count, align 4, !tbaa !5
  %3935 = call i32 @s2n_connection_free(ptr noundef nonnull %3652) #11
  %3936 = icmp eq i32 %3935, -1
  br i1 %3936, label %3937, label %3959

3937:                                             ; preds = %3932
  %3938 = load i32, ptr %1493, align 4, !tbaa !5
  %3939 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3940 = call i32 @s2n_print_stacktrace(ptr noundef %3939) #11
  %3941 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3942 = trunc nuw i8 %3941 to i1
  br i1 %3942, label %3943, label %3947

3943:                                             ; preds = %3937
  %3944 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3945 = call i32 @fileno(ptr noundef %3944) #11
  %3946 = call i32 @isatty(i32 noundef %3945) #11
  %.not1033 = icmp eq i32 %3946, 0
  br i1 %.not1033, label %3947, label %3948

3947:                                             ; preds = %3943, %3937
  br label %3948

3948:                                             ; preds = %3943, %3947
  %.str.5.sink2507 = phi ptr [ @.str.5, %3947 ], [ @.str.2, %3943 ]
  store i32 %3938, ptr %1493, align 4, !tbaa !5
  %3949 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3950 = load i32, ptr @test_count, align 4, !tbaa !5
  %3951 = load i32, ptr %1439, align 4, !tbaa !5
  %3952 = call ptr @s2n_strerror(i32 noundef %3951, ptr noundef nonnull @.str.4) #11
  %3953 = load i32, ptr %1439, align 4, !tbaa !5
  %3954 = call ptr @s2n_strerror_debug(i32 noundef %3953, ptr noundef nonnull @.str.4) #11
  %3955 = load i32, ptr %1493, align 4, !tbaa !5
  %3956 = call ptr @strerror(i32 noundef %3955) #11
  %3957 = load i32, ptr %1493, align 4, !tbaa !5
  %3958 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3949, ptr noundef nonnull %.str.5.sink2507, i32 noundef %3950, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.1, i32 noundef 423, ptr noundef %3952, ptr noundef %3954, ptr noundef %3956, i32 noundef %3957) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3959:                                             ; preds = %3932
  %3960 = load i32, ptr @test_count, align 4, !tbaa !5
  %3961 = add nsw i32 %3960, 1
  store i32 %3961, ptr @test_count, align 4, !tbaa !5
  %3962 = call i32 @s2n_connection_free(ptr noundef nonnull %3571) #11
  %3963 = icmp eq i32 %3962, -1
  br i1 %3963, label %3964, label %3986

3964:                                             ; preds = %3959
  %3965 = load i32, ptr %1493, align 4, !tbaa !5
  %3966 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3967 = call i32 @s2n_print_stacktrace(ptr noundef %3966) #11
  %3968 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3969 = trunc nuw i8 %3968 to i1
  br i1 %3969, label %3970, label %3974

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

3974:                                             ; preds = %3970, %3964
  br label %3975

3975:                                             ; preds = %3970, %3974
  %.str.5.sink2516 = phi ptr [ @.str.5, %3974 ], [ @.str.2, %3970 ]
  store i32 %3965, ptr %1493, align 4, !tbaa !5
  %3976 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3977 = load i32, ptr @test_count, align 4, !tbaa !5
  %3978 = load i32, ptr %1439, align 4, !tbaa !5
  %3979 = call ptr @s2n_strerror(i32 noundef %3978, ptr noundef nonnull @.str.4) #11
  %3980 = load i32, ptr %1439, align 4, !tbaa !5
  %3981 = call ptr @s2n_strerror_debug(i32 noundef %3980, ptr noundef nonnull @.str.4) #11
  %3982 = load i32, ptr %1493, align 4, !tbaa !5
  %3983 = call ptr @strerror(i32 noundef %3982) #11
  %3984 = load i32, ptr %1493, align 4, !tbaa !5
  %3985 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3976, ptr noundef nonnull %.str.5.sink2516, i32 noundef %3977, ptr noundef nonnull @.str.40, ptr noundef nonnull @.str.1, i32 noundef 424, ptr noundef %3979, ptr noundef %3981, ptr noundef %3983, i32 noundef %3984) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3986:                                             ; preds = %3959
  %3987 = load i32, ptr @test_count, align 4, !tbaa !5
  %3988 = add nsw i32 %3987, 1
  store i32 %3988, ptr @test_count, align 4, !tbaa !5
  %3989 = call ptr @s2n_config_new() #11
  %3990 = icmp eq ptr %3989, null
  br i1 %3990, label %3991, label %4013

3991:                                             ; preds = %3986
  %3992 = load i32, ptr %1493, align 4, !tbaa !5
  %3993 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3994 = call i32 @s2n_print_stacktrace(ptr noundef %3993) #11
  %3995 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3996 = trunc nuw i8 %3995 to i1
  br i1 %3996, label %3997, label %4001

3997:                                             ; preds = %3991
  %3998 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3999 = call i32 @fileno(ptr noundef %3998) #11
  %4000 = call i32 @isatty(i32 noundef %3999) #11
  %.not1031 = icmp eq i32 %4000, 0
  br i1 %.not1031, label %4001, label %4002

4001:                                             ; preds = %3997, %3991
  br label %4002

4002:                                             ; preds = %3997, %4001
  %.str.5.sink2525 = phi ptr [ @.str.5, %4001 ], [ @.str.2, %3997 ]
  store i32 %3992, ptr %1493, align 4, !tbaa !5
  %4003 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4004 = load i32, ptr @test_count, align 4, !tbaa !5
  %4005 = load i32, ptr %1439, align 4, !tbaa !5
  %4006 = call ptr @s2n_strerror(i32 noundef %4005, ptr noundef nonnull @.str.4) #11
  %4007 = load i32, ptr %1439, align 4, !tbaa !5
  %4008 = call ptr @s2n_strerror_debug(i32 noundef %4007, ptr noundef nonnull @.str.4) #11
  %4009 = load i32, ptr %1493, align 4, !tbaa !5
  %4010 = call ptr @strerror(i32 noundef %4009) #11
  %4011 = load i32, ptr %1493, align 4, !tbaa !5
  %4012 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4003, ptr noundef nonnull %.str.5.sink2525, i32 noundef %4004, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.1, i32 noundef 434, ptr noundef %4006, ptr noundef %4008, ptr noundef %4010, i32 noundef %4011) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4013:                                             ; preds = %3986
  %4014 = load i32, ptr @test_count, align 4, !tbaa !5
  %4015 = add nsw i32 %4014, 1
  store i32 %4015, ptr @test_count, align 4, !tbaa !5
  %4016 = call ptr @s2n_connection_new(i32 noundef 0) #11
  %4017 = icmp eq ptr %4016, null
  br i1 %4017, label %4018, label %4040

4018:                                             ; preds = %4013
  %4019 = load i32, ptr %1493, align 4, !tbaa !5
  %4020 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4021 = call i32 @s2n_print_stacktrace(ptr noundef %4020) #11
  %4022 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4023 = trunc nuw i8 %4022 to i1
  br i1 %4023, label %4024, label %4028

4024:                                             ; preds = %4018
  %4025 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4026 = call i32 @fileno(ptr noundef %4025) #11
  %4027 = call i32 @isatty(i32 noundef %4026) #11
  %.not1030 = icmp eq i32 %4027, 0
  br i1 %.not1030, label %4028, label %4029

4028:                                             ; preds = %4024, %4018
  br label %4029

4029:                                             ; preds = %4024, %4028
  %.str.5.sink2534 = phi ptr [ @.str.5, %4028 ], [ @.str.2, %4024 ]
  store i32 %4019, ptr %1493, align 4, !tbaa !5
  %4030 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4031 = load i32, ptr @test_count, align 4, !tbaa !5
  %4032 = load i32, ptr %1439, align 4, !tbaa !5
  %4033 = call ptr @s2n_strerror(i32 noundef %4032, ptr noundef nonnull @.str.4) #11
  %4034 = load i32, ptr %1439, align 4, !tbaa !5
  %4035 = call ptr @s2n_strerror_debug(i32 noundef %4034, ptr noundef nonnull @.str.4) #11
  %4036 = load i32, ptr %1493, align 4, !tbaa !5
  %4037 = call ptr @strerror(i32 noundef %4036) #11
  %4038 = load i32, ptr %1493, align 4, !tbaa !5
  %4039 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4030, ptr noundef nonnull %.str.5.sink2534, i32 noundef %4031, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.1, i32 noundef 435, ptr noundef %4033, ptr noundef %4035, ptr noundef %4037, i32 noundef %4038) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4040:                                             ; preds = %4013
  %4041 = load i32, ptr @test_count, align 4, !tbaa !5
  %4042 = add nsw i32 %4041, 1
  store i32 %4042, ptr @test_count, align 4, !tbaa !5
  %4043 = call i32 @s2n_connection_set_config(ptr noundef nonnull %4016, ptr noundef nonnull %3989) #11
  %4044 = icmp eq i32 %4043, -1
  br i1 %4044, label %4045, label %4067

4045:                                             ; preds = %4040
  %4046 = load i32, ptr %1493, align 4, !tbaa !5
  %4047 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4048 = call i32 @s2n_print_stacktrace(ptr noundef %4047) #11
  %4049 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4050 = trunc nuw i8 %4049 to i1
  br i1 %4050, label %4051, label %4055

4051:                                             ; preds = %4045
  %4052 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4053 = call i32 @fileno(ptr noundef %4052) #11
  %4054 = call i32 @isatty(i32 noundef %4053) #11
  %.not1029 = icmp eq i32 %4054, 0
  br i1 %.not1029, label %4055, label %4056

4055:                                             ; preds = %4051, %4045
  br label %4056

4056:                                             ; preds = %4051, %4055
  %.str.5.sink2543 = phi ptr [ @.str.5, %4055 ], [ @.str.2, %4051 ]
  store i32 %4046, ptr %1493, align 4, !tbaa !5
  %4057 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4058 = load i32, ptr @test_count, align 4, !tbaa !5
  %4059 = load i32, ptr %1439, align 4, !tbaa !5
  %4060 = call ptr @s2n_strerror(i32 noundef %4059, ptr noundef nonnull @.str.4) #11
  %4061 = load i32, ptr %1439, align 4, !tbaa !5
  %4062 = call ptr @s2n_strerror_debug(i32 noundef %4061, ptr noundef nonnull @.str.4) #11
  %4063 = load i32, ptr %1493, align 4, !tbaa !5
  %4064 = call ptr @strerror(i32 noundef %4063) #11
  %4065 = load i32, ptr %1493, align 4, !tbaa !5
  %4066 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4057, ptr noundef nonnull %.str.5.sink2543, i32 noundef %4058, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 436, ptr noundef %4060, ptr noundef %4062, ptr noundef %4064, i32 noundef %4065) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4067:                                             ; preds = %4040
  %4068 = load i32, ptr @test_count, align 4, !tbaa !5
  %4069 = add nsw i32 %4068, 1
  store i32 %4069, ptr @test_count, align 4, !tbaa !5
  %4070 = call ptr @s2n_config_new() #11
  %4071 = icmp eq ptr %4070, null
  br i1 %4071, label %4072, label %4094

4072:                                             ; preds = %4067
  %4073 = load i32, ptr %1493, align 4, !tbaa !5
  %4074 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4075 = call i32 @s2n_print_stacktrace(ptr noundef %4074) #11
  %4076 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4077 = trunc nuw i8 %4076 to i1
  br i1 %4077, label %4078, label %4082

4078:                                             ; preds = %4072
  %4079 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4080 = call i32 @fileno(ptr noundef %4079) #11
  %4081 = call i32 @isatty(i32 noundef %4080) #11
  %.not1028 = icmp eq i32 %4081, 0
  br i1 %.not1028, label %4082, label %4083

4082:                                             ; preds = %4078, %4072
  br label %4083

4083:                                             ; preds = %4078, %4082
  %.str.5.sink2552 = phi ptr [ @.str.5, %4082 ], [ @.str.2, %4078 ]
  store i32 %4073, ptr %1493, align 4, !tbaa !5
  %4084 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4085 = load i32, ptr @test_count, align 4, !tbaa !5
  %4086 = load i32, ptr %1439, align 4, !tbaa !5
  %4087 = call ptr @s2n_strerror(i32 noundef %4086, ptr noundef nonnull @.str.4) #11
  %4088 = load i32, ptr %1439, align 4, !tbaa !5
  %4089 = call ptr @s2n_strerror_debug(i32 noundef %4088, ptr noundef nonnull @.str.4) #11
  %4090 = load i32, ptr %1493, align 4, !tbaa !5
  %4091 = call ptr @strerror(i32 noundef %4090) #11
  %4092 = load i32, ptr %1493, align 4, !tbaa !5
  %4093 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4084, ptr noundef nonnull %.str.5.sink2552, i32 noundef %4085, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.1, i32 noundef 438, ptr noundef %4087, ptr noundef %4089, ptr noundef %4091, i32 noundef %4092) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4094:                                             ; preds = %4067
  %4095 = load i32, ptr @test_count, align 4, !tbaa !5
  %4096 = add nsw i32 %4095, 1
  store i32 %4096, ptr @test_count, align 4, !tbaa !5
  %4097 = call ptr @s2n_connection_new(i32 noundef 1) #11
  %4098 = icmp eq ptr %4097, null
  br i1 %4098, label %4099, label %4121

4099:                                             ; preds = %4094
  %4100 = load i32, ptr %1493, align 4, !tbaa !5
  %4101 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4102 = call i32 @s2n_print_stacktrace(ptr noundef %4101) #11
  %4103 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4104 = trunc nuw i8 %4103 to i1
  br i1 %4104, label %4105, label %4109

4105:                                             ; preds = %4099
  %4106 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4107 = call i32 @fileno(ptr noundef %4106) #11
  %4108 = call i32 @isatty(i32 noundef %4107) #11
  %.not1027 = icmp eq i32 %4108, 0
  br i1 %.not1027, label %4109, label %4110

4109:                                             ; preds = %4105, %4099
  br label %4110

4110:                                             ; preds = %4105, %4109
  %.str.5.sink2561 = phi ptr [ @.str.5, %4109 ], [ @.str.2, %4105 ]
  store i32 %4100, ptr %1493, align 4, !tbaa !5
  %4111 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4112 = load i32, ptr @test_count, align 4, !tbaa !5
  %4113 = load i32, ptr %1439, align 4, !tbaa !5
  %4114 = call ptr @s2n_strerror(i32 noundef %4113, ptr noundef nonnull @.str.4) #11
  %4115 = load i32, ptr %1439, align 4, !tbaa !5
  %4116 = call ptr @s2n_strerror_debug(i32 noundef %4115, ptr noundef nonnull @.str.4) #11
  %4117 = load i32, ptr %1493, align 4, !tbaa !5
  %4118 = call ptr @strerror(i32 noundef %4117) #11
  %4119 = load i32, ptr %1493, align 4, !tbaa !5
  %4120 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4111, ptr noundef nonnull %.str.5.sink2561, i32 noundef %4112, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.1, i32 noundef 439, ptr noundef %4114, ptr noundef %4116, ptr noundef %4118, i32 noundef %4119) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4121:                                             ; preds = %4094
  %4122 = load i32, ptr @test_count, align 4, !tbaa !5
  %4123 = add nsw i32 %4122, 1
  store i32 %4123, ptr @test_count, align 4, !tbaa !5
  %4124 = call i32 @s2n_connection_set_config(ptr noundef nonnull %4097, ptr noundef nonnull %4070) #11
  %4125 = icmp eq i32 %4124, -1
  br i1 %4125, label %4126, label %4148

4126:                                             ; preds = %4121
  %4127 = load i32, ptr %1493, align 4, !tbaa !5
  %4128 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4129 = call i32 @s2n_print_stacktrace(ptr noundef %4128) #11
  %4130 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4131 = trunc nuw i8 %4130 to i1
  br i1 %4131, label %4132, label %4136

4132:                                             ; preds = %4126
  %4133 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4134 = call i32 @fileno(ptr noundef %4133) #11
  %4135 = call i32 @isatty(i32 noundef %4134) #11
  %.not1026 = icmp eq i32 %4135, 0
  br i1 %.not1026, label %4136, label %4137

4136:                                             ; preds = %4132, %4126
  br label %4137

4137:                                             ; preds = %4132, %4136
  %.str.5.sink2570 = phi ptr [ @.str.5, %4136 ], [ @.str.2, %4132 ]
  store i32 %4127, ptr %1493, align 4, !tbaa !5
  %4138 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4139 = load i32, ptr @test_count, align 4, !tbaa !5
  %4140 = load i32, ptr %1439, align 4, !tbaa !5
  %4141 = call ptr @s2n_strerror(i32 noundef %4140, ptr noundef nonnull @.str.4) #11
  %4142 = load i32, ptr %1439, align 4, !tbaa !5
  %4143 = call ptr @s2n_strerror_debug(i32 noundef %4142, ptr noundef nonnull @.str.4) #11
  %4144 = load i32, ptr %1493, align 4, !tbaa !5
  %4145 = call ptr @strerror(i32 noundef %4144) #11
  %4146 = load i32, ptr %1493, align 4, !tbaa !5
  %4147 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4138, ptr noundef nonnull %.str.5.sink2570, i32 noundef %4139, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.1, i32 noundef 440, ptr noundef %4141, ptr noundef %4143, ptr noundef %4145, i32 noundef %4146) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4148:                                             ; preds = %4121
  %4149 = getelementptr inbounds i8, ptr %4097, i64 218
  store i8 34, ptr %4149, align 2, !tbaa !64
  %4150 = getelementptr inbounds i8, ptr %4016, i64 219
  store i8 33, ptr %4150, align 1, !tbaa !60
  %4151 = getelementptr inbounds i8, ptr %4016, i64 220
  store i8 33, ptr %4151, align 4, !tbaa !42
  %4152 = getelementptr inbounds i8, ptr %4016, i64 232
  %4153 = load ptr, ptr %4152, align 8, !tbaa !52
  store ptr @s2n_ecdhe_rsa_with_aes_256_gcm_sha384, ptr %4153, align 8, !tbaa !53
  %4154 = load i32, ptr @test_count, align 4, !tbaa !5
  %4155 = add nsw i32 %4154, 1
  store i32 %4155, ptr @test_count, align 4, !tbaa !5
  %4156 = call i32 @s2n_server_hello_send(ptr noundef nonnull %4016) #11
  %4157 = icmp eq i32 %4156, -1
  br i1 %4157, label %4158, label %4180

4158:                                             ; preds = %4148
  %4159 = load i32, ptr %1493, align 4, !tbaa !5
  %4160 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4161 = call i32 @s2n_print_stacktrace(ptr noundef %4160) #11
  %4162 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4163 = trunc nuw i8 %4162 to i1
  br i1 %4163, label %4164, label %4168

4164:                                             ; preds = %4158
  %4165 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4166 = call i32 @fileno(ptr noundef %4165) #11
  %4167 = call i32 @isatty(i32 noundef %4166) #11
  %.not1025 = icmp eq i32 %4167, 0
  br i1 %.not1025, label %4168, label %4169

4168:                                             ; preds = %4164, %4158
  br label %4169

4169:                                             ; preds = %4164, %4168
  %.str.5.sink2579 = phi ptr [ @.str.5, %4168 ], [ @.str.2, %4164 ]
  store i32 %4159, ptr %1493, align 4, !tbaa !5
  %4170 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4171 = load i32, ptr @test_count, align 4, !tbaa !5
  %4172 = load i32, ptr %1439, align 4, !tbaa !5
  %4173 = call ptr @s2n_strerror(i32 noundef %4172, ptr noundef nonnull @.str.4) #11
  %4174 = load i32, ptr %1439, align 4, !tbaa !5
  %4175 = call ptr @s2n_strerror_debug(i32 noundef %4174, ptr noundef nonnull @.str.4) #11
  %4176 = load i32, ptr %1493, align 4, !tbaa !5
  %4177 = call ptr @strerror(i32 noundef %4176) #11
  %4178 = load i32, ptr %1493, align 4, !tbaa !5
  %4179 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4170, ptr noundef nonnull %.str.5.sink2579, i32 noundef %4171, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.1, i32 noundef 450, ptr noundef %4173, ptr noundef %4175, ptr noundef %4177, i32 noundef %4178) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4180:                                             ; preds = %4148
  %4181 = getelementptr inbounds i8, ptr %4016, i64 2016
  %4182 = getelementptr inbounds i8, ptr %4016, i64 2044
  %4183 = load i32, ptr %4182, align 4, !tbaa !58
  %4184 = getelementptr inbounds i8, ptr %4016, i64 2040
  %4185 = load i32, ptr %4184, align 8, !tbaa !59
  %4186 = sub i32 %4183, %4185
  %4187 = load i32, ptr @test_count, align 4, !tbaa !5
  %4188 = add nsw i32 %4187, 1
  store i32 %4188, ptr @test_count, align 4, !tbaa !5
  %4189 = getelementptr inbounds i8, ptr %4097, i64 2016
  %4190 = call i32 @s2n_stuffer_copy(ptr noundef nonnull %4181, ptr noundef nonnull %4189, i32 noundef %4186) #11
  %4191 = icmp eq i32 %4190, -1
  br i1 %4191, label %4192, label %4214

4192:                                             ; preds = %4180
  %4193 = load i32, ptr %1493, align 4, !tbaa !5
  %4194 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4195 = call i32 @s2n_print_stacktrace(ptr noundef %4194) #11
  %4196 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4197 = trunc nuw i8 %4196 to i1
  br i1 %4197, label %4198, label %4202

4198:                                             ; preds = %4192
  %4199 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4200 = call i32 @fileno(ptr noundef %4199) #11
  %4201 = call i32 @isatty(i32 noundef %4200) #11
  %.not1024 = icmp eq i32 %4201, 0
  br i1 %.not1024, label %4202, label %4203

4202:                                             ; preds = %4198, %4192
  br label %4203

4203:                                             ; preds = %4198, %4202
  %.str.5.sink2588 = phi ptr [ @.str.5, %4202 ], [ @.str.2, %4198 ]
  store i32 %4193, ptr %1493, align 4, !tbaa !5
  %4204 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4205 = load i32, ptr @test_count, align 4, !tbaa !5
  %4206 = load i32, ptr %1439, align 4, !tbaa !5
  %4207 = call ptr @s2n_strerror(i32 noundef %4206, ptr noundef nonnull @.str.4) #11
  %4208 = load i32, ptr %1439, align 4, !tbaa !5
  %4209 = call ptr @s2n_strerror_debug(i32 noundef %4208, ptr noundef nonnull @.str.4) #11
  %4210 = load i32, ptr %1493, align 4, !tbaa !5
  %4211 = call ptr @strerror(i32 noundef %4210) #11
  %4212 = load i32, ptr %1493, align 4, !tbaa !5
  %4213 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4204, ptr noundef nonnull %.str.5.sink2588, i32 noundef %4205, ptr noundef nonnull @.str.34, ptr noundef nonnull @.str.1, i32 noundef 454, ptr noundef %4207, ptr noundef %4209, ptr noundef %4211, i32 noundef %4212) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4214:                                             ; preds = %4180
  %4215 = call i32 (...) @s2n_enable_tls13_in_test() #11
  %4216 = icmp sgt i32 %4215, -1
  br i1 %4216, label %4217, label %.thread

4217:                                             ; preds = %4214
  %4218 = load i32, ptr @test_count, align 4, !tbaa !5
  %4219 = add nsw i32 %4218, 1
  store i32 %4219, ptr @test_count, align 4, !tbaa !5
  %4220 = call i32 @s2n_server_hello_recv(ptr noundef nonnull %4097) #11
  %4221 = icmp eq i32 %4220, -1
  br i1 %4221, label %4222, label %4244

4222:                                             ; preds = %4217
  %4223 = load i32, ptr %1493, align 4, !tbaa !5
  %4224 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4225 = call i32 @s2n_print_stacktrace(ptr noundef %4224) #11
  %4226 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4227 = trunc nuw i8 %4226 to i1
  br i1 %4227, label %4228, label %4232

4228:                                             ; preds = %4222
  %4229 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4230 = call i32 @fileno(ptr noundef %4229) #11
  %4231 = call i32 @isatty(i32 noundef %4230) #11
  %.not1023 = icmp eq i32 %4231, 0
  br i1 %.not1023, label %4232, label %4233

4232:                                             ; preds = %4228, %4222
  br label %4233

4233:                                             ; preds = %4228, %4232
  %.str.5.sink2597 = phi ptr [ @.str.5, %4232 ], [ @.str.2, %4228 ]
  store i32 %4223, ptr %1493, align 4, !tbaa !5
  %4234 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4235 = load i32, ptr @test_count, align 4, !tbaa !5
  %4236 = load i32, ptr %1439, align 4, !tbaa !5
  %4237 = call ptr @s2n_strerror(i32 noundef %4236, ptr noundef nonnull @.str.4) #11
  %4238 = load i32, ptr %1439, align 4, !tbaa !5
  %4239 = call ptr @s2n_strerror_debug(i32 noundef %4238, ptr noundef nonnull @.str.4) #11
  %4240 = load i32, ptr %1493, align 4, !tbaa !5
  %4241 = call ptr @strerror(i32 noundef %4240) #11
  %4242 = load i32, ptr %1493, align 4, !tbaa !5
  %4243 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4234, ptr noundef nonnull %.str.5.sink2597, i32 noundef %4235, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.1, i32 noundef 459, ptr noundef %4237, ptr noundef %4239, ptr noundef %4241, i32 noundef %4242) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4244:                                             ; preds = %4217
  %4245 = call i32 (...) @s2n_disable_tls13_in_test() #11
  %4246 = icmp sgt i32 %4245, -1
  br i1 %4246, label %4247, label %.thread

4247:                                             ; preds = %4244
  %4248 = load i32, ptr @test_count, align 4, !tbaa !5
  %4249 = add nsw i32 %4248, 1
  store i32 %4249, ptr @test_count, align 4, !tbaa !5
  %4250 = getelementptr inbounds i8, ptr %4097, i64 2044
  %4251 = load i32, ptr %4250, align 4, !tbaa !45
  %4252 = getelementptr inbounds i8, ptr %4097, i64 2040
  %4253 = load i32, ptr %4252, align 8, !tbaa !46
  %4254 = icmp eq i32 %4251, %4253
  br i1 %4254, label %4277, label %4255

4255:                                             ; preds = %4247
  %4256 = load i32, ptr %1493, align 4, !tbaa !5
  %4257 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4258 = call i32 @s2n_print_stacktrace(ptr noundef %4257) #11
  %4259 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4260 = trunc nuw i8 %4259 to i1
  br i1 %4260, label %4261, label %4265

4261:                                             ; preds = %4255
  %4262 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4263 = call i32 @fileno(ptr noundef %4262) #11
  %4264 = call i32 @isatty(i32 noundef %4263) #11
  %.not914 = icmp eq i32 %4264, 0
  br i1 %.not914, label %4265, label %4266

4265:                                             ; preds = %4261, %4255
  br label %4266

4266:                                             ; preds = %4261, %4265
  %.str.5.sink2606 = phi ptr [ @.str.5, %4265 ], [ @.str.2, %4261 ]
  store i32 %4256, ptr %1493, align 4, !tbaa !5
  %4267 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4268 = load i32, ptr @test_count, align 4, !tbaa !5
  %4269 = load i32, ptr %1439, align 4, !tbaa !5
  %4270 = call ptr @s2n_strerror(i32 noundef %4269, ptr noundef nonnull @.str.4) #11
  %4271 = load i32, ptr %1439, align 4, !tbaa !5
  %4272 = call ptr @s2n_strerror_debug(i32 noundef %4271, ptr noundef nonnull @.str.4) #11
  %4273 = load i32, ptr %1493, align 4, !tbaa !5
  %4274 = call ptr @strerror(i32 noundef %4273) #11
  %4275 = load i32, ptr %1493, align 4, !tbaa !5
  %4276 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4267, ptr noundef nonnull %.str.5.sink2606, i32 noundef %4268, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.1, i32 noundef 461, ptr noundef %4270, ptr noundef %4272, ptr noundef %4274, i32 noundef %4275) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4277:                                             ; preds = %4247
  %4278 = add nsw i32 %4248, 2
  store i32 %4278, ptr @test_count, align 4, !tbaa !5
  %4279 = call i32 @s2n_config_free(ptr noundef nonnull %4070) #11
  %4280 = icmp eq i32 %4279, -1
  br i1 %4280, label %4281, label %4303

4281:                                             ; preds = %4277
  %4282 = load i32, ptr %1493, align 4, !tbaa !5
  %4283 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4284 = call i32 @s2n_print_stacktrace(ptr noundef %4283) #11
  %4285 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4286 = trunc nuw i8 %4285 to i1
  br i1 %4286, label %4287, label %4291

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

4291:                                             ; preds = %4287, %4281
  br label %4292

4292:                                             ; preds = %4287, %4291
  %.str.5.sink2615 = phi ptr [ @.str.5, %4291 ], [ @.str.2, %4287 ]
  store i32 %4282, ptr %1493, align 4, !tbaa !5
  %4293 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4294 = load i32, ptr @test_count, align 4, !tbaa !5
  %4295 = load i32, ptr %1439, align 4, !tbaa !5
  %4296 = call ptr @s2n_strerror(i32 noundef %4295, ptr noundef nonnull @.str.4) #11
  %4297 = load i32, ptr %1439, align 4, !tbaa !5
  %4298 = call ptr @s2n_strerror_debug(i32 noundef %4297, ptr noundef nonnull @.str.4) #11
  %4299 = load i32, ptr %1493, align 4, !tbaa !5
  %4300 = call ptr @strerror(i32 noundef %4299) #11
  %4301 = load i32, ptr %1493, align 4, !tbaa !5
  %4302 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4293, ptr noundef nonnull %.str.5.sink2615, i32 noundef %4294, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.1, i32 noundef 463, ptr noundef %4296, ptr noundef %4298, ptr noundef %4300, i32 noundef %4301) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4303:                                             ; preds = %4277
  %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 i32 @s2n_config_free(ptr noundef nonnull %3989) #11
  %4307 = icmp eq i32 %4306, -1
  br i1 %4307, label %4308, label %4330

4308:                                             ; preds = %4303
  %4309 = load i32, ptr %1493, align 4, !tbaa !5
  %4310 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4311 = call i32 @s2n_print_stacktrace(ptr noundef %4310) #11
  %4312 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4313 = trunc nuw i8 %4312 to i1
  br i1 %4313, label %4314, label %4318

4314:                                             ; preds = %4308
  %4315 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4316 = call i32 @fileno(ptr noundef %4315) #11
  %4317 = call i32 @isatty(i32 noundef %4316) #11
  %.not1021 = icmp eq i32 %4317, 0
  br i1 %.not1021, label %4318, label %4319

4318:                                             ; preds = %4314, %4308
  br label %4319

4319:                                             ; preds = %4314, %4318
  %.str.5.sink2624 = phi ptr [ @.str.5, %4318 ], [ @.str.2, %4314 ]
  store i32 %4309, ptr %1493, align 4, !tbaa !5
  %4320 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4321 = load i32, ptr @test_count, align 4, !tbaa !5
  %4322 = load i32, ptr %1439, align 4, !tbaa !5
  %4323 = call ptr @s2n_strerror(i32 noundef %4322, ptr noundef nonnull @.str.4) #11
  %4324 = load i32, ptr %1439, align 4, !tbaa !5
  %4325 = call ptr @s2n_strerror_debug(i32 noundef %4324, ptr noundef nonnull @.str.4) #11
  %4326 = load i32, ptr %1493, align 4, !tbaa !5
  %4327 = call ptr @strerror(i32 noundef %4326) #11
  %4328 = load i32, ptr %1493, align 4, !tbaa !5
  %4329 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4320, ptr noundef nonnull %.str.5.sink2624, i32 noundef %4321, ptr noundef nonnull @.str.38, ptr noundef nonnull @.str.1, i32 noundef 464, ptr noundef %4323, ptr noundef %4325, ptr noundef %4327, i32 noundef %4328) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4330:                                             ; preds = %4303
  %4331 = load i32, ptr @test_count, align 4, !tbaa !5
  %4332 = add nsw i32 %4331, 1
  store i32 %4332, ptr @test_count, align 4, !tbaa !5
  %4333 = call i32 @s2n_connection_free(ptr noundef nonnull %4097) #11
  %4334 = icmp eq i32 %4333, -1
  br i1 %4334, label %4335, label %4357

4335:                                             ; preds = %4330
  %4336 = load i32, ptr %1493, align 4, !tbaa !5
  %4337 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4338 = call i32 @s2n_print_stacktrace(ptr noundef %4337) #11
  %4339 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4340 = trunc nuw i8 %4339 to i1
  br i1 %4340, label %4341, label %4345

4341:                                             ; preds = %4335
  %4342 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4343 = call i32 @fileno(ptr noundef %4342) #11
  %4344 = call i32 @isatty(i32 noundef %4343) #11
  %.not1020 = icmp eq i32 %4344, 0
  br i1 %.not1020, label %4345, label %4346

4345:                                             ; preds = %4341, %4335
  br label %4346

4346:                                             ; preds = %4341, %4345
  %.str.5.sink2633 = phi ptr [ @.str.5, %4345 ], [ @.str.2, %4341 ]
  store i32 %4336, ptr %1493, align 4, !tbaa !5
  %4347 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4348 = load i32, ptr @test_count, align 4, !tbaa !5
  %4349 = load i32, ptr %1439, align 4, !tbaa !5
  %4350 = call ptr @s2n_strerror(i32 noundef %4349, ptr noundef nonnull @.str.4) #11
  %4351 = load i32, ptr %1439, align 4, !tbaa !5
  %4352 = call ptr @s2n_strerror_debug(i32 noundef %4351, ptr noundef nonnull @.str.4) #11
  %4353 = load i32, ptr %1493, align 4, !tbaa !5
  %4354 = call ptr @strerror(i32 noundef %4353) #11
  %4355 = load i32, ptr %1493, align 4, !tbaa !5
  %4356 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4347, ptr noundef nonnull %.str.5.sink2633, i32 noundef %4348, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.1, i32 noundef 465, ptr noundef %4350, ptr noundef %4352, ptr noundef %4354, i32 noundef %4355) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4357:                                             ; preds = %4330
  %4358 = load i32, ptr @test_count, align 4, !tbaa !5
  %4359 = add nsw i32 %4358, 1
  store i32 %4359, ptr @test_count, align 4, !tbaa !5
  %4360 = call i32 @s2n_connection_free(ptr noundef nonnull %4016) #11
  %4361 = icmp eq i32 %4360, -1
  br i1 %4361, label %4362, label %4384

4362:                                             ; preds = %4357
  %4363 = load i32, ptr %1493, align 4, !tbaa !5
  %4364 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4365 = call i32 @s2n_print_stacktrace(ptr noundef %4364) #11
  %4366 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4367 = trunc nuw i8 %4366 to i1
  br i1 %4367, label %4368, label %4372

4368:                                             ; preds = %4362
  %4369 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4370 = call i32 @fileno(ptr noundef %4369) #11
  %4371 = call i32 @isatty(i32 noundef %4370) #11
  %.not1019 = icmp eq i32 %4371, 0
  br i1 %.not1019, label %4372, label %4373

4372:                                             ; preds = %4368, %4362
  br label %4373

4373:                                             ; preds = %4368, %4372
  %.str.5.sink2642 = phi ptr [ @.str.5, %4372 ], [ @.str.2, %4368 ]
  store i32 %4363, ptr %1493, align 4, !tbaa !5
  %4374 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4375 = load i32, ptr @test_count, align 4, !tbaa !5
  %4376 = load i32, ptr %1439, align 4, !tbaa !5
  %4377 = call ptr @s2n_strerror(i32 noundef %4376, ptr noundef nonnull @.str.4) #11
  %4378 = load i32, ptr %1439, align 4, !tbaa !5
  %4379 = call ptr @s2n_strerror_debug(i32 noundef %4378, ptr noundef nonnull @.str.4) #11
  %4380 = load i32, ptr %1493, align 4, !tbaa !5
  %4381 = call ptr @strerror(i32 noundef %4380) #11
  %4382 = load i32, ptr %1493, align 4, !tbaa !5
  %4383 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4374, ptr noundef nonnull %.str.5.sink2642, i32 noundef %4375, ptr noundef nonnull @.str.40, ptr noundef nonnull @.str.1, i32 noundef 466, ptr noundef %4377, ptr noundef %4379, ptr noundef %4381, i32 noundef %4382) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4384:                                             ; preds = %4357
  %4385 = load i32, ptr @test_count, align 4, !tbaa !5
  %4386 = add nsw i32 %4385, 1
  store i32 %4386, ptr @test_count, align 4, !tbaa !5
  %4387 = call ptr @s2n_config_new() #11
  %4388 = icmp eq ptr %4387, null
  br i1 %4388, label %4389, label %4411

4389:                                             ; preds = %4384
  %4390 = load i32, ptr %1493, align 4, !tbaa !5
  %4391 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4392 = call i32 @s2n_print_stacktrace(ptr noundef %4391) #11
  %4393 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4394 = trunc nuw i8 %4393 to i1
  br i1 %4394, label %4395, label %4399

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

4399:                                             ; preds = %4395, %4389
  br label %4400

4400:                                             ; preds = %4395, %4399
  %.str.5.sink2651 = phi ptr [ @.str.5, %4399 ], [ @.str.2, %4395 ]
  store i32 %4390, ptr %1493, align 4, !tbaa !5
  %4401 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4402 = load i32, ptr @test_count, align 4, !tbaa !5
  %4403 = load i32, ptr %1439, align 4, !tbaa !5
  %4404 = call ptr @s2n_strerror(i32 noundef %4403, ptr noundef nonnull @.str.4) #11
  %4405 = load i32, ptr %1439, align 4, !tbaa !5
  %4406 = call ptr @s2n_strerror_debug(i32 noundef %4405, ptr noundef nonnull @.str.4) #11
  %4407 = load i32, ptr %1493, align 4, !tbaa !5
  %4408 = call ptr @strerror(i32 noundef %4407) #11
  %4409 = load i32, ptr %1493, align 4, !tbaa !5
  %4410 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4401, ptr noundef nonnull %.str.5.sink2651, i32 noundef %4402, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.1, i32 noundef 476, ptr noundef %4404, ptr noundef %4406, ptr noundef %4408, i32 noundef %4409) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4411:                                             ; preds = %4384
  %4412 = load i32, ptr @test_count, align 4, !tbaa !5
  %4413 = add nsw i32 %4412, 1
  store i32 %4413, ptr @test_count, align 4, !tbaa !5
  %4414 = call ptr @s2n_connection_new(i32 noundef 0) #11
  %4415 = icmp eq ptr %4414, null
  br i1 %4415, label %4416, label %4438

4416:                                             ; preds = %4411
  %4417 = load i32, ptr %1493, align 4, !tbaa !5
  %4418 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4419 = call i32 @s2n_print_stacktrace(ptr noundef %4418) #11
  %4420 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4421 = trunc nuw i8 %4420 to i1
  br i1 %4421, label %4422, label %4426

4422:                                             ; preds = %4416
  %4423 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4424 = call i32 @fileno(ptr noundef %4423) #11
  %4425 = call i32 @isatty(i32 noundef %4424) #11
  %.not1017 = icmp eq i32 %4425, 0
  br i1 %.not1017, label %4426, label %4427

4426:                                             ; preds = %4422, %4416
  br label %4427

4427:                                             ; preds = %4422, %4426
  %.str.5.sink2660 = phi ptr [ @.str.5, %4426 ], [ @.str.2, %4422 ]
  store i32 %4417, ptr %1493, align 4, !tbaa !5
  %4428 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4429 = load i32, ptr @test_count, align 4, !tbaa !5
  %4430 = load i32, ptr %1439, align 4, !tbaa !5
  %4431 = call ptr @s2n_strerror(i32 noundef %4430, ptr noundef nonnull @.str.4) #11
  %4432 = load i32, ptr %1439, align 4, !tbaa !5
  %4433 = call ptr @s2n_strerror_debug(i32 noundef %4432, ptr noundef nonnull @.str.4) #11
  %4434 = load i32, ptr %1493, align 4, !tbaa !5
  %4435 = call ptr @strerror(i32 noundef %4434) #11
  %4436 = load i32, ptr %1493, align 4, !tbaa !5
  %4437 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4428, ptr noundef nonnull %.str.5.sink2660, i32 noundef %4429, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.1, i32 noundef 477, ptr noundef %4431, ptr noundef %4433, ptr noundef %4435, i32 noundef %4436) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4438:                                             ; preds = %4411
  %4439 = load i32, ptr @test_count, align 4, !tbaa !5
  %4440 = add nsw i32 %4439, 1
  store i32 %4440, ptr @test_count, align 4, !tbaa !5
  %4441 = call i32 @s2n_connection_set_config(ptr noundef nonnull %4414, ptr noundef nonnull %4387) #11
  %4442 = icmp eq i32 %4441, -1
  br i1 %4442, label %4443, label %4465

4443:                                             ; preds = %4438
  %4444 = load i32, ptr %1493, align 4, !tbaa !5
  %4445 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4446 = call i32 @s2n_print_stacktrace(ptr noundef %4445) #11
  %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) #11
  %4452 = call i32 @isatty(i32 noundef %4451) #11
  %.not1016 = icmp eq i32 %4452, 0
  br i1 %.not1016, label %4453, label %4454

4453:                                             ; preds = %4449, %4443
  br label %4454

4454:                                             ; preds = %4449, %4453
  %.str.5.sink2669 = phi ptr [ @.str.5, %4453 ], [ @.str.2, %4449 ]
  store i32 %4444, ptr %1493, 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 %1439, align 4, !tbaa !5
  %4458 = call ptr @s2n_strerror(i32 noundef %4457, ptr noundef nonnull @.str.4) #11
  %4459 = load i32, ptr %1439, align 4, !tbaa !5
  %4460 = call ptr @s2n_strerror_debug(i32 noundef %4459, ptr noundef nonnull @.str.4) #11
  %4461 = load i32, ptr %1493, align 4, !tbaa !5
  %4462 = call ptr @strerror(i32 noundef %4461) #11
  %4463 = load i32, ptr %1493, align 4, !tbaa !5
  %4464 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4455, ptr noundef nonnull %.str.5.sink2669, i32 noundef %4456, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 478, ptr noundef %4458, ptr noundef %4460, ptr noundef %4462, i32 noundef %4463) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4465:                                             ; preds = %4438
  %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 ptr @s2n_config_new() #11
  %4469 = icmp eq ptr %4468, null
  br i1 %4469, label %4470, label %4492

4470:                                             ; preds = %4465
  %4471 = load i32, ptr %1493, align 4, !tbaa !5
  %4472 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4473 = call i32 @s2n_print_stacktrace(ptr noundef %4472) #11
  %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) #11
  %4479 = call i32 @isatty(i32 noundef %4478) #11
  %.not1015 = icmp eq i32 %4479, 0
  br i1 %.not1015, label %4480, label %4481

4480:                                             ; preds = %4476, %4470
  br label %4481

4481:                                             ; preds = %4476, %4480
  %.str.5.sink2678 = phi ptr [ @.str.5, %4480 ], [ @.str.2, %4476 ]
  store i32 %4471, ptr %1493, 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 %1439, align 4, !tbaa !5
  %4485 = call ptr @s2n_strerror(i32 noundef %4484, ptr noundef nonnull @.str.4) #11
  %4486 = load i32, ptr %1439, align 4, !tbaa !5
  %4487 = call ptr @s2n_strerror_debug(i32 noundef %4486, ptr noundef nonnull @.str.4) #11
  %4488 = load i32, ptr %1493, align 4, !tbaa !5
  %4489 = call ptr @strerror(i32 noundef %4488) #11
  %4490 = load i32, ptr %1493, align 4, !tbaa !5
  %4491 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4482, ptr noundef nonnull %.str.5.sink2678, i32 noundef %4483, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.1, i32 noundef 480, ptr noundef %4485, ptr noundef %4487, ptr noundef %4489, i32 noundef %4490) #13
  call void @exit(i32 noundef 1) #14
  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 = call ptr @s2n_connection_new(i32 noundef 1) #11
  %4496 = icmp eq ptr %4495, null
  br i1 %4496, label %4497, label %4519

4497:                                             ; preds = %4492
  %4498 = load i32, ptr %1493, align 4, !tbaa !5
  %4499 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4500 = call i32 @s2n_print_stacktrace(ptr noundef %4499) #11
  %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) #11
  %4506 = call i32 @isatty(i32 noundef %4505) #11
  %.not1014 = icmp eq i32 %4506, 0
  br i1 %.not1014, label %4507, label %4508

4507:                                             ; preds = %4503, %4497
  br label %4508

4508:                                             ; preds = %4503, %4507
  %.str.5.sink2687 = phi ptr [ @.str.5, %4507 ], [ @.str.2, %4503 ]
  store i32 %4498, ptr %1493, 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 %1439, align 4, !tbaa !5
  %4512 = call ptr @s2n_strerror(i32 noundef %4511, ptr noundef nonnull @.str.4) #11
  %4513 = load i32, ptr %1439, align 4, !tbaa !5
  %4514 = call ptr @s2n_strerror_debug(i32 noundef %4513, ptr noundef nonnull @.str.4) #11
  %4515 = load i32, ptr %1493, align 4, !tbaa !5
  %4516 = call ptr @strerror(i32 noundef %4515) #11
  %4517 = load i32, ptr %1493, align 4, !tbaa !5
  %4518 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4509, ptr noundef nonnull %.str.5.sink2687, i32 noundef %4510, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.1, i32 noundef 481, ptr noundef %4512, ptr noundef %4514, ptr noundef %4516, i32 noundef %4517) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4519:                                             ; preds = %4492
  %4520 = load i32, ptr @test_count, align 4, !tbaa !5
  %4521 = add nsw i32 %4520, 1
  store i32 %4521, ptr @test_count, align 4, !tbaa !5
  %4522 = call i32 @s2n_connection_set_config(ptr noundef nonnull %4495, ptr noundef nonnull %4468) #11
  %4523 = icmp eq i32 %4522, -1
  br i1 %4523, label %4524, label %4546

4524:                                             ; preds = %4519
  %4525 = load i32, ptr %1493, align 4, !tbaa !5
  %4526 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4527 = call i32 @s2n_print_stacktrace(ptr noundef %4526) #11
  %4528 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4529 = trunc nuw i8 %4528 to i1
  br i1 %4529, label %4530, label %4534

4530:                                             ; preds = %4524
  %4531 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4532 = call i32 @fileno(ptr noundef %4531) #11
  %4533 = call i32 @isatty(i32 noundef %4532) #11
  %.not1013 = icmp eq i32 %4533, 0
  br i1 %.not1013, label %4534, label %4535

4534:                                             ; preds = %4530, %4524
  br label %4535

4535:                                             ; preds = %4530, %4534
  %.str.5.sink2696 = phi ptr [ @.str.5, %4534 ], [ @.str.2, %4530 ]
  store i32 %4525, ptr %1493, align 4, !tbaa !5
  %4536 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4537 = load i32, ptr @test_count, align 4, !tbaa !5
  %4538 = load i32, ptr %1439, align 4, !tbaa !5
  %4539 = call ptr @s2n_strerror(i32 noundef %4538, ptr noundef nonnull @.str.4) #11
  %4540 = load i32, ptr %1439, align 4, !tbaa !5
  %4541 = call ptr @s2n_strerror_debug(i32 noundef %4540, ptr noundef nonnull @.str.4) #11
  %4542 = load i32, ptr %1493, align 4, !tbaa !5
  %4543 = call ptr @strerror(i32 noundef %4542) #11
  %4544 = load i32, ptr %1493, align 4, !tbaa !5
  %4545 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4536, ptr noundef nonnull %.str.5.sink2696, i32 noundef %4537, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.1, i32 noundef 482, ptr noundef %4539, ptr noundef %4541, ptr noundef %4543, i32 noundef %4544) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4546:                                             ; preds = %4519
  %4547 = getelementptr inbounds i8, ptr %4495, i64 218
  store i8 33, ptr %4547, align 2, !tbaa !64
  %4548 = load i32, ptr @test_count, align 4, !tbaa !5
  %4549 = add nsw i32 %4548, 1
  store i32 %4549, ptr @test_count, align 4, !tbaa !5
  %4550 = call i32 (...) @s2n_enable_tls13_in_test() #11
  %4551 = icmp eq i32 %4550, -1
  br i1 %4551, label %4552, label %4574

4552:                                             ; preds = %4546
  %4553 = load i32, ptr %1493, align 4, !tbaa !5
  %4554 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4555 = call i32 @s2n_print_stacktrace(ptr noundef %4554) #11
  %4556 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4557 = trunc nuw i8 %4556 to i1
  br i1 %4557, label %4558, label %4562

4558:                                             ; preds = %4552
  %4559 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4560 = call i32 @fileno(ptr noundef %4559) #11
  %4561 = call i32 @isatty(i32 noundef %4560) #11
  %.not1012 = icmp eq i32 %4561, 0
  br i1 %.not1012, label %4562, label %4563

4562:                                             ; preds = %4558, %4552
  br label %4563

4563:                                             ; preds = %4558, %4562
  %.str.5.sink2705 = phi ptr [ @.str.5, %4562 ], [ @.str.2, %4558 ]
  store i32 %4553, ptr %1493, align 4, !tbaa !5
  %4564 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4565 = load i32, ptr @test_count, align 4, !tbaa !5
  %4566 = load i32, ptr %1439, align 4, !tbaa !5
  %4567 = call ptr @s2n_strerror(i32 noundef %4566, ptr noundef nonnull @.str.4) #11
  %4568 = load i32, ptr %1439, align 4, !tbaa !5
  %4569 = call ptr @s2n_strerror_debug(i32 noundef %4568, ptr noundef nonnull @.str.4) #11
  %4570 = load i32, ptr %1493, align 4, !tbaa !5
  %4571 = call ptr @strerror(i32 noundef %4570) #11
  %4572 = load i32, ptr %1493, align 4, !tbaa !5
  %4573 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4564, ptr noundef nonnull %.str.5.sink2705, i32 noundef %4565, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 489, ptr noundef %4567, ptr noundef %4569, ptr noundef %4571, i32 noundef %4572) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4574:                                             ; preds = %4546
  %4575 = getelementptr inbounds i8, ptr %4414, i64 220
  store i8 33, ptr %4575, align 4, !tbaa !42
  %4576 = getelementptr inbounds i8, ptr %4414, i64 232
  %4577 = load ptr, ptr %4576, align 8, !tbaa !52
  store ptr @s2n_ecdhe_rsa_with_aes_256_gcm_sha384, ptr %4577, align 8, !tbaa !53
  %4578 = load i32, ptr @test_count, align 4, !tbaa !5
  %4579 = add nsw i32 %4578, 1
  store i32 %4579, ptr @test_count, align 4, !tbaa !5
  %4580 = call i32 @s2n_server_hello_send(ptr noundef nonnull %4414) #11
  %4581 = icmp eq i32 %4580, -1
  br i1 %4581, label %4582, label %4604

4582:                                             ; preds = %4574
  %4583 = load i32, ptr %1493, align 4, !tbaa !5
  %4584 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4585 = call i32 @s2n_print_stacktrace(ptr noundef %4584) #11
  %4586 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4587 = trunc nuw i8 %4586 to i1
  br i1 %4587, label %4588, label %4592

4588:                                             ; preds = %4582
  %4589 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4590 = call i32 @fileno(ptr noundef %4589) #11
  %4591 = call i32 @isatty(i32 noundef %4590) #11
  %.not1011 = icmp eq i32 %4591, 0
  br i1 %.not1011, label %4592, label %4593

4592:                                             ; preds = %4588, %4582
  br label %4593

4593:                                             ; preds = %4588, %4592
  %.str.5.sink2714 = phi ptr [ @.str.5, %4592 ], [ @.str.2, %4588 ]
  store i32 %4583, ptr %1493, align 4, !tbaa !5
  %4594 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4595 = load i32, ptr @test_count, align 4, !tbaa !5
  %4596 = load i32, ptr %1439, align 4, !tbaa !5
  %4597 = call ptr @s2n_strerror(i32 noundef %4596, ptr noundef nonnull @.str.4) #11
  %4598 = load i32, ptr %1439, align 4, !tbaa !5
  %4599 = call ptr @s2n_strerror_debug(i32 noundef %4598, ptr noundef nonnull @.str.4) #11
  %4600 = load i32, ptr %1493, align 4, !tbaa !5
  %4601 = call ptr @strerror(i32 noundef %4600) #11
  %4602 = load i32, ptr %1493, align 4, !tbaa !5
  %4603 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4594, ptr noundef nonnull %.str.5.sink2714, i32 noundef %4595, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.1, i32 noundef 493, ptr noundef %4597, ptr noundef %4599, ptr noundef %4601, i32 noundef %4602) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4604:                                             ; preds = %4574
  %4605 = load i32, ptr @test_count, align 4, !tbaa !5
  %4606 = add nsw i32 %4605, 1
  store i32 %4606, ptr @test_count, align 4, !tbaa !5
  %4607 = call i32 (...) @s2n_disable_tls13_in_test() #11
  %4608 = icmp eq i32 %4607, -1
  br i1 %4608, label %4609, label %4631

4609:                                             ; preds = %4604
  %4610 = load i32, ptr %1493, align 4, !tbaa !5
  %4611 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4612 = call i32 @s2n_print_stacktrace(ptr noundef %4611) #11
  %4613 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4614 = trunc nuw i8 %4613 to i1
  br i1 %4614, label %4615, label %4619

4615:                                             ; preds = %4609
  %4616 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4617 = call i32 @fileno(ptr noundef %4616) #11
  %4618 = call i32 @isatty(i32 noundef %4617) #11
  %.not1010 = icmp eq i32 %4618, 0
  br i1 %.not1010, label %4619, label %4620

4619:                                             ; preds = %4615, %4609
  br label %4620

4620:                                             ; preds = %4615, %4619
  %.str.5.sink2723 = phi ptr [ @.str.5, %4619 ], [ @.str.2, %4615 ]
  store i32 %4610, ptr %1493, align 4, !tbaa !5
  %4621 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4622 = load i32, ptr @test_count, align 4, !tbaa !5
  %4623 = load i32, ptr %1439, align 4, !tbaa !5
  %4624 = call ptr @s2n_strerror(i32 noundef %4623, ptr noundef nonnull @.str.4) #11
  %4625 = load i32, ptr %1439, align 4, !tbaa !5
  %4626 = call ptr @s2n_strerror_debug(i32 noundef %4625, ptr noundef nonnull @.str.4) #11
  %4627 = load i32, ptr %1493, align 4, !tbaa !5
  %4628 = call ptr @strerror(i32 noundef %4627) #11
  %4629 = load i32, ptr %1493, align 4, !tbaa !5
  %4630 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4621, ptr noundef nonnull %.str.5.sink2723, i32 noundef %4622, ptr noundef nonnull @.str.8, ptr noundef nonnull @.str.1, i32 noundef 494, ptr noundef %4624, ptr noundef %4626, ptr noundef %4628, i32 noundef %4629) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4631:                                             ; preds = %4604
  %4632 = getelementptr inbounds i8, ptr %4414, i64 2016
  %4633 = getelementptr inbounds i8, ptr %4414, i64 2044
  %4634 = load i32, ptr %4633, align 4, !tbaa !58
  %4635 = getelementptr inbounds i8, ptr %4414, i64 2040
  %4636 = load i32, ptr %4635, align 8, !tbaa !59
  %4637 = sub i32 %4634, %4636
  %4638 = load i32, ptr @test_count, align 4, !tbaa !5
  %4639 = add nsw i32 %4638, 1
  store i32 %4639, ptr @test_count, align 4, !tbaa !5
  %4640 = getelementptr inbounds i8, ptr %4495, i64 2016
  %4641 = call i32 @s2n_stuffer_copy(ptr noundef nonnull %4632, ptr noundef nonnull %4640, i32 noundef %4637) #11
  %4642 = icmp eq i32 %4641, -1
  br i1 %4642, label %4643, label %4665

4643:                                             ; preds = %4631
  %4644 = load i32, ptr %1493, align 4, !tbaa !5
  %4645 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4646 = call i32 @s2n_print_stacktrace(ptr noundef %4645) #11
  %4647 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4648 = trunc nuw i8 %4647 to i1
  br i1 %4648, label %4649, label %4653

4649:                                             ; preds = %4643
  %4650 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4651 = call i32 @fileno(ptr noundef %4650) #11
  %4652 = call i32 @isatty(i32 noundef %4651) #11
  %.not1009 = icmp eq i32 %4652, 0
  br i1 %.not1009, label %4653, label %4654

4653:                                             ; preds = %4649, %4643
  br label %4654

4654:                                             ; preds = %4649, %4653
  %.str.5.sink2732 = phi ptr [ @.str.5, %4653 ], [ @.str.2, %4649 ]
  store i32 %4644, ptr %1493, align 4, !tbaa !5
  %4655 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4656 = load i32, ptr @test_count, align 4, !tbaa !5
  %4657 = load i32, ptr %1439, align 4, !tbaa !5
  %4658 = call ptr @s2n_strerror(i32 noundef %4657, ptr noundef nonnull @.str.4) #11
  %4659 = load i32, ptr %1439, align 4, !tbaa !5
  %4660 = call ptr @s2n_strerror_debug(i32 noundef %4659, ptr noundef nonnull @.str.4) #11
  %4661 = load i32, ptr %1493, align 4, !tbaa !5
  %4662 = call ptr @strerror(i32 noundef %4661) #11
  %4663 = load i32, ptr %1493, align 4, !tbaa !5
  %4664 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4655, ptr noundef nonnull %.str.5.sink2732, i32 noundef %4656, ptr noundef nonnull @.str.34, ptr noundef nonnull @.str.1, i32 noundef 498, ptr noundef %4658, ptr noundef %4660, ptr noundef %4662, i32 noundef %4663) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4665:                                             ; preds = %4631
  %4666 = load i32, ptr @test_count, align 4, !tbaa !5
  %4667 = add nsw i32 %4666, 1
  store i32 %4667, ptr @test_count, align 4, !tbaa !5
  %4668 = call i32 @s2n_server_hello_recv(ptr noundef nonnull %4495) #11
  %4669 = icmp eq i32 %4668, -1
  br i1 %4669, label %4670, label %4692

4670:                                             ; preds = %4665
  %4671 = load i32, ptr %1493, align 4, !tbaa !5
  %4672 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4673 = call i32 @s2n_print_stacktrace(ptr noundef %4672) #11
  %4674 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4675 = trunc nuw i8 %4674 to i1
  br i1 %4675, label %4676, label %4680

4676:                                             ; preds = %4670
  %4677 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4678 = call i32 @fileno(ptr noundef %4677) #11
  %4679 = call i32 @isatty(i32 noundef %4678) #11
  %.not1008 = icmp eq i32 %4679, 0
  br i1 %.not1008, label %4680, label %4681

4680:                                             ; preds = %4676, %4670
  br label %4681

4681:                                             ; preds = %4676, %4680
  %.str.5.sink2741 = phi ptr [ @.str.5, %4680 ], [ @.str.2, %4676 ]
  store i32 %4671, ptr %1493, align 4, !tbaa !5
  %4682 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4683 = load i32, ptr @test_count, align 4, !tbaa !5
  %4684 = load i32, ptr %1439, align 4, !tbaa !5
  %4685 = call ptr @s2n_strerror(i32 noundef %4684, ptr noundef nonnull @.str.4) #11
  %4686 = load i32, ptr %1439, align 4, !tbaa !5
  %4687 = call ptr @s2n_strerror_debug(i32 noundef %4686, ptr noundef nonnull @.str.4) #11
  %4688 = load i32, ptr %1493, align 4, !tbaa !5
  %4689 = call ptr @strerror(i32 noundef %4688) #11
  %4690 = load i32, ptr %1493, align 4, !tbaa !5
  %4691 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4682, ptr noundef nonnull %.str.5.sink2741, i32 noundef %4683, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.1, i32 noundef 502, ptr noundef %4685, ptr noundef %4687, ptr noundef %4689, i32 noundef %4690) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4692:                                             ; preds = %4665
  %4693 = load i32, ptr @test_count, align 4, !tbaa !5
  %4694 = add nsw i32 %4693, 1
  store i32 %4694, ptr @test_count, align 4, !tbaa !5
  %4695 = getelementptr inbounds i8, ptr %4495, i64 2044
  %4696 = load i32, ptr %4695, align 4, !tbaa !45
  %4697 = getelementptr inbounds i8, ptr %4495, i64 2040
  %4698 = load i32, ptr %4697, align 8, !tbaa !46
  %4699 = icmp eq i32 %4696, %4698
  br i1 %4699, label %4722, label %4700

4700:                                             ; preds = %4692
  %4701 = load i32, ptr %1493, align 4, !tbaa !5
  %4702 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4703 = call i32 @s2n_print_stacktrace(ptr noundef %4702) #11
  %4704 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4705 = trunc nuw i8 %4704 to i1
  br i1 %4705, label %4706, label %4710

4706:                                             ; preds = %4700
  %4707 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4708 = call i32 @fileno(ptr noundef %4707) #11
  %4709 = call i32 @isatty(i32 noundef %4708) #11
  %.not915 = icmp eq i32 %4709, 0
  br i1 %.not915, label %4710, label %4711

4710:                                             ; preds = %4706, %4700
  br label %4711

4711:                                             ; preds = %4706, %4710
  %.str.5.sink2750 = phi ptr [ @.str.5, %4710 ], [ @.str.2, %4706 ]
  store i32 %4701, ptr %1493, align 4, !tbaa !5
  %4712 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4713 = load i32, ptr @test_count, align 4, !tbaa !5
  %4714 = load i32, ptr %1439, align 4, !tbaa !5
  %4715 = call ptr @s2n_strerror(i32 noundef %4714, ptr noundef nonnull @.str.4) #11
  %4716 = load i32, ptr %1439, align 4, !tbaa !5
  %4717 = call ptr @s2n_strerror_debug(i32 noundef %4716, ptr noundef nonnull @.str.4) #11
  %4718 = load i32, ptr %1493, align 4, !tbaa !5
  %4719 = call ptr @strerror(i32 noundef %4718) #11
  %4720 = load i32, ptr %1493, align 4, !tbaa !5
  %4721 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4712, ptr noundef nonnull %.str.5.sink2750, i32 noundef %4713, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.1, i32 noundef 504, ptr noundef %4715, ptr noundef %4717, ptr noundef %4719, i32 noundef %4720) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4722:                                             ; preds = %4692
  %4723 = add nsw i32 %4693, 2
  store i32 %4723, ptr @test_count, align 4, !tbaa !5
  %4724 = call i32 @s2n_config_free(ptr noundef nonnull %4468) #11
  %4725 = icmp eq i32 %4724, -1
  br i1 %4725, label %4726, label %4748

4726:                                             ; preds = %4722
  %4727 = load i32, ptr %1493, align 4, !tbaa !5
  %4728 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4729 = call i32 @s2n_print_stacktrace(ptr noundef %4728) #11
  %4730 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4731 = trunc nuw i8 %4730 to i1
  br i1 %4731, label %4732, label %4736

4732:                                             ; preds = %4726
  %4733 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4734 = call i32 @fileno(ptr noundef %4733) #11
  %4735 = call i32 @isatty(i32 noundef %4734) #11
  %.not1007 = icmp eq i32 %4735, 0
  br i1 %.not1007, label %4736, label %4737

4736:                                             ; preds = %4732, %4726
  br label %4737

4737:                                             ; preds = %4732, %4736
  %.str.5.sink2759 = phi ptr [ @.str.5, %4736 ], [ @.str.2, %4732 ]
  store i32 %4727, ptr %1493, align 4, !tbaa !5
  %4738 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4739 = load i32, ptr @test_count, align 4, !tbaa !5
  %4740 = load i32, ptr %1439, align 4, !tbaa !5
  %4741 = call ptr @s2n_strerror(i32 noundef %4740, ptr noundef nonnull @.str.4) #11
  %4742 = load i32, ptr %1439, align 4, !tbaa !5
  %4743 = call ptr @s2n_strerror_debug(i32 noundef %4742, ptr noundef nonnull @.str.4) #11
  %4744 = load i32, ptr %1493, align 4, !tbaa !5
  %4745 = call ptr @strerror(i32 noundef %4744) #11
  %4746 = load i32, ptr %1493, align 4, !tbaa !5
  %4747 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4738, ptr noundef nonnull %.str.5.sink2759, i32 noundef %4739, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.1, i32 noundef 506, ptr noundef %4741, ptr noundef %4743, ptr noundef %4745, i32 noundef %4746) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4748:                                             ; preds = %4722
  %4749 = load i32, ptr @test_count, align 4, !tbaa !5
  %4750 = add nsw i32 %4749, 1
  store i32 %4750, ptr @test_count, align 4, !tbaa !5
  %4751 = call i32 @s2n_config_free(ptr noundef nonnull %4387) #11
  %4752 = icmp eq i32 %4751, -1
  br i1 %4752, label %4753, label %4775

4753:                                             ; preds = %4748
  %4754 = load i32, ptr %1493, align 4, !tbaa !5
  %4755 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4756 = call i32 @s2n_print_stacktrace(ptr noundef %4755) #11
  %4757 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4758 = trunc nuw i8 %4757 to i1
  br i1 %4758, label %4759, label %4763

4759:                                             ; preds = %4753
  %4760 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4761 = call i32 @fileno(ptr noundef %4760) #11
  %4762 = call i32 @isatty(i32 noundef %4761) #11
  %.not1006 = icmp eq i32 %4762, 0
  br i1 %.not1006, label %4763, label %4764

4763:                                             ; preds = %4759, %4753
  br label %4764

4764:                                             ; preds = %4759, %4763
  %.str.5.sink2768 = phi ptr [ @.str.5, %4763 ], [ @.str.2, %4759 ]
  store i32 %4754, ptr %1493, align 4, !tbaa !5
  %4765 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4766 = load i32, ptr @test_count, align 4, !tbaa !5
  %4767 = load i32, ptr %1439, align 4, !tbaa !5
  %4768 = call ptr @s2n_strerror(i32 noundef %4767, ptr noundef nonnull @.str.4) #11
  %4769 = load i32, ptr %1439, align 4, !tbaa !5
  %4770 = call ptr @s2n_strerror_debug(i32 noundef %4769, ptr noundef nonnull @.str.4) #11
  %4771 = load i32, ptr %1493, align 4, !tbaa !5
  %4772 = call ptr @strerror(i32 noundef %4771) #11
  %4773 = load i32, ptr %1493, align 4, !tbaa !5
  %4774 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4765, ptr noundef nonnull %.str.5.sink2768, i32 noundef %4766, ptr noundef nonnull @.str.38, ptr noundef nonnull @.str.1, i32 noundef 507, ptr noundef %4768, ptr noundef %4770, ptr noundef %4772, i32 noundef %4773) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4775:                                             ; preds = %4748
  %4776 = load i32, ptr @test_count, align 4, !tbaa !5
  %4777 = add nsw i32 %4776, 1
  store i32 %4777, ptr @test_count, align 4, !tbaa !5
  %4778 = call i32 @s2n_connection_free(ptr noundef nonnull %4495) #11
  %4779 = icmp eq i32 %4778, -1
  br i1 %4779, label %4780, label %4802

4780:                                             ; preds = %4775
  %4781 = load i32, ptr %1493, align 4, !tbaa !5
  %4782 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4783 = call i32 @s2n_print_stacktrace(ptr noundef %4782) #11
  %4784 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4785 = trunc nuw i8 %4784 to i1
  br i1 %4785, label %4786, label %4790

4786:                                             ; preds = %4780
  %4787 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4788 = call i32 @fileno(ptr noundef %4787) #11
  %4789 = call i32 @isatty(i32 noundef %4788) #11
  %.not1005 = icmp eq i32 %4789, 0
  br i1 %.not1005, label %4790, label %4791

4790:                                             ; preds = %4786, %4780
  br label %4791

4791:                                             ; preds = %4786, %4790
  %.str.5.sink2777 = phi ptr [ @.str.5, %4790 ], [ @.str.2, %4786 ]
  store i32 %4781, ptr %1493, align 4, !tbaa !5
  %4792 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4793 = load i32, ptr @test_count, align 4, !tbaa !5
  %4794 = load i32, ptr %1439, align 4, !tbaa !5
  %4795 = call ptr @s2n_strerror(i32 noundef %4794, ptr noundef nonnull @.str.4) #11
  %4796 = load i32, ptr %1439, align 4, !tbaa !5
  %4797 = call ptr @s2n_strerror_debug(i32 noundef %4796, ptr noundef nonnull @.str.4) #11
  %4798 = load i32, ptr %1493, align 4, !tbaa !5
  %4799 = call ptr @strerror(i32 noundef %4798) #11
  %4800 = load i32, ptr %1493, align 4, !tbaa !5
  %4801 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4792, ptr noundef nonnull %.str.5.sink2777, i32 noundef %4793, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.1, i32 noundef 508, ptr noundef %4795, ptr noundef %4797, ptr noundef %4799, i32 noundef %4800) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4802:                                             ; preds = %4775
  %4803 = load i32, ptr @test_count, align 4, !tbaa !5
  %4804 = add nsw i32 %4803, 1
  store i32 %4804, ptr @test_count, align 4, !tbaa !5
  %4805 = call i32 @s2n_connection_free(ptr noundef nonnull %4414) #11
  %4806 = icmp eq i32 %4805, -1
  br i1 %4806, label %4807, label %4829

4807:                                             ; preds = %4802
  %4808 = load i32, ptr %1493, align 4, !tbaa !5
  %4809 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4810 = call i32 @s2n_print_stacktrace(ptr noundef %4809) #11
  %4811 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4812 = trunc nuw i8 %4811 to i1
  br i1 %4812, label %4813, label %4817

4813:                                             ; preds = %4807
  %4814 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4815 = call i32 @fileno(ptr noundef %4814) #11
  %4816 = call i32 @isatty(i32 noundef %4815) #11
  %.not1004 = icmp eq i32 %4816, 0
  br i1 %.not1004, label %4817, label %4818

4817:                                             ; preds = %4813, %4807
  br label %4818

4818:                                             ; preds = %4813, %4817
  %.str.5.sink2786 = phi ptr [ @.str.5, %4817 ], [ @.str.2, %4813 ]
  store i32 %4808, ptr %1493, align 4, !tbaa !5
  %4819 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4820 = load i32, ptr @test_count, align 4, !tbaa !5
  %4821 = load i32, ptr %1439, align 4, !tbaa !5
  %4822 = call ptr @s2n_strerror(i32 noundef %4821, ptr noundef nonnull @.str.4) #11
  %4823 = load i32, ptr %1439, align 4, !tbaa !5
  %4824 = call ptr @s2n_strerror_debug(i32 noundef %4823, ptr noundef nonnull @.str.4) #11
  %4825 = load i32, ptr %1493, align 4, !tbaa !5
  %4826 = call ptr @strerror(i32 noundef %4825) #11
  %4827 = load i32, ptr %1493, align 4, !tbaa !5
  %4828 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4819, ptr noundef nonnull %.str.5.sink2786, i32 noundef %4820, ptr noundef nonnull @.str.40, ptr noundef nonnull @.str.1, i32 noundef 509, ptr noundef %4822, ptr noundef %4824, ptr noundef %4826, i32 noundef %4827) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4829:                                             ; preds = %4802
  %4830 = load i32, ptr @test_count, align 4, !tbaa !5
  %4831 = add nsw i32 %4830, 1
  store i32 %4831, ptr @test_count, align 4, !tbaa !5
  %4832 = call ptr @s2n_connection_new(i32 noundef 1) #11
  %4833 = icmp eq ptr %4832, null
  br i1 %4833, label %4834, label %4856

4834:                                             ; preds = %4829
  %4835 = load i32, ptr %1493, align 4, !tbaa !5
  %4836 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4837 = call i32 @s2n_print_stacktrace(ptr noundef %4836) #11
  %4838 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4839 = trunc nuw i8 %4838 to i1
  br i1 %4839, label %4840, label %4844

4840:                                             ; preds = %4834
  %4841 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4842 = call i32 @fileno(ptr noundef %4841) #11
  %4843 = call i32 @isatty(i32 noundef %4842) #11
  %.not1003 = icmp eq i32 %4843, 0
  br i1 %.not1003, label %4844, label %4845

4844:                                             ; preds = %4840, %4834
  br label %4845

4845:                                             ; preds = %4840, %4844
  %.str.5.sink2795 = phi ptr [ @.str.5, %4844 ], [ @.str.2, %4840 ]
  store i32 %4835, ptr %1493, align 4, !tbaa !5
  %4846 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4847 = load i32, ptr @test_count, align 4, !tbaa !5
  %4848 = load i32, ptr %1439, align 4, !tbaa !5
  %4849 = call ptr @s2n_strerror(i32 noundef %4848, ptr noundef nonnull @.str.4) #11
  %4850 = load i32, ptr %1439, align 4, !tbaa !5
  %4851 = call ptr @s2n_strerror_debug(i32 noundef %4850, ptr noundef nonnull @.str.4) #11
  %4852 = load i32, ptr %1493, align 4, !tbaa !5
  %4853 = call ptr @strerror(i32 noundef %4852) #11
  %4854 = load i32, ptr %1493, align 4, !tbaa !5
  %4855 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4846, ptr noundef nonnull %.str.5.sink2795, i32 noundef %4847, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.1, i32 noundef 515, ptr noundef %4849, ptr noundef %4851, ptr noundef %4853, i32 noundef %4854) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4856:                                             ; preds = %4829
  %4857 = getelementptr inbounds i8, ptr %4832, i64 2016
  %4858 = getelementptr inbounds i8, ptr %4832, i64 219
  store i8 34, ptr %4858, align 1, !tbaa !60
  %4859 = load i32, ptr @test_count, align 4, !tbaa !5
  %4860 = add nsw i32 %4859, 1
  store i32 %4860, ptr @test_count, align 4, !tbaa !5
  %4861 = call i32 @s2n_stuffer_write_uint8(ptr noundef nonnull %4857, i8 noundef zeroext 3) #11
  %4862 = icmp eq i32 %4861, -1
  br i1 %4862, label %4863, label %4885

4863:                                             ; preds = %4856
  %4864 = load i32, ptr %1493, align 4, !tbaa !5
  %4865 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4866 = call i32 @s2n_print_stacktrace(ptr noundef %4865) #11
  %4867 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4868 = trunc nuw i8 %4867 to i1
  br i1 %4868, label %4869, label %4873

4869:                                             ; preds = %4863
  %4870 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4871 = call i32 @fileno(ptr noundef %4870) #11
  %4872 = call i32 @isatty(i32 noundef %4871) #11
  %.not1002 = icmp eq i32 %4872, 0
  br i1 %.not1002, label %4873, label %4874

4873:                                             ; preds = %4869, %4863
  br label %4874

4874:                                             ; preds = %4869, %4873
  %.str.5.sink2804 = phi ptr [ @.str.5, %4873 ], [ @.str.2, %4869 ]
  store i32 %4864, ptr %1493, align 4, !tbaa !5
  %4875 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4876 = load i32, ptr @test_count, align 4, !tbaa !5
  %4877 = load i32, ptr %1439, align 4, !tbaa !5
  %4878 = call ptr @s2n_strerror(i32 noundef %4877, ptr noundef nonnull @.str.4) #11
  %4879 = load i32, ptr %1439, align 4, !tbaa !5
  %4880 = call ptr @s2n_strerror_debug(i32 noundef %4879, ptr noundef nonnull @.str.4) #11
  %4881 = load i32, ptr %1493, align 4, !tbaa !5
  %4882 = call ptr @strerror(i32 noundef %4881) #11
  %4883 = load i32, ptr %1493, align 4, !tbaa !5
  %4884 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4875, ptr noundef nonnull %.str.5.sink2804, i32 noundef %4876, ptr noundef nonnull @.str.45, ptr noundef nonnull @.str.1, i32 noundef 520, ptr noundef %4878, ptr noundef %4880, ptr noundef %4882, i32 noundef %4883) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4885:                                             ; preds = %4856
  %4886 = load i32, ptr @test_count, align 4, !tbaa !5
  %4887 = add nsw i32 %4886, 1
  store i32 %4887, ptr @test_count, align 4, !tbaa !5
  %4888 = call i32 @s2n_stuffer_write_uint8(ptr noundef nonnull %4857, i8 noundef zeroext 3) #11
  %4889 = icmp eq i32 %4888, -1
  br i1 %4889, label %4890, label %4912

4890:                                             ; preds = %4885
  %4891 = load i32, ptr %1493, align 4, !tbaa !5
  %4892 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4893 = call i32 @s2n_print_stacktrace(ptr noundef %4892) #11
  %4894 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4895 = trunc nuw i8 %4894 to i1
  br i1 %4895, label %4896, label %4900

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

4900:                                             ; preds = %4896, %4890
  br label %4901

4901:                                             ; preds = %4896, %4900
  %.str.5.sink2813 = phi ptr [ @.str.5, %4900 ], [ @.str.2, %4896 ]
  store i32 %4891, ptr %1493, align 4, !tbaa !5
  %4902 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4903 = load i32, ptr @test_count, align 4, !tbaa !5
  %4904 = load i32, ptr %1439, align 4, !tbaa !5
  %4905 = call ptr @s2n_strerror(i32 noundef %4904, ptr noundef nonnull @.str.4) #11
  %4906 = load i32, ptr %1439, align 4, !tbaa !5
  %4907 = call ptr @s2n_strerror_debug(i32 noundef %4906, ptr noundef nonnull @.str.4) #11
  %4908 = load i32, ptr %1493, align 4, !tbaa !5
  %4909 = call ptr @strerror(i32 noundef %4908) #11
  %4910 = load i32, ptr %1493, align 4, !tbaa !5
  %4911 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4902, ptr noundef nonnull %.str.5.sink2813, i32 noundef %4903, ptr noundef nonnull @.str.46, ptr noundef nonnull @.str.1, i32 noundef 521, ptr noundef %4905, ptr noundef %4907, ptr noundef %4909, i32 noundef %4910) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4912:                                             ; preds = %4885
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %7) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(32) %7, i8 0, i64 32, i1 false)
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %8) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %8, i8 0, i64 24, i1 false)
  %4913 = call i32 @s2n_blob_alloc_from_hex_with_whitespace(ptr noundef nonnull %8, ptr noundef nonnull @hello_retry_random_hex) #11
  %4914 = call zeroext i1 @s2n_result_is_ok(i32 %4913)
  br i1 %4914, label %4915, label %5105

4915:                                             ; preds = %4912
  %4916 = load i32, ptr @test_count, align 4, !tbaa !5
  %4917 = add nsw i32 %4916, 1
  store i32 %4917, ptr @test_count, align 4, !tbaa !5
  %4918 = load ptr, ptr %8, align 8, !tbaa !65
  %4919 = call i32 @s2n_stuffer_write_bytes(ptr noundef nonnull %4857, ptr noundef %4918, i32 noundef 32) #11
  %4920 = icmp eq i32 %4919, -1
  br i1 %4920, label %4921, label %4943

4921:                                             ; preds = %4915
  %4922 = load i32, ptr %1493, align 4, !tbaa !5
  %4923 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4924 = call i32 @s2n_print_stacktrace(ptr noundef %4923) #11
  %4925 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4926 = trunc nuw i8 %4925 to i1
  br i1 %4926, label %4927, label %4931

4927:                                             ; preds = %4921
  %4928 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4929 = call i32 @fileno(ptr noundef %4928) #11
  %4930 = call i32 @isatty(i32 noundef %4929) #11
  %.not1000 = icmp eq i32 %4930, 0
  br i1 %.not1000, label %4931, label %4932

4931:                                             ; preds = %4927, %4921
  br label %4932

4932:                                             ; preds = %4927, %4931
  %.str.5.sink2822 = phi ptr [ @.str.5, %4931 ], [ @.str.2, %4927 ]
  store i32 %4922, ptr %1493, align 4, !tbaa !5
  %4933 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4934 = load i32, ptr @test_count, align 4, !tbaa !5
  %4935 = load i32, ptr %1439, align 4, !tbaa !5
  %4936 = call ptr @s2n_strerror(i32 noundef %4935, ptr noundef nonnull @.str.4) #11
  %4937 = load i32, ptr %1439, align 4, !tbaa !5
  %4938 = call ptr @s2n_strerror_debug(i32 noundef %4937, ptr noundef nonnull @.str.4) #11
  %4939 = load i32, ptr %1493, align 4, !tbaa !5
  %4940 = call ptr @strerror(i32 noundef %4939) #11
  %4941 = load i32, ptr %1493, align 4, !tbaa !5
  %4942 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4933, ptr noundef nonnull %.str.5.sink2822, i32 noundef %4934, ptr noundef nonnull @.str.58, ptr noundef nonnull @.str.1, i32 noundef 527, ptr noundef %4936, ptr noundef %4938, ptr noundef %4940, i32 noundef %4941) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4943:                                             ; preds = %4915
  %4944 = load i32, ptr @test_count, align 4, !tbaa !5
  %4945 = add nsw i32 %4944, 1
  store i32 %4945, ptr @test_count, align 4, !tbaa !5
  %4946 = call i32 @s2n_stuffer_write_uint8(ptr noundef nonnull %4857, i8 noundef zeroext 32) #11
  %4947 = icmp eq i32 %4946, -1
  br i1 %4947, label %4948, label %4970

4948:                                             ; preds = %4943
  %4949 = load i32, ptr %1493, align 4, !tbaa !5
  %4950 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4951 = call i32 @s2n_print_stacktrace(ptr noundef %4950) #11
  %4952 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4953 = trunc nuw i8 %4952 to i1
  br i1 %4953, label %4954, label %4958

4954:                                             ; preds = %4948
  %4955 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4956 = call i32 @fileno(ptr noundef %4955) #11
  %4957 = call i32 @isatty(i32 noundef %4956) #11
  %.not999 = icmp eq i32 %4957, 0
  br i1 %.not999, label %4958, label %4959

4958:                                             ; preds = %4954, %4948
  br label %4959

4959:                                             ; preds = %4954, %4958
  %.str.5.sink2831 = phi ptr [ @.str.5, %4958 ], [ @.str.2, %4954 ]
  store i32 %4949, ptr %1493, align 4, !tbaa !5
  %4960 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4961 = load i32, ptr @test_count, align 4, !tbaa !5
  %4962 = load i32, ptr %1439, align 4, !tbaa !5
  %4963 = call ptr @s2n_strerror(i32 noundef %4962, ptr noundef nonnull @.str.4) #11
  %4964 = load i32, ptr %1439, align 4, !tbaa !5
  %4965 = call ptr @s2n_strerror_debug(i32 noundef %4964, ptr noundef nonnull @.str.4) #11
  %4966 = load i32, ptr %1493, align 4, !tbaa !5
  %4967 = call ptr @strerror(i32 noundef %4966) #11
  %4968 = load i32, ptr %1493, align 4, !tbaa !5
  %4969 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4960, ptr noundef nonnull %.str.5.sink2831, i32 noundef %4961, ptr noundef nonnull @.str.48, ptr noundef nonnull @.str.1, i32 noundef 530, ptr noundef %4963, ptr noundef %4965, ptr noundef %4967, i32 noundef %4968) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4970:                                             ; preds = %4943
  %4971 = load i32, ptr @test_count, align 4, !tbaa !5
  %4972 = add nsw i32 %4971, 1
  store i32 %4972, ptr @test_count, align 4, !tbaa !5
  %4973 = call i32 @s2n_stuffer_write_bytes(ptr noundef nonnull %4857, ptr noundef nonnull %7, i32 noundef 32) #11
  %4974 = icmp eq i32 %4973, -1
  br i1 %4974, label %4975, label %4997

4975:                                             ; preds = %4970
  %4976 = load i32, ptr %1493, align 4, !tbaa !5
  %4977 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4978 = call i32 @s2n_print_stacktrace(ptr noundef %4977) #11
  %4979 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4980 = trunc nuw i8 %4979 to i1
  br i1 %4980, label %4981, label %4985

4981:                                             ; preds = %4975
  %4982 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4983 = call i32 @fileno(ptr noundef %4982) #11
  %4984 = call i32 @isatty(i32 noundef %4983) #11
  %.not998 = icmp eq i32 %4984, 0
  br i1 %.not998, label %4985, label %4986

4985:                                             ; preds = %4981, %4975
  br label %4986

4986:                                             ; preds = %4981, %4985
  %.str.5.sink2840 = phi ptr [ @.str.5, %4985 ], [ @.str.2, %4981 ]
  store i32 %4976, ptr %1493, align 4, !tbaa !5
  %4987 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4988 = load i32, ptr @test_count, align 4, !tbaa !5
  %4989 = load i32, ptr %1439, align 4, !tbaa !5
  %4990 = call ptr @s2n_strerror(i32 noundef %4989, ptr noundef nonnull @.str.4) #11
  %4991 = load i32, ptr %1439, align 4, !tbaa !5
  %4992 = call ptr @s2n_strerror_debug(i32 noundef %4991, ptr noundef nonnull @.str.4) #11
  %4993 = load i32, ptr %1493, align 4, !tbaa !5
  %4994 = call ptr @strerror(i32 noundef %4993) #11
  %4995 = load i32, ptr %1493, align 4, !tbaa !5
  %4996 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4987, ptr noundef nonnull %.str.5.sink2840, i32 noundef %4988, ptr noundef nonnull @.str.49, ptr noundef nonnull @.str.1, i32 noundef 531, ptr noundef %4990, ptr noundef %4992, ptr noundef %4994, i32 noundef %4995) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4997:                                             ; preds = %4970
  %4998 = load i32, ptr @test_count, align 4, !tbaa !5
  %4999 = add nsw i32 %4998, 1
  store i32 %4999, ptr @test_count, align 4, !tbaa !5
  %5000 = call i32 @s2n_stuffer_write_uint16(ptr noundef nonnull %4857, i16 noundef zeroext 4865) #11
  %5001 = icmp eq i32 %5000, -1
  br i1 %5001, label %5002, label %5024

5002:                                             ; preds = %4997
  %5003 = load i32, ptr %1493, align 4, !tbaa !5
  %5004 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5005 = call i32 @s2n_print_stacktrace(ptr noundef %5004) #11
  %5006 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5007 = trunc nuw i8 %5006 to i1
  br i1 %5007, label %5008, label %5012

5008:                                             ; preds = %5002
  %5009 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5010 = call i32 @fileno(ptr noundef %5009) #11
  %5011 = call i32 @isatty(i32 noundef %5010) #11
  %.not997 = icmp eq i32 %5011, 0
  br i1 %.not997, label %5012, label %5013

5012:                                             ; preds = %5008, %5002
  br label %5013

5013:                                             ; preds = %5008, %5012
  %.str.5.sink2849 = phi ptr [ @.str.5, %5012 ], [ @.str.2, %5008 ]
  store i32 %5003, ptr %1493, align 4, !tbaa !5
  %5014 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5015 = load i32, ptr @test_count, align 4, !tbaa !5
  %5016 = load i32, ptr %1439, align 4, !tbaa !5
  %5017 = call ptr @s2n_strerror(i32 noundef %5016, ptr noundef nonnull @.str.4) #11
  %5018 = load i32, ptr %1439, align 4, !tbaa !5
  %5019 = call ptr @s2n_strerror_debug(i32 noundef %5018, ptr noundef nonnull @.str.4) #11
  %5020 = load i32, ptr %1493, align 4, !tbaa !5
  %5021 = call ptr @strerror(i32 noundef %5020) #11
  %5022 = load i32, ptr %1493, align 4, !tbaa !5
  %5023 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5014, ptr noundef nonnull %.str.5.sink2849, i32 noundef %5015, ptr noundef nonnull @.str.50, ptr noundef nonnull @.str.1, i32 noundef 534, ptr noundef %5017, ptr noundef %5019, ptr noundef %5021, i32 noundef %5022) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5024:                                             ; preds = %4997
  %5025 = load i32, ptr @test_count, align 4, !tbaa !5
  %5026 = add nsw i32 %5025, 1
  store i32 %5026, ptr @test_count, align 4, !tbaa !5
  %5027 = call i32 @s2n_stuffer_write_uint8(ptr noundef nonnull %4857, i8 noundef zeroext 0) #11
  %5028 = icmp eq i32 %5027, -1
  br i1 %5028, label %5029, label %5051

5029:                                             ; preds = %5024
  %5030 = load i32, ptr %1493, align 4, !tbaa !5
  %5031 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5032 = call i32 @s2n_print_stacktrace(ptr noundef %5031) #11
  %5033 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5034 = trunc nuw i8 %5033 to i1
  br i1 %5034, label %5035, label %5039

5035:                                             ; preds = %5029
  %5036 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5037 = call i32 @fileno(ptr noundef %5036) #11
  %5038 = call i32 @isatty(i32 noundef %5037) #11
  %.not996 = icmp eq i32 %5038, 0
  br i1 %.not996, label %5039, label %5040

5039:                                             ; preds = %5035, %5029
  br label %5040

5040:                                             ; preds = %5035, %5039
  %.str.5.sink2858 = phi ptr [ @.str.5, %5039 ], [ @.str.2, %5035 ]
  store i32 %5030, ptr %1493, align 4, !tbaa !5
  %5041 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5042 = load i32, ptr @test_count, align 4, !tbaa !5
  %5043 = load i32, ptr %1439, align 4, !tbaa !5
  %5044 = call ptr @s2n_strerror(i32 noundef %5043, ptr noundef nonnull @.str.4) #11
  %5045 = load i32, ptr %1439, align 4, !tbaa !5
  %5046 = call ptr @s2n_strerror_debug(i32 noundef %5045, ptr noundef nonnull @.str.4) #11
  %5047 = load i32, ptr %1493, align 4, !tbaa !5
  %5048 = call ptr @strerror(i32 noundef %5047) #11
  %5049 = load i32, ptr %1493, align 4, !tbaa !5
  %5050 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5041, ptr noundef nonnull %.str.5.sink2858, i32 noundef %5042, ptr noundef nonnull @.str.51, ptr noundef nonnull @.str.1, i32 noundef 537, ptr noundef %5044, ptr noundef %5046, ptr noundef %5048, i32 noundef %5049) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5051:                                             ; preds = %5024
  %5052 = load i32, ptr @test_count, align 4, !tbaa !5
  %5053 = add nsw i32 %5052, 1
  store i32 %5053, ptr @test_count, align 4, !tbaa !5
  %5054 = getelementptr inbounds i8, ptr %8, i64 8
  %5055 = load i32, ptr %5054, align 8, !tbaa !66
  %5056 = icmp eq i32 %5055, 32
  br i1 %5056, label %5079, label %5057

5057:                                             ; preds = %5051
  %5058 = load i32, ptr %1493, align 4, !tbaa !5
  %5059 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5060 = call i32 @s2n_print_stacktrace(ptr noundef %5059) #11
  %5061 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5062 = trunc nuw i8 %5061 to i1
  br i1 %5062, label %5063, label %5067

5063:                                             ; preds = %5057
  %5064 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5065 = call i32 @fileno(ptr noundef %5064) #11
  %5066 = call i32 @isatty(i32 noundef %5065) #11
  %.not916 = icmp eq i32 %5066, 0
  br i1 %.not916, label %5067, label %5068

5067:                                             ; preds = %5063, %5057
  br label %5068

5068:                                             ; preds = %5063, %5067
  %.str.5.sink2867 = phi ptr [ @.str.5, %5067 ], [ @.str.2, %5063 ]
  store i32 %5058, ptr %1493, align 4, !tbaa !5
  %5069 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5070 = load i32, ptr @test_count, align 4, !tbaa !5
  %5071 = load i32, ptr %1439, align 4, !tbaa !5
  %5072 = call ptr @s2n_strerror(i32 noundef %5071, ptr noundef nonnull @.str.4) #11
  %5073 = load i32, ptr %1439, align 4, !tbaa !5
  %5074 = call ptr @s2n_strerror_debug(i32 noundef %5073, ptr noundef nonnull @.str.4) #11
  %5075 = load i32, ptr %1493, align 4, !tbaa !5
  %5076 = call ptr @strerror(i32 noundef %5075) #11
  %5077 = load i32, ptr %1493, align 4, !tbaa !5
  %5078 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5069, ptr noundef nonnull %.str.5.sink2867, i32 noundef %5070, ptr noundef nonnull @.str.59, ptr noundef nonnull @.str.1, i32 noundef 538, ptr noundef %5072, ptr noundef %5074, ptr noundef %5076, i32 noundef %5077) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5079:                                             ; preds = %5051
  %5080 = add nsw i32 %5052, 2
  store i32 %5080, ptr @test_count, align 4, !tbaa !5
  %5081 = call i32 @s2n_connection_free(ptr noundef nonnull %4832) #11
  %5082 = icmp eq i32 %5081, -1
  br i1 %5082, label %5083, label %5107

5083:                                             ; preds = %5079
  %5084 = load i32, ptr %1493, align 4, !tbaa !5
  %5085 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5086 = call i32 @s2n_print_stacktrace(ptr noundef %5085) #11
  %5087 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5088 = trunc nuw i8 %5087 to i1
  br i1 %5088, label %5089, label %5093

5089:                                             ; preds = %5083
  %5090 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5091 = call i32 @fileno(ptr noundef %5090) #11
  %5092 = call i32 @isatty(i32 noundef %5091) #11
  %.not995 = icmp eq i32 %5092, 0
  br i1 %.not995, label %5093, label %5094

5093:                                             ; preds = %5089, %5083
  br label %5094

5094:                                             ; preds = %5089, %5093
  %.str.5.sink2876 = phi ptr [ @.str.5, %5093 ], [ @.str.2, %5089 ]
  store i32 %5084, ptr %1493, align 4, !tbaa !5
  %5095 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5096 = load i32, ptr @test_count, align 4, !tbaa !5
  %5097 = load i32, ptr %1439, align 4, !tbaa !5
  %5098 = call ptr @s2n_strerror(i32 noundef %5097, ptr noundef nonnull @.str.4) #11
  %5099 = load i32, ptr %1439, align 4, !tbaa !5
  %5100 = call ptr @s2n_strerror_debug(i32 noundef %5099, ptr noundef nonnull @.str.4) #11
  %5101 = load i32, ptr %1493, align 4, !tbaa !5
  %5102 = call ptr @strerror(i32 noundef %5101) #11
  %5103 = load i32, ptr %1493, align 4, !tbaa !5
  %5104 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5095, ptr noundef nonnull %.str.5.sink2876, i32 noundef %5096, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.1, i32 noundef 540, ptr noundef %5098, ptr noundef %5100, ptr noundef %5102, i32 noundef %5103) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5105:                                             ; preds = %4912
  %5106 = call i32 @s2n_free(ptr noundef nonnull %8) #11
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %8) #11
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %7) #11
  br label %.thread

5107:                                             ; preds = %5079
  %5108 = call i32 @s2n_free(ptr noundef nonnull %8) #11
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %8) #11
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %7) #11
  %5109 = call zeroext i1 (...) @s2n_is_tls13_fully_supported() #11
  br i1 %5109, label %5110, label %5997

5110:                                             ; preds = %5107
  %5111 = load i32, ptr @test_count, align 4, !tbaa !5
  %5112 = add nsw i32 %5111, 1
  store i32 %5112, ptr @test_count, align 4, !tbaa !5
  %5113 = call i32 (...) @s2n_reset_tls13_in_test() #11
  %5114 = icmp eq i32 %5113, -1
  br i1 %5114, label %5115, label %5137

5115:                                             ; preds = %5110
  %5116 = load i32, ptr %1493, align 4, !tbaa !5
  %5117 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5118 = call i32 @s2n_print_stacktrace(ptr noundef %5117) #11
  %5119 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5120 = trunc nuw i8 %5119 to i1
  br i1 %5120, label %5121, label %5125

5121:                                             ; preds = %5115
  %5122 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5123 = call i32 @fileno(ptr noundef %5122) #11
  %5124 = call i32 @isatty(i32 noundef %5123) #11
  %.not994 = icmp eq i32 %5124, 0
  br i1 %.not994, label %5125, label %5126

5125:                                             ; preds = %5121, %5115
  br label %5126

5126:                                             ; preds = %5121, %5125
  %.str.5.sink2885 = phi ptr [ @.str.5, %5125 ], [ @.str.2, %5121 ]
  store i32 %5116, ptr %1493, align 4, !tbaa !5
  %5127 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5128 = load i32, ptr @test_count, align 4, !tbaa !5
  %5129 = load i32, ptr %1439, align 4, !tbaa !5
  %5130 = call ptr @s2n_strerror(i32 noundef %5129, ptr noundef nonnull @.str.4) #11
  %5131 = load i32, ptr %1439, align 4, !tbaa !5
  %5132 = call ptr @s2n_strerror_debug(i32 noundef %5131, ptr noundef nonnull @.str.4) #11
  %5133 = load i32, ptr %1493, align 4, !tbaa !5
  %5134 = call ptr @strerror(i32 noundef %5133) #11
  %5135 = load i32, ptr %1493, align 4, !tbaa !5
  %5136 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5127, ptr noundef nonnull %.str.5.sink2885, i32 noundef %5128, ptr noundef nonnull @.str.60, ptr noundef nonnull @.str.1, i32 noundef 545, ptr noundef %5130, ptr noundef %5132, ptr noundef %5134, i32 noundef %5135) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5137:                                             ; preds = %5110
  %5138 = call ptr @s2n_config_new() #11
  %5139 = load i32, ptr @test_count, align 4, !tbaa !5
  %5140 = add nsw i32 %5139, 1
  store i32 %5140, ptr @test_count, align 4, !tbaa !5
  %5141 = call i32 @s2n_config_set_cipher_preferences(ptr noundef %5138, ptr noundef nonnull @.str.61) #11
  %5142 = icmp eq i32 %5141, -1
  br i1 %5142, label %5143, label %5165

5143:                                             ; preds = %5137
  %5144 = load i32, ptr %1493, align 4, !tbaa !5
  %5145 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5146 = call i32 @s2n_print_stacktrace(ptr noundef %5145) #11
  %5147 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5148 = trunc nuw i8 %5147 to i1
  br i1 %5148, label %5149, label %5153

5149:                                             ; preds = %5143
  %5150 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5151 = call i32 @fileno(ptr noundef %5150) #11
  %5152 = call i32 @isatty(i32 noundef %5151) #11
  %.not993 = icmp eq i32 %5152, 0
  br i1 %.not993, label %5153, label %5154

5153:                                             ; preds = %5149, %5143
  br label %5154

5154:                                             ; preds = %5149, %5153
  %.str.5.sink2894 = phi ptr [ @.str.5, %5153 ], [ @.str.2, %5149 ]
  store i32 %5144, ptr %1493, align 4, !tbaa !5
  %5155 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5156 = load i32, ptr @test_count, align 4, !tbaa !5
  %5157 = load i32, ptr %1439, align 4, !tbaa !5
  %5158 = call ptr @s2n_strerror(i32 noundef %5157, ptr noundef nonnull @.str.4) #11
  %5159 = load i32, ptr %1439, align 4, !tbaa !5
  %5160 = call ptr @s2n_strerror_debug(i32 noundef %5159, ptr noundef nonnull @.str.4) #11
  %5161 = load i32, ptr %1493, align 4, !tbaa !5
  %5162 = call ptr @strerror(i32 noundef %5161) #11
  %5163 = load i32, ptr %1493, align 4, !tbaa !5
  %5164 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5155, ptr noundef nonnull %.str.5.sink2894, i32 noundef %5156, ptr noundef nonnull @.str.62, ptr noundef nonnull @.str.1, i32 noundef 548, ptr noundef %5158, ptr noundef %5160, ptr noundef %5162, i32 noundef %5163) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5165:                                             ; preds = %5137
  %5166 = load i32, ptr @test_count, align 4, !tbaa !5
  %5167 = add nsw i32 %5166, 1
  store i32 %5167, ptr @test_count, align 4, !tbaa !5
  %5168 = load ptr, ptr %3, align 8, !tbaa !9
  %5169 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef %5138, ptr noundef %5168) #11
  %5170 = icmp eq i32 %5169, -1
  br i1 %5170, label %5171, label %5193

5171:                                             ; preds = %5165
  %5172 = load i32, ptr %1493, align 4, !tbaa !5
  %5173 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5174 = call i32 @s2n_print_stacktrace(ptr noundef %5173) #11
  %5175 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5176 = trunc nuw i8 %5175 to i1
  br i1 %5176, label %5177, label %5181

5177:                                             ; preds = %5171
  %5178 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5179 = call i32 @fileno(ptr noundef %5178) #11
  %5180 = call i32 @isatty(i32 noundef %5179) #11
  %.not992 = icmp eq i32 %5180, 0
  br i1 %.not992, label %5181, label %5182

5181:                                             ; preds = %5177, %5171
  br label %5182

5182:                                             ; preds = %5177, %5181
  %.str.5.sink2903 = phi ptr [ @.str.5, %5181 ], [ @.str.2, %5177 ]
  store i32 %5172, ptr %1493, align 4, !tbaa !5
  %5183 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5184 = load i32, ptr @test_count, align 4, !tbaa !5
  %5185 = load i32, ptr %1439, align 4, !tbaa !5
  %5186 = call ptr @s2n_strerror(i32 noundef %5185, ptr noundef nonnull @.str.4) #11
  %5187 = load i32, ptr %1439, align 4, !tbaa !5
  %5188 = call ptr @s2n_strerror_debug(i32 noundef %5187, ptr noundef nonnull @.str.4) #11
  %5189 = load i32, ptr %1493, align 4, !tbaa !5
  %5190 = call ptr @strerror(i32 noundef %5189) #11
  %5191 = load i32, ptr %1493, align 4, !tbaa !5
  %5192 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5183, ptr noundef nonnull %.str.5.sink2903, i32 noundef %5184, ptr noundef nonnull @.str.63, ptr noundef nonnull @.str.1, i32 noundef 549, ptr noundef %5186, ptr noundef %5188, ptr noundef %5190, i32 noundef %5191) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5193:                                             ; preds = %5165
  %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 = call i32 @s2n_config_enable_quic(ptr noundef %5138) #11
  %5197 = icmp eq i32 %5196, -1
  br i1 %5197, label %5198, label %5220

5198:                                             ; preds = %5193
  %5199 = load i32, ptr %1493, align 4, !tbaa !5
  %5200 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5201 = call i32 @s2n_print_stacktrace(ptr noundef %5200) #11
  %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) #11
  %5207 = call i32 @isatty(i32 noundef %5206) #11
  %.not991 = icmp eq i32 %5207, 0
  br i1 %.not991, label %5208, label %5209

5208:                                             ; preds = %5204, %5198
  br label %5209

5209:                                             ; preds = %5204, %5208
  %.str.5.sink2912 = phi ptr [ @.str.5, %5208 ], [ @.str.2, %5204 ]
  store i32 %5199, ptr %1493, 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 %1439, align 4, !tbaa !5
  %5213 = call ptr @s2n_strerror(i32 noundef %5212, ptr noundef nonnull @.str.4) #11
  %5214 = load i32, ptr %1439, align 4, !tbaa !5
  %5215 = call ptr @s2n_strerror_debug(i32 noundef %5214, ptr noundef nonnull @.str.4) #11
  %5216 = load i32, ptr %1493, align 4, !tbaa !5
  %5217 = call ptr @strerror(i32 noundef %5216) #11
  %5218 = load i32, ptr %1493, align 4, !tbaa !5
  %5219 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5210, ptr noundef nonnull %.str.5.sink2912, i32 noundef %5211, ptr noundef nonnull @.str.64, ptr noundef nonnull @.str.1, i32 noundef 550, ptr noundef %5213, ptr noundef %5215, ptr noundef %5217, i32 noundef %5218) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5220:                                             ; preds = %5193
  %5221 = call ptr @s2n_config_new() #11
  %5222 = load i32, ptr @test_count, align 4, !tbaa !5
  %5223 = add nsw i32 %5222, 1
  store i32 %5223, ptr @test_count, align 4, !tbaa !5
  %5224 = call i32 @s2n_config_set_cipher_preferences(ptr noundef %5221, ptr noundef nonnull @.str.61) #11
  %5225 = icmp eq i32 %5224, -1
  br i1 %5225, label %5226, label %5248

5226:                                             ; preds = %5220
  %5227 = load i32, ptr %1493, align 4, !tbaa !5
  %5228 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5229 = call i32 @s2n_print_stacktrace(ptr noundef %5228) #11
  %5230 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5231 = trunc nuw i8 %5230 to i1
  br i1 %5231, label %5232, label %5236

5232:                                             ; preds = %5226
  %5233 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5234 = call i32 @fileno(ptr noundef %5233) #11
  %5235 = call i32 @isatty(i32 noundef %5234) #11
  %.not990 = icmp eq i32 %5235, 0
  br i1 %.not990, label %5236, label %5237

5236:                                             ; preds = %5232, %5226
  br label %5237

5237:                                             ; preds = %5232, %5236
  %.str.5.sink2921 = phi ptr [ @.str.5, %5236 ], [ @.str.2, %5232 ]
  store i32 %5227, ptr %1493, align 4, !tbaa !5
  %5238 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5239 = load i32, ptr @test_count, align 4, !tbaa !5
  %5240 = load i32, ptr %1439, align 4, !tbaa !5
  %5241 = call ptr @s2n_strerror(i32 noundef %5240, ptr noundef nonnull @.str.4) #11
  %5242 = load i32, ptr %1439, align 4, !tbaa !5
  %5243 = call ptr @s2n_strerror_debug(i32 noundef %5242, ptr noundef nonnull @.str.4) #11
  %5244 = load i32, ptr %1493, align 4, !tbaa !5
  %5245 = call ptr @strerror(i32 noundef %5244) #11
  %5246 = load i32, ptr %1493, align 4, !tbaa !5
  %5247 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5238, ptr noundef nonnull %.str.5.sink2921, i32 noundef %5239, ptr noundef nonnull @.str.65, ptr noundef nonnull @.str.1, i32 noundef 553, ptr noundef %5241, ptr noundef %5243, ptr noundef %5245, i32 noundef %5246) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5248:                                             ; preds = %5220
  %5249 = load i32, ptr @test_count, align 4, !tbaa !5
  %5250 = add nsw i32 %5249, 1
  store i32 %5250, ptr @test_count, align 4, !tbaa !5
  %5251 = load ptr, ptr %3, align 8, !tbaa !9
  %5252 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef %5221, ptr noundef %5251) #11
  %5253 = icmp eq i32 %5252, -1
  br i1 %5253, label %5254, label %5276

5254:                                             ; preds = %5248
  %5255 = load i32, ptr %1493, align 4, !tbaa !5
  %5256 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5257 = call i32 @s2n_print_stacktrace(ptr noundef %5256) #11
  %5258 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5259 = trunc nuw i8 %5258 to i1
  br i1 %5259, label %5260, label %5264

5260:                                             ; preds = %5254
  %5261 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5262 = call i32 @fileno(ptr noundef %5261) #11
  %5263 = call i32 @isatty(i32 noundef %5262) #11
  %.not989 = icmp eq i32 %5263, 0
  br i1 %.not989, label %5264, label %5265

5264:                                             ; preds = %5260, %5254
  br label %5265

5265:                                             ; preds = %5260, %5264
  %.str.5.sink2930 = phi ptr [ @.str.5, %5264 ], [ @.str.2, %5260 ]
  store i32 %5255, ptr %1493, align 4, !tbaa !5
  %5266 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5267 = load i32, ptr @test_count, align 4, !tbaa !5
  %5268 = load i32, ptr %1439, align 4, !tbaa !5
  %5269 = call ptr @s2n_strerror(i32 noundef %5268, ptr noundef nonnull @.str.4) #11
  %5270 = load i32, ptr %1439, align 4, !tbaa !5
  %5271 = call ptr @s2n_strerror_debug(i32 noundef %5270, ptr noundef nonnull @.str.4) #11
  %5272 = load i32, ptr %1493, align 4, !tbaa !5
  %5273 = call ptr @strerror(i32 noundef %5272) #11
  %5274 = load i32, ptr %1493, align 4, !tbaa !5
  %5275 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5266, ptr noundef nonnull %.str.5.sink2930, i32 noundef %5267, ptr noundef nonnull @.str.66, ptr noundef nonnull @.str.1, i32 noundef 554, ptr noundef %5269, ptr noundef %5271, ptr noundef %5273, i32 noundef %5274) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5276:                                             ; preds = %5248
  %5277 = call zeroext i1 (...) @s2n_is_tls13_fully_supported() #11
  br i1 %5277, label %5278, label %5584

5278:                                             ; preds = %5276
  %5279 = call ptr @s2n_connection_new(i32 noundef 1) #11
  %5280 = load i32, ptr @test_count, align 4, !tbaa !5
  %5281 = add nsw i32 %5280, 1
  store i32 %5281, ptr @test_count, align 4, !tbaa !5
  %5282 = call i32 @s2n_connection_set_config(ptr noundef %5279, ptr noundef %5221) #11
  %5283 = icmp eq i32 %5282, -1
  br i1 %5283, label %5284, label %5306

5284:                                             ; preds = %5278
  %5285 = load i32, ptr %1493, align 4, !tbaa !5
  %5286 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5287 = call i32 @s2n_print_stacktrace(ptr noundef %5286) #11
  %5288 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5289 = trunc nuw i8 %5288 to i1
  br i1 %5289, label %5290, label %5294

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

5294:                                             ; preds = %5290, %5284
  br label %5295

5295:                                             ; preds = %5290, %5294
  %.str.5.sink2939 = phi ptr [ @.str.5, %5294 ], [ @.str.2, %5290 ]
  store i32 %5285, ptr %1493, align 4, !tbaa !5
  %5296 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5297 = load i32, ptr @test_count, align 4, !tbaa !5
  %5298 = load i32, ptr %1439, align 4, !tbaa !5
  %5299 = call ptr @s2n_strerror(i32 noundef %5298, ptr noundef nonnull @.str.4) #11
  %5300 = load i32, ptr %1439, align 4, !tbaa !5
  %5301 = call ptr @s2n_strerror_debug(i32 noundef %5300, ptr noundef nonnull @.str.4) #11
  %5302 = load i32, ptr %1493, align 4, !tbaa !5
  %5303 = call ptr @strerror(i32 noundef %5302) #11
  %5304 = load i32, ptr %1493, align 4, !tbaa !5
  %5305 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5296, ptr noundef nonnull %.str.5.sink2939, i32 noundef %5297, ptr noundef nonnull @.str.67, ptr noundef nonnull @.str.1, i32 noundef 559, ptr noundef %5299, ptr noundef %5301, ptr noundef %5303, i32 noundef %5304) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5306:                                             ; preds = %5278
  %5307 = call ptr @s2n_connection_new(i32 noundef 0) #11
  %5308 = load i32, ptr @test_count, align 4, !tbaa !5
  %5309 = add nsw i32 %5308, 1
  store i32 %5309, ptr @test_count, align 4, !tbaa !5
  %5310 = call i32 @s2n_connection_set_config(ptr noundef %5307, ptr noundef %5221) #11
  %5311 = icmp eq i32 %5310, -1
  br i1 %5311, label %5312, label %5334

5312:                                             ; preds = %5306
  %5313 = load i32, ptr %1493, align 4, !tbaa !5
  %5314 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5315 = call i32 @s2n_print_stacktrace(ptr noundef %5314) #11
  %5316 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5317 = trunc nuw i8 %5316 to i1
  br i1 %5317, label %5318, label %5322

5318:                                             ; preds = %5312
  %5319 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5320 = call i32 @fileno(ptr noundef %5319) #11
  %5321 = call i32 @isatty(i32 noundef %5320) #11
  %.not987 = icmp eq i32 %5321, 0
  br i1 %.not987, label %5322, label %5323

5322:                                             ; preds = %5318, %5312
  br label %5323

5323:                                             ; preds = %5318, %5322
  %.str.5.sink2948 = phi ptr [ @.str.5, %5322 ], [ @.str.2, %5318 ]
  store i32 %5313, ptr %1493, align 4, !tbaa !5
  %5324 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5325 = load i32, ptr @test_count, align 4, !tbaa !5
  %5326 = load i32, ptr %1439, align 4, !tbaa !5
  %5327 = call ptr @s2n_strerror(i32 noundef %5326, ptr noundef nonnull @.str.4) #11
  %5328 = load i32, ptr %1439, align 4, !tbaa !5
  %5329 = call ptr @s2n_strerror_debug(i32 noundef %5328, ptr noundef nonnull @.str.4) #11
  %5330 = load i32, ptr %1493, align 4, !tbaa !5
  %5331 = call ptr @strerror(i32 noundef %5330) #11
  %5332 = load i32, ptr %1493, align 4, !tbaa !5
  %5333 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5324, ptr noundef nonnull %.str.5.sink2948, i32 noundef %5325, ptr noundef nonnull @.str.68, ptr noundef nonnull @.str.1, i32 noundef 562, ptr noundef %5327, ptr noundef %5329, ptr noundef %5331, i32 noundef %5332) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5334:                                             ; preds = %5306
  %5335 = load i32, ptr @test_count, align 4, !tbaa !5
  %5336 = add nsw i32 %5335, 1
  store i32 %5336, ptr @test_count, align 4, !tbaa !5
  %5337 = call i32 @s2n_test_client_hello(ptr noundef %5279, ptr noundef %5307)
  %5338 = call zeroext i1 @s2n_result_is_ok(i32 %5337)
  br i1 %5338, label %5361, label %5339

5339:                                             ; preds = %5334
  %5340 = load i32, ptr %1493, align 4, !tbaa !5
  %5341 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5342 = call i32 @s2n_print_stacktrace(ptr noundef %5341) #11
  %5343 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5344 = trunc nuw i8 %5343 to i1
  br i1 %5344, label %5345, label %5349

5345:                                             ; preds = %5339
  %5346 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5347 = call i32 @fileno(ptr noundef %5346) #11
  %5348 = call i32 @isatty(i32 noundef %5347) #11
  %.not917 = icmp eq i32 %5348, 0
  br i1 %.not917, label %5349, label %5350

5349:                                             ; preds = %5345, %5339
  br label %5350

5350:                                             ; preds = %5345, %5349
  %.str.5.sink2957 = phi ptr [ @.str.5, %5349 ], [ @.str.2, %5345 ]
  store i32 %5340, ptr %1493, align 4, !tbaa !5
  %5351 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5352 = load i32, ptr @test_count, align 4, !tbaa !5
  %5353 = load i32, ptr %1439, align 4, !tbaa !5
  %5354 = call ptr @s2n_strerror(i32 noundef %5353, ptr noundef nonnull @.str.4) #11
  %5355 = load i32, ptr %1439, align 4, !tbaa !5
  %5356 = call ptr @s2n_strerror_debug(i32 noundef %5355, ptr noundef nonnull @.str.4) #11
  %5357 = load i32, ptr %1493, align 4, !tbaa !5
  %5358 = call ptr @strerror(i32 noundef %5357) #11
  %5359 = load i32, ptr %1493, align 4, !tbaa !5
  %5360 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5351, ptr noundef nonnull %.str.5.sink2957, i32 noundef %5352, ptr noundef nonnull @.str.69, ptr noundef nonnull @.str.1, i32 noundef 564, ptr noundef %5354, ptr noundef %5356, ptr noundef %5358, i32 noundef %5359) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5361:                                             ; preds = %5334
  %5362 = load i32, ptr @test_count, align 4, !tbaa !5
  %5363 = add nsw i32 %5362, 1
  store i32 %5363, ptr @test_count, align 4, !tbaa !5
  %5364 = call i32 @s2n_connection_set_config(ptr noundef %5279, ptr noundef %5138) #11
  %5365 = icmp eq i32 %5364, -1
  br i1 %5365, label %5366, label %5388

5366:                                             ; preds = %5361
  %5367 = load i32, ptr %1493, align 4, !tbaa !5
  %5368 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5369 = call i32 @s2n_print_stacktrace(ptr noundef %5368) #11
  %5370 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5371 = trunc nuw i8 %5370 to i1
  br i1 %5371, label %5372, label %5376

5372:                                             ; preds = %5366
  %5373 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5374 = call i32 @fileno(ptr noundef %5373) #11
  %5375 = call i32 @isatty(i32 noundef %5374) #11
  %.not986 = icmp eq i32 %5375, 0
  br i1 %.not986, label %5376, label %5377

5376:                                             ; preds = %5372, %5366
  br label %5377

5377:                                             ; preds = %5372, %5376
  %.str.5.sink2966 = phi ptr [ @.str.5, %5376 ], [ @.str.2, %5372 ]
  store i32 %5367, ptr %1493, align 4, !tbaa !5
  %5378 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5379 = load i32, ptr @test_count, align 4, !tbaa !5
  %5380 = load i32, ptr %1439, align 4, !tbaa !5
  %5381 = call ptr @s2n_strerror(i32 noundef %5380, ptr noundef nonnull @.str.4) #11
  %5382 = load i32, ptr %1439, align 4, !tbaa !5
  %5383 = call ptr @s2n_strerror_debug(i32 noundef %5382, ptr noundef nonnull @.str.4) #11
  %5384 = load i32, ptr %1493, align 4, !tbaa !5
  %5385 = call ptr @strerror(i32 noundef %5384) #11
  %5386 = load i32, ptr %1493, align 4, !tbaa !5
  %5387 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5378, ptr noundef nonnull %.str.5.sink2966, i32 noundef %5379, ptr noundef nonnull @.str.70, ptr noundef nonnull @.str.1, i32 noundef 565, ptr noundef %5381, ptr noundef %5383, ptr noundef %5385, i32 noundef %5386) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5388:                                             ; preds = %5361
  %5389 = load i32, ptr @test_count, align 4, !tbaa !5
  %5390 = add nsw i32 %5389, 1
  store i32 %5390, ptr @test_count, align 4, !tbaa !5
  %5391 = call i32 @s2n_server_hello_send(ptr noundef %5307) #11
  %5392 = icmp eq i32 %5391, -1
  br i1 %5392, label %5393, label %5415

5393:                                             ; preds = %5388
  %5394 = load i32, ptr %1493, align 4, !tbaa !5
  %5395 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5396 = call i32 @s2n_print_stacktrace(ptr noundef %5395) #11
  %5397 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5398 = trunc nuw i8 %5397 to i1
  br i1 %5398, label %5399, label %5403

5399:                                             ; preds = %5393
  %5400 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5401 = call i32 @fileno(ptr noundef %5400) #11
  %5402 = call i32 @isatty(i32 noundef %5401) #11
  %.not985 = icmp eq i32 %5402, 0
  br i1 %.not985, label %5403, label %5404

5403:                                             ; preds = %5399, %5393
  br label %5404

5404:                                             ; preds = %5399, %5403
  %.str.5.sink2975 = phi ptr [ @.str.5, %5403 ], [ @.str.2, %5399 ]
  store i32 %5394, ptr %1493, align 4, !tbaa !5
  %5405 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5406 = load i32, ptr @test_count, align 4, !tbaa !5
  %5407 = load i32, ptr %1439, align 4, !tbaa !5
  %5408 = call ptr @s2n_strerror(i32 noundef %5407, ptr noundef nonnull @.str.4) #11
  %5409 = load i32, ptr %1439, align 4, !tbaa !5
  %5410 = call ptr @s2n_strerror_debug(i32 noundef %5409, ptr noundef nonnull @.str.4) #11
  %5411 = load i32, ptr %1493, align 4, !tbaa !5
  %5412 = call ptr @strerror(i32 noundef %5411) #11
  %5413 = load i32, ptr %1493, align 4, !tbaa !5
  %5414 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5405, ptr noundef nonnull %.str.5.sink2975, i32 noundef %5406, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.1, i32 noundef 567, ptr noundef %5408, ptr noundef %5410, ptr noundef %5412, i32 noundef %5413) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5415:                                             ; preds = %5388
  %5416 = load i32, ptr @test_count, align 4, !tbaa !5
  %5417 = add nsw i32 %5416, 1
  store i32 %5417, ptr @test_count, align 4, !tbaa !5
  %5418 = getelementptr inbounds i8, ptr %5307, i64 2016
  %5419 = getelementptr inbounds i8, ptr %5279, i64 2016
  %5420 = getelementptr inbounds i8, ptr %5307, i64 2044
  %5421 = load i32, ptr %5420, align 4, !tbaa !58
  %5422 = getelementptr inbounds i8, ptr %5307, i64 2040
  %5423 = load i32, ptr %5422, align 8, !tbaa !59
  %5424 = sub i32 %5421, %5423
  %5425 = call i32 @s2n_stuffer_copy(ptr noundef nonnull %5418, ptr noundef nonnull %5419, i32 noundef %5424) #11
  %5426 = icmp eq i32 %5425, -1
  br i1 %5426, label %5427, label %5449

5427:                                             ; preds = %5415
  %5428 = load i32, ptr %1493, align 4, !tbaa !5
  %5429 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5430 = call i32 @s2n_print_stacktrace(ptr noundef %5429) #11
  %5431 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5432 = trunc nuw i8 %5431 to i1
  br i1 %5432, label %5433, label %5437

5433:                                             ; preds = %5427
  %5434 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5435 = call i32 @fileno(ptr noundef %5434) #11
  %5436 = call i32 @isatty(i32 noundef %5435) #11
  %.not984 = icmp eq i32 %5436, 0
  br i1 %.not984, label %5437, label %5438

5437:                                             ; preds = %5433, %5427
  br label %5438

5438:                                             ; preds = %5433, %5437
  %.str.5.sink2984 = phi ptr [ @.str.5, %5437 ], [ @.str.2, %5433 ]
  store i32 %5428, ptr %1493, align 4, !tbaa !5
  %5439 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5440 = load i32, ptr @test_count, align 4, !tbaa !5
  %5441 = load i32, ptr %1439, align 4, !tbaa !5
  %5442 = call ptr @s2n_strerror(i32 noundef %5441, ptr noundef nonnull @.str.4) #11
  %5443 = load i32, ptr %1439, align 4, !tbaa !5
  %5444 = call ptr @s2n_strerror_debug(i32 noundef %5443, ptr noundef nonnull @.str.4) #11
  %5445 = load i32, ptr %1493, align 4, !tbaa !5
  %5446 = call ptr @strerror(i32 noundef %5445) #11
  %5447 = load i32, ptr %1493, align 4, !tbaa !5
  %5448 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5439, ptr noundef nonnull %.str.5.sink2984, i32 noundef %5440, ptr noundef nonnull @.str.71, ptr noundef nonnull @.str.1, i32 noundef 569, ptr noundef %5442, ptr noundef %5444, ptr noundef %5446, i32 noundef %5447) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5449:                                             ; preds = %5415
  %5450 = load i32, ptr @test_count, align 4, !tbaa !5
  %5451 = add nsw i32 %5450, 1
  store i32 %5451, ptr @test_count, align 4, !tbaa !5
  %5452 = call i32 @s2n_server_hello_recv(ptr noundef %5279) #11
  %5453 = icmp eq i32 %5452, -1
  br i1 %5453, label %5454, label %5476

5454:                                             ; preds = %5449
  %5455 = load i32, ptr %1493, align 4, !tbaa !5
  %5456 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5457 = call i32 @s2n_print_stacktrace(ptr noundef %5456) #11
  %5458 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5459 = trunc nuw i8 %5458 to i1
  br i1 %5459, label %5460, label %5464

5460:                                             ; preds = %5454
  %5461 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5462 = call i32 @fileno(ptr noundef %5461) #11
  %5463 = call i32 @isatty(i32 noundef %5462) #11
  %.not983 = icmp eq i32 %5463, 0
  br i1 %.not983, label %5464, label %5465

5464:                                             ; preds = %5460, %5454
  br label %5465

5465:                                             ; preds = %5460, %5464
  %.str.5.sink2993 = phi ptr [ @.str.5, %5464 ], [ @.str.2, %5460 ]
  store i32 %5455, ptr %1493, align 4, !tbaa !5
  %5466 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5467 = load i32, ptr @test_count, align 4, !tbaa !5
  %5468 = load i32, ptr %1439, align 4, !tbaa !5
  %5469 = call ptr @s2n_strerror(i32 noundef %5468, ptr noundef nonnull @.str.4) #11
  %5470 = load i32, ptr %1439, align 4, !tbaa !5
  %5471 = call ptr @s2n_strerror_debug(i32 noundef %5470, ptr noundef nonnull @.str.4) #11
  %5472 = load i32, ptr %1493, align 4, !tbaa !5
  %5473 = call ptr @strerror(i32 noundef %5472) #11
  %5474 = load i32, ptr %1493, align 4, !tbaa !5
  %5475 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5466, ptr noundef nonnull %.str.5.sink2993, i32 noundef %5467, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.1, i32 noundef 570, ptr noundef %5469, ptr noundef %5471, ptr noundef %5473, i32 noundef %5474) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5476:                                             ; preds = %5449
  %5477 = load i32, ptr @test_count, align 4, !tbaa !5
  %5478 = add nsw i32 %5477, 1
  store i32 %5478, ptr @test_count, align 4, !tbaa !5
  %5479 = getelementptr inbounds i8, ptr %5279, i64 220
  %5480 = load i8, ptr %5479, align 4, !tbaa !42
  %5481 = icmp eq i8 %5480, 34
  br i1 %5481, label %5504, label %5482

5482:                                             ; preds = %5476
  %5483 = load i32, ptr %1493, align 4, !tbaa !5
  %5484 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5485 = call i32 @s2n_print_stacktrace(ptr noundef %5484) #11
  %5486 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5487 = trunc nuw i8 %5486 to i1
  br i1 %5487, label %5488, label %5492

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

5492:                                             ; preds = %5488, %5482
  br label %5493

5493:                                             ; preds = %5488, %5492
  %.str.5.sink3002 = phi ptr [ @.str.5, %5492 ], [ @.str.2, %5488 ]
  store i32 %5483, ptr %1493, align 4, !tbaa !5
  %5494 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5495 = load i32, ptr @test_count, align 4, !tbaa !5
  %5496 = load i32, ptr %1439, align 4, !tbaa !5
  %5497 = call ptr @s2n_strerror(i32 noundef %5496, ptr noundef nonnull @.str.4) #11
  %5498 = load i32, ptr %1439, align 4, !tbaa !5
  %5499 = call ptr @s2n_strerror_debug(i32 noundef %5498, ptr noundef nonnull @.str.4) #11
  %5500 = load i32, ptr %1493, align 4, !tbaa !5
  %5501 = call ptr @strerror(i32 noundef %5500) #11
  %5502 = load i32, ptr %1493, align 4, !tbaa !5
  %5503 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5494, ptr noundef nonnull %.str.5.sink3002, i32 noundef %5495, ptr noundef nonnull @.str.72, ptr noundef nonnull @.str.1, i32 noundef 572, ptr noundef %5497, ptr noundef %5499, ptr noundef %5501, i32 noundef %5502) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5504:                                             ; preds = %5476
  %5505 = add nsw i32 %5477, 2
  store i32 %5505, ptr @test_count, align 4, !tbaa !5
  %5506 = getelementptr inbounds i8, ptr %5307, i64 220
  %5507 = load i8, ptr %5506, align 4, !tbaa !42
  %5508 = icmp eq i8 %5507, 34
  br i1 %5508, label %5531, label %5509

5509:                                             ; preds = %5504
  %5510 = load i32, ptr %1493, align 4, !tbaa !5
  %5511 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5512 = call i32 @s2n_print_stacktrace(ptr noundef %5511) #11
  %5513 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5514 = trunc nuw i8 %5513 to i1
  br i1 %5514, label %5515, label %5519

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

5519:                                             ; preds = %5515, %5509
  br label %5520

5520:                                             ; preds = %5515, %5519
  %.str.5.sink3011 = phi ptr [ @.str.5, %5519 ], [ @.str.2, %5515 ]
  store i32 %5510, ptr %1493, align 4, !tbaa !5
  %5521 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5522 = load i32, ptr @test_count, align 4, !tbaa !5
  %5523 = load i32, ptr %1439, align 4, !tbaa !5
  %5524 = call ptr @s2n_strerror(i32 noundef %5523, ptr noundef nonnull @.str.4) #11
  %5525 = load i32, ptr %1439, align 4, !tbaa !5
  %5526 = call ptr @s2n_strerror_debug(i32 noundef %5525, ptr noundef nonnull @.str.4) #11
  %5527 = load i32, ptr %1493, align 4, !tbaa !5
  %5528 = call ptr @strerror(i32 noundef %5527) #11
  %5529 = load i32, ptr %1493, align 4, !tbaa !5
  %5530 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5521, ptr noundef nonnull %.str.5.sink3011, i32 noundef %5522, ptr noundef nonnull @.str.73, ptr noundef nonnull @.str.1, i32 noundef 573, ptr noundef %5524, ptr noundef %5526, ptr noundef %5528, i32 noundef %5529) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5531:                                             ; preds = %5504
  %5532 = add nsw i32 %5477, 3
  store i32 %5532, ptr @test_count, align 4, !tbaa !5
  %5533 = call i32 @s2n_connection_free(ptr noundef nonnull %5279) #11
  %5534 = icmp eq i32 %5533, -1
  br i1 %5534, label %5535, label %5557

5535:                                             ; preds = %5531
  %5536 = load i32, ptr %1493, align 4, !tbaa !5
  %5537 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5538 = call i32 @s2n_print_stacktrace(ptr noundef %5537) #11
  %5539 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5540 = trunc nuw i8 %5539 to i1
  br i1 %5540, label %5541, label %5545

5541:                                             ; preds = %5535
  %5542 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5543 = call i32 @fileno(ptr noundef %5542) #11
  %5544 = call i32 @isatty(i32 noundef %5543) #11
  %.not982 = icmp eq i32 %5544, 0
  br i1 %.not982, label %5545, label %5546

5545:                                             ; preds = %5541, %5535
  br label %5546

5546:                                             ; preds = %5541, %5545
  %.str.5.sink3020 = phi ptr [ @.str.5, %5545 ], [ @.str.2, %5541 ]
  store i32 %5536, ptr %1493, align 4, !tbaa !5
  %5547 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5548 = load i32, ptr @test_count, align 4, !tbaa !5
  %5549 = load i32, ptr %1439, align 4, !tbaa !5
  %5550 = call ptr @s2n_strerror(i32 noundef %5549, ptr noundef nonnull @.str.4) #11
  %5551 = load i32, ptr %1439, align 4, !tbaa !5
  %5552 = call ptr @s2n_strerror_debug(i32 noundef %5551, ptr noundef nonnull @.str.4) #11
  %5553 = load i32, ptr %1493, align 4, !tbaa !5
  %5554 = call ptr @strerror(i32 noundef %5553) #11
  %5555 = load i32, ptr %1493, align 4, !tbaa !5
  %5556 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5547, ptr noundef nonnull %.str.5.sink3020, i32 noundef %5548, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.1, i32 noundef 575, ptr noundef %5550, ptr noundef %5552, ptr noundef %5554, i32 noundef %5555) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5557:                                             ; preds = %5531
  %5558 = load i32, ptr @test_count, align 4, !tbaa !5
  %5559 = add nsw i32 %5558, 1
  store i32 %5559, ptr @test_count, align 4, !tbaa !5
  %5560 = call i32 @s2n_connection_free(ptr noundef nonnull %5307) #11
  %5561 = icmp eq i32 %5560, -1
  br i1 %5561, label %5562, label %5584

5562:                                             ; preds = %5557
  %5563 = load i32, ptr %1493, align 4, !tbaa !5
  %5564 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5565 = call i32 @s2n_print_stacktrace(ptr noundef %5564) #11
  %5566 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5567 = trunc nuw i8 %5566 to i1
  br i1 %5567, label %5568, label %5572

5568:                                             ; preds = %5562
  %5569 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5570 = call i32 @fileno(ptr noundef %5569) #11
  %5571 = call i32 @isatty(i32 noundef %5570) #11
  %.not981 = icmp eq i32 %5571, 0
  br i1 %.not981, label %5572, label %5573

5572:                                             ; preds = %5568, %5562
  br label %5573

5573:                                             ; preds = %5568, %5572
  %.str.5.sink3029 = phi ptr [ @.str.5, %5572 ], [ @.str.2, %5568 ]
  store i32 %5563, ptr %1493, align 4, !tbaa !5
  %5574 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5575 = load i32, ptr @test_count, align 4, !tbaa !5
  %5576 = load i32, ptr %1439, align 4, !tbaa !5
  %5577 = call ptr @s2n_strerror(i32 noundef %5576, ptr noundef nonnull @.str.4) #11
  %5578 = load i32, ptr %1439, align 4, !tbaa !5
  %5579 = call ptr @s2n_strerror_debug(i32 noundef %5578, ptr noundef nonnull @.str.4) #11
  %5580 = load i32, ptr %1493, align 4, !tbaa !5
  %5581 = call ptr @strerror(i32 noundef %5580) #11
  %5582 = load i32, ptr %1493, align 4, !tbaa !5
  %5583 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5574, ptr noundef nonnull %.str.5.sink3029, i32 noundef %5575, ptr noundef nonnull @.str.40, ptr noundef nonnull @.str.1, i32 noundef 576, ptr noundef %5577, ptr noundef %5579, ptr noundef %5581, i32 noundef %5582) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5584:                                             ; preds = %5557, %5276
  %5585 = call ptr @s2n_connection_new(i32 noundef 0) #11
  %5586 = load i32, ptr @test_count, align 4, !tbaa !5
  %5587 = add nsw i32 %5586, 1
  store i32 %5587, ptr @test_count, align 4, !tbaa !5
  %5588 = call i32 @s2n_connection_set_config(ptr noundef %5585, ptr noundef %5221) #11
  %5589 = icmp eq i32 %5588, -1
  br i1 %5589, label %5590, label %5612

5590:                                             ; preds = %5584
  %5591 = load i32, ptr %1493, align 4, !tbaa !5
  %5592 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5593 = call i32 @s2n_print_stacktrace(ptr noundef %5592) #11
  %5594 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5595 = trunc nuw i8 %5594 to i1
  br i1 %5595, label %5596, label %5600

5596:                                             ; preds = %5590
  %5597 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5598 = call i32 @fileno(ptr noundef %5597) #11
  %5599 = call i32 @isatty(i32 noundef %5598) #11
  %.not980 = icmp eq i32 %5599, 0
  br i1 %.not980, label %5600, label %5601

5600:                                             ; preds = %5596, %5590
  br label %5601

5601:                                             ; preds = %5596, %5600
  %.str.5.sink3038 = phi ptr [ @.str.5, %5600 ], [ @.str.2, %5596 ]
  store i32 %5591, ptr %1493, align 4, !tbaa !5
  %5602 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5603 = load i32, ptr @test_count, align 4, !tbaa !5
  %5604 = load i32, ptr %1439, align 4, !tbaa !5
  %5605 = call ptr @s2n_strerror(i32 noundef %5604, ptr noundef nonnull @.str.4) #11
  %5606 = load i32, ptr %1439, align 4, !tbaa !5
  %5607 = call ptr @s2n_strerror_debug(i32 noundef %5606, ptr noundef nonnull @.str.4) #11
  %5608 = load i32, ptr %1493, align 4, !tbaa !5
  %5609 = call ptr @strerror(i32 noundef %5608) #11
  %5610 = load i32, ptr %1493, align 4, !tbaa !5
  %5611 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5602, ptr noundef nonnull %.str.5.sink3038, i32 noundef %5603, ptr noundef nonnull @.str.68, ptr noundef nonnull @.str.1, i32 noundef 582, ptr noundef %5605, ptr noundef %5607, ptr noundef %5609, i32 noundef %5610) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5612:                                             ; preds = %5584
  %5613 = load i32, ptr @test_count, align 4, !tbaa !5
  %5614 = add nsw i32 %5613, 1
  store i32 %5614, ptr @test_count, align 4, !tbaa !5
  %5615 = call i32 @s2n_connection_set_cipher_preferences(ptr noundef %5585, ptr noundef nonnull @.str.74) #11
  %5616 = icmp eq i32 %5615, -1
  br i1 %5616, label %5617, label %5639

5617:                                             ; preds = %5612
  %5618 = load i32, ptr %1493, align 4, !tbaa !5
  %5619 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5620 = call i32 @s2n_print_stacktrace(ptr noundef %5619) #11
  %5621 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5622 = trunc nuw i8 %5621 to i1
  br i1 %5622, label %5623, label %5627

5623:                                             ; preds = %5617
  %5624 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5625 = call i32 @fileno(ptr noundef %5624) #11
  %5626 = call i32 @isatty(i32 noundef %5625) #11
  %.not979 = icmp eq i32 %5626, 0
  br i1 %.not979, label %5627, label %5628

5627:                                             ; preds = %5623, %5617
  br label %5628

5628:                                             ; preds = %5623, %5627
  %.str.5.sink3047 = phi ptr [ @.str.5, %5627 ], [ @.str.2, %5623 ]
  store i32 %5618, ptr %1493, align 4, !tbaa !5
  %5629 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5630 = load i32, ptr @test_count, align 4, !tbaa !5
  %5631 = load i32, ptr %1439, align 4, !tbaa !5
  %5632 = call ptr @s2n_strerror(i32 noundef %5631, ptr noundef nonnull @.str.4) #11
  %5633 = load i32, ptr %1439, align 4, !tbaa !5
  %5634 = call ptr @s2n_strerror_debug(i32 noundef %5633, ptr noundef nonnull @.str.4) #11
  %5635 = load i32, ptr %1493, align 4, !tbaa !5
  %5636 = call ptr @strerror(i32 noundef %5635) #11
  %5637 = load i32, ptr %1493, align 4, !tbaa !5
  %5638 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5629, ptr noundef nonnull %.str.5.sink3047, i32 noundef %5630, ptr noundef nonnull @.str.75, ptr noundef nonnull @.str.1, i32 noundef 583, ptr noundef %5632, ptr noundef %5634, ptr noundef %5636, i32 noundef %5637) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5639:                                             ; preds = %5612
  %5640 = call ptr @s2n_connection_new(i32 noundef 1) #11
  %5641 = load i32, ptr @test_count, align 4, !tbaa !5
  %5642 = add nsw i32 %5641, 1
  store i32 %5642, ptr @test_count, align 4, !tbaa !5
  %5643 = call i32 @s2n_connection_set_config(ptr noundef %5640, ptr noundef %5221) #11
  %5644 = icmp eq i32 %5643, -1
  br i1 %5644, label %5645, label %5667

5645:                                             ; preds = %5639
  %5646 = load i32, ptr %1493, align 4, !tbaa !5
  %5647 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5648 = call i32 @s2n_print_stacktrace(ptr noundef %5647) #11
  %5649 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5650 = trunc nuw i8 %5649 to i1
  br i1 %5650, label %5651, label %5655

5651:                                             ; preds = %5645
  %5652 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5653 = call i32 @fileno(ptr noundef %5652) #11
  %5654 = call i32 @isatty(i32 noundef %5653) #11
  %.not978 = icmp eq i32 %5654, 0
  br i1 %.not978, label %5655, label %5656

5655:                                             ; preds = %5651, %5645
  br label %5656

5656:                                             ; preds = %5651, %5655
  %.str.5.sink3056 = phi ptr [ @.str.5, %5655 ], [ @.str.2, %5651 ]
  store i32 %5646, ptr %1493, align 4, !tbaa !5
  %5657 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5658 = load i32, ptr @test_count, align 4, !tbaa !5
  %5659 = load i32, ptr %1439, align 4, !tbaa !5
  %5660 = call ptr @s2n_strerror(i32 noundef %5659, ptr noundef nonnull @.str.4) #11
  %5661 = load i32, ptr %1439, align 4, !tbaa !5
  %5662 = call ptr @s2n_strerror_debug(i32 noundef %5661, ptr noundef nonnull @.str.4) #11
  %5663 = load i32, ptr %1493, align 4, !tbaa !5
  %5664 = call ptr @strerror(i32 noundef %5663) #11
  %5665 = load i32, ptr %1493, align 4, !tbaa !5
  %5666 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5657, ptr noundef nonnull %.str.5.sink3056, i32 noundef %5658, ptr noundef nonnull @.str.67, ptr noundef nonnull @.str.1, i32 noundef 586, ptr noundef %5660, ptr noundef %5662, ptr noundef %5664, i32 noundef %5665) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5667:                                             ; preds = %5639
  %5668 = load i32, ptr @test_count, align 4, !tbaa !5
  %5669 = add nsw i32 %5668, 1
  store i32 %5669, ptr @test_count, align 4, !tbaa !5
  %5670 = call i32 @s2n_test_client_hello(ptr noundef %5640, ptr noundef %5585)
  %5671 = call zeroext i1 @s2n_result_is_ok(i32 %5670)
  br i1 %5671, label %5694, label %5672

5672:                                             ; preds = %5667
  %5673 = load i32, ptr %1493, align 4, !tbaa !5
  %5674 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5675 = call i32 @s2n_print_stacktrace(ptr noundef %5674) #11
  %5676 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5677 = trunc nuw i8 %5676 to i1
  br i1 %5677, label %5678, label %5682

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

5682:                                             ; preds = %5678, %5672
  br label %5683

5683:                                             ; preds = %5678, %5682
  %.str.5.sink3065 = phi ptr [ @.str.5, %5682 ], [ @.str.2, %5678 ]
  store i32 %5673, ptr %1493, align 4, !tbaa !5
  %5684 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5685 = load i32, ptr @test_count, align 4, !tbaa !5
  %5686 = load i32, ptr %1439, align 4, !tbaa !5
  %5687 = call ptr @s2n_strerror(i32 noundef %5686, ptr noundef nonnull @.str.4) #11
  %5688 = load i32, ptr %1439, align 4, !tbaa !5
  %5689 = call ptr @s2n_strerror_debug(i32 noundef %5688, ptr noundef nonnull @.str.4) #11
  %5690 = load i32, ptr %1493, align 4, !tbaa !5
  %5691 = call ptr @strerror(i32 noundef %5690) #11
  %5692 = load i32, ptr %1493, align 4, !tbaa !5
  %5693 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5684, ptr noundef nonnull %.str.5.sink3065, i32 noundef %5685, ptr noundef nonnull @.str.69, ptr noundef nonnull @.str.1, i32 noundef 588, ptr noundef %5687, ptr noundef %5689, ptr noundef %5691, i32 noundef %5692) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5694:                                             ; preds = %5667
  %5695 = load i32, ptr @test_count, align 4, !tbaa !5
  %5696 = add nsw i32 %5695, 1
  store i32 %5696, ptr @test_count, align 4, !tbaa !5
  %5697 = call i32 @s2n_connection_set_config(ptr noundef %5640, ptr noundef %5138) #11
  %5698 = icmp eq i32 %5697, -1
  br i1 %5698, label %5699, label %5721

5699:                                             ; preds = %5694
  %5700 = load i32, ptr %1493, align 4, !tbaa !5
  %5701 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5702 = call i32 @s2n_print_stacktrace(ptr noundef %5701) #11
  %5703 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5704 = trunc nuw i8 %5703 to i1
  br i1 %5704, label %5705, label %5709

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

5709:                                             ; preds = %5705, %5699
  br label %5710

5710:                                             ; preds = %5705, %5709
  %.str.5.sink3074 = phi ptr [ @.str.5, %5709 ], [ @.str.2, %5705 ]
  store i32 %5700, ptr %1493, align 4, !tbaa !5
  %5711 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5712 = load i32, ptr @test_count, align 4, !tbaa !5
  %5713 = load i32, ptr %1439, align 4, !tbaa !5
  %5714 = call ptr @s2n_strerror(i32 noundef %5713, ptr noundef nonnull @.str.4) #11
  %5715 = load i32, ptr %1439, align 4, !tbaa !5
  %5716 = call ptr @s2n_strerror_debug(i32 noundef %5715, ptr noundef nonnull @.str.4) #11
  %5717 = load i32, ptr %1493, align 4, !tbaa !5
  %5718 = call ptr @strerror(i32 noundef %5717) #11
  %5719 = load i32, ptr %1493, align 4, !tbaa !5
  %5720 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5711, ptr noundef nonnull %.str.5.sink3074, i32 noundef %5712, ptr noundef nonnull @.str.70, ptr noundef nonnull @.str.1, i32 noundef 589, ptr noundef %5714, ptr noundef %5716, ptr noundef %5718, i32 noundef %5719) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5721:                                             ; preds = %5694
  %5722 = load i32, ptr @test_count, align 4, !tbaa !5
  %5723 = add nsw i32 %5722, 1
  store i32 %5723, ptr @test_count, align 4, !tbaa !5
  %5724 = call i32 @s2n_server_hello_send(ptr noundef %5585) #11
  %5725 = icmp eq i32 %5724, -1
  br i1 %5725, label %5726, label %5748

5726:                                             ; preds = %5721
  %5727 = load i32, ptr %1493, align 4, !tbaa !5
  %5728 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5729 = call i32 @s2n_print_stacktrace(ptr noundef %5728) #11
  %5730 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5731 = trunc nuw i8 %5730 to i1
  br i1 %5731, label %5732, label %5736

5732:                                             ; preds = %5726
  %5733 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5734 = call i32 @fileno(ptr noundef %5733) #11
  %5735 = call i32 @isatty(i32 noundef %5734) #11
  %.not976 = icmp eq i32 %5735, 0
  br i1 %.not976, label %5736, label %5737

5736:                                             ; preds = %5732, %5726
  br label %5737

5737:                                             ; preds = %5732, %5736
  %.str.5.sink3083 = phi ptr [ @.str.5, %5736 ], [ @.str.2, %5732 ]
  store i32 %5727, ptr %1493, align 4, !tbaa !5
  %5738 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5739 = load i32, ptr @test_count, align 4, !tbaa !5
  %5740 = load i32, ptr %1439, align 4, !tbaa !5
  %5741 = call ptr @s2n_strerror(i32 noundef %5740, ptr noundef nonnull @.str.4) #11
  %5742 = load i32, ptr %1439, align 4, !tbaa !5
  %5743 = call ptr @s2n_strerror_debug(i32 noundef %5742, ptr noundef nonnull @.str.4) #11
  %5744 = load i32, ptr %1493, align 4, !tbaa !5
  %5745 = call ptr @strerror(i32 noundef %5744) #11
  %5746 = load i32, ptr %1493, align 4, !tbaa !5
  %5747 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5738, ptr noundef nonnull %.str.5.sink3083, i32 noundef %5739, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.1, i32 noundef 591, ptr noundef %5741, ptr noundef %5743, ptr noundef %5745, i32 noundef %5746) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5748:                                             ; preds = %5721
  %5749 = load i32, ptr @test_count, align 4, !tbaa !5
  %5750 = add nsw i32 %5749, 1
  store i32 %5750, ptr @test_count, align 4, !tbaa !5
  %5751 = getelementptr inbounds i8, ptr %5585, i64 2016
  %5752 = getelementptr inbounds i8, ptr %5640, i64 2016
  %5753 = getelementptr inbounds i8, ptr %5585, i64 2044
  %5754 = load i32, ptr %5753, align 4, !tbaa !58
  %5755 = getelementptr inbounds i8, ptr %5585, i64 2040
  %5756 = load i32, ptr %5755, align 8, !tbaa !59
  %5757 = sub i32 %5754, %5756
  %5758 = call i32 @s2n_stuffer_copy(ptr noundef nonnull %5751, ptr noundef nonnull %5752, i32 noundef %5757) #11
  %5759 = icmp eq i32 %5758, -1
  br i1 %5759, label %5760, label %5782

5760:                                             ; preds = %5748
  %5761 = load i32, ptr %1493, align 4, !tbaa !5
  %5762 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5763 = call i32 @s2n_print_stacktrace(ptr noundef %5762) #11
  %5764 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5765 = trunc nuw i8 %5764 to i1
  br i1 %5765, label %5766, label %5770

5766:                                             ; preds = %5760
  %5767 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5768 = call i32 @fileno(ptr noundef %5767) #11
  %5769 = call i32 @isatty(i32 noundef %5768) #11
  %.not975 = icmp eq i32 %5769, 0
  br i1 %.not975, label %5770, label %5771

5770:                                             ; preds = %5766, %5760
  br label %5771

5771:                                             ; preds = %5766, %5770
  %.str.5.sink3092 = phi ptr [ @.str.5, %5770 ], [ @.str.2, %5766 ]
  store i32 %5761, ptr %1493, align 4, !tbaa !5
  %5772 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5773 = load i32, ptr @test_count, align 4, !tbaa !5
  %5774 = load i32, ptr %1439, align 4, !tbaa !5
  %5775 = call ptr @s2n_strerror(i32 noundef %5774, ptr noundef nonnull @.str.4) #11
  %5776 = load i32, ptr %1439, align 4, !tbaa !5
  %5777 = call ptr @s2n_strerror_debug(i32 noundef %5776, ptr noundef nonnull @.str.4) #11
  %5778 = load i32, ptr %1493, align 4, !tbaa !5
  %5779 = call ptr @strerror(i32 noundef %5778) #11
  %5780 = load i32, ptr %1493, align 4, !tbaa !5
  %5781 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5772, ptr noundef nonnull %.str.5.sink3092, i32 noundef %5773, ptr noundef nonnull @.str.71, ptr noundef nonnull @.str.1, i32 noundef 593, ptr noundef %5775, ptr noundef %5777, ptr noundef %5779, i32 noundef %5780) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5782:                                             ; preds = %5748
  %5783 = load i32, ptr @test_count, align 4, !tbaa !5
  %5784 = add nsw i32 %5783, 1
  store i32 %5784, ptr @test_count, align 4, !tbaa !5
  %5785 = call i32 @s2n_server_hello_recv(ptr noundef %5640) #11
  %5786 = icmp eq i32 %5785, -1
  br i1 %5786, label %5809, label %5787

5787:                                             ; preds = %5782
  %5788 = load i32, ptr %1493, align 4, !tbaa !5
  %5789 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5790 = call i32 @s2n_print_stacktrace(ptr noundef %5789) #11
  %5791 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5792 = trunc nuw i8 %5791 to i1
  br i1 %5792, label %5793, label %5797

5793:                                             ; preds = %5787
  %5794 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5795 = call i32 @fileno(ptr noundef %5794) #11
  %5796 = call i32 @isatty(i32 noundef %5795) #11
  %.not921 = icmp eq i32 %5796, 0
  br i1 %.not921, label %5797, label %5798

5797:                                             ; preds = %5793, %5787
  br label %5798

5798:                                             ; preds = %5793, %5797
  %.str.5.sink3101 = phi ptr [ @.str.5, %5797 ], [ @.str.2, %5793 ]
  store i32 %5788, ptr %1493, align 4, !tbaa !5
  %5799 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5800 = load i32, ptr @test_count, align 4, !tbaa !5
  %5801 = load i32, ptr %1439, align 4, !tbaa !5
  %5802 = call ptr @s2n_strerror(i32 noundef %5801, ptr noundef nonnull @.str.4) #11
  %5803 = load i32, ptr %1439, align 4, !tbaa !5
  %5804 = call ptr @s2n_strerror_debug(i32 noundef %5803, ptr noundef nonnull @.str.4) #11
  %5805 = load i32, ptr %1493, align 4, !tbaa !5
  %5806 = call ptr @strerror(i32 noundef %5805) #11
  %5807 = load i32, ptr %1493, align 4, !tbaa !5
  %5808 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5799, ptr noundef nonnull %.str.5.sink3101, i32 noundef %5800, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.1, i32 noundef 594, ptr noundef %5802, ptr noundef %5804, ptr noundef %5806, i32 noundef %5807) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5809:                                             ; preds = %5782
  %5810 = load i32, ptr @test_count, align 4, !tbaa !5
  %5811 = add nsw i32 %5810, 1
  store i32 %5811, ptr @test_count, align 4, !tbaa !5
  %5812 = load i32, ptr %1439, align 4, !tbaa !5
  %5813 = icmp eq i32 %5812, 335544384
  br i1 %5813, label %5836, label %5814

5814:                                             ; preds = %5809
  %5815 = load i32, ptr %1493, align 4, !tbaa !5
  %5816 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5817 = call i32 @s2n_print_stacktrace(ptr noundef %5816) #11
  %5818 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5819 = trunc nuw i8 %5818 to i1
  br i1 %5819, label %5820, label %5824

5820:                                             ; preds = %5814
  %5821 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5822 = call i32 @fileno(ptr noundef %5821) #11
  %5823 = call i32 @isatty(i32 noundef %5822) #11
  %.not922 = icmp eq i32 %5823, 0
  br i1 %.not922, label %5824, label %5825

5824:                                             ; preds = %5820, %5814
  br label %5825

5825:                                             ; preds = %5820, %5824
  %.str.5.sink3110 = phi ptr [ @.str.5, %5824 ], [ @.str.2, %5820 ]
  store i32 %5815, ptr %1493, align 4, !tbaa !5
  %5826 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5827 = load i32, ptr @test_count, align 4, !tbaa !5
  %5828 = load i32, ptr %1439, align 4, !tbaa !5
  %5829 = call ptr @s2n_strerror(i32 noundef %5828, ptr noundef nonnull @.str.4) #11
  %5830 = load i32, ptr %1439, align 4, !tbaa !5
  %5831 = call ptr @s2n_strerror_debug(i32 noundef %5830, ptr noundef nonnull @.str.4) #11
  %5832 = load i32, ptr %1493, align 4, !tbaa !5
  %5833 = call ptr @strerror(i32 noundef %5832) #11
  %5834 = load i32, ptr %1493, align 4, !tbaa !5
  %5835 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5826, ptr noundef nonnull %.str.5.sink3110, i32 noundef %5827, ptr noundef nonnull @.str.76, ptr noundef nonnull @.str.1, i32 noundef 594, ptr noundef %5829, ptr noundef %5831, ptr noundef %5833, i32 noundef %5834) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5836:                                             ; preds = %5809
  %5837 = add nsw i32 %5810, 2
  store i32 %5837, ptr @test_count, align 4, !tbaa !5
  %5838 = call ptr @s2n_strerror_debug(i32 noundef 335544384, ptr noundef nonnull @.str.4) #11
  %5839 = icmp eq ptr %5838, null
  br i1 %5839, label %5840, label %5862

5840:                                             ; preds = %5836
  %5841 = load i32, ptr %1493, align 4, !tbaa !5
  %5842 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5843 = call i32 @s2n_print_stacktrace(ptr noundef %5842) #11
  %5844 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5845 = trunc nuw i8 %5844 to i1
  br i1 %5845, label %5846, label %5850

5846:                                             ; preds = %5840
  %5847 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5848 = call i32 @fileno(ptr noundef %5847) #11
  %5849 = call i32 @isatty(i32 noundef %5848) #11
  %.not974 = icmp eq i32 %5849, 0
  br i1 %.not974, label %5850, label %5851

5850:                                             ; preds = %5846, %5840
  br label %5851

5851:                                             ; preds = %5846, %5850
  %.str.5.sink3119 = phi ptr [ @.str.5, %5850 ], [ @.str.2, %5846 ]
  store i32 %5841, ptr %1493, align 4, !tbaa !5
  %5852 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5853 = load i32, ptr @test_count, align 4, !tbaa !5
  %5854 = load i32, ptr %1439, align 4, !tbaa !5
  %5855 = call ptr @s2n_strerror(i32 noundef %5854, ptr noundef nonnull @.str.4) #11
  %5856 = load i32, ptr %1439, align 4, !tbaa !5
  %5857 = call ptr @s2n_strerror_debug(i32 noundef %5856, ptr noundef nonnull @.str.4) #11
  %5858 = load i32, ptr %1493, align 4, !tbaa !5
  %5859 = call ptr @strerror(i32 noundef %5858) #11
  %5860 = load i32, ptr %1493, align 4, !tbaa !5
  %5861 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5852, ptr noundef nonnull %.str.5.sink3119, i32 noundef %5853, ptr noundef nonnull @.str.43, ptr noundef nonnull @.str.1, i32 noundef 594, ptr noundef %5855, ptr noundef %5857, ptr noundef %5859, i32 noundef %5860) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5862:                                             ; preds = %5836
  store i32 0, ptr %1439, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #11
  store i32 0, ptr %1493, align 4, !tbaa !5
  %5863 = load i32, ptr @test_count, align 4, !tbaa !5
  %5864 = add nsw i32 %5863, 1
  store i32 %5864, ptr @test_count, align 4, !tbaa !5
  %5865 = getelementptr inbounds i8, ptr %5585, i64 220
  %5866 = load i8, ptr %5865, align 4, !tbaa !42
  %5867 = icmp eq i8 %5866, 33
  br i1 %5867, label %5890, label %5868

5868:                                             ; preds = %5862
  %5869 = load i32, ptr %1493, align 4, !tbaa !5
  %5870 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5871 = call i32 @s2n_print_stacktrace(ptr noundef %5870) #11
  %5872 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5873 = trunc nuw i8 %5872 to i1
  br i1 %5873, label %5874, label %5878

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

5878:                                             ; preds = %5874, %5868
  br label %5879

5879:                                             ; preds = %5874, %5878
  %.str.5.sink3128 = phi ptr [ @.str.5, %5878 ], [ @.str.2, %5874 ]
  store i32 %5869, ptr %1493, align 4, !tbaa !5
  %5880 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5881 = load i32, ptr @test_count, align 4, !tbaa !5
  %5882 = load i32, ptr %1439, align 4, !tbaa !5
  %5883 = call ptr @s2n_strerror(i32 noundef %5882, ptr noundef nonnull @.str.4) #11
  %5884 = load i32, ptr %1439, align 4, !tbaa !5
  %5885 = call ptr @s2n_strerror_debug(i32 noundef %5884, ptr noundef nonnull @.str.4) #11
  %5886 = load i32, ptr %1493, align 4, !tbaa !5
  %5887 = call ptr @strerror(i32 noundef %5886) #11
  %5888 = load i32, ptr %1493, align 4, !tbaa !5
  %5889 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5880, ptr noundef nonnull %.str.5.sink3128, i32 noundef %5881, ptr noundef nonnull @.str.77, ptr noundef nonnull @.str.1, i32 noundef 596, ptr noundef %5883, ptr noundef %5885, ptr noundef %5887, i32 noundef %5888) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5890:                                             ; preds = %5862
  %5891 = add nsw i32 %5863, 2
  store i32 %5891, ptr @test_count, align 4, !tbaa !5
  %5892 = call i32 @s2n_connection_free(ptr noundef %5640) #11
  %5893 = icmp eq i32 %5892, -1
  br i1 %5893, label %5894, label %5916

5894:                                             ; preds = %5890
  %5895 = load i32, ptr %1493, align 4, !tbaa !5
  %5896 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5897 = call i32 @s2n_print_stacktrace(ptr noundef %5896) #11
  %5898 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5899 = trunc nuw i8 %5898 to i1
  br i1 %5899, label %5900, label %5904

5900:                                             ; preds = %5894
  %5901 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5902 = call i32 @fileno(ptr noundef %5901) #11
  %5903 = call i32 @isatty(i32 noundef %5902) #11
  %.not973 = icmp eq i32 %5903, 0
  br i1 %.not973, label %5904, label %5905

5904:                                             ; preds = %5900, %5894
  br label %5905

5905:                                             ; preds = %5900, %5904
  %.str.5.sink3137 = phi ptr [ @.str.5, %5904 ], [ @.str.2, %5900 ]
  store i32 %5895, ptr %1493, align 4, !tbaa !5
  %5906 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5907 = load i32, ptr @test_count, align 4, !tbaa !5
  %5908 = load i32, ptr %1439, align 4, !tbaa !5
  %5909 = call ptr @s2n_strerror(i32 noundef %5908, ptr noundef nonnull @.str.4) #11
  %5910 = load i32, ptr %1439, align 4, !tbaa !5
  %5911 = call ptr @s2n_strerror_debug(i32 noundef %5910, ptr noundef nonnull @.str.4) #11
  %5912 = load i32, ptr %1493, align 4, !tbaa !5
  %5913 = call ptr @strerror(i32 noundef %5912) #11
  %5914 = load i32, ptr %1493, align 4, !tbaa !5
  %5915 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5906, ptr noundef nonnull %.str.5.sink3137, i32 noundef %5907, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.1, i32 noundef 598, ptr noundef %5909, ptr noundef %5911, ptr noundef %5913, i32 noundef %5914) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5916:                                             ; preds = %5890
  %5917 = load i32, ptr @test_count, align 4, !tbaa !5
  %5918 = add nsw i32 %5917, 1
  store i32 %5918, ptr @test_count, align 4, !tbaa !5
  %5919 = call i32 @s2n_connection_free(ptr noundef nonnull %5585) #11
  %5920 = icmp eq i32 %5919, -1
  br i1 %5920, label %5921, label %5943

5921:                                             ; preds = %5916
  %5922 = load i32, ptr %1493, align 4, !tbaa !5
  %5923 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5924 = call i32 @s2n_print_stacktrace(ptr noundef %5923) #11
  %5925 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5926 = trunc nuw i8 %5925 to i1
  br i1 %5926, label %5927, label %5931

5927:                                             ; preds = %5921
  %5928 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5929 = call i32 @fileno(ptr noundef %5928) #11
  %5930 = call i32 @isatty(i32 noundef %5929) #11
  %.not972 = icmp eq i32 %5930, 0
  br i1 %.not972, label %5931, label %5932

5931:                                             ; preds = %5927, %5921
  br label %5932

5932:                                             ; preds = %5927, %5931
  %.str.5.sink3146 = phi ptr [ @.str.5, %5931 ], [ @.str.2, %5927 ]
  store i32 %5922, ptr %1493, align 4, !tbaa !5
  %5933 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5934 = load i32, ptr @test_count, align 4, !tbaa !5
  %5935 = load i32, ptr %1439, align 4, !tbaa !5
  %5936 = call ptr @s2n_strerror(i32 noundef %5935, ptr noundef nonnull @.str.4) #11
  %5937 = load i32, ptr %1439, align 4, !tbaa !5
  %5938 = call ptr @s2n_strerror_debug(i32 noundef %5937, ptr noundef nonnull @.str.4) #11
  %5939 = load i32, ptr %1493, align 4, !tbaa !5
  %5940 = call ptr @strerror(i32 noundef %5939) #11
  %5941 = load i32, ptr %1493, align 4, !tbaa !5
  %5942 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5933, ptr noundef nonnull %.str.5.sink3146, i32 noundef %5934, ptr noundef nonnull @.str.40, ptr noundef nonnull @.str.1, i32 noundef 599, ptr noundef %5936, ptr noundef %5938, ptr noundef %5940, i32 noundef %5941) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5943:                                             ; preds = %5916
  %5944 = load i32, ptr @test_count, align 4, !tbaa !5
  %5945 = add nsw i32 %5944, 1
  store i32 %5945, ptr @test_count, align 4, !tbaa !5
  %5946 = call i32 @s2n_config_free(ptr noundef %5138) #11
  %5947 = icmp eq i32 %5946, -1
  br i1 %5947, label %5948, label %5970

5948:                                             ; preds = %5943
  %5949 = load i32, ptr %1493, align 4, !tbaa !5
  %5950 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5951 = call i32 @s2n_print_stacktrace(ptr noundef %5950) #11
  %5952 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5953 = trunc nuw i8 %5952 to i1
  br i1 %5953, label %5954, label %5958

5954:                                             ; preds = %5948
  %5955 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5956 = call i32 @fileno(ptr noundef %5955) #11
  %5957 = call i32 @isatty(i32 noundef %5956) #11
  %.not971 = icmp eq i32 %5957, 0
  br i1 %.not971, label %5958, label %5959

5958:                                             ; preds = %5954, %5948
  br label %5959

5959:                                             ; preds = %5954, %5958
  %.str.5.sink3155 = phi ptr [ @.str.5, %5958 ], [ @.str.2, %5954 ]
  store i32 %5949, ptr %1493, align 4, !tbaa !5
  %5960 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5961 = load i32, ptr @test_count, align 4, !tbaa !5
  %5962 = load i32, ptr %1439, align 4, !tbaa !5
  %5963 = call ptr @s2n_strerror(i32 noundef %5962, ptr noundef nonnull @.str.4) #11
  %5964 = load i32, ptr %1439, align 4, !tbaa !5
  %5965 = call ptr @s2n_strerror_debug(i32 noundef %5964, ptr noundef nonnull @.str.4) #11
  %5966 = load i32, ptr %1493, align 4, !tbaa !5
  %5967 = call ptr @strerror(i32 noundef %5966) #11
  %5968 = load i32, ptr %1493, align 4, !tbaa !5
  %5969 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5960, ptr noundef nonnull %.str.5.sink3155, i32 noundef %5961, ptr noundef nonnull @.str.78, ptr noundef nonnull @.str.1, i32 noundef 602, ptr noundef %5963, ptr noundef %5965, ptr noundef %5967, i32 noundef %5968) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5970:                                             ; preds = %5943
  %5971 = load i32, ptr @test_count, align 4, !tbaa !5
  %5972 = add nsw i32 %5971, 1
  store i32 %5972, ptr @test_count, align 4, !tbaa !5
  %5973 = call i32 @s2n_config_free(ptr noundef %5221) #11
  %5974 = icmp eq i32 %5973, -1
  br i1 %5974, label %5975, label %5997

5975:                                             ; preds = %5970
  %5976 = load i32, ptr %1493, align 4, !tbaa !5
  %5977 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5978 = call i32 @s2n_print_stacktrace(ptr noundef %5977) #11
  %5979 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5980 = trunc nuw i8 %5979 to i1
  br i1 %5980, label %5981, label %5985

5981:                                             ; preds = %5975
  %5982 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5983 = call i32 @fileno(ptr noundef %5982) #11
  %5984 = call i32 @isatty(i32 noundef %5983) #11
  %.not970 = icmp eq i32 %5984, 0
  br i1 %.not970, label %5985, label %5986

5985:                                             ; preds = %5981, %5975
  br label %5986

5986:                                             ; preds = %5981, %5985
  %.str.5.sink3164 = phi ptr [ @.str.5, %5985 ], [ @.str.2, %5981 ]
  store i32 %5976, ptr %1493, align 4, !tbaa !5
  %5987 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5988 = load i32, ptr @test_count, align 4, !tbaa !5
  %5989 = load i32, ptr %1439, align 4, !tbaa !5
  %5990 = call ptr @s2n_strerror(i32 noundef %5989, ptr noundef nonnull @.str.4) #11
  %5991 = load i32, ptr %1439, align 4, !tbaa !5
  %5992 = call ptr @s2n_strerror_debug(i32 noundef %5991, ptr noundef nonnull @.str.4) #11
  %5993 = load i32, ptr %1493, align 4, !tbaa !5
  %5994 = call ptr @strerror(i32 noundef %5993) #11
  %5995 = load i32, ptr %1493, align 4, !tbaa !5
  %5996 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5987, ptr noundef nonnull %.str.5.sink3164, i32 noundef %5988, ptr noundef nonnull @.str.79, ptr noundef nonnull @.str.1, i32 noundef 603, ptr noundef %5990, ptr noundef %5992, ptr noundef %5994, i32 noundef %5995) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5997:                                             ; preds = %5970, %5107
  %5998 = call zeroext i1 (...) @s2n_is_tls13_fully_supported() #11
  br i1 %5998, label %5999, label %7098

5999:                                             ; preds = %5997
  %6000 = load i32, ptr @test_count, align 4, !tbaa !5
  %6001 = add nsw i32 %6000, 1
  store i32 %6001, ptr @test_count, align 4, !tbaa !5
  %6002 = call i32 (...) @s2n_reset_tls13_in_test() #11
  %6003 = icmp eq i32 %6002, -1
  br i1 %6003, label %6004, label %6026

6004:                                             ; preds = %5999
  %6005 = load i32, ptr %1493, align 4, !tbaa !5
  %6006 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6007 = call i32 @s2n_print_stacktrace(ptr noundef %6006) #11
  %6008 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6009 = trunc nuw i8 %6008 to i1
  br i1 %6009, label %6010, label %6014

6010:                                             ; preds = %6004
  %6011 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6012 = call i32 @fileno(ptr noundef %6011) #11
  %6013 = call i32 @isatty(i32 noundef %6012) #11
  %.not969 = icmp eq i32 %6013, 0
  br i1 %.not969, label %6014, label %6015

6014:                                             ; preds = %6010, %6004
  br label %6015

6015:                                             ; preds = %6010, %6014
  %.str.5.sink3173 = phi ptr [ @.str.5, %6014 ], [ @.str.2, %6010 ]
  store i32 %6005, ptr %1493, align 4, !tbaa !5
  %6016 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6017 = load i32, ptr @test_count, align 4, !tbaa !5
  %6018 = load i32, ptr %1439, align 4, !tbaa !5
  %6019 = call ptr @s2n_strerror(i32 noundef %6018, ptr noundef nonnull @.str.4) #11
  %6020 = load i32, ptr %1439, align 4, !tbaa !5
  %6021 = call ptr @s2n_strerror_debug(i32 noundef %6020, ptr noundef nonnull @.str.4) #11
  %6022 = load i32, ptr %1493, align 4, !tbaa !5
  %6023 = call ptr @strerror(i32 noundef %6022) #11
  %6024 = load i32, ptr %1493, align 4, !tbaa !5
  %6025 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6016, ptr noundef nonnull %.str.5.sink3173, i32 noundef %6017, ptr noundef nonnull @.str.60, ptr noundef nonnull @.str.1, i32 noundef 614, ptr noundef %6019, ptr noundef %6021, ptr noundef %6023, i32 noundef %6024) #13
  call void @exit(i32 noundef 1) #14
  unreachable

6026:                                             ; preds = %5999
  %6027 = call ptr @s2n_config_new() #11
  %6028 = load i32, ptr @test_count, align 4, !tbaa !5
  %6029 = add nsw i32 %6028, 1
  store i32 %6029, ptr @test_count, align 4, !tbaa !5
  %6030 = load ptr, ptr %3, align 8, !tbaa !9
  %6031 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef %6027, ptr noundef %6030) #11
  %6032 = icmp eq i32 %6031, -1
  br i1 %6032, label %6033, label %6055

6033:                                             ; preds = %6026
  %6034 = load i32, ptr %1493, align 4, !tbaa !5
  %6035 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6036 = call i32 @s2n_print_stacktrace(ptr noundef %6035) #11
  %6037 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6038 = trunc nuw i8 %6037 to i1
  br i1 %6038, label %6039, label %6043

6039:                                             ; preds = %6033
  %6040 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6041 = call i32 @fileno(ptr noundef %6040) #11
  %6042 = call i32 @isatty(i32 noundef %6041) #11
  %.not968 = icmp eq i32 %6042, 0
  br i1 %.not968, label %6043, label %6044

6043:                                             ; preds = %6039, %6033
  br label %6044

6044:                                             ; preds = %6039, %6043
  %.str.5.sink3182 = phi ptr [ @.str.5, %6043 ], [ @.str.2, %6039 ]
  store i32 %6034, ptr %1493, align 4, !tbaa !5
  %6045 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6046 = load i32, ptr @test_count, align 4, !tbaa !5
  %6047 = load i32, ptr %1439, align 4, !tbaa !5
  %6048 = call ptr @s2n_strerror(i32 noundef %6047, ptr noundef nonnull @.str.4) #11
  %6049 = load i32, ptr %1439, align 4, !tbaa !5
  %6050 = call ptr @s2n_strerror_debug(i32 noundef %6049, ptr noundef nonnull @.str.4) #11
  %6051 = load i32, ptr %1493, align 4, !tbaa !5
  %6052 = call ptr @strerror(i32 noundef %6051) #11
  %6053 = load i32, ptr %1493, align 4, !tbaa !5
  %6054 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6045, ptr noundef nonnull %.str.5.sink3182, i32 noundef %6046, ptr noundef nonnull @.str.80, ptr noundef nonnull @.str.1, i32 noundef 617, ptr noundef %6048, ptr noundef %6050, ptr noundef %6052, i32 noundef %6053) #13
  call void @exit(i32 noundef 1) #14
  unreachable

6055:                                             ; preds = %6026
  %6056 = call ptr @s2n_connection_new(i32 noundef 1) #11
  %6057 = load i32, ptr @test_count, align 4, !tbaa !5
  %6058 = add nsw i32 %6057, 1
  store i32 %6058, ptr @test_count, align 4, !tbaa !5
  %6059 = call i32 @s2n_connection_set_config(ptr noundef %6056, ptr noundef %6027) #11
  %6060 = icmp eq i32 %6059, -1
  br i1 %6060, label %6061, label %6083

6061:                                             ; preds = %6055
  %6062 = load i32, ptr %1493, align 4, !tbaa !5
  %6063 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6064 = call i32 @s2n_print_stacktrace(ptr noundef %6063) #11
  %6065 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6066 = trunc nuw i8 %6065 to i1
  br i1 %6066, label %6067, label %6071

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

6071:                                             ; preds = %6067, %6061
  br label %6072

6072:                                             ; preds = %6067, %6071
  %.str.5.sink3191 = phi ptr [ @.str.5, %6071 ], [ @.str.2, %6067 ]
  store i32 %6062, ptr %1493, align 4, !tbaa !5
  %6073 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6074 = load i32, ptr @test_count, align 4, !tbaa !5
  %6075 = load i32, ptr %1439, align 4, !tbaa !5
  %6076 = call ptr @s2n_strerror(i32 noundef %6075, ptr noundef nonnull @.str.4) #11
  %6077 = load i32, ptr %1439, align 4, !tbaa !5
  %6078 = call ptr @s2n_strerror_debug(i32 noundef %6077, ptr noundef nonnull @.str.4) #11
  %6079 = load i32, ptr %1493, align 4, !tbaa !5
  %6080 = call ptr @strerror(i32 noundef %6079) #11
  %6081 = load i32, ptr %1493, align 4, !tbaa !5
  %6082 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6073, ptr noundef nonnull %.str.5.sink3191, i32 noundef %6074, ptr noundef nonnull @.str.81, ptr noundef nonnull @.str.1, i32 noundef 622, ptr noundef %6076, ptr noundef %6078, ptr noundef %6080, i32 noundef %6081) #13
  call void @exit(i32 noundef 1) #14
  unreachable

6083:                                             ; preds = %6055
  %6084 = load i32, ptr @test_count, align 4, !tbaa !5
  %6085 = add nsw i32 %6084, 1
  store i32 %6085, ptr @test_count, align 4, !tbaa !5
  %6086 = call i32 @s2n_connection_set_cipher_preferences(ptr noundef %6056, ptr noundef nonnull @.str.61) #11
  %6087 = icmp eq i32 %6086, -1
  br i1 %6087, label %6088, label %6110

6088:                                             ; preds = %6083
  %6089 = load i32, ptr %1493, align 4, !tbaa !5
  %6090 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6091 = call i32 @s2n_print_stacktrace(ptr noundef %6090) #11
  %6092 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6093 = trunc nuw i8 %6092 to i1
  br i1 %6093, label %6094, label %6098

6094:                                             ; preds = %6088
  %6095 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6096 = call i32 @fileno(ptr noundef %6095) #11
  %6097 = call i32 @isatty(i32 noundef %6096) #11
  %.not966 = icmp eq i32 %6097, 0
  br i1 %.not966, label %6098, label %6099

6098:                                             ; preds = %6094, %6088
  br label %6099

6099:                                             ; preds = %6094, %6098
  %.str.5.sink3200 = phi ptr [ @.str.5, %6098 ], [ @.str.2, %6094 ]
  store i32 %6089, ptr %1493, align 4, !tbaa !5
  %6100 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6101 = load i32, ptr @test_count, align 4, !tbaa !5
  %6102 = load i32, ptr %1439, align 4, !tbaa !5
  %6103 = call ptr @s2n_strerror(i32 noundef %6102, ptr noundef nonnull @.str.4) #11
  %6104 = load i32, ptr %1439, align 4, !tbaa !5
  %6105 = call ptr @s2n_strerror_debug(i32 noundef %6104, ptr noundef nonnull @.str.4) #11
  %6106 = load i32, ptr %1493, align 4, !tbaa !5
  %6107 = call ptr @strerror(i32 noundef %6106) #11
  %6108 = load i32, ptr %1493, align 4, !tbaa !5
  %6109 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6100, ptr noundef nonnull %.str.5.sink3200, i32 noundef %6101, ptr noundef nonnull @.str.82, ptr noundef nonnull @.str.1, i32 noundef 623, ptr noundef %6103, ptr noundef %6105, ptr noundef %6107, i32 noundef %6108) #13
  call void @exit(i32 noundef 1) #14
  unreachable

6110:                                             ; preds = %6083
  %6111 = load i32, ptr @test_count, align 4, !tbaa !5
  %6112 = add nsw i32 %6111, 1
  store i32 %6112, ptr @test_count, align 4, !tbaa !5
  %6113 = call i32 @s2n_append_test_psk_with_early_data(ptr noundef %6056, i32 noundef 1, ptr noundef nonnull @s2n_tls13_aes_128_gcm_sha256) #11
  %6114 = call zeroext i1 @s2n_result_is_ok(i32 %6113)
  br i1 %6114, label %6137, label %6115

6115:                                             ; preds = %6110
  %6116 = load i32, ptr %1493, align 4, !tbaa !5
  %6117 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6118 = call i32 @s2n_print_stacktrace(ptr noundef %6117) #11
  %6119 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6120 = trunc nuw i8 %6119 to i1
  br i1 %6120, label %6121, label %6125

6121:                                             ; preds = %6115
  %6122 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6123 = call i32 @fileno(ptr noundef %6122) #11
  %6124 = call i32 @isatty(i32 noundef %6123) #11
  %.not924 = icmp eq i32 %6124, 0
  br i1 %.not924, label %6125, label %6126

6125:                                             ; preds = %6121, %6115
  br label %6126

6126:                                             ; preds = %6121, %6125
  %.str.5.sink3209 = phi ptr [ @.str.5, %6125 ], [ @.str.2, %6121 ]
  store i32 %6116, ptr %1493, align 4, !tbaa !5
  %6127 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6128 = load i32, ptr @test_count, align 4, !tbaa !5
  %6129 = load i32, ptr %1439, align 4, !tbaa !5
  %6130 = call ptr @s2n_strerror(i32 noundef %6129, ptr noundef nonnull @.str.4) #11
  %6131 = load i32, ptr %1439, align 4, !tbaa !5
  %6132 = call ptr @s2n_strerror_debug(i32 noundef %6131, ptr noundef nonnull @.str.4) #11
  %6133 = load i32, ptr %1493, align 4, !tbaa !5
  %6134 = call ptr @strerror(i32 noundef %6133) #11
  %6135 = load i32, ptr %1493, align 4, !tbaa !5
  %6136 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6127, ptr noundef nonnull %.str.5.sink3209, i32 noundef %6128, ptr noundef nonnull @.str.83, ptr noundef nonnull @.str.1, i32 noundef 624, ptr noundef %6130, ptr noundef %6132, ptr noundef %6134, i32 noundef %6135) #13
  call void @exit(i32 noundef 1) #14
  unreachable

6137:                                             ; preds = %6110
  %6138 = load i32, ptr @test_count, align 4, !tbaa !5
  %6139 = add nsw i32 %6138, 1
  store i32 %6139, ptr @test_count, align 4, !tbaa !5
  %6140 = call i32 @s2n_connection_set_early_data_expected(ptr noundef %6056) #11
  %6141 = icmp eq i32 %6140, -1
  br i1 %6141, label %6142, label %6164

6142:                                             ; preds = %6137
  %6143 = load i32, ptr %1493, align 4, !tbaa !5
  %6144 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6145 = call i32 @s2n_print_stacktrace(ptr noundef %6144) #11
  %6146 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6147 = trunc nuw i8 %6146 to i1
  br i1 %6147, label %6148, label %6152

6148:                                             ; preds = %6142
  %6149 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6150 = call i32 @fileno(ptr noundef %6149) #11
  %6151 = call i32 @isatty(i32 noundef %6150) #11
  %.not965 = icmp eq i32 %6151, 0
  br i1 %.not965, label %6152, label %6153

6152:                                             ; preds = %6148, %6142
  br label %6153

6153:                                             ; preds = %6148, %6152
  %.str.5.sink3218 = phi ptr [ @.str.5, %6152 ], [ @.str.2, %6148 ]
  store i32 %6143, ptr %1493, align 4, !tbaa !5
  %6154 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6155 = load i32, ptr @test_count, align 4, !tbaa !5
  %6156 = load i32, ptr %1439, align 4, !tbaa !5
  %6157 = call ptr @s2n_strerror(i32 noundef %6156, ptr noundef nonnull @.str.4) #11
  %6158 = load i32, ptr %1439, align 4, !tbaa !5
  %6159 = call ptr @s2n_strerror_debug(i32 noundef %6158, ptr noundef nonnull @.str.4) #11
  %6160 = load i32, ptr %1493, align 4, !tbaa !5
  %6161 = call ptr @strerror(i32 noundef %6160) #11
  %6162 = load i32, ptr %1493, align 4, !tbaa !5
  %6163 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6154, ptr noundef nonnull %.str.5.sink3218, i32 noundef %6155, ptr noundef nonnull @.str.84, ptr noundef nonnull @.str.1, i32 noundef 625, ptr noundef %6157, ptr noundef %6159, ptr noundef %6161, i32 noundef %6162) #13
  call void @exit(i32 noundef 1) #14
  unreachable

6164:                                             ; preds = %6137
  %6165 = call ptr @s2n_connection_new(i32 noundef 0) #11
  %6166 = load i32, ptr @test_count, align 4, !tbaa !5
  %6167 = add nsw i32 %6166, 1
  store i32 %6167, ptr @test_count, align 4, !tbaa !5
  %6168 = call i32 @s2n_connection_set_config(ptr noundef %6165, ptr noundef %6027) #11
  %6169 = icmp eq i32 %6168, -1
  br i1 %6169, label %6170, label %6192

6170:                                             ; preds = %6164
  %6171 = load i32, ptr %1493, align 4, !tbaa !5
  %6172 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6173 = call i32 @s2n_print_stacktrace(ptr noundef %6172) #11
  %6174 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6175 = trunc nuw i8 %6174 to i1
  br i1 %6175, label %6176, label %6180

6176:                                             ; preds = %6170
  %6177 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6178 = call i32 @fileno(ptr noundef %6177) #11
  %6179 = call i32 @isatty(i32 noundef %6178) #11
  %.not964 = icmp eq i32 %6179, 0
  br i1 %.not964, label %6180, label %6181

6180:                                             ; preds = %6176, %6170
  br label %6181

6181:                                             ; preds = %6176, %6180
  %.str.5.sink3227 = phi ptr [ @.str.5, %6180 ], [ @.str.2, %6176 ]
  store i32 %6171, ptr %1493, align 4, !tbaa !5
  %6182 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6183 = load i32, ptr @test_count, align 4, !tbaa !5
  %6184 = load i32, ptr %1439, align 4, !tbaa !5
  %6185 = call ptr @s2n_strerror(i32 noundef %6184, ptr noundef nonnull @.str.4) #11
  %6186 = load i32, ptr %1439, align 4, !tbaa !5
  %6187 = call ptr @s2n_strerror_debug(i32 noundef %6186, ptr noundef nonnull @.str.4) #11
  %6188 = load i32, ptr %1493, align 4, !tbaa !5
  %6189 = call ptr @strerror(i32 noundef %6188) #11
  %6190 = load i32, ptr %1493, align 4, !tbaa !5
  %6191 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6182, ptr noundef nonnull %.str.5.sink3227, i32 noundef %6183, ptr noundef nonnull @.str.85, ptr noundef nonnull @.str.1, i32 noundef 628, ptr noundef %6185, ptr noundef %6187, ptr noundef %6189, i32 noundef %6190) #13
  call void @exit(i32 noundef 1) #14
  unreachable

6192:                                             ; preds = %6164
  %6193 = load i32, ptr @test_count, align 4, !tbaa !5
  %6194 = add nsw i32 %6193, 1
  store i32 %6194, ptr @test_count, align 4, !tbaa !5
  %6195 = call i32 @s2n_connection_set_cipher_preferences(ptr noundef %6165, ptr noundef nonnull @.str.61) #11
  %6196 = icmp eq i32 %6195, -1
  br i1 %6196, label %6197, label %6219

6197:                                             ; preds = %6192
  %6198 = load i32, ptr %1493, align 4, !tbaa !5
  %6199 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6200 = call i32 @s2n_print_stacktrace(ptr noundef %6199) #11
  %6201 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6202 = trunc nuw i8 %6201 to i1
  br i1 %6202, label %6203, label %6207

6203:                                             ; preds = %6197
  %6204 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6205 = call i32 @fileno(ptr noundef %6204) #11
  %6206 = call i32 @isatty(i32 noundef %6205) #11
  %.not963 = icmp eq i32 %6206, 0
  br i1 %.not963, label %6207, label %6208

6207:                                             ; preds = %6203, %6197
  br label %6208

6208:                                             ; preds = %6203, %6207
  %.str.5.sink3236 = phi ptr [ @.str.5, %6207 ], [ @.str.2, %6203 ]
  store i32 %6198, ptr %1493, align 4, !tbaa !5
  %6209 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6210 = load i32, ptr @test_count, align 4, !tbaa !5
  %6211 = load i32, ptr %1439, align 4, !tbaa !5
  %6212 = call ptr @s2n_strerror(i32 noundef %6211, ptr noundef nonnull @.str.4) #11
  %6213 = load i32, ptr %1439, align 4, !tbaa !5
  %6214 = call ptr @s2n_strerror_debug(i32 noundef %6213, ptr noundef nonnull @.str.4) #11
  %6215 = load i32, ptr %1493, align 4, !tbaa !5
  %6216 = call ptr @strerror(i32 noundef %6215) #11
  %6217 = load i32, ptr %1493, align 4, !tbaa !5
  %6218 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6209, ptr noundef nonnull %.str.5.sink3236, i32 noundef %6210, ptr noundef nonnull @.str.86, ptr noundef nonnull @.str.1, i32 noundef 629, ptr noundef %6212, ptr noundef %6214, ptr noundef %6216, i32 noundef %6217) #13
  call void @exit(i32 noundef 1) #14
  unreachable

6219:                                             ; preds = %6192
  %6220 = load i32, ptr @test_count, align 4, !tbaa !5
  %6221 = add nsw i32 %6220, 1
  store i32 %6221, ptr @test_count, align 4, !tbaa !5
  %6222 = call i32 @s2n_append_test_psk_with_early_data(ptr noundef %6165, i32 noundef 1, ptr noundef nonnull @s2n_tls13_aes_128_gcm_sha256) #11
  %6223 = call zeroext i1 @s2n_result_is_ok(i32 %6222)
  br i1 %6223, label %6246, label %6224

6224:                                             ; preds = %6219
  %6225 = load i32, ptr %1493, align 4, !tbaa !5
  %6226 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6227 = call i32 @s2n_print_stacktrace(ptr noundef %6226) #11
  %6228 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6229 = trunc nuw i8 %6228 to i1
  br i1 %6229, label %6230, label %6234

6230:                                             ; preds = %6224
  %6231 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6232 = call i32 @fileno(ptr noundef %6231) #11
  %6233 = call i32 @isatty(i32 noundef %6232) #11
  %.not925 = icmp eq i32 %6233, 0
  br i1 %.not925, label %6234, label %6235

6234:                                             ; preds = %6230, %6224
  br label %6235

6235:                                             ; preds = %6230, %6234
  %.str.5.sink3245 = phi ptr [ @.str.5, %6234 ], [ @.str.2, %6230 ]
  store i32 %6225, ptr %1493, align 4, !tbaa !5
  %6236 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6237 = load i32, ptr @test_count, align 4, !tbaa !5
  %6238 = load i32, ptr %1439, align 4, !tbaa !5
  %6239 = call ptr @s2n_strerror(i32 noundef %6238, ptr noundef nonnull @.str.4) #11
  %6240 = load i32, ptr %1439, align 4, !tbaa !5
  %6241 = call ptr @s2n_strerror_debug(i32 noundef %6240, ptr noundef nonnull @.str.4) #11
  %6242 = load i32, ptr %1493, align 4, !tbaa !5
  %6243 = call ptr @strerror(i32 noundef %6242) #11
  %6244 = load i32, ptr %1493, align 4, !tbaa !5
  %6245 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6236, ptr noundef nonnull %.str.5.sink3245, i32 noundef %6237, ptr noundef nonnull @.str.87, ptr noundef nonnull @.str.1, i32 noundef 630, ptr noundef %6239, ptr noundef %6241, ptr noundef %6243, i32 noundef %6244) #13
  call void @exit(i32 noundef 1) #14
  unreachable

6246:                                             ; preds = %6219
  %6247 = load i32, ptr @test_count, align 4, !tbaa !5
  %6248 = add nsw i32 %6247, 1
  store i32 %6248, ptr @test_count, align 4, !tbaa !5
  %6249 = call i32 @s2n_connection_set_early_data_expected(ptr noundef %6165) #11
  %6250 = icmp eq i32 %6249, -1
  br i1 %6250, label %6251, label %6273

6251:                                             ; preds = %6246
  %6252 = load i32, ptr %1493, align 4, !tbaa !5
  %6253 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6254 = call i32 @s2n_print_stacktrace(ptr noundef %6253) #11
  %6255 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6256 = trunc nuw i8 %6255 to i1
  br i1 %6256, label %6257, label %6261

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

6261:                                             ; preds = %6257, %6251
  br label %6262

6262:                                             ; preds = %6257, %6261
  %.str.5.sink3254 = phi ptr [ @.str.5, %6261 ], [ @.str.2, %6257 ]
  store i32 %6252, ptr %1493, align 4, !tbaa !5
  %6263 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6264 = load i32, ptr @test_count, align 4, !tbaa !5
  %6265 = load i32, ptr %1439, align 4, !tbaa !5
  %6266 = call ptr @s2n_strerror(i32 noundef %6265, ptr noundef nonnull @.str.4) #11
  %6267 = load i32, ptr %1439, align 4, !tbaa !5
  %6268 = call ptr @s2n_strerror_debug(i32 noundef %6267, ptr noundef nonnull @.str.4) #11
  %6269 = load i32, ptr %1493, align 4, !tbaa !5
  %6270 = call ptr @strerror(i32 noundef %6269) #11
  %6271 = load i32, ptr %1493, align 4, !tbaa !5
  %6272 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6263, ptr noundef nonnull %.str.5.sink3254, i32 noundef %6264, ptr noundef nonnull @.str.88, ptr noundef nonnull @.str.1, i32 noundef 631, ptr noundef %6266, ptr noundef %6268, ptr noundef %6270, i32 noundef %6271) #13
  call void @exit(i32 noundef 1) #14
  unreachable

6273:                                             ; preds = %6246
  %6274 = load i32, ptr @test_count, align 4, !tbaa !5
  %6275 = add nsw i32 %6274, 1
  store i32 %6275, ptr @test_count, align 4, !tbaa !5
  %6276 = call i32 @s2n_test_client_hello(ptr noundef %6056, ptr noundef %6165)
  %6277 = call zeroext i1 @s2n_result_is_ok(i32 %6276)
  br i1 %6277, label %6300, label %6278

6278:                                             ; preds = %6273
  %6279 = load i32, ptr %1493, align 4, !tbaa !5
  %6280 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6281 = call i32 @s2n_print_stacktrace(ptr noundef %6280) #11
  %6282 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6283 = trunc nuw i8 %6282 to i1
  br i1 %6283, label %6284, label %6288

6284:                                             ; preds = %6278
  %6285 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6286 = call i32 @fileno(ptr noundef %6285) #11
  %6287 = call i32 @isatty(i32 noundef %6286) #11
  %.not926 = icmp eq i32 %6287, 0
  br i1 %.not926, label %6288, label %6289

6288:                                             ; preds = %6284, %6278
  br label %6289

6289:                                             ; preds = %6284, %6288
  %.str.5.sink3263 = phi ptr [ @.str.5, %6288 ], [ @.str.2, %6284 ]
  store i32 %6279, ptr %1493, align 4, !tbaa !5
  %6290 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6291 = load i32, ptr @test_count, align 4, !tbaa !5
  %6292 = load i32, ptr %1439, align 4, !tbaa !5
  %6293 = call ptr @s2n_strerror(i32 noundef %6292, ptr noundef nonnull @.str.4) #11
  %6294 = load i32, ptr %1439, align 4, !tbaa !5
  %6295 = call ptr @s2n_strerror_debug(i32 noundef %6294, ptr noundef nonnull @.str.4) #11
  %6296 = load i32, ptr %1493, align 4, !tbaa !5
  %6297 = call ptr @strerror(i32 noundef %6296) #11
  %6298 = load i32, ptr %1493, align 4, !tbaa !5
  %6299 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6290, ptr noundef nonnull %.str.5.sink3263, i32 noundef %6291, ptr noundef nonnull @.str.69, ptr noundef nonnull @.str.1, i32 noundef 633, ptr noundef %6293, ptr noundef %6295, ptr noundef %6297, i32 noundef %6298) #13
  call void @exit(i32 noundef 1) #14
  unreachable

6300:                                             ; preds = %6273
  %6301 = load i32, ptr @test_count, align 4, !tbaa !5
  %6302 = add nsw i32 %6301, 1
  store i32 %6302, ptr @test_count, align 4, !tbaa !5
  %6303 = call i32 @s2n_server_hello_send(ptr noundef %6165) #11
  %6304 = icmp eq i32 %6303, -1
  br i1 %6304, label %6305, label %6327

6305:                                             ; preds = %6300
  %6306 = load i32, ptr %1493, align 4, !tbaa !5
  %6307 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6308 = call i32 @s2n_print_stacktrace(ptr noundef %6307) #11
  %6309 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6310 = trunc nuw i8 %6309 to i1
  br i1 %6310, label %6311, label %6315

6311:                                             ; preds = %6305
  %6312 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6313 = call i32 @fileno(ptr noundef %6312) #11
  %6314 = call i32 @isatty(i32 noundef %6313) #11
  %.not961 = icmp eq i32 %6314, 0
  br i1 %.not961, label %6315, label %6316

6315:                                             ; preds = %6311, %6305
  br label %6316

6316:                                             ; preds = %6311, %6315
  %.str.5.sink3272 = phi ptr [ @.str.5, %6315 ], [ @.str.2, %6311 ]
  store i32 %6306, ptr %1493, align 4, !tbaa !5
  %6317 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6318 = load i32, ptr @test_count, align 4, !tbaa !5
  %6319 = load i32, ptr %1439, align 4, !tbaa !5
  %6320 = call ptr @s2n_strerror(i32 noundef %6319, ptr noundef nonnull @.str.4) #11
  %6321 = load i32, ptr %1439, align 4, !tbaa !5
  %6322 = call ptr @s2n_strerror_debug(i32 noundef %6321, ptr noundef nonnull @.str.4) #11
  %6323 = load i32, ptr %1493, align 4, !tbaa !5
  %6324 = call ptr @strerror(i32 noundef %6323) #11
  %6325 = load i32, ptr %1493, align 4, !tbaa !5
  %6326 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6317, ptr noundef nonnull %.str.5.sink3272, i32 noundef %6318, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.1, i32 noundef 635, ptr noundef %6320, ptr noundef %6322, ptr noundef %6324, i32 noundef %6325) #13
  call void @exit(i32 noundef 1) #14
  unreachable

6327:                                             ; preds = %6300
  %6328 = load i32, ptr @test_count, align 4, !tbaa !5
  %6329 = add nsw i32 %6328, 1
  store i32 %6329, ptr @test_count, align 4, !tbaa !5
  %6330 = getelementptr inbounds i8, ptr %6165, i64 2016
  %6331 = getelementptr inbounds i8, ptr %6056, i64 2016
  %6332 = getelementptr inbounds i8, ptr %6165, i64 2044
  %6333 = load i32, ptr %6332, align 4, !tbaa !58
  %6334 = getelementptr inbounds i8, ptr %6165, i64 2040
  %6335 = load i32, ptr %6334, align 8, !tbaa !59
  %6336 = sub i32 %6333, %6335
  %6337 = call i32 @s2n_stuffer_copy(ptr noundef nonnull %6330, ptr noundef nonnull %6331, i32 noundef %6336) #11
  %6338 = icmp eq i32 %6337, -1
  br i1 %6338, label %6339, label %6361

6339:                                             ; preds = %6327
  %6340 = load i32, ptr %1493, align 4, !tbaa !5
  %6341 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6342 = call i32 @s2n_print_stacktrace(ptr noundef %6341) #11
  %6343 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6344 = trunc nuw i8 %6343 to i1
  br i1 %6344, label %6345, label %6349

6345:                                             ; preds = %6339
  %6346 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6347 = call i32 @fileno(ptr noundef %6346) #11
  %6348 = call i32 @isatty(i32 noundef %6347) #11
  %.not960 = icmp eq i32 %6348, 0
  br i1 %.not960, label %6349, label %6350

6349:                                             ; preds = %6345, %6339
  br label %6350

6350:                                             ; preds = %6345, %6349
  %.str.5.sink3281 = phi ptr [ @.str.5, %6349 ], [ @.str.2, %6345 ]
  store i32 %6340, ptr %1493, align 4, !tbaa !5
  %6351 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6352 = load i32, ptr @test_count, align 4, !tbaa !5
  %6353 = load i32, ptr %1439, align 4, !tbaa !5
  %6354 = call ptr @s2n_strerror(i32 noundef %6353, ptr noundef nonnull @.str.4) #11
  %6355 = load i32, ptr %1439, align 4, !tbaa !5
  %6356 = call ptr @s2n_strerror_debug(i32 noundef %6355, ptr noundef nonnull @.str.4) #11
  %6357 = load i32, ptr %1493, align 4, !tbaa !5
  %6358 = call ptr @strerror(i32 noundef %6357) #11
  %6359 = load i32, ptr %1493, align 4, !tbaa !5
  %6360 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6351, ptr noundef nonnull %.str.5.sink3281, i32 noundef %6352, ptr noundef nonnull @.str.71, ptr noundef nonnull @.str.1, i32 noundef 637, ptr noundef %6354, ptr noundef %6356, ptr noundef %6358, i32 noundef %6359) #13
  call void @exit(i32 noundef 1) #14
  unreachable

6361:                                             ; preds = %6327
  %6362 = load i32, ptr @test_count, align 4, !tbaa !5
  %6363 = add nsw i32 %6362, 1
  store i32 %6363, ptr @test_count, align 4, !tbaa !5
  %6364 = call i32 @s2n_server_hello_recv(ptr noundef %6056) #11
  %6365 = icmp eq i32 %6364, -1
  br i1 %6365, label %6366, label %6388

6366:                                             ; preds = %6361
  %6367 = load i32, ptr %1493, align 4, !tbaa !5
  %6368 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6369 = call i32 @s2n_print_stacktrace(ptr noundef %6368) #11
  %6370 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6371 = trunc nuw i8 %6370 to i1
  br i1 %6371, label %6372, label %6376

6372:                                             ; preds = %6366
  %6373 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6374 = call i32 @fileno(ptr noundef %6373) #11
  %6375 = call i32 @isatty(i32 noundef %6374) #11
  %.not959 = icmp eq i32 %6375, 0
  br i1 %.not959, label %6376, label %6377

6376:                                             ; preds = %6372, %6366
  br label %6377

6377:                                             ; preds = %6372, %6376
  %.str.5.sink3290 = phi ptr [ @.str.5, %6376 ], [ @.str.2, %6372 ]
  store i32 %6367, ptr %1493, align 4, !tbaa !5
  %6378 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6379 = load i32, ptr @test_count, align 4, !tbaa !5
  %6380 = load i32, ptr %1439, align 4, !tbaa !5
  %6381 = call ptr @s2n_strerror(i32 noundef %6380, ptr noundef nonnull @.str.4) #11
  %6382 = load i32, ptr %1439, align 4, !tbaa !5
  %6383 = call ptr @s2n_strerror_debug(i32 noundef %6382, ptr noundef nonnull @.str.4) #11
  %6384 = load i32, ptr %1493, align 4, !tbaa !5
  %6385 = call ptr @strerror(i32 noundef %6384) #11
  %6386 = load i32, ptr %1493, align 4, !tbaa !5
  %6387 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6378, ptr noundef nonnull %.str.5.sink3290, i32 noundef %6379, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.1, i32 noundef 638, ptr noundef %6381, ptr noundef %6383, ptr noundef %6385, i32 noundef %6386) #13
  call void @exit(i32 noundef 1) #14
  unreachable

6388:                                             ; preds = %6361
  %6389 = load i32, ptr @test_count, align 4, !tbaa !5
  %6390 = add nsw i32 %6389, 1
  store i32 %6390, ptr @test_count, align 4, !tbaa !5
  %6391 = getelementptr inbounds i8, ptr %6056, i64 4088
  %6392 = load i32, ptr %6391, align 8, !tbaa !67
  %6393 = icmp eq i32 %6392, 1
  br i1 %6393, label %6416, label %6394

6394:                                             ; preds = %6388
  %6395 = load i32, ptr %1493, align 4, !tbaa !5
  %6396 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6397 = call i32 @s2n_print_stacktrace(ptr noundef %6396) #11
  %6398 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6399 = trunc nuw i8 %6398 to i1
  br i1 %6399, label %6400, label %6404

6400:                                             ; preds = %6394
  %6401 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6402 = call i32 @fileno(ptr noundef %6401) #11
  %6403 = call i32 @isatty(i32 noundef %6402) #11
  %.not927 = icmp eq i32 %6403, 0
  br i1 %.not927, label %6404, label %6405

6404:                                             ; preds = %6400, %6394
  br label %6405

6405:                                             ; preds = %6400, %6404
  %.str.5.sink3299 = phi ptr [ @.str.5, %6404 ], [ @.str.2, %6400 ]
  store i32 %6395, ptr %1493, align 4, !tbaa !5
  %6406 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6407 = load i32, ptr @test_count, align 4, !tbaa !5
  %6408 = load i32, ptr %1439, align 4, !tbaa !5
  %6409 = call ptr @s2n_strerror(i32 noundef %6408, ptr noundef nonnull @.str.4) #11
  %6410 = load i32, ptr %1439, align 4, !tbaa !5
  %6411 = call ptr @s2n_strerror_debug(i32 noundef %6410, ptr noundef nonnull @.str.4) #11
  %6412 = load i32, ptr %1493, align 4, !tbaa !5
  %6413 = call ptr @strerror(i32 noundef %6412) #11
  %6414 = load i32, ptr %1493, align 4, !tbaa !5
  %6415 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6406, ptr noundef nonnull %.str.5.sink3299, i32 noundef %6407, ptr noundef nonnull @.str.89, ptr noundef nonnull @.str.1, i32 noundef 640, ptr noundef %6409, ptr noundef %6411, ptr noundef %6413, i32 noundef %6414) #13
  call void @exit(i32 noundef 1) #14
  unreachable

6416:                                             ; preds = %6388
  %6417 = add nsw i32 %6389, 2
  store i32 %6417, ptr @test_count, align 4, !tbaa !5
  %6418 = getelementptr inbounds i8, ptr %6056, i64 219
  %6419 = load i8, ptr %6418, align 1, !tbaa !60
  %6420 = icmp eq i8 %6419, 34
  br i1 %6420, label %6443, label %6421

6421:                                             ; preds = %6416
  %6422 = load i32, ptr %1493, align 4, !tbaa !5
  %6423 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6424 = call i32 @s2n_print_stacktrace(ptr noundef %6423) #11
  %6425 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6426 = trunc nuw i8 %6425 to i1
  br i1 %6426, label %6427, label %6431

6427:                                             ; preds = %6421
  %6428 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6429 = call i32 @fileno(ptr noundef %6428) #11
  %6430 = call i32 @isatty(i32 noundef %6429) #11
  %.not928 = icmp eq i32 %6430, 0
  br i1 %.not928, label %6431, label %6432

6431:                                             ; preds = %6427, %6421
  br label %6432

6432:                                             ; preds = %6427, %6431
  %.str.5.sink3308 = phi ptr [ @.str.5, %6431 ], [ @.str.2, %6427 ]
  store i32 %6422, ptr %1493, align 4, !tbaa !5
  %6433 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6434 = load i32, ptr @test_count, align 4, !tbaa !5
  %6435 = load i32, ptr %1439, align 4, !tbaa !5
  %6436 = call ptr @s2n_strerror(i32 noundef %6435, ptr noundef nonnull @.str.4) #11
  %6437 = load i32, ptr %1439, align 4, !tbaa !5
  %6438 = call ptr @s2n_strerror_debug(i32 noundef %6437, ptr noundef nonnull @.str.4) #11
  %6439 = load i32, ptr %1493, align 4, !tbaa !5
  %6440 = call ptr @strerror(i32 noundef %6439) #11
  %6441 = load i32, ptr %1493, align 4, !tbaa !5
  %6442 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6433, ptr noundef nonnull %.str.5.sink3308, i32 noundef %6434, ptr noundef nonnull @.str.90, ptr noundef nonnull @.str.1, i32 noundef 641, ptr noundef %6436, ptr noundef %6438, ptr noundef %6440, i32 noundef %6441) #13
  call void @exit(i32 noundef 1) #14
  unreachable

6443:                                             ; preds = %6416
  %6444 = add nsw i32 %6389, 3
  store i32 %6444, ptr @test_count, align 4, !tbaa !5
  %6445 = getelementptr inbounds i8, ptr %6165, i64 220
  %6446 = load i8, ptr %6445, align 4, !tbaa !42
  %6447 = icmp eq i8 %6446, 34
  br i1 %6447, label %6470, label %6448

6448:                                             ; preds = %6443
  %6449 = load i32, ptr %1493, align 4, !tbaa !5
  %6450 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6451 = call i32 @s2n_print_stacktrace(ptr noundef %6450) #11
  %6452 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6453 = trunc nuw i8 %6452 to i1
  br i1 %6453, label %6454, label %6458

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

6458:                                             ; preds = %6454, %6448
  br label %6459

6459:                                             ; preds = %6454, %6458
  %.str.5.sink3317 = phi ptr [ @.str.5, %6458 ], [ @.str.2, %6454 ]
  store i32 %6449, ptr %1493, align 4, !tbaa !5
  %6460 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6461 = load i32, ptr @test_count, align 4, !tbaa !5
  %6462 = load i32, ptr %1439, align 4, !tbaa !5
  %6463 = call ptr @s2n_strerror(i32 noundef %6462, ptr noundef nonnull @.str.4) #11
  %6464 = load i32, ptr %1439, align 4, !tbaa !5
  %6465 = call ptr @s2n_strerror_debug(i32 noundef %6464, ptr noundef nonnull @.str.4) #11
  %6466 = load i32, ptr %1493, align 4, !tbaa !5
  %6467 = call ptr @strerror(i32 noundef %6466) #11
  %6468 = load i32, ptr %1493, align 4, !tbaa !5
  %6469 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6460, ptr noundef nonnull %.str.5.sink3317, i32 noundef %6461, ptr noundef nonnull @.str.73, ptr noundef nonnull @.str.1, i32 noundef 642, ptr noundef %6463, ptr noundef %6465, ptr noundef %6467, i32 noundef %6468) #13
  call void @exit(i32 noundef 1) #14
  unreachable

6470:                                             ; preds = %6443
  %6471 = add nsw i32 %6389, 4
  store i32 %6471, ptr @test_count, align 4, !tbaa !5
  %6472 = call i32 @s2n_connection_free(ptr noundef nonnull %6056) #11
  %6473 = icmp eq i32 %6472, -1
  br i1 %6473, label %6474, label %6496

6474:                                             ; preds = %6470
  %6475 = load i32, ptr %1493, align 4, !tbaa !5
  %6476 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6477 = call i32 @s2n_print_stacktrace(ptr noundef %6476) #11
  %6478 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6479 = trunc nuw i8 %6478 to i1
  br i1 %6479, label %6480, label %6484

6480:                                             ; preds = %6474
  %6481 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6482 = call i32 @fileno(ptr noundef %6481) #11
  %6483 = call i32 @isatty(i32 noundef %6482) #11
  %.not958 = icmp eq i32 %6483, 0
  br i1 %.not958, label %6484, label %6485

6484:                                             ; preds = %6480, %6474
  br label %6485

6485:                                             ; preds = %6480, %6484
  %.str.5.sink3326 = phi ptr [ @.str.5, %6484 ], [ @.str.2, %6480 ]
  store i32 %6475, ptr %1493, align 4, !tbaa !5
  %6486 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6487 = load i32, ptr @test_count, align 4, !tbaa !5
  %6488 = load i32, ptr %1439, align 4, !tbaa !5
  %6489 = call ptr @s2n_strerror(i32 noundef %6488, ptr noundef nonnull @.str.4) #11
  %6490 = load i32, ptr %1439, align 4, !tbaa !5
  %6491 = call ptr @s2n_strerror_debug(i32 noundef %6490, ptr noundef nonnull @.str.4) #11
  %6492 = load i32, ptr %1493, align 4, !tbaa !5
  %6493 = call ptr @strerror(i32 noundef %6492) #11
  %6494 = load i32, ptr %1493, align 4, !tbaa !5
  %6495 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6486, ptr noundef nonnull %.str.5.sink3326, i32 noundef %6487, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.1, i32 noundef 644, ptr noundef %6489, ptr noundef %6491, ptr noundef %6493, i32 noundef %6494) #13
  call void @exit(i32 noundef 1) #14
  unreachable

6496:                                             ; preds = %6470
  %6497 = load i32, ptr @test_count, align 4, !tbaa !5
  %6498 = add nsw i32 %6497, 1
  store i32 %6498, ptr @test_count, align 4, !tbaa !5
  %6499 = call i32 @s2n_connection_free(ptr noundef nonnull %6165) #11
  %6500 = icmp eq i32 %6499, -1
  br i1 %6500, label %6501, label %6523

6501:                                             ; preds = %6496
  %6502 = load i32, ptr %1493, align 4, !tbaa !5
  %6503 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6504 = call i32 @s2n_print_stacktrace(ptr noundef %6503) #11
  %6505 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6506 = trunc nuw i8 %6505 to i1
  br i1 %6506, label %6507, label %6511

6507:                                             ; preds = %6501
  %6508 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6509 = call i32 @fileno(ptr noundef %6508) #11
  %6510 = call i32 @isatty(i32 noundef %6509) #11
  %.not957 = icmp eq i32 %6510, 0
  br i1 %.not957, label %6511, label %6512

6511:                                             ; preds = %6507, %6501
  br label %6512

6512:                                             ; preds = %6507, %6511
  %.str.5.sink3335 = phi ptr [ @.str.5, %6511 ], [ @.str.2, %6507 ]
  store i32 %6502, ptr %1493, align 4, !tbaa !5
  %6513 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6514 = load i32, ptr @test_count, align 4, !tbaa !5
  %6515 = load i32, ptr %1439, align 4, !tbaa !5
  %6516 = call ptr @s2n_strerror(i32 noundef %6515, ptr noundef nonnull @.str.4) #11
  %6517 = load i32, ptr %1439, align 4, !tbaa !5
  %6518 = call ptr @s2n_strerror_debug(i32 noundef %6517, ptr noundef nonnull @.str.4) #11
  %6519 = load i32, ptr %1493, align 4, !tbaa !5
  %6520 = call ptr @strerror(i32 noundef %6519) #11
  %6521 = load i32, ptr %1493, align 4, !tbaa !5
  %6522 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6513, ptr noundef nonnull %.str.5.sink3335, i32 noundef %6514, ptr noundef nonnull @.str.40, ptr noundef nonnull @.str.1, i32 noundef 645, ptr noundef %6516, ptr noundef %6518, ptr noundef %6520, i32 noundef %6521) #13
  call void @exit(i32 noundef 1) #14
  unreachable

6523:                                             ; preds = %6496
  %6524 = call ptr @s2n_connection_new(i32 noundef 1) #11
  %6525 = load i32, ptr @test_count, align 4, !tbaa !5
  %6526 = add nsw i32 %6525, 1
  store i32 %6526, ptr @test_count, align 4, !tbaa !5
  %6527 = call i32 @s2n_connection_set_config(ptr noundef %6524, ptr noundef %6027) #11
  %6528 = icmp eq i32 %6527, -1
  br i1 %6528, label %6529, label %6551

6529:                                             ; preds = %6523
  %6530 = load i32, ptr %1493, align 4, !tbaa !5
  %6531 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6532 = call i32 @s2n_print_stacktrace(ptr noundef %6531) #11
  %6533 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6534 = trunc nuw i8 %6533 to i1
  br i1 %6534, label %6535, label %6539

6535:                                             ; preds = %6529
  %6536 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6537 = call i32 @fileno(ptr noundef %6536) #11
  %6538 = call i32 @isatty(i32 noundef %6537) #11
  %.not956 = icmp eq i32 %6538, 0
  br i1 %.not956, label %6539, label %6540

6539:                                             ; preds = %6535, %6529
  br label %6540

6540:                                             ; preds = %6535, %6539
  %.str.5.sink3344 = phi ptr [ @.str.5, %6539 ], [ @.str.2, %6535 ]
  store i32 %6530, ptr %1493, align 4, !tbaa !5
  %6541 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6542 = load i32, ptr @test_count, align 4, !tbaa !5
  %6543 = load i32, ptr %1439, align 4, !tbaa !5
  %6544 = call ptr @s2n_strerror(i32 noundef %6543, ptr noundef nonnull @.str.4) #11
  %6545 = load i32, ptr %1439, align 4, !tbaa !5
  %6546 = call ptr @s2n_strerror_debug(i32 noundef %6545, ptr noundef nonnull @.str.4) #11
  %6547 = load i32, ptr %1493, align 4, !tbaa !5
  %6548 = call ptr @strerror(i32 noundef %6547) #11
  %6549 = load i32, ptr %1493, align 4, !tbaa !5
  %6550 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6541, ptr noundef nonnull %.str.5.sink3344, i32 noundef %6542, ptr noundef nonnull @.str.81, ptr noundef nonnull @.str.1, i32 noundef 651, ptr noundef %6544, ptr noundef %6546, ptr noundef %6548, i32 noundef %6549) #13
  call void @exit(i32 noundef 1) #14
  unreachable

6551:                                             ; preds = %6523
  %6552 = load i32, ptr @test_count, align 4, !tbaa !5
  %6553 = add nsw i32 %6552, 1
  store i32 %6553, ptr @test_count, align 4, !tbaa !5
  %6554 = call i32 @s2n_connection_set_cipher_preferences(ptr noundef %6524, ptr noundef nonnull @.str.61) #11
  %6555 = icmp eq i32 %6554, -1
  br i1 %6555, label %6556, label %6578

6556:                                             ; preds = %6551
  %6557 = load i32, ptr %1493, align 4, !tbaa !5
  %6558 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6559 = call i32 @s2n_print_stacktrace(ptr noundef %6558) #11
  %6560 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6561 = trunc nuw i8 %6560 to i1
  br i1 %6561, label %6562, label %6566

6562:                                             ; preds = %6556
  %6563 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6564 = call i32 @fileno(ptr noundef %6563) #11
  %6565 = call i32 @isatty(i32 noundef %6564) #11
  %.not955 = icmp eq i32 %6565, 0
  br i1 %.not955, label %6566, label %6567

6566:                                             ; preds = %6562, %6556
  br label %6567

6567:                                             ; preds = %6562, %6566
  %.str.5.sink3353 = phi ptr [ @.str.5, %6566 ], [ @.str.2, %6562 ]
  store i32 %6557, ptr %1493, align 4, !tbaa !5
  %6568 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6569 = load i32, ptr @test_count, align 4, !tbaa !5
  %6570 = load i32, ptr %1439, align 4, !tbaa !5
  %6571 = call ptr @s2n_strerror(i32 noundef %6570, ptr noundef nonnull @.str.4) #11
  %6572 = load i32, ptr %1439, align 4, !tbaa !5
  %6573 = call ptr @s2n_strerror_debug(i32 noundef %6572, ptr noundef nonnull @.str.4) #11
  %6574 = load i32, ptr %1493, align 4, !tbaa !5
  %6575 = call ptr @strerror(i32 noundef %6574) #11
  %6576 = load i32, ptr %1493, align 4, !tbaa !5
  %6577 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6568, ptr noundef nonnull %.str.5.sink3353, i32 noundef %6569, ptr noundef nonnull @.str.82, ptr noundef nonnull @.str.1, i32 noundef 652, ptr noundef %6571, ptr noundef %6573, ptr noundef %6575, i32 noundef %6576) #13
  call void @exit(i32 noundef 1) #14
  unreachable

6578:                                             ; preds = %6551
  %6579 = load i32, ptr @test_count, align 4, !tbaa !5
  %6580 = add nsw i32 %6579, 1
  store i32 %6580, ptr @test_count, align 4, !tbaa !5
  %6581 = call i32 @s2n_append_test_psk_with_early_data(ptr noundef %6524, i32 noundef 1, ptr noundef nonnull @s2n_tls13_aes_128_gcm_sha256) #11
  %6582 = call zeroext i1 @s2n_result_is_ok(i32 %6581)
  br i1 %6582, label %6605, label %6583

6583:                                             ; preds = %6578
  %6584 = load i32, ptr %1493, align 4, !tbaa !5
  %6585 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6586 = call i32 @s2n_print_stacktrace(ptr noundef %6585) #11
  %6587 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6588 = trunc nuw i8 %6587 to i1
  br i1 %6588, label %6589, label %6593

6589:                                             ; preds = %6583
  %6590 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6591 = call i32 @fileno(ptr noundef %6590) #11
  %6592 = call i32 @isatty(i32 noundef %6591) #11
  %.not930 = icmp eq i32 %6592, 0
  br i1 %.not930, label %6593, label %6594

6593:                                             ; preds = %6589, %6583
  br label %6594

6594:                                             ; preds = %6589, %6593
  %.str.5.sink3362 = phi ptr [ @.str.5, %6593 ], [ @.str.2, %6589 ]
  store i32 %6584, ptr %1493, align 4, !tbaa !5
  %6595 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6596 = load i32, ptr @test_count, align 4, !tbaa !5
  %6597 = load i32, ptr %1439, align 4, !tbaa !5
  %6598 = call ptr @s2n_strerror(i32 noundef %6597, ptr noundef nonnull @.str.4) #11
  %6599 = load i32, ptr %1439, align 4, !tbaa !5
  %6600 = call ptr @s2n_strerror_debug(i32 noundef %6599, ptr noundef nonnull @.str.4) #11
  %6601 = load i32, ptr %1493, align 4, !tbaa !5
  %6602 = call ptr @strerror(i32 noundef %6601) #11
  %6603 = load i32, ptr %1493, align 4, !tbaa !5
  %6604 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6595, ptr noundef nonnull %.str.5.sink3362, i32 noundef %6596, ptr noundef nonnull @.str.83, ptr noundef nonnull @.str.1, i32 noundef 653, ptr noundef %6598, ptr noundef %6600, ptr noundef %6602, i32 noundef %6603) #13
  call void @exit(i32 noundef 1) #14
  unreachable

6605:                                             ; preds = %6578
  %6606 = load i32, ptr @test_count, align 4, !tbaa !5
  %6607 = add nsw i32 %6606, 1
  store i32 %6607, ptr @test_count, align 4, !tbaa !5
  %6608 = call i32 @s2n_connection_set_early_data_expected(ptr noundef %6524) #11
  %6609 = icmp eq i32 %6608, -1
  br i1 %6609, label %6610, label %6632

6610:                                             ; preds = %6605
  %6611 = load i32, ptr %1493, align 4, !tbaa !5
  %6612 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6613 = call i32 @s2n_print_stacktrace(ptr noundef %6612) #11
  %6614 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6615 = trunc nuw i8 %6614 to i1
  br i1 %6615, label %6616, label %6620

6616:                                             ; preds = %6610
  %6617 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6618 = call i32 @fileno(ptr noundef %6617) #11
  %6619 = call i32 @isatty(i32 noundef %6618) #11
  %.not954 = icmp eq i32 %6619, 0
  br i1 %.not954, label %6620, label %6621

6620:                                             ; preds = %6616, %6610
  br label %6621

6621:                                             ; preds = %6616, %6620
  %.str.5.sink3371 = phi ptr [ @.str.5, %6620 ], [ @.str.2, %6616 ]
  store i32 %6611, ptr %1493, align 4, !tbaa !5
  %6622 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6623 = load i32, ptr @test_count, align 4, !tbaa !5
  %6624 = load i32, ptr %1439, align 4, !tbaa !5
  %6625 = call ptr @s2n_strerror(i32 noundef %6624, ptr noundef nonnull @.str.4) #11
  %6626 = load i32, ptr %1439, align 4, !tbaa !5
  %6627 = call ptr @s2n_strerror_debug(i32 noundef %6626, ptr noundef nonnull @.str.4) #11
  %6628 = load i32, ptr %1493, align 4, !tbaa !5
  %6629 = call ptr @strerror(i32 noundef %6628) #11
  %6630 = load i32, ptr %1493, align 4, !tbaa !5
  %6631 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6622, ptr noundef nonnull %.str.5.sink3371, i32 noundef %6623, ptr noundef nonnull @.str.84, ptr noundef nonnull @.str.1, i32 noundef 654, ptr noundef %6625, ptr noundef %6627, ptr noundef %6629, i32 noundef %6630) #13
  call void @exit(i32 noundef 1) #14
  unreachable

6632:                                             ; preds = %6605
  %6633 = call ptr @s2n_connection_new(i32 noundef 0) #11
  %6634 = load i32, ptr @test_count, align 4, !tbaa !5
  %6635 = add nsw i32 %6634, 1
  store i32 %6635, ptr @test_count, align 4, !tbaa !5
  %6636 = call i32 @s2n_connection_set_config(ptr noundef %6633, ptr noundef %6027) #11
  %6637 = icmp eq i32 %6636, -1
  br i1 %6637, label %6638, label %6660

6638:                                             ; preds = %6632
  %6639 = load i32, ptr %1493, align 4, !tbaa !5
  %6640 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6641 = call i32 @s2n_print_stacktrace(ptr noundef %6640) #11
  %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) #11
  %6647 = call i32 @isatty(i32 noundef %6646) #11
  %.not953 = icmp eq i32 %6647, 0
  br i1 %.not953, label %6648, label %6649

6648:                                             ; preds = %6644, %6638
  br label %6649

6649:                                             ; preds = %6644, %6648
  %.str.5.sink3380 = phi ptr [ @.str.5, %6648 ], [ @.str.2, %6644 ]
  store i32 %6639, ptr %1493, 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 %1439, align 4, !tbaa !5
  %6653 = call ptr @s2n_strerror(i32 noundef %6652, ptr noundef nonnull @.str.4) #11
  %6654 = load i32, ptr %1439, align 4, !tbaa !5
  %6655 = call ptr @s2n_strerror_debug(i32 noundef %6654, ptr noundef nonnull @.str.4) #11
  %6656 = load i32, ptr %1493, align 4, !tbaa !5
  %6657 = call ptr @strerror(i32 noundef %6656) #11
  %6658 = load i32, ptr %1493, align 4, !tbaa !5
  %6659 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6650, ptr noundef nonnull %.str.5.sink3380, i32 noundef %6651, ptr noundef nonnull @.str.85, ptr noundef nonnull @.str.1, i32 noundef 657, ptr noundef %6653, ptr noundef %6655, ptr noundef %6657, i32 noundef %6658) #13
  call void @exit(i32 noundef 1) #14
  unreachable

6660:                                             ; preds = %6632
  %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_connection_set_cipher_preferences(ptr noundef %6633, ptr noundef nonnull @.str.74) #11
  %6664 = icmp eq i32 %6663, -1
  br i1 %6664, label %6665, label %6687

6665:                                             ; preds = %6660
  %6666 = load i32, ptr %1493, align 4, !tbaa !5
  %6667 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6668 = call i32 @s2n_print_stacktrace(ptr noundef %6667) #11
  %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) #11
  %6674 = call i32 @isatty(i32 noundef %6673) #11
  %.not952 = icmp eq i32 %6674, 0
  br i1 %.not952, label %6675, label %6676

6675:                                             ; preds = %6671, %6665
  br label %6676

6676:                                             ; preds = %6671, %6675
  %.str.5.sink3389 = phi ptr [ @.str.5, %6675 ], [ @.str.2, %6671 ]
  store i32 %6666, ptr %1493, 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 %1439, align 4, !tbaa !5
  %6680 = call ptr @s2n_strerror(i32 noundef %6679, ptr noundef nonnull @.str.4) #11
  %6681 = load i32, ptr %1439, align 4, !tbaa !5
  %6682 = call ptr @s2n_strerror_debug(i32 noundef %6681, ptr noundef nonnull @.str.4) #11
  %6683 = load i32, ptr %1493, align 4, !tbaa !5
  %6684 = call ptr @strerror(i32 noundef %6683) #11
  %6685 = load i32, ptr %1493, align 4, !tbaa !5
  %6686 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6677, ptr noundef nonnull %.str.5.sink3389, i32 noundef %6678, ptr noundef nonnull @.str.75, ptr noundef nonnull @.str.1, i32 noundef 658, ptr noundef %6680, ptr noundef %6682, ptr noundef %6684, i32 noundef %6685) #13
  call void @exit(i32 noundef 1) #14
  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 = call i32 @s2n_append_test_psk_with_early_data(ptr noundef %6633, i32 noundef 1, ptr noundef nonnull @s2n_tls13_aes_128_gcm_sha256) #11
  %6691 = call zeroext i1 @s2n_result_is_ok(i32 %6690)
  br i1 %6691, label %6714, label %6692

6692:                                             ; preds = %6687
  %6693 = load i32, ptr %1493, align 4, !tbaa !5
  %6694 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6695 = call i32 @s2n_print_stacktrace(ptr noundef %6694) #11
  %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) #11
  %6701 = call i32 @isatty(i32 noundef %6700) #11
  %.not931 = icmp eq i32 %6701, 0
  br i1 %.not931, label %6702, label %6703

6702:                                             ; preds = %6698, %6692
  br label %6703

6703:                                             ; preds = %6698, %6702
  %.str.5.sink3398 = phi ptr [ @.str.5, %6702 ], [ @.str.2, %6698 ]
  store i32 %6693, ptr %1493, 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 %1439, align 4, !tbaa !5
  %6707 = call ptr @s2n_strerror(i32 noundef %6706, ptr noundef nonnull @.str.4) #11
  %6708 = load i32, ptr %1439, align 4, !tbaa !5
  %6709 = call ptr @s2n_strerror_debug(i32 noundef %6708, ptr noundef nonnull @.str.4) #11
  %6710 = load i32, ptr %1493, align 4, !tbaa !5
  %6711 = call ptr @strerror(i32 noundef %6710) #11
  %6712 = load i32, ptr %1493, align 4, !tbaa !5
  %6713 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6704, ptr noundef nonnull %.str.5.sink3398, i32 noundef %6705, ptr noundef nonnull @.str.87, ptr noundef nonnull @.str.1, i32 noundef 659, ptr noundef %6707, ptr noundef %6709, ptr noundef %6711, i32 noundef %6712) #13
  call void @exit(i32 noundef 1) #14
  unreachable

6714:                                             ; preds = %6687
  %6715 = load i32, ptr @test_count, align 4, !tbaa !5
  %6716 = add nsw i32 %6715, 1
  store i32 %6716, ptr @test_count, align 4, !tbaa !5
  %6717 = call i32 @s2n_connection_set_early_data_expected(ptr noundef %6633) #11
  %6718 = icmp eq i32 %6717, -1
  br i1 %6718, label %6719, label %6741

6719:                                             ; preds = %6714
  %6720 = load i32, ptr %1493, align 4, !tbaa !5
  %6721 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6722 = call i32 @s2n_print_stacktrace(ptr noundef %6721) #11
  %6723 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6724 = trunc nuw i8 %6723 to i1
  br i1 %6724, label %6725, label %6729

6725:                                             ; preds = %6719
  %6726 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6727 = call i32 @fileno(ptr noundef %6726) #11
  %6728 = call i32 @isatty(i32 noundef %6727) #11
  %.not951 = icmp eq i32 %6728, 0
  br i1 %.not951, label %6729, label %6730

6729:                                             ; preds = %6725, %6719
  br label %6730

6730:                                             ; preds = %6725, %6729
  %.str.5.sink3407 = phi ptr [ @.str.5, %6729 ], [ @.str.2, %6725 ]
  store i32 %6720, ptr %1493, align 4, !tbaa !5
  %6731 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6732 = load i32, ptr @test_count, align 4, !tbaa !5
  %6733 = load i32, ptr %1439, align 4, !tbaa !5
  %6734 = call ptr @s2n_strerror(i32 noundef %6733, ptr noundef nonnull @.str.4) #11
  %6735 = load i32, ptr %1439, align 4, !tbaa !5
  %6736 = call ptr @s2n_strerror_debug(i32 noundef %6735, ptr noundef nonnull @.str.4) #11
  %6737 = load i32, ptr %1493, align 4, !tbaa !5
  %6738 = call ptr @strerror(i32 noundef %6737) #11
  %6739 = load i32, ptr %1493, align 4, !tbaa !5
  %6740 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6731, ptr noundef nonnull %.str.5.sink3407, i32 noundef %6732, ptr noundef nonnull @.str.88, ptr noundef nonnull @.str.1, i32 noundef 660, ptr noundef %6734, ptr noundef %6736, ptr noundef %6738, i32 noundef %6739) #13
  call void @exit(i32 noundef 1) #14
  unreachable

6741:                                             ; preds = %6714
  %6742 = load i32, ptr @test_count, align 4, !tbaa !5
  %6743 = add nsw i32 %6742, 1
  store i32 %6743, ptr @test_count, align 4, !tbaa !5
  %6744 = call i32 @s2n_test_client_hello(ptr noundef %6524, ptr noundef %6633)
  %6745 = call zeroext i1 @s2n_result_is_ok(i32 %6744)
  br i1 %6745, label %6768, label %6746

6746:                                             ; preds = %6741
  %6747 = load i32, ptr %1493, align 4, !tbaa !5
  %6748 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6749 = call i32 @s2n_print_stacktrace(ptr noundef %6748) #11
  %6750 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6751 = trunc nuw i8 %6750 to i1
  br i1 %6751, label %6752, label %6756

6752:                                             ; preds = %6746
  %6753 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6754 = call i32 @fileno(ptr noundef %6753) #11
  %6755 = call i32 @isatty(i32 noundef %6754) #11
  %.not932 = icmp eq i32 %6755, 0
  br i1 %.not932, label %6756, label %6757

6756:                                             ; preds = %6752, %6746
  br label %6757

6757:                                             ; preds = %6752, %6756
  %.str.5.sink3416 = phi ptr [ @.str.5, %6756 ], [ @.str.2, %6752 ]
  store i32 %6747, ptr %1493, align 4, !tbaa !5
  %6758 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6759 = load i32, ptr @test_count, align 4, !tbaa !5
  %6760 = load i32, ptr %1439, align 4, !tbaa !5
  %6761 = call ptr @s2n_strerror(i32 noundef %6760, ptr noundef nonnull @.str.4) #11
  %6762 = load i32, ptr %1439, align 4, !tbaa !5
  %6763 = call ptr @s2n_strerror_debug(i32 noundef %6762, ptr noundef nonnull @.str.4) #11
  %6764 = load i32, ptr %1493, align 4, !tbaa !5
  %6765 = call ptr @strerror(i32 noundef %6764) #11
  %6766 = load i32, ptr %1493, align 4, !tbaa !5
  %6767 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6758, ptr noundef nonnull %.str.5.sink3416, i32 noundef %6759, ptr noundef nonnull @.str.69, ptr noundef nonnull @.str.1, i32 noundef 662, ptr noundef %6761, ptr noundef %6763, ptr noundef %6765, i32 noundef %6766) #13
  call void @exit(i32 noundef 1) #14
  unreachable

6768:                                             ; preds = %6741
  %6769 = load i32, ptr @test_count, align 4, !tbaa !5
  %6770 = add nsw i32 %6769, 1
  store i32 %6770, ptr @test_count, align 4, !tbaa !5
  %6771 = call i32 @s2n_server_hello_send(ptr noundef %6633) #11
  %6772 = icmp eq i32 %6771, -1
  br i1 %6772, label %6773, label %6795

6773:                                             ; preds = %6768
  %6774 = load i32, ptr %1493, align 4, !tbaa !5
  %6775 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6776 = call i32 @s2n_print_stacktrace(ptr noundef %6775) #11
  %6777 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6778 = trunc nuw i8 %6777 to i1
  br i1 %6778, label %6779, label %6783

6779:                                             ; preds = %6773
  %6780 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6781 = call i32 @fileno(ptr noundef %6780) #11
  %6782 = call i32 @isatty(i32 noundef %6781) #11
  %.not950 = icmp eq i32 %6782, 0
  br i1 %.not950, label %6783, label %6784

6783:                                             ; preds = %6779, %6773
  br label %6784

6784:                                             ; preds = %6779, %6783
  %.str.5.sink3425 = phi ptr [ @.str.5, %6783 ], [ @.str.2, %6779 ]
  store i32 %6774, ptr %1493, align 4, !tbaa !5
  %6785 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6786 = load i32, ptr @test_count, align 4, !tbaa !5
  %6787 = load i32, ptr %1439, align 4, !tbaa !5
  %6788 = call ptr @s2n_strerror(i32 noundef %6787, ptr noundef nonnull @.str.4) #11
  %6789 = load i32, ptr %1439, align 4, !tbaa !5
  %6790 = call ptr @s2n_strerror_debug(i32 noundef %6789, ptr noundef nonnull @.str.4) #11
  %6791 = load i32, ptr %1493, align 4, !tbaa !5
  %6792 = call ptr @strerror(i32 noundef %6791) #11
  %6793 = load i32, ptr %1493, align 4, !tbaa !5
  %6794 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6785, ptr noundef nonnull %.str.5.sink3425, i32 noundef %6786, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.1, i32 noundef 664, ptr noundef %6788, ptr noundef %6790, ptr noundef %6792, i32 noundef %6793) #13
  call void @exit(i32 noundef 1) #14
  unreachable

6795:                                             ; preds = %6768
  %6796 = load i32, ptr @test_count, align 4, !tbaa !5
  %6797 = add nsw i32 %6796, 1
  store i32 %6797, ptr @test_count, align 4, !tbaa !5
  %6798 = getelementptr inbounds i8, ptr %6633, i64 2016
  %6799 = getelementptr inbounds i8, ptr %6524, i64 2016
  %6800 = getelementptr inbounds i8, ptr %6633, i64 2044
  %6801 = load i32, ptr %6800, align 4, !tbaa !58
  %6802 = getelementptr inbounds i8, ptr %6633, i64 2040
  %6803 = load i32, ptr %6802, align 8, !tbaa !59
  %6804 = sub i32 %6801, %6803
  %6805 = call i32 @s2n_stuffer_copy(ptr noundef nonnull %6798, ptr noundef nonnull %6799, i32 noundef %6804) #11
  %6806 = icmp eq i32 %6805, -1
  br i1 %6806, label %6807, label %6829

6807:                                             ; preds = %6795
  %6808 = load i32, ptr %1493, align 4, !tbaa !5
  %6809 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6810 = call i32 @s2n_print_stacktrace(ptr noundef %6809) #11
  %6811 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6812 = trunc nuw i8 %6811 to i1
  br i1 %6812, label %6813, label %6817

6813:                                             ; preds = %6807
  %6814 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6815 = call i32 @fileno(ptr noundef %6814) #11
  %6816 = call i32 @isatty(i32 noundef %6815) #11
  %.not949 = icmp eq i32 %6816, 0
  br i1 %.not949, label %6817, label %6818

6817:                                             ; preds = %6813, %6807
  br label %6818

6818:                                             ; preds = %6813, %6817
  %.str.5.sink3434 = phi ptr [ @.str.5, %6817 ], [ @.str.2, %6813 ]
  store i32 %6808, ptr %1493, align 4, !tbaa !5
  %6819 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6820 = load i32, ptr @test_count, align 4, !tbaa !5
  %6821 = load i32, ptr %1439, align 4, !tbaa !5
  %6822 = call ptr @s2n_strerror(i32 noundef %6821, ptr noundef nonnull @.str.4) #11
  %6823 = load i32, ptr %1439, align 4, !tbaa !5
  %6824 = call ptr @s2n_strerror_debug(i32 noundef %6823, ptr noundef nonnull @.str.4) #11
  %6825 = load i32, ptr %1493, align 4, !tbaa !5
  %6826 = call ptr @strerror(i32 noundef %6825) #11
  %6827 = load i32, ptr %1493, align 4, !tbaa !5
  %6828 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6819, ptr noundef nonnull %.str.5.sink3434, i32 noundef %6820, ptr noundef nonnull @.str.71, ptr noundef nonnull @.str.1, i32 noundef 666, ptr noundef %6822, ptr noundef %6824, ptr noundef %6826, i32 noundef %6827) #13
  call void @exit(i32 noundef 1) #14
  unreachable

6829:                                             ; preds = %6795
  %6830 = load i32, ptr @test_count, align 4, !tbaa !5
  %6831 = add nsw i32 %6830, 1
  store i32 %6831, ptr @test_count, align 4, !tbaa !5
  %6832 = call i32 @s2n_server_hello_recv(ptr noundef %6524) #11
  %6833 = icmp eq i32 %6832, -1
  br i1 %6833, label %6856, label %6834

6834:                                             ; preds = %6829
  %6835 = load i32, ptr %1493, align 4, !tbaa !5
  %6836 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6837 = call i32 @s2n_print_stacktrace(ptr noundef %6836) #11
  %6838 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6839 = trunc nuw i8 %6838 to i1
  br i1 %6839, label %6840, label %6844

6840:                                             ; preds = %6834
  %6841 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6842 = call i32 @fileno(ptr noundef %6841) #11
  %6843 = call i32 @isatty(i32 noundef %6842) #11
  %.not933 = icmp eq i32 %6843, 0
  br i1 %.not933, label %6844, label %6845

6844:                                             ; preds = %6840, %6834
  br label %6845

6845:                                             ; preds = %6840, %6844
  %.str.5.sink3443 = phi ptr [ @.str.5, %6844 ], [ @.str.2, %6840 ]
  store i32 %6835, ptr %1493, align 4, !tbaa !5
  %6846 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6847 = load i32, ptr @test_count, align 4, !tbaa !5
  %6848 = load i32, ptr %1439, align 4, !tbaa !5
  %6849 = call ptr @s2n_strerror(i32 noundef %6848, ptr noundef nonnull @.str.4) #11
  %6850 = load i32, ptr %1439, align 4, !tbaa !5
  %6851 = call ptr @s2n_strerror_debug(i32 noundef %6850, ptr noundef nonnull @.str.4) #11
  %6852 = load i32, ptr %1493, align 4, !tbaa !5
  %6853 = call ptr @strerror(i32 noundef %6852) #11
  %6854 = load i32, ptr %1493, align 4, !tbaa !5
  %6855 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6846, ptr noundef nonnull %.str.5.sink3443, i32 noundef %6847, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.1, i32 noundef 667, ptr noundef %6849, ptr noundef %6851, ptr noundef %6853, i32 noundef %6854) #13
  call void @exit(i32 noundef 1) #14
  unreachable

6856:                                             ; preds = %6829
  %6857 = load i32, ptr @test_count, align 4, !tbaa !5
  %6858 = add nsw i32 %6857, 1
  store i32 %6858, ptr @test_count, align 4, !tbaa !5
  %6859 = load i32, ptr %1439, align 4, !tbaa !5
  %6860 = icmp eq i32 %6859, 335544384
  br i1 %6860, label %6883, label %6861

6861:                                             ; preds = %6856
  %6862 = load i32, ptr %1493, align 4, !tbaa !5
  %6863 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6864 = call i32 @s2n_print_stacktrace(ptr noundef %6863) #11
  %6865 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6866 = trunc nuw i8 %6865 to i1
  br i1 %6866, label %6867, label %6871

6867:                                             ; preds = %6861
  %6868 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6869 = call i32 @fileno(ptr noundef %6868) #11
  %6870 = call i32 @isatty(i32 noundef %6869) #11
  %.not934 = icmp eq i32 %6870, 0
  br i1 %.not934, label %6871, label %6872

6871:                                             ; preds = %6867, %6861
  br label %6872

6872:                                             ; preds = %6867, %6871
  %.str.5.sink3452 = phi ptr [ @.str.5, %6871 ], [ @.str.2, %6867 ]
  store i32 %6862, ptr %1493, align 4, !tbaa !5
  %6873 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6874 = load i32, ptr @test_count, align 4, !tbaa !5
  %6875 = load i32, ptr %1439, align 4, !tbaa !5
  %6876 = call ptr @s2n_strerror(i32 noundef %6875, ptr noundef nonnull @.str.4) #11
  %6877 = load i32, ptr %1439, align 4, !tbaa !5
  %6878 = call ptr @s2n_strerror_debug(i32 noundef %6877, ptr noundef nonnull @.str.4) #11
  %6879 = load i32, ptr %1493, align 4, !tbaa !5
  %6880 = call ptr @strerror(i32 noundef %6879) #11
  %6881 = load i32, ptr %1493, align 4, !tbaa !5
  %6882 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6873, ptr noundef nonnull %.str.5.sink3452, i32 noundef %6874, ptr noundef nonnull @.str.76, ptr noundef nonnull @.str.1, i32 noundef 667, ptr noundef %6876, ptr noundef %6878, ptr noundef %6880, i32 noundef %6881) #13
  call void @exit(i32 noundef 1) #14
  unreachable

6883:                                             ; preds = %6856
  %6884 = add nsw i32 %6857, 2
  store i32 %6884, ptr @test_count, align 4, !tbaa !5
  %6885 = call ptr @s2n_strerror_debug(i32 noundef 335544384, ptr noundef nonnull @.str.4) #11
  %6886 = icmp eq ptr %6885, null
  br i1 %6886, label %6887, label %6909

6887:                                             ; preds = %6883
  %6888 = load i32, ptr %1493, align 4, !tbaa !5
  %6889 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6890 = call i32 @s2n_print_stacktrace(ptr noundef %6889) #11
  %6891 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6892 = trunc nuw i8 %6891 to i1
  br i1 %6892, label %6893, label %6897

6893:                                             ; preds = %6887
  %6894 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6895 = call i32 @fileno(ptr noundef %6894) #11
  %6896 = call i32 @isatty(i32 noundef %6895) #11
  %.not948 = icmp eq i32 %6896, 0
  br i1 %.not948, label %6897, label %6898

6897:                                             ; preds = %6893, %6887
  br label %6898

6898:                                             ; preds = %6893, %6897
  %.str.5.sink3461 = phi ptr [ @.str.5, %6897 ], [ @.str.2, %6893 ]
  store i32 %6888, ptr %1493, align 4, !tbaa !5
  %6899 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6900 = load i32, ptr @test_count, align 4, !tbaa !5
  %6901 = load i32, ptr %1439, align 4, !tbaa !5
  %6902 = call ptr @s2n_strerror(i32 noundef %6901, ptr noundef nonnull @.str.4) #11
  %6903 = load i32, ptr %1439, align 4, !tbaa !5
  %6904 = call ptr @s2n_strerror_debug(i32 noundef %6903, ptr noundef nonnull @.str.4) #11
  %6905 = load i32, ptr %1493, align 4, !tbaa !5
  %6906 = call ptr @strerror(i32 noundef %6905) #11
  %6907 = load i32, ptr %1493, align 4, !tbaa !5
  %6908 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6899, ptr noundef nonnull %.str.5.sink3461, i32 noundef %6900, ptr noundef nonnull @.str.43, ptr noundef nonnull @.str.1, i32 noundef 667, ptr noundef %6902, ptr noundef %6904, ptr noundef %6906, i32 noundef %6907) #13
  call void @exit(i32 noundef 1) #14
  unreachable

6909:                                             ; preds = %6883
  store i32 0, ptr %1439, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #11
  store i32 0, ptr %1493, align 4, !tbaa !5
  %6910 = load i32, ptr @test_count, align 4, !tbaa !5
  %6911 = add nsw i32 %6910, 1
  store i32 %6911, ptr @test_count, align 4, !tbaa !5
  %6912 = getelementptr inbounds i8, ptr %6524, i64 4088
  %6913 = load i32, ptr %6912, align 8, !tbaa !67
  %6914 = icmp eq i32 %6913, 1
  br i1 %6914, label %6937, label %6915

6915:                                             ; preds = %6909
  %6916 = load i32, ptr %1493, align 4, !tbaa !5
  %6917 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6918 = call i32 @s2n_print_stacktrace(ptr noundef %6917) #11
  %6919 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6920 = trunc nuw i8 %6919 to i1
  br i1 %6920, label %6921, label %6925

6921:                                             ; preds = %6915
  %6922 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6923 = call i32 @fileno(ptr noundef %6922) #11
  %6924 = call i32 @isatty(i32 noundef %6923) #11
  %.not935 = icmp eq i32 %6924, 0
  br i1 %.not935, label %6925, label %6926

6925:                                             ; preds = %6921, %6915
  br label %6926

6926:                                             ; preds = %6921, %6925
  %.str.5.sink3470 = phi ptr [ @.str.5, %6925 ], [ @.str.2, %6921 ]
  store i32 %6916, ptr %1493, align 4, !tbaa !5
  %6927 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6928 = load i32, ptr @test_count, align 4, !tbaa !5
  %6929 = load i32, ptr %1439, align 4, !tbaa !5
  %6930 = call ptr @s2n_strerror(i32 noundef %6929, ptr noundef nonnull @.str.4) #11
  %6931 = load i32, ptr %1439, align 4, !tbaa !5
  %6932 = call ptr @s2n_strerror_debug(i32 noundef %6931, ptr noundef nonnull @.str.4) #11
  %6933 = load i32, ptr %1493, align 4, !tbaa !5
  %6934 = call ptr @strerror(i32 noundef %6933) #11
  %6935 = load i32, ptr %1493, align 4, !tbaa !5
  %6936 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6927, ptr noundef nonnull %.str.5.sink3470, i32 noundef %6928, ptr noundef nonnull @.str.89, ptr noundef nonnull @.str.1, i32 noundef 669, ptr noundef %6930, ptr noundef %6932, ptr noundef %6934, i32 noundef %6935) #13
  call void @exit(i32 noundef 1) #14
  unreachable

6937:                                             ; preds = %6909
  %6938 = add nsw i32 %6910, 2
  store i32 %6938, ptr @test_count, align 4, !tbaa !5
  %6939 = getelementptr inbounds i8, ptr %6524, i64 219
  %6940 = load i8, ptr %6939, align 1, !tbaa !60
  %6941 = icmp eq i8 %6940, 33
  br i1 %6941, label %6964, label %6942

6942:                                             ; preds = %6937
  %6943 = load i32, ptr %1493, align 4, !tbaa !5
  %6944 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6945 = call i32 @s2n_print_stacktrace(ptr noundef %6944) #11
  %6946 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6947 = trunc nuw i8 %6946 to i1
  br i1 %6947, label %6948, label %6952

6948:                                             ; preds = %6942
  %6949 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6950 = call i32 @fileno(ptr noundef %6949) #11
  %6951 = call i32 @isatty(i32 noundef %6950) #11
  %.not936 = icmp eq i32 %6951, 0
  br i1 %.not936, label %6952, label %6953

6952:                                             ; preds = %6948, %6942
  br label %6953

6953:                                             ; preds = %6948, %6952
  %.str.5.sink3479 = phi ptr [ @.str.5, %6952 ], [ @.str.2, %6948 ]
  store i32 %6943, ptr %1493, align 4, !tbaa !5
  %6954 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6955 = load i32, ptr @test_count, align 4, !tbaa !5
  %6956 = load i32, ptr %1439, align 4, !tbaa !5
  %6957 = call ptr @s2n_strerror(i32 noundef %6956, ptr noundef nonnull @.str.4) #11
  %6958 = load i32, ptr %1439, align 4, !tbaa !5
  %6959 = call ptr @s2n_strerror_debug(i32 noundef %6958, ptr noundef nonnull @.str.4) #11
  %6960 = load i32, ptr %1493, align 4, !tbaa !5
  %6961 = call ptr @strerror(i32 noundef %6960) #11
  %6962 = load i32, ptr %1493, align 4, !tbaa !5
  %6963 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6954, ptr noundef nonnull %.str.5.sink3479, i32 noundef %6955, ptr noundef nonnull @.str.91, ptr noundef nonnull @.str.1, i32 noundef 670, ptr noundef %6957, ptr noundef %6959, ptr noundef %6961, i32 noundef %6962) #13
  call void @exit(i32 noundef 1) #14
  unreachable

6964:                                             ; preds = %6937
  %6965 = add nsw i32 %6910, 3
  store i32 %6965, ptr @test_count, align 4, !tbaa !5
  %6966 = getelementptr inbounds i8, ptr %6633, i64 220
  %6967 = load i8, ptr %6966, align 4, !tbaa !42
  %6968 = icmp eq i8 %6967, 33
  br i1 %6968, label %6991, label %6969

6969:                                             ; preds = %6964
  %6970 = load i32, ptr %1493, align 4, !tbaa !5
  %6971 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6972 = call i32 @s2n_print_stacktrace(ptr noundef %6971) #11
  %6973 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6974 = trunc nuw i8 %6973 to i1
  br i1 %6974, label %6975, label %6979

6975:                                             ; preds = %6969
  %6976 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6977 = call i32 @fileno(ptr noundef %6976) #11
  %6978 = call i32 @isatty(i32 noundef %6977) #11
  %.not937 = icmp eq i32 %6978, 0
  br i1 %.not937, label %6979, label %6980

6979:                                             ; preds = %6975, %6969
  br label %6980

6980:                                             ; preds = %6975, %6979
  %.str.5.sink3488 = phi ptr [ @.str.5, %6979 ], [ @.str.2, %6975 ]
  store i32 %6970, ptr %1493, align 4, !tbaa !5
  %6981 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6982 = load i32, ptr @test_count, align 4, !tbaa !5
  %6983 = load i32, ptr %1439, align 4, !tbaa !5
  %6984 = call ptr @s2n_strerror(i32 noundef %6983, ptr noundef nonnull @.str.4) #11
  %6985 = load i32, ptr %1439, align 4, !tbaa !5
  %6986 = call ptr @s2n_strerror_debug(i32 noundef %6985, ptr noundef nonnull @.str.4) #11
  %6987 = load i32, ptr %1493, align 4, !tbaa !5
  %6988 = call ptr @strerror(i32 noundef %6987) #11
  %6989 = load i32, ptr %1493, align 4, !tbaa !5
  %6990 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6981, ptr noundef nonnull %.str.5.sink3488, i32 noundef %6982, ptr noundef nonnull @.str.77, ptr noundef nonnull @.str.1, i32 noundef 671, ptr noundef %6984, ptr noundef %6986, ptr noundef %6988, i32 noundef %6989) #13
  call void @exit(i32 noundef 1) #14
  unreachable

6991:                                             ; preds = %6964
  %6992 = add nsw i32 %6910, 4
  store i32 %6992, ptr @test_count, align 4, !tbaa !5
  %6993 = call i32 @s2n_connection_free(ptr noundef nonnull %6524) #11
  %6994 = icmp eq i32 %6993, -1
  br i1 %6994, label %6995, label %7017

6995:                                             ; preds = %6991
  %6996 = load i32, ptr %1493, align 4, !tbaa !5
  %6997 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6998 = call i32 @s2n_print_stacktrace(ptr noundef %6997) #11
  %6999 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7000 = trunc nuw i8 %6999 to i1
  br i1 %7000, label %7001, label %7005

7001:                                             ; preds = %6995
  %7002 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7003 = call i32 @fileno(ptr noundef %7002) #11
  %7004 = call i32 @isatty(i32 noundef %7003) #11
  %.not947 = icmp eq i32 %7004, 0
  br i1 %.not947, label %7005, label %7006

7005:                                             ; preds = %7001, %6995
  br label %7006

7006:                                             ; preds = %7001, %7005
  %.str.5.sink3497 = phi ptr [ @.str.5, %7005 ], [ @.str.2, %7001 ]
  store i32 %6996, ptr %1493, align 4, !tbaa !5
  %7007 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7008 = load i32, ptr @test_count, align 4, !tbaa !5
  %7009 = load i32, ptr %1439, align 4, !tbaa !5
  %7010 = call ptr @s2n_strerror(i32 noundef %7009, ptr noundef nonnull @.str.4) #11
  %7011 = load i32, ptr %1439, align 4, !tbaa !5
  %7012 = call ptr @s2n_strerror_debug(i32 noundef %7011, ptr noundef nonnull @.str.4) #11
  %7013 = load i32, ptr %1493, align 4, !tbaa !5
  %7014 = call ptr @strerror(i32 noundef %7013) #11
  %7015 = load i32, ptr %1493, align 4, !tbaa !5
  %7016 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7007, ptr noundef nonnull %.str.5.sink3497, i32 noundef %7008, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.1, i32 noundef 673, ptr noundef %7010, ptr noundef %7012, ptr noundef %7014, i32 noundef %7015) #13
  call void @exit(i32 noundef 1) #14
  unreachable

7017:                                             ; preds = %6991
  %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 = call i32 @s2n_connection_free(ptr noundef nonnull %6633) #11
  %7021 = icmp eq i32 %7020, -1
  br i1 %7021, label %7022, label %7044

7022:                                             ; preds = %7017
  %7023 = load i32, ptr %1493, align 4, !tbaa !5
  %7024 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7025 = call i32 @s2n_print_stacktrace(ptr noundef %7024) #11
  %7026 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7027 = trunc nuw i8 %7026 to i1
  br i1 %7027, label %7028, label %7032

7028:                                             ; preds = %7022
  %7029 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7030 = call i32 @fileno(ptr noundef %7029) #11
  %7031 = call i32 @isatty(i32 noundef %7030) #11
  %.not946 = icmp eq i32 %7031, 0
  br i1 %.not946, label %7032, label %7033

7032:                                             ; preds = %7028, %7022
  br label %7033

7033:                                             ; preds = %7028, %7032
  %.str.5.sink3506 = phi ptr [ @.str.5, %7032 ], [ @.str.2, %7028 ]
  store i32 %7023, ptr %1493, align 4, !tbaa !5
  %7034 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7035 = load i32, ptr @test_count, align 4, !tbaa !5
  %7036 = load i32, ptr %1439, align 4, !tbaa !5
  %7037 = call ptr @s2n_strerror(i32 noundef %7036, ptr noundef nonnull @.str.4) #11
  %7038 = load i32, ptr %1439, align 4, !tbaa !5
  %7039 = call ptr @s2n_strerror_debug(i32 noundef %7038, ptr noundef nonnull @.str.4) #11
  %7040 = load i32, ptr %1493, align 4, !tbaa !5
  %7041 = call ptr @strerror(i32 noundef %7040) #11
  %7042 = load i32, ptr %1493, align 4, !tbaa !5
  %7043 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7034, ptr noundef nonnull %.str.5.sink3506, i32 noundef %7035, ptr noundef nonnull @.str.40, ptr noundef nonnull @.str.1, i32 noundef 674, ptr noundef %7037, ptr noundef %7039, ptr noundef %7041, i32 noundef %7042) #13
  call void @exit(i32 noundef 1) #14
  unreachable

7044:                                             ; preds = %7017
  %7045 = load i32, ptr @test_count, align 4, !tbaa !5
  %7046 = add nsw i32 %7045, 1
  store i32 %7046, ptr @test_count, align 4, !tbaa !5
  %7047 = call i32 @s2n_config_free(ptr noundef %6027) #11
  %7048 = icmp eq i32 %7047, -1
  br i1 %7048, label %7049, label %7071

7049:                                             ; preds = %7044
  %7050 = load i32, ptr %1493, align 4, !tbaa !5
  %7051 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7052 = call i32 @s2n_print_stacktrace(ptr noundef %7051) #11
  %7053 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7054 = trunc nuw i8 %7053 to i1
  br i1 %7054, label %7055, label %7059

7055:                                             ; preds = %7049
  %7056 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7057 = call i32 @fileno(ptr noundef %7056) #11
  %7058 = call i32 @isatty(i32 noundef %7057) #11
  %.not945 = icmp eq i32 %7058, 0
  br i1 %.not945, label %7059, label %7060

7059:                                             ; preds = %7055, %7049
  br label %7060

7060:                                             ; preds = %7055, %7059
  %.str.5.sink3515 = phi ptr [ @.str.5, %7059 ], [ @.str.2, %7055 ]
  store i32 %7050, ptr %1493, align 4, !tbaa !5
  %7061 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7062 = load i32, ptr @test_count, align 4, !tbaa !5
  %7063 = load i32, ptr %1439, align 4, !tbaa !5
  %7064 = call ptr @s2n_strerror(i32 noundef %7063, ptr noundef nonnull @.str.4) #11
  %7065 = load i32, ptr %1439, align 4, !tbaa !5
  %7066 = call ptr @s2n_strerror_debug(i32 noundef %7065, ptr noundef nonnull @.str.4) #11
  %7067 = load i32, ptr %1493, align 4, !tbaa !5
  %7068 = call ptr @strerror(i32 noundef %7067) #11
  %7069 = load i32, ptr %1493, align 4, !tbaa !5
  %7070 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7061, ptr noundef nonnull %.str.5.sink3515, i32 noundef %7062, ptr noundef nonnull @.str.20, ptr noundef nonnull @.str.1, i32 noundef 677, ptr noundef %7064, ptr noundef %7066, ptr noundef %7068, i32 noundef %7069) #13
  call void @exit(i32 noundef 1) #14
  unreachable

7071:                                             ; preds = %7044
  %7072 = load i32, ptr @test_count, align 4, !tbaa !5
  %7073 = add nsw i32 %7072, 1
  store i32 %7073, ptr @test_count, align 4, !tbaa !5
  %7074 = call i32 (...) @s2n_disable_tls13_in_test() #11
  %7075 = icmp eq i32 %7074, -1
  br i1 %7075, label %7076, label %7098

7076:                                             ; preds = %7071
  %7077 = load i32, ptr %1493, align 4, !tbaa !5
  %7078 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7079 = call i32 @s2n_print_stacktrace(ptr noundef %7078) #11
  %7080 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7081 = trunc nuw i8 %7080 to i1
  br i1 %7081, label %7082, label %7086

7082:                                             ; preds = %7076
  %7083 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7084 = call i32 @fileno(ptr noundef %7083) #11
  %7085 = call i32 @isatty(i32 noundef %7084) #11
  %.not944 = icmp eq i32 %7085, 0
  br i1 %.not944, label %7086, label %7087

7086:                                             ; preds = %7082, %7076
  br label %7087

7087:                                             ; preds = %7082, %7086
  %.str.5.sink3524 = phi ptr [ @.str.5, %7086 ], [ @.str.2, %7082 ]
  store i32 %7077, ptr %1493, align 4, !tbaa !5
  %7088 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7089 = load i32, ptr @test_count, align 4, !tbaa !5
  %7090 = load i32, ptr %1439, align 4, !tbaa !5
  %7091 = call ptr @s2n_strerror(i32 noundef %7090, ptr noundef nonnull @.str.4) #11
  %7092 = load i32, ptr %1439, align 4, !tbaa !5
  %7093 = call ptr @s2n_strerror_debug(i32 noundef %7092, ptr noundef nonnull @.str.4) #11
  %7094 = load i32, ptr %1493, align 4, !tbaa !5
  %7095 = call ptr @strerror(i32 noundef %7094) #11
  %7096 = load i32, ptr %1493, align 4, !tbaa !5
  %7097 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7088, ptr noundef nonnull %.str.5.sink3524, i32 noundef %7089, ptr noundef nonnull @.str.8, ptr noundef nonnull @.str.1, i32 noundef 678, ptr noundef %7091, ptr noundef %7093, ptr noundef %7095, i32 noundef %7096) #13
  call void @exit(i32 noundef 1) #14
  unreachable

7098:                                             ; preds = %7071, %5997
  %7099 = load i32, ptr @test_count, align 4, !tbaa !5
  %7100 = add nsw i32 %7099, 1
  store i32 %7100, ptr @test_count, align 4, !tbaa !5
  %7101 = load ptr, ptr %3, align 8, !tbaa !9
  %7102 = call i32 @s2n_cert_chain_and_key_free(ptr noundef %7101) #11
  %7103 = icmp eq i32 %7102, -1
  br i1 %7103, label %7104, label %7126

7104:                                             ; preds = %7098
  %7105 = load i32, ptr %1493, align 4, !tbaa !5
  %7106 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7107 = call i32 @s2n_print_stacktrace(ptr noundef %7106) #11
  %7108 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7109 = trunc nuw i8 %7108 to i1
  br i1 %7109, label %7110, label %7114

7110:                                             ; preds = %7104
  %7111 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7112 = call i32 @fileno(ptr noundef %7111) #11
  %7113 = call i32 @isatty(i32 noundef %7112) #11
  %.not943 = icmp eq i32 %7113, 0
  br i1 %.not943, label %7114, label %7115

7114:                                             ; preds = %7110, %7104
  br label %7115

7115:                                             ; preds = %7110, %7114
  %.str.5.sink3533 = phi ptr [ @.str.5, %7114 ], [ @.str.2, %7110 ]
  store i32 %7105, ptr %1493, align 4, !tbaa !5
  %7116 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7117 = load i32, ptr @test_count, align 4, !tbaa !5
  %7118 = load i32, ptr %1439, align 4, !tbaa !5
  %7119 = call ptr @s2n_strerror(i32 noundef %7118, ptr noundef nonnull @.str.4) #11
  %7120 = load i32, ptr %1439, align 4, !tbaa !5
  %7121 = call ptr @s2n_strerror_debug(i32 noundef %7120, ptr noundef nonnull @.str.4) #11
  %7122 = load i32, ptr %1493, align 4, !tbaa !5
  %7123 = call ptr @strerror(i32 noundef %7122) #11
  %7124 = load i32, ptr %1493, align 4, !tbaa !5
  %7125 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7116, ptr noundef nonnull %.str.5.sink3533, i32 noundef %7117, ptr noundef nonnull @.str.92, ptr noundef nonnull @.str.1, i32 noundef 681, ptr noundef %7119, ptr noundef %7121, ptr noundef %7123, i32 noundef %7124) #13
  call void @exit(i32 noundef 1) #14
  unreachable

7126:                                             ; preds = %7098
  %7127 = call i32 @s2n_cleanup() #11
  %7128 = icmp eq i32 %7127, -1
  br i1 %7128, label %7129, label %7151

7129:                                             ; preds = %7126
  %7130 = load i32, ptr %1493, align 4, !tbaa !5
  %7131 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7132 = call i32 @s2n_print_stacktrace(ptr noundef %7131) #11
  %7133 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7134 = trunc nuw i8 %7133 to i1
  br i1 %7134, label %7135, label %7139

7135:                                             ; preds = %7129
  %7136 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7137 = call i32 @fileno(ptr noundef %7136) #11
  %7138 = call i32 @isatty(i32 noundef %7137) #11
  %.not942 = icmp eq i32 %7138, 0
  br i1 %.not942, label %7139, label %7140

7139:                                             ; preds = %7135, %7129
  br label %7140

7140:                                             ; preds = %7135, %7139
  %.str.5.sink3542 = phi ptr [ @.str.5, %7139 ], [ @.str.2, %7135 ]
  store i32 %7130, ptr %1493, align 4, !tbaa !5
  %7141 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7142 = load i32, ptr @test_count, align 4, !tbaa !5
  %7143 = load i32, ptr %1439, align 4, !tbaa !5
  %7144 = call ptr @s2n_strerror(i32 noundef %7143, ptr noundef nonnull @.str.4) #11
  %7145 = load i32, ptr %1439, align 4, !tbaa !5
  %7146 = call ptr @s2n_strerror_debug(i32 noundef %7145, ptr noundef nonnull @.str.4) #11
  %7147 = load i32, ptr %1493, align 4, !tbaa !5
  %7148 = call ptr @strerror(i32 noundef %7147) #11
  %7149 = load i32, ptr %1493, align 4, !tbaa !5
  %7150 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7141, ptr noundef nonnull %.str.5.sink3542, i32 noundef %7142, ptr noundef nonnull @.str.93, ptr noundef nonnull @.str.1, i32 noundef 683, ptr noundef %7144, ptr noundef %7146, ptr noundef %7148, i32 noundef %7149) #13
  call void @exit(i32 noundef 1) #14
  unreachable

7151:                                             ; preds = %7126
  %7152 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext false) #11
  %7153 = icmp eq i32 %7152, -1
  br i1 %7153, label %7154, label %7176

7154:                                             ; preds = %7151
  %7155 = load i32, ptr %1493, align 4, !tbaa !5
  %7156 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7157 = call i32 @s2n_print_stacktrace(ptr noundef %7156) #11
  %7158 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7159 = trunc nuw i8 %7158 to i1
  br i1 %7159, label %7160, label %7164

7160:                                             ; preds = %7154
  %7161 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7162 = call i32 @fileno(ptr noundef %7161) #11
  %7163 = call i32 @isatty(i32 noundef %7162) #11
  %.not941 = icmp eq i32 %7163, 0
  br i1 %.not941, label %7164, label %7165

7164:                                             ; preds = %7160, %7154
  br label %7165

7165:                                             ; preds = %7160, %7164
  %.str.5.sink3551 = phi ptr [ @.str.5, %7164 ], [ @.str.2, %7160 ]
  store i32 %7155, ptr %1493, align 4, !tbaa !5
  %7166 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7167 = load i32, ptr @test_count, align 4, !tbaa !5
  %7168 = load i32, ptr %1439, align 4, !tbaa !5
  %7169 = call ptr @s2n_strerror(i32 noundef %7168, ptr noundef nonnull @.str.4) #11
  %7170 = load i32, ptr %1439, align 4, !tbaa !5
  %7171 = call ptr @s2n_strerror_debug(i32 noundef %7170, ptr noundef nonnull @.str.4) #11
  %7172 = load i32, ptr %1493, align 4, !tbaa !5
  %7173 = call ptr @strerror(i32 noundef %7172) #11
  %7174 = load i32, ptr %1493, align 4, !tbaa !5
  %7175 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7166, ptr noundef nonnull %.str.5.sink3551, i32 noundef %7167, ptr noundef nonnull @.str.94, ptr noundef nonnull @.str.1, i32 noundef 683, ptr noundef %7169, ptr noundef %7171, ptr noundef %7173, i32 noundef %7174) #13
  call void @exit(i32 noundef 1) #14
  unreachable

7176:                                             ; preds = %7151
  %7177 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7178 = trunc nuw i8 %7177 to i1
  br i1 %7178, label %7179, label %7190

7179:                                             ; preds = %7176
  %7180 = load ptr, ptr @stdout, align 8, !tbaa !9
  %7181 = call i32 @fileno(ptr noundef %7180) #11
  %7182 = call i32 @isatty(i32 noundef %7181) #11
  %.not938 = icmp eq i32 %7182, 0
  br i1 %.not938, label %7190, label %7183

7183:                                             ; preds = %7179
  %7184 = load i32, ptr @test_count, align 4, !tbaa !5
  %.not940 = icmp eq i32 %7184, 0
  %7185 = load ptr, ptr @stdout, align 8, !tbaa !9
  br i1 %.not940, label %7188, label %7186

7186:                                             ; preds = %7183
  %7187 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7185, ptr noundef nonnull @.str.95, i32 noundef %7184) #11
  br label %.thread

7188:                                             ; preds = %7183
  %7189 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7185, ptr noundef nonnull @.str.96) #11
  br label %.thread

7190:                                             ; preds = %7179, %7176
  %7191 = load i32, ptr @test_count, align 4, !tbaa !5
  %.not939 = icmp eq i32 %7191, 0
  %7192 = load ptr, ptr @stdout, align 8, !tbaa !9
  br i1 %.not939, label %7195, label %7193

7193:                                             ; preds = %7190
  %7194 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7192, ptr noundef nonnull @.str.97, i32 noundef %7191) #11
  br label %.thread

7195:                                             ; preds = %7190
  %7196 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7192, ptr noundef nonnull @.str.98) #11
  br label %.thread

.thread:                                          ; preds = %4244, %4214, %5105, %7188, %7186, %7195, %7193
  %.2 = phi i32 [ -1, %5105 ], [ 0, %7193 ], [ 0, %7195 ], [ 0, %7186 ], [ 0, %7188 ], [ -1, %4214 ], [ -1, %4244 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %3) #11
  ret i32 %.2
}

; 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 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_server_hello_send(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_stuffer_skip_read(ptr noundef, i32 noundef) local_unnamed_addr #2

declare i32 @s2n_config_free(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_connection_free(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_enable_tls13_in_test(...) local_unnamed_addr #2

declare i32 @s2n_connection_get_ecc_preferences(ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_ecc_evp_generate_ephemeral_key(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_stuffer_copy(ptr noundef, ptr noundef, i32 noundef) local_unnamed_addr #2

declare i32 @s2n_server_hello_recv(ptr noundef) local_unnamed_addr #2

declare void @s2n_debug_info_reset() local_unnamed_addr #2

declare i32 @s2n_stuffer_write_uint8(ptr noundef, i8 noundef zeroext) 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_stuffer_write_bytes(ptr noundef, ptr noundef, i32 noundef) local_unnamed_addr #2

declare i32 @s2n_stuffer_write_uint16(ptr noundef, i16 noundef zeroext) local_unnamed_addr #2

declare i32 @s2n_stuffer_reread(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_free(ptr noundef) local_unnamed_addr #2

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

declare i32 @s2n_blob_alloc_from_hex_with_whitespace(ptr noundef, ptr noundef) local_unnamed_addr #2

declare zeroext i1 @s2n_is_tls13_fully_supported(...) local_unnamed_addr #2

declare i32 @s2n_reset_tls13_in_test(...) local_unnamed_addr #2

declare i32 @s2n_config_set_cipher_preferences(ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_config_enable_quic(ptr noundef) local_unnamed_addr #2

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

declare i32 @s2n_connection_set_cipher_preferences(ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_append_test_psk_with_early_data(ptr noundef, i32 noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_connection_set_early_data_expected(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_cert_chain_and_key_free(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_cleanup() local_unnamed_addr #2

; Function Attrs: nofree nounwind willreturn memory(argmem: read)
declare i32 @bcmp(ptr nocapture, ptr nocapture, i64) local_unnamed_addr #10

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 = { inlinehint nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #10 = { nofree nounwind willreturn memory(argmem: read) }
attributes #11 = { nounwind }
attributes #12 = { nounwind willreturn memory(none) }
attributes #13 = { cold nounwind }
attributes #14 = { 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, !7, i64 216}
!16 = !{!"s2n_connection", !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 2, !6, i64 2, !6, i64 2, !6, i64 2, !6, i64 2, !6, i64 2, !6, i64 2, !10, i64 8, !10, i64 16, !10, i64 24, !10, i64 32, !10, i64 40, !10, i64 48, !10, i64 56, !10, i64 64, !10, i64 72, !7, i64 80, !7, i64 102, !7, i64 124, !6, i64 148, !6, i64 152, !17, i64 160, !18, i64 168, !18, i64 176, !7, i64 184, !7, i64 216, !7, i64 217, !7, i64 218, !7, i64 219, !7, i64 220, !7, i64 221, !7, i64 222, !10, i64 224, !10, i64 232, !19, i64 240, !10, i64 632, !10, i64 640, !20, i64 648, !26, i64 1144, !29, i64 1688, !10, i64 1752, !7, i64 1760, !6, i64 1764, !7, i64 1768, !32, i64 1776, !32, i64 1816, !32, i64 1856, !32, i64 1896, !6, i64 1936, !18, i64 1944, !7, i64 1952, !32, i64 1960, !7, i64 2000, !7, i64 2001, !7, i64 2002, !12, i64 2003, !33, i64 2004, !33, i64 2008, !34, i64 2016, !31, i64 2208, !6, i64 2212, !31, i64 2216, !18, i64 2224, !7, i64 2232, !18, i64 2240, !18, i64 2248, !18, i64 2256, !33, i64 2264, !33, i64 2268, !7, i64 2272, !7, i64 2528, !6, i64 2784, !25, i64 2792, !6, i64 2816, !25, i64 2824, !25, i64 2848, !25, i64 2872, !36, i64 2896, !38, i64 3704, !10, i64 3760, !10, i64 3768, !7, i64 3776, !6, i64 3780, !25, i64 3784, !6, i64 3808, !40, i64 3816, !7, i64 3848, !32, i64 3992, !25, i64 4032, !25, i64 4056, !12, i64 4080, !12, i64 4081, !12, i64 4082, !31, i64 4084, !31, i64 4086, !6, i64 4088, !6, i64 4092, !25, i64 4096, !6, i64 4120, !41, i64 4128, !33, i64 4176, !7, i64 4180, !7, i64 4181}
!17 = !{!"s2n_timer", !18, i64 0}
!18 = !{!"long", !7, i64 0}
!19 = !{!"s2n_secrets", !7, i64 0, !6, i64 388}
!20 = !{!"s2n_kex_parameters", !21, i64 0, !22, i64 8, !7, i64 24, !22, i64 56, !23, i64 72, !23, i64 184, !7, i64 296, !24, i64 360, !25, i64 448, !25, i64 472}
!21 = !{!"s2n_dh_params", !10, i64 0}
!22 = !{!"s2n_ecc_evp_params", !10, i64 0, !10, i64 8}
!23 = !{!"s2n_kem_group_params", !10, i64 0, !24, i64 8, !22, i64 96}
!24 = !{!"s2n_kem_params", !10, i64 0, !25, i64 8, !25, i64 32, !25, i64 56, !12, i64 80}
!25 = !{!"s2n_blob", !10, i64 0, !6, i64 8, !6, i64 12, !6, i64 16}
!26 = !{!"s2n_handshake_parameters", !27, i64 0, !27, i64 48, !25, i64 96, !6, i64 120, !28, i64 124, !10, i64 384, !10, i64 392, !10, i64 400, !7, i64 408, !7, i64 440, !7, i64 472, !7, i64 473, !7, i64 474, !7, i64 506}
!27 = !{!"s2n_pkey", !10, i64 0, !10, i64 8, !10, i64 16, !10, i64 24, !10, i64 32, !10, i64 40}
!28 = !{!"s2n_sig_scheme_list", !7, i64 0, !7, i64 256}
!29 = !{!"s2n_psk_parameters", !6, i64 0, !30, i64 8, !31, i64 40, !31, i64 42, !10, i64 48, !6, i64 56}
!30 = !{!"s2n_array", !25, i64 0, !6, i64 24, !6, i64 28}
!31 = !{!"short", !7, i64 0}
!32 = !{!"s2n_stuffer", !25, i64 0, !6, i64 24, !6, i64 28, !6, i64 32, !6, i64 36, !6, i64 36, !6, i64 36}
!33 = !{!"", !6, i64 0}
!34 = !{!"s2n_handshake", !32, i64 0, !10, i64 40, !7, i64 48, !7, i64 56, !7, i64 104, !7, i64 152, !6, i64 156, !6, i64 160, !6, i64 164, !6, i64 168, !35, i64 176, !6, i64 184, !6, i64 184, !6, i64 184, !6, i64 184, !6, i64 188}
!35 = !{!"s2n_offered_early_data", !10, i64 0}
!36 = !{!"s2n_client_hello", !25, i64 0, !37, i64 24, !25, i64 728, !25, i64 752, !25, i64 776, !7, i64 800, !7, i64 801, !6, i64 802, !6, i64 802, !6, i64 802, !6, i64 802, !6, i64 802, !6, i64 802, !6, i64 802}
!37 = !{!"", !7, i64 0, !25, i64 672, !31, i64 696}
!38 = !{!"s2n_x509_validator", !10, i64 0, !10, i64 8, !7, i64 16, !7, i64 17, !31, i64 18, !10, i64 24, !6, i64 32, !10, i64 40, !39, i64 48, !12, i64 52}
!39 = !{!"s2n_cert_validation_info", !6, i64 0, !6, i64 0}
!40 = !{!"s2n_ticket_fields", !25, i64 0, !6, i64 24}
!41 = !{!"s2n_post_handshake", !32, i64 0, !7, i64 40}
!42 = !{!16, !7, i64 220}
!43 = !{!32, !10, i64 0}
!44 = !{!7, !7, i64 0}
!45 = !{!32, !6, i64 28}
!46 = !{!32, !6, i64 24}
!47 = !{!16, !10, i64 8}
!48 = !{!49, !10, i64 8}
!49 = !{!"s2n_ecc_preferences", !7, i64 0, !10, i64 8}
!50 = !{!16, !10, i64 656}
!51 = !{!16, !10, i64 704}
!52 = !{!16, !10, i64 232}
!53 = !{!54, !10, i64 0}
!54 = !{!"s2n_crypto_parameters", !10, i64 0, !55, i64 8, !55, i64 16, !56, i64 24, !56, i64 456, !7, i64 888, !7, i64 904, !7, i64 920, !7, i64 928}
!55 = !{!"s2n_session_key", !10, i64 0}
!56 = !{!"s2n_hmac_state", !6, i64 0, !31, i64 4, !6, i64 8, !31, i64 12, !7, i64 14, !57, i64 16, !57, i64 72, !57, i64 128, !57, i64 184, !7, i64 240, !7, i64 368}
!57 = !{!"s2n_hash_state", !10, i64 0, !6, i64 8, !7, i64 12, !18, i64 16, !7, i64 24}
!58 = !{!16, !6, i64 2044}
!59 = !{!16, !6, i64 2040}
!60 = !{!16, !7, i64 219}
!61 = distinct !{!61, !62}
!62 = !{!"llvm.loop.mustprogress"}
!63 = distinct !{!63, !62}
!64 = !{!16, !7, i64 218}
!65 = !{!25, !10, i64 0}
!66 = !{!25, !6, i64 8}
!67 = !{!16, !6, i64 4088}


; Effective O3 passes: CorrelatedValuePropagationPass,DSEPass,EarlyCSEPass,GVNPass,GlobalOptPass,IPSCCPPass,IndVarSimplifyPass,InferAlignmentPass,InferFunctionAttrsPass,InstCombinePass,JumpThreadingPass,LICMPass,LoopIdiomRecognizePass,LoopRotatePass,LoopSimplifyPass,LoopUnrollPass,MemCpyOptPass,PostOrderFunctionAttrsPass,SLPVectorizerPass,SROAPass,SimplifyCFGPass,TailCallElimPass