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

@s2n_use_color_in_output = external dso_local global i8, align 1
@test_count = external dso_local global i32, align 4
@stdout = external global ptr, align 8
@.str = external hidden unnamed_addr constant [19 x i8], align 1
@.str.1 = external hidden unnamed_addr constant [83 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
@__const.main.alert_header = external hidden unnamed_addr constant [5 x i8], align 1
@__const.main.close_notify = external hidden unnamed_addr constant [2 x i8], align 1
@__const.main.data = external hidden unnamed_addr constant [6 x i8], align 1
@__const.main.test_alert_levels = external hidden unnamed_addr constant [6 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [200 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [34 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [33 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [155 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [87 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [94 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [76 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [106 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [91 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [91 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [66 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [93 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [111 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [81 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [55 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [92 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [56 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [59 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [44 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [45 x i8], align 1
@.str.37 = external hidden unnamed_addr constant [74 x i8], align 1
@.str.38 = external hidden unnamed_addr constant [74 x i8], align 1
@.str.39 = external hidden unnamed_addr constant [69 x i8], align 1
@.str.40 = external hidden unnamed_addr constant [74 x i8], align 1
@__const.main.test_errors = external hidden unnamed_addr constant [5 x i32], align 16
@.str.41 = external hidden unnamed_addr constant [102 x i8], align 1
@.str.42 = external hidden unnamed_addr constant [77 x i8], align 1
@.str.43 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.44 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.45 = external hidden unnamed_addr constant [76 x i8], align 1
@.str.46 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.47 = external hidden unnamed_addr constant [86 x i8], align 1
@.str.48 = external hidden unnamed_addr constant [59 x i8], align 1
@.str.49 = external hidden unnamed_addr constant [57 x i8], align 1
@.str.50 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.51 = external hidden unnamed_addr constant [57 x i8], align 1
@.str.52 = external hidden unnamed_addr constant [66 x i8], align 1
@.str.53 = external hidden unnamed_addr constant [80 x i8], align 1
@.str.54 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.55 = external hidden unnamed_addr constant [80 x i8], align 1
@.str.56 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.57 = external hidden unnamed_addr constant [80 x i8], align 1
@.str.58 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.59 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.60 = external hidden unnamed_addr constant [37 x i8], align 1
@.str.61 = external hidden unnamed_addr constant [69 x i8], align 1
@.str.62 = external hidden unnamed_addr constant [37 x i8], align 1
@.str.63 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.64 = external hidden unnamed_addr constant [74 x i8], align 1
@.str.65 = external hidden unnamed_addr constant [44 x i8], align 1
@.str.66 = external hidden unnamed_addr constant [77 x i8], align 1
@.str.67 = external hidden unnamed_addr constant [73 x i8], align 1
@.str.68 = external hidden unnamed_addr constant [77 x i8], align 1
@.str.69 = external hidden unnamed_addr constant [77 x i8], align 1
@.str.70 = external hidden unnamed_addr constant [95 x i8], align 1
@.str.71 = external hidden unnamed_addr constant [95 x i8], align 1
@.str.72 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.73 = external hidden unnamed_addr constant [74 x i8], align 1
@.str.74 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.75 = external hidden unnamed_addr constant [64 x i8], align 1
@.str.76 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.77 = external hidden unnamed_addr constant [82 x i8], align 1
@.str.78 = external hidden unnamed_addr constant [80 x i8], align 1
@.str.79 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.80 = external hidden unnamed_addr constant [59 x i8], align 1
@.str.81 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.82 = external hidden unnamed_addr constant [86 x i8], align 1
@.str.83 = external hidden unnamed_addr constant [86 x i8], align 1
@.str.84 = external hidden unnamed_addr constant [55 x i8], align 1
@.str.85 = external hidden unnamed_addr constant [67 x i8], align 1
@.str.86 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.87 = external hidden unnamed_addr constant [82 x i8], align 1
@.str.88 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.89 = external hidden unnamed_addr constant [90 x i8], align 1
@.str.90 = external hidden unnamed_addr constant [90 x i8], align 1
@.str.91 = external hidden unnamed_addr constant [82 x i8], align 1
@.str.92 = external hidden unnamed_addr constant [83 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
declare dso_local i32 @s2n_test_ch_cb(ptr noundef, ptr noundef) #0

; 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 [5 x i8], align 1
  %10 = alloca [2 x i8], align 1
  %11 = alloca [6 x i8], align 1
  %12 = alloca [6 x i8], align 1
  %13 = alloca [65535 x [2 x i8]], align 16
  %14 = alloca i64, align 8
  %15 = alloca i64, align 8
  %16 = alloca i32, align 4
  %17 = alloca i64, align 8
  %18 = alloca i32, align 4
  %19 = alloca ptr, align 8
  %20 = alloca i32, align 4
  %21 = alloca ptr, align 8
  %22 = alloca i32, align 4
  %23 = alloca ptr, align 8
  %24 = alloca i32, align 4
  %25 = alloca i32, align 4
  %26 = alloca i32, align 4
  %27 = alloca ptr, align 8
  %28 = alloca i32, align 4
  %29 = alloca i32, align 4
  %30 = alloca i64, align 8
  %31 = alloca i32, align 4
  %32 = alloca i8, align 1
  %33 = alloca ptr, align 8
  %34 = alloca i32, align 4
  %35 = alloca i32, align 4
  %36 = alloca ptr, align 8
  %37 = alloca i32, align 4
  %38 = alloca i32, align 4
  %39 = alloca %struct.s2n_test_io_stuffer_pair, align 8
  %40 = alloca %struct.s2n_result, align 4
  %41 = alloca i32, align 4
  %42 = alloca %struct.s2n_result, align 4
  %43 = alloca i32, align 4
  %44 = alloca %struct.s2n_result, align 4
  %45 = alloca i32, align 4
  %46 = alloca i32, align 4
  %47 = alloca i32, align 4
  %48 = alloca ptr, align 8
  %49 = alloca ptr, align 8
  %50 = alloca %struct.s2n_blob, align 8
  %51 = alloca i32, align 4
  %52 = alloca i32, align 4
  %53 = alloca %struct.s2n_result, align 4
  %54 = alloca i32, align 4
  %55 = alloca i32, align 4
  %56 = alloca i32, align 4
  %57 = alloca i32, align 4
  %58 = alloca i32, align 4
  %59 = alloca i32, align 4
  %60 = alloca i32, align 4
  %61 = alloca i32, align 4
  %62 = alloca i32, align 4
  %63 = alloca i32, align 4
  %64 = alloca i32, align 4
  %65 = alloca i32, align 4
  %66 = alloca i32, align 4
  %67 = alloca i32, align 4
  %68 = alloca i32, align 4
  %69 = alloca i32, align 4
  %70 = alloca i32, align 4
  %71 = alloca i32, align 4
  %72 = alloca i32, align 4
  %73 = alloca %struct.s2n_result, align 4
  %74 = alloca %struct.s2n_result, align 4
  %75 = alloca %struct.s2n_result, align 4
  %76 = alloca [5 x i32], align 16
  %77 = alloca ptr, align 8
  %78 = alloca i32, align 4
  %79 = alloca ptr, align 8
  %80 = alloca i64, align 8
  %81 = alloca ptr, align 8
  %82 = alloca i32, align 4
  %83 = alloca i32, align 4
  %84 = alloca ptr, align 8
  %85 = alloca i32, align 4
  %86 = alloca i32, align 4
  %87 = alloca %struct.s2n_test_io_stuffer_pair, align 8
  %88 = alloca %struct.s2n_result, align 4
  %89 = alloca i32, align 4
  %90 = alloca %struct.s2n_result, align 4
  %91 = alloca i32, align 4
  %92 = alloca i32, align 4
  %93 = alloca i8, align 1
  %94 = alloca ptr, align 8
  %95 = alloca ptr, align 8
  %96 = alloca i32, align 4
  %97 = alloca i32, align 4
  %98 = alloca i32, align 4
  %99 = alloca i32, align 4
  %100 = alloca i32, align 4
  %101 = alloca i32, align 4
  %102 = alloca i32, align 4
  %103 = alloca i32, align 4
  %104 = alloca i32, align 4
  %105 = alloca i32, align 4
  %106 = alloca i32, align 4
  %107 = alloca i32, align 4
  %108 = alloca i32, align 4
  %109 = alloca i32, align 4
  %110 = alloca i32, align 4
  %111 = alloca i32, align 4
  %112 = alloca i32, align 4
  %113 = alloca i32, align 4
  %114 = alloca i32, align 4
  %115 = alloca i32, align 4
  %116 = alloca i32, align 4
  %117 = alloca i32, align 4
  %118 = alloca i32, align 4
  %119 = alloca i8, align 1
  %120 = alloca i32, align 4
  %121 = alloca i32, align 4
  %122 = alloca i32, align 4
  %123 = alloca i32, align 4
  %124 = alloca i32, align 4
  %125 = alloca i32, align 4
  %126 = alloca i32, align 4
  %127 = alloca i32, align 4
  %128 = alloca i32, align 4
  %129 = alloca i32, align 4
  %130 = alloca i32, align 4
  %131 = alloca i32, align 4
  %132 = alloca i32, align 4
  %133 = alloca i32, align 4
  %134 = alloca i32, align 4
  %135 = alloca i32, align 4
  %136 = alloca i32, align 4
  %137 = alloca i32, align 4
  %138 = alloca i32, align 4
  %139 = alloca i32, align 4
  %140 = alloca i32, align 4
  %141 = alloca i32, align 4
  %142 = alloca i32, align 4
  %143 = alloca %struct.s2n_result, align 4
  %144 = alloca %struct.s2n_result, align 4
  %145 = alloca %struct.s2n_result, align 4
  %146 = alloca %struct.s2n_result, align 4
  %147 = alloca %struct.s2n_result, align 4
  %148 = alloca i32, align 4
  %149 = alloca i8, align 1
  %150 = alloca ptr, align 8
  %151 = alloca i32, align 4
  %152 = alloca i32, align 4
  %153 = alloca ptr, align 8
  %154 = alloca i32, align 4
  %155 = alloca i32, align 4
  %156 = alloca %struct.s2n_test_io_stuffer_pair, align 8
  %157 = alloca %struct.s2n_result, align 4
  %158 = alloca i32, align 4
  %159 = alloca %struct.s2n_result, align 4
  %160 = alloca i32, align 4
  %161 = alloca %struct.s2n_result, align 4
  %162 = alloca i32, align 4
  %163 = alloca i32, align 4
  %164 = alloca ptr, align 8
  %165 = alloca ptr, align 8
  %166 = alloca i32, align 4
  %167 = alloca i32, align 4
  %168 = alloca i32, align 4
  %169 = alloca i32, align 4
  %170 = alloca i32, align 4
  %171 = alloca i32, align 4
  %172 = alloca i32, align 4
  %173 = alloca i32, align 4
  %174 = alloca i32, align 4
  %175 = alloca i32, align 4
  %176 = alloca i32, align 4
  %177 = alloca i32, align 4
  %178 = alloca i32, align 4
  %179 = alloca i32, align 4
  %180 = alloca i32, align 4
  %181 = alloca %struct.s2n_result, align 4
  %182 = alloca %struct.s2n_result, align 4
  %183 = alloca %struct.s2n_result, align 4
  %184 = alloca i8, align 1
  %185 = alloca ptr, align 8
  %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 %struct.s2n_test_io_stuffer_pair, align 8
  %192 = alloca %struct.s2n_result, align 4
  %193 = alloca i32, align 4
  %194 = alloca %struct.s2n_result, align 4
  %195 = alloca i32, align 4
  %196 = alloca i32, align 4
  %197 = alloca i32, align 4
  %198 = alloca ptr, align 8
  %199 = alloca ptr, align 8
  %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 i32, align 4
  %209 = alloca i32, align 4
  %210 = alloca i32, align 4
  %211 = alloca i32, align 4
  %212 = alloca %struct.s2n_result, align 4
  %213 = alloca %struct.s2n_result, align 4
  %214 = alloca %struct.s2n_result, align 4
  %215 = alloca i8, align 1
  %216 = alloca ptr, align 8
  %217 = alloca i32, align 4
  %218 = alloca i32, align 4
  %219 = alloca i32, align 4
  %220 = alloca ptr, align 8
  %221 = alloca i32, align 4
  %222 = alloca i32, align 4
  %223 = alloca i32, align 4
  %224 = alloca %struct.s2n_test_io_stuffer_pair, align 8
  %225 = alloca %struct.s2n_result, align 4
  %226 = alloca i32, align 4
  %227 = alloca %struct.s2n_result, align 4
  %228 = alloca i32, align 4
  %229 = alloca i32, align 4
  %230 = alloca i32, align 4
  %231 = alloca ptr, align 8
  %232 = alloca ptr, align 8
  %233 = alloca i32, align 4
  %234 = alloca i32, align 4
  %235 = alloca i32, align 4
  %236 = alloca i32, align 4
  %237 = alloca i32, align 4
  %238 = alloca i32, align 4
  %239 = alloca i32, align 4
  %240 = alloca i32, align 4
  %241 = alloca i32, align 4
  %242 = alloca i32, align 4
  %243 = alloca i32, align 4
  %244 = alloca %struct.s2n_result, align 4
  %245 = alloca %struct.s2n_result, align 4
  %246 = alloca %struct.s2n_result, align 4
  %247 = alloca i8, align 1
  %248 = alloca ptr, align 8
  %249 = alloca i32, align 4
  %250 = alloca i32, align 4
  %251 = alloca ptr, align 8
  %252 = alloca i32, align 4
  %253 = alloca i32, align 4
  %254 = alloca %struct.s2n_test_io_pair, align 4
  %255 = alloca i32, align 4
  %256 = alloca i32, align 4
  %257 = alloca i32, align 4
  %258 = alloca i32, align 4
  %259 = alloca ptr, align 8
  %260 = alloca i32, align 4
  %261 = alloca i64, align 8
  %262 = alloca i32, align 4
  %263 = alloca i32, align 4
  %264 = alloca i32, align 4
  %265 = alloca i32, align 4
  %266 = alloca %struct.s2n_result, align 4
  %267 = alloca %struct.s2n_result, align 4
  %268 = alloca %struct.s2n_config, align 8
  %269 = alloca ptr, align 8
  %270 = alloca i32, align 4
  %271 = alloca i32, align 4
  %272 = alloca ptr, align 8
  %273 = alloca i32, align 4
  %274 = alloca i32, align 4
  %275 = alloca %struct.s2n_test_io_pair, align 4
  %276 = alloca i32, align 4
  %277 = alloca i32, align 4
  %278 = alloca i32, align 4
  %279 = alloca ptr, align 8
  %280 = alloca ptr, align 8
  %281 = alloca i8, align 1
  %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 i64, align 8
  %290 = alloca i32, align 4
  %291 = alloca i32, align 4
  %292 = alloca i32, align 4
  %293 = alloca %struct.s2n_result, align 4
  %294 = alloca %struct.s2n_result, align 4
  %295 = alloca i32, align 4
  %296 = alloca i32, align 4
  %297 = alloca %struct.s2n_result, align 4
  %298 = alloca %struct.s2n_result, align 4
  %299 = alloca %struct.s2n_result, align 4
  %300 = alloca %struct.s2n_result, align 4
  store i32 0, ptr %3, align 4
  store i32 %0, ptr %4, align 4, !tbaa !5
  store ptr %1, ptr %5, align 8, !tbaa !9
  br label %301

301:                                              ; preds = %2
  br label %302

302:                                              ; preds = %301
  store i32 0, ptr @test_count, align 4, !tbaa !5
  %303 = load ptr, ptr @stdout, align 8, !tbaa !9
  %304 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %303, ptr noundef @.str, ptr noundef @.str.1) #10
  %305 = load ptr, ptr @stdout, align 8, !tbaa !9
  %306 = call i32 @fflush(ptr noundef %305)
  br label %307

307:                                              ; preds = %302
  %308 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext true)
  %309 = icmp eq i32 %308, -1
  br i1 %309, label %310, label %361

310:                                              ; preds = %307
  br label %311

311:                                              ; preds = %310
  br label %312

312:                                              ; preds = %311
  call void @llvm.lifetime.start.p0(i64 4, ptr %6) #10
  %313 = call ptr @__errno_location() #11
  %314 = load i32, ptr %313, align 4, !tbaa !5
  store i32 %314, ptr %6, align 4, !tbaa !5
  %315 = load ptr, ptr @stderr, align 8, !tbaa !9
  %316 = call i32 @s2n_print_stacktrace(ptr noundef %315)
  %317 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %318 = trunc i8 %317 to i1
  br i1 %318, label %319, label %341

319:                                              ; preds = %312
  %320 = load ptr, ptr @stderr, align 8, !tbaa !9
  %321 = call i32 @fileno(ptr noundef %320) #10
  %322 = call i32 @isatty(i32 noundef %321) #10
  %323 = icmp ne i32 %322, 0
  br i1 %323, label %324, label %341

324:                                              ; preds = %319
  %325 = load i32, ptr %6, align 4, !tbaa !5
  %326 = call ptr @__errno_location() #11
  store i32 %325, ptr %326, align 4, !tbaa !5
  %327 = load ptr, ptr @stderr, align 8, !tbaa !9
  %328 = load i32, ptr @test_count, align 4, !tbaa !5
  %329 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %330 = load i32, ptr %329, align 4, !tbaa !5
  %331 = call ptr @s2n_strerror(i32 noundef %330, ptr noundef @.str.4)
  %332 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %333 = load i32, ptr %332, align 4, !tbaa !5
  %334 = call ptr @s2n_strerror_debug(i32 noundef %333, ptr noundef @.str.4)
  %335 = call ptr @__errno_location() #11
  %336 = load i32, ptr %335, align 4, !tbaa !5
  %337 = call ptr @strerror(i32 noundef %336) #10
  %338 = call ptr @__errno_location() #11
  %339 = load i32, ptr %338, align 4, !tbaa !5
  %340 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %327, ptr noundef @.str.2, i32 noundef %328, ptr noundef @.str.3, ptr noundef @.str.1, i32 noundef 38, ptr noundef %331, ptr noundef %334, ptr noundef %337, i32 noundef %339) #10
  br label %358

341:                                              ; preds = %319, %312
  %342 = load i32, ptr %6, align 4, !tbaa !5
  %343 = call ptr @__errno_location() #11
  store i32 %342, ptr %343, align 4, !tbaa !5
  %344 = load ptr, ptr @stderr, align 8, !tbaa !9
  %345 = load i32, ptr @test_count, align 4, !tbaa !5
  %346 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %347 = load i32, ptr %346, align 4, !tbaa !5
  %348 = call ptr @s2n_strerror(i32 noundef %347, ptr noundef @.str.4)
  %349 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %350 = load i32, ptr %349, align 4, !tbaa !5
  %351 = call ptr @s2n_strerror_debug(i32 noundef %350, ptr noundef @.str.4)
  %352 = call ptr @__errno_location() #11
  %353 = load i32, ptr %352, align 4, !tbaa !5
  %354 = call ptr @strerror(i32 noundef %353) #10
  %355 = call ptr @__errno_location() #11
  %356 = load i32, ptr %355, align 4, !tbaa !5
  %357 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %344, ptr noundef @.str.5, i32 noundef %345, ptr noundef @.str.3, ptr noundef @.str.1, i32 noundef 38, ptr noundef %348, ptr noundef %351, ptr noundef %354, i32 noundef %356) #10
  br label %358

358:                                              ; preds = %341, %324
  call void @llvm.lifetime.end.p0(i64 4, ptr %6) #10
  br label %359

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

360:                                              ; No predecessors!
  br label %361

361:                                              ; preds = %360, %307
  br label %362

362:                                              ; preds = %361
  br label %363

363:                                              ; preds = %362
  %364 = load i32, ptr @test_count, align 4, !tbaa !5
  %365 = add nsw i32 %364, 1
  store i32 %365, ptr @test_count, align 4, !tbaa !5
  %366 = call i32 @s2n_enable_atexit()
  %367 = icmp eq i32 %366, -1
  br i1 %367, label %368, label %419

368:                                              ; preds = %363
  br label %369

369:                                              ; preds = %368
  br label %370

370:                                              ; preds = %369
  call void @llvm.lifetime.start.p0(i64 4, ptr %7) #10
  %371 = call ptr @__errno_location() #11
  %372 = load i32, ptr %371, align 4, !tbaa !5
  store i32 %372, ptr %7, align 4, !tbaa !5
  %373 = load ptr, ptr @stderr, align 8, !tbaa !9
  %374 = call i32 @s2n_print_stacktrace(ptr noundef %373)
  %375 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %376 = trunc i8 %375 to i1
  br i1 %376, label %377, label %399

377:                                              ; preds = %370
  %378 = load ptr, ptr @stderr, align 8, !tbaa !9
  %379 = call i32 @fileno(ptr noundef %378) #10
  %380 = call i32 @isatty(i32 noundef %379) #10
  %381 = icmp ne i32 %380, 0
  br i1 %381, label %382, label %399

382:                                              ; preds = %377
  %383 = load i32, ptr %7, align 4, !tbaa !5
  %384 = call ptr @__errno_location() #11
  store i32 %383, ptr %384, align 4, !tbaa !5
  %385 = load ptr, ptr @stderr, align 8, !tbaa !9
  %386 = load i32, ptr @test_count, align 4, !tbaa !5
  %387 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %388 = load i32, ptr %387, align 4, !tbaa !5
  %389 = call ptr @s2n_strerror(i32 noundef %388, ptr noundef @.str.4)
  %390 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %391 = load i32, ptr %390, align 4, !tbaa !5
  %392 = call ptr @s2n_strerror_debug(i32 noundef %391, ptr noundef @.str.4)
  %393 = call ptr @__errno_location() #11
  %394 = load i32, ptr %393, align 4, !tbaa !5
  %395 = call ptr @strerror(i32 noundef %394) #10
  %396 = call ptr @__errno_location() #11
  %397 = load i32, ptr %396, align 4, !tbaa !5
  %398 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %385, ptr noundef @.str.2, i32 noundef %386, ptr noundef @.str.6, ptr noundef @.str.1, i32 noundef 38, ptr noundef %389, ptr noundef %392, ptr noundef %395, i32 noundef %397) #10
  br label %416

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

416:                                              ; preds = %399, %382
  call void @llvm.lifetime.end.p0(i64 4, ptr %7) #10
  br label %417

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

418:                                              ; No predecessors!
  br label %419

419:                                              ; preds = %418, %363
  br label %420

420:                                              ; preds = %419
  br label %421

421:                                              ; preds = %420
  br label %422

422:                                              ; preds = %421
  %423 = call i32 @s2n_init()
  %424 = icmp eq i32 %423, -1
  br i1 %424, label %425, label %476

425:                                              ; preds = %422
  br label %426

426:                                              ; preds = %425
  br label %427

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

434:                                              ; preds = %427
  %435 = load ptr, ptr @stderr, align 8, !tbaa !9
  %436 = call i32 @fileno(ptr noundef %435) #10
  %437 = call i32 @isatty(i32 noundef %436) #10
  %438 = icmp ne i32 %437, 0
  br i1 %438, label %439, label %456

439:                                              ; preds = %434
  %440 = load i32, ptr %8, align 4, !tbaa !5
  %441 = call ptr @__errno_location() #11
  store i32 %440, ptr %441, align 4, !tbaa !5
  %442 = load ptr, ptr @stderr, align 8, !tbaa !9
  %443 = load i32, ptr @test_count, align 4, !tbaa !5
  %444 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %445 = load i32, ptr %444, align 4, !tbaa !5
  %446 = call ptr @s2n_strerror(i32 noundef %445, ptr noundef @.str.4)
  %447 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %448 = load i32, ptr %447, align 4, !tbaa !5
  %449 = call ptr @s2n_strerror_debug(i32 noundef %448, ptr noundef @.str.4)
  %450 = call ptr @__errno_location() #11
  %451 = load i32, ptr %450, align 4, !tbaa !5
  %452 = call ptr @strerror(i32 noundef %451) #10
  %453 = call ptr @__errno_location() #11
  %454 = load i32, ptr %453, align 4, !tbaa !5
  %455 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %442, ptr noundef @.str.2, i32 noundef %443, ptr noundef @.str.7, ptr noundef @.str.1, i32 noundef 38, ptr noundef %446, ptr noundef %449, ptr noundef %452, i32 noundef %454) #10
  br label %473

456:                                              ; preds = %434, %427
  %457 = load i32, ptr %8, align 4, !tbaa !5
  %458 = call ptr @__errno_location() #11
  store i32 %457, ptr %458, align 4, !tbaa !5
  %459 = load ptr, ptr @stderr, align 8, !tbaa !9
  %460 = load i32, ptr @test_count, align 4, !tbaa !5
  %461 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %462 = load i32, ptr %461, align 4, !tbaa !5
  %463 = call ptr @s2n_strerror(i32 noundef %462, ptr noundef @.str.4)
  %464 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %465 = load i32, ptr %464, align 4, !tbaa !5
  %466 = call ptr @s2n_strerror_debug(i32 noundef %465, ptr noundef @.str.4)
  %467 = call ptr @__errno_location() #11
  %468 = load i32, ptr %467, align 4, !tbaa !5
  %469 = call ptr @strerror(i32 noundef %468) #10
  %470 = call ptr @__errno_location() #11
  %471 = load i32, ptr %470, align 4, !tbaa !5
  %472 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %459, ptr noundef @.str.5, i32 noundef %460, ptr noundef @.str.7, ptr noundef @.str.1, i32 noundef 38, ptr noundef %463, ptr noundef %466, ptr noundef %469, i32 noundef %471) #10
  br label %473

473:                                              ; preds = %456, %439
  call void @llvm.lifetime.end.p0(i64 4, ptr %8) #10
  br label %474

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

475:                                              ; No predecessors!
  br label %476

476:                                              ; preds = %475, %422
  br label %477

477:                                              ; preds = %476
  br label %478

478:                                              ; preds = %477
  %479 = call zeroext i1 (...) @s2n_is_tls13_fully_supported()
  br i1 %479, label %481, label %480

480:                                              ; preds = %478
  store i32 0, ptr %3, align 4
  br label %12389

481:                                              ; preds = %478
  call void @llvm.lifetime.start.p0(i64 5, ptr %9) #10
  call void @llvm.memcpy.p0.p0.i64(ptr align 1 %9, ptr align 1 @__const.main.alert_header, i64 5, i1 false)
  call void @llvm.lifetime.start.p0(i64 2, ptr %10) #10
  call void @llvm.memcpy.p0.p0.i64(ptr align 1 %10, ptr align 1 @__const.main.close_notify, i64 2, i1 false)
  call void @llvm.lifetime.start.p0(i64 6, ptr %11) #10
  call void @llvm.memcpy.p0.p0.i64(ptr align 1 %11, ptr align 1 @__const.main.data, i64 6, i1 false)
  call void @llvm.lifetime.start.p0(i64 6, ptr %12) #10
  call void @llvm.memcpy.p0.p0.i64(ptr align 1 %12, ptr align 1 @__const.main.test_alert_levels, i64 6, i1 false)
  call void @llvm.lifetime.start.p0(i64 131070, ptr %13) #10
  call void @llvm.memset.p0.i64(ptr align 16 %13, i8 0, i64 131070, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr %14) #10
  store i64 0, ptr %14, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 8, ptr %15) #10
  store i64 0, ptr %15, align 8, !tbaa !15
  br label %482

482:                                              ; preds = %585, %481
  %483 = load i64, ptr %15, align 8, !tbaa !15
  %484 = icmp ult i64 %483, 6
  br i1 %484, label %486, label %485

485:                                              ; preds = %482
  store i32 24, ptr %16, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %15) #10
  br label %588

486:                                              ; preds = %482
  call void @llvm.lifetime.start.p0(i64 8, ptr %17) #10
  store i64 0, ptr %17, align 8, !tbaa !15
  br label %487

487:                                              ; preds = %581, %486
  %488 = load i64, ptr %17, align 8, !tbaa !15
  %489 = icmp ule i64 %488, 255
  br i1 %489, label %491, label %490

490:                                              ; preds = %487
  store i32 27, ptr %16, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %17) #10
  br label %584

491:                                              ; preds = %487
  %492 = load i64, ptr %17, align 8, !tbaa !15
  %493 = icmp eq i64 %492, 0
  br i1 %493, label %494, label %495

494:                                              ; preds = %491
  br label %581

495:                                              ; preds = %491
  %496 = load i64, ptr %17, align 8, !tbaa !15
  %497 = icmp eq i64 %496, 90
  br i1 %497, label %498, label %499

498:                                              ; preds = %495
  br label %581

499:                                              ; preds = %495
  %500 = load i64, ptr %17, align 8, !tbaa !15
  %501 = icmp ugt i64 %500, 120
  br i1 %501, label %502, label %506

502:                                              ; preds = %499
  %503 = load i64, ptr %17, align 8, !tbaa !15
  %504 = icmp ult i64 %503, 250
  br i1 %504, label %505, label %506

505:                                              ; preds = %502
  br label %581

506:                                              ; preds = %502, %499
  br label %507

507:                                              ; preds = %506
  %508 = load i32, ptr @test_count, align 4, !tbaa !5
  %509 = add nsw i32 %508, 1
  store i32 %509, ptr @test_count, align 4, !tbaa !5
  %510 = load i64, ptr %14, align 8, !tbaa !15
  %511 = icmp ult i64 %510, 65535
  br i1 %511, label %565, label %512

512:                                              ; preds = %507
  br label %513

513:                                              ; preds = %512
  br label %514

514:                                              ; preds = %513
  call void @llvm.lifetime.start.p0(i64 4, ptr %18) #10
  %515 = call ptr @__errno_location() #11
  %516 = load i32, ptr %515, align 4, !tbaa !5
  store i32 %516, ptr %18, align 4, !tbaa !5
  %517 = load ptr, ptr @stderr, align 8, !tbaa !9
  %518 = call i32 @s2n_print_stacktrace(ptr noundef %517)
  %519 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %520 = trunc i8 %519 to i1
  br i1 %520, label %521, label %543

521:                                              ; preds = %514
  %522 = load ptr, ptr @stderr, align 8, !tbaa !9
  %523 = call i32 @fileno(ptr noundef %522) #10
  %524 = call i32 @isatty(i32 noundef %523) #10
  %525 = icmp ne i32 %524, 0
  br i1 %525, label %526, label %543

526:                                              ; preds = %521
  %527 = load i32, ptr %18, align 4, !tbaa !5
  %528 = call ptr @__errno_location() #11
  store i32 %527, ptr %528, align 4, !tbaa !5
  %529 = load ptr, ptr @stderr, align 8, !tbaa !9
  %530 = load i32, ptr @test_count, align 4, !tbaa !5
  %531 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %532 = load i32, ptr %531, align 4, !tbaa !5
  %533 = call ptr @s2n_strerror(i32 noundef %532, ptr noundef @.str.4)
  %534 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %535 = load i32, ptr %534, align 4, !tbaa !5
  %536 = call ptr @s2n_strerror_debug(i32 noundef %535, ptr noundef @.str.4)
  %537 = call ptr @__errno_location() #11
  %538 = load i32, ptr %537, align 4, !tbaa !5
  %539 = call ptr @strerror(i32 noundef %538) #10
  %540 = call ptr @__errno_location() #11
  %541 = load i32, ptr %540, align 4, !tbaa !5
  %542 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %529, ptr noundef @.str.2, i32 noundef %530, ptr noundef @.str.8, ptr noundef @.str.1, i32 noundef 86, ptr noundef %533, ptr noundef %536, ptr noundef %539, i32 noundef %541) #10
  br label %560

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

560:                                              ; preds = %543, %526
  call void @llvm.lifetime.end.p0(i64 4, ptr %18) #10
  br label %561

561:                                              ; preds = %560
  br label %562

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

563:                                              ; No predecessors!
  br label %564

564:                                              ; preds = %563
  br label %565

565:                                              ; preds = %564, %507
  br label %566

566:                                              ; preds = %565
  br label %567

567:                                              ; preds = %566
  %568 = load i64, ptr %15, align 8, !tbaa !15
  %569 = getelementptr inbounds [6 x i8], ptr %12, i64 0, i64 %568
  %570 = load i8, ptr %569, align 1, !tbaa !17
  %571 = load i64, ptr %14, align 8, !tbaa !15
  %572 = getelementptr inbounds [65535 x [2 x i8]], ptr %13, i64 0, i64 %571
  %573 = getelementptr inbounds [2 x i8], ptr %572, i64 0, i64 0
  store i8 %570, ptr %573, align 2, !tbaa !17
  %574 = load i64, ptr %17, align 8, !tbaa !15
  %575 = trunc i64 %574 to i8
  %576 = load i64, ptr %14, align 8, !tbaa !15
  %577 = getelementptr inbounds [65535 x [2 x i8]], ptr %13, i64 0, i64 %576
  %578 = getelementptr inbounds [2 x i8], ptr %577, i64 0, i64 1
  store i8 %575, ptr %578, align 1, !tbaa !17
  %579 = load i64, ptr %14, align 8, !tbaa !15
  %580 = add i64 %579, 1
  store i64 %580, ptr %14, align 8, !tbaa !15
  br label %581

581:                                              ; preds = %567, %505, %498, %494
  %582 = load i64, ptr %17, align 8, !tbaa !15
  %583 = add i64 %582, 1
  store i64 %583, ptr %17, align 8, !tbaa !15
  br label %487, !llvm.loop !18

584:                                              ; preds = %490
  br label %585

585:                                              ; preds = %584
  %586 = load i64, ptr %15, align 8, !tbaa !15
  %587 = add i64 %586, 1
  store i64 %587, ptr %15, align 8, !tbaa !15
  br label %482, !llvm.loop !20

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

589:                                              ; preds = %588
  %590 = load i32, ptr @test_count, align 4, !tbaa !5
  %591 = add nsw i32 %590, 1
  store i32 %591, ptr @test_count, align 4, !tbaa !5
  %592 = call i32 @s2n_test_cert_chain_and_key_new(ptr noundef %19, ptr noundef @.str.9, ptr noundef @.str.10)
  %593 = icmp eq i32 %592, -1
  br i1 %593, label %594, label %647

594:                                              ; preds = %589
  br label %595

595:                                              ; preds = %594
  br label %596

596:                                              ; preds = %595
  call void @llvm.lifetime.start.p0(i64 4, ptr %20) #10
  %597 = call ptr @__errno_location() #11
  %598 = load i32, ptr %597, align 4, !tbaa !5
  store i32 %598, ptr %20, align 4, !tbaa !5
  %599 = load ptr, ptr @stderr, align 8, !tbaa !9
  %600 = call i32 @s2n_print_stacktrace(ptr noundef %599)
  %601 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %602 = trunc i8 %601 to i1
  br i1 %602, label %603, label %625

603:                                              ; preds = %596
  %604 = load ptr, ptr @stderr, align 8, !tbaa !9
  %605 = call i32 @fileno(ptr noundef %604) #10
  %606 = call i32 @isatty(i32 noundef %605) #10
  %607 = icmp ne i32 %606, 0
  br i1 %607, label %608, label %625

608:                                              ; preds = %603
  %609 = load i32, ptr %20, align 4, !tbaa !5
  %610 = call ptr @__errno_location() #11
  store i32 %609, ptr %610, align 4, !tbaa !5
  %611 = load ptr, ptr @stderr, align 8, !tbaa !9
  %612 = load i32, ptr @test_count, align 4, !tbaa !5
  %613 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %614 = load i32, ptr %613, align 4, !tbaa !5
  %615 = call ptr @s2n_strerror(i32 noundef %614, ptr noundef @.str.4)
  %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_debug(i32 noundef %617, ptr noundef @.str.4)
  %619 = call ptr @__errno_location() #11
  %620 = load i32, ptr %619, align 4, !tbaa !5
  %621 = call ptr @strerror(i32 noundef %620) #10
  %622 = call ptr @__errno_location() #11
  %623 = load i32, ptr %622, align 4, !tbaa !5
  %624 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %611, ptr noundef @.str.2, i32 noundef %612, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 96, ptr noundef %615, ptr noundef %618, ptr noundef %621, i32 noundef %623) #10
  br label %642

625:                                              ; preds = %603, %596
  %626 = load i32, ptr %20, align 4, !tbaa !5
  %627 = call ptr @__errno_location() #11
  store i32 %626, ptr %627, align 4, !tbaa !5
  %628 = load ptr, ptr @stderr, align 8, !tbaa !9
  %629 = load i32, ptr @test_count, align 4, !tbaa !5
  %630 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %631 = load i32, ptr %630, align 4, !tbaa !5
  %632 = call ptr @s2n_strerror(i32 noundef %631, ptr noundef @.str.4)
  %633 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %634 = load i32, ptr %633, align 4, !tbaa !5
  %635 = call ptr @s2n_strerror_debug(i32 noundef %634, ptr noundef @.str.4)
  %636 = call ptr @__errno_location() #11
  %637 = load i32, ptr %636, align 4, !tbaa !5
  %638 = call ptr @strerror(i32 noundef %637) #10
  %639 = call ptr @__errno_location() #11
  %640 = load i32, ptr %639, align 4, !tbaa !5
  %641 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %628, ptr noundef @.str.5, i32 noundef %629, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 96, ptr noundef %632, ptr noundef %635, ptr noundef %638, i32 noundef %640) #10
  br label %642

642:                                              ; preds = %625, %608
  call void @llvm.lifetime.end.p0(i64 4, ptr %20) #10
  br label %643

643:                                              ; preds = %642
  br label %644

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

645:                                              ; No predecessors!
  br label %646

646:                                              ; preds = %645
  br label %647

647:                                              ; preds = %646, %589
  br label %648

648:                                              ; preds = %647
  br label %649

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

650:                                              ; preds = %649
  %651 = load i32, ptr @test_count, align 4, !tbaa !5
  %652 = add nsw i32 %651, 1
  store i32 %652, ptr @test_count, align 4, !tbaa !5
  %653 = call i32 @s2n_test_cert_chain_and_key_new(ptr noundef %21, ptr noundef @.str.12, ptr noundef @.str.13)
  %654 = icmp eq i32 %653, -1
  br i1 %654, label %655, label %708

655:                                              ; preds = %650
  br label %656

656:                                              ; preds = %655
  br label %657

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

664:                                              ; preds = %657
  %665 = load ptr, ptr @stderr, align 8, !tbaa !9
  %666 = call i32 @fileno(ptr noundef %665) #10
  %667 = call i32 @isatty(i32 noundef %666) #10
  %668 = icmp ne i32 %667, 0
  br i1 %668, label %669, label %686

669:                                              ; preds = %664
  %670 = load i32, ptr %22, align 4, !tbaa !5
  %671 = call ptr @__errno_location() #11
  store i32 %670, ptr %671, align 4, !tbaa !5
  %672 = load ptr, ptr @stderr, align 8, !tbaa !9
  %673 = load i32, ptr @test_count, align 4, !tbaa !5
  %674 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %675 = load i32, ptr %674, align 4, !tbaa !5
  %676 = call ptr @s2n_strerror(i32 noundef %675, ptr noundef @.str.4)
  %677 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %678 = load i32, ptr %677, align 4, !tbaa !5
  %679 = call ptr @s2n_strerror_debug(i32 noundef %678, ptr noundef @.str.4)
  %680 = call ptr @__errno_location() #11
  %681 = load i32, ptr %680, align 4, !tbaa !5
  %682 = call ptr @strerror(i32 noundef %681) #10
  %683 = call ptr @__errno_location() #11
  %684 = load i32, ptr %683, align 4, !tbaa !5
  %685 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %672, ptr noundef @.str.2, i32 noundef %673, ptr noundef @.str.14, ptr noundef @.str.1, i32 noundef 101, ptr noundef %676, ptr noundef %679, ptr noundef %682, i32 noundef %684) #10
  br label %703

686:                                              ; preds = %664, %657
  %687 = load i32, ptr %22, align 4, !tbaa !5
  %688 = call ptr @__errno_location() #11
  store i32 %687, ptr %688, align 4, !tbaa !5
  %689 = load ptr, ptr @stderr, align 8, !tbaa !9
  %690 = load i32, ptr @test_count, align 4, !tbaa !5
  %691 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %692 = load i32, ptr %691, align 4, !tbaa !5
  %693 = call ptr @s2n_strerror(i32 noundef %692, ptr noundef @.str.4)
  %694 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %695 = load i32, ptr %694, align 4, !tbaa !5
  %696 = call ptr @s2n_strerror_debug(i32 noundef %695, ptr noundef @.str.4)
  %697 = call ptr @__errno_location() #11
  %698 = load i32, ptr %697, align 4, !tbaa !5
  %699 = call ptr @strerror(i32 noundef %698) #10
  %700 = call ptr @__errno_location() #11
  %701 = load i32, ptr %700, align 4, !tbaa !5
  %702 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %689, ptr noundef @.str.5, i32 noundef %690, ptr noundef @.str.14, ptr noundef @.str.1, i32 noundef 101, ptr noundef %693, ptr noundef %696, ptr noundef %699, i32 noundef %701) #10
  br label %703

703:                                              ; preds = %686, %669
  call void @llvm.lifetime.end.p0(i64 4, ptr %22) #10
  br label %704

704:                                              ; preds = %703
  br label %705

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

706:                                              ; No predecessors!
  br label %707

707:                                              ; preds = %706
  br label %708

708:                                              ; preds = %707, %650
  br label %709

709:                                              ; preds = %708
  br label %710

710:                                              ; preds = %709
  call void @llvm.lifetime.start.p0(i64 8, ptr %23) #10
  %711 = call ptr @s2n_config_new()
  store ptr %711, ptr %23, align 8, !tbaa !9
  br label %712

712:                                              ; preds = %710
  %713 = load i32, ptr @test_count, align 4, !tbaa !5
  %714 = add nsw i32 %713, 1
  store i32 %714, ptr @test_count, align 4, !tbaa !5
  %715 = load ptr, ptr %23, align 8, !tbaa !9
  %716 = call i32 @s2n_config_set_unsafe_for_testing(ptr noundef %715)
  %717 = icmp eq i32 %716, -1
  br i1 %717, label %718, label %771

718:                                              ; preds = %712
  br label %719

719:                                              ; preds = %718
  br label %720

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

727:                                              ; preds = %720
  %728 = load ptr, ptr @stderr, align 8, !tbaa !9
  %729 = call i32 @fileno(ptr noundef %728) #10
  %730 = call i32 @isatty(i32 noundef %729) #10
  %731 = icmp ne i32 %730, 0
  br i1 %731, label %732, label %749

732:                                              ; preds = %727
  %733 = load i32, ptr %24, align 4, !tbaa !5
  %734 = call ptr @__errno_location() #11
  store i32 %733, ptr %734, align 4, !tbaa !5
  %735 = load ptr, ptr @stderr, align 8, !tbaa !9
  %736 = load i32, ptr @test_count, align 4, !tbaa !5
  %737 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %738 = load i32, ptr %737, align 4, !tbaa !5
  %739 = call ptr @s2n_strerror(i32 noundef %738, ptr noundef @.str.4)
  %740 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %741 = load i32, ptr %740, align 4, !tbaa !5
  %742 = call ptr @s2n_strerror_debug(i32 noundef %741, ptr noundef @.str.4)
  %743 = call ptr @__errno_location() #11
  %744 = load i32, ptr %743, align 4, !tbaa !5
  %745 = call ptr @strerror(i32 noundef %744) #10
  %746 = call ptr @__errno_location() #11
  %747 = load i32, ptr %746, align 4, !tbaa !5
  %748 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %735, ptr noundef @.str.2, i32 noundef %736, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 105, ptr noundef %739, ptr noundef %742, ptr noundef %745, i32 noundef %747) #10
  br label %766

749:                                              ; preds = %727, %720
  %750 = load i32, ptr %24, align 4, !tbaa !5
  %751 = call ptr @__errno_location() #11
  store i32 %750, ptr %751, align 4, !tbaa !5
  %752 = load ptr, ptr @stderr, align 8, !tbaa !9
  %753 = load i32, ptr @test_count, align 4, !tbaa !5
  %754 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %755 = load i32, ptr %754, align 4, !tbaa !5
  %756 = call ptr @s2n_strerror(i32 noundef %755, ptr noundef @.str.4)
  %757 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %758 = load i32, ptr %757, align 4, !tbaa !5
  %759 = call ptr @s2n_strerror_debug(i32 noundef %758, ptr noundef @.str.4)
  %760 = call ptr @__errno_location() #11
  %761 = load i32, ptr %760, align 4, !tbaa !5
  %762 = call ptr @strerror(i32 noundef %761) #10
  %763 = call ptr @__errno_location() #11
  %764 = load i32, ptr %763, align 4, !tbaa !5
  %765 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %752, ptr noundef @.str.5, i32 noundef %753, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 105, ptr noundef %756, ptr noundef %759, ptr noundef %762, i32 noundef %764) #10
  br label %766

766:                                              ; preds = %749, %732
  call void @llvm.lifetime.end.p0(i64 4, ptr %24) #10
  br label %767

767:                                              ; preds = %766
  br label %768

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

769:                                              ; No predecessors!
  br label %770

770:                                              ; preds = %769
  br label %771

771:                                              ; preds = %770, %712
  br label %772

772:                                              ; preds = %771
  br label %773

773:                                              ; preds = %772
  br label %774

774:                                              ; preds = %773
  %775 = load i32, ptr @test_count, align 4, !tbaa !5
  %776 = add nsw i32 %775, 1
  store i32 %776, ptr @test_count, align 4, !tbaa !5
  %777 = load ptr, ptr %23, align 8, !tbaa !9
  %778 = call i32 @s2n_config_set_cipher_preferences(ptr noundef %777, ptr noundef @.str.16)
  %779 = icmp eq i32 %778, -1
  br i1 %779, label %780, label %833

780:                                              ; preds = %774
  br label %781

781:                                              ; preds = %780
  br label %782

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

789:                                              ; preds = %782
  %790 = load ptr, ptr @stderr, align 8, !tbaa !9
  %791 = call i32 @fileno(ptr noundef %790) #10
  %792 = call i32 @isatty(i32 noundef %791) #10
  %793 = icmp ne i32 %792, 0
  br i1 %793, label %794, label %811

794:                                              ; preds = %789
  %795 = load i32, ptr %25, align 4, !tbaa !5
  %796 = call ptr @__errno_location() #11
  store i32 %795, ptr %796, align 4, !tbaa !5
  %797 = load ptr, ptr @stderr, align 8, !tbaa !9
  %798 = load i32, ptr @test_count, align 4, !tbaa !5
  %799 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %800 = load i32, ptr %799, align 4, !tbaa !5
  %801 = call ptr @s2n_strerror(i32 noundef %800, ptr noundef @.str.4)
  %802 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %803 = load i32, ptr %802, align 4, !tbaa !5
  %804 = call ptr @s2n_strerror_debug(i32 noundef %803, ptr noundef @.str.4)
  %805 = call ptr @__errno_location() #11
  %806 = load i32, ptr %805, align 4, !tbaa !5
  %807 = call ptr @strerror(i32 noundef %806) #10
  %808 = call ptr @__errno_location() #11
  %809 = load i32, ptr %808, align 4, !tbaa !5
  %810 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %797, ptr noundef @.str.2, i32 noundef %798, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 106, ptr noundef %801, ptr noundef %804, ptr noundef %807, i32 noundef %809) #10
  br label %828

811:                                              ; preds = %789, %782
  %812 = load i32, ptr %25, align 4, !tbaa !5
  %813 = call ptr @__errno_location() #11
  store i32 %812, ptr %813, align 4, !tbaa !5
  %814 = load ptr, ptr @stderr, align 8, !tbaa !9
  %815 = load i32, ptr @test_count, align 4, !tbaa !5
  %816 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %817 = load i32, ptr %816, align 4, !tbaa !5
  %818 = call ptr @s2n_strerror(i32 noundef %817, ptr noundef @.str.4)
  %819 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %820 = load i32, ptr %819, align 4, !tbaa !5
  %821 = call ptr @s2n_strerror_debug(i32 noundef %820, ptr noundef @.str.4)
  %822 = call ptr @__errno_location() #11
  %823 = load i32, ptr %822, align 4, !tbaa !5
  %824 = call ptr @strerror(i32 noundef %823) #10
  %825 = call ptr @__errno_location() #11
  %826 = load i32, ptr %825, align 4, !tbaa !5
  %827 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %814, ptr noundef @.str.5, i32 noundef %815, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 106, ptr noundef %818, ptr noundef %821, ptr noundef %824, i32 noundef %826) #10
  br label %828

828:                                              ; preds = %811, %794
  call void @llvm.lifetime.end.p0(i64 4, ptr %25) #10
  br label %829

829:                                              ; preds = %828
  br label %830

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

831:                                              ; No predecessors!
  br label %832

832:                                              ; preds = %831
  br label %833

833:                                              ; preds = %832, %774
  br label %834

834:                                              ; preds = %833
  br label %835

835:                                              ; preds = %834
  br label %836

836:                                              ; preds = %835
  %837 = load i32, ptr @test_count, align 4, !tbaa !5
  %838 = add nsw i32 %837, 1
  store i32 %838, ptr @test_count, align 4, !tbaa !5
  %839 = load ptr, ptr %23, align 8, !tbaa !9
  %840 = load ptr, ptr %19, align 8, !tbaa !9
  %841 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef %839, ptr noundef %840)
  %842 = icmp eq i32 %841, -1
  br i1 %842, label %843, label %896

843:                                              ; preds = %836
  br label %844

844:                                              ; preds = %843
  br label %845

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

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

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

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

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

892:                                              ; preds = %891
  br label %893

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

894:                                              ; No predecessors!
  br label %895

895:                                              ; preds = %894
  br label %896

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

897:                                              ; preds = %896
  br label %898

898:                                              ; preds = %897
  call void @llvm.lifetime.start.p0(i64 8, ptr %27) #10
  %899 = call ptr @s2n_config_new()
  store ptr %899, ptr %27, align 8, !tbaa !9
  br label %900

900:                                              ; preds = %898
  %901 = load i32, ptr @test_count, align 4, !tbaa !5
  %902 = add nsw i32 %901, 1
  store i32 %902, ptr @test_count, align 4, !tbaa !5
  %903 = load ptr, ptr %27, align 8, !tbaa !9
  %904 = call i32 @s2n_config_set_unsafe_for_testing(ptr noundef %903)
  %905 = icmp eq i32 %904, -1
  br i1 %905, label %906, label %959

906:                                              ; preds = %900
  br label %907

907:                                              ; preds = %906
  br label %908

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

915:                                              ; preds = %908
  %916 = load ptr, ptr @stderr, align 8, !tbaa !9
  %917 = call i32 @fileno(ptr noundef %916) #10
  %918 = call i32 @isatty(i32 noundef %917) #10
  %919 = icmp ne i32 %918, 0
  br i1 %919, label %920, label %937

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

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

954:                                              ; preds = %937, %920
  call void @llvm.lifetime.end.p0(i64 4, ptr %28) #10
  br label %955

955:                                              ; preds = %954
  br label %956

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

957:                                              ; No predecessors!
  br label %958

958:                                              ; preds = %957
  br label %959

959:                                              ; preds = %958, %900
  br label %960

960:                                              ; preds = %959
  br label %961

961:                                              ; preds = %960
  br label %962

962:                                              ; preds = %961
  %963 = load i32, ptr @test_count, align 4, !tbaa !5
  %964 = add nsw i32 %963, 1
  store i32 %964, ptr @test_count, align 4, !tbaa !5
  %965 = load ptr, ptr %27, align 8, !tbaa !9
  %966 = load ptr, ptr %21, align 8, !tbaa !9
  %967 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef %965, ptr noundef %966)
  %968 = icmp eq i32 %967, -1
  br i1 %968, label %969, label %1022

969:                                              ; preds = %962
  br label %970

970:                                              ; preds = %969
  br label %971

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

978:                                              ; preds = %971
  %979 = load ptr, ptr @stderr, align 8, !tbaa !9
  %980 = call i32 @fileno(ptr noundef %979) #10
  %981 = call i32 @isatty(i32 noundef %980) #10
  %982 = icmp ne i32 %981, 0
  br i1 %982, label %983, label %1000

983:                                              ; preds = %978
  %984 = load i32, ptr %29, align 4, !tbaa !5
  %985 = call ptr @__errno_location() #11
  store i32 %984, ptr %985, align 4, !tbaa !5
  %986 = load ptr, ptr @stderr, align 8, !tbaa !9
  %987 = load i32, ptr @test_count, align 4, !tbaa !5
  %988 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %989 = load i32, ptr %988, align 4, !tbaa !5
  %990 = call ptr @s2n_strerror(i32 noundef %989, ptr noundef @.str.4)
  %991 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %992 = load i32, ptr %991, align 4, !tbaa !5
  %993 = call ptr @s2n_strerror_debug(i32 noundef %992, ptr noundef @.str.4)
  %994 = call ptr @__errno_location() #11
  %995 = load i32, ptr %994, align 4, !tbaa !5
  %996 = call ptr @strerror(i32 noundef %995) #10
  %997 = call ptr @__errno_location() #11
  %998 = load i32, ptr %997, align 4, !tbaa !5
  %999 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %986, ptr noundef @.str.2, i32 noundef %987, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 112, ptr noundef %990, ptr noundef %993, ptr noundef %996, i32 noundef %998) #10
  br label %1017

1000:                                             ; preds = %978, %971
  %1001 = load i32, ptr %29, align 4, !tbaa !5
  %1002 = call ptr @__errno_location() #11
  store i32 %1001, ptr %1002, align 4, !tbaa !5
  %1003 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1004 = load i32, ptr @test_count, align 4, !tbaa !5
  %1005 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1006 = load i32, ptr %1005, align 4, !tbaa !5
  %1007 = call ptr @s2n_strerror(i32 noundef %1006, ptr noundef @.str.4)
  %1008 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1009 = load i32, ptr %1008, align 4, !tbaa !5
  %1010 = call ptr @s2n_strerror_debug(i32 noundef %1009, ptr noundef @.str.4)
  %1011 = call ptr @__errno_location() #11
  %1012 = load i32, ptr %1011, align 4, !tbaa !5
  %1013 = call ptr @strerror(i32 noundef %1012) #10
  %1014 = call ptr @__errno_location() #11
  %1015 = load i32, ptr %1014, align 4, !tbaa !5
  %1016 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1003, ptr noundef @.str.5, i32 noundef %1004, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 112, ptr noundef %1007, ptr noundef %1010, ptr noundef %1013, i32 noundef %1015) #10
  br label %1017

1017:                                             ; preds = %1000, %983
  call void @llvm.lifetime.end.p0(i64 4, ptr %29) #10
  br label %1018

1018:                                             ; preds = %1017
  br label %1019

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

1020:                                             ; No predecessors!
  br label %1021

1021:                                             ; preds = %1020
  br label %1022

1022:                                             ; preds = %1021, %962
  br label %1023

1023:                                             ; preds = %1022
  br label %1024

1024:                                             ; preds = %1023
  call void @llvm.lifetime.start.p0(i64 8, ptr %30) #10
  store i64 0, ptr %30, align 8, !tbaa !15
  br label %1025

1025:                                             ; preds = %2962, %1024
  %1026 = load i64, ptr %30, align 8, !tbaa !15
  %1027 = load i64, ptr %14, align 8, !tbaa !15
  %1028 = icmp ult i64 %1026, %1027
  br i1 %1028, label %1030, label %1029

1029:                                             ; preds = %1025
  store i32 78, ptr %16, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %30) #10
  br label %2965

1030:                                             ; preds = %1025
  call void @llvm.lifetime.start.p0(i64 4, ptr %31) #10
  store i32 0, ptr %31, align 4, !tbaa !5
  br label %1031

1031:                                             ; preds = %2958, %1030
  %1032 = load i32, ptr %31, align 4, !tbaa !5
  %1033 = icmp ult i32 %1032, 2
  br i1 %1033, label %1035, label %1034

1034:                                             ; preds = %1031
  store i32 81, ptr %16, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %31) #10
  br label %2961

1035:                                             ; preds = %1031
  call void @llvm.lifetime.start.p0(i64 1, ptr %32) #10
  store i8 0, ptr %32, align 1, !tbaa !17
  br label %1036

1036:                                             ; preds = %2954, %1035
  %1037 = load i8, ptr %32, align 1, !tbaa !17
  %1038 = zext i8 %1037 to i32
  %1039 = icmp slt i32 %1038, 2
  br i1 %1039, label %1041, label %1040

1040:                                             ; preds = %1036
  store i32 84, ptr %16, align 4
  call void @llvm.lifetime.end.p0(i64 1, ptr %32) #10
  br label %2957

1041:                                             ; preds = %1036
  call void @llvm.lifetime.start.p0(i64 8, ptr %33) #10
  %1042 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %1042, ptr %33, align 8, !tbaa !9
  br label %1043

1043:                                             ; preds = %1041
  %1044 = load i32, ptr @test_count, align 4, !tbaa !5
  %1045 = add nsw i32 %1044, 1
  store i32 %1045, ptr @test_count, align 4, !tbaa !5
  %1046 = load ptr, ptr %33, align 8, !tbaa !9
  %1047 = call i32 @s2n_connection_set_blinding(ptr noundef %1046, i32 noundef 1)
  %1048 = icmp eq i32 %1047, -1
  br i1 %1048, label %1049, label %1102

1049:                                             ; preds = %1043
  br label %1050

1050:                                             ; preds = %1049
  br label %1051

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

1058:                                             ; preds = %1051
  %1059 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1060 = call i32 @fileno(ptr noundef %1059) #10
  %1061 = call i32 @isatty(i32 noundef %1060) #10
  %1062 = icmp ne i32 %1061, 0
  br i1 %1062, label %1063, label %1080

1063:                                             ; preds = %1058
  %1064 = load i32, ptr %34, align 4, !tbaa !5
  %1065 = call ptr @__errno_location() #11
  store i32 %1064, ptr %1065, align 4, !tbaa !5
  %1066 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1067 = load i32, ptr @test_count, align 4, !tbaa !5
  %1068 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1069 = load i32, ptr %1068, align 4, !tbaa !5
  %1070 = call ptr @s2n_strerror(i32 noundef %1069, ptr noundef @.str.4)
  %1071 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1072 = load i32, ptr %1071, align 4, !tbaa !5
  %1073 = call ptr @s2n_strerror_debug(i32 noundef %1072, ptr noundef @.str.4)
  %1074 = call ptr @__errno_location() #11
  %1075 = load i32, ptr %1074, align 4, !tbaa !5
  %1076 = call ptr @strerror(i32 noundef %1075) #10
  %1077 = call ptr @__errno_location() #11
  %1078 = load i32, ptr %1077, align 4, !tbaa !5
  %1079 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1066, ptr noundef @.str.2, i32 noundef %1067, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 120, ptr noundef %1070, ptr noundef %1073, ptr noundef %1076, i32 noundef %1078) #10
  br label %1097

1080:                                             ; preds = %1058, %1051
  %1081 = load i32, ptr %34, align 4, !tbaa !5
  %1082 = call ptr @__errno_location() #11
  store i32 %1081, ptr %1082, align 4, !tbaa !5
  %1083 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1084 = load i32, ptr @test_count, align 4, !tbaa !5
  %1085 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1086 = load i32, ptr %1085, align 4, !tbaa !5
  %1087 = call ptr @s2n_strerror(i32 noundef %1086, ptr noundef @.str.4)
  %1088 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1089 = load i32, ptr %1088, align 4, !tbaa !5
  %1090 = call ptr @s2n_strerror_debug(i32 noundef %1089, ptr noundef @.str.4)
  %1091 = call ptr @__errno_location() #11
  %1092 = load i32, ptr %1091, align 4, !tbaa !5
  %1093 = call ptr @strerror(i32 noundef %1092) #10
  %1094 = call ptr @__errno_location() #11
  %1095 = load i32, ptr %1094, align 4, !tbaa !5
  %1096 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1083, ptr noundef @.str.5, i32 noundef %1084, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 120, ptr noundef %1087, ptr noundef %1090, ptr noundef %1093, i32 noundef %1095) #10
  br label %1097

1097:                                             ; preds = %1080, %1063
  call void @llvm.lifetime.end.p0(i64 4, ptr %34) #10
  br label %1098

1098:                                             ; preds = %1097
  br label %1099

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

1100:                                             ; No predecessors!
  br label %1101

1101:                                             ; preds = %1100
  br label %1102

1102:                                             ; preds = %1101, %1043
  br label %1103

1103:                                             ; preds = %1102
  br label %1104

1104:                                             ; preds = %1103
  br label %1105

1105:                                             ; preds = %1104
  %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 = load ptr, ptr %33, align 8, !tbaa !9
  %1109 = load ptr, ptr %23, align 8, !tbaa !9
  %1110 = call i32 @s2n_connection_set_config(ptr noundef %1108, ptr noundef %1109)
  %1111 = icmp eq i32 %1110, -1
  br i1 %1111, label %1112, label %1165

1112:                                             ; preds = %1105
  br label %1113

1113:                                             ; preds = %1112
  br label %1114

1114:                                             ; preds = %1113
  call void @llvm.lifetime.start.p0(i64 4, ptr %35) #10
  %1115 = call ptr @__errno_location() #11
  %1116 = load i32, ptr %1115, align 4, !tbaa !5
  store i32 %1116, ptr %35, 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 %35, 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.22, ptr noundef @.str.1, i32 noundef 121, ptr noundef %1133, ptr noundef %1136, ptr noundef %1139, i32 noundef %1141) #10
  br label %1160

1143:                                             ; preds = %1121, %1114
  %1144 = load i32, ptr %35, 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.22, ptr noundef @.str.1, i32 noundef 121, 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 %35) #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, %1105
  br label %1166

1166:                                             ; preds = %1165
  br label %1167

1167:                                             ; preds = %1166
  call void @llvm.lifetime.start.p0(i64 8, ptr %36) #10
  %1168 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %1168, ptr %36, align 8, !tbaa !9
  br label %1169

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

1175:                                             ; preds = %1169
  br label %1176

1176:                                             ; preds = %1175
  br label %1177

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

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

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

1206:                                             ; preds = %1184, %1177
  %1207 = load i32, ptr %37, align 4, !tbaa !5
  %1208 = call ptr @__errno_location() #11
  store i32 %1207, ptr %1208, align 4, !tbaa !5
  %1209 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1210 = load i32, ptr @test_count, align 4, !tbaa !5
  %1211 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1212 = load i32, ptr %1211, align 4, !tbaa !5
  %1213 = call ptr @s2n_strerror(i32 noundef %1212, ptr noundef @.str.4)
  %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_debug(i32 noundef %1215, ptr noundef @.str.4)
  %1217 = call ptr @__errno_location() #11
  %1218 = load i32, ptr %1217, align 4, !tbaa !5
  %1219 = call ptr @strerror(i32 noundef %1218) #10
  %1220 = call ptr @__errno_location() #11
  %1221 = load i32, ptr %1220, align 4, !tbaa !5
  %1222 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1209, ptr noundef @.str.5, i32 noundef %1210, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 125, ptr noundef %1213, ptr noundef %1216, ptr noundef %1219, i32 noundef %1221) #10
  br label %1223

1223:                                             ; preds = %1206, %1189
  call void @llvm.lifetime.end.p0(i64 4, ptr %37) #10
  br label %1224

1224:                                             ; preds = %1223
  br label %1225

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

1226:                                             ; No predecessors!
  br label %1227

1227:                                             ; preds = %1226
  br label %1228

1228:                                             ; preds = %1227, %1169
  br label %1229

1229:                                             ; preds = %1228
  br label %1230

1230:                                             ; preds = %1229
  br label %1231

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

1238:                                             ; preds = %1231
  br label %1239

1239:                                             ; preds = %1238
  br label %1240

1240:                                             ; preds = %1239
  call void @llvm.lifetime.start.p0(i64 4, ptr %38) #10
  %1241 = call ptr @__errno_location() #11
  %1242 = load i32, ptr %1241, align 4, !tbaa !5
  store i32 %1242, ptr %38, 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 %38, 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.24, ptr noundef @.str.1, i32 noundef 126, ptr noundef %1259, ptr noundef %1262, ptr noundef %1265, i32 noundef %1267) #10
  br label %1286

1269:                                             ; preds = %1247, %1240
  %1270 = load i32, ptr %38, 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.24, ptr noundef @.str.1, i32 noundef 126, 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 %38) #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, %1231
  br label %1292

1292:                                             ; preds = %1291
  br label %1293

1293:                                             ; preds = %1292
  call void @llvm.lifetime.start.p0(i64 80, ptr %39) #10
  call void @llvm.memset.p0.i64(ptr align 8 %39, i8 0, i64 80, i1 false)
  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_io_stuffer_pair_init(ptr noundef %39)
  %1298 = getelementptr inbounds %struct.s2n_result, ptr %40, i32 0, i32 0
  store i32 %1297, ptr %1298, align 4
  %1299 = getelementptr inbounds %struct.s2n_result, ptr %40, i32 0, i32 0
  %1300 = load i32, ptr %1299, align 4
  %1301 = call zeroext i1 @s2n_result_is_ok(i32 %1300)
  br i1 %1301, label %1355, label %1302

1302:                                             ; preds = %1294
  br label %1303

1303:                                             ; preds = %1302
  br label %1304

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

1311:                                             ; preds = %1304
  %1312 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1313 = call i32 @fileno(ptr noundef %1312) #10
  %1314 = call i32 @isatty(i32 noundef %1313) #10
  %1315 = icmp ne i32 %1314, 0
  br i1 %1315, label %1316, label %1333

1316:                                             ; preds = %1311
  %1317 = load i32, ptr %41, align 4, !tbaa !5
  %1318 = call ptr @__errno_location() #11
  store i32 %1317, ptr %1318, align 4, !tbaa !5
  %1319 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1320 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %1322, ptr noundef @.str.4)
  %1324 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1325 = load i32, ptr %1324, align 4, !tbaa !5
  %1326 = call ptr @s2n_strerror_debug(i32 noundef %1325, ptr noundef @.str.4)
  %1327 = call ptr @__errno_location() #11
  %1328 = load i32, ptr %1327, align 4, !tbaa !5
  %1329 = call ptr @strerror(i32 noundef %1328) #10
  %1330 = call ptr @__errno_location() #11
  %1331 = load i32, ptr %1330, align 4, !tbaa !5
  %1332 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1319, ptr noundef @.str.2, i32 noundef %1320, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 129, ptr noundef %1323, ptr noundef %1326, ptr noundef %1329, i32 noundef %1331) #10
  br label %1350

1333:                                             ; preds = %1311, %1304
  %1334 = load i32, ptr %41, align 4, !tbaa !5
  %1335 = call ptr @__errno_location() #11
  store i32 %1334, ptr %1335, align 4, !tbaa !5
  %1336 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1337 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %1339, ptr noundef @.str.4)
  %1341 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1342 = load i32, ptr %1341, align 4, !tbaa !5
  %1343 = call ptr @s2n_strerror_debug(i32 noundef %1342, ptr noundef @.str.4)
  %1344 = call ptr @__errno_location() #11
  %1345 = load i32, ptr %1344, align 4, !tbaa !5
  %1346 = call ptr @strerror(i32 noundef %1345) #10
  %1347 = call ptr @__errno_location() #11
  %1348 = load i32, ptr %1347, align 4, !tbaa !5
  %1349 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1336, ptr noundef @.str.5, i32 noundef %1337, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 129, ptr noundef %1340, ptr noundef %1343, ptr noundef %1346, i32 noundef %1348) #10
  br label %1350

1350:                                             ; preds = %1333, %1316
  call void @llvm.lifetime.end.p0(i64 4, ptr %41) #10
  br label %1351

1351:                                             ; preds = %1350
  br label %1352

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

1353:                                             ; No predecessors!
  br label %1354

1354:                                             ; preds = %1353
  br label %1355

1355:                                             ; preds = %1354, %1294
  br label %1356

1356:                                             ; preds = %1355
  br label %1357

1357:                                             ; preds = %1356
  br label %1358

1358:                                             ; preds = %1357
  %1359 = load i32, ptr @test_count, align 4, !tbaa !5
  %1360 = add nsw i32 %1359, 1
  store i32 %1360, ptr @test_count, align 4, !tbaa !5
  %1361 = load ptr, ptr %36, align 8, !tbaa !9
  %1362 = load ptr, ptr %33, align 8, !tbaa !9
  %1363 = call i32 @s2n_connections_set_io_stuffer_pair(ptr noundef %1361, ptr noundef %1362, ptr noundef %39)
  %1364 = getelementptr inbounds %struct.s2n_result, ptr %42, i32 0, i32 0
  store i32 %1363, ptr %1364, align 4
  %1365 = getelementptr inbounds %struct.s2n_result, ptr %42, i32 0, i32 0
  %1366 = load i32, ptr %1365, align 4
  %1367 = call zeroext i1 @s2n_result_is_ok(i32 %1366)
  br i1 %1367, label %1421, label %1368

1368:                                             ; preds = %1358
  br label %1369

1369:                                             ; preds = %1368
  br label %1370

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

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

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

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

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

1417:                                             ; preds = %1416
  br label %1418

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

1419:                                             ; No predecessors!
  br label %1420

1420:                                             ; preds = %1419
  br label %1421

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

1422:                                             ; preds = %1421
  br label %1423

1423:                                             ; preds = %1422
  %1424 = load i32, ptr %31, align 4, !tbaa !5
  %1425 = icmp eq i32 %1424, 0
  br i1 %1425, label %1426, label %1493

1426:                                             ; preds = %1423
  br label %1427

1427:                                             ; preds = %1426
  %1428 = load i32, ptr @test_count, align 4, !tbaa !5
  %1429 = add nsw i32 %1428, 1
  store i32 %1429, ptr @test_count, align 4, !tbaa !5
  %1430 = load ptr, ptr %33, align 8, !tbaa !9
  %1431 = load ptr, ptr %36, align 8, !tbaa !9
  %1432 = call i32 @s2n_negotiate_test_server_and_client_until_message(ptr noundef %1430, ptr noundef %1431, i32 noundef 2)
  %1433 = getelementptr inbounds %struct.s2n_result, ptr %44, i32 0, i32 0
  store i32 %1432, ptr %1433, align 4
  %1434 = getelementptr inbounds %struct.s2n_result, ptr %44, i32 0, i32 0
  %1435 = load i32, ptr %1434, align 4
  %1436 = call zeroext i1 @s2n_result_is_ok(i32 %1435)
  br i1 %1436, label %1490, label %1437

1437:                                             ; preds = %1427
  br label %1438

1438:                                             ; preds = %1437
  br label %1439

1439:                                             ; preds = %1438
  call void @llvm.lifetime.start.p0(i64 4, ptr %45) #10
  %1440 = call ptr @__errno_location() #11
  %1441 = load i32, ptr %1440, align 4, !tbaa !5
  store i32 %1441, ptr %45, align 4, !tbaa !5
  %1442 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1443 = call i32 @s2n_print_stacktrace(ptr noundef %1442)
  %1444 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1445 = trunc i8 %1444 to i1
  br i1 %1445, label %1446, label %1468

1446:                                             ; preds = %1439
  %1447 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1448 = call i32 @fileno(ptr noundef %1447) #10
  %1449 = call i32 @isatty(i32 noundef %1448) #10
  %1450 = icmp ne i32 %1449, 0
  br i1 %1450, label %1451, label %1468

1451:                                             ; preds = %1446
  %1452 = load i32, ptr %45, align 4, !tbaa !5
  %1453 = call ptr @__errno_location() #11
  store i32 %1452, ptr %1453, align 4, !tbaa !5
  %1454 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1455 = load i32, ptr @test_count, align 4, !tbaa !5
  %1456 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1457 = load i32, ptr %1456, align 4, !tbaa !5
  %1458 = call ptr @s2n_strerror(i32 noundef %1457, ptr noundef @.str.4)
  %1459 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1460 = load i32, ptr %1459, align 4, !tbaa !5
  %1461 = call ptr @s2n_strerror_debug(i32 noundef %1460, ptr noundef @.str.4)
  %1462 = call ptr @__errno_location() #11
  %1463 = load i32, ptr %1462, align 4, !tbaa !5
  %1464 = call ptr @strerror(i32 noundef %1463) #10
  %1465 = call ptr @__errno_location() #11
  %1466 = load i32, ptr %1465, align 4, !tbaa !5
  %1467 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1454, ptr noundef @.str.2, i32 noundef %1455, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 134, ptr noundef %1458, ptr noundef %1461, ptr noundef %1464, i32 noundef %1466) #10
  br label %1485

1468:                                             ; preds = %1446, %1439
  %1469 = load i32, ptr %45, align 4, !tbaa !5
  %1470 = call ptr @__errno_location() #11
  store i32 %1469, ptr %1470, align 4, !tbaa !5
  %1471 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1472 = load i32, ptr @test_count, align 4, !tbaa !5
  %1473 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1474 = load i32, ptr %1473, align 4, !tbaa !5
  %1475 = call ptr @s2n_strerror(i32 noundef %1474, ptr noundef @.str.4)
  %1476 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1477 = load i32, ptr %1476, align 4, !tbaa !5
  %1478 = call ptr @s2n_strerror_debug(i32 noundef %1477, ptr noundef @.str.4)
  %1479 = call ptr @__errno_location() #11
  %1480 = load i32, ptr %1479, align 4, !tbaa !5
  %1481 = call ptr @strerror(i32 noundef %1480) #10
  %1482 = call ptr @__errno_location() #11
  %1483 = load i32, ptr %1482, align 4, !tbaa !5
  %1484 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1471, ptr noundef @.str.5, i32 noundef %1472, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 134, ptr noundef %1475, ptr noundef %1478, ptr noundef %1481, i32 noundef %1483) #10
  br label %1485

1485:                                             ; preds = %1468, %1451
  call void @llvm.lifetime.end.p0(i64 4, ptr %45) #10
  br label %1486

1486:                                             ; preds = %1485
  br label %1487

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

1488:                                             ; No predecessors!
  br label %1489

1489:                                             ; preds = %1488
  br label %1490

1490:                                             ; preds = %1489, %1427
  br label %1491

1491:                                             ; preds = %1490
  br label %1492

1492:                                             ; preds = %1491
  br label %1557

1493:                                             ; preds = %1423
  br label %1494

1494:                                             ; preds = %1493
  %1495 = load i32, ptr @test_count, align 4, !tbaa !5
  %1496 = add nsw i32 %1495, 1
  store i32 %1496, ptr @test_count, align 4, !tbaa !5
  %1497 = load ptr, ptr %33, align 8, !tbaa !9
  %1498 = load ptr, ptr %36, align 8, !tbaa !9
  %1499 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %1497, ptr noundef %1498)
  %1500 = icmp eq i32 %1499, -1
  br i1 %1500, label %1501, label %1554

1501:                                             ; preds = %1494
  br label %1502

1502:                                             ; preds = %1501
  br label %1503

1503:                                             ; preds = %1502
  call void @llvm.lifetime.start.p0(i64 4, ptr %46) #10
  %1504 = call ptr @__errno_location() #11
  %1505 = load i32, ptr %1504, align 4, !tbaa !5
  store i32 %1505, ptr %46, align 4, !tbaa !5
  %1506 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1507 = call i32 @s2n_print_stacktrace(ptr noundef %1506)
  %1508 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1509 = trunc i8 %1508 to i1
  br i1 %1509, label %1510, label %1532

1510:                                             ; preds = %1503
  %1511 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1512 = call i32 @fileno(ptr noundef %1511) #10
  %1513 = call i32 @isatty(i32 noundef %1512) #10
  %1514 = icmp ne i32 %1513, 0
  br i1 %1514, label %1515, label %1532

1515:                                             ; preds = %1510
  %1516 = load i32, ptr %46, 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.2, i32 noundef %1519, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 137, ptr noundef %1522, ptr noundef %1525, ptr noundef %1528, i32 noundef %1530) #10
  br label %1549

1532:                                             ; preds = %1510, %1503
  %1533 = load i32, ptr %46, align 4, !tbaa !5
  %1534 = call ptr @__errno_location() #11
  store i32 %1533, ptr %1534, align 4, !tbaa !5
  %1535 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1536 = load i32, ptr @test_count, align 4, !tbaa !5
  %1537 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1538 = load i32, ptr %1537, align 4, !tbaa !5
  %1539 = call ptr @s2n_strerror(i32 noundef %1538, ptr noundef @.str.4)
  %1540 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1541 = load i32, ptr %1540, align 4, !tbaa !5
  %1542 = call ptr @s2n_strerror_debug(i32 noundef %1541, ptr noundef @.str.4)
  %1543 = call ptr @__errno_location() #11
  %1544 = load i32, ptr %1543, align 4, !tbaa !5
  %1545 = call ptr @strerror(i32 noundef %1544) #10
  %1546 = call ptr @__errno_location() #11
  %1547 = load i32, ptr %1546, align 4, !tbaa !5
  %1548 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1535, ptr noundef @.str.5, i32 noundef %1536, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 137, ptr noundef %1539, ptr noundef %1542, ptr noundef %1545, i32 noundef %1547) #10
  br label %1549

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

1550:                                             ; preds = %1549
  br label %1551

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

1552:                                             ; No predecessors!
  br label %1553

1553:                                             ; preds = %1552
  br label %1554

1554:                                             ; preds = %1553, %1494
  br label %1555

1555:                                             ; preds = %1554
  br label %1556

1556:                                             ; preds = %1555
  br label %1557

1557:                                             ; preds = %1556, %1492
  br label %1558

1558:                                             ; preds = %1557
  %1559 = load i32, ptr @test_count, align 4, !tbaa !5
  %1560 = add nsw i32 %1559, 1
  store i32 %1560, ptr @test_count, align 4, !tbaa !5
  %1561 = load ptr, ptr %33, align 8, !tbaa !9
  %1562 = getelementptr inbounds %struct.s2n_connection, ptr %1561, i32 0, i32 23
  %1563 = load i8, ptr %1562, align 4, !tbaa !21
  %1564 = zext i8 %1563 to i32
  %1565 = icmp eq i32 %1564, 34
  br i1 %1565, label %1619, label %1566

1566:                                             ; preds = %1558
  br label %1567

1567:                                             ; preds = %1566
  br label %1568

1568:                                             ; preds = %1567
  call void @llvm.lifetime.start.p0(i64 4, ptr %47) #10
  %1569 = call ptr @__errno_location() #11
  %1570 = load i32, ptr %1569, align 4, !tbaa !5
  store i32 %1570, ptr %47, align 4, !tbaa !5
  %1571 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1572 = call i32 @s2n_print_stacktrace(ptr noundef %1571)
  %1573 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1574 = trunc i8 %1573 to i1
  br i1 %1574, label %1575, label %1597

1575:                                             ; preds = %1568
  %1576 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1577 = call i32 @fileno(ptr noundef %1576) #10
  %1578 = call i32 @isatty(i32 noundef %1577) #10
  %1579 = icmp ne i32 %1578, 0
  br i1 %1579, label %1580, label %1597

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

1597:                                             ; preds = %1575, %1568
  %1598 = load i32, ptr %47, align 4, !tbaa !5
  %1599 = call ptr @__errno_location() #11
  store i32 %1598, ptr %1599, align 4, !tbaa !5
  %1600 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1601 = load i32, ptr @test_count, align 4, !tbaa !5
  %1602 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1603 = load i32, ptr %1602, align 4, !tbaa !5
  %1604 = call ptr @s2n_strerror(i32 noundef %1603, ptr noundef @.str.4)
  %1605 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1606 = load i32, ptr %1605, align 4, !tbaa !5
  %1607 = call ptr @s2n_strerror_debug(i32 noundef %1606, ptr noundef @.str.4)
  %1608 = call ptr @__errno_location() #11
  %1609 = load i32, ptr %1608, align 4, !tbaa !5
  %1610 = call ptr @strerror(i32 noundef %1609) #10
  %1611 = call ptr @__errno_location() #11
  %1612 = load i32, ptr %1611, align 4, !tbaa !5
  %1613 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1600, ptr noundef @.str.5, i32 noundef %1601, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 139, ptr noundef %1604, ptr noundef %1607, ptr noundef %1610, i32 noundef %1612) #10
  br label %1614

1614:                                             ; preds = %1597, %1580
  call void @llvm.lifetime.end.p0(i64 4, ptr %47) #10
  br label %1615

1615:                                             ; preds = %1614
  br label %1616

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

1617:                                             ; No predecessors!
  br label %1618

1618:                                             ; preds = %1617
  br label %1619

1619:                                             ; preds = %1618, %1558
  br label %1620

1620:                                             ; preds = %1619
  br label %1621

1621:                                             ; preds = %1620
  call void @llvm.lifetime.start.p0(i64 8, ptr %48) #10
  %1622 = load ptr, ptr %33, align 8, !tbaa !9
  store ptr %1622, ptr %48, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %49) #10
  %1623 = load ptr, ptr %36, align 8, !tbaa !9
  store ptr %1623, ptr %49, align 8, !tbaa !9
  %1624 = load i8, ptr %32, align 1, !tbaa !17
  %1625 = zext i8 %1624 to i32
  %1626 = icmp eq i32 %1625, 1
  br i1 %1626, label %1627, label %1630

1627:                                             ; preds = %1621
  %1628 = load ptr, ptr %36, align 8, !tbaa !9
  store ptr %1628, ptr %48, align 8, !tbaa !9
  %1629 = load ptr, ptr %33, align 8, !tbaa !9
  store ptr %1629, ptr %49, align 8, !tbaa !9
  br label %1630

1630:                                             ; preds = %1627, %1621
  call void @llvm.lifetime.start.p0(i64 24, ptr %50) #10
  call void @llvm.memset.p0.i64(ptr align 8 %50, i8 0, i64 24, i1 false)
  call void @llvm.lifetime.start.p0(i64 4, ptr %51) #10
  store i32 0, ptr %51, align 4, !tbaa !5
  br label %1631

1631:                                             ; preds = %1630
  %1632 = load i32, ptr @test_count, align 4, !tbaa !5
  %1633 = add nsw i32 %1632, 1
  store i32 %1633, ptr @test_count, align 4, !tbaa !5
  %1634 = load i64, ptr %30, align 8, !tbaa !15
  %1635 = getelementptr inbounds [65535 x [2 x i8]], ptr %13, i64 0, i64 %1634
  %1636 = getelementptr inbounds [2 x i8], ptr %1635, i64 0, i64 0
  %1637 = call i32 @s2n_blob_init(ptr noundef %50, ptr noundef %1636, i32 noundef 2)
  %1638 = icmp eq i32 %1637, -1
  br i1 %1638, label %1639, label %1692

1639:                                             ; preds = %1631
  br label %1640

1640:                                             ; preds = %1639
  br label %1641

1641:                                             ; preds = %1640
  call void @llvm.lifetime.start.p0(i64 4, ptr %52) #10
  %1642 = call ptr @__errno_location() #11
  %1643 = load i32, ptr %1642, align 4, !tbaa !5
  store i32 %1643, ptr %52, align 4, !tbaa !5
  %1644 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1645 = call i32 @s2n_print_stacktrace(ptr noundef %1644)
  %1646 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1647 = trunc i8 %1646 to i1
  br i1 %1647, label %1648, label %1670

1648:                                             ; preds = %1641
  %1649 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1650 = call i32 @fileno(ptr noundef %1649) #10
  %1651 = call i32 @isatty(i32 noundef %1650) #10
  %1652 = icmp ne i32 %1651, 0
  br i1 %1652, label %1653, label %1670

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

1670:                                             ; preds = %1648, %1641
  %1671 = load i32, ptr %52, align 4, !tbaa !5
  %1672 = call ptr @__errno_location() #11
  store i32 %1671, ptr %1672, align 4, !tbaa !5
  %1673 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1674 = load i32, ptr @test_count, align 4, !tbaa !5
  %1675 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1676 = load i32, ptr %1675, align 4, !tbaa !5
  %1677 = call ptr @s2n_strerror(i32 noundef %1676, ptr noundef @.str.4)
  %1678 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1679 = load i32, ptr %1678, align 4, !tbaa !5
  %1680 = call ptr @s2n_strerror_debug(i32 noundef %1679, ptr noundef @.str.4)
  %1681 = call ptr @__errno_location() #11
  %1682 = load i32, ptr %1681, align 4, !tbaa !5
  %1683 = call ptr @strerror(i32 noundef %1682) #10
  %1684 = call ptr @__errno_location() #11
  %1685 = load i32, ptr %1684, align 4, !tbaa !5
  %1686 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1673, ptr noundef @.str.5, i32 noundef %1674, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 151, ptr noundef %1677, ptr noundef %1680, ptr noundef %1683, i32 noundef %1685) #10
  br label %1687

1687:                                             ; preds = %1670, %1653
  call void @llvm.lifetime.end.p0(i64 4, ptr %52) #10
  br label %1688

1688:                                             ; preds = %1687
  br label %1689

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

1690:                                             ; No predecessors!
  br label %1691

1691:                                             ; preds = %1690
  br label %1692

1692:                                             ; preds = %1691, %1631
  br label %1693

1693:                                             ; preds = %1692
  br label %1694

1694:                                             ; preds = %1693
  br label %1695

1695:                                             ; preds = %1694
  %1696 = load i32, ptr @test_count, align 4, !tbaa !5
  %1697 = add nsw i32 %1696, 1
  store i32 %1697, ptr @test_count, align 4, !tbaa !5
  %1698 = load ptr, ptr %49, align 8, !tbaa !9
  %1699 = call i32 @s2n_record_write(ptr noundef %1698, i8 noundef zeroext 21, ptr noundef %50)
  %1700 = getelementptr inbounds %struct.s2n_result, ptr %53, i32 0, i32 0
  store i32 %1699, ptr %1700, align 4
  %1701 = getelementptr inbounds %struct.s2n_result, ptr %53, i32 0, i32 0
  %1702 = load i32, ptr %1701, align 4
  %1703 = call zeroext i1 @s2n_result_is_ok(i32 %1702)
  br i1 %1703, label %1757, label %1704

1704:                                             ; preds = %1695
  br label %1705

1705:                                             ; preds = %1704
  br label %1706

1706:                                             ; preds = %1705
  call void @llvm.lifetime.start.p0(i64 4, ptr %54) #10
  %1707 = call ptr @__errno_location() #11
  %1708 = load i32, ptr %1707, align 4, !tbaa !5
  store i32 %1708, ptr %54, align 4, !tbaa !5
  %1709 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1710 = call i32 @s2n_print_stacktrace(ptr noundef %1709)
  %1711 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1712 = trunc i8 %1711 to i1
  br i1 %1712, label %1713, label %1735

1713:                                             ; preds = %1706
  %1714 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1715 = call i32 @fileno(ptr noundef %1714) #10
  %1716 = call i32 @isatty(i32 noundef %1715) #10
  %1717 = icmp ne i32 %1716, 0
  br i1 %1717, label %1718, label %1735

1718:                                             ; preds = %1713
  %1719 = load i32, ptr %54, align 4, !tbaa !5
  %1720 = call ptr @__errno_location() #11
  store i32 %1719, ptr %1720, align 4, !tbaa !5
  %1721 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1722 = load i32, ptr @test_count, align 4, !tbaa !5
  %1723 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1724 = load i32, ptr %1723, align 4, !tbaa !5
  %1725 = call ptr @s2n_strerror(i32 noundef %1724, ptr noundef @.str.4)
  %1726 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1727 = load i32, ptr %1726, align 4, !tbaa !5
  %1728 = call ptr @s2n_strerror_debug(i32 noundef %1727, ptr noundef @.str.4)
  %1729 = call ptr @__errno_location() #11
  %1730 = load i32, ptr %1729, align 4, !tbaa !5
  %1731 = call ptr @strerror(i32 noundef %1730) #10
  %1732 = call ptr @__errno_location() #11
  %1733 = load i32, ptr %1732, align 4, !tbaa !5
  %1734 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1721, ptr noundef @.str.2, i32 noundef %1722, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 152, ptr noundef %1725, ptr noundef %1728, ptr noundef %1731, i32 noundef %1733) #10
  br label %1752

1735:                                             ; preds = %1713, %1706
  %1736 = load i32, ptr %54, align 4, !tbaa !5
  %1737 = call ptr @__errno_location() #11
  store i32 %1736, ptr %1737, align 4, !tbaa !5
  %1738 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1739 = load i32, ptr @test_count, align 4, !tbaa !5
  %1740 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1741 = load i32, ptr %1740, align 4, !tbaa !5
  %1742 = call ptr @s2n_strerror(i32 noundef %1741, ptr noundef @.str.4)
  %1743 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1744 = load i32, ptr %1743, align 4, !tbaa !5
  %1745 = call ptr @s2n_strerror_debug(i32 noundef %1744, ptr noundef @.str.4)
  %1746 = call ptr @__errno_location() #11
  %1747 = load i32, ptr %1746, align 4, !tbaa !5
  %1748 = call ptr @strerror(i32 noundef %1747) #10
  %1749 = call ptr @__errno_location() #11
  %1750 = load i32, ptr %1749, align 4, !tbaa !5
  %1751 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1738, ptr noundef @.str.5, i32 noundef %1739, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 152, ptr noundef %1742, ptr noundef %1745, ptr noundef %1748, i32 noundef %1750) #10
  br label %1752

1752:                                             ; preds = %1735, %1718
  call void @llvm.lifetime.end.p0(i64 4, ptr %54) #10
  br label %1753

1753:                                             ; preds = %1752
  br label %1754

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

1755:                                             ; No predecessors!
  br label %1756

1756:                                             ; preds = %1755
  br label %1757

1757:                                             ; preds = %1756, %1695
  br label %1758

1758:                                             ; preds = %1757
  br label %1759

1759:                                             ; preds = %1758
  br label %1760

1760:                                             ; preds = %1759
  %1761 = load i32, ptr @test_count, align 4, !tbaa !5
  %1762 = add nsw i32 %1761, 1
  store i32 %1762, ptr @test_count, align 4, !tbaa !5
  %1763 = load ptr, ptr %49, align 8, !tbaa !9
  %1764 = call i32 @s2n_flush(ptr noundef %1763, ptr noundef %51)
  %1765 = icmp eq i32 %1764, -1
  br i1 %1765, label %1766, label %1819

1766:                                             ; preds = %1760
  br label %1767

1767:                                             ; preds = %1766
  br label %1768

1768:                                             ; preds = %1767
  call void @llvm.lifetime.start.p0(i64 4, ptr %55) #10
  %1769 = call ptr @__errno_location() #11
  %1770 = load i32, ptr %1769, align 4, !tbaa !5
  store i32 %1770, ptr %55, align 4, !tbaa !5
  %1771 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1772 = call i32 @s2n_print_stacktrace(ptr noundef %1771)
  %1773 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1774 = trunc i8 %1773 to i1
  br i1 %1774, label %1775, label %1797

1775:                                             ; preds = %1768
  %1776 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1777 = call i32 @fileno(ptr noundef %1776) #10
  %1778 = call i32 @isatty(i32 noundef %1777) #10
  %1779 = icmp ne i32 %1778, 0
  br i1 %1779, label %1780, label %1797

1780:                                             ; preds = %1775
  %1781 = load i32, ptr %55, align 4, !tbaa !5
  %1782 = call ptr @__errno_location() #11
  store i32 %1781, ptr %1782, align 4, !tbaa !5
  %1783 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1784 = load i32, ptr @test_count, align 4, !tbaa !5
  %1785 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1786 = load i32, ptr %1785, align 4, !tbaa !5
  %1787 = call ptr @s2n_strerror(i32 noundef %1786, ptr noundef @.str.4)
  %1788 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1789 = load i32, ptr %1788, align 4, !tbaa !5
  %1790 = call ptr @s2n_strerror_debug(i32 noundef %1789, ptr noundef @.str.4)
  %1791 = call ptr @__errno_location() #11
  %1792 = load i32, ptr %1791, align 4, !tbaa !5
  %1793 = call ptr @strerror(i32 noundef %1792) #10
  %1794 = call ptr @__errno_location() #11
  %1795 = load i32, ptr %1794, align 4, !tbaa !5
  %1796 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1783, ptr noundef @.str.2, i32 noundef %1784, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 153, ptr noundef %1787, ptr noundef %1790, ptr noundef %1793, i32 noundef %1795) #10
  br label %1814

1797:                                             ; preds = %1775, %1768
  %1798 = load i32, ptr %55, align 4, !tbaa !5
  %1799 = call ptr @__errno_location() #11
  store i32 %1798, ptr %1799, align 4, !tbaa !5
  %1800 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1801 = load i32, ptr @test_count, align 4, !tbaa !5
  %1802 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1803 = load i32, ptr %1802, align 4, !tbaa !5
  %1804 = call ptr @s2n_strerror(i32 noundef %1803, ptr noundef @.str.4)
  %1805 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1806 = load i32, ptr %1805, align 4, !tbaa !5
  %1807 = call ptr @s2n_strerror_debug(i32 noundef %1806, ptr noundef @.str.4)
  %1808 = call ptr @__errno_location() #11
  %1809 = load i32, ptr %1808, align 4, !tbaa !5
  %1810 = call ptr @strerror(i32 noundef %1809) #10
  %1811 = call ptr @__errno_location() #11
  %1812 = load i32, ptr %1811, align 4, !tbaa !5
  %1813 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1800, ptr noundef @.str.5, i32 noundef %1801, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 153, ptr noundef %1804, ptr noundef %1807, ptr noundef %1810, i32 noundef %1812) #10
  br label %1814

1814:                                             ; preds = %1797, %1780
  call void @llvm.lifetime.end.p0(i64 4, ptr %55) #10
  br label %1815

1815:                                             ; preds = %1814
  br label %1816

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

1817:                                             ; No predecessors!
  br label %1818

1818:                                             ; preds = %1817
  br label %1819

1819:                                             ; preds = %1818, %1760
  br label %1820

1820:                                             ; preds = %1819
  br label %1821

1821:                                             ; preds = %1820
  %1822 = load i32, ptr %31, align 4, !tbaa !5
  %1823 = icmp eq i32 %1822, 0
  br i1 %1823, label %1824, label %2221

1824:                                             ; preds = %1821
  br label %1825

1825:                                             ; preds = %1824
  br label %1826

1826:                                             ; preds = %1825
  br label %1827

1827:                                             ; preds = %1826
  %1828 = load i32, ptr @test_count, align 4, !tbaa !5
  %1829 = add nsw i32 %1828, 1
  store i32 %1829, ptr @test_count, align 4, !tbaa !5
  %1830 = load ptr, ptr %48, align 8, !tbaa !9
  %1831 = call i32 @s2n_negotiate(ptr noundef %1830, ptr noundef %51)
  %1832 = icmp eq i32 %1831, -1
  br i1 %1832, label %1886, label %1833

1833:                                             ; preds = %1827
  br label %1834

1834:                                             ; preds = %1833
  br label %1835

1835:                                             ; preds = %1834
  call void @llvm.lifetime.start.p0(i64 4, ptr %56) #10
  %1836 = call ptr @__errno_location() #11
  %1837 = load i32, ptr %1836, align 4, !tbaa !5
  store i32 %1837, ptr %56, align 4, !tbaa !5
  %1838 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1839 = call i32 @s2n_print_stacktrace(ptr noundef %1838)
  %1840 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1841 = trunc i8 %1840 to i1
  br i1 %1841, label %1842, label %1864

1842:                                             ; preds = %1835
  %1843 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1844 = call i32 @fileno(ptr noundef %1843) #10
  %1845 = call i32 @isatty(i32 noundef %1844) #10
  %1846 = icmp ne i32 %1845, 0
  br i1 %1846, label %1847, label %1864

1847:                                             ; preds = %1842
  %1848 = load i32, ptr %56, align 4, !tbaa !5
  %1849 = call ptr @__errno_location() #11
  store i32 %1848, ptr %1849, align 4, !tbaa !5
  %1850 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1851 = load i32, ptr @test_count, align 4, !tbaa !5
  %1852 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1853 = load i32, ptr %1852, align 4, !tbaa !5
  %1854 = call ptr @s2n_strerror(i32 noundef %1853, ptr noundef @.str.4)
  %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_debug(i32 noundef %1856, ptr noundef @.str.4)
  %1858 = call ptr @__errno_location() #11
  %1859 = load i32, ptr %1858, align 4, !tbaa !5
  %1860 = call ptr @strerror(i32 noundef %1859) #10
  %1861 = call ptr @__errno_location() #11
  %1862 = load i32, ptr %1861, align 4, !tbaa !5
  %1863 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1850, ptr noundef @.str.2, i32 noundef %1851, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 163, ptr noundef %1854, ptr noundef %1857, ptr noundef %1860, i32 noundef %1862) #10
  br label %1881

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

1881:                                             ; preds = %1864, %1847
  call void @llvm.lifetime.end.p0(i64 4, ptr %56) #10
  br label %1882

1882:                                             ; preds = %1881
  br label %1883

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

1884:                                             ; No predecessors!
  br label %1885

1885:                                             ; preds = %1884
  br label %1886

1886:                                             ; preds = %1885, %1827
  br label %1887

1887:                                             ; preds = %1886
  br label %1888

1888:                                             ; preds = %1887
  br label %1889

1889:                                             ; preds = %1888
  %1890 = load i32, ptr @test_count, align 4, !tbaa !5
  %1891 = add nsw i32 %1890, 1
  store i32 %1891, ptr @test_count, align 4, !tbaa !5
  %1892 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1893 = load i32, ptr %1892, align 4, !tbaa !5
  %1894 = icmp eq i32 %1893, 268435456
  br i1 %1894, label %1948, label %1895

1895:                                             ; preds = %1889
  br label %1896

1896:                                             ; preds = %1895
  br label %1897

1897:                                             ; preds = %1896
  call void @llvm.lifetime.start.p0(i64 4, ptr %57) #10
  %1898 = call ptr @__errno_location() #11
  %1899 = load i32, ptr %1898, align 4, !tbaa !5
  store i32 %1899, ptr %57, align 4, !tbaa !5
  %1900 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1901 = call i32 @s2n_print_stacktrace(ptr noundef %1900)
  %1902 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1903 = trunc i8 %1902 to i1
  br i1 %1903, label %1904, label %1926

1904:                                             ; preds = %1897
  %1905 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1906 = call i32 @fileno(ptr noundef %1905) #10
  %1907 = call i32 @isatty(i32 noundef %1906) #10
  %1908 = icmp ne i32 %1907, 0
  br i1 %1908, label %1909, label %1926

1909:                                             ; preds = %1904
  %1910 = load i32, ptr %57, align 4, !tbaa !5
  %1911 = call ptr @__errno_location() #11
  store i32 %1910, ptr %1911, align 4, !tbaa !5
  %1912 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1913 = load i32, ptr @test_count, align 4, !tbaa !5
  %1914 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1915 = load i32, ptr %1914, align 4, !tbaa !5
  %1916 = call ptr @s2n_strerror(i32 noundef %1915, ptr noundef @.str.4)
  %1917 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1918 = load i32, ptr %1917, align 4, !tbaa !5
  %1919 = call ptr @s2n_strerror_debug(i32 noundef %1918, ptr noundef @.str.4)
  %1920 = call ptr @__errno_location() #11
  %1921 = load i32, ptr %1920, align 4, !tbaa !5
  %1922 = call ptr @strerror(i32 noundef %1921) #10
  %1923 = call ptr @__errno_location() #11
  %1924 = load i32, ptr %1923, align 4, !tbaa !5
  %1925 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1912, ptr noundef @.str.2, i32 noundef %1913, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 163, ptr noundef %1916, ptr noundef %1919, ptr noundef %1922, i32 noundef %1924) #10
  br label %1943

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

1943:                                             ; preds = %1926, %1909
  call void @llvm.lifetime.end.p0(i64 4, ptr %57) #10
  br label %1944

1944:                                             ; preds = %1943
  br label %1945

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

1946:                                             ; No predecessors!
  br label %1947

1947:                                             ; preds = %1946
  br label %1948

1948:                                             ; preds = %1947, %1889
  br label %1949

1949:                                             ; preds = %1948
  br label %1950

1950:                                             ; preds = %1949
  br label %1951

1951:                                             ; preds = %1950
  %1952 = load i32, ptr @test_count, align 4, !tbaa !5
  %1953 = add nsw i32 %1952, 1
  store i32 %1953, ptr @test_count, align 4, !tbaa !5
  %1954 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1955 = load i32, ptr %1954, align 4, !tbaa !5
  %1956 = call ptr @s2n_strerror_debug(i32 noundef %1955, ptr noundef @.str.4)
  %1957 = icmp eq ptr %1956, null
  br i1 %1957, label %1958, label %2011

1958:                                             ; preds = %1951
  br label %1959

1959:                                             ; preds = %1958
  br label %1960

1960:                                             ; preds = %1959
  call void @llvm.lifetime.start.p0(i64 4, ptr %58) #10
  %1961 = call ptr @__errno_location() #11
  %1962 = load i32, ptr %1961, align 4, !tbaa !5
  store i32 %1962, ptr %58, align 4, !tbaa !5
  %1963 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1964 = call i32 @s2n_print_stacktrace(ptr noundef %1963)
  %1965 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1966 = trunc i8 %1965 to i1
  br i1 %1966, label %1967, label %1989

1967:                                             ; preds = %1960
  %1968 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1969 = call i32 @fileno(ptr noundef %1968) #10
  %1970 = call i32 @isatty(i32 noundef %1969) #10
  %1971 = icmp ne i32 %1970, 0
  br i1 %1971, label %1972, label %1989

1972:                                             ; preds = %1967
  %1973 = load i32, ptr %58, align 4, !tbaa !5
  %1974 = call ptr @__errno_location() #11
  store i32 %1973, ptr %1974, align 4, !tbaa !5
  %1975 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1976 = load i32, ptr @test_count, align 4, !tbaa !5
  %1977 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1978 = load i32, ptr %1977, align 4, !tbaa !5
  %1979 = call ptr @s2n_strerror(i32 noundef %1978, ptr noundef @.str.4)
  %1980 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1981 = load i32, ptr %1980, align 4, !tbaa !5
  %1982 = call ptr @s2n_strerror_debug(i32 noundef %1981, ptr noundef @.str.4)
  %1983 = call ptr @__errno_location() #11
  %1984 = load i32, ptr %1983, align 4, !tbaa !5
  %1985 = call ptr @strerror(i32 noundef %1984) #10
  %1986 = call ptr @__errno_location() #11
  %1987 = load i32, ptr %1986, align 4, !tbaa !5
  %1988 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1975, ptr noundef @.str.2, i32 noundef %1976, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 163, ptr noundef %1979, ptr noundef %1982, ptr noundef %1985, i32 noundef %1987) #10
  br label %2006

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

2006:                                             ; preds = %1989, %1972
  call void @llvm.lifetime.end.p0(i64 4, ptr %58) #10
  br label %2007

2007:                                             ; preds = %2006
  br label %2008

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

2009:                                             ; No predecessors!
  br label %2010

2010:                                             ; preds = %2009
  br label %2011

2011:                                             ; preds = %2010, %1951
  br label %2012

2012:                                             ; preds = %2011
  br label %2013

2013:                                             ; preds = %2012
  br label %2014

2014:                                             ; preds = %2013
  br label %2015

2015:                                             ; preds = %2014
  br label %2016

2016:                                             ; preds = %2015
  %2017 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %2017, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %2018 = call ptr @__errno_location() #11
  store i32 0, ptr %2018, align 4, !tbaa !5
  br label %2019

2019:                                             ; preds = %2016
  br label %2020

2020:                                             ; preds = %2019
  br label %2021

2021:                                             ; preds = %2020
  br label %2022

2022:                                             ; preds = %2021
  br label %2023

2023:                                             ; preds = %2022
  br label %2024

2024:                                             ; preds = %2023
  br label %2025

2025:                                             ; preds = %2024
  %2026 = load i32, ptr @test_count, align 4, !tbaa !5
  %2027 = add nsw i32 %2026, 1
  store i32 %2027, ptr @test_count, align 4, !tbaa !5
  %2028 = load ptr, ptr %48, align 8, !tbaa !9
  %2029 = call i32 @s2n_negotiate(ptr noundef %2028, ptr noundef %51)
  %2030 = icmp eq i32 %2029, -1
  br i1 %2030, label %2084, label %2031

2031:                                             ; preds = %2025
  br label %2032

2032:                                             ; preds = %2031
  br label %2033

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

2040:                                             ; preds = %2033
  %2041 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2042 = call i32 @fileno(ptr noundef %2041) #10
  %2043 = call i32 @isatty(i32 noundef %2042) #10
  %2044 = icmp ne i32 %2043, 0
  br i1 %2044, label %2045, label %2062

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

2062:                                             ; preds = %2040, %2033
  %2063 = load i32, ptr %59, align 4, !tbaa !5
  %2064 = call ptr @__errno_location() #11
  store i32 %2063, ptr %2064, align 4, !tbaa !5
  %2065 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2066 = load i32, ptr @test_count, align 4, !tbaa !5
  %2067 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2068 = load i32, ptr %2067, align 4, !tbaa !5
  %2069 = call ptr @s2n_strerror(i32 noundef %2068, ptr noundef @.str.4)
  %2070 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2071 = load i32, ptr %2070, align 4, !tbaa !5
  %2072 = call ptr @s2n_strerror_debug(i32 noundef %2071, ptr noundef @.str.4)
  %2073 = call ptr @__errno_location() #11
  %2074 = load i32, ptr %2073, align 4, !tbaa !5
  %2075 = call ptr @strerror(i32 noundef %2074) #10
  %2076 = call ptr @__errno_location() #11
  %2077 = load i32, ptr %2076, align 4, !tbaa !5
  %2078 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2065, ptr noundef @.str.5, i32 noundef %2066, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 164, ptr noundef %2069, ptr noundef %2072, ptr noundef %2075, i32 noundef %2077) #10
  br label %2079

2079:                                             ; preds = %2062, %2045
  call void @llvm.lifetime.end.p0(i64 4, ptr %59) #10
  br label %2080

2080:                                             ; preds = %2079
  br label %2081

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

2082:                                             ; No predecessors!
  br label %2083

2083:                                             ; preds = %2082
  br label %2084

2084:                                             ; preds = %2083, %2025
  br label %2085

2085:                                             ; preds = %2084
  br label %2086

2086:                                             ; preds = %2085
  br label %2087

2087:                                             ; preds = %2086
  %2088 = load i32, ptr @test_count, align 4, !tbaa !5
  %2089 = add nsw i32 %2088, 1
  store i32 %2089, ptr @test_count, align 4, !tbaa !5
  %2090 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2091 = load i32, ptr %2090, align 4, !tbaa !5
  %2092 = icmp eq i32 %2091, 134217728
  br i1 %2092, label %2146, label %2093

2093:                                             ; preds = %2087
  br label %2094

2094:                                             ; preds = %2093
  br label %2095

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

2102:                                             ; preds = %2095
  %2103 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2104 = call i32 @fileno(ptr noundef %2103) #10
  %2105 = call i32 @isatty(i32 noundef %2104) #10
  %2106 = icmp ne i32 %2105, 0
  br i1 %2106, label %2107, label %2124

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

2124:                                             ; preds = %2102, %2095
  %2125 = load i32, ptr %60, align 4, !tbaa !5
  %2126 = call ptr @__errno_location() #11
  store i32 %2125, ptr %2126, align 4, !tbaa !5
  %2127 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2128 = load i32, ptr @test_count, align 4, !tbaa !5
  %2129 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2130 = load i32, ptr %2129, align 4, !tbaa !5
  %2131 = call ptr @s2n_strerror(i32 noundef %2130, ptr noundef @.str.4)
  %2132 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2133 = load i32, ptr %2132, align 4, !tbaa !5
  %2134 = call ptr @s2n_strerror_debug(i32 noundef %2133, ptr noundef @.str.4)
  %2135 = call ptr @__errno_location() #11
  %2136 = load i32, ptr %2135, align 4, !tbaa !5
  %2137 = call ptr @strerror(i32 noundef %2136) #10
  %2138 = call ptr @__errno_location() #11
  %2139 = load i32, ptr %2138, align 4, !tbaa !5
  %2140 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2127, ptr noundef @.str.5, i32 noundef %2128, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 164, ptr noundef %2131, ptr noundef %2134, ptr noundef %2137, i32 noundef %2139) #10
  br label %2141

2141:                                             ; preds = %2124, %2107
  call void @llvm.lifetime.end.p0(i64 4, ptr %60) #10
  br label %2142

2142:                                             ; preds = %2141
  br label %2143

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

2144:                                             ; No predecessors!
  br label %2145

2145:                                             ; preds = %2144
  br label %2146

2146:                                             ; preds = %2145, %2087
  br label %2147

2147:                                             ; preds = %2146
  br label %2148

2148:                                             ; preds = %2147
  br label %2149

2149:                                             ; preds = %2148
  %2150 = load i32, ptr @test_count, align 4, !tbaa !5
  %2151 = add nsw i32 %2150, 1
  store i32 %2151, ptr @test_count, align 4, !tbaa !5
  %2152 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2153 = load i32, ptr %2152, align 4, !tbaa !5
  %2154 = call ptr @s2n_strerror_debug(i32 noundef %2153, ptr noundef @.str.4)
  %2155 = icmp eq ptr %2154, null
  br i1 %2155, label %2156, label %2209

2156:                                             ; preds = %2149
  br label %2157

2157:                                             ; preds = %2156
  br label %2158

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

2165:                                             ; preds = %2158
  %2166 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2167 = call i32 @fileno(ptr noundef %2166) #10
  %2168 = call i32 @isatty(i32 noundef %2167) #10
  %2169 = icmp ne i32 %2168, 0
  br i1 %2169, label %2170, label %2187

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

2187:                                             ; preds = %2165, %2158
  %2188 = load i32, ptr %61, align 4, !tbaa !5
  %2189 = call ptr @__errno_location() #11
  store i32 %2188, ptr %2189, align 4, !tbaa !5
  %2190 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2191 = load i32, ptr @test_count, align 4, !tbaa !5
  %2192 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2193 = load i32, ptr %2192, align 4, !tbaa !5
  %2194 = call ptr @s2n_strerror(i32 noundef %2193, ptr noundef @.str.4)
  %2195 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2196 = load i32, ptr %2195, align 4, !tbaa !5
  %2197 = call ptr @s2n_strerror_debug(i32 noundef %2196, ptr noundef @.str.4)
  %2198 = call ptr @__errno_location() #11
  %2199 = load i32, ptr %2198, align 4, !tbaa !5
  %2200 = call ptr @strerror(i32 noundef %2199) #10
  %2201 = call ptr @__errno_location() #11
  %2202 = load i32, ptr %2201, align 4, !tbaa !5
  %2203 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2190, ptr noundef @.str.5, i32 noundef %2191, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 164, ptr noundef %2194, ptr noundef %2197, ptr noundef %2200, i32 noundef %2202) #10
  br label %2204

2204:                                             ; preds = %2187, %2170
  call void @llvm.lifetime.end.p0(i64 4, ptr %61) #10
  br label %2205

2205:                                             ; preds = %2204
  br label %2206

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

2207:                                             ; No predecessors!
  br label %2208

2208:                                             ; preds = %2207
  br label %2209

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

2210:                                             ; preds = %2209
  br label %2211

2211:                                             ; preds = %2210
  br label %2212

2212:                                             ; preds = %2211
  br label %2213

2213:                                             ; preds = %2212
  br label %2214

2214:                                             ; preds = %2213
  %2215 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %2215, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %2216 = call ptr @__errno_location() #11
  store i32 0, ptr %2216, align 4, !tbaa !5
  br label %2217

2217:                                             ; preds = %2214
  br label %2218

2218:                                             ; preds = %2217
  br label %2219

2219:                                             ; preds = %2218
  br label %2220

2220:                                             ; preds = %2219
  br label %2819

2221:                                             ; preds = %1821
  br label %2222

2222:                                             ; preds = %2221
  br label %2223

2223:                                             ; preds = %2222
  br label %2224

2224:                                             ; preds = %2223
  %2225 = load i32, ptr @test_count, align 4, !tbaa !5
  %2226 = add nsw i32 %2225, 1
  store i32 %2226, ptr @test_count, align 4, !tbaa !5
  %2227 = load ptr, ptr %48, align 8, !tbaa !9
  %2228 = getelementptr inbounds [6 x i8], ptr %11, i64 0, i64 0
  %2229 = call i64 @s2n_recv(ptr noundef %2227, ptr noundef %2228, i64 noundef 6, ptr noundef %51)
  %2230 = icmp eq i64 %2229, -1
  br i1 %2230, label %2284, label %2231

2231:                                             ; preds = %2224
  br label %2232

2232:                                             ; preds = %2231
  br label %2233

2233:                                             ; preds = %2232
  call void @llvm.lifetime.start.p0(i64 4, ptr %62) #10
  %2234 = call ptr @__errno_location() #11
  %2235 = load i32, ptr %2234, align 4, !tbaa !5
  store i32 %2235, ptr %62, align 4, !tbaa !5
  %2236 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2237 = call i32 @s2n_print_stacktrace(ptr noundef %2236)
  %2238 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2239 = trunc i8 %2238 to i1
  br i1 %2239, label %2240, label %2262

2240:                                             ; preds = %2233
  %2241 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2242 = call i32 @fileno(ptr noundef %2241) #10
  %2243 = call i32 @isatty(i32 noundef %2242) #10
  %2244 = icmp ne i32 %2243, 0
  br i1 %2244, label %2245, label %2262

2245:                                             ; preds = %2240
  %2246 = load i32, ptr %62, align 4, !tbaa !5
  %2247 = call ptr @__errno_location() #11
  store i32 %2246, ptr %2247, align 4, !tbaa !5
  %2248 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2249 = load i32, ptr @test_count, align 4, !tbaa !5
  %2250 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2251 = load i32, ptr %2250, align 4, !tbaa !5
  %2252 = call ptr @s2n_strerror(i32 noundef %2251, ptr noundef @.str.4)
  %2253 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2254 = load i32, ptr %2253, align 4, !tbaa !5
  %2255 = call ptr @s2n_strerror_debug(i32 noundef %2254, ptr noundef @.str.4)
  %2256 = call ptr @__errno_location() #11
  %2257 = load i32, ptr %2256, align 4, !tbaa !5
  %2258 = call ptr @strerror(i32 noundef %2257) #10
  %2259 = call ptr @__errno_location() #11
  %2260 = load i32, ptr %2259, align 4, !tbaa !5
  %2261 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2248, ptr noundef @.str.2, i32 noundef %2249, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 166, ptr noundef %2252, ptr noundef %2255, ptr noundef %2258, i32 noundef %2260) #10
  br label %2279

2262:                                             ; preds = %2240, %2233
  %2263 = load i32, ptr %62, align 4, !tbaa !5
  %2264 = call ptr @__errno_location() #11
  store i32 %2263, ptr %2264, align 4, !tbaa !5
  %2265 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2266 = load i32, ptr @test_count, align 4, !tbaa !5
  %2267 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2268 = load i32, ptr %2267, align 4, !tbaa !5
  %2269 = call ptr @s2n_strerror(i32 noundef %2268, ptr noundef @.str.4)
  %2270 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2271 = load i32, ptr %2270, align 4, !tbaa !5
  %2272 = call ptr @s2n_strerror_debug(i32 noundef %2271, ptr noundef @.str.4)
  %2273 = call ptr @__errno_location() #11
  %2274 = load i32, ptr %2273, align 4, !tbaa !5
  %2275 = call ptr @strerror(i32 noundef %2274) #10
  %2276 = call ptr @__errno_location() #11
  %2277 = load i32, ptr %2276, align 4, !tbaa !5
  %2278 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2265, ptr noundef @.str.5, i32 noundef %2266, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 166, ptr noundef %2269, ptr noundef %2272, ptr noundef %2275, i32 noundef %2277) #10
  br label %2279

2279:                                             ; preds = %2262, %2245
  call void @llvm.lifetime.end.p0(i64 4, ptr %62) #10
  br label %2280

2280:                                             ; preds = %2279
  br label %2281

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

2282:                                             ; No predecessors!
  br label %2283

2283:                                             ; preds = %2282
  br label %2284

2284:                                             ; preds = %2283, %2224
  br label %2285

2285:                                             ; preds = %2284
  br label %2286

2286:                                             ; preds = %2285
  br label %2287

2287:                                             ; preds = %2286
  %2288 = load i32, ptr @test_count, align 4, !tbaa !5
  %2289 = add nsw i32 %2288, 1
  store i32 %2289, ptr @test_count, align 4, !tbaa !5
  %2290 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2291 = load i32, ptr %2290, align 4, !tbaa !5
  %2292 = icmp eq i32 %2291, 268435456
  br i1 %2292, label %2346, label %2293

2293:                                             ; preds = %2287
  br label %2294

2294:                                             ; preds = %2293
  br label %2295

2295:                                             ; preds = %2294
  call void @llvm.lifetime.start.p0(i64 4, ptr %63) #10
  %2296 = call ptr @__errno_location() #11
  %2297 = load i32, ptr %2296, align 4, !tbaa !5
  store i32 %2297, ptr %63, align 4, !tbaa !5
  %2298 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2299 = call i32 @s2n_print_stacktrace(ptr noundef %2298)
  %2300 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2301 = trunc i8 %2300 to i1
  br i1 %2301, label %2302, label %2324

2302:                                             ; preds = %2295
  %2303 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2304 = call i32 @fileno(ptr noundef %2303) #10
  %2305 = call i32 @isatty(i32 noundef %2304) #10
  %2306 = icmp ne i32 %2305, 0
  br i1 %2306, label %2307, label %2324

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

2324:                                             ; preds = %2302, %2295
  %2325 = load i32, ptr %63, align 4, !tbaa !5
  %2326 = call ptr @__errno_location() #11
  store i32 %2325, ptr %2326, align 4, !tbaa !5
  %2327 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2328 = load i32, ptr @test_count, align 4, !tbaa !5
  %2329 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2330 = load i32, ptr %2329, align 4, !tbaa !5
  %2331 = call ptr @s2n_strerror(i32 noundef %2330, ptr noundef @.str.4)
  %2332 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2333 = load i32, ptr %2332, align 4, !tbaa !5
  %2334 = call ptr @s2n_strerror_debug(i32 noundef %2333, ptr noundef @.str.4)
  %2335 = call ptr @__errno_location() #11
  %2336 = load i32, ptr %2335, align 4, !tbaa !5
  %2337 = call ptr @strerror(i32 noundef %2336) #10
  %2338 = call ptr @__errno_location() #11
  %2339 = load i32, ptr %2338, align 4, !tbaa !5
  %2340 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2327, ptr noundef @.str.5, i32 noundef %2328, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 166, ptr noundef %2331, ptr noundef %2334, ptr noundef %2337, i32 noundef %2339) #10
  br label %2341

2341:                                             ; preds = %2324, %2307
  call void @llvm.lifetime.end.p0(i64 4, ptr %63) #10
  br label %2342

2342:                                             ; preds = %2341
  br label %2343

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

2344:                                             ; No predecessors!
  br label %2345

2345:                                             ; preds = %2344
  br label %2346

2346:                                             ; preds = %2345, %2287
  br label %2347

2347:                                             ; preds = %2346
  br label %2348

2348:                                             ; preds = %2347
  br label %2349

2349:                                             ; preds = %2348
  %2350 = load i32, ptr @test_count, align 4, !tbaa !5
  %2351 = add nsw i32 %2350, 1
  store i32 %2351, ptr @test_count, align 4, !tbaa !5
  %2352 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2353 = load i32, ptr %2352, align 4, !tbaa !5
  %2354 = call ptr @s2n_strerror_debug(i32 noundef %2353, ptr noundef @.str.4)
  %2355 = icmp eq ptr %2354, null
  br i1 %2355, label %2356, label %2409

2356:                                             ; preds = %2349
  br label %2357

2357:                                             ; preds = %2356
  br label %2358

2358:                                             ; preds = %2357
  call void @llvm.lifetime.start.p0(i64 4, ptr %64) #10
  %2359 = call ptr @__errno_location() #11
  %2360 = load i32, ptr %2359, align 4, !tbaa !5
  store i32 %2360, ptr %64, align 4, !tbaa !5
  %2361 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2362 = call i32 @s2n_print_stacktrace(ptr noundef %2361)
  %2363 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2364 = trunc i8 %2363 to i1
  br i1 %2364, label %2365, label %2387

2365:                                             ; preds = %2358
  %2366 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2367 = call i32 @fileno(ptr noundef %2366) #10
  %2368 = call i32 @isatty(i32 noundef %2367) #10
  %2369 = icmp ne i32 %2368, 0
  br i1 %2369, label %2370, label %2387

2370:                                             ; preds = %2365
  %2371 = load i32, ptr %64, align 4, !tbaa !5
  %2372 = call ptr @__errno_location() #11
  store i32 %2371, ptr %2372, align 4, !tbaa !5
  %2373 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2374 = load i32, ptr @test_count, align 4, !tbaa !5
  %2375 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2376 = load i32, ptr %2375, align 4, !tbaa !5
  %2377 = call ptr @s2n_strerror(i32 noundef %2376, ptr noundef @.str.4)
  %2378 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2379 = load i32, ptr %2378, align 4, !tbaa !5
  %2380 = call ptr @s2n_strerror_debug(i32 noundef %2379, ptr noundef @.str.4)
  %2381 = call ptr @__errno_location() #11
  %2382 = load i32, ptr %2381, align 4, !tbaa !5
  %2383 = call ptr @strerror(i32 noundef %2382) #10
  %2384 = call ptr @__errno_location() #11
  %2385 = load i32, ptr %2384, align 4, !tbaa !5
  %2386 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2373, ptr noundef @.str.2, i32 noundef %2374, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 166, ptr noundef %2377, ptr noundef %2380, ptr noundef %2383, i32 noundef %2385) #10
  br label %2404

2387:                                             ; preds = %2365, %2358
  %2388 = load i32, ptr %64, align 4, !tbaa !5
  %2389 = call ptr @__errno_location() #11
  store i32 %2388, ptr %2389, align 4, !tbaa !5
  %2390 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2391 = load i32, ptr @test_count, align 4, !tbaa !5
  %2392 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2393 = load i32, ptr %2392, align 4, !tbaa !5
  %2394 = call ptr @s2n_strerror(i32 noundef %2393, ptr noundef @.str.4)
  %2395 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2396 = load i32, ptr %2395, align 4, !tbaa !5
  %2397 = call ptr @s2n_strerror_debug(i32 noundef %2396, ptr noundef @.str.4)
  %2398 = call ptr @__errno_location() #11
  %2399 = load i32, ptr %2398, align 4, !tbaa !5
  %2400 = call ptr @strerror(i32 noundef %2399) #10
  %2401 = call ptr @__errno_location() #11
  %2402 = load i32, ptr %2401, align 4, !tbaa !5
  %2403 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2390, ptr noundef @.str.5, i32 noundef %2391, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 166, ptr noundef %2394, ptr noundef %2397, ptr noundef %2400, i32 noundef %2402) #10
  br label %2404

2404:                                             ; preds = %2387, %2370
  call void @llvm.lifetime.end.p0(i64 4, ptr %64) #10
  br label %2405

2405:                                             ; preds = %2404
  br label %2406

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

2407:                                             ; No predecessors!
  br label %2408

2408:                                             ; preds = %2407
  br label %2409

2409:                                             ; preds = %2408, %2349
  br label %2410

2410:                                             ; preds = %2409
  br label %2411

2411:                                             ; preds = %2410
  br label %2412

2412:                                             ; preds = %2411
  br label %2413

2413:                                             ; preds = %2412
  br label %2414

2414:                                             ; preds = %2413
  %2415 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %2415, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %2416 = call ptr @__errno_location() #11
  store i32 0, ptr %2416, align 4, !tbaa !5
  br label %2417

2417:                                             ; preds = %2414
  br label %2418

2418:                                             ; preds = %2417
  br label %2419

2419:                                             ; preds = %2418
  br label %2420

2420:                                             ; preds = %2419
  br label %2421

2421:                                             ; preds = %2420
  br label %2422

2422:                                             ; preds = %2421
  br label %2423

2423:                                             ; preds = %2422
  %2424 = load i32, ptr @test_count, align 4, !tbaa !5
  %2425 = add nsw i32 %2424, 1
  store i32 %2425, ptr @test_count, align 4, !tbaa !5
  %2426 = load ptr, ptr %48, align 8, !tbaa !9
  %2427 = getelementptr inbounds [6 x i8], ptr %11, i64 0, i64 0
  %2428 = call i64 @s2n_recv(ptr noundef %2426, ptr noundef %2427, i64 noundef 6, ptr noundef %51)
  %2429 = icmp eq i64 %2428, -1
  br i1 %2429, label %2483, label %2430

2430:                                             ; preds = %2423
  br label %2431

2431:                                             ; preds = %2430
  br label %2432

2432:                                             ; preds = %2431
  call void @llvm.lifetime.start.p0(i64 4, ptr %65) #10
  %2433 = call ptr @__errno_location() #11
  %2434 = load i32, ptr %2433, align 4, !tbaa !5
  store i32 %2434, ptr %65, align 4, !tbaa !5
  %2435 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2436 = call i32 @s2n_print_stacktrace(ptr noundef %2435)
  %2437 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2438 = trunc i8 %2437 to i1
  br i1 %2438, label %2439, label %2461

2439:                                             ; preds = %2432
  %2440 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2441 = call i32 @fileno(ptr noundef %2440) #10
  %2442 = call i32 @isatty(i32 noundef %2441) #10
  %2443 = icmp ne i32 %2442, 0
  br i1 %2443, label %2444, label %2461

2444:                                             ; preds = %2439
  %2445 = load i32, ptr %65, align 4, !tbaa !5
  %2446 = call ptr @__errno_location() #11
  store i32 %2445, ptr %2446, align 4, !tbaa !5
  %2447 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2448 = load i32, ptr @test_count, align 4, !tbaa !5
  %2449 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2450 = load i32, ptr %2449, align 4, !tbaa !5
  %2451 = call ptr @s2n_strerror(i32 noundef %2450, ptr noundef @.str.4)
  %2452 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2453 = load i32, ptr %2452, align 4, !tbaa !5
  %2454 = call ptr @s2n_strerror_debug(i32 noundef %2453, ptr noundef @.str.4)
  %2455 = call ptr @__errno_location() #11
  %2456 = load i32, ptr %2455, align 4, !tbaa !5
  %2457 = call ptr @strerror(i32 noundef %2456) #10
  %2458 = call ptr @__errno_location() #11
  %2459 = load i32, ptr %2458, align 4, !tbaa !5
  %2460 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2447, ptr noundef @.str.2, i32 noundef %2448, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 167, ptr noundef %2451, ptr noundef %2454, ptr noundef %2457, i32 noundef %2459) #10
  br label %2478

2461:                                             ; preds = %2439, %2432
  %2462 = load i32, ptr %65, align 4, !tbaa !5
  %2463 = call ptr @__errno_location() #11
  store i32 %2462, ptr %2463, align 4, !tbaa !5
  %2464 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2465 = load i32, ptr @test_count, align 4, !tbaa !5
  %2466 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2467 = load i32, ptr %2466, align 4, !tbaa !5
  %2468 = call ptr @s2n_strerror(i32 noundef %2467, ptr noundef @.str.4)
  %2469 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2470 = load i32, ptr %2469, align 4, !tbaa !5
  %2471 = call ptr @s2n_strerror_debug(i32 noundef %2470, ptr noundef @.str.4)
  %2472 = call ptr @__errno_location() #11
  %2473 = load i32, ptr %2472, align 4, !tbaa !5
  %2474 = call ptr @strerror(i32 noundef %2473) #10
  %2475 = call ptr @__errno_location() #11
  %2476 = load i32, ptr %2475, align 4, !tbaa !5
  %2477 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2464, ptr noundef @.str.5, i32 noundef %2465, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 167, ptr noundef %2468, ptr noundef %2471, ptr noundef %2474, i32 noundef %2476) #10
  br label %2478

2478:                                             ; preds = %2461, %2444
  call void @llvm.lifetime.end.p0(i64 4, ptr %65) #10
  br label %2479

2479:                                             ; preds = %2478
  br label %2480

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

2481:                                             ; No predecessors!
  br label %2482

2482:                                             ; preds = %2481
  br label %2483

2483:                                             ; preds = %2482, %2423
  br label %2484

2484:                                             ; preds = %2483
  br label %2485

2485:                                             ; preds = %2484
  br label %2486

2486:                                             ; preds = %2485
  %2487 = load i32, ptr @test_count, align 4, !tbaa !5
  %2488 = add nsw i32 %2487, 1
  store i32 %2488, ptr @test_count, align 4, !tbaa !5
  %2489 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2490 = load i32, ptr %2489, align 4, !tbaa !5
  %2491 = icmp eq i32 %2490, 134217728
  br i1 %2491, label %2545, label %2492

2492:                                             ; preds = %2486
  br label %2493

2493:                                             ; preds = %2492
  br label %2494

2494:                                             ; preds = %2493
  call void @llvm.lifetime.start.p0(i64 4, ptr %66) #10
  %2495 = call ptr @__errno_location() #11
  %2496 = load i32, ptr %2495, align 4, !tbaa !5
  store i32 %2496, ptr %66, align 4, !tbaa !5
  %2497 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2498 = call i32 @s2n_print_stacktrace(ptr noundef %2497)
  %2499 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2500 = trunc i8 %2499 to i1
  br i1 %2500, label %2501, label %2523

2501:                                             ; preds = %2494
  %2502 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2503 = call i32 @fileno(ptr noundef %2502) #10
  %2504 = call i32 @isatty(i32 noundef %2503) #10
  %2505 = icmp ne i32 %2504, 0
  br i1 %2505, label %2506, label %2523

2506:                                             ; preds = %2501
  %2507 = load i32, ptr %66, align 4, !tbaa !5
  %2508 = call ptr @__errno_location() #11
  store i32 %2507, ptr %2508, align 4, !tbaa !5
  %2509 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2510 = load i32, ptr @test_count, align 4, !tbaa !5
  %2511 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2512 = load i32, ptr %2511, align 4, !tbaa !5
  %2513 = call ptr @s2n_strerror(i32 noundef %2512, ptr noundef @.str.4)
  %2514 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2515 = load i32, ptr %2514, align 4, !tbaa !5
  %2516 = call ptr @s2n_strerror_debug(i32 noundef %2515, ptr noundef @.str.4)
  %2517 = call ptr @__errno_location() #11
  %2518 = load i32, ptr %2517, align 4, !tbaa !5
  %2519 = call ptr @strerror(i32 noundef %2518) #10
  %2520 = call ptr @__errno_location() #11
  %2521 = load i32, ptr %2520, align 4, !tbaa !5
  %2522 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2509, ptr noundef @.str.2, i32 noundef %2510, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 167, ptr noundef %2513, ptr noundef %2516, ptr noundef %2519, i32 noundef %2521) #10
  br label %2540

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

2540:                                             ; preds = %2523, %2506
  call void @llvm.lifetime.end.p0(i64 4, ptr %66) #10
  br label %2541

2541:                                             ; preds = %2540
  br label %2542

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

2543:                                             ; No predecessors!
  br label %2544

2544:                                             ; preds = %2543
  br label %2545

2545:                                             ; preds = %2544, %2486
  br label %2546

2546:                                             ; preds = %2545
  br label %2547

2547:                                             ; preds = %2546
  br label %2548

2548:                                             ; preds = %2547
  %2549 = load i32, ptr @test_count, align 4, !tbaa !5
  %2550 = add nsw i32 %2549, 1
  store i32 %2550, ptr @test_count, align 4, !tbaa !5
  %2551 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2552 = load i32, ptr %2551, align 4, !tbaa !5
  %2553 = call ptr @s2n_strerror_debug(i32 noundef %2552, ptr noundef @.str.4)
  %2554 = icmp eq ptr %2553, null
  br i1 %2554, label %2555, label %2608

2555:                                             ; preds = %2548
  br label %2556

2556:                                             ; preds = %2555
  br label %2557

2557:                                             ; preds = %2556
  call void @llvm.lifetime.start.p0(i64 4, ptr %67) #10
  %2558 = call ptr @__errno_location() #11
  %2559 = load i32, ptr %2558, align 4, !tbaa !5
  store i32 %2559, ptr %67, align 4, !tbaa !5
  %2560 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2561 = call i32 @s2n_print_stacktrace(ptr noundef %2560)
  %2562 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2563 = trunc i8 %2562 to i1
  br i1 %2563, label %2564, label %2586

2564:                                             ; preds = %2557
  %2565 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2566 = call i32 @fileno(ptr noundef %2565) #10
  %2567 = call i32 @isatty(i32 noundef %2566) #10
  %2568 = icmp ne i32 %2567, 0
  br i1 %2568, label %2569, label %2586

2569:                                             ; preds = %2564
  %2570 = load i32, ptr %67, align 4, !tbaa !5
  %2571 = call ptr @__errno_location() #11
  store i32 %2570, ptr %2571, align 4, !tbaa !5
  %2572 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2573 = load i32, ptr @test_count, align 4, !tbaa !5
  %2574 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2575 = load i32, ptr %2574, align 4, !tbaa !5
  %2576 = call ptr @s2n_strerror(i32 noundef %2575, ptr noundef @.str.4)
  %2577 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2578 = load i32, ptr %2577, align 4, !tbaa !5
  %2579 = call ptr @s2n_strerror_debug(i32 noundef %2578, ptr noundef @.str.4)
  %2580 = call ptr @__errno_location() #11
  %2581 = load i32, ptr %2580, align 4, !tbaa !5
  %2582 = call ptr @strerror(i32 noundef %2581) #10
  %2583 = call ptr @__errno_location() #11
  %2584 = load i32, ptr %2583, align 4, !tbaa !5
  %2585 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2572, ptr noundef @.str.2, i32 noundef %2573, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 167, ptr noundef %2576, ptr noundef %2579, ptr noundef %2582, i32 noundef %2584) #10
  br label %2603

2586:                                             ; preds = %2564, %2557
  %2587 = load i32, ptr %67, align 4, !tbaa !5
  %2588 = call ptr @__errno_location() #11
  store i32 %2587, ptr %2588, align 4, !tbaa !5
  %2589 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2590 = load i32, ptr @test_count, align 4, !tbaa !5
  %2591 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2592 = load i32, ptr %2591, align 4, !tbaa !5
  %2593 = call ptr @s2n_strerror(i32 noundef %2592, ptr noundef @.str.4)
  %2594 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2595 = load i32, ptr %2594, align 4, !tbaa !5
  %2596 = call ptr @s2n_strerror_debug(i32 noundef %2595, ptr noundef @.str.4)
  %2597 = call ptr @__errno_location() #11
  %2598 = load i32, ptr %2597, align 4, !tbaa !5
  %2599 = call ptr @strerror(i32 noundef %2598) #10
  %2600 = call ptr @__errno_location() #11
  %2601 = load i32, ptr %2600, align 4, !tbaa !5
  %2602 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2589, ptr noundef @.str.5, i32 noundef %2590, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 167, ptr noundef %2593, ptr noundef %2596, ptr noundef %2599, i32 noundef %2601) #10
  br label %2603

2603:                                             ; preds = %2586, %2569
  call void @llvm.lifetime.end.p0(i64 4, ptr %67) #10
  br label %2604

2604:                                             ; preds = %2603
  br label %2605

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

2606:                                             ; No predecessors!
  br label %2607

2607:                                             ; preds = %2606
  br label %2608

2608:                                             ; preds = %2607, %2548
  br label %2609

2609:                                             ; preds = %2608
  br label %2610

2610:                                             ; preds = %2609
  br label %2611

2611:                                             ; preds = %2610
  br label %2612

2612:                                             ; preds = %2611
  br label %2613

2613:                                             ; preds = %2612
  %2614 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %2614, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %2615 = call ptr @__errno_location() #11
  store i32 0, ptr %2615, align 4, !tbaa !5
  br label %2616

2616:                                             ; preds = %2613
  br label %2617

2617:                                             ; preds = %2616
  br label %2618

2618:                                             ; preds = %2617
  br label %2619

2619:                                             ; preds = %2618
  br label %2620

2620:                                             ; preds = %2619
  br label %2621

2621:                                             ; preds = %2620
  br label %2622

2622:                                             ; preds = %2621
  %2623 = load i32, ptr @test_count, align 4, !tbaa !5
  %2624 = add nsw i32 %2623, 1
  store i32 %2624, ptr @test_count, align 4, !tbaa !5
  %2625 = load ptr, ptr %48, align 8, !tbaa !9
  %2626 = getelementptr inbounds [6 x i8], ptr %11, i64 0, i64 0
  %2627 = call i64 @s2n_send(ptr noundef %2625, ptr noundef %2626, i64 noundef 6, ptr noundef %51)
  %2628 = icmp eq i64 %2627, -1
  br i1 %2628, label %2682, label %2629

2629:                                             ; preds = %2622
  br label %2630

2630:                                             ; preds = %2629
  br label %2631

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

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

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

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

2677:                                             ; preds = %2660, %2643
  call void @llvm.lifetime.end.p0(i64 4, ptr %68) #10
  br label %2678

2678:                                             ; preds = %2677
  br label %2679

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

2680:                                             ; No predecessors!
  br label %2681

2681:                                             ; preds = %2680
  br label %2682

2682:                                             ; preds = %2681, %2622
  br label %2683

2683:                                             ; preds = %2682
  br label %2684

2684:                                             ; preds = %2683
  br label %2685

2685:                                             ; preds = %2684
  %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 align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2689 = load i32, ptr %2688, align 4, !tbaa !5
  %2690 = icmp eq i32 %2689, 134217728
  br i1 %2690, label %2744, label %2691

2691:                                             ; preds = %2685
  br label %2692

2692:                                             ; preds = %2691
  br label %2693

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

2700:                                             ; preds = %2693
  %2701 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2702 = call i32 @fileno(ptr noundef %2701) #10
  %2703 = call i32 @isatty(i32 noundef %2702) #10
  %2704 = icmp ne i32 %2703, 0
  br i1 %2704, label %2705, label %2722

2705:                                             ; preds = %2700
  %2706 = load i32, ptr %69, align 4, !tbaa !5
  %2707 = call ptr @__errno_location() #11
  store i32 %2706, ptr %2707, align 4, !tbaa !5
  %2708 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2709 = load i32, ptr @test_count, align 4, !tbaa !5
  %2710 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2711 = load i32, ptr %2710, align 4, !tbaa !5
  %2712 = call ptr @s2n_strerror(i32 noundef %2711, ptr noundef @.str.4)
  %2713 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2714 = load i32, ptr %2713, align 4, !tbaa !5
  %2715 = call ptr @s2n_strerror_debug(i32 noundef %2714, ptr noundef @.str.4)
  %2716 = call ptr @__errno_location() #11
  %2717 = load i32, ptr %2716, align 4, !tbaa !5
  %2718 = call ptr @strerror(i32 noundef %2717) #10
  %2719 = call ptr @__errno_location() #11
  %2720 = load i32, ptr %2719, align 4, !tbaa !5
  %2721 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2708, ptr noundef @.str.2, i32 noundef %2709, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 168, ptr noundef %2712, ptr noundef %2715, ptr noundef %2718, i32 noundef %2720) #10
  br label %2739

2722:                                             ; preds = %2700, %2693
  %2723 = load i32, ptr %69, align 4, !tbaa !5
  %2724 = call ptr @__errno_location() #11
  store i32 %2723, ptr %2724, align 4, !tbaa !5
  %2725 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2726 = load i32, ptr @test_count, align 4, !tbaa !5
  %2727 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2728 = load i32, ptr %2727, align 4, !tbaa !5
  %2729 = call ptr @s2n_strerror(i32 noundef %2728, ptr noundef @.str.4)
  %2730 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2731 = load i32, ptr %2730, align 4, !tbaa !5
  %2732 = call ptr @s2n_strerror_debug(i32 noundef %2731, ptr noundef @.str.4)
  %2733 = call ptr @__errno_location() #11
  %2734 = load i32, ptr %2733, align 4, !tbaa !5
  %2735 = call ptr @strerror(i32 noundef %2734) #10
  %2736 = call ptr @__errno_location() #11
  %2737 = load i32, ptr %2736, align 4, !tbaa !5
  %2738 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2725, ptr noundef @.str.5, i32 noundef %2726, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 168, ptr noundef %2729, ptr noundef %2732, ptr noundef %2735, i32 noundef %2737) #10
  br label %2739

2739:                                             ; preds = %2722, %2705
  call void @llvm.lifetime.end.p0(i64 4, ptr %69) #10
  br label %2740

2740:                                             ; preds = %2739
  br label %2741

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

2742:                                             ; No predecessors!
  br label %2743

2743:                                             ; preds = %2742
  br label %2744

2744:                                             ; preds = %2743, %2685
  br label %2745

2745:                                             ; preds = %2744
  br label %2746

2746:                                             ; preds = %2745
  br label %2747

2747:                                             ; preds = %2746
  %2748 = load i32, ptr @test_count, align 4, !tbaa !5
  %2749 = add nsw i32 %2748, 1
  store i32 %2749, ptr @test_count, align 4, !tbaa !5
  %2750 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2751 = load i32, ptr %2750, align 4, !tbaa !5
  %2752 = call ptr @s2n_strerror_debug(i32 noundef %2751, ptr noundef @.str.4)
  %2753 = icmp eq ptr %2752, null
  br i1 %2753, label %2754, label %2807

2754:                                             ; preds = %2747
  br label %2755

2755:                                             ; preds = %2754
  br label %2756

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

2763:                                             ; preds = %2756
  %2764 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2765 = call i32 @fileno(ptr noundef %2764) #10
  %2766 = call i32 @isatty(i32 noundef %2765) #10
  %2767 = icmp ne i32 %2766, 0
  br i1 %2767, label %2768, label %2785

2768:                                             ; preds = %2763
  %2769 = load i32, ptr %70, align 4, !tbaa !5
  %2770 = call ptr @__errno_location() #11
  store i32 %2769, ptr %2770, align 4, !tbaa !5
  %2771 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2772 = load i32, ptr @test_count, align 4, !tbaa !5
  %2773 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2774 = load i32, ptr %2773, align 4, !tbaa !5
  %2775 = call ptr @s2n_strerror(i32 noundef %2774, ptr noundef @.str.4)
  %2776 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2777 = load i32, ptr %2776, align 4, !tbaa !5
  %2778 = call ptr @s2n_strerror_debug(i32 noundef %2777, ptr noundef @.str.4)
  %2779 = call ptr @__errno_location() #11
  %2780 = load i32, ptr %2779, align 4, !tbaa !5
  %2781 = call ptr @strerror(i32 noundef %2780) #10
  %2782 = call ptr @__errno_location() #11
  %2783 = load i32, ptr %2782, align 4, !tbaa !5
  %2784 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2771, ptr noundef @.str.2, i32 noundef %2772, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 168, ptr noundef %2775, ptr noundef %2778, ptr noundef %2781, i32 noundef %2783) #10
  br label %2802

2785:                                             ; preds = %2763, %2756
  %2786 = load i32, ptr %70, align 4, !tbaa !5
  %2787 = call ptr @__errno_location() #11
  store i32 %2786, ptr %2787, align 4, !tbaa !5
  %2788 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2789 = load i32, ptr @test_count, align 4, !tbaa !5
  %2790 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2791 = load i32, ptr %2790, align 4, !tbaa !5
  %2792 = call ptr @s2n_strerror(i32 noundef %2791, ptr noundef @.str.4)
  %2793 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2794 = load i32, ptr %2793, align 4, !tbaa !5
  %2795 = call ptr @s2n_strerror_debug(i32 noundef %2794, ptr noundef @.str.4)
  %2796 = call ptr @__errno_location() #11
  %2797 = load i32, ptr %2796, align 4, !tbaa !5
  %2798 = call ptr @strerror(i32 noundef %2797) #10
  %2799 = call ptr @__errno_location() #11
  %2800 = load i32, ptr %2799, align 4, !tbaa !5
  %2801 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2788, ptr noundef @.str.5, i32 noundef %2789, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 168, ptr noundef %2792, ptr noundef %2795, ptr noundef %2798, i32 noundef %2800) #10
  br label %2802

2802:                                             ; preds = %2785, %2768
  call void @llvm.lifetime.end.p0(i64 4, ptr %70) #10
  br label %2803

2803:                                             ; preds = %2802
  br label %2804

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

2805:                                             ; No predecessors!
  br label %2806

2806:                                             ; preds = %2805
  br label %2807

2807:                                             ; preds = %2806, %2747
  br label %2808

2808:                                             ; preds = %2807
  br label %2809

2809:                                             ; preds = %2808
  br label %2810

2810:                                             ; preds = %2809
  br label %2811

2811:                                             ; preds = %2810
  br label %2812

2812:                                             ; preds = %2811
  %2813 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %2813, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %2814 = call ptr @__errno_location() #11
  store i32 0, ptr %2814, align 4, !tbaa !5
  br label %2815

2815:                                             ; preds = %2812
  br label %2816

2816:                                             ; preds = %2815
  br label %2817

2817:                                             ; preds = %2816
  br label %2818

2818:                                             ; preds = %2817
  br label %2819

2819:                                             ; preds = %2818, %2220
  br label %2820

2820:                                             ; preds = %2819
  %2821 = load i32, ptr @test_count, align 4, !tbaa !5
  %2822 = add nsw i32 %2821, 1
  store i32 %2822, ptr @test_count, align 4, !tbaa !5
  %2823 = load ptr, ptr %48, align 8, !tbaa !9
  %2824 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %2823, i32 noundef 3)
  br i1 %2824, label %2878, label %2825

2825:                                             ; preds = %2820
  br label %2826

2826:                                             ; preds = %2825
  br label %2827

2827:                                             ; preds = %2826
  call void @llvm.lifetime.start.p0(i64 4, ptr %71) #10
  %2828 = call ptr @__errno_location() #11
  %2829 = load i32, ptr %2828, align 4, !tbaa !5
  store i32 %2829, ptr %71, align 4, !tbaa !5
  %2830 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2831 = call i32 @s2n_print_stacktrace(ptr noundef %2830)
  %2832 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2833 = trunc i8 %2832 to i1
  br i1 %2833, label %2834, label %2856

2834:                                             ; preds = %2827
  %2835 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2836 = call i32 @fileno(ptr noundef %2835) #10
  %2837 = call i32 @isatty(i32 noundef %2836) #10
  %2838 = icmp ne i32 %2837, 0
  br i1 %2838, label %2839, label %2856

2839:                                             ; preds = %2834
  %2840 = load i32, ptr %71, align 4, !tbaa !5
  %2841 = call ptr @__errno_location() #11
  store i32 %2840, ptr %2841, align 4, !tbaa !5
  %2842 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2843 = load i32, ptr @test_count, align 4, !tbaa !5
  %2844 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2845 = load i32, ptr %2844, align 4, !tbaa !5
  %2846 = call ptr @s2n_strerror(i32 noundef %2845, ptr noundef @.str.4)
  %2847 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2848 = load i32, ptr %2847, align 4, !tbaa !5
  %2849 = call ptr @s2n_strerror_debug(i32 noundef %2848, ptr noundef @.str.4)
  %2850 = call ptr @__errno_location() #11
  %2851 = load i32, ptr %2850, align 4, !tbaa !5
  %2852 = call ptr @strerror(i32 noundef %2851) #10
  %2853 = call ptr @__errno_location() #11
  %2854 = load i32, ptr %2853, align 4, !tbaa !5
  %2855 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2842, ptr noundef @.str.2, i32 noundef %2843, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 178, ptr noundef %2846, ptr noundef %2849, ptr noundef %2852, i32 noundef %2854) #10
  br label %2873

2856:                                             ; preds = %2834, %2827
  %2857 = load i32, ptr %71, align 4, !tbaa !5
  %2858 = call ptr @__errno_location() #11
  store i32 %2857, ptr %2858, align 4, !tbaa !5
  %2859 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2860 = load i32, ptr @test_count, align 4, !tbaa !5
  %2861 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2862 = load i32, ptr %2861, align 4, !tbaa !5
  %2863 = call ptr @s2n_strerror(i32 noundef %2862, ptr noundef @.str.4)
  %2864 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2865 = load i32, ptr %2864, align 4, !tbaa !5
  %2866 = call ptr @s2n_strerror_debug(i32 noundef %2865, ptr noundef @.str.4)
  %2867 = call ptr @__errno_location() #11
  %2868 = load i32, ptr %2867, align 4, !tbaa !5
  %2869 = call ptr @strerror(i32 noundef %2868) #10
  %2870 = call ptr @__errno_location() #11
  %2871 = load i32, ptr %2870, align 4, !tbaa !5
  %2872 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2859, ptr noundef @.str.5, i32 noundef %2860, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 178, ptr noundef %2863, ptr noundef %2866, ptr noundef %2869, i32 noundef %2871) #10
  br label %2873

2873:                                             ; preds = %2856, %2839
  call void @llvm.lifetime.end.p0(i64 4, ptr %71) #10
  br label %2874

2874:                                             ; preds = %2873
  br label %2875

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

2876:                                             ; No predecessors!
  br label %2877

2877:                                             ; preds = %2876
  br label %2878

2878:                                             ; preds = %2877, %2820
  br label %2879

2879:                                             ; preds = %2878
  br label %2880

2880:                                             ; preds = %2879
  br label %2881

2881:                                             ; preds = %2880
  %2882 = load i32, ptr @test_count, align 4, !tbaa !5
  %2883 = add nsw i32 %2882, 1
  store i32 %2883, ptr @test_count, align 4, !tbaa !5
  %2884 = load i64, ptr %30, align 8, !tbaa !15
  %2885 = getelementptr inbounds [65535 x [2 x i8]], ptr %13, i64 0, i64 %2884
  %2886 = getelementptr inbounds [2 x i8], ptr %2885, i64 0, i64 1
  %2887 = load i8, ptr %2886, align 1, !tbaa !17
  %2888 = zext i8 %2887 to i32
  %2889 = load ptr, ptr %48, align 8, !tbaa !9
  %2890 = call i32 @s2n_connection_get_alert(ptr noundef %2889)
  %2891 = icmp eq i32 %2888, %2890
  br i1 %2891, label %2945, label %2892

2892:                                             ; preds = %2881
  br label %2893

2893:                                             ; preds = %2892
  br label %2894

2894:                                             ; preds = %2893
  call void @llvm.lifetime.start.p0(i64 4, ptr %72) #10
  %2895 = call ptr @__errno_location() #11
  %2896 = load i32, ptr %2895, align 4, !tbaa !5
  store i32 %2896, ptr %72, align 4, !tbaa !5
  %2897 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2898 = call i32 @s2n_print_stacktrace(ptr noundef %2897)
  %2899 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2900 = trunc i8 %2899 to i1
  br i1 %2900, label %2901, label %2923

2901:                                             ; preds = %2894
  %2902 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2903 = call i32 @fileno(ptr noundef %2902) #10
  %2904 = call i32 @isatty(i32 noundef %2903) #10
  %2905 = icmp ne i32 %2904, 0
  br i1 %2905, label %2906, label %2923

2906:                                             ; preds = %2901
  %2907 = load i32, ptr %72, align 4, !tbaa !5
  %2908 = call ptr @__errno_location() #11
  store i32 %2907, ptr %2908, align 4, !tbaa !5
  %2909 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2910 = load i32, ptr @test_count, align 4, !tbaa !5
  %2911 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2912 = load i32, ptr %2911, align 4, !tbaa !5
  %2913 = call ptr @s2n_strerror(i32 noundef %2912, ptr noundef @.str.4)
  %2914 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2915 = load i32, ptr %2914, align 4, !tbaa !5
  %2916 = call ptr @s2n_strerror_debug(i32 noundef %2915, ptr noundef @.str.4)
  %2917 = call ptr @__errno_location() #11
  %2918 = load i32, ptr %2917, align 4, !tbaa !5
  %2919 = call ptr @strerror(i32 noundef %2918) #10
  %2920 = call ptr @__errno_location() #11
  %2921 = load i32, ptr %2920, align 4, !tbaa !5
  %2922 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2909, ptr noundef @.str.2, i32 noundef %2910, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 186, ptr noundef %2913, ptr noundef %2916, ptr noundef %2919, i32 noundef %2921) #10
  br label %2940

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

2940:                                             ; preds = %2923, %2906
  call void @llvm.lifetime.end.p0(i64 4, ptr %72) #10
  br label %2941

2941:                                             ; preds = %2940
  br label %2942

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

2943:                                             ; No predecessors!
  br label %2944

2944:                                             ; preds = %2943
  br label %2945

2945:                                             ; preds = %2944, %2881
  br label %2946

2946:                                             ; preds = %2945
  br label %2947

2947:                                             ; preds = %2946
  call void @llvm.lifetime.end.p0(i64 4, ptr %51) #10
  call void @llvm.lifetime.end.p0(i64 24, ptr %50) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %49) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %48) #10
  %2948 = call i32 @s2n_io_stuffer_pair_free(ptr noundef %39)
  %2949 = getelementptr inbounds %struct.s2n_result, ptr %73, i32 0, i32 0
  store i32 %2948, ptr %2949, align 4
  call void @llvm.lifetime.end.p0(i64 80, ptr %39) #10
  %2950 = call i32 @s2n_connection_ptr_free(ptr noundef %36)
  %2951 = getelementptr inbounds %struct.s2n_result, ptr %74, i32 0, i32 0
  store i32 %2950, ptr %2951, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %36) #10
  %2952 = call i32 @s2n_connection_ptr_free(ptr noundef %33)
  %2953 = getelementptr inbounds %struct.s2n_result, ptr %75, i32 0, i32 0
  store i32 %2952, ptr %2953, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %33) #10
  br label %2954

2954:                                             ; preds = %2947
  %2955 = load i8, ptr %32, align 1, !tbaa !17
  %2956 = add i8 %2955, 1
  store i8 %2956, ptr %32, align 1, !tbaa !17
  br label %1036, !llvm.loop !47

2957:                                             ; preds = %1040
  br label %2958

2958:                                             ; preds = %2957
  %2959 = load i32, ptr %31, align 4, !tbaa !5
  %2960 = add i32 %2959, 1
  store i32 %2960, ptr %31, align 4, !tbaa !5
  br label %1031, !llvm.loop !48

2961:                                             ; preds = %1034
  br label %2962

2962:                                             ; preds = %2961
  %2963 = load i64, ptr %30, align 8, !tbaa !15
  %2964 = add i64 %2963, 1
  store i64 %2964, ptr %30, align 8, !tbaa !15
  br label %1025, !llvm.loop !49

2965:                                             ; preds = %1029
  call void @llvm.lifetime.start.p0(i64 20, ptr %76) #10
  call void @llvm.memcpy.p0.p0.i64(ptr align 16 %76, ptr align 16 @__const.main.test_errors, i64 20, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr %77) #10
  %2966 = call ptr @s2n_config_new()
  store ptr %2966, ptr %77, align 8, !tbaa !9
  br label %2967

2967:                                             ; preds = %2965
  %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 %77, align 8, !tbaa !9
  %2971 = call i32 @s2n_config_set_client_hello_cb(ptr noundef %2970, ptr noundef @s2n_test_ch_cb, ptr noundef null)
  %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 %78) #10
  %2976 = call ptr @__errno_location() #11
  %2977 = load i32, ptr %2976, align 4, !tbaa !5
  store i32 %2977, ptr %78, 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 %78, 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.41, ptr noundef @.str.1, i32 noundef 209, ptr noundef %2994, ptr noundef %2997, ptr noundef %3000, i32 noundef %3002) #10
  br label %3021

3004:                                             ; preds = %2982, %2975
  %3005 = load i32, ptr %78, 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.41, ptr noundef @.str.1, i32 noundef 209, 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 %78) #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
  call void @llvm.lifetime.start.p0(i64 8, ptr %79) #10
  %3029 = call ptr @s2n_config_new()
  store ptr %3029, ptr %79, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %80) #10
  store i64 0, ptr %80, align 8, !tbaa !15
  br label %3030

3030:                                             ; preds = %6432, %3028
  %3031 = load i64, ptr %80, align 8, !tbaa !15
  %3032 = icmp ult i64 %3031, 5
  br i1 %3032, label %3034, label %3033

3033:                                             ; preds = %3030
  store i32 297, ptr %16, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %80) #10
  br label %6435

3034:                                             ; preds = %3030
  call void @llvm.lifetime.start.p0(i64 8, ptr %81) #10
  %3035 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %3035, ptr %81, align 8, !tbaa !9
  br label %3036

3036:                                             ; preds = %3034
  %3037 = load i32, ptr @test_count, align 4, !tbaa !5
  %3038 = add nsw i32 %3037, 1
  store i32 %3038, ptr @test_count, align 4, !tbaa !5
  %3039 = load ptr, ptr %81, align 8, !tbaa !9
  %3040 = call i32 @s2n_connection_set_blinding(ptr noundef %3039, i32 noundef 1)
  %3041 = icmp eq i32 %3040, -1
  br i1 %3041, label %3042, label %3095

3042:                                             ; preds = %3036
  br label %3043

3043:                                             ; preds = %3042
  br label %3044

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

3051:                                             ; preds = %3044
  %3052 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3053 = call i32 @fileno(ptr noundef %3052) #10
  %3054 = call i32 @isatty(i32 noundef %3053) #10
  %3055 = icmp ne i32 %3054, 0
  br i1 %3055, label %3056, label %3073

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

3073:                                             ; preds = %3051, %3044
  %3074 = load i32, ptr %82, align 4, !tbaa !5
  %3075 = call ptr @__errno_location() #11
  store i32 %3074, ptr %3075, align 4, !tbaa !5
  %3076 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3077 = load i32, ptr @test_count, align 4, !tbaa !5
  %3078 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3079 = load i32, ptr %3078, align 4, !tbaa !5
  %3080 = call ptr @s2n_strerror(i32 noundef %3079, ptr noundef @.str.4)
  %3081 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3082 = load i32, ptr %3081, align 4, !tbaa !5
  %3083 = call ptr @s2n_strerror_debug(i32 noundef %3082, ptr noundef @.str.4)
  %3084 = call ptr @__errno_location() #11
  %3085 = load i32, ptr %3084, align 4, !tbaa !5
  %3086 = call ptr @strerror(i32 noundef %3085) #10
  %3087 = call ptr @__errno_location() #11
  %3088 = load i32, ptr %3087, align 4, !tbaa !5
  %3089 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3076, ptr noundef @.str.5, i32 noundef %3077, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 217, ptr noundef %3080, ptr noundef %3083, ptr noundef %3086, i32 noundef %3088) #10
  br label %3090

3090:                                             ; preds = %3073, %3056
  call void @llvm.lifetime.end.p0(i64 4, ptr %82) #10
  br label %3091

3091:                                             ; preds = %3090
  br label %3092

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

3093:                                             ; No predecessors!
  br label %3094

3094:                                             ; preds = %3093
  br label %3095

3095:                                             ; preds = %3094, %3036
  br label %3096

3096:                                             ; preds = %3095
  br label %3097

3097:                                             ; preds = %3096
  br label %3098

3098:                                             ; preds = %3097
  %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 = load ptr, ptr %81, align 8, !tbaa !9
  %3102 = load ptr, ptr %23, align 8, !tbaa !9
  %3103 = call i32 @s2n_connection_set_config(ptr noundef %3101, ptr noundef %3102)
  %3104 = icmp eq i32 %3103, -1
  br i1 %3104, label %3105, label %3158

3105:                                             ; preds = %3098
  br label %3106

3106:                                             ; preds = %3105
  br label %3107

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

3114:                                             ; preds = %3107
  %3115 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3116 = call i32 @fileno(ptr noundef %3115) #10
  %3117 = call i32 @isatty(i32 noundef %3116) #10
  %3118 = icmp ne i32 %3117, 0
  br i1 %3118, label %3119, label %3136

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

3136:                                             ; preds = %3114, %3107
  %3137 = load i32, ptr %83, align 4, !tbaa !5
  %3138 = call ptr @__errno_location() #11
  store i32 %3137, ptr %3138, align 4, !tbaa !5
  %3139 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3140 = load i32, ptr @test_count, align 4, !tbaa !5
  %3141 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3142 = load i32, ptr %3141, align 4, !tbaa !5
  %3143 = call ptr @s2n_strerror(i32 noundef %3142, ptr noundef @.str.4)
  %3144 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3145 = load i32, ptr %3144, align 4, !tbaa !5
  %3146 = call ptr @s2n_strerror_debug(i32 noundef %3145, ptr noundef @.str.4)
  %3147 = call ptr @__errno_location() #11
  %3148 = load i32, ptr %3147, align 4, !tbaa !5
  %3149 = call ptr @strerror(i32 noundef %3148) #10
  %3150 = call ptr @__errno_location() #11
  %3151 = load i32, ptr %3150, align 4, !tbaa !5
  %3152 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3139, ptr noundef @.str.5, i32 noundef %3140, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 218, ptr noundef %3143, ptr noundef %3146, ptr noundef %3149, i32 noundef %3151) #10
  br label %3153

3153:                                             ; preds = %3136, %3119
  call void @llvm.lifetime.end.p0(i64 4, ptr %83) #10
  br label %3154

3154:                                             ; preds = %3153
  br label %3155

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

3156:                                             ; No predecessors!
  br label %3157

3157:                                             ; preds = %3156
  br label %3158

3158:                                             ; preds = %3157, %3098
  br label %3159

3159:                                             ; preds = %3158
  br label %3160

3160:                                             ; preds = %3159
  call void @llvm.lifetime.start.p0(i64 8, ptr %84) #10
  %3161 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %3161, ptr %84, align 8, !tbaa !9
  br label %3162

3162:                                             ; preds = %3160
  %3163 = load i32, ptr @test_count, align 4, !tbaa !5
  %3164 = add nsw i32 %3163, 1
  store i32 %3164, ptr @test_count, align 4, !tbaa !5
  %3165 = load ptr, ptr %84, align 8, !tbaa !9
  %3166 = call i32 @s2n_connection_set_blinding(ptr noundef %3165, i32 noundef 1)
  %3167 = icmp eq i32 %3166, -1
  br i1 %3167, label %3168, label %3221

3168:                                             ; preds = %3162
  br label %3169

3169:                                             ; preds = %3168
  br label %3170

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

3177:                                             ; preds = %3170
  %3178 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3179 = call i32 @fileno(ptr noundef %3178) #10
  %3180 = call i32 @isatty(i32 noundef %3179) #10
  %3181 = icmp ne i32 %3180, 0
  br i1 %3181, label %3182, label %3199

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

3199:                                             ; preds = %3177, %3170
  %3200 = load i32, ptr %85, align 4, !tbaa !5
  %3201 = call ptr @__errno_location() #11
  store i32 %3200, ptr %3201, align 4, !tbaa !5
  %3202 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3203 = load i32, ptr @test_count, align 4, !tbaa !5
  %3204 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3205 = load i32, ptr %3204, align 4, !tbaa !5
  %3206 = call ptr @s2n_strerror(i32 noundef %3205, ptr noundef @.str.4)
  %3207 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3208 = load i32, ptr %3207, align 4, !tbaa !5
  %3209 = call ptr @s2n_strerror_debug(i32 noundef %3208, ptr noundef @.str.4)
  %3210 = call ptr @__errno_location() #11
  %3211 = load i32, ptr %3210, align 4, !tbaa !5
  %3212 = call ptr @strerror(i32 noundef %3211) #10
  %3213 = call ptr @__errno_location() #11
  %3214 = load i32, ptr %3213, align 4, !tbaa !5
  %3215 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3202, ptr noundef @.str.5, i32 noundef %3203, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 222, ptr noundef %3206, ptr noundef %3209, ptr noundef %3212, i32 noundef %3214) #10
  br label %3216

3216:                                             ; preds = %3199, %3182
  call void @llvm.lifetime.end.p0(i64 4, ptr %85) #10
  br label %3217

3217:                                             ; preds = %3216
  br label %3218

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

3219:                                             ; No predecessors!
  br label %3220

3220:                                             ; preds = %3219
  br label %3221

3221:                                             ; preds = %3220, %3162
  br label %3222

3222:                                             ; preds = %3221
  br label %3223

3223:                                             ; preds = %3222
  br label %3224

3224:                                             ; preds = %3223
  %3225 = load i32, ptr @test_count, align 4, !tbaa !5
  %3226 = add nsw i32 %3225, 1
  store i32 %3226, ptr @test_count, align 4, !tbaa !5
  %3227 = load ptr, ptr %84, align 8, !tbaa !9
  %3228 = load ptr, ptr %23, align 8, !tbaa !9
  %3229 = call i32 @s2n_connection_set_config(ptr noundef %3227, ptr noundef %3228)
  %3230 = icmp eq i32 %3229, -1
  br i1 %3230, label %3231, label %3284

3231:                                             ; preds = %3224
  br label %3232

3232:                                             ; preds = %3231
  br label %3233

3233:                                             ; preds = %3232
  call void @llvm.lifetime.start.p0(i64 4, ptr %86) #10
  %3234 = call ptr @__errno_location() #11
  %3235 = load i32, ptr %3234, align 4, !tbaa !5
  store i32 %3235, ptr %86, align 4, !tbaa !5
  %3236 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3237 = call i32 @s2n_print_stacktrace(ptr noundef %3236)
  %3238 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3239 = trunc i8 %3238 to i1
  br i1 %3239, label %3240, label %3262

3240:                                             ; preds = %3233
  %3241 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3242 = call i32 @fileno(ptr noundef %3241) #10
  %3243 = call i32 @isatty(i32 noundef %3242) #10
  %3244 = icmp ne i32 %3243, 0
  br i1 %3244, label %3245, label %3262

3245:                                             ; preds = %3240
  %3246 = load i32, ptr %86, align 4, !tbaa !5
  %3247 = call ptr @__errno_location() #11
  store i32 %3246, ptr %3247, align 4, !tbaa !5
  %3248 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3249 = load i32, ptr @test_count, align 4, !tbaa !5
  %3250 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3251 = load i32, ptr %3250, align 4, !tbaa !5
  %3252 = call ptr @s2n_strerror(i32 noundef %3251, ptr noundef @.str.4)
  %3253 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3254 = load i32, ptr %3253, align 4, !tbaa !5
  %3255 = call ptr @s2n_strerror_debug(i32 noundef %3254, ptr noundef @.str.4)
  %3256 = call ptr @__errno_location() #11
  %3257 = load i32, ptr %3256, align 4, !tbaa !5
  %3258 = call ptr @strerror(i32 noundef %3257) #10
  %3259 = call ptr @__errno_location() #11
  %3260 = load i32, ptr %3259, align 4, !tbaa !5
  %3261 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3248, ptr noundef @.str.2, i32 noundef %3249, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 223, ptr noundef %3252, ptr noundef %3255, ptr noundef %3258, i32 noundef %3260) #10
  br label %3279

3262:                                             ; preds = %3240, %3233
  %3263 = load i32, ptr %86, align 4, !tbaa !5
  %3264 = call ptr @__errno_location() #11
  store i32 %3263, ptr %3264, align 4, !tbaa !5
  %3265 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3266 = load i32, ptr @test_count, align 4, !tbaa !5
  %3267 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3268 = load i32, ptr %3267, align 4, !tbaa !5
  %3269 = call ptr @s2n_strerror(i32 noundef %3268, ptr noundef @.str.4)
  %3270 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3271 = load i32, ptr %3270, align 4, !tbaa !5
  %3272 = call ptr @s2n_strerror_debug(i32 noundef %3271, ptr noundef @.str.4)
  %3273 = call ptr @__errno_location() #11
  %3274 = load i32, ptr %3273, align 4, !tbaa !5
  %3275 = call ptr @strerror(i32 noundef %3274) #10
  %3276 = call ptr @__errno_location() #11
  %3277 = load i32, ptr %3276, align 4, !tbaa !5
  %3278 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3265, ptr noundef @.str.5, i32 noundef %3266, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 223, ptr noundef %3269, ptr noundef %3272, ptr noundef %3275, i32 noundef %3277) #10
  br label %3279

3279:                                             ; preds = %3262, %3245
  call void @llvm.lifetime.end.p0(i64 4, ptr %86) #10
  br label %3280

3280:                                             ; preds = %3279
  br label %3281

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

3282:                                             ; No predecessors!
  br label %3283

3283:                                             ; preds = %3282
  br label %3284

3284:                                             ; preds = %3283, %3224
  br label %3285

3285:                                             ; preds = %3284
  br label %3286

3286:                                             ; preds = %3285
  call void @llvm.lifetime.start.p0(i64 80, ptr %87) #10
  call void @llvm.memset.p0.i64(ptr align 8 %87, i8 0, i64 80, i1 false)
  br label %3287

3287:                                             ; preds = %3286
  %3288 = load i32, ptr @test_count, align 4, !tbaa !5
  %3289 = add nsw i32 %3288, 1
  store i32 %3289, ptr @test_count, align 4, !tbaa !5
  %3290 = call i32 @s2n_io_stuffer_pair_init(ptr noundef %87)
  %3291 = getelementptr inbounds %struct.s2n_result, ptr %88, i32 0, i32 0
  store i32 %3290, ptr %3291, align 4
  %3292 = getelementptr inbounds %struct.s2n_result, ptr %88, i32 0, i32 0
  %3293 = load i32, ptr %3292, align 4
  %3294 = call zeroext i1 @s2n_result_is_ok(i32 %3293)
  br i1 %3294, label %3348, label %3295

3295:                                             ; preds = %3287
  br label %3296

3296:                                             ; preds = %3295
  br label %3297

3297:                                             ; preds = %3296
  call void @llvm.lifetime.start.p0(i64 4, ptr %89) #10
  %3298 = call ptr @__errno_location() #11
  %3299 = load i32, ptr %3298, align 4, !tbaa !5
  store i32 %3299, ptr %89, align 4, !tbaa !5
  %3300 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3301 = call i32 @s2n_print_stacktrace(ptr noundef %3300)
  %3302 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3303 = trunc i8 %3302 to i1
  br i1 %3303, label %3304, label %3326

3304:                                             ; preds = %3297
  %3305 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3306 = call i32 @fileno(ptr noundef %3305) #10
  %3307 = call i32 @isatty(i32 noundef %3306) #10
  %3308 = icmp ne i32 %3307, 0
  br i1 %3308, label %3309, label %3326

3309:                                             ; preds = %3304
  %3310 = load i32, ptr %89, align 4, !tbaa !5
  %3311 = call ptr @__errno_location() #11
  store i32 %3310, ptr %3311, align 4, !tbaa !5
  %3312 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3313 = load i32, ptr @test_count, align 4, !tbaa !5
  %3314 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3315 = load i32, ptr %3314, align 4, !tbaa !5
  %3316 = call ptr @s2n_strerror(i32 noundef %3315, ptr noundef @.str.4)
  %3317 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3318 = load i32, ptr %3317, align 4, !tbaa !5
  %3319 = call ptr @s2n_strerror_debug(i32 noundef %3318, ptr noundef @.str.4)
  %3320 = call ptr @__errno_location() #11
  %3321 = load i32, ptr %3320, align 4, !tbaa !5
  %3322 = call ptr @strerror(i32 noundef %3321) #10
  %3323 = call ptr @__errno_location() #11
  %3324 = load i32, ptr %3323, align 4, !tbaa !5
  %3325 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3312, ptr noundef @.str.2, i32 noundef %3313, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 226, ptr noundef %3316, ptr noundef %3319, ptr noundef %3322, i32 noundef %3324) #10
  br label %3343

3326:                                             ; preds = %3304, %3297
  %3327 = load i32, ptr %89, align 4, !tbaa !5
  %3328 = call ptr @__errno_location() #11
  store i32 %3327, ptr %3328, align 4, !tbaa !5
  %3329 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3330 = load i32, ptr @test_count, align 4, !tbaa !5
  %3331 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3332 = load i32, ptr %3331, align 4, !tbaa !5
  %3333 = call ptr @s2n_strerror(i32 noundef %3332, ptr noundef @.str.4)
  %3334 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3335 = load i32, ptr %3334, align 4, !tbaa !5
  %3336 = call ptr @s2n_strerror_debug(i32 noundef %3335, ptr noundef @.str.4)
  %3337 = call ptr @__errno_location() #11
  %3338 = load i32, ptr %3337, align 4, !tbaa !5
  %3339 = call ptr @strerror(i32 noundef %3338) #10
  %3340 = call ptr @__errno_location() #11
  %3341 = load i32, ptr %3340, align 4, !tbaa !5
  %3342 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3329, ptr noundef @.str.5, i32 noundef %3330, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 226, ptr noundef %3333, ptr noundef %3336, ptr noundef %3339, i32 noundef %3341) #10
  br label %3343

3343:                                             ; preds = %3326, %3309
  call void @llvm.lifetime.end.p0(i64 4, ptr %89) #10
  br label %3344

3344:                                             ; preds = %3343
  br label %3345

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

3346:                                             ; No predecessors!
  br label %3347

3347:                                             ; preds = %3346
  br label %3348

3348:                                             ; preds = %3347, %3287
  br label %3349

3349:                                             ; preds = %3348
  br label %3350

3350:                                             ; preds = %3349
  br label %3351

3351:                                             ; preds = %3350
  %3352 = load i32, ptr @test_count, align 4, !tbaa !5
  %3353 = add nsw i32 %3352, 1
  store i32 %3353, ptr @test_count, align 4, !tbaa !5
  %3354 = load ptr, ptr %84, align 8, !tbaa !9
  %3355 = load ptr, ptr %81, align 8, !tbaa !9
  %3356 = call i32 @s2n_connections_set_io_stuffer_pair(ptr noundef %3354, ptr noundef %3355, ptr noundef %87)
  %3357 = getelementptr inbounds %struct.s2n_result, ptr %90, i32 0, i32 0
  store i32 %3356, ptr %3357, align 4
  %3358 = getelementptr inbounds %struct.s2n_result, ptr %90, i32 0, i32 0
  %3359 = load i32, ptr %3358, align 4
  %3360 = call zeroext i1 @s2n_result_is_ok(i32 %3359)
  br i1 %3360, label %3414, label %3361

3361:                                             ; preds = %3351
  br label %3362

3362:                                             ; preds = %3361
  br label %3363

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

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

3375:                                             ; preds = %3370
  %3376 = load i32, ptr %91, align 4, !tbaa !5
  %3377 = call ptr @__errno_location() #11
  store i32 %3376, ptr %3377, align 4, !tbaa !5
  %3378 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3379 = load i32, ptr @test_count, align 4, !tbaa !5
  %3380 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3381 = load i32, ptr %3380, align 4, !tbaa !5
  %3382 = call ptr @s2n_strerror(i32 noundef %3381, ptr noundef @.str.4)
  %3383 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3384 = load i32, ptr %3383, align 4, !tbaa !5
  %3385 = call ptr @s2n_strerror_debug(i32 noundef %3384, ptr noundef @.str.4)
  %3386 = call ptr @__errno_location() #11
  %3387 = load i32, ptr %3386, align 4, !tbaa !5
  %3388 = call ptr @strerror(i32 noundef %3387) #10
  %3389 = call ptr @__errno_location() #11
  %3390 = load i32, ptr %3389, align 4, !tbaa !5
  %3391 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3378, ptr noundef @.str.2, i32 noundef %3379, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 227, ptr noundef %3382, ptr noundef %3385, ptr noundef %3388, i32 noundef %3390) #10
  br label %3409

3392:                                             ; preds = %3370, %3363
  %3393 = load i32, ptr %91, align 4, !tbaa !5
  %3394 = call ptr @__errno_location() #11
  store i32 %3393, ptr %3394, align 4, !tbaa !5
  %3395 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3396 = load i32, ptr @test_count, align 4, !tbaa !5
  %3397 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3398 = load i32, ptr %3397, align 4, !tbaa !5
  %3399 = call ptr @s2n_strerror(i32 noundef %3398, ptr noundef @.str.4)
  %3400 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3401 = load i32, ptr %3400, align 4, !tbaa !5
  %3402 = call ptr @s2n_strerror_debug(i32 noundef %3401, ptr noundef @.str.4)
  %3403 = call ptr @__errno_location() #11
  %3404 = load i32, ptr %3403, align 4, !tbaa !5
  %3405 = call ptr @strerror(i32 noundef %3404) #10
  %3406 = call ptr @__errno_location() #11
  %3407 = load i32, ptr %3406, align 4, !tbaa !5
  %3408 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3395, ptr noundef @.str.5, i32 noundef %3396, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 227, ptr noundef %3399, ptr noundef %3402, ptr noundef %3405, i32 noundef %3407) #10
  br label %3409

3409:                                             ; preds = %3392, %3375
  call void @llvm.lifetime.end.p0(i64 4, ptr %91) #10
  br label %3410

3410:                                             ; preds = %3409
  br label %3411

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

3412:                                             ; No predecessors!
  br label %3413

3413:                                             ; preds = %3412
  br label %3414

3414:                                             ; preds = %3413, %3351
  br label %3415

3415:                                             ; preds = %3414
  br label %3416

3416:                                             ; preds = %3415
  call void @llvm.lifetime.start.p0(i64 4, ptr %92) #10
  store i32 0, ptr %92, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 1, ptr %93) #10
  store i8 0, ptr %93, align 1, !tbaa !17
  call void @llvm.lifetime.start.p0(i64 8, ptr %94) #10
  %3417 = load ptr, ptr %81, align 8, !tbaa !9
  store ptr %3417, ptr %94, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %95) #10
  %3418 = load ptr, ptr %84, align 8, !tbaa !9
  store ptr %3418, ptr %95, align 8, !tbaa !9
  %3419 = load i64, ptr %80, align 8, !tbaa !15
  %3420 = getelementptr inbounds [5 x i32], ptr %76, i64 0, i64 %3419
  %3421 = load i32, ptr %3420, align 4, !tbaa !5
  switch i32 %3421, label %5393 [
    i32 335544386, label %3422
    i32 335544334, label %3685
    i32 335544387, label %4010
    i32 335544366, label %4672
    i32 335544321, label %5062
  ]

3422:                                             ; preds = %3416
  br label %3423

3423:                                             ; preds = %3422
  %3424 = load i32, ptr @test_count, align 4, !tbaa !5
  %3425 = add nsw i32 %3424, 1
  store i32 %3425, ptr @test_count, align 4, !tbaa !5
  %3426 = load ptr, ptr %81, align 8, !tbaa !9
  %3427 = load ptr, ptr %77, align 8, !tbaa !9
  %3428 = call i32 @s2n_connection_set_config(ptr noundef %3426, ptr noundef %3427)
  %3429 = icmp eq i32 %3428, -1
  br i1 %3429, label %3430, label %3483

3430:                                             ; preds = %3423
  br label %3431

3431:                                             ; preds = %3430
  br label %3432

3432:                                             ; preds = %3431
  call void @llvm.lifetime.start.p0(i64 4, ptr %96) #10
  %3433 = call ptr @__errno_location() #11
  %3434 = load i32, ptr %3433, align 4, !tbaa !5
  store i32 %3434, ptr %96, 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 %96, 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 237, ptr noundef %3451, ptr noundef %3454, ptr noundef %3457, i32 noundef %3459) #10
  br label %3478

3461:                                             ; preds = %3439, %3432
  %3462 = load i32, ptr %96, 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 237, 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 %96) #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, %3423
  br label %3484

3484:                                             ; preds = %3483
  br label %3485

3485:                                             ; preds = %3484
  br label %3486

3486:                                             ; preds = %3485
  br label %3487

3487:                                             ; preds = %3486
  br label %3488

3488:                                             ; preds = %3487
  %3489 = load i32, ptr @test_count, align 4, !tbaa !5
  %3490 = add nsw i32 %3489, 1
  store i32 %3490, ptr @test_count, align 4, !tbaa !5
  %3491 = load ptr, ptr %81, align 8, !tbaa !9
  %3492 = load ptr, ptr %84, align 8, !tbaa !9
  %3493 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %3491, ptr noundef %3492)
  %3494 = icmp eq i32 %3493, -1
  br i1 %3494, label %3548, label %3495

3495:                                             ; preds = %3488
  br label %3496

3496:                                             ; preds = %3495
  br label %3497

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

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

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

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

3543:                                             ; preds = %3526, %3509
  call void @llvm.lifetime.end.p0(i64 4, ptr %97) #10
  br label %3544

3544:                                             ; preds = %3543
  br label %3545

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

3546:                                             ; No predecessors!
  br label %3547

3547:                                             ; preds = %3546
  br label %3548

3548:                                             ; preds = %3547, %3488
  br label %3549

3549:                                             ; preds = %3548
  br label %3550

3550:                                             ; preds = %3549
  br label %3551

3551:                                             ; preds = %3550
  %3552 = load i32, ptr @test_count, align 4, !tbaa !5
  %3553 = add nsw i32 %3552, 1
  store i32 %3553, ptr @test_count, align 4, !tbaa !5
  %3554 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3555 = load i32, ptr %3554, align 4, !tbaa !5
  %3556 = icmp eq i32 %3555, 335544386
  br i1 %3556, label %3610, label %3557

3557:                                             ; preds = %3551
  br label %3558

3558:                                             ; preds = %3557
  br label %3559

3559:                                             ; preds = %3558
  call void @llvm.lifetime.start.p0(i64 4, ptr %98) #10
  %3560 = call ptr @__errno_location() #11
  %3561 = load i32, ptr %3560, align 4, !tbaa !5
  store i32 %3561, ptr %98, align 4, !tbaa !5
  %3562 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3563 = call i32 @s2n_print_stacktrace(ptr noundef %3562)
  %3564 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3565 = trunc i8 %3564 to i1
  br i1 %3565, label %3566, label %3588

3566:                                             ; preds = %3559
  %3567 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3568 = call i32 @fileno(ptr noundef %3567) #10
  %3569 = call i32 @isatty(i32 noundef %3568) #10
  %3570 = icmp ne i32 %3569, 0
  br i1 %3570, label %3571, label %3588

3571:                                             ; preds = %3566
  %3572 = load i32, ptr %98, align 4, !tbaa !5
  %3573 = call ptr @__errno_location() #11
  store i32 %3572, ptr %3573, align 4, !tbaa !5
  %3574 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3575 = load i32, ptr @test_count, align 4, !tbaa !5
  %3576 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3577 = load i32, ptr %3576, align 4, !tbaa !5
  %3578 = call ptr @s2n_strerror(i32 noundef %3577, ptr noundef @.str.4)
  %3579 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3580 = load i32, ptr %3579, align 4, !tbaa !5
  %3581 = call ptr @s2n_strerror_debug(i32 noundef %3580, ptr noundef @.str.4)
  %3582 = call ptr @__errno_location() #11
  %3583 = load i32, ptr %3582, align 4, !tbaa !5
  %3584 = call ptr @strerror(i32 noundef %3583) #10
  %3585 = call ptr @__errno_location() #11
  %3586 = load i32, ptr %3585, align 4, !tbaa !5
  %3587 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3574, ptr noundef @.str.2, i32 noundef %3575, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 239, ptr noundef %3578, ptr noundef %3581, ptr noundef %3584, i32 noundef %3586) #10
  br label %3605

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

3605:                                             ; preds = %3588, %3571
  call void @llvm.lifetime.end.p0(i64 4, ptr %98) #10
  br label %3606

3606:                                             ; preds = %3605
  br label %3607

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

3608:                                             ; No predecessors!
  br label %3609

3609:                                             ; preds = %3608
  br label %3610

3610:                                             ; preds = %3609, %3551
  br label %3611

3611:                                             ; preds = %3610
  br label %3612

3612:                                             ; preds = %3611
  br label %3613

3613:                                             ; preds = %3612
  %3614 = load i32, ptr @test_count, align 4, !tbaa !5
  %3615 = add nsw i32 %3614, 1
  store i32 %3615, ptr @test_count, align 4, !tbaa !5
  %3616 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3617 = load i32, ptr %3616, align 4, !tbaa !5
  %3618 = call ptr @s2n_strerror_debug(i32 noundef %3617, ptr noundef @.str.4)
  %3619 = icmp eq ptr %3618, null
  br i1 %3619, label %3620, label %3673

3620:                                             ; preds = %3613
  br label %3621

3621:                                             ; preds = %3620
  br label %3622

3622:                                             ; preds = %3621
  call void @llvm.lifetime.start.p0(i64 4, ptr %99) #10
  %3623 = call ptr @__errno_location() #11
  %3624 = load i32, ptr %3623, align 4, !tbaa !5
  store i32 %3624, ptr %99, align 4, !tbaa !5
  %3625 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3626 = call i32 @s2n_print_stacktrace(ptr noundef %3625)
  %3627 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3628 = trunc i8 %3627 to i1
  br i1 %3628, label %3629, label %3651

3629:                                             ; preds = %3622
  %3630 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3631 = call i32 @fileno(ptr noundef %3630) #10
  %3632 = call i32 @isatty(i32 noundef %3631) #10
  %3633 = icmp ne i32 %3632, 0
  br i1 %3633, label %3634, label %3651

3634:                                             ; preds = %3629
  %3635 = load i32, ptr %99, align 4, !tbaa !5
  %3636 = call ptr @__errno_location() #11
  store i32 %3635, ptr %3636, align 4, !tbaa !5
  %3637 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3638 = load i32, ptr @test_count, align 4, !tbaa !5
  %3639 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3640 = load i32, ptr %3639, align 4, !tbaa !5
  %3641 = call ptr @s2n_strerror(i32 noundef %3640, ptr noundef @.str.4)
  %3642 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3643 = load i32, ptr %3642, align 4, !tbaa !5
  %3644 = call ptr @s2n_strerror_debug(i32 noundef %3643, ptr noundef @.str.4)
  %3645 = call ptr @__errno_location() #11
  %3646 = load i32, ptr %3645, align 4, !tbaa !5
  %3647 = call ptr @strerror(i32 noundef %3646) #10
  %3648 = call ptr @__errno_location() #11
  %3649 = load i32, ptr %3648, align 4, !tbaa !5
  %3650 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3637, ptr noundef @.str.2, i32 noundef %3638, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 239, ptr noundef %3641, ptr noundef %3644, ptr noundef %3647, i32 noundef %3649) #10
  br label %3668

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

3668:                                             ; preds = %3651, %3634
  call void @llvm.lifetime.end.p0(i64 4, ptr %99) #10
  br label %3669

3669:                                             ; preds = %3668
  br label %3670

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

3671:                                             ; No predecessors!
  br label %3672

3672:                                             ; preds = %3671
  br label %3673

3673:                                             ; preds = %3672, %3613
  br label %3674

3674:                                             ; preds = %3673
  br label %3675

3675:                                             ; preds = %3674
  br label %3676

3676:                                             ; preds = %3675
  br label %3677

3677:                                             ; preds = %3676
  br label %3678

3678:                                             ; preds = %3677
  %3679 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %3679, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %3680 = call ptr @__errno_location() #11
  store i32 0, ptr %3680, align 4, !tbaa !5
  br label %3681

3681:                                             ; preds = %3678
  br label %3682

3682:                                             ; preds = %3681
  br label %3683

3683:                                             ; preds = %3682
  br label %3684

3684:                                             ; preds = %3683
  store i8 40, ptr %93, align 1, !tbaa !17
  br label %5446

3685:                                             ; preds = %3416
  br label %3686

3686:                                             ; preds = %3685
  %3687 = load i32, ptr @test_count, align 4, !tbaa !5
  %3688 = add nsw i32 %3687, 1
  store i32 %3688, ptr @test_count, align 4, !tbaa !5
  %3689 = load ptr, ptr %81, align 8, !tbaa !9
  %3690 = load ptr, ptr %27, align 8, !tbaa !9
  %3691 = call i32 @s2n_connection_set_config(ptr noundef %3689, ptr noundef %3690)
  %3692 = icmp eq i32 %3691, -1
  br i1 %3692, label %3693, label %3746

3693:                                             ; preds = %3686
  br label %3694

3694:                                             ; preds = %3693
  br label %3695

3695:                                             ; preds = %3694
  call void @llvm.lifetime.start.p0(i64 4, ptr %100) #10
  %3696 = call ptr @__errno_location() #11
  %3697 = load i32, ptr %3696, align 4, !tbaa !5
  store i32 %3697, ptr %100, align 4, !tbaa !5
  %3698 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3699 = call i32 @s2n_print_stacktrace(ptr noundef %3698)
  %3700 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3701 = trunc i8 %3700 to i1
  br i1 %3701, label %3702, label %3724

3702:                                             ; preds = %3695
  %3703 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3704 = call i32 @fileno(ptr noundef %3703) #10
  %3705 = call i32 @isatty(i32 noundef %3704) #10
  %3706 = icmp ne i32 %3705, 0
  br i1 %3706, label %3707, label %3724

3707:                                             ; preds = %3702
  %3708 = load i32, ptr %100, align 4, !tbaa !5
  %3709 = call ptr @__errno_location() #11
  store i32 %3708, ptr %3709, align 4, !tbaa !5
  %3710 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3711 = load i32, ptr @test_count, align 4, !tbaa !5
  %3712 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3713 = load i32, ptr %3712, align 4, !tbaa !5
  %3714 = call ptr @s2n_strerror(i32 noundef %3713, ptr noundef @.str.4)
  %3715 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3716 = load i32, ptr %3715, align 4, !tbaa !5
  %3717 = call ptr @s2n_strerror_debug(i32 noundef %3716, ptr noundef @.str.4)
  %3718 = call ptr @__errno_location() #11
  %3719 = load i32, ptr %3718, align 4, !tbaa !5
  %3720 = call ptr @strerror(i32 noundef %3719) #10
  %3721 = call ptr @__errno_location() #11
  %3722 = load i32, ptr %3721, align 4, !tbaa !5
  %3723 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3710, ptr noundef @.str.2, i32 noundef %3711, ptr noundef @.str.45, ptr noundef @.str.1, i32 noundef 248, ptr noundef %3714, ptr noundef %3717, ptr noundef %3720, i32 noundef %3722) #10
  br label %3741

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

3741:                                             ; preds = %3724, %3707
  call void @llvm.lifetime.end.p0(i64 4, ptr %100) #10
  br label %3742

3742:                                             ; preds = %3741
  br label %3743

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

3744:                                             ; No predecessors!
  br label %3745

3745:                                             ; preds = %3744
  br label %3746

3746:                                             ; preds = %3745, %3686
  br label %3747

3747:                                             ; preds = %3746
  br label %3748

3748:                                             ; preds = %3747
  br label %3749

3749:                                             ; preds = %3748
  %3750 = load i32, ptr @test_count, align 4, !tbaa !5
  %3751 = add nsw i32 %3750, 1
  store i32 %3751, ptr @test_count, align 4, !tbaa !5
  %3752 = load ptr, ptr %84, align 8, !tbaa !9
  %3753 = call i32 @s2n_connection_set_cipher_preferences(ptr noundef %3752, ptr noundef @.str.46)
  %3754 = icmp eq i32 %3753, -1
  br i1 %3754, label %3755, label %3808

3755:                                             ; preds = %3749
  br label %3756

3756:                                             ; preds = %3755
  br label %3757

3757:                                             ; preds = %3756
  call void @llvm.lifetime.start.p0(i64 4, ptr %101) #10
  %3758 = call ptr @__errno_location() #11
  %3759 = load i32, ptr %3758, align 4, !tbaa !5
  store i32 %3759, ptr %101, align 4, !tbaa !5
  %3760 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3761 = call i32 @s2n_print_stacktrace(ptr noundef %3760)
  %3762 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3763 = trunc i8 %3762 to i1
  br i1 %3763, label %3764, label %3786

3764:                                             ; preds = %3757
  %3765 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3766 = call i32 @fileno(ptr noundef %3765) #10
  %3767 = call i32 @isatty(i32 noundef %3766) #10
  %3768 = icmp ne i32 %3767, 0
  br i1 %3768, label %3769, label %3786

3769:                                             ; preds = %3764
  %3770 = load i32, ptr %101, align 4, !tbaa !5
  %3771 = call ptr @__errno_location() #11
  store i32 %3770, ptr %3771, align 4, !tbaa !5
  %3772 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3773 = load i32, ptr @test_count, align 4, !tbaa !5
  %3774 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3775 = load i32, ptr %3774, align 4, !tbaa !5
  %3776 = call ptr @s2n_strerror(i32 noundef %3775, ptr noundef @.str.4)
  %3777 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3778 = load i32, ptr %3777, align 4, !tbaa !5
  %3779 = call ptr @s2n_strerror_debug(i32 noundef %3778, ptr noundef @.str.4)
  %3780 = call ptr @__errno_location() #11
  %3781 = load i32, ptr %3780, align 4, !tbaa !5
  %3782 = call ptr @strerror(i32 noundef %3781) #10
  %3783 = call ptr @__errno_location() #11
  %3784 = load i32, ptr %3783, align 4, !tbaa !5
  %3785 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3772, ptr noundef @.str.2, i32 noundef %3773, ptr noundef @.str.47, ptr noundef @.str.1, i32 noundef 249, ptr noundef %3776, ptr noundef %3779, ptr noundef %3782, i32 noundef %3784) #10
  br label %3803

3786:                                             ; preds = %3764, %3757
  %3787 = load i32, ptr %101, align 4, !tbaa !5
  %3788 = call ptr @__errno_location() #11
  store i32 %3787, ptr %3788, align 4, !tbaa !5
  %3789 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3790 = load i32, ptr @test_count, align 4, !tbaa !5
  %3791 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3792 = load i32, ptr %3791, align 4, !tbaa !5
  %3793 = call ptr @s2n_strerror(i32 noundef %3792, ptr noundef @.str.4)
  %3794 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3795 = load i32, ptr %3794, align 4, !tbaa !5
  %3796 = call ptr @s2n_strerror_debug(i32 noundef %3795, ptr noundef @.str.4)
  %3797 = call ptr @__errno_location() #11
  %3798 = load i32, ptr %3797, align 4, !tbaa !5
  %3799 = call ptr @strerror(i32 noundef %3798) #10
  %3800 = call ptr @__errno_location() #11
  %3801 = load i32, ptr %3800, align 4, !tbaa !5
  %3802 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3789, ptr noundef @.str.5, i32 noundef %3790, ptr noundef @.str.47, ptr noundef @.str.1, i32 noundef 249, ptr noundef %3793, ptr noundef %3796, ptr noundef %3799, i32 noundef %3801) #10
  br label %3803

3803:                                             ; preds = %3786, %3769
  call void @llvm.lifetime.end.p0(i64 4, ptr %101) #10
  br label %3804

3804:                                             ; preds = %3803
  br label %3805

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

3806:                                             ; No predecessors!
  br label %3807

3807:                                             ; preds = %3806
  br label %3808

3808:                                             ; preds = %3807, %3749
  br label %3809

3809:                                             ; preds = %3808
  br label %3810

3810:                                             ; preds = %3809
  br label %3811

3811:                                             ; preds = %3810
  br label %3812

3812:                                             ; preds = %3811
  br label %3813

3813:                                             ; preds = %3812
  %3814 = load i32, ptr @test_count, align 4, !tbaa !5
  %3815 = add nsw i32 %3814, 1
  store i32 %3815, ptr @test_count, align 4, !tbaa !5
  %3816 = load ptr, ptr %81, align 8, !tbaa !9
  %3817 = load ptr, ptr %84, align 8, !tbaa !9
  %3818 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %3816, ptr noundef %3817)
  %3819 = icmp eq i32 %3818, -1
  br i1 %3819, label %3873, label %3820

3820:                                             ; preds = %3813
  br label %3821

3821:                                             ; preds = %3820
  br label %3822

3822:                                             ; preds = %3821
  call void @llvm.lifetime.start.p0(i64 4, ptr %102) #10
  %3823 = call ptr @__errno_location() #11
  %3824 = load i32, ptr %3823, align 4, !tbaa !5
  store i32 %3824, ptr %102, align 4, !tbaa !5
  %3825 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3826 = call i32 @s2n_print_stacktrace(ptr noundef %3825)
  %3827 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3828 = trunc i8 %3827 to i1
  br i1 %3828, label %3829, label %3851

3829:                                             ; preds = %3822
  %3830 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3831 = call i32 @fileno(ptr noundef %3830) #10
  %3832 = call i32 @isatty(i32 noundef %3831) #10
  %3833 = icmp ne i32 %3832, 0
  br i1 %3833, label %3834, label %3851

3834:                                             ; preds = %3829
  %3835 = load i32, ptr %102, align 4, !tbaa !5
  %3836 = call ptr @__errno_location() #11
  store i32 %3835, ptr %3836, align 4, !tbaa !5
  %3837 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3838 = load i32, ptr @test_count, align 4, !tbaa !5
  %3839 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3840 = load i32, ptr %3839, align 4, !tbaa !5
  %3841 = call ptr @s2n_strerror(i32 noundef %3840, ptr noundef @.str.4)
  %3842 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3843 = load i32, ptr %3842, align 4, !tbaa !5
  %3844 = call ptr @s2n_strerror_debug(i32 noundef %3843, ptr noundef @.str.4)
  %3845 = call ptr @__errno_location() #11
  %3846 = load i32, ptr %3845, align 4, !tbaa !5
  %3847 = call ptr @strerror(i32 noundef %3846) #10
  %3848 = call ptr @__errno_location() #11
  %3849 = load i32, ptr %3848, align 4, !tbaa !5
  %3850 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3837, ptr noundef @.str.2, i32 noundef %3838, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 252, ptr noundef %3841, ptr noundef %3844, ptr noundef %3847, i32 noundef %3849) #10
  br label %3868

3851:                                             ; preds = %3829, %3822
  %3852 = load i32, ptr %102, align 4, !tbaa !5
  %3853 = call ptr @__errno_location() #11
  store i32 %3852, ptr %3853, align 4, !tbaa !5
  %3854 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3855 = load i32, ptr @test_count, align 4, !tbaa !5
  %3856 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3857 = load i32, ptr %3856, align 4, !tbaa !5
  %3858 = call ptr @s2n_strerror(i32 noundef %3857, ptr noundef @.str.4)
  %3859 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3860 = load i32, ptr %3859, align 4, !tbaa !5
  %3861 = call ptr @s2n_strerror_debug(i32 noundef %3860, ptr noundef @.str.4)
  %3862 = call ptr @__errno_location() #11
  %3863 = load i32, ptr %3862, align 4, !tbaa !5
  %3864 = call ptr @strerror(i32 noundef %3863) #10
  %3865 = call ptr @__errno_location() #11
  %3866 = load i32, ptr %3865, align 4, !tbaa !5
  %3867 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3854, ptr noundef @.str.5, i32 noundef %3855, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 252, ptr noundef %3858, ptr noundef %3861, ptr noundef %3864, i32 noundef %3866) #10
  br label %3868

3868:                                             ; preds = %3851, %3834
  call void @llvm.lifetime.end.p0(i64 4, ptr %102) #10
  br label %3869

3869:                                             ; preds = %3868
  br label %3870

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

3871:                                             ; No predecessors!
  br label %3872

3872:                                             ; preds = %3871
  br label %3873

3873:                                             ; preds = %3872, %3813
  br label %3874

3874:                                             ; preds = %3873
  br label %3875

3875:                                             ; preds = %3874
  br label %3876

3876:                                             ; preds = %3875
  %3877 = load i32, ptr @test_count, align 4, !tbaa !5
  %3878 = add nsw i32 %3877, 1
  store i32 %3878, ptr @test_count, align 4, !tbaa !5
  %3879 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3880 = load i32, ptr %3879, align 4, !tbaa !5
  %3881 = icmp eq i32 %3880, 335544334
  br i1 %3881, label %3935, label %3882

3882:                                             ; preds = %3876
  br label %3883

3883:                                             ; preds = %3882
  br label %3884

3884:                                             ; preds = %3883
  call void @llvm.lifetime.start.p0(i64 4, ptr %103) #10
  %3885 = call ptr @__errno_location() #11
  %3886 = load i32, ptr %3885, align 4, !tbaa !5
  store i32 %3886, ptr %103, align 4, !tbaa !5
  %3887 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3888 = call i32 @s2n_print_stacktrace(ptr noundef %3887)
  %3889 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3890 = trunc i8 %3889 to i1
  br i1 %3890, label %3891, label %3913

3891:                                             ; preds = %3884
  %3892 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3893 = call i32 @fileno(ptr noundef %3892) #10
  %3894 = call i32 @isatty(i32 noundef %3893) #10
  %3895 = icmp ne i32 %3894, 0
  br i1 %3895, label %3896, label %3913

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

3913:                                             ; preds = %3891, %3884
  %3914 = load i32, ptr %103, align 4, !tbaa !5
  %3915 = call ptr @__errno_location() #11
  store i32 %3914, ptr %3915, align 4, !tbaa !5
  %3916 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3917 = load i32, ptr @test_count, align 4, !tbaa !5
  %3918 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3919 = load i32, ptr %3918, align 4, !tbaa !5
  %3920 = call ptr @s2n_strerror(i32 noundef %3919, ptr noundef @.str.4)
  %3921 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3922 = load i32, ptr %3921, align 4, !tbaa !5
  %3923 = call ptr @s2n_strerror_debug(i32 noundef %3922, ptr noundef @.str.4)
  %3924 = call ptr @__errno_location() #11
  %3925 = load i32, ptr %3924, align 4, !tbaa !5
  %3926 = call ptr @strerror(i32 noundef %3925) #10
  %3927 = call ptr @__errno_location() #11
  %3928 = load i32, ptr %3927, align 4, !tbaa !5
  %3929 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3916, ptr noundef @.str.5, i32 noundef %3917, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 252, ptr noundef %3920, ptr noundef %3923, ptr noundef %3926, i32 noundef %3928) #10
  br label %3930

3930:                                             ; preds = %3913, %3896
  call void @llvm.lifetime.end.p0(i64 4, ptr %103) #10
  br label %3931

3931:                                             ; preds = %3930
  br label %3932

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

3933:                                             ; No predecessors!
  br label %3934

3934:                                             ; preds = %3933
  br label %3935

3935:                                             ; preds = %3934, %3876
  br label %3936

3936:                                             ; preds = %3935
  br label %3937

3937:                                             ; preds = %3936
  br label %3938

3938:                                             ; preds = %3937
  %3939 = load i32, ptr @test_count, align 4, !tbaa !5
  %3940 = add nsw i32 %3939, 1
  store i32 %3940, ptr @test_count, align 4, !tbaa !5
  %3941 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3942 = load i32, ptr %3941, align 4, !tbaa !5
  %3943 = call ptr @s2n_strerror_debug(i32 noundef %3942, ptr noundef @.str.4)
  %3944 = icmp eq ptr %3943, null
  br i1 %3944, label %3945, label %3998

3945:                                             ; preds = %3938
  br label %3946

3946:                                             ; preds = %3945
  br label %3947

3947:                                             ; preds = %3946
  call void @llvm.lifetime.start.p0(i64 4, ptr %104) #10
  %3948 = call ptr @__errno_location() #11
  %3949 = load i32, ptr %3948, align 4, !tbaa !5
  store i32 %3949, ptr %104, align 4, !tbaa !5
  %3950 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3951 = call i32 @s2n_print_stacktrace(ptr noundef %3950)
  %3952 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3953 = trunc i8 %3952 to i1
  br i1 %3953, label %3954, label %3976

3954:                                             ; preds = %3947
  %3955 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3956 = call i32 @fileno(ptr noundef %3955) #10
  %3957 = call i32 @isatty(i32 noundef %3956) #10
  %3958 = icmp ne i32 %3957, 0
  br i1 %3958, label %3959, label %3976

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

3976:                                             ; preds = %3954, %3947
  %3977 = load i32, ptr %104, align 4, !tbaa !5
  %3978 = call ptr @__errno_location() #11
  store i32 %3977, ptr %3978, align 4, !tbaa !5
  %3979 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3980 = load i32, ptr @test_count, align 4, !tbaa !5
  %3981 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3982 = load i32, ptr %3981, align 4, !tbaa !5
  %3983 = call ptr @s2n_strerror(i32 noundef %3982, ptr noundef @.str.4)
  %3984 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3985 = load i32, ptr %3984, align 4, !tbaa !5
  %3986 = call ptr @s2n_strerror_debug(i32 noundef %3985, ptr noundef @.str.4)
  %3987 = call ptr @__errno_location() #11
  %3988 = load i32, ptr %3987, align 4, !tbaa !5
  %3989 = call ptr @strerror(i32 noundef %3988) #10
  %3990 = call ptr @__errno_location() #11
  %3991 = load i32, ptr %3990, align 4, !tbaa !5
  %3992 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3979, ptr noundef @.str.5, i32 noundef %3980, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 252, ptr noundef %3983, ptr noundef %3986, ptr noundef %3989, i32 noundef %3991) #10
  br label %3993

3993:                                             ; preds = %3976, %3959
  call void @llvm.lifetime.end.p0(i64 4, ptr %104) #10
  br label %3994

3994:                                             ; preds = %3993
  br label %3995

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

3996:                                             ; No predecessors!
  br label %3997

3997:                                             ; preds = %3996
  br label %3998

3998:                                             ; preds = %3997, %3938
  br label %3999

3999:                                             ; preds = %3998
  br label %4000

4000:                                             ; preds = %3999
  br label %4001

4001:                                             ; preds = %4000
  br label %4002

4002:                                             ; preds = %4001
  br label %4003

4003:                                             ; preds = %4002
  %4004 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %4004, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %4005 = call ptr @__errno_location() #11
  store i32 0, ptr %4005, align 4, !tbaa !5
  br label %4006

4006:                                             ; preds = %4003
  br label %4007

4007:                                             ; preds = %4006
  br label %4008

4008:                                             ; preds = %4007
  br label %4009

4009:                                             ; preds = %4008
  br label %5446

4010:                                             ; preds = %3416
  br label %4011

4011:                                             ; preds = %4010
  %4012 = load i32, ptr @test_count, align 4, !tbaa !5
  %4013 = add nsw i32 %4012, 1
  store i32 %4013, ptr @test_count, align 4, !tbaa !5
  %4014 = load ptr, ptr %84, align 8, !tbaa !9
  %4015 = call i32 @s2n_connection_set_cipher_preferences(ptr noundef %4014, ptr noundef @.str.46)
  %4016 = icmp eq i32 %4015, -1
  br i1 %4016, label %4017, label %4070

4017:                                             ; preds = %4011
  br label %4018

4018:                                             ; preds = %4017
  br label %4019

4019:                                             ; preds = %4018
  call void @llvm.lifetime.start.p0(i64 4, ptr %105) #10
  %4020 = call ptr @__errno_location() #11
  %4021 = load i32, ptr %4020, align 4, !tbaa !5
  store i32 %4021, ptr %105, align 4, !tbaa !5
  %4022 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4023 = call i32 @s2n_print_stacktrace(ptr noundef %4022)
  %4024 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4025 = trunc i8 %4024 to i1
  br i1 %4025, label %4026, label %4048

4026:                                             ; preds = %4019
  %4027 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4028 = call i32 @fileno(ptr noundef %4027) #10
  %4029 = call i32 @isatty(i32 noundef %4028) #10
  %4030 = icmp ne i32 %4029, 0
  br i1 %4030, label %4031, label %4048

4031:                                             ; preds = %4026
  %4032 = load i32, ptr %105, align 4, !tbaa !5
  %4033 = call ptr @__errno_location() #11
  store i32 %4032, ptr %4033, align 4, !tbaa !5
  %4034 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4035 = load i32, ptr @test_count, align 4, !tbaa !5
  %4036 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4037 = load i32, ptr %4036, align 4, !tbaa !5
  %4038 = call ptr @s2n_strerror(i32 noundef %4037, ptr noundef @.str.4)
  %4039 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4040 = load i32, ptr %4039, align 4, !tbaa !5
  %4041 = call ptr @s2n_strerror_debug(i32 noundef %4040, ptr noundef @.str.4)
  %4042 = call ptr @__errno_location() #11
  %4043 = load i32, ptr %4042, align 4, !tbaa !5
  %4044 = call ptr @strerror(i32 noundef %4043) #10
  %4045 = call ptr @__errno_location() #11
  %4046 = load i32, ptr %4045, align 4, !tbaa !5
  %4047 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4034, ptr noundef @.str.2, i32 noundef %4035, ptr noundef @.str.47, ptr noundef @.str.1, i32 noundef 259, ptr noundef %4038, ptr noundef %4041, ptr noundef %4044, i32 noundef %4046) #10
  br label %4065

4048:                                             ; preds = %4026, %4019
  %4049 = load i32, ptr %105, align 4, !tbaa !5
  %4050 = call ptr @__errno_location() #11
  store i32 %4049, ptr %4050, align 4, !tbaa !5
  %4051 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4052 = load i32, ptr @test_count, align 4, !tbaa !5
  %4053 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4054 = load i32, ptr %4053, align 4, !tbaa !5
  %4055 = call ptr @s2n_strerror(i32 noundef %4054, ptr noundef @.str.4)
  %4056 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4057 = load i32, ptr %4056, align 4, !tbaa !5
  %4058 = call ptr @s2n_strerror_debug(i32 noundef %4057, ptr noundef @.str.4)
  %4059 = call ptr @__errno_location() #11
  %4060 = load i32, ptr %4059, align 4, !tbaa !5
  %4061 = call ptr @strerror(i32 noundef %4060) #10
  %4062 = call ptr @__errno_location() #11
  %4063 = load i32, ptr %4062, align 4, !tbaa !5
  %4064 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4051, ptr noundef @.str.5, i32 noundef %4052, ptr noundef @.str.47, ptr noundef @.str.1, i32 noundef 259, ptr noundef %4055, ptr noundef %4058, ptr noundef %4061, i32 noundef %4063) #10
  br label %4065

4065:                                             ; preds = %4048, %4031
  call void @llvm.lifetime.end.p0(i64 4, ptr %105) #10
  br label %4066

4066:                                             ; preds = %4065
  br label %4067

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

4068:                                             ; No predecessors!
  br label %4069

4069:                                             ; preds = %4068
  br label %4070

4070:                                             ; preds = %4069, %4011
  br label %4071

4071:                                             ; preds = %4070
  br label %4072

4072:                                             ; preds = %4071
  br label %4073

4073:                                             ; preds = %4072
  br label %4074

4074:                                             ; preds = %4073
  br label %4075

4075:                                             ; preds = %4074
  %4076 = load i32, ptr @test_count, align 4, !tbaa !5
  %4077 = add nsw i32 %4076, 1
  store i32 %4077, ptr @test_count, align 4, !tbaa !5
  %4078 = load ptr, ptr %84, align 8, !tbaa !9
  %4079 = call i32 @s2n_negotiate(ptr noundef %4078, ptr noundef %92)
  %4080 = icmp eq i32 %4079, -1
  br i1 %4080, label %4134, label %4081

4081:                                             ; preds = %4075
  br label %4082

4082:                                             ; preds = %4081
  br label %4083

4083:                                             ; preds = %4082
  call void @llvm.lifetime.start.p0(i64 4, ptr %106) #10
  %4084 = call ptr @__errno_location() #11
  %4085 = load i32, ptr %4084, align 4, !tbaa !5
  store i32 %4085, ptr %106, align 4, !tbaa !5
  %4086 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4087 = call i32 @s2n_print_stacktrace(ptr noundef %4086)
  %4088 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4089 = trunc i8 %4088 to i1
  br i1 %4089, label %4090, label %4112

4090:                                             ; preds = %4083
  %4091 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4092 = call i32 @fileno(ptr noundef %4091) #10
  %4093 = call i32 @isatty(i32 noundef %4092) #10
  %4094 = icmp ne i32 %4093, 0
  br i1 %4094, label %4095, label %4112

4095:                                             ; preds = %4090
  %4096 = load i32, ptr %106, align 4, !tbaa !5
  %4097 = call ptr @__errno_location() #11
  store i32 %4096, ptr %4097, align 4, !tbaa !5
  %4098 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4099 = load i32, ptr @test_count, align 4, !tbaa !5
  %4100 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4101 = load i32, ptr %4100, align 4, !tbaa !5
  %4102 = call ptr @s2n_strerror(i32 noundef %4101, ptr noundef @.str.4)
  %4103 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4104 = load i32, ptr %4103, align 4, !tbaa !5
  %4105 = call ptr @s2n_strerror_debug(i32 noundef %4104, ptr noundef @.str.4)
  %4106 = call ptr @__errno_location() #11
  %4107 = load i32, ptr %4106, align 4, !tbaa !5
  %4108 = call ptr @strerror(i32 noundef %4107) #10
  %4109 = call ptr @__errno_location() #11
  %4110 = load i32, ptr %4109, align 4, !tbaa !5
  %4111 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4098, ptr noundef @.str.2, i32 noundef %4099, ptr noundef @.str.49, ptr noundef @.str.1, i32 noundef 260, ptr noundef %4102, ptr noundef %4105, ptr noundef %4108, i32 noundef %4110) #10
  br label %4129

4112:                                             ; preds = %4090, %4083
  %4113 = load i32, ptr %106, align 4, !tbaa !5
  %4114 = call ptr @__errno_location() #11
  store i32 %4113, ptr %4114, align 4, !tbaa !5
  %4115 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4116 = load i32, ptr @test_count, align 4, !tbaa !5
  %4117 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4118 = load i32, ptr %4117, align 4, !tbaa !5
  %4119 = call ptr @s2n_strerror(i32 noundef %4118, ptr noundef @.str.4)
  %4120 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4121 = load i32, ptr %4120, align 4, !tbaa !5
  %4122 = call ptr @s2n_strerror_debug(i32 noundef %4121, ptr noundef @.str.4)
  %4123 = call ptr @__errno_location() #11
  %4124 = load i32, ptr %4123, align 4, !tbaa !5
  %4125 = call ptr @strerror(i32 noundef %4124) #10
  %4126 = call ptr @__errno_location() #11
  %4127 = load i32, ptr %4126, align 4, !tbaa !5
  %4128 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4115, ptr noundef @.str.5, i32 noundef %4116, ptr noundef @.str.49, ptr noundef @.str.1, i32 noundef 260, ptr noundef %4119, ptr noundef %4122, ptr noundef %4125, i32 noundef %4127) #10
  br label %4129

4129:                                             ; preds = %4112, %4095
  call void @llvm.lifetime.end.p0(i64 4, ptr %106) #10
  br label %4130

4130:                                             ; preds = %4129
  br label %4131

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

4132:                                             ; No predecessors!
  br label %4133

4133:                                             ; preds = %4132
  br label %4134

4134:                                             ; preds = %4133, %4075
  br label %4135

4135:                                             ; preds = %4134
  br label %4136

4136:                                             ; preds = %4135
  br label %4137

4137:                                             ; preds = %4136
  %4138 = load i32, ptr @test_count, align 4, !tbaa !5
  %4139 = add nsw i32 %4138, 1
  store i32 %4139, ptr @test_count, align 4, !tbaa !5
  %4140 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4141 = load i32, ptr %4140, align 4, !tbaa !5
  %4142 = icmp eq i32 %4141, 201326592
  br i1 %4142, label %4196, label %4143

4143:                                             ; preds = %4137
  br label %4144

4144:                                             ; preds = %4143
  br label %4145

4145:                                             ; preds = %4144
  call void @llvm.lifetime.start.p0(i64 4, ptr %107) #10
  %4146 = call ptr @__errno_location() #11
  %4147 = load i32, ptr %4146, align 4, !tbaa !5
  store i32 %4147, ptr %107, align 4, !tbaa !5
  %4148 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4149 = call i32 @s2n_print_stacktrace(ptr noundef %4148)
  %4150 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4151 = trunc i8 %4150 to i1
  br i1 %4151, label %4152, label %4174

4152:                                             ; preds = %4145
  %4153 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4154 = call i32 @fileno(ptr noundef %4153) #10
  %4155 = call i32 @isatty(i32 noundef %4154) #10
  %4156 = icmp ne i32 %4155, 0
  br i1 %4156, label %4157, label %4174

4157:                                             ; preds = %4152
  %4158 = load i32, ptr %107, align 4, !tbaa !5
  %4159 = call ptr @__errno_location() #11
  store i32 %4158, ptr %4159, align 4, !tbaa !5
  %4160 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4161 = load i32, ptr @test_count, align 4, !tbaa !5
  %4162 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4163 = load i32, ptr %4162, align 4, !tbaa !5
  %4164 = call ptr @s2n_strerror(i32 noundef %4163, ptr noundef @.str.4)
  %4165 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4166 = load i32, ptr %4165, align 4, !tbaa !5
  %4167 = call ptr @s2n_strerror_debug(i32 noundef %4166, ptr noundef @.str.4)
  %4168 = call ptr @__errno_location() #11
  %4169 = load i32, ptr %4168, align 4, !tbaa !5
  %4170 = call ptr @strerror(i32 noundef %4169) #10
  %4171 = call ptr @__errno_location() #11
  %4172 = load i32, ptr %4171, align 4, !tbaa !5
  %4173 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4160, ptr noundef @.str.2, i32 noundef %4161, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 260, ptr noundef %4164, ptr noundef %4167, ptr noundef %4170, i32 noundef %4172) #10
  br label %4191

4174:                                             ; preds = %4152, %4145
  %4175 = load i32, ptr %107, align 4, !tbaa !5
  %4176 = call ptr @__errno_location() #11
  store i32 %4175, ptr %4176, align 4, !tbaa !5
  %4177 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4178 = load i32, ptr @test_count, align 4, !tbaa !5
  %4179 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4180 = load i32, ptr %4179, align 4, !tbaa !5
  %4181 = call ptr @s2n_strerror(i32 noundef %4180, ptr noundef @.str.4)
  %4182 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4183 = load i32, ptr %4182, align 4, !tbaa !5
  %4184 = call ptr @s2n_strerror_debug(i32 noundef %4183, ptr noundef @.str.4)
  %4185 = call ptr @__errno_location() #11
  %4186 = load i32, ptr %4185, align 4, !tbaa !5
  %4187 = call ptr @strerror(i32 noundef %4186) #10
  %4188 = call ptr @__errno_location() #11
  %4189 = load i32, ptr %4188, align 4, !tbaa !5
  %4190 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4177, ptr noundef @.str.5, i32 noundef %4178, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 260, ptr noundef %4181, ptr noundef %4184, ptr noundef %4187, i32 noundef %4189) #10
  br label %4191

4191:                                             ; preds = %4174, %4157
  call void @llvm.lifetime.end.p0(i64 4, ptr %107) #10
  br label %4192

4192:                                             ; preds = %4191
  br label %4193

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

4194:                                             ; No predecessors!
  br label %4195

4195:                                             ; preds = %4194
  br label %4196

4196:                                             ; preds = %4195, %4137
  br label %4197

4197:                                             ; preds = %4196
  br label %4198

4198:                                             ; preds = %4197
  br label %4199

4199:                                             ; preds = %4198
  %4200 = load i32, ptr @test_count, align 4, !tbaa !5
  %4201 = add nsw i32 %4200, 1
  store i32 %4201, ptr @test_count, align 4, !tbaa !5
  %4202 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4203 = load i32, ptr %4202, align 4, !tbaa !5
  %4204 = call ptr @s2n_strerror_debug(i32 noundef %4203, ptr noundef @.str.4)
  %4205 = icmp eq ptr %4204, null
  br i1 %4205, label %4206, label %4259

4206:                                             ; preds = %4199
  br label %4207

4207:                                             ; preds = %4206
  br label %4208

4208:                                             ; preds = %4207
  call void @llvm.lifetime.start.p0(i64 4, ptr %108) #10
  %4209 = call ptr @__errno_location() #11
  %4210 = load i32, ptr %4209, align 4, !tbaa !5
  store i32 %4210, ptr %108, align 4, !tbaa !5
  %4211 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4212 = call i32 @s2n_print_stacktrace(ptr noundef %4211)
  %4213 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4214 = trunc i8 %4213 to i1
  br i1 %4214, label %4215, label %4237

4215:                                             ; preds = %4208
  %4216 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4217 = call i32 @fileno(ptr noundef %4216) #10
  %4218 = call i32 @isatty(i32 noundef %4217) #10
  %4219 = icmp ne i32 %4218, 0
  br i1 %4219, label %4220, label %4237

4220:                                             ; preds = %4215
  %4221 = load i32, ptr %108, align 4, !tbaa !5
  %4222 = call ptr @__errno_location() #11
  store i32 %4221, ptr %4222, align 4, !tbaa !5
  %4223 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4224 = load i32, ptr @test_count, align 4, !tbaa !5
  %4225 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4226 = load i32, ptr %4225, align 4, !tbaa !5
  %4227 = call ptr @s2n_strerror(i32 noundef %4226, ptr noundef @.str.4)
  %4228 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4229 = load i32, ptr %4228, align 4, !tbaa !5
  %4230 = call ptr @s2n_strerror_debug(i32 noundef %4229, ptr noundef @.str.4)
  %4231 = call ptr @__errno_location() #11
  %4232 = load i32, ptr %4231, align 4, !tbaa !5
  %4233 = call ptr @strerror(i32 noundef %4232) #10
  %4234 = call ptr @__errno_location() #11
  %4235 = load i32, ptr %4234, align 4, !tbaa !5
  %4236 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4223, ptr noundef @.str.2, i32 noundef %4224, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 260, ptr noundef %4227, ptr noundef %4230, ptr noundef %4233, i32 noundef %4235) #10
  br label %4254

4237:                                             ; preds = %4215, %4208
  %4238 = load i32, ptr %108, align 4, !tbaa !5
  %4239 = call ptr @__errno_location() #11
  store i32 %4238, ptr %4239, align 4, !tbaa !5
  %4240 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4241 = load i32, ptr @test_count, align 4, !tbaa !5
  %4242 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4243 = load i32, ptr %4242, align 4, !tbaa !5
  %4244 = call ptr @s2n_strerror(i32 noundef %4243, ptr noundef @.str.4)
  %4245 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4246 = load i32, ptr %4245, align 4, !tbaa !5
  %4247 = call ptr @s2n_strerror_debug(i32 noundef %4246, ptr noundef @.str.4)
  %4248 = call ptr @__errno_location() #11
  %4249 = load i32, ptr %4248, align 4, !tbaa !5
  %4250 = call ptr @strerror(i32 noundef %4249) #10
  %4251 = call ptr @__errno_location() #11
  %4252 = load i32, ptr %4251, align 4, !tbaa !5
  %4253 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4240, ptr noundef @.str.5, i32 noundef %4241, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 260, ptr noundef %4244, ptr noundef %4247, ptr noundef %4250, i32 noundef %4252) #10
  br label %4254

4254:                                             ; preds = %4237, %4220
  call void @llvm.lifetime.end.p0(i64 4, ptr %108) #10
  br label %4255

4255:                                             ; preds = %4254
  br label %4256

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

4257:                                             ; No predecessors!
  br label %4258

4258:                                             ; preds = %4257
  br label %4259

4259:                                             ; preds = %4258, %4199
  br label %4260

4260:                                             ; preds = %4259
  br label %4261

4261:                                             ; preds = %4260
  br label %4262

4262:                                             ; preds = %4261
  br label %4263

4263:                                             ; preds = %4262
  br label %4264

4264:                                             ; preds = %4263
  %4265 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %4265, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %4266 = call ptr @__errno_location() #11
  store i32 0, ptr %4266, align 4, !tbaa !5
  br label %4267

4267:                                             ; preds = %4264
  br label %4268

4268:                                             ; preds = %4267
  br label %4269

4269:                                             ; preds = %4268
  br label %4270

4270:                                             ; preds = %4269
  br label %4271

4271:                                             ; preds = %4270
  br label %4272

4272:                                             ; preds = %4271
  br label %4273

4273:                                             ; preds = %4272
  %4274 = load i32, ptr @test_count, align 4, !tbaa !5
  %4275 = add nsw i32 %4274, 1
  store i32 %4275, ptr @test_count, align 4, !tbaa !5
  %4276 = load ptr, ptr %81, align 8, !tbaa !9
  %4277 = call i32 @s2n_negotiate(ptr noundef %4276, ptr noundef %92)
  %4278 = icmp eq i32 %4277, -1
  br i1 %4278, label %4332, label %4279

4279:                                             ; preds = %4273
  br label %4280

4280:                                             ; preds = %4279
  br label %4281

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

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

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

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

4327:                                             ; preds = %4310, %4293
  call void @llvm.lifetime.end.p0(i64 4, ptr %109) #10
  br label %4328

4328:                                             ; preds = %4327
  br label %4329

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

4330:                                             ; No predecessors!
  br label %4331

4331:                                             ; preds = %4330
  br label %4332

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

4333:                                             ; preds = %4332
  br label %4334

4334:                                             ; preds = %4333
  br label %4335

4335:                                             ; preds = %4334
  %4336 = load i32, ptr @test_count, align 4, !tbaa !5
  %4337 = add nsw i32 %4336, 1
  store i32 %4337, ptr @test_count, align 4, !tbaa !5
  %4338 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4339 = load i32, ptr %4338, align 4, !tbaa !5
  %4340 = icmp eq i32 %4339, 201326592
  br i1 %4340, label %4394, label %4341

4341:                                             ; preds = %4335
  br label %4342

4342:                                             ; preds = %4341
  br label %4343

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

4350:                                             ; preds = %4343
  %4351 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4352 = call i32 @fileno(ptr noundef %4351) #10
  %4353 = call i32 @isatty(i32 noundef %4352) #10
  %4354 = icmp ne i32 %4353, 0
  br i1 %4354, label %4355, label %4372

4355:                                             ; preds = %4350
  %4356 = load i32, ptr %110, align 4, !tbaa !5
  %4357 = call ptr @__errno_location() #11
  store i32 %4356, ptr %4357, align 4, !tbaa !5
  %4358 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4359 = load i32, ptr @test_count, align 4, !tbaa !5
  %4360 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4361 = load i32, ptr %4360, align 4, !tbaa !5
  %4362 = call ptr @s2n_strerror(i32 noundef %4361, ptr noundef @.str.4)
  %4363 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4364 = load i32, ptr %4363, align 4, !tbaa !5
  %4365 = call ptr @s2n_strerror_debug(i32 noundef %4364, ptr noundef @.str.4)
  %4366 = call ptr @__errno_location() #11
  %4367 = load i32, ptr %4366, align 4, !tbaa !5
  %4368 = call ptr @strerror(i32 noundef %4367) #10
  %4369 = call ptr @__errno_location() #11
  %4370 = load i32, ptr %4369, align 4, !tbaa !5
  %4371 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4358, ptr noundef @.str.2, i32 noundef %4359, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 261, ptr noundef %4362, ptr noundef %4365, ptr noundef %4368, i32 noundef %4370) #10
  br label %4389

4372:                                             ; preds = %4350, %4343
  %4373 = load i32, ptr %110, align 4, !tbaa !5
  %4374 = call ptr @__errno_location() #11
  store i32 %4373, ptr %4374, align 4, !tbaa !5
  %4375 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4376 = load i32, ptr @test_count, align 4, !tbaa !5
  %4377 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4378 = load i32, ptr %4377, align 4, !tbaa !5
  %4379 = call ptr @s2n_strerror(i32 noundef %4378, ptr noundef @.str.4)
  %4380 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4381 = load i32, ptr %4380, align 4, !tbaa !5
  %4382 = call ptr @s2n_strerror_debug(i32 noundef %4381, ptr noundef @.str.4)
  %4383 = call ptr @__errno_location() #11
  %4384 = load i32, ptr %4383, align 4, !tbaa !5
  %4385 = call ptr @strerror(i32 noundef %4384) #10
  %4386 = call ptr @__errno_location() #11
  %4387 = load i32, ptr %4386, align 4, !tbaa !5
  %4388 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4375, ptr noundef @.str.5, i32 noundef %4376, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 261, ptr noundef %4379, ptr noundef %4382, ptr noundef %4385, i32 noundef %4387) #10
  br label %4389

4389:                                             ; preds = %4372, %4355
  call void @llvm.lifetime.end.p0(i64 4, ptr %110) #10
  br label %4390

4390:                                             ; preds = %4389
  br label %4391

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

4392:                                             ; No predecessors!
  br label %4393

4393:                                             ; preds = %4392
  br label %4394

4394:                                             ; preds = %4393, %4335
  br label %4395

4395:                                             ; preds = %4394
  br label %4396

4396:                                             ; preds = %4395
  br label %4397

4397:                                             ; preds = %4396
  %4398 = load i32, ptr @test_count, align 4, !tbaa !5
  %4399 = add nsw i32 %4398, 1
  store i32 %4399, ptr @test_count, align 4, !tbaa !5
  %4400 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4401 = load i32, ptr %4400, align 4, !tbaa !5
  %4402 = call ptr @s2n_strerror_debug(i32 noundef %4401, ptr noundef @.str.4)
  %4403 = icmp eq ptr %4402, null
  br i1 %4403, label %4404, label %4457

4404:                                             ; preds = %4397
  br label %4405

4405:                                             ; preds = %4404
  br label %4406

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

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

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

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

4452:                                             ; preds = %4435, %4418
  call void @llvm.lifetime.end.p0(i64 4, ptr %111) #10
  br label %4453

4453:                                             ; preds = %4452
  br label %4454

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

4455:                                             ; No predecessors!
  br label %4456

4456:                                             ; preds = %4455
  br label %4457

4457:                                             ; preds = %4456, %4397
  br label %4458

4458:                                             ; preds = %4457
  br label %4459

4459:                                             ; preds = %4458
  br label %4460

4460:                                             ; preds = %4459
  br label %4461

4461:                                             ; preds = %4460
  br label %4462

4462:                                             ; preds = %4461
  %4463 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %4463, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %4464 = call ptr @__errno_location() #11
  store i32 0, ptr %4464, align 4, !tbaa !5
  br label %4465

4465:                                             ; preds = %4462
  br label %4466

4466:                                             ; preds = %4465
  br label %4467

4467:                                             ; preds = %4466
  br label %4468

4468:                                             ; preds = %4467
  %4469 = load ptr, ptr %84, align 8, !tbaa !9
  %4470 = getelementptr inbounds %struct.s2n_connection, ptr %4469, i32 0, i32 21
  store i8 34, ptr %4470, align 2, !tbaa !50
  br label %4471

4471:                                             ; preds = %4468
  br label %4472

4472:                                             ; preds = %4471
  br label %4473

4473:                                             ; preds = %4472
  %4474 = load i32, ptr @test_count, align 4, !tbaa !5
  %4475 = add nsw i32 %4474, 1
  store i32 %4475, ptr @test_count, align 4, !tbaa !5
  %4476 = load ptr, ptr %81, align 8, !tbaa !9
  %4477 = load ptr, ptr %84, align 8, !tbaa !9
  %4478 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %4476, ptr noundef %4477)
  %4479 = icmp eq i32 %4478, -1
  br i1 %4479, label %4533, label %4480

4480:                                             ; preds = %4473
  br label %4481

4481:                                             ; preds = %4480
  br label %4482

4482:                                             ; preds = %4481
  call void @llvm.lifetime.start.p0(i64 4, ptr %112) #10
  %4483 = call ptr @__errno_location() #11
  %4484 = load i32, ptr %4483, align 4, !tbaa !5
  store i32 %4484, ptr %112, align 4, !tbaa !5
  %4485 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4486 = call i32 @s2n_print_stacktrace(ptr noundef %4485)
  %4487 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4488 = trunc i8 %4487 to i1
  br i1 %4488, label %4489, label %4511

4489:                                             ; preds = %4482
  %4490 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4491 = call i32 @fileno(ptr noundef %4490) #10
  %4492 = call i32 @isatty(i32 noundef %4491) #10
  %4493 = icmp ne i32 %4492, 0
  br i1 %4493, label %4494, label %4511

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

4511:                                             ; preds = %4489, %4482
  %4512 = load i32, ptr %112, align 4, !tbaa !5
  %4513 = call ptr @__errno_location() #11
  store i32 %4512, ptr %4513, align 4, !tbaa !5
  %4514 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4515 = load i32, ptr @test_count, align 4, !tbaa !5
  %4516 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4517 = load i32, ptr %4516, align 4, !tbaa !5
  %4518 = call ptr @s2n_strerror(i32 noundef %4517, ptr noundef @.str.4)
  %4519 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4520 = load i32, ptr %4519, align 4, !tbaa !5
  %4521 = call ptr @s2n_strerror_debug(i32 noundef %4520, ptr noundef @.str.4)
  %4522 = call ptr @__errno_location() #11
  %4523 = load i32, ptr %4522, align 4, !tbaa !5
  %4524 = call ptr @strerror(i32 noundef %4523) #10
  %4525 = call ptr @__errno_location() #11
  %4526 = load i32, ptr %4525, align 4, !tbaa !5
  %4527 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4514, ptr noundef @.str.5, i32 noundef %4515, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 265, ptr noundef %4518, ptr noundef %4521, ptr noundef %4524, i32 noundef %4526) #10
  br label %4528

4528:                                             ; preds = %4511, %4494
  call void @llvm.lifetime.end.p0(i64 4, ptr %112) #10
  br label %4529

4529:                                             ; preds = %4528
  br label %4530

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

4531:                                             ; No predecessors!
  br label %4532

4532:                                             ; preds = %4531
  br label %4533

4533:                                             ; preds = %4532, %4473
  br label %4534

4534:                                             ; preds = %4533
  br label %4535

4535:                                             ; preds = %4534
  br label %4536

4536:                                             ; preds = %4535
  %4537 = load i32, ptr @test_count, align 4, !tbaa !5
  %4538 = add nsw i32 %4537, 1
  store i32 %4538, ptr @test_count, align 4, !tbaa !5
  %4539 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4540 = load i32, ptr %4539, align 4, !tbaa !5
  %4541 = icmp eq i32 %4540, 335544387
  br i1 %4541, label %4595, label %4542

4542:                                             ; preds = %4536
  br label %4543

4543:                                             ; preds = %4542
  br label %4544

4544:                                             ; preds = %4543
  call void @llvm.lifetime.start.p0(i64 4, ptr %113) #10
  %4545 = call ptr @__errno_location() #11
  %4546 = load i32, ptr %4545, align 4, !tbaa !5
  store i32 %4546, ptr %113, align 4, !tbaa !5
  %4547 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4548 = call i32 @s2n_print_stacktrace(ptr noundef %4547)
  %4549 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4550 = trunc i8 %4549 to i1
  br i1 %4550, label %4551, label %4573

4551:                                             ; preds = %4544
  %4552 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4553 = call i32 @fileno(ptr noundef %4552) #10
  %4554 = call i32 @isatty(i32 noundef %4553) #10
  %4555 = icmp ne i32 %4554, 0
  br i1 %4555, label %4556, label %4573

4556:                                             ; preds = %4551
  %4557 = load i32, ptr %113, align 4, !tbaa !5
  %4558 = call ptr @__errno_location() #11
  store i32 %4557, ptr %4558, align 4, !tbaa !5
  %4559 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4560 = load i32, ptr @test_count, align 4, !tbaa !5
  %4561 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4562 = load i32, ptr %4561, align 4, !tbaa !5
  %4563 = call ptr @s2n_strerror(i32 noundef %4562, ptr noundef @.str.4)
  %4564 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4565 = load i32, ptr %4564, align 4, !tbaa !5
  %4566 = call ptr @s2n_strerror_debug(i32 noundef %4565, ptr noundef @.str.4)
  %4567 = call ptr @__errno_location() #11
  %4568 = load i32, ptr %4567, align 4, !tbaa !5
  %4569 = call ptr @strerror(i32 noundef %4568) #10
  %4570 = call ptr @__errno_location() #11
  %4571 = load i32, ptr %4570, align 4, !tbaa !5
  %4572 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4559, ptr noundef @.str.2, i32 noundef %4560, ptr noundef @.str.52, ptr noundef @.str.1, i32 noundef 265, ptr noundef %4563, ptr noundef %4566, ptr noundef %4569, i32 noundef %4571) #10
  br label %4590

4573:                                             ; preds = %4551, %4544
  %4574 = load i32, ptr %113, align 4, !tbaa !5
  %4575 = call ptr @__errno_location() #11
  store i32 %4574, ptr %4575, align 4, !tbaa !5
  %4576 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4577 = load i32, ptr @test_count, align 4, !tbaa !5
  %4578 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4579 = load i32, ptr %4578, align 4, !tbaa !5
  %4580 = call ptr @s2n_strerror(i32 noundef %4579, ptr noundef @.str.4)
  %4581 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4582 = load i32, ptr %4581, align 4, !tbaa !5
  %4583 = call ptr @s2n_strerror_debug(i32 noundef %4582, ptr noundef @.str.4)
  %4584 = call ptr @__errno_location() #11
  %4585 = load i32, ptr %4584, align 4, !tbaa !5
  %4586 = call ptr @strerror(i32 noundef %4585) #10
  %4587 = call ptr @__errno_location() #11
  %4588 = load i32, ptr %4587, align 4, !tbaa !5
  %4589 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4576, ptr noundef @.str.5, i32 noundef %4577, ptr noundef @.str.52, ptr noundef @.str.1, i32 noundef 265, ptr noundef %4580, ptr noundef %4583, ptr noundef %4586, i32 noundef %4588) #10
  br label %4590

4590:                                             ; preds = %4573, %4556
  call void @llvm.lifetime.end.p0(i64 4, ptr %113) #10
  br label %4591

4591:                                             ; preds = %4590
  br label %4592

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

4593:                                             ; No predecessors!
  br label %4594

4594:                                             ; preds = %4593
  br label %4595

4595:                                             ; preds = %4594, %4536
  br label %4596

4596:                                             ; preds = %4595
  br label %4597

4597:                                             ; preds = %4596
  br label %4598

4598:                                             ; preds = %4597
  %4599 = load i32, ptr @test_count, align 4, !tbaa !5
  %4600 = add nsw i32 %4599, 1
  store i32 %4600, ptr @test_count, align 4, !tbaa !5
  %4601 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4602 = load i32, ptr %4601, align 4, !tbaa !5
  %4603 = call ptr @s2n_strerror_debug(i32 noundef %4602, ptr noundef @.str.4)
  %4604 = icmp eq ptr %4603, null
  br i1 %4604, label %4605, label %4658

4605:                                             ; preds = %4598
  br label %4606

4606:                                             ; preds = %4605
  br label %4607

4607:                                             ; preds = %4606
  call void @llvm.lifetime.start.p0(i64 4, ptr %114) #10
  %4608 = call ptr @__errno_location() #11
  %4609 = load i32, ptr %4608, align 4, !tbaa !5
  store i32 %4609, ptr %114, align 4, !tbaa !5
  %4610 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4611 = call i32 @s2n_print_stacktrace(ptr noundef %4610)
  %4612 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4613 = trunc i8 %4612 to i1
  br i1 %4613, label %4614, label %4636

4614:                                             ; preds = %4607
  %4615 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4616 = call i32 @fileno(ptr noundef %4615) #10
  %4617 = call i32 @isatty(i32 noundef %4616) #10
  %4618 = icmp ne i32 %4617, 0
  br i1 %4618, label %4619, label %4636

4619:                                             ; preds = %4614
  %4620 = load i32, ptr %114, align 4, !tbaa !5
  %4621 = call ptr @__errno_location() #11
  store i32 %4620, ptr %4621, align 4, !tbaa !5
  %4622 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4623 = load i32, ptr @test_count, align 4, !tbaa !5
  %4624 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4625 = load i32, ptr %4624, align 4, !tbaa !5
  %4626 = call ptr @s2n_strerror(i32 noundef %4625, ptr noundef @.str.4)
  %4627 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4628 = load i32, ptr %4627, align 4, !tbaa !5
  %4629 = call ptr @s2n_strerror_debug(i32 noundef %4628, ptr noundef @.str.4)
  %4630 = call ptr @__errno_location() #11
  %4631 = load i32, ptr %4630, align 4, !tbaa !5
  %4632 = call ptr @strerror(i32 noundef %4631) #10
  %4633 = call ptr @__errno_location() #11
  %4634 = load i32, ptr %4633, align 4, !tbaa !5
  %4635 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4622, ptr noundef @.str.2, i32 noundef %4623, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 265, ptr noundef %4626, ptr noundef %4629, ptr noundef %4632, i32 noundef %4634) #10
  br label %4653

4636:                                             ; preds = %4614, %4607
  %4637 = load i32, ptr %114, align 4, !tbaa !5
  %4638 = call ptr @__errno_location() #11
  store i32 %4637, ptr %4638, align 4, !tbaa !5
  %4639 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4640 = load i32, ptr @test_count, align 4, !tbaa !5
  %4641 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4642 = load i32, ptr %4641, align 4, !tbaa !5
  %4643 = call ptr @s2n_strerror(i32 noundef %4642, ptr noundef @.str.4)
  %4644 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4645 = load i32, ptr %4644, align 4, !tbaa !5
  %4646 = call ptr @s2n_strerror_debug(i32 noundef %4645, ptr noundef @.str.4)
  %4647 = call ptr @__errno_location() #11
  %4648 = load i32, ptr %4647, align 4, !tbaa !5
  %4649 = call ptr @strerror(i32 noundef %4648) #10
  %4650 = call ptr @__errno_location() #11
  %4651 = load i32, ptr %4650, align 4, !tbaa !5
  %4652 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4639, ptr noundef @.str.5, i32 noundef %4640, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 265, ptr noundef %4643, ptr noundef %4646, ptr noundef %4649, i32 noundef %4651) #10
  br label %4653

4653:                                             ; preds = %4636, %4619
  call void @llvm.lifetime.end.p0(i64 4, ptr %114) #10
  br label %4654

4654:                                             ; preds = %4653
  br label %4655

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

4656:                                             ; No predecessors!
  br label %4657

4657:                                             ; preds = %4656
  br label %4658

4658:                                             ; preds = %4657, %4598
  br label %4659

4659:                                             ; preds = %4658
  br label %4660

4660:                                             ; preds = %4659
  br label %4661

4661:                                             ; preds = %4660
  br label %4662

4662:                                             ; preds = %4661
  br label %4663

4663:                                             ; preds = %4662
  %4664 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %4664, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %4665 = call ptr @__errno_location() #11
  store i32 0, ptr %4665, align 4, !tbaa !5
  br label %4666

4666:                                             ; preds = %4663
  br label %4667

4667:                                             ; preds = %4666
  br label %4668

4668:                                             ; preds = %4667
  br label %4669

4669:                                             ; preds = %4668
  %4670 = load ptr, ptr %84, align 8, !tbaa !9
  store ptr %4670, ptr %94, align 8, !tbaa !9
  %4671 = load ptr, ptr %81, align 8, !tbaa !9
  store ptr %4671, ptr %95, align 8, !tbaa !9
  br label %5446

4672:                                             ; preds = %3416
  br label %4673

4673:                                             ; preds = %4672
  %4674 = load i32, ptr @test_count, align 4, !tbaa !5
  %4675 = add nsw i32 %4674, 1
  store i32 %4675, ptr @test_count, align 4, !tbaa !5
  %4676 = load ptr, ptr %84, align 8, !tbaa !9
  %4677 = load ptr, ptr %79, align 8, !tbaa !9
  %4678 = call i32 @s2n_connection_set_config(ptr noundef %4676, ptr noundef %4677)
  %4679 = icmp eq i32 %4678, -1
  br i1 %4679, label %4680, label %4733

4680:                                             ; preds = %4673
  br label %4681

4681:                                             ; preds = %4680
  br label %4682

4682:                                             ; preds = %4681
  call void @llvm.lifetime.start.p0(i64 4, ptr %115) #10
  %4683 = call ptr @__errno_location() #11
  %4684 = load i32, ptr %4683, align 4, !tbaa !5
  store i32 %4684, ptr %115, align 4, !tbaa !5
  %4685 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4686 = call i32 @s2n_print_stacktrace(ptr noundef %4685)
  %4687 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4688 = trunc i8 %4687 to i1
  br i1 %4688, label %4689, label %4711

4689:                                             ; preds = %4682
  %4690 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4691 = call i32 @fileno(ptr noundef %4690) #10
  %4692 = call i32 @isatty(i32 noundef %4691) #10
  %4693 = icmp ne i32 %4692, 0
  br i1 %4693, label %4694, label %4711

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

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

4728:                                             ; preds = %4711, %4694
  call void @llvm.lifetime.end.p0(i64 4, ptr %115) #10
  br label %4729

4729:                                             ; preds = %4728
  br label %4730

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

4731:                                             ; No predecessors!
  br label %4732

4732:                                             ; preds = %4731
  br label %4733

4733:                                             ; preds = %4732, %4673
  br label %4734

4734:                                             ; preds = %4733
  br label %4735

4735:                                             ; preds = %4734
  br label %4736

4736:                                             ; preds = %4735
  br label %4737

4737:                                             ; preds = %4736
  br label %4738

4738:                                             ; preds = %4737
  %4739 = load i32, ptr @test_count, align 4, !tbaa !5
  %4740 = add nsw i32 %4739, 1
  store i32 %4740, ptr @test_count, align 4, !tbaa !5
  %4741 = load ptr, ptr %81, align 8, !tbaa !9
  %4742 = load ptr, ptr %84, align 8, !tbaa !9
  %4743 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %4741, ptr noundef %4742)
  %4744 = icmp eq i32 %4743, -1
  br i1 %4744, label %4798, label %4745

4745:                                             ; preds = %4738
  br label %4746

4746:                                             ; preds = %4745
  br label %4747

4747:                                             ; preds = %4746
  call void @llvm.lifetime.start.p0(i64 4, ptr %116) #10
  %4748 = call ptr @__errno_location() #11
  %4749 = load i32, ptr %4748, align 4, !tbaa !5
  store i32 %4749, ptr %116, align 4, !tbaa !5
  %4750 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4751 = call i32 @s2n_print_stacktrace(ptr noundef %4750)
  %4752 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4753 = trunc i8 %4752 to i1
  br i1 %4753, label %4754, label %4776

4754:                                             ; preds = %4747
  %4755 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4756 = call i32 @fileno(ptr noundef %4755) #10
  %4757 = call i32 @isatty(i32 noundef %4756) #10
  %4758 = icmp ne i32 %4757, 0
  br i1 %4758, label %4759, label %4776

4759:                                             ; preds = %4754
  %4760 = load i32, ptr %116, align 4, !tbaa !5
  %4761 = call ptr @__errno_location() #11
  store i32 %4760, ptr %4761, align 4, !tbaa !5
  %4762 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4763 = load i32, ptr @test_count, align 4, !tbaa !5
  %4764 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4765 = load i32, ptr %4764, align 4, !tbaa !5
  %4766 = call ptr @s2n_strerror(i32 noundef %4765, ptr noundef @.str.4)
  %4767 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4768 = load i32, ptr %4767, align 4, !tbaa !5
  %4769 = call ptr @s2n_strerror_debug(i32 noundef %4768, ptr noundef @.str.4)
  %4770 = call ptr @__errno_location() #11
  %4771 = load i32, ptr %4770, align 4, !tbaa !5
  %4772 = call ptr @strerror(i32 noundef %4771) #10
  %4773 = call ptr @__errno_location() #11
  %4774 = load i32, ptr %4773, align 4, !tbaa !5
  %4775 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4762, ptr noundef @.str.2, i32 noundef %4763, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 274, ptr noundef %4766, ptr noundef %4769, ptr noundef %4772, i32 noundef %4774) #10
  br label %4793

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

4793:                                             ; preds = %4776, %4759
  call void @llvm.lifetime.end.p0(i64 4, ptr %116) #10
  br label %4794

4794:                                             ; preds = %4793
  br label %4795

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

4796:                                             ; No predecessors!
  br label %4797

4797:                                             ; preds = %4796
  br label %4798

4798:                                             ; preds = %4797, %4738
  br label %4799

4799:                                             ; preds = %4798
  br label %4800

4800:                                             ; preds = %4799
  br label %4801

4801:                                             ; preds = %4800
  %4802 = load i32, ptr @test_count, align 4, !tbaa !5
  %4803 = add nsw i32 %4802, 1
  store i32 %4803, ptr @test_count, align 4, !tbaa !5
  %4804 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4805 = load i32, ptr %4804, align 4, !tbaa !5
  %4806 = icmp eq i32 %4805, 335544366
  br i1 %4806, label %4860, label %4807

4807:                                             ; preds = %4801
  br label %4808

4808:                                             ; preds = %4807
  br label %4809

4809:                                             ; preds = %4808
  call void @llvm.lifetime.start.p0(i64 4, ptr %117) #10
  %4810 = call ptr @__errno_location() #11
  %4811 = load i32, ptr %4810, align 4, !tbaa !5
  store i32 %4811, ptr %117, align 4, !tbaa !5
  %4812 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4813 = call i32 @s2n_print_stacktrace(ptr noundef %4812)
  %4814 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4815 = trunc i8 %4814 to i1
  br i1 %4815, label %4816, label %4838

4816:                                             ; preds = %4809
  %4817 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4818 = call i32 @fileno(ptr noundef %4817) #10
  %4819 = call i32 @isatty(i32 noundef %4818) #10
  %4820 = icmp ne i32 %4819, 0
  br i1 %4820, label %4821, label %4838

4821:                                             ; preds = %4816
  %4822 = load i32, ptr %117, align 4, !tbaa !5
  %4823 = call ptr @__errno_location() #11
  store i32 %4822, ptr %4823, align 4, !tbaa !5
  %4824 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4825 = load i32, ptr @test_count, align 4, !tbaa !5
  %4826 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4827 = load i32, ptr %4826, align 4, !tbaa !5
  %4828 = call ptr @s2n_strerror(i32 noundef %4827, ptr noundef @.str.4)
  %4829 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4830 = load i32, ptr %4829, align 4, !tbaa !5
  %4831 = call ptr @s2n_strerror_debug(i32 noundef %4830, ptr noundef @.str.4)
  %4832 = call ptr @__errno_location() #11
  %4833 = load i32, ptr %4832, align 4, !tbaa !5
  %4834 = call ptr @strerror(i32 noundef %4833) #10
  %4835 = call ptr @__errno_location() #11
  %4836 = load i32, ptr %4835, align 4, !tbaa !5
  %4837 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4824, ptr noundef @.str.2, i32 noundef %4825, ptr noundef @.str.54, ptr noundef @.str.1, i32 noundef 274, ptr noundef %4828, ptr noundef %4831, ptr noundef %4834, i32 noundef %4836) #10
  br label %4855

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

4855:                                             ; preds = %4838, %4821
  call void @llvm.lifetime.end.p0(i64 4, ptr %117) #10
  br label %4856

4856:                                             ; preds = %4855
  br label %4857

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

4858:                                             ; No predecessors!
  br label %4859

4859:                                             ; preds = %4858
  br label %4860

4860:                                             ; preds = %4859, %4801
  br label %4861

4861:                                             ; preds = %4860
  br label %4862

4862:                                             ; preds = %4861
  br label %4863

4863:                                             ; preds = %4862
  %4864 = load i32, ptr @test_count, align 4, !tbaa !5
  %4865 = add nsw i32 %4864, 1
  store i32 %4865, ptr @test_count, align 4, !tbaa !5
  %4866 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4867 = load i32, ptr %4866, align 4, !tbaa !5
  %4868 = call ptr @s2n_strerror_debug(i32 noundef %4867, ptr noundef @.str.4)
  %4869 = icmp eq ptr %4868, null
  br i1 %4869, label %4870, label %4923

4870:                                             ; preds = %4863
  br label %4871

4871:                                             ; preds = %4870
  br label %4872

4872:                                             ; preds = %4871
  call void @llvm.lifetime.start.p0(i64 4, ptr %118) #10
  %4873 = call ptr @__errno_location() #11
  %4874 = load i32, ptr %4873, align 4, !tbaa !5
  store i32 %4874, ptr %118, align 4, !tbaa !5
  %4875 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4876 = call i32 @s2n_print_stacktrace(ptr noundef %4875)
  %4877 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4878 = trunc i8 %4877 to i1
  br i1 %4878, label %4879, label %4901

4879:                                             ; preds = %4872
  %4880 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4881 = call i32 @fileno(ptr noundef %4880) #10
  %4882 = call i32 @isatty(i32 noundef %4881) #10
  %4883 = icmp ne i32 %4882, 0
  br i1 %4883, label %4884, label %4901

4884:                                             ; preds = %4879
  %4885 = load i32, ptr %118, align 4, !tbaa !5
  %4886 = call ptr @__errno_location() #11
  store i32 %4885, ptr %4886, align 4, !tbaa !5
  %4887 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4888 = load i32, ptr @test_count, align 4, !tbaa !5
  %4889 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4890 = load i32, ptr %4889, align 4, !tbaa !5
  %4891 = call ptr @s2n_strerror(i32 noundef %4890, ptr noundef @.str.4)
  %4892 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4893 = load i32, ptr %4892, align 4, !tbaa !5
  %4894 = call ptr @s2n_strerror_debug(i32 noundef %4893, ptr noundef @.str.4)
  %4895 = call ptr @__errno_location() #11
  %4896 = load i32, ptr %4895, align 4, !tbaa !5
  %4897 = call ptr @strerror(i32 noundef %4896) #10
  %4898 = call ptr @__errno_location() #11
  %4899 = load i32, ptr %4898, align 4, !tbaa !5
  %4900 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4887, ptr noundef @.str.2, i32 noundef %4888, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 274, ptr noundef %4891, ptr noundef %4894, ptr noundef %4897, i32 noundef %4899) #10
  br label %4918

4901:                                             ; preds = %4879, %4872
  %4902 = load i32, ptr %118, align 4, !tbaa !5
  %4903 = call ptr @__errno_location() #11
  store i32 %4902, ptr %4903, align 4, !tbaa !5
  %4904 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4905 = load i32, ptr @test_count, align 4, !tbaa !5
  %4906 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4907 = load i32, ptr %4906, align 4, !tbaa !5
  %4908 = call ptr @s2n_strerror(i32 noundef %4907, ptr noundef @.str.4)
  %4909 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4910 = load i32, ptr %4909, align 4, !tbaa !5
  %4911 = call ptr @s2n_strerror_debug(i32 noundef %4910, ptr noundef @.str.4)
  %4912 = call ptr @__errno_location() #11
  %4913 = load i32, ptr %4912, align 4, !tbaa !5
  %4914 = call ptr @strerror(i32 noundef %4913) #10
  %4915 = call ptr @__errno_location() #11
  %4916 = load i32, ptr %4915, align 4, !tbaa !5
  %4917 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4904, ptr noundef @.str.5, i32 noundef %4905, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 274, ptr noundef %4908, ptr noundef %4911, ptr noundef %4914, i32 noundef %4916) #10
  br label %4918

4918:                                             ; preds = %4901, %4884
  call void @llvm.lifetime.end.p0(i64 4, ptr %118) #10
  br label %4919

4919:                                             ; preds = %4918
  br label %4920

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

4921:                                             ; No predecessors!
  br label %4922

4922:                                             ; preds = %4921
  br label %4923

4923:                                             ; preds = %4922, %4863
  br label %4924

4924:                                             ; preds = %4923
  br label %4925

4925:                                             ; preds = %4924
  br label %4926

4926:                                             ; preds = %4925
  br label %4927

4927:                                             ; preds = %4926
  call void @llvm.lifetime.start.p0(i64 1, ptr %119) #10
  store i8 0, ptr %119, align 1, !tbaa !17
  br label %4928

4928:                                             ; preds = %4927
  %4929 = load i32, ptr @test_count, align 4, !tbaa !5
  %4930 = add nsw i32 %4929, 1
  store i32 %4930, ptr @test_count, align 4, !tbaa !5
  %4931 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4932 = load i32, ptr %4931, align 4, !tbaa !5
  %4933 = call i32 @s2n_error_get_alert(i32 noundef %4932, ptr noundef %119)
  %4934 = icmp eq i32 %4933, -1
  br i1 %4934, label %4935, label %4988

4935:                                             ; preds = %4928
  br label %4936

4936:                                             ; preds = %4935
  br label %4937

4937:                                             ; preds = %4936
  call void @llvm.lifetime.start.p0(i64 4, ptr %120) #10
  %4938 = call ptr @__errno_location() #11
  %4939 = load i32, ptr %4938, align 4, !tbaa !5
  store i32 %4939, ptr %120, align 4, !tbaa !5
  %4940 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4941 = call i32 @s2n_print_stacktrace(ptr noundef %4940)
  %4942 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4943 = trunc i8 %4942 to i1
  br i1 %4943, label %4944, label %4966

4944:                                             ; preds = %4937
  %4945 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4946 = call i32 @fileno(ptr noundef %4945) #10
  %4947 = call i32 @isatty(i32 noundef %4946) #10
  %4948 = icmp ne i32 %4947, 0
  br i1 %4948, label %4949, label %4966

4949:                                             ; preds = %4944
  %4950 = load i32, ptr %120, align 4, !tbaa !5
  %4951 = call ptr @__errno_location() #11
  store i32 %4950, ptr %4951, align 4, !tbaa !5
  %4952 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4953 = load i32, ptr @test_count, align 4, !tbaa !5
  %4954 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4955 = load i32, ptr %4954, align 4, !tbaa !5
  %4956 = call ptr @s2n_strerror(i32 noundef %4955, ptr noundef @.str.4)
  %4957 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4958 = load i32, ptr %4957, align 4, !tbaa !5
  %4959 = call ptr @s2n_strerror_debug(i32 noundef %4958, ptr noundef @.str.4)
  %4960 = call ptr @__errno_location() #11
  %4961 = load i32, ptr %4960, align 4, !tbaa !5
  %4962 = call ptr @strerror(i32 noundef %4961) #10
  %4963 = call ptr @__errno_location() #11
  %4964 = load i32, ptr %4963, align 4, !tbaa !5
  %4965 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4952, ptr noundef @.str.2, i32 noundef %4953, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 274, ptr noundef %4956, ptr noundef %4959, ptr noundef %4962, i32 noundef %4964) #10
  br label %4983

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

4983:                                             ; preds = %4966, %4949
  call void @llvm.lifetime.end.p0(i64 4, ptr %120) #10
  br label %4984

4984:                                             ; preds = %4983
  br label %4985

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

4986:                                             ; No predecessors!
  br label %4987

4987:                                             ; preds = %4986
  br label %4988

4988:                                             ; preds = %4987, %4928
  br label %4989

4989:                                             ; preds = %4988
  br label %4990

4990:                                             ; preds = %4989
  br label %4991

4991:                                             ; preds = %4990
  %4992 = load i32, ptr @test_count, align 4, !tbaa !5
  %4993 = add nsw i32 %4992, 1
  store i32 %4993, ptr @test_count, align 4, !tbaa !5
  %4994 = load i8, ptr %119, align 1, !tbaa !17
  %4995 = zext i8 %4994 to i32
  %4996 = icmp eq i32 %4995, 46
  br i1 %4996, label %5050, label %4997

4997:                                             ; preds = %4991
  br label %4998

4998:                                             ; preds = %4997
  br label %4999

4999:                                             ; preds = %4998
  call void @llvm.lifetime.start.p0(i64 4, ptr %121) #10
  %5000 = call ptr @__errno_location() #11
  %5001 = load i32, ptr %5000, align 4, !tbaa !5
  store i32 %5001, ptr %121, align 4, !tbaa !5
  %5002 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5003 = call i32 @s2n_print_stacktrace(ptr noundef %5002)
  %5004 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5005 = trunc i8 %5004 to i1
  br i1 %5005, label %5006, label %5028

5006:                                             ; preds = %4999
  %5007 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5008 = call i32 @fileno(ptr noundef %5007) #10
  %5009 = call i32 @isatty(i32 noundef %5008) #10
  %5010 = icmp ne i32 %5009, 0
  br i1 %5010, label %5011, label %5028

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

5028:                                             ; preds = %5006, %4999
  %5029 = load i32, ptr %121, align 4, !tbaa !5
  %5030 = call ptr @__errno_location() #11
  store i32 %5029, ptr %5030, align 4, !tbaa !5
  %5031 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5032 = load i32, ptr @test_count, align 4, !tbaa !5
  %5033 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5034 = load i32, ptr %5033, align 4, !tbaa !5
  %5035 = call ptr @s2n_strerror(i32 noundef %5034, ptr noundef @.str.4)
  %5036 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5037 = load i32, ptr %5036, align 4, !tbaa !5
  %5038 = call ptr @s2n_strerror_debug(i32 noundef %5037, ptr noundef @.str.4)
  %5039 = call ptr @__errno_location() #11
  %5040 = load i32, ptr %5039, align 4, !tbaa !5
  %5041 = call ptr @strerror(i32 noundef %5040) #10
  %5042 = call ptr @__errno_location() #11
  %5043 = load i32, ptr %5042, align 4, !tbaa !5
  %5044 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5031, ptr noundef @.str.5, i32 noundef %5032, ptr noundef @.str.56, ptr noundef @.str.1, i32 noundef 274, ptr noundef %5035, ptr noundef %5038, ptr noundef %5041, i32 noundef %5043) #10
  br label %5045

5045:                                             ; preds = %5028, %5011
  call void @llvm.lifetime.end.p0(i64 4, ptr %121) #10
  br label %5046

5046:                                             ; preds = %5045
  br label %5047

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

5048:                                             ; No predecessors!
  br label %5049

5049:                                             ; preds = %5048
  br label %5050

5050:                                             ; preds = %5049, %4991
  br label %5051

5051:                                             ; preds = %5050
  br label %5052

5052:                                             ; preds = %5051
  br label %5053

5053:                                             ; preds = %5052
  %5054 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %5054, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %5055 = call ptr @__errno_location() #11
  store i32 0, ptr %5055, align 4, !tbaa !5
  br label %5056

5056:                                             ; preds = %5053
  br label %5057

5057:                                             ; preds = %5056
  call void @llvm.lifetime.end.p0(i64 1, ptr %119) #10
  br label %5058

5058:                                             ; preds = %5057
  br label %5059

5059:                                             ; preds = %5058
  %5060 = load ptr, ptr %84, align 8, !tbaa !9
  store ptr %5060, ptr %94, align 8, !tbaa !9
  %5061 = load ptr, ptr %81, align 8, !tbaa !9
  store ptr %5061, ptr %95, align 8, !tbaa !9
  br label %5446

5062:                                             ; preds = %3416
  br label %5063

5063:                                             ; preds = %5062
  %5064 = load i32, ptr @test_count, align 4, !tbaa !5
  %5065 = add nsw i32 %5064, 1
  store i32 %5065, ptr @test_count, align 4, !tbaa !5
  %5066 = load ptr, ptr %81, align 8, !tbaa !9
  %5067 = load ptr, ptr %84, align 8, !tbaa !9
  %5068 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %5066, ptr noundef %5067)
  %5069 = icmp eq i32 %5068, -1
  br i1 %5069, label %5070, label %5123

5070:                                             ; preds = %5063
  br label %5071

5071:                                             ; preds = %5070
  br label %5072

5072:                                             ; preds = %5071
  call void @llvm.lifetime.start.p0(i64 4, ptr %122) #10
  %5073 = call ptr @__errno_location() #11
  %5074 = load i32, ptr %5073, align 4, !tbaa !5
  store i32 %5074, ptr %122, align 4, !tbaa !5
  %5075 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5076 = call i32 @s2n_print_stacktrace(ptr noundef %5075)
  %5077 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5078 = trunc i8 %5077 to i1
  br i1 %5078, label %5079, label %5101

5079:                                             ; preds = %5072
  %5080 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5081 = call i32 @fileno(ptr noundef %5080) #10
  %5082 = call i32 @isatty(i32 noundef %5081) #10
  %5083 = icmp ne i32 %5082, 0
  br i1 %5083, label %5084, label %5101

5084:                                             ; preds = %5079
  %5085 = load i32, ptr %122, align 4, !tbaa !5
  %5086 = call ptr @__errno_location() #11
  store i32 %5085, ptr %5086, align 4, !tbaa !5
  %5087 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5088 = load i32, ptr @test_count, align 4, !tbaa !5
  %5089 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5090 = load i32, ptr %5089, align 4, !tbaa !5
  %5091 = call ptr @s2n_strerror(i32 noundef %5090, ptr noundef @.str.4)
  %5092 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5093 = load i32, ptr %5092, align 4, !tbaa !5
  %5094 = call ptr @s2n_strerror_debug(i32 noundef %5093, ptr noundef @.str.4)
  %5095 = call ptr @__errno_location() #11
  %5096 = load i32, ptr %5095, align 4, !tbaa !5
  %5097 = call ptr @strerror(i32 noundef %5096) #10
  %5098 = call ptr @__errno_location() #11
  %5099 = load i32, ptr %5098, align 4, !tbaa !5
  %5100 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5087, ptr noundef @.str.2, i32 noundef %5088, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 280, ptr noundef %5091, ptr noundef %5094, ptr noundef %5097, i32 noundef %5099) #10
  br label %5118

5101:                                             ; preds = %5079, %5072
  %5102 = load i32, ptr %122, align 4, !tbaa !5
  %5103 = call ptr @__errno_location() #11
  store i32 %5102, ptr %5103, align 4, !tbaa !5
  %5104 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5105 = load i32, ptr @test_count, align 4, !tbaa !5
  %5106 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5107 = load i32, ptr %5106, align 4, !tbaa !5
  %5108 = call ptr @s2n_strerror(i32 noundef %5107, ptr noundef @.str.4)
  %5109 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5110 = load i32, ptr %5109, align 4, !tbaa !5
  %5111 = call ptr @s2n_strerror_debug(i32 noundef %5110, ptr noundef @.str.4)
  %5112 = call ptr @__errno_location() #11
  %5113 = load i32, ptr %5112, align 4, !tbaa !5
  %5114 = call ptr @strerror(i32 noundef %5113) #10
  %5115 = call ptr @__errno_location() #11
  %5116 = load i32, ptr %5115, align 4, !tbaa !5
  %5117 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5104, ptr noundef @.str.5, i32 noundef %5105, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 280, ptr noundef %5108, ptr noundef %5111, ptr noundef %5114, i32 noundef %5116) #10
  br label %5118

5118:                                             ; preds = %5101, %5084
  call void @llvm.lifetime.end.p0(i64 4, ptr %122) #10
  br label %5119

5119:                                             ; preds = %5118
  br label %5120

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

5121:                                             ; No predecessors!
  br label %5122

5122:                                             ; preds = %5121
  br label %5123

5123:                                             ; preds = %5122, %5063
  br label %5124

5124:                                             ; preds = %5123
  br label %5125

5125:                                             ; preds = %5124
  %5126 = load ptr, ptr %84, align 8, !tbaa !9
  %5127 = getelementptr inbounds %struct.s2n_connection, ptr %5126, i32 0, i32 27
  %5128 = load ptr, ptr %5127, align 8, !tbaa !51
  %5129 = getelementptr inbounds %struct.s2n_crypto_parameters, ptr %5128, i32 0, i32 7
  %5130 = getelementptr inbounds [8 x i8], ptr %5129, i64 0, i64 0
  store i8 -1, ptr %5130, align 8, !tbaa !17
  br label %5131

5131:                                             ; preds = %5125
  %5132 = load i32, ptr @test_count, align 4, !tbaa !5
  %5133 = add nsw i32 %5132, 1
  store i32 %5133, ptr @test_count, align 4, !tbaa !5
  %5134 = load ptr, ptr %84, align 8, !tbaa !9
  %5135 = getelementptr inbounds [6 x i8], ptr %11, i64 0, i64 0
  %5136 = call i64 @s2n_send(ptr noundef %5134, ptr noundef %5135, i64 noundef 6, ptr noundef %92)
  %5137 = icmp eq i64 %5136, 6
  br i1 %5137, label %5191, label %5138

5138:                                             ; preds = %5131
  br label %5139

5139:                                             ; preds = %5138
  br label %5140

5140:                                             ; preds = %5139
  call void @llvm.lifetime.start.p0(i64 4, ptr %123) #10
  %5141 = call ptr @__errno_location() #11
  %5142 = load i32, ptr %5141, align 4, !tbaa !5
  store i32 %5142, ptr %123, align 4, !tbaa !5
  %5143 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5144 = call i32 @s2n_print_stacktrace(ptr noundef %5143)
  %5145 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5146 = trunc i8 %5145 to i1
  br i1 %5146, label %5147, label %5169

5147:                                             ; preds = %5140
  %5148 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5149 = call i32 @fileno(ptr noundef %5148) #10
  %5150 = call i32 @isatty(i32 noundef %5149) #10
  %5151 = icmp ne i32 %5150, 0
  br i1 %5151, label %5152, label %5169

5152:                                             ; preds = %5147
  %5153 = load i32, ptr %123, align 4, !tbaa !5
  %5154 = call ptr @__errno_location() #11
  store i32 %5153, ptr %5154, align 4, !tbaa !5
  %5155 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5156 = load i32, ptr @test_count, align 4, !tbaa !5
  %5157 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5158 = load i32, ptr %5157, align 4, !tbaa !5
  %5159 = call ptr @s2n_strerror(i32 noundef %5158, ptr noundef @.str.4)
  %5160 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5161 = load i32, ptr %5160, align 4, !tbaa !5
  %5162 = call ptr @s2n_strerror_debug(i32 noundef %5161, ptr noundef @.str.4)
  %5163 = call ptr @__errno_location() #11
  %5164 = load i32, ptr %5163, align 4, !tbaa !5
  %5165 = call ptr @strerror(i32 noundef %5164) #10
  %5166 = call ptr @__errno_location() #11
  %5167 = load i32, ptr %5166, align 4, !tbaa !5
  %5168 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5155, ptr noundef @.str.2, i32 noundef %5156, ptr noundef @.str.57, ptr noundef @.str.1, i32 noundef 286, ptr noundef %5159, ptr noundef %5162, ptr noundef %5165, i32 noundef %5167) #10
  br label %5186

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

5186:                                             ; preds = %5169, %5152
  call void @llvm.lifetime.end.p0(i64 4, ptr %123) #10
  br label %5187

5187:                                             ; preds = %5186
  br label %5188

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

5189:                                             ; No predecessors!
  br label %5190

5190:                                             ; preds = %5189
  br label %5191

5191:                                             ; preds = %5190, %5131
  br label %5192

5192:                                             ; preds = %5191
  br label %5193

5193:                                             ; preds = %5192
  br label %5194

5194:                                             ; preds = %5193
  br label %5195

5195:                                             ; preds = %5194
  br label %5196

5196:                                             ; preds = %5195
  %5197 = load i32, ptr @test_count, align 4, !tbaa !5
  %5198 = add nsw i32 %5197, 1
  store i32 %5198, ptr @test_count, align 4, !tbaa !5
  %5199 = load ptr, ptr %81, align 8, !tbaa !9
  %5200 = getelementptr inbounds [6 x i8], ptr %11, i64 0, i64 0
  %5201 = call i64 @s2n_recv(ptr noundef %5199, ptr noundef %5200, i64 noundef 6, ptr noundef %92)
  %5202 = icmp eq i64 %5201, -1
  br i1 %5202, label %5256, label %5203

5203:                                             ; preds = %5196
  br label %5204

5204:                                             ; preds = %5203
  br label %5205

5205:                                             ; preds = %5204
  call void @llvm.lifetime.start.p0(i64 4, ptr %124) #10
  %5206 = call ptr @__errno_location() #11
  %5207 = load i32, ptr %5206, align 4, !tbaa !5
  store i32 %5207, ptr %124, align 4, !tbaa !5
  %5208 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5209 = call i32 @s2n_print_stacktrace(ptr noundef %5208)
  %5210 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5211 = trunc i8 %5210 to i1
  br i1 %5211, label %5212, label %5234

5212:                                             ; preds = %5205
  %5213 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5214 = call i32 @fileno(ptr noundef %5213) #10
  %5215 = call i32 @isatty(i32 noundef %5214) #10
  %5216 = icmp ne i32 %5215, 0
  br i1 %5216, label %5217, label %5234

5217:                                             ; preds = %5212
  %5218 = load i32, ptr %124, align 4, !tbaa !5
  %5219 = call ptr @__errno_location() #11
  store i32 %5218, ptr %5219, align 4, !tbaa !5
  %5220 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5221 = load i32, ptr @test_count, align 4, !tbaa !5
  %5222 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5223 = load i32, ptr %5222, align 4, !tbaa !5
  %5224 = call ptr @s2n_strerror(i32 noundef %5223, ptr noundef @.str.4)
  %5225 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5226 = load i32, ptr %5225, align 4, !tbaa !5
  %5227 = call ptr @s2n_strerror_debug(i32 noundef %5226, ptr noundef @.str.4)
  %5228 = call ptr @__errno_location() #11
  %5229 = load i32, ptr %5228, align 4, !tbaa !5
  %5230 = call ptr @strerror(i32 noundef %5229) #10
  %5231 = call ptr @__errno_location() #11
  %5232 = load i32, ptr %5231, align 4, !tbaa !5
  %5233 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5220, ptr noundef @.str.2, i32 noundef %5221, ptr noundef @.str.58, ptr noundef @.str.1, i32 noundef 288, ptr noundef %5224, ptr noundef %5227, ptr noundef %5230, i32 noundef %5232) #10
  br label %5251

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

5251:                                             ; preds = %5234, %5217
  call void @llvm.lifetime.end.p0(i64 4, ptr %124) #10
  br label %5252

5252:                                             ; preds = %5251
  br label %5253

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

5254:                                             ; No predecessors!
  br label %5255

5255:                                             ; preds = %5254
  br label %5256

5256:                                             ; preds = %5255, %5196
  br label %5257

5257:                                             ; preds = %5256
  br label %5258

5258:                                             ; preds = %5257
  br label %5259

5259:                                             ; preds = %5258
  %5260 = load i32, ptr @test_count, align 4, !tbaa !5
  %5261 = add nsw i32 %5260, 1
  store i32 %5261, ptr @test_count, align 4, !tbaa !5
  %5262 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5263 = load i32, ptr %5262, align 4, !tbaa !5
  %5264 = icmp eq i32 %5263, 335544321
  br i1 %5264, label %5318, label %5265

5265:                                             ; preds = %5259
  br label %5266

5266:                                             ; preds = %5265
  br label %5267

5267:                                             ; preds = %5266
  call void @llvm.lifetime.start.p0(i64 4, ptr %125) #10
  %5268 = call ptr @__errno_location() #11
  %5269 = load i32, ptr %5268, align 4, !tbaa !5
  store i32 %5269, ptr %125, align 4, !tbaa !5
  %5270 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5271 = call i32 @s2n_print_stacktrace(ptr noundef %5270)
  %5272 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5273 = trunc i8 %5272 to i1
  br i1 %5273, label %5274, label %5296

5274:                                             ; preds = %5267
  %5275 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5276 = call i32 @fileno(ptr noundef %5275) #10
  %5277 = call i32 @isatty(i32 noundef %5276) #10
  %5278 = icmp ne i32 %5277, 0
  br i1 %5278, label %5279, label %5296

5279:                                             ; preds = %5274
  %5280 = load i32, ptr %125, align 4, !tbaa !5
  %5281 = call ptr @__errno_location() #11
  store i32 %5280, ptr %5281, align 4, !tbaa !5
  %5282 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5283 = load i32, ptr @test_count, align 4, !tbaa !5
  %5284 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5285 = load i32, ptr %5284, align 4, !tbaa !5
  %5286 = call ptr @s2n_strerror(i32 noundef %5285, ptr noundef @.str.4)
  %5287 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5288 = load i32, ptr %5287, align 4, !tbaa !5
  %5289 = call ptr @s2n_strerror_debug(i32 noundef %5288, ptr noundef @.str.4)
  %5290 = call ptr @__errno_location() #11
  %5291 = load i32, ptr %5290, align 4, !tbaa !5
  %5292 = call ptr @strerror(i32 noundef %5291) #10
  %5293 = call ptr @__errno_location() #11
  %5294 = load i32, ptr %5293, align 4, !tbaa !5
  %5295 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5282, ptr noundef @.str.2, i32 noundef %5283, ptr noundef @.str.59, ptr noundef @.str.1, i32 noundef 288, ptr noundef %5286, ptr noundef %5289, ptr noundef %5292, i32 noundef %5294) #10
  br label %5313

5296:                                             ; preds = %5274, %5267
  %5297 = load i32, ptr %125, 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.5, i32 noundef %5300, ptr noundef @.str.59, ptr noundef @.str.1, i32 noundef 288, ptr noundef %5303, ptr noundef %5306, ptr noundef %5309, i32 noundef %5311) #10
  br label %5313

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

5314:                                             ; preds = %5313
  br label %5315

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

5316:                                             ; No predecessors!
  br label %5317

5317:                                             ; preds = %5316
  br label %5318

5318:                                             ; preds = %5317, %5259
  br label %5319

5319:                                             ; preds = %5318
  br label %5320

5320:                                             ; preds = %5319
  br label %5321

5321:                                             ; preds = %5320
  %5322 = load i32, ptr @test_count, align 4, !tbaa !5
  %5323 = add nsw i32 %5322, 1
  store i32 %5323, ptr @test_count, align 4, !tbaa !5
  %5324 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5325 = load i32, ptr %5324, align 4, !tbaa !5
  %5326 = call ptr @s2n_strerror_debug(i32 noundef %5325, ptr noundef @.str.4)
  %5327 = icmp eq ptr %5326, null
  br i1 %5327, label %5328, label %5381

5328:                                             ; preds = %5321
  br label %5329

5329:                                             ; preds = %5328
  br label %5330

5330:                                             ; preds = %5329
  call void @llvm.lifetime.start.p0(i64 4, ptr %126) #10
  %5331 = call ptr @__errno_location() #11
  %5332 = load i32, ptr %5331, align 4, !tbaa !5
  store i32 %5332, ptr %126, align 4, !tbaa !5
  %5333 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5334 = call i32 @s2n_print_stacktrace(ptr noundef %5333)
  %5335 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5336 = trunc i8 %5335 to i1
  br i1 %5336, label %5337, label %5359

5337:                                             ; preds = %5330
  %5338 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5339 = call i32 @fileno(ptr noundef %5338) #10
  %5340 = call i32 @isatty(i32 noundef %5339) #10
  %5341 = icmp ne i32 %5340, 0
  br i1 %5341, label %5342, label %5359

5342:                                             ; preds = %5337
  %5343 = load i32, ptr %126, align 4, !tbaa !5
  %5344 = call ptr @__errno_location() #11
  store i32 %5343, ptr %5344, align 4, !tbaa !5
  %5345 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5346 = load i32, ptr @test_count, align 4, !tbaa !5
  %5347 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5348 = load i32, ptr %5347, align 4, !tbaa !5
  %5349 = call ptr @s2n_strerror(i32 noundef %5348, ptr noundef @.str.4)
  %5350 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5351 = load i32, ptr %5350, align 4, !tbaa !5
  %5352 = call ptr @s2n_strerror_debug(i32 noundef %5351, ptr noundef @.str.4)
  %5353 = call ptr @__errno_location() #11
  %5354 = load i32, ptr %5353, align 4, !tbaa !5
  %5355 = call ptr @strerror(i32 noundef %5354) #10
  %5356 = call ptr @__errno_location() #11
  %5357 = load i32, ptr %5356, align 4, !tbaa !5
  %5358 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5345, ptr noundef @.str.2, i32 noundef %5346, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 288, ptr noundef %5349, ptr noundef %5352, ptr noundef %5355, i32 noundef %5357) #10
  br label %5376

5359:                                             ; preds = %5337, %5330
  %5360 = load i32, ptr %126, align 4, !tbaa !5
  %5361 = call ptr @__errno_location() #11
  store i32 %5360, ptr %5361, align 4, !tbaa !5
  %5362 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5363 = load i32, ptr @test_count, align 4, !tbaa !5
  %5364 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5365 = load i32, ptr %5364, align 4, !tbaa !5
  %5366 = call ptr @s2n_strerror(i32 noundef %5365, ptr noundef @.str.4)
  %5367 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5368 = load i32, ptr %5367, align 4, !tbaa !5
  %5369 = call ptr @s2n_strerror_debug(i32 noundef %5368, ptr noundef @.str.4)
  %5370 = call ptr @__errno_location() #11
  %5371 = load i32, ptr %5370, align 4, !tbaa !5
  %5372 = call ptr @strerror(i32 noundef %5371) #10
  %5373 = call ptr @__errno_location() #11
  %5374 = load i32, ptr %5373, align 4, !tbaa !5
  %5375 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5362, ptr noundef @.str.5, i32 noundef %5363, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 288, ptr noundef %5366, ptr noundef %5369, ptr noundef %5372, i32 noundef %5374) #10
  br label %5376

5376:                                             ; preds = %5359, %5342
  call void @llvm.lifetime.end.p0(i64 4, ptr %126) #10
  br label %5377

5377:                                             ; preds = %5376
  br label %5378

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

5379:                                             ; No predecessors!
  br label %5380

5380:                                             ; preds = %5379
  br label %5381

5381:                                             ; preds = %5380, %5321
  br label %5382

5382:                                             ; preds = %5381
  br label %5383

5383:                                             ; preds = %5382
  br label %5384

5384:                                             ; preds = %5383
  br label %5385

5385:                                             ; preds = %5384
  br label %5386

5386:                                             ; preds = %5385
  %5387 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %5387, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %5388 = call ptr @__errno_location() #11
  store i32 0, ptr %5388, align 4, !tbaa !5
  br label %5389

5389:                                             ; preds = %5386
  br label %5390

5390:                                             ; preds = %5389
  br label %5391

5391:                                             ; preds = %5390
  br label %5392

5392:                                             ; preds = %5391
  br label %5446

5393:                                             ; preds = %3416
  br label %5394

5394:                                             ; preds = %5393
  br label %5395

5395:                                             ; preds = %5394
  call void @llvm.lifetime.start.p0(i64 4, ptr %127) #10
  %5396 = call ptr @__errno_location() #11
  %5397 = load i32, ptr %5396, align 4, !tbaa !5
  store i32 %5397, ptr %127, align 4, !tbaa !5
  %5398 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5399 = call i32 @s2n_print_stacktrace(ptr noundef %5398)
  %5400 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5401 = trunc i8 %5400 to i1
  br i1 %5401, label %5402, label %5424

5402:                                             ; preds = %5395
  %5403 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5404 = call i32 @fileno(ptr noundef %5403) #10
  %5405 = call i32 @isatty(i32 noundef %5404) #10
  %5406 = icmp ne i32 %5405, 0
  br i1 %5406, label %5407, label %5424

5407:                                             ; preds = %5402
  %5408 = load i32, ptr %127, align 4, !tbaa !5
  %5409 = call ptr @__errno_location() #11
  store i32 %5408, ptr %5409, align 4, !tbaa !5
  %5410 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5411 = load i32, ptr @test_count, align 4, !tbaa !5
  %5412 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5413 = load i32, ptr %5412, align 4, !tbaa !5
  %5414 = call ptr @s2n_strerror(i32 noundef %5413, ptr noundef @.str.4)
  %5415 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5416 = load i32, ptr %5415, align 4, !tbaa !5
  %5417 = call ptr @s2n_strerror_debug(i32 noundef %5416, ptr noundef @.str.4)
  %5418 = call ptr @__errno_location() #11
  %5419 = load i32, ptr %5418, align 4, !tbaa !5
  %5420 = call ptr @strerror(i32 noundef %5419) #10
  %5421 = call ptr @__errno_location() #11
  %5422 = load i32, ptr %5421, align 4, !tbaa !5
  %5423 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5410, ptr noundef @.str.2, i32 noundef %5411, ptr noundef @.str.60, ptr noundef @.str.1, i32 noundef 291, ptr noundef %5414, ptr noundef %5417, ptr noundef %5420, i32 noundef %5422) #10
  br label %5441

5424:                                             ; preds = %5402, %5395
  %5425 = load i32, ptr %127, align 4, !tbaa !5
  %5426 = call ptr @__errno_location() #11
  store i32 %5425, ptr %5426, align 4, !tbaa !5
  %5427 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5428 = load i32, ptr @test_count, align 4, !tbaa !5
  %5429 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5430 = load i32, ptr %5429, align 4, !tbaa !5
  %5431 = call ptr @s2n_strerror(i32 noundef %5430, ptr noundef @.str.4)
  %5432 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5433 = load i32, ptr %5432, align 4, !tbaa !5
  %5434 = call ptr @s2n_strerror_debug(i32 noundef %5433, ptr noundef @.str.4)
  %5435 = call ptr @__errno_location() #11
  %5436 = load i32, ptr %5435, align 4, !tbaa !5
  %5437 = call ptr @strerror(i32 noundef %5436) #10
  %5438 = call ptr @__errno_location() #11
  %5439 = load i32, ptr %5438, align 4, !tbaa !5
  %5440 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5427, ptr noundef @.str.5, i32 noundef %5428, ptr noundef @.str.60, ptr noundef @.str.1, i32 noundef 291, ptr noundef %5431, ptr noundef %5434, ptr noundef %5437, i32 noundef %5439) #10
  br label %5441

5441:                                             ; preds = %5424, %5407
  call void @llvm.lifetime.end.p0(i64 4, ptr %127) #10
  br label %5442

5442:                                             ; preds = %5441
  br label %5443

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

5444:                                             ; No predecessors!
  br label %5445

5445:                                             ; preds = %5444
  br label %5446

5446:                                             ; preds = %5445, %5392, %5059, %4669, %4009, %3684
  %5447 = load ptr, ptr %94, align 8, !tbaa !9
  %5448 = getelementptr inbounds %struct.s2n_connection, ptr %5447, i32 0, i32 17
  store i64 0, ptr %5448, align 8, !tbaa !52
  br label %5449

5449:                                             ; preds = %5446
  %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 = load ptr, ptr %94, align 8, !tbaa !9
  %5453 = call i32 @s2n_shutdown_send(ptr noundef %5452, ptr noundef %92)
  %5454 = icmp eq i32 %5453, -1
  br i1 %5454, label %5455, label %5508

5455:                                             ; preds = %5449
  br label %5456

5456:                                             ; preds = %5455
  br label %5457

5457:                                             ; preds = %5456
  call void @llvm.lifetime.start.p0(i64 4, ptr %128) #10
  %5458 = call ptr @__errno_location() #11
  %5459 = load i32, ptr %5458, align 4, !tbaa !5
  store i32 %5459, ptr %128, align 4, !tbaa !5
  %5460 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5461 = call i32 @s2n_print_stacktrace(ptr noundef %5460)
  %5462 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5463 = trunc i8 %5462 to i1
  br i1 %5463, label %5464, label %5486

5464:                                             ; preds = %5457
  %5465 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5466 = call i32 @fileno(ptr noundef %5465) #10
  %5467 = call i32 @isatty(i32 noundef %5466) #10
  %5468 = icmp ne i32 %5467, 0
  br i1 %5468, label %5469, label %5486

5469:                                             ; preds = %5464
  %5470 = load i32, ptr %128, align 4, !tbaa !5
  %5471 = call ptr @__errno_location() #11
  store i32 %5470, ptr %5471, align 4, !tbaa !5
  %5472 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5473 = load i32, ptr @test_count, align 4, !tbaa !5
  %5474 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5475 = load i32, ptr %5474, align 4, !tbaa !5
  %5476 = call ptr @s2n_strerror(i32 noundef %5475, ptr noundef @.str.4)
  %5477 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5478 = load i32, ptr %5477, align 4, !tbaa !5
  %5479 = call ptr @s2n_strerror_debug(i32 noundef %5478, ptr noundef @.str.4)
  %5480 = call ptr @__errno_location() #11
  %5481 = load i32, ptr %5480, align 4, !tbaa !5
  %5482 = call ptr @strerror(i32 noundef %5481) #10
  %5483 = call ptr @__errno_location() #11
  %5484 = load i32, ptr %5483, align 4, !tbaa !5
  %5485 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5472, ptr noundef @.str.2, i32 noundef %5473, ptr noundef @.str.61, ptr noundef @.str.1, i32 noundef 298, ptr noundef %5476, ptr noundef %5479, ptr noundef %5482, i32 noundef %5484) #10
  br label %5503

5486:                                             ; preds = %5464, %5457
  %5487 = load i32, ptr %128, align 4, !tbaa !5
  %5488 = call ptr @__errno_location() #11
  store i32 %5487, ptr %5488, align 4, !tbaa !5
  %5489 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5490 = load i32, ptr @test_count, align 4, !tbaa !5
  %5491 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5492 = load i32, ptr %5491, align 4, !tbaa !5
  %5493 = call ptr @s2n_strerror(i32 noundef %5492, ptr noundef @.str.4)
  %5494 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5495 = load i32, ptr %5494, align 4, !tbaa !5
  %5496 = call ptr @s2n_strerror_debug(i32 noundef %5495, ptr noundef @.str.4)
  %5497 = call ptr @__errno_location() #11
  %5498 = load i32, ptr %5497, align 4, !tbaa !5
  %5499 = call ptr @strerror(i32 noundef %5498) #10
  %5500 = call ptr @__errno_location() #11
  %5501 = load i32, ptr %5500, align 4, !tbaa !5
  %5502 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5489, ptr noundef @.str.5, i32 noundef %5490, ptr noundef @.str.61, ptr noundef @.str.1, i32 noundef 298, ptr noundef %5493, ptr noundef %5496, ptr noundef %5499, i32 noundef %5501) #10
  br label %5503

5503:                                             ; preds = %5486, %5469
  call void @llvm.lifetime.end.p0(i64 4, ptr %128) #10
  br label %5504

5504:                                             ; preds = %5503
  br label %5505

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

5506:                                             ; No predecessors!
  br label %5507

5507:                                             ; preds = %5506
  br label %5508

5508:                                             ; preds = %5507, %5449
  br label %5509

5509:                                             ; preds = %5508
  br label %5510

5510:                                             ; preds = %5509
  br label %5511

5511:                                             ; preds = %5510
  %5512 = load i32, ptr @test_count, align 4, !tbaa !5
  %5513 = add nsw i32 %5512, 1
  store i32 %5513, ptr @test_count, align 4, !tbaa !5
  %5514 = load ptr, ptr %94, align 8, !tbaa !9
  %5515 = getelementptr inbounds %struct.s2n_connection, ptr %5514, i32 0, i32 49
  %5516 = load i8, ptr %5515, align 1, !tbaa !53, !range !13, !noundef !14
  %5517 = trunc i8 %5516 to i1
  br i1 %5517, label %5571, label %5518

5518:                                             ; preds = %5511
  br label %5519

5519:                                             ; preds = %5518
  br label %5520

5520:                                             ; preds = %5519
  call void @llvm.lifetime.start.p0(i64 4, ptr %129) #10
  %5521 = call ptr @__errno_location() #11
  %5522 = load i32, ptr %5521, align 4, !tbaa !5
  store i32 %5522, ptr %129, align 4, !tbaa !5
  %5523 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5524 = call i32 @s2n_print_stacktrace(ptr noundef %5523)
  %5525 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5526 = trunc i8 %5525 to i1
  br i1 %5526, label %5527, label %5549

5527:                                             ; preds = %5520
  %5528 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5529 = call i32 @fileno(ptr noundef %5528) #10
  %5530 = call i32 @isatty(i32 noundef %5529) #10
  %5531 = icmp ne i32 %5530, 0
  br i1 %5531, label %5532, label %5549

5532:                                             ; preds = %5527
  %5533 = load i32, ptr %129, align 4, !tbaa !5
  %5534 = call ptr @__errno_location() #11
  store i32 %5533, ptr %5534, align 4, !tbaa !5
  %5535 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5536 = load i32, ptr @test_count, align 4, !tbaa !5
  %5537 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5538 = load i32, ptr %5537, align 4, !tbaa !5
  %5539 = call ptr @s2n_strerror(i32 noundef %5538, ptr noundef @.str.4)
  %5540 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5541 = load i32, ptr %5540, align 4, !tbaa !5
  %5542 = call ptr @s2n_strerror_debug(i32 noundef %5541, ptr noundef @.str.4)
  %5543 = call ptr @__errno_location() #11
  %5544 = load i32, ptr %5543, align 4, !tbaa !5
  %5545 = call ptr @strerror(i32 noundef %5544) #10
  %5546 = call ptr @__errno_location() #11
  %5547 = load i32, ptr %5546, align 4, !tbaa !5
  %5548 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5535, ptr noundef @.str.2, i32 noundef %5536, ptr noundef @.str.62, ptr noundef @.str.1, i32 noundef 299, ptr noundef %5539, ptr noundef %5542, ptr noundef %5545, i32 noundef %5547) #10
  br label %5566

5549:                                             ; preds = %5527, %5520
  %5550 = load i32, ptr %129, align 4, !tbaa !5
  %5551 = call ptr @__errno_location() #11
  store i32 %5550, ptr %5551, align 4, !tbaa !5
  %5552 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5553 = load i32, ptr @test_count, align 4, !tbaa !5
  %5554 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5555 = load i32, ptr %5554, align 4, !tbaa !5
  %5556 = call ptr @s2n_strerror(i32 noundef %5555, ptr noundef @.str.4)
  %5557 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5558 = load i32, ptr %5557, align 4, !tbaa !5
  %5559 = call ptr @s2n_strerror_debug(i32 noundef %5558, ptr noundef @.str.4)
  %5560 = call ptr @__errno_location() #11
  %5561 = load i32, ptr %5560, align 4, !tbaa !5
  %5562 = call ptr @strerror(i32 noundef %5561) #10
  %5563 = call ptr @__errno_location() #11
  %5564 = load i32, ptr %5563, align 4, !tbaa !5
  %5565 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5552, ptr noundef @.str.5, i32 noundef %5553, ptr noundef @.str.62, ptr noundef @.str.1, i32 noundef 299, ptr noundef %5556, ptr noundef %5559, ptr noundef %5562, i32 noundef %5564) #10
  br label %5566

5566:                                             ; preds = %5549, %5532
  call void @llvm.lifetime.end.p0(i64 4, ptr %129) #10
  br label %5567

5567:                                             ; preds = %5566
  br label %5568

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

5569:                                             ; No predecessors!
  br label %5570

5570:                                             ; preds = %5569
  br label %5571

5571:                                             ; preds = %5570, %5511
  br label %5572

5572:                                             ; preds = %5571
  br label %5573

5573:                                             ; preds = %5572
  br label %5574

5574:                                             ; preds = %5573
  %5575 = load i32, ptr @test_count, align 4, !tbaa !5
  %5576 = add nsw i32 %5575, 1
  store i32 %5576, ptr @test_count, align 4, !tbaa !5
  %5577 = load ptr, ptr %94, align 8, !tbaa !9
  %5578 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %5577, i32 noundef 3)
  br i1 %5578, label %5632, label %5579

5579:                                             ; preds = %5574
  br label %5580

5580:                                             ; preds = %5579
  br label %5581

5581:                                             ; preds = %5580
  call void @llvm.lifetime.start.p0(i64 4, ptr %130) #10
  %5582 = call ptr @__errno_location() #11
  %5583 = load i32, ptr %5582, align 4, !tbaa !5
  store i32 %5583, ptr %130, align 4, !tbaa !5
  %5584 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5585 = call i32 @s2n_print_stacktrace(ptr noundef %5584)
  %5586 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5587 = trunc i8 %5586 to i1
  br i1 %5587, label %5588, label %5610

5588:                                             ; preds = %5581
  %5589 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5590 = call i32 @fileno(ptr noundef %5589) #10
  %5591 = call i32 @isatty(i32 noundef %5590) #10
  %5592 = icmp ne i32 %5591, 0
  br i1 %5592, label %5593, label %5610

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

5610:                                             ; preds = %5588, %5581
  %5611 = load i32, ptr %130, align 4, !tbaa !5
  %5612 = call ptr @__errno_location() #11
  store i32 %5611, ptr %5612, align 4, !tbaa !5
  %5613 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5614 = load i32, ptr @test_count, align 4, !tbaa !5
  %5615 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5616 = load i32, ptr %5615, align 4, !tbaa !5
  %5617 = call ptr @s2n_strerror(i32 noundef %5616, ptr noundef @.str.4)
  %5618 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5619 = load i32, ptr %5618, align 4, !tbaa !5
  %5620 = call ptr @s2n_strerror_debug(i32 noundef %5619, ptr noundef @.str.4)
  %5621 = call ptr @__errno_location() #11
  %5622 = load i32, ptr %5621, align 4, !tbaa !5
  %5623 = call ptr @strerror(i32 noundef %5622) #10
  %5624 = call ptr @__errno_location() #11
  %5625 = load i32, ptr %5624, align 4, !tbaa !5
  %5626 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5613, ptr noundef @.str.5, i32 noundef %5614, ptr noundef @.str.63, ptr noundef @.str.1, i32 noundef 308, ptr noundef %5617, ptr noundef %5620, ptr noundef %5623, i32 noundef %5625) #10
  br label %5627

5627:                                             ; preds = %5610, %5593
  call void @llvm.lifetime.end.p0(i64 4, ptr %130) #10
  br label %5628

5628:                                             ; preds = %5627
  br label %5629

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

5630:                                             ; No predecessors!
  br label %5631

5631:                                             ; preds = %5630
  br label %5632

5632:                                             ; preds = %5631, %5574
  br label %5633

5633:                                             ; preds = %5632
  br label %5634

5634:                                             ; preds = %5633
  %5635 = load i8, ptr %93, align 1, !tbaa !17
  %5636 = zext i8 %5635 to i32
  %5637 = icmp eq i32 %5636, 0
  br i1 %5637, label %5638, label %5763

5638:                                             ; preds = %5634
  br label %5639

5639:                                             ; preds = %5638
  %5640 = load i32, ptr @test_count, align 4, !tbaa !5
  %5641 = add nsw i32 %5640, 1
  store i32 %5641, ptr @test_count, align 4, !tbaa !5
  %5642 = load ptr, ptr %95, align 8, !tbaa !9
  %5643 = getelementptr inbounds [6 x i8], ptr %11, i64 0, i64 0
  %5644 = call i64 @s2n_recv(ptr noundef %5642, ptr noundef %5643, i64 noundef 6, ptr noundef %92)
  %5645 = icmp eq i64 %5644, 0
  br i1 %5645, label %5699, label %5646

5646:                                             ; preds = %5639
  br label %5647

5647:                                             ; preds = %5646
  br label %5648

5648:                                             ; preds = %5647
  call void @llvm.lifetime.start.p0(i64 4, ptr %131) #10
  %5649 = call ptr @__errno_location() #11
  %5650 = load i32, ptr %5649, align 4, !tbaa !5
  store i32 %5650, ptr %131, align 4, !tbaa !5
  %5651 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5652 = call i32 @s2n_print_stacktrace(ptr noundef %5651)
  %5653 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5654 = trunc i8 %5653 to i1
  br i1 %5654, label %5655, label %5677

5655:                                             ; preds = %5648
  %5656 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5657 = call i32 @fileno(ptr noundef %5656) #10
  %5658 = call i32 @isatty(i32 noundef %5657) #10
  %5659 = icmp ne i32 %5658, 0
  br i1 %5659, label %5660, label %5677

5660:                                             ; preds = %5655
  %5661 = load i32, ptr %131, align 4, !tbaa !5
  %5662 = call ptr @__errno_location() #11
  store i32 %5661, ptr %5662, align 4, !tbaa !5
  %5663 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5664 = load i32, ptr @test_count, align 4, !tbaa !5
  %5665 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5666 = load i32, ptr %5665, align 4, !tbaa !5
  %5667 = call ptr @s2n_strerror(i32 noundef %5666, ptr noundef @.str.4)
  %5668 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5669 = load i32, ptr %5668, align 4, !tbaa !5
  %5670 = call ptr @s2n_strerror_debug(i32 noundef %5669, ptr noundef @.str.4)
  %5671 = call ptr @__errno_location() #11
  %5672 = load i32, ptr %5671, align 4, !tbaa !5
  %5673 = call ptr @strerror(i32 noundef %5672) #10
  %5674 = call ptr @__errno_location() #11
  %5675 = load i32, ptr %5674, align 4, !tbaa !5
  %5676 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5663, ptr noundef @.str.2, i32 noundef %5664, ptr noundef @.str.64, ptr noundef @.str.1, i32 noundef 317, ptr noundef %5667, ptr noundef %5670, ptr noundef %5673, i32 noundef %5675) #10
  br label %5694

5677:                                             ; preds = %5655, %5648
  %5678 = load i32, ptr %131, align 4, !tbaa !5
  %5679 = call ptr @__errno_location() #11
  store i32 %5678, ptr %5679, align 4, !tbaa !5
  %5680 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5681 = load i32, ptr @test_count, align 4, !tbaa !5
  %5682 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5683 = load i32, ptr %5682, align 4, !tbaa !5
  %5684 = call ptr @s2n_strerror(i32 noundef %5683, ptr noundef @.str.4)
  %5685 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5686 = load i32, ptr %5685, align 4, !tbaa !5
  %5687 = call ptr @s2n_strerror_debug(i32 noundef %5686, ptr noundef @.str.4)
  %5688 = call ptr @__errno_location() #11
  %5689 = load i32, ptr %5688, align 4, !tbaa !5
  %5690 = call ptr @strerror(i32 noundef %5689) #10
  %5691 = call ptr @__errno_location() #11
  %5692 = load i32, ptr %5691, align 4, !tbaa !5
  %5693 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5680, ptr noundef @.str.5, i32 noundef %5681, ptr noundef @.str.64, ptr noundef @.str.1, i32 noundef 317, ptr noundef %5684, ptr noundef %5687, ptr noundef %5690, i32 noundef %5692) #10
  br label %5694

5694:                                             ; preds = %5677, %5660
  call void @llvm.lifetime.end.p0(i64 4, ptr %131) #10
  br label %5695

5695:                                             ; preds = %5694
  br label %5696

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

5697:                                             ; No predecessors!
  br label %5698

5698:                                             ; preds = %5697
  br label %5699

5699:                                             ; preds = %5698, %5639
  br label %5700

5700:                                             ; preds = %5699
  br label %5701

5701:                                             ; preds = %5700
  br label %5702

5702:                                             ; preds = %5701
  %5703 = load i32, ptr @test_count, align 4, !tbaa !5
  %5704 = add nsw i32 %5703, 1
  store i32 %5704, ptr @test_count, align 4, !tbaa !5
  %5705 = load i32, ptr %92, align 4, !tbaa !5
  %5706 = icmp eq i32 %5705, 0
  br i1 %5706, label %5760, label %5707

5707:                                             ; preds = %5702
  br label %5708

5708:                                             ; preds = %5707
  br label %5709

5709:                                             ; preds = %5708
  call void @llvm.lifetime.start.p0(i64 4, ptr %132) #10
  %5710 = call ptr @__errno_location() #11
  %5711 = load i32, ptr %5710, align 4, !tbaa !5
  store i32 %5711, ptr %132, align 4, !tbaa !5
  %5712 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5713 = call i32 @s2n_print_stacktrace(ptr noundef %5712)
  %5714 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5715 = trunc i8 %5714 to i1
  br i1 %5715, label %5716, label %5738

5716:                                             ; preds = %5709
  %5717 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5718 = call i32 @fileno(ptr noundef %5717) #10
  %5719 = call i32 @isatty(i32 noundef %5718) #10
  %5720 = icmp ne i32 %5719, 0
  br i1 %5720, label %5721, label %5738

5721:                                             ; preds = %5716
  %5722 = load i32, ptr %132, align 4, !tbaa !5
  %5723 = call ptr @__errno_location() #11
  store i32 %5722, ptr %5723, align 4, !tbaa !5
  %5724 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5725 = load i32, ptr @test_count, align 4, !tbaa !5
  %5726 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5727 = load i32, ptr %5726, align 4, !tbaa !5
  %5728 = call ptr @s2n_strerror(i32 noundef %5727, ptr noundef @.str.4)
  %5729 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5730 = load i32, ptr %5729, align 4, !tbaa !5
  %5731 = call ptr @s2n_strerror_debug(i32 noundef %5730, ptr noundef @.str.4)
  %5732 = call ptr @__errno_location() #11
  %5733 = load i32, ptr %5732, align 4, !tbaa !5
  %5734 = call ptr @strerror(i32 noundef %5733) #10
  %5735 = call ptr @__errno_location() #11
  %5736 = load i32, ptr %5735, align 4, !tbaa !5
  %5737 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5724, ptr noundef @.str.2, i32 noundef %5725, ptr noundef @.str.65, ptr noundef @.str.1, i32 noundef 318, ptr noundef %5728, ptr noundef %5731, ptr noundef %5734, i32 noundef %5736) #10
  br label %5755

5738:                                             ; preds = %5716, %5709
  %5739 = load i32, ptr %132, align 4, !tbaa !5
  %5740 = call ptr @__errno_location() #11
  store i32 %5739, ptr %5740, align 4, !tbaa !5
  %5741 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5742 = load i32, ptr @test_count, align 4, !tbaa !5
  %5743 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5744 = load i32, ptr %5743, align 4, !tbaa !5
  %5745 = call ptr @s2n_strerror(i32 noundef %5744, ptr noundef @.str.4)
  %5746 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5747 = load i32, ptr %5746, align 4, !tbaa !5
  %5748 = call ptr @s2n_strerror_debug(i32 noundef %5747, ptr noundef @.str.4)
  %5749 = call ptr @__errno_location() #11
  %5750 = load i32, ptr %5749, align 4, !tbaa !5
  %5751 = call ptr @strerror(i32 noundef %5750) #10
  %5752 = call ptr @__errno_location() #11
  %5753 = load i32, ptr %5752, align 4, !tbaa !5
  %5754 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5741, ptr noundef @.str.5, i32 noundef %5742, ptr noundef @.str.65, ptr noundef @.str.1, i32 noundef 318, ptr noundef %5745, ptr noundef %5748, ptr noundef %5751, i32 noundef %5753) #10
  br label %5755

5755:                                             ; preds = %5738, %5721
  call void @llvm.lifetime.end.p0(i64 4, ptr %132) #10
  br label %5756

5756:                                             ; preds = %5755
  br label %5757

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

5758:                                             ; No predecessors!
  br label %5759

5759:                                             ; preds = %5758
  br label %5760

5760:                                             ; preds = %5759, %5702
  br label %5761

5761:                                             ; preds = %5760
  br label %5762

5762:                                             ; preds = %5761
  br label %5963

5763:                                             ; preds = %5634
  br label %5764

5764:                                             ; preds = %5763
  br label %5765

5765:                                             ; preds = %5764
  br label %5766

5766:                                             ; preds = %5765
  %5767 = load i32, ptr @test_count, align 4, !tbaa !5
  %5768 = add nsw i32 %5767, 1
  store i32 %5768, ptr @test_count, align 4, !tbaa !5
  %5769 = load ptr, ptr %95, align 8, !tbaa !9
  %5770 = getelementptr inbounds [6 x i8], ptr %11, i64 0, i64 0
  %5771 = call i64 @s2n_recv(ptr noundef %5769, ptr noundef %5770, i64 noundef 6, ptr noundef %92)
  %5772 = icmp eq i64 %5771, -1
  br i1 %5772, label %5826, label %5773

5773:                                             ; preds = %5766
  br label %5774

5774:                                             ; preds = %5773
  br label %5775

5775:                                             ; preds = %5774
  call void @llvm.lifetime.start.p0(i64 4, ptr %133) #10
  %5776 = call ptr @__errno_location() #11
  %5777 = load i32, ptr %5776, align 4, !tbaa !5
  store i32 %5777, ptr %133, align 4, !tbaa !5
  %5778 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5779 = call i32 @s2n_print_stacktrace(ptr noundef %5778)
  %5780 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5781 = trunc i8 %5780 to i1
  br i1 %5781, label %5782, label %5804

5782:                                             ; preds = %5775
  %5783 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5784 = call i32 @fileno(ptr noundef %5783) #10
  %5785 = call i32 @isatty(i32 noundef %5784) #10
  %5786 = icmp ne i32 %5785, 0
  br i1 %5786, label %5787, label %5804

5787:                                             ; preds = %5782
  %5788 = load i32, ptr %133, align 4, !tbaa !5
  %5789 = call ptr @__errno_location() #11
  store i32 %5788, ptr %5789, align 4, !tbaa !5
  %5790 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5791 = load i32, ptr @test_count, align 4, !tbaa !5
  %5792 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5793 = load i32, ptr %5792, align 4, !tbaa !5
  %5794 = call ptr @s2n_strerror(i32 noundef %5793, ptr noundef @.str.4)
  %5795 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5796 = load i32, ptr %5795, align 4, !tbaa !5
  %5797 = call ptr @s2n_strerror_debug(i32 noundef %5796, ptr noundef @.str.4)
  %5798 = call ptr @__errno_location() #11
  %5799 = load i32, ptr %5798, align 4, !tbaa !5
  %5800 = call ptr @strerror(i32 noundef %5799) #10
  %5801 = call ptr @__errno_location() #11
  %5802 = load i32, ptr %5801, align 4, !tbaa !5
  %5803 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5790, ptr noundef @.str.2, i32 noundef %5791, ptr noundef @.str.66, ptr noundef @.str.1, i32 noundef 320, ptr noundef %5794, ptr noundef %5797, ptr noundef %5800, i32 noundef %5802) #10
  br label %5821

5804:                                             ; preds = %5782, %5775
  %5805 = load i32, ptr %133, align 4, !tbaa !5
  %5806 = call ptr @__errno_location() #11
  store i32 %5805, ptr %5806, align 4, !tbaa !5
  %5807 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5808 = load i32, ptr @test_count, align 4, !tbaa !5
  %5809 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5810 = load i32, ptr %5809, align 4, !tbaa !5
  %5811 = call ptr @s2n_strerror(i32 noundef %5810, ptr noundef @.str.4)
  %5812 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5813 = load i32, ptr %5812, align 4, !tbaa !5
  %5814 = call ptr @s2n_strerror_debug(i32 noundef %5813, ptr noundef @.str.4)
  %5815 = call ptr @__errno_location() #11
  %5816 = load i32, ptr %5815, align 4, !tbaa !5
  %5817 = call ptr @strerror(i32 noundef %5816) #10
  %5818 = call ptr @__errno_location() #11
  %5819 = load i32, ptr %5818, align 4, !tbaa !5
  %5820 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5807, ptr noundef @.str.5, i32 noundef %5808, ptr noundef @.str.66, ptr noundef @.str.1, i32 noundef 320, ptr noundef %5811, ptr noundef %5814, ptr noundef %5817, i32 noundef %5819) #10
  br label %5821

5821:                                             ; preds = %5804, %5787
  call void @llvm.lifetime.end.p0(i64 4, ptr %133) #10
  br label %5822

5822:                                             ; preds = %5821
  br label %5823

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

5824:                                             ; No predecessors!
  br label %5825

5825:                                             ; preds = %5824
  br label %5826

5826:                                             ; preds = %5825, %5766
  br label %5827

5827:                                             ; preds = %5826
  br label %5828

5828:                                             ; preds = %5827
  br label %5829

5829:                                             ; preds = %5828
  %5830 = load i32, ptr @test_count, align 4, !tbaa !5
  %5831 = add nsw i32 %5830, 1
  store i32 %5831, ptr @test_count, align 4, !tbaa !5
  %5832 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5833 = load i32, ptr %5832, align 4, !tbaa !5
  %5834 = icmp eq i32 %5833, 268435456
  br i1 %5834, label %5888, label %5835

5835:                                             ; preds = %5829
  br label %5836

5836:                                             ; preds = %5835
  br label %5837

5837:                                             ; preds = %5836
  call void @llvm.lifetime.start.p0(i64 4, ptr %134) #10
  %5838 = call ptr @__errno_location() #11
  %5839 = load i32, ptr %5838, align 4, !tbaa !5
  store i32 %5839, ptr %134, align 4, !tbaa !5
  %5840 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5841 = call i32 @s2n_print_stacktrace(ptr noundef %5840)
  %5842 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5843 = trunc i8 %5842 to i1
  br i1 %5843, label %5844, label %5866

5844:                                             ; preds = %5837
  %5845 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5846 = call i32 @fileno(ptr noundef %5845) #10
  %5847 = call i32 @isatty(i32 noundef %5846) #10
  %5848 = icmp ne i32 %5847, 0
  br i1 %5848, label %5849, label %5866

5849:                                             ; preds = %5844
  %5850 = load i32, ptr %134, align 4, !tbaa !5
  %5851 = call ptr @__errno_location() #11
  store i32 %5850, ptr %5851, align 4, !tbaa !5
  %5852 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5853 = load i32, ptr @test_count, align 4, !tbaa !5
  %5854 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5855 = load i32, ptr %5854, align 4, !tbaa !5
  %5856 = call ptr @s2n_strerror(i32 noundef %5855, ptr noundef @.str.4)
  %5857 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5858 = load i32, ptr %5857, align 4, !tbaa !5
  %5859 = call ptr @s2n_strerror_debug(i32 noundef %5858, ptr noundef @.str.4)
  %5860 = call ptr @__errno_location() #11
  %5861 = load i32, ptr %5860, align 4, !tbaa !5
  %5862 = call ptr @strerror(i32 noundef %5861) #10
  %5863 = call ptr @__errno_location() #11
  %5864 = load i32, ptr %5863, align 4, !tbaa !5
  %5865 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5852, ptr noundef @.str.2, i32 noundef %5853, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 320, ptr noundef %5856, ptr noundef %5859, ptr noundef %5862, i32 noundef %5864) #10
  br label %5883

5866:                                             ; preds = %5844, %5837
  %5867 = load i32, ptr %134, align 4, !tbaa !5
  %5868 = call ptr @__errno_location() #11
  store i32 %5867, ptr %5868, align 4, !tbaa !5
  %5869 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5870 = load i32, ptr @test_count, align 4, !tbaa !5
  %5871 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5872 = load i32, ptr %5871, align 4, !tbaa !5
  %5873 = call ptr @s2n_strerror(i32 noundef %5872, ptr noundef @.str.4)
  %5874 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5875 = load i32, ptr %5874, align 4, !tbaa !5
  %5876 = call ptr @s2n_strerror_debug(i32 noundef %5875, ptr noundef @.str.4)
  %5877 = call ptr @__errno_location() #11
  %5878 = load i32, ptr %5877, align 4, !tbaa !5
  %5879 = call ptr @strerror(i32 noundef %5878) #10
  %5880 = call ptr @__errno_location() #11
  %5881 = load i32, ptr %5880, align 4, !tbaa !5
  %5882 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5869, ptr noundef @.str.5, i32 noundef %5870, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 320, ptr noundef %5873, ptr noundef %5876, ptr noundef %5879, i32 noundef %5881) #10
  br label %5883

5883:                                             ; preds = %5866, %5849
  call void @llvm.lifetime.end.p0(i64 4, ptr %134) #10
  br label %5884

5884:                                             ; preds = %5883
  br label %5885

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

5886:                                             ; No predecessors!
  br label %5887

5887:                                             ; preds = %5886
  br label %5888

5888:                                             ; preds = %5887, %5829
  br label %5889

5889:                                             ; preds = %5888
  br label %5890

5890:                                             ; preds = %5889
  br label %5891

5891:                                             ; preds = %5890
  %5892 = load i32, ptr @test_count, align 4, !tbaa !5
  %5893 = add nsw i32 %5892, 1
  store i32 %5893, ptr @test_count, align 4, !tbaa !5
  %5894 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5895 = load i32, ptr %5894, align 4, !tbaa !5
  %5896 = call ptr @s2n_strerror_debug(i32 noundef %5895, ptr noundef @.str.4)
  %5897 = icmp eq ptr %5896, null
  br i1 %5897, label %5898, label %5951

5898:                                             ; preds = %5891
  br label %5899

5899:                                             ; preds = %5898
  br label %5900

5900:                                             ; preds = %5899
  call void @llvm.lifetime.start.p0(i64 4, ptr %135) #10
  %5901 = call ptr @__errno_location() #11
  %5902 = load i32, ptr %5901, align 4, !tbaa !5
  store i32 %5902, ptr %135, align 4, !tbaa !5
  %5903 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5904 = call i32 @s2n_print_stacktrace(ptr noundef %5903)
  %5905 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5906 = trunc i8 %5905 to i1
  br i1 %5906, label %5907, label %5929

5907:                                             ; preds = %5900
  %5908 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5909 = call i32 @fileno(ptr noundef %5908) #10
  %5910 = call i32 @isatty(i32 noundef %5909) #10
  %5911 = icmp ne i32 %5910, 0
  br i1 %5911, label %5912, label %5929

5912:                                             ; preds = %5907
  %5913 = load i32, ptr %135, 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.2, i32 noundef %5916, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 320, ptr noundef %5919, ptr noundef %5922, ptr noundef %5925, i32 noundef %5927) #10
  br label %5946

5929:                                             ; preds = %5907, %5900
  %5930 = load i32, ptr %135, align 4, !tbaa !5
  %5931 = call ptr @__errno_location() #11
  store i32 %5930, ptr %5931, align 4, !tbaa !5
  %5932 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5933 = load i32, ptr @test_count, align 4, !tbaa !5
  %5934 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5935 = load i32, ptr %5934, align 4, !tbaa !5
  %5936 = call ptr @s2n_strerror(i32 noundef %5935, ptr noundef @.str.4)
  %5937 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5938 = load i32, ptr %5937, align 4, !tbaa !5
  %5939 = call ptr @s2n_strerror_debug(i32 noundef %5938, ptr noundef @.str.4)
  %5940 = call ptr @__errno_location() #11
  %5941 = load i32, ptr %5940, align 4, !tbaa !5
  %5942 = call ptr @strerror(i32 noundef %5941) #10
  %5943 = call ptr @__errno_location() #11
  %5944 = load i32, ptr %5943, align 4, !tbaa !5
  %5945 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5932, ptr noundef @.str.5, i32 noundef %5933, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 320, ptr noundef %5936, ptr noundef %5939, ptr noundef %5942, i32 noundef %5944) #10
  br label %5946

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

5947:                                             ; preds = %5946
  br label %5948

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

5949:                                             ; No predecessors!
  br label %5950

5950:                                             ; preds = %5949
  br label %5951

5951:                                             ; preds = %5950, %5891
  br label %5952

5952:                                             ; preds = %5951
  br label %5953

5953:                                             ; preds = %5952
  br label %5954

5954:                                             ; preds = %5953
  br label %5955

5955:                                             ; preds = %5954
  br label %5956

5956:                                             ; preds = %5955
  %5957 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %5957, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %5958 = call ptr @__errno_location() #11
  store i32 0, ptr %5958, align 4, !tbaa !5
  br label %5959

5959:                                             ; preds = %5956
  br label %5960

5960:                                             ; preds = %5959
  br label %5961

5961:                                             ; preds = %5960
  br label %5962

5962:                                             ; preds = %5961
  br label %5963

5963:                                             ; preds = %5962, %5762
  br label %5964

5964:                                             ; preds = %5963
  %5965 = load i32, ptr @test_count, align 4, !tbaa !5
  %5966 = add nsw i32 %5965, 1
  store i32 %5966, ptr @test_count, align 4, !tbaa !5
  %5967 = load i8, ptr %93, align 1, !tbaa !17
  %5968 = zext i8 %5967 to i32
  %5969 = load ptr, ptr %95, align 8, !tbaa !9
  %5970 = call i32 @s2n_connection_get_alert(ptr noundef %5969)
  %5971 = icmp eq i32 %5968, %5970
  br i1 %5971, label %6025, label %5972

5972:                                             ; preds = %5964
  br label %5973

5973:                                             ; preds = %5972
  br label %5974

5974:                                             ; preds = %5973
  call void @llvm.lifetime.start.p0(i64 4, ptr %136) #10
  %5975 = call ptr @__errno_location() #11
  %5976 = load i32, ptr %5975, align 4, !tbaa !5
  store i32 %5976, ptr %136, align 4, !tbaa !5
  %5977 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5978 = call i32 @s2n_print_stacktrace(ptr noundef %5977)
  %5979 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5980 = trunc i8 %5979 to i1
  br i1 %5980, label %5981, label %6003

5981:                                             ; preds = %5974
  %5982 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5983 = call i32 @fileno(ptr noundef %5982) #10
  %5984 = call i32 @isatty(i32 noundef %5983) #10
  %5985 = icmp ne i32 %5984, 0
  br i1 %5985, label %5986, label %6003

5986:                                             ; preds = %5981
  %5987 = load i32, ptr %136, align 4, !tbaa !5
  %5988 = call ptr @__errno_location() #11
  store i32 %5987, ptr %5988, align 4, !tbaa !5
  %5989 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5990 = load i32, ptr @test_count, align 4, !tbaa !5
  %5991 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5992 = load i32, ptr %5991, align 4, !tbaa !5
  %5993 = call ptr @s2n_strerror(i32 noundef %5992, ptr noundef @.str.4)
  %5994 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5995 = load i32, ptr %5994, align 4, !tbaa !5
  %5996 = call ptr @s2n_strerror_debug(i32 noundef %5995, ptr noundef @.str.4)
  %5997 = call ptr @__errno_location() #11
  %5998 = load i32, ptr %5997, align 4, !tbaa !5
  %5999 = call ptr @strerror(i32 noundef %5998) #10
  %6000 = call ptr @__errno_location() #11
  %6001 = load i32, ptr %6000, align 4, !tbaa !5
  %6002 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5989, ptr noundef @.str.2, i32 noundef %5990, ptr noundef @.str.67, ptr noundef @.str.1, i32 noundef 322, ptr noundef %5993, ptr noundef %5996, ptr noundef %5999, i32 noundef %6001) #10
  br label %6020

6003:                                             ; preds = %5981, %5974
  %6004 = load i32, ptr %136, align 4, !tbaa !5
  %6005 = call ptr @__errno_location() #11
  store i32 %6004, ptr %6005, align 4, !tbaa !5
  %6006 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6007 = load i32, ptr @test_count, align 4, !tbaa !5
  %6008 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6009 = load i32, ptr %6008, align 4, !tbaa !5
  %6010 = call ptr @s2n_strerror(i32 noundef %6009, ptr noundef @.str.4)
  %6011 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6012 = load i32, ptr %6011, align 4, !tbaa !5
  %6013 = call ptr @s2n_strerror_debug(i32 noundef %6012, ptr noundef @.str.4)
  %6014 = call ptr @__errno_location() #11
  %6015 = load i32, ptr %6014, align 4, !tbaa !5
  %6016 = call ptr @strerror(i32 noundef %6015) #10
  %6017 = call ptr @__errno_location() #11
  %6018 = load i32, ptr %6017, align 4, !tbaa !5
  %6019 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6006, ptr noundef @.str.5, i32 noundef %6007, ptr noundef @.str.67, ptr noundef @.str.1, i32 noundef 322, ptr noundef %6010, ptr noundef %6013, ptr noundef %6016, i32 noundef %6018) #10
  br label %6020

6020:                                             ; preds = %6003, %5986
  call void @llvm.lifetime.end.p0(i64 4, ptr %136) #10
  br label %6021

6021:                                             ; preds = %6020
  br label %6022

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

6023:                                             ; No predecessors!
  br label %6024

6024:                                             ; preds = %6023
  br label %6025

6025:                                             ; preds = %6024, %5964
  br label %6026

6026:                                             ; preds = %6025
  br label %6027

6027:                                             ; preds = %6026
  br label %6028

6028:                                             ; preds = %6027
  br label %6029

6029:                                             ; preds = %6028
  br label %6030

6030:                                             ; preds = %6029
  %6031 = load i32, ptr @test_count, align 4, !tbaa !5
  %6032 = add nsw i32 %6031, 1
  store i32 %6032, ptr @test_count, align 4, !tbaa !5
  %6033 = load ptr, ptr %94, align 8, !tbaa !9
  %6034 = getelementptr inbounds [6 x i8], ptr %11, i64 0, i64 0
  %6035 = call i64 @s2n_send(ptr noundef %6033, ptr noundef %6034, i64 noundef 6, ptr noundef %92)
  %6036 = icmp eq i64 %6035, -1
  br i1 %6036, label %6090, label %6037

6037:                                             ; preds = %6030
  br label %6038

6038:                                             ; preds = %6037
  br label %6039

6039:                                             ; preds = %6038
  call void @llvm.lifetime.start.p0(i64 4, ptr %137) #10
  %6040 = call ptr @__errno_location() #11
  %6041 = load i32, ptr %6040, align 4, !tbaa !5
  store i32 %6041, ptr %137, align 4, !tbaa !5
  %6042 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6043 = call i32 @s2n_print_stacktrace(ptr noundef %6042)
  %6044 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6045 = trunc i8 %6044 to i1
  br i1 %6045, label %6046, label %6068

6046:                                             ; preds = %6039
  %6047 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6048 = call i32 @fileno(ptr noundef %6047) #10
  %6049 = call i32 @isatty(i32 noundef %6048) #10
  %6050 = icmp ne i32 %6049, 0
  br i1 %6050, label %6051, label %6068

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

6068:                                             ; preds = %6046, %6039
  %6069 = load i32, ptr %137, align 4, !tbaa !5
  %6070 = call ptr @__errno_location() #11
  store i32 %6069, ptr %6070, align 4, !tbaa !5
  %6071 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6072 = load i32, ptr @test_count, align 4, !tbaa !5
  %6073 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6074 = load i32, ptr %6073, align 4, !tbaa !5
  %6075 = call ptr @s2n_strerror(i32 noundef %6074, ptr noundef @.str.4)
  %6076 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6077 = load i32, ptr %6076, align 4, !tbaa !5
  %6078 = call ptr @s2n_strerror_debug(i32 noundef %6077, ptr noundef @.str.4)
  %6079 = call ptr @__errno_location() #11
  %6080 = load i32, ptr %6079, align 4, !tbaa !5
  %6081 = call ptr @strerror(i32 noundef %6080) #10
  %6082 = call ptr @__errno_location() #11
  %6083 = load i32, ptr %6082, align 4, !tbaa !5
  %6084 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6071, ptr noundef @.str.5, i32 noundef %6072, ptr noundef @.str.68, ptr noundef @.str.1, i32 noundef 330, ptr noundef %6075, ptr noundef %6078, ptr noundef %6081, i32 noundef %6083) #10
  br label %6085

6085:                                             ; preds = %6068, %6051
  call void @llvm.lifetime.end.p0(i64 4, ptr %137) #10
  br label %6086

6086:                                             ; preds = %6085
  br label %6087

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

6088:                                             ; No predecessors!
  br label %6089

6089:                                             ; preds = %6088
  br label %6090

6090:                                             ; preds = %6089, %6030
  br label %6091

6091:                                             ; preds = %6090
  br label %6092

6092:                                             ; preds = %6091
  br label %6093

6093:                                             ; preds = %6092
  %6094 = load i32, ptr @test_count, align 4, !tbaa !5
  %6095 = add nsw i32 %6094, 1
  store i32 %6095, ptr @test_count, align 4, !tbaa !5
  %6096 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6097 = load i32, ptr %6096, align 4, !tbaa !5
  %6098 = icmp eq i32 %6097, 134217728
  br i1 %6098, label %6152, label %6099

6099:                                             ; preds = %6093
  br label %6100

6100:                                             ; preds = %6099
  br label %6101

6101:                                             ; preds = %6100
  call void @llvm.lifetime.start.p0(i64 4, ptr %138) #10
  %6102 = call ptr @__errno_location() #11
  %6103 = load i32, ptr %6102, align 4, !tbaa !5
  store i32 %6103, ptr %138, align 4, !tbaa !5
  %6104 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6105 = call i32 @s2n_print_stacktrace(ptr noundef %6104)
  %6106 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6107 = trunc i8 %6106 to i1
  br i1 %6107, label %6108, label %6130

6108:                                             ; preds = %6101
  %6109 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6110 = call i32 @fileno(ptr noundef %6109) #10
  %6111 = call i32 @isatty(i32 noundef %6110) #10
  %6112 = icmp ne i32 %6111, 0
  br i1 %6112, label %6113, label %6130

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

6130:                                             ; preds = %6108, %6101
  %6131 = load i32, ptr %138, align 4, !tbaa !5
  %6132 = call ptr @__errno_location() #11
  store i32 %6131, ptr %6132, align 4, !tbaa !5
  %6133 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6134 = load i32, ptr @test_count, align 4, !tbaa !5
  %6135 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6136 = load i32, ptr %6135, align 4, !tbaa !5
  %6137 = call ptr @s2n_strerror(i32 noundef %6136, ptr noundef @.str.4)
  %6138 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6139 = load i32, ptr %6138, align 4, !tbaa !5
  %6140 = call ptr @s2n_strerror_debug(i32 noundef %6139, ptr noundef @.str.4)
  %6141 = call ptr @__errno_location() #11
  %6142 = load i32, ptr %6141, align 4, !tbaa !5
  %6143 = call ptr @strerror(i32 noundef %6142) #10
  %6144 = call ptr @__errno_location() #11
  %6145 = load i32, ptr %6144, align 4, !tbaa !5
  %6146 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6133, ptr noundef @.str.5, i32 noundef %6134, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 330, ptr noundef %6137, ptr noundef %6140, ptr noundef %6143, i32 noundef %6145) #10
  br label %6147

6147:                                             ; preds = %6130, %6113
  call void @llvm.lifetime.end.p0(i64 4, ptr %138) #10
  br label %6148

6148:                                             ; preds = %6147
  br label %6149

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

6150:                                             ; No predecessors!
  br label %6151

6151:                                             ; preds = %6150
  br label %6152

6152:                                             ; preds = %6151, %6093
  br label %6153

6153:                                             ; preds = %6152
  br label %6154

6154:                                             ; preds = %6153
  br label %6155

6155:                                             ; preds = %6154
  %6156 = load i32, ptr @test_count, align 4, !tbaa !5
  %6157 = add nsw i32 %6156, 1
  store i32 %6157, ptr @test_count, align 4, !tbaa !5
  %6158 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6159 = load i32, ptr %6158, align 4, !tbaa !5
  %6160 = call ptr @s2n_strerror_debug(i32 noundef %6159, ptr noundef @.str.4)
  %6161 = icmp eq ptr %6160, null
  br i1 %6161, label %6162, label %6215

6162:                                             ; preds = %6155
  br label %6163

6163:                                             ; preds = %6162
  br label %6164

6164:                                             ; preds = %6163
  call void @llvm.lifetime.start.p0(i64 4, ptr %139) #10
  %6165 = call ptr @__errno_location() #11
  %6166 = load i32, ptr %6165, align 4, !tbaa !5
  store i32 %6166, ptr %139, align 4, !tbaa !5
  %6167 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6168 = call i32 @s2n_print_stacktrace(ptr noundef %6167)
  %6169 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6170 = trunc i8 %6169 to i1
  br i1 %6170, label %6171, label %6193

6171:                                             ; preds = %6164
  %6172 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6173 = call i32 @fileno(ptr noundef %6172) #10
  %6174 = call i32 @isatty(i32 noundef %6173) #10
  %6175 = icmp ne i32 %6174, 0
  br i1 %6175, label %6176, label %6193

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

6193:                                             ; preds = %6171, %6164
  %6194 = load i32, ptr %139, align 4, !tbaa !5
  %6195 = call ptr @__errno_location() #11
  store i32 %6194, ptr %6195, align 4, !tbaa !5
  %6196 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6197 = load i32, ptr @test_count, align 4, !tbaa !5
  %6198 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6199 = load i32, ptr %6198, align 4, !tbaa !5
  %6200 = call ptr @s2n_strerror(i32 noundef %6199, ptr noundef @.str.4)
  %6201 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6202 = load i32, ptr %6201, align 4, !tbaa !5
  %6203 = call ptr @s2n_strerror_debug(i32 noundef %6202, ptr noundef @.str.4)
  %6204 = call ptr @__errno_location() #11
  %6205 = load i32, ptr %6204, align 4, !tbaa !5
  %6206 = call ptr @strerror(i32 noundef %6205) #10
  %6207 = call ptr @__errno_location() #11
  %6208 = load i32, ptr %6207, align 4, !tbaa !5
  %6209 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6196, ptr noundef @.str.5, i32 noundef %6197, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 330, ptr noundef %6200, ptr noundef %6203, ptr noundef %6206, i32 noundef %6208) #10
  br label %6210

6210:                                             ; preds = %6193, %6176
  call void @llvm.lifetime.end.p0(i64 4, ptr %139) #10
  br label %6211

6211:                                             ; preds = %6210
  br label %6212

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

6213:                                             ; No predecessors!
  br label %6214

6214:                                             ; preds = %6213
  br label %6215

6215:                                             ; preds = %6214, %6155
  br label %6216

6216:                                             ; preds = %6215
  br label %6217

6217:                                             ; preds = %6216
  br label %6218

6218:                                             ; preds = %6217
  br label %6219

6219:                                             ; preds = %6218
  br label %6220

6220:                                             ; preds = %6219
  %6221 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %6221, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %6222 = call ptr @__errno_location() #11
  store i32 0, ptr %6222, align 4, !tbaa !5
  br label %6223

6223:                                             ; preds = %6220
  br label %6224

6224:                                             ; preds = %6223
  br label %6225

6225:                                             ; preds = %6224
  br label %6226

6226:                                             ; preds = %6225
  br label %6227

6227:                                             ; preds = %6226
  br label %6228

6228:                                             ; preds = %6227
  br label %6229

6229:                                             ; preds = %6228
  %6230 = load i32, ptr @test_count, align 4, !tbaa !5
  %6231 = add nsw i32 %6230, 1
  store i32 %6231, ptr @test_count, align 4, !tbaa !5
  %6232 = load ptr, ptr %94, align 8, !tbaa !9
  %6233 = getelementptr inbounds [6 x i8], ptr %11, i64 0, i64 0
  %6234 = call i64 @s2n_recv(ptr noundef %6232, ptr noundef %6233, i64 noundef 6, ptr noundef %92)
  %6235 = icmp eq i64 %6234, -1
  br i1 %6235, label %6289, label %6236

6236:                                             ; preds = %6229
  br label %6237

6237:                                             ; preds = %6236
  br label %6238

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

6245:                                             ; preds = %6238
  %6246 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6247 = call i32 @fileno(ptr noundef %6246) #10
  %6248 = call i32 @isatty(i32 noundef %6247) #10
  %6249 = icmp ne i32 %6248, 0
  br i1 %6249, label %6250, label %6267

6250:                                             ; preds = %6245
  %6251 = load i32, ptr %140, align 4, !tbaa !5
  %6252 = call ptr @__errno_location() #11
  store i32 %6251, ptr %6252, align 4, !tbaa !5
  %6253 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6254 = load i32, ptr @test_count, align 4, !tbaa !5
  %6255 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6256 = load i32, ptr %6255, align 4, !tbaa !5
  %6257 = call ptr @s2n_strerror(i32 noundef %6256, ptr noundef @.str.4)
  %6258 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6259 = load i32, ptr %6258, align 4, !tbaa !5
  %6260 = call ptr @s2n_strerror_debug(i32 noundef %6259, ptr noundef @.str.4)
  %6261 = call ptr @__errno_location() #11
  %6262 = load i32, ptr %6261, align 4, !tbaa !5
  %6263 = call ptr @strerror(i32 noundef %6262) #10
  %6264 = call ptr @__errno_location() #11
  %6265 = load i32, ptr %6264, align 4, !tbaa !5
  %6266 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6253, ptr noundef @.str.2, i32 noundef %6254, ptr noundef @.str.69, ptr noundef @.str.1, i32 noundef 331, ptr noundef %6257, ptr noundef %6260, ptr noundef %6263, i32 noundef %6265) #10
  br label %6284

6267:                                             ; preds = %6245, %6238
  %6268 = load i32, ptr %140, align 4, !tbaa !5
  %6269 = call ptr @__errno_location() #11
  store i32 %6268, ptr %6269, align 4, !tbaa !5
  %6270 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6271 = load i32, ptr @test_count, align 4, !tbaa !5
  %6272 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6273 = load i32, ptr %6272, align 4, !tbaa !5
  %6274 = call ptr @s2n_strerror(i32 noundef %6273, ptr noundef @.str.4)
  %6275 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6276 = load i32, ptr %6275, align 4, !tbaa !5
  %6277 = call ptr @s2n_strerror_debug(i32 noundef %6276, ptr noundef @.str.4)
  %6278 = call ptr @__errno_location() #11
  %6279 = load i32, ptr %6278, align 4, !tbaa !5
  %6280 = call ptr @strerror(i32 noundef %6279) #10
  %6281 = call ptr @__errno_location() #11
  %6282 = load i32, ptr %6281, align 4, !tbaa !5
  %6283 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6270, ptr noundef @.str.5, i32 noundef %6271, ptr noundef @.str.69, ptr noundef @.str.1, i32 noundef 331, ptr noundef %6274, ptr noundef %6277, ptr noundef %6280, i32 noundef %6282) #10
  br label %6284

6284:                                             ; preds = %6267, %6250
  call void @llvm.lifetime.end.p0(i64 4, ptr %140) #10
  br label %6285

6285:                                             ; preds = %6284
  br label %6286

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

6287:                                             ; No predecessors!
  br label %6288

6288:                                             ; preds = %6287
  br label %6289

6289:                                             ; preds = %6288, %6229
  br label %6290

6290:                                             ; preds = %6289
  br label %6291

6291:                                             ; preds = %6290
  br label %6292

6292:                                             ; preds = %6291
  %6293 = load i32, ptr @test_count, align 4, !tbaa !5
  %6294 = add nsw i32 %6293, 1
  store i32 %6294, ptr @test_count, align 4, !tbaa !5
  %6295 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6296 = load i32, ptr %6295, align 4, !tbaa !5
  %6297 = icmp eq i32 %6296, 134217728
  br i1 %6297, label %6351, label %6298

6298:                                             ; preds = %6292
  br label %6299

6299:                                             ; preds = %6298
  br label %6300

6300:                                             ; preds = %6299
  call void @llvm.lifetime.start.p0(i64 4, ptr %141) #10
  %6301 = call ptr @__errno_location() #11
  %6302 = load i32, ptr %6301, align 4, !tbaa !5
  store i32 %6302, ptr %141, align 4, !tbaa !5
  %6303 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6304 = call i32 @s2n_print_stacktrace(ptr noundef %6303)
  %6305 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6306 = trunc i8 %6305 to i1
  br i1 %6306, label %6307, label %6329

6307:                                             ; preds = %6300
  %6308 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6309 = call i32 @fileno(ptr noundef %6308) #10
  %6310 = call i32 @isatty(i32 noundef %6309) #10
  %6311 = icmp ne i32 %6310, 0
  br i1 %6311, label %6312, label %6329

6312:                                             ; preds = %6307
  %6313 = load i32, ptr %141, align 4, !tbaa !5
  %6314 = call ptr @__errno_location() #11
  store i32 %6313, ptr %6314, align 4, !tbaa !5
  %6315 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6316 = load i32, ptr @test_count, align 4, !tbaa !5
  %6317 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6318 = load i32, ptr %6317, align 4, !tbaa !5
  %6319 = call ptr @s2n_strerror(i32 noundef %6318, ptr noundef @.str.4)
  %6320 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6321 = load i32, ptr %6320, align 4, !tbaa !5
  %6322 = call ptr @s2n_strerror_debug(i32 noundef %6321, ptr noundef @.str.4)
  %6323 = call ptr @__errno_location() #11
  %6324 = load i32, ptr %6323, align 4, !tbaa !5
  %6325 = call ptr @strerror(i32 noundef %6324) #10
  %6326 = call ptr @__errno_location() #11
  %6327 = load i32, ptr %6326, align 4, !tbaa !5
  %6328 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6315, ptr noundef @.str.2, i32 noundef %6316, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 331, ptr noundef %6319, ptr noundef %6322, ptr noundef %6325, i32 noundef %6327) #10
  br label %6346

6329:                                             ; preds = %6307, %6300
  %6330 = load i32, ptr %141, align 4, !tbaa !5
  %6331 = call ptr @__errno_location() #11
  store i32 %6330, ptr %6331, align 4, !tbaa !5
  %6332 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6333 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %6335, ptr noundef @.str.4)
  %6337 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6338 = load i32, ptr %6337, align 4, !tbaa !5
  %6339 = call ptr @s2n_strerror_debug(i32 noundef %6338, ptr noundef @.str.4)
  %6340 = call ptr @__errno_location() #11
  %6341 = load i32, ptr %6340, align 4, !tbaa !5
  %6342 = call ptr @strerror(i32 noundef %6341) #10
  %6343 = call ptr @__errno_location() #11
  %6344 = load i32, ptr %6343, align 4, !tbaa !5
  %6345 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6332, ptr noundef @.str.5, i32 noundef %6333, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 331, ptr noundef %6336, ptr noundef %6339, ptr noundef %6342, i32 noundef %6344) #10
  br label %6346

6346:                                             ; preds = %6329, %6312
  call void @llvm.lifetime.end.p0(i64 4, ptr %141) #10
  br label %6347

6347:                                             ; preds = %6346
  br label %6348

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

6349:                                             ; No predecessors!
  br label %6350

6350:                                             ; preds = %6349
  br label %6351

6351:                                             ; preds = %6350, %6292
  br label %6352

6352:                                             ; preds = %6351
  br label %6353

6353:                                             ; preds = %6352
  br label %6354

6354:                                             ; preds = %6353
  %6355 = load i32, ptr @test_count, align 4, !tbaa !5
  %6356 = add nsw i32 %6355, 1
  store i32 %6356, ptr @test_count, align 4, !tbaa !5
  %6357 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6358 = load i32, ptr %6357, align 4, !tbaa !5
  %6359 = call ptr @s2n_strerror_debug(i32 noundef %6358, ptr noundef @.str.4)
  %6360 = icmp eq ptr %6359, null
  br i1 %6360, label %6361, label %6414

6361:                                             ; preds = %6354
  br label %6362

6362:                                             ; preds = %6361
  br label %6363

6363:                                             ; preds = %6362
  call void @llvm.lifetime.start.p0(i64 4, ptr %142) #10
  %6364 = call ptr @__errno_location() #11
  %6365 = load i32, ptr %6364, align 4, !tbaa !5
  store i32 %6365, ptr %142, align 4, !tbaa !5
  %6366 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6367 = call i32 @s2n_print_stacktrace(ptr noundef %6366)
  %6368 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6369 = trunc i8 %6368 to i1
  br i1 %6369, label %6370, label %6392

6370:                                             ; preds = %6363
  %6371 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6372 = call i32 @fileno(ptr noundef %6371) #10
  %6373 = call i32 @isatty(i32 noundef %6372) #10
  %6374 = icmp ne i32 %6373, 0
  br i1 %6374, label %6375, label %6392

6375:                                             ; preds = %6370
  %6376 = load i32, ptr %142, align 4, !tbaa !5
  %6377 = call ptr @__errno_location() #11
  store i32 %6376, ptr %6377, align 4, !tbaa !5
  %6378 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6379 = load i32, ptr @test_count, align 4, !tbaa !5
  %6380 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6381 = load i32, ptr %6380, align 4, !tbaa !5
  %6382 = call ptr @s2n_strerror(i32 noundef %6381, ptr noundef @.str.4)
  %6383 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6384 = load i32, ptr %6383, align 4, !tbaa !5
  %6385 = call ptr @s2n_strerror_debug(i32 noundef %6384, ptr noundef @.str.4)
  %6386 = call ptr @__errno_location() #11
  %6387 = load i32, ptr %6386, align 4, !tbaa !5
  %6388 = call ptr @strerror(i32 noundef %6387) #10
  %6389 = call ptr @__errno_location() #11
  %6390 = load i32, ptr %6389, align 4, !tbaa !5
  %6391 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6378, ptr noundef @.str.2, i32 noundef %6379, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 331, ptr noundef %6382, ptr noundef %6385, ptr noundef %6388, i32 noundef %6390) #10
  br label %6409

6392:                                             ; preds = %6370, %6363
  %6393 = load i32, ptr %142, align 4, !tbaa !5
  %6394 = call ptr @__errno_location() #11
  store i32 %6393, ptr %6394, align 4, !tbaa !5
  %6395 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6396 = load i32, ptr @test_count, align 4, !tbaa !5
  %6397 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6398 = load i32, ptr %6397, align 4, !tbaa !5
  %6399 = call ptr @s2n_strerror(i32 noundef %6398, ptr noundef @.str.4)
  %6400 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6401 = load i32, ptr %6400, align 4, !tbaa !5
  %6402 = call ptr @s2n_strerror_debug(i32 noundef %6401, ptr noundef @.str.4)
  %6403 = call ptr @__errno_location() #11
  %6404 = load i32, ptr %6403, align 4, !tbaa !5
  %6405 = call ptr @strerror(i32 noundef %6404) #10
  %6406 = call ptr @__errno_location() #11
  %6407 = load i32, ptr %6406, align 4, !tbaa !5
  %6408 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6395, ptr noundef @.str.5, i32 noundef %6396, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 331, ptr noundef %6399, ptr noundef %6402, ptr noundef %6405, i32 noundef %6407) #10
  br label %6409

6409:                                             ; preds = %6392, %6375
  call void @llvm.lifetime.end.p0(i64 4, ptr %142) #10
  br label %6410

6410:                                             ; preds = %6409
  br label %6411

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

6412:                                             ; No predecessors!
  br label %6413

6413:                                             ; preds = %6412
  br label %6414

6414:                                             ; preds = %6413, %6354
  br label %6415

6415:                                             ; preds = %6414
  br label %6416

6416:                                             ; preds = %6415
  br label %6417

6417:                                             ; preds = %6416
  br label %6418

6418:                                             ; preds = %6417
  br label %6419

6419:                                             ; preds = %6418
  %6420 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %6420, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %6421 = call ptr @__errno_location() #11
  store i32 0, ptr %6421, align 4, !tbaa !5
  br label %6422

6422:                                             ; preds = %6419
  br label %6423

6423:                                             ; preds = %6422
  br label %6424

6424:                                             ; preds = %6423
  br label %6425

6425:                                             ; preds = %6424
  call void @llvm.lifetime.end.p0(i64 8, ptr %95) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %94) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr %93) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %92) #10
  %6426 = call i32 @s2n_io_stuffer_pair_free(ptr noundef %87)
  %6427 = getelementptr inbounds %struct.s2n_result, ptr %143, i32 0, i32 0
  store i32 %6426, ptr %6427, align 4
  call void @llvm.lifetime.end.p0(i64 80, ptr %87) #10
  %6428 = call i32 @s2n_connection_ptr_free(ptr noundef %84)
  %6429 = getelementptr inbounds %struct.s2n_result, ptr %144, i32 0, i32 0
  store i32 %6428, ptr %6429, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %84) #10
  %6430 = call i32 @s2n_connection_ptr_free(ptr noundef %81)
  %6431 = getelementptr inbounds %struct.s2n_result, ptr %145, i32 0, i32 0
  store i32 %6430, ptr %6431, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %81) #10
  br label %6432

6432:                                             ; preds = %6425
  %6433 = load i64, ptr %80, align 8, !tbaa !15
  %6434 = add i64 %6433, 1
  store i64 %6434, ptr %80, align 8, !tbaa !15
  br label %3030, !llvm.loop !54

6435:                                             ; preds = %3033
  %6436 = call i32 @s2n_config_ptr_free(ptr noundef %79)
  %6437 = getelementptr inbounds %struct.s2n_result, ptr %146, i32 0, i32 0
  store i32 %6436, ptr %6437, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %79) #10
  %6438 = call i32 @s2n_config_ptr_free(ptr noundef %77)
  %6439 = getelementptr inbounds %struct.s2n_result, ptr %147, i32 0, i32 0
  store i32 %6438, ptr %6439, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %77) #10
  call void @llvm.lifetime.end.p0(i64 20, ptr %76) #10
  call void @llvm.lifetime.start.p0(i64 4, ptr %148) #10
  store i32 0, ptr %148, align 4, !tbaa !5
  br label %6440

6440:                                             ; preds = %7890, %6435
  %6441 = load i32, ptr %148, align 4, !tbaa !5
  %6442 = icmp ult i32 %6441, 2
  br i1 %6442, label %6444, label %6443

6443:                                             ; preds = %6440
  store i32 671, ptr %16, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %148) #10
  br label %7893

6444:                                             ; preds = %6440
  call void @llvm.lifetime.start.p0(i64 1, ptr %149) #10
  store i8 0, ptr %149, align 1, !tbaa !17
  br label %6445

6445:                                             ; preds = %7886, %6444
  %6446 = load i8, ptr %149, align 1, !tbaa !17
  %6447 = zext i8 %6446 to i32
  %6448 = icmp slt i32 %6447, 2
  br i1 %6448, label %6450, label %6449

6449:                                             ; preds = %6445
  store i32 674, ptr %16, align 4
  call void @llvm.lifetime.end.p0(i64 1, ptr %149) #10
  br label %7889

6450:                                             ; preds = %6445
  call void @llvm.lifetime.start.p0(i64 8, ptr %150) #10
  %6451 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %6451, ptr %150, align 8, !tbaa !9
  br label %6452

6452:                                             ; preds = %6450
  %6453 = load i32, ptr @test_count, align 4, !tbaa !5
  %6454 = add nsw i32 %6453, 1
  store i32 %6454, ptr @test_count, align 4, !tbaa !5
  %6455 = load ptr, ptr %150, align 8, !tbaa !9
  %6456 = call i32 @s2n_connection_set_blinding(ptr noundef %6455, i32 noundef 1)
  %6457 = icmp eq i32 %6456, -1
  br i1 %6457, label %6458, label %6511

6458:                                             ; preds = %6452
  br label %6459

6459:                                             ; preds = %6458
  br label %6460

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

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

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

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

6506:                                             ; preds = %6489, %6472
  call void @llvm.lifetime.end.p0(i64 4, ptr %151) #10
  br label %6507

6507:                                             ; preds = %6506
  br label %6508

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

6509:                                             ; No predecessors!
  br label %6510

6510:                                             ; preds = %6509
  br label %6511

6511:                                             ; preds = %6510, %6452
  br label %6512

6512:                                             ; preds = %6511
  br label %6513

6513:                                             ; preds = %6512
  br label %6514

6514:                                             ; preds = %6513
  %6515 = load i32, ptr @test_count, align 4, !tbaa !5
  %6516 = add nsw i32 %6515, 1
  store i32 %6516, ptr @test_count, align 4, !tbaa !5
  %6517 = load ptr, ptr %150, align 8, !tbaa !9
  %6518 = load ptr, ptr %23, align 8, !tbaa !9
  %6519 = call i32 @s2n_connection_set_config(ptr noundef %6517, ptr noundef %6518)
  %6520 = icmp eq i32 %6519, -1
  br i1 %6520, label %6521, label %6574

6521:                                             ; preds = %6514
  br label %6522

6522:                                             ; preds = %6521
  br label %6523

6523:                                             ; preds = %6522
  call void @llvm.lifetime.start.p0(i64 4, ptr %152) #10
  %6524 = call ptr @__errno_location() #11
  %6525 = load i32, ptr %6524, align 4, !tbaa !5
  store i32 %6525, ptr %152, align 4, !tbaa !5
  %6526 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6527 = call i32 @s2n_print_stacktrace(ptr noundef %6526)
  %6528 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6529 = trunc i8 %6528 to i1
  br i1 %6529, label %6530, label %6552

6530:                                             ; preds = %6523
  %6531 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6532 = call i32 @fileno(ptr noundef %6531) #10
  %6533 = call i32 @isatty(i32 noundef %6532) #10
  %6534 = icmp ne i32 %6533, 0
  br i1 %6534, label %6535, label %6552

6535:                                             ; preds = %6530
  %6536 = load i32, ptr %152, align 4, !tbaa !5
  %6537 = call ptr @__errno_location() #11
  store i32 %6536, ptr %6537, align 4, !tbaa !5
  %6538 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6539 = load i32, ptr @test_count, align 4, !tbaa !5
  %6540 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6541 = load i32, ptr %6540, align 4, !tbaa !5
  %6542 = call ptr @s2n_strerror(i32 noundef %6541, ptr noundef @.str.4)
  %6543 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6544 = load i32, ptr %6543, align 4, !tbaa !5
  %6545 = call ptr @s2n_strerror_debug(i32 noundef %6544, ptr noundef @.str.4)
  %6546 = call ptr @__errno_location() #11
  %6547 = load i32, ptr %6546, align 4, !tbaa !5
  %6548 = call ptr @strerror(i32 noundef %6547) #10
  %6549 = call ptr @__errno_location() #11
  %6550 = load i32, ptr %6549, align 4, !tbaa !5
  %6551 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6538, ptr noundef @.str.2, i32 noundef %6539, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 348, ptr noundef %6542, ptr noundef %6545, ptr noundef %6548, i32 noundef %6550) #10
  br label %6569

6552:                                             ; preds = %6530, %6523
  %6553 = load i32, ptr %152, align 4, !tbaa !5
  %6554 = call ptr @__errno_location() #11
  store i32 %6553, ptr %6554, align 4, !tbaa !5
  %6555 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6556 = load i32, ptr @test_count, align 4, !tbaa !5
  %6557 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6558 = load i32, ptr %6557, align 4, !tbaa !5
  %6559 = call ptr @s2n_strerror(i32 noundef %6558, ptr noundef @.str.4)
  %6560 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6561 = load i32, ptr %6560, align 4, !tbaa !5
  %6562 = call ptr @s2n_strerror_debug(i32 noundef %6561, ptr noundef @.str.4)
  %6563 = call ptr @__errno_location() #11
  %6564 = load i32, ptr %6563, align 4, !tbaa !5
  %6565 = call ptr @strerror(i32 noundef %6564) #10
  %6566 = call ptr @__errno_location() #11
  %6567 = load i32, ptr %6566, align 4, !tbaa !5
  %6568 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6555, ptr noundef @.str.5, i32 noundef %6556, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 348, ptr noundef %6559, ptr noundef %6562, ptr noundef %6565, i32 noundef %6567) #10
  br label %6569

6569:                                             ; preds = %6552, %6535
  call void @llvm.lifetime.end.p0(i64 4, ptr %152) #10
  br label %6570

6570:                                             ; preds = %6569
  br label %6571

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

6572:                                             ; No predecessors!
  br label %6573

6573:                                             ; preds = %6572
  br label %6574

6574:                                             ; preds = %6573, %6514
  br label %6575

6575:                                             ; preds = %6574
  br label %6576

6576:                                             ; preds = %6575
  call void @llvm.lifetime.start.p0(i64 8, ptr %153) #10
  %6577 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %6577, ptr %153, align 8, !tbaa !9
  br label %6578

6578:                                             ; preds = %6576
  %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 = load ptr, ptr %153, align 8, !tbaa !9
  %6582 = call i32 @s2n_connection_set_blinding(ptr noundef %6581, i32 noundef 1)
  %6583 = icmp eq i32 %6582, -1
  br i1 %6583, label %6584, label %6637

6584:                                             ; preds = %6578
  br label %6585

6585:                                             ; preds = %6584
  br label %6586

6586:                                             ; preds = %6585
  call void @llvm.lifetime.start.p0(i64 4, ptr %154) #10
  %6587 = call ptr @__errno_location() #11
  %6588 = load i32, ptr %6587, align 4, !tbaa !5
  store i32 %6588, ptr %154, align 4, !tbaa !5
  %6589 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6590 = call i32 @s2n_print_stacktrace(ptr noundef %6589)
  %6591 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6592 = trunc i8 %6591 to i1
  br i1 %6592, label %6593, label %6615

6593:                                             ; preds = %6586
  %6594 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6595 = call i32 @fileno(ptr noundef %6594) #10
  %6596 = call i32 @isatty(i32 noundef %6595) #10
  %6597 = icmp ne i32 %6596, 0
  br i1 %6597, label %6598, label %6615

6598:                                             ; preds = %6593
  %6599 = load i32, ptr %154, align 4, !tbaa !5
  %6600 = call ptr @__errno_location() #11
  store i32 %6599, ptr %6600, align 4, !tbaa !5
  %6601 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6602 = load i32, ptr @test_count, align 4, !tbaa !5
  %6603 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6604 = load i32, ptr %6603, align 4, !tbaa !5
  %6605 = call ptr @s2n_strerror(i32 noundef %6604, ptr noundef @.str.4)
  %6606 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6607 = load i32, ptr %6606, align 4, !tbaa !5
  %6608 = call ptr @s2n_strerror_debug(i32 noundef %6607, ptr noundef @.str.4)
  %6609 = call ptr @__errno_location() #11
  %6610 = load i32, ptr %6609, align 4, !tbaa !5
  %6611 = call ptr @strerror(i32 noundef %6610) #10
  %6612 = call ptr @__errno_location() #11
  %6613 = load i32, ptr %6612, align 4, !tbaa !5
  %6614 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6601, ptr noundef @.str.2, i32 noundef %6602, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 352, ptr noundef %6605, ptr noundef %6608, ptr noundef %6611, i32 noundef %6613) #10
  br label %6632

6615:                                             ; preds = %6593, %6586
  %6616 = load i32, ptr %154, align 4, !tbaa !5
  %6617 = call ptr @__errno_location() #11
  store i32 %6616, ptr %6617, align 4, !tbaa !5
  %6618 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6619 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %6621, ptr noundef @.str.4)
  %6623 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6624 = load i32, ptr %6623, align 4, !tbaa !5
  %6625 = call ptr @s2n_strerror_debug(i32 noundef %6624, ptr noundef @.str.4)
  %6626 = call ptr @__errno_location() #11
  %6627 = load i32, ptr %6626, align 4, !tbaa !5
  %6628 = call ptr @strerror(i32 noundef %6627) #10
  %6629 = call ptr @__errno_location() #11
  %6630 = load i32, ptr %6629, align 4, !tbaa !5
  %6631 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6618, ptr noundef @.str.5, i32 noundef %6619, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 352, ptr noundef %6622, ptr noundef %6625, ptr noundef %6628, i32 noundef %6630) #10
  br label %6632

6632:                                             ; preds = %6615, %6598
  call void @llvm.lifetime.end.p0(i64 4, ptr %154) #10
  br label %6633

6633:                                             ; preds = %6632
  br label %6634

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

6635:                                             ; No predecessors!
  br label %6636

6636:                                             ; preds = %6635
  br label %6637

6637:                                             ; preds = %6636, %6578
  br label %6638

6638:                                             ; preds = %6637
  br label %6639

6639:                                             ; preds = %6638
  br label %6640

6640:                                             ; preds = %6639
  %6641 = load i32, ptr @test_count, align 4, !tbaa !5
  %6642 = add nsw i32 %6641, 1
  store i32 %6642, ptr @test_count, align 4, !tbaa !5
  %6643 = load ptr, ptr %153, align 8, !tbaa !9
  %6644 = load ptr, ptr %23, align 8, !tbaa !9
  %6645 = call i32 @s2n_connection_set_config(ptr noundef %6643, ptr noundef %6644)
  %6646 = icmp eq i32 %6645, -1
  br i1 %6646, label %6647, label %6700

6647:                                             ; preds = %6640
  br label %6648

6648:                                             ; preds = %6647
  br label %6649

6649:                                             ; preds = %6648
  call void @llvm.lifetime.start.p0(i64 4, ptr %155) #10
  %6650 = call ptr @__errno_location() #11
  %6651 = load i32, ptr %6650, align 4, !tbaa !5
  store i32 %6651, ptr %155, align 4, !tbaa !5
  %6652 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6653 = call i32 @s2n_print_stacktrace(ptr noundef %6652)
  %6654 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6655 = trunc i8 %6654 to i1
  br i1 %6655, label %6656, label %6678

6656:                                             ; preds = %6649
  %6657 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6658 = call i32 @fileno(ptr noundef %6657) #10
  %6659 = call i32 @isatty(i32 noundef %6658) #10
  %6660 = icmp ne i32 %6659, 0
  br i1 %6660, label %6661, label %6678

6661:                                             ; preds = %6656
  %6662 = load i32, ptr %155, align 4, !tbaa !5
  %6663 = call ptr @__errno_location() #11
  store i32 %6662, ptr %6663, align 4, !tbaa !5
  %6664 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6665 = load i32, ptr @test_count, align 4, !tbaa !5
  %6666 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6667 = load i32, ptr %6666, align 4, !tbaa !5
  %6668 = call ptr @s2n_strerror(i32 noundef %6667, ptr noundef @.str.4)
  %6669 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6670 = load i32, ptr %6669, align 4, !tbaa !5
  %6671 = call ptr @s2n_strerror_debug(i32 noundef %6670, ptr noundef @.str.4)
  %6672 = call ptr @__errno_location() #11
  %6673 = load i32, ptr %6672, align 4, !tbaa !5
  %6674 = call ptr @strerror(i32 noundef %6673) #10
  %6675 = call ptr @__errno_location() #11
  %6676 = load i32, ptr %6675, align 4, !tbaa !5
  %6677 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6664, ptr noundef @.str.2, i32 noundef %6665, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 353, ptr noundef %6668, ptr noundef %6671, ptr noundef %6674, i32 noundef %6676) #10
  br label %6695

6678:                                             ; preds = %6656, %6649
  %6679 = load i32, ptr %155, align 4, !tbaa !5
  %6680 = call ptr @__errno_location() #11
  store i32 %6679, ptr %6680, align 4, !tbaa !5
  %6681 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6682 = load i32, ptr @test_count, align 4, !tbaa !5
  %6683 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6684 = load i32, ptr %6683, align 4, !tbaa !5
  %6685 = call ptr @s2n_strerror(i32 noundef %6684, ptr noundef @.str.4)
  %6686 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6687 = load i32, ptr %6686, align 4, !tbaa !5
  %6688 = call ptr @s2n_strerror_debug(i32 noundef %6687, ptr noundef @.str.4)
  %6689 = call ptr @__errno_location() #11
  %6690 = load i32, ptr %6689, align 4, !tbaa !5
  %6691 = call ptr @strerror(i32 noundef %6690) #10
  %6692 = call ptr @__errno_location() #11
  %6693 = load i32, ptr %6692, align 4, !tbaa !5
  %6694 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6681, ptr noundef @.str.5, i32 noundef %6682, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 353, ptr noundef %6685, ptr noundef %6688, ptr noundef %6691, i32 noundef %6693) #10
  br label %6695

6695:                                             ; preds = %6678, %6661
  call void @llvm.lifetime.end.p0(i64 4, ptr %155) #10
  br label %6696

6696:                                             ; preds = %6695
  br label %6697

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

6698:                                             ; No predecessors!
  br label %6699

6699:                                             ; preds = %6698
  br label %6700

6700:                                             ; preds = %6699, %6640
  br label %6701

6701:                                             ; preds = %6700
  br label %6702

6702:                                             ; preds = %6701
  call void @llvm.lifetime.start.p0(i64 80, ptr %156) #10
  call void @llvm.memset.p0.i64(ptr align 8 %156, i8 0, i64 80, i1 false)
  br label %6703

6703:                                             ; preds = %6702
  %6704 = load i32, ptr @test_count, align 4, !tbaa !5
  %6705 = add nsw i32 %6704, 1
  store i32 %6705, ptr @test_count, align 4, !tbaa !5
  %6706 = call i32 @s2n_io_stuffer_pair_init(ptr noundef %156)
  %6707 = getelementptr inbounds %struct.s2n_result, ptr %157, i32 0, i32 0
  store i32 %6706, ptr %6707, align 4
  %6708 = getelementptr inbounds %struct.s2n_result, ptr %157, i32 0, i32 0
  %6709 = load i32, ptr %6708, align 4
  %6710 = call zeroext i1 @s2n_result_is_ok(i32 %6709)
  br i1 %6710, label %6764, label %6711

6711:                                             ; preds = %6703
  br label %6712

6712:                                             ; preds = %6711
  br label %6713

6713:                                             ; preds = %6712
  call void @llvm.lifetime.start.p0(i64 4, ptr %158) #10
  %6714 = call ptr @__errno_location() #11
  %6715 = load i32, ptr %6714, align 4, !tbaa !5
  store i32 %6715, ptr %158, align 4, !tbaa !5
  %6716 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6717 = call i32 @s2n_print_stacktrace(ptr noundef %6716)
  %6718 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6719 = trunc i8 %6718 to i1
  br i1 %6719, label %6720, label %6742

6720:                                             ; preds = %6713
  %6721 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6722 = call i32 @fileno(ptr noundef %6721) #10
  %6723 = call i32 @isatty(i32 noundef %6722) #10
  %6724 = icmp ne i32 %6723, 0
  br i1 %6724, label %6725, label %6742

6725:                                             ; preds = %6720
  %6726 = load i32, ptr %158, align 4, !tbaa !5
  %6727 = call ptr @__errno_location() #11
  store i32 %6726, ptr %6727, align 4, !tbaa !5
  %6728 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6729 = load i32, ptr @test_count, align 4, !tbaa !5
  %6730 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6731 = load i32, ptr %6730, align 4, !tbaa !5
  %6732 = call ptr @s2n_strerror(i32 noundef %6731, ptr noundef @.str.4)
  %6733 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6734 = load i32, ptr %6733, align 4, !tbaa !5
  %6735 = call ptr @s2n_strerror_debug(i32 noundef %6734, ptr noundef @.str.4)
  %6736 = call ptr @__errno_location() #11
  %6737 = load i32, ptr %6736, align 4, !tbaa !5
  %6738 = call ptr @strerror(i32 noundef %6737) #10
  %6739 = call ptr @__errno_location() #11
  %6740 = load i32, ptr %6739, align 4, !tbaa !5
  %6741 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6728, ptr noundef @.str.2, i32 noundef %6729, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 356, ptr noundef %6732, ptr noundef %6735, ptr noundef %6738, i32 noundef %6740) #10
  br label %6759

6742:                                             ; preds = %6720, %6713
  %6743 = load i32, ptr %158, align 4, !tbaa !5
  %6744 = call ptr @__errno_location() #11
  store i32 %6743, ptr %6744, align 4, !tbaa !5
  %6745 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6746 = load i32, ptr @test_count, align 4, !tbaa !5
  %6747 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6748 = load i32, ptr %6747, align 4, !tbaa !5
  %6749 = call ptr @s2n_strerror(i32 noundef %6748, ptr noundef @.str.4)
  %6750 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6751 = load i32, ptr %6750, align 4, !tbaa !5
  %6752 = call ptr @s2n_strerror_debug(i32 noundef %6751, ptr noundef @.str.4)
  %6753 = call ptr @__errno_location() #11
  %6754 = load i32, ptr %6753, align 4, !tbaa !5
  %6755 = call ptr @strerror(i32 noundef %6754) #10
  %6756 = call ptr @__errno_location() #11
  %6757 = load i32, ptr %6756, align 4, !tbaa !5
  %6758 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6745, ptr noundef @.str.5, i32 noundef %6746, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 356, ptr noundef %6749, ptr noundef %6752, ptr noundef %6755, i32 noundef %6757) #10
  br label %6759

6759:                                             ; preds = %6742, %6725
  call void @llvm.lifetime.end.p0(i64 4, ptr %158) #10
  br label %6760

6760:                                             ; preds = %6759
  br label %6761

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

6762:                                             ; No predecessors!
  br label %6763

6763:                                             ; preds = %6762
  br label %6764

6764:                                             ; preds = %6763, %6703
  br label %6765

6765:                                             ; preds = %6764
  br label %6766

6766:                                             ; preds = %6765
  br label %6767

6767:                                             ; preds = %6766
  %6768 = load i32, ptr @test_count, align 4, !tbaa !5
  %6769 = add nsw i32 %6768, 1
  store i32 %6769, ptr @test_count, align 4, !tbaa !5
  %6770 = load ptr, ptr %153, align 8, !tbaa !9
  %6771 = load ptr, ptr %150, align 8, !tbaa !9
  %6772 = call i32 @s2n_connections_set_io_stuffer_pair(ptr noundef %6770, ptr noundef %6771, ptr noundef %156)
  %6773 = getelementptr inbounds %struct.s2n_result, ptr %159, i32 0, i32 0
  store i32 %6772, ptr %6773, align 4
  %6774 = getelementptr inbounds %struct.s2n_result, ptr %159, i32 0, i32 0
  %6775 = load i32, ptr %6774, align 4
  %6776 = call zeroext i1 @s2n_result_is_ok(i32 %6775)
  br i1 %6776, label %6830, label %6777

6777:                                             ; preds = %6767
  br label %6778

6778:                                             ; preds = %6777
  br label %6779

6779:                                             ; preds = %6778
  call void @llvm.lifetime.start.p0(i64 4, ptr %160) #10
  %6780 = call ptr @__errno_location() #11
  %6781 = load i32, ptr %6780, align 4, !tbaa !5
  store i32 %6781, ptr %160, align 4, !tbaa !5
  %6782 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6783 = call i32 @s2n_print_stacktrace(ptr noundef %6782)
  %6784 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6785 = trunc i8 %6784 to i1
  br i1 %6785, label %6786, label %6808

6786:                                             ; preds = %6779
  %6787 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6788 = call i32 @fileno(ptr noundef %6787) #10
  %6789 = call i32 @isatty(i32 noundef %6788) #10
  %6790 = icmp ne i32 %6789, 0
  br i1 %6790, label %6791, label %6808

6791:                                             ; preds = %6786
  %6792 = load i32, ptr %160, align 4, !tbaa !5
  %6793 = call ptr @__errno_location() #11
  store i32 %6792, ptr %6793, align 4, !tbaa !5
  %6794 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6795 = load i32, ptr @test_count, align 4, !tbaa !5
  %6796 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6797 = load i32, ptr %6796, align 4, !tbaa !5
  %6798 = call ptr @s2n_strerror(i32 noundef %6797, ptr noundef @.str.4)
  %6799 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6800 = load i32, ptr %6799, align 4, !tbaa !5
  %6801 = call ptr @s2n_strerror_debug(i32 noundef %6800, ptr noundef @.str.4)
  %6802 = call ptr @__errno_location() #11
  %6803 = load i32, ptr %6802, align 4, !tbaa !5
  %6804 = call ptr @strerror(i32 noundef %6803) #10
  %6805 = call ptr @__errno_location() #11
  %6806 = load i32, ptr %6805, align 4, !tbaa !5
  %6807 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6794, ptr noundef @.str.2, i32 noundef %6795, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 357, ptr noundef %6798, ptr noundef %6801, ptr noundef %6804, i32 noundef %6806) #10
  br label %6825

6808:                                             ; preds = %6786, %6779
  %6809 = load i32, ptr %160, align 4, !tbaa !5
  %6810 = call ptr @__errno_location() #11
  store i32 %6809, ptr %6810, align 4, !tbaa !5
  %6811 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6812 = load i32, ptr @test_count, align 4, !tbaa !5
  %6813 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6814 = load i32, ptr %6813, align 4, !tbaa !5
  %6815 = call ptr @s2n_strerror(i32 noundef %6814, ptr noundef @.str.4)
  %6816 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6817 = load i32, ptr %6816, align 4, !tbaa !5
  %6818 = call ptr @s2n_strerror_debug(i32 noundef %6817, ptr noundef @.str.4)
  %6819 = call ptr @__errno_location() #11
  %6820 = load i32, ptr %6819, align 4, !tbaa !5
  %6821 = call ptr @strerror(i32 noundef %6820) #10
  %6822 = call ptr @__errno_location() #11
  %6823 = load i32, ptr %6822, align 4, !tbaa !5
  %6824 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6811, ptr noundef @.str.5, i32 noundef %6812, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 357, ptr noundef %6815, ptr noundef %6818, ptr noundef %6821, i32 noundef %6823) #10
  br label %6825

6825:                                             ; preds = %6808, %6791
  call void @llvm.lifetime.end.p0(i64 4, ptr %160) #10
  br label %6826

6826:                                             ; preds = %6825
  br label %6827

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

6828:                                             ; No predecessors!
  br label %6829

6829:                                             ; preds = %6828
  br label %6830

6830:                                             ; preds = %6829, %6767
  br label %6831

6831:                                             ; preds = %6830
  br label %6832

6832:                                             ; preds = %6831
  %6833 = load i32, ptr %148, align 4, !tbaa !5
  %6834 = icmp eq i32 %6833, 0
  br i1 %6834, label %6835, label %6902

6835:                                             ; preds = %6832
  br label %6836

6836:                                             ; preds = %6835
  %6837 = load i32, ptr @test_count, align 4, !tbaa !5
  %6838 = add nsw i32 %6837, 1
  store i32 %6838, ptr @test_count, align 4, !tbaa !5
  %6839 = load ptr, ptr %150, align 8, !tbaa !9
  %6840 = load ptr, ptr %153, align 8, !tbaa !9
  %6841 = call i32 @s2n_negotiate_test_server_and_client_until_message(ptr noundef %6839, ptr noundef %6840, i32 noundef 2)
  %6842 = getelementptr inbounds %struct.s2n_result, ptr %161, i32 0, i32 0
  store i32 %6841, ptr %6842, align 4
  %6843 = getelementptr inbounds %struct.s2n_result, ptr %161, i32 0, i32 0
  %6844 = load i32, ptr %6843, align 4
  %6845 = call zeroext i1 @s2n_result_is_ok(i32 %6844)
  br i1 %6845, label %6899, label %6846

6846:                                             ; preds = %6836
  br label %6847

6847:                                             ; preds = %6846
  br label %6848

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

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

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

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

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

6895:                                             ; preds = %6894
  br label %6896

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

6897:                                             ; No predecessors!
  br label %6898

6898:                                             ; preds = %6897
  br label %6899

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

6900:                                             ; preds = %6899
  br label %6901

6901:                                             ; preds = %6900
  br label %6966

6902:                                             ; preds = %6832
  br label %6903

6903:                                             ; preds = %6902
  %6904 = load i32, ptr @test_count, align 4, !tbaa !5
  %6905 = add nsw i32 %6904, 1
  store i32 %6905, ptr @test_count, align 4, !tbaa !5
  %6906 = load ptr, ptr %150, align 8, !tbaa !9
  %6907 = load ptr, ptr %153, align 8, !tbaa !9
  %6908 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %6906, ptr noundef %6907)
  %6909 = icmp eq i32 %6908, -1
  br i1 %6909, label %6910, label %6963

6910:                                             ; preds = %6903
  br label %6911

6911:                                             ; preds = %6910
  br label %6912

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

6919:                                             ; preds = %6912
  %6920 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6921 = call i32 @fileno(ptr noundef %6920) #10
  %6922 = call i32 @isatty(i32 noundef %6921) #10
  %6923 = icmp ne i32 %6922, 0
  br i1 %6923, label %6924, label %6941

6924:                                             ; preds = %6919
  %6925 = load i32, ptr %163, align 4, !tbaa !5
  %6926 = call ptr @__errno_location() #11
  store i32 %6925, ptr %6926, align 4, !tbaa !5
  %6927 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6928 = load i32, ptr @test_count, align 4, !tbaa !5
  %6929 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6930 = load i32, ptr %6929, align 4, !tbaa !5
  %6931 = call ptr @s2n_strerror(i32 noundef %6930, ptr noundef @.str.4)
  %6932 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6933 = load i32, ptr %6932, align 4, !tbaa !5
  %6934 = call ptr @s2n_strerror_debug(i32 noundef %6933, ptr noundef @.str.4)
  %6935 = call ptr @__errno_location() #11
  %6936 = load i32, ptr %6935, align 4, !tbaa !5
  %6937 = call ptr @strerror(i32 noundef %6936) #10
  %6938 = call ptr @__errno_location() #11
  %6939 = load i32, ptr %6938, align 4, !tbaa !5
  %6940 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6927, ptr noundef @.str.2, i32 noundef %6928, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 364, ptr noundef %6931, ptr noundef %6934, ptr noundef %6937, i32 noundef %6939) #10
  br label %6958

6941:                                             ; preds = %6919, %6912
  %6942 = load i32, ptr %163, align 4, !tbaa !5
  %6943 = call ptr @__errno_location() #11
  store i32 %6942, ptr %6943, align 4, !tbaa !5
  %6944 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6945 = load i32, ptr @test_count, align 4, !tbaa !5
  %6946 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6947 = load i32, ptr %6946, align 4, !tbaa !5
  %6948 = call ptr @s2n_strerror(i32 noundef %6947, ptr noundef @.str.4)
  %6949 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6950 = load i32, ptr %6949, align 4, !tbaa !5
  %6951 = call ptr @s2n_strerror_debug(i32 noundef %6950, ptr noundef @.str.4)
  %6952 = call ptr @__errno_location() #11
  %6953 = load i32, ptr %6952, align 4, !tbaa !5
  %6954 = call ptr @strerror(i32 noundef %6953) #10
  %6955 = call ptr @__errno_location() #11
  %6956 = load i32, ptr %6955, align 4, !tbaa !5
  %6957 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6944, ptr noundef @.str.5, i32 noundef %6945, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 364, ptr noundef %6948, ptr noundef %6951, ptr noundef %6954, i32 noundef %6956) #10
  br label %6958

6958:                                             ; preds = %6941, %6924
  call void @llvm.lifetime.end.p0(i64 4, ptr %163) #10
  br label %6959

6959:                                             ; preds = %6958
  br label %6960

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

6961:                                             ; No predecessors!
  br label %6962

6962:                                             ; preds = %6961
  br label %6963

6963:                                             ; preds = %6962, %6903
  br label %6964

6964:                                             ; preds = %6963
  br label %6965

6965:                                             ; preds = %6964
  br label %6966

6966:                                             ; preds = %6965, %6901
  call void @llvm.lifetime.start.p0(i64 8, ptr %164) #10
  %6967 = load ptr, ptr %150, align 8, !tbaa !9
  store ptr %6967, ptr %164, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %165) #10
  %6968 = getelementptr inbounds %struct.s2n_test_io_stuffer_pair, ptr %156, i32 0, i32 1
  store ptr %6968, ptr %165, align 8, !tbaa !9
  %6969 = load i8, ptr %149, align 1, !tbaa !17
  %6970 = zext i8 %6969 to i32
  %6971 = icmp eq i32 %6970, 1
  br i1 %6971, label %6972, label %6975

6972:                                             ; preds = %6966
  %6973 = load ptr, ptr %153, align 8, !tbaa !9
  store ptr %6973, ptr %164, align 8, !tbaa !9
  %6974 = getelementptr inbounds %struct.s2n_test_io_stuffer_pair, ptr %156, i32 0, i32 0
  store ptr %6974, ptr %165, align 8, !tbaa !9
  br label %6975

6975:                                             ; preds = %6972, %6966
  br label %6976

6976:                                             ; preds = %6975
  %6977 = load i32, ptr @test_count, align 4, !tbaa !5
  %6978 = add nsw i32 %6977, 1
  store i32 %6978, ptr @test_count, align 4, !tbaa !5
  %6979 = load ptr, ptr %165, align 8, !tbaa !9
  %6980 = getelementptr inbounds [5 x i8], ptr %9, i64 0, i64 0
  %6981 = call i32 @s2n_stuffer_write_bytes(ptr noundef %6979, ptr noundef %6980, i32 noundef 5)
  %6982 = icmp eq i32 %6981, -1
  br i1 %6982, label %6983, label %7036

6983:                                             ; preds = %6976
  br label %6984

6984:                                             ; preds = %6983
  br label %6985

6985:                                             ; preds = %6984
  call void @llvm.lifetime.start.p0(i64 4, ptr %166) #10
  %6986 = call ptr @__errno_location() #11
  %6987 = load i32, ptr %6986, align 4, !tbaa !5
  store i32 %6987, ptr %166, align 4, !tbaa !5
  %6988 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6989 = call i32 @s2n_print_stacktrace(ptr noundef %6988)
  %6990 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6991 = trunc i8 %6990 to i1
  br i1 %6991, label %6992, label %7014

6992:                                             ; preds = %6985
  %6993 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6994 = call i32 @fileno(ptr noundef %6993) #10
  %6995 = call i32 @isatty(i32 noundef %6994) #10
  %6996 = icmp ne i32 %6995, 0
  br i1 %6996, label %6997, label %7014

6997:                                             ; preds = %6992
  %6998 = load i32, ptr %166, align 4, !tbaa !5
  %6999 = call ptr @__errno_location() #11
  store i32 %6998, ptr %6999, align 4, !tbaa !5
  %7000 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7001 = load i32, ptr @test_count, align 4, !tbaa !5
  %7002 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7003 = load i32, ptr %7002, align 4, !tbaa !5
  %7004 = call ptr @s2n_strerror(i32 noundef %7003, ptr noundef @.str.4)
  %7005 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7006 = load i32, ptr %7005, align 4, !tbaa !5
  %7007 = call ptr @s2n_strerror_debug(i32 noundef %7006, ptr noundef @.str.4)
  %7008 = call ptr @__errno_location() #11
  %7009 = load i32, ptr %7008, align 4, !tbaa !5
  %7010 = call ptr @strerror(i32 noundef %7009) #10
  %7011 = call ptr @__errno_location() #11
  %7012 = load i32, ptr %7011, align 4, !tbaa !5
  %7013 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7000, ptr noundef @.str.2, i32 noundef %7001, ptr noundef @.str.70, ptr noundef @.str.1, i32 noundef 375, ptr noundef %7004, ptr noundef %7007, ptr noundef %7010, i32 noundef %7012) #10
  br label %7031

7014:                                             ; preds = %6992, %6985
  %7015 = load i32, ptr %166, align 4, !tbaa !5
  %7016 = call ptr @__errno_location() #11
  store i32 %7015, ptr %7016, align 4, !tbaa !5
  %7017 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7018 = load i32, ptr @test_count, align 4, !tbaa !5
  %7019 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7020 = load i32, ptr %7019, align 4, !tbaa !5
  %7021 = call ptr @s2n_strerror(i32 noundef %7020, ptr noundef @.str.4)
  %7022 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7023 = load i32, ptr %7022, align 4, !tbaa !5
  %7024 = call ptr @s2n_strerror_debug(i32 noundef %7023, ptr noundef @.str.4)
  %7025 = call ptr @__errno_location() #11
  %7026 = load i32, ptr %7025, align 4, !tbaa !5
  %7027 = call ptr @strerror(i32 noundef %7026) #10
  %7028 = call ptr @__errno_location() #11
  %7029 = load i32, ptr %7028, align 4, !tbaa !5
  %7030 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7017, ptr noundef @.str.5, i32 noundef %7018, ptr noundef @.str.70, ptr noundef @.str.1, i32 noundef 375, ptr noundef %7021, ptr noundef %7024, ptr noundef %7027, i32 noundef %7029) #10
  br label %7031

7031:                                             ; preds = %7014, %6997
  call void @llvm.lifetime.end.p0(i64 4, ptr %166) #10
  br label %7032

7032:                                             ; preds = %7031
  br label %7033

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

7034:                                             ; No predecessors!
  br label %7035

7035:                                             ; preds = %7034
  br label %7036

7036:                                             ; preds = %7035, %6976
  br label %7037

7037:                                             ; preds = %7036
  br label %7038

7038:                                             ; preds = %7037
  br label %7039

7039:                                             ; preds = %7038
  %7040 = load i32, ptr @test_count, align 4, !tbaa !5
  %7041 = add nsw i32 %7040, 1
  store i32 %7041, ptr @test_count, align 4, !tbaa !5
  %7042 = load ptr, ptr %165, align 8, !tbaa !9
  %7043 = getelementptr inbounds [2 x i8], ptr %10, i64 0, i64 0
  %7044 = call i32 @s2n_stuffer_write_bytes(ptr noundef %7042, ptr noundef %7043, i32 noundef 2)
  %7045 = icmp eq i32 %7044, -1
  br i1 %7045, label %7046, label %7099

7046:                                             ; preds = %7039
  br label %7047

7047:                                             ; preds = %7046
  br label %7048

7048:                                             ; preds = %7047
  call void @llvm.lifetime.start.p0(i64 4, ptr %167) #10
  %7049 = call ptr @__errno_location() #11
  %7050 = load i32, ptr %7049, align 4, !tbaa !5
  store i32 %7050, ptr %167, align 4, !tbaa !5
  %7051 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7052 = call i32 @s2n_print_stacktrace(ptr noundef %7051)
  %7053 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7054 = trunc i8 %7053 to i1
  br i1 %7054, label %7055, label %7077

7055:                                             ; preds = %7048
  %7056 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7057 = call i32 @fileno(ptr noundef %7056) #10
  %7058 = call i32 @isatty(i32 noundef %7057) #10
  %7059 = icmp ne i32 %7058, 0
  br i1 %7059, label %7060, label %7077

7060:                                             ; preds = %7055
  %7061 = load i32, ptr %167, align 4, !tbaa !5
  %7062 = call ptr @__errno_location() #11
  store i32 %7061, ptr %7062, align 4, !tbaa !5
  %7063 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7064 = load i32, ptr @test_count, align 4, !tbaa !5
  %7065 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7066 = load i32, ptr %7065, align 4, !tbaa !5
  %7067 = call ptr @s2n_strerror(i32 noundef %7066, ptr noundef @.str.4)
  %7068 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7069 = load i32, ptr %7068, align 4, !tbaa !5
  %7070 = call ptr @s2n_strerror_debug(i32 noundef %7069, ptr noundef @.str.4)
  %7071 = call ptr @__errno_location() #11
  %7072 = load i32, ptr %7071, align 4, !tbaa !5
  %7073 = call ptr @strerror(i32 noundef %7072) #10
  %7074 = call ptr @__errno_location() #11
  %7075 = load i32, ptr %7074, align 4, !tbaa !5
  %7076 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7063, ptr noundef @.str.2, i32 noundef %7064, ptr noundef @.str.71, ptr noundef @.str.1, i32 noundef 376, ptr noundef %7067, ptr noundef %7070, ptr noundef %7073, i32 noundef %7075) #10
  br label %7094

7077:                                             ; preds = %7055, %7048
  %7078 = load i32, ptr %167, align 4, !tbaa !5
  %7079 = call ptr @__errno_location() #11
  store i32 %7078, ptr %7079, align 4, !tbaa !5
  %7080 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7081 = load i32, ptr @test_count, align 4, !tbaa !5
  %7082 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7083 = load i32, ptr %7082, align 4, !tbaa !5
  %7084 = call ptr @s2n_strerror(i32 noundef %7083, ptr noundef @.str.4)
  %7085 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7086 = load i32, ptr %7085, align 4, !tbaa !5
  %7087 = call ptr @s2n_strerror_debug(i32 noundef %7086, ptr noundef @.str.4)
  %7088 = call ptr @__errno_location() #11
  %7089 = load i32, ptr %7088, align 4, !tbaa !5
  %7090 = call ptr @strerror(i32 noundef %7089) #10
  %7091 = call ptr @__errno_location() #11
  %7092 = load i32, ptr %7091, align 4, !tbaa !5
  %7093 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7080, ptr noundef @.str.5, i32 noundef %7081, ptr noundef @.str.71, ptr noundef @.str.1, i32 noundef 376, ptr noundef %7084, ptr noundef %7087, ptr noundef %7090, i32 noundef %7092) #10
  br label %7094

7094:                                             ; preds = %7077, %7060
  call void @llvm.lifetime.end.p0(i64 4, ptr %167) #10
  br label %7095

7095:                                             ; preds = %7094
  br label %7096

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

7097:                                             ; No predecessors!
  br label %7098

7098:                                             ; preds = %7097
  br label %7099

7099:                                             ; preds = %7098, %7039
  br label %7100

7100:                                             ; preds = %7099
  br label %7101

7101:                                             ; preds = %7100
  call void @llvm.lifetime.start.p0(i64 4, ptr %168) #10
  store i32 0, ptr %168, align 4, !tbaa !5
  %7102 = load i32, ptr %148, align 4, !tbaa !5
  %7103 = icmp eq i32 %7102, 0
  br i1 %7103, label %7104, label %7303

7104:                                             ; preds = %7101
  br label %7105

7105:                                             ; preds = %7104
  br label %7106

7106:                                             ; preds = %7105
  br label %7107

7107:                                             ; preds = %7106
  %7108 = load i32, ptr @test_count, align 4, !tbaa !5
  %7109 = add nsw i32 %7108, 1
  store i32 %7109, ptr @test_count, align 4, !tbaa !5
  %7110 = load ptr, ptr %164, align 8, !tbaa !9
  %7111 = call i32 @s2n_negotiate(ptr noundef %7110, ptr noundef %168)
  %7112 = icmp eq i32 %7111, -1
  br i1 %7112, label %7166, label %7113

7113:                                             ; preds = %7107
  br label %7114

7114:                                             ; preds = %7113
  br label %7115

7115:                                             ; preds = %7114
  call void @llvm.lifetime.start.p0(i64 4, ptr %169) #10
  %7116 = call ptr @__errno_location() #11
  %7117 = load i32, ptr %7116, align 4, !tbaa !5
  store i32 %7117, ptr %169, align 4, !tbaa !5
  %7118 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7119 = call i32 @s2n_print_stacktrace(ptr noundef %7118)
  %7120 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7121 = trunc i8 %7120 to i1
  br i1 %7121, label %7122, label %7144

7122:                                             ; preds = %7115
  %7123 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7124 = call i32 @fileno(ptr noundef %7123) #10
  %7125 = call i32 @isatty(i32 noundef %7124) #10
  %7126 = icmp ne i32 %7125, 0
  br i1 %7126, label %7127, label %7144

7127:                                             ; preds = %7122
  %7128 = load i32, ptr %169, align 4, !tbaa !5
  %7129 = call ptr @__errno_location() #11
  store i32 %7128, ptr %7129, align 4, !tbaa !5
  %7130 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7131 = load i32, ptr @test_count, align 4, !tbaa !5
  %7132 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7133 = load i32, ptr %7132, align 4, !tbaa !5
  %7134 = call ptr @s2n_strerror(i32 noundef %7133, ptr noundef @.str.4)
  %7135 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7136 = load i32, ptr %7135, align 4, !tbaa !5
  %7137 = call ptr @s2n_strerror_debug(i32 noundef %7136, ptr noundef @.str.4)
  %7138 = call ptr @__errno_location() #11
  %7139 = load i32, ptr %7138, align 4, !tbaa !5
  %7140 = call ptr @strerror(i32 noundef %7139) #10
  %7141 = call ptr @__errno_location() #11
  %7142 = load i32, ptr %7141, align 4, !tbaa !5
  %7143 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7130, ptr noundef @.str.2, i32 noundef %7131, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 381, ptr noundef %7134, ptr noundef %7137, ptr noundef %7140, i32 noundef %7142) #10
  br label %7161

7144:                                             ; preds = %7122, %7115
  %7145 = load i32, ptr %169, align 4, !tbaa !5
  %7146 = call ptr @__errno_location() #11
  store i32 %7145, ptr %7146, align 4, !tbaa !5
  %7147 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7148 = load i32, ptr @test_count, align 4, !tbaa !5
  %7149 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7150 = load i32, ptr %7149, align 4, !tbaa !5
  %7151 = call ptr @s2n_strerror(i32 noundef %7150, ptr noundef @.str.4)
  %7152 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7153 = load i32, ptr %7152, align 4, !tbaa !5
  %7154 = call ptr @s2n_strerror_debug(i32 noundef %7153, ptr noundef @.str.4)
  %7155 = call ptr @__errno_location() #11
  %7156 = load i32, ptr %7155, align 4, !tbaa !5
  %7157 = call ptr @strerror(i32 noundef %7156) #10
  %7158 = call ptr @__errno_location() #11
  %7159 = load i32, ptr %7158, align 4, !tbaa !5
  %7160 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7147, ptr noundef @.str.5, i32 noundef %7148, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 381, ptr noundef %7151, ptr noundef %7154, ptr noundef %7157, i32 noundef %7159) #10
  br label %7161

7161:                                             ; preds = %7144, %7127
  call void @llvm.lifetime.end.p0(i64 4, ptr %169) #10
  br label %7162

7162:                                             ; preds = %7161
  br label %7163

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

7164:                                             ; No predecessors!
  br label %7165

7165:                                             ; preds = %7164
  br label %7166

7166:                                             ; preds = %7165, %7107
  br label %7167

7167:                                             ; preds = %7166
  br label %7168

7168:                                             ; preds = %7167
  br label %7169

7169:                                             ; preds = %7168
  %7170 = load i32, ptr @test_count, align 4, !tbaa !5
  %7171 = add nsw i32 %7170, 1
  store i32 %7171, ptr @test_count, align 4, !tbaa !5
  %7172 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7173 = load i32, ptr %7172, align 4, !tbaa !5
  %7174 = icmp eq i32 %7173, 134217728
  br i1 %7174, label %7228, label %7175

7175:                                             ; preds = %7169
  br label %7176

7176:                                             ; preds = %7175
  br label %7177

7177:                                             ; preds = %7176
  call void @llvm.lifetime.start.p0(i64 4, ptr %170) #10
  %7178 = call ptr @__errno_location() #11
  %7179 = load i32, ptr %7178, align 4, !tbaa !5
  store i32 %7179, ptr %170, align 4, !tbaa !5
  %7180 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7181 = call i32 @s2n_print_stacktrace(ptr noundef %7180)
  %7182 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7183 = trunc i8 %7182 to i1
  br i1 %7183, label %7184, label %7206

7184:                                             ; preds = %7177
  %7185 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7186 = call i32 @fileno(ptr noundef %7185) #10
  %7187 = call i32 @isatty(i32 noundef %7186) #10
  %7188 = icmp ne i32 %7187, 0
  br i1 %7188, label %7189, label %7206

7189:                                             ; preds = %7184
  %7190 = load i32, ptr %170, align 4, !tbaa !5
  %7191 = call ptr @__errno_location() #11
  store i32 %7190, ptr %7191, align 4, !tbaa !5
  %7192 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7193 = load i32, ptr @test_count, align 4, !tbaa !5
  %7194 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7195 = load i32, ptr %7194, align 4, !tbaa !5
  %7196 = call ptr @s2n_strerror(i32 noundef %7195, ptr noundef @.str.4)
  %7197 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7198 = load i32, ptr %7197, align 4, !tbaa !5
  %7199 = call ptr @s2n_strerror_debug(i32 noundef %7198, ptr noundef @.str.4)
  %7200 = call ptr @__errno_location() #11
  %7201 = load i32, ptr %7200, align 4, !tbaa !5
  %7202 = call ptr @strerror(i32 noundef %7201) #10
  %7203 = call ptr @__errno_location() #11
  %7204 = load i32, ptr %7203, align 4, !tbaa !5
  %7205 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7192, ptr noundef @.str.2, i32 noundef %7193, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 381, ptr noundef %7196, ptr noundef %7199, ptr noundef %7202, i32 noundef %7204) #10
  br label %7223

7206:                                             ; preds = %7184, %7177
  %7207 = load i32, ptr %170, align 4, !tbaa !5
  %7208 = call ptr @__errno_location() #11
  store i32 %7207, ptr %7208, align 4, !tbaa !5
  %7209 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7210 = load i32, ptr @test_count, align 4, !tbaa !5
  %7211 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7212 = load i32, ptr %7211, align 4, !tbaa !5
  %7213 = call ptr @s2n_strerror(i32 noundef %7212, ptr noundef @.str.4)
  %7214 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7215 = load i32, ptr %7214, align 4, !tbaa !5
  %7216 = call ptr @s2n_strerror_debug(i32 noundef %7215, ptr noundef @.str.4)
  %7217 = call ptr @__errno_location() #11
  %7218 = load i32, ptr %7217, align 4, !tbaa !5
  %7219 = call ptr @strerror(i32 noundef %7218) #10
  %7220 = call ptr @__errno_location() #11
  %7221 = load i32, ptr %7220, align 4, !tbaa !5
  %7222 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7209, ptr noundef @.str.5, i32 noundef %7210, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 381, ptr noundef %7213, ptr noundef %7216, ptr noundef %7219, i32 noundef %7221) #10
  br label %7223

7223:                                             ; preds = %7206, %7189
  call void @llvm.lifetime.end.p0(i64 4, ptr %170) #10
  br label %7224

7224:                                             ; preds = %7223
  br label %7225

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

7226:                                             ; No predecessors!
  br label %7227

7227:                                             ; preds = %7226
  br label %7228

7228:                                             ; preds = %7227, %7169
  br label %7229

7229:                                             ; preds = %7228
  br label %7230

7230:                                             ; preds = %7229
  br label %7231

7231:                                             ; preds = %7230
  %7232 = load i32, ptr @test_count, align 4, !tbaa !5
  %7233 = add nsw i32 %7232, 1
  store i32 %7233, ptr @test_count, align 4, !tbaa !5
  %7234 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7235 = load i32, ptr %7234, align 4, !tbaa !5
  %7236 = call ptr @s2n_strerror_debug(i32 noundef %7235, ptr noundef @.str.4)
  %7237 = icmp eq ptr %7236, null
  br i1 %7237, label %7238, label %7291

7238:                                             ; preds = %7231
  br label %7239

7239:                                             ; preds = %7238
  br label %7240

7240:                                             ; preds = %7239
  call void @llvm.lifetime.start.p0(i64 4, ptr %171) #10
  %7241 = call ptr @__errno_location() #11
  %7242 = load i32, ptr %7241, align 4, !tbaa !5
  store i32 %7242, ptr %171, align 4, !tbaa !5
  %7243 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7244 = call i32 @s2n_print_stacktrace(ptr noundef %7243)
  %7245 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7246 = trunc i8 %7245 to i1
  br i1 %7246, label %7247, label %7269

7247:                                             ; preds = %7240
  %7248 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7249 = call i32 @fileno(ptr noundef %7248) #10
  %7250 = call i32 @isatty(i32 noundef %7249) #10
  %7251 = icmp ne i32 %7250, 0
  br i1 %7251, label %7252, label %7269

7252:                                             ; preds = %7247
  %7253 = load i32, ptr %171, align 4, !tbaa !5
  %7254 = call ptr @__errno_location() #11
  store i32 %7253, ptr %7254, align 4, !tbaa !5
  %7255 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7256 = load i32, ptr @test_count, align 4, !tbaa !5
  %7257 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7258 = load i32, ptr %7257, align 4, !tbaa !5
  %7259 = call ptr @s2n_strerror(i32 noundef %7258, ptr noundef @.str.4)
  %7260 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7261 = load i32, ptr %7260, align 4, !tbaa !5
  %7262 = call ptr @s2n_strerror_debug(i32 noundef %7261, ptr noundef @.str.4)
  %7263 = call ptr @__errno_location() #11
  %7264 = load i32, ptr %7263, align 4, !tbaa !5
  %7265 = call ptr @strerror(i32 noundef %7264) #10
  %7266 = call ptr @__errno_location() #11
  %7267 = load i32, ptr %7266, align 4, !tbaa !5
  %7268 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7255, ptr noundef @.str.2, i32 noundef %7256, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 381, ptr noundef %7259, ptr noundef %7262, ptr noundef %7265, i32 noundef %7267) #10
  br label %7286

7269:                                             ; preds = %7247, %7240
  %7270 = load i32, ptr %171, align 4, !tbaa !5
  %7271 = call ptr @__errno_location() #11
  store i32 %7270, ptr %7271, align 4, !tbaa !5
  %7272 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7273 = load i32, ptr @test_count, align 4, !tbaa !5
  %7274 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7275 = load i32, ptr %7274, align 4, !tbaa !5
  %7276 = call ptr @s2n_strerror(i32 noundef %7275, ptr noundef @.str.4)
  %7277 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7278 = load i32, ptr %7277, align 4, !tbaa !5
  %7279 = call ptr @s2n_strerror_debug(i32 noundef %7278, ptr noundef @.str.4)
  %7280 = call ptr @__errno_location() #11
  %7281 = load i32, ptr %7280, align 4, !tbaa !5
  %7282 = call ptr @strerror(i32 noundef %7281) #10
  %7283 = call ptr @__errno_location() #11
  %7284 = load i32, ptr %7283, align 4, !tbaa !5
  %7285 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7272, ptr noundef @.str.5, i32 noundef %7273, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 381, ptr noundef %7276, ptr noundef %7279, ptr noundef %7282, i32 noundef %7284) #10
  br label %7286

7286:                                             ; preds = %7269, %7252
  call void @llvm.lifetime.end.p0(i64 4, ptr %171) #10
  br label %7287

7287:                                             ; preds = %7286
  br label %7288

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

7289:                                             ; No predecessors!
  br label %7290

7290:                                             ; preds = %7289
  br label %7291

7291:                                             ; preds = %7290, %7231
  br label %7292

7292:                                             ; preds = %7291
  br label %7293

7293:                                             ; preds = %7292
  br label %7294

7294:                                             ; preds = %7293
  br label %7295

7295:                                             ; preds = %7294
  br label %7296

7296:                                             ; preds = %7295
  %7297 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %7297, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %7298 = call ptr @__errno_location() #11
  store i32 0, ptr %7298, align 4, !tbaa !5
  br label %7299

7299:                                             ; preds = %7296
  br label %7300

7300:                                             ; preds = %7299
  br label %7301

7301:                                             ; preds = %7300
  br label %7302

7302:                                             ; preds = %7301
  br label %7428

7303:                                             ; preds = %7101
  br label %7304

7304:                                             ; preds = %7303
  %7305 = load i32, ptr @test_count, align 4, !tbaa !5
  %7306 = add nsw i32 %7305, 1
  store i32 %7306, ptr @test_count, align 4, !tbaa !5
  %7307 = load ptr, ptr %164, align 8, !tbaa !9
  %7308 = getelementptr inbounds [6 x i8], ptr %11, i64 0, i64 0
  %7309 = call i64 @s2n_recv(ptr noundef %7307, ptr noundef %7308, i64 noundef 6, ptr noundef %168)
  %7310 = icmp eq i64 %7309, 0
  br i1 %7310, label %7364, label %7311

7311:                                             ; preds = %7304
  br label %7312

7312:                                             ; preds = %7311
  br label %7313

7313:                                             ; preds = %7312
  call void @llvm.lifetime.start.p0(i64 4, ptr %172) #10
  %7314 = call ptr @__errno_location() #11
  %7315 = load i32, ptr %7314, align 4, !tbaa !5
  store i32 %7315, ptr %172, align 4, !tbaa !5
  %7316 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7317 = call i32 @s2n_print_stacktrace(ptr noundef %7316)
  %7318 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7319 = trunc i8 %7318 to i1
  br i1 %7319, label %7320, label %7342

7320:                                             ; preds = %7313
  %7321 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7322 = call i32 @fileno(ptr noundef %7321) #10
  %7323 = call i32 @isatty(i32 noundef %7322) #10
  %7324 = icmp ne i32 %7323, 0
  br i1 %7324, label %7325, label %7342

7325:                                             ; preds = %7320
  %7326 = load i32, ptr %172, align 4, !tbaa !5
  %7327 = call ptr @__errno_location() #11
  store i32 %7326, ptr %7327, align 4, !tbaa !5
  %7328 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7329 = load i32, ptr @test_count, align 4, !tbaa !5
  %7330 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7331 = load i32, ptr %7330, align 4, !tbaa !5
  %7332 = call ptr @s2n_strerror(i32 noundef %7331, ptr noundef @.str.4)
  %7333 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7334 = load i32, ptr %7333, align 4, !tbaa !5
  %7335 = call ptr @s2n_strerror_debug(i32 noundef %7334, ptr noundef @.str.4)
  %7336 = call ptr @__errno_location() #11
  %7337 = load i32, ptr %7336, align 4, !tbaa !5
  %7338 = call ptr @strerror(i32 noundef %7337) #10
  %7339 = call ptr @__errno_location() #11
  %7340 = load i32, ptr %7339, align 4, !tbaa !5
  %7341 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7328, ptr noundef @.str.2, i32 noundef %7329, ptr noundef @.str.72, ptr noundef @.str.1, i32 noundef 383, ptr noundef %7332, ptr noundef %7335, ptr noundef %7338, i32 noundef %7340) #10
  br label %7359

7342:                                             ; preds = %7320, %7313
  %7343 = load i32, ptr %172, align 4, !tbaa !5
  %7344 = call ptr @__errno_location() #11
  store i32 %7343, ptr %7344, align 4, !tbaa !5
  %7345 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7346 = load i32, ptr @test_count, align 4, !tbaa !5
  %7347 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7348 = load i32, ptr %7347, align 4, !tbaa !5
  %7349 = call ptr @s2n_strerror(i32 noundef %7348, ptr noundef @.str.4)
  %7350 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7351 = load i32, ptr %7350, align 4, !tbaa !5
  %7352 = call ptr @s2n_strerror_debug(i32 noundef %7351, ptr noundef @.str.4)
  %7353 = call ptr @__errno_location() #11
  %7354 = load i32, ptr %7353, align 4, !tbaa !5
  %7355 = call ptr @strerror(i32 noundef %7354) #10
  %7356 = call ptr @__errno_location() #11
  %7357 = load i32, ptr %7356, align 4, !tbaa !5
  %7358 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7345, ptr noundef @.str.5, i32 noundef %7346, ptr noundef @.str.72, ptr noundef @.str.1, i32 noundef 383, ptr noundef %7349, ptr noundef %7352, ptr noundef %7355, i32 noundef %7357) #10
  br label %7359

7359:                                             ; preds = %7342, %7325
  call void @llvm.lifetime.end.p0(i64 4, ptr %172) #10
  br label %7360

7360:                                             ; preds = %7359
  br label %7361

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

7362:                                             ; No predecessors!
  br label %7363

7363:                                             ; preds = %7362
  br label %7364

7364:                                             ; preds = %7363, %7304
  br label %7365

7365:                                             ; preds = %7364
  br label %7366

7366:                                             ; preds = %7365
  br label %7367

7367:                                             ; preds = %7366
  %7368 = load i32, ptr @test_count, align 4, !tbaa !5
  %7369 = add nsw i32 %7368, 1
  store i32 %7369, ptr @test_count, align 4, !tbaa !5
  %7370 = load i32, ptr %168, align 4, !tbaa !5
  %7371 = icmp eq i32 %7370, 0
  br i1 %7371, label %7425, label %7372

7372:                                             ; preds = %7367
  br label %7373

7373:                                             ; preds = %7372
  br label %7374

7374:                                             ; preds = %7373
  call void @llvm.lifetime.start.p0(i64 4, ptr %173) #10
  %7375 = call ptr @__errno_location() #11
  %7376 = load i32, ptr %7375, align 4, !tbaa !5
  store i32 %7376, ptr %173, align 4, !tbaa !5
  %7377 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7378 = call i32 @s2n_print_stacktrace(ptr noundef %7377)
  %7379 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7380 = trunc i8 %7379 to i1
  br i1 %7380, label %7381, label %7403

7381:                                             ; preds = %7374
  %7382 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7383 = call i32 @fileno(ptr noundef %7382) #10
  %7384 = call i32 @isatty(i32 noundef %7383) #10
  %7385 = icmp ne i32 %7384, 0
  br i1 %7385, label %7386, label %7403

7386:                                             ; preds = %7381
  %7387 = load i32, ptr %173, align 4, !tbaa !5
  %7388 = call ptr @__errno_location() #11
  store i32 %7387, ptr %7388, align 4, !tbaa !5
  %7389 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7390 = load i32, ptr @test_count, align 4, !tbaa !5
  %7391 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7392 = load i32, ptr %7391, align 4, !tbaa !5
  %7393 = call ptr @s2n_strerror(i32 noundef %7392, ptr noundef @.str.4)
  %7394 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7395 = load i32, ptr %7394, align 4, !tbaa !5
  %7396 = call ptr @s2n_strerror_debug(i32 noundef %7395, ptr noundef @.str.4)
  %7397 = call ptr @__errno_location() #11
  %7398 = load i32, ptr %7397, align 4, !tbaa !5
  %7399 = call ptr @strerror(i32 noundef %7398) #10
  %7400 = call ptr @__errno_location() #11
  %7401 = load i32, ptr %7400, align 4, !tbaa !5
  %7402 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7389, ptr noundef @.str.2, i32 noundef %7390, ptr noundef @.str.65, ptr noundef @.str.1, i32 noundef 384, ptr noundef %7393, ptr noundef %7396, ptr noundef %7399, i32 noundef %7401) #10
  br label %7420

7403:                                             ; preds = %7381, %7374
  %7404 = load i32, ptr %173, align 4, !tbaa !5
  %7405 = call ptr @__errno_location() #11
  store i32 %7404, ptr %7405, align 4, !tbaa !5
  %7406 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7407 = load i32, ptr @test_count, align 4, !tbaa !5
  %7408 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7409 = load i32, ptr %7408, align 4, !tbaa !5
  %7410 = call ptr @s2n_strerror(i32 noundef %7409, ptr noundef @.str.4)
  %7411 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7412 = load i32, ptr %7411, align 4, !tbaa !5
  %7413 = call ptr @s2n_strerror_debug(i32 noundef %7412, ptr noundef @.str.4)
  %7414 = call ptr @__errno_location() #11
  %7415 = load i32, ptr %7414, align 4, !tbaa !5
  %7416 = call ptr @strerror(i32 noundef %7415) #10
  %7417 = call ptr @__errno_location() #11
  %7418 = load i32, ptr %7417, align 4, !tbaa !5
  %7419 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7406, ptr noundef @.str.5, i32 noundef %7407, ptr noundef @.str.65, ptr noundef @.str.1, i32 noundef 384, ptr noundef %7410, ptr noundef %7413, ptr noundef %7416, i32 noundef %7418) #10
  br label %7420

7420:                                             ; preds = %7403, %7386
  call void @llvm.lifetime.end.p0(i64 4, ptr %173) #10
  br label %7421

7421:                                             ; preds = %7420
  br label %7422

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

7423:                                             ; No predecessors!
  br label %7424

7424:                                             ; preds = %7423
  br label %7425

7425:                                             ; preds = %7424, %7367
  br label %7426

7426:                                             ; preds = %7425
  br label %7427

7427:                                             ; preds = %7426
  br label %7428

7428:                                             ; preds = %7427, %7302
  br label %7429

7429:                                             ; preds = %7428
  %7430 = load i32, ptr @test_count, align 4, !tbaa !5
  %7431 = add nsw i32 %7430, 1
  store i32 %7431, ptr @test_count, align 4, !tbaa !5
  %7432 = load ptr, ptr %164, align 8, !tbaa !9
  %7433 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %7432, i32 noundef 1)
  br i1 %7433, label %7434, label %7487

7434:                                             ; preds = %7429
  br label %7435

7435:                                             ; preds = %7434
  br label %7436

7436:                                             ; preds = %7435
  call void @llvm.lifetime.start.p0(i64 4, ptr %174) #10
  %7437 = call ptr @__errno_location() #11
  %7438 = load i32, ptr %7437, align 4, !tbaa !5
  store i32 %7438, ptr %174, align 4, !tbaa !5
  %7439 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7440 = call i32 @s2n_print_stacktrace(ptr noundef %7439)
  %7441 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7442 = trunc i8 %7441 to i1
  br i1 %7442, label %7443, label %7465

7443:                                             ; preds = %7436
  %7444 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7445 = call i32 @fileno(ptr noundef %7444) #10
  %7446 = call i32 @isatty(i32 noundef %7445) #10
  %7447 = icmp ne i32 %7446, 0
  br i1 %7447, label %7448, label %7465

7448:                                             ; preds = %7443
  %7449 = load i32, ptr %174, align 4, !tbaa !5
  %7450 = call ptr @__errno_location() #11
  store i32 %7449, ptr %7450, align 4, !tbaa !5
  %7451 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7452 = load i32, ptr @test_count, align 4, !tbaa !5
  %7453 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7454 = load i32, ptr %7453, align 4, !tbaa !5
  %7455 = call ptr @s2n_strerror(i32 noundef %7454, ptr noundef @.str.4)
  %7456 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7457 = load i32, ptr %7456, align 4, !tbaa !5
  %7458 = call ptr @s2n_strerror_debug(i32 noundef %7457, ptr noundef @.str.4)
  %7459 = call ptr @__errno_location() #11
  %7460 = load i32, ptr %7459, align 4, !tbaa !5
  %7461 = call ptr @strerror(i32 noundef %7460) #10
  %7462 = call ptr @__errno_location() #11
  %7463 = load i32, ptr %7462, align 4, !tbaa !5
  %7464 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7451, ptr noundef @.str.2, i32 noundef %7452, ptr noundef @.str.73, ptr noundef @.str.1, i32 noundef 386, ptr noundef %7455, ptr noundef %7458, ptr noundef %7461, i32 noundef %7463) #10
  br label %7482

7465:                                             ; preds = %7443, %7436
  %7466 = load i32, ptr %174, align 4, !tbaa !5
  %7467 = call ptr @__errno_location() #11
  store i32 %7466, ptr %7467, align 4, !tbaa !5
  %7468 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7469 = load i32, ptr @test_count, align 4, !tbaa !5
  %7470 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7471 = load i32, ptr %7470, align 4, !tbaa !5
  %7472 = call ptr @s2n_strerror(i32 noundef %7471, ptr noundef @.str.4)
  %7473 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7474 = load i32, ptr %7473, align 4, !tbaa !5
  %7475 = call ptr @s2n_strerror_debug(i32 noundef %7474, ptr noundef @.str.4)
  %7476 = call ptr @__errno_location() #11
  %7477 = load i32, ptr %7476, align 4, !tbaa !5
  %7478 = call ptr @strerror(i32 noundef %7477) #10
  %7479 = call ptr @__errno_location() #11
  %7480 = load i32, ptr %7479, align 4, !tbaa !5
  %7481 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7468, ptr noundef @.str.5, i32 noundef %7469, ptr noundef @.str.73, ptr noundef @.str.1, i32 noundef 386, ptr noundef %7472, ptr noundef %7475, ptr noundef %7478, i32 noundef %7480) #10
  br label %7482

7482:                                             ; preds = %7465, %7448
  call void @llvm.lifetime.end.p0(i64 4, ptr %174) #10
  br label %7483

7483:                                             ; preds = %7482
  br label %7484

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

7485:                                             ; No predecessors!
  br label %7486

7486:                                             ; preds = %7485
  br label %7487

7487:                                             ; preds = %7486, %7429
  br label %7488

7488:                                             ; preds = %7487
  br label %7489

7489:                                             ; preds = %7488
  br label %7490

7490:                                             ; preds = %7489
  %7491 = load i32, ptr @test_count, align 4, !tbaa !5
  %7492 = add nsw i32 %7491, 1
  store i32 %7492, ptr @test_count, align 4, !tbaa !5
  %7493 = load ptr, ptr %165, align 8, !tbaa !9
  %7494 = getelementptr inbounds [6 x i8], ptr %11, i64 0, i64 0
  %7495 = call i32 @s2n_stuffer_write_bytes(ptr noundef %7493, ptr noundef %7494, i32 noundef 6)
  %7496 = icmp eq i32 %7495, -1
  br i1 %7496, label %7497, label %7550

7497:                                             ; preds = %7490
  br label %7498

7498:                                             ; preds = %7497
  br label %7499

7499:                                             ; preds = %7498
  call void @llvm.lifetime.start.p0(i64 4, ptr %175) #10
  %7500 = call ptr @__errno_location() #11
  %7501 = load i32, ptr %7500, align 4, !tbaa !5
  store i32 %7501, ptr %175, align 4, !tbaa !5
  %7502 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7503 = call i32 @s2n_print_stacktrace(ptr noundef %7502)
  %7504 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7505 = trunc i8 %7504 to i1
  br i1 %7505, label %7506, label %7528

7506:                                             ; preds = %7499
  %7507 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7508 = call i32 @fileno(ptr noundef %7507) #10
  %7509 = call i32 @isatty(i32 noundef %7508) #10
  %7510 = icmp ne i32 %7509, 0
  br i1 %7510, label %7511, label %7528

7511:                                             ; preds = %7506
  %7512 = load i32, ptr %175, align 4, !tbaa !5
  %7513 = call ptr @__errno_location() #11
  store i32 %7512, ptr %7513, align 4, !tbaa !5
  %7514 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7515 = load i32, ptr @test_count, align 4, !tbaa !5
  %7516 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7517 = load i32, ptr %7516, align 4, !tbaa !5
  %7518 = call ptr @s2n_strerror(i32 noundef %7517, ptr noundef @.str.4)
  %7519 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7520 = load i32, ptr %7519, align 4, !tbaa !5
  %7521 = call ptr @s2n_strerror_debug(i32 noundef %7520, ptr noundef @.str.4)
  %7522 = call ptr @__errno_location() #11
  %7523 = load i32, ptr %7522, align 4, !tbaa !5
  %7524 = call ptr @strerror(i32 noundef %7523) #10
  %7525 = call ptr @__errno_location() #11
  %7526 = load i32, ptr %7525, align 4, !tbaa !5
  %7527 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7514, ptr noundef @.str.2, i32 noundef %7515, ptr noundef @.str.74, ptr noundef @.str.1, i32 noundef 393, ptr noundef %7518, ptr noundef %7521, ptr noundef %7524, i32 noundef %7526) #10
  br label %7545

7528:                                             ; preds = %7506, %7499
  %7529 = load i32, ptr %175, align 4, !tbaa !5
  %7530 = call ptr @__errno_location() #11
  store i32 %7529, ptr %7530, align 4, !tbaa !5
  %7531 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7532 = load i32, ptr @test_count, align 4, !tbaa !5
  %7533 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7534 = load i32, ptr %7533, align 4, !tbaa !5
  %7535 = call ptr @s2n_strerror(i32 noundef %7534, ptr noundef @.str.4)
  %7536 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7537 = load i32, ptr %7536, align 4, !tbaa !5
  %7538 = call ptr @s2n_strerror_debug(i32 noundef %7537, ptr noundef @.str.4)
  %7539 = call ptr @__errno_location() #11
  %7540 = load i32, ptr %7539, align 4, !tbaa !5
  %7541 = call ptr @strerror(i32 noundef %7540) #10
  %7542 = call ptr @__errno_location() #11
  %7543 = load i32, ptr %7542, align 4, !tbaa !5
  %7544 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7531, ptr noundef @.str.5, i32 noundef %7532, ptr noundef @.str.74, ptr noundef @.str.1, i32 noundef 393, ptr noundef %7535, ptr noundef %7538, ptr noundef %7541, i32 noundef %7543) #10
  br label %7545

7545:                                             ; preds = %7528, %7511
  call void @llvm.lifetime.end.p0(i64 4, ptr %175) #10
  br label %7546

7546:                                             ; preds = %7545
  br label %7547

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

7548:                                             ; No predecessors!
  br label %7549

7549:                                             ; preds = %7548
  br label %7550

7550:                                             ; preds = %7549, %7490
  br label %7551

7551:                                             ; preds = %7550
  br label %7552

7552:                                             ; preds = %7551
  %7553 = load i32, ptr %148, align 4, !tbaa !5
  %7554 = icmp eq i32 %7553, 0
  br i1 %7554, label %7555, label %7754

7555:                                             ; preds = %7552
  br label %7556

7556:                                             ; preds = %7555
  br label %7557

7557:                                             ; preds = %7556
  br label %7558

7558:                                             ; preds = %7557
  %7559 = load i32, ptr @test_count, align 4, !tbaa !5
  %7560 = add nsw i32 %7559, 1
  store i32 %7560, ptr @test_count, align 4, !tbaa !5
  %7561 = load ptr, ptr %164, align 8, !tbaa !9
  %7562 = call i32 @s2n_negotiate(ptr noundef %7561, ptr noundef %168)
  %7563 = icmp eq i32 %7562, -1
  br i1 %7563, label %7617, label %7564

7564:                                             ; preds = %7558
  br label %7565

7565:                                             ; preds = %7564
  br label %7566

7566:                                             ; preds = %7565
  call void @llvm.lifetime.start.p0(i64 4, ptr %176) #10
  %7567 = call ptr @__errno_location() #11
  %7568 = load i32, ptr %7567, align 4, !tbaa !5
  store i32 %7568, ptr %176, align 4, !tbaa !5
  %7569 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7570 = call i32 @s2n_print_stacktrace(ptr noundef %7569)
  %7571 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7572 = trunc i8 %7571 to i1
  br i1 %7572, label %7573, label %7595

7573:                                             ; preds = %7566
  %7574 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7575 = call i32 @fileno(ptr noundef %7574) #10
  %7576 = call i32 @isatty(i32 noundef %7575) #10
  %7577 = icmp ne i32 %7576, 0
  br i1 %7577, label %7578, label %7595

7578:                                             ; preds = %7573
  %7579 = load i32, ptr %176, align 4, !tbaa !5
  %7580 = call ptr @__errno_location() #11
  store i32 %7579, ptr %7580, align 4, !tbaa !5
  %7581 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7582 = load i32, ptr @test_count, align 4, !tbaa !5
  %7583 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7584 = load i32, ptr %7583, align 4, !tbaa !5
  %7585 = call ptr @s2n_strerror(i32 noundef %7584, ptr noundef @.str.4)
  %7586 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7587 = load i32, ptr %7586, align 4, !tbaa !5
  %7588 = call ptr @s2n_strerror_debug(i32 noundef %7587, ptr noundef @.str.4)
  %7589 = call ptr @__errno_location() #11
  %7590 = load i32, ptr %7589, align 4, !tbaa !5
  %7591 = call ptr @strerror(i32 noundef %7590) #10
  %7592 = call ptr @__errno_location() #11
  %7593 = load i32, ptr %7592, align 4, !tbaa !5
  %7594 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7581, ptr noundef @.str.2, i32 noundef %7582, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 395, ptr noundef %7585, ptr noundef %7588, ptr noundef %7591, i32 noundef %7593) #10
  br label %7612

7595:                                             ; preds = %7573, %7566
  %7596 = load i32, ptr %176, align 4, !tbaa !5
  %7597 = call ptr @__errno_location() #11
  store i32 %7596, ptr %7597, align 4, !tbaa !5
  %7598 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7599 = load i32, ptr @test_count, align 4, !tbaa !5
  %7600 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7601 = load i32, ptr %7600, align 4, !tbaa !5
  %7602 = call ptr @s2n_strerror(i32 noundef %7601, ptr noundef @.str.4)
  %7603 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7604 = load i32, ptr %7603, align 4, !tbaa !5
  %7605 = call ptr @s2n_strerror_debug(i32 noundef %7604, ptr noundef @.str.4)
  %7606 = call ptr @__errno_location() #11
  %7607 = load i32, ptr %7606, align 4, !tbaa !5
  %7608 = call ptr @strerror(i32 noundef %7607) #10
  %7609 = call ptr @__errno_location() #11
  %7610 = load i32, ptr %7609, align 4, !tbaa !5
  %7611 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7598, ptr noundef @.str.5, i32 noundef %7599, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 395, ptr noundef %7602, ptr noundef %7605, ptr noundef %7608, i32 noundef %7610) #10
  br label %7612

7612:                                             ; preds = %7595, %7578
  call void @llvm.lifetime.end.p0(i64 4, ptr %176) #10
  br label %7613

7613:                                             ; preds = %7612
  br label %7614

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

7615:                                             ; No predecessors!
  br label %7616

7616:                                             ; preds = %7615
  br label %7617

7617:                                             ; preds = %7616, %7558
  br label %7618

7618:                                             ; preds = %7617
  br label %7619

7619:                                             ; preds = %7618
  br label %7620

7620:                                             ; preds = %7619
  %7621 = load i32, ptr @test_count, align 4, !tbaa !5
  %7622 = add nsw i32 %7621, 1
  store i32 %7622, ptr @test_count, align 4, !tbaa !5
  %7623 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7624 = load i32, ptr %7623, align 4, !tbaa !5
  %7625 = icmp eq i32 %7624, 134217728
  br i1 %7625, label %7679, label %7626

7626:                                             ; preds = %7620
  br label %7627

7627:                                             ; preds = %7626
  br label %7628

7628:                                             ; preds = %7627
  call void @llvm.lifetime.start.p0(i64 4, ptr %177) #10
  %7629 = call ptr @__errno_location() #11
  %7630 = load i32, ptr %7629, align 4, !tbaa !5
  store i32 %7630, ptr %177, align 4, !tbaa !5
  %7631 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7632 = call i32 @s2n_print_stacktrace(ptr noundef %7631)
  %7633 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7634 = trunc i8 %7633 to i1
  br i1 %7634, label %7635, label %7657

7635:                                             ; preds = %7628
  %7636 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7637 = call i32 @fileno(ptr noundef %7636) #10
  %7638 = call i32 @isatty(i32 noundef %7637) #10
  %7639 = icmp ne i32 %7638, 0
  br i1 %7639, label %7640, label %7657

7640:                                             ; preds = %7635
  %7641 = load i32, ptr %177, align 4, !tbaa !5
  %7642 = call ptr @__errno_location() #11
  store i32 %7641, ptr %7642, align 4, !tbaa !5
  %7643 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7644 = load i32, ptr @test_count, align 4, !tbaa !5
  %7645 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7646 = load i32, ptr %7645, align 4, !tbaa !5
  %7647 = call ptr @s2n_strerror(i32 noundef %7646, ptr noundef @.str.4)
  %7648 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7649 = load i32, ptr %7648, align 4, !tbaa !5
  %7650 = call ptr @s2n_strerror_debug(i32 noundef %7649, ptr noundef @.str.4)
  %7651 = call ptr @__errno_location() #11
  %7652 = load i32, ptr %7651, align 4, !tbaa !5
  %7653 = call ptr @strerror(i32 noundef %7652) #10
  %7654 = call ptr @__errno_location() #11
  %7655 = load i32, ptr %7654, align 4, !tbaa !5
  %7656 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7643, ptr noundef @.str.2, i32 noundef %7644, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 395, ptr noundef %7647, ptr noundef %7650, ptr noundef %7653, i32 noundef %7655) #10
  br label %7674

7657:                                             ; preds = %7635, %7628
  %7658 = load i32, ptr %177, align 4, !tbaa !5
  %7659 = call ptr @__errno_location() #11
  store i32 %7658, ptr %7659, align 4, !tbaa !5
  %7660 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7661 = load i32, ptr @test_count, align 4, !tbaa !5
  %7662 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7663 = load i32, ptr %7662, align 4, !tbaa !5
  %7664 = call ptr @s2n_strerror(i32 noundef %7663, ptr noundef @.str.4)
  %7665 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7666 = load i32, ptr %7665, align 4, !tbaa !5
  %7667 = call ptr @s2n_strerror_debug(i32 noundef %7666, ptr noundef @.str.4)
  %7668 = call ptr @__errno_location() #11
  %7669 = load i32, ptr %7668, align 4, !tbaa !5
  %7670 = call ptr @strerror(i32 noundef %7669) #10
  %7671 = call ptr @__errno_location() #11
  %7672 = load i32, ptr %7671, align 4, !tbaa !5
  %7673 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7660, ptr noundef @.str.5, i32 noundef %7661, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 395, ptr noundef %7664, ptr noundef %7667, ptr noundef %7670, i32 noundef %7672) #10
  br label %7674

7674:                                             ; preds = %7657, %7640
  call void @llvm.lifetime.end.p0(i64 4, ptr %177) #10
  br label %7675

7675:                                             ; preds = %7674
  br label %7676

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

7677:                                             ; No predecessors!
  br label %7678

7678:                                             ; preds = %7677
  br label %7679

7679:                                             ; preds = %7678, %7620
  br label %7680

7680:                                             ; preds = %7679
  br label %7681

7681:                                             ; preds = %7680
  br label %7682

7682:                                             ; preds = %7681
  %7683 = load i32, ptr @test_count, align 4, !tbaa !5
  %7684 = add nsw i32 %7683, 1
  store i32 %7684, ptr @test_count, align 4, !tbaa !5
  %7685 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7686 = load i32, ptr %7685, align 4, !tbaa !5
  %7687 = call ptr @s2n_strerror_debug(i32 noundef %7686, ptr noundef @.str.4)
  %7688 = icmp eq ptr %7687, null
  br i1 %7688, label %7689, label %7742

7689:                                             ; preds = %7682
  br label %7690

7690:                                             ; preds = %7689
  br label %7691

7691:                                             ; preds = %7690
  call void @llvm.lifetime.start.p0(i64 4, ptr %178) #10
  %7692 = call ptr @__errno_location() #11
  %7693 = load i32, ptr %7692, align 4, !tbaa !5
  store i32 %7693, ptr %178, 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 %178, 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.35, ptr noundef @.str.1, i32 noundef 395, ptr noundef %7710, ptr noundef %7713, ptr noundef %7716, i32 noundef %7718) #10
  br label %7737

7720:                                             ; preds = %7698, %7691
  %7721 = load i32, ptr %178, 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.35, ptr noundef @.str.1, i32 noundef 395, 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 %178) #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, %7682
  br label %7743

7743:                                             ; preds = %7742
  br label %7744

7744:                                             ; preds = %7743
  br label %7745

7745:                                             ; preds = %7744
  br label %7746

7746:                                             ; preds = %7745
  br label %7747

7747:                                             ; preds = %7746
  %7748 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %7748, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %7749 = call ptr @__errno_location() #11
  store i32 0, ptr %7749, align 4, !tbaa !5
  br label %7750

7750:                                             ; preds = %7747
  br label %7751

7751:                                             ; preds = %7750
  br label %7752

7752:                                             ; preds = %7751
  br label %7753

7753:                                             ; preds = %7752
  br label %7879

7754:                                             ; preds = %7552
  br label %7755

7755:                                             ; preds = %7754
  %7756 = load i32, ptr @test_count, align 4, !tbaa !5
  %7757 = add nsw i32 %7756, 1
  store i32 %7757, ptr @test_count, align 4, !tbaa !5
  %7758 = load ptr, ptr %164, align 8, !tbaa !9
  %7759 = getelementptr inbounds [6 x i8], ptr %11, i64 0, i64 0
  %7760 = call i64 @s2n_recv(ptr noundef %7758, ptr noundef %7759, i64 noundef 6, ptr noundef %168)
  %7761 = icmp eq i64 %7760, 0
  br i1 %7761, label %7815, label %7762

7762:                                             ; preds = %7755
  br label %7763

7763:                                             ; preds = %7762
  br label %7764

7764:                                             ; preds = %7763
  call void @llvm.lifetime.start.p0(i64 4, ptr %179) #10
  %7765 = call ptr @__errno_location() #11
  %7766 = load i32, ptr %7765, align 4, !tbaa !5
  store i32 %7766, ptr %179, align 4, !tbaa !5
  %7767 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7768 = call i32 @s2n_print_stacktrace(ptr noundef %7767)
  %7769 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7770 = trunc i8 %7769 to i1
  br i1 %7770, label %7771, label %7793

7771:                                             ; preds = %7764
  %7772 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7773 = call i32 @fileno(ptr noundef %7772) #10
  %7774 = call i32 @isatty(i32 noundef %7773) #10
  %7775 = icmp ne i32 %7774, 0
  br i1 %7775, label %7776, label %7793

7776:                                             ; preds = %7771
  %7777 = load i32, ptr %179, align 4, !tbaa !5
  %7778 = call ptr @__errno_location() #11
  store i32 %7777, ptr %7778, align 4, !tbaa !5
  %7779 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7780 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %7782, ptr noundef @.str.4)
  %7784 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7785 = load i32, ptr %7784, align 4, !tbaa !5
  %7786 = call ptr @s2n_strerror_debug(i32 noundef %7785, ptr noundef @.str.4)
  %7787 = call ptr @__errno_location() #11
  %7788 = load i32, ptr %7787, align 4, !tbaa !5
  %7789 = call ptr @strerror(i32 noundef %7788) #10
  %7790 = call ptr @__errno_location() #11
  %7791 = load i32, ptr %7790, align 4, !tbaa !5
  %7792 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7779, ptr noundef @.str.2, i32 noundef %7780, ptr noundef @.str.72, ptr noundef @.str.1, i32 noundef 397, ptr noundef %7783, ptr noundef %7786, ptr noundef %7789, i32 noundef %7791) #10
  br label %7810

7793:                                             ; preds = %7771, %7764
  %7794 = load i32, ptr %179, align 4, !tbaa !5
  %7795 = call ptr @__errno_location() #11
  store i32 %7794, ptr %7795, align 4, !tbaa !5
  %7796 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7797 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %7799, ptr noundef @.str.4)
  %7801 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7802 = load i32, ptr %7801, align 4, !tbaa !5
  %7803 = call ptr @s2n_strerror_debug(i32 noundef %7802, ptr noundef @.str.4)
  %7804 = call ptr @__errno_location() #11
  %7805 = load i32, ptr %7804, align 4, !tbaa !5
  %7806 = call ptr @strerror(i32 noundef %7805) #10
  %7807 = call ptr @__errno_location() #11
  %7808 = load i32, ptr %7807, align 4, !tbaa !5
  %7809 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7796, ptr noundef @.str.5, i32 noundef %7797, ptr noundef @.str.72, ptr noundef @.str.1, i32 noundef 397, ptr noundef %7800, ptr noundef %7803, ptr noundef %7806, i32 noundef %7808) #10
  br label %7810

7810:                                             ; preds = %7793, %7776
  call void @llvm.lifetime.end.p0(i64 4, ptr %179) #10
  br label %7811

7811:                                             ; preds = %7810
  br label %7812

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

7813:                                             ; No predecessors!
  br label %7814

7814:                                             ; preds = %7813
  br label %7815

7815:                                             ; preds = %7814, %7755
  br label %7816

7816:                                             ; preds = %7815
  br label %7817

7817:                                             ; preds = %7816
  br label %7818

7818:                                             ; preds = %7817
  %7819 = load i32, ptr @test_count, align 4, !tbaa !5
  %7820 = add nsw i32 %7819, 1
  store i32 %7820, ptr @test_count, align 4, !tbaa !5
  %7821 = load i32, ptr %168, align 4, !tbaa !5
  %7822 = icmp eq i32 %7821, 0
  br i1 %7822, label %7876, label %7823

7823:                                             ; preds = %7818
  br label %7824

7824:                                             ; preds = %7823
  br label %7825

7825:                                             ; preds = %7824
  call void @llvm.lifetime.start.p0(i64 4, ptr %180) #10
  %7826 = call ptr @__errno_location() #11
  %7827 = load i32, ptr %7826, align 4, !tbaa !5
  store i32 %7827, ptr %180, align 4, !tbaa !5
  %7828 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7829 = call i32 @s2n_print_stacktrace(ptr noundef %7828)
  %7830 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7831 = trunc i8 %7830 to i1
  br i1 %7831, label %7832, label %7854

7832:                                             ; preds = %7825
  %7833 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7834 = call i32 @fileno(ptr noundef %7833) #10
  %7835 = call i32 @isatty(i32 noundef %7834) #10
  %7836 = icmp ne i32 %7835, 0
  br i1 %7836, label %7837, label %7854

7837:                                             ; preds = %7832
  %7838 = load i32, ptr %180, align 4, !tbaa !5
  %7839 = call ptr @__errno_location() #11
  store i32 %7838, ptr %7839, align 4, !tbaa !5
  %7840 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7841 = load i32, ptr @test_count, align 4, !tbaa !5
  %7842 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7843 = load i32, ptr %7842, align 4, !tbaa !5
  %7844 = call ptr @s2n_strerror(i32 noundef %7843, ptr noundef @.str.4)
  %7845 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7846 = load i32, ptr %7845, align 4, !tbaa !5
  %7847 = call ptr @s2n_strerror_debug(i32 noundef %7846, ptr noundef @.str.4)
  %7848 = call ptr @__errno_location() #11
  %7849 = load i32, ptr %7848, align 4, !tbaa !5
  %7850 = call ptr @strerror(i32 noundef %7849) #10
  %7851 = call ptr @__errno_location() #11
  %7852 = load i32, ptr %7851, align 4, !tbaa !5
  %7853 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7840, ptr noundef @.str.2, i32 noundef %7841, ptr noundef @.str.65, ptr noundef @.str.1, i32 noundef 398, ptr noundef %7844, ptr noundef %7847, ptr noundef %7850, i32 noundef %7852) #10
  br label %7871

7854:                                             ; preds = %7832, %7825
  %7855 = load i32, ptr %180, align 4, !tbaa !5
  %7856 = call ptr @__errno_location() #11
  store i32 %7855, ptr %7856, align 4, !tbaa !5
  %7857 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7858 = load i32, ptr @test_count, align 4, !tbaa !5
  %7859 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7860 = load i32, ptr %7859, align 4, !tbaa !5
  %7861 = call ptr @s2n_strerror(i32 noundef %7860, ptr noundef @.str.4)
  %7862 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7863 = load i32, ptr %7862, align 4, !tbaa !5
  %7864 = call ptr @s2n_strerror_debug(i32 noundef %7863, ptr noundef @.str.4)
  %7865 = call ptr @__errno_location() #11
  %7866 = load i32, ptr %7865, align 4, !tbaa !5
  %7867 = call ptr @strerror(i32 noundef %7866) #10
  %7868 = call ptr @__errno_location() #11
  %7869 = load i32, ptr %7868, align 4, !tbaa !5
  %7870 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7857, ptr noundef @.str.5, i32 noundef %7858, ptr noundef @.str.65, ptr noundef @.str.1, i32 noundef 398, ptr noundef %7861, ptr noundef %7864, ptr noundef %7867, i32 noundef %7869) #10
  br label %7871

7871:                                             ; preds = %7854, %7837
  call void @llvm.lifetime.end.p0(i64 4, ptr %180) #10
  br label %7872

7872:                                             ; preds = %7871
  br label %7873

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

7874:                                             ; No predecessors!
  br label %7875

7875:                                             ; preds = %7874
  br label %7876

7876:                                             ; preds = %7875, %7818
  br label %7877

7877:                                             ; preds = %7876
  br label %7878

7878:                                             ; preds = %7877
  br label %7879

7879:                                             ; preds = %7878, %7753
  call void @llvm.lifetime.end.p0(i64 4, ptr %168) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %165) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %164) #10
  %7880 = call i32 @s2n_io_stuffer_pair_free(ptr noundef %156)
  %7881 = getelementptr inbounds %struct.s2n_result, ptr %181, i32 0, i32 0
  store i32 %7880, ptr %7881, align 4
  call void @llvm.lifetime.end.p0(i64 80, ptr %156) #10
  %7882 = call i32 @s2n_connection_ptr_free(ptr noundef %153)
  %7883 = getelementptr inbounds %struct.s2n_result, ptr %182, i32 0, i32 0
  store i32 %7882, ptr %7883, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %153) #10
  %7884 = call i32 @s2n_connection_ptr_free(ptr noundef %150)
  %7885 = getelementptr inbounds %struct.s2n_result, ptr %183, i32 0, i32 0
  store i32 %7884, ptr %7885, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %150) #10
  br label %7886

7886:                                             ; preds = %7879
  %7887 = load i8, ptr %149, align 1, !tbaa !17
  %7888 = add i8 %7887, 1
  store i8 %7888, ptr %149, align 1, !tbaa !17
  br label %6445, !llvm.loop !55

7889:                                             ; preds = %6449
  br label %7890

7890:                                             ; preds = %7889
  %7891 = load i32, ptr %148, align 4, !tbaa !5
  %7892 = add i32 %7891, 1
  store i32 %7892, ptr %148, align 4, !tbaa !5
  br label %6440, !llvm.loop !56

7893:                                             ; preds = %6443
  call void @llvm.lifetime.start.p0(i64 1, ptr %184) #10
  store i8 0, ptr %184, align 1, !tbaa !17
  br label %7894

7894:                                             ; preds = %9104, %7893
  %7895 = load i8, ptr %184, align 1, !tbaa !17
  %7896 = zext i8 %7895 to i32
  %7897 = icmp slt i32 %7896, 2
  br i1 %7897, label %7899, label %7898

7898:                                             ; preds = %7894
  store i32 821, ptr %16, align 4
  call void @llvm.lifetime.end.p0(i64 1, ptr %184) #10
  br label %9107

7899:                                             ; preds = %7894
  call void @llvm.lifetime.start.p0(i64 8, ptr %185) #10
  %7900 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %7900, ptr %185, align 8, !tbaa !9
  br label %7901

7901:                                             ; preds = %7899
  %7902 = load i32, ptr @test_count, align 4, !tbaa !5
  %7903 = add nsw i32 %7902, 1
  store i32 %7903, ptr @test_count, align 4, !tbaa !5
  %7904 = load ptr, ptr %185, align 8, !tbaa !9
  %7905 = call i32 @s2n_connection_set_blinding(ptr noundef %7904, i32 noundef 1)
  %7906 = icmp eq i32 %7905, -1
  br i1 %7906, label %7907, label %7960

7907:                                             ; preds = %7901
  br label %7908

7908:                                             ; preds = %7907
  br label %7909

7909:                                             ; preds = %7908
  call void @llvm.lifetime.start.p0(i64 4, ptr %186) #10
  %7910 = call ptr @__errno_location() #11
  %7911 = load i32, ptr %7910, align 4, !tbaa !5
  store i32 %7911, ptr %186, align 4, !tbaa !5
  %7912 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7913 = call i32 @s2n_print_stacktrace(ptr noundef %7912)
  %7914 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7915 = trunc i8 %7914 to i1
  br i1 %7915, label %7916, label %7938

7916:                                             ; preds = %7909
  %7917 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7918 = call i32 @fileno(ptr noundef %7917) #10
  %7919 = call i32 @isatty(i32 noundef %7918) #10
  %7920 = icmp ne i32 %7919, 0
  br i1 %7920, label %7921, label %7938

7921:                                             ; preds = %7916
  %7922 = load i32, ptr %186, align 4, !tbaa !5
  %7923 = call ptr @__errno_location() #11
  store i32 %7922, ptr %7923, align 4, !tbaa !5
  %7924 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7925 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %7927, ptr noundef @.str.4)
  %7929 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7930 = load i32, ptr %7929, align 4, !tbaa !5
  %7931 = call ptr @s2n_strerror_debug(i32 noundef %7930, ptr noundef @.str.4)
  %7932 = call ptr @__errno_location() #11
  %7933 = load i32, ptr %7932, align 4, !tbaa !5
  %7934 = call ptr @strerror(i32 noundef %7933) #10
  %7935 = call ptr @__errno_location() #11
  %7936 = load i32, ptr %7935, align 4, !tbaa !5
  %7937 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7924, ptr noundef @.str.2, i32 noundef %7925, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 414, ptr noundef %7928, ptr noundef %7931, ptr noundef %7934, i32 noundef %7936) #10
  br label %7955

7938:                                             ; preds = %7916, %7909
  %7939 = load i32, ptr %186, align 4, !tbaa !5
  %7940 = call ptr @__errno_location() #11
  store i32 %7939, ptr %7940, align 4, !tbaa !5
  %7941 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7942 = load i32, ptr @test_count, align 4, !tbaa !5
  %7943 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7944 = load i32, ptr %7943, align 4, !tbaa !5
  %7945 = call ptr @s2n_strerror(i32 noundef %7944, ptr noundef @.str.4)
  %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 = call ptr @__errno_location() #11
  %7950 = load i32, ptr %7949, align 4, !tbaa !5
  %7951 = call ptr @strerror(i32 noundef %7950) #10
  %7952 = call ptr @__errno_location() #11
  %7953 = load i32, ptr %7952, align 4, !tbaa !5
  %7954 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7941, ptr noundef @.str.5, i32 noundef %7942, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 414, ptr noundef %7945, ptr noundef %7948, ptr noundef %7951, i32 noundef %7953) #10
  br label %7955

7955:                                             ; preds = %7938, %7921
  call void @llvm.lifetime.end.p0(i64 4, ptr %186) #10
  br label %7956

7956:                                             ; preds = %7955
  br label %7957

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

7958:                                             ; No predecessors!
  br label %7959

7959:                                             ; preds = %7958
  br label %7960

7960:                                             ; preds = %7959, %7901
  br label %7961

7961:                                             ; preds = %7960
  br label %7962

7962:                                             ; preds = %7961
  br label %7963

7963:                                             ; preds = %7962
  %7964 = load i32, ptr @test_count, align 4, !tbaa !5
  %7965 = add nsw i32 %7964, 1
  store i32 %7965, ptr @test_count, align 4, !tbaa !5
  %7966 = load ptr, ptr %185, align 8, !tbaa !9
  %7967 = load ptr, ptr %23, align 8, !tbaa !9
  %7968 = call i32 @s2n_connection_set_config(ptr noundef %7966, ptr noundef %7967)
  %7969 = icmp eq i32 %7968, -1
  br i1 %7969, label %7970, label %8023

7970:                                             ; preds = %7963
  br label %7971

7971:                                             ; preds = %7970
  br label %7972

7972:                                             ; preds = %7971
  call void @llvm.lifetime.start.p0(i64 4, ptr %187) #10
  %7973 = call ptr @__errno_location() #11
  %7974 = load i32, ptr %7973, align 4, !tbaa !5
  store i32 %7974, ptr %187, align 4, !tbaa !5
  %7975 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7976 = call i32 @s2n_print_stacktrace(ptr noundef %7975)
  %7977 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7978 = trunc i8 %7977 to i1
  br i1 %7978, label %7979, label %8001

7979:                                             ; preds = %7972
  %7980 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7981 = call i32 @fileno(ptr noundef %7980) #10
  %7982 = call i32 @isatty(i32 noundef %7981) #10
  %7983 = icmp ne i32 %7982, 0
  br i1 %7983, label %7984, label %8001

7984:                                             ; preds = %7979
  %7985 = load i32, ptr %187, align 4, !tbaa !5
  %7986 = call ptr @__errno_location() #11
  store i32 %7985, ptr %7986, align 4, !tbaa !5
  %7987 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7988 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %7990, ptr noundef @.str.4)
  %7992 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7993 = load i32, ptr %7992, align 4, !tbaa !5
  %7994 = call ptr @s2n_strerror_debug(i32 noundef %7993, ptr noundef @.str.4)
  %7995 = call ptr @__errno_location() #11
  %7996 = load i32, ptr %7995, align 4, !tbaa !5
  %7997 = call ptr @strerror(i32 noundef %7996) #10
  %7998 = call ptr @__errno_location() #11
  %7999 = load i32, ptr %7998, align 4, !tbaa !5
  %8000 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7987, ptr noundef @.str.2, i32 noundef %7988, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 415, ptr noundef %7991, ptr noundef %7994, ptr noundef %7997, i32 noundef %7999) #10
  br label %8018

8001:                                             ; preds = %7979, %7972
  %8002 = load i32, ptr %187, align 4, !tbaa !5
  %8003 = call ptr @__errno_location() #11
  store i32 %8002, ptr %8003, align 4, !tbaa !5
  %8004 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8005 = load i32, ptr @test_count, align 4, !tbaa !5
  %8006 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8007 = load i32, ptr %8006, align 4, !tbaa !5
  %8008 = call ptr @s2n_strerror(i32 noundef %8007, ptr noundef @.str.4)
  %8009 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8010 = load i32, ptr %8009, align 4, !tbaa !5
  %8011 = call ptr @s2n_strerror_debug(i32 noundef %8010, ptr noundef @.str.4)
  %8012 = call ptr @__errno_location() #11
  %8013 = load i32, ptr %8012, align 4, !tbaa !5
  %8014 = call ptr @strerror(i32 noundef %8013) #10
  %8015 = call ptr @__errno_location() #11
  %8016 = load i32, ptr %8015, align 4, !tbaa !5
  %8017 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8004, ptr noundef @.str.5, i32 noundef %8005, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 415, ptr noundef %8008, ptr noundef %8011, ptr noundef %8014, i32 noundef %8016) #10
  br label %8018

8018:                                             ; preds = %8001, %7984
  call void @llvm.lifetime.end.p0(i64 4, ptr %187) #10
  br label %8019

8019:                                             ; preds = %8018
  br label %8020

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

8021:                                             ; No predecessors!
  br label %8022

8022:                                             ; preds = %8021
  br label %8023

8023:                                             ; preds = %8022, %7963
  br label %8024

8024:                                             ; preds = %8023
  br label %8025

8025:                                             ; preds = %8024
  call void @llvm.lifetime.start.p0(i64 8, ptr %188) #10
  %8026 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %8026, ptr %188, align 8, !tbaa !9
  br label %8027

8027:                                             ; preds = %8025
  %8028 = load i32, ptr @test_count, align 4, !tbaa !5
  %8029 = add nsw i32 %8028, 1
  store i32 %8029, ptr @test_count, align 4, !tbaa !5
  %8030 = load ptr, ptr %188, align 8, !tbaa !9
  %8031 = call i32 @s2n_connection_set_blinding(ptr noundef %8030, i32 noundef 1)
  %8032 = icmp eq i32 %8031, -1
  br i1 %8032, label %8033, label %8086

8033:                                             ; preds = %8027
  br label %8034

8034:                                             ; preds = %8033
  br label %8035

8035:                                             ; preds = %8034
  call void @llvm.lifetime.start.p0(i64 4, ptr %189) #10
  %8036 = call ptr @__errno_location() #11
  %8037 = load i32, ptr %8036, align 4, !tbaa !5
  store i32 %8037, ptr %189, align 4, !tbaa !5
  %8038 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8039 = call i32 @s2n_print_stacktrace(ptr noundef %8038)
  %8040 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8041 = trunc i8 %8040 to i1
  br i1 %8041, label %8042, label %8064

8042:                                             ; preds = %8035
  %8043 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8044 = call i32 @fileno(ptr noundef %8043) #10
  %8045 = call i32 @isatty(i32 noundef %8044) #10
  %8046 = icmp ne i32 %8045, 0
  br i1 %8046, label %8047, label %8064

8047:                                             ; preds = %8042
  %8048 = load i32, ptr %189, align 4, !tbaa !5
  %8049 = call ptr @__errno_location() #11
  store i32 %8048, ptr %8049, align 4, !tbaa !5
  %8050 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8051 = load i32, ptr @test_count, align 4, !tbaa !5
  %8052 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8053 = load i32, ptr %8052, align 4, !tbaa !5
  %8054 = call ptr @s2n_strerror(i32 noundef %8053, ptr noundef @.str.4)
  %8055 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8056 = load i32, ptr %8055, align 4, !tbaa !5
  %8057 = call ptr @s2n_strerror_debug(i32 noundef %8056, ptr noundef @.str.4)
  %8058 = call ptr @__errno_location() #11
  %8059 = load i32, ptr %8058, align 4, !tbaa !5
  %8060 = call ptr @strerror(i32 noundef %8059) #10
  %8061 = call ptr @__errno_location() #11
  %8062 = load i32, ptr %8061, align 4, !tbaa !5
  %8063 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8050, ptr noundef @.str.2, i32 noundef %8051, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 419, ptr noundef %8054, ptr noundef %8057, ptr noundef %8060, i32 noundef %8062) #10
  br label %8081

8064:                                             ; preds = %8042, %8035
  %8065 = load i32, ptr %189, align 4, !tbaa !5
  %8066 = call ptr @__errno_location() #11
  store i32 %8065, ptr %8066, align 4, !tbaa !5
  %8067 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8068 = load i32, ptr @test_count, align 4, !tbaa !5
  %8069 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8070 = load i32, ptr %8069, align 4, !tbaa !5
  %8071 = call ptr @s2n_strerror(i32 noundef %8070, ptr noundef @.str.4)
  %8072 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8073 = load i32, ptr %8072, align 4, !tbaa !5
  %8074 = call ptr @s2n_strerror_debug(i32 noundef %8073, ptr noundef @.str.4)
  %8075 = call ptr @__errno_location() #11
  %8076 = load i32, ptr %8075, align 4, !tbaa !5
  %8077 = call ptr @strerror(i32 noundef %8076) #10
  %8078 = call ptr @__errno_location() #11
  %8079 = load i32, ptr %8078, align 4, !tbaa !5
  %8080 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8067, ptr noundef @.str.5, i32 noundef %8068, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 419, ptr noundef %8071, ptr noundef %8074, ptr noundef %8077, i32 noundef %8079) #10
  br label %8081

8081:                                             ; preds = %8064, %8047
  call void @llvm.lifetime.end.p0(i64 4, ptr %189) #10
  br label %8082

8082:                                             ; preds = %8081
  br label %8083

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

8084:                                             ; No predecessors!
  br label %8085

8085:                                             ; preds = %8084
  br label %8086

8086:                                             ; preds = %8085, %8027
  br label %8087

8087:                                             ; preds = %8086
  br label %8088

8088:                                             ; preds = %8087
  br label %8089

8089:                                             ; preds = %8088
  %8090 = load i32, ptr @test_count, align 4, !tbaa !5
  %8091 = add nsw i32 %8090, 1
  store i32 %8091, ptr @test_count, align 4, !tbaa !5
  %8092 = load ptr, ptr %188, align 8, !tbaa !9
  %8093 = load ptr, ptr %23, align 8, !tbaa !9
  %8094 = call i32 @s2n_connection_set_config(ptr noundef %8092, ptr noundef %8093)
  %8095 = icmp eq i32 %8094, -1
  br i1 %8095, label %8096, label %8149

8096:                                             ; preds = %8089
  br label %8097

8097:                                             ; preds = %8096
  br label %8098

8098:                                             ; preds = %8097
  call void @llvm.lifetime.start.p0(i64 4, ptr %190) #10
  %8099 = call ptr @__errno_location() #11
  %8100 = load i32, ptr %8099, align 4, !tbaa !5
  store i32 %8100, ptr %190, align 4, !tbaa !5
  %8101 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8102 = call i32 @s2n_print_stacktrace(ptr noundef %8101)
  %8103 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8104 = trunc i8 %8103 to i1
  br i1 %8104, label %8105, label %8127

8105:                                             ; preds = %8098
  %8106 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8107 = call i32 @fileno(ptr noundef %8106) #10
  %8108 = call i32 @isatty(i32 noundef %8107) #10
  %8109 = icmp ne i32 %8108, 0
  br i1 %8109, label %8110, label %8127

8110:                                             ; preds = %8105
  %8111 = load i32, ptr %190, align 4, !tbaa !5
  %8112 = call ptr @__errno_location() #11
  store i32 %8111, ptr %8112, align 4, !tbaa !5
  %8113 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8114 = load i32, ptr @test_count, align 4, !tbaa !5
  %8115 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8116 = load i32, ptr %8115, align 4, !tbaa !5
  %8117 = call ptr @s2n_strerror(i32 noundef %8116, ptr noundef @.str.4)
  %8118 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8119 = load i32, ptr %8118, align 4, !tbaa !5
  %8120 = call ptr @s2n_strerror_debug(i32 noundef %8119, ptr noundef @.str.4)
  %8121 = call ptr @__errno_location() #11
  %8122 = load i32, ptr %8121, align 4, !tbaa !5
  %8123 = call ptr @strerror(i32 noundef %8122) #10
  %8124 = call ptr @__errno_location() #11
  %8125 = load i32, ptr %8124, align 4, !tbaa !5
  %8126 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8113, ptr noundef @.str.2, i32 noundef %8114, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 420, ptr noundef %8117, ptr noundef %8120, ptr noundef %8123, i32 noundef %8125) #10
  br label %8144

8127:                                             ; preds = %8105, %8098
  %8128 = load i32, ptr %190, align 4, !tbaa !5
  %8129 = call ptr @__errno_location() #11
  store i32 %8128, ptr %8129, align 4, !tbaa !5
  %8130 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8131 = load i32, ptr @test_count, align 4, !tbaa !5
  %8132 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8133 = load i32, ptr %8132, align 4, !tbaa !5
  %8134 = call ptr @s2n_strerror(i32 noundef %8133, ptr noundef @.str.4)
  %8135 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8136 = load i32, ptr %8135, align 4, !tbaa !5
  %8137 = call ptr @s2n_strerror_debug(i32 noundef %8136, ptr noundef @.str.4)
  %8138 = call ptr @__errno_location() #11
  %8139 = load i32, ptr %8138, align 4, !tbaa !5
  %8140 = call ptr @strerror(i32 noundef %8139) #10
  %8141 = call ptr @__errno_location() #11
  %8142 = load i32, ptr %8141, align 4, !tbaa !5
  %8143 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8130, ptr noundef @.str.5, i32 noundef %8131, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 420, ptr noundef %8134, ptr noundef %8137, ptr noundef %8140, i32 noundef %8142) #10
  br label %8144

8144:                                             ; preds = %8127, %8110
  call void @llvm.lifetime.end.p0(i64 4, ptr %190) #10
  br label %8145

8145:                                             ; preds = %8144
  br label %8146

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

8147:                                             ; No predecessors!
  br label %8148

8148:                                             ; preds = %8147
  br label %8149

8149:                                             ; preds = %8148, %8089
  br label %8150

8150:                                             ; preds = %8149
  br label %8151

8151:                                             ; preds = %8150
  call void @llvm.lifetime.start.p0(i64 80, ptr %191) #10
  call void @llvm.memset.p0.i64(ptr align 8 %191, i8 0, i64 80, i1 false)
  br label %8152

8152:                                             ; preds = %8151
  %8153 = load i32, ptr @test_count, align 4, !tbaa !5
  %8154 = add nsw i32 %8153, 1
  store i32 %8154, ptr @test_count, align 4, !tbaa !5
  %8155 = call i32 @s2n_io_stuffer_pair_init(ptr noundef %191)
  %8156 = getelementptr inbounds %struct.s2n_result, ptr %192, i32 0, i32 0
  store i32 %8155, ptr %8156, align 4
  %8157 = getelementptr inbounds %struct.s2n_result, ptr %192, i32 0, i32 0
  %8158 = load i32, ptr %8157, align 4
  %8159 = call zeroext i1 @s2n_result_is_ok(i32 %8158)
  br i1 %8159, label %8213, label %8160

8160:                                             ; preds = %8152
  br label %8161

8161:                                             ; preds = %8160
  br label %8162

8162:                                             ; preds = %8161
  call void @llvm.lifetime.start.p0(i64 4, ptr %193) #10
  %8163 = call ptr @__errno_location() #11
  %8164 = load i32, ptr %8163, align 4, !tbaa !5
  store i32 %8164, ptr %193, align 4, !tbaa !5
  %8165 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8166 = call i32 @s2n_print_stacktrace(ptr noundef %8165)
  %8167 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8168 = trunc i8 %8167 to i1
  br i1 %8168, label %8169, label %8191

8169:                                             ; preds = %8162
  %8170 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8171 = call i32 @fileno(ptr noundef %8170) #10
  %8172 = call i32 @isatty(i32 noundef %8171) #10
  %8173 = icmp ne i32 %8172, 0
  br i1 %8173, label %8174, label %8191

8174:                                             ; preds = %8169
  %8175 = load i32, ptr %193, align 4, !tbaa !5
  %8176 = call ptr @__errno_location() #11
  store i32 %8175, ptr %8176, align 4, !tbaa !5
  %8177 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8178 = load i32, ptr @test_count, align 4, !tbaa !5
  %8179 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8180 = load i32, ptr %8179, align 4, !tbaa !5
  %8181 = call ptr @s2n_strerror(i32 noundef %8180, ptr noundef @.str.4)
  %8182 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8183 = load i32, ptr %8182, align 4, !tbaa !5
  %8184 = call ptr @s2n_strerror_debug(i32 noundef %8183, ptr noundef @.str.4)
  %8185 = call ptr @__errno_location() #11
  %8186 = load i32, ptr %8185, align 4, !tbaa !5
  %8187 = call ptr @strerror(i32 noundef %8186) #10
  %8188 = call ptr @__errno_location() #11
  %8189 = load i32, ptr %8188, align 4, !tbaa !5
  %8190 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8177, ptr noundef @.str.2, i32 noundef %8178, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 423, ptr noundef %8181, ptr noundef %8184, ptr noundef %8187, i32 noundef %8189) #10
  br label %8208

8191:                                             ; preds = %8169, %8162
  %8192 = load i32, ptr %193, align 4, !tbaa !5
  %8193 = call ptr @__errno_location() #11
  store i32 %8192, ptr %8193, align 4, !tbaa !5
  %8194 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8195 = load i32, ptr @test_count, align 4, !tbaa !5
  %8196 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8197 = load i32, ptr %8196, align 4, !tbaa !5
  %8198 = call ptr @s2n_strerror(i32 noundef %8197, ptr noundef @.str.4)
  %8199 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8200 = load i32, ptr %8199, align 4, !tbaa !5
  %8201 = call ptr @s2n_strerror_debug(i32 noundef %8200, ptr noundef @.str.4)
  %8202 = call ptr @__errno_location() #11
  %8203 = load i32, ptr %8202, align 4, !tbaa !5
  %8204 = call ptr @strerror(i32 noundef %8203) #10
  %8205 = call ptr @__errno_location() #11
  %8206 = load i32, ptr %8205, align 4, !tbaa !5
  %8207 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8194, ptr noundef @.str.5, i32 noundef %8195, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 423, ptr noundef %8198, ptr noundef %8201, ptr noundef %8204, i32 noundef %8206) #10
  br label %8208

8208:                                             ; preds = %8191, %8174
  call void @llvm.lifetime.end.p0(i64 4, ptr %193) #10
  br label %8209

8209:                                             ; preds = %8208
  br label %8210

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

8211:                                             ; No predecessors!
  br label %8212

8212:                                             ; preds = %8211
  br label %8213

8213:                                             ; preds = %8212, %8152
  br label %8214

8214:                                             ; preds = %8213
  br label %8215

8215:                                             ; preds = %8214
  br label %8216

8216:                                             ; preds = %8215
  %8217 = load i32, ptr @test_count, align 4, !tbaa !5
  %8218 = add nsw i32 %8217, 1
  store i32 %8218, ptr @test_count, align 4, !tbaa !5
  %8219 = load ptr, ptr %188, align 8, !tbaa !9
  %8220 = load ptr, ptr %185, align 8, !tbaa !9
  %8221 = call i32 @s2n_connections_set_io_stuffer_pair(ptr noundef %8219, ptr noundef %8220, ptr noundef %191)
  %8222 = getelementptr inbounds %struct.s2n_result, ptr %194, i32 0, i32 0
  store i32 %8221, ptr %8222, align 4
  %8223 = getelementptr inbounds %struct.s2n_result, ptr %194, i32 0, i32 0
  %8224 = load i32, ptr %8223, align 4
  %8225 = call zeroext i1 @s2n_result_is_ok(i32 %8224)
  br i1 %8225, label %8279, label %8226

8226:                                             ; preds = %8216
  br label %8227

8227:                                             ; preds = %8226
  br label %8228

8228:                                             ; preds = %8227
  call void @llvm.lifetime.start.p0(i64 4, ptr %195) #10
  %8229 = call ptr @__errno_location() #11
  %8230 = load i32, ptr %8229, align 4, !tbaa !5
  store i32 %8230, ptr %195, align 4, !tbaa !5
  %8231 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8232 = call i32 @s2n_print_stacktrace(ptr noundef %8231)
  %8233 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8234 = trunc i8 %8233 to i1
  br i1 %8234, label %8235, label %8257

8235:                                             ; preds = %8228
  %8236 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8237 = call i32 @fileno(ptr noundef %8236) #10
  %8238 = call i32 @isatty(i32 noundef %8237) #10
  %8239 = icmp ne i32 %8238, 0
  br i1 %8239, label %8240, label %8257

8240:                                             ; preds = %8235
  %8241 = load i32, ptr %195, align 4, !tbaa !5
  %8242 = call ptr @__errno_location() #11
  store i32 %8241, ptr %8242, align 4, !tbaa !5
  %8243 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8244 = load i32, ptr @test_count, align 4, !tbaa !5
  %8245 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8246 = load i32, ptr %8245, align 4, !tbaa !5
  %8247 = call ptr @s2n_strerror(i32 noundef %8246, ptr noundef @.str.4)
  %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_debug(i32 noundef %8249, ptr noundef @.str.4)
  %8251 = call ptr @__errno_location() #11
  %8252 = load i32, ptr %8251, align 4, !tbaa !5
  %8253 = call ptr @strerror(i32 noundef %8252) #10
  %8254 = call ptr @__errno_location() #11
  %8255 = load i32, ptr %8254, align 4, !tbaa !5
  %8256 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8243, ptr noundef @.str.2, i32 noundef %8244, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 424, ptr noundef %8247, ptr noundef %8250, ptr noundef %8253, i32 noundef %8255) #10
  br label %8274

8257:                                             ; preds = %8235, %8228
  %8258 = load i32, ptr %195, align 4, !tbaa !5
  %8259 = call ptr @__errno_location() #11
  store i32 %8258, ptr %8259, align 4, !tbaa !5
  %8260 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8261 = load i32, ptr @test_count, align 4, !tbaa !5
  %8262 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8263 = load i32, ptr %8262, align 4, !tbaa !5
  %8264 = call ptr @s2n_strerror(i32 noundef %8263, ptr noundef @.str.4)
  %8265 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8266 = load i32, ptr %8265, align 4, !tbaa !5
  %8267 = call ptr @s2n_strerror_debug(i32 noundef %8266, ptr noundef @.str.4)
  %8268 = call ptr @__errno_location() #11
  %8269 = load i32, ptr %8268, align 4, !tbaa !5
  %8270 = call ptr @strerror(i32 noundef %8269) #10
  %8271 = call ptr @__errno_location() #11
  %8272 = load i32, ptr %8271, align 4, !tbaa !5
  %8273 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8260, ptr noundef @.str.5, i32 noundef %8261, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 424, ptr noundef %8264, ptr noundef %8267, ptr noundef %8270, i32 noundef %8272) #10
  br label %8274

8274:                                             ; preds = %8257, %8240
  call void @llvm.lifetime.end.p0(i64 4, ptr %195) #10
  br label %8275

8275:                                             ; preds = %8274
  br label %8276

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

8277:                                             ; No predecessors!
  br label %8278

8278:                                             ; preds = %8277
  br label %8279

8279:                                             ; preds = %8278, %8216
  br label %8280

8280:                                             ; preds = %8279
  br label %8281

8281:                                             ; preds = %8280
  br label %8282

8282:                                             ; preds = %8281
  %8283 = load i32, ptr @test_count, align 4, !tbaa !5
  %8284 = add nsw i32 %8283, 1
  store i32 %8284, ptr @test_count, align 4, !tbaa !5
  %8285 = load ptr, ptr %185, align 8, !tbaa !9
  %8286 = load ptr, ptr %188, align 8, !tbaa !9
  %8287 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %8285, ptr noundef %8286)
  %8288 = icmp eq i32 %8287, -1
  br i1 %8288, label %8289, label %8342

8289:                                             ; preds = %8282
  br label %8290

8290:                                             ; preds = %8289
  br label %8291

8291:                                             ; preds = %8290
  call void @llvm.lifetime.start.p0(i64 4, ptr %196) #10
  %8292 = call ptr @__errno_location() #11
  %8293 = load i32, ptr %8292, align 4, !tbaa !5
  store i32 %8293, ptr %196, align 4, !tbaa !5
  %8294 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8295 = call i32 @s2n_print_stacktrace(ptr noundef %8294)
  %8296 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8297 = trunc i8 %8296 to i1
  br i1 %8297, label %8298, label %8320

8298:                                             ; preds = %8291
  %8299 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8300 = call i32 @fileno(ptr noundef %8299) #10
  %8301 = call i32 @isatty(i32 noundef %8300) #10
  %8302 = icmp ne i32 %8301, 0
  br i1 %8302, label %8303, label %8320

8303:                                             ; preds = %8298
  %8304 = load i32, ptr %196, align 4, !tbaa !5
  %8305 = call ptr @__errno_location() #11
  store i32 %8304, ptr %8305, align 4, !tbaa !5
  %8306 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8307 = load i32, ptr @test_count, align 4, !tbaa !5
  %8308 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8309 = load i32, ptr %8308, align 4, !tbaa !5
  %8310 = call ptr @s2n_strerror(i32 noundef %8309, ptr noundef @.str.4)
  %8311 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8312 = load i32, ptr %8311, align 4, !tbaa !5
  %8313 = call ptr @s2n_strerror_debug(i32 noundef %8312, ptr noundef @.str.4)
  %8314 = call ptr @__errno_location() #11
  %8315 = load i32, ptr %8314, align 4, !tbaa !5
  %8316 = call ptr @strerror(i32 noundef %8315) #10
  %8317 = call ptr @__errno_location() #11
  %8318 = load i32, ptr %8317, align 4, !tbaa !5
  %8319 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8306, ptr noundef @.str.2, i32 noundef %8307, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 427, ptr noundef %8310, ptr noundef %8313, ptr noundef %8316, i32 noundef %8318) #10
  br label %8337

8320:                                             ; preds = %8298, %8291
  %8321 = load i32, ptr %196, align 4, !tbaa !5
  %8322 = call ptr @__errno_location() #11
  store i32 %8321, ptr %8322, align 4, !tbaa !5
  %8323 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8324 = load i32, ptr @test_count, align 4, !tbaa !5
  %8325 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8326 = load i32, ptr %8325, align 4, !tbaa !5
  %8327 = call ptr @s2n_strerror(i32 noundef %8326, ptr noundef @.str.4)
  %8328 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8329 = load i32, ptr %8328, align 4, !tbaa !5
  %8330 = call ptr @s2n_strerror_debug(i32 noundef %8329, ptr noundef @.str.4)
  %8331 = call ptr @__errno_location() #11
  %8332 = load i32, ptr %8331, align 4, !tbaa !5
  %8333 = call ptr @strerror(i32 noundef %8332) #10
  %8334 = call ptr @__errno_location() #11
  %8335 = load i32, ptr %8334, align 4, !tbaa !5
  %8336 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8323, ptr noundef @.str.5, i32 noundef %8324, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 427, ptr noundef %8327, ptr noundef %8330, ptr noundef %8333, i32 noundef %8335) #10
  br label %8337

8337:                                             ; preds = %8320, %8303
  call void @llvm.lifetime.end.p0(i64 4, ptr %196) #10
  br label %8338

8338:                                             ; preds = %8337
  br label %8339

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

8340:                                             ; No predecessors!
  br label %8341

8341:                                             ; preds = %8340
  br label %8342

8342:                                             ; preds = %8341, %8282
  br label %8343

8343:                                             ; preds = %8342
  br label %8344

8344:                                             ; preds = %8343
  br label %8345

8345:                                             ; preds = %8344
  %8346 = load i32, ptr @test_count, align 4, !tbaa !5
  %8347 = add nsw i32 %8346, 1
  store i32 %8347, ptr @test_count, align 4, !tbaa !5
  %8348 = load ptr, ptr %185, align 8, !tbaa !9
  %8349 = getelementptr inbounds %struct.s2n_connection, ptr %8348, i32 0, i32 23
  %8350 = load i8, ptr %8349, align 4, !tbaa !21
  %8351 = zext i8 %8350 to i32
  %8352 = icmp eq i32 %8351, 34
  br i1 %8352, label %8406, label %8353

8353:                                             ; preds = %8345
  br label %8354

8354:                                             ; preds = %8353
  br label %8355

8355:                                             ; preds = %8354
  call void @llvm.lifetime.start.p0(i64 4, ptr %197) #10
  %8356 = call ptr @__errno_location() #11
  %8357 = load i32, ptr %8356, align 4, !tbaa !5
  store i32 %8357, ptr %197, align 4, !tbaa !5
  %8358 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8359 = call i32 @s2n_print_stacktrace(ptr noundef %8358)
  %8360 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8361 = trunc i8 %8360 to i1
  br i1 %8361, label %8362, label %8384

8362:                                             ; preds = %8355
  %8363 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8364 = call i32 @fileno(ptr noundef %8363) #10
  %8365 = call i32 @isatty(i32 noundef %8364) #10
  %8366 = icmp ne i32 %8365, 0
  br i1 %8366, label %8367, label %8384

8367:                                             ; preds = %8362
  %8368 = load i32, ptr %197, align 4, !tbaa !5
  %8369 = call ptr @__errno_location() #11
  store i32 %8368, ptr %8369, align 4, !tbaa !5
  %8370 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8371 = load i32, ptr @test_count, align 4, !tbaa !5
  %8372 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8373 = load i32, ptr %8372, align 4, !tbaa !5
  %8374 = call ptr @s2n_strerror(i32 noundef %8373, ptr noundef @.str.4)
  %8375 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8376 = load i32, ptr %8375, align 4, !tbaa !5
  %8377 = call ptr @s2n_strerror_debug(i32 noundef %8376, ptr noundef @.str.4)
  %8378 = call ptr @__errno_location() #11
  %8379 = load i32, ptr %8378, align 4, !tbaa !5
  %8380 = call ptr @strerror(i32 noundef %8379) #10
  %8381 = call ptr @__errno_location() #11
  %8382 = load i32, ptr %8381, align 4, !tbaa !5
  %8383 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8370, ptr noundef @.str.2, i32 noundef %8371, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 428, ptr noundef %8374, ptr noundef %8377, ptr noundef %8380, i32 noundef %8382) #10
  br label %8401

8384:                                             ; preds = %8362, %8355
  %8385 = load i32, ptr %197, align 4, !tbaa !5
  %8386 = call ptr @__errno_location() #11
  store i32 %8385, ptr %8386, align 4, !tbaa !5
  %8387 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8388 = load i32, ptr @test_count, align 4, !tbaa !5
  %8389 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8390 = load i32, ptr %8389, align 4, !tbaa !5
  %8391 = call ptr @s2n_strerror(i32 noundef %8390, ptr noundef @.str.4)
  %8392 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8393 = load i32, ptr %8392, align 4, !tbaa !5
  %8394 = call ptr @s2n_strerror_debug(i32 noundef %8393, ptr noundef @.str.4)
  %8395 = call ptr @__errno_location() #11
  %8396 = load i32, ptr %8395, align 4, !tbaa !5
  %8397 = call ptr @strerror(i32 noundef %8396) #10
  %8398 = call ptr @__errno_location() #11
  %8399 = load i32, ptr %8398, align 4, !tbaa !5
  %8400 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8387, ptr noundef @.str.5, i32 noundef %8388, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 428, ptr noundef %8391, ptr noundef %8394, ptr noundef %8397, i32 noundef %8399) #10
  br label %8401

8401:                                             ; preds = %8384, %8367
  call void @llvm.lifetime.end.p0(i64 4, ptr %197) #10
  br label %8402

8402:                                             ; preds = %8401
  br label %8403

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

8404:                                             ; No predecessors!
  br label %8405

8405:                                             ; preds = %8404
  br label %8406

8406:                                             ; preds = %8405, %8345
  br label %8407

8407:                                             ; preds = %8406
  br label %8408

8408:                                             ; preds = %8407
  call void @llvm.lifetime.start.p0(i64 8, ptr %198) #10
  %8409 = load ptr, ptr %185, align 8, !tbaa !9
  store ptr %8409, ptr %198, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %199) #10
  %8410 = load ptr, ptr %188, align 8, !tbaa !9
  store ptr %8410, ptr %199, align 8, !tbaa !9
  %8411 = load i8, ptr %184, align 1, !tbaa !17
  %8412 = zext i8 %8411 to i32
  %8413 = icmp eq i32 %8412, 1
  br i1 %8413, label %8414, label %8417

8414:                                             ; preds = %8408
  %8415 = load ptr, ptr %188, align 8, !tbaa !9
  store ptr %8415, ptr %198, align 8, !tbaa !9
  %8416 = load ptr, ptr %185, align 8, !tbaa !9
  store ptr %8416, ptr %199, align 8, !tbaa !9
  br label %8417

8417:                                             ; preds = %8414, %8408
  call void @llvm.lifetime.start.p0(i64 4, ptr %200) #10
  store i32 0, ptr %200, align 4, !tbaa !5
  br label %8418

8418:                                             ; preds = %8417
  %8419 = load i32, ptr @test_count, align 4, !tbaa !5
  %8420 = add nsw i32 %8419, 1
  store i32 %8420, ptr @test_count, align 4, !tbaa !5
  %8421 = load ptr, ptr %198, align 8, !tbaa !9
  %8422 = call i32 @s2n_shutdown_send(ptr noundef %8421, ptr noundef %200)
  %8423 = icmp eq i32 %8422, -1
  br i1 %8423, label %8424, label %8477

8424:                                             ; preds = %8418
  br label %8425

8425:                                             ; preds = %8424
  br label %8426

8426:                                             ; preds = %8425
  call void @llvm.lifetime.start.p0(i64 4, ptr %201) #10
  %8427 = call ptr @__errno_location() #11
  %8428 = load i32, ptr %8427, align 4, !tbaa !5
  store i32 %8428, ptr %201, align 4, !tbaa !5
  %8429 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8430 = call i32 @s2n_print_stacktrace(ptr noundef %8429)
  %8431 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8432 = trunc i8 %8431 to i1
  br i1 %8432, label %8433, label %8455

8433:                                             ; preds = %8426
  %8434 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8435 = call i32 @fileno(ptr noundef %8434) #10
  %8436 = call i32 @isatty(i32 noundef %8435) #10
  %8437 = icmp ne i32 %8436, 0
  br i1 %8437, label %8438, label %8455

8438:                                             ; preds = %8433
  %8439 = load i32, ptr %201, align 4, !tbaa !5
  %8440 = call ptr @__errno_location() #11
  store i32 %8439, ptr %8440, align 4, !tbaa !5
  %8441 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8442 = load i32, ptr @test_count, align 4, !tbaa !5
  %8443 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8444 = load i32, ptr %8443, align 4, !tbaa !5
  %8445 = call ptr @s2n_strerror(i32 noundef %8444, ptr noundef @.str.4)
  %8446 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8447 = load i32, ptr %8446, align 4, !tbaa !5
  %8448 = call ptr @s2n_strerror_debug(i32 noundef %8447, ptr noundef @.str.4)
  %8449 = call ptr @__errno_location() #11
  %8450 = load i32, ptr %8449, align 4, !tbaa !5
  %8451 = call ptr @strerror(i32 noundef %8450) #10
  %8452 = call ptr @__errno_location() #11
  %8453 = load i32, ptr %8452, align 4, !tbaa !5
  %8454 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8441, ptr noundef @.str.2, i32 noundef %8442, ptr noundef @.str.75, ptr noundef @.str.1, i32 noundef 439, ptr noundef %8445, ptr noundef %8448, ptr noundef %8451, i32 noundef %8453) #10
  br label %8472

8455:                                             ; preds = %8433, %8426
  %8456 = load i32, ptr %201, align 4, !tbaa !5
  %8457 = call ptr @__errno_location() #11
  store i32 %8456, ptr %8457, align 4, !tbaa !5
  %8458 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8459 = load i32, ptr @test_count, align 4, !tbaa !5
  %8460 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8461 = load i32, ptr %8460, align 4, !tbaa !5
  %8462 = call ptr @s2n_strerror(i32 noundef %8461, ptr noundef @.str.4)
  %8463 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8464 = load i32, ptr %8463, align 4, !tbaa !5
  %8465 = call ptr @s2n_strerror_debug(i32 noundef %8464, ptr noundef @.str.4)
  %8466 = call ptr @__errno_location() #11
  %8467 = load i32, ptr %8466, align 4, !tbaa !5
  %8468 = call ptr @strerror(i32 noundef %8467) #10
  %8469 = call ptr @__errno_location() #11
  %8470 = load i32, ptr %8469, align 4, !tbaa !5
  %8471 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8458, ptr noundef @.str.5, i32 noundef %8459, ptr noundef @.str.75, ptr noundef @.str.1, i32 noundef 439, ptr noundef %8462, ptr noundef %8465, ptr noundef %8468, i32 noundef %8470) #10
  br label %8472

8472:                                             ; preds = %8455, %8438
  call void @llvm.lifetime.end.p0(i64 4, ptr %201) #10
  br label %8473

8473:                                             ; preds = %8472
  br label %8474

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

8475:                                             ; No predecessors!
  br label %8476

8476:                                             ; preds = %8475
  br label %8477

8477:                                             ; preds = %8476, %8418
  br label %8478

8478:                                             ; preds = %8477
  br label %8479

8479:                                             ; preds = %8478
  br label %8480

8480:                                             ; preds = %8479
  %8481 = load i32, ptr @test_count, align 4, !tbaa !5
  %8482 = add nsw i32 %8481, 1
  store i32 %8482, ptr @test_count, align 4, !tbaa !5
  %8483 = load ptr, ptr %198, align 8, !tbaa !9
  %8484 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %8483, i32 noundef 0)
  br i1 %8484, label %8485, label %8538

8485:                                             ; preds = %8480
  br label %8486

8486:                                             ; preds = %8485
  br label %8487

8487:                                             ; preds = %8486
  call void @llvm.lifetime.start.p0(i64 4, ptr %202) #10
  %8488 = call ptr @__errno_location() #11
  %8489 = load i32, ptr %8488, align 4, !tbaa !5
  store i32 %8489, ptr %202, align 4, !tbaa !5
  %8490 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8491 = call i32 @s2n_print_stacktrace(ptr noundef %8490)
  %8492 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8493 = trunc i8 %8492 to i1
  br i1 %8493, label %8494, label %8516

8494:                                             ; preds = %8487
  %8495 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8496 = call i32 @fileno(ptr noundef %8495) #10
  %8497 = call i32 @isatty(i32 noundef %8496) #10
  %8498 = icmp ne i32 %8497, 0
  br i1 %8498, label %8499, label %8516

8499:                                             ; preds = %8494
  %8500 = load i32, ptr %202, align 4, !tbaa !5
  %8501 = call ptr @__errno_location() #11
  store i32 %8500, ptr %8501, align 4, !tbaa !5
  %8502 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8503 = load i32, ptr @test_count, align 4, !tbaa !5
  %8504 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8505 = load i32, ptr %8504, align 4, !tbaa !5
  %8506 = call ptr @s2n_strerror(i32 noundef %8505, ptr noundef @.str.4)
  %8507 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8508 = load i32, ptr %8507, align 4, !tbaa !5
  %8509 = call ptr @s2n_strerror_debug(i32 noundef %8508, ptr noundef @.str.4)
  %8510 = call ptr @__errno_location() #11
  %8511 = load i32, ptr %8510, align 4, !tbaa !5
  %8512 = call ptr @strerror(i32 noundef %8511) #10
  %8513 = call ptr @__errno_location() #11
  %8514 = load i32, ptr %8513, align 4, !tbaa !5
  %8515 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8502, ptr noundef @.str.2, i32 noundef %8503, ptr noundef @.str.76, ptr noundef @.str.1, i32 noundef 440, ptr noundef %8506, ptr noundef %8509, ptr noundef %8512, i32 noundef %8514) #10
  br label %8533

8516:                                             ; preds = %8494, %8487
  %8517 = load i32, ptr %202, align 4, !tbaa !5
  %8518 = call ptr @__errno_location() #11
  store i32 %8517, ptr %8518, align 4, !tbaa !5
  %8519 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8520 = load i32, ptr @test_count, align 4, !tbaa !5
  %8521 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8522 = load i32, ptr %8521, align 4, !tbaa !5
  %8523 = call ptr @s2n_strerror(i32 noundef %8522, ptr noundef @.str.4)
  %8524 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8525 = load i32, ptr %8524, align 4, !tbaa !5
  %8526 = call ptr @s2n_strerror_debug(i32 noundef %8525, ptr noundef @.str.4)
  %8527 = call ptr @__errno_location() #11
  %8528 = load i32, ptr %8527, align 4, !tbaa !5
  %8529 = call ptr @strerror(i32 noundef %8528) #10
  %8530 = call ptr @__errno_location() #11
  %8531 = load i32, ptr %8530, align 4, !tbaa !5
  %8532 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8519, ptr noundef @.str.5, i32 noundef %8520, ptr noundef @.str.76, ptr noundef @.str.1, i32 noundef 440, ptr noundef %8523, ptr noundef %8526, ptr noundef %8529, i32 noundef %8531) #10
  br label %8533

8533:                                             ; preds = %8516, %8499
  call void @llvm.lifetime.end.p0(i64 4, ptr %202) #10
  br label %8534

8534:                                             ; preds = %8533
  br label %8535

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

8536:                                             ; No predecessors!
  br label %8537

8537:                                             ; preds = %8536
  br label %8538

8538:                                             ; preds = %8537, %8480
  br label %8539

8539:                                             ; preds = %8538
  br label %8540

8540:                                             ; preds = %8539
  br label %8541

8541:                                             ; preds = %8540
  %8542 = load i32, ptr @test_count, align 4, !tbaa !5
  %8543 = add nsw i32 %8542, 1
  store i32 %8543, ptr @test_count, align 4, !tbaa !5
  %8544 = load ptr, ptr %199, align 8, !tbaa !9
  %8545 = getelementptr inbounds [6 x i8], ptr %11, i64 0, i64 0
  %8546 = call i64 @s2n_recv(ptr noundef %8544, ptr noundef %8545, i64 noundef 6, ptr noundef %200)
  %8547 = icmp eq i64 %8546, 0
  br i1 %8547, label %8601, label %8548

8548:                                             ; preds = %8541
  br label %8549

8549:                                             ; preds = %8548
  br label %8550

8550:                                             ; preds = %8549
  call void @llvm.lifetime.start.p0(i64 4, ptr %203) #10
  %8551 = call ptr @__errno_location() #11
  %8552 = load i32, ptr %8551, align 4, !tbaa !5
  store i32 %8552, ptr %203, align 4, !tbaa !5
  %8553 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8554 = call i32 @s2n_print_stacktrace(ptr noundef %8553)
  %8555 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8556 = trunc i8 %8555 to i1
  br i1 %8556, label %8557, label %8579

8557:                                             ; preds = %8550
  %8558 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8559 = call i32 @fileno(ptr noundef %8558) #10
  %8560 = call i32 @isatty(i32 noundef %8559) #10
  %8561 = icmp ne i32 %8560, 0
  br i1 %8561, label %8562, label %8579

8562:                                             ; preds = %8557
  %8563 = load i32, ptr %203, align 4, !tbaa !5
  %8564 = call ptr @__errno_location() #11
  store i32 %8563, ptr %8564, align 4, !tbaa !5
  %8565 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8566 = load i32, ptr @test_count, align 4, !tbaa !5
  %8567 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8568 = load i32, ptr %8567, align 4, !tbaa !5
  %8569 = call ptr @s2n_strerror(i32 noundef %8568, ptr noundef @.str.4)
  %8570 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8571 = load i32, ptr %8570, align 4, !tbaa !5
  %8572 = call ptr @s2n_strerror_debug(i32 noundef %8571, ptr noundef @.str.4)
  %8573 = call ptr @__errno_location() #11
  %8574 = load i32, ptr %8573, align 4, !tbaa !5
  %8575 = call ptr @strerror(i32 noundef %8574) #10
  %8576 = call ptr @__errno_location() #11
  %8577 = load i32, ptr %8576, align 4, !tbaa !5
  %8578 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8565, ptr noundef @.str.2, i32 noundef %8566, ptr noundef @.str.72, ptr noundef @.str.1, i32 noundef 450, ptr noundef %8569, ptr noundef %8572, ptr noundef %8575, i32 noundef %8577) #10
  br label %8596

8579:                                             ; preds = %8557, %8550
  %8580 = load i32, ptr %203, align 4, !tbaa !5
  %8581 = call ptr @__errno_location() #11
  store i32 %8580, ptr %8581, align 4, !tbaa !5
  %8582 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8583 = load i32, ptr @test_count, align 4, !tbaa !5
  %8584 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8585 = load i32, ptr %8584, align 4, !tbaa !5
  %8586 = call ptr @s2n_strerror(i32 noundef %8585, ptr noundef @.str.4)
  %8587 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8588 = load i32, ptr %8587, align 4, !tbaa !5
  %8589 = call ptr @s2n_strerror_debug(i32 noundef %8588, ptr noundef @.str.4)
  %8590 = call ptr @__errno_location() #11
  %8591 = load i32, ptr %8590, align 4, !tbaa !5
  %8592 = call ptr @strerror(i32 noundef %8591) #10
  %8593 = call ptr @__errno_location() #11
  %8594 = load i32, ptr %8593, align 4, !tbaa !5
  %8595 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8582, ptr noundef @.str.5, i32 noundef %8583, ptr noundef @.str.72, ptr noundef @.str.1, i32 noundef 450, ptr noundef %8586, ptr noundef %8589, ptr noundef %8592, i32 noundef %8594) #10
  br label %8596

8596:                                             ; preds = %8579, %8562
  call void @llvm.lifetime.end.p0(i64 4, ptr %203) #10
  br label %8597

8597:                                             ; preds = %8596
  br label %8598

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

8599:                                             ; No predecessors!
  br label %8600

8600:                                             ; preds = %8599
  br label %8601

8601:                                             ; preds = %8600, %8541
  br label %8602

8602:                                             ; preds = %8601
  br label %8603

8603:                                             ; preds = %8602
  br label %8604

8604:                                             ; preds = %8603
  %8605 = load i32, ptr @test_count, align 4, !tbaa !5
  %8606 = add nsw i32 %8605, 1
  store i32 %8606, ptr @test_count, align 4, !tbaa !5
  %8607 = load ptr, ptr %199, align 8, !tbaa !9
  %8608 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %8607, i32 noundef 1)
  br i1 %8608, label %8609, label %8662

8609:                                             ; preds = %8604
  br label %8610

8610:                                             ; preds = %8609
  br label %8611

8611:                                             ; preds = %8610
  call void @llvm.lifetime.start.p0(i64 4, ptr %204) #10
  %8612 = call ptr @__errno_location() #11
  %8613 = load i32, ptr %8612, align 4, !tbaa !5
  store i32 %8613, ptr %204, align 4, !tbaa !5
  %8614 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8615 = call i32 @s2n_print_stacktrace(ptr noundef %8614)
  %8616 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8617 = trunc i8 %8616 to i1
  br i1 %8617, label %8618, label %8640

8618:                                             ; preds = %8611
  %8619 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8620 = call i32 @fileno(ptr noundef %8619) #10
  %8621 = call i32 @isatty(i32 noundef %8620) #10
  %8622 = icmp ne i32 %8621, 0
  br i1 %8622, label %8623, label %8640

8623:                                             ; preds = %8618
  %8624 = load i32, ptr %204, align 4, !tbaa !5
  %8625 = call ptr @__errno_location() #11
  store i32 %8624, ptr %8625, align 4, !tbaa !5
  %8626 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8627 = load i32, ptr @test_count, align 4, !tbaa !5
  %8628 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8629 = load i32, ptr %8628, align 4, !tbaa !5
  %8630 = call ptr @s2n_strerror(i32 noundef %8629, ptr noundef @.str.4)
  %8631 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8632 = load i32, ptr %8631, align 4, !tbaa !5
  %8633 = call ptr @s2n_strerror_debug(i32 noundef %8632, ptr noundef @.str.4)
  %8634 = call ptr @__errno_location() #11
  %8635 = load i32, ptr %8634, align 4, !tbaa !5
  %8636 = call ptr @strerror(i32 noundef %8635) #10
  %8637 = call ptr @__errno_location() #11
  %8638 = load i32, ptr %8637, align 4, !tbaa !5
  %8639 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8626, ptr noundef @.str.2, i32 noundef %8627, ptr noundef @.str.73, ptr noundef @.str.1, i32 noundef 451, ptr noundef %8630, ptr noundef %8633, ptr noundef %8636, i32 noundef %8638) #10
  br label %8657

8640:                                             ; preds = %8618, %8611
  %8641 = load i32, ptr %204, align 4, !tbaa !5
  %8642 = call ptr @__errno_location() #11
  store i32 %8641, ptr %8642, align 4, !tbaa !5
  %8643 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8644 = load i32, ptr @test_count, align 4, !tbaa !5
  %8645 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8646 = load i32, ptr %8645, align 4, !tbaa !5
  %8647 = call ptr @s2n_strerror(i32 noundef %8646, ptr noundef @.str.4)
  %8648 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8649 = load i32, ptr %8648, align 4, !tbaa !5
  %8650 = call ptr @s2n_strerror_debug(i32 noundef %8649, ptr noundef @.str.4)
  %8651 = call ptr @__errno_location() #11
  %8652 = load i32, ptr %8651, align 4, !tbaa !5
  %8653 = call ptr @strerror(i32 noundef %8652) #10
  %8654 = call ptr @__errno_location() #11
  %8655 = load i32, ptr %8654, align 4, !tbaa !5
  %8656 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8643, ptr noundef @.str.5, i32 noundef %8644, ptr noundef @.str.73, ptr noundef @.str.1, i32 noundef 451, ptr noundef %8647, ptr noundef %8650, ptr noundef %8653, i32 noundef %8655) #10
  br label %8657

8657:                                             ; preds = %8640, %8623
  call void @llvm.lifetime.end.p0(i64 4, ptr %204) #10
  br label %8658

8658:                                             ; preds = %8657
  br label %8659

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

8660:                                             ; No predecessors!
  br label %8661

8661:                                             ; preds = %8660
  br label %8662

8662:                                             ; preds = %8661, %8604
  br label %8663

8663:                                             ; preds = %8662
  br label %8664

8664:                                             ; preds = %8663
  br label %8665

8665:                                             ; preds = %8664
  %8666 = load i32, ptr @test_count, align 4, !tbaa !5
  %8667 = add nsw i32 %8666, 1
  store i32 %8667, ptr @test_count, align 4, !tbaa !5
  %8668 = load i32, ptr %200, align 4, !tbaa !5
  %8669 = icmp eq i32 %8668, 0
  br i1 %8669, label %8723, label %8670

8670:                                             ; preds = %8665
  br label %8671

8671:                                             ; preds = %8670
  br label %8672

8672:                                             ; preds = %8671
  call void @llvm.lifetime.start.p0(i64 4, ptr %205) #10
  %8673 = call ptr @__errno_location() #11
  %8674 = load i32, ptr %8673, align 4, !tbaa !5
  store i32 %8674, ptr %205, align 4, !tbaa !5
  %8675 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8676 = call i32 @s2n_print_stacktrace(ptr noundef %8675)
  %8677 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8678 = trunc i8 %8677 to i1
  br i1 %8678, label %8679, label %8701

8679:                                             ; preds = %8672
  %8680 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8681 = call i32 @fileno(ptr noundef %8680) #10
  %8682 = call i32 @isatty(i32 noundef %8681) #10
  %8683 = icmp ne i32 %8682, 0
  br i1 %8683, label %8684, label %8701

8684:                                             ; preds = %8679
  %8685 = load i32, ptr %205, align 4, !tbaa !5
  %8686 = call ptr @__errno_location() #11
  store i32 %8685, ptr %8686, align 4, !tbaa !5
  %8687 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8688 = load i32, ptr @test_count, align 4, !tbaa !5
  %8689 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8690 = load i32, ptr %8689, align 4, !tbaa !5
  %8691 = call ptr @s2n_strerror(i32 noundef %8690, ptr noundef @.str.4)
  %8692 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8693 = load i32, ptr %8692, align 4, !tbaa !5
  %8694 = call ptr @s2n_strerror_debug(i32 noundef %8693, ptr noundef @.str.4)
  %8695 = call ptr @__errno_location() #11
  %8696 = load i32, ptr %8695, align 4, !tbaa !5
  %8697 = call ptr @strerror(i32 noundef %8696) #10
  %8698 = call ptr @__errno_location() #11
  %8699 = load i32, ptr %8698, align 4, !tbaa !5
  %8700 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8687, ptr noundef @.str.2, i32 noundef %8688, ptr noundef @.str.65, ptr noundef @.str.1, i32 noundef 452, ptr noundef %8691, ptr noundef %8694, ptr noundef %8697, i32 noundef %8699) #10
  br label %8718

8701:                                             ; preds = %8679, %8672
  %8702 = load i32, ptr %205, align 4, !tbaa !5
  %8703 = call ptr @__errno_location() #11
  store i32 %8702, ptr %8703, align 4, !tbaa !5
  %8704 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8705 = load i32, ptr @test_count, align 4, !tbaa !5
  %8706 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8707 = load i32, ptr %8706, align 4, !tbaa !5
  %8708 = call ptr @s2n_strerror(i32 noundef %8707, ptr noundef @.str.4)
  %8709 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8710 = load i32, ptr %8709, align 4, !tbaa !5
  %8711 = call ptr @s2n_strerror_debug(i32 noundef %8710, ptr noundef @.str.4)
  %8712 = call ptr @__errno_location() #11
  %8713 = load i32, ptr %8712, align 4, !tbaa !5
  %8714 = call ptr @strerror(i32 noundef %8713) #10
  %8715 = call ptr @__errno_location() #11
  %8716 = load i32, ptr %8715, align 4, !tbaa !5
  %8717 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8704, ptr noundef @.str.5, i32 noundef %8705, ptr noundef @.str.65, ptr noundef @.str.1, i32 noundef 452, ptr noundef %8708, ptr noundef %8711, ptr noundef %8714, i32 noundef %8716) #10
  br label %8718

8718:                                             ; preds = %8701, %8684
  call void @llvm.lifetime.end.p0(i64 4, ptr %205) #10
  br label %8719

8719:                                             ; preds = %8718
  br label %8720

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

8721:                                             ; No predecessors!
  br label %8722

8722:                                             ; preds = %8721
  br label %8723

8723:                                             ; preds = %8722, %8665
  br label %8724

8724:                                             ; preds = %8723
  br label %8725

8725:                                             ; preds = %8724
  br label %8726

8726:                                             ; preds = %8725
  %8727 = load i32, ptr @test_count, align 4, !tbaa !5
  %8728 = add nsw i32 %8727, 1
  store i32 %8728, ptr @test_count, align 4, !tbaa !5
  %8729 = load ptr, ptr %199, align 8, !tbaa !9
  %8730 = getelementptr inbounds [6 x i8], ptr %11, i64 0, i64 0
  %8731 = call i64 @s2n_send(ptr noundef %8729, ptr noundef %8730, i64 noundef 6, ptr noundef %200)
  %8732 = icmp eq i64 %8731, 6
  br i1 %8732, label %8786, label %8733

8733:                                             ; preds = %8726
  br label %8734

8734:                                             ; preds = %8733
  br label %8735

8735:                                             ; preds = %8734
  call void @llvm.lifetime.start.p0(i64 4, ptr %206) #10
  %8736 = call ptr @__errno_location() #11
  %8737 = load i32, ptr %8736, align 4, !tbaa !5
  store i32 %8737, ptr %206, align 4, !tbaa !5
  %8738 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8739 = call i32 @s2n_print_stacktrace(ptr noundef %8738)
  %8740 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8741 = trunc i8 %8740 to i1
  br i1 %8741, label %8742, label %8764

8742:                                             ; preds = %8735
  %8743 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8744 = call i32 @fileno(ptr noundef %8743) #10
  %8745 = call i32 @isatty(i32 noundef %8744) #10
  %8746 = icmp ne i32 %8745, 0
  br i1 %8746, label %8747, label %8764

8747:                                             ; preds = %8742
  %8748 = load i32, ptr %206, align 4, !tbaa !5
  %8749 = call ptr @__errno_location() #11
  store i32 %8748, ptr %8749, align 4, !tbaa !5
  %8750 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8751 = load i32, ptr @test_count, align 4, !tbaa !5
  %8752 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8753 = load i32, ptr %8752, align 4, !tbaa !5
  %8754 = call ptr @s2n_strerror(i32 noundef %8753, ptr noundef @.str.4)
  %8755 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8756 = load i32, ptr %8755, align 4, !tbaa !5
  %8757 = call ptr @s2n_strerror_debug(i32 noundef %8756, ptr noundef @.str.4)
  %8758 = call ptr @__errno_location() #11
  %8759 = load i32, ptr %8758, align 4, !tbaa !5
  %8760 = call ptr @strerror(i32 noundef %8759) #10
  %8761 = call ptr @__errno_location() #11
  %8762 = load i32, ptr %8761, align 4, !tbaa !5
  %8763 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8750, ptr noundef @.str.2, i32 noundef %8751, ptr noundef @.str.77, ptr noundef @.str.1, i32 noundef 458, ptr noundef %8754, ptr noundef %8757, ptr noundef %8760, i32 noundef %8762) #10
  br label %8781

8764:                                             ; preds = %8742, %8735
  %8765 = load i32, ptr %206, align 4, !tbaa !5
  %8766 = call ptr @__errno_location() #11
  store i32 %8765, ptr %8766, align 4, !tbaa !5
  %8767 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8768 = load i32, ptr @test_count, align 4, !tbaa !5
  %8769 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8770 = load i32, ptr %8769, align 4, !tbaa !5
  %8771 = call ptr @s2n_strerror(i32 noundef %8770, ptr noundef @.str.4)
  %8772 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8773 = load i32, ptr %8772, align 4, !tbaa !5
  %8774 = call ptr @s2n_strerror_debug(i32 noundef %8773, ptr noundef @.str.4)
  %8775 = call ptr @__errno_location() #11
  %8776 = load i32, ptr %8775, align 4, !tbaa !5
  %8777 = call ptr @strerror(i32 noundef %8776) #10
  %8778 = call ptr @__errno_location() #11
  %8779 = load i32, ptr %8778, align 4, !tbaa !5
  %8780 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8767, ptr noundef @.str.5, i32 noundef %8768, ptr noundef @.str.77, ptr noundef @.str.1, i32 noundef 458, ptr noundef %8771, ptr noundef %8774, ptr noundef %8777, i32 noundef %8779) #10
  br label %8781

8781:                                             ; preds = %8764, %8747
  call void @llvm.lifetime.end.p0(i64 4, ptr %206) #10
  br label %8782

8782:                                             ; preds = %8781
  br label %8783

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

8784:                                             ; No predecessors!
  br label %8785

8785:                                             ; preds = %8784
  br label %8786

8786:                                             ; preds = %8785, %8726
  br label %8787

8787:                                             ; preds = %8786
  br label %8788

8788:                                             ; preds = %8787
  br label %8789

8789:                                             ; preds = %8788
  %8790 = load i32, ptr @test_count, align 4, !tbaa !5
  %8791 = add nsw i32 %8790, 1
  store i32 %8791, ptr @test_count, align 4, !tbaa !5
  %8792 = load i32, ptr %200, align 4, !tbaa !5
  %8793 = icmp eq i32 %8792, 0
  br i1 %8793, label %8847, label %8794

8794:                                             ; preds = %8789
  br label %8795

8795:                                             ; preds = %8794
  br label %8796

8796:                                             ; preds = %8795
  call void @llvm.lifetime.start.p0(i64 4, ptr %207) #10
  %8797 = call ptr @__errno_location() #11
  %8798 = load i32, ptr %8797, align 4, !tbaa !5
  store i32 %8798, ptr %207, align 4, !tbaa !5
  %8799 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8800 = call i32 @s2n_print_stacktrace(ptr noundef %8799)
  %8801 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8802 = trunc i8 %8801 to i1
  br i1 %8802, label %8803, label %8825

8803:                                             ; preds = %8796
  %8804 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8805 = call i32 @fileno(ptr noundef %8804) #10
  %8806 = call i32 @isatty(i32 noundef %8805) #10
  %8807 = icmp ne i32 %8806, 0
  br i1 %8807, label %8808, label %8825

8808:                                             ; preds = %8803
  %8809 = load i32, ptr %207, align 4, !tbaa !5
  %8810 = call ptr @__errno_location() #11
  store i32 %8809, ptr %8810, align 4, !tbaa !5
  %8811 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8812 = load i32, ptr @test_count, align 4, !tbaa !5
  %8813 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8814 = load i32, ptr %8813, align 4, !tbaa !5
  %8815 = call ptr @s2n_strerror(i32 noundef %8814, ptr noundef @.str.4)
  %8816 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8817 = load i32, ptr %8816, align 4, !tbaa !5
  %8818 = call ptr @s2n_strerror_debug(i32 noundef %8817, ptr noundef @.str.4)
  %8819 = call ptr @__errno_location() #11
  %8820 = load i32, ptr %8819, align 4, !tbaa !5
  %8821 = call ptr @strerror(i32 noundef %8820) #10
  %8822 = call ptr @__errno_location() #11
  %8823 = load i32, ptr %8822, align 4, !tbaa !5
  %8824 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8811, ptr noundef @.str.2, i32 noundef %8812, ptr noundef @.str.65, ptr noundef @.str.1, i32 noundef 459, ptr noundef %8815, ptr noundef %8818, ptr noundef %8821, i32 noundef %8823) #10
  br label %8842

8825:                                             ; preds = %8803, %8796
  %8826 = load i32, ptr %207, align 4, !tbaa !5
  %8827 = call ptr @__errno_location() #11
  store i32 %8826, ptr %8827, align 4, !tbaa !5
  %8828 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8829 = load i32, ptr @test_count, align 4, !tbaa !5
  %8830 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8831 = load i32, ptr %8830, align 4, !tbaa !5
  %8832 = call ptr @s2n_strerror(i32 noundef %8831, ptr noundef @.str.4)
  %8833 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8834 = load i32, ptr %8833, align 4, !tbaa !5
  %8835 = call ptr @s2n_strerror_debug(i32 noundef %8834, ptr noundef @.str.4)
  %8836 = call ptr @__errno_location() #11
  %8837 = load i32, ptr %8836, align 4, !tbaa !5
  %8838 = call ptr @strerror(i32 noundef %8837) #10
  %8839 = call ptr @__errno_location() #11
  %8840 = load i32, ptr %8839, align 4, !tbaa !5
  %8841 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8828, ptr noundef @.str.5, i32 noundef %8829, ptr noundef @.str.65, ptr noundef @.str.1, i32 noundef 459, ptr noundef %8832, ptr noundef %8835, ptr noundef %8838, i32 noundef %8840) #10
  br label %8842

8842:                                             ; preds = %8825, %8808
  call void @llvm.lifetime.end.p0(i64 4, ptr %207) #10
  br label %8843

8843:                                             ; preds = %8842
  br label %8844

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

8845:                                             ; No predecessors!
  br label %8846

8846:                                             ; preds = %8845
  br label %8847

8847:                                             ; preds = %8846, %8789
  br label %8848

8848:                                             ; preds = %8847
  br label %8849

8849:                                             ; preds = %8848
  br label %8850

8850:                                             ; preds = %8849
  %8851 = load i32, ptr @test_count, align 4, !tbaa !5
  %8852 = add nsw i32 %8851, 1
  store i32 %8852, ptr @test_count, align 4, !tbaa !5
  %8853 = load ptr, ptr %198, align 8, !tbaa !9
  %8854 = getelementptr inbounds [6 x i8], ptr %11, i64 0, i64 0
  %8855 = call i64 @s2n_recv(ptr noundef %8853, ptr noundef %8854, i64 noundef 6, ptr noundef %200)
  %8856 = icmp eq i64 %8855, 6
  br i1 %8856, label %8910, label %8857

8857:                                             ; preds = %8850
  br label %8858

8858:                                             ; preds = %8857
  br label %8859

8859:                                             ; preds = %8858
  call void @llvm.lifetime.start.p0(i64 4, ptr %208) #10
  %8860 = call ptr @__errno_location() #11
  %8861 = load i32, ptr %8860, align 4, !tbaa !5
  store i32 %8861, ptr %208, align 4, !tbaa !5
  %8862 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8863 = call i32 @s2n_print_stacktrace(ptr noundef %8862)
  %8864 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8865 = trunc i8 %8864 to i1
  br i1 %8865, label %8866, label %8888

8866:                                             ; preds = %8859
  %8867 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8868 = call i32 @fileno(ptr noundef %8867) #10
  %8869 = call i32 @isatty(i32 noundef %8868) #10
  %8870 = icmp ne i32 %8869, 0
  br i1 %8870, label %8871, label %8888

8871:                                             ; preds = %8866
  %8872 = load i32, ptr %208, align 4, !tbaa !5
  %8873 = call ptr @__errno_location() #11
  store i32 %8872, ptr %8873, align 4, !tbaa !5
  %8874 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8875 = load i32, ptr @test_count, align 4, !tbaa !5
  %8876 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8877 = load i32, ptr %8876, align 4, !tbaa !5
  %8878 = call ptr @s2n_strerror(i32 noundef %8877, ptr noundef @.str.4)
  %8879 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8880 = load i32, ptr %8879, align 4, !tbaa !5
  %8881 = call ptr @s2n_strerror_debug(i32 noundef %8880, ptr noundef @.str.4)
  %8882 = call ptr @__errno_location() #11
  %8883 = load i32, ptr %8882, align 4, !tbaa !5
  %8884 = call ptr @strerror(i32 noundef %8883) #10
  %8885 = call ptr @__errno_location() #11
  %8886 = load i32, ptr %8885, align 4, !tbaa !5
  %8887 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8874, ptr noundef @.str.2, i32 noundef %8875, ptr noundef @.str.78, ptr noundef @.str.1, i32 noundef 460, ptr noundef %8878, ptr noundef %8881, ptr noundef %8884, i32 noundef %8886) #10
  br label %8905

8888:                                             ; preds = %8866, %8859
  %8889 = load i32, ptr %208, align 4, !tbaa !5
  %8890 = call ptr @__errno_location() #11
  store i32 %8889, ptr %8890, align 4, !tbaa !5
  %8891 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8892 = load i32, ptr @test_count, align 4, !tbaa !5
  %8893 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8894 = load i32, ptr %8893, align 4, !tbaa !5
  %8895 = call ptr @s2n_strerror(i32 noundef %8894, ptr noundef @.str.4)
  %8896 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8897 = load i32, ptr %8896, align 4, !tbaa !5
  %8898 = call ptr @s2n_strerror_debug(i32 noundef %8897, ptr noundef @.str.4)
  %8899 = call ptr @__errno_location() #11
  %8900 = load i32, ptr %8899, align 4, !tbaa !5
  %8901 = call ptr @strerror(i32 noundef %8900) #10
  %8902 = call ptr @__errno_location() #11
  %8903 = load i32, ptr %8902, align 4, !tbaa !5
  %8904 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8891, ptr noundef @.str.5, i32 noundef %8892, ptr noundef @.str.78, ptr noundef @.str.1, i32 noundef 460, ptr noundef %8895, ptr noundef %8898, ptr noundef %8901, i32 noundef %8903) #10
  br label %8905

8905:                                             ; preds = %8888, %8871
  call void @llvm.lifetime.end.p0(i64 4, ptr %208) #10
  br label %8906

8906:                                             ; preds = %8905
  br label %8907

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

8908:                                             ; No predecessors!
  br label %8909

8909:                                             ; preds = %8908
  br label %8910

8910:                                             ; preds = %8909, %8850
  br label %8911

8911:                                             ; preds = %8910
  br label %8912

8912:                                             ; preds = %8911
  br label %8913

8913:                                             ; preds = %8912
  %8914 = load i32, ptr @test_count, align 4, !tbaa !5
  %8915 = add nsw i32 %8914, 1
  store i32 %8915, ptr @test_count, align 4, !tbaa !5
  %8916 = load i32, ptr %200, align 4, !tbaa !5
  %8917 = icmp eq i32 %8916, 0
  br i1 %8917, label %8971, label %8918

8918:                                             ; preds = %8913
  br label %8919

8919:                                             ; preds = %8918
  br label %8920

8920:                                             ; preds = %8919
  call void @llvm.lifetime.start.p0(i64 4, ptr %209) #10
  %8921 = call ptr @__errno_location() #11
  %8922 = load i32, ptr %8921, align 4, !tbaa !5
  store i32 %8922, ptr %209, align 4, !tbaa !5
  %8923 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8924 = call i32 @s2n_print_stacktrace(ptr noundef %8923)
  %8925 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8926 = trunc i8 %8925 to i1
  br i1 %8926, label %8927, label %8949

8927:                                             ; preds = %8920
  %8928 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8929 = call i32 @fileno(ptr noundef %8928) #10
  %8930 = call i32 @isatty(i32 noundef %8929) #10
  %8931 = icmp ne i32 %8930, 0
  br i1 %8931, label %8932, label %8949

8932:                                             ; preds = %8927
  %8933 = load i32, ptr %209, align 4, !tbaa !5
  %8934 = call ptr @__errno_location() #11
  store i32 %8933, ptr %8934, align 4, !tbaa !5
  %8935 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8936 = load i32, ptr @test_count, align 4, !tbaa !5
  %8937 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8938 = load i32, ptr %8937, align 4, !tbaa !5
  %8939 = call ptr @s2n_strerror(i32 noundef %8938, ptr noundef @.str.4)
  %8940 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8941 = load i32, ptr %8940, align 4, !tbaa !5
  %8942 = call ptr @s2n_strerror_debug(i32 noundef %8941, ptr noundef @.str.4)
  %8943 = call ptr @__errno_location() #11
  %8944 = load i32, ptr %8943, align 4, !tbaa !5
  %8945 = call ptr @strerror(i32 noundef %8944) #10
  %8946 = call ptr @__errno_location() #11
  %8947 = load i32, ptr %8946, align 4, !tbaa !5
  %8948 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8935, ptr noundef @.str.2, i32 noundef %8936, ptr noundef @.str.65, ptr noundef @.str.1, i32 noundef 461, ptr noundef %8939, ptr noundef %8942, ptr noundef %8945, i32 noundef %8947) #10
  br label %8966

8949:                                             ; preds = %8927, %8920
  %8950 = load i32, ptr %209, align 4, !tbaa !5
  %8951 = call ptr @__errno_location() #11
  store i32 %8950, ptr %8951, align 4, !tbaa !5
  %8952 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8953 = load i32, ptr @test_count, align 4, !tbaa !5
  %8954 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8955 = load i32, ptr %8954, align 4, !tbaa !5
  %8956 = call ptr @s2n_strerror(i32 noundef %8955, ptr noundef @.str.4)
  %8957 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8958 = load i32, ptr %8957, align 4, !tbaa !5
  %8959 = call ptr @s2n_strerror_debug(i32 noundef %8958, ptr noundef @.str.4)
  %8960 = call ptr @__errno_location() #11
  %8961 = load i32, ptr %8960, align 4, !tbaa !5
  %8962 = call ptr @strerror(i32 noundef %8961) #10
  %8963 = call ptr @__errno_location() #11
  %8964 = load i32, ptr %8963, align 4, !tbaa !5
  %8965 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8952, ptr noundef @.str.5, i32 noundef %8953, ptr noundef @.str.65, ptr noundef @.str.1, i32 noundef 461, ptr noundef %8956, ptr noundef %8959, ptr noundef %8962, i32 noundef %8964) #10
  br label %8966

8966:                                             ; preds = %8949, %8932
  call void @llvm.lifetime.end.p0(i64 4, ptr %209) #10
  br label %8967

8967:                                             ; preds = %8966
  br label %8968

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

8969:                                             ; No predecessors!
  br label %8970

8970:                                             ; preds = %8969
  br label %8971

8971:                                             ; preds = %8970, %8913
  br label %8972

8972:                                             ; preds = %8971
  br label %8973

8973:                                             ; preds = %8972
  br label %8974

8974:                                             ; preds = %8973
  %8975 = load i32, ptr @test_count, align 4, !tbaa !5
  %8976 = add nsw i32 %8975, 1
  store i32 %8976, ptr @test_count, align 4, !tbaa !5
  %8977 = load ptr, ptr %199, align 8, !tbaa !9
  %8978 = call i32 @s2n_shutdown(ptr noundef %8977, ptr noundef %200)
  %8979 = icmp eq i32 %8978, -1
  br i1 %8979, label %8980, label %9033

8980:                                             ; preds = %8974
  br label %8981

8981:                                             ; preds = %8980
  br label %8982

8982:                                             ; preds = %8981
  call void @llvm.lifetime.start.p0(i64 4, ptr %210) #10
  %8983 = call ptr @__errno_location() #11
  %8984 = load i32, ptr %8983, align 4, !tbaa !5
  store i32 %8984, ptr %210, align 4, !tbaa !5
  %8985 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8986 = call i32 @s2n_print_stacktrace(ptr noundef %8985)
  %8987 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8988 = trunc i8 %8987 to i1
  br i1 %8988, label %8989, label %9011

8989:                                             ; preds = %8982
  %8990 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8991 = call i32 @fileno(ptr noundef %8990) #10
  %8992 = call i32 @isatty(i32 noundef %8991) #10
  %8993 = icmp ne i32 %8992, 0
  br i1 %8993, label %8994, label %9011

8994:                                             ; preds = %8989
  %8995 = load i32, ptr %210, align 4, !tbaa !5
  %8996 = call ptr @__errno_location() #11
  store i32 %8995, ptr %8996, align 4, !tbaa !5
  %8997 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8998 = load i32, ptr @test_count, align 4, !tbaa !5
  %8999 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9000 = load i32, ptr %8999, align 4, !tbaa !5
  %9001 = call ptr @s2n_strerror(i32 noundef %9000, ptr noundef @.str.4)
  %9002 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9003 = load i32, ptr %9002, align 4, !tbaa !5
  %9004 = call ptr @s2n_strerror_debug(i32 noundef %9003, ptr noundef @.str.4)
  %9005 = call ptr @__errno_location() #11
  %9006 = load i32, ptr %9005, align 4, !tbaa !5
  %9007 = call ptr @strerror(i32 noundef %9006) #10
  %9008 = call ptr @__errno_location() #11
  %9009 = load i32, ptr %9008, align 4, !tbaa !5
  %9010 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8997, ptr noundef @.str.2, i32 noundef %8998, ptr noundef @.str.79, ptr noundef @.str.1, i32 noundef 464, ptr noundef %9001, ptr noundef %9004, ptr noundef %9007, i32 noundef %9009) #10
  br label %9028

9011:                                             ; preds = %8989, %8982
  %9012 = load i32, ptr %210, align 4, !tbaa !5
  %9013 = call ptr @__errno_location() #11
  store i32 %9012, ptr %9013, align 4, !tbaa !5
  %9014 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9015 = load i32, ptr @test_count, align 4, !tbaa !5
  %9016 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9017 = load i32, ptr %9016, align 4, !tbaa !5
  %9018 = call ptr @s2n_strerror(i32 noundef %9017, ptr noundef @.str.4)
  %9019 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9020 = load i32, ptr %9019, align 4, !tbaa !5
  %9021 = call ptr @s2n_strerror_debug(i32 noundef %9020, ptr noundef @.str.4)
  %9022 = call ptr @__errno_location() #11
  %9023 = load i32, ptr %9022, align 4, !tbaa !5
  %9024 = call ptr @strerror(i32 noundef %9023) #10
  %9025 = call ptr @__errno_location() #11
  %9026 = load i32, ptr %9025, align 4, !tbaa !5
  %9027 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9014, ptr noundef @.str.5, i32 noundef %9015, ptr noundef @.str.79, ptr noundef @.str.1, i32 noundef 464, ptr noundef %9018, ptr noundef %9021, ptr noundef %9024, i32 noundef %9026) #10
  br label %9028

9028:                                             ; preds = %9011, %8994
  call void @llvm.lifetime.end.p0(i64 4, ptr %210) #10
  br label %9029

9029:                                             ; preds = %9028
  br label %9030

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

9031:                                             ; No predecessors!
  br label %9032

9032:                                             ; preds = %9031
  br label %9033

9033:                                             ; preds = %9032, %8974
  br label %9034

9034:                                             ; preds = %9033
  br label %9035

9035:                                             ; preds = %9034
  br label %9036

9036:                                             ; preds = %9035
  %9037 = load i32, ptr @test_count, align 4, !tbaa !5
  %9038 = add nsw i32 %9037, 1
  store i32 %9038, ptr @test_count, align 4, !tbaa !5
  %9039 = load ptr, ptr %198, align 8, !tbaa !9
  %9040 = call i32 @s2n_shutdown(ptr noundef %9039, ptr noundef %200)
  %9041 = icmp eq i32 %9040, -1
  br i1 %9041, label %9042, label %9095

9042:                                             ; preds = %9036
  br label %9043

9043:                                             ; preds = %9042
  br label %9044

9044:                                             ; preds = %9043
  call void @llvm.lifetime.start.p0(i64 4, ptr %211) #10
  %9045 = call ptr @__errno_location() #11
  %9046 = load i32, ptr %9045, align 4, !tbaa !5
  store i32 %9046, ptr %211, align 4, !tbaa !5
  %9047 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9048 = call i32 @s2n_print_stacktrace(ptr noundef %9047)
  %9049 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9050 = trunc i8 %9049 to i1
  br i1 %9050, label %9051, label %9073

9051:                                             ; preds = %9044
  %9052 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9053 = call i32 @fileno(ptr noundef %9052) #10
  %9054 = call i32 @isatty(i32 noundef %9053) #10
  %9055 = icmp ne i32 %9054, 0
  br i1 %9055, label %9056, label %9073

9056:                                             ; preds = %9051
  %9057 = load i32, ptr %211, align 4, !tbaa !5
  %9058 = call ptr @__errno_location() #11
  store i32 %9057, ptr %9058, align 4, !tbaa !5
  %9059 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9060 = load i32, ptr @test_count, align 4, !tbaa !5
  %9061 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9062 = load i32, ptr %9061, align 4, !tbaa !5
  %9063 = call ptr @s2n_strerror(i32 noundef %9062, ptr noundef @.str.4)
  %9064 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9065 = load i32, ptr %9064, align 4, !tbaa !5
  %9066 = call ptr @s2n_strerror_debug(i32 noundef %9065, ptr noundef @.str.4)
  %9067 = call ptr @__errno_location() #11
  %9068 = load i32, ptr %9067, align 4, !tbaa !5
  %9069 = call ptr @strerror(i32 noundef %9068) #10
  %9070 = call ptr @__errno_location() #11
  %9071 = load i32, ptr %9070, align 4, !tbaa !5
  %9072 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9059, ptr noundef @.str.2, i32 noundef %9060, ptr noundef @.str.80, ptr noundef @.str.1, i32 noundef 465, ptr noundef %9063, ptr noundef %9066, ptr noundef %9069, i32 noundef %9071) #10
  br label %9090

9073:                                             ; preds = %9051, %9044
  %9074 = load i32, ptr %211, align 4, !tbaa !5
  %9075 = call ptr @__errno_location() #11
  store i32 %9074, ptr %9075, align 4, !tbaa !5
  %9076 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9077 = load i32, ptr @test_count, align 4, !tbaa !5
  %9078 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9079 = load i32, ptr %9078, align 4, !tbaa !5
  %9080 = call ptr @s2n_strerror(i32 noundef %9079, ptr noundef @.str.4)
  %9081 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9082 = load i32, ptr %9081, align 4, !tbaa !5
  %9083 = call ptr @s2n_strerror_debug(i32 noundef %9082, ptr noundef @.str.4)
  %9084 = call ptr @__errno_location() #11
  %9085 = load i32, ptr %9084, align 4, !tbaa !5
  %9086 = call ptr @strerror(i32 noundef %9085) #10
  %9087 = call ptr @__errno_location() #11
  %9088 = load i32, ptr %9087, align 4, !tbaa !5
  %9089 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9076, ptr noundef @.str.5, i32 noundef %9077, ptr noundef @.str.80, ptr noundef @.str.1, i32 noundef 465, ptr noundef %9080, ptr noundef %9083, ptr noundef %9086, i32 noundef %9088) #10
  br label %9090

9090:                                             ; preds = %9073, %9056
  call void @llvm.lifetime.end.p0(i64 4, ptr %211) #10
  br label %9091

9091:                                             ; preds = %9090
  br label %9092

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

9093:                                             ; No predecessors!
  br label %9094

9094:                                             ; preds = %9093
  br label %9095

9095:                                             ; preds = %9094, %9036
  br label %9096

9096:                                             ; preds = %9095
  br label %9097

9097:                                             ; preds = %9096
  call void @llvm.lifetime.end.p0(i64 4, ptr %200) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %199) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %198) #10
  %9098 = call i32 @s2n_io_stuffer_pair_free(ptr noundef %191)
  %9099 = getelementptr inbounds %struct.s2n_result, ptr %212, i32 0, i32 0
  store i32 %9098, ptr %9099, align 4
  call void @llvm.lifetime.end.p0(i64 80, ptr %191) #10
  %9100 = call i32 @s2n_connection_ptr_free(ptr noundef %188)
  %9101 = getelementptr inbounds %struct.s2n_result, ptr %213, i32 0, i32 0
  store i32 %9100, ptr %9101, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %188) #10
  %9102 = call i32 @s2n_connection_ptr_free(ptr noundef %185)
  %9103 = getelementptr inbounds %struct.s2n_result, ptr %214, i32 0, i32 0
  store i32 %9102, ptr %9103, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %185) #10
  br label %9104

9104:                                             ; preds = %9097
  %9105 = load i8, ptr %184, align 1, !tbaa !17
  %9106 = add i8 %9105, 1
  store i8 %9106, ptr %184, align 1, !tbaa !17
  br label %7894, !llvm.loop !57

9107:                                             ; preds = %7898
  call void @llvm.lifetime.start.p0(i64 1, ptr %215) #10
  store i8 0, ptr %215, align 1, !tbaa !17
  br label %9108

9108:                                             ; preds = %10393, %9107
  %9109 = load i8, ptr %215, align 1, !tbaa !17
  %9110 = zext i8 %9109 to i32
  %9111 = icmp slt i32 %9110, 2
  br i1 %9111, label %9113, label %9112

9112:                                             ; preds = %9108
  store i32 938, ptr %16, align 4
  call void @llvm.lifetime.end.p0(i64 1, ptr %215) #10
  br label %10396

9113:                                             ; preds = %9108
  call void @llvm.lifetime.start.p0(i64 8, ptr %216) #10
  %9114 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %9114, ptr %216, align 8, !tbaa !9
  br label %9115

9115:                                             ; preds = %9113
  %9116 = load i32, ptr @test_count, align 4, !tbaa !5
  %9117 = add nsw i32 %9116, 1
  store i32 %9117, ptr @test_count, align 4, !tbaa !5
  %9118 = load ptr, ptr %216, align 8, !tbaa !9
  %9119 = call i32 @s2n_connection_set_blinding(ptr noundef %9118, i32 noundef 1)
  %9120 = icmp eq i32 %9119, -1
  br i1 %9120, label %9121, label %9174

9121:                                             ; preds = %9115
  br label %9122

9122:                                             ; preds = %9121
  br label %9123

9123:                                             ; preds = %9122
  call void @llvm.lifetime.start.p0(i64 4, ptr %217) #10
  %9124 = call ptr @__errno_location() #11
  %9125 = load i32, ptr %9124, align 4, !tbaa !5
  store i32 %9125, ptr %217, align 4, !tbaa !5
  %9126 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9127 = call i32 @s2n_print_stacktrace(ptr noundef %9126)
  %9128 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9129 = trunc i8 %9128 to i1
  br i1 %9129, label %9130, label %9152

9130:                                             ; preds = %9123
  %9131 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9132 = call i32 @fileno(ptr noundef %9131) #10
  %9133 = call i32 @isatty(i32 noundef %9132) #10
  %9134 = icmp ne i32 %9133, 0
  br i1 %9134, label %9135, label %9152

9135:                                             ; preds = %9130
  %9136 = load i32, ptr %217, align 4, !tbaa !5
  %9137 = call ptr @__errno_location() #11
  store i32 %9136, ptr %9137, align 4, !tbaa !5
  %9138 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9139 = load i32, ptr @test_count, align 4, !tbaa !5
  %9140 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9141 = load i32, ptr %9140, align 4, !tbaa !5
  %9142 = call ptr @s2n_strerror(i32 noundef %9141, ptr noundef @.str.4)
  %9143 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9144 = load i32, ptr %9143, align 4, !tbaa !5
  %9145 = call ptr @s2n_strerror_debug(i32 noundef %9144, ptr noundef @.str.4)
  %9146 = call ptr @__errno_location() #11
  %9147 = load i32, ptr %9146, align 4, !tbaa !5
  %9148 = call ptr @strerror(i32 noundef %9147) #10
  %9149 = call ptr @__errno_location() #11
  %9150 = load i32, ptr %9149, align 4, !tbaa !5
  %9151 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9138, ptr noundef @.str.2, i32 noundef %9139, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 480, ptr noundef %9142, ptr noundef %9145, ptr noundef %9148, i32 noundef %9150) #10
  br label %9169

9152:                                             ; preds = %9130, %9123
  %9153 = load i32, ptr %217, align 4, !tbaa !5
  %9154 = call ptr @__errno_location() #11
  store i32 %9153, ptr %9154, align 4, !tbaa !5
  %9155 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9156 = load i32, ptr @test_count, align 4, !tbaa !5
  %9157 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9158 = load i32, ptr %9157, align 4, !tbaa !5
  %9159 = call ptr @s2n_strerror(i32 noundef %9158, ptr noundef @.str.4)
  %9160 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9161 = load i32, ptr %9160, align 4, !tbaa !5
  %9162 = call ptr @s2n_strerror_debug(i32 noundef %9161, ptr noundef @.str.4)
  %9163 = call ptr @__errno_location() #11
  %9164 = load i32, ptr %9163, align 4, !tbaa !5
  %9165 = call ptr @strerror(i32 noundef %9164) #10
  %9166 = call ptr @__errno_location() #11
  %9167 = load i32, ptr %9166, align 4, !tbaa !5
  %9168 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9155, ptr noundef @.str.5, i32 noundef %9156, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 480, ptr noundef %9159, ptr noundef %9162, ptr noundef %9165, i32 noundef %9167) #10
  br label %9169

9169:                                             ; preds = %9152, %9135
  call void @llvm.lifetime.end.p0(i64 4, ptr %217) #10
  br label %9170

9170:                                             ; preds = %9169
  br label %9171

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

9172:                                             ; No predecessors!
  br label %9173

9173:                                             ; preds = %9172
  br label %9174

9174:                                             ; preds = %9173, %9115
  br label %9175

9175:                                             ; preds = %9174
  br label %9176

9176:                                             ; preds = %9175
  br label %9177

9177:                                             ; preds = %9176
  %9178 = load i32, ptr @test_count, align 4, !tbaa !5
  %9179 = add nsw i32 %9178, 1
  store i32 %9179, ptr @test_count, align 4, !tbaa !5
  %9180 = load ptr, ptr %216, align 8, !tbaa !9
  %9181 = load ptr, ptr %23, align 8, !tbaa !9
  %9182 = call i32 @s2n_connection_set_config(ptr noundef %9180, ptr noundef %9181)
  %9183 = icmp eq i32 %9182, -1
  br i1 %9183, label %9184, label %9237

9184:                                             ; preds = %9177
  br label %9185

9185:                                             ; preds = %9184
  br label %9186

9186:                                             ; preds = %9185
  call void @llvm.lifetime.start.p0(i64 4, ptr %218) #10
  %9187 = call ptr @__errno_location() #11
  %9188 = load i32, ptr %9187, align 4, !tbaa !5
  store i32 %9188, ptr %218, align 4, !tbaa !5
  %9189 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9190 = call i32 @s2n_print_stacktrace(ptr noundef %9189)
  %9191 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9192 = trunc i8 %9191 to i1
  br i1 %9192, label %9193, label %9215

9193:                                             ; preds = %9186
  %9194 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9195 = call i32 @fileno(ptr noundef %9194) #10
  %9196 = call i32 @isatty(i32 noundef %9195) #10
  %9197 = icmp ne i32 %9196, 0
  br i1 %9197, label %9198, label %9215

9198:                                             ; preds = %9193
  %9199 = load i32, ptr %218, align 4, !tbaa !5
  %9200 = call ptr @__errno_location() #11
  store i32 %9199, ptr %9200, align 4, !tbaa !5
  %9201 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9202 = load i32, ptr @test_count, align 4, !tbaa !5
  %9203 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9204 = load i32, ptr %9203, align 4, !tbaa !5
  %9205 = call ptr @s2n_strerror(i32 noundef %9204, ptr noundef @.str.4)
  %9206 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9207 = load i32, ptr %9206, align 4, !tbaa !5
  %9208 = call ptr @s2n_strerror_debug(i32 noundef %9207, ptr noundef @.str.4)
  %9209 = call ptr @__errno_location() #11
  %9210 = load i32, ptr %9209, align 4, !tbaa !5
  %9211 = call ptr @strerror(i32 noundef %9210) #10
  %9212 = call ptr @__errno_location() #11
  %9213 = load i32, ptr %9212, align 4, !tbaa !5
  %9214 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9201, ptr noundef @.str.2, i32 noundef %9202, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 481, ptr noundef %9205, ptr noundef %9208, ptr noundef %9211, i32 noundef %9213) #10
  br label %9232

9215:                                             ; preds = %9193, %9186
  %9216 = load i32, ptr %218, align 4, !tbaa !5
  %9217 = call ptr @__errno_location() #11
  store i32 %9216, ptr %9217, align 4, !tbaa !5
  %9218 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9219 = load i32, ptr @test_count, align 4, !tbaa !5
  %9220 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9221 = load i32, ptr %9220, align 4, !tbaa !5
  %9222 = call ptr @s2n_strerror(i32 noundef %9221, ptr noundef @.str.4)
  %9223 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9224 = load i32, ptr %9223, align 4, !tbaa !5
  %9225 = call ptr @s2n_strerror_debug(i32 noundef %9224, ptr noundef @.str.4)
  %9226 = call ptr @__errno_location() #11
  %9227 = load i32, ptr %9226, align 4, !tbaa !5
  %9228 = call ptr @strerror(i32 noundef %9227) #10
  %9229 = call ptr @__errno_location() #11
  %9230 = load i32, ptr %9229, align 4, !tbaa !5
  %9231 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9218, ptr noundef @.str.5, i32 noundef %9219, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 481, ptr noundef %9222, ptr noundef %9225, ptr noundef %9228, i32 noundef %9230) #10
  br label %9232

9232:                                             ; preds = %9215, %9198
  call void @llvm.lifetime.end.p0(i64 4, ptr %218) #10
  br label %9233

9233:                                             ; preds = %9232
  br label %9234

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

9235:                                             ; No predecessors!
  br label %9236

9236:                                             ; preds = %9235
  br label %9237

9237:                                             ; preds = %9236, %9177
  br label %9238

9238:                                             ; preds = %9237
  br label %9239

9239:                                             ; preds = %9238
  br label %9240

9240:                                             ; preds = %9239
  %9241 = load i32, ptr @test_count, align 4, !tbaa !5
  %9242 = add nsw i32 %9241, 1
  store i32 %9242, ptr @test_count, align 4, !tbaa !5
  %9243 = load ptr, ptr %216, align 8, !tbaa !9
  %9244 = call i32 @s2n_connection_set_cipher_preferences(ptr noundef %9243, ptr noundef @.str.81)
  %9245 = icmp eq i32 %9244, -1
  br i1 %9245, label %9246, label %9299

9246:                                             ; preds = %9240
  br label %9247

9247:                                             ; preds = %9246
  br label %9248

9248:                                             ; preds = %9247
  call void @llvm.lifetime.start.p0(i64 4, ptr %219) #10
  %9249 = call ptr @__errno_location() #11
  %9250 = load i32, ptr %9249, align 4, !tbaa !5
  store i32 %9250, ptr %219, align 4, !tbaa !5
  %9251 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9252 = call i32 @s2n_print_stacktrace(ptr noundef %9251)
  %9253 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9254 = trunc i8 %9253 to i1
  br i1 %9254, label %9255, label %9277

9255:                                             ; preds = %9248
  %9256 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9257 = call i32 @fileno(ptr noundef %9256) #10
  %9258 = call i32 @isatty(i32 noundef %9257) #10
  %9259 = icmp ne i32 %9258, 0
  br i1 %9259, label %9260, label %9277

9260:                                             ; preds = %9255
  %9261 = load i32, ptr %219, align 4, !tbaa !5
  %9262 = call ptr @__errno_location() #11
  store i32 %9261, ptr %9262, align 4, !tbaa !5
  %9263 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9264 = load i32, ptr @test_count, align 4, !tbaa !5
  %9265 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9266 = load i32, ptr %9265, align 4, !tbaa !5
  %9267 = call ptr @s2n_strerror(i32 noundef %9266, ptr noundef @.str.4)
  %9268 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9269 = load i32, ptr %9268, align 4, !tbaa !5
  %9270 = call ptr @s2n_strerror_debug(i32 noundef %9269, ptr noundef @.str.4)
  %9271 = call ptr @__errno_location() #11
  %9272 = load i32, ptr %9271, align 4, !tbaa !5
  %9273 = call ptr @strerror(i32 noundef %9272) #10
  %9274 = call ptr @__errno_location() #11
  %9275 = load i32, ptr %9274, align 4, !tbaa !5
  %9276 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9263, ptr noundef @.str.2, i32 noundef %9264, ptr noundef @.str.82, ptr noundef @.str.1, i32 noundef 482, ptr noundef %9267, ptr noundef %9270, ptr noundef %9273, i32 noundef %9275) #10
  br label %9294

9277:                                             ; preds = %9255, %9248
  %9278 = load i32, ptr %219, align 4, !tbaa !5
  %9279 = call ptr @__errno_location() #11
  store i32 %9278, ptr %9279, align 4, !tbaa !5
  %9280 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9281 = load i32, ptr @test_count, align 4, !tbaa !5
  %9282 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9283 = load i32, ptr %9282, align 4, !tbaa !5
  %9284 = call ptr @s2n_strerror(i32 noundef %9283, ptr noundef @.str.4)
  %9285 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9286 = load i32, ptr %9285, align 4, !tbaa !5
  %9287 = call ptr @s2n_strerror_debug(i32 noundef %9286, ptr noundef @.str.4)
  %9288 = call ptr @__errno_location() #11
  %9289 = load i32, ptr %9288, align 4, !tbaa !5
  %9290 = call ptr @strerror(i32 noundef %9289) #10
  %9291 = call ptr @__errno_location() #11
  %9292 = load i32, ptr %9291, align 4, !tbaa !5
  %9293 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9280, ptr noundef @.str.5, i32 noundef %9281, ptr noundef @.str.82, ptr noundef @.str.1, i32 noundef 482, ptr noundef %9284, ptr noundef %9287, ptr noundef %9290, i32 noundef %9292) #10
  br label %9294

9294:                                             ; preds = %9277, %9260
  call void @llvm.lifetime.end.p0(i64 4, ptr %219) #10
  br label %9295

9295:                                             ; preds = %9294
  br label %9296

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

9297:                                             ; No predecessors!
  br label %9298

9298:                                             ; preds = %9297
  br label %9299

9299:                                             ; preds = %9298, %9240
  br label %9300

9300:                                             ; preds = %9299
  br label %9301

9301:                                             ; preds = %9300
  call void @llvm.lifetime.start.p0(i64 8, ptr %220) #10
  %9302 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %9302, ptr %220, align 8, !tbaa !9
  br label %9303

9303:                                             ; preds = %9301
  %9304 = load i32, ptr @test_count, align 4, !tbaa !5
  %9305 = add nsw i32 %9304, 1
  store i32 %9305, ptr @test_count, align 4, !tbaa !5
  %9306 = load ptr, ptr %220, align 8, !tbaa !9
  %9307 = call i32 @s2n_connection_set_blinding(ptr noundef %9306, i32 noundef 1)
  %9308 = icmp eq i32 %9307, -1
  br i1 %9308, label %9309, label %9362

9309:                                             ; preds = %9303
  br label %9310

9310:                                             ; preds = %9309
  br label %9311

9311:                                             ; preds = %9310
  call void @llvm.lifetime.start.p0(i64 4, ptr %221) #10
  %9312 = call ptr @__errno_location() #11
  %9313 = load i32, ptr %9312, align 4, !tbaa !5
  store i32 %9313, ptr %221, align 4, !tbaa !5
  %9314 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9315 = call i32 @s2n_print_stacktrace(ptr noundef %9314)
  %9316 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9317 = trunc i8 %9316 to i1
  br i1 %9317, label %9318, label %9340

9318:                                             ; preds = %9311
  %9319 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9320 = call i32 @fileno(ptr noundef %9319) #10
  %9321 = call i32 @isatty(i32 noundef %9320) #10
  %9322 = icmp ne i32 %9321, 0
  br i1 %9322, label %9323, label %9340

9323:                                             ; preds = %9318
  %9324 = load i32, ptr %221, align 4, !tbaa !5
  %9325 = call ptr @__errno_location() #11
  store i32 %9324, ptr %9325, align 4, !tbaa !5
  %9326 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9327 = load i32, ptr @test_count, align 4, !tbaa !5
  %9328 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9329 = load i32, ptr %9328, align 4, !tbaa !5
  %9330 = call ptr @s2n_strerror(i32 noundef %9329, ptr noundef @.str.4)
  %9331 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9332 = load i32, ptr %9331, align 4, !tbaa !5
  %9333 = call ptr @s2n_strerror_debug(i32 noundef %9332, ptr noundef @.str.4)
  %9334 = call ptr @__errno_location() #11
  %9335 = load i32, ptr %9334, align 4, !tbaa !5
  %9336 = call ptr @strerror(i32 noundef %9335) #10
  %9337 = call ptr @__errno_location() #11
  %9338 = load i32, ptr %9337, align 4, !tbaa !5
  %9339 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9326, ptr noundef @.str.2, i32 noundef %9327, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 486, ptr noundef %9330, ptr noundef %9333, ptr noundef %9336, i32 noundef %9338) #10
  br label %9357

9340:                                             ; preds = %9318, %9311
  %9341 = load i32, ptr %221, align 4, !tbaa !5
  %9342 = call ptr @__errno_location() #11
  store i32 %9341, ptr %9342, align 4, !tbaa !5
  %9343 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9344 = load i32, ptr @test_count, align 4, !tbaa !5
  %9345 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9346 = load i32, ptr %9345, align 4, !tbaa !5
  %9347 = call ptr @s2n_strerror(i32 noundef %9346, ptr noundef @.str.4)
  %9348 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9349 = load i32, ptr %9348, align 4, !tbaa !5
  %9350 = call ptr @s2n_strerror_debug(i32 noundef %9349, ptr noundef @.str.4)
  %9351 = call ptr @__errno_location() #11
  %9352 = load i32, ptr %9351, align 4, !tbaa !5
  %9353 = call ptr @strerror(i32 noundef %9352) #10
  %9354 = call ptr @__errno_location() #11
  %9355 = load i32, ptr %9354, align 4, !tbaa !5
  %9356 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9343, ptr noundef @.str.5, i32 noundef %9344, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 486, ptr noundef %9347, ptr noundef %9350, ptr noundef %9353, i32 noundef %9355) #10
  br label %9357

9357:                                             ; preds = %9340, %9323
  call void @llvm.lifetime.end.p0(i64 4, ptr %221) #10
  br label %9358

9358:                                             ; preds = %9357
  br label %9359

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

9360:                                             ; No predecessors!
  br label %9361

9361:                                             ; preds = %9360
  br label %9362

9362:                                             ; preds = %9361, %9303
  br label %9363

9363:                                             ; preds = %9362
  br label %9364

9364:                                             ; preds = %9363
  br label %9365

9365:                                             ; preds = %9364
  %9366 = load i32, ptr @test_count, align 4, !tbaa !5
  %9367 = add nsw i32 %9366, 1
  store i32 %9367, ptr @test_count, align 4, !tbaa !5
  %9368 = load ptr, ptr %220, align 8, !tbaa !9
  %9369 = load ptr, ptr %23, align 8, !tbaa !9
  %9370 = call i32 @s2n_connection_set_config(ptr noundef %9368, ptr noundef %9369)
  %9371 = icmp eq i32 %9370, -1
  br i1 %9371, label %9372, label %9425

9372:                                             ; preds = %9365
  br label %9373

9373:                                             ; preds = %9372
  br label %9374

9374:                                             ; preds = %9373
  call void @llvm.lifetime.start.p0(i64 4, ptr %222) #10
  %9375 = call ptr @__errno_location() #11
  %9376 = load i32, ptr %9375, align 4, !tbaa !5
  store i32 %9376, ptr %222, align 4, !tbaa !5
  %9377 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9378 = call i32 @s2n_print_stacktrace(ptr noundef %9377)
  %9379 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9380 = trunc i8 %9379 to i1
  br i1 %9380, label %9381, label %9403

9381:                                             ; preds = %9374
  %9382 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9383 = call i32 @fileno(ptr noundef %9382) #10
  %9384 = call i32 @isatty(i32 noundef %9383) #10
  %9385 = icmp ne i32 %9384, 0
  br i1 %9385, label %9386, label %9403

9386:                                             ; preds = %9381
  %9387 = load i32, ptr %222, align 4, !tbaa !5
  %9388 = call ptr @__errno_location() #11
  store i32 %9387, ptr %9388, align 4, !tbaa !5
  %9389 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9390 = load i32, ptr @test_count, align 4, !tbaa !5
  %9391 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9392 = load i32, ptr %9391, align 4, !tbaa !5
  %9393 = call ptr @s2n_strerror(i32 noundef %9392, ptr noundef @.str.4)
  %9394 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9395 = load i32, ptr %9394, align 4, !tbaa !5
  %9396 = call ptr @s2n_strerror_debug(i32 noundef %9395, ptr noundef @.str.4)
  %9397 = call ptr @__errno_location() #11
  %9398 = load i32, ptr %9397, align 4, !tbaa !5
  %9399 = call ptr @strerror(i32 noundef %9398) #10
  %9400 = call ptr @__errno_location() #11
  %9401 = load i32, ptr %9400, align 4, !tbaa !5
  %9402 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9389, ptr noundef @.str.2, i32 noundef %9390, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 487, ptr noundef %9393, ptr noundef %9396, ptr noundef %9399, i32 noundef %9401) #10
  br label %9420

9403:                                             ; preds = %9381, %9374
  %9404 = load i32, ptr %222, align 4, !tbaa !5
  %9405 = call ptr @__errno_location() #11
  store i32 %9404, ptr %9405, align 4, !tbaa !5
  %9406 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9407 = load i32, ptr @test_count, align 4, !tbaa !5
  %9408 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9409 = load i32, ptr %9408, align 4, !tbaa !5
  %9410 = call ptr @s2n_strerror(i32 noundef %9409, ptr noundef @.str.4)
  %9411 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9412 = load i32, ptr %9411, align 4, !tbaa !5
  %9413 = call ptr @s2n_strerror_debug(i32 noundef %9412, ptr noundef @.str.4)
  %9414 = call ptr @__errno_location() #11
  %9415 = load i32, ptr %9414, align 4, !tbaa !5
  %9416 = call ptr @strerror(i32 noundef %9415) #10
  %9417 = call ptr @__errno_location() #11
  %9418 = load i32, ptr %9417, align 4, !tbaa !5
  %9419 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9406, ptr noundef @.str.5, i32 noundef %9407, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 487, ptr noundef %9410, ptr noundef %9413, ptr noundef %9416, i32 noundef %9418) #10
  br label %9420

9420:                                             ; preds = %9403, %9386
  call void @llvm.lifetime.end.p0(i64 4, ptr %222) #10
  br label %9421

9421:                                             ; preds = %9420
  br label %9422

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

9423:                                             ; No predecessors!
  br label %9424

9424:                                             ; preds = %9423
  br label %9425

9425:                                             ; preds = %9424, %9365
  br label %9426

9426:                                             ; preds = %9425
  br label %9427

9427:                                             ; preds = %9426
  br label %9428

9428:                                             ; preds = %9427
  %9429 = load i32, ptr @test_count, align 4, !tbaa !5
  %9430 = add nsw i32 %9429, 1
  store i32 %9430, ptr @test_count, align 4, !tbaa !5
  %9431 = load ptr, ptr %220, align 8, !tbaa !9
  %9432 = call i32 @s2n_connection_set_cipher_preferences(ptr noundef %9431, ptr noundef @.str.81)
  %9433 = icmp eq i32 %9432, -1
  br i1 %9433, label %9434, label %9487

9434:                                             ; preds = %9428
  br label %9435

9435:                                             ; preds = %9434
  br label %9436

9436:                                             ; preds = %9435
  call void @llvm.lifetime.start.p0(i64 4, ptr %223) #10
  %9437 = call ptr @__errno_location() #11
  %9438 = load i32, ptr %9437, align 4, !tbaa !5
  store i32 %9438, ptr %223, align 4, !tbaa !5
  %9439 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9440 = call i32 @s2n_print_stacktrace(ptr noundef %9439)
  %9441 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9442 = trunc i8 %9441 to i1
  br i1 %9442, label %9443, label %9465

9443:                                             ; preds = %9436
  %9444 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9445 = call i32 @fileno(ptr noundef %9444) #10
  %9446 = call i32 @isatty(i32 noundef %9445) #10
  %9447 = icmp ne i32 %9446, 0
  br i1 %9447, label %9448, label %9465

9448:                                             ; preds = %9443
  %9449 = load i32, ptr %223, 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.2, i32 noundef %9452, ptr noundef @.str.83, ptr noundef @.str.1, i32 noundef 488, ptr noundef %9455, ptr noundef %9458, ptr noundef %9461, i32 noundef %9463) #10
  br label %9482

9465:                                             ; preds = %9443, %9436
  %9466 = load i32, ptr %223, align 4, !tbaa !5
  %9467 = call ptr @__errno_location() #11
  store i32 %9466, ptr %9467, align 4, !tbaa !5
  %9468 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9469 = load i32, ptr @test_count, align 4, !tbaa !5
  %9470 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9471 = load i32, ptr %9470, align 4, !tbaa !5
  %9472 = call ptr @s2n_strerror(i32 noundef %9471, ptr noundef @.str.4)
  %9473 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9474 = load i32, ptr %9473, align 4, !tbaa !5
  %9475 = call ptr @s2n_strerror_debug(i32 noundef %9474, ptr noundef @.str.4)
  %9476 = call ptr @__errno_location() #11
  %9477 = load i32, ptr %9476, align 4, !tbaa !5
  %9478 = call ptr @strerror(i32 noundef %9477) #10
  %9479 = call ptr @__errno_location() #11
  %9480 = load i32, ptr %9479, align 4, !tbaa !5
  %9481 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9468, ptr noundef @.str.5, i32 noundef %9469, ptr noundef @.str.83, ptr noundef @.str.1, i32 noundef 488, ptr noundef %9472, ptr noundef %9475, ptr noundef %9478, i32 noundef %9480) #10
  br label %9482

9482:                                             ; preds = %9465, %9448
  call void @llvm.lifetime.end.p0(i64 4, ptr %223) #10
  br label %9483

9483:                                             ; preds = %9482
  br label %9484

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

9485:                                             ; No predecessors!
  br label %9486

9486:                                             ; preds = %9485
  br label %9487

9487:                                             ; preds = %9486, %9428
  br label %9488

9488:                                             ; preds = %9487
  br label %9489

9489:                                             ; preds = %9488
  call void @llvm.lifetime.start.p0(i64 80, ptr %224) #10
  call void @llvm.memset.p0.i64(ptr align 8 %224, i8 0, i64 80, i1 false)
  br label %9490

9490:                                             ; preds = %9489
  %9491 = load i32, ptr @test_count, align 4, !tbaa !5
  %9492 = add nsw i32 %9491, 1
  store i32 %9492, ptr @test_count, align 4, !tbaa !5
  %9493 = call i32 @s2n_io_stuffer_pair_init(ptr noundef %224)
  %9494 = getelementptr inbounds %struct.s2n_result, ptr %225, i32 0, i32 0
  store i32 %9493, ptr %9494, align 4
  %9495 = getelementptr inbounds %struct.s2n_result, ptr %225, i32 0, i32 0
  %9496 = load i32, ptr %9495, align 4
  %9497 = call zeroext i1 @s2n_result_is_ok(i32 %9496)
  br i1 %9497, label %9551, label %9498

9498:                                             ; preds = %9490
  br label %9499

9499:                                             ; preds = %9498
  br label %9500

9500:                                             ; preds = %9499
  call void @llvm.lifetime.start.p0(i64 4, ptr %226) #10
  %9501 = call ptr @__errno_location() #11
  %9502 = load i32, ptr %9501, align 4, !tbaa !5
  store i32 %9502, ptr %226, align 4, !tbaa !5
  %9503 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9504 = call i32 @s2n_print_stacktrace(ptr noundef %9503)
  %9505 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9506 = trunc i8 %9505 to i1
  br i1 %9506, label %9507, label %9529

9507:                                             ; preds = %9500
  %9508 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9509 = call i32 @fileno(ptr noundef %9508) #10
  %9510 = call i32 @isatty(i32 noundef %9509) #10
  %9511 = icmp ne i32 %9510, 0
  br i1 %9511, label %9512, label %9529

9512:                                             ; preds = %9507
  %9513 = load i32, ptr %226, align 4, !tbaa !5
  %9514 = call ptr @__errno_location() #11
  store i32 %9513, ptr %9514, align 4, !tbaa !5
  %9515 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9516 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %9518, ptr noundef @.str.4)
  %9520 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9521 = load i32, ptr %9520, align 4, !tbaa !5
  %9522 = call ptr @s2n_strerror_debug(i32 noundef %9521, ptr noundef @.str.4)
  %9523 = call ptr @__errno_location() #11
  %9524 = load i32, ptr %9523, align 4, !tbaa !5
  %9525 = call ptr @strerror(i32 noundef %9524) #10
  %9526 = call ptr @__errno_location() #11
  %9527 = load i32, ptr %9526, align 4, !tbaa !5
  %9528 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9515, ptr noundef @.str.2, i32 noundef %9516, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 491, ptr noundef %9519, ptr noundef %9522, ptr noundef %9525, i32 noundef %9527) #10
  br label %9546

9529:                                             ; preds = %9507, %9500
  %9530 = load i32, ptr %226, align 4, !tbaa !5
  %9531 = call ptr @__errno_location() #11
  store i32 %9530, ptr %9531, align 4, !tbaa !5
  %9532 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9533 = load i32, ptr @test_count, align 4, !tbaa !5
  %9534 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9535 = load i32, ptr %9534, align 4, !tbaa !5
  %9536 = call ptr @s2n_strerror(i32 noundef %9535, ptr noundef @.str.4)
  %9537 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9538 = load i32, ptr %9537, align 4, !tbaa !5
  %9539 = call ptr @s2n_strerror_debug(i32 noundef %9538, ptr noundef @.str.4)
  %9540 = call ptr @__errno_location() #11
  %9541 = load i32, ptr %9540, align 4, !tbaa !5
  %9542 = call ptr @strerror(i32 noundef %9541) #10
  %9543 = call ptr @__errno_location() #11
  %9544 = load i32, ptr %9543, align 4, !tbaa !5
  %9545 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9532, ptr noundef @.str.5, i32 noundef %9533, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 491, ptr noundef %9536, ptr noundef %9539, ptr noundef %9542, i32 noundef %9544) #10
  br label %9546

9546:                                             ; preds = %9529, %9512
  call void @llvm.lifetime.end.p0(i64 4, ptr %226) #10
  br label %9547

9547:                                             ; preds = %9546
  br label %9548

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

9549:                                             ; No predecessors!
  br label %9550

9550:                                             ; preds = %9549
  br label %9551

9551:                                             ; preds = %9550, %9490
  br label %9552

9552:                                             ; preds = %9551
  br label %9553

9553:                                             ; preds = %9552
  br label %9554

9554:                                             ; preds = %9553
  %9555 = load i32, ptr @test_count, align 4, !tbaa !5
  %9556 = add nsw i32 %9555, 1
  store i32 %9556, ptr @test_count, align 4, !tbaa !5
  %9557 = load ptr, ptr %220, align 8, !tbaa !9
  %9558 = load ptr, ptr %216, align 8, !tbaa !9
  %9559 = call i32 @s2n_connections_set_io_stuffer_pair(ptr noundef %9557, ptr noundef %9558, ptr noundef %224)
  %9560 = getelementptr inbounds %struct.s2n_result, ptr %227, i32 0, i32 0
  store i32 %9559, ptr %9560, align 4
  %9561 = getelementptr inbounds %struct.s2n_result, ptr %227, i32 0, i32 0
  %9562 = load i32, ptr %9561, align 4
  %9563 = call zeroext i1 @s2n_result_is_ok(i32 %9562)
  br i1 %9563, label %9617, label %9564

9564:                                             ; preds = %9554
  br label %9565

9565:                                             ; preds = %9564
  br label %9566

9566:                                             ; preds = %9565
  call void @llvm.lifetime.start.p0(i64 4, ptr %228) #10
  %9567 = call ptr @__errno_location() #11
  %9568 = load i32, ptr %9567, align 4, !tbaa !5
  store i32 %9568, ptr %228, align 4, !tbaa !5
  %9569 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9570 = call i32 @s2n_print_stacktrace(ptr noundef %9569)
  %9571 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9572 = trunc i8 %9571 to i1
  br i1 %9572, label %9573, label %9595

9573:                                             ; preds = %9566
  %9574 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9575 = call i32 @fileno(ptr noundef %9574) #10
  %9576 = call i32 @isatty(i32 noundef %9575) #10
  %9577 = icmp ne i32 %9576, 0
  br i1 %9577, label %9578, label %9595

9578:                                             ; preds = %9573
  %9579 = load i32, ptr %228, align 4, !tbaa !5
  %9580 = call ptr @__errno_location() #11
  store i32 %9579, ptr %9580, align 4, !tbaa !5
  %9581 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9582 = load i32, ptr @test_count, align 4, !tbaa !5
  %9583 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9584 = load i32, ptr %9583, align 4, !tbaa !5
  %9585 = call ptr @s2n_strerror(i32 noundef %9584, ptr noundef @.str.4)
  %9586 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9587 = load i32, ptr %9586, align 4, !tbaa !5
  %9588 = call ptr @s2n_strerror_debug(i32 noundef %9587, ptr noundef @.str.4)
  %9589 = call ptr @__errno_location() #11
  %9590 = load i32, ptr %9589, align 4, !tbaa !5
  %9591 = call ptr @strerror(i32 noundef %9590) #10
  %9592 = call ptr @__errno_location() #11
  %9593 = load i32, ptr %9592, align 4, !tbaa !5
  %9594 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9581, ptr noundef @.str.2, i32 noundef %9582, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 492, ptr noundef %9585, ptr noundef %9588, ptr noundef %9591, i32 noundef %9593) #10
  br label %9612

9595:                                             ; preds = %9573, %9566
  %9596 = load i32, ptr %228, align 4, !tbaa !5
  %9597 = call ptr @__errno_location() #11
  store i32 %9596, ptr %9597, align 4, !tbaa !5
  %9598 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9599 = load i32, ptr @test_count, align 4, !tbaa !5
  %9600 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9601 = load i32, ptr %9600, align 4, !tbaa !5
  %9602 = call ptr @s2n_strerror(i32 noundef %9601, ptr noundef @.str.4)
  %9603 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9604 = load i32, ptr %9603, align 4, !tbaa !5
  %9605 = call ptr @s2n_strerror_debug(i32 noundef %9604, ptr noundef @.str.4)
  %9606 = call ptr @__errno_location() #11
  %9607 = load i32, ptr %9606, align 4, !tbaa !5
  %9608 = call ptr @strerror(i32 noundef %9607) #10
  %9609 = call ptr @__errno_location() #11
  %9610 = load i32, ptr %9609, align 4, !tbaa !5
  %9611 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9598, ptr noundef @.str.5, i32 noundef %9599, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 492, ptr noundef %9602, ptr noundef %9605, ptr noundef %9608, i32 noundef %9610) #10
  br label %9612

9612:                                             ; preds = %9595, %9578
  call void @llvm.lifetime.end.p0(i64 4, ptr %228) #10
  br label %9613

9613:                                             ; preds = %9612
  br label %9614

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

9615:                                             ; No predecessors!
  br label %9616

9616:                                             ; preds = %9615
  br label %9617

9617:                                             ; preds = %9616, %9554
  br label %9618

9618:                                             ; preds = %9617
  br label %9619

9619:                                             ; preds = %9618
  br label %9620

9620:                                             ; preds = %9619
  %9621 = load i32, ptr @test_count, align 4, !tbaa !5
  %9622 = add nsw i32 %9621, 1
  store i32 %9622, ptr @test_count, align 4, !tbaa !5
  %9623 = load ptr, ptr %216, align 8, !tbaa !9
  %9624 = load ptr, ptr %220, align 8, !tbaa !9
  %9625 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %9623, ptr noundef %9624)
  %9626 = icmp eq i32 %9625, -1
  br i1 %9626, label %9627, label %9680

9627:                                             ; preds = %9620
  br label %9628

9628:                                             ; preds = %9627
  br label %9629

9629:                                             ; preds = %9628
  call void @llvm.lifetime.start.p0(i64 4, ptr %229) #10
  %9630 = call ptr @__errno_location() #11
  %9631 = load i32, ptr %9630, align 4, !tbaa !5
  store i32 %9631, ptr %229, align 4, !tbaa !5
  %9632 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9633 = call i32 @s2n_print_stacktrace(ptr noundef %9632)
  %9634 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9635 = trunc i8 %9634 to i1
  br i1 %9635, label %9636, label %9658

9636:                                             ; preds = %9629
  %9637 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9638 = call i32 @fileno(ptr noundef %9637) #10
  %9639 = call i32 @isatty(i32 noundef %9638) #10
  %9640 = icmp ne i32 %9639, 0
  br i1 %9640, label %9641, label %9658

9641:                                             ; preds = %9636
  %9642 = load i32, ptr %229, align 4, !tbaa !5
  %9643 = call ptr @__errno_location() #11
  store i32 %9642, ptr %9643, align 4, !tbaa !5
  %9644 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9645 = load i32, ptr @test_count, align 4, !tbaa !5
  %9646 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9647 = load i32, ptr %9646, align 4, !tbaa !5
  %9648 = call ptr @s2n_strerror(i32 noundef %9647, ptr noundef @.str.4)
  %9649 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9650 = load i32, ptr %9649, align 4, !tbaa !5
  %9651 = call ptr @s2n_strerror_debug(i32 noundef %9650, ptr noundef @.str.4)
  %9652 = call ptr @__errno_location() #11
  %9653 = load i32, ptr %9652, align 4, !tbaa !5
  %9654 = call ptr @strerror(i32 noundef %9653) #10
  %9655 = call ptr @__errno_location() #11
  %9656 = load i32, ptr %9655, align 4, !tbaa !5
  %9657 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9644, ptr noundef @.str.2, i32 noundef %9645, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 495, ptr noundef %9648, ptr noundef %9651, ptr noundef %9654, i32 noundef %9656) #10
  br label %9675

9658:                                             ; preds = %9636, %9629
  %9659 = load i32, ptr %229, align 4, !tbaa !5
  %9660 = call ptr @__errno_location() #11
  store i32 %9659, ptr %9660, align 4, !tbaa !5
  %9661 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9662 = load i32, ptr @test_count, align 4, !tbaa !5
  %9663 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9664 = load i32, ptr %9663, align 4, !tbaa !5
  %9665 = call ptr @s2n_strerror(i32 noundef %9664, ptr noundef @.str.4)
  %9666 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9667 = load i32, ptr %9666, align 4, !tbaa !5
  %9668 = call ptr @s2n_strerror_debug(i32 noundef %9667, ptr noundef @.str.4)
  %9669 = call ptr @__errno_location() #11
  %9670 = load i32, ptr %9669, align 4, !tbaa !5
  %9671 = call ptr @strerror(i32 noundef %9670) #10
  %9672 = call ptr @__errno_location() #11
  %9673 = load i32, ptr %9672, align 4, !tbaa !5
  %9674 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9661, ptr noundef @.str.5, i32 noundef %9662, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 495, ptr noundef %9665, ptr noundef %9668, ptr noundef %9671, i32 noundef %9673) #10
  br label %9675

9675:                                             ; preds = %9658, %9641
  call void @llvm.lifetime.end.p0(i64 4, ptr %229) #10
  br label %9676

9676:                                             ; preds = %9675
  br label %9677

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

9678:                                             ; No predecessors!
  br label %9679

9679:                                             ; preds = %9678
  br label %9680

9680:                                             ; preds = %9679, %9620
  br label %9681

9681:                                             ; preds = %9680
  br label %9682

9682:                                             ; preds = %9681
  br label %9683

9683:                                             ; preds = %9682
  %9684 = load i32, ptr @test_count, align 4, !tbaa !5
  %9685 = add nsw i32 %9684, 1
  store i32 %9685, ptr @test_count, align 4, !tbaa !5
  %9686 = load ptr, ptr %216, align 8, !tbaa !9
  %9687 = getelementptr inbounds %struct.s2n_connection, ptr %9686, i32 0, i32 23
  %9688 = load i8, ptr %9687, align 4, !tbaa !21
  %9689 = zext i8 %9688 to i32
  %9690 = icmp eq i32 %9689, 33
  br i1 %9690, label %9744, label %9691

9691:                                             ; preds = %9683
  br label %9692

9692:                                             ; preds = %9691
  br label %9693

9693:                                             ; preds = %9692
  call void @llvm.lifetime.start.p0(i64 4, ptr %230) #10
  %9694 = call ptr @__errno_location() #11
  %9695 = load i32, ptr %9694, align 4, !tbaa !5
  store i32 %9695, ptr %230, align 4, !tbaa !5
  %9696 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9697 = call i32 @s2n_print_stacktrace(ptr noundef %9696)
  %9698 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9699 = trunc i8 %9698 to i1
  br i1 %9699, label %9700, label %9722

9700:                                             ; preds = %9693
  %9701 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9702 = call i32 @fileno(ptr noundef %9701) #10
  %9703 = call i32 @isatty(i32 noundef %9702) #10
  %9704 = icmp ne i32 %9703, 0
  br i1 %9704, label %9705, label %9722

9705:                                             ; preds = %9700
  %9706 = load i32, ptr %230, align 4, !tbaa !5
  %9707 = call ptr @__errno_location() #11
  store i32 %9706, ptr %9707, align 4, !tbaa !5
  %9708 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9709 = load i32, ptr @test_count, align 4, !tbaa !5
  %9710 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9711 = load i32, ptr %9710, align 4, !tbaa !5
  %9712 = call ptr @s2n_strerror(i32 noundef %9711, ptr noundef @.str.4)
  %9713 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9714 = load i32, ptr %9713, align 4, !tbaa !5
  %9715 = call ptr @s2n_strerror_debug(i32 noundef %9714, ptr noundef @.str.4)
  %9716 = call ptr @__errno_location() #11
  %9717 = load i32, ptr %9716, align 4, !tbaa !5
  %9718 = call ptr @strerror(i32 noundef %9717) #10
  %9719 = call ptr @__errno_location() #11
  %9720 = load i32, ptr %9719, align 4, !tbaa !5
  %9721 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9708, ptr noundef @.str.2, i32 noundef %9709, ptr noundef @.str.84, ptr noundef @.str.1, i32 noundef 496, ptr noundef %9712, ptr noundef %9715, ptr noundef %9718, i32 noundef %9720) #10
  br label %9739

9722:                                             ; preds = %9700, %9693
  %9723 = load i32, ptr %230, align 4, !tbaa !5
  %9724 = call ptr @__errno_location() #11
  store i32 %9723, ptr %9724, align 4, !tbaa !5
  %9725 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9726 = load i32, ptr @test_count, align 4, !tbaa !5
  %9727 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9728 = load i32, ptr %9727, align 4, !tbaa !5
  %9729 = call ptr @s2n_strerror(i32 noundef %9728, ptr noundef @.str.4)
  %9730 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9731 = load i32, ptr %9730, align 4, !tbaa !5
  %9732 = call ptr @s2n_strerror_debug(i32 noundef %9731, ptr noundef @.str.4)
  %9733 = call ptr @__errno_location() #11
  %9734 = load i32, ptr %9733, align 4, !tbaa !5
  %9735 = call ptr @strerror(i32 noundef %9734) #10
  %9736 = call ptr @__errno_location() #11
  %9737 = load i32, ptr %9736, align 4, !tbaa !5
  %9738 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9725, ptr noundef @.str.5, i32 noundef %9726, ptr noundef @.str.84, ptr noundef @.str.1, i32 noundef 496, ptr noundef %9729, ptr noundef %9732, ptr noundef %9735, i32 noundef %9737) #10
  br label %9739

9739:                                             ; preds = %9722, %9705
  call void @llvm.lifetime.end.p0(i64 4, ptr %230) #10
  br label %9740

9740:                                             ; preds = %9739
  br label %9741

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

9742:                                             ; No predecessors!
  br label %9743

9743:                                             ; preds = %9742
  br label %9744

9744:                                             ; preds = %9743, %9683
  br label %9745

9745:                                             ; preds = %9744
  br label %9746

9746:                                             ; preds = %9745
  call void @llvm.lifetime.start.p0(i64 8, ptr %231) #10
  %9747 = load ptr, ptr %216, align 8, !tbaa !9
  store ptr %9747, ptr %231, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %232) #10
  %9748 = load ptr, ptr %220, align 8, !tbaa !9
  store ptr %9748, ptr %232, align 8, !tbaa !9
  %9749 = load i8, ptr %215, align 1, !tbaa !17
  %9750 = zext i8 %9749 to i32
  %9751 = icmp eq i32 %9750, 1
  br i1 %9751, label %9752, label %9755

9752:                                             ; preds = %9746
  %9753 = load ptr, ptr %220, align 8, !tbaa !9
  store ptr %9753, ptr %231, align 8, !tbaa !9
  %9754 = load ptr, ptr %216, align 8, !tbaa !9
  store ptr %9754, ptr %232, align 8, !tbaa !9
  br label %9755

9755:                                             ; preds = %9752, %9746
  call void @llvm.lifetime.start.p0(i64 4, ptr %233) #10
  store i32 0, ptr %233, align 4, !tbaa !5
  br label %9756

9756:                                             ; preds = %9755
  %9757 = load i32, ptr @test_count, align 4, !tbaa !5
  %9758 = add nsw i32 %9757, 1
  store i32 %9758, ptr @test_count, align 4, !tbaa !5
  %9759 = load ptr, ptr %231, align 8, !tbaa !9
  %9760 = call i32 @s2n_shutdown_send(ptr noundef %9759, ptr noundef %233)
  %9761 = icmp eq i32 %9760, -1
  br i1 %9761, label %9762, label %9815

9762:                                             ; preds = %9756
  br label %9763

9763:                                             ; preds = %9762
  br label %9764

9764:                                             ; preds = %9763
  call void @llvm.lifetime.start.p0(i64 4, ptr %234) #10
  %9765 = call ptr @__errno_location() #11
  %9766 = load i32, ptr %9765, align 4, !tbaa !5
  store i32 %9766, ptr %234, align 4, !tbaa !5
  %9767 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9768 = call i32 @s2n_print_stacktrace(ptr noundef %9767)
  %9769 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9770 = trunc i8 %9769 to i1
  br i1 %9770, label %9771, label %9793

9771:                                             ; preds = %9764
  %9772 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9773 = call i32 @fileno(ptr noundef %9772) #10
  %9774 = call i32 @isatty(i32 noundef %9773) #10
  %9775 = icmp ne i32 %9774, 0
  br i1 %9775, label %9776, label %9793

9776:                                             ; preds = %9771
  %9777 = load i32, ptr %234, align 4, !tbaa !5
  %9778 = call ptr @__errno_location() #11
  store i32 %9777, ptr %9778, align 4, !tbaa !5
  %9779 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9780 = load i32, ptr @test_count, align 4, !tbaa !5
  %9781 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9782 = load i32, ptr %9781, align 4, !tbaa !5
  %9783 = call ptr @s2n_strerror(i32 noundef %9782, ptr noundef @.str.4)
  %9784 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9785 = load i32, ptr %9784, align 4, !tbaa !5
  %9786 = call ptr @s2n_strerror_debug(i32 noundef %9785, ptr noundef @.str.4)
  %9787 = call ptr @__errno_location() #11
  %9788 = load i32, ptr %9787, align 4, !tbaa !5
  %9789 = call ptr @strerror(i32 noundef %9788) #10
  %9790 = call ptr @__errno_location() #11
  %9791 = load i32, ptr %9790, align 4, !tbaa !5
  %9792 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9779, ptr noundef @.str.2, i32 noundef %9780, ptr noundef @.str.75, ptr noundef @.str.1, i32 noundef 507, ptr noundef %9783, ptr noundef %9786, ptr noundef %9789, i32 noundef %9791) #10
  br label %9810

9793:                                             ; preds = %9771, %9764
  %9794 = load i32, ptr %234, align 4, !tbaa !5
  %9795 = call ptr @__errno_location() #11
  store i32 %9794, ptr %9795, align 4, !tbaa !5
  %9796 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9797 = load i32, ptr @test_count, align 4, !tbaa !5
  %9798 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9799 = load i32, ptr %9798, align 4, !tbaa !5
  %9800 = call ptr @s2n_strerror(i32 noundef %9799, ptr noundef @.str.4)
  %9801 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9802 = load i32, ptr %9801, align 4, !tbaa !5
  %9803 = call ptr @s2n_strerror_debug(i32 noundef %9802, ptr noundef @.str.4)
  %9804 = call ptr @__errno_location() #11
  %9805 = load i32, ptr %9804, align 4, !tbaa !5
  %9806 = call ptr @strerror(i32 noundef %9805) #10
  %9807 = call ptr @__errno_location() #11
  %9808 = load i32, ptr %9807, align 4, !tbaa !5
  %9809 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9796, ptr noundef @.str.5, i32 noundef %9797, ptr noundef @.str.75, ptr noundef @.str.1, i32 noundef 507, ptr noundef %9800, ptr noundef %9803, ptr noundef %9806, i32 noundef %9808) #10
  br label %9810

9810:                                             ; preds = %9793, %9776
  call void @llvm.lifetime.end.p0(i64 4, ptr %234) #10
  br label %9811

9811:                                             ; preds = %9810
  br label %9812

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

9813:                                             ; No predecessors!
  br label %9814

9814:                                             ; preds = %9813
  br label %9815

9815:                                             ; preds = %9814, %9756
  br label %9816

9816:                                             ; preds = %9815
  br label %9817

9817:                                             ; preds = %9816
  br label %9818

9818:                                             ; preds = %9817
  %9819 = load i32, ptr @test_count, align 4, !tbaa !5
  %9820 = add nsw i32 %9819, 1
  store i32 %9820, ptr @test_count, align 4, !tbaa !5
  %9821 = load ptr, ptr %231, align 8, !tbaa !9
  %9822 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %9821, i32 noundef 3)
  br i1 %9822, label %9876, label %9823

9823:                                             ; preds = %9818
  br label %9824

9824:                                             ; preds = %9823
  br label %9825

9825:                                             ; preds = %9824
  call void @llvm.lifetime.start.p0(i64 4, ptr %235) #10
  %9826 = call ptr @__errno_location() #11
  %9827 = load i32, ptr %9826, align 4, !tbaa !5
  store i32 %9827, ptr %235, align 4, !tbaa !5
  %9828 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9829 = call i32 @s2n_print_stacktrace(ptr noundef %9828)
  %9830 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9831 = trunc i8 %9830 to i1
  br i1 %9831, label %9832, label %9854

9832:                                             ; preds = %9825
  %9833 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9834 = call i32 @fileno(ptr noundef %9833) #10
  %9835 = call i32 @isatty(i32 noundef %9834) #10
  %9836 = icmp ne i32 %9835, 0
  br i1 %9836, label %9837, label %9854

9837:                                             ; preds = %9832
  %9838 = load i32, ptr %235, align 4, !tbaa !5
  %9839 = call ptr @__errno_location() #11
  store i32 %9838, ptr %9839, align 4, !tbaa !5
  %9840 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9841 = load i32, ptr @test_count, align 4, !tbaa !5
  %9842 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9843 = load i32, ptr %9842, align 4, !tbaa !5
  %9844 = call ptr @s2n_strerror(i32 noundef %9843, ptr noundef @.str.4)
  %9845 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9846 = load i32, ptr %9845, align 4, !tbaa !5
  %9847 = call ptr @s2n_strerror_debug(i32 noundef %9846, ptr noundef @.str.4)
  %9848 = call ptr @__errno_location() #11
  %9849 = load i32, ptr %9848, align 4, !tbaa !5
  %9850 = call ptr @strerror(i32 noundef %9849) #10
  %9851 = call ptr @__errno_location() #11
  %9852 = load i32, ptr %9851, align 4, !tbaa !5
  %9853 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9840, ptr noundef @.str.2, i32 noundef %9841, ptr noundef @.str.85, ptr noundef @.str.1, i32 noundef 508, ptr noundef %9844, ptr noundef %9847, ptr noundef %9850, i32 noundef %9852) #10
  br label %9871

9854:                                             ; preds = %9832, %9825
  %9855 = load i32, ptr %235, align 4, !tbaa !5
  %9856 = call ptr @__errno_location() #11
  store i32 %9855, ptr %9856, align 4, !tbaa !5
  %9857 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9858 = load i32, ptr @test_count, align 4, !tbaa !5
  %9859 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9860 = load i32, ptr %9859, align 4, !tbaa !5
  %9861 = call ptr @s2n_strerror(i32 noundef %9860, ptr noundef @.str.4)
  %9862 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9863 = load i32, ptr %9862, align 4, !tbaa !5
  %9864 = call ptr @s2n_strerror_debug(i32 noundef %9863, ptr noundef @.str.4)
  %9865 = call ptr @__errno_location() #11
  %9866 = load i32, ptr %9865, align 4, !tbaa !5
  %9867 = call ptr @strerror(i32 noundef %9866) #10
  %9868 = call ptr @__errno_location() #11
  %9869 = load i32, ptr %9868, align 4, !tbaa !5
  %9870 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9857, ptr noundef @.str.5, i32 noundef %9858, ptr noundef @.str.85, ptr noundef @.str.1, i32 noundef 508, ptr noundef %9861, ptr noundef %9864, ptr noundef %9867, i32 noundef %9869) #10
  br label %9871

9871:                                             ; preds = %9854, %9837
  call void @llvm.lifetime.end.p0(i64 4, ptr %235) #10
  br label %9872

9872:                                             ; preds = %9871
  br label %9873

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

9874:                                             ; No predecessors!
  br label %9875

9875:                                             ; preds = %9874
  br label %9876

9876:                                             ; preds = %9875, %9818
  br label %9877

9877:                                             ; preds = %9876
  br label %9878

9878:                                             ; preds = %9877
  br label %9879

9879:                                             ; preds = %9878
  %9880 = load i32, ptr @test_count, align 4, !tbaa !5
  %9881 = add nsw i32 %9880, 1
  store i32 %9881, ptr @test_count, align 4, !tbaa !5
  %9882 = load ptr, ptr %232, align 8, !tbaa !9
  %9883 = getelementptr inbounds [6 x i8], ptr %11, i64 0, i64 0
  %9884 = call i64 @s2n_recv(ptr noundef %9882, ptr noundef %9883, i64 noundef 6, ptr noundef %233)
  %9885 = icmp eq i64 %9884, 0
  br i1 %9885, label %9939, label %9886

9886:                                             ; preds = %9879
  br label %9887

9887:                                             ; preds = %9886
  br label %9888

9888:                                             ; preds = %9887
  call void @llvm.lifetime.start.p0(i64 4, ptr %236) #10
  %9889 = call ptr @__errno_location() #11
  %9890 = load i32, ptr %9889, align 4, !tbaa !5
  store i32 %9890, ptr %236, align 4, !tbaa !5
  %9891 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9892 = call i32 @s2n_print_stacktrace(ptr noundef %9891)
  %9893 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9894 = trunc i8 %9893 to i1
  br i1 %9894, label %9895, label %9917

9895:                                             ; preds = %9888
  %9896 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9897 = call i32 @fileno(ptr noundef %9896) #10
  %9898 = call i32 @isatty(i32 noundef %9897) #10
  %9899 = icmp ne i32 %9898, 0
  br i1 %9899, label %9900, label %9917

9900:                                             ; preds = %9895
  %9901 = load i32, ptr %236, align 4, !tbaa !5
  %9902 = call ptr @__errno_location() #11
  store i32 %9901, ptr %9902, align 4, !tbaa !5
  %9903 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9904 = load i32, ptr @test_count, align 4, !tbaa !5
  %9905 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9906 = load i32, ptr %9905, align 4, !tbaa !5
  %9907 = call ptr @s2n_strerror(i32 noundef %9906, ptr noundef @.str.4)
  %9908 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9909 = load i32, ptr %9908, align 4, !tbaa !5
  %9910 = call ptr @s2n_strerror_debug(i32 noundef %9909, ptr noundef @.str.4)
  %9911 = call ptr @__errno_location() #11
  %9912 = load i32, ptr %9911, align 4, !tbaa !5
  %9913 = call ptr @strerror(i32 noundef %9912) #10
  %9914 = call ptr @__errno_location() #11
  %9915 = load i32, ptr %9914, align 4, !tbaa !5
  %9916 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9903, ptr noundef @.str.2, i32 noundef %9904, ptr noundef @.str.72, ptr noundef @.str.1, i32 noundef 511, ptr noundef %9907, ptr noundef %9910, ptr noundef %9913, i32 noundef %9915) #10
  br label %9934

9917:                                             ; preds = %9895, %9888
  %9918 = load i32, ptr %236, align 4, !tbaa !5
  %9919 = call ptr @__errno_location() #11
  store i32 %9918, ptr %9919, align 4, !tbaa !5
  %9920 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9921 = load i32, ptr @test_count, align 4, !tbaa !5
  %9922 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9923 = load i32, ptr %9922, align 4, !tbaa !5
  %9924 = call ptr @s2n_strerror(i32 noundef %9923, ptr noundef @.str.4)
  %9925 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9926 = load i32, ptr %9925, align 4, !tbaa !5
  %9927 = call ptr @s2n_strerror_debug(i32 noundef %9926, ptr noundef @.str.4)
  %9928 = call ptr @__errno_location() #11
  %9929 = load i32, ptr %9928, align 4, !tbaa !5
  %9930 = call ptr @strerror(i32 noundef %9929) #10
  %9931 = call ptr @__errno_location() #11
  %9932 = load i32, ptr %9931, align 4, !tbaa !5
  %9933 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9920, ptr noundef @.str.5, i32 noundef %9921, ptr noundef @.str.72, ptr noundef @.str.1, i32 noundef 511, ptr noundef %9924, ptr noundef %9927, ptr noundef %9930, i32 noundef %9932) #10
  br label %9934

9934:                                             ; preds = %9917, %9900
  call void @llvm.lifetime.end.p0(i64 4, ptr %236) #10
  br label %9935

9935:                                             ; preds = %9934
  br label %9936

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

9937:                                             ; No predecessors!
  br label %9938

9938:                                             ; preds = %9937
  br label %9939

9939:                                             ; preds = %9938, %9879
  br label %9940

9940:                                             ; preds = %9939
  br label %9941

9941:                                             ; preds = %9940
  br label %9942

9942:                                             ; preds = %9941
  %9943 = load i32, ptr @test_count, align 4, !tbaa !5
  %9944 = add nsw i32 %9943, 1
  store i32 %9944, ptr @test_count, align 4, !tbaa !5
  %9945 = load ptr, ptr %232, align 8, !tbaa !9
  %9946 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %9945, i32 noundef 3)
  br i1 %9946, label %10000, label %9947

9947:                                             ; preds = %9942
  br label %9948

9948:                                             ; preds = %9947
  br label %9949

9949:                                             ; preds = %9948
  call void @llvm.lifetime.start.p0(i64 4, ptr %237) #10
  %9950 = call ptr @__errno_location() #11
  %9951 = load i32, ptr %9950, align 4, !tbaa !5
  store i32 %9951, ptr %237, align 4, !tbaa !5
  %9952 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9953 = call i32 @s2n_print_stacktrace(ptr noundef %9952)
  %9954 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9955 = trunc i8 %9954 to i1
  br i1 %9955, label %9956, label %9978

9956:                                             ; preds = %9949
  %9957 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9958 = call i32 @fileno(ptr noundef %9957) #10
  %9959 = call i32 @isatty(i32 noundef %9958) #10
  %9960 = icmp ne i32 %9959, 0
  br i1 %9960, label %9961, label %9978

9961:                                             ; preds = %9956
  %9962 = load i32, ptr %237, align 4, !tbaa !5
  %9963 = call ptr @__errno_location() #11
  store i32 %9962, ptr %9963, align 4, !tbaa !5
  %9964 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9965 = load i32, ptr @test_count, align 4, !tbaa !5
  %9966 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9967 = load i32, ptr %9966, align 4, !tbaa !5
  %9968 = call ptr @s2n_strerror(i32 noundef %9967, ptr noundef @.str.4)
  %9969 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9970 = load i32, ptr %9969, align 4, !tbaa !5
  %9971 = call ptr @s2n_strerror_debug(i32 noundef %9970, ptr noundef @.str.4)
  %9972 = call ptr @__errno_location() #11
  %9973 = load i32, ptr %9972, align 4, !tbaa !5
  %9974 = call ptr @strerror(i32 noundef %9973) #10
  %9975 = call ptr @__errno_location() #11
  %9976 = load i32, ptr %9975, align 4, !tbaa !5
  %9977 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9964, ptr noundef @.str.2, i32 noundef %9965, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 512, ptr noundef %9968, ptr noundef %9971, ptr noundef %9974, i32 noundef %9976) #10
  br label %9995

9978:                                             ; preds = %9956, %9949
  %9979 = load i32, ptr %237, align 4, !tbaa !5
  %9980 = call ptr @__errno_location() #11
  store i32 %9979, ptr %9980, align 4, !tbaa !5
  %9981 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9982 = load i32, ptr @test_count, align 4, !tbaa !5
  %9983 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9984 = load i32, ptr %9983, align 4, !tbaa !5
  %9985 = call ptr @s2n_strerror(i32 noundef %9984, ptr noundef @.str.4)
  %9986 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9987 = load i32, ptr %9986, align 4, !tbaa !5
  %9988 = call ptr @s2n_strerror_debug(i32 noundef %9987, ptr noundef @.str.4)
  %9989 = call ptr @__errno_location() #11
  %9990 = load i32, ptr %9989, align 4, !tbaa !5
  %9991 = call ptr @strerror(i32 noundef %9990) #10
  %9992 = call ptr @__errno_location() #11
  %9993 = load i32, ptr %9992, align 4, !tbaa !5
  %9994 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9981, ptr noundef @.str.5, i32 noundef %9982, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 512, ptr noundef %9985, ptr noundef %9988, ptr noundef %9991, i32 noundef %9993) #10
  br label %9995

9995:                                             ; preds = %9978, %9961
  call void @llvm.lifetime.end.p0(i64 4, ptr %237) #10
  br label %9996

9996:                                             ; preds = %9995
  br label %9997

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

9998:                                             ; No predecessors!
  br label %9999

9999:                                             ; preds = %9998
  br label %10000

10000:                                            ; preds = %9999, %9942
  br label %10001

10001:                                            ; preds = %10000
  br label %10002

10002:                                            ; preds = %10001
  br label %10003

10003:                                            ; preds = %10002
  %10004 = load i32, ptr @test_count, align 4, !tbaa !5
  %10005 = add nsw i32 %10004, 1
  store i32 %10005, ptr @test_count, align 4, !tbaa !5
  %10006 = load i32, ptr %233, align 4, !tbaa !5
  %10007 = icmp eq i32 %10006, 0
  br i1 %10007, label %10061, label %10008

10008:                                            ; preds = %10003
  br label %10009

10009:                                            ; preds = %10008
  br label %10010

10010:                                            ; preds = %10009
  call void @llvm.lifetime.start.p0(i64 4, ptr %238) #10
  %10011 = call ptr @__errno_location() #11
  %10012 = load i32, ptr %10011, align 4, !tbaa !5
  store i32 %10012, ptr %238, align 4, !tbaa !5
  %10013 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10014 = call i32 @s2n_print_stacktrace(ptr noundef %10013)
  %10015 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10016 = trunc i8 %10015 to i1
  br i1 %10016, label %10017, label %10039

10017:                                            ; preds = %10010
  %10018 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10019 = call i32 @fileno(ptr noundef %10018) #10
  %10020 = call i32 @isatty(i32 noundef %10019) #10
  %10021 = icmp ne i32 %10020, 0
  br i1 %10021, label %10022, label %10039

10022:                                            ; preds = %10017
  %10023 = load i32, ptr %238, align 4, !tbaa !5
  %10024 = call ptr @__errno_location() #11
  store i32 %10023, ptr %10024, align 4, !tbaa !5
  %10025 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10026 = load i32, ptr @test_count, align 4, !tbaa !5
  %10027 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10028 = load i32, ptr %10027, align 4, !tbaa !5
  %10029 = call ptr @s2n_strerror(i32 noundef %10028, ptr noundef @.str.4)
  %10030 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10031 = load i32, ptr %10030, align 4, !tbaa !5
  %10032 = call ptr @s2n_strerror_debug(i32 noundef %10031, ptr noundef @.str.4)
  %10033 = call ptr @__errno_location() #11
  %10034 = load i32, ptr %10033, align 4, !tbaa !5
  %10035 = call ptr @strerror(i32 noundef %10034) #10
  %10036 = call ptr @__errno_location() #11
  %10037 = load i32, ptr %10036, align 4, !tbaa !5
  %10038 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10025, ptr noundef @.str.2, i32 noundef %10026, ptr noundef @.str.65, ptr noundef @.str.1, i32 noundef 513, ptr noundef %10029, ptr noundef %10032, ptr noundef %10035, i32 noundef %10037) #10
  br label %10056

10039:                                            ; preds = %10017, %10010
  %10040 = load i32, ptr %238, align 4, !tbaa !5
  %10041 = call ptr @__errno_location() #11
  store i32 %10040, ptr %10041, align 4, !tbaa !5
  %10042 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10043 = load i32, ptr @test_count, align 4, !tbaa !5
  %10044 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10045 = load i32, ptr %10044, align 4, !tbaa !5
  %10046 = call ptr @s2n_strerror(i32 noundef %10045, ptr noundef @.str.4)
  %10047 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10048 = load i32, ptr %10047, align 4, !tbaa !5
  %10049 = call ptr @s2n_strerror_debug(i32 noundef %10048, ptr noundef @.str.4)
  %10050 = call ptr @__errno_location() #11
  %10051 = load i32, ptr %10050, align 4, !tbaa !5
  %10052 = call ptr @strerror(i32 noundef %10051) #10
  %10053 = call ptr @__errno_location() #11
  %10054 = load i32, ptr %10053, align 4, !tbaa !5
  %10055 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10042, ptr noundef @.str.5, i32 noundef %10043, ptr noundef @.str.65, ptr noundef @.str.1, i32 noundef 513, ptr noundef %10046, ptr noundef %10049, ptr noundef %10052, i32 noundef %10054) #10
  br label %10056

10056:                                            ; preds = %10039, %10022
  call void @llvm.lifetime.end.p0(i64 4, ptr %238) #10
  br label %10057

10057:                                            ; preds = %10056
  br label %10058

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

10059:                                            ; No predecessors!
  br label %10060

10060:                                            ; preds = %10059
  br label %10061

10061:                                            ; preds = %10060, %10003
  br label %10062

10062:                                            ; preds = %10061
  br label %10063

10063:                                            ; preds = %10062
  br label %10064

10064:                                            ; preds = %10063
  br label %10065

10065:                                            ; preds = %10064
  br label %10066

10066:                                            ; preds = %10065
  %10067 = load i32, ptr @test_count, align 4, !tbaa !5
  %10068 = add nsw i32 %10067, 1
  store i32 %10068, ptr @test_count, align 4, !tbaa !5
  %10069 = load ptr, ptr %232, align 8, !tbaa !9
  %10070 = getelementptr inbounds [6 x i8], ptr %11, i64 0, i64 0
  %10071 = call i64 @s2n_send(ptr noundef %10069, ptr noundef %10070, i64 noundef 6, ptr noundef %233)
  %10072 = icmp eq i64 %10071, -1
  br i1 %10072, label %10126, label %10073

10073:                                            ; preds = %10066
  br label %10074

10074:                                            ; preds = %10073
  br label %10075

10075:                                            ; preds = %10074
  call void @llvm.lifetime.start.p0(i64 4, ptr %239) #10
  %10076 = call ptr @__errno_location() #11
  %10077 = load i32, ptr %10076, align 4, !tbaa !5
  store i32 %10077, ptr %239, align 4, !tbaa !5
  %10078 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10079 = call i32 @s2n_print_stacktrace(ptr noundef %10078)
  %10080 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10081 = trunc i8 %10080 to i1
  br i1 %10081, label %10082, label %10104

10082:                                            ; preds = %10075
  %10083 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10084 = call i32 @fileno(ptr noundef %10083) #10
  %10085 = call i32 @isatty(i32 noundef %10084) #10
  %10086 = icmp ne i32 %10085, 0
  br i1 %10086, label %10087, label %10104

10087:                                            ; preds = %10082
  %10088 = load i32, ptr %239, align 4, !tbaa !5
  %10089 = call ptr @__errno_location() #11
  store i32 %10088, ptr %10089, align 4, !tbaa !5
  %10090 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10091 = load i32, ptr @test_count, align 4, !tbaa !5
  %10092 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10093 = load i32, ptr %10092, align 4, !tbaa !5
  %10094 = call ptr @s2n_strerror(i32 noundef %10093, ptr noundef @.str.4)
  %10095 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10096 = load i32, ptr %10095, align 4, !tbaa !5
  %10097 = call ptr @s2n_strerror_debug(i32 noundef %10096, ptr noundef @.str.4)
  %10098 = call ptr @__errno_location() #11
  %10099 = load i32, ptr %10098, align 4, !tbaa !5
  %10100 = call ptr @strerror(i32 noundef %10099) #10
  %10101 = call ptr @__errno_location() #11
  %10102 = load i32, ptr %10101, align 4, !tbaa !5
  %10103 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10090, ptr noundef @.str.2, i32 noundef %10091, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 519, ptr noundef %10094, ptr noundef %10097, ptr noundef %10100, i32 noundef %10102) #10
  br label %10121

10104:                                            ; preds = %10082, %10075
  %10105 = load i32, ptr %239, align 4, !tbaa !5
  %10106 = call ptr @__errno_location() #11
  store i32 %10105, ptr %10106, align 4, !tbaa !5
  %10107 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10108 = load i32, ptr @test_count, align 4, !tbaa !5
  %10109 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10110 = load i32, ptr %10109, align 4, !tbaa !5
  %10111 = call ptr @s2n_strerror(i32 noundef %10110, ptr noundef @.str.4)
  %10112 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10113 = load i32, ptr %10112, align 4, !tbaa !5
  %10114 = call ptr @s2n_strerror_debug(i32 noundef %10113, ptr noundef @.str.4)
  %10115 = call ptr @__errno_location() #11
  %10116 = load i32, ptr %10115, align 4, !tbaa !5
  %10117 = call ptr @strerror(i32 noundef %10116) #10
  %10118 = call ptr @__errno_location() #11
  %10119 = load i32, ptr %10118, align 4, !tbaa !5
  %10120 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10107, ptr noundef @.str.5, i32 noundef %10108, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 519, ptr noundef %10111, ptr noundef %10114, ptr noundef %10117, i32 noundef %10119) #10
  br label %10121

10121:                                            ; preds = %10104, %10087
  call void @llvm.lifetime.end.p0(i64 4, ptr %239) #10
  br label %10122

10122:                                            ; preds = %10121
  br label %10123

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

10124:                                            ; No predecessors!
  br label %10125

10125:                                            ; preds = %10124
  br label %10126

10126:                                            ; preds = %10125, %10066
  br label %10127

10127:                                            ; preds = %10126
  br label %10128

10128:                                            ; preds = %10127
  br label %10129

10129:                                            ; preds = %10128
  %10130 = load i32, ptr @test_count, align 4, !tbaa !5
  %10131 = add nsw i32 %10130, 1
  store i32 %10131, ptr @test_count, align 4, !tbaa !5
  %10132 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10133 = load i32, ptr %10132, align 4, !tbaa !5
  %10134 = icmp eq i32 %10133, 134217728
  br i1 %10134, label %10188, label %10135

10135:                                            ; preds = %10129
  br label %10136

10136:                                            ; preds = %10135
  br label %10137

10137:                                            ; preds = %10136
  call void @llvm.lifetime.start.p0(i64 4, ptr %240) #10
  %10138 = call ptr @__errno_location() #11
  %10139 = load i32, ptr %10138, align 4, !tbaa !5
  store i32 %10139, ptr %240, align 4, !tbaa !5
  %10140 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10141 = call i32 @s2n_print_stacktrace(ptr noundef %10140)
  %10142 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10143 = trunc i8 %10142 to i1
  br i1 %10143, label %10144, label %10166

10144:                                            ; preds = %10137
  %10145 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10146 = call i32 @fileno(ptr noundef %10145) #10
  %10147 = call i32 @isatty(i32 noundef %10146) #10
  %10148 = icmp ne i32 %10147, 0
  br i1 %10148, label %10149, label %10166

10149:                                            ; preds = %10144
  %10150 = load i32, ptr %240, align 4, !tbaa !5
  %10151 = call ptr @__errno_location() #11
  store i32 %10150, ptr %10151, align 4, !tbaa !5
  %10152 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10153 = load i32, ptr @test_count, align 4, !tbaa !5
  %10154 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10155 = load i32, ptr %10154, align 4, !tbaa !5
  %10156 = call ptr @s2n_strerror(i32 noundef %10155, ptr noundef @.str.4)
  %10157 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10158 = load i32, ptr %10157, align 4, !tbaa !5
  %10159 = call ptr @s2n_strerror_debug(i32 noundef %10158, ptr noundef @.str.4)
  %10160 = call ptr @__errno_location() #11
  %10161 = load i32, ptr %10160, align 4, !tbaa !5
  %10162 = call ptr @strerror(i32 noundef %10161) #10
  %10163 = call ptr @__errno_location() #11
  %10164 = load i32, ptr %10163, align 4, !tbaa !5
  %10165 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10152, ptr noundef @.str.2, i32 noundef %10153, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 519, ptr noundef %10156, ptr noundef %10159, ptr noundef %10162, i32 noundef %10164) #10
  br label %10183

10166:                                            ; preds = %10144, %10137
  %10167 = load i32, ptr %240, align 4, !tbaa !5
  %10168 = call ptr @__errno_location() #11
  store i32 %10167, ptr %10168, align 4, !tbaa !5
  %10169 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10170 = load i32, ptr @test_count, align 4, !tbaa !5
  %10171 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10172 = load i32, ptr %10171, align 4, !tbaa !5
  %10173 = call ptr @s2n_strerror(i32 noundef %10172, ptr noundef @.str.4)
  %10174 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10175 = load i32, ptr %10174, align 4, !tbaa !5
  %10176 = call ptr @s2n_strerror_debug(i32 noundef %10175, ptr noundef @.str.4)
  %10177 = call ptr @__errno_location() #11
  %10178 = load i32, ptr %10177, align 4, !tbaa !5
  %10179 = call ptr @strerror(i32 noundef %10178) #10
  %10180 = call ptr @__errno_location() #11
  %10181 = load i32, ptr %10180, align 4, !tbaa !5
  %10182 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10169, ptr noundef @.str.5, i32 noundef %10170, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 519, ptr noundef %10173, ptr noundef %10176, ptr noundef %10179, i32 noundef %10181) #10
  br label %10183

10183:                                            ; preds = %10166, %10149
  call void @llvm.lifetime.end.p0(i64 4, ptr %240) #10
  br label %10184

10184:                                            ; preds = %10183
  br label %10185

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

10186:                                            ; No predecessors!
  br label %10187

10187:                                            ; preds = %10186
  br label %10188

10188:                                            ; preds = %10187, %10129
  br label %10189

10189:                                            ; preds = %10188
  br label %10190

10190:                                            ; preds = %10189
  br label %10191

10191:                                            ; preds = %10190
  %10192 = load i32, ptr @test_count, align 4, !tbaa !5
  %10193 = add nsw i32 %10192, 1
  store i32 %10193, ptr @test_count, align 4, !tbaa !5
  %10194 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10195 = load i32, ptr %10194, align 4, !tbaa !5
  %10196 = call ptr @s2n_strerror_debug(i32 noundef %10195, ptr noundef @.str.4)
  %10197 = icmp eq ptr %10196, null
  br i1 %10197, label %10198, label %10251

10198:                                            ; preds = %10191
  br label %10199

10199:                                            ; preds = %10198
  br label %10200

10200:                                            ; preds = %10199
  call void @llvm.lifetime.start.p0(i64 4, ptr %241) #10
  %10201 = call ptr @__errno_location() #11
  %10202 = load i32, ptr %10201, align 4, !tbaa !5
  store i32 %10202, ptr %241, align 4, !tbaa !5
  %10203 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10204 = call i32 @s2n_print_stacktrace(ptr noundef %10203)
  %10205 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10206 = trunc i8 %10205 to i1
  br i1 %10206, label %10207, label %10229

10207:                                            ; preds = %10200
  %10208 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10209 = call i32 @fileno(ptr noundef %10208) #10
  %10210 = call i32 @isatty(i32 noundef %10209) #10
  %10211 = icmp ne i32 %10210, 0
  br i1 %10211, label %10212, label %10229

10212:                                            ; preds = %10207
  %10213 = load i32, ptr %241, align 4, !tbaa !5
  %10214 = call ptr @__errno_location() #11
  store i32 %10213, ptr %10214, align 4, !tbaa !5
  %10215 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10216 = load i32, ptr @test_count, align 4, !tbaa !5
  %10217 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10218 = load i32, ptr %10217, align 4, !tbaa !5
  %10219 = call ptr @s2n_strerror(i32 noundef %10218, ptr noundef @.str.4)
  %10220 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10221 = load i32, ptr %10220, align 4, !tbaa !5
  %10222 = call ptr @s2n_strerror_debug(i32 noundef %10221, ptr noundef @.str.4)
  %10223 = call ptr @__errno_location() #11
  %10224 = load i32, ptr %10223, align 4, !tbaa !5
  %10225 = call ptr @strerror(i32 noundef %10224) #10
  %10226 = call ptr @__errno_location() #11
  %10227 = load i32, ptr %10226, align 4, !tbaa !5
  %10228 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10215, ptr noundef @.str.2, i32 noundef %10216, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 519, ptr noundef %10219, ptr noundef %10222, ptr noundef %10225, i32 noundef %10227) #10
  br label %10246

10229:                                            ; preds = %10207, %10200
  %10230 = load i32, ptr %241, align 4, !tbaa !5
  %10231 = call ptr @__errno_location() #11
  store i32 %10230, ptr %10231, align 4, !tbaa !5
  %10232 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10233 = load i32, ptr @test_count, align 4, !tbaa !5
  %10234 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10235 = load i32, ptr %10234, align 4, !tbaa !5
  %10236 = call ptr @s2n_strerror(i32 noundef %10235, ptr noundef @.str.4)
  %10237 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10238 = load i32, ptr %10237, align 4, !tbaa !5
  %10239 = call ptr @s2n_strerror_debug(i32 noundef %10238, ptr noundef @.str.4)
  %10240 = call ptr @__errno_location() #11
  %10241 = load i32, ptr %10240, align 4, !tbaa !5
  %10242 = call ptr @strerror(i32 noundef %10241) #10
  %10243 = call ptr @__errno_location() #11
  %10244 = load i32, ptr %10243, align 4, !tbaa !5
  %10245 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10232, ptr noundef @.str.5, i32 noundef %10233, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 519, ptr noundef %10236, ptr noundef %10239, ptr noundef %10242, i32 noundef %10244) #10
  br label %10246

10246:                                            ; preds = %10229, %10212
  call void @llvm.lifetime.end.p0(i64 4, ptr %241) #10
  br label %10247

10247:                                            ; preds = %10246
  br label %10248

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

10249:                                            ; No predecessors!
  br label %10250

10250:                                            ; preds = %10249
  br label %10251

10251:                                            ; preds = %10250, %10191
  br label %10252

10252:                                            ; preds = %10251
  br label %10253

10253:                                            ; preds = %10252
  br label %10254

10254:                                            ; preds = %10253
  br label %10255

10255:                                            ; preds = %10254
  br label %10256

10256:                                            ; preds = %10255
  %10257 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %10257, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %10258 = call ptr @__errno_location() #11
  store i32 0, ptr %10258, align 4, !tbaa !5
  br label %10259

10259:                                            ; preds = %10256
  br label %10260

10260:                                            ; preds = %10259
  br label %10261

10261:                                            ; preds = %10260
  br label %10262

10262:                                            ; preds = %10261
  br label %10263

10263:                                            ; preds = %10262
  %10264 = load i32, ptr @test_count, align 4, !tbaa !5
  %10265 = add nsw i32 %10264, 1
  store i32 %10265, ptr @test_count, align 4, !tbaa !5
  %10266 = load ptr, ptr %232, align 8, !tbaa !9
  %10267 = call i32 @s2n_shutdown(ptr noundef %10266, ptr noundef %233)
  %10268 = icmp eq i32 %10267, -1
  br i1 %10268, label %10269, label %10322

10269:                                            ; preds = %10263
  br label %10270

10270:                                            ; preds = %10269
  br label %10271

10271:                                            ; preds = %10270
  call void @llvm.lifetime.start.p0(i64 4, ptr %242) #10
  %10272 = call ptr @__errno_location() #11
  %10273 = load i32, ptr %10272, align 4, !tbaa !5
  store i32 %10273, ptr %242, align 4, !tbaa !5
  %10274 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10275 = call i32 @s2n_print_stacktrace(ptr noundef %10274)
  %10276 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10277 = trunc i8 %10276 to i1
  br i1 %10277, label %10278, label %10300

10278:                                            ; preds = %10271
  %10279 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10280 = call i32 @fileno(ptr noundef %10279) #10
  %10281 = call i32 @isatty(i32 noundef %10280) #10
  %10282 = icmp ne i32 %10281, 0
  br i1 %10282, label %10283, label %10300

10283:                                            ; preds = %10278
  %10284 = load i32, ptr %242, align 4, !tbaa !5
  %10285 = call ptr @__errno_location() #11
  store i32 %10284, ptr %10285, align 4, !tbaa !5
  %10286 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10287 = load i32, ptr @test_count, align 4, !tbaa !5
  %10288 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10289 = load i32, ptr %10288, align 4, !tbaa !5
  %10290 = call ptr @s2n_strerror(i32 noundef %10289, ptr noundef @.str.4)
  %10291 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10292 = load i32, ptr %10291, align 4, !tbaa !5
  %10293 = call ptr @s2n_strerror_debug(i32 noundef %10292, ptr noundef @.str.4)
  %10294 = call ptr @__errno_location() #11
  %10295 = load i32, ptr %10294, align 4, !tbaa !5
  %10296 = call ptr @strerror(i32 noundef %10295) #10
  %10297 = call ptr @__errno_location() #11
  %10298 = load i32, ptr %10297, align 4, !tbaa !5
  %10299 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10286, ptr noundef @.str.2, i32 noundef %10287, ptr noundef @.str.79, ptr noundef @.str.1, i32 noundef 522, ptr noundef %10290, ptr noundef %10293, ptr noundef %10296, i32 noundef %10298) #10
  br label %10317

10300:                                            ; preds = %10278, %10271
  %10301 = load i32, ptr %242, align 4, !tbaa !5
  %10302 = call ptr @__errno_location() #11
  store i32 %10301, ptr %10302, align 4, !tbaa !5
  %10303 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10304 = load i32, ptr @test_count, align 4, !tbaa !5
  %10305 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10306 = load i32, ptr %10305, align 4, !tbaa !5
  %10307 = call ptr @s2n_strerror(i32 noundef %10306, ptr noundef @.str.4)
  %10308 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10309 = load i32, ptr %10308, align 4, !tbaa !5
  %10310 = call ptr @s2n_strerror_debug(i32 noundef %10309, ptr noundef @.str.4)
  %10311 = call ptr @__errno_location() #11
  %10312 = load i32, ptr %10311, align 4, !tbaa !5
  %10313 = call ptr @strerror(i32 noundef %10312) #10
  %10314 = call ptr @__errno_location() #11
  %10315 = load i32, ptr %10314, align 4, !tbaa !5
  %10316 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10303, ptr noundef @.str.5, i32 noundef %10304, ptr noundef @.str.79, ptr noundef @.str.1, i32 noundef 522, ptr noundef %10307, ptr noundef %10310, ptr noundef %10313, i32 noundef %10315) #10
  br label %10317

10317:                                            ; preds = %10300, %10283
  call void @llvm.lifetime.end.p0(i64 4, ptr %242) #10
  br label %10318

10318:                                            ; preds = %10317
  br label %10319

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

10320:                                            ; No predecessors!
  br label %10321

10321:                                            ; preds = %10320
  br label %10322

10322:                                            ; preds = %10321, %10263
  br label %10323

10323:                                            ; preds = %10322
  br label %10324

10324:                                            ; preds = %10323
  br label %10325

10325:                                            ; preds = %10324
  %10326 = load i32, ptr @test_count, align 4, !tbaa !5
  %10327 = add nsw i32 %10326, 1
  store i32 %10327, ptr @test_count, align 4, !tbaa !5
  %10328 = load ptr, ptr %231, align 8, !tbaa !9
  %10329 = call i32 @s2n_shutdown(ptr noundef %10328, ptr noundef %233)
  %10330 = icmp eq i32 %10329, -1
  br i1 %10330, label %10331, label %10384

10331:                                            ; preds = %10325
  br label %10332

10332:                                            ; preds = %10331
  br label %10333

10333:                                            ; preds = %10332
  call void @llvm.lifetime.start.p0(i64 4, ptr %243) #10
  %10334 = call ptr @__errno_location() #11
  %10335 = load i32, ptr %10334, align 4, !tbaa !5
  store i32 %10335, ptr %243, align 4, !tbaa !5
  %10336 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10337 = call i32 @s2n_print_stacktrace(ptr noundef %10336)
  %10338 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10339 = trunc i8 %10338 to i1
  br i1 %10339, label %10340, label %10362

10340:                                            ; preds = %10333
  %10341 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10342 = call i32 @fileno(ptr noundef %10341) #10
  %10343 = call i32 @isatty(i32 noundef %10342) #10
  %10344 = icmp ne i32 %10343, 0
  br i1 %10344, label %10345, label %10362

10345:                                            ; preds = %10340
  %10346 = load i32, ptr %243, align 4, !tbaa !5
  %10347 = call ptr @__errno_location() #11
  store i32 %10346, ptr %10347, align 4, !tbaa !5
  %10348 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10349 = load i32, ptr @test_count, align 4, !tbaa !5
  %10350 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10351 = load i32, ptr %10350, align 4, !tbaa !5
  %10352 = call ptr @s2n_strerror(i32 noundef %10351, ptr noundef @.str.4)
  %10353 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10354 = load i32, ptr %10353, align 4, !tbaa !5
  %10355 = call ptr @s2n_strerror_debug(i32 noundef %10354, ptr noundef @.str.4)
  %10356 = call ptr @__errno_location() #11
  %10357 = load i32, ptr %10356, align 4, !tbaa !5
  %10358 = call ptr @strerror(i32 noundef %10357) #10
  %10359 = call ptr @__errno_location() #11
  %10360 = load i32, ptr %10359, align 4, !tbaa !5
  %10361 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10348, ptr noundef @.str.2, i32 noundef %10349, ptr noundef @.str.80, ptr noundef @.str.1, i32 noundef 523, ptr noundef %10352, ptr noundef %10355, ptr noundef %10358, i32 noundef %10360) #10
  br label %10379

10362:                                            ; preds = %10340, %10333
  %10363 = load i32, ptr %243, align 4, !tbaa !5
  %10364 = call ptr @__errno_location() #11
  store i32 %10363, ptr %10364, align 4, !tbaa !5
  %10365 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10366 = load i32, ptr @test_count, align 4, !tbaa !5
  %10367 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10368 = load i32, ptr %10367, align 4, !tbaa !5
  %10369 = call ptr @s2n_strerror(i32 noundef %10368, ptr noundef @.str.4)
  %10370 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10371 = load i32, ptr %10370, align 4, !tbaa !5
  %10372 = call ptr @s2n_strerror_debug(i32 noundef %10371, ptr noundef @.str.4)
  %10373 = call ptr @__errno_location() #11
  %10374 = load i32, ptr %10373, align 4, !tbaa !5
  %10375 = call ptr @strerror(i32 noundef %10374) #10
  %10376 = call ptr @__errno_location() #11
  %10377 = load i32, ptr %10376, align 4, !tbaa !5
  %10378 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10365, ptr noundef @.str.5, i32 noundef %10366, ptr noundef @.str.80, ptr noundef @.str.1, i32 noundef 523, ptr noundef %10369, ptr noundef %10372, ptr noundef %10375, i32 noundef %10377) #10
  br label %10379

10379:                                            ; preds = %10362, %10345
  call void @llvm.lifetime.end.p0(i64 4, ptr %243) #10
  br label %10380

10380:                                            ; preds = %10379
  br label %10381

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

10382:                                            ; No predecessors!
  br label %10383

10383:                                            ; preds = %10382
  br label %10384

10384:                                            ; preds = %10383, %10325
  br label %10385

10385:                                            ; preds = %10384
  br label %10386

10386:                                            ; preds = %10385
  call void @llvm.lifetime.end.p0(i64 4, ptr %233) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %232) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %231) #10
  %10387 = call i32 @s2n_io_stuffer_pair_free(ptr noundef %224)
  %10388 = getelementptr inbounds %struct.s2n_result, ptr %244, i32 0, i32 0
  store i32 %10387, ptr %10388, align 4
  call void @llvm.lifetime.end.p0(i64 80, ptr %224) #10
  %10389 = call i32 @s2n_connection_ptr_free(ptr noundef %220)
  %10390 = getelementptr inbounds %struct.s2n_result, ptr %245, i32 0, i32 0
  store i32 %10389, ptr %10390, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %220) #10
  %10391 = call i32 @s2n_connection_ptr_free(ptr noundef %216)
  %10392 = getelementptr inbounds %struct.s2n_result, ptr %246, i32 0, i32 0
  store i32 %10391, ptr %10392, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %216) #10
  br label %10393

10393:                                            ; preds = %10386
  %10394 = load i8, ptr %215, align 1, !tbaa !17
  %10395 = add i8 %10394, 1
  store i8 %10395, ptr %215, align 1, !tbaa !17
  br label %9108, !llvm.loop !58

10396:                                            ; preds = %9112
  call void @llvm.lifetime.start.p0(i64 1, ptr %247) #10
  store i8 0, ptr %247, align 1, !tbaa !17
  br label %10397

10397:                                            ; preds = %12221, %10396
  %10398 = load i8, ptr %247, align 1, !tbaa !17
  %10399 = zext i8 %10398 to i32
  %10400 = icmp slt i32 %10399, 2
  br i1 %10400, label %10402, label %10401

10401:                                            ; preds = %10397
  store i32 1067, ptr %16, align 4
  call void @llvm.lifetime.end.p0(i64 1, ptr %247) #10
  br label %12224

10402:                                            ; preds = %10397
  call void @llvm.lifetime.start.p0(i64 8, ptr %248) #10
  %10403 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %10403, ptr %248, align 8, !tbaa !9
  br label %10404

10404:                                            ; preds = %10402
  %10405 = load i32, ptr @test_count, align 4, !tbaa !5
  %10406 = add nsw i32 %10405, 1
  store i32 %10406, ptr @test_count, align 4, !tbaa !5
  %10407 = load ptr, ptr %248, align 8, !tbaa !9
  %10408 = call i32 @s2n_connection_set_blinding(ptr noundef %10407, i32 noundef 1)
  %10409 = icmp eq i32 %10408, -1
  br i1 %10409, label %10410, label %10463

10410:                                            ; preds = %10404
  br label %10411

10411:                                            ; preds = %10410
  br label %10412

10412:                                            ; preds = %10411
  call void @llvm.lifetime.start.p0(i64 4, ptr %249) #10
  %10413 = call ptr @__errno_location() #11
  %10414 = load i32, ptr %10413, align 4, !tbaa !5
  store i32 %10414, ptr %249, align 4, !tbaa !5
  %10415 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10416 = call i32 @s2n_print_stacktrace(ptr noundef %10415)
  %10417 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10418 = trunc i8 %10417 to i1
  br i1 %10418, label %10419, label %10441

10419:                                            ; preds = %10412
  %10420 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10421 = call i32 @fileno(ptr noundef %10420) #10
  %10422 = call i32 @isatty(i32 noundef %10421) #10
  %10423 = icmp ne i32 %10422, 0
  br i1 %10423, label %10424, label %10441

10424:                                            ; preds = %10419
  %10425 = load i32, ptr %249, align 4, !tbaa !5
  %10426 = call ptr @__errno_location() #11
  store i32 %10425, ptr %10426, align 4, !tbaa !5
  %10427 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10428 = load i32, ptr @test_count, align 4, !tbaa !5
  %10429 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10430 = load i32, ptr %10429, align 4, !tbaa !5
  %10431 = call ptr @s2n_strerror(i32 noundef %10430, ptr noundef @.str.4)
  %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_debug(i32 noundef %10433, ptr noundef @.str.4)
  %10435 = call ptr @__errno_location() #11
  %10436 = load i32, ptr %10435, align 4, !tbaa !5
  %10437 = call ptr @strerror(i32 noundef %10436) #10
  %10438 = call ptr @__errno_location() #11
  %10439 = load i32, ptr %10438, align 4, !tbaa !5
  %10440 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10427, ptr noundef @.str.2, i32 noundef %10428, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 546, ptr noundef %10431, ptr noundef %10434, ptr noundef %10437, i32 noundef %10439) #10
  br label %10458

10441:                                            ; preds = %10419, %10412
  %10442 = load i32, ptr %249, align 4, !tbaa !5
  %10443 = call ptr @__errno_location() #11
  store i32 %10442, ptr %10443, align 4, !tbaa !5
  %10444 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10445 = load i32, ptr @test_count, align 4, !tbaa !5
  %10446 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10447 = load i32, ptr %10446, align 4, !tbaa !5
  %10448 = call ptr @s2n_strerror(i32 noundef %10447, ptr noundef @.str.4)
  %10449 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10450 = load i32, ptr %10449, align 4, !tbaa !5
  %10451 = call ptr @s2n_strerror_debug(i32 noundef %10450, ptr noundef @.str.4)
  %10452 = call ptr @__errno_location() #11
  %10453 = load i32, ptr %10452, align 4, !tbaa !5
  %10454 = call ptr @strerror(i32 noundef %10453) #10
  %10455 = call ptr @__errno_location() #11
  %10456 = load i32, ptr %10455, align 4, !tbaa !5
  %10457 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10444, ptr noundef @.str.5, i32 noundef %10445, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 546, ptr noundef %10448, ptr noundef %10451, ptr noundef %10454, i32 noundef %10456) #10
  br label %10458

10458:                                            ; preds = %10441, %10424
  call void @llvm.lifetime.end.p0(i64 4, ptr %249) #10
  br label %10459

10459:                                            ; preds = %10458
  br label %10460

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

10461:                                            ; No predecessors!
  br label %10462

10462:                                            ; preds = %10461
  br label %10463

10463:                                            ; preds = %10462, %10404
  br label %10464

10464:                                            ; preds = %10463
  br label %10465

10465:                                            ; preds = %10464
  br label %10466

10466:                                            ; preds = %10465
  %10467 = load i32, ptr @test_count, align 4, !tbaa !5
  %10468 = add nsw i32 %10467, 1
  store i32 %10468, ptr @test_count, align 4, !tbaa !5
  %10469 = load ptr, ptr %248, align 8, !tbaa !9
  %10470 = load ptr, ptr %23, align 8, !tbaa !9
  %10471 = call i32 @s2n_connection_set_config(ptr noundef %10469, ptr noundef %10470)
  %10472 = icmp eq i32 %10471, -1
  br i1 %10472, label %10473, label %10526

10473:                                            ; preds = %10466
  br label %10474

10474:                                            ; preds = %10473
  br label %10475

10475:                                            ; preds = %10474
  call void @llvm.lifetime.start.p0(i64 4, ptr %250) #10
  %10476 = call ptr @__errno_location() #11
  %10477 = load i32, ptr %10476, align 4, !tbaa !5
  store i32 %10477, ptr %250, align 4, !tbaa !5
  %10478 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10479 = call i32 @s2n_print_stacktrace(ptr noundef %10478)
  %10480 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10481 = trunc i8 %10480 to i1
  br i1 %10481, label %10482, label %10504

10482:                                            ; preds = %10475
  %10483 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10484 = call i32 @fileno(ptr noundef %10483) #10
  %10485 = call i32 @isatty(i32 noundef %10484) #10
  %10486 = icmp ne i32 %10485, 0
  br i1 %10486, label %10487, label %10504

10487:                                            ; preds = %10482
  %10488 = load i32, ptr %250, align 4, !tbaa !5
  %10489 = call ptr @__errno_location() #11
  store i32 %10488, ptr %10489, align 4, !tbaa !5
  %10490 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10491 = load i32, ptr @test_count, align 4, !tbaa !5
  %10492 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10493 = load i32, ptr %10492, align 4, !tbaa !5
  %10494 = call ptr @s2n_strerror(i32 noundef %10493, ptr noundef @.str.4)
  %10495 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10496 = load i32, ptr %10495, align 4, !tbaa !5
  %10497 = call ptr @s2n_strerror_debug(i32 noundef %10496, ptr noundef @.str.4)
  %10498 = call ptr @__errno_location() #11
  %10499 = load i32, ptr %10498, align 4, !tbaa !5
  %10500 = call ptr @strerror(i32 noundef %10499) #10
  %10501 = call ptr @__errno_location() #11
  %10502 = load i32, ptr %10501, align 4, !tbaa !5
  %10503 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10490, ptr noundef @.str.2, i32 noundef %10491, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 547, ptr noundef %10494, ptr noundef %10497, ptr noundef %10500, i32 noundef %10502) #10
  br label %10521

10504:                                            ; preds = %10482, %10475
  %10505 = load i32, ptr %250, align 4, !tbaa !5
  %10506 = call ptr @__errno_location() #11
  store i32 %10505, ptr %10506, align 4, !tbaa !5
  %10507 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10508 = load i32, ptr @test_count, align 4, !tbaa !5
  %10509 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10510 = load i32, ptr %10509, align 4, !tbaa !5
  %10511 = call ptr @s2n_strerror(i32 noundef %10510, ptr noundef @.str.4)
  %10512 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10513 = load i32, ptr %10512, align 4, !tbaa !5
  %10514 = call ptr @s2n_strerror_debug(i32 noundef %10513, ptr noundef @.str.4)
  %10515 = call ptr @__errno_location() #11
  %10516 = load i32, ptr %10515, align 4, !tbaa !5
  %10517 = call ptr @strerror(i32 noundef %10516) #10
  %10518 = call ptr @__errno_location() #11
  %10519 = load i32, ptr %10518, align 4, !tbaa !5
  %10520 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10507, ptr noundef @.str.5, i32 noundef %10508, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 547, ptr noundef %10511, ptr noundef %10514, ptr noundef %10517, i32 noundef %10519) #10
  br label %10521

10521:                                            ; preds = %10504, %10487
  call void @llvm.lifetime.end.p0(i64 4, ptr %250) #10
  br label %10522

10522:                                            ; preds = %10521
  br label %10523

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

10524:                                            ; No predecessors!
  br label %10525

10525:                                            ; preds = %10524
  br label %10526

10526:                                            ; preds = %10525, %10466
  br label %10527

10527:                                            ; preds = %10526
  br label %10528

10528:                                            ; preds = %10527
  call void @llvm.lifetime.start.p0(i64 8, ptr %251) #10
  %10529 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %10529, ptr %251, align 8, !tbaa !9
  br label %10530

10530:                                            ; preds = %10528
  %10531 = load i32, ptr @test_count, align 4, !tbaa !5
  %10532 = add nsw i32 %10531, 1
  store i32 %10532, ptr @test_count, align 4, !tbaa !5
  %10533 = load ptr, ptr %251, align 8, !tbaa !9
  %10534 = call i32 @s2n_connection_set_blinding(ptr noundef %10533, i32 noundef 1)
  %10535 = icmp eq i32 %10534, -1
  br i1 %10535, label %10536, label %10589

10536:                                            ; preds = %10530
  br label %10537

10537:                                            ; preds = %10536
  br label %10538

10538:                                            ; preds = %10537
  call void @llvm.lifetime.start.p0(i64 4, ptr %252) #10
  %10539 = call ptr @__errno_location() #11
  %10540 = load i32, ptr %10539, align 4, !tbaa !5
  store i32 %10540, ptr %252, align 4, !tbaa !5
  %10541 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10542 = call i32 @s2n_print_stacktrace(ptr noundef %10541)
  %10543 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10544 = trunc i8 %10543 to i1
  br i1 %10544, label %10545, label %10567

10545:                                            ; preds = %10538
  %10546 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10547 = call i32 @fileno(ptr noundef %10546) #10
  %10548 = call i32 @isatty(i32 noundef %10547) #10
  %10549 = icmp ne i32 %10548, 0
  br i1 %10549, label %10550, label %10567

10550:                                            ; preds = %10545
  %10551 = load i32, ptr %252, align 4, !tbaa !5
  %10552 = call ptr @__errno_location() #11
  store i32 %10551, ptr %10552, align 4, !tbaa !5
  %10553 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10554 = load i32, ptr @test_count, align 4, !tbaa !5
  %10555 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10556 = load i32, ptr %10555, align 4, !tbaa !5
  %10557 = call ptr @s2n_strerror(i32 noundef %10556, ptr noundef @.str.4)
  %10558 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10559 = load i32, ptr %10558, align 4, !tbaa !5
  %10560 = call ptr @s2n_strerror_debug(i32 noundef %10559, ptr noundef @.str.4)
  %10561 = call ptr @__errno_location() #11
  %10562 = load i32, ptr %10561, align 4, !tbaa !5
  %10563 = call ptr @strerror(i32 noundef %10562) #10
  %10564 = call ptr @__errno_location() #11
  %10565 = load i32, ptr %10564, align 4, !tbaa !5
  %10566 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10553, ptr noundef @.str.2, i32 noundef %10554, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 551, ptr noundef %10557, ptr noundef %10560, ptr noundef %10563, i32 noundef %10565) #10
  br label %10584

10567:                                            ; preds = %10545, %10538
  %10568 = load i32, ptr %252, align 4, !tbaa !5
  %10569 = call ptr @__errno_location() #11
  store i32 %10568, ptr %10569, align 4, !tbaa !5
  %10570 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10571 = load i32, ptr @test_count, align 4, !tbaa !5
  %10572 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10573 = load i32, ptr %10572, align 4, !tbaa !5
  %10574 = call ptr @s2n_strerror(i32 noundef %10573, ptr noundef @.str.4)
  %10575 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10576 = load i32, ptr %10575, align 4, !tbaa !5
  %10577 = call ptr @s2n_strerror_debug(i32 noundef %10576, ptr noundef @.str.4)
  %10578 = call ptr @__errno_location() #11
  %10579 = load i32, ptr %10578, align 4, !tbaa !5
  %10580 = call ptr @strerror(i32 noundef %10579) #10
  %10581 = call ptr @__errno_location() #11
  %10582 = load i32, ptr %10581, align 4, !tbaa !5
  %10583 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10570, ptr noundef @.str.5, i32 noundef %10571, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 551, ptr noundef %10574, ptr noundef %10577, ptr noundef %10580, i32 noundef %10582) #10
  br label %10584

10584:                                            ; preds = %10567, %10550
  call void @llvm.lifetime.end.p0(i64 4, ptr %252) #10
  br label %10585

10585:                                            ; preds = %10584
  br label %10586

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

10587:                                            ; No predecessors!
  br label %10588

10588:                                            ; preds = %10587
  br label %10589

10589:                                            ; preds = %10588, %10530
  br label %10590

10590:                                            ; preds = %10589
  br label %10591

10591:                                            ; preds = %10590
  br label %10592

10592:                                            ; preds = %10591
  %10593 = load i32, ptr @test_count, align 4, !tbaa !5
  %10594 = add nsw i32 %10593, 1
  store i32 %10594, ptr @test_count, align 4, !tbaa !5
  %10595 = load ptr, ptr %251, align 8, !tbaa !9
  %10596 = load ptr, ptr %23, align 8, !tbaa !9
  %10597 = call i32 @s2n_connection_set_config(ptr noundef %10595, ptr noundef %10596)
  %10598 = icmp eq i32 %10597, -1
  br i1 %10598, label %10599, label %10652

10599:                                            ; preds = %10592
  br label %10600

10600:                                            ; preds = %10599
  br label %10601

10601:                                            ; preds = %10600
  call void @llvm.lifetime.start.p0(i64 4, ptr %253) #10
  %10602 = call ptr @__errno_location() #11
  %10603 = load i32, ptr %10602, align 4, !tbaa !5
  store i32 %10603, ptr %253, align 4, !tbaa !5
  %10604 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10605 = call i32 @s2n_print_stacktrace(ptr noundef %10604)
  %10606 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10607 = trunc i8 %10606 to i1
  br i1 %10607, label %10608, label %10630

10608:                                            ; preds = %10601
  %10609 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10610 = call i32 @fileno(ptr noundef %10609) #10
  %10611 = call i32 @isatty(i32 noundef %10610) #10
  %10612 = icmp ne i32 %10611, 0
  br i1 %10612, label %10613, label %10630

10613:                                            ; preds = %10608
  %10614 = load i32, ptr %253, align 4, !tbaa !5
  %10615 = call ptr @__errno_location() #11
  store i32 %10614, ptr %10615, align 4, !tbaa !5
  %10616 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10617 = load i32, ptr @test_count, align 4, !tbaa !5
  %10618 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10619 = load i32, ptr %10618, align 4, !tbaa !5
  %10620 = call ptr @s2n_strerror(i32 noundef %10619, ptr noundef @.str.4)
  %10621 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10622 = load i32, ptr %10621, align 4, !tbaa !5
  %10623 = call ptr @s2n_strerror_debug(i32 noundef %10622, ptr noundef @.str.4)
  %10624 = call ptr @__errno_location() #11
  %10625 = load i32, ptr %10624, align 4, !tbaa !5
  %10626 = call ptr @strerror(i32 noundef %10625) #10
  %10627 = call ptr @__errno_location() #11
  %10628 = load i32, ptr %10627, align 4, !tbaa !5
  %10629 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10616, ptr noundef @.str.2, i32 noundef %10617, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 552, ptr noundef %10620, ptr noundef %10623, ptr noundef %10626, i32 noundef %10628) #10
  br label %10647

10630:                                            ; preds = %10608, %10601
  %10631 = load i32, ptr %253, align 4, !tbaa !5
  %10632 = call ptr @__errno_location() #11
  store i32 %10631, ptr %10632, align 4, !tbaa !5
  %10633 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10634 = load i32, ptr @test_count, align 4, !tbaa !5
  %10635 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10636 = load i32, ptr %10635, align 4, !tbaa !5
  %10637 = call ptr @s2n_strerror(i32 noundef %10636, ptr noundef @.str.4)
  %10638 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10639 = load i32, ptr %10638, align 4, !tbaa !5
  %10640 = call ptr @s2n_strerror_debug(i32 noundef %10639, ptr noundef @.str.4)
  %10641 = call ptr @__errno_location() #11
  %10642 = load i32, ptr %10641, align 4, !tbaa !5
  %10643 = call ptr @strerror(i32 noundef %10642) #10
  %10644 = call ptr @__errno_location() #11
  %10645 = load i32, ptr %10644, align 4, !tbaa !5
  %10646 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10633, ptr noundef @.str.5, i32 noundef %10634, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 552, ptr noundef %10637, ptr noundef %10640, ptr noundef %10643, i32 noundef %10645) #10
  br label %10647

10647:                                            ; preds = %10630, %10613
  call void @llvm.lifetime.end.p0(i64 4, ptr %253) #10
  br label %10648

10648:                                            ; preds = %10647
  br label %10649

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

10650:                                            ; No predecessors!
  br label %10651

10651:                                            ; preds = %10650
  br label %10652

10652:                                            ; preds = %10651, %10592
  br label %10653

10653:                                            ; preds = %10652
  br label %10654

10654:                                            ; preds = %10653
  call void @llvm.lifetime.start.p0(i64 8, ptr %254) #10
  call void @llvm.memset.p0.i64(ptr align 4 %254, i8 0, i64 8, i1 false)
  br label %10655

10655:                                            ; preds = %10654
  %10656 = load i32, ptr @test_count, align 4, !tbaa !5
  %10657 = add nsw i32 %10656, 1
  store i32 %10657, ptr @test_count, align 4, !tbaa !5
  %10658 = call i32 @s2n_io_pair_init_non_blocking(ptr noundef %254)
  %10659 = icmp eq i32 %10658, -1
  br i1 %10659, label %10660, label %10713

10660:                                            ; preds = %10655
  br label %10661

10661:                                            ; preds = %10660
  br label %10662

10662:                                            ; preds = %10661
  call void @llvm.lifetime.start.p0(i64 4, ptr %255) #10
  %10663 = call ptr @__errno_location() #11
  %10664 = load i32, ptr %10663, align 4, !tbaa !5
  store i32 %10664, ptr %255, align 4, !tbaa !5
  %10665 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10666 = call i32 @s2n_print_stacktrace(ptr noundef %10665)
  %10667 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10668 = trunc i8 %10667 to i1
  br i1 %10668, label %10669, label %10691

10669:                                            ; preds = %10662
  %10670 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10671 = call i32 @fileno(ptr noundef %10670) #10
  %10672 = call i32 @isatty(i32 noundef %10671) #10
  %10673 = icmp ne i32 %10672, 0
  br i1 %10673, label %10674, label %10691

10674:                                            ; preds = %10669
  %10675 = load i32, ptr %255, align 4, !tbaa !5
  %10676 = call ptr @__errno_location() #11
  store i32 %10675, ptr %10676, align 4, !tbaa !5
  %10677 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10678 = load i32, ptr @test_count, align 4, !tbaa !5
  %10679 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10680 = load i32, ptr %10679, align 4, !tbaa !5
  %10681 = call ptr @s2n_strerror(i32 noundef %10680, ptr noundef @.str.4)
  %10682 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10683 = load i32, ptr %10682, align 4, !tbaa !5
  %10684 = call ptr @s2n_strerror_debug(i32 noundef %10683, ptr noundef @.str.4)
  %10685 = call ptr @__errno_location() #11
  %10686 = load i32, ptr %10685, align 4, !tbaa !5
  %10687 = call ptr @strerror(i32 noundef %10686) #10
  %10688 = call ptr @__errno_location() #11
  %10689 = load i32, ptr %10688, align 4, !tbaa !5
  %10690 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10677, ptr noundef @.str.2, i32 noundef %10678, ptr noundef @.str.86, ptr noundef @.str.1, i32 noundef 555, ptr noundef %10681, ptr noundef %10684, ptr noundef %10687, i32 noundef %10689) #10
  br label %10708

10691:                                            ; preds = %10669, %10662
  %10692 = load i32, ptr %255, align 4, !tbaa !5
  %10693 = call ptr @__errno_location() #11
  store i32 %10692, ptr %10693, align 4, !tbaa !5
  %10694 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10695 = load i32, ptr @test_count, align 4, !tbaa !5
  %10696 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10697 = load i32, ptr %10696, align 4, !tbaa !5
  %10698 = call ptr @s2n_strerror(i32 noundef %10697, ptr noundef @.str.4)
  %10699 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10700 = load i32, ptr %10699, align 4, !tbaa !5
  %10701 = call ptr @s2n_strerror_debug(i32 noundef %10700, ptr noundef @.str.4)
  %10702 = call ptr @__errno_location() #11
  %10703 = load i32, ptr %10702, align 4, !tbaa !5
  %10704 = call ptr @strerror(i32 noundef %10703) #10
  %10705 = call ptr @__errno_location() #11
  %10706 = load i32, ptr %10705, align 4, !tbaa !5
  %10707 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10694, ptr noundef @.str.5, i32 noundef %10695, ptr noundef @.str.86, ptr noundef @.str.1, i32 noundef 555, ptr noundef %10698, ptr noundef %10701, ptr noundef %10704, i32 noundef %10706) #10
  br label %10708

10708:                                            ; preds = %10691, %10674
  call void @llvm.lifetime.end.p0(i64 4, ptr %255) #10
  br label %10709

10709:                                            ; preds = %10708
  br label %10710

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

10711:                                            ; No predecessors!
  br label %10712

10712:                                            ; preds = %10711
  br label %10713

10713:                                            ; preds = %10712, %10655
  br label %10714

10714:                                            ; preds = %10713
  br label %10715

10715:                                            ; preds = %10714
  br label %10716

10716:                                            ; preds = %10715
  %10717 = load i32, ptr @test_count, align 4, !tbaa !5
  %10718 = add nsw i32 %10717, 1
  store i32 %10718, ptr @test_count, align 4, !tbaa !5
  %10719 = load ptr, ptr %251, align 8, !tbaa !9
  %10720 = load ptr, ptr %248, align 8, !tbaa !9
  %10721 = call i32 @s2n_connections_set_io_pair(ptr noundef %10719, ptr noundef %10720, ptr noundef %254)
  %10722 = icmp eq i32 %10721, -1
  br i1 %10722, label %10723, label %10776

10723:                                            ; preds = %10716
  br label %10724

10724:                                            ; preds = %10723
  br label %10725

10725:                                            ; preds = %10724
  call void @llvm.lifetime.start.p0(i64 4, ptr %256) #10
  %10726 = call ptr @__errno_location() #11
  %10727 = load i32, ptr %10726, align 4, !tbaa !5
  store i32 %10727, ptr %256, align 4, !tbaa !5
  %10728 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10729 = call i32 @s2n_print_stacktrace(ptr noundef %10728)
  %10730 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10731 = trunc i8 %10730 to i1
  br i1 %10731, label %10732, label %10754

10732:                                            ; preds = %10725
  %10733 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10734 = call i32 @fileno(ptr noundef %10733) #10
  %10735 = call i32 @isatty(i32 noundef %10734) #10
  %10736 = icmp ne i32 %10735, 0
  br i1 %10736, label %10737, label %10754

10737:                                            ; preds = %10732
  %10738 = load i32, ptr %256, align 4, !tbaa !5
  %10739 = call ptr @__errno_location() #11
  store i32 %10738, ptr %10739, align 4, !tbaa !5
  %10740 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10741 = load i32, ptr @test_count, align 4, !tbaa !5
  %10742 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10743 = load i32, ptr %10742, align 4, !tbaa !5
  %10744 = call ptr @s2n_strerror(i32 noundef %10743, ptr noundef @.str.4)
  %10745 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10746 = load i32, ptr %10745, align 4, !tbaa !5
  %10747 = call ptr @s2n_strerror_debug(i32 noundef %10746, ptr noundef @.str.4)
  %10748 = call ptr @__errno_location() #11
  %10749 = load i32, ptr %10748, align 4, !tbaa !5
  %10750 = call ptr @strerror(i32 noundef %10749) #10
  %10751 = call ptr @__errno_location() #11
  %10752 = load i32, ptr %10751, align 4, !tbaa !5
  %10753 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10740, ptr noundef @.str.2, i32 noundef %10741, ptr noundef @.str.87, ptr noundef @.str.1, i32 noundef 556, ptr noundef %10744, ptr noundef %10747, ptr noundef %10750, i32 noundef %10752) #10
  br label %10771

10754:                                            ; preds = %10732, %10725
  %10755 = load i32, ptr %256, align 4, !tbaa !5
  %10756 = call ptr @__errno_location() #11
  store i32 %10755, ptr %10756, align 4, !tbaa !5
  %10757 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10758 = load i32, ptr @test_count, align 4, !tbaa !5
  %10759 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10760 = load i32, ptr %10759, align 4, !tbaa !5
  %10761 = call ptr @s2n_strerror(i32 noundef %10760, ptr noundef @.str.4)
  %10762 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10763 = load i32, ptr %10762, align 4, !tbaa !5
  %10764 = call ptr @s2n_strerror_debug(i32 noundef %10763, ptr noundef @.str.4)
  %10765 = call ptr @__errno_location() #11
  %10766 = load i32, ptr %10765, align 4, !tbaa !5
  %10767 = call ptr @strerror(i32 noundef %10766) #10
  %10768 = call ptr @__errno_location() #11
  %10769 = load i32, ptr %10768, align 4, !tbaa !5
  %10770 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10757, ptr noundef @.str.5, i32 noundef %10758, ptr noundef @.str.87, ptr noundef @.str.1, i32 noundef 556, ptr noundef %10761, ptr noundef %10764, ptr noundef %10767, i32 noundef %10769) #10
  br label %10771

10771:                                            ; preds = %10754, %10737
  call void @llvm.lifetime.end.p0(i64 4, ptr %256) #10
  br label %10772

10772:                                            ; preds = %10771
  br label %10773

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

10774:                                            ; No predecessors!
  br label %10775

10775:                                            ; preds = %10774
  br label %10776

10776:                                            ; preds = %10775, %10716
  br label %10777

10777:                                            ; preds = %10776
  br label %10778

10778:                                            ; preds = %10777
  br label %10779

10779:                                            ; preds = %10778
  %10780 = load i32, ptr @test_count, align 4, !tbaa !5
  %10781 = add nsw i32 %10780, 1
  store i32 %10781, ptr @test_count, align 4, !tbaa !5
  %10782 = load ptr, ptr %248, align 8, !tbaa !9
  %10783 = load ptr, ptr %251, align 8, !tbaa !9
  %10784 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %10782, ptr noundef %10783)
  %10785 = icmp eq i32 %10784, -1
  br i1 %10785, label %10786, label %10839

10786:                                            ; preds = %10779
  br label %10787

10787:                                            ; preds = %10786
  br label %10788

10788:                                            ; preds = %10787
  call void @llvm.lifetime.start.p0(i64 4, ptr %257) #10
  %10789 = call ptr @__errno_location() #11
  %10790 = load i32, ptr %10789, align 4, !tbaa !5
  store i32 %10790, ptr %257, align 4, !tbaa !5
  %10791 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10792 = call i32 @s2n_print_stacktrace(ptr noundef %10791)
  %10793 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10794 = trunc i8 %10793 to i1
  br i1 %10794, label %10795, label %10817

10795:                                            ; preds = %10788
  %10796 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10797 = call i32 @fileno(ptr noundef %10796) #10
  %10798 = call i32 @isatty(i32 noundef %10797) #10
  %10799 = icmp ne i32 %10798, 0
  br i1 %10799, label %10800, label %10817

10800:                                            ; preds = %10795
  %10801 = load i32, ptr %257, align 4, !tbaa !5
  %10802 = call ptr @__errno_location() #11
  store i32 %10801, ptr %10802, align 4, !tbaa !5
  %10803 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10804 = load i32, ptr @test_count, align 4, !tbaa !5
  %10805 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10806 = load i32, ptr %10805, align 4, !tbaa !5
  %10807 = call ptr @s2n_strerror(i32 noundef %10806, ptr noundef @.str.4)
  %10808 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10809 = load i32, ptr %10808, align 4, !tbaa !5
  %10810 = call ptr @s2n_strerror_debug(i32 noundef %10809, ptr noundef @.str.4)
  %10811 = call ptr @__errno_location() #11
  %10812 = load i32, ptr %10811, align 4, !tbaa !5
  %10813 = call ptr @strerror(i32 noundef %10812) #10
  %10814 = call ptr @__errno_location() #11
  %10815 = load i32, ptr %10814, align 4, !tbaa !5
  %10816 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10803, ptr noundef @.str.2, i32 noundef %10804, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 559, ptr noundef %10807, ptr noundef %10810, ptr noundef %10813, i32 noundef %10815) #10
  br label %10834

10817:                                            ; preds = %10795, %10788
  %10818 = load i32, ptr %257, align 4, !tbaa !5
  %10819 = call ptr @__errno_location() #11
  store i32 %10818, ptr %10819, align 4, !tbaa !5
  %10820 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10821 = load i32, ptr @test_count, align 4, !tbaa !5
  %10822 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10823 = load i32, ptr %10822, align 4, !tbaa !5
  %10824 = call ptr @s2n_strerror(i32 noundef %10823, ptr noundef @.str.4)
  %10825 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10826 = load i32, ptr %10825, align 4, !tbaa !5
  %10827 = call ptr @s2n_strerror_debug(i32 noundef %10826, ptr noundef @.str.4)
  %10828 = call ptr @__errno_location() #11
  %10829 = load i32, ptr %10828, align 4, !tbaa !5
  %10830 = call ptr @strerror(i32 noundef %10829) #10
  %10831 = call ptr @__errno_location() #11
  %10832 = load i32, ptr %10831, align 4, !tbaa !5
  %10833 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10820, ptr noundef @.str.5, i32 noundef %10821, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 559, ptr noundef %10824, ptr noundef %10827, ptr noundef %10830, i32 noundef %10832) #10
  br label %10834

10834:                                            ; preds = %10817, %10800
  call void @llvm.lifetime.end.p0(i64 4, ptr %257) #10
  br label %10835

10835:                                            ; preds = %10834
  br label %10836

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

10837:                                            ; No predecessors!
  br label %10838

10838:                                            ; preds = %10837
  br label %10839

10839:                                            ; preds = %10838, %10779
  br label %10840

10840:                                            ; preds = %10839
  br label %10841

10841:                                            ; preds = %10840
  br label %10842

10842:                                            ; preds = %10841
  %10843 = load i32, ptr @test_count, align 4, !tbaa !5
  %10844 = add nsw i32 %10843, 1
  store i32 %10844, ptr @test_count, align 4, !tbaa !5
  %10845 = load i8, ptr %247, align 1, !tbaa !17
  %10846 = zext i8 %10845 to i32
  %10847 = call i32 @s2n_io_pair_close_one_end(ptr noundef %254, i32 noundef %10846)
  %10848 = icmp eq i32 %10847, -1
  br i1 %10848, label %10849, label %10902

10849:                                            ; preds = %10842
  br label %10850

10850:                                            ; preds = %10849
  br label %10851

10851:                                            ; preds = %10850
  call void @llvm.lifetime.start.p0(i64 4, ptr %258) #10
  %10852 = call ptr @__errno_location() #11
  %10853 = load i32, ptr %10852, align 4, !tbaa !5
  store i32 %10853, ptr %258, align 4, !tbaa !5
  %10854 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10855 = call i32 @s2n_print_stacktrace(ptr noundef %10854)
  %10856 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10857 = trunc i8 %10856 to i1
  br i1 %10857, label %10858, label %10880

10858:                                            ; preds = %10851
  %10859 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10860 = call i32 @fileno(ptr noundef %10859) #10
  %10861 = call i32 @isatty(i32 noundef %10860) #10
  %10862 = icmp ne i32 %10861, 0
  br i1 %10862, label %10863, label %10880

10863:                                            ; preds = %10858
  %10864 = load i32, ptr %258, align 4, !tbaa !5
  %10865 = call ptr @__errno_location() #11
  store i32 %10864, ptr %10865, align 4, !tbaa !5
  %10866 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10867 = load i32, ptr @test_count, align 4, !tbaa !5
  %10868 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10869 = load i32, ptr %10868, align 4, !tbaa !5
  %10870 = call ptr @s2n_strerror(i32 noundef %10869, ptr noundef @.str.4)
  %10871 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10872 = load i32, ptr %10871, align 4, !tbaa !5
  %10873 = call ptr @s2n_strerror_debug(i32 noundef %10872, ptr noundef @.str.4)
  %10874 = call ptr @__errno_location() #11
  %10875 = load i32, ptr %10874, align 4, !tbaa !5
  %10876 = call ptr @strerror(i32 noundef %10875) #10
  %10877 = call ptr @__errno_location() #11
  %10878 = load i32, ptr %10877, align 4, !tbaa !5
  %10879 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10866, ptr noundef @.str.2, i32 noundef %10867, ptr noundef @.str.88, ptr noundef @.str.1, i32 noundef 562, ptr noundef %10870, ptr noundef %10873, ptr noundef %10876, i32 noundef %10878) #10
  br label %10897

10880:                                            ; preds = %10858, %10851
  %10881 = load i32, ptr %258, align 4, !tbaa !5
  %10882 = call ptr @__errno_location() #11
  store i32 %10881, ptr %10882, align 4, !tbaa !5
  %10883 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10884 = load i32, ptr @test_count, align 4, !tbaa !5
  %10885 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10886 = load i32, ptr %10885, align 4, !tbaa !5
  %10887 = call ptr @s2n_strerror(i32 noundef %10886, ptr noundef @.str.4)
  %10888 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10889 = load i32, ptr %10888, align 4, !tbaa !5
  %10890 = call ptr @s2n_strerror_debug(i32 noundef %10889, ptr noundef @.str.4)
  %10891 = call ptr @__errno_location() #11
  %10892 = load i32, ptr %10891, align 4, !tbaa !5
  %10893 = call ptr @strerror(i32 noundef %10892) #10
  %10894 = call ptr @__errno_location() #11
  %10895 = load i32, ptr %10894, align 4, !tbaa !5
  %10896 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10883, ptr noundef @.str.5, i32 noundef %10884, ptr noundef @.str.88, ptr noundef @.str.1, i32 noundef 562, ptr noundef %10887, ptr noundef %10890, ptr noundef %10893, i32 noundef %10895) #10
  br label %10897

10897:                                            ; preds = %10880, %10863
  call void @llvm.lifetime.end.p0(i64 4, ptr %258) #10
  br label %10898

10898:                                            ; preds = %10897
  br label %10899

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

10900:                                            ; No predecessors!
  br label %10901

10901:                                            ; preds = %10900
  br label %10902

10902:                                            ; preds = %10901, %10842
  br label %10903

10903:                                            ; preds = %10902
  br label %10904

10904:                                            ; preds = %10903
  call void @llvm.lifetime.start.p0(i64 8, ptr %259) #10
  %10905 = load ptr, ptr %251, align 8, !tbaa !9
  store ptr %10905, ptr %259, align 8, !tbaa !9
  %10906 = load i8, ptr %247, align 1, !tbaa !17
  %10907 = zext i8 %10906 to i32
  %10908 = icmp eq i32 %10907, 1
  br i1 %10908, label %10909, label %10911

10909:                                            ; preds = %10904
  %10910 = load ptr, ptr %248, align 8, !tbaa !9
  store ptr %10910, ptr %259, align 8, !tbaa !9
  br label %10911

10911:                                            ; preds = %10909, %10904
  call void @llvm.lifetime.start.p0(i64 4, ptr %260) #10
  store i32 0, ptr %260, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %261) #10
  store i64 0, ptr %261, align 8, !tbaa !15
  br label %10912

10912:                                            ; preds = %11177, %10911
  %10913 = load i64, ptr %261, align 8, !tbaa !15
  %10914 = icmp ult i64 %10913, 5
  br i1 %10914, label %10916, label %10915

10915:                                            ; preds = %10912
  store i32 1118, ptr %16, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %261) #10
  br label %11180

10916:                                            ; preds = %10912
  br label %10917

10917:                                            ; preds = %10916
  br label %10918

10918:                                            ; preds = %10917
  br label %10919

10919:                                            ; preds = %10918
  %10920 = load i32, ptr @test_count, align 4, !tbaa !5
  %10921 = add nsw i32 %10920, 1
  store i32 %10921, ptr @test_count, align 4, !tbaa !5
  %10922 = load ptr, ptr %259, align 8, !tbaa !9
  %10923 = getelementptr inbounds [6 x i8], ptr %11, i64 0, i64 0
  %10924 = call i64 @s2n_recv(ptr noundef %10922, ptr noundef %10923, i64 noundef 6, ptr noundef %260)
  %10925 = icmp eq i64 %10924, -1
  br i1 %10925, label %10979, label %10926

10926:                                            ; preds = %10919
  br label %10927

10927:                                            ; preds = %10926
  br label %10928

10928:                                            ; preds = %10927
  call void @llvm.lifetime.start.p0(i64 4, ptr %262) #10
  %10929 = call ptr @__errno_location() #11
  %10930 = load i32, ptr %10929, align 4, !tbaa !5
  store i32 %10930, ptr %262, align 4, !tbaa !5
  %10931 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10932 = call i32 @s2n_print_stacktrace(ptr noundef %10931)
  %10933 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10934 = trunc i8 %10933 to i1
  br i1 %10934, label %10935, label %10957

10935:                                            ; preds = %10928
  %10936 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10937 = call i32 @fileno(ptr noundef %10936) #10
  %10938 = call i32 @isatty(i32 noundef %10937) #10
  %10939 = icmp ne i32 %10938, 0
  br i1 %10939, label %10940, label %10957

10940:                                            ; preds = %10935
  %10941 = load i32, ptr %262, align 4, !tbaa !5
  %10942 = call ptr @__errno_location() #11
  store i32 %10941, ptr %10942, align 4, !tbaa !5
  %10943 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10944 = load i32, ptr @test_count, align 4, !tbaa !5
  %10945 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10946 = load i32, ptr %10945, align 4, !tbaa !5
  %10947 = call ptr @s2n_strerror(i32 noundef %10946, ptr noundef @.str.4)
  %10948 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10949 = load i32, ptr %10948, align 4, !tbaa !5
  %10950 = call ptr @s2n_strerror_debug(i32 noundef %10949, ptr noundef @.str.4)
  %10951 = call ptr @__errno_location() #11
  %10952 = load i32, ptr %10951, align 4, !tbaa !5
  %10953 = call ptr @strerror(i32 noundef %10952) #10
  %10954 = call ptr @__errno_location() #11
  %10955 = load i32, ptr %10954, align 4, !tbaa !5
  %10956 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10943, ptr noundef @.str.2, i32 noundef %10944, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 573, ptr noundef %10947, ptr noundef %10950, ptr noundef %10953, i32 noundef %10955) #10
  br label %10974

10957:                                            ; preds = %10935, %10928
  %10958 = load i32, ptr %262, align 4, !tbaa !5
  %10959 = call ptr @__errno_location() #11
  store i32 %10958, ptr %10959, align 4, !tbaa !5
  %10960 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10961 = load i32, ptr @test_count, align 4, !tbaa !5
  %10962 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10963 = load i32, ptr %10962, align 4, !tbaa !5
  %10964 = call ptr @s2n_strerror(i32 noundef %10963, ptr noundef @.str.4)
  %10965 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10966 = load i32, ptr %10965, align 4, !tbaa !5
  %10967 = call ptr @s2n_strerror_debug(i32 noundef %10966, ptr noundef @.str.4)
  %10968 = call ptr @__errno_location() #11
  %10969 = load i32, ptr %10968, align 4, !tbaa !5
  %10970 = call ptr @strerror(i32 noundef %10969) #10
  %10971 = call ptr @__errno_location() #11
  %10972 = load i32, ptr %10971, align 4, !tbaa !5
  %10973 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10960, ptr noundef @.str.5, i32 noundef %10961, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 573, ptr noundef %10964, ptr noundef %10967, ptr noundef %10970, i32 noundef %10972) #10
  br label %10974

10974:                                            ; preds = %10957, %10940
  call void @llvm.lifetime.end.p0(i64 4, ptr %262) #10
  br label %10975

10975:                                            ; preds = %10974
  br label %10976

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

10977:                                            ; No predecessors!
  br label %10978

10978:                                            ; preds = %10977
  br label %10979

10979:                                            ; preds = %10978, %10919
  br label %10980

10980:                                            ; preds = %10979
  br label %10981

10981:                                            ; preds = %10980
  br label %10982

10982:                                            ; preds = %10981
  %10983 = load i32, ptr @test_count, align 4, !tbaa !5
  %10984 = add nsw i32 %10983, 1
  store i32 %10984, ptr @test_count, align 4, !tbaa !5
  %10985 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10986 = load i32, ptr %10985, align 4, !tbaa !5
  %10987 = icmp eq i32 %10986, 134217728
  br i1 %10987, label %11041, label %10988

10988:                                            ; preds = %10982
  br label %10989

10989:                                            ; preds = %10988
  br label %10990

10990:                                            ; preds = %10989
  call void @llvm.lifetime.start.p0(i64 4, ptr %263) #10
  %10991 = call ptr @__errno_location() #11
  %10992 = load i32, ptr %10991, align 4, !tbaa !5
  store i32 %10992, ptr %263, align 4, !tbaa !5
  %10993 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10994 = call i32 @s2n_print_stacktrace(ptr noundef %10993)
  %10995 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10996 = trunc i8 %10995 to i1
  br i1 %10996, label %10997, label %11019

10997:                                            ; preds = %10990
  %10998 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10999 = call i32 @fileno(ptr noundef %10998) #10
  %11000 = call i32 @isatty(i32 noundef %10999) #10
  %11001 = icmp ne i32 %11000, 0
  br i1 %11001, label %11002, label %11019

11002:                                            ; preds = %10997
  %11003 = load i32, ptr %263, align 4, !tbaa !5
  %11004 = call ptr @__errno_location() #11
  store i32 %11003, ptr %11004, align 4, !tbaa !5
  %11005 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11006 = load i32, ptr @test_count, align 4, !tbaa !5
  %11007 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11008 = load i32, ptr %11007, align 4, !tbaa !5
  %11009 = call ptr @s2n_strerror(i32 noundef %11008, ptr noundef @.str.4)
  %11010 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11011 = load i32, ptr %11010, align 4, !tbaa !5
  %11012 = call ptr @s2n_strerror_debug(i32 noundef %11011, ptr noundef @.str.4)
  %11013 = call ptr @__errno_location() #11
  %11014 = load i32, ptr %11013, align 4, !tbaa !5
  %11015 = call ptr @strerror(i32 noundef %11014) #10
  %11016 = call ptr @__errno_location() #11
  %11017 = load i32, ptr %11016, align 4, !tbaa !5
  %11018 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11005, ptr noundef @.str.2, i32 noundef %11006, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 573, ptr noundef %11009, ptr noundef %11012, ptr noundef %11015, i32 noundef %11017) #10
  br label %11036

11019:                                            ; preds = %10997, %10990
  %11020 = load i32, ptr %263, align 4, !tbaa !5
  %11021 = call ptr @__errno_location() #11
  store i32 %11020, ptr %11021, align 4, !tbaa !5
  %11022 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11023 = load i32, ptr @test_count, align 4, !tbaa !5
  %11024 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11025 = load i32, ptr %11024, align 4, !tbaa !5
  %11026 = call ptr @s2n_strerror(i32 noundef %11025, ptr noundef @.str.4)
  %11027 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11028 = load i32, ptr %11027, align 4, !tbaa !5
  %11029 = call ptr @s2n_strerror_debug(i32 noundef %11028, ptr noundef @.str.4)
  %11030 = call ptr @__errno_location() #11
  %11031 = load i32, ptr %11030, align 4, !tbaa !5
  %11032 = call ptr @strerror(i32 noundef %11031) #10
  %11033 = call ptr @__errno_location() #11
  %11034 = load i32, ptr %11033, align 4, !tbaa !5
  %11035 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11022, ptr noundef @.str.5, i32 noundef %11023, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 573, ptr noundef %11026, ptr noundef %11029, ptr noundef %11032, i32 noundef %11034) #10
  br label %11036

11036:                                            ; preds = %11019, %11002
  call void @llvm.lifetime.end.p0(i64 4, ptr %263) #10
  br label %11037

11037:                                            ; preds = %11036
  br label %11038

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

11039:                                            ; No predecessors!
  br label %11040

11040:                                            ; preds = %11039
  br label %11041

11041:                                            ; preds = %11040, %10982
  br label %11042

11042:                                            ; preds = %11041
  br label %11043

11043:                                            ; preds = %11042
  br label %11044

11044:                                            ; preds = %11043
  %11045 = load i32, ptr @test_count, align 4, !tbaa !5
  %11046 = add nsw i32 %11045, 1
  store i32 %11046, ptr @test_count, align 4, !tbaa !5
  %11047 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11048 = load i32, ptr %11047, align 4, !tbaa !5
  %11049 = call ptr @s2n_strerror_debug(i32 noundef %11048, ptr noundef @.str.4)
  %11050 = icmp eq ptr %11049, null
  br i1 %11050, label %11051, label %11104

11051:                                            ; preds = %11044
  br label %11052

11052:                                            ; preds = %11051
  br label %11053

11053:                                            ; preds = %11052
  call void @llvm.lifetime.start.p0(i64 4, ptr %264) #10
  %11054 = call ptr @__errno_location() #11
  %11055 = load i32, ptr %11054, align 4, !tbaa !5
  store i32 %11055, ptr %264, align 4, !tbaa !5
  %11056 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11057 = call i32 @s2n_print_stacktrace(ptr noundef %11056)
  %11058 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11059 = trunc i8 %11058 to i1
  br i1 %11059, label %11060, label %11082

11060:                                            ; preds = %11053
  %11061 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11062 = call i32 @fileno(ptr noundef %11061) #10
  %11063 = call i32 @isatty(i32 noundef %11062) #10
  %11064 = icmp ne i32 %11063, 0
  br i1 %11064, label %11065, label %11082

11065:                                            ; preds = %11060
  %11066 = load i32, ptr %264, align 4, !tbaa !5
  %11067 = call ptr @__errno_location() #11
  store i32 %11066, ptr %11067, align 4, !tbaa !5
  %11068 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11069 = load i32, ptr @test_count, align 4, !tbaa !5
  %11070 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11071 = load i32, ptr %11070, align 4, !tbaa !5
  %11072 = call ptr @s2n_strerror(i32 noundef %11071, ptr noundef @.str.4)
  %11073 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11074 = load i32, ptr %11073, align 4, !tbaa !5
  %11075 = call ptr @s2n_strerror_debug(i32 noundef %11074, ptr noundef @.str.4)
  %11076 = call ptr @__errno_location() #11
  %11077 = load i32, ptr %11076, align 4, !tbaa !5
  %11078 = call ptr @strerror(i32 noundef %11077) #10
  %11079 = call ptr @__errno_location() #11
  %11080 = load i32, ptr %11079, align 4, !tbaa !5
  %11081 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11068, ptr noundef @.str.2, i32 noundef %11069, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 573, ptr noundef %11072, ptr noundef %11075, ptr noundef %11078, i32 noundef %11080) #10
  br label %11099

11082:                                            ; preds = %11060, %11053
  %11083 = load i32, ptr %264, align 4, !tbaa !5
  %11084 = call ptr @__errno_location() #11
  store i32 %11083, ptr %11084, align 4, !tbaa !5
  %11085 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11086 = load i32, ptr @test_count, align 4, !tbaa !5
  %11087 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11088 = load i32, ptr %11087, align 4, !tbaa !5
  %11089 = call ptr @s2n_strerror(i32 noundef %11088, ptr noundef @.str.4)
  %11090 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11091 = load i32, ptr %11090, align 4, !tbaa !5
  %11092 = call ptr @s2n_strerror_debug(i32 noundef %11091, ptr noundef @.str.4)
  %11093 = call ptr @__errno_location() #11
  %11094 = load i32, ptr %11093, align 4, !tbaa !5
  %11095 = call ptr @strerror(i32 noundef %11094) #10
  %11096 = call ptr @__errno_location() #11
  %11097 = load i32, ptr %11096, align 4, !tbaa !5
  %11098 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11085, ptr noundef @.str.5, i32 noundef %11086, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 573, ptr noundef %11089, ptr noundef %11092, ptr noundef %11095, i32 noundef %11097) #10
  br label %11099

11099:                                            ; preds = %11082, %11065
  call void @llvm.lifetime.end.p0(i64 4, ptr %264) #10
  br label %11100

11100:                                            ; preds = %11099
  br label %11101

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

11102:                                            ; No predecessors!
  br label %11103

11103:                                            ; preds = %11102
  br label %11104

11104:                                            ; preds = %11103, %11044
  br label %11105

11105:                                            ; preds = %11104
  br label %11106

11106:                                            ; preds = %11105
  br label %11107

11107:                                            ; preds = %11106
  br label %11108

11108:                                            ; preds = %11107
  br label %11109

11109:                                            ; preds = %11108
  %11110 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %11110, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %11111 = call ptr @__errno_location() #11
  store i32 0, ptr %11111, align 4, !tbaa !5
  br label %11112

11112:                                            ; preds = %11109
  br label %11113

11113:                                            ; preds = %11112
  br label %11114

11114:                                            ; preds = %11113
  br label %11115

11115:                                            ; preds = %11114
  br label %11116

11116:                                            ; preds = %11115
  %11117 = load i32, ptr @test_count, align 4, !tbaa !5
  %11118 = add nsw i32 %11117, 1
  store i32 %11118, ptr @test_count, align 4, !tbaa !5
  %11119 = load ptr, ptr %259, align 8, !tbaa !9
  %11120 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %11119, i32 noundef 1)
  br i1 %11120, label %11121, label %11174

11121:                                            ; preds = %11116
  br label %11122

11122:                                            ; preds = %11121
  br label %11123

11123:                                            ; preds = %11122
  call void @llvm.lifetime.start.p0(i64 4, ptr %265) #10
  %11124 = call ptr @__errno_location() #11
  %11125 = load i32, ptr %11124, align 4, !tbaa !5
  store i32 %11125, ptr %265, align 4, !tbaa !5
  %11126 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11127 = call i32 @s2n_print_stacktrace(ptr noundef %11126)
  %11128 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11129 = trunc i8 %11128 to i1
  br i1 %11129, label %11130, label %11152

11130:                                            ; preds = %11123
  %11131 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11132 = call i32 @fileno(ptr noundef %11131) #10
  %11133 = call i32 @isatty(i32 noundef %11132) #10
  %11134 = icmp ne i32 %11133, 0
  br i1 %11134, label %11135, label %11152

11135:                                            ; preds = %11130
  %11136 = load i32, ptr %265, align 4, !tbaa !5
  %11137 = call ptr @__errno_location() #11
  store i32 %11136, ptr %11137, align 4, !tbaa !5
  %11138 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11139 = load i32, ptr @test_count, align 4, !tbaa !5
  %11140 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11141 = load i32, ptr %11140, align 4, !tbaa !5
  %11142 = call ptr @s2n_strerror(i32 noundef %11141, ptr noundef @.str.4)
  %11143 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11144 = load i32, ptr %11143, align 4, !tbaa !5
  %11145 = call ptr @s2n_strerror_debug(i32 noundef %11144, ptr noundef @.str.4)
  %11146 = call ptr @__errno_location() #11
  %11147 = load i32, ptr %11146, align 4, !tbaa !5
  %11148 = call ptr @strerror(i32 noundef %11147) #10
  %11149 = call ptr @__errno_location() #11
  %11150 = load i32, ptr %11149, align 4, !tbaa !5
  %11151 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11138, ptr noundef @.str.2, i32 noundef %11139, ptr noundef @.str.73, ptr noundef @.str.1, i32 noundef 574, ptr noundef %11142, ptr noundef %11145, ptr noundef %11148, i32 noundef %11150) #10
  br label %11169

11152:                                            ; preds = %11130, %11123
  %11153 = load i32, ptr %265, align 4, !tbaa !5
  %11154 = call ptr @__errno_location() #11
  store i32 %11153, ptr %11154, align 4, !tbaa !5
  %11155 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11156 = load i32, ptr @test_count, align 4, !tbaa !5
  %11157 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11158 = load i32, ptr %11157, align 4, !tbaa !5
  %11159 = call ptr @s2n_strerror(i32 noundef %11158, ptr noundef @.str.4)
  %11160 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11161 = load i32, ptr %11160, align 4, !tbaa !5
  %11162 = call ptr @s2n_strerror_debug(i32 noundef %11161, ptr noundef @.str.4)
  %11163 = call ptr @__errno_location() #11
  %11164 = load i32, ptr %11163, align 4, !tbaa !5
  %11165 = call ptr @strerror(i32 noundef %11164) #10
  %11166 = call ptr @__errno_location() #11
  %11167 = load i32, ptr %11166, align 4, !tbaa !5
  %11168 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11155, ptr noundef @.str.5, i32 noundef %11156, ptr noundef @.str.73, ptr noundef @.str.1, i32 noundef 574, ptr noundef %11159, ptr noundef %11162, ptr noundef %11165, i32 noundef %11167) #10
  br label %11169

11169:                                            ; preds = %11152, %11135
  call void @llvm.lifetime.end.p0(i64 4, ptr %265) #10
  br label %11170

11170:                                            ; preds = %11169
  br label %11171

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

11172:                                            ; No predecessors!
  br label %11173

11173:                                            ; preds = %11172
  br label %11174

11174:                                            ; preds = %11173, %11116
  br label %11175

11175:                                            ; preds = %11174
  br label %11176

11176:                                            ; preds = %11175
  br label %11177

11177:                                            ; preds = %11176
  %11178 = load i64, ptr %261, align 8, !tbaa !15
  %11179 = add i64 %11178, 1
  store i64 %11179, ptr %261, align 8, !tbaa !15
  br label %10912, !llvm.loop !59

11180:                                            ; preds = %10915
  call void @llvm.lifetime.end.p0(i64 4, ptr %260) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %259) #10
  %11181 = call i32 @s2n_io_pair_close(ptr noundef %254)
  call void @llvm.lifetime.end.p0(i64 8, ptr %254) #10
  %11182 = call i32 @s2n_connection_ptr_free(ptr noundef %251)
  %11183 = getelementptr inbounds %struct.s2n_result, ptr %266, i32 0, i32 0
  store i32 %11182, ptr %11183, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %251) #10
  %11184 = call i32 @s2n_connection_ptr_free(ptr noundef %248)
  %11185 = getelementptr inbounds %struct.s2n_result, ptr %267, i32 0, i32 0
  store i32 %11184, ptr %11185, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %248) #10
  call void @llvm.lifetime.start.p0(i64 472, ptr %268) #10
  %11186 = load ptr, ptr %23, align 8, !tbaa !9
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %268, ptr align 8 %11186, i64 472, i1 false), !tbaa.struct !60
  %11187 = load i32, ptr %268, align 8
  %11188 = and i32 %11187, -16385
  %11189 = or i32 %11188, 16384
  store i32 %11189, ptr %268, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %269) #10
  %11190 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %11190, ptr %269, align 8, !tbaa !9
  br label %11191

11191:                                            ; preds = %11180
  %11192 = load i32, ptr @test_count, align 4, !tbaa !5
  %11193 = add nsw i32 %11192, 1
  store i32 %11193, ptr @test_count, align 4, !tbaa !5
  %11194 = load ptr, ptr %269, align 8, !tbaa !9
  %11195 = call i32 @s2n_connection_set_blinding(ptr noundef %11194, i32 noundef 1)
  %11196 = icmp eq i32 %11195, -1
  br i1 %11196, label %11197, label %11250

11197:                                            ; preds = %11191
  br label %11198

11198:                                            ; preds = %11197
  br label %11199

11199:                                            ; preds = %11198
  call void @llvm.lifetime.start.p0(i64 4, ptr %270) #10
  %11200 = call ptr @__errno_location() #11
  %11201 = load i32, ptr %11200, align 4, !tbaa !5
  store i32 %11201, ptr %270, align 4, !tbaa !5
  %11202 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11203 = call i32 @s2n_print_stacktrace(ptr noundef %11202)
  %11204 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11205 = trunc i8 %11204 to i1
  br i1 %11205, label %11206, label %11228

11206:                                            ; preds = %11199
  %11207 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11208 = call i32 @fileno(ptr noundef %11207) #10
  %11209 = call i32 @isatty(i32 noundef %11208) #10
  %11210 = icmp ne i32 %11209, 0
  br i1 %11210, label %11211, label %11228

11211:                                            ; preds = %11206
  %11212 = load i32, ptr %270, align 4, !tbaa !5
  %11213 = call ptr @__errno_location() #11
  store i32 %11212, ptr %11213, align 4, !tbaa !5
  %11214 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11215 = load i32, ptr @test_count, align 4, !tbaa !5
  %11216 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11217 = load i32, ptr %11216, align 4, !tbaa !5
  %11218 = call ptr @s2n_strerror(i32 noundef %11217, ptr noundef @.str.4)
  %11219 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11220 = load i32, ptr %11219, align 4, !tbaa !5
  %11221 = call ptr @s2n_strerror_debug(i32 noundef %11220, ptr noundef @.str.4)
  %11222 = call ptr @__errno_location() #11
  %11223 = load i32, ptr %11222, align 4, !tbaa !5
  %11224 = call ptr @strerror(i32 noundef %11223) #10
  %11225 = call ptr @__errno_location() #11
  %11226 = load i32, ptr %11225, align 4, !tbaa !5
  %11227 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11214, ptr noundef @.str.2, i32 noundef %11215, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 589, ptr noundef %11218, ptr noundef %11221, ptr noundef %11224, i32 noundef %11226) #10
  br label %11245

11228:                                            ; preds = %11206, %11199
  %11229 = load i32, ptr %270, align 4, !tbaa !5
  %11230 = call ptr @__errno_location() #11
  store i32 %11229, ptr %11230, align 4, !tbaa !5
  %11231 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11232 = load i32, ptr @test_count, align 4, !tbaa !5
  %11233 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11234 = load i32, ptr %11233, align 4, !tbaa !5
  %11235 = call ptr @s2n_strerror(i32 noundef %11234, ptr noundef @.str.4)
  %11236 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11237 = load i32, ptr %11236, align 4, !tbaa !5
  %11238 = call ptr @s2n_strerror_debug(i32 noundef %11237, ptr noundef @.str.4)
  %11239 = call ptr @__errno_location() #11
  %11240 = load i32, ptr %11239, align 4, !tbaa !5
  %11241 = call ptr @strerror(i32 noundef %11240) #10
  %11242 = call ptr @__errno_location() #11
  %11243 = load i32, ptr %11242, align 4, !tbaa !5
  %11244 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11231, ptr noundef @.str.5, i32 noundef %11232, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 589, ptr noundef %11235, ptr noundef %11238, ptr noundef %11241, i32 noundef %11243) #10
  br label %11245

11245:                                            ; preds = %11228, %11211
  call void @llvm.lifetime.end.p0(i64 4, ptr %270) #10
  br label %11246

11246:                                            ; preds = %11245
  br label %11247

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

11248:                                            ; No predecessors!
  br label %11249

11249:                                            ; preds = %11248
  br label %11250

11250:                                            ; preds = %11249, %11191
  br label %11251

11251:                                            ; preds = %11250
  br label %11252

11252:                                            ; preds = %11251
  br label %11253

11253:                                            ; preds = %11252
  %11254 = load i32, ptr @test_count, align 4, !tbaa !5
  %11255 = add nsw i32 %11254, 1
  store i32 %11255, ptr @test_count, align 4, !tbaa !5
  %11256 = load ptr, ptr %269, align 8, !tbaa !9
  %11257 = call i32 @s2n_connection_set_config(ptr noundef %11256, ptr noundef %268)
  %11258 = icmp eq i32 %11257, -1
  br i1 %11258, label %11259, label %11312

11259:                                            ; preds = %11253
  br label %11260

11260:                                            ; preds = %11259
  br label %11261

11261:                                            ; preds = %11260
  call void @llvm.lifetime.start.p0(i64 4, ptr %271) #10
  %11262 = call ptr @__errno_location() #11
  %11263 = load i32, ptr %11262, align 4, !tbaa !5
  store i32 %11263, ptr %271, align 4, !tbaa !5
  %11264 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11265 = call i32 @s2n_print_stacktrace(ptr noundef %11264)
  %11266 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11267 = trunc i8 %11266 to i1
  br i1 %11267, label %11268, label %11290

11268:                                            ; preds = %11261
  %11269 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11270 = call i32 @fileno(ptr noundef %11269) #10
  %11271 = call i32 @isatty(i32 noundef %11270) #10
  %11272 = icmp ne i32 %11271, 0
  br i1 %11272, label %11273, label %11290

11273:                                            ; preds = %11268
  %11274 = load i32, ptr %271, align 4, !tbaa !5
  %11275 = call ptr @__errno_location() #11
  store i32 %11274, ptr %11275, align 4, !tbaa !5
  %11276 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11277 = load i32, ptr @test_count, align 4, !tbaa !5
  %11278 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11279 = load i32, ptr %11278, align 4, !tbaa !5
  %11280 = call ptr @s2n_strerror(i32 noundef %11279, ptr noundef @.str.4)
  %11281 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11282 = load i32, ptr %11281, align 4, !tbaa !5
  %11283 = call ptr @s2n_strerror_debug(i32 noundef %11282, ptr noundef @.str.4)
  %11284 = call ptr @__errno_location() #11
  %11285 = load i32, ptr %11284, align 4, !tbaa !5
  %11286 = call ptr @strerror(i32 noundef %11285) #10
  %11287 = call ptr @__errno_location() #11
  %11288 = load i32, ptr %11287, align 4, !tbaa !5
  %11289 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11276, ptr noundef @.str.2, i32 noundef %11277, ptr noundef @.str.89, ptr noundef @.str.1, i32 noundef 590, ptr noundef %11280, ptr noundef %11283, ptr noundef %11286, i32 noundef %11288) #10
  br label %11307

11290:                                            ; preds = %11268, %11261
  %11291 = load i32, ptr %271, align 4, !tbaa !5
  %11292 = call ptr @__errno_location() #11
  store i32 %11291, ptr %11292, align 4, !tbaa !5
  %11293 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11294 = load i32, ptr @test_count, align 4, !tbaa !5
  %11295 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11296 = load i32, ptr %11295, align 4, !tbaa !5
  %11297 = call ptr @s2n_strerror(i32 noundef %11296, ptr noundef @.str.4)
  %11298 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11299 = load i32, ptr %11298, align 4, !tbaa !5
  %11300 = call ptr @s2n_strerror_debug(i32 noundef %11299, ptr noundef @.str.4)
  %11301 = call ptr @__errno_location() #11
  %11302 = load i32, ptr %11301, align 4, !tbaa !5
  %11303 = call ptr @strerror(i32 noundef %11302) #10
  %11304 = call ptr @__errno_location() #11
  %11305 = load i32, ptr %11304, align 4, !tbaa !5
  %11306 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11293, ptr noundef @.str.5, i32 noundef %11294, ptr noundef @.str.89, ptr noundef @.str.1, i32 noundef 590, ptr noundef %11297, ptr noundef %11300, ptr noundef %11303, i32 noundef %11305) #10
  br label %11307

11307:                                            ; preds = %11290, %11273
  call void @llvm.lifetime.end.p0(i64 4, ptr %271) #10
  br label %11308

11308:                                            ; preds = %11307
  br label %11309

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

11310:                                            ; No predecessors!
  br label %11311

11311:                                            ; preds = %11310
  br label %11312

11312:                                            ; preds = %11311, %11253
  br label %11313

11313:                                            ; preds = %11312
  br label %11314

11314:                                            ; preds = %11313
  call void @llvm.lifetime.start.p0(i64 8, ptr %272) #10
  %11315 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %11315, ptr %272, align 8, !tbaa !9
  br label %11316

11316:                                            ; preds = %11314
  %11317 = load i32, ptr @test_count, align 4, !tbaa !5
  %11318 = add nsw i32 %11317, 1
  store i32 %11318, ptr @test_count, align 4, !tbaa !5
  %11319 = load ptr, ptr %272, align 8, !tbaa !9
  %11320 = call i32 @s2n_connection_set_blinding(ptr noundef %11319, i32 noundef 1)
  %11321 = icmp eq i32 %11320, -1
  br i1 %11321, label %11322, label %11375

11322:                                            ; preds = %11316
  br label %11323

11323:                                            ; preds = %11322
  br label %11324

11324:                                            ; preds = %11323
  call void @llvm.lifetime.start.p0(i64 4, ptr %273) #10
  %11325 = call ptr @__errno_location() #11
  %11326 = load i32, ptr %11325, align 4, !tbaa !5
  store i32 %11326, ptr %273, align 4, !tbaa !5
  %11327 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11328 = call i32 @s2n_print_stacktrace(ptr noundef %11327)
  %11329 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11330 = trunc i8 %11329 to i1
  br i1 %11330, label %11331, label %11353

11331:                                            ; preds = %11324
  %11332 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11333 = call i32 @fileno(ptr noundef %11332) #10
  %11334 = call i32 @isatty(i32 noundef %11333) #10
  %11335 = icmp ne i32 %11334, 0
  br i1 %11335, label %11336, label %11353

11336:                                            ; preds = %11331
  %11337 = load i32, ptr %273, align 4, !tbaa !5
  %11338 = call ptr @__errno_location() #11
  store i32 %11337, ptr %11338, align 4, !tbaa !5
  %11339 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11340 = load i32, ptr @test_count, align 4, !tbaa !5
  %11341 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11342 = load i32, ptr %11341, align 4, !tbaa !5
  %11343 = call ptr @s2n_strerror(i32 noundef %11342, ptr noundef @.str.4)
  %11344 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11345 = load i32, ptr %11344, align 4, !tbaa !5
  %11346 = call ptr @s2n_strerror_debug(i32 noundef %11345, ptr noundef @.str.4)
  %11347 = call ptr @__errno_location() #11
  %11348 = load i32, ptr %11347, align 4, !tbaa !5
  %11349 = call ptr @strerror(i32 noundef %11348) #10
  %11350 = call ptr @__errno_location() #11
  %11351 = load i32, ptr %11350, align 4, !tbaa !5
  %11352 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11339, ptr noundef @.str.2, i32 noundef %11340, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 594, ptr noundef %11343, ptr noundef %11346, ptr noundef %11349, i32 noundef %11351) #10
  br label %11370

11353:                                            ; preds = %11331, %11324
  %11354 = load i32, ptr %273, align 4, !tbaa !5
  %11355 = call ptr @__errno_location() #11
  store i32 %11354, ptr %11355, align 4, !tbaa !5
  %11356 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11357 = load i32, ptr @test_count, align 4, !tbaa !5
  %11358 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11359 = load i32, ptr %11358, align 4, !tbaa !5
  %11360 = call ptr @s2n_strerror(i32 noundef %11359, ptr noundef @.str.4)
  %11361 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11362 = load i32, ptr %11361, align 4, !tbaa !5
  %11363 = call ptr @s2n_strerror_debug(i32 noundef %11362, ptr noundef @.str.4)
  %11364 = call ptr @__errno_location() #11
  %11365 = load i32, ptr %11364, align 4, !tbaa !5
  %11366 = call ptr @strerror(i32 noundef %11365) #10
  %11367 = call ptr @__errno_location() #11
  %11368 = load i32, ptr %11367, align 4, !tbaa !5
  %11369 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11356, ptr noundef @.str.5, i32 noundef %11357, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 594, ptr noundef %11360, ptr noundef %11363, ptr noundef %11366, i32 noundef %11368) #10
  br label %11370

11370:                                            ; preds = %11353, %11336
  call void @llvm.lifetime.end.p0(i64 4, ptr %273) #10
  br label %11371

11371:                                            ; preds = %11370
  br label %11372

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

11373:                                            ; No predecessors!
  br label %11374

11374:                                            ; preds = %11373
  br label %11375

11375:                                            ; preds = %11374, %11316
  br label %11376

11376:                                            ; preds = %11375
  br label %11377

11377:                                            ; preds = %11376
  br label %11378

11378:                                            ; preds = %11377
  %11379 = load i32, ptr @test_count, align 4, !tbaa !5
  %11380 = add nsw i32 %11379, 1
  store i32 %11380, ptr @test_count, align 4, !tbaa !5
  %11381 = load ptr, ptr %272, align 8, !tbaa !9
  %11382 = call i32 @s2n_connection_set_config(ptr noundef %11381, ptr noundef %268)
  %11383 = icmp eq i32 %11382, -1
  br i1 %11383, label %11384, label %11437

11384:                                            ; preds = %11378
  br label %11385

11385:                                            ; preds = %11384
  br label %11386

11386:                                            ; preds = %11385
  call void @llvm.lifetime.start.p0(i64 4, ptr %274) #10
  %11387 = call ptr @__errno_location() #11
  %11388 = load i32, ptr %11387, align 4, !tbaa !5
  store i32 %11388, ptr %274, align 4, !tbaa !5
  %11389 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11390 = call i32 @s2n_print_stacktrace(ptr noundef %11389)
  %11391 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11392 = trunc i8 %11391 to i1
  br i1 %11392, label %11393, label %11415

11393:                                            ; preds = %11386
  %11394 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11395 = call i32 @fileno(ptr noundef %11394) #10
  %11396 = call i32 @isatty(i32 noundef %11395) #10
  %11397 = icmp ne i32 %11396, 0
  br i1 %11397, label %11398, label %11415

11398:                                            ; preds = %11393
  %11399 = load i32, ptr %274, align 4, !tbaa !5
  %11400 = call ptr @__errno_location() #11
  store i32 %11399, ptr %11400, align 4, !tbaa !5
  %11401 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11402 = load i32, ptr @test_count, align 4, !tbaa !5
  %11403 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11404 = load i32, ptr %11403, align 4, !tbaa !5
  %11405 = call ptr @s2n_strerror(i32 noundef %11404, ptr noundef @.str.4)
  %11406 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11407 = load i32, ptr %11406, align 4, !tbaa !5
  %11408 = call ptr @s2n_strerror_debug(i32 noundef %11407, ptr noundef @.str.4)
  %11409 = call ptr @__errno_location() #11
  %11410 = load i32, ptr %11409, align 4, !tbaa !5
  %11411 = call ptr @strerror(i32 noundef %11410) #10
  %11412 = call ptr @__errno_location() #11
  %11413 = load i32, ptr %11412, align 4, !tbaa !5
  %11414 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11401, ptr noundef @.str.2, i32 noundef %11402, ptr noundef @.str.90, ptr noundef @.str.1, i32 noundef 595, ptr noundef %11405, ptr noundef %11408, ptr noundef %11411, i32 noundef %11413) #10
  br label %11432

11415:                                            ; preds = %11393, %11386
  %11416 = load i32, ptr %274, align 4, !tbaa !5
  %11417 = call ptr @__errno_location() #11
  store i32 %11416, ptr %11417, align 4, !tbaa !5
  %11418 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11419 = load i32, ptr @test_count, align 4, !tbaa !5
  %11420 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11421 = load i32, ptr %11420, align 4, !tbaa !5
  %11422 = call ptr @s2n_strerror(i32 noundef %11421, ptr noundef @.str.4)
  %11423 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11424 = load i32, ptr %11423, align 4, !tbaa !5
  %11425 = call ptr @s2n_strerror_debug(i32 noundef %11424, ptr noundef @.str.4)
  %11426 = call ptr @__errno_location() #11
  %11427 = load i32, ptr %11426, align 4, !tbaa !5
  %11428 = call ptr @strerror(i32 noundef %11427) #10
  %11429 = call ptr @__errno_location() #11
  %11430 = load i32, ptr %11429, align 4, !tbaa !5
  %11431 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11418, ptr noundef @.str.5, i32 noundef %11419, ptr noundef @.str.90, ptr noundef @.str.1, i32 noundef 595, ptr noundef %11422, ptr noundef %11425, ptr noundef %11428, i32 noundef %11430) #10
  br label %11432

11432:                                            ; preds = %11415, %11398
  call void @llvm.lifetime.end.p0(i64 4, ptr %274) #10
  br label %11433

11433:                                            ; preds = %11432
  br label %11434

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

11435:                                            ; No predecessors!
  br label %11436

11436:                                            ; preds = %11435
  br label %11437

11437:                                            ; preds = %11436, %11378
  br label %11438

11438:                                            ; preds = %11437
  br label %11439

11439:                                            ; preds = %11438
  call void @llvm.lifetime.start.p0(i64 8, ptr %275) #10
  call void @llvm.memset.p0.i64(ptr align 4 %275, i8 0, i64 8, i1 false)
  br label %11440

11440:                                            ; preds = %11439
  %11441 = load i32, ptr @test_count, align 4, !tbaa !5
  %11442 = add nsw i32 %11441, 1
  store i32 %11442, ptr @test_count, align 4, !tbaa !5
  %11443 = call i32 @s2n_io_pair_init_non_blocking(ptr noundef %275)
  %11444 = icmp eq i32 %11443, -1
  br i1 %11444, label %11445, label %11498

11445:                                            ; preds = %11440
  br label %11446

11446:                                            ; preds = %11445
  br label %11447

11447:                                            ; preds = %11446
  call void @llvm.lifetime.start.p0(i64 4, ptr %276) #10
  %11448 = call ptr @__errno_location() #11
  %11449 = load i32, ptr %11448, align 4, !tbaa !5
  store i32 %11449, ptr %276, align 4, !tbaa !5
  %11450 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11451 = call i32 @s2n_print_stacktrace(ptr noundef %11450)
  %11452 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11453 = trunc i8 %11452 to i1
  br i1 %11453, label %11454, label %11476

11454:                                            ; preds = %11447
  %11455 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11456 = call i32 @fileno(ptr noundef %11455) #10
  %11457 = call i32 @isatty(i32 noundef %11456) #10
  %11458 = icmp ne i32 %11457, 0
  br i1 %11458, label %11459, label %11476

11459:                                            ; preds = %11454
  %11460 = load i32, ptr %276, align 4, !tbaa !5
  %11461 = call ptr @__errno_location() #11
  store i32 %11460, ptr %11461, align 4, !tbaa !5
  %11462 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11463 = load i32, ptr @test_count, align 4, !tbaa !5
  %11464 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11465 = load i32, ptr %11464, align 4, !tbaa !5
  %11466 = call ptr @s2n_strerror(i32 noundef %11465, ptr noundef @.str.4)
  %11467 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11468 = load i32, ptr %11467, align 4, !tbaa !5
  %11469 = call ptr @s2n_strerror_debug(i32 noundef %11468, ptr noundef @.str.4)
  %11470 = call ptr @__errno_location() #11
  %11471 = load i32, ptr %11470, align 4, !tbaa !5
  %11472 = call ptr @strerror(i32 noundef %11471) #10
  %11473 = call ptr @__errno_location() #11
  %11474 = load i32, ptr %11473, align 4, !tbaa !5
  %11475 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11462, ptr noundef @.str.2, i32 noundef %11463, ptr noundef @.str.86, ptr noundef @.str.1, i32 noundef 598, ptr noundef %11466, ptr noundef %11469, ptr noundef %11472, i32 noundef %11474) #10
  br label %11493

11476:                                            ; preds = %11454, %11447
  %11477 = load i32, ptr %276, align 4, !tbaa !5
  %11478 = call ptr @__errno_location() #11
  store i32 %11477, ptr %11478, align 4, !tbaa !5
  %11479 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11480 = load i32, ptr @test_count, align 4, !tbaa !5
  %11481 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11482 = load i32, ptr %11481, align 4, !tbaa !5
  %11483 = call ptr @s2n_strerror(i32 noundef %11482, ptr noundef @.str.4)
  %11484 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11485 = load i32, ptr %11484, align 4, !tbaa !5
  %11486 = call ptr @s2n_strerror_debug(i32 noundef %11485, ptr noundef @.str.4)
  %11487 = call ptr @__errno_location() #11
  %11488 = load i32, ptr %11487, align 4, !tbaa !5
  %11489 = call ptr @strerror(i32 noundef %11488) #10
  %11490 = call ptr @__errno_location() #11
  %11491 = load i32, ptr %11490, align 4, !tbaa !5
  %11492 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11479, ptr noundef @.str.5, i32 noundef %11480, ptr noundef @.str.86, ptr noundef @.str.1, i32 noundef 598, ptr noundef %11483, ptr noundef %11486, ptr noundef %11489, i32 noundef %11491) #10
  br label %11493

11493:                                            ; preds = %11476, %11459
  call void @llvm.lifetime.end.p0(i64 4, ptr %276) #10
  br label %11494

11494:                                            ; preds = %11493
  br label %11495

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

11496:                                            ; No predecessors!
  br label %11497

11497:                                            ; preds = %11496
  br label %11498

11498:                                            ; preds = %11497, %11440
  br label %11499

11499:                                            ; preds = %11498
  br label %11500

11500:                                            ; preds = %11499
  br label %11501

11501:                                            ; preds = %11500
  %11502 = load i32, ptr @test_count, align 4, !tbaa !5
  %11503 = add nsw i32 %11502, 1
  store i32 %11503, ptr @test_count, align 4, !tbaa !5
  %11504 = load ptr, ptr %272, align 8, !tbaa !9
  %11505 = load ptr, ptr %269, align 8, !tbaa !9
  %11506 = call i32 @s2n_connections_set_io_pair(ptr noundef %11504, ptr noundef %11505, ptr noundef %275)
  %11507 = icmp eq i32 %11506, -1
  br i1 %11507, label %11508, label %11561

11508:                                            ; preds = %11501
  br label %11509

11509:                                            ; preds = %11508
  br label %11510

11510:                                            ; preds = %11509
  call void @llvm.lifetime.start.p0(i64 4, ptr %277) #10
  %11511 = call ptr @__errno_location() #11
  %11512 = load i32, ptr %11511, align 4, !tbaa !5
  store i32 %11512, ptr %277, align 4, !tbaa !5
  %11513 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11514 = call i32 @s2n_print_stacktrace(ptr noundef %11513)
  %11515 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11516 = trunc i8 %11515 to i1
  br i1 %11516, label %11517, label %11539

11517:                                            ; preds = %11510
  %11518 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11519 = call i32 @fileno(ptr noundef %11518) #10
  %11520 = call i32 @isatty(i32 noundef %11519) #10
  %11521 = icmp ne i32 %11520, 0
  br i1 %11521, label %11522, label %11539

11522:                                            ; preds = %11517
  %11523 = load i32, ptr %277, align 4, !tbaa !5
  %11524 = call ptr @__errno_location() #11
  store i32 %11523, ptr %11524, align 4, !tbaa !5
  %11525 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11526 = load i32, ptr @test_count, align 4, !tbaa !5
  %11527 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11528 = load i32, ptr %11527, align 4, !tbaa !5
  %11529 = call ptr @s2n_strerror(i32 noundef %11528, ptr noundef @.str.4)
  %11530 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11531 = load i32, ptr %11530, align 4, !tbaa !5
  %11532 = call ptr @s2n_strerror_debug(i32 noundef %11531, ptr noundef @.str.4)
  %11533 = call ptr @__errno_location() #11
  %11534 = load i32, ptr %11533, align 4, !tbaa !5
  %11535 = call ptr @strerror(i32 noundef %11534) #10
  %11536 = call ptr @__errno_location() #11
  %11537 = load i32, ptr %11536, align 4, !tbaa !5
  %11538 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11525, ptr noundef @.str.2, i32 noundef %11526, ptr noundef @.str.87, ptr noundef @.str.1, i32 noundef 599, ptr noundef %11529, ptr noundef %11532, ptr noundef %11535, i32 noundef %11537) #10
  br label %11556

11539:                                            ; preds = %11517, %11510
  %11540 = load i32, ptr %277, align 4, !tbaa !5
  %11541 = call ptr @__errno_location() #11
  store i32 %11540, ptr %11541, align 4, !tbaa !5
  %11542 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11543 = load i32, ptr @test_count, align 4, !tbaa !5
  %11544 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11545 = load i32, ptr %11544, align 4, !tbaa !5
  %11546 = call ptr @s2n_strerror(i32 noundef %11545, ptr noundef @.str.4)
  %11547 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11548 = load i32, ptr %11547, align 4, !tbaa !5
  %11549 = call ptr @s2n_strerror_debug(i32 noundef %11548, ptr noundef @.str.4)
  %11550 = call ptr @__errno_location() #11
  %11551 = load i32, ptr %11550, align 4, !tbaa !5
  %11552 = call ptr @strerror(i32 noundef %11551) #10
  %11553 = call ptr @__errno_location() #11
  %11554 = load i32, ptr %11553, align 4, !tbaa !5
  %11555 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11542, ptr noundef @.str.5, i32 noundef %11543, ptr noundef @.str.87, ptr noundef @.str.1, i32 noundef 599, ptr noundef %11546, ptr noundef %11549, ptr noundef %11552, i32 noundef %11554) #10
  br label %11556

11556:                                            ; preds = %11539, %11522
  call void @llvm.lifetime.end.p0(i64 4, ptr %277) #10
  br label %11557

11557:                                            ; preds = %11556
  br label %11558

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

11559:                                            ; No predecessors!
  br label %11560

11560:                                            ; preds = %11559
  br label %11561

11561:                                            ; preds = %11560, %11501
  br label %11562

11562:                                            ; preds = %11561
  br label %11563

11563:                                            ; preds = %11562
  br label %11564

11564:                                            ; preds = %11563
  %11565 = load i32, ptr @test_count, align 4, !tbaa !5
  %11566 = add nsw i32 %11565, 1
  store i32 %11566, ptr @test_count, align 4, !tbaa !5
  %11567 = load ptr, ptr %269, align 8, !tbaa !9
  %11568 = load ptr, ptr %272, align 8, !tbaa !9
  %11569 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %11567, ptr noundef %11568)
  %11570 = icmp eq i32 %11569, -1
  br i1 %11570, label %11571, label %11624

11571:                                            ; preds = %11564
  br label %11572

11572:                                            ; preds = %11571
  br label %11573

11573:                                            ; preds = %11572
  call void @llvm.lifetime.start.p0(i64 4, ptr %278) #10
  %11574 = call ptr @__errno_location() #11
  %11575 = load i32, ptr %11574, align 4, !tbaa !5
  store i32 %11575, ptr %278, align 4, !tbaa !5
  %11576 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11577 = call i32 @s2n_print_stacktrace(ptr noundef %11576)
  %11578 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11579 = trunc i8 %11578 to i1
  br i1 %11579, label %11580, label %11602

11580:                                            ; preds = %11573
  %11581 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11582 = call i32 @fileno(ptr noundef %11581) #10
  %11583 = call i32 @isatty(i32 noundef %11582) #10
  %11584 = icmp ne i32 %11583, 0
  br i1 %11584, label %11585, label %11602

11585:                                            ; preds = %11580
  %11586 = load i32, ptr %278, align 4, !tbaa !5
  %11587 = call ptr @__errno_location() #11
  store i32 %11586, ptr %11587, align 4, !tbaa !5
  %11588 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11589 = load i32, ptr @test_count, align 4, !tbaa !5
  %11590 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11591 = load i32, ptr %11590, align 4, !tbaa !5
  %11592 = call ptr @s2n_strerror(i32 noundef %11591, ptr noundef @.str.4)
  %11593 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11594 = load i32, ptr %11593, align 4, !tbaa !5
  %11595 = call ptr @s2n_strerror_debug(i32 noundef %11594, ptr noundef @.str.4)
  %11596 = call ptr @__errno_location() #11
  %11597 = load i32, ptr %11596, align 4, !tbaa !5
  %11598 = call ptr @strerror(i32 noundef %11597) #10
  %11599 = call ptr @__errno_location() #11
  %11600 = load i32, ptr %11599, align 4, !tbaa !5
  %11601 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11588, ptr noundef @.str.2, i32 noundef %11589, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 602, ptr noundef %11592, ptr noundef %11595, ptr noundef %11598, i32 noundef %11600) #10
  br label %11619

11602:                                            ; preds = %11580, %11573
  %11603 = load i32, ptr %278, align 4, !tbaa !5
  %11604 = call ptr @__errno_location() #11
  store i32 %11603, ptr %11604, align 4, !tbaa !5
  %11605 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11606 = load i32, ptr @test_count, align 4, !tbaa !5
  %11607 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11608 = load i32, ptr %11607, align 4, !tbaa !5
  %11609 = call ptr @s2n_strerror(i32 noundef %11608, ptr noundef @.str.4)
  %11610 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11611 = load i32, ptr %11610, align 4, !tbaa !5
  %11612 = call ptr @s2n_strerror_debug(i32 noundef %11611, ptr noundef @.str.4)
  %11613 = call ptr @__errno_location() #11
  %11614 = load i32, ptr %11613, align 4, !tbaa !5
  %11615 = call ptr @strerror(i32 noundef %11614) #10
  %11616 = call ptr @__errno_location() #11
  %11617 = load i32, ptr %11616, align 4, !tbaa !5
  %11618 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11605, ptr noundef @.str.5, i32 noundef %11606, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 602, ptr noundef %11609, ptr noundef %11612, ptr noundef %11615, i32 noundef %11617) #10
  br label %11619

11619:                                            ; preds = %11602, %11585
  call void @llvm.lifetime.end.p0(i64 4, ptr %278) #10
  br label %11620

11620:                                            ; preds = %11619
  br label %11621

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

11622:                                            ; No predecessors!
  br label %11623

11623:                                            ; preds = %11622
  br label %11624

11624:                                            ; preds = %11623, %11564
  br label %11625

11625:                                            ; preds = %11624
  br label %11626

11626:                                            ; preds = %11625
  call void @llvm.lifetime.start.p0(i64 8, ptr %279) #10
  %11627 = load ptr, ptr %269, align 8, !tbaa !9
  store ptr %11627, ptr %279, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %280) #10
  %11628 = load ptr, ptr %272, align 8, !tbaa !9
  store ptr %11628, ptr %280, align 8, !tbaa !9
  %11629 = load i8, ptr %247, align 1, !tbaa !17
  %11630 = zext i8 %11629 to i32
  %11631 = icmp eq i32 %11630, 1
  br i1 %11631, label %11632, label %11635

11632:                                            ; preds = %11626
  %11633 = load ptr, ptr %272, align 8, !tbaa !9
  store ptr %11633, ptr %279, align 8, !tbaa !9
  %11634 = load ptr, ptr %269, align 8, !tbaa !9
  store ptr %11634, ptr %280, align 8, !tbaa !9
  br label %11635

11635:                                            ; preds = %11632, %11626
  call void @llvm.lifetime.start.p0(i64 1, ptr %281) #10
  store i8 3, ptr %281, align 1, !tbaa !17
  call void @llvm.lifetime.start.p0(i64 4, ptr %282) #10
  store i32 0, ptr %282, align 4, !tbaa !5
  br label %11636

11636:                                            ; preds = %11635
  %11637 = load i32, ptr @test_count, align 4, !tbaa !5
  %11638 = add nsw i32 %11637, 1
  store i32 %11638, ptr @test_count, align 4, !tbaa !5
  %11639 = load ptr, ptr %279, align 8, !tbaa !9
  %11640 = getelementptr inbounds [6 x i8], ptr %11, i64 0, i64 0
  %11641 = call i64 @s2n_send(ptr noundef %11639, ptr noundef %11640, i64 noundef 3, ptr noundef %282)
  %11642 = icmp eq i64 %11641, 3
  br i1 %11642, label %11696, label %11643

11643:                                            ; preds = %11636
  br label %11644

11644:                                            ; preds = %11643
  br label %11645

11645:                                            ; preds = %11644
  call void @llvm.lifetime.start.p0(i64 4, ptr %283) #10
  %11646 = call ptr @__errno_location() #11
  %11647 = load i32, ptr %11646, align 4, !tbaa !5
  store i32 %11647, ptr %283, align 4, !tbaa !5
  %11648 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11649 = call i32 @s2n_print_stacktrace(ptr noundef %11648)
  %11650 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11651 = trunc i8 %11650 to i1
  br i1 %11651, label %11652, label %11674

11652:                                            ; preds = %11645
  %11653 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11654 = call i32 @fileno(ptr noundef %11653) #10
  %11655 = call i32 @isatty(i32 noundef %11654) #10
  %11656 = icmp ne i32 %11655, 0
  br i1 %11656, label %11657, label %11674

11657:                                            ; preds = %11652
  %11658 = load i32, ptr %283, align 4, !tbaa !5
  %11659 = call ptr @__errno_location() #11
  store i32 %11658, ptr %11659, align 4, !tbaa !5
  %11660 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11661 = load i32, ptr @test_count, align 4, !tbaa !5
  %11662 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11663 = load i32, ptr %11662, align 4, !tbaa !5
  %11664 = call ptr @s2n_strerror(i32 noundef %11663, ptr noundef @.str.4)
  %11665 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11666 = load i32, ptr %11665, align 4, !tbaa !5
  %11667 = call ptr @s2n_strerror_debug(i32 noundef %11666, ptr noundef @.str.4)
  %11668 = call ptr @__errno_location() #11
  %11669 = load i32, ptr %11668, align 4, !tbaa !5
  %11670 = call ptr @strerror(i32 noundef %11669) #10
  %11671 = call ptr @__errno_location() #11
  %11672 = load i32, ptr %11671, align 4, !tbaa !5
  %11673 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11660, ptr noundef @.str.2, i32 noundef %11661, ptr noundef @.str.91, ptr noundef @.str.1, i32 noundef 614, ptr noundef %11664, ptr noundef %11667, ptr noundef %11670, i32 noundef %11672) #10
  br label %11691

11674:                                            ; preds = %11652, %11645
  %11675 = load i32, ptr %283, align 4, !tbaa !5
  %11676 = call ptr @__errno_location() #11
  store i32 %11675, ptr %11676, align 4, !tbaa !5
  %11677 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11678 = load i32, ptr @test_count, align 4, !tbaa !5
  %11679 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11680 = load i32, ptr %11679, align 4, !tbaa !5
  %11681 = call ptr @s2n_strerror(i32 noundef %11680, ptr noundef @.str.4)
  %11682 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11683 = load i32, ptr %11682, align 4, !tbaa !5
  %11684 = call ptr @s2n_strerror_debug(i32 noundef %11683, ptr noundef @.str.4)
  %11685 = call ptr @__errno_location() #11
  %11686 = load i32, ptr %11685, align 4, !tbaa !5
  %11687 = call ptr @strerror(i32 noundef %11686) #10
  %11688 = call ptr @__errno_location() #11
  %11689 = load i32, ptr %11688, align 4, !tbaa !5
  %11690 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11677, ptr noundef @.str.5, i32 noundef %11678, ptr noundef @.str.91, ptr noundef @.str.1, i32 noundef 614, ptr noundef %11681, ptr noundef %11684, ptr noundef %11687, i32 noundef %11689) #10
  br label %11691

11691:                                            ; preds = %11674, %11657
  call void @llvm.lifetime.end.p0(i64 4, ptr %283) #10
  br label %11692

11692:                                            ; preds = %11691
  br label %11693

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

11694:                                            ; No predecessors!
  br label %11695

11695:                                            ; preds = %11694
  br label %11696

11696:                                            ; preds = %11695, %11636
  br label %11697

11697:                                            ; preds = %11696
  br label %11698

11698:                                            ; preds = %11697
  br label %11699

11699:                                            ; preds = %11698
  %11700 = load i32, ptr @test_count, align 4, !tbaa !5
  %11701 = add nsw i32 %11700, 1
  store i32 %11701, ptr @test_count, align 4, !tbaa !5
  %11702 = load i32, ptr %282, align 4, !tbaa !5
  %11703 = icmp eq i32 %11702, 0
  br i1 %11703, label %11757, label %11704

11704:                                            ; preds = %11699
  br label %11705

11705:                                            ; preds = %11704
  br label %11706

11706:                                            ; preds = %11705
  call void @llvm.lifetime.start.p0(i64 4, ptr %284) #10
  %11707 = call ptr @__errno_location() #11
  %11708 = load i32, ptr %11707, align 4, !tbaa !5
  store i32 %11708, ptr %284, align 4, !tbaa !5
  %11709 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11710 = call i32 @s2n_print_stacktrace(ptr noundef %11709)
  %11711 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11712 = trunc i8 %11711 to i1
  br i1 %11712, label %11713, label %11735

11713:                                            ; preds = %11706
  %11714 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11715 = call i32 @fileno(ptr noundef %11714) #10
  %11716 = call i32 @isatty(i32 noundef %11715) #10
  %11717 = icmp ne i32 %11716, 0
  br i1 %11717, label %11718, label %11735

11718:                                            ; preds = %11713
  %11719 = load i32, ptr %284, align 4, !tbaa !5
  %11720 = call ptr @__errno_location() #11
  store i32 %11719, ptr %11720, align 4, !tbaa !5
  %11721 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11722 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %11724, ptr noundef @.str.4)
  %11726 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11727 = load i32, ptr %11726, align 4, !tbaa !5
  %11728 = call ptr @s2n_strerror_debug(i32 noundef %11727, ptr noundef @.str.4)
  %11729 = call ptr @__errno_location() #11
  %11730 = load i32, ptr %11729, align 4, !tbaa !5
  %11731 = call ptr @strerror(i32 noundef %11730) #10
  %11732 = call ptr @__errno_location() #11
  %11733 = load i32, ptr %11732, align 4, !tbaa !5
  %11734 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11721, ptr noundef @.str.2, i32 noundef %11722, ptr noundef @.str.65, ptr noundef @.str.1, i32 noundef 615, ptr noundef %11725, ptr noundef %11728, ptr noundef %11731, i32 noundef %11733) #10
  br label %11752

11735:                                            ; preds = %11713, %11706
  %11736 = load i32, ptr %284, align 4, !tbaa !5
  %11737 = call ptr @__errno_location() #11
  store i32 %11736, ptr %11737, align 4, !tbaa !5
  %11738 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11739 = load i32, ptr @test_count, align 4, !tbaa !5
  %11740 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11741 = load i32, ptr %11740, align 4, !tbaa !5
  %11742 = call ptr @s2n_strerror(i32 noundef %11741, ptr noundef @.str.4)
  %11743 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11744 = load i32, ptr %11743, align 4, !tbaa !5
  %11745 = call ptr @s2n_strerror_debug(i32 noundef %11744, ptr noundef @.str.4)
  %11746 = call ptr @__errno_location() #11
  %11747 = load i32, ptr %11746, align 4, !tbaa !5
  %11748 = call ptr @strerror(i32 noundef %11747) #10
  %11749 = call ptr @__errno_location() #11
  %11750 = load i32, ptr %11749, align 4, !tbaa !5
  %11751 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11738, ptr noundef @.str.5, i32 noundef %11739, ptr noundef @.str.65, ptr noundef @.str.1, i32 noundef 615, ptr noundef %11742, ptr noundef %11745, ptr noundef %11748, i32 noundef %11750) #10
  br label %11752

11752:                                            ; preds = %11735, %11718
  call void @llvm.lifetime.end.p0(i64 4, ptr %284) #10
  br label %11753

11753:                                            ; preds = %11752
  br label %11754

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

11755:                                            ; No predecessors!
  br label %11756

11756:                                            ; preds = %11755
  br label %11757

11757:                                            ; preds = %11756, %11699
  br label %11758

11758:                                            ; preds = %11757
  br label %11759

11759:                                            ; preds = %11758
  br label %11760

11760:                                            ; preds = %11759
  %11761 = load i32, ptr @test_count, align 4, !tbaa !5
  %11762 = add nsw i32 %11761, 1
  store i32 %11762, ptr @test_count, align 4, !tbaa !5
  %11763 = load i8, ptr %247, align 1, !tbaa !17
  %11764 = zext i8 %11763 to i32
  %11765 = call i32 @s2n_io_pair_close_one_end(ptr noundef %275, i32 noundef %11764)
  %11766 = icmp eq i32 %11765, -1
  br i1 %11766, label %11767, label %11820

11767:                                            ; preds = %11760
  br label %11768

11768:                                            ; preds = %11767
  br label %11769

11769:                                            ; preds = %11768
  call void @llvm.lifetime.start.p0(i64 4, ptr %285) #10
  %11770 = call ptr @__errno_location() #11
  %11771 = load i32, ptr %11770, align 4, !tbaa !5
  store i32 %11771, ptr %285, align 4, !tbaa !5
  %11772 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11773 = call i32 @s2n_print_stacktrace(ptr noundef %11772)
  %11774 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11775 = trunc i8 %11774 to i1
  br i1 %11775, label %11776, label %11798

11776:                                            ; preds = %11769
  %11777 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11778 = call i32 @fileno(ptr noundef %11777) #10
  %11779 = call i32 @isatty(i32 noundef %11778) #10
  %11780 = icmp ne i32 %11779, 0
  br i1 %11780, label %11781, label %11798

11781:                                            ; preds = %11776
  %11782 = load i32, ptr %285, align 4, !tbaa !5
  %11783 = call ptr @__errno_location() #11
  store i32 %11782, ptr %11783, align 4, !tbaa !5
  %11784 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11785 = load i32, ptr @test_count, align 4, !tbaa !5
  %11786 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11787 = load i32, ptr %11786, align 4, !tbaa !5
  %11788 = call ptr @s2n_strerror(i32 noundef %11787, ptr noundef @.str.4)
  %11789 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11790 = load i32, ptr %11789, align 4, !tbaa !5
  %11791 = call ptr @s2n_strerror_debug(i32 noundef %11790, ptr noundef @.str.4)
  %11792 = call ptr @__errno_location() #11
  %11793 = load i32, ptr %11792, align 4, !tbaa !5
  %11794 = call ptr @strerror(i32 noundef %11793) #10
  %11795 = call ptr @__errno_location() #11
  %11796 = load i32, ptr %11795, align 4, !tbaa !5
  %11797 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11784, ptr noundef @.str.2, i32 noundef %11785, ptr noundef @.str.88, ptr noundef @.str.1, i32 noundef 618, ptr noundef %11788, ptr noundef %11791, ptr noundef %11794, i32 noundef %11796) #10
  br label %11815

11798:                                            ; preds = %11776, %11769
  %11799 = load i32, ptr %285, align 4, !tbaa !5
  %11800 = call ptr @__errno_location() #11
  store i32 %11799, ptr %11800, align 4, !tbaa !5
  %11801 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11802 = load i32, ptr @test_count, align 4, !tbaa !5
  %11803 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11804 = load i32, ptr %11803, align 4, !tbaa !5
  %11805 = call ptr @s2n_strerror(i32 noundef %11804, ptr noundef @.str.4)
  %11806 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11807 = load i32, ptr %11806, align 4, !tbaa !5
  %11808 = call ptr @s2n_strerror_debug(i32 noundef %11807, ptr noundef @.str.4)
  %11809 = call ptr @__errno_location() #11
  %11810 = load i32, ptr %11809, align 4, !tbaa !5
  %11811 = call ptr @strerror(i32 noundef %11810) #10
  %11812 = call ptr @__errno_location() #11
  %11813 = load i32, ptr %11812, align 4, !tbaa !5
  %11814 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11801, ptr noundef @.str.5, i32 noundef %11802, ptr noundef @.str.88, ptr noundef @.str.1, i32 noundef 618, ptr noundef %11805, ptr noundef %11808, ptr noundef %11811, i32 noundef %11813) #10
  br label %11815

11815:                                            ; preds = %11798, %11781
  call void @llvm.lifetime.end.p0(i64 4, ptr %285) #10
  br label %11816

11816:                                            ; preds = %11815
  br label %11817

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

11818:                                            ; No predecessors!
  br label %11819

11819:                                            ; preds = %11818
  br label %11820

11820:                                            ; preds = %11819, %11760
  br label %11821

11821:                                            ; preds = %11820
  br label %11822

11822:                                            ; preds = %11821
  br label %11823

11823:                                            ; preds = %11822
  %11824 = load i32, ptr @test_count, align 4, !tbaa !5
  %11825 = add nsw i32 %11824, 1
  store i32 %11825, ptr @test_count, align 4, !tbaa !5
  %11826 = load ptr, ptr %280, align 8, !tbaa !9
  %11827 = getelementptr inbounds [6 x i8], ptr %11, i64 0, i64 0
  %11828 = call i64 @s2n_recv(ptr noundef %11826, ptr noundef %11827, i64 noundef 6, ptr noundef %282)
  %11829 = icmp eq i64 %11828, 3
  br i1 %11829, label %11883, label %11830

11830:                                            ; preds = %11823
  br label %11831

11831:                                            ; preds = %11830
  br label %11832

11832:                                            ; preds = %11831
  call void @llvm.lifetime.start.p0(i64 4, ptr %286) #10
  %11833 = call ptr @__errno_location() #11
  %11834 = load i32, ptr %11833, align 4, !tbaa !5
  store i32 %11834, ptr %286, align 4, !tbaa !5
  %11835 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11836 = call i32 @s2n_print_stacktrace(ptr noundef %11835)
  %11837 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11838 = trunc i8 %11837 to i1
  br i1 %11838, label %11839, label %11861

11839:                                            ; preds = %11832
  %11840 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11841 = call i32 @fileno(ptr noundef %11840) #10
  %11842 = call i32 @isatty(i32 noundef %11841) #10
  %11843 = icmp ne i32 %11842, 0
  br i1 %11843, label %11844, label %11861

11844:                                            ; preds = %11839
  %11845 = load i32, ptr %286, align 4, !tbaa !5
  %11846 = call ptr @__errno_location() #11
  store i32 %11845, ptr %11846, align 4, !tbaa !5
  %11847 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11848 = load i32, ptr @test_count, align 4, !tbaa !5
  %11849 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11850 = load i32, ptr %11849, align 4, !tbaa !5
  %11851 = call ptr @s2n_strerror(i32 noundef %11850, ptr noundef @.str.4)
  %11852 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11853 = load i32, ptr %11852, align 4, !tbaa !5
  %11854 = call ptr @s2n_strerror_debug(i32 noundef %11853, ptr noundef @.str.4)
  %11855 = call ptr @__errno_location() #11
  %11856 = load i32, ptr %11855, align 4, !tbaa !5
  %11857 = call ptr @strerror(i32 noundef %11856) #10
  %11858 = call ptr @__errno_location() #11
  %11859 = load i32, ptr %11858, align 4, !tbaa !5
  %11860 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11847, ptr noundef @.str.2, i32 noundef %11848, ptr noundef @.str.92, ptr noundef @.str.1, i32 noundef 621, ptr noundef %11851, ptr noundef %11854, ptr noundef %11857, i32 noundef %11859) #10
  br label %11878

11861:                                            ; preds = %11839, %11832
  %11862 = load i32, ptr %286, align 4, !tbaa !5
  %11863 = call ptr @__errno_location() #11
  store i32 %11862, ptr %11863, align 4, !tbaa !5
  %11864 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11865 = load i32, ptr @test_count, align 4, !tbaa !5
  %11866 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11867 = load i32, ptr %11866, align 4, !tbaa !5
  %11868 = call ptr @s2n_strerror(i32 noundef %11867, ptr noundef @.str.4)
  %11869 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11870 = load i32, ptr %11869, align 4, !tbaa !5
  %11871 = call ptr @s2n_strerror_debug(i32 noundef %11870, ptr noundef @.str.4)
  %11872 = call ptr @__errno_location() #11
  %11873 = load i32, ptr %11872, align 4, !tbaa !5
  %11874 = call ptr @strerror(i32 noundef %11873) #10
  %11875 = call ptr @__errno_location() #11
  %11876 = load i32, ptr %11875, align 4, !tbaa !5
  %11877 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11864, ptr noundef @.str.5, i32 noundef %11865, ptr noundef @.str.92, ptr noundef @.str.1, i32 noundef 621, ptr noundef %11868, ptr noundef %11871, ptr noundef %11874, i32 noundef %11876) #10
  br label %11878

11878:                                            ; preds = %11861, %11844
  call void @llvm.lifetime.end.p0(i64 4, ptr %286) #10
  br label %11879

11879:                                            ; preds = %11878
  br label %11880

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

11881:                                            ; No predecessors!
  br label %11882

11882:                                            ; preds = %11881
  br label %11883

11883:                                            ; preds = %11882, %11823
  br label %11884

11884:                                            ; preds = %11883
  br label %11885

11885:                                            ; preds = %11884
  br label %11886

11886:                                            ; preds = %11885
  %11887 = load i32, ptr @test_count, align 4, !tbaa !5
  %11888 = add nsw i32 %11887, 1
  store i32 %11888, ptr @test_count, align 4, !tbaa !5
  %11889 = load ptr, ptr %280, align 8, !tbaa !9
  %11890 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %11889, i32 noundef 1)
  br i1 %11890, label %11891, label %11944

11891:                                            ; preds = %11886
  br label %11892

11892:                                            ; preds = %11891
  br label %11893

11893:                                            ; preds = %11892
  call void @llvm.lifetime.start.p0(i64 4, ptr %287) #10
  %11894 = call ptr @__errno_location() #11
  %11895 = load i32, ptr %11894, align 4, !tbaa !5
  store i32 %11895, ptr %287, align 4, !tbaa !5
  %11896 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11897 = call i32 @s2n_print_stacktrace(ptr noundef %11896)
  %11898 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11899 = trunc i8 %11898 to i1
  br i1 %11899, label %11900, label %11922

11900:                                            ; preds = %11893
  %11901 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11902 = call i32 @fileno(ptr noundef %11901) #10
  %11903 = call i32 @isatty(i32 noundef %11902) #10
  %11904 = icmp ne i32 %11903, 0
  br i1 %11904, label %11905, label %11922

11905:                                            ; preds = %11900
  %11906 = load i32, ptr %287, align 4, !tbaa !5
  %11907 = call ptr @__errno_location() #11
  store i32 %11906, ptr %11907, align 4, !tbaa !5
  %11908 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11909 = load i32, ptr @test_count, align 4, !tbaa !5
  %11910 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11911 = load i32, ptr %11910, align 4, !tbaa !5
  %11912 = call ptr @s2n_strerror(i32 noundef %11911, ptr noundef @.str.4)
  %11913 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11914 = load i32, ptr %11913, align 4, !tbaa !5
  %11915 = call ptr @s2n_strerror_debug(i32 noundef %11914, ptr noundef @.str.4)
  %11916 = call ptr @__errno_location() #11
  %11917 = load i32, ptr %11916, align 4, !tbaa !5
  %11918 = call ptr @strerror(i32 noundef %11917) #10
  %11919 = call ptr @__errno_location() #11
  %11920 = load i32, ptr %11919, align 4, !tbaa !5
  %11921 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11908, ptr noundef @.str.2, i32 noundef %11909, ptr noundef @.str.73, ptr noundef @.str.1, i32 noundef 622, ptr noundef %11912, ptr noundef %11915, ptr noundef %11918, i32 noundef %11920) #10
  br label %11939

11922:                                            ; preds = %11900, %11893
  %11923 = load i32, ptr %287, align 4, !tbaa !5
  %11924 = call ptr @__errno_location() #11
  store i32 %11923, ptr %11924, align 4, !tbaa !5
  %11925 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11926 = load i32, ptr @test_count, align 4, !tbaa !5
  %11927 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11928 = load i32, ptr %11927, align 4, !tbaa !5
  %11929 = call ptr @s2n_strerror(i32 noundef %11928, ptr noundef @.str.4)
  %11930 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11931 = load i32, ptr %11930, align 4, !tbaa !5
  %11932 = call ptr @s2n_strerror_debug(i32 noundef %11931, ptr noundef @.str.4)
  %11933 = call ptr @__errno_location() #11
  %11934 = load i32, ptr %11933, align 4, !tbaa !5
  %11935 = call ptr @strerror(i32 noundef %11934) #10
  %11936 = call ptr @__errno_location() #11
  %11937 = load i32, ptr %11936, align 4, !tbaa !5
  %11938 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11925, ptr noundef @.str.5, i32 noundef %11926, ptr noundef @.str.73, ptr noundef @.str.1, i32 noundef 622, ptr noundef %11929, ptr noundef %11932, ptr noundef %11935, i32 noundef %11937) #10
  br label %11939

11939:                                            ; preds = %11922, %11905
  call void @llvm.lifetime.end.p0(i64 4, ptr %287) #10
  br label %11940

11940:                                            ; preds = %11939
  br label %11941

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

11942:                                            ; No predecessors!
  br label %11943

11943:                                            ; preds = %11942
  br label %11944

11944:                                            ; preds = %11943, %11886
  br label %11945

11945:                                            ; preds = %11944
  br label %11946

11946:                                            ; preds = %11945
  br label %11947

11947:                                            ; preds = %11946
  %11948 = load i32, ptr @test_count, align 4, !tbaa !5
  %11949 = add nsw i32 %11948, 1
  store i32 %11949, ptr @test_count, align 4, !tbaa !5
  %11950 = load i32, ptr %282, align 4, !tbaa !5
  %11951 = icmp eq i32 %11950, 0
  br i1 %11951, label %12005, label %11952

11952:                                            ; preds = %11947
  br label %11953

11953:                                            ; preds = %11952
  br label %11954

11954:                                            ; preds = %11953
  call void @llvm.lifetime.start.p0(i64 4, ptr %288) #10
  %11955 = call ptr @__errno_location() #11
  %11956 = load i32, ptr %11955, align 4, !tbaa !5
  store i32 %11956, ptr %288, align 4, !tbaa !5
  %11957 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11958 = call i32 @s2n_print_stacktrace(ptr noundef %11957)
  %11959 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11960 = trunc i8 %11959 to i1
  br i1 %11960, label %11961, label %11983

11961:                                            ; preds = %11954
  %11962 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11963 = call i32 @fileno(ptr noundef %11962) #10
  %11964 = call i32 @isatty(i32 noundef %11963) #10
  %11965 = icmp ne i32 %11964, 0
  br i1 %11965, label %11966, label %11983

11966:                                            ; preds = %11961
  %11967 = load i32, ptr %288, align 4, !tbaa !5
  %11968 = call ptr @__errno_location() #11
  store i32 %11967, ptr %11968, align 4, !tbaa !5
  %11969 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11970 = load i32, ptr @test_count, align 4, !tbaa !5
  %11971 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11972 = load i32, ptr %11971, align 4, !tbaa !5
  %11973 = call ptr @s2n_strerror(i32 noundef %11972, ptr noundef @.str.4)
  %11974 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11975 = load i32, ptr %11974, align 4, !tbaa !5
  %11976 = call ptr @s2n_strerror_debug(i32 noundef %11975, ptr noundef @.str.4)
  %11977 = call ptr @__errno_location() #11
  %11978 = load i32, ptr %11977, align 4, !tbaa !5
  %11979 = call ptr @strerror(i32 noundef %11978) #10
  %11980 = call ptr @__errno_location() #11
  %11981 = load i32, ptr %11980, align 4, !tbaa !5
  %11982 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11969, ptr noundef @.str.2, i32 noundef %11970, ptr noundef @.str.65, ptr noundef @.str.1, i32 noundef 625, ptr noundef %11973, ptr noundef %11976, ptr noundef %11979, i32 noundef %11981) #10
  br label %12000

11983:                                            ; preds = %11961, %11954
  %11984 = load i32, ptr %288, align 4, !tbaa !5
  %11985 = call ptr @__errno_location() #11
  store i32 %11984, ptr %11985, align 4, !tbaa !5
  %11986 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11987 = load i32, ptr @test_count, align 4, !tbaa !5
  %11988 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11989 = load i32, ptr %11988, align 4, !tbaa !5
  %11990 = call ptr @s2n_strerror(i32 noundef %11989, ptr noundef @.str.4)
  %11991 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11992 = load i32, ptr %11991, align 4, !tbaa !5
  %11993 = call ptr @s2n_strerror_debug(i32 noundef %11992, ptr noundef @.str.4)
  %11994 = call ptr @__errno_location() #11
  %11995 = load i32, ptr %11994, align 4, !tbaa !5
  %11996 = call ptr @strerror(i32 noundef %11995) #10
  %11997 = call ptr @__errno_location() #11
  %11998 = load i32, ptr %11997, align 4, !tbaa !5
  %11999 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11986, ptr noundef @.str.5, i32 noundef %11987, ptr noundef @.str.65, ptr noundef @.str.1, i32 noundef 625, ptr noundef %11990, ptr noundef %11993, ptr noundef %11996, i32 noundef %11998) #10
  br label %12000

12000:                                            ; preds = %11983, %11966
  call void @llvm.lifetime.end.p0(i64 4, ptr %288) #10
  br label %12001

12001:                                            ; preds = %12000
  br label %12002

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

12003:                                            ; No predecessors!
  br label %12004

12004:                                            ; preds = %12003
  br label %12005

12005:                                            ; preds = %12004, %11947
  br label %12006

12006:                                            ; preds = %12005
  br label %12007

12007:                                            ; preds = %12006
  call void @llvm.lifetime.start.p0(i64 8, ptr %289) #10
  store i64 0, ptr %289, align 8, !tbaa !15
  br label %12008

12008:                                            ; preds = %12212, %12007
  %12009 = load i64, ptr %289, align 8, !tbaa !15
  %12010 = icmp ult i64 %12009, 5
  br i1 %12010, label %12012, label %12011

12011:                                            ; preds = %12008
  store i32 1229, ptr %16, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %289) #10
  br label %12215

12012:                                            ; preds = %12008
  br label %12013

12013:                                            ; preds = %12012
  br label %12014

12014:                                            ; preds = %12013
  br label %12015

12015:                                            ; preds = %12014
  %12016 = load i32, ptr @test_count, align 4, !tbaa !5
  %12017 = add nsw i32 %12016, 1
  store i32 %12017, ptr @test_count, align 4, !tbaa !5
  %12018 = load ptr, ptr %280, align 8, !tbaa !9
  %12019 = getelementptr inbounds [6 x i8], ptr %11, i64 0, i64 0
  %12020 = call i64 @s2n_recv(ptr noundef %12018, ptr noundef %12019, i64 noundef 6, ptr noundef %282)
  %12021 = icmp eq i64 %12020, -1
  br i1 %12021, label %12075, label %12022

12022:                                            ; preds = %12015
  br label %12023

12023:                                            ; preds = %12022
  br label %12024

12024:                                            ; preds = %12023
  call void @llvm.lifetime.start.p0(i64 4, ptr %290) #10
  %12025 = call ptr @__errno_location() #11
  %12026 = load i32, ptr %12025, align 4, !tbaa !5
  store i32 %12026, ptr %290, align 4, !tbaa !5
  %12027 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12028 = call i32 @s2n_print_stacktrace(ptr noundef %12027)
  %12029 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12030 = trunc i8 %12029 to i1
  br i1 %12030, label %12031, label %12053

12031:                                            ; preds = %12024
  %12032 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12033 = call i32 @fileno(ptr noundef %12032) #10
  %12034 = call i32 @isatty(i32 noundef %12033) #10
  %12035 = icmp ne i32 %12034, 0
  br i1 %12035, label %12036, label %12053

12036:                                            ; preds = %12031
  %12037 = load i32, ptr %290, align 4, !tbaa !5
  %12038 = call ptr @__errno_location() #11
  store i32 %12037, ptr %12038, align 4, !tbaa !5
  %12039 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12040 = load i32, ptr @test_count, align 4, !tbaa !5
  %12041 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12042 = load i32, ptr %12041, align 4, !tbaa !5
  %12043 = call ptr @s2n_strerror(i32 noundef %12042, ptr noundef @.str.4)
  %12044 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12045 = load i32, ptr %12044, align 4, !tbaa !5
  %12046 = call ptr @s2n_strerror_debug(i32 noundef %12045, ptr noundef @.str.4)
  %12047 = call ptr @__errno_location() #11
  %12048 = load i32, ptr %12047, align 4, !tbaa !5
  %12049 = call ptr @strerror(i32 noundef %12048) #10
  %12050 = call ptr @__errno_location() #11
  %12051 = load i32, ptr %12050, align 4, !tbaa !5
  %12052 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12039, ptr noundef @.str.2, i32 noundef %12040, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 630, ptr noundef %12043, ptr noundef %12046, ptr noundef %12049, i32 noundef %12051) #10
  br label %12070

12053:                                            ; preds = %12031, %12024
  %12054 = load i32, ptr %290, align 4, !tbaa !5
  %12055 = call ptr @__errno_location() #11
  store i32 %12054, ptr %12055, align 4, !tbaa !5
  %12056 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12057 = load i32, ptr @test_count, align 4, !tbaa !5
  %12058 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12059 = load i32, ptr %12058, align 4, !tbaa !5
  %12060 = call ptr @s2n_strerror(i32 noundef %12059, ptr noundef @.str.4)
  %12061 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12062 = load i32, ptr %12061, align 4, !tbaa !5
  %12063 = call ptr @s2n_strerror_debug(i32 noundef %12062, ptr noundef @.str.4)
  %12064 = call ptr @__errno_location() #11
  %12065 = load i32, ptr %12064, align 4, !tbaa !5
  %12066 = call ptr @strerror(i32 noundef %12065) #10
  %12067 = call ptr @__errno_location() #11
  %12068 = load i32, ptr %12067, align 4, !tbaa !5
  %12069 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12056, ptr noundef @.str.5, i32 noundef %12057, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 630, ptr noundef %12060, ptr noundef %12063, ptr noundef %12066, i32 noundef %12068) #10
  br label %12070

12070:                                            ; preds = %12053, %12036
  call void @llvm.lifetime.end.p0(i64 4, ptr %290) #10
  br label %12071

12071:                                            ; preds = %12070
  br label %12072

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

12073:                                            ; No predecessors!
  br label %12074

12074:                                            ; preds = %12073
  br label %12075

12075:                                            ; preds = %12074, %12015
  br label %12076

12076:                                            ; preds = %12075
  br label %12077

12077:                                            ; preds = %12076
  br label %12078

12078:                                            ; preds = %12077
  %12079 = load i32, ptr @test_count, align 4, !tbaa !5
  %12080 = add nsw i32 %12079, 1
  store i32 %12080, 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 = icmp eq i32 %12082, 134217728
  br i1 %12083, label %12137, label %12084

12084:                                            ; preds = %12078
  br label %12085

12085:                                            ; preds = %12084
  br label %12086

12086:                                            ; preds = %12085
  call void @llvm.lifetime.start.p0(i64 4, ptr %291) #10
  %12087 = call ptr @__errno_location() #11
  %12088 = load i32, ptr %12087, align 4, !tbaa !5
  store i32 %12088, ptr %291, align 4, !tbaa !5
  %12089 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12090 = call i32 @s2n_print_stacktrace(ptr noundef %12089)
  %12091 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12092 = trunc i8 %12091 to i1
  br i1 %12092, label %12093, label %12115

12093:                                            ; preds = %12086
  %12094 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12095 = call i32 @fileno(ptr noundef %12094) #10
  %12096 = call i32 @isatty(i32 noundef %12095) #10
  %12097 = icmp ne i32 %12096, 0
  br i1 %12097, label %12098, label %12115

12098:                                            ; preds = %12093
  %12099 = load i32, ptr %291, align 4, !tbaa !5
  %12100 = call ptr @__errno_location() #11
  store i32 %12099, ptr %12100, align 4, !tbaa !5
  %12101 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12102 = load i32, ptr @test_count, align 4, !tbaa !5
  %12103 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12104 = load i32, ptr %12103, align 4, !tbaa !5
  %12105 = call ptr @s2n_strerror(i32 noundef %12104, ptr noundef @.str.4)
  %12106 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12107 = load i32, ptr %12106, align 4, !tbaa !5
  %12108 = call ptr @s2n_strerror_debug(i32 noundef %12107, ptr noundef @.str.4)
  %12109 = call ptr @__errno_location() #11
  %12110 = load i32, ptr %12109, align 4, !tbaa !5
  %12111 = call ptr @strerror(i32 noundef %12110) #10
  %12112 = call ptr @__errno_location() #11
  %12113 = load i32, ptr %12112, align 4, !tbaa !5
  %12114 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12101, ptr noundef @.str.2, i32 noundef %12102, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 630, ptr noundef %12105, ptr noundef %12108, ptr noundef %12111, i32 noundef %12113) #10
  br label %12132

12115:                                            ; preds = %12093, %12086
  %12116 = load i32, ptr %291, align 4, !tbaa !5
  %12117 = call ptr @__errno_location() #11
  store i32 %12116, ptr %12117, align 4, !tbaa !5
  %12118 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12119 = load i32, ptr @test_count, align 4, !tbaa !5
  %12120 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12121 = load i32, ptr %12120, align 4, !tbaa !5
  %12122 = call ptr @s2n_strerror(i32 noundef %12121, ptr noundef @.str.4)
  %12123 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12124 = load i32, ptr %12123, align 4, !tbaa !5
  %12125 = call ptr @s2n_strerror_debug(i32 noundef %12124, ptr noundef @.str.4)
  %12126 = call ptr @__errno_location() #11
  %12127 = load i32, ptr %12126, align 4, !tbaa !5
  %12128 = call ptr @strerror(i32 noundef %12127) #10
  %12129 = call ptr @__errno_location() #11
  %12130 = load i32, ptr %12129, align 4, !tbaa !5
  %12131 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12118, ptr noundef @.str.5, i32 noundef %12119, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 630, ptr noundef %12122, ptr noundef %12125, ptr noundef %12128, i32 noundef %12130) #10
  br label %12132

12132:                                            ; preds = %12115, %12098
  call void @llvm.lifetime.end.p0(i64 4, ptr %291) #10
  br label %12133

12133:                                            ; preds = %12132
  br label %12134

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

12135:                                            ; No predecessors!
  br label %12136

12136:                                            ; preds = %12135
  br label %12137

12137:                                            ; preds = %12136, %12078
  br label %12138

12138:                                            ; preds = %12137
  br label %12139

12139:                                            ; preds = %12138
  br label %12140

12140:                                            ; preds = %12139
  %12141 = load i32, ptr @test_count, align 4, !tbaa !5
  %12142 = add nsw i32 %12141, 1
  store i32 %12142, ptr @test_count, align 4, !tbaa !5
  %12143 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12144 = load i32, ptr %12143, align 4, !tbaa !5
  %12145 = call ptr @s2n_strerror_debug(i32 noundef %12144, ptr noundef @.str.4)
  %12146 = icmp eq ptr %12145, null
  br i1 %12146, label %12147, label %12200

12147:                                            ; preds = %12140
  br label %12148

12148:                                            ; preds = %12147
  br label %12149

12149:                                            ; preds = %12148
  call void @llvm.lifetime.start.p0(i64 4, ptr %292) #10
  %12150 = call ptr @__errno_location() #11
  %12151 = load i32, ptr %12150, align 4, !tbaa !5
  store i32 %12151, ptr %292, align 4, !tbaa !5
  %12152 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12153 = call i32 @s2n_print_stacktrace(ptr noundef %12152)
  %12154 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12155 = trunc i8 %12154 to i1
  br i1 %12155, label %12156, label %12178

12156:                                            ; preds = %12149
  %12157 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12158 = call i32 @fileno(ptr noundef %12157) #10
  %12159 = call i32 @isatty(i32 noundef %12158) #10
  %12160 = icmp ne i32 %12159, 0
  br i1 %12160, label %12161, label %12178

12161:                                            ; preds = %12156
  %12162 = load i32, ptr %292, align 4, !tbaa !5
  %12163 = call ptr @__errno_location() #11
  store i32 %12162, ptr %12163, align 4, !tbaa !5
  %12164 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12165 = load i32, ptr @test_count, align 4, !tbaa !5
  %12166 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12167 = load i32, ptr %12166, align 4, !tbaa !5
  %12168 = call ptr @s2n_strerror(i32 noundef %12167, ptr noundef @.str.4)
  %12169 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12170 = load i32, ptr %12169, align 4, !tbaa !5
  %12171 = call ptr @s2n_strerror_debug(i32 noundef %12170, ptr noundef @.str.4)
  %12172 = call ptr @__errno_location() #11
  %12173 = load i32, ptr %12172, align 4, !tbaa !5
  %12174 = call ptr @strerror(i32 noundef %12173) #10
  %12175 = call ptr @__errno_location() #11
  %12176 = load i32, ptr %12175, align 4, !tbaa !5
  %12177 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12164, ptr noundef @.str.2, i32 noundef %12165, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 630, ptr noundef %12168, ptr noundef %12171, ptr noundef %12174, i32 noundef %12176) #10
  br label %12195

12178:                                            ; preds = %12156, %12149
  %12179 = load i32, ptr %292, align 4, !tbaa !5
  %12180 = call ptr @__errno_location() #11
  store i32 %12179, ptr %12180, align 4, !tbaa !5
  %12181 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12182 = load i32, ptr @test_count, align 4, !tbaa !5
  %12183 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12184 = load i32, ptr %12183, align 4, !tbaa !5
  %12185 = call ptr @s2n_strerror(i32 noundef %12184, ptr noundef @.str.4)
  %12186 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12187 = load i32, ptr %12186, align 4, !tbaa !5
  %12188 = call ptr @s2n_strerror_debug(i32 noundef %12187, ptr noundef @.str.4)
  %12189 = call ptr @__errno_location() #11
  %12190 = load i32, ptr %12189, align 4, !tbaa !5
  %12191 = call ptr @strerror(i32 noundef %12190) #10
  %12192 = call ptr @__errno_location() #11
  %12193 = load i32, ptr %12192, align 4, !tbaa !5
  %12194 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12181, ptr noundef @.str.5, i32 noundef %12182, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 630, ptr noundef %12185, ptr noundef %12188, ptr noundef %12191, i32 noundef %12193) #10
  br label %12195

12195:                                            ; preds = %12178, %12161
  call void @llvm.lifetime.end.p0(i64 4, ptr %292) #10
  br label %12196

12196:                                            ; preds = %12195
  br label %12197

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

12198:                                            ; No predecessors!
  br label %12199

12199:                                            ; preds = %12198
  br label %12200

12200:                                            ; preds = %12199, %12140
  br label %12201

12201:                                            ; preds = %12200
  br label %12202

12202:                                            ; preds = %12201
  br label %12203

12203:                                            ; preds = %12202
  br label %12204

12204:                                            ; preds = %12203
  br label %12205

12205:                                            ; preds = %12204
  %12206 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %12206, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %12207 = call ptr @__errno_location() #11
  store i32 0, ptr %12207, align 4, !tbaa !5
  br label %12208

12208:                                            ; preds = %12205
  br label %12209

12209:                                            ; preds = %12208
  br label %12210

12210:                                            ; preds = %12209
  br label %12211

12211:                                            ; preds = %12210
  br label %12212

12212:                                            ; preds = %12211
  %12213 = load i64, ptr %289, align 8, !tbaa !15
  %12214 = add i64 %12213, 1
  store i64 %12214, ptr %289, align 8, !tbaa !15
  br label %12008, !llvm.loop !62

12215:                                            ; preds = %12011
  call void @llvm.lifetime.end.p0(i64 4, ptr %282) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr %281) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %280) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %279) #10
  %12216 = call i32 @s2n_io_pair_close(ptr noundef %275)
  call void @llvm.lifetime.end.p0(i64 8, ptr %275) #10
  %12217 = call i32 @s2n_connection_ptr_free(ptr noundef %272)
  %12218 = getelementptr inbounds %struct.s2n_result, ptr %293, i32 0, i32 0
  store i32 %12217, ptr %12218, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %272) #10
  %12219 = call i32 @s2n_connection_ptr_free(ptr noundef %269)
  %12220 = getelementptr inbounds %struct.s2n_result, ptr %294, i32 0, i32 0
  store i32 %12219, ptr %12220, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %269) #10
  call void @llvm.lifetime.end.p0(i64 472, ptr %268) #10
  br label %12221

12221:                                            ; preds = %12215
  %12222 = load i8, ptr %247, align 1, !tbaa !17
  %12223 = add i8 %12222, 1
  store i8 %12223, ptr %247, align 1, !tbaa !17
  br label %10397, !llvm.loop !63

12224:                                            ; preds = %10401
  br label %12225

12225:                                            ; preds = %12224
  br label %12226

12226:                                            ; preds = %12225
  %12227 = call i32 @s2n_cleanup()
  %12228 = icmp eq i32 %12227, -1
  br i1 %12228, label %12229, label %12282

12229:                                            ; preds = %12226
  br label %12230

12230:                                            ; preds = %12229
  br label %12231

12231:                                            ; preds = %12230
  call void @llvm.lifetime.start.p0(i64 4, ptr %295) #10
  %12232 = call ptr @__errno_location() #11
  %12233 = load i32, ptr %12232, align 4, !tbaa !5
  store i32 %12233, ptr %295, align 4, !tbaa !5
  %12234 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12235 = call i32 @s2n_print_stacktrace(ptr noundef %12234)
  %12236 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12237 = trunc i8 %12236 to i1
  br i1 %12237, label %12238, label %12260

12238:                                            ; preds = %12231
  %12239 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12240 = call i32 @fileno(ptr noundef %12239) #10
  %12241 = call i32 @isatty(i32 noundef %12240) #10
  %12242 = icmp ne i32 %12241, 0
  br i1 %12242, label %12243, label %12260

12243:                                            ; preds = %12238
  %12244 = load i32, ptr %295, align 4, !tbaa !5
  %12245 = call ptr @__errno_location() #11
  store i32 %12244, ptr %12245, align 4, !tbaa !5
  %12246 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12247 = load i32, ptr @test_count, align 4, !tbaa !5
  %12248 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12249 = load i32, ptr %12248, align 4, !tbaa !5
  %12250 = call ptr @s2n_strerror(i32 noundef %12249, ptr noundef @.str.4)
  %12251 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12252 = load i32, ptr %12251, align 4, !tbaa !5
  %12253 = call ptr @s2n_strerror_debug(i32 noundef %12252, ptr noundef @.str.4)
  %12254 = call ptr @__errno_location() #11
  %12255 = load i32, ptr %12254, align 4, !tbaa !5
  %12256 = call ptr @strerror(i32 noundef %12255) #10
  %12257 = call ptr @__errno_location() #11
  %12258 = load i32, ptr %12257, align 4, !tbaa !5
  %12259 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12246, ptr noundef @.str.2, i32 noundef %12247, ptr noundef @.str.93, ptr noundef @.str.1, i32 noundef 635, ptr noundef %12250, ptr noundef %12253, ptr noundef %12256, i32 noundef %12258) #10
  br label %12277

12260:                                            ; preds = %12238, %12231
  %12261 = load i32, ptr %295, align 4, !tbaa !5
  %12262 = call ptr @__errno_location() #11
  store i32 %12261, ptr %12262, align 4, !tbaa !5
  %12263 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12264 = load i32, ptr @test_count, align 4, !tbaa !5
  %12265 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12266 = load i32, ptr %12265, align 4, !tbaa !5
  %12267 = call ptr @s2n_strerror(i32 noundef %12266, ptr noundef @.str.4)
  %12268 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12269 = load i32, ptr %12268, align 4, !tbaa !5
  %12270 = call ptr @s2n_strerror_debug(i32 noundef %12269, ptr noundef @.str.4)
  %12271 = call ptr @__errno_location() #11
  %12272 = load i32, ptr %12271, align 4, !tbaa !5
  %12273 = call ptr @strerror(i32 noundef %12272) #10
  %12274 = call ptr @__errno_location() #11
  %12275 = load i32, ptr %12274, align 4, !tbaa !5
  %12276 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12263, ptr noundef @.str.5, i32 noundef %12264, ptr noundef @.str.93, ptr noundef @.str.1, i32 noundef 635, ptr noundef %12267, ptr noundef %12270, ptr noundef %12273, i32 noundef %12275) #10
  br label %12277

12277:                                            ; preds = %12260, %12243
  call void @llvm.lifetime.end.p0(i64 4, ptr %295) #10
  br label %12278

12278:                                            ; preds = %12277
  br label %12279

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

12280:                                            ; No predecessors!
  br label %12281

12281:                                            ; preds = %12280
  br label %12282

12282:                                            ; preds = %12281, %12226
  br label %12283

12283:                                            ; preds = %12282
  br label %12284

12284:                                            ; preds = %12283
  br label %12285

12285:                                            ; preds = %12284
  br label %12286

12286:                                            ; preds = %12285
  %12287 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext false)
  %12288 = icmp eq i32 %12287, -1
  br i1 %12288, label %12289, label %12342

12289:                                            ; preds = %12286
  br label %12290

12290:                                            ; preds = %12289
  br label %12291

12291:                                            ; preds = %12290
  call void @llvm.lifetime.start.p0(i64 4, ptr %296) #10
  %12292 = call ptr @__errno_location() #11
  %12293 = load i32, ptr %12292, align 4, !tbaa !5
  store i32 %12293, ptr %296, align 4, !tbaa !5
  %12294 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12295 = call i32 @s2n_print_stacktrace(ptr noundef %12294)
  %12296 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12297 = trunc i8 %12296 to i1
  br i1 %12297, label %12298, label %12320

12298:                                            ; preds = %12291
  %12299 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12300 = call i32 @fileno(ptr noundef %12299) #10
  %12301 = call i32 @isatty(i32 noundef %12300) #10
  %12302 = icmp ne i32 %12301, 0
  br i1 %12302, label %12303, label %12320

12303:                                            ; preds = %12298
  %12304 = load i32, ptr %296, align 4, !tbaa !5
  %12305 = call ptr @__errno_location() #11
  store i32 %12304, ptr %12305, align 4, !tbaa !5
  %12306 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12307 = load i32, ptr @test_count, align 4, !tbaa !5
  %12308 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12309 = load i32, ptr %12308, align 4, !tbaa !5
  %12310 = call ptr @s2n_strerror(i32 noundef %12309, ptr noundef @.str.4)
  %12311 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12312 = load i32, ptr %12311, align 4, !tbaa !5
  %12313 = call ptr @s2n_strerror_debug(i32 noundef %12312, ptr noundef @.str.4)
  %12314 = call ptr @__errno_location() #11
  %12315 = load i32, ptr %12314, align 4, !tbaa !5
  %12316 = call ptr @strerror(i32 noundef %12315) #10
  %12317 = call ptr @__errno_location() #11
  %12318 = load i32, ptr %12317, align 4, !tbaa !5
  %12319 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12306, ptr noundef @.str.2, i32 noundef %12307, ptr noundef @.str.94, ptr noundef @.str.1, i32 noundef 635, ptr noundef %12310, ptr noundef %12313, ptr noundef %12316, i32 noundef %12318) #10
  br label %12337

12320:                                            ; preds = %12298, %12291
  %12321 = load i32, ptr %296, align 4, !tbaa !5
  %12322 = call ptr @__errno_location() #11
  store i32 %12321, ptr %12322, align 4, !tbaa !5
  %12323 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12324 = load i32, ptr @test_count, align 4, !tbaa !5
  %12325 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12326 = load i32, ptr %12325, align 4, !tbaa !5
  %12327 = call ptr @s2n_strerror(i32 noundef %12326, ptr noundef @.str.4)
  %12328 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12329 = load i32, ptr %12328, align 4, !tbaa !5
  %12330 = call ptr @s2n_strerror_debug(i32 noundef %12329, ptr noundef @.str.4)
  %12331 = call ptr @__errno_location() #11
  %12332 = load i32, ptr %12331, align 4, !tbaa !5
  %12333 = call ptr @strerror(i32 noundef %12332) #10
  %12334 = call ptr @__errno_location() #11
  %12335 = load i32, ptr %12334, align 4, !tbaa !5
  %12336 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12323, ptr noundef @.str.5, i32 noundef %12324, ptr noundef @.str.94, ptr noundef @.str.1, i32 noundef 635, ptr noundef %12327, ptr noundef %12330, ptr noundef %12333, i32 noundef %12335) #10
  br label %12337

12337:                                            ; preds = %12320, %12303
  call void @llvm.lifetime.end.p0(i64 4, ptr %296) #10
  br label %12338

12338:                                            ; preds = %12337
  br label %12339

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

12340:                                            ; No predecessors!
  br label %12341

12341:                                            ; preds = %12340
  br label %12342

12342:                                            ; preds = %12341, %12286
  br label %12343

12343:                                            ; preds = %12342
  br label %12344

12344:                                            ; preds = %12343
  %12345 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12346 = trunc i8 %12345 to i1
  br i1 %12346, label %12347, label %12363

12347:                                            ; preds = %12344
  %12348 = load ptr, ptr @stdout, align 8, !tbaa !9
  %12349 = call i32 @fileno(ptr noundef %12348) #10
  %12350 = call i32 @isatty(i32 noundef %12349) #10
  %12351 = icmp ne i32 %12350, 0
  br i1 %12351, label %12352, label %12363

12352:                                            ; preds = %12347
  %12353 = load i32, ptr @test_count, align 4, !tbaa !5
  %12354 = icmp ne i32 %12353, 0
  br i1 %12354, label %12355, label %12359

12355:                                            ; preds = %12352
  %12356 = load ptr, ptr @stdout, align 8, !tbaa !9
  %12357 = load i32, ptr @test_count, align 4, !tbaa !5
  %12358 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12356, ptr noundef @.str.95, i32 noundef %12357) #10
  br label %12362

12359:                                            ; preds = %12352
  %12360 = load ptr, ptr @stdout, align 8, !tbaa !9
  %12361 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12360, ptr noundef @.str.96) #10
  br label %12362

12362:                                            ; preds = %12359, %12355
  br label %12374

12363:                                            ; preds = %12347, %12344
  %12364 = load i32, ptr @test_count, align 4, !tbaa !5
  %12365 = icmp ne i32 %12364, 0
  br i1 %12365, label %12366, label %12370

12366:                                            ; preds = %12363
  %12367 = load ptr, ptr @stdout, align 8, !tbaa !9
  %12368 = load i32, ptr @test_count, align 4, !tbaa !5
  %12369 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12367, ptr noundef @.str.97, i32 noundef %12368) #10
  br label %12373

12370:                                            ; preds = %12363
  %12371 = load ptr, ptr @stdout, align 8, !tbaa !9
  %12372 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12371, ptr noundef @.str.98) #10
  br label %12373

12373:                                            ; preds = %12370, %12366
  br label %12374

12374:                                            ; preds = %12373, %12362
  store i32 0, ptr %3, align 4
  store i32 1, ptr %16, align 4
  br label %12379

12375:                                            ; No predecessors!
  br label %12376

12376:                                            ; preds = %12375
  br label %12377

12377:                                            ; preds = %12376
  br label %12378

12378:                                            ; preds = %12377
  store i32 0, ptr %16, align 4
  br label %12379

12379:                                            ; preds = %12378, %12374
  %12380 = call i32 @s2n_config_ptr_free(ptr noundef %27)
  %12381 = getelementptr inbounds %struct.s2n_result, ptr %297, i32 0, i32 0
  store i32 %12380, ptr %12381, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %27) #10
  %12382 = call i32 @s2n_config_ptr_free(ptr noundef %23)
  %12383 = getelementptr inbounds %struct.s2n_result, ptr %298, i32 0, i32 0
  store i32 %12382, ptr %12383, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %23) #10
  %12384 = call i32 @s2n_cert_chain_and_key_ptr_free(ptr noundef %21)
  %12385 = getelementptr inbounds %struct.s2n_result, ptr %299, i32 0, i32 0
  store i32 %12384, ptr %12385, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %21) #10
  %12386 = call i32 @s2n_cert_chain_and_key_ptr_free(ptr noundef %19)
  %12387 = getelementptr inbounds %struct.s2n_result, ptr %300, i32 0, i32 0
  store i32 %12386, ptr %12387, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %19) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %14) #10
  call void @llvm.lifetime.end.p0(i64 131070, ptr %13) #10
  call void @llvm.lifetime.end.p0(i64 6, ptr %12) #10
  call void @llvm.lifetime.end.p0(i64 6, ptr %11) #10
  call void @llvm.lifetime.end.p0(i64 2, ptr %10) #10
  call void @llvm.lifetime.end.p0(i64 5, ptr %9) #10
  %12388 = load i32, ptr %16, align 4
  switch i32 %12388, label %12391 [
    i32 0, label %12389
    i32 1, label %12389
  ]

12389:                                            ; preds = %12379, %12379, %480
  %12390 = load i32, ptr %3, align 4
  ret i32 %12390

12391:                                            ; preds = %12379
  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 zeroext i1 @s2n_is_tls13_fully_supported(...) #2

; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: readwrite)
declare void @llvm.memcpy.p0.p0.i64(ptr noalias nocapture writeonly, ptr noalias nocapture readonly, i64, i1 immarg) #7

; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: write)
declare void @llvm.memset.p0.i64(ptr nocapture writeonly, i8, i64, i1 immarg) #8

declare i32 @s2n_cert_chain_and_key_ptr_free(ptr noundef) #2

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

declare ptr @s2n_config_new() #2

declare i32 @s2n_config_ptr_free(ptr noundef) #2

declare i32 @s2n_config_set_unsafe_for_testing(ptr noundef) #2

declare i32 @s2n_config_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 ptr @s2n_connection_new(i32 noundef) #2

declare i32 @s2n_connection_ptr_free(ptr noundef) #2

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

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

declare i32 @s2n_io_stuffer_pair_free(ptr noundef) #2

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

declare i32 @s2n_io_stuffer_pair_init(ptr noundef) #2

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

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

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

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

declare i32 @s2n_record_write(ptr noundef, i8 noundef zeroext, ptr noundef) #2

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

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

declare void @s2n_debug_info_reset() #2

declare i64 @s2n_recv(ptr noundef, ptr noundef, i64 noundef, ptr noundef) #2

declare i64 @s2n_send(ptr noundef, ptr noundef, i64 noundef, ptr noundef) #2

declare zeroext i1 @s2n_connection_check_io_status(ptr noundef, i32 noundef) #2

declare i32 @s2n_connection_get_alert(ptr noundef) #2

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

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

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

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

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

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

declare i32 @s2n_io_pair_close(ptr noundef) #2

declare i32 @s2n_io_pair_init_non_blocking(ptr noundef) #2

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

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

declare i32 @s2n_cleanup() #2

attributes #0 = { nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #1 = { nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #2 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #3 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #4 = { nounwind willreturn memory(none) "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #5 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) }
attributes #6 = { noreturn nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #7 = { nocallback nofree nounwind willreturn memory(argmem: readwrite) }
attributes #8 = { 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 = { nounwind }
attributes #11 = { nounwind willreturn memory(none) }
attributes #12 = { noreturn nounwind }

!llvm.module.flags = !{!0, !1, !2, !3}
!llvm.ident = !{!4}

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"int", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C/C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"any pointer", !7, i64 0}
!11 = !{!12, !12, i64 0}
!12 = !{!"_Bool", !7, i64 0}
!13 = !{i8 0, i8 2}
!14 = !{}
!15 = !{!16, !16, i64 0}
!16 = !{!"long", !7, i64 0}
!17 = !{!7, !7, i64 0}
!18 = distinct !{!18, !19}
!19 = !{!"llvm.loop.mustprogress"}
!20 = distinct !{!20, !19}
!21 = !{!22, !7, i64 220}
!22 = !{!"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, !23, i64 160, !16, i64 168, !16, 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, !24, i64 240, !10, i64 632, !10, i64 640, !25, i64 648, !31, i64 1144, !34, i64 1688, !10, i64 1752, !7, i64 1760, !6, i64 1764, !7, i64 1768, !37, i64 1776, !37, i64 1816, !37, i64 1856, !37, i64 1896, !6, i64 1936, !16, i64 1944, !7, i64 1952, !37, i64 1960, !7, i64 2000, !7, i64 2001, !7, i64 2002, !12, i64 2003, !38, i64 2004, !38, i64 2008, !39, i64 2016, !36, i64 2208, !6, i64 2212, !36, i64 2216, !16, i64 2224, !7, i64 2232, !16, i64 2240, !16, i64 2248, !16, i64 2256, !38, i64 2264, !38, i64 2268, !7, i64 2272, !7, i64 2528, !6, i64 2784, !30, i64 2792, !6, i64 2816, !30, i64 2824, !30, i64 2848, !30, i64 2872, !41, i64 2896, !43, i64 3704, !10, i64 3760, !10, i64 3768, !7, i64 3776, !6, i64 3780, !30, i64 3784, !6, i64 3808, !45, i64 3816, !7, i64 3848, !37, i64 3992, !30, i64 4032, !30, i64 4056, !12, i64 4080, !12, i64 4081, !12, i64 4082, !36, i64 4084, !36, i64 4086, !6, i64 4088, !6, i64 4092, !30, i64 4096, !6, i64 4120, !46, i64 4128, !38, i64 4176, !7, i64 4180, !7, i64 4181}
!23 = !{!"s2n_timer", !16, i64 0}
!24 = !{!"s2n_secrets", !7, i64 0, !6, i64 388}
!25 = !{!"s2n_kex_parameters", !26, i64 0, !27, i64 8, !7, i64 24, !27, i64 56, !28, i64 72, !28, i64 184, !7, i64 296, !29, i64 360, !30, i64 448, !30, i64 472}
!26 = !{!"s2n_dh_params", !10, i64 0}
!27 = !{!"s2n_ecc_evp_params", !10, i64 0, !10, i64 8}
!28 = !{!"s2n_kem_group_params", !10, i64 0, !29, i64 8, !27, i64 96}
!29 = !{!"s2n_kem_params", !10, i64 0, !30, i64 8, !30, i64 32, !30, i64 56, !12, i64 80}
!30 = !{!"s2n_blob", !10, i64 0, !6, i64 8, !6, i64 12, !6, i64 16}
!31 = !{!"s2n_handshake_parameters", !32, i64 0, !32, i64 48, !30, i64 96, !6, i64 120, !33, 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}
!32 = !{!"s2n_pkey", !10, i64 0, !10, i64 8, !10, i64 16, !10, i64 24, !10, i64 32, !10, i64 40}
!33 = !{!"s2n_sig_scheme_list", !7, i64 0, !7, i64 256}
!34 = !{!"s2n_psk_parameters", !6, i64 0, !35, i64 8, !36, i64 40, !36, i64 42, !10, i64 48, !6, i64 56}
!35 = !{!"s2n_array", !30, i64 0, !6, i64 24, !6, i64 28}
!36 = !{!"short", !7, i64 0}
!37 = !{!"s2n_stuffer", !30, i64 0, !6, i64 24, !6, i64 28, !6, i64 32, !6, i64 36, !6, i64 36, !6, i64 36}
!38 = !{!"", !6, i64 0}
!39 = !{!"s2n_handshake", !37, 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, !40, i64 176, !6, i64 184, !6, i64 184, !6, i64 184, !6, i64 184, !6, i64 188}
!40 = !{!"s2n_offered_early_data", !10, i64 0}
!41 = !{!"s2n_client_hello", !30, i64 0, !42, i64 24, !30, i64 728, !30, i64 752, !30, 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}
!42 = !{!"", !7, i64 0, !30, i64 672, !36, i64 696}
!43 = !{!"s2n_x509_validator", !10, i64 0, !10, i64 8, !7, i64 16, !7, i64 17, !36, i64 18, !10, i64 24, !6, i64 32, !10, i64 40, !44, i64 48, !12, i64 52}
!44 = !{!"s2n_cert_validation_info", !6, i64 0, !6, i64 0}
!45 = !{!"s2n_ticket_fields", !30, i64 0, !6, i64 24}
!46 = !{!"s2n_post_handshake", !37, i64 0, !7, i64 40}
!47 = distinct !{!47, !19}
!48 = distinct !{!48, !19}
!49 = distinct !{!49, !19}
!50 = !{!22, !7, i64 218}
!51 = !{!22, !10, i64 232}
!52 = !{!22, !16, i64 176}
!53 = !{!22, !12, i64 2003}
!54 = distinct !{!54, !19}
!55 = distinct !{!55, !19}
!56 = distinct !{!56, !19}
!57 = distinct !{!57, !19}
!58 = distinct !{!58, !19}
!59 = distinct !{!59, !19}
!60 = !{i64 0, i64 4, !17, i64 8, i64 8, !9, i64 16, i64 8, !9, i64 24, i64 32, !17, i64 56, i64 8, !9, i64 64, i64 4, !5, i64 68, i64 4, !5, i64 72, i64 1, !17, i64 80, i64 8, !9, i64 88, i64 8, !9, i64 96, i64 8, !9, i64 104, i64 8, !9, i64 112, i64 8, !9, i64 120, i64 8, !9, i64 128, i64 4, !5, i64 132, i64 4, !5, i64 136, i64 8, !9, i64 144, i64 8, !15, i64 152, i64 8, !9, i64 160, i64 8, !15, i64 168, i64 8, !15, i64 176, i64 8, !9, i64 184, i64 8, !9, i64 192, i64 8, !9, i64 200, i64 8, !9, i64 208, i64 8, !9, i64 216, i64 8, !9, i64 224, i64 4, !5, i64 228, i64 1, !17, i64 232, i64 4, !5, i64 236, i64 4, !5, i64 240, i64 8, !9, i64 248, i64 8, !9, i64 256, i64 8, !9, i64 264, i64 8, !9, i64 272, i64 8, !9, i64 280, i64 8, !9, i64 288, i64 8, !9, i64 296, i64 1, !17, i64 297, i64 1, !17, i64 304, i64 8, !9, i64 312, i64 1, !17, i64 320, i64 2, !61, i64 328, i64 8, !9, i64 336, i64 8, !9, i64 344, i64 8, !9, i64 352, i64 8, !9, i64 360, i64 8, !9, i64 368, i64 8, !9, i64 376, i64 8, !9, i64 384, i64 8, !9, i64 392, i64 4, !5, i64 396, i64 4, !5, i64 400, i64 4, !5, i64 408, i64 8, !9, i64 416, i64 4, !5, i64 420, i64 4, !5, i64 424, i64 8, !9, i64 432, i64 8, !9, i64 440, i64 4, !5, i64 448, i64 8, !9, i64 456, i64 4, !5, i64 460, i64 4, !5, i64 464, i64 1, !17}
!61 = !{!36, !36, i64 0}
!62 = distinct !{!62, !19}
!63 = distinct !{!63, !19}


; 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_test_io_stuffer_pair = type { %struct.s2n_stuffer, %struct.s2n_stuffer }
%struct.s2n_stuffer = type { %struct.s2n_blob, i32, i32, i32, i8 }
%struct.s2n_blob = type { ptr, i32, i32, i8 }
%struct.s2n_test_io_pair = type { i32, i32 }
%struct.s2n_config = type { i32, ptr, ptr, %struct.certs_by_type, %struct.s2n_blob, ptr, ptr, ptr, ptr, ptr, ptr, i32, i32, ptr, i64, ptr, i64, i64, ptr, ptr, ptr, ptr, ptr, ptr, i32, i8, i32, i32, ptr, ptr, ptr, ptr, ptr, ptr, ptr, i8, i8, %struct.s2n_x509_trust_store, i16, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, i32, i32, i32, ptr, i32, i32, ptr, ptr, i32, %struct.s2n_blob }
%struct.certs_by_type = type { [4 x ptr] }
%struct.s2n_x509_trust_store = type { ptr, i8 }

@s2n_use_color_in_output = external dso_local local_unnamed_addr global i8, align 1
@test_count = external dso_local local_unnamed_addr global i32, align 4
@stdout = external local_unnamed_addr global ptr, align 8
@.str = external hidden unnamed_addr constant [19 x i8], align 1
@.str.1 = external hidden unnamed_addr constant [83 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
@__const.main.alert_header = external hidden unnamed_addr constant [5 x i8], align 1
@__const.main.close_notify = external hidden unnamed_addr constant [2 x i8], align 1
@__const.main.data = external hidden unnamed_addr constant [6 x i8], align 1
@__const.main.test_alert_levels = external hidden unnamed_addr constant [6 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [200 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [34 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [33 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [155 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [87 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [94 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [76 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [106 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [91 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [91 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [66 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [93 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [111 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [81 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [55 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [92 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [56 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [59 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [44 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [45 x i8], align 1
@.str.37 = external hidden unnamed_addr constant [74 x i8], align 1
@.str.38 = external hidden unnamed_addr constant [74 x i8], align 1
@.str.39 = external hidden unnamed_addr constant [69 x i8], align 1
@.str.40 = external hidden unnamed_addr constant [74 x i8], align 1
@__const.main.test_errors = external hidden unnamed_addr constant [5 x i32], align 16
@.str.41 = external hidden unnamed_addr constant [102 x i8], align 1
@.str.42 = external hidden unnamed_addr constant [77 x i8], align 1
@.str.43 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.44 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.45 = external hidden unnamed_addr constant [76 x i8], align 1
@.str.46 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.47 = external hidden unnamed_addr constant [86 x i8], align 1
@.str.48 = external hidden unnamed_addr constant [59 x i8], align 1
@.str.49 = external hidden unnamed_addr constant [57 x i8], align 1
@.str.50 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.51 = external hidden unnamed_addr constant [57 x i8], align 1
@.str.52 = external hidden unnamed_addr constant [66 x i8], align 1
@.str.53 = external hidden unnamed_addr constant [80 x i8], align 1
@.str.54 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.55 = external hidden unnamed_addr constant [80 x i8], align 1
@.str.56 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.57 = external hidden unnamed_addr constant [80 x i8], align 1
@.str.58 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.59 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.60 = external hidden unnamed_addr constant [37 x i8], align 1
@.str.61 = external hidden unnamed_addr constant [69 x i8], align 1
@.str.62 = external hidden unnamed_addr constant [37 x i8], align 1
@.str.63 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.64 = external hidden unnamed_addr constant [74 x i8], align 1
@.str.65 = external hidden unnamed_addr constant [44 x i8], align 1
@.str.66 = external hidden unnamed_addr constant [77 x i8], align 1
@.str.67 = external hidden unnamed_addr constant [73 x i8], align 1
@.str.68 = external hidden unnamed_addr constant [77 x i8], align 1
@.str.69 = external hidden unnamed_addr constant [77 x i8], align 1
@.str.70 = external hidden unnamed_addr constant [95 x i8], align 1
@.str.71 = external hidden unnamed_addr constant [95 x i8], align 1
@.str.72 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.73 = external hidden unnamed_addr constant [74 x i8], align 1
@.str.74 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.75 = external hidden unnamed_addr constant [64 x i8], align 1
@.str.76 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.77 = external hidden unnamed_addr constant [82 x i8], align 1
@.str.78 = external hidden unnamed_addr constant [80 x i8], align 1
@.str.79 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.80 = external hidden unnamed_addr constant [59 x i8], align 1
@.str.81 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.82 = external hidden unnamed_addr constant [86 x i8], align 1
@.str.83 = external hidden unnamed_addr constant [86 x i8], align 1
@.str.84 = external hidden unnamed_addr constant [55 x i8], align 1
@.str.85 = external hidden unnamed_addr constant [67 x i8], align 1
@.str.86 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.87 = external hidden unnamed_addr constant [82 x i8], align 1
@.str.88 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.89 = external hidden unnamed_addr constant [90 x i8], align 1
@.str.90 = external hidden unnamed_addr constant [90 x i8], align 1
@.str.91 = external hidden unnamed_addr constant [82 x i8], align 1
@.str.92 = external hidden unnamed_addr constant [83 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
declare dso_local i32 @s2n_test_ch_cb(ptr noundef, ptr noundef) #0

; Function Attrs: nounwind uwtable
define dso_local noundef i32 @main(i32 noundef %0, ptr nocapture noundef readnone %1) local_unnamed_addr #0 {
  %3 = alloca [5 x i8], align 1
  %4 = alloca [2 x i8], align 2
  %5 = alloca [6 x i8], align 1
  %6 = alloca [65535 x [2 x i8]], align 16
  %7 = alloca ptr, align 8
  %8 = alloca ptr, align 8
  %9 = alloca ptr, align 8
  %10 = alloca ptr, align 8
  %11 = alloca ptr, align 8
  %12 = alloca ptr, align 8
  %13 = alloca %struct.s2n_test_io_stuffer_pair, align 8
  %14 = alloca %struct.s2n_blob, align 8
  %15 = alloca i32, align 4
  %16 = alloca ptr, align 8
  %17 = alloca ptr, align 8
  %18 = alloca ptr, align 8
  %19 = alloca ptr, align 8
  %20 = alloca %struct.s2n_test_io_stuffer_pair, align 8
  %21 = alloca i32, align 4
  %22 = alloca i8, align 1
  %23 = alloca ptr, align 8
  %24 = alloca ptr, align 8
  %25 = alloca %struct.s2n_test_io_stuffer_pair, align 8
  %26 = alloca i32, align 4
  %27 = alloca ptr, align 8
  %28 = alloca ptr, align 8
  %29 = alloca %struct.s2n_test_io_stuffer_pair, align 8
  %30 = alloca i32, align 4
  %31 = alloca ptr, align 8
  %32 = alloca ptr, align 8
  %33 = alloca %struct.s2n_test_io_stuffer_pair, align 8
  %34 = alloca i32, align 4
  %35 = alloca ptr, align 8
  %36 = alloca ptr, align 8
  %37 = alloca %struct.s2n_test_io_pair, align 8
  %38 = alloca i32, align 4
  %39 = alloca %struct.s2n_config, align 8
  %40 = alloca ptr, align 8
  %41 = alloca ptr, align 8
  %42 = alloca %struct.s2n_test_io_pair, align 8
  %43 = alloca i32, align 4
  store i32 0, ptr @test_count, align 4, !tbaa !5
  %44 = load ptr, ptr @stdout, align 8, !tbaa !9
  %45 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %44, ptr noundef nonnull @.str, ptr noundef nonnull @.str.1) #11
  %46 = load ptr, ptr @stdout, align 8, !tbaa !9
  %47 = tail call i32 @fflush(ptr noundef %46)
  %48 = tail call i32 @s2n_in_unit_test_set(i1 noundef zeroext true) #11
  %49 = icmp eq i32 %48, -1
  br i1 %49, label %50, label %74

50:                                               ; preds = %2
  %51 = tail call ptr @__errno_location() #12
  %52 = load i32, ptr %51, align 4, !tbaa !5
  %53 = load ptr, ptr @stderr, align 8, !tbaa !9
  %54 = tail call i32 @s2n_print_stacktrace(ptr noundef %53) #11
  %55 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %56 = trunc nuw i8 %55 to i1
  br i1 %56, label %57, label %61

57:                                               ; preds = %50
  %58 = load ptr, ptr @stderr, align 8, !tbaa !9
  %59 = tail call i32 @fileno(ptr noundef %58) #11
  %60 = tail call i32 @isatty(i32 noundef %59) #11
  %.not729 = icmp eq i32 %60, 0
  br i1 %.not729, label %61, label %62

61:                                               ; preds = %57, %50
  br label %62

62:                                               ; preds = %57, %61
  %.str.5.sink = phi ptr [ @.str.5, %61 ], [ @.str.2, %57 ]
  store i32 %52, ptr %51, align 4, !tbaa !5
  %63 = load ptr, ptr @stderr, align 8, !tbaa !9
  %64 = load i32, ptr @test_count, align 4, !tbaa !5
  %65 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %66 = load i32, ptr %65, align 4, !tbaa !5
  %67 = tail call ptr @s2n_strerror(i32 noundef %66, ptr noundef nonnull @.str.4) #11
  %68 = load i32, ptr %65, align 4, !tbaa !5
  %69 = tail call ptr @s2n_strerror_debug(i32 noundef %68, ptr noundef nonnull @.str.4) #11
  %70 = load i32, ptr %51, align 4, !tbaa !5
  %71 = tail call ptr @strerror(i32 noundef %70) #11
  %72 = load i32, ptr %51, align 4, !tbaa !5
  %73 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %63, ptr noundef nonnull %.str.5.sink, i32 noundef %64, ptr noundef nonnull @.str.3, ptr noundef nonnull @.str.1, i32 noundef 38, ptr noundef %67, ptr noundef %69, ptr noundef %71, i32 noundef %72) #13
  tail call void @exit(i32 noundef 1) #14
  unreachable

74:                                               ; preds = %2
  %75 = load i32, ptr @test_count, align 4, !tbaa !5
  %76 = add nsw i32 %75, 1
  store i32 %76, ptr @test_count, align 4, !tbaa !5
  %77 = tail call i32 @s2n_enable_atexit() #11
  %78 = icmp eq i32 %77, -1
  br i1 %78, label %79, label %103

79:                                               ; preds = %74
  %80 = tail call ptr @__errno_location() #12
  %81 = load i32, ptr %80, align 4, !tbaa !5
  %82 = load ptr, ptr @stderr, align 8, !tbaa !9
  %83 = tail call i32 @s2n_print_stacktrace(ptr noundef %82) #11
  %84 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %85 = trunc nuw i8 %84 to i1
  br i1 %85, label %86, label %90

86:                                               ; preds = %79
  %87 = load ptr, ptr @stderr, align 8, !tbaa !9
  %88 = tail call i32 @fileno(ptr noundef %87) #11
  %89 = tail call i32 @isatty(i32 noundef %88) #11
  %.not728 = icmp eq i32 %89, 0
  br i1 %.not728, label %90, label %91

90:                                               ; preds = %86, %79
  br label %91

91:                                               ; preds = %86, %90
  %.str.5.sink1011 = phi ptr [ @.str.5, %90 ], [ @.str.2, %86 ]
  store i32 %81, ptr %80, align 4, !tbaa !5
  %92 = load ptr, ptr @stderr, align 8, !tbaa !9
  %93 = load i32, ptr @test_count, align 4, !tbaa !5
  %94 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %95 = load i32, ptr %94, align 4, !tbaa !5
  %96 = tail call ptr @s2n_strerror(i32 noundef %95, ptr noundef nonnull @.str.4) #11
  %97 = load i32, ptr %94, align 4, !tbaa !5
  %98 = tail call ptr @s2n_strerror_debug(i32 noundef %97, ptr noundef nonnull @.str.4) #11
  %99 = load i32, ptr %80, align 4, !tbaa !5
  %100 = tail call ptr @strerror(i32 noundef %99) #11
  %101 = load i32, ptr %80, align 4, !tbaa !5
  %102 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %92, ptr noundef nonnull %.str.5.sink1011, i32 noundef %93, ptr noundef nonnull @.str.6, ptr noundef nonnull @.str.1, i32 noundef 38, ptr noundef %96, ptr noundef %98, ptr noundef %100, i32 noundef %101) #13
  tail call void @exit(i32 noundef 1) #14
  unreachable

103:                                              ; preds = %74
  %104 = tail call i32 @s2n_init() #11
  %105 = icmp eq i32 %104, -1
  br i1 %105, label %106, label %130

106:                                              ; preds = %103
  %107 = tail call ptr @__errno_location() #12
  %108 = load i32, ptr %107, align 4, !tbaa !5
  %109 = load ptr, ptr @stderr, align 8, !tbaa !9
  %110 = tail call i32 @s2n_print_stacktrace(ptr noundef %109) #11
  %111 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %112 = trunc nuw i8 %111 to i1
  br i1 %112, label %113, label %117

113:                                              ; preds = %106
  %114 = load ptr, ptr @stderr, align 8, !tbaa !9
  %115 = tail call i32 @fileno(ptr noundef %114) #11
  %116 = tail call i32 @isatty(i32 noundef %115) #11
  %.not727 = icmp eq i32 %116, 0
  br i1 %.not727, label %117, label %118

117:                                              ; preds = %113, %106
  br label %118

118:                                              ; preds = %113, %117
  %.str.5.sink1022 = phi ptr [ @.str.5, %117 ], [ @.str.2, %113 ]
  store i32 %108, ptr %107, align 4, !tbaa !5
  %119 = load ptr, ptr @stderr, align 8, !tbaa !9
  %120 = load i32, ptr @test_count, align 4, !tbaa !5
  %121 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %122 = load i32, ptr %121, align 4, !tbaa !5
  %123 = tail call ptr @s2n_strerror(i32 noundef %122, ptr noundef nonnull @.str.4) #11
  %124 = load i32, ptr %121, align 4, !tbaa !5
  %125 = tail call ptr @s2n_strerror_debug(i32 noundef %124, ptr noundef nonnull @.str.4) #11
  %126 = load i32, ptr %107, align 4, !tbaa !5
  %127 = tail call ptr @strerror(i32 noundef %126) #11
  %128 = load i32, ptr %107, align 4, !tbaa !5
  %129 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %119, ptr noundef nonnull %.str.5.sink1022, i32 noundef %120, ptr noundef nonnull @.str.7, ptr noundef nonnull @.str.1, i32 noundef 38, ptr noundef %123, ptr noundef %125, ptr noundef %127, i32 noundef %128) #13
  tail call void @exit(i32 noundef 1) #14
  unreachable

130:                                              ; preds = %103
  %131 = tail call zeroext i1 (...) @s2n_is_tls13_fully_supported() #11
  br i1 %131, label %.preheader750, label %5463

.preheader750:                                    ; preds = %130
  call void @llvm.lifetime.start.p0(i64 5, ptr nonnull %3) #11
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(5) %3, ptr noundef nonnull align 1 dereferenceable(5) @__const.main.alert_header, i64 5, i1 false)
  call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %4) #11
  %132 = load i16, ptr @__const.main.close_notify, align 1
  store i16 %132, ptr %4, align 2
  call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %5) #11
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(6) %5, ptr noundef nonnull align 1 dereferenceable(6) @__const.main.data, i64 6, i1 false)
  call void @llvm.lifetime.start.p0(i64 131070, ptr nonnull %6) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(131070) %6, i8 0, i64 131070, i1 false)
  %test_count.promoted826 = load i32, ptr @test_count, align 4, !tbaa !5
  %133 = load i8, ptr @__const.main.test_alert_levels, align 1
  br label %213

.preheader750.1:                                  ; preds = %247
  %134 = load i8, ptr getelementptr inbounds (i8, ptr @__const.main.test_alert_levels, i64 1), align 1
  br label %135

135:                                              ; preds = %146, %.preheader750.1
  %test_count.promoted828.1 = phi i32 [ %test_count.promoted827, %.preheader750.1 ], [ %test_count.promoted827.1, %146 ]
  %.1825.1 = phi i64 [ %.2, %.preheader750.1 ], [ %.2.1, %146 ]
  %.0512824.1 = phi i64 [ 0, %.preheader750.1 ], [ %148, %146 ]
  %136 = phi i32 [ %test_count.promoted827, %.preheader750.1 ], [ %147, %146 ]
  %trunc.1 = trunc nuw i64 %.0512824.1 to i8
  switch i8 %trunc.1, label %137 [
    i8 90, label %146
    i8 0, label %146
  ]

137:                                              ; preds = %135
  %138 = add nsw i64 %.0512824.1, -121
  %or.cond.1 = icmp ult i64 %138, 129
  br i1 %or.cond.1, label %146, label %139

139:                                              ; preds = %137
  %140 = add nsw i32 %136, 1
  store i32 %140, ptr @test_count, align 4, !tbaa !5
  %141 = icmp ult i64 %.1825.1, 65535
  br i1 %141, label %142, label %.loopexit

142:                                              ; preds = %139
  %143 = getelementptr inbounds [65535 x [2 x i8]], ptr %6, i64 0, i64 %.1825.1
  store i8 %134, ptr %143, align 2, !tbaa !15
  %144 = getelementptr inbounds i8, ptr %143, i64 1
  store i8 %trunc.1, ptr %144, align 1, !tbaa !15
  %145 = add nuw nsw i64 %.1825.1, 1
  br label %146

146:                                              ; preds = %142, %137, %135, %135
  %test_count.promoted827.1 = phi i32 [ %test_count.promoted828.1, %135 ], [ %test_count.promoted828.1, %137 ], [ %140, %142 ], [ %test_count.promoted828.1, %135 ]
  %147 = phi i32 [ %136, %135 ], [ %136, %137 ], [ %140, %142 ], [ %136, %135 ]
  %.2.1 = phi i64 [ %.1825.1, %135 ], [ %.1825.1, %137 ], [ %145, %142 ], [ %.1825.1, %135 ]
  %148 = add nuw nsw i64 %.0512824.1, 1
  %exitcond.1.not = icmp eq i64 %148, 256
  br i1 %exitcond.1.not, label %.preheader750.2, label %135, !llvm.loop !16

.preheader750.2:                                  ; preds = %146
  %149 = load i8, ptr getelementptr inbounds (i8, ptr @__const.main.test_alert_levels, i64 2), align 1
  br label %150

150:                                              ; preds = %161, %.preheader750.2
  %test_count.promoted828.2 = phi i32 [ %test_count.promoted827.1, %.preheader750.2 ], [ %test_count.promoted827.2, %161 ]
  %.1825.2 = phi i64 [ %.2.1, %.preheader750.2 ], [ %.2.2, %161 ]
  %.0512824.2 = phi i64 [ 0, %.preheader750.2 ], [ %163, %161 ]
  %151 = phi i32 [ %test_count.promoted827.1, %.preheader750.2 ], [ %162, %161 ]
  %trunc.2 = trunc nuw i64 %.0512824.2 to i8
  switch i8 %trunc.2, label %152 [
    i8 90, label %161
    i8 0, label %161
  ]

152:                                              ; preds = %150
  %153 = add nsw i64 %.0512824.2, -121
  %or.cond.2 = icmp ult i64 %153, 129
  br i1 %or.cond.2, label %161, label %154

154:                                              ; preds = %152
  %155 = add nsw i32 %151, 1
  store i32 %155, ptr @test_count, align 4, !tbaa !5
  %156 = icmp ult i64 %.1825.2, 65535
  br i1 %156, label %157, label %.loopexit

157:                                              ; preds = %154
  %158 = getelementptr inbounds [65535 x [2 x i8]], ptr %6, i64 0, i64 %.1825.2
  store i8 %149, ptr %158, align 2, !tbaa !15
  %159 = getelementptr inbounds i8, ptr %158, i64 1
  store i8 %trunc.2, ptr %159, align 1, !tbaa !15
  %160 = add nuw nsw i64 %.1825.2, 1
  br label %161

161:                                              ; preds = %157, %152, %150, %150
  %test_count.promoted827.2 = phi i32 [ %test_count.promoted828.2, %150 ], [ %test_count.promoted828.2, %152 ], [ %155, %157 ], [ %test_count.promoted828.2, %150 ]
  %162 = phi i32 [ %151, %150 ], [ %151, %152 ], [ %155, %157 ], [ %151, %150 ]
  %.2.2 = phi i64 [ %.1825.2, %150 ], [ %.1825.2, %152 ], [ %160, %157 ], [ %.1825.2, %150 ]
  %163 = add nuw nsw i64 %.0512824.2, 1
  %exitcond.2.not = icmp eq i64 %163, 256
  br i1 %exitcond.2.not, label %.preheader750.3, label %150, !llvm.loop !16

.preheader750.3:                                  ; preds = %161
  %164 = load i8, ptr getelementptr inbounds (i8, ptr @__const.main.test_alert_levels, i64 3), align 1
  br label %165

165:                                              ; preds = %176, %.preheader750.3
  %test_count.promoted828.3 = phi i32 [ %test_count.promoted827.2, %.preheader750.3 ], [ %test_count.promoted827.3, %176 ]
  %.1825.3 = phi i64 [ %.2.2, %.preheader750.3 ], [ %.2.3, %176 ]
  %.0512824.3 = phi i64 [ 0, %.preheader750.3 ], [ %178, %176 ]
  %166 = phi i32 [ %test_count.promoted827.2, %.preheader750.3 ], [ %177, %176 ]
  %trunc.3 = trunc nuw i64 %.0512824.3 to i8
  switch i8 %trunc.3, label %167 [
    i8 90, label %176
    i8 0, label %176
  ]

167:                                              ; preds = %165
  %168 = add nsw i64 %.0512824.3, -121
  %or.cond.3 = icmp ult i64 %168, 129
  br i1 %or.cond.3, label %176, label %169

169:                                              ; preds = %167
  %170 = add nsw i32 %166, 1
  store i32 %170, ptr @test_count, align 4, !tbaa !5
  %171 = icmp ult i64 %.1825.3, 65535
  br i1 %171, label %172, label %.loopexit

172:                                              ; preds = %169
  %173 = getelementptr inbounds [65535 x [2 x i8]], ptr %6, i64 0, i64 %.1825.3
  store i8 %164, ptr %173, align 2, !tbaa !15
  %174 = getelementptr inbounds i8, ptr %173, i64 1
  store i8 %trunc.3, ptr %174, align 1, !tbaa !15
  %175 = add nuw nsw i64 %.1825.3, 1
  br label %176

176:                                              ; preds = %172, %167, %165, %165
  %test_count.promoted827.3 = phi i32 [ %test_count.promoted828.3, %165 ], [ %test_count.promoted828.3, %167 ], [ %170, %172 ], [ %test_count.promoted828.3, %165 ]
  %177 = phi i32 [ %166, %165 ], [ %166, %167 ], [ %170, %172 ], [ %166, %165 ]
  %.2.3 = phi i64 [ %.1825.3, %165 ], [ %.1825.3, %167 ], [ %175, %172 ], [ %.1825.3, %165 ]
  %178 = add nuw nsw i64 %.0512824.3, 1
  %exitcond.3.not = icmp eq i64 %178, 256
  br i1 %exitcond.3.not, label %.preheader750.4, label %165, !llvm.loop !16

.preheader750.4:                                  ; preds = %176
  %179 = load i8, ptr getelementptr inbounds (i8, ptr @__const.main.test_alert_levels, i64 4), align 1
  br label %180

180:                                              ; preds = %191, %.preheader750.4
  %test_count.promoted828.4 = phi i32 [ %test_count.promoted827.3, %.preheader750.4 ], [ %test_count.promoted827.4, %191 ]
  %.1825.4 = phi i64 [ %.2.3, %.preheader750.4 ], [ %.2.4, %191 ]
  %.0512824.4 = phi i64 [ 0, %.preheader750.4 ], [ %193, %191 ]
  %181 = phi i32 [ %test_count.promoted827.3, %.preheader750.4 ], [ %192, %191 ]
  %trunc.4 = trunc nuw i64 %.0512824.4 to i8
  switch i8 %trunc.4, label %182 [
    i8 90, label %191
    i8 0, label %191
  ]

182:                                              ; preds = %180
  %183 = add nsw i64 %.0512824.4, -121
  %or.cond.4 = icmp ult i64 %183, 129
  br i1 %or.cond.4, label %191, label %184

184:                                              ; preds = %182
  %185 = add nsw i32 %181, 1
  store i32 %185, ptr @test_count, align 4, !tbaa !5
  %186 = icmp ult i64 %.1825.4, 65535
  br i1 %186, label %187, label %.loopexit

187:                                              ; preds = %184
  %188 = getelementptr inbounds [65535 x [2 x i8]], ptr %6, i64 0, i64 %.1825.4
  store i8 %179, ptr %188, align 2, !tbaa !15
  %189 = getelementptr inbounds i8, ptr %188, i64 1
  store i8 %trunc.4, ptr %189, align 1, !tbaa !15
  %190 = add nuw nsw i64 %.1825.4, 1
  br label %191

191:                                              ; preds = %187, %182, %180, %180
  %test_count.promoted827.4 = phi i32 [ %test_count.promoted828.4, %180 ], [ %test_count.promoted828.4, %182 ], [ %185, %187 ], [ %test_count.promoted828.4, %180 ]
  %192 = phi i32 [ %181, %180 ], [ %181, %182 ], [ %185, %187 ], [ %181, %180 ]
  %.2.4 = phi i64 [ %.1825.4, %180 ], [ %.1825.4, %182 ], [ %190, %187 ], [ %.1825.4, %180 ]
  %193 = add nuw nsw i64 %.0512824.4, 1
  %exitcond.4.not = icmp eq i64 %193, 256
  br i1 %exitcond.4.not, label %.preheader750.5, label %180, !llvm.loop !16

.preheader750.5:                                  ; preds = %191
  %194 = load i8, ptr getelementptr inbounds (i8, ptr @__const.main.test_alert_levels, i64 5), align 1
  br label %195

195:                                              ; preds = %206, %.preheader750.5
  %.1825.5 = phi i64 [ %.2.4, %.preheader750.5 ], [ %.2.5, %206 ]
  %.0512824.5 = phi i64 [ 0, %.preheader750.5 ], [ %208, %206 ]
  %196 = phi i32 [ %test_count.promoted827.4, %.preheader750.5 ], [ %207, %206 ]
  %trunc.5 = trunc nuw i64 %.0512824.5 to i8
  switch i8 %trunc.5, label %197 [
    i8 90, label %206
    i8 0, label %206
  ]

197:                                              ; preds = %195
  %198 = add nsw i64 %.0512824.5, -121
  %or.cond.5 = icmp ult i64 %198, 129
  br i1 %or.cond.5, label %206, label %199

199:                                              ; preds = %197
  %200 = add nsw i32 %196, 1
  store i32 %200, ptr @test_count, align 4, !tbaa !5
  %201 = icmp ult i64 %.1825.5, 65535
  br i1 %201, label %202, label %.loopexit

202:                                              ; preds = %199
  %203 = getelementptr inbounds [65535 x [2 x i8]], ptr %6, i64 0, i64 %.1825.5
  store i8 %194, ptr %203, align 2, !tbaa !15
  %204 = getelementptr inbounds i8, ptr %203, i64 1
  store i8 %trunc.5, ptr %204, align 1, !tbaa !15
  %205 = add nuw nsw i64 %.1825.5, 1
  br label %206

206:                                              ; preds = %202, %197, %195, %195
  %207 = phi i32 [ %196, %195 ], [ %196, %197 ], [ %200, %202 ], [ %196, %195 ]
  %.2.5 = phi i64 [ %.1825.5, %195 ], [ %.1825.5, %197 ], [ %205, %202 ], [ %.1825.5, %195 ]
  %208 = add nuw nsw i64 %.0512824.5, 1
  %exitcond.5.not = icmp eq i64 %208, 256
  br i1 %exitcond.5.not, label %209, label %195, !llvm.loop !16

209:                                              ; preds = %206
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %7) #11
  store ptr null, ptr %7, align 8, !tbaa !9
  %210 = add nsw i32 %207, 1
  store i32 %210, ptr @test_count, align 4, !tbaa !5
  %211 = call i32 @s2n_test_cert_chain_and_key_new(ptr noundef nonnull %7, ptr noundef nonnull @.str.9, ptr noundef nonnull @.str.10) #11
  %212 = icmp eq i32 %211, -1
  br i1 %212, label %250, label %274

213:                                              ; preds = %.preheader750, %247
  %test_count.promoted828 = phi i32 [ %test_count.promoted826, %.preheader750 ], [ %test_count.promoted827, %247 ]
  %.1825 = phi i64 [ 0, %.preheader750 ], [ %.2, %247 ]
  %.0512824 = phi i64 [ 0, %.preheader750 ], [ %249, %247 ]
  %214 = phi i32 [ %test_count.promoted826, %.preheader750 ], [ %248, %247 ]
  %trunc = trunc nuw i64 %.0512824 to i8
  switch i8 %trunc, label %215 [
    i8 90, label %247
    i8 0, label %247
  ]

215:                                              ; preds = %213
  %216 = add nsw i64 %.0512824, -121
  %or.cond = icmp ult i64 %216, 129
  br i1 %or.cond, label %247, label %217

217:                                              ; preds = %215
  %218 = add nsw i32 %214, 1
  store i32 %218, ptr @test_count, align 4, !tbaa !5
  %219 = icmp ult i64 %.1825, 65535
  br i1 %219, label %243, label %.loopexit

.loopexit:                                        ; preds = %217, %139, %154, %169, %184, %199
  %220 = tail call ptr @__errno_location() #12
  %221 = load i32, ptr %220, align 4, !tbaa !5
  %222 = load ptr, ptr @stderr, align 8, !tbaa !9
  %223 = tail call i32 @s2n_print_stacktrace(ptr noundef %222) #11
  %224 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %225 = trunc nuw i8 %224 to i1
  br i1 %225, label %226, label %230

226:                                              ; preds = %.loopexit
  %227 = load ptr, ptr @stderr, align 8, !tbaa !9
  %228 = tail call i32 @fileno(ptr noundef %227) #11
  %229 = tail call i32 @isatty(i32 noundef %228) #11
  %.not726 = icmp eq i32 %229, 0
  br i1 %.not726, label %230, label %231

230:                                              ; preds = %226, %.loopexit
  br label %231

231:                                              ; preds = %226, %230
  %.str.5.sink1033 = phi ptr [ @.str.5, %230 ], [ @.str.2, %226 ]
  store i32 %221, ptr %220, align 4, !tbaa !5
  %232 = load ptr, ptr @stderr, align 8, !tbaa !9
  %233 = load i32, ptr @test_count, align 4, !tbaa !5
  %234 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %235 = load i32, ptr %234, align 4, !tbaa !5
  %236 = tail call ptr @s2n_strerror(i32 noundef %235, ptr noundef nonnull @.str.4) #11
  %237 = load i32, ptr %234, align 4, !tbaa !5
  %238 = tail call ptr @s2n_strerror_debug(i32 noundef %237, ptr noundef nonnull @.str.4) #11
  %239 = load i32, ptr %220, align 4, !tbaa !5
  %240 = tail call ptr @strerror(i32 noundef %239) #11
  %241 = load i32, ptr %220, align 4, !tbaa !5
  %242 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %232, ptr noundef nonnull %.str.5.sink1033, i32 noundef %233, ptr noundef nonnull @.str.8, ptr noundef nonnull @.str.1, i32 noundef 86, ptr noundef %236, ptr noundef %238, ptr noundef %240, i32 noundef %241) #13
  tail call void @exit(i32 noundef 1) #14
  unreachable

243:                                              ; preds = %217
  %244 = getelementptr inbounds [65535 x [2 x i8]], ptr %6, i64 0, i64 %.1825
  store i8 %133, ptr %244, align 2, !tbaa !15
  %245 = getelementptr inbounds i8, ptr %244, i64 1
  store i8 %trunc, ptr %245, align 1, !tbaa !15
  %246 = add nuw nsw i64 %.1825, 1
  br label %247

247:                                              ; preds = %213, %213, %215, %243
  %test_count.promoted827 = phi i32 [ %test_count.promoted828, %213 ], [ %test_count.promoted828, %215 ], [ %218, %243 ], [ %test_count.promoted828, %213 ]
  %248 = phi i32 [ %214, %213 ], [ %214, %215 ], [ %218, %243 ], [ %214, %213 ]
  %.2 = phi i64 [ %.1825, %213 ], [ %.1825, %215 ], [ %246, %243 ], [ %.1825, %213 ]
  %249 = add nuw nsw i64 %.0512824, 1
  %exitcond.not = icmp eq i64 %249, 256
  br i1 %exitcond.not, label %.preheader750.1, label %213, !llvm.loop !16

250:                                              ; preds = %209
  %251 = tail call ptr @__errno_location() #12
  %252 = load i32, ptr %251, align 4, !tbaa !5
  %253 = load ptr, ptr @stderr, align 8, !tbaa !9
  %254 = call i32 @s2n_print_stacktrace(ptr noundef %253) #11
  %255 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %256 = trunc nuw i8 %255 to i1
  br i1 %256, label %257, label %261

257:                                              ; preds = %250
  %258 = load ptr, ptr @stderr, align 8, !tbaa !9
  %259 = call i32 @fileno(ptr noundef %258) #11
  %260 = call i32 @isatty(i32 noundef %259) #11
  %.not725 = icmp eq i32 %260, 0
  br i1 %.not725, label %261, label %262

261:                                              ; preds = %257, %250
  br label %262

262:                                              ; preds = %257, %261
  %.str.5.sink1044 = phi ptr [ @.str.5, %261 ], [ @.str.2, %257 ]
  store i32 %252, ptr %251, align 4, !tbaa !5
  %263 = load ptr, ptr @stderr, align 8, !tbaa !9
  %264 = load i32, ptr @test_count, align 4, !tbaa !5
  %265 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %266 = load i32, ptr %265, align 4, !tbaa !5
  %267 = call ptr @s2n_strerror(i32 noundef %266, ptr noundef nonnull @.str.4) #11
  %268 = load i32, ptr %265, align 4, !tbaa !5
  %269 = call ptr @s2n_strerror_debug(i32 noundef %268, ptr noundef nonnull @.str.4) #11
  %270 = load i32, ptr %251, align 4, !tbaa !5
  %271 = call ptr @strerror(i32 noundef %270) #11
  %272 = load i32, ptr %251, align 4, !tbaa !5
  %273 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %263, ptr noundef nonnull %.str.5.sink1044, i32 noundef %264, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.1, i32 noundef 96, ptr noundef %267, ptr noundef %269, ptr noundef %271, i32 noundef %272) #13
  call void @exit(i32 noundef 1) #14
  unreachable

274:                                              ; preds = %209
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %8) #11
  store ptr null, ptr %8, align 8, !tbaa !9
  %275 = load i32, ptr @test_count, align 4, !tbaa !5
  %276 = add nsw i32 %275, 1
  store i32 %276, ptr @test_count, align 4, !tbaa !5
  %277 = call i32 @s2n_test_cert_chain_and_key_new(ptr noundef nonnull %8, ptr noundef nonnull @.str.12, ptr noundef nonnull @.str.13) #11
  %278 = icmp eq i32 %277, -1
  br i1 %278, label %279, label %303

279:                                              ; preds = %274
  %280 = tail call ptr @__errno_location() #12
  %281 = load i32, ptr %280, align 4, !tbaa !5
  %282 = load ptr, ptr @stderr, align 8, !tbaa !9
  %283 = call i32 @s2n_print_stacktrace(ptr noundef %282) #11
  %284 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %285 = trunc nuw i8 %284 to i1
  br i1 %285, label %286, label %290

286:                                              ; preds = %279
  %287 = load ptr, ptr @stderr, align 8, !tbaa !9
  %288 = call i32 @fileno(ptr noundef %287) #11
  %289 = call i32 @isatty(i32 noundef %288) #11
  %.not724 = icmp eq i32 %289, 0
  br i1 %.not724, label %290, label %291

290:                                              ; preds = %286, %279
  br label %291

291:                                              ; preds = %286, %290
  %.str.5.sink1055 = phi ptr [ @.str.5, %290 ], [ @.str.2, %286 ]
  store i32 %281, ptr %280, align 4, !tbaa !5
  %292 = load ptr, ptr @stderr, align 8, !tbaa !9
  %293 = load i32, ptr @test_count, align 4, !tbaa !5
  %294 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %295 = load i32, ptr %294, align 4, !tbaa !5
  %296 = call ptr @s2n_strerror(i32 noundef %295, ptr noundef nonnull @.str.4) #11
  %297 = load i32, ptr %294, align 4, !tbaa !5
  %298 = call ptr @s2n_strerror_debug(i32 noundef %297, ptr noundef nonnull @.str.4) #11
  %299 = load i32, ptr %280, align 4, !tbaa !5
  %300 = call ptr @strerror(i32 noundef %299) #11
  %301 = load i32, ptr %280, align 4, !tbaa !5
  %302 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %292, ptr noundef nonnull %.str.5.sink1055, i32 noundef %293, ptr noundef nonnull @.str.14, ptr noundef nonnull @.str.1, i32 noundef 101, ptr noundef %296, ptr noundef %298, ptr noundef %300, i32 noundef %301) #13
  call void @exit(i32 noundef 1) #14
  unreachable

303:                                              ; preds = %274
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %9) #11
  %304 = call ptr @s2n_config_new() #11
  store ptr %304, ptr %9, align 8, !tbaa !9
  %305 = load i32, ptr @test_count, align 4, !tbaa !5
  %306 = add nsw i32 %305, 1
  store i32 %306, ptr @test_count, align 4, !tbaa !5
  %307 = call i32 @s2n_config_set_unsafe_for_testing(ptr noundef %304) #11
  %308 = icmp eq i32 %307, -1
  br i1 %308, label %309, label %333

309:                                              ; preds = %303
  %310 = tail call ptr @__errno_location() #12
  %311 = load i32, ptr %310, align 4, !tbaa !5
  %312 = load ptr, ptr @stderr, align 8, !tbaa !9
  %313 = call i32 @s2n_print_stacktrace(ptr noundef %312) #11
  %314 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %315 = trunc nuw i8 %314 to i1
  br i1 %315, label %316, label %320

316:                                              ; preds = %309
  %317 = load ptr, ptr @stderr, align 8, !tbaa !9
  %318 = call i32 @fileno(ptr noundef %317) #11
  %319 = call i32 @isatty(i32 noundef %318) #11
  %.not723 = icmp eq i32 %319, 0
  br i1 %.not723, label %320, label %321

320:                                              ; preds = %316, %309
  br label %321

321:                                              ; preds = %316, %320
  %.str.5.sink1066 = phi ptr [ @.str.5, %320 ], [ @.str.2, %316 ]
  store i32 %311, ptr %310, align 4, !tbaa !5
  %322 = load ptr, ptr @stderr, align 8, !tbaa !9
  %323 = load i32, ptr @test_count, align 4, !tbaa !5
  %324 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %325 = load i32, ptr %324, align 4, !tbaa !5
  %326 = call ptr @s2n_strerror(i32 noundef %325, ptr noundef nonnull @.str.4) #11
  %327 = load i32, ptr %324, align 4, !tbaa !5
  %328 = call ptr @s2n_strerror_debug(i32 noundef %327, ptr noundef nonnull @.str.4) #11
  %329 = load i32, ptr %310, align 4, !tbaa !5
  %330 = call ptr @strerror(i32 noundef %329) #11
  %331 = load i32, ptr %310, align 4, !tbaa !5
  %332 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %322, ptr noundef nonnull %.str.5.sink1066, i32 noundef %323, ptr noundef nonnull @.str.15, ptr noundef nonnull @.str.1, i32 noundef 105, ptr noundef %326, ptr noundef %328, ptr noundef %330, i32 noundef %331) #13
  call void @exit(i32 noundef 1) #14
  unreachable

333:                                              ; preds = %303
  %334 = load i32, ptr @test_count, align 4, !tbaa !5
  %335 = add nsw i32 %334, 1
  store i32 %335, ptr @test_count, align 4, !tbaa !5
  %336 = call i32 @s2n_config_set_cipher_preferences(ptr noundef %304, ptr noundef nonnull @.str.16) #11
  %337 = icmp eq i32 %336, -1
  br i1 %337, label %338, label %362

338:                                              ; preds = %333
  %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
  %.not722 = icmp eq i32 %348, 0
  br i1 %.not722, label %349, label %350

349:                                              ; preds = %345, %338
  br label %350

350:                                              ; preds = %345, %349
  %.str.5.sink1077 = 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.sink1077, i32 noundef %352, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.1, i32 noundef 106, ptr noundef %355, ptr noundef %357, ptr noundef %359, i32 noundef %360) #13
  call void @exit(i32 noundef 1) #14
  unreachable

362:                                              ; preds = %333
  %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 = load ptr, ptr %7, align 8, !tbaa !9
  %366 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef %304, ptr noundef %365) #11
  %367 = icmp eq i32 %366, -1
  br i1 %367, label %368, label %392

368:                                              ; preds = %362
  %369 = tail call ptr @__errno_location() #12
  %370 = load i32, ptr %369, align 4, !tbaa !5
  %371 = load ptr, ptr @stderr, align 8, !tbaa !9
  %372 = call i32 @s2n_print_stacktrace(ptr noundef %371) #11
  %373 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %374 = trunc nuw i8 %373 to i1
  br i1 %374, label %375, label %379

375:                                              ; preds = %368
  %376 = load ptr, ptr @stderr, align 8, !tbaa !9
  %377 = call i32 @fileno(ptr noundef %376) #11
  %378 = call i32 @isatty(i32 noundef %377) #11
  %.not721 = icmp eq i32 %378, 0
  br i1 %.not721, label %379, label %380

379:                                              ; preds = %375, %368
  br label %380

380:                                              ; preds = %375, %379
  %.str.5.sink1088 = phi ptr [ @.str.5, %379 ], [ @.str.2, %375 ]
  store i32 %370, ptr %369, align 4, !tbaa !5
  %381 = load ptr, ptr @stderr, align 8, !tbaa !9
  %382 = load i32, ptr @test_count, align 4, !tbaa !5
  %383 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %384 = load i32, ptr %383, align 4, !tbaa !5
  %385 = call ptr @s2n_strerror(i32 noundef %384, ptr noundef nonnull @.str.4) #11
  %386 = load i32, ptr %383, align 4, !tbaa !5
  %387 = call ptr @s2n_strerror_debug(i32 noundef %386, ptr noundef nonnull @.str.4) #11
  %388 = load i32, ptr %369, align 4, !tbaa !5
  %389 = call ptr @strerror(i32 noundef %388) #11
  %390 = load i32, ptr %369, align 4, !tbaa !5
  %391 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %381, ptr noundef nonnull %.str.5.sink1088, i32 noundef %382, ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.1, i32 noundef 107, ptr noundef %385, ptr noundef %387, ptr noundef %389, i32 noundef %390) #13
  call void @exit(i32 noundef 1) #14
  unreachable

392:                                              ; preds = %362
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %10) #11
  %393 = call ptr @s2n_config_new() #11
  store ptr %393, ptr %10, align 8, !tbaa !9
  %394 = load i32, ptr @test_count, align 4, !tbaa !5
  %395 = add nsw i32 %394, 1
  store i32 %395, ptr @test_count, align 4, !tbaa !5
  %396 = call i32 @s2n_config_set_unsafe_for_testing(ptr noundef %393) #11
  %397 = icmp eq i32 %396, -1
  br i1 %397, label %398, label %422

398:                                              ; preds = %392
  %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
  %.not720 = icmp eq i32 %408, 0
  br i1 %.not720, label %409, label %410

409:                                              ; preds = %405, %398
  br label %410

410:                                              ; preds = %405, %409
  %.str.5.sink1099 = 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.sink1099, i32 noundef %412, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 111, ptr noundef %415, ptr noundef %417, ptr noundef %419, i32 noundef %420) #13
  call void @exit(i32 noundef 1) #14
  unreachable

422:                                              ; preds = %392
  %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 = load ptr, ptr %8, align 8, !tbaa !9
  %426 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef %393, ptr noundef %425) #11
  %427 = icmp eq i32 %426, -1
  br i1 %427, label %429, label %.preheader749

.preheader749:                                    ; preds = %422
  %.not844 = icmp eq i64 %.2.5, 0
  br i1 %.not844, label %._crit_edge, label %.preheader748.lr.ph

.preheader748.lr.ph:                              ; preds = %.preheader749
  %428 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  br label %.preheader748

429:                                              ; preds = %422
  %430 = tail call ptr @__errno_location() #12
  %431 = load i32, ptr %430, align 4, !tbaa !5
  %432 = load ptr, ptr @stderr, align 8, !tbaa !9
  %433 = call i32 @s2n_print_stacktrace(ptr noundef %432) #11
  %434 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %435 = trunc nuw i8 %434 to i1
  br i1 %435, label %436, label %440

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

440:                                              ; preds = %436, %429
  br label %441

441:                                              ; preds = %436, %440
  %.str.5.sink1110 = phi ptr [ @.str.5, %440 ], [ @.str.2, %436 ]
  store i32 %431, ptr %430, align 4, !tbaa !5
  %442 = load ptr, ptr @stderr, align 8, !tbaa !9
  %443 = load i32, ptr @test_count, align 4, !tbaa !5
  %444 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %445 = load i32, ptr %444, align 4, !tbaa !5
  %446 = call ptr @s2n_strerror(i32 noundef %445, ptr noundef nonnull @.str.4) #11
  %447 = load i32, ptr %444, align 4, !tbaa !5
  %448 = call ptr @s2n_strerror_debug(i32 noundef %447, ptr noundef nonnull @.str.4) #11
  %449 = load i32, ptr %430, align 4, !tbaa !5
  %450 = call ptr @strerror(i32 noundef %449) #11
  %451 = load i32, ptr %430, align 4, !tbaa !5
  %452 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %442, ptr noundef nonnull %.str.5.sink1110, i32 noundef %443, ptr noundef nonnull @.str.20, ptr noundef nonnull @.str.1, i32 noundef 112, ptr noundef %446, ptr noundef %448, ptr noundef %450, i32 noundef %451) #13
  call void @exit(i32 noundef 1) #14
  unreachable

.preheader748:                                    ; preds = %.preheader748.lr.ph, %464
  %453 = phi ptr [ %304, %.preheader748.lr.ph ], [ %561, %464 ]
  %.0513835 = phi i64 [ 0, %.preheader748.lr.ph ], [ %465, %464 ]
  %454 = getelementptr inbounds [65535 x [2 x i8]], ptr %6, i64 0, i64 %.0513835
  %455 = getelementptr inbounds i8, ptr %454, i64 1
  br label %.preheader747

._crit_edge:                                      ; preds = %464, %.preheader749
  %456 = phi ptr [ %304, %.preheader749 ], [ %561, %464 ]
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %16) #11
  %457 = call ptr @s2n_config_new() #11
  store ptr %457, ptr %16, align 8, !tbaa !9
  %458 = load i32, ptr @test_count, align 4, !tbaa !5
  %459 = add nsw i32 %458, 1
  store i32 %459, ptr @test_count, align 4, !tbaa !5
  %460 = call i32 @s2n_config_set_client_hello_cb(ptr noundef %457, ptr noundef nonnull @s2n_test_ch_cb, ptr noundef null) #11
  %461 = icmp eq i32 %460, -1
  br i1 %461, label %1284, label %1308

.preheader747:                                    ; preds = %.preheader748, %466
  %462 = phi ptr [ %453, %.preheader748 ], [ %561, %466 ]
  %463 = phi i1 [ true, %.preheader748 ], [ false, %466 ]
  br label %467

464:                                              ; preds = %466
  %465 = add nuw i64 %.0513835, 1
  %exitcond874.not = icmp eq i64 %465, %.2.5
  br i1 %exitcond874.not, label %._crit_edge, label %.preheader748, !llvm.loop !18

466:                                              ; preds = %1280
  br i1 %463, label %.preheader747, label %464, !llvm.loop !19

467:                                              ; preds = %.preheader747, %1280
  %468 = phi ptr [ %462, %.preheader747 ], [ %561, %1280 ]
  %469 = phi i1 [ false, %.preheader747 ], [ true, %1280 ]
  %470 = phi i1 [ true, %.preheader747 ], [ false, %1280 ]
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %11) #11
  %471 = call ptr @s2n_connection_new(i32 noundef 0) #11
  store ptr %471, ptr %11, align 8, !tbaa !9
  %472 = load i32, ptr @test_count, align 4, !tbaa !5
  %473 = add nsw i32 %472, 1
  store i32 %473, ptr @test_count, align 4, !tbaa !5
  %474 = call i32 @s2n_connection_set_blinding(ptr noundef %471, i32 noundef 1) #11
  %475 = icmp eq i32 %474, -1
  br i1 %475, label %476, label %499

476:                                              ; preds = %467
  %477 = tail call ptr @__errno_location() #12
  %478 = load i32, ptr %477, align 4, !tbaa !5
  %479 = load ptr, ptr @stderr, align 8, !tbaa !9
  %480 = call i32 @s2n_print_stacktrace(ptr noundef %479) #11
  %481 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %482 = trunc nuw i8 %481 to i1
  br i1 %482, label %483, label %487

483:                                              ; preds = %476
  %484 = load ptr, ptr @stderr, align 8, !tbaa !9
  %485 = call i32 @fileno(ptr noundef %484) #11
  %486 = call i32 @isatty(i32 noundef %485) #11
  %.not718 = icmp eq i32 %486, 0
  br i1 %.not718, label %487, label %488

487:                                              ; preds = %483, %476
  br label %488

488:                                              ; preds = %483, %487
  %.str.5.sink1121 = phi ptr [ @.str.5, %487 ], [ @.str.2, %483 ]
  store i32 %478, ptr %477, align 4, !tbaa !5
  %489 = load ptr, ptr @stderr, align 8, !tbaa !9
  %490 = load i32, ptr @test_count, align 4, !tbaa !5
  %491 = load i32, ptr %428, align 4, !tbaa !5
  %492 = call ptr @s2n_strerror(i32 noundef %491, ptr noundef nonnull @.str.4) #11
  %493 = load i32, ptr %428, align 4, !tbaa !5
  %494 = call ptr @s2n_strerror_debug(i32 noundef %493, ptr noundef nonnull @.str.4) #11
  %495 = load i32, ptr %477, align 4, !tbaa !5
  %496 = call ptr @strerror(i32 noundef %495) #11
  %497 = load i32, ptr %477, align 4, !tbaa !5
  %498 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %489, ptr noundef nonnull %.str.5.sink1121, i32 noundef %490, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 120, ptr noundef %492, ptr noundef %494, ptr noundef %496, i32 noundef %497) #13
  call void @exit(i32 noundef 1) #14
  unreachable

499:                                              ; preds = %467
  %500 = load i32, ptr @test_count, align 4, !tbaa !5
  %501 = add nsw i32 %500, 1
  store i32 %501, ptr @test_count, align 4, !tbaa !5
  %502 = load ptr, ptr %11, align 8, !tbaa !9
  %503 = call i32 @s2n_connection_set_config(ptr noundef %502, ptr noundef %468) #11
  %504 = icmp eq i32 %503, -1
  br i1 %504, label %505, label %528

505:                                              ; preds = %499
  %506 = tail call ptr @__errno_location() #12
  %507 = load i32, ptr %506, align 4, !tbaa !5
  %508 = load ptr, ptr @stderr, align 8, !tbaa !9
  %509 = call i32 @s2n_print_stacktrace(ptr noundef %508) #11
  %510 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %511 = trunc nuw i8 %510 to i1
  br i1 %511, label %512, label %516

512:                                              ; preds = %505
  %513 = load ptr, ptr @stderr, align 8, !tbaa !9
  %514 = call i32 @fileno(ptr noundef %513) #11
  %515 = call i32 @isatty(i32 noundef %514) #11
  %.not717 = icmp eq i32 %515, 0
  br i1 %.not717, label %516, label %517

516:                                              ; preds = %512, %505
  br label %517

517:                                              ; preds = %512, %516
  %.str.5.sink1130 = phi ptr [ @.str.5, %516 ], [ @.str.2, %512 ]
  store i32 %507, ptr %506, align 4, !tbaa !5
  %518 = load ptr, ptr @stderr, align 8, !tbaa !9
  %519 = load i32, ptr @test_count, align 4, !tbaa !5
  %520 = load i32, ptr %428, align 4, !tbaa !5
  %521 = call ptr @s2n_strerror(i32 noundef %520, ptr noundef nonnull @.str.4) #11
  %522 = load i32, ptr %428, align 4, !tbaa !5
  %523 = call ptr @s2n_strerror_debug(i32 noundef %522, ptr noundef nonnull @.str.4) #11
  %524 = load i32, ptr %506, align 4, !tbaa !5
  %525 = call ptr @strerror(i32 noundef %524) #11
  %526 = load i32, ptr %506, align 4, !tbaa !5
  %527 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %518, ptr noundef nonnull %.str.5.sink1130, i32 noundef %519, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 121, ptr noundef %521, ptr noundef %523, ptr noundef %525, i32 noundef %526) #13
  call void @exit(i32 noundef 1) #14
  unreachable

528:                                              ; preds = %499
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %12) #11
  %529 = call ptr @s2n_connection_new(i32 noundef 1) #11
  store ptr %529, ptr %12, align 8, !tbaa !9
  %530 = load i32, ptr @test_count, align 4, !tbaa !5
  %531 = add nsw i32 %530, 1
  store i32 %531, ptr @test_count, align 4, !tbaa !5
  %532 = call i32 @s2n_connection_set_blinding(ptr noundef %529, i32 noundef 1) #11
  %533 = icmp eq i32 %532, -1
  br i1 %533, label %534, label %557

534:                                              ; preds = %528
  %535 = tail call ptr @__errno_location() #12
  %536 = load i32, ptr %535, align 4, !tbaa !5
  %537 = load ptr, ptr @stderr, align 8, !tbaa !9
  %538 = call i32 @s2n_print_stacktrace(ptr noundef %537) #11
  %539 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %540 = trunc nuw i8 %539 to i1
  br i1 %540, label %541, label %545

541:                                              ; preds = %534
  %542 = load ptr, ptr @stderr, align 8, !tbaa !9
  %543 = call i32 @fileno(ptr noundef %542) #11
  %544 = call i32 @isatty(i32 noundef %543) #11
  %.not716 = icmp eq i32 %544, 0
  br i1 %.not716, label %545, label %546

545:                                              ; preds = %541, %534
  br label %546

546:                                              ; preds = %541, %545
  %.str.5.sink1139 = phi ptr [ @.str.5, %545 ], [ @.str.2, %541 ]
  store i32 %536, ptr %535, align 4, !tbaa !5
  %547 = load ptr, ptr @stderr, align 8, !tbaa !9
  %548 = load i32, ptr @test_count, align 4, !tbaa !5
  %549 = load i32, ptr %428, align 4, !tbaa !5
  %550 = call ptr @s2n_strerror(i32 noundef %549, ptr noundef nonnull @.str.4) #11
  %551 = load i32, ptr %428, align 4, !tbaa !5
  %552 = call ptr @s2n_strerror_debug(i32 noundef %551, ptr noundef nonnull @.str.4) #11
  %553 = load i32, ptr %535, align 4, !tbaa !5
  %554 = call ptr @strerror(i32 noundef %553) #11
  %555 = load i32, ptr %535, align 4, !tbaa !5
  %556 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %547, ptr noundef nonnull %.str.5.sink1139, i32 noundef %548, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.1, i32 noundef 125, ptr noundef %550, ptr noundef %552, ptr noundef %554, i32 noundef %555) #13
  call void @exit(i32 noundef 1) #14
  unreachable

557:                                              ; preds = %528
  %558 = load i32, ptr @test_count, align 4, !tbaa !5
  %559 = add nsw i32 %558, 1
  store i32 %559, ptr @test_count, align 4, !tbaa !5
  %560 = load ptr, ptr %12, align 8, !tbaa !9
  %561 = load ptr, ptr %9, align 8, !tbaa !9
  %562 = call i32 @s2n_connection_set_config(ptr noundef %560, ptr noundef %561) #11
  %563 = icmp eq i32 %562, -1
  br i1 %563, label %564, label %587

564:                                              ; preds = %557
  %565 = tail call ptr @__errno_location() #12
  %566 = load i32, ptr %565, align 4, !tbaa !5
  %567 = load ptr, ptr @stderr, align 8, !tbaa !9
  %568 = call i32 @s2n_print_stacktrace(ptr noundef %567) #11
  %569 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %570 = trunc nuw i8 %569 to i1
  br i1 %570, label %571, label %575

571:                                              ; preds = %564
  %572 = load ptr, ptr @stderr, align 8, !tbaa !9
  %573 = call i32 @fileno(ptr noundef %572) #11
  %574 = call i32 @isatty(i32 noundef %573) #11
  %.not715 = icmp eq i32 %574, 0
  br i1 %.not715, label %575, label %576

575:                                              ; preds = %571, %564
  br label %576

576:                                              ; preds = %571, %575
  %.str.5.sink1148 = phi ptr [ @.str.5, %575 ], [ @.str.2, %571 ]
  store i32 %566, ptr %565, align 4, !tbaa !5
  %577 = load ptr, ptr @stderr, align 8, !tbaa !9
  %578 = load i32, ptr @test_count, align 4, !tbaa !5
  %579 = load i32, ptr %428, align 4, !tbaa !5
  %580 = call ptr @s2n_strerror(i32 noundef %579, ptr noundef nonnull @.str.4) #11
  %581 = load i32, ptr %428, align 4, !tbaa !5
  %582 = call ptr @s2n_strerror_debug(i32 noundef %581, ptr noundef nonnull @.str.4) #11
  %583 = load i32, ptr %565, align 4, !tbaa !5
  %584 = call ptr @strerror(i32 noundef %583) #11
  %585 = load i32, ptr %565, align 4, !tbaa !5
  %586 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %577, ptr noundef nonnull %.str.5.sink1148, i32 noundef %578, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 126, ptr noundef %580, ptr noundef %582, ptr noundef %584, i32 noundef %585) #13
  call void @exit(i32 noundef 1) #14
  unreachable

587:                                              ; preds = %557
  call void @llvm.lifetime.start.p0(i64 80, ptr nonnull %13) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(80) %13, i8 0, i64 80, i1 false)
  %588 = load i32, ptr @test_count, align 4, !tbaa !5
  %589 = add nsw i32 %588, 1
  store i32 %589, ptr @test_count, align 4, !tbaa !5
  %590 = call i32 @s2n_io_stuffer_pair_init(ptr noundef nonnull %13) #11
  %591 = call zeroext i1 @s2n_result_is_ok(i32 %590)
  br i1 %591, label %615, label %592

592:                                              ; preds = %587
  %593 = tail call ptr @__errno_location() #12
  %594 = load i32, ptr %593, align 4, !tbaa !5
  %595 = load ptr, ptr @stderr, align 8, !tbaa !9
  %596 = call i32 @s2n_print_stacktrace(ptr noundef %595) #11
  %597 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %598 = trunc nuw i8 %597 to i1
  br i1 %598, label %599, label %603

599:                                              ; preds = %592
  %600 = load ptr, ptr @stderr, align 8, !tbaa !9
  %601 = call i32 @fileno(ptr noundef %600) #11
  %602 = call i32 @isatty(i32 noundef %601) #11
  %.not690 = icmp eq i32 %602, 0
  br i1 %.not690, label %603, label %604

603:                                              ; preds = %599, %592
  br label %604

604:                                              ; preds = %599, %603
  %.str.5.sink1157 = phi ptr [ @.str.5, %603 ], [ @.str.2, %599 ]
  store i32 %594, ptr %593, align 4, !tbaa !5
  %605 = load ptr, ptr @stderr, align 8, !tbaa !9
  %606 = load i32, ptr @test_count, align 4, !tbaa !5
  %607 = load i32, ptr %428, align 4, !tbaa !5
  %608 = call ptr @s2n_strerror(i32 noundef %607, ptr noundef nonnull @.str.4) #11
  %609 = load i32, ptr %428, align 4, !tbaa !5
  %610 = call ptr @s2n_strerror_debug(i32 noundef %609, ptr noundef nonnull @.str.4) #11
  %611 = load i32, ptr %593, align 4, !tbaa !5
  %612 = call ptr @strerror(i32 noundef %611) #11
  %613 = load i32, ptr %593, align 4, !tbaa !5
  %614 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %605, ptr noundef nonnull %.str.5.sink1157, i32 noundef %606, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 129, ptr noundef %608, ptr noundef %610, ptr noundef %612, i32 noundef %613) #13
  call void @exit(i32 noundef 1) #14
  unreachable

615:                                              ; preds = %587
  %616 = load i32, ptr @test_count, align 4, !tbaa !5
  %617 = add nsw i32 %616, 1
  store i32 %617, ptr @test_count, align 4, !tbaa !5
  %618 = load ptr, ptr %12, align 8, !tbaa !9
  %619 = load ptr, ptr %11, align 8, !tbaa !9
  %620 = call i32 @s2n_connections_set_io_stuffer_pair(ptr noundef %618, ptr noundef %619, ptr noundef nonnull %13) #11
  %621 = call zeroext i1 @s2n_result_is_ok(i32 %620)
  br i1 %621, label %645, label %622

622:                                              ; preds = %615
  %623 = tail call ptr @__errno_location() #12
  %624 = load i32, ptr %623, align 4, !tbaa !5
  %625 = load ptr, ptr @stderr, align 8, !tbaa !9
  %626 = call i32 @s2n_print_stacktrace(ptr noundef %625) #11
  %627 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %628 = trunc nuw i8 %627 to i1
  br i1 %628, label %629, label %633

629:                                              ; preds = %622
  %630 = load ptr, ptr @stderr, align 8, !tbaa !9
  %631 = call i32 @fileno(ptr noundef %630) #11
  %632 = call i32 @isatty(i32 noundef %631) #11
  %.not691 = icmp eq i32 %632, 0
  br i1 %.not691, label %633, label %634

633:                                              ; preds = %629, %622
  br label %634

634:                                              ; preds = %629, %633
  %.str.5.sink1166 = phi ptr [ @.str.5, %633 ], [ @.str.2, %629 ]
  store i32 %624, ptr %623, align 4, !tbaa !5
  %635 = load ptr, ptr @stderr, align 8, !tbaa !9
  %636 = load i32, ptr @test_count, align 4, !tbaa !5
  %637 = load i32, ptr %428, align 4, !tbaa !5
  %638 = call ptr @s2n_strerror(i32 noundef %637, ptr noundef nonnull @.str.4) #11
  %639 = load i32, ptr %428, align 4, !tbaa !5
  %640 = call ptr @s2n_strerror_debug(i32 noundef %639, ptr noundef nonnull @.str.4) #11
  %641 = load i32, ptr %623, align 4, !tbaa !5
  %642 = call ptr @strerror(i32 noundef %641) #11
  %643 = load i32, ptr %623, align 4, !tbaa !5
  %644 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %635, ptr noundef nonnull %.str.5.sink1166, i32 noundef %636, ptr noundef nonnull @.str.26, ptr noundef nonnull @.str.1, i32 noundef 130, ptr noundef %638, ptr noundef %640, ptr noundef %642, i32 noundef %643) #13
  call void @exit(i32 noundef 1) #14
  unreachable

645:                                              ; preds = %615
  %646 = load i32, ptr @test_count, align 4, !tbaa !5
  %647 = add nsw i32 %646, 1
  store i32 %647, ptr @test_count, align 4, !tbaa !5
  %648 = load ptr, ptr %11, align 8, !tbaa !9
  %649 = load ptr, ptr %12, align 8, !tbaa !9
  br i1 %463, label %650, label %676

650:                                              ; preds = %645
  %651 = call i32 @s2n_negotiate_test_server_and_client_until_message(ptr noundef %648, ptr noundef %649, i32 noundef 2) #11
  %652 = call zeroext i1 @s2n_result_is_ok(i32 %651)
  br i1 %652, label %702, label %653

653:                                              ; preds = %650
  %654 = tail call ptr @__errno_location() #12
  %655 = load i32, ptr %654, align 4, !tbaa !5
  %656 = load ptr, ptr @stderr, align 8, !tbaa !9
  %657 = call i32 @s2n_print_stacktrace(ptr noundef %656) #11
  %658 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %659 = trunc nuw i8 %658 to i1
  br i1 %659, label %660, label %664

660:                                              ; preds = %653
  %661 = load ptr, ptr @stderr, align 8, !tbaa !9
  %662 = call i32 @fileno(ptr noundef %661) #11
  %663 = call i32 @isatty(i32 noundef %662) #11
  %.not693 = icmp eq i32 %663, 0
  br i1 %.not693, label %664, label %665

664:                                              ; preds = %660, %653
  br label %665

665:                                              ; preds = %660, %664
  %.str.5.sink1175 = phi ptr [ @.str.5, %664 ], [ @.str.2, %660 ]
  store i32 %655, ptr %654, align 4, !tbaa !5
  %666 = load ptr, ptr @stderr, align 8, !tbaa !9
  %667 = load i32, ptr @test_count, align 4, !tbaa !5
  %668 = load i32, ptr %428, align 4, !tbaa !5
  %669 = call ptr @s2n_strerror(i32 noundef %668, ptr noundef nonnull @.str.4) #11
  %670 = load i32, ptr %428, align 4, !tbaa !5
  %671 = call ptr @s2n_strerror_debug(i32 noundef %670, ptr noundef nonnull @.str.4) #11
  %672 = load i32, ptr %654, align 4, !tbaa !5
  %673 = call ptr @strerror(i32 noundef %672) #11
  %674 = load i32, ptr %654, align 4, !tbaa !5
  %675 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %666, ptr noundef nonnull %.str.5.sink1175, i32 noundef %667, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.1, i32 noundef 134, ptr noundef %669, ptr noundef %671, ptr noundef %673, i32 noundef %674) #13
  call void @exit(i32 noundef 1) #14
  unreachable

676:                                              ; preds = %645
  %677 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %648, ptr noundef %649) #11
  %678 = icmp eq i32 %677, -1
  br i1 %678, label %679, label %702

679:                                              ; preds = %676
  %680 = tail call ptr @__errno_location() #12
  %681 = load i32, ptr %680, align 4, !tbaa !5
  %682 = load ptr, ptr @stderr, align 8, !tbaa !9
  %683 = call i32 @s2n_print_stacktrace(ptr noundef %682) #11
  %684 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %685 = trunc nuw i8 %684 to i1
  br i1 %685, label %686, label %690

686:                                              ; preds = %679
  %687 = load ptr, ptr @stderr, align 8, !tbaa !9
  %688 = call i32 @fileno(ptr noundef %687) #11
  %689 = call i32 @isatty(i32 noundef %688) #11
  %.not692 = icmp eq i32 %689, 0
  br i1 %.not692, label %690, label %691

690:                                              ; preds = %686, %679
  br label %691

691:                                              ; preds = %686, %690
  %.str.5.sink1184 = phi ptr [ @.str.5, %690 ], [ @.str.2, %686 ]
  store i32 %681, ptr %680, align 4, !tbaa !5
  %692 = load ptr, ptr @stderr, align 8, !tbaa !9
  %693 = load i32, ptr @test_count, align 4, !tbaa !5
  %694 = load i32, ptr %428, align 4, !tbaa !5
  %695 = call ptr @s2n_strerror(i32 noundef %694, ptr noundef nonnull @.str.4) #11
  %696 = load i32, ptr %428, align 4, !tbaa !5
  %697 = call ptr @s2n_strerror_debug(i32 noundef %696, ptr noundef nonnull @.str.4) #11
  %698 = load i32, ptr %680, align 4, !tbaa !5
  %699 = call ptr @strerror(i32 noundef %698) #11
  %700 = load i32, ptr %680, align 4, !tbaa !5
  %701 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %692, ptr noundef nonnull %.str.5.sink1184, i32 noundef %693, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.1, i32 noundef 137, ptr noundef %695, ptr noundef %697, ptr noundef %699, i32 noundef %700) #13
  call void @exit(i32 noundef 1) #14
  unreachable

702:                                              ; preds = %650, %676
  %703 = load i32, ptr @test_count, align 4, !tbaa !5
  %704 = add nsw i32 %703, 1
  store i32 %704, ptr @test_count, align 4, !tbaa !5
  %705 = load ptr, ptr %11, align 8, !tbaa !9
  %706 = getelementptr inbounds i8, ptr %705, i64 220
  %707 = load i8, ptr %706, align 4, !tbaa !20
  %708 = icmp eq i8 %707, 34
  br i1 %708, label %732, label %709

709:                                              ; preds = %702
  %710 = tail call ptr @__errno_location() #12
  %711 = load i32, ptr %710, align 4, !tbaa !5
  %712 = load ptr, ptr @stderr, align 8, !tbaa !9
  %713 = call i32 @s2n_print_stacktrace(ptr noundef %712) #11
  %714 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %715 = trunc nuw i8 %714 to i1
  br i1 %715, label %716, label %720

716:                                              ; preds = %709
  %717 = load ptr, ptr @stderr, align 8, !tbaa !9
  %718 = call i32 @fileno(ptr noundef %717) #11
  %719 = call i32 @isatty(i32 noundef %718) #11
  %.not694 = icmp eq i32 %719, 0
  br i1 %.not694, label %720, label %721

720:                                              ; preds = %716, %709
  br label %721

721:                                              ; preds = %716, %720
  %.str.5.sink1193 = phi ptr [ @.str.5, %720 ], [ @.str.2, %716 ]
  store i32 %711, ptr %710, align 4, !tbaa !5
  %722 = load ptr, ptr @stderr, align 8, !tbaa !9
  %723 = load i32, ptr @test_count, align 4, !tbaa !5
  %724 = load i32, ptr %428, align 4, !tbaa !5
  %725 = call ptr @s2n_strerror(i32 noundef %724, ptr noundef nonnull @.str.4) #11
  %726 = load i32, ptr %428, align 4, !tbaa !5
  %727 = call ptr @s2n_strerror_debug(i32 noundef %726, ptr noundef nonnull @.str.4) #11
  %728 = load i32, ptr %710, align 4, !tbaa !5
  %729 = call ptr @strerror(i32 noundef %728) #11
  %730 = load i32, ptr %710, align 4, !tbaa !5
  %731 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %722, ptr noundef nonnull %.str.5.sink1193, i32 noundef %723, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 139, ptr noundef %725, ptr noundef %727, ptr noundef %729, i32 noundef %730) #13
  call void @exit(i32 noundef 1) #14
  unreachable

732:                                              ; preds = %702
  %733 = load ptr, ptr %12, align 8, !tbaa !9
  %spec.select = select i1 %469, ptr %705, ptr %733
  %spec.select730 = select i1 %469, ptr %733, ptr %705
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %14) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %14, i8 0, i64 24, i1 false)
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %15) #11
  store i32 0, ptr %15, align 4, !tbaa !5
  %734 = add nsw i32 %703, 2
  store i32 %734, ptr @test_count, align 4, !tbaa !5
  %735 = call i32 @s2n_blob_init(ptr noundef nonnull %14, ptr noundef nonnull %454, i32 noundef 2) #11
  %736 = icmp eq i32 %735, -1
  br i1 %736, label %737, label %760

737:                                              ; preds = %732
  %738 = tail call ptr @__errno_location() #12
  %739 = load i32, ptr %738, align 4, !tbaa !5
  %740 = load ptr, ptr @stderr, align 8, !tbaa !9
  %741 = call i32 @s2n_print_stacktrace(ptr noundef %740) #11
  %742 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %743 = trunc nuw i8 %742 to i1
  br i1 %743, label %744, label %748

744:                                              ; preds = %737
  %745 = load ptr, ptr @stderr, align 8, !tbaa !9
  %746 = call i32 @fileno(ptr noundef %745) #11
  %747 = call i32 @isatty(i32 noundef %746) #11
  %.not714 = icmp eq i32 %747, 0
  br i1 %.not714, label %748, label %749

748:                                              ; preds = %744, %737
  br label %749

749:                                              ; preds = %744, %748
  %.str.5.sink1202 = phi ptr [ @.str.5, %748 ], [ @.str.2, %744 ]
  store i32 %739, ptr %738, align 4, !tbaa !5
  %750 = load ptr, ptr @stderr, align 8, !tbaa !9
  %751 = load i32, ptr @test_count, align 4, !tbaa !5
  %752 = load i32, ptr %428, align 4, !tbaa !5
  %753 = call ptr @s2n_strerror(i32 noundef %752, ptr noundef nonnull @.str.4) #11
  %754 = load i32, ptr %428, align 4, !tbaa !5
  %755 = call ptr @s2n_strerror_debug(i32 noundef %754, ptr noundef nonnull @.str.4) #11
  %756 = load i32, ptr %738, align 4, !tbaa !5
  %757 = call ptr @strerror(i32 noundef %756) #11
  %758 = load i32, ptr %738, align 4, !tbaa !5
  %759 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %750, ptr noundef nonnull %.str.5.sink1202, i32 noundef %751, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.1, i32 noundef 151, ptr noundef %753, ptr noundef %755, ptr noundef %757, i32 noundef %758) #13
  call void @exit(i32 noundef 1) #14
  unreachable

760:                                              ; preds = %732
  %761 = load i32, ptr @test_count, align 4, !tbaa !5
  %762 = add nsw i32 %761, 1
  store i32 %762, ptr @test_count, align 4, !tbaa !5
  %763 = call i32 @s2n_record_write(ptr noundef %spec.select, i8 noundef zeroext 21, ptr noundef nonnull %14) #11
  %764 = call zeroext i1 @s2n_result_is_ok(i32 %763)
  br i1 %764, label %788, label %765

765:                                              ; preds = %760
  %766 = tail call ptr @__errno_location() #12
  %767 = load i32, ptr %766, align 4, !tbaa !5
  %768 = load ptr, ptr @stderr, align 8, !tbaa !9
  %769 = call i32 @s2n_print_stacktrace(ptr noundef %768) #11
  %770 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %771 = trunc nuw i8 %770 to i1
  br i1 %771, label %772, label %776

772:                                              ; preds = %765
  %773 = load ptr, ptr @stderr, align 8, !tbaa !9
  %774 = call i32 @fileno(ptr noundef %773) #11
  %775 = call i32 @isatty(i32 noundef %774) #11
  %.not695 = icmp eq i32 %775, 0
  br i1 %.not695, label %776, label %777

776:                                              ; preds = %772, %765
  br label %777

777:                                              ; preds = %772, %776
  %.str.5.sink1211 = phi ptr [ @.str.5, %776 ], [ @.str.2, %772 ]
  store i32 %767, ptr %766, align 4, !tbaa !5
  %778 = load ptr, ptr @stderr, align 8, !tbaa !9
  %779 = load i32, ptr @test_count, align 4, !tbaa !5
  %780 = load i32, ptr %428, align 4, !tbaa !5
  %781 = call ptr @s2n_strerror(i32 noundef %780, ptr noundef nonnull @.str.4) #11
  %782 = load i32, ptr %428, align 4, !tbaa !5
  %783 = call ptr @s2n_strerror_debug(i32 noundef %782, ptr noundef nonnull @.str.4) #11
  %784 = load i32, ptr %766, align 4, !tbaa !5
  %785 = call ptr @strerror(i32 noundef %784) #11
  %786 = load i32, ptr %766, align 4, !tbaa !5
  %787 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %778, ptr noundef nonnull %.str.5.sink1211, i32 noundef %779, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.1, i32 noundef 152, ptr noundef %781, ptr noundef %783, ptr noundef %785, i32 noundef %786) #13
  call void @exit(i32 noundef 1) #14
  unreachable

788:                                              ; preds = %760
  %789 = load i32, ptr @test_count, align 4, !tbaa !5
  %790 = add nsw i32 %789, 1
  store i32 %790, ptr @test_count, align 4, !tbaa !5
  %791 = call i32 @s2n_flush(ptr noundef %spec.select, ptr noundef nonnull %15) #11
  %792 = icmp eq i32 %791, -1
  br i1 %792, label %793, label %816

793:                                              ; preds = %788
  %794 = tail call ptr @__errno_location() #12
  %795 = load i32, ptr %794, align 4, !tbaa !5
  %796 = load ptr, ptr @stderr, align 8, !tbaa !9
  %797 = call i32 @s2n_print_stacktrace(ptr noundef %796) #11
  %798 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %799 = trunc nuw i8 %798 to i1
  br i1 %799, label %800, label %804

800:                                              ; preds = %793
  %801 = load ptr, ptr @stderr, align 8, !tbaa !9
  %802 = call i32 @fileno(ptr noundef %801) #11
  %803 = call i32 @isatty(i32 noundef %802) #11
  %.not713 = icmp eq i32 %803, 0
  br i1 %.not713, label %804, label %805

804:                                              ; preds = %800, %793
  br label %805

805:                                              ; preds = %800, %804
  %.str.5.sink1220 = phi ptr [ @.str.5, %804 ], [ @.str.2, %800 ]
  store i32 %795, ptr %794, align 4, !tbaa !5
  %806 = load ptr, ptr @stderr, align 8, !tbaa !9
  %807 = load i32, ptr @test_count, align 4, !tbaa !5
  %808 = load i32, ptr %428, align 4, !tbaa !5
  %809 = call ptr @s2n_strerror(i32 noundef %808, ptr noundef nonnull @.str.4) #11
  %810 = load i32, ptr %428, align 4, !tbaa !5
  %811 = call ptr @s2n_strerror_debug(i32 noundef %810, ptr noundef nonnull @.str.4) #11
  %812 = load i32, ptr %794, align 4, !tbaa !5
  %813 = call ptr @strerror(i32 noundef %812) #11
  %814 = load i32, ptr %794, align 4, !tbaa !5
  %815 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %806, ptr noundef nonnull %.str.5.sink1220, i32 noundef %807, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.1, i32 noundef 153, ptr noundef %809, ptr noundef %811, ptr noundef %813, i32 noundef %814) #13
  call void @exit(i32 noundef 1) #14
  unreachable

816:                                              ; preds = %788
  %817 = load i32, ptr @test_count, align 4, !tbaa !5
  %818 = add nsw i32 %817, 1
  store i32 %818, ptr @test_count, align 4, !tbaa !5
  br i1 %463, label %819, label %981

819:                                              ; preds = %816
  %820 = call i32 @s2n_negotiate(ptr noundef %spec.select730, ptr noundef nonnull %15) #11
  %821 = icmp eq i32 %820, -1
  br i1 %821, label %845, label %822

822:                                              ; preds = %819
  %823 = tail call ptr @__errno_location() #12
  %824 = load i32, ptr %823, align 4, !tbaa !5
  %825 = load ptr, ptr @stderr, align 8, !tbaa !9
  %826 = call i32 @s2n_print_stacktrace(ptr noundef %825) #11
  %827 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %828 = trunc nuw i8 %827 to i1
  br i1 %828, label %829, label %833

829:                                              ; preds = %822
  %830 = load ptr, ptr @stderr, align 8, !tbaa !9
  %831 = call i32 @fileno(ptr noundef %830) #11
  %832 = call i32 @isatty(i32 noundef %831) #11
  %.not705 = icmp eq i32 %832, 0
  br i1 %.not705, label %833, label %834

833:                                              ; preds = %829, %822
  br label %834

834:                                              ; preds = %829, %833
  %.str.5.sink1229 = phi ptr [ @.str.5, %833 ], [ @.str.2, %829 ]
  store i32 %824, ptr %823, align 4, !tbaa !5
  %835 = load ptr, ptr @stderr, align 8, !tbaa !9
  %836 = load i32, ptr @test_count, align 4, !tbaa !5
  %837 = load i32, ptr %428, align 4, !tbaa !5
  %838 = call ptr @s2n_strerror(i32 noundef %837, ptr noundef nonnull @.str.4) #11
  %839 = load i32, ptr %428, align 4, !tbaa !5
  %840 = call ptr @s2n_strerror_debug(i32 noundef %839, ptr noundef nonnull @.str.4) #11
  %841 = load i32, ptr %823, align 4, !tbaa !5
  %842 = call ptr @strerror(i32 noundef %841) #11
  %843 = load i32, ptr %823, align 4, !tbaa !5
  %844 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %835, ptr noundef nonnull %.str.5.sink1229, i32 noundef %836, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.1, i32 noundef 163, ptr noundef %838, ptr noundef %840, ptr noundef %842, i32 noundef %843) #13
  call void @exit(i32 noundef 1) #14
  unreachable

845:                                              ; preds = %819
  %846 = load i32, ptr @test_count, align 4, !tbaa !5
  %847 = add nsw i32 %846, 1
  store i32 %847, ptr @test_count, align 4, !tbaa !5
  %848 = load i32, ptr %428, align 4, !tbaa !5
  %849 = icmp eq i32 %848, 268435456
  br i1 %849, label %873, label %850

850:                                              ; preds = %845
  %851 = tail call ptr @__errno_location() #12
  %852 = load i32, ptr %851, align 4, !tbaa !5
  %853 = load ptr, ptr @stderr, align 8, !tbaa !9
  %854 = call i32 @s2n_print_stacktrace(ptr noundef %853) #11
  %855 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %856 = trunc nuw i8 %855 to i1
  br i1 %856, label %857, label %861

857:                                              ; preds = %850
  %858 = load ptr, ptr @stderr, align 8, !tbaa !9
  %859 = call i32 @fileno(ptr noundef %858) #11
  %860 = call i32 @isatty(i32 noundef %859) #11
  %.not706 = icmp eq i32 %860, 0
  br i1 %.not706, label %861, label %862

861:                                              ; preds = %857, %850
  br label %862

862:                                              ; preds = %857, %861
  %.str.5.sink1238 = phi ptr [ @.str.5, %861 ], [ @.str.2, %857 ]
  store i32 %852, ptr %851, align 4, !tbaa !5
  %863 = load ptr, ptr @stderr, align 8, !tbaa !9
  %864 = load i32, ptr @test_count, align 4, !tbaa !5
  %865 = load i32, ptr %428, align 4, !tbaa !5
  %866 = call ptr @s2n_strerror(i32 noundef %865, ptr noundef nonnull @.str.4) #11
  %867 = load i32, ptr %428, align 4, !tbaa !5
  %868 = call ptr @s2n_strerror_debug(i32 noundef %867, ptr noundef nonnull @.str.4) #11
  %869 = load i32, ptr %851, align 4, !tbaa !5
  %870 = call ptr @strerror(i32 noundef %869) #11
  %871 = load i32, ptr %851, align 4, !tbaa !5
  %872 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %863, ptr noundef nonnull %.str.5.sink1238, i32 noundef %864, ptr noundef nonnull @.str.34, ptr noundef nonnull @.str.1, i32 noundef 163, ptr noundef %866, ptr noundef %868, ptr noundef %870, i32 noundef %871) #13
  call void @exit(i32 noundef 1) #14
  unreachable

873:                                              ; preds = %845
  %874 = add nsw i32 %846, 2
  store i32 %874, ptr @test_count, align 4, !tbaa !5
  %875 = call ptr @s2n_strerror_debug(i32 noundef 268435456, ptr noundef nonnull @.str.4) #11
  %876 = icmp eq ptr %875, null
  br i1 %876, label %877, label %900

877:                                              ; preds = %873
  %878 = tail call ptr @__errno_location() #12
  %879 = load i32, ptr %878, align 4, !tbaa !5
  %880 = load ptr, ptr @stderr, align 8, !tbaa !9
  %881 = call i32 @s2n_print_stacktrace(ptr noundef %880) #11
  %882 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %883 = trunc nuw i8 %882 to i1
  br i1 %883, label %884, label %888

884:                                              ; preds = %877
  %885 = load ptr, ptr @stderr, align 8, !tbaa !9
  %886 = call i32 @fileno(ptr noundef %885) #11
  %887 = call i32 @isatty(i32 noundef %886) #11
  %.not712 = icmp eq i32 %887, 0
  br i1 %.not712, label %888, label %889

888:                                              ; preds = %884, %877
  br label %889

889:                                              ; preds = %884, %888
  %.str.5.sink1247 = phi ptr [ @.str.5, %888 ], [ @.str.2, %884 ]
  store i32 %879, ptr %878, align 4, !tbaa !5
  %890 = load ptr, ptr @stderr, align 8, !tbaa !9
  %891 = load i32, ptr @test_count, align 4, !tbaa !5
  %892 = load i32, ptr %428, align 4, !tbaa !5
  %893 = call ptr @s2n_strerror(i32 noundef %892, ptr noundef nonnull @.str.4) #11
  %894 = load i32, ptr %428, align 4, !tbaa !5
  %895 = call ptr @s2n_strerror_debug(i32 noundef %894, ptr noundef nonnull @.str.4) #11
  %896 = load i32, ptr %878, align 4, !tbaa !5
  %897 = call ptr @strerror(i32 noundef %896) #11
  %898 = load i32, ptr %878, align 4, !tbaa !5
  %899 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %890, ptr noundef nonnull %.str.5.sink1247, i32 noundef %891, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.1, i32 noundef 163, ptr noundef %893, ptr noundef %895, ptr noundef %897, i32 noundef %898) #13
  call void @exit(i32 noundef 1) #14
  unreachable

900:                                              ; preds = %873
  store i32 0, ptr %428, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #11
  %901 = tail call ptr @__errno_location() #12
  store i32 0, ptr %901, align 4, !tbaa !5
  %902 = load i32, ptr @test_count, align 4, !tbaa !5
  %903 = add nsw i32 %902, 1
  store i32 %903, ptr @test_count, align 4, !tbaa !5
  %904 = call i32 @s2n_negotiate(ptr noundef %spec.select730, ptr noundef nonnull %15) #11
  %905 = icmp eq i32 %904, -1
  br i1 %905, label %928, label %906

906:                                              ; preds = %900
  %907 = load i32, ptr %901, align 4, !tbaa !5
  %908 = load ptr, ptr @stderr, align 8, !tbaa !9
  %909 = call i32 @s2n_print_stacktrace(ptr noundef %908) #11
  %910 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %911 = trunc nuw i8 %910 to i1
  br i1 %911, label %912, label %916

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

916:                                              ; preds = %912, %906
  br label %917

917:                                              ; preds = %912, %916
  %.str.5.sink1256 = phi ptr [ @.str.5, %916 ], [ @.str.2, %912 ]
  store i32 %907, ptr %901, align 4, !tbaa !5
  %918 = load ptr, ptr @stderr, align 8, !tbaa !9
  %919 = load i32, ptr @test_count, align 4, !tbaa !5
  %920 = load i32, ptr %428, align 4, !tbaa !5
  %921 = call ptr @s2n_strerror(i32 noundef %920, ptr noundef nonnull @.str.4) #11
  %922 = load i32, ptr %428, align 4, !tbaa !5
  %923 = call ptr @s2n_strerror_debug(i32 noundef %922, ptr noundef nonnull @.str.4) #11
  %924 = load i32, ptr %901, align 4, !tbaa !5
  %925 = call ptr @strerror(i32 noundef %924) #11
  %926 = load i32, ptr %901, align 4, !tbaa !5
  %927 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %918, ptr noundef nonnull %.str.5.sink1256, i32 noundef %919, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.1, i32 noundef 164, ptr noundef %921, ptr noundef %923, ptr noundef %925, i32 noundef %926) #13
  call void @exit(i32 noundef 1) #14
  unreachable

928:                                              ; preds = %900
  %929 = load i32, ptr @test_count, align 4, !tbaa !5
  %930 = add nsw i32 %929, 1
  store i32 %930, ptr @test_count, align 4, !tbaa !5
  %931 = load i32, ptr %428, align 4, !tbaa !5
  %932 = icmp eq i32 %931, 134217728
  br i1 %932, label %955, label %933

933:                                              ; preds = %928
  %934 = load i32, ptr %901, align 4, !tbaa !5
  %935 = load ptr, ptr @stderr, align 8, !tbaa !9
  %936 = call i32 @s2n_print_stacktrace(ptr noundef %935) #11
  %937 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %938 = trunc nuw i8 %937 to i1
  br i1 %938, label %939, label %943

939:                                              ; preds = %933
  %940 = load ptr, ptr @stderr, align 8, !tbaa !9
  %941 = call i32 @fileno(ptr noundef %940) #11
  %942 = call i32 @isatty(i32 noundef %941) #11
  %.not708 = icmp eq i32 %942, 0
  br i1 %.not708, label %943, label %944

943:                                              ; preds = %939, %933
  br label %944

944:                                              ; preds = %939, %943
  %.str.5.sink1265 = phi ptr [ @.str.5, %943 ], [ @.str.2, %939 ]
  store i32 %934, ptr %901, align 4, !tbaa !5
  %945 = load ptr, ptr @stderr, align 8, !tbaa !9
  %946 = load i32, ptr @test_count, align 4, !tbaa !5
  %947 = load i32, ptr %428, align 4, !tbaa !5
  %948 = call ptr @s2n_strerror(i32 noundef %947, ptr noundef nonnull @.str.4) #11
  %949 = load i32, ptr %428, align 4, !tbaa !5
  %950 = call ptr @s2n_strerror_debug(i32 noundef %949, ptr noundef nonnull @.str.4) #11
  %951 = load i32, ptr %901, align 4, !tbaa !5
  %952 = call ptr @strerror(i32 noundef %951) #11
  %953 = load i32, ptr %901, align 4, !tbaa !5
  %954 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %945, ptr noundef nonnull %.str.5.sink1265, i32 noundef %946, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.1, i32 noundef 164, ptr noundef %948, ptr noundef %950, ptr noundef %952, i32 noundef %953) #13
  call void @exit(i32 noundef 1) #14
  unreachable

955:                                              ; preds = %928
  %956 = add nsw i32 %929, 2
  store i32 %956, ptr @test_count, align 4, !tbaa !5
  %957 = call ptr @s2n_strerror_debug(i32 noundef 134217728, ptr noundef nonnull @.str.4) #11
  %958 = icmp eq ptr %957, null
  br i1 %958, label %959, label %1223

959:                                              ; preds = %955
  %960 = load i32, ptr %901, align 4, !tbaa !5
  %961 = load ptr, ptr @stderr, align 8, !tbaa !9
  %962 = call i32 @s2n_print_stacktrace(ptr noundef %961) #11
  %963 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %964 = trunc nuw i8 %963 to i1
  br i1 %964, label %965, label %969

965:                                              ; preds = %959
  %966 = load ptr, ptr @stderr, align 8, !tbaa !9
  %967 = call i32 @fileno(ptr noundef %966) #11
  %968 = call i32 @isatty(i32 noundef %967) #11
  %.not711 = icmp eq i32 %968, 0
  br i1 %.not711, label %969, label %970

969:                                              ; preds = %965, %959
  br label %970

970:                                              ; preds = %965, %969
  %.str.5.sink1274 = phi ptr [ @.str.5, %969 ], [ @.str.2, %965 ]
  store i32 %960, ptr %901, align 4, !tbaa !5
  %971 = load ptr, ptr @stderr, align 8, !tbaa !9
  %972 = load i32, ptr @test_count, align 4, !tbaa !5
  %973 = load i32, ptr %428, align 4, !tbaa !5
  %974 = call ptr @s2n_strerror(i32 noundef %973, ptr noundef nonnull @.str.4) #11
  %975 = load i32, ptr %428, align 4, !tbaa !5
  %976 = call ptr @s2n_strerror_debug(i32 noundef %975, ptr noundef nonnull @.str.4) #11
  %977 = load i32, ptr %901, align 4, !tbaa !5
  %978 = call ptr @strerror(i32 noundef %977) #11
  %979 = load i32, ptr %901, align 4, !tbaa !5
  %980 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %971, ptr noundef nonnull %.str.5.sink1274, i32 noundef %972, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.1, i32 noundef 164, ptr noundef %974, ptr noundef %976, ptr noundef %978, i32 noundef %979) #13
  call void @exit(i32 noundef 1) #14
  unreachable

981:                                              ; preds = %816
  %982 = call i64 @s2n_recv(ptr noundef %spec.select730, ptr noundef nonnull %5, i64 noundef 6, ptr noundef nonnull %15) #11
  %983 = icmp eq i64 %982, -1
  br i1 %983, label %1007, label %984

984:                                              ; preds = %981
  %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
  %.not696 = icmp eq i32 %994, 0
  br i1 %.not696, label %995, label %996

995:                                              ; preds = %991, %984
  br label %996

996:                                              ; preds = %991, %995
  %.str.5.sink1283 = 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 = load i32, ptr %428, align 4, !tbaa !5
  %1000 = call ptr @s2n_strerror(i32 noundef %999, ptr noundef nonnull @.str.4) #11
  %1001 = load i32, ptr %428, align 4, !tbaa !5
  %1002 = call ptr @s2n_strerror_debug(i32 noundef %1001, ptr noundef nonnull @.str.4) #11
  %1003 = load i32, ptr %985, align 4, !tbaa !5
  %1004 = call ptr @strerror(i32 noundef %1003) #11
  %1005 = load i32, ptr %985, align 4, !tbaa !5
  %1006 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %997, ptr noundef nonnull %.str.5.sink1283, i32 noundef %998, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.1, i32 noundef 166, ptr noundef %1000, ptr noundef %1002, ptr noundef %1004, i32 noundef %1005) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1007:                                             ; preds = %981
  %1008 = load i32, ptr @test_count, align 4, !tbaa !5
  %1009 = add nsw i32 %1008, 1
  store i32 %1009, ptr @test_count, align 4, !tbaa !5
  %1010 = load i32, ptr %428, align 4, !tbaa !5
  %1011 = icmp eq i32 %1010, 268435456
  br i1 %1011, label %1035, label %1012

1012:                                             ; preds = %1007
  %1013 = tail call ptr @__errno_location() #12
  %1014 = load i32, ptr %1013, align 4, !tbaa !5
  %1015 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1016 = call i32 @s2n_print_stacktrace(ptr noundef %1015) #11
  %1017 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1018 = trunc nuw i8 %1017 to i1
  br i1 %1018, label %1019, label %1023

1019:                                             ; preds = %1012
  %1020 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1021 = call i32 @fileno(ptr noundef %1020) #11
  %1022 = call i32 @isatty(i32 noundef %1021) #11
  %.not697 = icmp eq i32 %1022, 0
  br i1 %.not697, label %1023, label %1024

1023:                                             ; preds = %1019, %1012
  br label %1024

1024:                                             ; preds = %1019, %1023
  %.str.5.sink1292 = phi ptr [ @.str.5, %1023 ], [ @.str.2, %1019 ]
  store i32 %1014, ptr %1013, align 4, !tbaa !5
  %1025 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1026 = load i32, ptr @test_count, align 4, !tbaa !5
  %1027 = load i32, ptr %428, align 4, !tbaa !5
  %1028 = call ptr @s2n_strerror(i32 noundef %1027, ptr noundef nonnull @.str.4) #11
  %1029 = load i32, ptr %428, align 4, !tbaa !5
  %1030 = call ptr @s2n_strerror_debug(i32 noundef %1029, ptr noundef nonnull @.str.4) #11
  %1031 = load i32, ptr %1013, align 4, !tbaa !5
  %1032 = call ptr @strerror(i32 noundef %1031) #11
  %1033 = load i32, ptr %1013, align 4, !tbaa !5
  %1034 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1025, ptr noundef nonnull %.str.5.sink1292, i32 noundef %1026, ptr noundef nonnull @.str.34, ptr noundef nonnull @.str.1, i32 noundef 166, ptr noundef %1028, ptr noundef %1030, ptr noundef %1032, i32 noundef %1033) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1035:                                             ; preds = %1007
  %1036 = add nsw i32 %1008, 2
  store i32 %1036, ptr @test_count, align 4, !tbaa !5
  %1037 = call ptr @s2n_strerror_debug(i32 noundef 268435456, ptr noundef nonnull @.str.4) #11
  %1038 = icmp eq ptr %1037, null
  br i1 %1038, label %1039, label %1062

1039:                                             ; preds = %1035
  %1040 = tail call ptr @__errno_location() #12
  %1041 = load i32, ptr %1040, align 4, !tbaa !5
  %1042 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1043 = call i32 @s2n_print_stacktrace(ptr noundef %1042) #11
  %1044 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1045 = trunc nuw i8 %1044 to i1
  br i1 %1045, label %1046, label %1050

1046:                                             ; preds = %1039
  %1047 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1048 = call i32 @fileno(ptr noundef %1047) #11
  %1049 = call i32 @isatty(i32 noundef %1048) #11
  %.not704 = icmp eq i32 %1049, 0
  br i1 %.not704, label %1050, label %1051

1050:                                             ; preds = %1046, %1039
  br label %1051

1051:                                             ; preds = %1046, %1050
  %.str.5.sink1301 = phi ptr [ @.str.5, %1050 ], [ @.str.2, %1046 ]
  store i32 %1041, ptr %1040, align 4, !tbaa !5
  %1052 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1053 = load i32, ptr @test_count, align 4, !tbaa !5
  %1054 = load i32, ptr %428, align 4, !tbaa !5
  %1055 = call ptr @s2n_strerror(i32 noundef %1054, ptr noundef nonnull @.str.4) #11
  %1056 = load i32, ptr %428, align 4, !tbaa !5
  %1057 = call ptr @s2n_strerror_debug(i32 noundef %1056, ptr noundef nonnull @.str.4) #11
  %1058 = load i32, ptr %1040, align 4, !tbaa !5
  %1059 = call ptr @strerror(i32 noundef %1058) #11
  %1060 = load i32, ptr %1040, align 4, !tbaa !5
  %1061 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1052, ptr noundef nonnull %.str.5.sink1301, i32 noundef %1053, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.1, i32 noundef 166, ptr noundef %1055, ptr noundef %1057, ptr noundef %1059, i32 noundef %1060) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1062:                                             ; preds = %1035
  store i32 0, ptr %428, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #11
  %1063 = tail call ptr @__errno_location() #12
  store i32 0, ptr %1063, align 4, !tbaa !5
  %1064 = load i32, ptr @test_count, align 4, !tbaa !5
  %1065 = add nsw i32 %1064, 1
  store i32 %1065, ptr @test_count, align 4, !tbaa !5
  %1066 = call i64 @s2n_recv(ptr noundef %spec.select730, ptr noundef nonnull %5, i64 noundef 6, ptr noundef nonnull %15) #11
  %1067 = icmp eq i64 %1066, -1
  br i1 %1067, label %1090, label %1068

1068:                                             ; preds = %1062
  %1069 = load i32, ptr %1063, align 4, !tbaa !5
  %1070 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1071 = call i32 @s2n_print_stacktrace(ptr noundef %1070) #11
  %1072 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1073 = trunc nuw i8 %1072 to i1
  br i1 %1073, label %1074, label %1078

1074:                                             ; preds = %1068
  %1075 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1076 = call i32 @fileno(ptr noundef %1075) #11
  %1077 = call i32 @isatty(i32 noundef %1076) #11
  %.not698 = icmp eq i32 %1077, 0
  br i1 %.not698, label %1078, label %1079

1078:                                             ; preds = %1074, %1068
  br label %1079

1079:                                             ; preds = %1074, %1078
  %.str.5.sink1310 = phi ptr [ @.str.5, %1078 ], [ @.str.2, %1074 ]
  store i32 %1069, ptr %1063, align 4, !tbaa !5
  %1080 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1081 = load i32, ptr @test_count, align 4, !tbaa !5
  %1082 = load i32, ptr %428, align 4, !tbaa !5
  %1083 = call ptr @s2n_strerror(i32 noundef %1082, ptr noundef nonnull @.str.4) #11
  %1084 = load i32, ptr %428, align 4, !tbaa !5
  %1085 = call ptr @s2n_strerror_debug(i32 noundef %1084, ptr noundef nonnull @.str.4) #11
  %1086 = load i32, ptr %1063, align 4, !tbaa !5
  %1087 = call ptr @strerror(i32 noundef %1086) #11
  %1088 = load i32, ptr %1063, align 4, !tbaa !5
  %1089 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1080, ptr noundef nonnull %.str.5.sink1310, i32 noundef %1081, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.1, i32 noundef 167, ptr noundef %1083, ptr noundef %1085, ptr noundef %1087, i32 noundef %1088) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1090:                                             ; preds = %1062
  %1091 = load i32, ptr @test_count, align 4, !tbaa !5
  %1092 = add nsw i32 %1091, 1
  store i32 %1092, ptr @test_count, align 4, !tbaa !5
  %1093 = load i32, ptr %428, align 4, !tbaa !5
  %1094 = icmp eq i32 %1093, 134217728
  br i1 %1094, label %1117, label %1095

1095:                                             ; preds = %1090
  %1096 = load i32, ptr %1063, align 4, !tbaa !5
  %1097 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1098 = call i32 @s2n_print_stacktrace(ptr noundef %1097) #11
  %1099 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1100 = trunc nuw i8 %1099 to i1
  br i1 %1100, label %1101, label %1105

1101:                                             ; preds = %1095
  %1102 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1103 = call i32 @fileno(ptr noundef %1102) #11
  %1104 = call i32 @isatty(i32 noundef %1103) #11
  %.not699 = icmp eq i32 %1104, 0
  br i1 %.not699, label %1105, label %1106

1105:                                             ; preds = %1101, %1095
  br label %1106

1106:                                             ; preds = %1101, %1105
  %.str.5.sink1319 = phi ptr [ @.str.5, %1105 ], [ @.str.2, %1101 ]
  store i32 %1096, ptr %1063, align 4, !tbaa !5
  %1107 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1108 = load i32, ptr @test_count, align 4, !tbaa !5
  %1109 = load i32, ptr %428, align 4, !tbaa !5
  %1110 = call ptr @s2n_strerror(i32 noundef %1109, ptr noundef nonnull @.str.4) #11
  %1111 = load i32, ptr %428, align 4, !tbaa !5
  %1112 = call ptr @s2n_strerror_debug(i32 noundef %1111, ptr noundef nonnull @.str.4) #11
  %1113 = load i32, ptr %1063, align 4, !tbaa !5
  %1114 = call ptr @strerror(i32 noundef %1113) #11
  %1115 = load i32, ptr %1063, align 4, !tbaa !5
  %1116 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1107, ptr noundef nonnull %.str.5.sink1319, i32 noundef %1108, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.1, i32 noundef 167, ptr noundef %1110, ptr noundef %1112, ptr noundef %1114, i32 noundef %1115) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1117:                                             ; preds = %1090
  %1118 = add nsw i32 %1091, 2
  store i32 %1118, ptr @test_count, align 4, !tbaa !5
  %1119 = call ptr @s2n_strerror_debug(i32 noundef 134217728, ptr noundef nonnull @.str.4) #11
  %1120 = icmp eq ptr %1119, null
  br i1 %1120, label %1121, label %1143

1121:                                             ; preds = %1117
  %1122 = load i32, ptr %1063, align 4, !tbaa !5
  %1123 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1124 = call i32 @s2n_print_stacktrace(ptr noundef %1123) #11
  %1125 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1126 = trunc nuw i8 %1125 to i1
  br i1 %1126, label %1127, label %1131

1127:                                             ; preds = %1121
  %1128 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1129 = call i32 @fileno(ptr noundef %1128) #11
  %1130 = call i32 @isatty(i32 noundef %1129) #11
  %.not703 = icmp eq i32 %1130, 0
  br i1 %.not703, label %1131, label %1132

1131:                                             ; preds = %1127, %1121
  br label %1132

1132:                                             ; preds = %1127, %1131
  %.str.5.sink1328 = phi ptr [ @.str.5, %1131 ], [ @.str.2, %1127 ]
  store i32 %1122, ptr %1063, align 4, !tbaa !5
  %1133 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1134 = load i32, ptr @test_count, align 4, !tbaa !5
  %1135 = load i32, ptr %428, align 4, !tbaa !5
  %1136 = call ptr @s2n_strerror(i32 noundef %1135, ptr noundef nonnull @.str.4) #11
  %1137 = load i32, ptr %428, align 4, !tbaa !5
  %1138 = call ptr @s2n_strerror_debug(i32 noundef %1137, ptr noundef nonnull @.str.4) #11
  %1139 = load i32, ptr %1063, align 4, !tbaa !5
  %1140 = call ptr @strerror(i32 noundef %1139) #11
  %1141 = load i32, ptr %1063, align 4, !tbaa !5
  %1142 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1133, ptr noundef nonnull %.str.5.sink1328, i32 noundef %1134, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.1, i32 noundef 167, ptr noundef %1136, ptr noundef %1138, ptr noundef %1140, i32 noundef %1141) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1143:                                             ; preds = %1117
  store i32 0, ptr %428, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #11
  store i32 0, ptr %1063, align 4, !tbaa !5
  %1144 = load i32, ptr @test_count, align 4, !tbaa !5
  %1145 = add nsw i32 %1144, 1
  store i32 %1145, ptr @test_count, align 4, !tbaa !5
  %1146 = call i64 @s2n_send(ptr noundef %spec.select730, ptr noundef nonnull %5, i64 noundef 6, ptr noundef nonnull %15) #11
  %1147 = icmp eq i64 %1146, -1
  br i1 %1147, label %1170, label %1148

1148:                                             ; preds = %1143
  %1149 = load i32, ptr %1063, align 4, !tbaa !5
  %1150 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1151 = call i32 @s2n_print_stacktrace(ptr noundef %1150) #11
  %1152 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1153 = trunc nuw i8 %1152 to i1
  br i1 %1153, label %1154, label %1158

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

1158:                                             ; preds = %1154, %1148
  br label %1159

1159:                                             ; preds = %1154, %1158
  %.str.5.sink1337 = phi ptr [ @.str.5, %1158 ], [ @.str.2, %1154 ]
  store i32 %1149, ptr %1063, align 4, !tbaa !5
  %1160 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1161 = load i32, ptr @test_count, align 4, !tbaa !5
  %1162 = load i32, ptr %428, align 4, !tbaa !5
  %1163 = call ptr @s2n_strerror(i32 noundef %1162, ptr noundef nonnull @.str.4) #11
  %1164 = load i32, ptr %428, align 4, !tbaa !5
  %1165 = call ptr @s2n_strerror_debug(i32 noundef %1164, ptr noundef nonnull @.str.4) #11
  %1166 = load i32, ptr %1063, align 4, !tbaa !5
  %1167 = call ptr @strerror(i32 noundef %1166) #11
  %1168 = load i32, ptr %1063, align 4, !tbaa !5
  %1169 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1160, ptr noundef nonnull %.str.5.sink1337, i32 noundef %1161, ptr noundef nonnull @.str.38, ptr noundef nonnull @.str.1, i32 noundef 168, ptr noundef %1163, ptr noundef %1165, ptr noundef %1167, i32 noundef %1168) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1170:                                             ; preds = %1143
  %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 i32, ptr %428, align 4, !tbaa !5
  %1174 = icmp eq i32 %1173, 134217728
  br i1 %1174, label %1197, label %1175

1175:                                             ; preds = %1170
  %1176 = load i32, ptr %1063, align 4, !tbaa !5
  %1177 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1178 = call i32 @s2n_print_stacktrace(ptr noundef %1177) #11
  %1179 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1180 = trunc nuw i8 %1179 to i1
  br i1 %1180, label %1181, label %1185

1181:                                             ; preds = %1175
  %1182 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1183 = call i32 @fileno(ptr noundef %1182) #11
  %1184 = call i32 @isatty(i32 noundef %1183) #11
  %.not701 = icmp eq i32 %1184, 0
  br i1 %.not701, label %1185, label %1186

1185:                                             ; preds = %1181, %1175
  br label %1186

1186:                                             ; preds = %1181, %1185
  %.str.5.sink1346 = phi ptr [ @.str.5, %1185 ], [ @.str.2, %1181 ]
  store i32 %1176, ptr %1063, align 4, !tbaa !5
  %1187 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1188 = load i32, ptr @test_count, align 4, !tbaa !5
  %1189 = load i32, ptr %428, align 4, !tbaa !5
  %1190 = call ptr @s2n_strerror(i32 noundef %1189, ptr noundef nonnull @.str.4) #11
  %1191 = load i32, ptr %428, align 4, !tbaa !5
  %1192 = call ptr @s2n_strerror_debug(i32 noundef %1191, ptr noundef nonnull @.str.4) #11
  %1193 = load i32, ptr %1063, align 4, !tbaa !5
  %1194 = call ptr @strerror(i32 noundef %1193) #11
  %1195 = load i32, ptr %1063, align 4, !tbaa !5
  %1196 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1187, ptr noundef nonnull %.str.5.sink1346, i32 noundef %1188, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.1, i32 noundef 168, ptr noundef %1190, ptr noundef %1192, ptr noundef %1194, i32 noundef %1195) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1197:                                             ; preds = %1170
  %1198 = add nsw i32 %1171, 2
  store i32 %1198, ptr @test_count, align 4, !tbaa !5
  %1199 = call ptr @s2n_strerror_debug(i32 noundef 134217728, ptr noundef nonnull @.str.4) #11
  %1200 = icmp eq ptr %1199, null
  br i1 %1200, label %1201, label %1223

1201:                                             ; preds = %1197
  %1202 = load i32, ptr %1063, align 4, !tbaa !5
  %1203 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1204 = call i32 @s2n_print_stacktrace(ptr noundef %1203) #11
  %1205 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1206 = trunc nuw i8 %1205 to i1
  br i1 %1206, label %1207, label %1211

1207:                                             ; preds = %1201
  %1208 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1209 = call i32 @fileno(ptr noundef %1208) #11
  %1210 = call i32 @isatty(i32 noundef %1209) #11
  %.not702 = icmp eq i32 %1210, 0
  br i1 %.not702, label %1211, label %1212

1211:                                             ; preds = %1207, %1201
  br label %1212

1212:                                             ; preds = %1207, %1211
  %.str.5.sink1355 = phi ptr [ @.str.5, %1211 ], [ @.str.2, %1207 ]
  store i32 %1202, ptr %1063, align 4, !tbaa !5
  %1213 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1214 = load i32, ptr @test_count, align 4, !tbaa !5
  %1215 = load i32, ptr %428, align 4, !tbaa !5
  %1216 = call ptr @s2n_strerror(i32 noundef %1215, ptr noundef nonnull @.str.4) #11
  %1217 = load i32, ptr %428, align 4, !tbaa !5
  %1218 = call ptr @s2n_strerror_debug(i32 noundef %1217, ptr noundef nonnull @.str.4) #11
  %1219 = load i32, ptr %1063, align 4, !tbaa !5
  %1220 = call ptr @strerror(i32 noundef %1219) #11
  %1221 = load i32, ptr %1063, align 4, !tbaa !5
  %1222 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1213, ptr noundef nonnull %.str.5.sink1355, i32 noundef %1214, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.1, i32 noundef 168, ptr noundef %1216, ptr noundef %1218, ptr noundef %1220, i32 noundef %1221) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1223:                                             ; preds = %1197, %955
  %.sink = phi ptr [ %901, %955 ], [ %1063, %1197 ]
  store i32 0, ptr %428, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #11
  store i32 0, ptr %.sink, align 4, !tbaa !5
  %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 zeroext i1 @s2n_connection_check_io_status(ptr noundef %spec.select730, i32 noundef 3) #11
  br i1 %1226, label %1250, label %1227

1227:                                             ; preds = %1223
  %1228 = tail call ptr @__errno_location() #12
  %1229 = load i32, ptr %1228, align 4, !tbaa !5
  %1230 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1231 = call i32 @s2n_print_stacktrace(ptr noundef %1230) #11
  %1232 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1233 = trunc nuw i8 %1232 to i1
  br i1 %1233, label %1234, label %1238

1234:                                             ; preds = %1227
  %1235 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1236 = call i32 @fileno(ptr noundef %1235) #11
  %1237 = call i32 @isatty(i32 noundef %1236) #11
  %.not709 = icmp eq i32 %1237, 0
  br i1 %.not709, label %1238, label %1239

1238:                                             ; preds = %1234, %1227
  br label %1239

1239:                                             ; preds = %1234, %1238
  %.str.5.sink1365 = phi ptr [ @.str.5, %1238 ], [ @.str.2, %1234 ]
  store i32 %1229, ptr %1228, align 4, !tbaa !5
  %1240 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1241 = load i32, ptr @test_count, align 4, !tbaa !5
  %1242 = load i32, ptr %428, align 4, !tbaa !5
  %1243 = call ptr @s2n_strerror(i32 noundef %1242, ptr noundef nonnull @.str.4) #11
  %1244 = load i32, ptr %428, align 4, !tbaa !5
  %1245 = call ptr @s2n_strerror_debug(i32 noundef %1244, ptr noundef nonnull @.str.4) #11
  %1246 = load i32, ptr %1228, align 4, !tbaa !5
  %1247 = call ptr @strerror(i32 noundef %1246) #11
  %1248 = load i32, ptr %1228, align 4, !tbaa !5
  %1249 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1240, ptr noundef nonnull %.str.5.sink1365, i32 noundef %1241, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.1, i32 noundef 178, ptr noundef %1243, ptr noundef %1245, ptr noundef %1247, i32 noundef %1248) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1250:                                             ; preds = %1223
  %1251 = load i32, ptr @test_count, align 4, !tbaa !5
  %1252 = add nsw i32 %1251, 1
  store i32 %1252, ptr @test_count, align 4, !tbaa !5
  %1253 = load i8, ptr %455, align 1, !tbaa !15
  %1254 = zext i8 %1253 to i32
  %1255 = call i32 @s2n_connection_get_alert(ptr noundef %spec.select730) #11
  %1256 = icmp eq i32 %1255, %1254
  br i1 %1256, label %1280, label %1257

1257:                                             ; preds = %1250
  %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
  %.not710 = icmp eq i32 %1267, 0
  br i1 %.not710, label %1268, label %1269

1268:                                             ; preds = %1264, %1257
  br label %1269

1269:                                             ; preds = %1264, %1268
  %.str.5.sink1375 = 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 = load i32, ptr %428, align 4, !tbaa !5
  %1273 = call ptr @s2n_strerror(i32 noundef %1272, ptr noundef nonnull @.str.4) #11
  %1274 = load i32, ptr %428, align 4, !tbaa !5
  %1275 = call ptr @s2n_strerror_debug(i32 noundef %1274, ptr noundef nonnull @.str.4) #11
  %1276 = load i32, ptr %1258, align 4, !tbaa !5
  %1277 = call ptr @strerror(i32 noundef %1276) #11
  %1278 = load i32, ptr %1258, align 4, !tbaa !5
  %1279 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1270, ptr noundef nonnull %.str.5.sink1375, i32 noundef %1271, ptr noundef nonnull @.str.40, ptr noundef nonnull @.str.1, i32 noundef 186, ptr noundef %1273, ptr noundef %1275, ptr noundef %1277, i32 noundef %1278) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1280:                                             ; preds = %1250
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %15) #11
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %14) #11
  %1281 = call i32 @s2n_io_stuffer_pair_free(ptr noundef nonnull %13) #11
  call void @llvm.lifetime.end.p0(i64 80, ptr nonnull %13) #11
  %1282 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %12) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %12) #11
  %1283 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %11) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %11) #11
  br i1 %470, label %467, label %466, !llvm.loop !47

1284:                                             ; preds = %._crit_edge
  %1285 = tail call ptr @__errno_location() #12
  %1286 = load i32, ptr %1285, align 4, !tbaa !5
  %1287 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1288 = call i32 @s2n_print_stacktrace(ptr noundef %1287) #11
  %1289 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1290 = trunc nuw i8 %1289 to i1
  br i1 %1290, label %1291, label %1295

1291:                                             ; preds = %1284
  %1292 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1293 = call i32 @fileno(ptr noundef %1292) #11
  %1294 = call i32 @isatty(i32 noundef %1293) #11
  %.not689 = icmp eq i32 %1294, 0
  br i1 %.not689, label %1295, label %1296

1295:                                             ; preds = %1291, %1284
  br label %1296

1296:                                             ; preds = %1291, %1295
  %.str.5.sink1385 = phi ptr [ @.str.5, %1295 ], [ @.str.2, %1291 ]
  store i32 %1286, ptr %1285, align 4, !tbaa !5
  %1297 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1298 = load i32, ptr @test_count, align 4, !tbaa !5
  %1299 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1300 = load i32, ptr %1299, align 4, !tbaa !5
  %1301 = call ptr @s2n_strerror(i32 noundef %1300, ptr noundef nonnull @.str.4) #11
  %1302 = load i32, ptr %1299, align 4, !tbaa !5
  %1303 = call ptr @s2n_strerror_debug(i32 noundef %1302, ptr noundef nonnull @.str.4) #11
  %1304 = load i32, ptr %1285, align 4, !tbaa !5
  %1305 = call ptr @strerror(i32 noundef %1304) #11
  %1306 = load i32, ptr %1285, align 4, !tbaa !5
  %1307 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1297, ptr noundef nonnull %.str.5.sink1385, i32 noundef %1298, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.1, i32 noundef 209, ptr noundef %1301, ptr noundef %1303, ptr noundef %1305, i32 noundef %1306) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1308:                                             ; preds = %._crit_edge
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %17) #11
  %1309 = call ptr @s2n_config_new() #11
  store ptr %1309, ptr %17, align 8, !tbaa !9
  %1310 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  br label %1314

1311:                                             ; preds = %2796
  %1312 = call i32 @s2n_config_ptr_free(ptr noundef nonnull %17) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %17) #11
  %1313 = call i32 @s2n_config_ptr_free(ptr noundef nonnull %16) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %16) #11
  br label %.preheader746

1314:                                             ; preds = %1308, %2796
  %1315 = phi ptr [ %456, %1308 ], [ %1406, %2796 ]
  %.0518836 = phi i64 [ 0, %1308 ], [ %2800, %2796 ]
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %18) #11
  %1316 = call ptr @s2n_connection_new(i32 noundef 0) #11
  store ptr %1316, ptr %18, align 8, !tbaa !9
  %1317 = load i32, ptr @test_count, align 4, !tbaa !5
  %1318 = add nsw i32 %1317, 1
  store i32 %1318, ptr @test_count, align 4, !tbaa !5
  %1319 = call i32 @s2n_connection_set_blinding(ptr noundef %1316, i32 noundef 1) #11
  %1320 = icmp eq i32 %1319, -1
  br i1 %1320, label %1321, label %1344

1321:                                             ; preds = %1314
  %1322 = tail call ptr @__errno_location() #12
  %1323 = load i32, ptr %1322, align 4, !tbaa !5
  %1324 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1325 = call i32 @s2n_print_stacktrace(ptr noundef %1324) #11
  %1326 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1327 = trunc nuw i8 %1326 to i1
  br i1 %1327, label %1328, label %1332

1328:                                             ; preds = %1321
  %1329 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1330 = call i32 @fileno(ptr noundef %1329) #11
  %1331 = call i32 @isatty(i32 noundef %1330) #11
  %.not688 = icmp eq i32 %1331, 0
  br i1 %.not688, label %1332, label %1333

1332:                                             ; preds = %1328, %1321
  br label %1333

1333:                                             ; preds = %1328, %1332
  %.str.5.sink1397 = phi ptr [ @.str.5, %1332 ], [ @.str.2, %1328 ]
  store i32 %1323, ptr %1322, align 4, !tbaa !5
  %1334 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1335 = load i32, ptr @test_count, align 4, !tbaa !5
  %1336 = load i32, ptr %1310, align 4, !tbaa !5
  %1337 = call ptr @s2n_strerror(i32 noundef %1336, ptr noundef nonnull @.str.4) #11
  %1338 = load i32, ptr %1310, align 4, !tbaa !5
  %1339 = call ptr @s2n_strerror_debug(i32 noundef %1338, ptr noundef nonnull @.str.4) #11
  %1340 = load i32, ptr %1322, align 4, !tbaa !5
  %1341 = call ptr @strerror(i32 noundef %1340) #11
  %1342 = load i32, ptr %1322, align 4, !tbaa !5
  %1343 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1334, ptr noundef nonnull %.str.5.sink1397, i32 noundef %1335, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 217, ptr noundef %1337, ptr noundef %1339, ptr noundef %1341, i32 noundef %1342) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1344:                                             ; preds = %1314
  %1345 = load i32, ptr @test_count, align 4, !tbaa !5
  %1346 = add nsw i32 %1345, 1
  store i32 %1346, ptr @test_count, align 4, !tbaa !5
  %1347 = load ptr, ptr %18, align 8, !tbaa !9
  %1348 = call i32 @s2n_connection_set_config(ptr noundef %1347, ptr noundef %1315) #11
  %1349 = icmp eq i32 %1348, -1
  br i1 %1349, label %1350, label %1373

1350:                                             ; preds = %1344
  %1351 = tail call ptr @__errno_location() #12
  %1352 = load i32, ptr %1351, align 4, !tbaa !5
  %1353 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1354 = call i32 @s2n_print_stacktrace(ptr noundef %1353) #11
  %1355 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1356 = trunc nuw i8 %1355 to i1
  br i1 %1356, label %1357, label %1361

1357:                                             ; preds = %1350
  %1358 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1359 = call i32 @fileno(ptr noundef %1358) #11
  %1360 = call i32 @isatty(i32 noundef %1359) #11
  %.not687 = icmp eq i32 %1360, 0
  br i1 %.not687, label %1361, label %1362

1361:                                             ; preds = %1357, %1350
  br label %1362

1362:                                             ; preds = %1357, %1361
  %.str.5.sink1407 = phi ptr [ @.str.5, %1361 ], [ @.str.2, %1357 ]
  store i32 %1352, ptr %1351, align 4, !tbaa !5
  %1363 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1364 = load i32, ptr @test_count, align 4, !tbaa !5
  %1365 = load i32, ptr %1310, align 4, !tbaa !5
  %1366 = call ptr @s2n_strerror(i32 noundef %1365, ptr noundef nonnull @.str.4) #11
  %1367 = load i32, ptr %1310, align 4, !tbaa !5
  %1368 = call ptr @s2n_strerror_debug(i32 noundef %1367, ptr noundef nonnull @.str.4) #11
  %1369 = load i32, ptr %1351, align 4, !tbaa !5
  %1370 = call ptr @strerror(i32 noundef %1369) #11
  %1371 = load i32, ptr %1351, align 4, !tbaa !5
  %1372 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1363, ptr noundef nonnull %.str.5.sink1407, i32 noundef %1364, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 218, ptr noundef %1366, ptr noundef %1368, ptr noundef %1370, i32 noundef %1371) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1373:                                             ; preds = %1344
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %19) #11
  %1374 = call ptr @s2n_connection_new(i32 noundef 1) #11
  store ptr %1374, ptr %19, align 8, !tbaa !9
  %1375 = load i32, ptr @test_count, align 4, !tbaa !5
  %1376 = add nsw i32 %1375, 1
  store i32 %1376, ptr @test_count, align 4, !tbaa !5
  %1377 = call i32 @s2n_connection_set_blinding(ptr noundef %1374, i32 noundef 1) #11
  %1378 = icmp eq i32 %1377, -1
  br i1 %1378, label %1379, label %1402

1379:                                             ; preds = %1373
  %1380 = tail call ptr @__errno_location() #12
  %1381 = load i32, ptr %1380, align 4, !tbaa !5
  %1382 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1383 = call i32 @s2n_print_stacktrace(ptr noundef %1382) #11
  %1384 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1385 = trunc nuw i8 %1384 to i1
  br i1 %1385, label %1386, label %1390

1386:                                             ; preds = %1379
  %1387 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1388 = call i32 @fileno(ptr noundef %1387) #11
  %1389 = call i32 @isatty(i32 noundef %1388) #11
  %.not686 = icmp eq i32 %1389, 0
  br i1 %.not686, label %1390, label %1391

1390:                                             ; preds = %1386, %1379
  br label %1391

1391:                                             ; preds = %1386, %1390
  %.str.5.sink1417 = phi ptr [ @.str.5, %1390 ], [ @.str.2, %1386 ]
  store i32 %1381, ptr %1380, align 4, !tbaa !5
  %1392 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1393 = load i32, ptr @test_count, align 4, !tbaa !5
  %1394 = load i32, ptr %1310, align 4, !tbaa !5
  %1395 = call ptr @s2n_strerror(i32 noundef %1394, ptr noundef nonnull @.str.4) #11
  %1396 = load i32, ptr %1310, align 4, !tbaa !5
  %1397 = call ptr @s2n_strerror_debug(i32 noundef %1396, ptr noundef nonnull @.str.4) #11
  %1398 = load i32, ptr %1380, align 4, !tbaa !5
  %1399 = call ptr @strerror(i32 noundef %1398) #11
  %1400 = load i32, ptr %1380, align 4, !tbaa !5
  %1401 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1392, ptr noundef nonnull %.str.5.sink1417, i32 noundef %1393, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.1, i32 noundef 222, ptr noundef %1395, ptr noundef %1397, ptr noundef %1399, i32 noundef %1400) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1402:                                             ; preds = %1373
  %1403 = load i32, ptr @test_count, align 4, !tbaa !5
  %1404 = add nsw i32 %1403, 1
  store i32 %1404, ptr @test_count, align 4, !tbaa !5
  %1405 = load ptr, ptr %19, align 8, !tbaa !9
  %1406 = load ptr, ptr %9, align 8, !tbaa !9
  %1407 = call i32 @s2n_connection_set_config(ptr noundef %1405, ptr noundef %1406) #11
  %1408 = icmp eq i32 %1407, -1
  br i1 %1408, label %1409, label %1432

1409:                                             ; preds = %1402
  %1410 = tail call ptr @__errno_location() #12
  %1411 = load i32, ptr %1410, align 4, !tbaa !5
  %1412 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1413 = call i32 @s2n_print_stacktrace(ptr noundef %1412) #11
  %1414 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1415 = trunc nuw i8 %1414 to i1
  br i1 %1415, label %1416, label %1420

1416:                                             ; preds = %1409
  %1417 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1418 = call i32 @fileno(ptr noundef %1417) #11
  %1419 = call i32 @isatty(i32 noundef %1418) #11
  %.not685 = icmp eq i32 %1419, 0
  br i1 %.not685, label %1420, label %1421

1420:                                             ; preds = %1416, %1409
  br label %1421

1421:                                             ; preds = %1416, %1420
  %.str.5.sink1427 = phi ptr [ @.str.5, %1420 ], [ @.str.2, %1416 ]
  store i32 %1411, ptr %1410, align 4, !tbaa !5
  %1422 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1423 = load i32, ptr @test_count, align 4, !tbaa !5
  %1424 = load i32, ptr %1310, align 4, !tbaa !5
  %1425 = call ptr @s2n_strerror(i32 noundef %1424, ptr noundef nonnull @.str.4) #11
  %1426 = load i32, ptr %1310, align 4, !tbaa !5
  %1427 = call ptr @s2n_strerror_debug(i32 noundef %1426, ptr noundef nonnull @.str.4) #11
  %1428 = load i32, ptr %1410, align 4, !tbaa !5
  %1429 = call ptr @strerror(i32 noundef %1428) #11
  %1430 = load i32, ptr %1410, align 4, !tbaa !5
  %1431 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1422, ptr noundef nonnull %.str.5.sink1427, i32 noundef %1423, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 223, ptr noundef %1425, ptr noundef %1427, ptr noundef %1429, i32 noundef %1430) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1432:                                             ; preds = %1402
  call void @llvm.lifetime.start.p0(i64 80, ptr nonnull %20) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(80) %20, i8 0, i64 80, i1 false)
  %1433 = load i32, ptr @test_count, align 4, !tbaa !5
  %1434 = add nsw i32 %1433, 1
  store i32 %1434, ptr @test_count, align 4, !tbaa !5
  %1435 = call i32 @s2n_io_stuffer_pair_init(ptr noundef nonnull %20) #11
  %1436 = call zeroext i1 @s2n_result_is_ok(i32 %1435)
  br i1 %1436, label %1460, label %1437

1437:                                             ; preds = %1432
  %1438 = tail call ptr @__errno_location() #12
  %1439 = load i32, ptr %1438, align 4, !tbaa !5
  %1440 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1441 = call i32 @s2n_print_stacktrace(ptr noundef %1440) #11
  %1442 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1443 = trunc nuw i8 %1442 to i1
  br i1 %1443, label %1444, label %1448

1444:                                             ; preds = %1437
  %1445 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1446 = call i32 @fileno(ptr noundef %1445) #11
  %1447 = call i32 @isatty(i32 noundef %1446) #11
  %.not637 = icmp eq i32 %1447, 0
  br i1 %.not637, label %1448, label %1449

1448:                                             ; preds = %1444, %1437
  br label %1449

1449:                                             ; preds = %1444, %1448
  %.str.5.sink1437 = phi ptr [ @.str.5, %1448 ], [ @.str.2, %1444 ]
  store i32 %1439, ptr %1438, align 4, !tbaa !5
  %1450 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1451 = load i32, ptr @test_count, align 4, !tbaa !5
  %1452 = load i32, ptr %1310, align 4, !tbaa !5
  %1453 = call ptr @s2n_strerror(i32 noundef %1452, ptr noundef nonnull @.str.4) #11
  %1454 = load i32, ptr %1310, align 4, !tbaa !5
  %1455 = call ptr @s2n_strerror_debug(i32 noundef %1454, ptr noundef nonnull @.str.4) #11
  %1456 = load i32, ptr %1438, align 4, !tbaa !5
  %1457 = call ptr @strerror(i32 noundef %1456) #11
  %1458 = load i32, ptr %1438, align 4, !tbaa !5
  %1459 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1450, ptr noundef nonnull %.str.5.sink1437, i32 noundef %1451, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 226, ptr noundef %1453, ptr noundef %1455, ptr noundef %1457, i32 noundef %1458) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1460:                                             ; preds = %1432
  %1461 = load i32, ptr @test_count, align 4, !tbaa !5
  %1462 = add nsw i32 %1461, 1
  store i32 %1462, ptr @test_count, align 4, !tbaa !5
  %1463 = load ptr, ptr %19, align 8, !tbaa !9
  %1464 = load ptr, ptr %18, align 8, !tbaa !9
  %1465 = call i32 @s2n_connections_set_io_stuffer_pair(ptr noundef %1463, ptr noundef %1464, ptr noundef nonnull %20) #11
  %1466 = call zeroext i1 @s2n_result_is_ok(i32 %1465)
  br i1 %1466, label %1490, label %1467

1467:                                             ; preds = %1460
  %1468 = tail call ptr @__errno_location() #12
  %1469 = load i32, ptr %1468, align 4, !tbaa !5
  %1470 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1471 = call i32 @s2n_print_stacktrace(ptr noundef %1470) #11
  %1472 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1473 = trunc nuw i8 %1472 to i1
  br i1 %1473, label %1474, label %1478

1474:                                             ; preds = %1467
  %1475 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1476 = call i32 @fileno(ptr noundef %1475) #11
  %1477 = call i32 @isatty(i32 noundef %1476) #11
  %.not638 = icmp eq i32 %1477, 0
  br i1 %.not638, label %1478, label %1479

1478:                                             ; preds = %1474, %1467
  br label %1479

1479:                                             ; preds = %1474, %1478
  %.str.5.sink1447 = phi ptr [ @.str.5, %1478 ], [ @.str.2, %1474 ]
  store i32 %1469, ptr %1468, align 4, !tbaa !5
  %1480 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1481 = load i32, ptr @test_count, align 4, !tbaa !5
  %1482 = load i32, ptr %1310, align 4, !tbaa !5
  %1483 = call ptr @s2n_strerror(i32 noundef %1482, ptr noundef nonnull @.str.4) #11
  %1484 = load i32, ptr %1310, align 4, !tbaa !5
  %1485 = call ptr @s2n_strerror_debug(i32 noundef %1484, ptr noundef nonnull @.str.4) #11
  %1486 = load i32, ptr %1468, align 4, !tbaa !5
  %1487 = call ptr @strerror(i32 noundef %1486) #11
  %1488 = load i32, ptr %1468, align 4, !tbaa !5
  %1489 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1480, ptr noundef nonnull %.str.5.sink1447, i32 noundef %1481, ptr noundef nonnull @.str.26, ptr noundef nonnull @.str.1, i32 noundef 227, ptr noundef %1483, ptr noundef %1485, ptr noundef %1487, i32 noundef %1488) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1490:                                             ; preds = %1460
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %21) #11
  store i32 0, ptr %21, align 4, !tbaa !5
  %1491 = load ptr, ptr %18, align 8, !tbaa !9
  %1492 = load ptr, ptr %19, align 8, !tbaa !9
  %1493 = getelementptr inbounds [5 x i32], ptr @__const.main.test_errors, i64 0, i64 %.0518836
  %1494 = load i32, ptr %1493, align 4, !tbaa !5
  switch i32 %1494, label %2357 [
    i32 335544386, label %1495
    i32 335544334, label %1611
    i32 335544387, label %1756
    i32 335544366, label %2036
    i32 335544321, label %2211
  ]

1495:                                             ; preds = %1490
  %1496 = load i32, ptr @test_count, align 4, !tbaa !5
  %1497 = add nsw i32 %1496, 1
  store i32 %1497, ptr @test_count, align 4, !tbaa !5
  %1498 = load ptr, ptr %16, align 8, !tbaa !9
  %1499 = call i32 @s2n_connection_set_config(ptr noundef %1491, ptr noundef %1498) #11
  %1500 = icmp eq i32 %1499, -1
  br i1 %1500, label %1501, label %1524

1501:                                             ; preds = %1495
  %1502 = tail call ptr @__errno_location() #12
  %1503 = load i32, ptr %1502, align 4, !tbaa !5
  %1504 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1505 = call i32 @s2n_print_stacktrace(ptr noundef %1504) #11
  %1506 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1507 = trunc nuw i8 %1506 to i1
  br i1 %1507, label %1508, label %1512

1508:                                             ; preds = %1501
  %1509 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1510 = call i32 @fileno(ptr noundef %1509) #11
  %1511 = call i32 @isatty(i32 noundef %1510) #11
  %.not683 = icmp eq i32 %1511, 0
  br i1 %.not683, label %1512, label %1513

1512:                                             ; preds = %1508, %1501
  br label %1513

1513:                                             ; preds = %1508, %1512
  %.str.5.sink1457 = phi ptr [ @.str.5, %1512 ], [ @.str.2, %1508 ]
  store i32 %1503, ptr %1502, align 4, !tbaa !5
  %1514 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1515 = load i32, ptr @test_count, align 4, !tbaa !5
  %1516 = load i32, ptr %1310, align 4, !tbaa !5
  %1517 = call ptr @s2n_strerror(i32 noundef %1516, ptr noundef nonnull @.str.4) #11
  %1518 = load i32, ptr %1310, align 4, !tbaa !5
  %1519 = call ptr @s2n_strerror_debug(i32 noundef %1518, ptr noundef nonnull @.str.4) #11
  %1520 = load i32, ptr %1502, align 4, !tbaa !5
  %1521 = call ptr @strerror(i32 noundef %1520) #11
  %1522 = load i32, ptr %1502, align 4, !tbaa !5
  %1523 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1514, ptr noundef nonnull %.str.5.sink1457, i32 noundef %1515, ptr noundef nonnull @.str.42, ptr noundef nonnull @.str.1, i32 noundef 237, ptr noundef %1517, ptr noundef %1519, ptr noundef %1521, i32 noundef %1522) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1524:                                             ; preds = %1495
  %1525 = load i32, ptr @test_count, align 4, !tbaa !5
  %1526 = add nsw i32 %1525, 1
  store i32 %1526, ptr @test_count, align 4, !tbaa !5
  %1527 = load ptr, ptr %18, align 8, !tbaa !9
  %1528 = load ptr, ptr %19, align 8, !tbaa !9
  %1529 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %1527, ptr noundef %1528) #11
  %1530 = icmp eq i32 %1529, -1
  br i1 %1530, label %1554, label %1531

1531:                                             ; preds = %1524
  %1532 = tail call ptr @__errno_location() #12
  %1533 = load i32, ptr %1532, align 4, !tbaa !5
  %1534 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1535 = call i32 @s2n_print_stacktrace(ptr noundef %1534) #11
  %1536 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1537 = trunc nuw i8 %1536 to i1
  br i1 %1537, label %1538, label %1542

1538:                                             ; preds = %1531
  %1539 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1540 = call i32 @fileno(ptr noundef %1539) #11
  %1541 = call i32 @isatty(i32 noundef %1540) #11
  %.not665 = icmp eq i32 %1541, 0
  br i1 %.not665, label %1542, label %1543

1542:                                             ; preds = %1538, %1531
  br label %1543

1543:                                             ; preds = %1538, %1542
  %.str.5.sink1467 = phi ptr [ @.str.5, %1542 ], [ @.str.2, %1538 ]
  store i32 %1533, ptr %1532, align 4, !tbaa !5
  %1544 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1545 = load i32, ptr @test_count, align 4, !tbaa !5
  %1546 = load i32, ptr %1310, align 4, !tbaa !5
  %1547 = call ptr @s2n_strerror(i32 noundef %1546, ptr noundef nonnull @.str.4) #11
  %1548 = load i32, ptr %1310, align 4, !tbaa !5
  %1549 = call ptr @s2n_strerror_debug(i32 noundef %1548, ptr noundef nonnull @.str.4) #11
  %1550 = load i32, ptr %1532, align 4, !tbaa !5
  %1551 = call ptr @strerror(i32 noundef %1550) #11
  %1552 = load i32, ptr %1532, align 4, !tbaa !5
  %1553 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1544, ptr noundef nonnull %.str.5.sink1467, i32 noundef %1545, ptr noundef nonnull @.str.43, ptr noundef nonnull @.str.1, i32 noundef 239, ptr noundef %1547, ptr noundef %1549, ptr noundef %1551, i32 noundef %1552) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1554:                                             ; preds = %1524
  %1555 = load i32, ptr @test_count, align 4, !tbaa !5
  %1556 = add nsw i32 %1555, 1
  store i32 %1556, ptr @test_count, align 4, !tbaa !5
  %1557 = load i32, ptr %1310, align 4, !tbaa !5
  %1558 = icmp eq i32 %1557, 335544386
  br i1 %1558, label %1582, label %1559

1559:                                             ; preds = %1554
  %1560 = tail call ptr @__errno_location() #12
  %1561 = load i32, ptr %1560, align 4, !tbaa !5
  %1562 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1563 = call i32 @s2n_print_stacktrace(ptr noundef %1562) #11
  %1564 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1565 = trunc nuw i8 %1564 to i1
  br i1 %1565, label %1566, label %1570

1566:                                             ; preds = %1559
  %1567 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1568 = call i32 @fileno(ptr noundef %1567) #11
  %1569 = call i32 @isatty(i32 noundef %1568) #11
  %.not666 = icmp eq i32 %1569, 0
  br i1 %.not666, label %1570, label %1571

1570:                                             ; preds = %1566, %1559
  br label %1571

1571:                                             ; preds = %1566, %1570
  %.str.5.sink1477 = phi ptr [ @.str.5, %1570 ], [ @.str.2, %1566 ]
  store i32 %1561, ptr %1560, align 4, !tbaa !5
  %1572 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1573 = load i32, ptr @test_count, align 4, !tbaa !5
  %1574 = load i32, ptr %1310, align 4, !tbaa !5
  %1575 = call ptr @s2n_strerror(i32 noundef %1574, ptr noundef nonnull @.str.4) #11
  %1576 = load i32, ptr %1310, align 4, !tbaa !5
  %1577 = call ptr @s2n_strerror_debug(i32 noundef %1576, ptr noundef nonnull @.str.4) #11
  %1578 = load i32, ptr %1560, align 4, !tbaa !5
  %1579 = call ptr @strerror(i32 noundef %1578) #11
  %1580 = load i32, ptr %1560, align 4, !tbaa !5
  %1581 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1572, ptr noundef nonnull %.str.5.sink1477, i32 noundef %1573, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.1, i32 noundef 239, ptr noundef %1575, ptr noundef %1577, ptr noundef %1579, i32 noundef %1580) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1582:                                             ; preds = %1554
  %1583 = add nsw i32 %1555, 2
  store i32 %1583, ptr @test_count, align 4, !tbaa !5
  %1584 = call ptr @s2n_strerror_debug(i32 noundef 335544386, ptr noundef nonnull @.str.4) #11
  %1585 = icmp eq ptr %1584, null
  br i1 %1585, label %1586, label %1609

1586:                                             ; preds = %1582
  %1587 = tail call ptr @__errno_location() #12
  %1588 = load i32, ptr %1587, align 4, !tbaa !5
  %1589 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1590 = call i32 @s2n_print_stacktrace(ptr noundef %1589) #11
  %1591 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1592 = trunc nuw i8 %1591 to i1
  br i1 %1592, label %1593, label %1597

1593:                                             ; preds = %1586
  %1594 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1595 = call i32 @fileno(ptr noundef %1594) #11
  %1596 = call i32 @isatty(i32 noundef %1595) #11
  %.not682 = icmp eq i32 %1596, 0
  br i1 %.not682, label %1597, label %1598

1597:                                             ; preds = %1593, %1586
  br label %1598

1598:                                             ; preds = %1593, %1597
  %.str.5.sink1487 = phi ptr [ @.str.5, %1597 ], [ @.str.2, %1593 ]
  store i32 %1588, ptr %1587, align 4, !tbaa !5
  %1599 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1600 = load i32, ptr @test_count, align 4, !tbaa !5
  %1601 = load i32, ptr %1310, align 4, !tbaa !5
  %1602 = call ptr @s2n_strerror(i32 noundef %1601, ptr noundef nonnull @.str.4) #11
  %1603 = load i32, ptr %1310, align 4, !tbaa !5
  %1604 = call ptr @s2n_strerror_debug(i32 noundef %1603, ptr noundef nonnull @.str.4) #11
  %1605 = load i32, ptr %1587, align 4, !tbaa !5
  %1606 = call ptr @strerror(i32 noundef %1605) #11
  %1607 = load i32, ptr %1587, align 4, !tbaa !5
  %1608 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1599, ptr noundef nonnull %.str.5.sink1487, i32 noundef %1600, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.1, i32 noundef 239, ptr noundef %1602, ptr noundef %1604, ptr noundef %1606, i32 noundef %1607) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1609:                                             ; preds = %1582
  store i32 0, ptr %1310, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #11
  %1610 = tail call ptr @__errno_location() #12
  store i32 0, ptr %1610, align 4, !tbaa !5
  br label %2380

1611:                                             ; preds = %1490
  %1612 = load i32, ptr @test_count, align 4, !tbaa !5
  %1613 = add nsw i32 %1612, 1
  store i32 %1613, ptr @test_count, align 4, !tbaa !5
  %1614 = load ptr, ptr %10, align 8, !tbaa !9
  %1615 = call i32 @s2n_connection_set_config(ptr noundef %1491, ptr noundef %1614) #11
  %1616 = icmp eq i32 %1615, -1
  br i1 %1616, label %1617, label %1640

1617:                                             ; preds = %1611
  %1618 = tail call ptr @__errno_location() #12
  %1619 = load i32, ptr %1618, align 4, !tbaa !5
  %1620 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1621 = call i32 @s2n_print_stacktrace(ptr noundef %1620) #11
  %1622 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1623 = trunc nuw i8 %1622 to i1
  br i1 %1623, label %1624, label %1628

1624:                                             ; preds = %1617
  %1625 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1626 = call i32 @fileno(ptr noundef %1625) #11
  %1627 = call i32 @isatty(i32 noundef %1626) #11
  %.not664 = icmp eq i32 %1627, 0
  br i1 %.not664, label %1628, label %1629

1628:                                             ; preds = %1624, %1617
  br label %1629

1629:                                             ; preds = %1624, %1628
  %.str.5.sink1497 = phi ptr [ @.str.5, %1628 ], [ @.str.2, %1624 ]
  store i32 %1619, ptr %1618, align 4, !tbaa !5
  %1630 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1631 = load i32, ptr @test_count, align 4, !tbaa !5
  %1632 = load i32, ptr %1310, align 4, !tbaa !5
  %1633 = call ptr @s2n_strerror(i32 noundef %1632, ptr noundef nonnull @.str.4) #11
  %1634 = load i32, ptr %1310, align 4, !tbaa !5
  %1635 = call ptr @s2n_strerror_debug(i32 noundef %1634, ptr noundef nonnull @.str.4) #11
  %1636 = load i32, ptr %1618, align 4, !tbaa !5
  %1637 = call ptr @strerror(i32 noundef %1636) #11
  %1638 = load i32, ptr %1618, align 4, !tbaa !5
  %1639 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1630, ptr noundef nonnull %.str.5.sink1497, i32 noundef %1631, ptr noundef nonnull @.str.45, ptr noundef nonnull @.str.1, i32 noundef 248, ptr noundef %1633, ptr noundef %1635, ptr noundef %1637, i32 noundef %1638) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1640:                                             ; preds = %1611
  %1641 = load i32, ptr @test_count, align 4, !tbaa !5
  %1642 = add nsw i32 %1641, 1
  store i32 %1642, ptr @test_count, align 4, !tbaa !5
  %1643 = load ptr, ptr %19, align 8, !tbaa !9
  %1644 = call i32 @s2n_connection_set_cipher_preferences(ptr noundef %1643, ptr noundef nonnull @.str.46) #11
  %1645 = icmp eq i32 %1644, -1
  br i1 %1645, label %1646, label %1669

1646:                                             ; preds = %1640
  %1647 = tail call ptr @__errno_location() #12
  %1648 = load i32, ptr %1647, align 4, !tbaa !5
  %1649 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1650 = call i32 @s2n_print_stacktrace(ptr noundef %1649) #11
  %1651 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1652 = trunc nuw i8 %1651 to i1
  br i1 %1652, label %1653, label %1657

1653:                                             ; preds = %1646
  %1654 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1655 = call i32 @fileno(ptr noundef %1654) #11
  %1656 = call i32 @isatty(i32 noundef %1655) #11
  %.not663 = icmp eq i32 %1656, 0
  br i1 %.not663, label %1657, label %1658

1657:                                             ; preds = %1653, %1646
  br label %1658

1658:                                             ; preds = %1653, %1657
  %.str.5.sink1507 = phi ptr [ @.str.5, %1657 ], [ @.str.2, %1653 ]
  store i32 %1648, ptr %1647, align 4, !tbaa !5
  %1659 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1660 = load i32, ptr @test_count, align 4, !tbaa !5
  %1661 = load i32, ptr %1310, align 4, !tbaa !5
  %1662 = call ptr @s2n_strerror(i32 noundef %1661, ptr noundef nonnull @.str.4) #11
  %1663 = load i32, ptr %1310, align 4, !tbaa !5
  %1664 = call ptr @s2n_strerror_debug(i32 noundef %1663, ptr noundef nonnull @.str.4) #11
  %1665 = load i32, ptr %1647, align 4, !tbaa !5
  %1666 = call ptr @strerror(i32 noundef %1665) #11
  %1667 = load i32, ptr %1647, align 4, !tbaa !5
  %1668 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1659, ptr noundef nonnull %.str.5.sink1507, i32 noundef %1660, ptr noundef nonnull @.str.47, ptr noundef nonnull @.str.1, i32 noundef 249, ptr noundef %1662, ptr noundef %1664, ptr noundef %1666, i32 noundef %1667) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1669:                                             ; preds = %1640
  %1670 = load i32, ptr @test_count, align 4, !tbaa !5
  %1671 = add nsw i32 %1670, 1
  store i32 %1671, ptr @test_count, align 4, !tbaa !5
  %1672 = load ptr, ptr %18, align 8, !tbaa !9
  %1673 = load ptr, ptr %19, align 8, !tbaa !9
  %1674 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %1672, ptr noundef %1673) #11
  %1675 = icmp eq i32 %1674, -1
  br i1 %1675, label %1699, label %1676

1676:                                             ; preds = %1669
  %1677 = tail call ptr @__errno_location() #12
  %1678 = load i32, ptr %1677, align 4, !tbaa !5
  %1679 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1680 = call i32 @s2n_print_stacktrace(ptr noundef %1679) #11
  %1681 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1682 = trunc nuw i8 %1681 to i1
  br i1 %1682, label %1683, label %1687

1683:                                             ; preds = %1676
  %1684 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1685 = call i32 @fileno(ptr noundef %1684) #11
  %1686 = call i32 @isatty(i32 noundef %1685) #11
  %.not660 = icmp eq i32 %1686, 0
  br i1 %.not660, label %1687, label %1688

1687:                                             ; preds = %1683, %1676
  br label %1688

1688:                                             ; preds = %1683, %1687
  %.str.5.sink1517 = phi ptr [ @.str.5, %1687 ], [ @.str.2, %1683 ]
  store i32 %1678, ptr %1677, align 4, !tbaa !5
  %1689 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1690 = load i32, ptr @test_count, align 4, !tbaa !5
  %1691 = load i32, ptr %1310, align 4, !tbaa !5
  %1692 = call ptr @s2n_strerror(i32 noundef %1691, ptr noundef nonnull @.str.4) #11
  %1693 = load i32, ptr %1310, align 4, !tbaa !5
  %1694 = call ptr @s2n_strerror_debug(i32 noundef %1693, ptr noundef nonnull @.str.4) #11
  %1695 = load i32, ptr %1677, align 4, !tbaa !5
  %1696 = call ptr @strerror(i32 noundef %1695) #11
  %1697 = load i32, ptr %1677, align 4, !tbaa !5
  %1698 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1689, ptr noundef nonnull %.str.5.sink1517, i32 noundef %1690, ptr noundef nonnull @.str.43, ptr noundef nonnull @.str.1, i32 noundef 252, ptr noundef %1692, ptr noundef %1694, ptr noundef %1696, i32 noundef %1697) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1699:                                             ; preds = %1669
  %1700 = load i32, ptr @test_count, align 4, !tbaa !5
  %1701 = add nsw i32 %1700, 1
  store i32 %1701, ptr @test_count, align 4, !tbaa !5
  %1702 = load i32, ptr %1310, align 4, !tbaa !5
  %1703 = icmp eq i32 %1702, 335544334
  br i1 %1703, label %1727, label %1704

1704:                                             ; preds = %1699
  %1705 = tail call ptr @__errno_location() #12
  %1706 = load i32, ptr %1705, align 4, !tbaa !5
  %1707 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1708 = call i32 @s2n_print_stacktrace(ptr noundef %1707) #11
  %1709 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1710 = trunc nuw i8 %1709 to i1
  br i1 %1710, label %1711, label %1715

1711:                                             ; preds = %1704
  %1712 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1713 = call i32 @fileno(ptr noundef %1712) #11
  %1714 = call i32 @isatty(i32 noundef %1713) #11
  %.not661 = icmp eq i32 %1714, 0
  br i1 %.not661, label %1715, label %1716

1715:                                             ; preds = %1711, %1704
  br label %1716

1716:                                             ; preds = %1711, %1715
  %.str.5.sink1527 = phi ptr [ @.str.5, %1715 ], [ @.str.2, %1711 ]
  store i32 %1706, ptr %1705, align 4, !tbaa !5
  %1717 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1718 = load i32, ptr @test_count, align 4, !tbaa !5
  %1719 = load i32, ptr %1310, align 4, !tbaa !5
  %1720 = call ptr @s2n_strerror(i32 noundef %1719, ptr noundef nonnull @.str.4) #11
  %1721 = load i32, ptr %1310, align 4, !tbaa !5
  %1722 = call ptr @s2n_strerror_debug(i32 noundef %1721, ptr noundef nonnull @.str.4) #11
  %1723 = load i32, ptr %1705, align 4, !tbaa !5
  %1724 = call ptr @strerror(i32 noundef %1723) #11
  %1725 = load i32, ptr %1705, align 4, !tbaa !5
  %1726 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1717, ptr noundef nonnull %.str.5.sink1527, i32 noundef %1718, ptr noundef nonnull @.str.48, ptr noundef nonnull @.str.1, i32 noundef 252, ptr noundef %1720, ptr noundef %1722, ptr noundef %1724, i32 noundef %1725) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1727:                                             ; preds = %1699
  %1728 = add nsw i32 %1700, 2
  store i32 %1728, ptr @test_count, align 4, !tbaa !5
  %1729 = call ptr @s2n_strerror_debug(i32 noundef 335544334, ptr noundef nonnull @.str.4) #11
  %1730 = icmp eq ptr %1729, null
  br i1 %1730, label %1731, label %1754

1731:                                             ; preds = %1727
  %1732 = tail call ptr @__errno_location() #12
  %1733 = load i32, ptr %1732, align 4, !tbaa !5
  %1734 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1735 = call i32 @s2n_print_stacktrace(ptr noundef %1734) #11
  %1736 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1737 = trunc nuw i8 %1736 to i1
  br i1 %1737, label %1738, label %1742

1738:                                             ; preds = %1731
  %1739 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1740 = call i32 @fileno(ptr noundef %1739) #11
  %1741 = call i32 @isatty(i32 noundef %1740) #11
  %.not662 = icmp eq i32 %1741, 0
  br i1 %.not662, label %1742, label %1743

1742:                                             ; preds = %1738, %1731
  br label %1743

1743:                                             ; preds = %1738, %1742
  %.str.5.sink1537 = phi ptr [ @.str.5, %1742 ], [ @.str.2, %1738 ]
  store i32 %1733, ptr %1732, align 4, !tbaa !5
  %1744 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1745 = load i32, ptr @test_count, align 4, !tbaa !5
  %1746 = load i32, ptr %1310, align 4, !tbaa !5
  %1747 = call ptr @s2n_strerror(i32 noundef %1746, ptr noundef nonnull @.str.4) #11
  %1748 = load i32, ptr %1310, align 4, !tbaa !5
  %1749 = call ptr @s2n_strerror_debug(i32 noundef %1748, ptr noundef nonnull @.str.4) #11
  %1750 = load i32, ptr %1732, align 4, !tbaa !5
  %1751 = call ptr @strerror(i32 noundef %1750) #11
  %1752 = load i32, ptr %1732, align 4, !tbaa !5
  %1753 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1744, ptr noundef nonnull %.str.5.sink1537, i32 noundef %1745, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.1, i32 noundef 252, ptr noundef %1747, ptr noundef %1749, ptr noundef %1751, i32 noundef %1752) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1754:                                             ; preds = %1727
  store i32 0, ptr %1310, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #11
  %1755 = tail call ptr @__errno_location() #12
  store i32 0, ptr %1755, align 4, !tbaa !5
  br label %2380

1756:                                             ; preds = %1490
  %1757 = load i32, ptr @test_count, align 4, !tbaa !5
  %1758 = add nsw i32 %1757, 1
  store i32 %1758, ptr @test_count, align 4, !tbaa !5
  %1759 = call i32 @s2n_connection_set_cipher_preferences(ptr noundef %1492, ptr noundef nonnull @.str.46) #11
  %1760 = icmp eq i32 %1759, -1
  br i1 %1760, label %1761, label %1784

1761:                                             ; preds = %1756
  %1762 = tail call ptr @__errno_location() #12
  %1763 = load i32, ptr %1762, align 4, !tbaa !5
  %1764 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1765 = call i32 @s2n_print_stacktrace(ptr noundef %1764) #11
  %1766 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1767 = trunc nuw i8 %1766 to i1
  br i1 %1767, label %1768, label %1772

1768:                                             ; preds = %1761
  %1769 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1770 = call i32 @fileno(ptr noundef %1769) #11
  %1771 = call i32 @isatty(i32 noundef %1770) #11
  %.not659 = icmp eq i32 %1771, 0
  br i1 %.not659, label %1772, label %1773

1772:                                             ; preds = %1768, %1761
  br label %1773

1773:                                             ; preds = %1768, %1772
  %.str.5.sink1547 = phi ptr [ @.str.5, %1772 ], [ @.str.2, %1768 ]
  store i32 %1763, ptr %1762, align 4, !tbaa !5
  %1774 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1775 = load i32, ptr @test_count, align 4, !tbaa !5
  %1776 = load i32, ptr %1310, align 4, !tbaa !5
  %1777 = call ptr @s2n_strerror(i32 noundef %1776, ptr noundef nonnull @.str.4) #11
  %1778 = load i32, ptr %1310, align 4, !tbaa !5
  %1779 = call ptr @s2n_strerror_debug(i32 noundef %1778, ptr noundef nonnull @.str.4) #11
  %1780 = load i32, ptr %1762, align 4, !tbaa !5
  %1781 = call ptr @strerror(i32 noundef %1780) #11
  %1782 = load i32, ptr %1762, align 4, !tbaa !5
  %1783 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1774, ptr noundef nonnull %.str.5.sink1547, i32 noundef %1775, ptr noundef nonnull @.str.47, ptr noundef nonnull @.str.1, i32 noundef 259, ptr noundef %1777, ptr noundef %1779, ptr noundef %1781, i32 noundef %1782) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1784:                                             ; preds = %1756
  %1785 = load i32, ptr @test_count, align 4, !tbaa !5
  %1786 = add nsw i32 %1785, 1
  store i32 %1786, ptr @test_count, align 4, !tbaa !5
  %1787 = load ptr, ptr %19, align 8, !tbaa !9
  %1788 = call i32 @s2n_negotiate(ptr noundef %1787, ptr noundef nonnull %21) #11
  %1789 = icmp eq i32 %1788, -1
  br i1 %1789, label %1813, label %1790

1790:                                             ; preds = %1784
  %1791 = tail call ptr @__errno_location() #12
  %1792 = load i32, ptr %1791, align 4, !tbaa !5
  %1793 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1794 = call i32 @s2n_print_stacktrace(ptr noundef %1793) #11
  %1795 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1796 = trunc nuw i8 %1795 to i1
  br i1 %1796, label %1797, label %1801

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

1801:                                             ; preds = %1797, %1790
  br label %1802

1802:                                             ; preds = %1797, %1801
  %.str.5.sink1557 = phi ptr [ @.str.5, %1801 ], [ @.str.2, %1797 ]
  store i32 %1792, ptr %1791, align 4, !tbaa !5
  %1803 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1804 = load i32, ptr @test_count, align 4, !tbaa !5
  %1805 = load i32, ptr %1310, align 4, !tbaa !5
  %1806 = call ptr @s2n_strerror(i32 noundef %1805, ptr noundef nonnull @.str.4) #11
  %1807 = load i32, ptr %1310, align 4, !tbaa !5
  %1808 = call ptr @s2n_strerror_debug(i32 noundef %1807, ptr noundef nonnull @.str.4) #11
  %1809 = load i32, ptr %1791, align 4, !tbaa !5
  %1810 = call ptr @strerror(i32 noundef %1809) #11
  %1811 = load i32, ptr %1791, align 4, !tbaa !5
  %1812 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1803, ptr noundef nonnull %.str.5.sink1557, i32 noundef %1804, ptr noundef nonnull @.str.49, ptr noundef nonnull @.str.1, i32 noundef 260, ptr noundef %1806, ptr noundef %1808, ptr noundef %1810, i32 noundef %1811) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1813:                                             ; preds = %1784
  %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 i32, ptr %1310, align 4, !tbaa !5
  %1817 = icmp eq i32 %1816, 201326592
  br i1 %1817, label %1841, label %1818

1818:                                             ; preds = %1813
  %1819 = tail call ptr @__errno_location() #12
  %1820 = load i32, ptr %1819, align 4, !tbaa !5
  %1821 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1822 = call i32 @s2n_print_stacktrace(ptr noundef %1821) #11
  %1823 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1824 = trunc nuw i8 %1823 to i1
  br i1 %1824, label %1825, label %1829

1825:                                             ; preds = %1818
  %1826 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1827 = call i32 @fileno(ptr noundef %1826) #11
  %1828 = call i32 @isatty(i32 noundef %1827) #11
  %.not651 = icmp eq i32 %1828, 0
  br i1 %.not651, label %1829, label %1830

1829:                                             ; preds = %1825, %1818
  br label %1830

1830:                                             ; preds = %1825, %1829
  %.str.5.sink1567 = phi ptr [ @.str.5, %1829 ], [ @.str.2, %1825 ]
  store i32 %1820, ptr %1819, align 4, !tbaa !5
  %1831 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1832 = load i32, ptr @test_count, align 4, !tbaa !5
  %1833 = load i32, ptr %1310, align 4, !tbaa !5
  %1834 = call ptr @s2n_strerror(i32 noundef %1833, ptr noundef nonnull @.str.4) #11
  %1835 = load i32, ptr %1310, align 4, !tbaa !5
  %1836 = call ptr @s2n_strerror_debug(i32 noundef %1835, ptr noundef nonnull @.str.4) #11
  %1837 = load i32, ptr %1819, align 4, !tbaa !5
  %1838 = call ptr @strerror(i32 noundef %1837) #11
  %1839 = load i32, ptr %1819, align 4, !tbaa !5
  %1840 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1831, ptr noundef nonnull %.str.5.sink1567, i32 noundef %1832, ptr noundef nonnull @.str.50, ptr noundef nonnull @.str.1, i32 noundef 260, ptr noundef %1834, ptr noundef %1836, ptr noundef %1838, i32 noundef %1839) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1841:                                             ; preds = %1813
  %1842 = add nsw i32 %1814, 2
  store i32 %1842, ptr @test_count, align 4, !tbaa !5
  %1843 = call ptr @s2n_strerror_debug(i32 noundef 201326592, ptr noundef nonnull @.str.4) #11
  %1844 = icmp eq ptr %1843, null
  br i1 %1844, label %1845, label %1868

1845:                                             ; preds = %1841
  %1846 = tail call ptr @__errno_location() #12
  %1847 = load i32, ptr %1846, align 4, !tbaa !5
  %1848 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1849 = call i32 @s2n_print_stacktrace(ptr noundef %1848) #11
  %1850 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1851 = trunc nuw i8 %1850 to i1
  br i1 %1851, label %1852, label %1856

1852:                                             ; preds = %1845
  %1853 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1854 = call i32 @fileno(ptr noundef %1853) #11
  %1855 = call i32 @isatty(i32 noundef %1854) #11
  %.not658 = icmp eq i32 %1855, 0
  br i1 %.not658, label %1856, label %1857

1856:                                             ; preds = %1852, %1845
  br label %1857

1857:                                             ; preds = %1852, %1856
  %.str.5.sink1577 = phi ptr [ @.str.5, %1856 ], [ @.str.2, %1852 ]
  store i32 %1847, ptr %1846, align 4, !tbaa !5
  %1858 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1859 = load i32, ptr @test_count, align 4, !tbaa !5
  %1860 = load i32, ptr %1310, align 4, !tbaa !5
  %1861 = call ptr @s2n_strerror(i32 noundef %1860, ptr noundef nonnull @.str.4) #11
  %1862 = load i32, ptr %1310, align 4, !tbaa !5
  %1863 = call ptr @s2n_strerror_debug(i32 noundef %1862, ptr noundef nonnull @.str.4) #11
  %1864 = load i32, ptr %1846, align 4, !tbaa !5
  %1865 = call ptr @strerror(i32 noundef %1864) #11
  %1866 = load i32, ptr %1846, align 4, !tbaa !5
  %1867 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1858, ptr noundef nonnull %.str.5.sink1577, i32 noundef %1859, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.1, i32 noundef 260, ptr noundef %1861, ptr noundef %1863, ptr noundef %1865, i32 noundef %1866) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1868:                                             ; preds = %1841
  store i32 0, ptr %1310, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #11
  %1869 = tail call ptr @__errno_location() #12
  store i32 0, ptr %1869, align 4, !tbaa !5
  %1870 = load i32, ptr @test_count, align 4, !tbaa !5
  %1871 = add nsw i32 %1870, 1
  store i32 %1871, ptr @test_count, align 4, !tbaa !5
  %1872 = load ptr, ptr %18, align 8, !tbaa !9
  %1873 = call i32 @s2n_negotiate(ptr noundef %1872, ptr noundef nonnull %21) #11
  %1874 = icmp eq i32 %1873, -1
  br i1 %1874, label %1897, label %1875

1875:                                             ; preds = %1868
  %1876 = load i32, ptr %1869, align 4, !tbaa !5
  %1877 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1878 = call i32 @s2n_print_stacktrace(ptr noundef %1877) #11
  %1879 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1880 = trunc nuw i8 %1879 to i1
  br i1 %1880, label %1881, label %1885

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

1885:                                             ; preds = %1881, %1875
  br label %1886

1886:                                             ; preds = %1881, %1885
  %.str.5.sink1587 = phi ptr [ @.str.5, %1885 ], [ @.str.2, %1881 ]
  store i32 %1876, ptr %1869, align 4, !tbaa !5
  %1887 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1888 = load i32, ptr @test_count, align 4, !tbaa !5
  %1889 = load i32, ptr %1310, align 4, !tbaa !5
  %1890 = call ptr @s2n_strerror(i32 noundef %1889, ptr noundef nonnull @.str.4) #11
  %1891 = load i32, ptr %1310, align 4, !tbaa !5
  %1892 = call ptr @s2n_strerror_debug(i32 noundef %1891, ptr noundef nonnull @.str.4) #11
  %1893 = load i32, ptr %1869, align 4, !tbaa !5
  %1894 = call ptr @strerror(i32 noundef %1893) #11
  %1895 = load i32, ptr %1869, align 4, !tbaa !5
  %1896 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1887, ptr noundef nonnull %.str.5.sink1587, i32 noundef %1888, ptr noundef nonnull @.str.51, ptr noundef nonnull @.str.1, i32 noundef 261, ptr noundef %1890, ptr noundef %1892, ptr noundef %1894, i32 noundef %1895) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1897:                                             ; preds = %1868
  %1898 = load i32, ptr @test_count, align 4, !tbaa !5
  %1899 = add nsw i32 %1898, 1
  store i32 %1899, ptr @test_count, align 4, !tbaa !5
  %1900 = load i32, ptr %1310, align 4, !tbaa !5
  %1901 = icmp eq i32 %1900, 201326592
  br i1 %1901, label %1924, label %1902

1902:                                             ; preds = %1897
  %1903 = load i32, ptr %1869, align 4, !tbaa !5
  %1904 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1905 = call i32 @s2n_print_stacktrace(ptr noundef %1904) #11
  %1906 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1907 = trunc nuw i8 %1906 to i1
  br i1 %1907, label %1908, label %1912

1908:                                             ; preds = %1902
  %1909 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1910 = call i32 @fileno(ptr noundef %1909) #11
  %1911 = call i32 @isatty(i32 noundef %1910) #11
  %.not653 = icmp eq i32 %1911, 0
  br i1 %.not653, label %1912, label %1913

1912:                                             ; preds = %1908, %1902
  br label %1913

1913:                                             ; preds = %1908, %1912
  %.str.5.sink1597 = phi ptr [ @.str.5, %1912 ], [ @.str.2, %1908 ]
  store i32 %1903, ptr %1869, align 4, !tbaa !5
  %1914 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1915 = load i32, ptr @test_count, align 4, !tbaa !5
  %1916 = load i32, ptr %1310, align 4, !tbaa !5
  %1917 = call ptr @s2n_strerror(i32 noundef %1916, ptr noundef nonnull @.str.4) #11
  %1918 = load i32, ptr %1310, align 4, !tbaa !5
  %1919 = call ptr @s2n_strerror_debug(i32 noundef %1918, ptr noundef nonnull @.str.4) #11
  %1920 = load i32, ptr %1869, align 4, !tbaa !5
  %1921 = call ptr @strerror(i32 noundef %1920) #11
  %1922 = load i32, ptr %1869, align 4, !tbaa !5
  %1923 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1914, ptr noundef nonnull %.str.5.sink1597, i32 noundef %1915, ptr noundef nonnull @.str.50, ptr noundef nonnull @.str.1, i32 noundef 261, ptr noundef %1917, ptr noundef %1919, ptr noundef %1921, i32 noundef %1922) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1924:                                             ; preds = %1897
  %1925 = add nsw i32 %1898, 2
  store i32 %1925, ptr @test_count, align 4, !tbaa !5
  %1926 = call ptr @s2n_strerror_debug(i32 noundef 201326592, ptr noundef nonnull @.str.4) #11
  %1927 = icmp eq ptr %1926, null
  br i1 %1927, label %1928, label %1950

1928:                                             ; preds = %1924
  %1929 = load i32, ptr %1869, align 4, !tbaa !5
  %1930 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1931 = call i32 @s2n_print_stacktrace(ptr noundef %1930) #11
  %1932 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1933 = trunc nuw i8 %1932 to i1
  br i1 %1933, label %1934, label %1938

1934:                                             ; preds = %1928
  %1935 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1936 = call i32 @fileno(ptr noundef %1935) #11
  %1937 = call i32 @isatty(i32 noundef %1936) #11
  %.not657 = icmp eq i32 %1937, 0
  br i1 %.not657, label %1938, label %1939

1938:                                             ; preds = %1934, %1928
  br label %1939

1939:                                             ; preds = %1934, %1938
  %.str.5.sink1607 = phi ptr [ @.str.5, %1938 ], [ @.str.2, %1934 ]
  store i32 %1929, ptr %1869, align 4, !tbaa !5
  %1940 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1941 = load i32, ptr @test_count, align 4, !tbaa !5
  %1942 = load i32, ptr %1310, align 4, !tbaa !5
  %1943 = call ptr @s2n_strerror(i32 noundef %1942, ptr noundef nonnull @.str.4) #11
  %1944 = load i32, ptr %1310, align 4, !tbaa !5
  %1945 = call ptr @s2n_strerror_debug(i32 noundef %1944, ptr noundef nonnull @.str.4) #11
  %1946 = load i32, ptr %1869, align 4, !tbaa !5
  %1947 = call ptr @strerror(i32 noundef %1946) #11
  %1948 = load i32, ptr %1869, align 4, !tbaa !5
  %1949 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1940, ptr noundef nonnull %.str.5.sink1607, i32 noundef %1941, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.1, i32 noundef 261, ptr noundef %1943, ptr noundef %1945, ptr noundef %1947, i32 noundef %1948) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1950:                                             ; preds = %1924
  store i32 0, ptr %1310, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #11
  store i32 0, ptr %1869, align 4, !tbaa !5
  %1951 = load ptr, ptr %19, align 8, !tbaa !9
  %1952 = getelementptr inbounds i8, ptr %1951, i64 218
  store i8 34, ptr %1952, align 2, !tbaa !48
  %1953 = load i32, ptr @test_count, align 4, !tbaa !5
  %1954 = add nsw i32 %1953, 1
  store i32 %1954, ptr @test_count, align 4, !tbaa !5
  %1955 = load ptr, ptr %18, align 8, !tbaa !9
  %1956 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %1955, ptr noundef %1951) #11
  %1957 = icmp eq i32 %1956, -1
  br i1 %1957, label %1980, label %1958

1958:                                             ; preds = %1950
  %1959 = load i32, ptr %1869, align 4, !tbaa !5
  %1960 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1961 = call i32 @s2n_print_stacktrace(ptr noundef %1960) #11
  %1962 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1963 = trunc nuw i8 %1962 to i1
  br i1 %1963, label %1964, label %1968

1964:                                             ; preds = %1958
  %1965 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1966 = call i32 @fileno(ptr noundef %1965) #11
  %1967 = call i32 @isatty(i32 noundef %1966) #11
  %.not654 = icmp eq i32 %1967, 0
  br i1 %.not654, label %1968, label %1969

1968:                                             ; preds = %1964, %1958
  br label %1969

1969:                                             ; preds = %1964, %1968
  %.str.5.sink1617 = phi ptr [ @.str.5, %1968 ], [ @.str.2, %1964 ]
  store i32 %1959, ptr %1869, align 4, !tbaa !5
  %1970 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1971 = load i32, ptr @test_count, align 4, !tbaa !5
  %1972 = load i32, ptr %1310, align 4, !tbaa !5
  %1973 = call ptr @s2n_strerror(i32 noundef %1972, ptr noundef nonnull @.str.4) #11
  %1974 = load i32, ptr %1310, align 4, !tbaa !5
  %1975 = call ptr @s2n_strerror_debug(i32 noundef %1974, ptr noundef nonnull @.str.4) #11
  %1976 = load i32, ptr %1869, align 4, !tbaa !5
  %1977 = call ptr @strerror(i32 noundef %1976) #11
  %1978 = load i32, ptr %1869, align 4, !tbaa !5
  %1979 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1970, ptr noundef nonnull %.str.5.sink1617, i32 noundef %1971, ptr noundef nonnull @.str.43, ptr noundef nonnull @.str.1, i32 noundef 265, ptr noundef %1973, ptr noundef %1975, ptr noundef %1977, i32 noundef %1978) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1980:                                             ; preds = %1950
  %1981 = load i32, ptr @test_count, align 4, !tbaa !5
  %1982 = add nsw i32 %1981, 1
  store i32 %1982, ptr @test_count, align 4, !tbaa !5
  %1983 = load i32, ptr %1310, align 4, !tbaa !5
  %1984 = icmp eq i32 %1983, 335544387
  br i1 %1984, label %2007, label %1985

1985:                                             ; preds = %1980
  %1986 = load i32, ptr %1869, align 4, !tbaa !5
  %1987 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1988 = call i32 @s2n_print_stacktrace(ptr noundef %1987) #11
  %1989 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1990 = trunc nuw i8 %1989 to i1
  br i1 %1990, label %1991, label %1995

1991:                                             ; preds = %1985
  %1992 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1993 = call i32 @fileno(ptr noundef %1992) #11
  %1994 = call i32 @isatty(i32 noundef %1993) #11
  %.not655 = icmp eq i32 %1994, 0
  br i1 %.not655, label %1995, label %1996

1995:                                             ; preds = %1991, %1985
  br label %1996

1996:                                             ; preds = %1991, %1995
  %.str.5.sink1627 = phi ptr [ @.str.5, %1995 ], [ @.str.2, %1991 ]
  store i32 %1986, ptr %1869, align 4, !tbaa !5
  %1997 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1998 = load i32, ptr @test_count, align 4, !tbaa !5
  %1999 = load i32, ptr %1310, align 4, !tbaa !5
  %2000 = call ptr @s2n_strerror(i32 noundef %1999, ptr noundef nonnull @.str.4) #11
  %2001 = load i32, ptr %1310, align 4, !tbaa !5
  %2002 = call ptr @s2n_strerror_debug(i32 noundef %2001, ptr noundef nonnull @.str.4) #11
  %2003 = load i32, ptr %1869, align 4, !tbaa !5
  %2004 = call ptr @strerror(i32 noundef %2003) #11
  %2005 = load i32, ptr %1869, align 4, !tbaa !5
  %2006 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1997, ptr noundef nonnull %.str.5.sink1627, i32 noundef %1998, ptr noundef nonnull @.str.52, ptr noundef nonnull @.str.1, i32 noundef 265, ptr noundef %2000, ptr noundef %2002, ptr noundef %2004, i32 noundef %2005) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2007:                                             ; preds = %1980
  %2008 = add nsw i32 %1981, 2
  store i32 %2008, ptr @test_count, align 4, !tbaa !5
  %2009 = call ptr @s2n_strerror_debug(i32 noundef 335544387, ptr noundef nonnull @.str.4) #11
  %2010 = icmp eq ptr %2009, null
  br i1 %2010, label %2011, label %2033

2011:                                             ; preds = %2007
  %2012 = load i32, ptr %1869, align 4, !tbaa !5
  %2013 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2014 = call i32 @s2n_print_stacktrace(ptr noundef %2013) #11
  %2015 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2016 = trunc nuw i8 %2015 to i1
  br i1 %2016, label %2017, label %2021

2017:                                             ; preds = %2011
  %2018 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2019 = call i32 @fileno(ptr noundef %2018) #11
  %2020 = call i32 @isatty(i32 noundef %2019) #11
  %.not656 = icmp eq i32 %2020, 0
  br i1 %.not656, label %2021, label %2022

2021:                                             ; preds = %2017, %2011
  br label %2022

2022:                                             ; preds = %2017, %2021
  %.str.5.sink1637 = phi ptr [ @.str.5, %2021 ], [ @.str.2, %2017 ]
  store i32 %2012, ptr %1869, align 4, !tbaa !5
  %2023 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2024 = load i32, ptr @test_count, align 4, !tbaa !5
  %2025 = load i32, ptr %1310, align 4, !tbaa !5
  %2026 = call ptr @s2n_strerror(i32 noundef %2025, ptr noundef nonnull @.str.4) #11
  %2027 = load i32, ptr %1310, align 4, !tbaa !5
  %2028 = call ptr @s2n_strerror_debug(i32 noundef %2027, ptr noundef nonnull @.str.4) #11
  %2029 = load i32, ptr %1869, align 4, !tbaa !5
  %2030 = call ptr @strerror(i32 noundef %2029) #11
  %2031 = load i32, ptr %1869, align 4, !tbaa !5
  %2032 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2023, ptr noundef nonnull %.str.5.sink1637, i32 noundef %2024, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.1, i32 noundef 265, ptr noundef %2026, ptr noundef %2028, ptr noundef %2030, i32 noundef %2031) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2033:                                             ; preds = %2007
  store i32 0, ptr %1310, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #11
  store i32 0, ptr %1869, align 4, !tbaa !5
  %2034 = load ptr, ptr %19, align 8, !tbaa !9
  %2035 = load ptr, ptr %18, align 8, !tbaa !9
  br label %2380

2036:                                             ; preds = %1490
  %2037 = load i32, ptr @test_count, align 4, !tbaa !5
  %2038 = add nsw i32 %2037, 1
  store i32 %2038, ptr @test_count, align 4, !tbaa !5
  %2039 = load ptr, ptr %17, align 8, !tbaa !9
  %2040 = call i32 @s2n_connection_set_config(ptr noundef %1492, ptr noundef %2039) #11
  %2041 = icmp eq i32 %2040, -1
  br i1 %2041, label %2042, label %2065

2042:                                             ; preds = %2036
  %2043 = tail call ptr @__errno_location() #12
  %2044 = load i32, ptr %2043, align 4, !tbaa !5
  %2045 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2046 = call i32 @s2n_print_stacktrace(ptr noundef %2045) #11
  %2047 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2048 = trunc nuw i8 %2047 to i1
  br i1 %2048, label %2049, label %2053

2049:                                             ; preds = %2042
  %2050 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2051 = call i32 @fileno(ptr noundef %2050) #11
  %2052 = call i32 @isatty(i32 noundef %2051) #11
  %.not649 = icmp eq i32 %2052, 0
  br i1 %.not649, label %2053, label %2054

2053:                                             ; preds = %2049, %2042
  br label %2054

2054:                                             ; preds = %2049, %2053
  %.str.5.sink1647 = phi ptr [ @.str.5, %2053 ], [ @.str.2, %2049 ]
  store i32 %2044, ptr %2043, align 4, !tbaa !5
  %2055 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2056 = load i32, ptr @test_count, align 4, !tbaa !5
  %2057 = load i32, ptr %1310, align 4, !tbaa !5
  %2058 = call ptr @s2n_strerror(i32 noundef %2057, ptr noundef nonnull @.str.4) #11
  %2059 = load i32, ptr %1310, align 4, !tbaa !5
  %2060 = call ptr @s2n_strerror_debug(i32 noundef %2059, ptr noundef nonnull @.str.4) #11
  %2061 = load i32, ptr %2043, align 4, !tbaa !5
  %2062 = call ptr @strerror(i32 noundef %2061) #11
  %2063 = load i32, ptr %2043, align 4, !tbaa !5
  %2064 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2055, ptr noundef nonnull %.str.5.sink1647, i32 noundef %2056, ptr noundef nonnull @.str.53, ptr noundef nonnull @.str.1, i32 noundef 271, ptr noundef %2058, ptr noundef %2060, ptr noundef %2062, i32 noundef %2063) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2065:                                             ; preds = %2036
  %2066 = load i32, ptr @test_count, align 4, !tbaa !5
  %2067 = add nsw i32 %2066, 1
  store i32 %2067, ptr @test_count, align 4, !tbaa !5
  %2068 = load ptr, ptr %18, align 8, !tbaa !9
  %2069 = load ptr, ptr %19, align 8, !tbaa !9
  %2070 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %2068, ptr noundef %2069) #11
  %2071 = icmp eq i32 %2070, -1
  br i1 %2071, label %2095, label %2072

2072:                                             ; preds = %2065
  %2073 = tail call ptr @__errno_location() #12
  %2074 = load i32, ptr %2073, align 4, !tbaa !5
  %2075 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2076 = call i32 @s2n_print_stacktrace(ptr noundef %2075) #11
  %2077 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2078 = trunc nuw i8 %2077 to i1
  br i1 %2078, label %2079, label %2083

2079:                                             ; preds = %2072
  %2080 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2081 = call i32 @fileno(ptr noundef %2080) #11
  %2082 = call i32 @isatty(i32 noundef %2081) #11
  %.not644 = icmp eq i32 %2082, 0
  br i1 %.not644, label %2083, label %2084

2083:                                             ; preds = %2079, %2072
  br label %2084

2084:                                             ; preds = %2079, %2083
  %.str.5.sink1657 = phi ptr [ @.str.5, %2083 ], [ @.str.2, %2079 ]
  store i32 %2074, ptr %2073, align 4, !tbaa !5
  %2085 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2086 = load i32, ptr @test_count, align 4, !tbaa !5
  %2087 = load i32, ptr %1310, align 4, !tbaa !5
  %2088 = call ptr @s2n_strerror(i32 noundef %2087, ptr noundef nonnull @.str.4) #11
  %2089 = load i32, ptr %1310, align 4, !tbaa !5
  %2090 = call ptr @s2n_strerror_debug(i32 noundef %2089, ptr noundef nonnull @.str.4) #11
  %2091 = load i32, ptr %2073, align 4, !tbaa !5
  %2092 = call ptr @strerror(i32 noundef %2091) #11
  %2093 = load i32, ptr %2073, align 4, !tbaa !5
  %2094 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2085, ptr noundef nonnull %.str.5.sink1657, i32 noundef %2086, ptr noundef nonnull @.str.43, ptr noundef nonnull @.str.1, i32 noundef 274, ptr noundef %2088, ptr noundef %2090, ptr noundef %2092, i32 noundef %2093) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2095:                                             ; preds = %2065
  %2096 = load i32, ptr @test_count, align 4, !tbaa !5
  %2097 = add nsw i32 %2096, 1
  store i32 %2097, ptr @test_count, align 4, !tbaa !5
  %2098 = load i32, ptr %1310, align 4, !tbaa !5
  %2099 = icmp eq i32 %2098, 335544366
  br i1 %2099, label %2123, label %2100

2100:                                             ; preds = %2095
  %2101 = tail call ptr @__errno_location() #12
  %2102 = load i32, ptr %2101, align 4, !tbaa !5
  %2103 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2104 = call i32 @s2n_print_stacktrace(ptr noundef %2103) #11
  %2105 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2106 = trunc nuw i8 %2105 to i1
  br i1 %2106, label %2107, label %2111

2107:                                             ; preds = %2100
  %2108 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2109 = call i32 @fileno(ptr noundef %2108) #11
  %2110 = call i32 @isatty(i32 noundef %2109) #11
  %.not645 = icmp eq i32 %2110, 0
  br i1 %.not645, label %2111, label %2112

2111:                                             ; preds = %2107, %2100
  br label %2112

2112:                                             ; preds = %2107, %2111
  %.str.5.sink1667 = phi ptr [ @.str.5, %2111 ], [ @.str.2, %2107 ]
  store i32 %2102, ptr %2101, align 4, !tbaa !5
  %2113 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2114 = load i32, ptr @test_count, align 4, !tbaa !5
  %2115 = load i32, ptr %1310, align 4, !tbaa !5
  %2116 = call ptr @s2n_strerror(i32 noundef %2115, ptr noundef nonnull @.str.4) #11
  %2117 = load i32, ptr %1310, align 4, !tbaa !5
  %2118 = call ptr @s2n_strerror_debug(i32 noundef %2117, ptr noundef nonnull @.str.4) #11
  %2119 = load i32, ptr %2101, align 4, !tbaa !5
  %2120 = call ptr @strerror(i32 noundef %2119) #11
  %2121 = load i32, ptr %2101, align 4, !tbaa !5
  %2122 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2113, ptr noundef nonnull %.str.5.sink1667, i32 noundef %2114, ptr noundef nonnull @.str.54, ptr noundef nonnull @.str.1, i32 noundef 274, ptr noundef %2116, ptr noundef %2118, ptr noundef %2120, i32 noundef %2121) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2123:                                             ; preds = %2095
  %2124 = add nsw i32 %2096, 2
  store i32 %2124, ptr @test_count, align 4, !tbaa !5
  %2125 = call ptr @s2n_strerror_debug(i32 noundef 335544366, ptr noundef nonnull @.str.4) #11
  %2126 = icmp eq ptr %2125, null
  br i1 %2126, label %2127, label %2150

2127:                                             ; preds = %2123
  %2128 = tail call ptr @__errno_location() #12
  %2129 = load i32, ptr %2128, align 4, !tbaa !5
  %2130 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2131 = call i32 @s2n_print_stacktrace(ptr noundef %2130) #11
  %2132 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2133 = trunc nuw i8 %2132 to i1
  br i1 %2133, label %2134, label %2138

2134:                                             ; preds = %2127
  %2135 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2136 = call i32 @fileno(ptr noundef %2135) #11
  %2137 = call i32 @isatty(i32 noundef %2136) #11
  %.not648 = icmp eq i32 %2137, 0
  br i1 %.not648, label %2138, label %2139

2138:                                             ; preds = %2134, %2127
  br label %2139

2139:                                             ; preds = %2134, %2138
  %.str.5.sink1677 = phi ptr [ @.str.5, %2138 ], [ @.str.2, %2134 ]
  store i32 %2129, ptr %2128, align 4, !tbaa !5
  %2140 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2141 = load i32, ptr @test_count, align 4, !tbaa !5
  %2142 = load i32, ptr %1310, align 4, !tbaa !5
  %2143 = call ptr @s2n_strerror(i32 noundef %2142, ptr noundef nonnull @.str.4) #11
  %2144 = load i32, ptr %1310, align 4, !tbaa !5
  %2145 = call ptr @s2n_strerror_debug(i32 noundef %2144, ptr noundef nonnull @.str.4) #11
  %2146 = load i32, ptr %2128, align 4, !tbaa !5
  %2147 = call ptr @strerror(i32 noundef %2146) #11
  %2148 = load i32, ptr %2128, align 4, !tbaa !5
  %2149 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2140, ptr noundef nonnull %.str.5.sink1677, i32 noundef %2141, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.1, i32 noundef 274, ptr noundef %2143, ptr noundef %2145, ptr noundef %2147, i32 noundef %2148) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2150:                                             ; preds = %2123
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %22) #11
  store i8 0, ptr %22, align 1, !tbaa !15
  %2151 = load i32, ptr @test_count, align 4, !tbaa !5
  %2152 = add nsw i32 %2151, 1
  store i32 %2152, ptr @test_count, align 4, !tbaa !5
  %2153 = load i32, ptr %1310, align 4, !tbaa !5
  %2154 = call i32 @s2n_error_get_alert(i32 noundef %2153, ptr noundef nonnull %22) #11
  %2155 = icmp eq i32 %2154, -1
  br i1 %2155, label %2156, label %2179

2156:                                             ; preds = %2150
  %2157 = tail call ptr @__errno_location() #12
  %2158 = load i32, ptr %2157, align 4, !tbaa !5
  %2159 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2160 = call i32 @s2n_print_stacktrace(ptr noundef %2159) #11
  %2161 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2162 = trunc nuw i8 %2161 to i1
  br i1 %2162, label %2163, label %2167

2163:                                             ; preds = %2156
  %2164 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2165 = call i32 @fileno(ptr noundef %2164) #11
  %2166 = call i32 @isatty(i32 noundef %2165) #11
  %.not647 = icmp eq i32 %2166, 0
  br i1 %.not647, label %2167, label %2168

2167:                                             ; preds = %2163, %2156
  br label %2168

2168:                                             ; preds = %2163, %2167
  %.str.5.sink1687 = phi ptr [ @.str.5, %2167 ], [ @.str.2, %2163 ]
  store i32 %2158, ptr %2157, align 4, !tbaa !5
  %2169 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2170 = load i32, ptr @test_count, align 4, !tbaa !5
  %2171 = load i32, ptr %1310, align 4, !tbaa !5
  %2172 = call ptr @s2n_strerror(i32 noundef %2171, ptr noundef nonnull @.str.4) #11
  %2173 = load i32, ptr %1310, align 4, !tbaa !5
  %2174 = call ptr @s2n_strerror_debug(i32 noundef %2173, ptr noundef nonnull @.str.4) #11
  %2175 = load i32, ptr %2157, align 4, !tbaa !5
  %2176 = call ptr @strerror(i32 noundef %2175) #11
  %2177 = load i32, ptr %2157, align 4, !tbaa !5
  %2178 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2169, ptr noundef nonnull %.str.5.sink1687, i32 noundef %2170, ptr noundef nonnull @.str.55, ptr noundef nonnull @.str.1, i32 noundef 274, ptr noundef %2172, ptr noundef %2174, ptr noundef %2176, i32 noundef %2177) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2179:                                             ; preds = %2150
  %2180 = load i32, ptr @test_count, align 4, !tbaa !5
  %2181 = add nsw i32 %2180, 1
  store i32 %2181, ptr @test_count, align 4, !tbaa !5
  %2182 = load i8, ptr %22, align 1, !tbaa !15
  %2183 = icmp eq i8 %2182, 46
  br i1 %2183, label %2207, label %2184

2184:                                             ; preds = %2179
  %2185 = tail call ptr @__errno_location() #12
  %2186 = load i32, ptr %2185, align 4, !tbaa !5
  %2187 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2188 = call i32 @s2n_print_stacktrace(ptr noundef %2187) #11
  %2189 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2190 = trunc nuw i8 %2189 to i1
  br i1 %2190, label %2191, label %2195

2191:                                             ; preds = %2184
  %2192 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2193 = call i32 @fileno(ptr noundef %2192) #11
  %2194 = call i32 @isatty(i32 noundef %2193) #11
  %.not646 = icmp eq i32 %2194, 0
  br i1 %.not646, label %2195, label %2196

2195:                                             ; preds = %2191, %2184
  br label %2196

2196:                                             ; preds = %2191, %2195
  %.str.5.sink1697 = phi ptr [ @.str.5, %2195 ], [ @.str.2, %2191 ]
  store i32 %2186, ptr %2185, align 4, !tbaa !5
  %2197 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2198 = load i32, ptr @test_count, align 4, !tbaa !5
  %2199 = load i32, ptr %1310, align 4, !tbaa !5
  %2200 = call ptr @s2n_strerror(i32 noundef %2199, ptr noundef nonnull @.str.4) #11
  %2201 = load i32, ptr %1310, align 4, !tbaa !5
  %2202 = call ptr @s2n_strerror_debug(i32 noundef %2201, ptr noundef nonnull @.str.4) #11
  %2203 = load i32, ptr %2185, align 4, !tbaa !5
  %2204 = call ptr @strerror(i32 noundef %2203) #11
  %2205 = load i32, ptr %2185, align 4, !tbaa !5
  %2206 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2197, ptr noundef nonnull %.str.5.sink1697, i32 noundef %2198, ptr noundef nonnull @.str.56, ptr noundef nonnull @.str.1, i32 noundef 274, ptr noundef %2200, ptr noundef %2202, ptr noundef %2204, i32 noundef %2205) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2207:                                             ; preds = %2179
  store i32 0, ptr %1310, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #11
  %2208 = tail call ptr @__errno_location() #12
  store i32 0, ptr %2208, align 4, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %22) #11
  %2209 = load ptr, ptr %19, align 8, !tbaa !9
  %2210 = load ptr, ptr %18, align 8, !tbaa !9
  br label %2380

2211:                                             ; preds = %1490
  %2212 = load i32, ptr @test_count, align 4, !tbaa !5
  %2213 = add nsw i32 %2212, 1
  store i32 %2213, ptr @test_count, align 4, !tbaa !5
  %2214 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %1491, ptr noundef %1492) #11
  %2215 = icmp eq i32 %2214, -1
  br i1 %2215, label %2216, label %2239

2216:                                             ; preds = %2211
  %2217 = tail call ptr @__errno_location() #12
  %2218 = load i32, ptr %2217, align 4, !tbaa !5
  %2219 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2220 = call i32 @s2n_print_stacktrace(ptr noundef %2219) #11
  %2221 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2222 = trunc nuw i8 %2221 to i1
  br i1 %2222, label %2223, label %2227

2223:                                             ; preds = %2216
  %2224 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2225 = call i32 @fileno(ptr noundef %2224) #11
  %2226 = call i32 @isatty(i32 noundef %2225) #11
  %.not643 = icmp eq i32 %2226, 0
  br i1 %.not643, label %2227, label %2228

2227:                                             ; preds = %2223, %2216
  br label %2228

2228:                                             ; preds = %2223, %2227
  %.str.5.sink1707 = phi ptr [ @.str.5, %2227 ], [ @.str.2, %2223 ]
  store i32 %2218, ptr %2217, align 4, !tbaa !5
  %2229 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2230 = load i32, ptr @test_count, align 4, !tbaa !5
  %2231 = load i32, ptr %1310, align 4, !tbaa !5
  %2232 = call ptr @s2n_strerror(i32 noundef %2231, ptr noundef nonnull @.str.4) #11
  %2233 = load i32, ptr %1310, align 4, !tbaa !5
  %2234 = call ptr @s2n_strerror_debug(i32 noundef %2233, ptr noundef nonnull @.str.4) #11
  %2235 = load i32, ptr %2217, align 4, !tbaa !5
  %2236 = call ptr @strerror(i32 noundef %2235) #11
  %2237 = load i32, ptr %2217, align 4, !tbaa !5
  %2238 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2229, ptr noundef nonnull %.str.5.sink1707, i32 noundef %2230, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.1, i32 noundef 280, ptr noundef %2232, ptr noundef %2234, ptr noundef %2236, i32 noundef %2237) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2239:                                             ; preds = %2211
  %2240 = load ptr, ptr %19, align 8, !tbaa !9
  %2241 = getelementptr inbounds i8, ptr %2240, i64 232
  %2242 = load ptr, ptr %2241, align 8, !tbaa !49
  %2243 = getelementptr inbounds i8, ptr %2242, i64 920
  store i8 -1, ptr %2243, align 8, !tbaa !15
  %2244 = load i32, ptr @test_count, align 4, !tbaa !5
  %2245 = add nsw i32 %2244, 1
  store i32 %2245, ptr @test_count, align 4, !tbaa !5
  %2246 = call i64 @s2n_send(ptr noundef %2240, ptr noundef nonnull %5, i64 noundef 6, ptr noundef nonnull %21) #11
  %2247 = icmp eq i64 %2246, 6
  br i1 %2247, label %2271, label %2248

2248:                                             ; preds = %2239
  %2249 = tail call ptr @__errno_location() #12
  %2250 = load i32, ptr %2249, align 4, !tbaa !5
  %2251 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2252 = call i32 @s2n_print_stacktrace(ptr noundef %2251) #11
  %2253 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2254 = trunc nuw i8 %2253 to i1
  br i1 %2254, label %2255, label %2259

2255:                                             ; preds = %2248
  %2256 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2257 = call i32 @fileno(ptr noundef %2256) #11
  %2258 = call i32 @isatty(i32 noundef %2257) #11
  %.not639 = icmp eq i32 %2258, 0
  br i1 %.not639, label %2259, label %2260

2259:                                             ; preds = %2255, %2248
  br label %2260

2260:                                             ; preds = %2255, %2259
  %.str.5.sink1717 = phi ptr [ @.str.5, %2259 ], [ @.str.2, %2255 ]
  store i32 %2250, ptr %2249, align 4, !tbaa !5
  %2261 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2262 = load i32, ptr @test_count, align 4, !tbaa !5
  %2263 = load i32, ptr %1310, align 4, !tbaa !5
  %2264 = call ptr @s2n_strerror(i32 noundef %2263, ptr noundef nonnull @.str.4) #11
  %2265 = load i32, ptr %1310, align 4, !tbaa !5
  %2266 = call ptr @s2n_strerror_debug(i32 noundef %2265, ptr noundef nonnull @.str.4) #11
  %2267 = load i32, ptr %2249, align 4, !tbaa !5
  %2268 = call ptr @strerror(i32 noundef %2267) #11
  %2269 = load i32, ptr %2249, align 4, !tbaa !5
  %2270 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2261, ptr noundef nonnull %.str.5.sink1717, i32 noundef %2262, ptr noundef nonnull @.str.57, ptr noundef nonnull @.str.1, i32 noundef 286, ptr noundef %2264, ptr noundef %2266, ptr noundef %2268, i32 noundef %2269) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2271:                                             ; preds = %2239
  %2272 = load i32, ptr @test_count, align 4, !tbaa !5
  %2273 = add nsw i32 %2272, 1
  store i32 %2273, ptr @test_count, align 4, !tbaa !5
  %2274 = load ptr, ptr %18, align 8, !tbaa !9
  %2275 = call i64 @s2n_recv(ptr noundef %2274, ptr noundef nonnull %5, i64 noundef 6, ptr noundef nonnull %21) #11
  %2276 = icmp eq i64 %2275, -1
  br i1 %2276, label %2300, label %2277

2277:                                             ; preds = %2271
  %2278 = tail call ptr @__errno_location() #12
  %2279 = load i32, ptr %2278, align 4, !tbaa !5
  %2280 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2281 = call i32 @s2n_print_stacktrace(ptr noundef %2280) #11
  %2282 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2283 = trunc nuw i8 %2282 to i1
  br i1 %2283, label %2284, label %2288

2284:                                             ; preds = %2277
  %2285 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2286 = call i32 @fileno(ptr noundef %2285) #11
  %2287 = call i32 @isatty(i32 noundef %2286) #11
  %.not640 = icmp eq i32 %2287, 0
  br i1 %.not640, label %2288, label %2289

2288:                                             ; preds = %2284, %2277
  br label %2289

2289:                                             ; preds = %2284, %2288
  %.str.5.sink1727 = phi ptr [ @.str.5, %2288 ], [ @.str.2, %2284 ]
  store i32 %2279, ptr %2278, align 4, !tbaa !5
  %2290 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2291 = load i32, ptr @test_count, align 4, !tbaa !5
  %2292 = load i32, ptr %1310, align 4, !tbaa !5
  %2293 = call ptr @s2n_strerror(i32 noundef %2292, ptr noundef nonnull @.str.4) #11
  %2294 = load i32, ptr %1310, align 4, !tbaa !5
  %2295 = call ptr @s2n_strerror_debug(i32 noundef %2294, ptr noundef nonnull @.str.4) #11
  %2296 = load i32, ptr %2278, align 4, !tbaa !5
  %2297 = call ptr @strerror(i32 noundef %2296) #11
  %2298 = load i32, ptr %2278, align 4, !tbaa !5
  %2299 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2290, ptr noundef nonnull %.str.5.sink1727, i32 noundef %2291, ptr noundef nonnull @.str.58, ptr noundef nonnull @.str.1, i32 noundef 288, ptr noundef %2293, ptr noundef %2295, ptr noundef %2297, i32 noundef %2298) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2300:                                             ; preds = %2271
  %2301 = load i32, ptr @test_count, align 4, !tbaa !5
  %2302 = add nsw i32 %2301, 1
  store i32 %2302, ptr @test_count, align 4, !tbaa !5
  %2303 = load i32, ptr %1310, align 4, !tbaa !5
  %2304 = icmp eq i32 %2303, 335544321
  br i1 %2304, label %2328, label %2305

2305:                                             ; preds = %2300
  %2306 = tail call ptr @__errno_location() #12
  %2307 = load i32, ptr %2306, align 4, !tbaa !5
  %2308 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2309 = call i32 @s2n_print_stacktrace(ptr noundef %2308) #11
  %2310 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2311 = trunc nuw i8 %2310 to i1
  br i1 %2311, label %2312, label %2316

2312:                                             ; preds = %2305
  %2313 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2314 = call i32 @fileno(ptr noundef %2313) #11
  %2315 = call i32 @isatty(i32 noundef %2314) #11
  %.not641 = icmp eq i32 %2315, 0
  br i1 %.not641, label %2316, label %2317

2316:                                             ; preds = %2312, %2305
  br label %2317

2317:                                             ; preds = %2312, %2316
  %.str.5.sink1737 = phi ptr [ @.str.5, %2316 ], [ @.str.2, %2312 ]
  store i32 %2307, ptr %2306, align 4, !tbaa !5
  %2318 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2319 = load i32, ptr @test_count, align 4, !tbaa !5
  %2320 = load i32, ptr %1310, align 4, !tbaa !5
  %2321 = call ptr @s2n_strerror(i32 noundef %2320, ptr noundef nonnull @.str.4) #11
  %2322 = load i32, ptr %1310, align 4, !tbaa !5
  %2323 = call ptr @s2n_strerror_debug(i32 noundef %2322, ptr noundef nonnull @.str.4) #11
  %2324 = load i32, ptr %2306, align 4, !tbaa !5
  %2325 = call ptr @strerror(i32 noundef %2324) #11
  %2326 = load i32, ptr %2306, align 4, !tbaa !5
  %2327 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2318, ptr noundef nonnull %.str.5.sink1737, i32 noundef %2319, ptr noundef nonnull @.str.59, ptr noundef nonnull @.str.1, i32 noundef 288, ptr noundef %2321, ptr noundef %2323, ptr noundef %2325, i32 noundef %2326) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2328:                                             ; preds = %2300
  %2329 = add nsw i32 %2301, 2
  store i32 %2329, ptr @test_count, align 4, !tbaa !5
  %2330 = call ptr @s2n_strerror_debug(i32 noundef 335544321, ptr noundef nonnull @.str.4) #11
  %2331 = icmp eq ptr %2330, null
  br i1 %2331, label %2332, label %2355

2332:                                             ; preds = %2328
  %2333 = tail call ptr @__errno_location() #12
  %2334 = load i32, ptr %2333, align 4, !tbaa !5
  %2335 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2336 = call i32 @s2n_print_stacktrace(ptr noundef %2335) #11
  %2337 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2338 = trunc nuw i8 %2337 to i1
  br i1 %2338, label %2339, label %2343

2339:                                             ; preds = %2332
  %2340 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2341 = call i32 @fileno(ptr noundef %2340) #11
  %2342 = call i32 @isatty(i32 noundef %2341) #11
  %.not642 = icmp eq i32 %2342, 0
  br i1 %.not642, label %2343, label %2344

2343:                                             ; preds = %2339, %2332
  br label %2344

2344:                                             ; preds = %2339, %2343
  %.str.5.sink1747 = phi ptr [ @.str.5, %2343 ], [ @.str.2, %2339 ]
  store i32 %2334, ptr %2333, align 4, !tbaa !5
  %2345 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2346 = load i32, ptr @test_count, align 4, !tbaa !5
  %2347 = load i32, ptr %1310, align 4, !tbaa !5
  %2348 = call ptr @s2n_strerror(i32 noundef %2347, ptr noundef nonnull @.str.4) #11
  %2349 = load i32, ptr %1310, align 4, !tbaa !5
  %2350 = call ptr @s2n_strerror_debug(i32 noundef %2349, ptr noundef nonnull @.str.4) #11
  %2351 = load i32, ptr %2333, align 4, !tbaa !5
  %2352 = call ptr @strerror(i32 noundef %2351) #11
  %2353 = load i32, ptr %2333, align 4, !tbaa !5
  %2354 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2345, ptr noundef nonnull %.str.5.sink1747, i32 noundef %2346, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.1, i32 noundef 288, ptr noundef %2348, ptr noundef %2350, ptr noundef %2352, i32 noundef %2353) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2355:                                             ; preds = %2328
  store i32 0, ptr %1310, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #11
  %2356 = tail call ptr @__errno_location() #12
  store i32 0, ptr %2356, align 4, !tbaa !5
  br label %2380

2357:                                             ; preds = %1490
  %2358 = tail call ptr @__errno_location() #12
  %2359 = load i32, ptr %2358, align 4, !tbaa !5
  %2360 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2361 = call i32 @s2n_print_stacktrace(ptr noundef %2360) #11
  %2362 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2363 = trunc nuw i8 %2362 to i1
  br i1 %2363, label %2364, label %2368

2364:                                             ; preds = %2357
  %2365 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2366 = call i32 @fileno(ptr noundef %2365) #11
  %2367 = call i32 @isatty(i32 noundef %2366) #11
  %.not684 = icmp eq i32 %2367, 0
  br i1 %.not684, label %2368, label %2369

2368:                                             ; preds = %2364, %2357
  br label %2369

2369:                                             ; preds = %2364, %2368
  %.str.5.sink1757 = phi ptr [ @.str.5, %2368 ], [ @.str.2, %2364 ]
  store i32 %2359, ptr %2358, align 4, !tbaa !5
  %2370 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2371 = load i32, ptr @test_count, align 4, !tbaa !5
  %2372 = load i32, ptr %1310, align 4, !tbaa !5
  %2373 = call ptr @s2n_strerror(i32 noundef %2372, ptr noundef nonnull @.str.4) #11
  %2374 = load i32, ptr %1310, align 4, !tbaa !5
  %2375 = call ptr @s2n_strerror_debug(i32 noundef %2374, ptr noundef nonnull @.str.4) #11
  %2376 = load i32, ptr %2358, align 4, !tbaa !5
  %2377 = call ptr @strerror(i32 noundef %2376) #11
  %2378 = load i32, ptr %2358, align 4, !tbaa !5
  %2379 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2370, ptr noundef nonnull %.str.5.sink1757, i32 noundef %2371, ptr noundef nonnull @.str.60, ptr noundef nonnull @.str.1, i32 noundef 291, ptr noundef %2373, ptr noundef %2375, ptr noundef %2377, i32 noundef %2378) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2380:                                             ; preds = %2355, %2207, %2033, %1754, %1609
  %.0522 = phi ptr [ %1492, %2355 ], [ %2210, %2207 ], [ %2035, %2033 ], [ %1492, %1754 ], [ %1492, %1609 ]
  %.0521 = phi ptr [ %1491, %2355 ], [ %2209, %2207 ], [ %2034, %2033 ], [ %1491, %1754 ], [ %1491, %1609 ]
  %2381 = phi i1 [ true, %2355 ], [ true, %2207 ], [ true, %2033 ], [ true, %1754 ], [ false, %1609 ]
  %.0520 = phi i32 [ 0, %2355 ], [ 0, %2207 ], [ 0, %2033 ], [ 0, %1754 ], [ 40, %1609 ]
  %2382 = getelementptr inbounds i8, ptr %.0521, i64 176
  store i64 0, ptr %2382, align 8, !tbaa !50
  %2383 = load i32, ptr @test_count, align 4, !tbaa !5
  %2384 = add nsw i32 %2383, 1
  store i32 %2384, ptr @test_count, align 4, !tbaa !5
  %2385 = call i32 @s2n_shutdown_send(ptr noundef %.0521, ptr noundef nonnull %21) #11
  %2386 = icmp eq i32 %2385, -1
  br i1 %2386, label %2387, label %2410

2387:                                             ; preds = %2380
  %2388 = tail call ptr @__errno_location() #12
  %2389 = load i32, ptr %2388, align 4, !tbaa !5
  %2390 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2391 = call i32 @s2n_print_stacktrace(ptr noundef %2390) #11
  %2392 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2393 = trunc nuw i8 %2392 to i1
  br i1 %2393, label %2394, label %2398

2394:                                             ; preds = %2387
  %2395 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2396 = call i32 @fileno(ptr noundef %2395) #11
  %2397 = call i32 @isatty(i32 noundef %2396) #11
  %.not681 = icmp eq i32 %2397, 0
  br i1 %.not681, label %2398, label %2399

2398:                                             ; preds = %2394, %2387
  br label %2399

2399:                                             ; preds = %2394, %2398
  %.str.5.sink1767 = phi ptr [ @.str.5, %2398 ], [ @.str.2, %2394 ]
  store i32 %2389, ptr %2388, align 4, !tbaa !5
  %2400 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2401 = load i32, ptr @test_count, align 4, !tbaa !5
  %2402 = load i32, ptr %1310, align 4, !tbaa !5
  %2403 = call ptr @s2n_strerror(i32 noundef %2402, ptr noundef nonnull @.str.4) #11
  %2404 = load i32, ptr %1310, align 4, !tbaa !5
  %2405 = call ptr @s2n_strerror_debug(i32 noundef %2404, ptr noundef nonnull @.str.4) #11
  %2406 = load i32, ptr %2388, align 4, !tbaa !5
  %2407 = call ptr @strerror(i32 noundef %2406) #11
  %2408 = load i32, ptr %2388, align 4, !tbaa !5
  %2409 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2400, ptr noundef nonnull %.str.5.sink1767, i32 noundef %2401, ptr noundef nonnull @.str.61, ptr noundef nonnull @.str.1, i32 noundef 298, ptr noundef %2403, ptr noundef %2405, ptr noundef %2407, i32 noundef %2408) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2410:                                             ; preds = %2380
  %2411 = load i32, ptr @test_count, align 4, !tbaa !5
  %2412 = add nsw i32 %2411, 1
  store i32 %2412, ptr @test_count, align 4, !tbaa !5
  %2413 = getelementptr inbounds i8, ptr %.0521, i64 2003
  %2414 = load i8, ptr %2413, align 1, !tbaa !51, !range !13, !noundef !14
  %2415 = trunc nuw i8 %2414 to i1
  br i1 %2415, label %2439, label %2416

2416:                                             ; preds = %2410
  %2417 = tail call ptr @__errno_location() #12
  %2418 = load i32, ptr %2417, align 4, !tbaa !5
  %2419 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2420 = call i32 @s2n_print_stacktrace(ptr noundef %2419) #11
  %2421 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2422 = trunc nuw i8 %2421 to i1
  br i1 %2422, label %2423, label %2427

2423:                                             ; preds = %2416
  %2424 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2425 = call i32 @fileno(ptr noundef %2424) #11
  %2426 = call i32 @isatty(i32 noundef %2425) #11
  %.not667 = icmp eq i32 %2426, 0
  br i1 %.not667, label %2427, label %2428

2427:                                             ; preds = %2423, %2416
  br label %2428

2428:                                             ; preds = %2423, %2427
  %.str.5.sink1777 = phi ptr [ @.str.5, %2427 ], [ @.str.2, %2423 ]
  store i32 %2418, ptr %2417, align 4, !tbaa !5
  %2429 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2430 = load i32, ptr @test_count, align 4, !tbaa !5
  %2431 = load i32, ptr %1310, align 4, !tbaa !5
  %2432 = call ptr @s2n_strerror(i32 noundef %2431, ptr noundef nonnull @.str.4) #11
  %2433 = load i32, ptr %1310, align 4, !tbaa !5
  %2434 = call ptr @s2n_strerror_debug(i32 noundef %2433, ptr noundef nonnull @.str.4) #11
  %2435 = load i32, ptr %2417, align 4, !tbaa !5
  %2436 = call ptr @strerror(i32 noundef %2435) #11
  %2437 = load i32, ptr %2417, align 4, !tbaa !5
  %2438 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2429, ptr noundef nonnull %.str.5.sink1777, i32 noundef %2430, ptr noundef nonnull @.str.62, ptr noundef nonnull @.str.1, i32 noundef 299, ptr noundef %2432, ptr noundef %2434, ptr noundef %2436, i32 noundef %2437) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2439:                                             ; preds = %2410
  %2440 = add nsw i32 %2411, 2
  store i32 %2440, ptr @test_count, align 4, !tbaa !5
  %2441 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef nonnull %.0521, i32 noundef 3) #11
  br i1 %2441, label %2465, label %2442

2442:                                             ; preds = %2439
  %2443 = tail call ptr @__errno_location() #12
  %2444 = load i32, ptr %2443, 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 = %2442
  %2450 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2451 = call i32 @fileno(ptr noundef %2450) #11
  %2452 = call i32 @isatty(i32 noundef %2451) #11
  %.not668 = icmp eq i32 %2452, 0
  br i1 %.not668, label %2453, label %2454

2453:                                             ; preds = %2449, %2442
  br label %2454

2454:                                             ; preds = %2449, %2453
  %.str.5.sink1787 = phi ptr [ @.str.5, %2453 ], [ @.str.2, %2449 ]
  store i32 %2444, ptr %2443, 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 %1310, align 4, !tbaa !5
  %2458 = call ptr @s2n_strerror(i32 noundef %2457, ptr noundef nonnull @.str.4) #11
  %2459 = load i32, ptr %1310, align 4, !tbaa !5
  %2460 = call ptr @s2n_strerror_debug(i32 noundef %2459, ptr noundef nonnull @.str.4) #11
  %2461 = load i32, ptr %2443, align 4, !tbaa !5
  %2462 = call ptr @strerror(i32 noundef %2461) #11
  %2463 = load i32, ptr %2443, align 4, !tbaa !5
  %2464 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2455, ptr noundef nonnull %.str.5.sink1787, i32 noundef %2456, ptr noundef nonnull @.str.63, ptr noundef nonnull @.str.1, i32 noundef 308, ptr noundef %2458, ptr noundef %2460, ptr noundef %2462, i32 noundef %2463) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2465:                                             ; preds = %2439
  %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 i64 @s2n_recv(ptr noundef %.0522, ptr noundef nonnull %5, i64 noundef 6, ptr noundef nonnull %21) #11
  br i1 %2381, label %2469, label %2522

2469:                                             ; preds = %2465
  %2470 = icmp eq i64 %2468, 0
  br i1 %2470, label %2494, label %2471

2471:                                             ; preds = %2469
  %2472 = tail call ptr @__errno_location() #12
  %2473 = load i32, ptr %2472, align 4, !tbaa !5
  %2474 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2475 = call i32 @s2n_print_stacktrace(ptr noundef %2474) #11
  %2476 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2477 = trunc nuw i8 %2476 to i1
  br i1 %2477, label %2478, label %2482

2478:                                             ; preds = %2471
  %2479 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2480 = call i32 @fileno(ptr noundef %2479) #11
  %2481 = call i32 @isatty(i32 noundef %2480) #11
  %.not672 = icmp eq i32 %2481, 0
  br i1 %.not672, label %2482, label %2483

2482:                                             ; preds = %2478, %2471
  br label %2483

2483:                                             ; preds = %2478, %2482
  %.str.5.sink1797 = phi ptr [ @.str.5, %2482 ], [ @.str.2, %2478 ]
  store i32 %2473, ptr %2472, align 4, !tbaa !5
  %2484 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2485 = load i32, ptr @test_count, align 4, !tbaa !5
  %2486 = load i32, ptr %1310, align 4, !tbaa !5
  %2487 = call ptr @s2n_strerror(i32 noundef %2486, ptr noundef nonnull @.str.4) #11
  %2488 = load i32, ptr %1310, align 4, !tbaa !5
  %2489 = call ptr @s2n_strerror_debug(i32 noundef %2488, ptr noundef nonnull @.str.4) #11
  %2490 = load i32, ptr %2472, align 4, !tbaa !5
  %2491 = call ptr @strerror(i32 noundef %2490) #11
  %2492 = load i32, ptr %2472, align 4, !tbaa !5
  %2493 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2484, ptr noundef nonnull %.str.5.sink1797, i32 noundef %2485, ptr noundef nonnull @.str.64, ptr noundef nonnull @.str.1, i32 noundef 317, ptr noundef %2487, ptr noundef %2489, ptr noundef %2491, i32 noundef %2492) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2494:                                             ; preds = %2469
  %2495 = load i32, ptr @test_count, align 4, !tbaa !5
  %2496 = add nsw i32 %2495, 1
  store i32 %2496, ptr @test_count, align 4, !tbaa !5
  %2497 = load i32, ptr %21, align 4, !tbaa !5
  %2498 = icmp eq i32 %2497, 0
  br i1 %2498, label %2604, label %2499

2499:                                             ; preds = %2494
  %2500 = tail call ptr @__errno_location() #12
  %2501 = load i32, ptr %2500, align 4, !tbaa !5
  %2502 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2503 = call i32 @s2n_print_stacktrace(ptr noundef %2502) #11
  %2504 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2505 = trunc nuw i8 %2504 to i1
  br i1 %2505, label %2506, label %2510

2506:                                             ; preds = %2499
  %2507 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2508 = call i32 @fileno(ptr noundef %2507) #11
  %2509 = call i32 @isatty(i32 noundef %2508) #11
  %.not673 = icmp eq i32 %2509, 0
  br i1 %.not673, label %2510, label %2511

2510:                                             ; preds = %2506, %2499
  br label %2511

2511:                                             ; preds = %2506, %2510
  %.str.5.sink1807 = phi ptr [ @.str.5, %2510 ], [ @.str.2, %2506 ]
  store i32 %2501, ptr %2500, align 4, !tbaa !5
  %2512 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2513 = load i32, ptr @test_count, align 4, !tbaa !5
  %2514 = load i32, ptr %1310, align 4, !tbaa !5
  %2515 = call ptr @s2n_strerror(i32 noundef %2514, ptr noundef nonnull @.str.4) #11
  %2516 = load i32, ptr %1310, align 4, !tbaa !5
  %2517 = call ptr @s2n_strerror_debug(i32 noundef %2516, ptr noundef nonnull @.str.4) #11
  %2518 = load i32, ptr %2500, align 4, !tbaa !5
  %2519 = call ptr @strerror(i32 noundef %2518) #11
  %2520 = load i32, ptr %2500, align 4, !tbaa !5
  %2521 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2512, ptr noundef nonnull %.str.5.sink1807, i32 noundef %2513, ptr noundef nonnull @.str.65, ptr noundef nonnull @.str.1, i32 noundef 318, ptr noundef %2515, ptr noundef %2517, ptr noundef %2519, i32 noundef %2520) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2522:                                             ; preds = %2465
  %2523 = icmp eq i64 %2468, -1
  br i1 %2523, label %2547, label %2524

2524:                                             ; preds = %2522
  %2525 = tail call ptr @__errno_location() #12
  %2526 = load i32, ptr %2525, align 4, !tbaa !5
  %2527 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2528 = call i32 @s2n_print_stacktrace(ptr noundef %2527) #11
  %2529 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2530 = trunc nuw i8 %2529 to i1
  br i1 %2530, label %2531, label %2535

2531:                                             ; preds = %2524
  %2532 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2533 = call i32 @fileno(ptr noundef %2532) #11
  %2534 = call i32 @isatty(i32 noundef %2533) #11
  %.not669 = icmp eq i32 %2534, 0
  br i1 %.not669, label %2535, label %2536

2535:                                             ; preds = %2531, %2524
  br label %2536

2536:                                             ; preds = %2531, %2535
  %.str.5.sink1817 = phi ptr [ @.str.5, %2535 ], [ @.str.2, %2531 ]
  store i32 %2526, ptr %2525, align 4, !tbaa !5
  %2537 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2538 = load i32, ptr @test_count, align 4, !tbaa !5
  %2539 = load i32, ptr %1310, align 4, !tbaa !5
  %2540 = call ptr @s2n_strerror(i32 noundef %2539, ptr noundef nonnull @.str.4) #11
  %2541 = load i32, ptr %1310, align 4, !tbaa !5
  %2542 = call ptr @s2n_strerror_debug(i32 noundef %2541, ptr noundef nonnull @.str.4) #11
  %2543 = load i32, ptr %2525, align 4, !tbaa !5
  %2544 = call ptr @strerror(i32 noundef %2543) #11
  %2545 = load i32, ptr %2525, align 4, !tbaa !5
  %2546 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2537, ptr noundef nonnull %.str.5.sink1817, i32 noundef %2538, ptr noundef nonnull @.str.66, ptr noundef nonnull @.str.1, i32 noundef 320, ptr noundef %2540, ptr noundef %2542, ptr noundef %2544, i32 noundef %2545) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2547:                                             ; preds = %2522
  %2548 = load i32, ptr @test_count, align 4, !tbaa !5
  %2549 = add nsw i32 %2548, 1
  store i32 %2549, ptr @test_count, align 4, !tbaa !5
  %2550 = load i32, ptr %1310, align 4, !tbaa !5
  %2551 = icmp eq i32 %2550, 268435456
  br i1 %2551, label %2575, label %2552

2552:                                             ; preds = %2547
  %2553 = tail call ptr @__errno_location() #12
  %2554 = load i32, ptr %2553, align 4, !tbaa !5
  %2555 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2556 = call i32 @s2n_print_stacktrace(ptr noundef %2555) #11
  %2557 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2558 = trunc nuw i8 %2557 to i1
  br i1 %2558, label %2559, label %2563

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

2563:                                             ; preds = %2559, %2552
  br label %2564

2564:                                             ; preds = %2559, %2563
  %.str.5.sink1827 = phi ptr [ @.str.5, %2563 ], [ @.str.2, %2559 ]
  store i32 %2554, ptr %2553, align 4, !tbaa !5
  %2565 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2566 = load i32, ptr @test_count, align 4, !tbaa !5
  %2567 = load i32, ptr %1310, align 4, !tbaa !5
  %2568 = call ptr @s2n_strerror(i32 noundef %2567, ptr noundef nonnull @.str.4) #11
  %2569 = load i32, ptr %1310, align 4, !tbaa !5
  %2570 = call ptr @s2n_strerror_debug(i32 noundef %2569, ptr noundef nonnull @.str.4) #11
  %2571 = load i32, ptr %2553, align 4, !tbaa !5
  %2572 = call ptr @strerror(i32 noundef %2571) #11
  %2573 = load i32, ptr %2553, align 4, !tbaa !5
  %2574 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2565, ptr noundef nonnull %.str.5.sink1827, i32 noundef %2566, ptr noundef nonnull @.str.34, ptr noundef nonnull @.str.1, i32 noundef 320, ptr noundef %2568, ptr noundef %2570, ptr noundef %2572, i32 noundef %2573) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2575:                                             ; preds = %2547
  %2576 = add nsw i32 %2548, 2
  store i32 %2576, ptr @test_count, align 4, !tbaa !5
  %2577 = call ptr @s2n_strerror_debug(i32 noundef 268435456, ptr noundef nonnull @.str.4) #11
  %2578 = icmp eq ptr %2577, null
  br i1 %2578, label %2579, label %2602

2579:                                             ; preds = %2575
  %2580 = tail call ptr @__errno_location() #12
  %2581 = load i32, ptr %2580, align 4, !tbaa !5
  %2582 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2583 = call i32 @s2n_print_stacktrace(ptr noundef %2582) #11
  %2584 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2585 = trunc nuw i8 %2584 to i1
  br i1 %2585, label %2586, label %2590

2586:                                             ; preds = %2579
  %2587 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2588 = call i32 @fileno(ptr noundef %2587) #11
  %2589 = call i32 @isatty(i32 noundef %2588) #11
  %.not671 = icmp eq i32 %2589, 0
  br i1 %.not671, label %2590, label %2591

2590:                                             ; preds = %2586, %2579
  br label %2591

2591:                                             ; preds = %2586, %2590
  %.str.5.sink1837 = phi ptr [ @.str.5, %2590 ], [ @.str.2, %2586 ]
  store i32 %2581, ptr %2580, align 4, !tbaa !5
  %2592 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2593 = load i32, ptr @test_count, align 4, !tbaa !5
  %2594 = load i32, ptr %1310, align 4, !tbaa !5
  %2595 = call ptr @s2n_strerror(i32 noundef %2594, ptr noundef nonnull @.str.4) #11
  %2596 = load i32, ptr %1310, align 4, !tbaa !5
  %2597 = call ptr @s2n_strerror_debug(i32 noundef %2596, ptr noundef nonnull @.str.4) #11
  %2598 = load i32, ptr %2580, align 4, !tbaa !5
  %2599 = call ptr @strerror(i32 noundef %2598) #11
  %2600 = load i32, ptr %2580, align 4, !tbaa !5
  %2601 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2592, ptr noundef nonnull %.str.5.sink1837, i32 noundef %2593, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.1, i32 noundef 320, ptr noundef %2595, ptr noundef %2597, ptr noundef %2599, i32 noundef %2600) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2602:                                             ; preds = %2575
  store i32 0, ptr %1310, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #11
  %2603 = tail call ptr @__errno_location() #12
  store i32 0, ptr %2603, align 4, !tbaa !5
  %.pre = load i32, ptr @test_count, align 4, !tbaa !5
  br label %2604

2604:                                             ; preds = %2602, %2494
  %2605 = phi i32 [ %.pre, %2602 ], [ %2496, %2494 ]
  %2606 = add nsw i32 %2605, 1
  store i32 %2606, ptr @test_count, align 4, !tbaa !5
  %2607 = call i32 @s2n_connection_get_alert(ptr noundef %.0522) #11
  %2608 = icmp eq i32 %.0520, %2607
  br i1 %2608, label %2632, label %2609

2609:                                             ; preds = %2604
  %2610 = tail call ptr @__errno_location() #12
  %2611 = load i32, ptr %2610, align 4, !tbaa !5
  %2612 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2613 = call i32 @s2n_print_stacktrace(ptr noundef %2612) #11
  %2614 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2615 = trunc nuw i8 %2614 to i1
  br i1 %2615, label %2616, label %2620

2616:                                             ; preds = %2609
  %2617 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2618 = call i32 @fileno(ptr noundef %2617) #11
  %2619 = call i32 @isatty(i32 noundef %2618) #11
  %.not674 = icmp eq i32 %2619, 0
  br i1 %.not674, label %2620, label %2621

2620:                                             ; preds = %2616, %2609
  br label %2621

2621:                                             ; preds = %2616, %2620
  %.str.5.sink1847 = phi ptr [ @.str.5, %2620 ], [ @.str.2, %2616 ]
  store i32 %2611, ptr %2610, align 4, !tbaa !5
  %2622 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2623 = load i32, ptr @test_count, align 4, !tbaa !5
  %2624 = load i32, ptr %1310, align 4, !tbaa !5
  %2625 = call ptr @s2n_strerror(i32 noundef %2624, ptr noundef nonnull @.str.4) #11
  %2626 = load i32, ptr %1310, align 4, !tbaa !5
  %2627 = call ptr @s2n_strerror_debug(i32 noundef %2626, ptr noundef nonnull @.str.4) #11
  %2628 = load i32, ptr %2610, align 4, !tbaa !5
  %2629 = call ptr @strerror(i32 noundef %2628) #11
  %2630 = load i32, ptr %2610, align 4, !tbaa !5
  %2631 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2622, ptr noundef nonnull %.str.5.sink1847, i32 noundef %2623, ptr noundef nonnull @.str.67, ptr noundef nonnull @.str.1, i32 noundef 322, ptr noundef %2625, ptr noundef %2627, ptr noundef %2629, i32 noundef %2630) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2632:                                             ; preds = %2604
  %2633 = load i32, ptr @test_count, align 4, !tbaa !5
  %2634 = add nsw i32 %2633, 1
  store i32 %2634, ptr @test_count, align 4, !tbaa !5
  %2635 = call i64 @s2n_send(ptr noundef nonnull %.0521, ptr noundef nonnull %5, i64 noundef 6, ptr noundef nonnull %21) #11
  %2636 = icmp eq i64 %2635, -1
  br i1 %2636, label %2660, label %2637

2637:                                             ; preds = %2632
  %2638 = tail call ptr @__errno_location() #12
  %2639 = load i32, ptr %2638, align 4, !tbaa !5
  %2640 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2641 = call i32 @s2n_print_stacktrace(ptr noundef %2640) #11
  %2642 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2643 = trunc nuw i8 %2642 to i1
  br i1 %2643, label %2644, label %2648

2644:                                             ; preds = %2637
  %2645 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2646 = call i32 @fileno(ptr noundef %2645) #11
  %2647 = call i32 @isatty(i32 noundef %2646) #11
  %.not675 = icmp eq i32 %2647, 0
  br i1 %.not675, label %2648, label %2649

2648:                                             ; preds = %2644, %2637
  br label %2649

2649:                                             ; preds = %2644, %2648
  %.str.5.sink1857 = phi ptr [ @.str.5, %2648 ], [ @.str.2, %2644 ]
  store i32 %2639, ptr %2638, align 4, !tbaa !5
  %2650 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2651 = load i32, ptr @test_count, align 4, !tbaa !5
  %2652 = load i32, ptr %1310, align 4, !tbaa !5
  %2653 = call ptr @s2n_strerror(i32 noundef %2652, ptr noundef nonnull @.str.4) #11
  %2654 = load i32, ptr %1310, align 4, !tbaa !5
  %2655 = call ptr @s2n_strerror_debug(i32 noundef %2654, ptr noundef nonnull @.str.4) #11
  %2656 = load i32, ptr %2638, align 4, !tbaa !5
  %2657 = call ptr @strerror(i32 noundef %2656) #11
  %2658 = load i32, ptr %2638, align 4, !tbaa !5
  %2659 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2650, ptr noundef nonnull %.str.5.sink1857, i32 noundef %2651, ptr noundef nonnull @.str.68, ptr noundef nonnull @.str.1, i32 noundef 330, ptr noundef %2653, ptr noundef %2655, ptr noundef %2657, i32 noundef %2658) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2660:                                             ; preds = %2632
  %2661 = load i32, ptr @test_count, align 4, !tbaa !5
  %2662 = add nsw i32 %2661, 1
  store i32 %2662, ptr @test_count, align 4, !tbaa !5
  %2663 = load i32, ptr %1310, align 4, !tbaa !5
  %2664 = icmp eq i32 %2663, 134217728
  br i1 %2664, label %2688, label %2665

2665:                                             ; preds = %2660
  %2666 = tail call ptr @__errno_location() #12
  %2667 = load i32, ptr %2666, align 4, !tbaa !5
  %2668 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2669 = call i32 @s2n_print_stacktrace(ptr noundef %2668) #11
  %2670 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2671 = trunc nuw i8 %2670 to i1
  br i1 %2671, label %2672, label %2676

2672:                                             ; preds = %2665
  %2673 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2674 = call i32 @fileno(ptr noundef %2673) #11
  %2675 = call i32 @isatty(i32 noundef %2674) #11
  %.not676 = icmp eq i32 %2675, 0
  br i1 %.not676, label %2676, label %2677

2676:                                             ; preds = %2672, %2665
  br label %2677

2677:                                             ; preds = %2672, %2676
  %.str.5.sink1867 = phi ptr [ @.str.5, %2676 ], [ @.str.2, %2672 ]
  store i32 %2667, ptr %2666, align 4, !tbaa !5
  %2678 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2679 = load i32, ptr @test_count, align 4, !tbaa !5
  %2680 = load i32, ptr %1310, align 4, !tbaa !5
  %2681 = call ptr @s2n_strerror(i32 noundef %2680, ptr noundef nonnull @.str.4) #11
  %2682 = load i32, ptr %1310, align 4, !tbaa !5
  %2683 = call ptr @s2n_strerror_debug(i32 noundef %2682, ptr noundef nonnull @.str.4) #11
  %2684 = load i32, ptr %2666, align 4, !tbaa !5
  %2685 = call ptr @strerror(i32 noundef %2684) #11
  %2686 = load i32, ptr %2666, align 4, !tbaa !5
  %2687 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2678, ptr noundef nonnull %.str.5.sink1867, i32 noundef %2679, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.1, i32 noundef 330, ptr noundef %2681, ptr noundef %2683, ptr noundef %2685, i32 noundef %2686) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2688:                                             ; preds = %2660
  %2689 = add nsw i32 %2661, 2
  store i32 %2689, ptr @test_count, align 4, !tbaa !5
  %2690 = call ptr @s2n_strerror_debug(i32 noundef 134217728, ptr noundef nonnull @.str.4) #11
  %2691 = icmp eq ptr %2690, null
  br i1 %2691, label %2692, label %2715

2692:                                             ; preds = %2688
  %2693 = tail call ptr @__errno_location() #12
  %2694 = load i32, ptr %2693, align 4, !tbaa !5
  %2695 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2696 = call i32 @s2n_print_stacktrace(ptr noundef %2695) #11
  %2697 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2698 = trunc nuw i8 %2697 to i1
  br i1 %2698, label %2699, label %2703

2699:                                             ; preds = %2692
  %2700 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2701 = call i32 @fileno(ptr noundef %2700) #11
  %2702 = call i32 @isatty(i32 noundef %2701) #11
  %.not680 = icmp eq i32 %2702, 0
  br i1 %.not680, label %2703, label %2704

2703:                                             ; preds = %2699, %2692
  br label %2704

2704:                                             ; preds = %2699, %2703
  %.str.5.sink1877 = phi ptr [ @.str.5, %2703 ], [ @.str.2, %2699 ]
  store i32 %2694, ptr %2693, align 4, !tbaa !5
  %2705 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2706 = load i32, ptr @test_count, align 4, !tbaa !5
  %2707 = load i32, ptr %1310, align 4, !tbaa !5
  %2708 = call ptr @s2n_strerror(i32 noundef %2707, ptr noundef nonnull @.str.4) #11
  %2709 = load i32, ptr %1310, align 4, !tbaa !5
  %2710 = call ptr @s2n_strerror_debug(i32 noundef %2709, ptr noundef nonnull @.str.4) #11
  %2711 = load i32, ptr %2693, align 4, !tbaa !5
  %2712 = call ptr @strerror(i32 noundef %2711) #11
  %2713 = load i32, ptr %2693, align 4, !tbaa !5
  %2714 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2705, ptr noundef nonnull %.str.5.sink1877, i32 noundef %2706, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.1, i32 noundef 330, ptr noundef %2708, ptr noundef %2710, ptr noundef %2712, i32 noundef %2713) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2715:                                             ; preds = %2688
  store i32 0, ptr %1310, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #11
  %2716 = tail call ptr @__errno_location() #12
  store i32 0, ptr %2716, align 4, !tbaa !5
  %2717 = load i32, ptr @test_count, align 4, !tbaa !5
  %2718 = add nsw i32 %2717, 1
  store i32 %2718, ptr @test_count, align 4, !tbaa !5
  %2719 = call i64 @s2n_recv(ptr noundef nonnull %.0521, ptr noundef nonnull %5, i64 noundef 6, ptr noundef nonnull %21) #11
  %2720 = icmp eq i64 %2719, -1
  br i1 %2720, label %2743, label %2721

2721:                                             ; preds = %2715
  %2722 = load i32, ptr %2716, align 4, !tbaa !5
  %2723 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2724 = call i32 @s2n_print_stacktrace(ptr noundef %2723) #11
  %2725 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2726 = trunc nuw i8 %2725 to i1
  br i1 %2726, label %2727, label %2731

2727:                                             ; preds = %2721
  %2728 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2729 = call i32 @fileno(ptr noundef %2728) #11
  %2730 = call i32 @isatty(i32 noundef %2729) #11
  %.not677 = icmp eq i32 %2730, 0
  br i1 %.not677, label %2731, label %2732

2731:                                             ; preds = %2727, %2721
  br label %2732

2732:                                             ; preds = %2727, %2731
  %.str.5.sink1887 = phi ptr [ @.str.5, %2731 ], [ @.str.2, %2727 ]
  store i32 %2722, ptr %2716, align 4, !tbaa !5
  %2733 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2734 = load i32, ptr @test_count, align 4, !tbaa !5
  %2735 = load i32, ptr %1310, align 4, !tbaa !5
  %2736 = call ptr @s2n_strerror(i32 noundef %2735, ptr noundef nonnull @.str.4) #11
  %2737 = load i32, ptr %1310, align 4, !tbaa !5
  %2738 = call ptr @s2n_strerror_debug(i32 noundef %2737, ptr noundef nonnull @.str.4) #11
  %2739 = load i32, ptr %2716, align 4, !tbaa !5
  %2740 = call ptr @strerror(i32 noundef %2739) #11
  %2741 = load i32, ptr %2716, align 4, !tbaa !5
  %2742 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2733, ptr noundef nonnull %.str.5.sink1887, i32 noundef %2734, ptr noundef nonnull @.str.69, ptr noundef nonnull @.str.1, i32 noundef 331, ptr noundef %2736, ptr noundef %2738, ptr noundef %2740, i32 noundef %2741) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2743:                                             ; preds = %2715
  %2744 = load i32, ptr @test_count, align 4, !tbaa !5
  %2745 = add nsw i32 %2744, 1
  store i32 %2745, ptr @test_count, align 4, !tbaa !5
  %2746 = load i32, ptr %1310, align 4, !tbaa !5
  %2747 = icmp eq i32 %2746, 134217728
  br i1 %2747, label %2770, label %2748

2748:                                             ; preds = %2743
  %2749 = load i32, ptr %2716, align 4, !tbaa !5
  %2750 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2751 = call i32 @s2n_print_stacktrace(ptr noundef %2750) #11
  %2752 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2753 = trunc nuw i8 %2752 to i1
  br i1 %2753, label %2754, label %2758

2754:                                             ; preds = %2748
  %2755 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2756 = call i32 @fileno(ptr noundef %2755) #11
  %2757 = call i32 @isatty(i32 noundef %2756) #11
  %.not678 = icmp eq i32 %2757, 0
  br i1 %.not678, label %2758, label %2759

2758:                                             ; preds = %2754, %2748
  br label %2759

2759:                                             ; preds = %2754, %2758
  %.str.5.sink1897 = phi ptr [ @.str.5, %2758 ], [ @.str.2, %2754 ]
  store i32 %2749, ptr %2716, align 4, !tbaa !5
  %2760 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2761 = load i32, ptr @test_count, align 4, !tbaa !5
  %2762 = load i32, ptr %1310, align 4, !tbaa !5
  %2763 = call ptr @s2n_strerror(i32 noundef %2762, ptr noundef nonnull @.str.4) #11
  %2764 = load i32, ptr %1310, align 4, !tbaa !5
  %2765 = call ptr @s2n_strerror_debug(i32 noundef %2764, ptr noundef nonnull @.str.4) #11
  %2766 = load i32, ptr %2716, align 4, !tbaa !5
  %2767 = call ptr @strerror(i32 noundef %2766) #11
  %2768 = load i32, ptr %2716, align 4, !tbaa !5
  %2769 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2760, ptr noundef nonnull %.str.5.sink1897, i32 noundef %2761, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.1, i32 noundef 331, ptr noundef %2763, ptr noundef %2765, ptr noundef %2767, i32 noundef %2768) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2770:                                             ; preds = %2743
  %2771 = add nsw i32 %2744, 2
  store i32 %2771, ptr @test_count, align 4, !tbaa !5
  %2772 = call ptr @s2n_strerror_debug(i32 noundef 134217728, ptr noundef nonnull @.str.4) #11
  %2773 = icmp eq ptr %2772, null
  br i1 %2773, label %2774, label %2796

2774:                                             ; preds = %2770
  %2775 = load i32, ptr %2716, align 4, !tbaa !5
  %2776 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2777 = call i32 @s2n_print_stacktrace(ptr noundef %2776) #11
  %2778 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2779 = trunc nuw i8 %2778 to i1
  br i1 %2779, label %2780, label %2784

2780:                                             ; preds = %2774
  %2781 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2782 = call i32 @fileno(ptr noundef %2781) #11
  %2783 = call i32 @isatty(i32 noundef %2782) #11
  %.not679 = icmp eq i32 %2783, 0
  br i1 %.not679, label %2784, label %2785

2784:                                             ; preds = %2780, %2774
  br label %2785

2785:                                             ; preds = %2780, %2784
  %.str.5.sink1907 = phi ptr [ @.str.5, %2784 ], [ @.str.2, %2780 ]
  store i32 %2775, ptr %2716, align 4, !tbaa !5
  %2786 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2787 = load i32, ptr @test_count, align 4, !tbaa !5
  %2788 = load i32, ptr %1310, align 4, !tbaa !5
  %2789 = call ptr @s2n_strerror(i32 noundef %2788, ptr noundef nonnull @.str.4) #11
  %2790 = load i32, ptr %1310, align 4, !tbaa !5
  %2791 = call ptr @s2n_strerror_debug(i32 noundef %2790, ptr noundef nonnull @.str.4) #11
  %2792 = load i32, ptr %2716, align 4, !tbaa !5
  %2793 = call ptr @strerror(i32 noundef %2792) #11
  %2794 = load i32, ptr %2716, align 4, !tbaa !5
  %2795 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2786, ptr noundef nonnull %.str.5.sink1907, i32 noundef %2787, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.1, i32 noundef 331, ptr noundef %2789, ptr noundef %2791, ptr noundef %2793, i32 noundef %2794) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2796:                                             ; preds = %2770
  store i32 0, ptr %1310, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #11
  store i32 0, ptr %2716, align 4, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %21) #11
  %2797 = call i32 @s2n_io_stuffer_pair_free(ptr noundef nonnull %20) #11
  call void @llvm.lifetime.end.p0(i64 80, ptr nonnull %20) #11
  %2798 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %19) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %19) #11
  %2799 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %18) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %18) #11
  %2800 = add nuw nsw i64 %.0518836, 1
  %exitcond875.not = icmp eq i64 %2800, 5
  br i1 %exitcond875.not, label %1311, label %1314, !llvm.loop !52

.preheader746:                                    ; preds = %1311, %2803
  %2801 = phi ptr [ %1406, %1311 ], [ %2895, %2803 ]
  %2802 = phi i1 [ true, %1311 ], [ false, %2803 ]
  br label %2804

2803:                                             ; preds = %3406
  br i1 %2802, label %.preheader746, label %.preheader745, !llvm.loop !53

2804:                                             ; preds = %.preheader746, %3406
  %2805 = phi ptr [ %2801, %.preheader746 ], [ %2895, %3406 ]
  %2806 = phi i1 [ false, %.preheader746 ], [ true, %3406 ]
  %2807 = phi i1 [ true, %.preheader746 ], [ false, %3406 ]
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %23) #11
  %2808 = call ptr @s2n_connection_new(i32 noundef 0) #11
  store ptr %2808, ptr %23, align 8, !tbaa !9
  %2809 = load i32, ptr @test_count, align 4, !tbaa !5
  %2810 = add nsw i32 %2809, 1
  store i32 %2810, ptr @test_count, align 4, !tbaa !5
  %2811 = call i32 @s2n_connection_set_blinding(ptr noundef %2808, i32 noundef 1) #11
  %2812 = icmp eq i32 %2811, -1
  br i1 %2812, label %2813, label %2835

2813:                                             ; preds = %2804
  %2814 = load i32, ptr %2716, align 4, !tbaa !5
  %2815 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2816 = call i32 @s2n_print_stacktrace(ptr noundef %2815) #11
  %2817 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2818 = trunc nuw i8 %2817 to i1
  br i1 %2818, label %2819, label %2823

2819:                                             ; preds = %2813
  %2820 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2821 = call i32 @fileno(ptr noundef %2820) #11
  %2822 = call i32 @isatty(i32 noundef %2821) #11
  %.not636 = icmp eq i32 %2822, 0
  br i1 %.not636, label %2823, label %2824

2823:                                             ; preds = %2819, %2813
  br label %2824

2824:                                             ; preds = %2819, %2823
  %.str.5.sink1917 = phi ptr [ @.str.5, %2823 ], [ @.str.2, %2819 ]
  store i32 %2814, ptr %2716, align 4, !tbaa !5
  %2825 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2826 = load i32, ptr @test_count, align 4, !tbaa !5
  %2827 = load i32, ptr %1310, align 4, !tbaa !5
  %2828 = call ptr @s2n_strerror(i32 noundef %2827, ptr noundef nonnull @.str.4) #11
  %2829 = load i32, ptr %1310, align 4, !tbaa !5
  %2830 = call ptr @s2n_strerror_debug(i32 noundef %2829, ptr noundef nonnull @.str.4) #11
  %2831 = load i32, ptr %2716, align 4, !tbaa !5
  %2832 = call ptr @strerror(i32 noundef %2831) #11
  %2833 = load i32, ptr %2716, align 4, !tbaa !5
  %2834 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2825, ptr noundef nonnull %.str.5.sink1917, i32 noundef %2826, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 347, ptr noundef %2828, ptr noundef %2830, ptr noundef %2832, i32 noundef %2833) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2835:                                             ; preds = %2804
  %2836 = load i32, ptr @test_count, align 4, !tbaa !5
  %2837 = add nsw i32 %2836, 1
  store i32 %2837, ptr @test_count, align 4, !tbaa !5
  %2838 = load ptr, ptr %23, align 8, !tbaa !9
  %2839 = call i32 @s2n_connection_set_config(ptr noundef %2838, ptr noundef %2805) #11
  %2840 = icmp eq i32 %2839, -1
  br i1 %2840, label %2841, label %2863

2841:                                             ; preds = %2835
  %2842 = load i32, ptr %2716, align 4, !tbaa !5
  %2843 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2844 = call i32 @s2n_print_stacktrace(ptr noundef %2843) #11
  %2845 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2846 = trunc nuw i8 %2845 to i1
  br i1 %2846, label %2847, label %2851

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

2851:                                             ; preds = %2847, %2841
  br label %2852

2852:                                             ; preds = %2847, %2851
  %.str.5.sink1927 = phi ptr [ @.str.5, %2851 ], [ @.str.2, %2847 ]
  store i32 %2842, ptr %2716, align 4, !tbaa !5
  %2853 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2854 = load i32, ptr @test_count, align 4, !tbaa !5
  %2855 = load i32, ptr %1310, align 4, !tbaa !5
  %2856 = call ptr @s2n_strerror(i32 noundef %2855, ptr noundef nonnull @.str.4) #11
  %2857 = load i32, ptr %1310, align 4, !tbaa !5
  %2858 = call ptr @s2n_strerror_debug(i32 noundef %2857, ptr noundef nonnull @.str.4) #11
  %2859 = load i32, ptr %2716, align 4, !tbaa !5
  %2860 = call ptr @strerror(i32 noundef %2859) #11
  %2861 = load i32, ptr %2716, align 4, !tbaa !5
  %2862 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2853, ptr noundef nonnull %.str.5.sink1927, i32 noundef %2854, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 348, ptr noundef %2856, ptr noundef %2858, ptr noundef %2860, i32 noundef %2861) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2863:                                             ; preds = %2835
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %24) #11
  %2864 = call ptr @s2n_connection_new(i32 noundef 1) #11
  store ptr %2864, ptr %24, align 8, !tbaa !9
  %2865 = load i32, ptr @test_count, align 4, !tbaa !5
  %2866 = add nsw i32 %2865, 1
  store i32 %2866, ptr @test_count, align 4, !tbaa !5
  %2867 = call i32 @s2n_connection_set_blinding(ptr noundef %2864, i32 noundef 1) #11
  %2868 = icmp eq i32 %2867, -1
  br i1 %2868, label %2869, label %2891

2869:                                             ; preds = %2863
  %2870 = load i32, ptr %2716, align 4, !tbaa !5
  %2871 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2872 = call i32 @s2n_print_stacktrace(ptr noundef %2871) #11
  %2873 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2874 = trunc nuw i8 %2873 to i1
  br i1 %2874, label %2875, label %2879

2875:                                             ; preds = %2869
  %2876 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2877 = call i32 @fileno(ptr noundef %2876) #11
  %2878 = call i32 @isatty(i32 noundef %2877) #11
  %.not634 = icmp eq i32 %2878, 0
  br i1 %.not634, label %2879, label %2880

2879:                                             ; preds = %2875, %2869
  br label %2880

2880:                                             ; preds = %2875, %2879
  %.str.5.sink1937 = phi ptr [ @.str.5, %2879 ], [ @.str.2, %2875 ]
  store i32 %2870, ptr %2716, align 4, !tbaa !5
  %2881 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2882 = load i32, ptr @test_count, align 4, !tbaa !5
  %2883 = load i32, ptr %1310, align 4, !tbaa !5
  %2884 = call ptr @s2n_strerror(i32 noundef %2883, ptr noundef nonnull @.str.4) #11
  %2885 = load i32, ptr %1310, align 4, !tbaa !5
  %2886 = call ptr @s2n_strerror_debug(i32 noundef %2885, ptr noundef nonnull @.str.4) #11
  %2887 = load i32, ptr %2716, align 4, !tbaa !5
  %2888 = call ptr @strerror(i32 noundef %2887) #11
  %2889 = load i32, ptr %2716, align 4, !tbaa !5
  %2890 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2881, ptr noundef nonnull %.str.5.sink1937, i32 noundef %2882, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.1, i32 noundef 352, ptr noundef %2884, ptr noundef %2886, ptr noundef %2888, i32 noundef %2889) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2891:                                             ; preds = %2863
  %2892 = load i32, ptr @test_count, align 4, !tbaa !5
  %2893 = add nsw i32 %2892, 1
  store i32 %2893, ptr @test_count, align 4, !tbaa !5
  %2894 = load ptr, ptr %24, align 8, !tbaa !9
  %2895 = load ptr, ptr %9, align 8, !tbaa !9
  %2896 = call i32 @s2n_connection_set_config(ptr noundef %2894, ptr noundef %2895) #11
  %2897 = icmp eq i32 %2896, -1
  br i1 %2897, label %2898, label %2920

2898:                                             ; preds = %2891
  %2899 = load i32, ptr %2716, align 4, !tbaa !5
  %2900 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2901 = call i32 @s2n_print_stacktrace(ptr noundef %2900) #11
  %2902 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2903 = trunc nuw i8 %2902 to i1
  br i1 %2903, label %2904, label %2908

2904:                                             ; preds = %2898
  %2905 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2906 = call i32 @fileno(ptr noundef %2905) #11
  %2907 = call i32 @isatty(i32 noundef %2906) #11
  %.not633 = icmp eq i32 %2907, 0
  br i1 %.not633, label %2908, label %2909

2908:                                             ; preds = %2904, %2898
  br label %2909

2909:                                             ; preds = %2904, %2908
  %.str.5.sink1947 = phi ptr [ @.str.5, %2908 ], [ @.str.2, %2904 ]
  store i32 %2899, ptr %2716, align 4, !tbaa !5
  %2910 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2911 = load i32, ptr @test_count, align 4, !tbaa !5
  %2912 = load i32, ptr %1310, align 4, !tbaa !5
  %2913 = call ptr @s2n_strerror(i32 noundef %2912, ptr noundef nonnull @.str.4) #11
  %2914 = load i32, ptr %1310, align 4, !tbaa !5
  %2915 = call ptr @s2n_strerror_debug(i32 noundef %2914, ptr noundef nonnull @.str.4) #11
  %2916 = load i32, ptr %2716, align 4, !tbaa !5
  %2917 = call ptr @strerror(i32 noundef %2916) #11
  %2918 = load i32, ptr %2716, align 4, !tbaa !5
  %2919 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2910, ptr noundef nonnull %.str.5.sink1947, i32 noundef %2911, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 353, ptr noundef %2913, ptr noundef %2915, ptr noundef %2917, i32 noundef %2918) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2920:                                             ; preds = %2891
  call void @llvm.lifetime.start.p0(i64 80, ptr nonnull %25) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(80) %25, i8 0, i64 80, i1 false)
  %2921 = load i32, ptr @test_count, align 4, !tbaa !5
  %2922 = add nsw i32 %2921, 1
  store i32 %2922, ptr @test_count, align 4, !tbaa !5
  %2923 = call i32 @s2n_io_stuffer_pair_init(ptr noundef nonnull %25) #11
  %2924 = call zeroext i1 @s2n_result_is_ok(i32 %2923)
  br i1 %2924, label %2947, label %2925

2925:                                             ; preds = %2920
  %2926 = load i32, ptr %2716, align 4, !tbaa !5
  %2927 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2928 = call i32 @s2n_print_stacktrace(ptr noundef %2927) #11
  %2929 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2930 = trunc nuw i8 %2929 to i1
  br i1 %2930, label %2931, label %2935

2931:                                             ; preds = %2925
  %2932 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2933 = call i32 @fileno(ptr noundef %2932) #11
  %2934 = call i32 @isatty(i32 noundef %2933) #11
  %.not615 = icmp eq i32 %2934, 0
  br i1 %.not615, label %2935, label %2936

2935:                                             ; preds = %2931, %2925
  br label %2936

2936:                                             ; preds = %2931, %2935
  %.str.5.sink1957 = phi ptr [ @.str.5, %2935 ], [ @.str.2, %2931 ]
  store i32 %2926, ptr %2716, align 4, !tbaa !5
  %2937 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2938 = load i32, ptr @test_count, align 4, !tbaa !5
  %2939 = load i32, ptr %1310, align 4, !tbaa !5
  %2940 = call ptr @s2n_strerror(i32 noundef %2939, ptr noundef nonnull @.str.4) #11
  %2941 = load i32, ptr %1310, align 4, !tbaa !5
  %2942 = call ptr @s2n_strerror_debug(i32 noundef %2941, ptr noundef nonnull @.str.4) #11
  %2943 = load i32, ptr %2716, align 4, !tbaa !5
  %2944 = call ptr @strerror(i32 noundef %2943) #11
  %2945 = load i32, ptr %2716, align 4, !tbaa !5
  %2946 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2937, ptr noundef nonnull %.str.5.sink1957, i32 noundef %2938, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 356, ptr noundef %2940, ptr noundef %2942, ptr noundef %2944, i32 noundef %2945) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2947:                                             ; preds = %2920
  %2948 = load i32, ptr @test_count, align 4, !tbaa !5
  %2949 = add nsw i32 %2948, 1
  store i32 %2949, ptr @test_count, align 4, !tbaa !5
  %2950 = load ptr, ptr %24, align 8, !tbaa !9
  %2951 = load ptr, ptr %23, align 8, !tbaa !9
  %2952 = call i32 @s2n_connections_set_io_stuffer_pair(ptr noundef %2950, ptr noundef %2951, ptr noundef nonnull %25) #11
  %2953 = call zeroext i1 @s2n_result_is_ok(i32 %2952)
  br i1 %2953, label %2976, label %2954

2954:                                             ; preds = %2947
  %2955 = load i32, ptr %2716, align 4, !tbaa !5
  %2956 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2957 = call i32 @s2n_print_stacktrace(ptr noundef %2956) #11
  %2958 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2959 = trunc nuw i8 %2958 to i1
  br i1 %2959, label %2960, label %2964

2960:                                             ; preds = %2954
  %2961 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2962 = call i32 @fileno(ptr noundef %2961) #11
  %2963 = call i32 @isatty(i32 noundef %2962) #11
  %.not616 = icmp eq i32 %2963, 0
  br i1 %.not616, label %2964, label %2965

2964:                                             ; preds = %2960, %2954
  br label %2965

2965:                                             ; preds = %2960, %2964
  %.str.5.sink1967 = phi ptr [ @.str.5, %2964 ], [ @.str.2, %2960 ]
  store i32 %2955, ptr %2716, align 4, !tbaa !5
  %2966 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2967 = load i32, ptr @test_count, align 4, !tbaa !5
  %2968 = load i32, ptr %1310, align 4, !tbaa !5
  %2969 = call ptr @s2n_strerror(i32 noundef %2968, ptr noundef nonnull @.str.4) #11
  %2970 = load i32, ptr %1310, align 4, !tbaa !5
  %2971 = call ptr @s2n_strerror_debug(i32 noundef %2970, ptr noundef nonnull @.str.4) #11
  %2972 = load i32, ptr %2716, align 4, !tbaa !5
  %2973 = call ptr @strerror(i32 noundef %2972) #11
  %2974 = load i32, ptr %2716, align 4, !tbaa !5
  %2975 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2966, ptr noundef nonnull %.str.5.sink1967, i32 noundef %2967, ptr noundef nonnull @.str.26, ptr noundef nonnull @.str.1, i32 noundef 357, ptr noundef %2969, ptr noundef %2971, ptr noundef %2973, i32 noundef %2974) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2976:                                             ; preds = %2947
  %2977 = load i32, ptr @test_count, align 4, !tbaa !5
  %2978 = add nsw i32 %2977, 1
  store i32 %2978, ptr @test_count, align 4, !tbaa !5
  %2979 = load ptr, ptr %23, align 8, !tbaa !9
  %2980 = load ptr, ptr %24, align 8, !tbaa !9
  br i1 %2802, label %2981, label %3006

2981:                                             ; preds = %2976
  %2982 = call i32 @s2n_negotiate_test_server_and_client_until_message(ptr noundef %2979, ptr noundef %2980, i32 noundef 2) #11
  %2983 = call zeroext i1 @s2n_result_is_ok(i32 %2982)
  br i1 %2983, label %3031, label %2984

2984:                                             ; preds = %2981
  %2985 = load i32, ptr %2716, align 4, !tbaa !5
  %2986 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2987 = call i32 @s2n_print_stacktrace(ptr noundef %2986) #11
  %2988 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2989 = trunc nuw i8 %2988 to i1
  br i1 %2989, label %2990, label %2994

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

2994:                                             ; preds = %2990, %2984
  br label %2995

2995:                                             ; preds = %2990, %2994
  %.str.5.sink1977 = phi ptr [ @.str.5, %2994 ], [ @.str.2, %2990 ]
  store i32 %2985, ptr %2716, align 4, !tbaa !5
  %2996 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2997 = load i32, ptr @test_count, align 4, !tbaa !5
  %2998 = load i32, ptr %1310, align 4, !tbaa !5
  %2999 = call ptr @s2n_strerror(i32 noundef %2998, ptr noundef nonnull @.str.4) #11
  %3000 = load i32, ptr %1310, align 4, !tbaa !5
  %3001 = call ptr @s2n_strerror_debug(i32 noundef %3000, ptr noundef nonnull @.str.4) #11
  %3002 = load i32, ptr %2716, align 4, !tbaa !5
  %3003 = call ptr @strerror(i32 noundef %3002) #11
  %3004 = load i32, ptr %2716, align 4, !tbaa !5
  %3005 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2996, ptr noundef nonnull %.str.5.sink1977, i32 noundef %2997, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.1, i32 noundef 361, ptr noundef %2999, ptr noundef %3001, ptr noundef %3003, i32 noundef %3004) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3006:                                             ; preds = %2976
  %3007 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %2979, ptr noundef %2980) #11
  %3008 = icmp eq i32 %3007, -1
  br i1 %3008, label %3009, label %3031

3009:                                             ; preds = %3006
  %3010 = load i32, ptr %2716, align 4, !tbaa !5
  %3011 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3012 = call i32 @s2n_print_stacktrace(ptr noundef %3011) #11
  %3013 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3014 = trunc nuw i8 %3013 to i1
  br i1 %3014, label %3015, label %3019

3015:                                             ; preds = %3009
  %3016 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3017 = call i32 @fileno(ptr noundef %3016) #11
  %3018 = call i32 @isatty(i32 noundef %3017) #11
  %.not617 = icmp eq i32 %3018, 0
  br i1 %.not617, label %3019, label %3020

3019:                                             ; preds = %3015, %3009
  br label %3020

3020:                                             ; preds = %3015, %3019
  %.str.5.sink1987 = phi ptr [ @.str.5, %3019 ], [ @.str.2, %3015 ]
  store i32 %3010, ptr %2716, align 4, !tbaa !5
  %3021 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3022 = load i32, ptr @test_count, align 4, !tbaa !5
  %3023 = load i32, ptr %1310, align 4, !tbaa !5
  %3024 = call ptr @s2n_strerror(i32 noundef %3023, ptr noundef nonnull @.str.4) #11
  %3025 = load i32, ptr %1310, align 4, !tbaa !5
  %3026 = call ptr @s2n_strerror_debug(i32 noundef %3025, ptr noundef nonnull @.str.4) #11
  %3027 = load i32, ptr %2716, align 4, !tbaa !5
  %3028 = call ptr @strerror(i32 noundef %3027) #11
  %3029 = load i32, ptr %2716, align 4, !tbaa !5
  %3030 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3021, ptr noundef nonnull %.str.5.sink1987, i32 noundef %3022, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.1, i32 noundef 364, ptr noundef %3024, ptr noundef %3026, ptr noundef %3028, i32 noundef %3029) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3031:                                             ; preds = %3006, %2981
  %spec.select731.idx.sroa.sel.idx.sroa.sel.idx = select i1 %2806, i64 0, i64 40
  %spec.select731.idx.sroa.sel.idx.sroa.sel = getelementptr inbounds i8, ptr %25, i64 %spec.select731.idx.sroa.sel.idx.sroa.sel.idx
  %.val741 = load ptr, ptr %24, align 8
  %.val742 = load ptr, ptr %23, align 8
  %.0525 = select i1 %2806, ptr %.val741, ptr %.val742
  %3032 = load i32, ptr @test_count, align 4, !tbaa !5
  %3033 = add nsw i32 %3032, 1
  store i32 %3033, ptr @test_count, align 4, !tbaa !5
  %3034 = call i32 @s2n_stuffer_write_bytes(ptr noundef nonnull %spec.select731.idx.sroa.sel.idx.sroa.sel, ptr noundef nonnull %3, i32 noundef 5) #11
  %3035 = icmp eq i32 %3034, -1
  br i1 %3035, label %3036, label %3058

3036:                                             ; preds = %3031
  %3037 = load i32, ptr %2716, align 4, !tbaa !5
  %3038 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3039 = call i32 @s2n_print_stacktrace(ptr noundef %3038) #11
  %3040 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3041 = trunc nuw i8 %3040 to i1
  br i1 %3041, label %3042, label %3046

3042:                                             ; preds = %3036
  %3043 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3044 = call i32 @fileno(ptr noundef %3043) #11
  %3045 = call i32 @isatty(i32 noundef %3044) #11
  %.not632 = icmp eq i32 %3045, 0
  br i1 %.not632, label %3046, label %3047

3046:                                             ; preds = %3042, %3036
  br label %3047

3047:                                             ; preds = %3042, %3046
  %.str.5.sink1997 = phi ptr [ @.str.5, %3046 ], [ @.str.2, %3042 ]
  store i32 %3037, ptr %2716, align 4, !tbaa !5
  %3048 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3049 = load i32, ptr @test_count, align 4, !tbaa !5
  %3050 = load i32, ptr %1310, align 4, !tbaa !5
  %3051 = call ptr @s2n_strerror(i32 noundef %3050, ptr noundef nonnull @.str.4) #11
  %3052 = load i32, ptr %1310, align 4, !tbaa !5
  %3053 = call ptr @s2n_strerror_debug(i32 noundef %3052, ptr noundef nonnull @.str.4) #11
  %3054 = load i32, ptr %2716, align 4, !tbaa !5
  %3055 = call ptr @strerror(i32 noundef %3054) #11
  %3056 = load i32, ptr %2716, align 4, !tbaa !5
  %3057 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3048, ptr noundef nonnull %.str.5.sink1997, i32 noundef %3049, ptr noundef nonnull @.str.70, ptr noundef nonnull @.str.1, i32 noundef 375, ptr noundef %3051, ptr noundef %3053, ptr noundef %3055, i32 noundef %3056) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3058:                                             ; preds = %3031
  %3059 = load i32, ptr @test_count, align 4, !tbaa !5
  %3060 = add nsw i32 %3059, 1
  store i32 %3060, ptr @test_count, align 4, !tbaa !5
  %3061 = call i32 @s2n_stuffer_write_bytes(ptr noundef nonnull %spec.select731.idx.sroa.sel.idx.sroa.sel, ptr noundef nonnull %4, i32 noundef 2) #11
  %3062 = icmp eq i32 %3061, -1
  br i1 %3062, label %3063, label %3085

3063:                                             ; preds = %3058
  %3064 = load i32, ptr %2716, align 4, !tbaa !5
  %3065 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3066 = call i32 @s2n_print_stacktrace(ptr noundef %3065) #11
  %3067 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3068 = trunc nuw i8 %3067 to i1
  br i1 %3068, label %3069, label %3073

3069:                                             ; preds = %3063
  %3070 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3071 = call i32 @fileno(ptr noundef %3070) #11
  %3072 = call i32 @isatty(i32 noundef %3071) #11
  %.not631 = icmp eq i32 %3072, 0
  br i1 %.not631, label %3073, label %3074

3073:                                             ; preds = %3069, %3063
  br label %3074

3074:                                             ; preds = %3069, %3073
  %.str.5.sink2007 = phi ptr [ @.str.5, %3073 ], [ @.str.2, %3069 ]
  store i32 %3064, ptr %2716, align 4, !tbaa !5
  %3075 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3076 = load i32, ptr @test_count, align 4, !tbaa !5
  %3077 = load i32, ptr %1310, align 4, !tbaa !5
  %3078 = call ptr @s2n_strerror(i32 noundef %3077, ptr noundef nonnull @.str.4) #11
  %3079 = load i32, ptr %1310, align 4, !tbaa !5
  %3080 = call ptr @s2n_strerror_debug(i32 noundef %3079, ptr noundef nonnull @.str.4) #11
  %3081 = load i32, ptr %2716, align 4, !tbaa !5
  %3082 = call ptr @strerror(i32 noundef %3081) #11
  %3083 = load i32, ptr %2716, align 4, !tbaa !5
  %3084 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3075, ptr noundef nonnull %.str.5.sink2007, i32 noundef %3076, ptr noundef nonnull @.str.71, ptr noundef nonnull @.str.1, i32 noundef 376, ptr noundef %3078, ptr noundef %3080, ptr noundef %3082, i32 noundef %3083) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3085:                                             ; preds = %3058
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %26) #11
  store i32 0, ptr %26, align 4, !tbaa !5
  %3086 = load i32, ptr @test_count, align 4, !tbaa !5
  %3087 = add nsw i32 %3086, 1
  store i32 %3087, ptr @test_count, align 4, !tbaa !5
  br i1 %2802, label %3088, label %3167

3088:                                             ; preds = %3085
  %3089 = call i32 @s2n_negotiate(ptr noundef %.0525, ptr noundef nonnull %26) #11
  %3090 = icmp eq i32 %3089, -1
  br i1 %3090, label %3113, label %3091

3091:                                             ; preds = %3088
  %3092 = load i32, ptr %2716, align 4, !tbaa !5
  %3093 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3094 = call i32 @s2n_print_stacktrace(ptr noundef %3093) #11
  %3095 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3096 = trunc nuw i8 %3095 to i1
  br i1 %3096, label %3097, label %3101

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

3101:                                             ; preds = %3097, %3091
  br label %3102

3102:                                             ; preds = %3097, %3101
  %.str.5.sink2017 = phi ptr [ @.str.5, %3101 ], [ @.str.2, %3097 ]
  store i32 %3092, ptr %2716, align 4, !tbaa !5
  %3103 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3104 = load i32, ptr @test_count, align 4, !tbaa !5
  %3105 = load i32, ptr %1310, align 4, !tbaa !5
  %3106 = call ptr @s2n_strerror(i32 noundef %3105, ptr noundef nonnull @.str.4) #11
  %3107 = load i32, ptr %1310, align 4, !tbaa !5
  %3108 = call ptr @s2n_strerror_debug(i32 noundef %3107, ptr noundef nonnull @.str.4) #11
  %3109 = load i32, ptr %2716, align 4, !tbaa !5
  %3110 = call ptr @strerror(i32 noundef %3109) #11
  %3111 = load i32, ptr %2716, align 4, !tbaa !5
  %3112 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3103, ptr noundef nonnull %.str.5.sink2017, i32 noundef %3104, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.1, i32 noundef 381, ptr noundef %3106, ptr noundef %3108, ptr noundef %3110, i32 noundef %3111) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3113:                                             ; preds = %3088
  %3114 = load i32, ptr @test_count, align 4, !tbaa !5
  %3115 = add nsw i32 %3114, 1
  store i32 %3115, ptr @test_count, align 4, !tbaa !5
  %3116 = load i32, ptr %1310, align 4, !tbaa !5
  %3117 = icmp eq i32 %3116, 134217728
  br i1 %3117, label %3140, label %3118

3118:                                             ; preds = %3113
  %3119 = load i32, ptr %2716, align 4, !tbaa !5
  %3120 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3121 = call i32 @s2n_print_stacktrace(ptr noundef %3120) #11
  %3122 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3123 = trunc nuw i8 %3122 to i1
  br i1 %3123, label %3124, label %3128

3124:                                             ; preds = %3118
  %3125 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3126 = call i32 @fileno(ptr noundef %3125) #11
  %3127 = call i32 @isatty(i32 noundef %3126) #11
  %.not622 = icmp eq i32 %3127, 0
  br i1 %.not622, label %3128, label %3129

3128:                                             ; preds = %3124, %3118
  br label %3129

3129:                                             ; preds = %3124, %3128
  %.str.5.sink2027 = phi ptr [ @.str.5, %3128 ], [ @.str.2, %3124 ]
  store i32 %3119, ptr %2716, align 4, !tbaa !5
  %3130 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3131 = load i32, ptr @test_count, align 4, !tbaa !5
  %3132 = load i32, ptr %1310, align 4, !tbaa !5
  %3133 = call ptr @s2n_strerror(i32 noundef %3132, ptr noundef nonnull @.str.4) #11
  %3134 = load i32, ptr %1310, align 4, !tbaa !5
  %3135 = call ptr @s2n_strerror_debug(i32 noundef %3134, ptr noundef nonnull @.str.4) #11
  %3136 = load i32, ptr %2716, align 4, !tbaa !5
  %3137 = call ptr @strerror(i32 noundef %3136) #11
  %3138 = load i32, ptr %2716, align 4, !tbaa !5
  %3139 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3130, ptr noundef nonnull %.str.5.sink2027, i32 noundef %3131, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.1, i32 noundef 381, ptr noundef %3133, ptr noundef %3135, ptr noundef %3137, i32 noundef %3138) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3140:                                             ; preds = %3113
  %3141 = add nsw i32 %3114, 2
  store i32 %3141, ptr @test_count, align 4, !tbaa !5
  %3142 = call ptr @s2n_strerror_debug(i32 noundef 134217728, ptr noundef nonnull @.str.4) #11
  %3143 = icmp eq ptr %3142, null
  br i1 %3143, label %3144, label %3166

3144:                                             ; preds = %3140
  %3145 = load i32, ptr %2716, align 4, !tbaa !5
  %3146 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3147 = call i32 @s2n_print_stacktrace(ptr noundef %3146) #11
  %3148 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3149 = trunc nuw i8 %3148 to i1
  br i1 %3149, label %3150, label %3154

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

3154:                                             ; preds = %3150, %3144
  br label %3155

3155:                                             ; preds = %3150, %3154
  %.str.5.sink2037 = phi ptr [ @.str.5, %3154 ], [ @.str.2, %3150 ]
  store i32 %3145, ptr %2716, align 4, !tbaa !5
  %3156 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3157 = load i32, ptr @test_count, align 4, !tbaa !5
  %3158 = load i32, ptr %1310, align 4, !tbaa !5
  %3159 = call ptr @s2n_strerror(i32 noundef %3158, ptr noundef nonnull @.str.4) #11
  %3160 = load i32, ptr %1310, align 4, !tbaa !5
  %3161 = call ptr @s2n_strerror_debug(i32 noundef %3160, ptr noundef nonnull @.str.4) #11
  %3162 = load i32, ptr %2716, align 4, !tbaa !5
  %3163 = call ptr @strerror(i32 noundef %3162) #11
  %3164 = load i32, ptr %2716, align 4, !tbaa !5
  %3165 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3156, ptr noundef nonnull %.str.5.sink2037, i32 noundef %3157, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.1, i32 noundef 381, ptr noundef %3159, ptr noundef %3161, ptr noundef %3163, i32 noundef %3164) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3166:                                             ; preds = %3140
  store i32 0, ptr %1310, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #11
  store i32 0, ptr %2716, align 4, !tbaa !5
  %.pre880 = load i32, ptr @test_count, align 4, !tbaa !5
  br label %3219

3167:                                             ; preds = %3085
  %3168 = call i64 @s2n_recv(ptr noundef %.0525, ptr noundef nonnull %5, i64 noundef 6, ptr noundef nonnull %26) #11
  %3169 = icmp eq i64 %3168, 0
  br i1 %3169, label %3192, label %3170

3170:                                             ; preds = %3167
  %3171 = load i32, ptr %2716, align 4, !tbaa !5
  %3172 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3173 = call i32 @s2n_print_stacktrace(ptr noundef %3172) #11
  %3174 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3175 = trunc nuw i8 %3174 to i1
  br i1 %3175, label %3176, label %3180

3176:                                             ; preds = %3170
  %3177 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3178 = call i32 @fileno(ptr noundef %3177) #11
  %3179 = call i32 @isatty(i32 noundef %3178) #11
  %.not619 = icmp eq i32 %3179, 0
  br i1 %.not619, label %3180, label %3181

3180:                                             ; preds = %3176, %3170
  br label %3181

3181:                                             ; preds = %3176, %3180
  %.str.5.sink2047 = phi ptr [ @.str.5, %3180 ], [ @.str.2, %3176 ]
  store i32 %3171, ptr %2716, align 4, !tbaa !5
  %3182 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3183 = load i32, ptr @test_count, align 4, !tbaa !5
  %3184 = load i32, ptr %1310, align 4, !tbaa !5
  %3185 = call ptr @s2n_strerror(i32 noundef %3184, ptr noundef nonnull @.str.4) #11
  %3186 = load i32, ptr %1310, align 4, !tbaa !5
  %3187 = call ptr @s2n_strerror_debug(i32 noundef %3186, ptr noundef nonnull @.str.4) #11
  %3188 = load i32, ptr %2716, align 4, !tbaa !5
  %3189 = call ptr @strerror(i32 noundef %3188) #11
  %3190 = load i32, ptr %2716, align 4, !tbaa !5
  %3191 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3182, ptr noundef nonnull %.str.5.sink2047, i32 noundef %3183, ptr noundef nonnull @.str.72, ptr noundef nonnull @.str.1, i32 noundef 383, ptr noundef %3185, ptr noundef %3187, ptr noundef %3189, i32 noundef %3190) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3192:                                             ; preds = %3167
  %3193 = load i32, ptr @test_count, align 4, !tbaa !5
  %3194 = add nsw i32 %3193, 1
  store i32 %3194, ptr @test_count, align 4, !tbaa !5
  %3195 = load i32, ptr %26, align 4, !tbaa !5
  %3196 = icmp eq i32 %3195, 0
  br i1 %3196, label %3219, label %3197

3197:                                             ; preds = %3192
  %3198 = load i32, ptr %2716, align 4, !tbaa !5
  %3199 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3200 = call i32 @s2n_print_stacktrace(ptr noundef %3199) #11
  %3201 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3202 = trunc nuw i8 %3201 to i1
  br i1 %3202, label %3203, label %3207

3203:                                             ; preds = %3197
  %3204 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3205 = call i32 @fileno(ptr noundef %3204) #11
  %3206 = call i32 @isatty(i32 noundef %3205) #11
  %.not620 = icmp eq i32 %3206, 0
  br i1 %.not620, label %3207, label %3208

3207:                                             ; preds = %3203, %3197
  br label %3208

3208:                                             ; preds = %3203, %3207
  %.str.5.sink2057 = phi ptr [ @.str.5, %3207 ], [ @.str.2, %3203 ]
  store i32 %3198, ptr %2716, align 4, !tbaa !5
  %3209 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3210 = load i32, ptr @test_count, align 4, !tbaa !5
  %3211 = load i32, ptr %1310, align 4, !tbaa !5
  %3212 = call ptr @s2n_strerror(i32 noundef %3211, ptr noundef nonnull @.str.4) #11
  %3213 = load i32, ptr %1310, align 4, !tbaa !5
  %3214 = call ptr @s2n_strerror_debug(i32 noundef %3213, ptr noundef nonnull @.str.4) #11
  %3215 = load i32, ptr %2716, align 4, !tbaa !5
  %3216 = call ptr @strerror(i32 noundef %3215) #11
  %3217 = load i32, ptr %2716, align 4, !tbaa !5
  %3218 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3209, ptr noundef nonnull %.str.5.sink2057, i32 noundef %3210, ptr noundef nonnull @.str.65, ptr noundef nonnull @.str.1, i32 noundef 384, ptr noundef %3212, ptr noundef %3214, ptr noundef %3216, i32 noundef %3217) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3219:                                             ; preds = %3166, %3192
  %3220 = phi i32 [ %.pre880, %3166 ], [ %3194, %3192 ]
  %3221 = add nsw i32 %3220, 1
  store i32 %3221, ptr @test_count, align 4, !tbaa !5
  %3222 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %.0525, i32 noundef 1) #11
  br i1 %3222, label %3223, label %3245

3223:                                             ; preds = %3219
  %3224 = load i32, ptr %2716, align 4, !tbaa !5
  %3225 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3226 = call i32 @s2n_print_stacktrace(ptr noundef %3225) #11
  %3227 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3228 = trunc nuw i8 %3227 to i1
  br i1 %3228, label %3229, label %3233

3229:                                             ; preds = %3223
  %3230 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3231 = call i32 @fileno(ptr noundef %3230) #11
  %3232 = call i32 @isatty(i32 noundef %3231) #11
  %.not629 = icmp eq i32 %3232, 0
  br i1 %.not629, label %3233, label %3234

3233:                                             ; preds = %3229, %3223
  br label %3234

3234:                                             ; preds = %3229, %3233
  %.str.5.sink2067 = phi ptr [ @.str.5, %3233 ], [ @.str.2, %3229 ]
  store i32 %3224, ptr %2716, align 4, !tbaa !5
  %3235 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3236 = load i32, ptr @test_count, align 4, !tbaa !5
  %3237 = load i32, ptr %1310, align 4, !tbaa !5
  %3238 = call ptr @s2n_strerror(i32 noundef %3237, ptr noundef nonnull @.str.4) #11
  %3239 = load i32, ptr %1310, align 4, !tbaa !5
  %3240 = call ptr @s2n_strerror_debug(i32 noundef %3239, ptr noundef nonnull @.str.4) #11
  %3241 = load i32, ptr %2716, align 4, !tbaa !5
  %3242 = call ptr @strerror(i32 noundef %3241) #11
  %3243 = load i32, ptr %2716, align 4, !tbaa !5
  %3244 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3235, ptr noundef nonnull %.str.5.sink2067, i32 noundef %3236, ptr noundef nonnull @.str.73, ptr noundef nonnull @.str.1, i32 noundef 386, ptr noundef %3238, ptr noundef %3240, ptr noundef %3242, i32 noundef %3243) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3245:                                             ; preds = %3219
  %3246 = load i32, ptr @test_count, align 4, !tbaa !5
  %3247 = add nsw i32 %3246, 1
  store i32 %3247, ptr @test_count, align 4, !tbaa !5
  %3248 = call i32 @s2n_stuffer_write_bytes(ptr noundef nonnull %spec.select731.idx.sroa.sel.idx.sroa.sel, ptr noundef nonnull %5, i32 noundef 6) #11
  %3249 = icmp eq i32 %3248, -1
  br i1 %3249, label %3250, label %3272

3250:                                             ; preds = %3245
  %3251 = load i32, ptr %2716, align 4, !tbaa !5
  %3252 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3253 = call i32 @s2n_print_stacktrace(ptr noundef %3252) #11
  %3254 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3255 = trunc nuw i8 %3254 to i1
  br i1 %3255, label %3256, label %3260

3256:                                             ; preds = %3250
  %3257 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3258 = call i32 @fileno(ptr noundef %3257) #11
  %3259 = call i32 @isatty(i32 noundef %3258) #11
  %.not628 = icmp eq i32 %3259, 0
  br i1 %.not628, label %3260, label %3261

3260:                                             ; preds = %3256, %3250
  br label %3261

3261:                                             ; preds = %3256, %3260
  %.str.5.sink2077 = phi ptr [ @.str.5, %3260 ], [ @.str.2, %3256 ]
  store i32 %3251, ptr %2716, align 4, !tbaa !5
  %3262 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3263 = load i32, ptr @test_count, align 4, !tbaa !5
  %3264 = load i32, ptr %1310, align 4, !tbaa !5
  %3265 = call ptr @s2n_strerror(i32 noundef %3264, ptr noundef nonnull @.str.4) #11
  %3266 = load i32, ptr %1310, align 4, !tbaa !5
  %3267 = call ptr @s2n_strerror_debug(i32 noundef %3266, ptr noundef nonnull @.str.4) #11
  %3268 = load i32, ptr %2716, align 4, !tbaa !5
  %3269 = call ptr @strerror(i32 noundef %3268) #11
  %3270 = load i32, ptr %2716, align 4, !tbaa !5
  %3271 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3262, ptr noundef nonnull %.str.5.sink2077, i32 noundef %3263, ptr noundef nonnull @.str.74, ptr noundef nonnull @.str.1, i32 noundef 393, ptr noundef %3265, ptr noundef %3267, ptr noundef %3269, i32 noundef %3270) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3272:                                             ; preds = %3245
  %3273 = load i32, ptr @test_count, align 4, !tbaa !5
  %3274 = add nsw i32 %3273, 1
  store i32 %3274, ptr @test_count, align 4, !tbaa !5
  br i1 %2802, label %3275, label %3354

3275:                                             ; preds = %3272
  %3276 = call i32 @s2n_negotiate(ptr noundef %.0525, ptr noundef nonnull %26) #11
  %3277 = icmp eq i32 %3276, -1
  br i1 %3277, label %3300, label %3278

3278:                                             ; preds = %3275
  %3279 = load i32, ptr %2716, align 4, !tbaa !5
  %3280 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3281 = call i32 @s2n_print_stacktrace(ptr noundef %3280) #11
  %3282 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3283 = trunc nuw i8 %3282 to i1
  br i1 %3283, label %3284, label %3288

3284:                                             ; preds = %3278
  %3285 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3286 = call i32 @fileno(ptr noundef %3285) #11
  %3287 = call i32 @isatty(i32 noundef %3286) #11
  %.not625 = icmp eq i32 %3287, 0
  br i1 %.not625, label %3288, label %3289

3288:                                             ; preds = %3284, %3278
  br label %3289

3289:                                             ; preds = %3284, %3288
  %.str.5.sink2087 = phi ptr [ @.str.5, %3288 ], [ @.str.2, %3284 ]
  store i32 %3279, ptr %2716, align 4, !tbaa !5
  %3290 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3291 = load i32, ptr @test_count, align 4, !tbaa !5
  %3292 = load i32, ptr %1310, align 4, !tbaa !5
  %3293 = call ptr @s2n_strerror(i32 noundef %3292, ptr noundef nonnull @.str.4) #11
  %3294 = load i32, ptr %1310, align 4, !tbaa !5
  %3295 = call ptr @s2n_strerror_debug(i32 noundef %3294, ptr noundef nonnull @.str.4) #11
  %3296 = load i32, ptr %2716, align 4, !tbaa !5
  %3297 = call ptr @strerror(i32 noundef %3296) #11
  %3298 = load i32, ptr %2716, align 4, !tbaa !5
  %3299 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3290, ptr noundef nonnull %.str.5.sink2087, i32 noundef %3291, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.1, i32 noundef 395, ptr noundef %3293, ptr noundef %3295, ptr noundef %3297, i32 noundef %3298) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3300:                                             ; preds = %3275
  %3301 = load i32, ptr @test_count, align 4, !tbaa !5
  %3302 = add nsw i32 %3301, 1
  store i32 %3302, ptr @test_count, align 4, !tbaa !5
  %3303 = load i32, ptr %1310, align 4, !tbaa !5
  %3304 = icmp eq i32 %3303, 134217728
  br i1 %3304, label %3327, label %3305

3305:                                             ; preds = %3300
  %3306 = load i32, ptr %2716, align 4, !tbaa !5
  %3307 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3308 = call i32 @s2n_print_stacktrace(ptr noundef %3307) #11
  %3309 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3310 = trunc nuw i8 %3309 to i1
  br i1 %3310, label %3311, label %3315

3311:                                             ; preds = %3305
  %3312 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3313 = call i32 @fileno(ptr noundef %3312) #11
  %3314 = call i32 @isatty(i32 noundef %3313) #11
  %.not626 = icmp eq i32 %3314, 0
  br i1 %.not626, label %3315, label %3316

3315:                                             ; preds = %3311, %3305
  br label %3316

3316:                                             ; preds = %3311, %3315
  %.str.5.sink2097 = phi ptr [ @.str.5, %3315 ], [ @.str.2, %3311 ]
  store i32 %3306, ptr %2716, align 4, !tbaa !5
  %3317 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3318 = load i32, ptr @test_count, align 4, !tbaa !5
  %3319 = load i32, ptr %1310, align 4, !tbaa !5
  %3320 = call ptr @s2n_strerror(i32 noundef %3319, ptr noundef nonnull @.str.4) #11
  %3321 = load i32, ptr %1310, align 4, !tbaa !5
  %3322 = call ptr @s2n_strerror_debug(i32 noundef %3321, ptr noundef nonnull @.str.4) #11
  %3323 = load i32, ptr %2716, align 4, !tbaa !5
  %3324 = call ptr @strerror(i32 noundef %3323) #11
  %3325 = load i32, ptr %2716, align 4, !tbaa !5
  %3326 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3317, ptr noundef nonnull %.str.5.sink2097, i32 noundef %3318, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.1, i32 noundef 395, ptr noundef %3320, ptr noundef %3322, ptr noundef %3324, i32 noundef %3325) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3327:                                             ; preds = %3300
  %3328 = add nsw i32 %3301, 2
  store i32 %3328, ptr @test_count, align 4, !tbaa !5
  %3329 = call ptr @s2n_strerror_debug(i32 noundef 134217728, ptr noundef nonnull @.str.4) #11
  %3330 = icmp eq ptr %3329, null
  br i1 %3330, label %3331, label %3353

3331:                                             ; preds = %3327
  %3332 = load i32, ptr %2716, align 4, !tbaa !5
  %3333 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3334 = call i32 @s2n_print_stacktrace(ptr noundef %3333) #11
  %3335 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3336 = trunc nuw i8 %3335 to i1
  br i1 %3336, label %3337, label %3341

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

3341:                                             ; preds = %3337, %3331
  br label %3342

3342:                                             ; preds = %3337, %3341
  %.str.5.sink2107 = phi ptr [ @.str.5, %3341 ], [ @.str.2, %3337 ]
  store i32 %3332, ptr %2716, align 4, !tbaa !5
  %3343 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3344 = load i32, ptr @test_count, align 4, !tbaa !5
  %3345 = load i32, ptr %1310, align 4, !tbaa !5
  %3346 = call ptr @s2n_strerror(i32 noundef %3345, ptr noundef nonnull @.str.4) #11
  %3347 = load i32, ptr %1310, align 4, !tbaa !5
  %3348 = call ptr @s2n_strerror_debug(i32 noundef %3347, ptr noundef nonnull @.str.4) #11
  %3349 = load i32, ptr %2716, align 4, !tbaa !5
  %3350 = call ptr @strerror(i32 noundef %3349) #11
  %3351 = load i32, ptr %2716, align 4, !tbaa !5
  %3352 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3343, ptr noundef nonnull %.str.5.sink2107, i32 noundef %3344, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.1, i32 noundef 395, ptr noundef %3346, ptr noundef %3348, ptr noundef %3350, i32 noundef %3351) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3353:                                             ; preds = %3327
  store i32 0, ptr %1310, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #11
  store i32 0, ptr %2716, align 4, !tbaa !5
  br label %3406

3354:                                             ; preds = %3272
  %3355 = call i64 @s2n_recv(ptr noundef %.0525, ptr noundef nonnull %5, i64 noundef 6, ptr noundef nonnull %26) #11
  %3356 = icmp eq i64 %3355, 0
  br i1 %3356, label %3379, label %3357

3357:                                             ; preds = %3354
  %3358 = load i32, ptr %2716, align 4, !tbaa !5
  %3359 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3360 = call i32 @s2n_print_stacktrace(ptr noundef %3359) #11
  %3361 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3362 = trunc nuw i8 %3361 to i1
  br i1 %3362, label %3363, label %3367

3363:                                             ; preds = %3357
  %3364 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3365 = call i32 @fileno(ptr noundef %3364) #11
  %3366 = call i32 @isatty(i32 noundef %3365) #11
  %.not623 = icmp eq i32 %3366, 0
  br i1 %.not623, label %3367, label %3368

3367:                                             ; preds = %3363, %3357
  br label %3368

3368:                                             ; preds = %3363, %3367
  %.str.5.sink2117 = phi ptr [ @.str.5, %3367 ], [ @.str.2, %3363 ]
  store i32 %3358, ptr %2716, align 4, !tbaa !5
  %3369 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3370 = load i32, ptr @test_count, align 4, !tbaa !5
  %3371 = load i32, ptr %1310, align 4, !tbaa !5
  %3372 = call ptr @s2n_strerror(i32 noundef %3371, ptr noundef nonnull @.str.4) #11
  %3373 = load i32, ptr %1310, align 4, !tbaa !5
  %3374 = call ptr @s2n_strerror_debug(i32 noundef %3373, ptr noundef nonnull @.str.4) #11
  %3375 = load i32, ptr %2716, align 4, !tbaa !5
  %3376 = call ptr @strerror(i32 noundef %3375) #11
  %3377 = load i32, ptr %2716, align 4, !tbaa !5
  %3378 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3369, ptr noundef nonnull %.str.5.sink2117, i32 noundef %3370, ptr noundef nonnull @.str.72, ptr noundef nonnull @.str.1, i32 noundef 397, ptr noundef %3372, ptr noundef %3374, ptr noundef %3376, i32 noundef %3377) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3379:                                             ; preds = %3354
  %3380 = load i32, ptr @test_count, align 4, !tbaa !5
  %3381 = add nsw i32 %3380, 1
  store i32 %3381, ptr @test_count, align 4, !tbaa !5
  %3382 = load i32, ptr %26, align 4, !tbaa !5
  %3383 = icmp eq i32 %3382, 0
  br i1 %3383, label %3406, label %3384

3384:                                             ; preds = %3379
  %3385 = load i32, ptr %2716, align 4, !tbaa !5
  %3386 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3387 = call i32 @s2n_print_stacktrace(ptr noundef %3386) #11
  %3388 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3389 = trunc nuw i8 %3388 to i1
  br i1 %3389, label %3390, label %3394

3390:                                             ; preds = %3384
  %3391 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3392 = call i32 @fileno(ptr noundef %3391) #11
  %3393 = call i32 @isatty(i32 noundef %3392) #11
  %.not624 = icmp eq i32 %3393, 0
  br i1 %.not624, label %3394, label %3395

3394:                                             ; preds = %3390, %3384
  br label %3395

3395:                                             ; preds = %3390, %3394
  %.str.5.sink2127 = phi ptr [ @.str.5, %3394 ], [ @.str.2, %3390 ]
  store i32 %3385, ptr %2716, align 4, !tbaa !5
  %3396 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3397 = load i32, ptr @test_count, align 4, !tbaa !5
  %3398 = load i32, ptr %1310, align 4, !tbaa !5
  %3399 = call ptr @s2n_strerror(i32 noundef %3398, ptr noundef nonnull @.str.4) #11
  %3400 = load i32, ptr %1310, align 4, !tbaa !5
  %3401 = call ptr @s2n_strerror_debug(i32 noundef %3400, ptr noundef nonnull @.str.4) #11
  %3402 = load i32, ptr %2716, align 4, !tbaa !5
  %3403 = call ptr @strerror(i32 noundef %3402) #11
  %3404 = load i32, ptr %2716, align 4, !tbaa !5
  %3405 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3396, ptr noundef nonnull %.str.5.sink2127, i32 noundef %3397, ptr noundef nonnull @.str.65, ptr noundef nonnull @.str.1, i32 noundef 398, ptr noundef %3399, ptr noundef %3401, ptr noundef %3403, i32 noundef %3404) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3406:                                             ; preds = %3379, %3353
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %26) #11
  %3407 = call i32 @s2n_io_stuffer_pair_free(ptr noundef nonnull %25) #11
  call void @llvm.lifetime.end.p0(i64 80, ptr nonnull %25) #11
  %3408 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %24) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %24) #11
  %3409 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %23) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %23) #11
  br i1 %2807, label %2804, label %2803, !llvm.loop !54

.preheader745:                                    ; preds = %2803, %3929
  %3410 = phi i1 [ true, %3929 ], [ false, %2803 ]
  %3411 = phi i1 [ false, %3929 ], [ true, %2803 ]
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %27) #11
  %3412 = call ptr @s2n_connection_new(i32 noundef 0) #11
  store ptr %3412, ptr %27, align 8, !tbaa !9
  %3413 = load i32, ptr @test_count, align 4, !tbaa !5
  %3414 = add nsw i32 %3413, 1
  store i32 %3414, ptr @test_count, align 4, !tbaa !5
  %3415 = call i32 @s2n_connection_set_blinding(ptr noundef %3412, i32 noundef 1) #11
  %3416 = icmp eq i32 %3415, -1
  br i1 %3416, label %3417, label %3439

3417:                                             ; preds = %.preheader745
  %3418 = load i32, ptr %2716, align 4, !tbaa !5
  %3419 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3420 = call i32 @s2n_print_stacktrace(ptr noundef %3419) #11
  %3421 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3422 = trunc nuw i8 %3421 to i1
  br i1 %3422, label %3423, label %3427

3423:                                             ; preds = %3417
  %3424 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3425 = call i32 @fileno(ptr noundef %3424) #11
  %3426 = call i32 @isatty(i32 noundef %3425) #11
  %.not614 = icmp eq i32 %3426, 0
  br i1 %.not614, label %3427, label %3428

3427:                                             ; preds = %3423, %3417
  br label %3428

3428:                                             ; preds = %3423, %3427
  %.str.5.sink2137 = phi ptr [ @.str.5, %3427 ], [ @.str.2, %3423 ]
  store i32 %3418, ptr %2716, align 4, !tbaa !5
  %3429 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3430 = load i32, ptr @test_count, align 4, !tbaa !5
  %3431 = load i32, ptr %1310, align 4, !tbaa !5
  %3432 = call ptr @s2n_strerror(i32 noundef %3431, ptr noundef nonnull @.str.4) #11
  %3433 = load i32, ptr %1310, align 4, !tbaa !5
  %3434 = call ptr @s2n_strerror_debug(i32 noundef %3433, ptr noundef nonnull @.str.4) #11
  %3435 = load i32, ptr %2716, align 4, !tbaa !5
  %3436 = call ptr @strerror(i32 noundef %3435) #11
  %3437 = load i32, ptr %2716, align 4, !tbaa !5
  %3438 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3429, ptr noundef nonnull %.str.5.sink2137, i32 noundef %3430, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 414, ptr noundef %3432, ptr noundef %3434, ptr noundef %3436, i32 noundef %3437) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3439:                                             ; preds = %.preheader745
  %3440 = load i32, ptr @test_count, align 4, !tbaa !5
  %3441 = add nsw i32 %3440, 1
  store i32 %3441, ptr @test_count, align 4, !tbaa !5
  %3442 = load ptr, ptr %27, align 8, !tbaa !9
  %3443 = call i32 @s2n_connection_set_config(ptr noundef %3442, ptr noundef %2895) #11
  %3444 = icmp eq i32 %3443, -1
  br i1 %3444, label %3445, label %3467

3445:                                             ; preds = %3439
  %3446 = load i32, ptr %2716, align 4, !tbaa !5
  %3447 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3448 = call i32 @s2n_print_stacktrace(ptr noundef %3447) #11
  %3449 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3450 = trunc nuw i8 %3449 to i1
  br i1 %3450, label %3451, label %3455

3451:                                             ; preds = %3445
  %3452 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3453 = call i32 @fileno(ptr noundef %3452) #11
  %3454 = call i32 @isatty(i32 noundef %3453) #11
  %.not613 = icmp eq i32 %3454, 0
  br i1 %.not613, label %3455, label %3456

3455:                                             ; preds = %3451, %3445
  br label %3456

3456:                                             ; preds = %3451, %3455
  %.str.5.sink2147 = phi ptr [ @.str.5, %3455 ], [ @.str.2, %3451 ]
  store i32 %3446, ptr %2716, align 4, !tbaa !5
  %3457 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3458 = load i32, ptr @test_count, align 4, !tbaa !5
  %3459 = load i32, ptr %1310, align 4, !tbaa !5
  %3460 = call ptr @s2n_strerror(i32 noundef %3459, ptr noundef nonnull @.str.4) #11
  %3461 = load i32, ptr %1310, align 4, !tbaa !5
  %3462 = call ptr @s2n_strerror_debug(i32 noundef %3461, ptr noundef nonnull @.str.4) #11
  %3463 = load i32, ptr %2716, align 4, !tbaa !5
  %3464 = call ptr @strerror(i32 noundef %3463) #11
  %3465 = load i32, ptr %2716, align 4, !tbaa !5
  %3466 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3457, ptr noundef nonnull %.str.5.sink2147, i32 noundef %3458, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 415, ptr noundef %3460, ptr noundef %3462, ptr noundef %3464, i32 noundef %3465) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3467:                                             ; preds = %3439
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %28) #11
  %3468 = call ptr @s2n_connection_new(i32 noundef 1) #11
  store ptr %3468, ptr %28, align 8, !tbaa !9
  %3469 = load i32, ptr @test_count, align 4, !tbaa !5
  %3470 = add nsw i32 %3469, 1
  store i32 %3470, ptr @test_count, align 4, !tbaa !5
  %3471 = call i32 @s2n_connection_set_blinding(ptr noundef %3468, i32 noundef 1) #11
  %3472 = icmp eq i32 %3471, -1
  br i1 %3472, label %3473, label %3495

3473:                                             ; preds = %3467
  %3474 = load i32, ptr %2716, align 4, !tbaa !5
  %3475 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3476 = call i32 @s2n_print_stacktrace(ptr noundef %3475) #11
  %3477 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3478 = trunc nuw i8 %3477 to i1
  br i1 %3478, label %3479, label %3483

3479:                                             ; preds = %3473
  %3480 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3481 = call i32 @fileno(ptr noundef %3480) #11
  %3482 = call i32 @isatty(i32 noundef %3481) #11
  %.not612 = icmp eq i32 %3482, 0
  br i1 %.not612, label %3483, label %3484

3483:                                             ; preds = %3479, %3473
  br label %3484

3484:                                             ; preds = %3479, %3483
  %.str.5.sink2157 = phi ptr [ @.str.5, %3483 ], [ @.str.2, %3479 ]
  store i32 %3474, ptr %2716, align 4, !tbaa !5
  %3485 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3486 = load i32, ptr @test_count, align 4, !tbaa !5
  %3487 = load i32, ptr %1310, align 4, !tbaa !5
  %3488 = call ptr @s2n_strerror(i32 noundef %3487, ptr noundef nonnull @.str.4) #11
  %3489 = load i32, ptr %1310, align 4, !tbaa !5
  %3490 = call ptr @s2n_strerror_debug(i32 noundef %3489, ptr noundef nonnull @.str.4) #11
  %3491 = load i32, ptr %2716, align 4, !tbaa !5
  %3492 = call ptr @strerror(i32 noundef %3491) #11
  %3493 = load i32, ptr %2716, align 4, !tbaa !5
  %3494 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3485, ptr noundef nonnull %.str.5.sink2157, i32 noundef %3486, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.1, i32 noundef 419, ptr noundef %3488, ptr noundef %3490, ptr noundef %3492, i32 noundef %3493) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3495:                                             ; preds = %3467
  %3496 = load i32, ptr @test_count, align 4, !tbaa !5
  %3497 = add nsw i32 %3496, 1
  store i32 %3497, ptr @test_count, align 4, !tbaa !5
  %3498 = load ptr, ptr %28, align 8, !tbaa !9
  %3499 = call i32 @s2n_connection_set_config(ptr noundef %3498, ptr noundef %2895) #11
  %3500 = icmp eq i32 %3499, -1
  br i1 %3500, label %3501, label %3523

3501:                                             ; preds = %3495
  %3502 = load i32, ptr %2716, align 4, !tbaa !5
  %3503 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3504 = call i32 @s2n_print_stacktrace(ptr noundef %3503) #11
  %3505 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3506 = trunc nuw i8 %3505 to i1
  br i1 %3506, label %3507, label %3511

3507:                                             ; preds = %3501
  %3508 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3509 = call i32 @fileno(ptr noundef %3508) #11
  %3510 = call i32 @isatty(i32 noundef %3509) #11
  %.not611 = icmp eq i32 %3510, 0
  br i1 %.not611, label %3511, label %3512

3511:                                             ; preds = %3507, %3501
  br label %3512

3512:                                             ; preds = %3507, %3511
  %.str.5.sink2167 = phi ptr [ @.str.5, %3511 ], [ @.str.2, %3507 ]
  store i32 %3502, ptr %2716, align 4, !tbaa !5
  %3513 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3514 = load i32, ptr @test_count, align 4, !tbaa !5
  %3515 = load i32, ptr %1310, align 4, !tbaa !5
  %3516 = call ptr @s2n_strerror(i32 noundef %3515, ptr noundef nonnull @.str.4) #11
  %3517 = load i32, ptr %1310, align 4, !tbaa !5
  %3518 = call ptr @s2n_strerror_debug(i32 noundef %3517, ptr noundef nonnull @.str.4) #11
  %3519 = load i32, ptr %2716, align 4, !tbaa !5
  %3520 = call ptr @strerror(i32 noundef %3519) #11
  %3521 = load i32, ptr %2716, align 4, !tbaa !5
  %3522 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3513, ptr noundef nonnull %.str.5.sink2167, i32 noundef %3514, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 420, ptr noundef %3516, ptr noundef %3518, ptr noundef %3520, i32 noundef %3521) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3523:                                             ; preds = %3495
  call void @llvm.lifetime.start.p0(i64 80, ptr nonnull %29) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(80) %29, i8 0, i64 80, i1 false)
  %3524 = load i32, ptr @test_count, align 4, !tbaa !5
  %3525 = add nsw i32 %3524, 1
  store i32 %3525, ptr @test_count, align 4, !tbaa !5
  %3526 = call i32 @s2n_io_stuffer_pair_init(ptr noundef nonnull %29) #11
  %3527 = call zeroext i1 @s2n_result_is_ok(i32 %3526)
  br i1 %3527, label %3550, label %3528

3528:                                             ; preds = %3523
  %3529 = load i32, ptr %2716, align 4, !tbaa !5
  %3530 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3531 = call i32 @s2n_print_stacktrace(ptr noundef %3530) #11
  %3532 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3533 = trunc nuw i8 %3532 to i1
  br i1 %3533, label %3534, label %3538

3534:                                             ; preds = %3528
  %3535 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3536 = call i32 @fileno(ptr noundef %3535) #11
  %3537 = call i32 @isatty(i32 noundef %3536) #11
  %.not596 = icmp eq i32 %3537, 0
  br i1 %.not596, label %3538, label %3539

3538:                                             ; preds = %3534, %3528
  br label %3539

3539:                                             ; preds = %3534, %3538
  %.str.5.sink2177 = phi ptr [ @.str.5, %3538 ], [ @.str.2, %3534 ]
  store i32 %3529, ptr %2716, align 4, !tbaa !5
  %3540 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3541 = load i32, ptr @test_count, align 4, !tbaa !5
  %3542 = load i32, ptr %1310, align 4, !tbaa !5
  %3543 = call ptr @s2n_strerror(i32 noundef %3542, ptr noundef nonnull @.str.4) #11
  %3544 = load i32, ptr %1310, align 4, !tbaa !5
  %3545 = call ptr @s2n_strerror_debug(i32 noundef %3544, ptr noundef nonnull @.str.4) #11
  %3546 = load i32, ptr %2716, align 4, !tbaa !5
  %3547 = call ptr @strerror(i32 noundef %3546) #11
  %3548 = load i32, ptr %2716, align 4, !tbaa !5
  %3549 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3540, ptr noundef nonnull %.str.5.sink2177, i32 noundef %3541, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 423, ptr noundef %3543, ptr noundef %3545, ptr noundef %3547, i32 noundef %3548) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3550:                                             ; preds = %3523
  %3551 = load i32, ptr @test_count, align 4, !tbaa !5
  %3552 = add nsw i32 %3551, 1
  store i32 %3552, ptr @test_count, align 4, !tbaa !5
  %3553 = load ptr, ptr %28, align 8, !tbaa !9
  %3554 = load ptr, ptr %27, align 8, !tbaa !9
  %3555 = call i32 @s2n_connections_set_io_stuffer_pair(ptr noundef %3553, ptr noundef %3554, ptr noundef nonnull %29) #11
  %3556 = call zeroext i1 @s2n_result_is_ok(i32 %3555)
  br i1 %3556, label %3579, label %3557

3557:                                             ; preds = %3550
  %3558 = load i32, ptr %2716, align 4, !tbaa !5
  %3559 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3560 = call i32 @s2n_print_stacktrace(ptr noundef %3559) #11
  %3561 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3562 = trunc nuw i8 %3561 to i1
  br i1 %3562, label %3563, label %3567

3563:                                             ; preds = %3557
  %3564 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3565 = call i32 @fileno(ptr noundef %3564) #11
  %3566 = call i32 @isatty(i32 noundef %3565) #11
  %.not597 = icmp eq i32 %3566, 0
  br i1 %.not597, label %3567, label %3568

3567:                                             ; preds = %3563, %3557
  br label %3568

3568:                                             ; preds = %3563, %3567
  %.str.5.sink2187 = phi ptr [ @.str.5, %3567 ], [ @.str.2, %3563 ]
  store i32 %3558, ptr %2716, align 4, !tbaa !5
  %3569 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3570 = load i32, ptr @test_count, align 4, !tbaa !5
  %3571 = load i32, ptr %1310, align 4, !tbaa !5
  %3572 = call ptr @s2n_strerror(i32 noundef %3571, ptr noundef nonnull @.str.4) #11
  %3573 = load i32, ptr %1310, align 4, !tbaa !5
  %3574 = call ptr @s2n_strerror_debug(i32 noundef %3573, ptr noundef nonnull @.str.4) #11
  %3575 = load i32, ptr %2716, align 4, !tbaa !5
  %3576 = call ptr @strerror(i32 noundef %3575) #11
  %3577 = load i32, ptr %2716, align 4, !tbaa !5
  %3578 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3569, ptr noundef nonnull %.str.5.sink2187, i32 noundef %3570, ptr noundef nonnull @.str.26, ptr noundef nonnull @.str.1, i32 noundef 424, ptr noundef %3572, ptr noundef %3574, ptr noundef %3576, i32 noundef %3577) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3579:                                             ; preds = %3550
  %3580 = load i32, ptr @test_count, align 4, !tbaa !5
  %3581 = add nsw i32 %3580, 1
  store i32 %3581, ptr @test_count, align 4, !tbaa !5
  %3582 = load ptr, ptr %27, align 8, !tbaa !9
  %3583 = load ptr, ptr %28, align 8, !tbaa !9
  %3584 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %3582, ptr noundef %3583) #11
  %3585 = icmp eq i32 %3584, -1
  br i1 %3585, label %3586, label %3608

3586:                                             ; preds = %3579
  %3587 = load i32, ptr %2716, align 4, !tbaa !5
  %3588 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3589 = call i32 @s2n_print_stacktrace(ptr noundef %3588) #11
  %3590 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3591 = trunc nuw i8 %3590 to i1
  br i1 %3591, label %3592, label %3596

3592:                                             ; preds = %3586
  %3593 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3594 = call i32 @fileno(ptr noundef %3593) #11
  %3595 = call i32 @isatty(i32 noundef %3594) #11
  %.not610 = icmp eq i32 %3595, 0
  br i1 %.not610, label %3596, label %3597

3596:                                             ; preds = %3592, %3586
  br label %3597

3597:                                             ; preds = %3592, %3596
  %.str.5.sink2197 = phi ptr [ @.str.5, %3596 ], [ @.str.2, %3592 ]
  store i32 %3587, ptr %2716, align 4, !tbaa !5
  %3598 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3599 = load i32, ptr @test_count, align 4, !tbaa !5
  %3600 = load i32, ptr %1310, align 4, !tbaa !5
  %3601 = call ptr @s2n_strerror(i32 noundef %3600, ptr noundef nonnull @.str.4) #11
  %3602 = load i32, ptr %1310, align 4, !tbaa !5
  %3603 = call ptr @s2n_strerror_debug(i32 noundef %3602, ptr noundef nonnull @.str.4) #11
  %3604 = load i32, ptr %2716, align 4, !tbaa !5
  %3605 = call ptr @strerror(i32 noundef %3604) #11
  %3606 = load i32, ptr %2716, align 4, !tbaa !5
  %3607 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3598, ptr noundef nonnull %.str.5.sink2197, i32 noundef %3599, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.1, i32 noundef 427, ptr noundef %3601, ptr noundef %3603, ptr noundef %3605, i32 noundef %3606) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3608:                                             ; preds = %3579
  %3609 = load i32, ptr @test_count, align 4, !tbaa !5
  %3610 = add nsw i32 %3609, 1
  store i32 %3610, ptr @test_count, align 4, !tbaa !5
  %3611 = load ptr, ptr %27, align 8, !tbaa !9
  %3612 = getelementptr inbounds i8, ptr %3611, i64 220
  %3613 = load i8, ptr %3612, align 4, !tbaa !20
  %3614 = icmp eq i8 %3613, 34
  br i1 %3614, label %3637, label %3615

3615:                                             ; preds = %3608
  %3616 = load i32, ptr %2716, align 4, !tbaa !5
  %3617 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3618 = call i32 @s2n_print_stacktrace(ptr noundef %3617) #11
  %3619 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3620 = trunc nuw i8 %3619 to i1
  br i1 %3620, label %3621, label %3625

3621:                                             ; preds = %3615
  %3622 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3623 = call i32 @fileno(ptr noundef %3622) #11
  %3624 = call i32 @isatty(i32 noundef %3623) #11
  %.not598 = icmp eq i32 %3624, 0
  br i1 %.not598, label %3625, label %3626

3625:                                             ; preds = %3621, %3615
  br label %3626

3626:                                             ; preds = %3621, %3625
  %.str.5.sink2207 = phi ptr [ @.str.5, %3625 ], [ @.str.2, %3621 ]
  store i32 %3616, ptr %2716, align 4, !tbaa !5
  %3627 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3628 = load i32, ptr @test_count, align 4, !tbaa !5
  %3629 = load i32, ptr %1310, align 4, !tbaa !5
  %3630 = call ptr @s2n_strerror(i32 noundef %3629, ptr noundef nonnull @.str.4) #11
  %3631 = load i32, ptr %1310, align 4, !tbaa !5
  %3632 = call ptr @s2n_strerror_debug(i32 noundef %3631, ptr noundef nonnull @.str.4) #11
  %3633 = load i32, ptr %2716, align 4, !tbaa !5
  %3634 = call ptr @strerror(i32 noundef %3633) #11
  %3635 = load i32, ptr %2716, align 4, !tbaa !5
  %3636 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3627, ptr noundef nonnull %.str.5.sink2207, i32 noundef %3628, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 428, ptr noundef %3630, ptr noundef %3632, ptr noundef %3634, i32 noundef %3635) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3637:                                             ; preds = %3608
  %3638 = load ptr, ptr %28, align 8, !tbaa !9
  %spec.select733 = select i1 %3410, ptr %3611, ptr %3638
  %spec.select734 = select i1 %3410, ptr %3638, ptr %3611
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %30) #11
  store i32 0, ptr %30, align 4, !tbaa !5
  %3639 = add nsw i32 %3609, 2
  store i32 %3639, ptr @test_count, align 4, !tbaa !5
  %3640 = call i32 @s2n_shutdown_send(ptr noundef %spec.select734, ptr noundef nonnull %30) #11
  %3641 = icmp eq i32 %3640, -1
  br i1 %3641, label %3642, label %3664

3642:                                             ; preds = %3637
  %3643 = load i32, ptr %2716, align 4, !tbaa !5
  %3644 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3645 = call i32 @s2n_print_stacktrace(ptr noundef %3644) #11
  %3646 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3647 = trunc nuw i8 %3646 to i1
  br i1 %3647, label %3648, label %3652

3648:                                             ; preds = %3642
  %3649 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3650 = call i32 @fileno(ptr noundef %3649) #11
  %3651 = call i32 @isatty(i32 noundef %3650) #11
  %.not609 = icmp eq i32 %3651, 0
  br i1 %.not609, label %3652, label %3653

3652:                                             ; preds = %3648, %3642
  br label %3653

3653:                                             ; preds = %3648, %3652
  %.str.5.sink2217 = phi ptr [ @.str.5, %3652 ], [ @.str.2, %3648 ]
  store i32 %3643, ptr %2716, align 4, !tbaa !5
  %3654 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3655 = load i32, ptr @test_count, align 4, !tbaa !5
  %3656 = load i32, ptr %1310, align 4, !tbaa !5
  %3657 = call ptr @s2n_strerror(i32 noundef %3656, ptr noundef nonnull @.str.4) #11
  %3658 = load i32, ptr %1310, align 4, !tbaa !5
  %3659 = call ptr @s2n_strerror_debug(i32 noundef %3658, ptr noundef nonnull @.str.4) #11
  %3660 = load i32, ptr %2716, align 4, !tbaa !5
  %3661 = call ptr @strerror(i32 noundef %3660) #11
  %3662 = load i32, ptr %2716, align 4, !tbaa !5
  %3663 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3654, ptr noundef nonnull %.str.5.sink2217, i32 noundef %3655, ptr noundef nonnull @.str.75, ptr noundef nonnull @.str.1, i32 noundef 439, ptr noundef %3657, ptr noundef %3659, ptr noundef %3661, i32 noundef %3662) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3664:                                             ; preds = %3637
  %3665 = load i32, ptr @test_count, align 4, !tbaa !5
  %3666 = add nsw i32 %3665, 1
  store i32 %3666, ptr @test_count, align 4, !tbaa !5
  %3667 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %spec.select734, i32 noundef 0) #11
  br i1 %3667, label %3668, label %3690

3668:                                             ; preds = %3664
  %3669 = load i32, ptr %2716, align 4, !tbaa !5
  %3670 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3671 = call i32 @s2n_print_stacktrace(ptr noundef %3670) #11
  %3672 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3673 = trunc nuw i8 %3672 to i1
  br i1 %3673, label %3674, label %3678

3674:                                             ; preds = %3668
  %3675 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3676 = call i32 @fileno(ptr noundef %3675) #11
  %3677 = call i32 @isatty(i32 noundef %3676) #11
  %.not608 = icmp eq i32 %3677, 0
  br i1 %.not608, label %3678, label %3679

3678:                                             ; preds = %3674, %3668
  br label %3679

3679:                                             ; preds = %3674, %3678
  %.str.5.sink2227 = phi ptr [ @.str.5, %3678 ], [ @.str.2, %3674 ]
  store i32 %3669, ptr %2716, align 4, !tbaa !5
  %3680 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3681 = load i32, ptr @test_count, align 4, !tbaa !5
  %3682 = load i32, ptr %1310, align 4, !tbaa !5
  %3683 = call ptr @s2n_strerror(i32 noundef %3682, ptr noundef nonnull @.str.4) #11
  %3684 = load i32, ptr %1310, align 4, !tbaa !5
  %3685 = call ptr @s2n_strerror_debug(i32 noundef %3684, ptr noundef nonnull @.str.4) #11
  %3686 = load i32, ptr %2716, align 4, !tbaa !5
  %3687 = call ptr @strerror(i32 noundef %3686) #11
  %3688 = load i32, ptr %2716, align 4, !tbaa !5
  %3689 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3680, ptr noundef nonnull %.str.5.sink2227, i32 noundef %3681, ptr noundef nonnull @.str.76, ptr noundef nonnull @.str.1, i32 noundef 440, ptr noundef %3683, ptr noundef %3685, ptr noundef %3687, i32 noundef %3688) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3690:                                             ; preds = %3664
  %3691 = load i32, ptr @test_count, align 4, !tbaa !5
  %3692 = add nsw i32 %3691, 1
  store i32 %3692, ptr @test_count, align 4, !tbaa !5
  %3693 = call i64 @s2n_recv(ptr noundef %spec.select733, ptr noundef nonnull %5, i64 noundef 6, ptr noundef nonnull %30) #11
  %3694 = icmp eq i64 %3693, 0
  br i1 %3694, label %3717, label %3695

3695:                                             ; preds = %3690
  %3696 = load i32, ptr %2716, align 4, !tbaa !5
  %3697 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3698 = call i32 @s2n_print_stacktrace(ptr noundef %3697) #11
  %3699 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3700 = trunc nuw i8 %3699 to i1
  br i1 %3700, label %3701, label %3705

3701:                                             ; preds = %3695
  %3702 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3703 = call i32 @fileno(ptr noundef %3702) #11
  %3704 = call i32 @isatty(i32 noundef %3703) #11
  %.not599 = icmp eq i32 %3704, 0
  br i1 %.not599, label %3705, label %3706

3705:                                             ; preds = %3701, %3695
  br label %3706

3706:                                             ; preds = %3701, %3705
  %.str.5.sink2237 = phi ptr [ @.str.5, %3705 ], [ @.str.2, %3701 ]
  store i32 %3696, ptr %2716, align 4, !tbaa !5
  %3707 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3708 = load i32, ptr @test_count, align 4, !tbaa !5
  %3709 = load i32, ptr %1310, align 4, !tbaa !5
  %3710 = call ptr @s2n_strerror(i32 noundef %3709, ptr noundef nonnull @.str.4) #11
  %3711 = load i32, ptr %1310, align 4, !tbaa !5
  %3712 = call ptr @s2n_strerror_debug(i32 noundef %3711, ptr noundef nonnull @.str.4) #11
  %3713 = load i32, ptr %2716, align 4, !tbaa !5
  %3714 = call ptr @strerror(i32 noundef %3713) #11
  %3715 = load i32, ptr %2716, align 4, !tbaa !5
  %3716 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3707, ptr noundef nonnull %.str.5.sink2237, i32 noundef %3708, ptr noundef nonnull @.str.72, ptr noundef nonnull @.str.1, i32 noundef 450, ptr noundef %3710, ptr noundef %3712, ptr noundef %3714, i32 noundef %3715) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3717:                                             ; preds = %3690
  %3718 = load i32, ptr @test_count, align 4, !tbaa !5
  %3719 = add nsw i32 %3718, 1
  store i32 %3719, ptr @test_count, align 4, !tbaa !5
  %3720 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %spec.select733, i32 noundef 1) #11
  br i1 %3720, label %3721, label %3743

3721:                                             ; preds = %3717
  %3722 = load i32, ptr %2716, align 4, !tbaa !5
  %3723 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3724 = call i32 @s2n_print_stacktrace(ptr noundef %3723) #11
  %3725 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3726 = trunc nuw i8 %3725 to i1
  br i1 %3726, label %3727, label %3731

3727:                                             ; preds = %3721
  %3728 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3729 = call i32 @fileno(ptr noundef %3728) #11
  %3730 = call i32 @isatty(i32 noundef %3729) #11
  %.not607 = icmp eq i32 %3730, 0
  br i1 %.not607, label %3731, label %3732

3731:                                             ; preds = %3727, %3721
  br label %3732

3732:                                             ; preds = %3727, %3731
  %.str.5.sink2247 = phi ptr [ @.str.5, %3731 ], [ @.str.2, %3727 ]
  store i32 %3722, ptr %2716, align 4, !tbaa !5
  %3733 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3734 = load i32, ptr @test_count, align 4, !tbaa !5
  %3735 = load i32, ptr %1310, align 4, !tbaa !5
  %3736 = call ptr @s2n_strerror(i32 noundef %3735, ptr noundef nonnull @.str.4) #11
  %3737 = load i32, ptr %1310, align 4, !tbaa !5
  %3738 = call ptr @s2n_strerror_debug(i32 noundef %3737, ptr noundef nonnull @.str.4) #11
  %3739 = load i32, ptr %2716, align 4, !tbaa !5
  %3740 = call ptr @strerror(i32 noundef %3739) #11
  %3741 = load i32, ptr %2716, align 4, !tbaa !5
  %3742 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3733, ptr noundef nonnull %.str.5.sink2247, i32 noundef %3734, ptr noundef nonnull @.str.73, ptr noundef nonnull @.str.1, i32 noundef 451, ptr noundef %3736, ptr noundef %3738, ptr noundef %3740, i32 noundef %3741) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3743:                                             ; preds = %3717
  %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 = load i32, ptr %30, align 4, !tbaa !5
  %3747 = icmp eq i32 %3746, 0
  br i1 %3747, label %3770, label %3748

3748:                                             ; preds = %3743
  %3749 = load i32, ptr %2716, align 4, !tbaa !5
  %3750 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3751 = call i32 @s2n_print_stacktrace(ptr noundef %3750) #11
  %3752 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3753 = trunc nuw i8 %3752 to i1
  br i1 %3753, label %3754, label %3758

3754:                                             ; preds = %3748
  %3755 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3756 = call i32 @fileno(ptr noundef %3755) #11
  %3757 = call i32 @isatty(i32 noundef %3756) #11
  %.not600 = icmp eq i32 %3757, 0
  br i1 %.not600, label %3758, label %3759

3758:                                             ; preds = %3754, %3748
  br label %3759

3759:                                             ; preds = %3754, %3758
  %.str.5.sink2257 = phi ptr [ @.str.5, %3758 ], [ @.str.2, %3754 ]
  store i32 %3749, ptr %2716, align 4, !tbaa !5
  %3760 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3761 = load i32, ptr @test_count, align 4, !tbaa !5
  %3762 = load i32, ptr %1310, align 4, !tbaa !5
  %3763 = call ptr @s2n_strerror(i32 noundef %3762, ptr noundef nonnull @.str.4) #11
  %3764 = load i32, ptr %1310, align 4, !tbaa !5
  %3765 = call ptr @s2n_strerror_debug(i32 noundef %3764, ptr noundef nonnull @.str.4) #11
  %3766 = load i32, ptr %2716, align 4, !tbaa !5
  %3767 = call ptr @strerror(i32 noundef %3766) #11
  %3768 = load i32, ptr %2716, align 4, !tbaa !5
  %3769 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3760, ptr noundef nonnull %.str.5.sink2257, i32 noundef %3761, ptr noundef nonnull @.str.65, ptr noundef nonnull @.str.1, i32 noundef 452, ptr noundef %3763, ptr noundef %3765, ptr noundef %3767, i32 noundef %3768) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3770:                                             ; preds = %3743
  %3771 = add nsw i32 %3744, 2
  store i32 %3771, ptr @test_count, align 4, !tbaa !5
  %3772 = call i64 @s2n_send(ptr noundef %spec.select733, ptr noundef nonnull %5, i64 noundef 6, ptr noundef nonnull %30) #11
  %3773 = icmp eq i64 %3772, 6
  br i1 %3773, label %3796, label %3774

3774:                                             ; preds = %3770
  %3775 = load i32, ptr %2716, align 4, !tbaa !5
  %3776 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3777 = call i32 @s2n_print_stacktrace(ptr noundef %3776) #11
  %3778 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3779 = trunc nuw i8 %3778 to i1
  br i1 %3779, label %3780, label %3784

3780:                                             ; preds = %3774
  %3781 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3782 = call i32 @fileno(ptr noundef %3781) #11
  %3783 = call i32 @isatty(i32 noundef %3782) #11
  %.not601 = icmp eq i32 %3783, 0
  br i1 %.not601, label %3784, label %3785

3784:                                             ; preds = %3780, %3774
  br label %3785

3785:                                             ; preds = %3780, %3784
  %.str.5.sink2267 = phi ptr [ @.str.5, %3784 ], [ @.str.2, %3780 ]
  store i32 %3775, ptr %2716, align 4, !tbaa !5
  %3786 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3787 = load i32, ptr @test_count, align 4, !tbaa !5
  %3788 = load i32, ptr %1310, align 4, !tbaa !5
  %3789 = call ptr @s2n_strerror(i32 noundef %3788, ptr noundef nonnull @.str.4) #11
  %3790 = load i32, ptr %1310, align 4, !tbaa !5
  %3791 = call ptr @s2n_strerror_debug(i32 noundef %3790, ptr noundef nonnull @.str.4) #11
  %3792 = load i32, ptr %2716, align 4, !tbaa !5
  %3793 = call ptr @strerror(i32 noundef %3792) #11
  %3794 = load i32, ptr %2716, align 4, !tbaa !5
  %3795 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3786, ptr noundef nonnull %.str.5.sink2267, i32 noundef %3787, ptr noundef nonnull @.str.77, ptr noundef nonnull @.str.1, i32 noundef 458, ptr noundef %3789, ptr noundef %3791, ptr noundef %3793, i32 noundef %3794) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3796:                                             ; preds = %3770
  %3797 = load i32, ptr @test_count, align 4, !tbaa !5
  %3798 = add nsw i32 %3797, 1
  store i32 %3798, ptr @test_count, align 4, !tbaa !5
  %3799 = load i32, ptr %30, align 4, !tbaa !5
  %3800 = icmp eq i32 %3799, 0
  br i1 %3800, label %3823, label %3801

3801:                                             ; preds = %3796
  %3802 = load i32, ptr %2716, align 4, !tbaa !5
  %3803 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3804 = call i32 @s2n_print_stacktrace(ptr noundef %3803) #11
  %3805 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3806 = trunc nuw i8 %3805 to i1
  br i1 %3806, label %3807, label %3811

3807:                                             ; preds = %3801
  %3808 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3809 = call i32 @fileno(ptr noundef %3808) #11
  %3810 = call i32 @isatty(i32 noundef %3809) #11
  %.not602 = icmp eq i32 %3810, 0
  br i1 %.not602, label %3811, label %3812

3811:                                             ; preds = %3807, %3801
  br label %3812

3812:                                             ; preds = %3807, %3811
  %.str.5.sink2277 = phi ptr [ @.str.5, %3811 ], [ @.str.2, %3807 ]
  store i32 %3802, ptr %2716, align 4, !tbaa !5
  %3813 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3814 = load i32, ptr @test_count, align 4, !tbaa !5
  %3815 = load i32, ptr %1310, align 4, !tbaa !5
  %3816 = call ptr @s2n_strerror(i32 noundef %3815, ptr noundef nonnull @.str.4) #11
  %3817 = load i32, ptr %1310, align 4, !tbaa !5
  %3818 = call ptr @s2n_strerror_debug(i32 noundef %3817, ptr noundef nonnull @.str.4) #11
  %3819 = load i32, ptr %2716, align 4, !tbaa !5
  %3820 = call ptr @strerror(i32 noundef %3819) #11
  %3821 = load i32, ptr %2716, align 4, !tbaa !5
  %3822 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3813, ptr noundef nonnull %.str.5.sink2277, i32 noundef %3814, ptr noundef nonnull @.str.65, ptr noundef nonnull @.str.1, i32 noundef 459, ptr noundef %3816, ptr noundef %3818, ptr noundef %3820, i32 noundef %3821) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3823:                                             ; preds = %3796
  %3824 = add nsw i32 %3797, 2
  store i32 %3824, ptr @test_count, align 4, !tbaa !5
  %3825 = call i64 @s2n_recv(ptr noundef %spec.select734, ptr noundef nonnull %5, i64 noundef 6, ptr noundef nonnull %30) #11
  %3826 = icmp eq i64 %3825, 6
  br i1 %3826, label %3849, label %3827

3827:                                             ; preds = %3823
  %3828 = load i32, ptr %2716, 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
  %.not603 = icmp eq i32 %3836, 0
  br i1 %.not603, label %3837, label %3838

3837:                                             ; preds = %3833, %3827
  br label %3838

3838:                                             ; preds = %3833, %3837
  %.str.5.sink2287 = phi ptr [ @.str.5, %3837 ], [ @.str.2, %3833 ]
  store i32 %3828, ptr %2716, 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 %1310, align 4, !tbaa !5
  %3842 = call ptr @s2n_strerror(i32 noundef %3841, ptr noundef nonnull @.str.4) #11
  %3843 = load i32, ptr %1310, align 4, !tbaa !5
  %3844 = call ptr @s2n_strerror_debug(i32 noundef %3843, ptr noundef nonnull @.str.4) #11
  %3845 = load i32, ptr %2716, align 4, !tbaa !5
  %3846 = call ptr @strerror(i32 noundef %3845) #11
  %3847 = load i32, ptr %2716, align 4, !tbaa !5
  %3848 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3839, ptr noundef nonnull %.str.5.sink2287, i32 noundef %3840, ptr noundef nonnull @.str.78, ptr noundef nonnull @.str.1, i32 noundef 460, ptr noundef %3842, ptr noundef %3844, ptr noundef %3846, i32 noundef %3847) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3849:                                             ; preds = %3823
  %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 = load i32, ptr %30, align 4, !tbaa !5
  %3853 = icmp eq i32 %3852, 0
  br i1 %3853, label %3876, label %3854

3854:                                             ; preds = %3849
  %3855 = load i32, ptr %2716, align 4, !tbaa !5
  %3856 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3857 = call i32 @s2n_print_stacktrace(ptr noundef %3856) #11
  %3858 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3859 = trunc nuw i8 %3858 to i1
  br i1 %3859, label %3860, label %3864

3860:                                             ; preds = %3854
  %3861 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3862 = call i32 @fileno(ptr noundef %3861) #11
  %3863 = call i32 @isatty(i32 noundef %3862) #11
  %.not604 = icmp eq i32 %3863, 0
  br i1 %.not604, label %3864, label %3865

3864:                                             ; preds = %3860, %3854
  br label %3865

3865:                                             ; preds = %3860, %3864
  %.str.5.sink2297 = phi ptr [ @.str.5, %3864 ], [ @.str.2, %3860 ]
  store i32 %3855, ptr %2716, align 4, !tbaa !5
  %3866 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3867 = load i32, ptr @test_count, align 4, !tbaa !5
  %3868 = load i32, ptr %1310, align 4, !tbaa !5
  %3869 = call ptr @s2n_strerror(i32 noundef %3868, ptr noundef nonnull @.str.4) #11
  %3870 = load i32, ptr %1310, align 4, !tbaa !5
  %3871 = call ptr @s2n_strerror_debug(i32 noundef %3870, ptr noundef nonnull @.str.4) #11
  %3872 = load i32, ptr %2716, align 4, !tbaa !5
  %3873 = call ptr @strerror(i32 noundef %3872) #11
  %3874 = load i32, ptr %2716, align 4, !tbaa !5
  %3875 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3866, ptr noundef nonnull %.str.5.sink2297, i32 noundef %3867, ptr noundef nonnull @.str.65, ptr noundef nonnull @.str.1, i32 noundef 461, ptr noundef %3869, ptr noundef %3871, ptr noundef %3873, i32 noundef %3874) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3876:                                             ; preds = %3849
  %3877 = add nsw i32 %3850, 2
  store i32 %3877, ptr @test_count, align 4, !tbaa !5
  %3878 = call i32 @s2n_shutdown(ptr noundef %spec.select733, ptr noundef nonnull %30) #11
  %3879 = icmp eq i32 %3878, -1
  br i1 %3879, label %3880, label %3902

3880:                                             ; preds = %3876
  %3881 = load i32, ptr %2716, align 4, !tbaa !5
  %3882 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3883 = call i32 @s2n_print_stacktrace(ptr noundef %3882) #11
  %3884 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3885 = trunc nuw i8 %3884 to i1
  br i1 %3885, label %3886, label %3890

3886:                                             ; preds = %3880
  %3887 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3888 = call i32 @fileno(ptr noundef %3887) #11
  %3889 = call i32 @isatty(i32 noundef %3888) #11
  %.not606 = icmp eq i32 %3889, 0
  br i1 %.not606, label %3890, label %3891

3890:                                             ; preds = %3886, %3880
  br label %3891

3891:                                             ; preds = %3886, %3890
  %.str.5.sink2307 = phi ptr [ @.str.5, %3890 ], [ @.str.2, %3886 ]
  store i32 %3881, ptr %2716, align 4, !tbaa !5
  %3892 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3893 = load i32, ptr @test_count, align 4, !tbaa !5
  %3894 = load i32, ptr %1310, align 4, !tbaa !5
  %3895 = call ptr @s2n_strerror(i32 noundef %3894, ptr noundef nonnull @.str.4) #11
  %3896 = load i32, ptr %1310, align 4, !tbaa !5
  %3897 = call ptr @s2n_strerror_debug(i32 noundef %3896, ptr noundef nonnull @.str.4) #11
  %3898 = load i32, ptr %2716, align 4, !tbaa !5
  %3899 = call ptr @strerror(i32 noundef %3898) #11
  %3900 = load i32, ptr %2716, align 4, !tbaa !5
  %3901 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3892, ptr noundef nonnull %.str.5.sink2307, i32 noundef %3893, ptr noundef nonnull @.str.79, ptr noundef nonnull @.str.1, i32 noundef 464, ptr noundef %3895, ptr noundef %3897, ptr noundef %3899, i32 noundef %3900) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3902:                                             ; preds = %3876
  %3903 = load i32, ptr @test_count, align 4, !tbaa !5
  %3904 = add nsw i32 %3903, 1
  store i32 %3904, ptr @test_count, align 4, !tbaa !5
  %3905 = call i32 @s2n_shutdown(ptr noundef %spec.select734, ptr noundef nonnull %30) #11
  %3906 = icmp eq i32 %3905, -1
  br i1 %3906, label %3907, label %3929

3907:                                             ; preds = %3902
  %3908 = load i32, ptr %2716, align 4, !tbaa !5
  %3909 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3910 = call i32 @s2n_print_stacktrace(ptr noundef %3909) #11
  %3911 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3912 = trunc nuw i8 %3911 to i1
  br i1 %3912, label %3913, label %3917

3913:                                             ; preds = %3907
  %3914 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3915 = call i32 @fileno(ptr noundef %3914) #11
  %3916 = call i32 @isatty(i32 noundef %3915) #11
  %.not605 = icmp eq i32 %3916, 0
  br i1 %.not605, label %3917, label %3918

3917:                                             ; preds = %3913, %3907
  br label %3918

3918:                                             ; preds = %3913, %3917
  %.str.5.sink2317 = phi ptr [ @.str.5, %3917 ], [ @.str.2, %3913 ]
  store i32 %3908, ptr %2716, align 4, !tbaa !5
  %3919 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3920 = load i32, ptr @test_count, align 4, !tbaa !5
  %3921 = load i32, ptr %1310, align 4, !tbaa !5
  %3922 = call ptr @s2n_strerror(i32 noundef %3921, ptr noundef nonnull @.str.4) #11
  %3923 = load i32, ptr %1310, align 4, !tbaa !5
  %3924 = call ptr @s2n_strerror_debug(i32 noundef %3923, ptr noundef nonnull @.str.4) #11
  %3925 = load i32, ptr %2716, align 4, !tbaa !5
  %3926 = call ptr @strerror(i32 noundef %3925) #11
  %3927 = load i32, ptr %2716, align 4, !tbaa !5
  %3928 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3919, ptr noundef nonnull %.str.5.sink2317, i32 noundef %3920, ptr noundef nonnull @.str.80, ptr noundef nonnull @.str.1, i32 noundef 465, ptr noundef %3922, ptr noundef %3924, ptr noundef %3926, i32 noundef %3927) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3929:                                             ; preds = %3902
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %30) #11
  %3930 = call i32 @s2n_io_stuffer_pair_free(ptr noundef nonnull %29) #11
  call void @llvm.lifetime.end.p0(i64 80, ptr nonnull %29) #11
  %3931 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %28) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %28) #11
  %3932 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %27) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %27) #11
  br i1 %3411, label %.preheader745, label %.preheader744, !llvm.loop !55

.preheader744:                                    ; preds = %3929, %4482
  %3933 = phi i1 [ true, %4482 ], [ false, %3929 ]
  %3934 = phi i1 [ false, %4482 ], [ true, %3929 ]
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %31) #11
  %3935 = call ptr @s2n_connection_new(i32 noundef 0) #11
  store ptr %3935, ptr %31, align 8, !tbaa !9
  %3936 = load i32, ptr @test_count, align 4, !tbaa !5
  %3937 = add nsw i32 %3936, 1
  store i32 %3937, ptr @test_count, align 4, !tbaa !5
  %3938 = call i32 @s2n_connection_set_blinding(ptr noundef %3935, i32 noundef 1) #11
  %3939 = icmp eq i32 %3938, -1
  br i1 %3939, label %3940, label %3962

3940:                                             ; preds = %.preheader744
  %3941 = load i32, ptr %2716, align 4, !tbaa !5
  %3942 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3943 = call i32 @s2n_print_stacktrace(ptr noundef %3942) #11
  %3944 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3945 = trunc nuw i8 %3944 to i1
  br i1 %3945, label %3946, label %3950

3946:                                             ; preds = %3940
  %3947 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3948 = call i32 @fileno(ptr noundef %3947) #11
  %3949 = call i32 @isatty(i32 noundef %3948) #11
  %.not595 = icmp eq i32 %3949, 0
  br i1 %.not595, label %3950, label %3951

3950:                                             ; preds = %3946, %3940
  br label %3951

3951:                                             ; preds = %3946, %3950
  %.str.5.sink2327 = phi ptr [ @.str.5, %3950 ], [ @.str.2, %3946 ]
  store i32 %3941, ptr %2716, align 4, !tbaa !5
  %3952 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3953 = load i32, ptr @test_count, align 4, !tbaa !5
  %3954 = load i32, ptr %1310, align 4, !tbaa !5
  %3955 = call ptr @s2n_strerror(i32 noundef %3954, ptr noundef nonnull @.str.4) #11
  %3956 = load i32, ptr %1310, align 4, !tbaa !5
  %3957 = call ptr @s2n_strerror_debug(i32 noundef %3956, ptr noundef nonnull @.str.4) #11
  %3958 = load i32, ptr %2716, align 4, !tbaa !5
  %3959 = call ptr @strerror(i32 noundef %3958) #11
  %3960 = load i32, ptr %2716, align 4, !tbaa !5
  %3961 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3952, ptr noundef nonnull %.str.5.sink2327, i32 noundef %3953, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 480, ptr noundef %3955, ptr noundef %3957, ptr noundef %3959, i32 noundef %3960) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3962:                                             ; preds = %.preheader744
  %3963 = load i32, ptr @test_count, align 4, !tbaa !5
  %3964 = add nsw i32 %3963, 1
  store i32 %3964, ptr @test_count, align 4, !tbaa !5
  %3965 = load ptr, ptr %31, align 8, !tbaa !9
  %3966 = call i32 @s2n_connection_set_config(ptr noundef %3965, ptr noundef %2895) #11
  %3967 = icmp eq i32 %3966, -1
  br i1 %3967, label %3968, label %3990

3968:                                             ; preds = %3962
  %3969 = load i32, ptr %2716, align 4, !tbaa !5
  %3970 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3971 = call i32 @s2n_print_stacktrace(ptr noundef %3970) #11
  %3972 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3973 = trunc nuw i8 %3972 to i1
  br i1 %3973, label %3974, label %3978

3974:                                             ; preds = %3968
  %3975 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3976 = call i32 @fileno(ptr noundef %3975) #11
  %3977 = call i32 @isatty(i32 noundef %3976) #11
  %.not594 = icmp eq i32 %3977, 0
  br i1 %.not594, label %3978, label %3979

3978:                                             ; preds = %3974, %3968
  br label %3979

3979:                                             ; preds = %3974, %3978
  %.str.5.sink2337 = phi ptr [ @.str.5, %3978 ], [ @.str.2, %3974 ]
  store i32 %3969, ptr %2716, align 4, !tbaa !5
  %3980 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3981 = load i32, ptr @test_count, align 4, !tbaa !5
  %3982 = load i32, ptr %1310, align 4, !tbaa !5
  %3983 = call ptr @s2n_strerror(i32 noundef %3982, ptr noundef nonnull @.str.4) #11
  %3984 = load i32, ptr %1310, align 4, !tbaa !5
  %3985 = call ptr @s2n_strerror_debug(i32 noundef %3984, ptr noundef nonnull @.str.4) #11
  %3986 = load i32, ptr %2716, align 4, !tbaa !5
  %3987 = call ptr @strerror(i32 noundef %3986) #11
  %3988 = load i32, ptr %2716, align 4, !tbaa !5
  %3989 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3980, ptr noundef nonnull %.str.5.sink2337, i32 noundef %3981, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 481, ptr noundef %3983, ptr noundef %3985, ptr noundef %3987, i32 noundef %3988) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3990:                                             ; preds = %3962
  %3991 = load i32, ptr @test_count, align 4, !tbaa !5
  %3992 = add nsw i32 %3991, 1
  store i32 %3992, ptr @test_count, align 4, !tbaa !5
  %3993 = load ptr, ptr %31, align 8, !tbaa !9
  %3994 = call i32 @s2n_connection_set_cipher_preferences(ptr noundef %3993, ptr noundef nonnull @.str.81) #11
  %3995 = icmp eq i32 %3994, -1
  br i1 %3995, label %3996, label %4018

3996:                                             ; preds = %3990
  %3997 = load i32, ptr %2716, align 4, !tbaa !5
  %3998 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3999 = call i32 @s2n_print_stacktrace(ptr noundef %3998) #11
  %4000 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4001 = trunc nuw i8 %4000 to i1
  br i1 %4001, label %4002, label %4006

4002:                                             ; preds = %3996
  %4003 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4004 = call i32 @fileno(ptr noundef %4003) #11
  %4005 = call i32 @isatty(i32 noundef %4004) #11
  %.not593 = icmp eq i32 %4005, 0
  br i1 %.not593, label %4006, label %4007

4006:                                             ; preds = %4002, %3996
  br label %4007

4007:                                             ; preds = %4002, %4006
  %.str.5.sink2347 = phi ptr [ @.str.5, %4006 ], [ @.str.2, %4002 ]
  store i32 %3997, ptr %2716, align 4, !tbaa !5
  %4008 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4009 = load i32, ptr @test_count, align 4, !tbaa !5
  %4010 = load i32, ptr %1310, align 4, !tbaa !5
  %4011 = call ptr @s2n_strerror(i32 noundef %4010, ptr noundef nonnull @.str.4) #11
  %4012 = load i32, ptr %1310, align 4, !tbaa !5
  %4013 = call ptr @s2n_strerror_debug(i32 noundef %4012, ptr noundef nonnull @.str.4) #11
  %4014 = load i32, ptr %2716, align 4, !tbaa !5
  %4015 = call ptr @strerror(i32 noundef %4014) #11
  %4016 = load i32, ptr %2716, align 4, !tbaa !5
  %4017 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4008, ptr noundef nonnull %.str.5.sink2347, i32 noundef %4009, ptr noundef nonnull @.str.82, ptr noundef nonnull @.str.1, i32 noundef 482, ptr noundef %4011, ptr noundef %4013, ptr noundef %4015, i32 noundef %4016) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4018:                                             ; preds = %3990
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %32) #11
  %4019 = call ptr @s2n_connection_new(i32 noundef 1) #11
  store ptr %4019, ptr %32, align 8, !tbaa !9
  %4020 = load i32, ptr @test_count, align 4, !tbaa !5
  %4021 = add nsw i32 %4020, 1
  store i32 %4021, ptr @test_count, align 4, !tbaa !5
  %4022 = call i32 @s2n_connection_set_blinding(ptr noundef %4019, i32 noundef 1) #11
  %4023 = icmp eq i32 %4022, -1
  br i1 %4023, label %4024, label %4046

4024:                                             ; preds = %4018
  %4025 = load i32, ptr %2716, align 4, !tbaa !5
  %4026 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4027 = call i32 @s2n_print_stacktrace(ptr noundef %4026) #11
  %4028 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4029 = trunc nuw i8 %4028 to i1
  br i1 %4029, label %4030, label %4034

4030:                                             ; preds = %4024
  %4031 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4032 = call i32 @fileno(ptr noundef %4031) #11
  %4033 = call i32 @isatty(i32 noundef %4032) #11
  %.not592 = icmp eq i32 %4033, 0
  br i1 %.not592, label %4034, label %4035

4034:                                             ; preds = %4030, %4024
  br label %4035

4035:                                             ; preds = %4030, %4034
  %.str.5.sink2357 = phi ptr [ @.str.5, %4034 ], [ @.str.2, %4030 ]
  store i32 %4025, ptr %2716, align 4, !tbaa !5
  %4036 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4037 = load i32, ptr @test_count, align 4, !tbaa !5
  %4038 = load i32, ptr %1310, align 4, !tbaa !5
  %4039 = call ptr @s2n_strerror(i32 noundef %4038, ptr noundef nonnull @.str.4) #11
  %4040 = load i32, ptr %1310, align 4, !tbaa !5
  %4041 = call ptr @s2n_strerror_debug(i32 noundef %4040, ptr noundef nonnull @.str.4) #11
  %4042 = load i32, ptr %2716, align 4, !tbaa !5
  %4043 = call ptr @strerror(i32 noundef %4042) #11
  %4044 = load i32, ptr %2716, align 4, !tbaa !5
  %4045 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4036, ptr noundef nonnull %.str.5.sink2357, i32 noundef %4037, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.1, i32 noundef 486, ptr noundef %4039, ptr noundef %4041, ptr noundef %4043, i32 noundef %4044) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4046:                                             ; preds = %4018
  %4047 = load i32, ptr @test_count, align 4, !tbaa !5
  %4048 = add nsw i32 %4047, 1
  store i32 %4048, ptr @test_count, align 4, !tbaa !5
  %4049 = load ptr, ptr %32, align 8, !tbaa !9
  %4050 = call i32 @s2n_connection_set_config(ptr noundef %4049, ptr noundef %2895) #11
  %4051 = icmp eq i32 %4050, -1
  br i1 %4051, label %4052, label %4074

4052:                                             ; preds = %4046
  %4053 = load i32, ptr %2716, align 4, !tbaa !5
  %4054 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4055 = call i32 @s2n_print_stacktrace(ptr noundef %4054) #11
  %4056 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4057 = trunc nuw i8 %4056 to i1
  br i1 %4057, label %4058, label %4062

4058:                                             ; preds = %4052
  %4059 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4060 = call i32 @fileno(ptr noundef %4059) #11
  %4061 = call i32 @isatty(i32 noundef %4060) #11
  %.not591 = icmp eq i32 %4061, 0
  br i1 %.not591, label %4062, label %4063

4062:                                             ; preds = %4058, %4052
  br label %4063

4063:                                             ; preds = %4058, %4062
  %.str.5.sink2367 = phi ptr [ @.str.5, %4062 ], [ @.str.2, %4058 ]
  store i32 %4053, ptr %2716, align 4, !tbaa !5
  %4064 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4065 = load i32, ptr @test_count, align 4, !tbaa !5
  %4066 = load i32, ptr %1310, align 4, !tbaa !5
  %4067 = call ptr @s2n_strerror(i32 noundef %4066, ptr noundef nonnull @.str.4) #11
  %4068 = load i32, ptr %1310, align 4, !tbaa !5
  %4069 = call ptr @s2n_strerror_debug(i32 noundef %4068, ptr noundef nonnull @.str.4) #11
  %4070 = load i32, ptr %2716, align 4, !tbaa !5
  %4071 = call ptr @strerror(i32 noundef %4070) #11
  %4072 = load i32, ptr %2716, align 4, !tbaa !5
  %4073 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4064, ptr noundef nonnull %.str.5.sink2367, i32 noundef %4065, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 487, ptr noundef %4067, ptr noundef %4069, ptr noundef %4071, i32 noundef %4072) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4074:                                             ; preds = %4046
  %4075 = load i32, ptr @test_count, align 4, !tbaa !5
  %4076 = add nsw i32 %4075, 1
  store i32 %4076, ptr @test_count, align 4, !tbaa !5
  %4077 = load ptr, ptr %32, align 8, !tbaa !9
  %4078 = call i32 @s2n_connection_set_cipher_preferences(ptr noundef %4077, ptr noundef nonnull @.str.81) #11
  %4079 = icmp eq i32 %4078, -1
  br i1 %4079, label %4080, label %4102

4080:                                             ; preds = %4074
  %4081 = load i32, ptr %2716, align 4, !tbaa !5
  %4082 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4083 = call i32 @s2n_print_stacktrace(ptr noundef %4082) #11
  %4084 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4085 = trunc nuw i8 %4084 to i1
  br i1 %4085, label %4086, label %4090

4086:                                             ; preds = %4080
  %4087 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4088 = call i32 @fileno(ptr noundef %4087) #11
  %4089 = call i32 @isatty(i32 noundef %4088) #11
  %.not590 = icmp eq i32 %4089, 0
  br i1 %.not590, label %4090, label %4091

4090:                                             ; preds = %4086, %4080
  br label %4091

4091:                                             ; preds = %4086, %4090
  %.str.5.sink2377 = phi ptr [ @.str.5, %4090 ], [ @.str.2, %4086 ]
  store i32 %4081, ptr %2716, align 4, !tbaa !5
  %4092 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4093 = load i32, ptr @test_count, align 4, !tbaa !5
  %4094 = load i32, ptr %1310, align 4, !tbaa !5
  %4095 = call ptr @s2n_strerror(i32 noundef %4094, ptr noundef nonnull @.str.4) #11
  %4096 = load i32, ptr %1310, align 4, !tbaa !5
  %4097 = call ptr @s2n_strerror_debug(i32 noundef %4096, ptr noundef nonnull @.str.4) #11
  %4098 = load i32, ptr %2716, align 4, !tbaa !5
  %4099 = call ptr @strerror(i32 noundef %4098) #11
  %4100 = load i32, ptr %2716, align 4, !tbaa !5
  %4101 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4092, ptr noundef nonnull %.str.5.sink2377, i32 noundef %4093, ptr noundef nonnull @.str.83, ptr noundef nonnull @.str.1, i32 noundef 488, ptr noundef %4095, ptr noundef %4097, ptr noundef %4099, i32 noundef %4100) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4102:                                             ; preds = %4074
  call void @llvm.lifetime.start.p0(i64 80, ptr nonnull %33) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(80) %33, i8 0, i64 80, i1 false)
  %4103 = load i32, ptr @test_count, align 4, !tbaa !5
  %4104 = add nsw i32 %4103, 1
  store i32 %4104, ptr @test_count, align 4, !tbaa !5
  %4105 = call i32 @s2n_io_stuffer_pair_init(ptr noundef nonnull %33) #11
  %4106 = call zeroext i1 @s2n_result_is_ok(i32 %4105)
  br i1 %4106, label %4129, label %4107

4107:                                             ; preds = %4102
  %4108 = load i32, ptr %2716, align 4, !tbaa !5
  %4109 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4110 = call i32 @s2n_print_stacktrace(ptr noundef %4109) #11
  %4111 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4112 = trunc nuw i8 %4111 to i1
  br i1 %4112, label %4113, label %4117

4113:                                             ; preds = %4107
  %4114 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4115 = call i32 @fileno(ptr noundef %4114) #11
  %4116 = call i32 @isatty(i32 noundef %4115) #11
  %.not576 = icmp eq i32 %4116, 0
  br i1 %.not576, label %4117, label %4118

4117:                                             ; preds = %4113, %4107
  br label %4118

4118:                                             ; preds = %4113, %4117
  %.str.5.sink2387 = phi ptr [ @.str.5, %4117 ], [ @.str.2, %4113 ]
  store i32 %4108, ptr %2716, align 4, !tbaa !5
  %4119 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4120 = load i32, ptr @test_count, align 4, !tbaa !5
  %4121 = load i32, ptr %1310, align 4, !tbaa !5
  %4122 = call ptr @s2n_strerror(i32 noundef %4121, ptr noundef nonnull @.str.4) #11
  %4123 = load i32, ptr %1310, align 4, !tbaa !5
  %4124 = call ptr @s2n_strerror_debug(i32 noundef %4123, ptr noundef nonnull @.str.4) #11
  %4125 = load i32, ptr %2716, align 4, !tbaa !5
  %4126 = call ptr @strerror(i32 noundef %4125) #11
  %4127 = load i32, ptr %2716, align 4, !tbaa !5
  %4128 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4119, ptr noundef nonnull %.str.5.sink2387, i32 noundef %4120, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 491, ptr noundef %4122, ptr noundef %4124, ptr noundef %4126, i32 noundef %4127) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4129:                                             ; preds = %4102
  %4130 = load i32, ptr @test_count, align 4, !tbaa !5
  %4131 = add nsw i32 %4130, 1
  store i32 %4131, ptr @test_count, align 4, !tbaa !5
  %4132 = load ptr, ptr %32, align 8, !tbaa !9
  %4133 = load ptr, ptr %31, align 8, !tbaa !9
  %4134 = call i32 @s2n_connections_set_io_stuffer_pair(ptr noundef %4132, ptr noundef %4133, ptr noundef nonnull %33) #11
  %4135 = call zeroext i1 @s2n_result_is_ok(i32 %4134)
  br i1 %4135, label %4158, label %4136

4136:                                             ; preds = %4129
  %4137 = load i32, ptr %2716, align 4, !tbaa !5
  %4138 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4139 = call i32 @s2n_print_stacktrace(ptr noundef %4138) #11
  %4140 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4141 = trunc nuw i8 %4140 to i1
  br i1 %4141, label %4142, label %4146

4142:                                             ; preds = %4136
  %4143 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4144 = call i32 @fileno(ptr noundef %4143) #11
  %4145 = call i32 @isatty(i32 noundef %4144) #11
  %.not577 = icmp eq i32 %4145, 0
  br i1 %.not577, label %4146, label %4147

4146:                                             ; preds = %4142, %4136
  br label %4147

4147:                                             ; preds = %4142, %4146
  %.str.5.sink2397 = phi ptr [ @.str.5, %4146 ], [ @.str.2, %4142 ]
  store i32 %4137, ptr %2716, align 4, !tbaa !5
  %4148 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4149 = load i32, ptr @test_count, align 4, !tbaa !5
  %4150 = load i32, ptr %1310, align 4, !tbaa !5
  %4151 = call ptr @s2n_strerror(i32 noundef %4150, ptr noundef nonnull @.str.4) #11
  %4152 = load i32, ptr %1310, align 4, !tbaa !5
  %4153 = call ptr @s2n_strerror_debug(i32 noundef %4152, ptr noundef nonnull @.str.4) #11
  %4154 = load i32, ptr %2716, align 4, !tbaa !5
  %4155 = call ptr @strerror(i32 noundef %4154) #11
  %4156 = load i32, ptr %2716, align 4, !tbaa !5
  %4157 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4148, ptr noundef nonnull %.str.5.sink2397, i32 noundef %4149, ptr noundef nonnull @.str.26, ptr noundef nonnull @.str.1, i32 noundef 492, ptr noundef %4151, ptr noundef %4153, ptr noundef %4155, i32 noundef %4156) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4158:                                             ; preds = %4129
  %4159 = load i32, ptr @test_count, align 4, !tbaa !5
  %4160 = add nsw i32 %4159, 1
  store i32 %4160, ptr @test_count, align 4, !tbaa !5
  %4161 = load ptr, ptr %31, align 8, !tbaa !9
  %4162 = load ptr, ptr %32, align 8, !tbaa !9
  %4163 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %4161, ptr noundef %4162) #11
  %4164 = icmp eq i32 %4163, -1
  br i1 %4164, label %4165, label %4187

4165:                                             ; preds = %4158
  %4166 = load i32, ptr %2716, align 4, !tbaa !5
  %4167 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4168 = call i32 @s2n_print_stacktrace(ptr noundef %4167) #11
  %4169 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4170 = trunc nuw i8 %4169 to i1
  br i1 %4170, label %4171, label %4175

4171:                                             ; preds = %4165
  %4172 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4173 = call i32 @fileno(ptr noundef %4172) #11
  %4174 = call i32 @isatty(i32 noundef %4173) #11
  %.not589 = icmp eq i32 %4174, 0
  br i1 %.not589, label %4175, label %4176

4175:                                             ; preds = %4171, %4165
  br label %4176

4176:                                             ; preds = %4171, %4175
  %.str.5.sink2407 = phi ptr [ @.str.5, %4175 ], [ @.str.2, %4171 ]
  store i32 %4166, ptr %2716, align 4, !tbaa !5
  %4177 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4178 = load i32, ptr @test_count, align 4, !tbaa !5
  %4179 = load i32, ptr %1310, align 4, !tbaa !5
  %4180 = call ptr @s2n_strerror(i32 noundef %4179, ptr noundef nonnull @.str.4) #11
  %4181 = load i32, ptr %1310, align 4, !tbaa !5
  %4182 = call ptr @s2n_strerror_debug(i32 noundef %4181, ptr noundef nonnull @.str.4) #11
  %4183 = load i32, ptr %2716, align 4, !tbaa !5
  %4184 = call ptr @strerror(i32 noundef %4183) #11
  %4185 = load i32, ptr %2716, align 4, !tbaa !5
  %4186 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4177, ptr noundef nonnull %.str.5.sink2407, i32 noundef %4178, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.1, i32 noundef 495, ptr noundef %4180, ptr noundef %4182, ptr noundef %4184, i32 noundef %4185) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4187:                                             ; preds = %4158
  %4188 = load i32, ptr @test_count, align 4, !tbaa !5
  %4189 = add nsw i32 %4188, 1
  store i32 %4189, ptr @test_count, align 4, !tbaa !5
  %4190 = load ptr, ptr %31, align 8, !tbaa !9
  %4191 = getelementptr inbounds i8, ptr %4190, i64 220
  %4192 = load i8, ptr %4191, align 4, !tbaa !20
  %4193 = icmp eq i8 %4192, 33
  br i1 %4193, label %4216, label %4194

4194:                                             ; preds = %4187
  %4195 = load i32, ptr %2716, align 4, !tbaa !5
  %4196 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4197 = call i32 @s2n_print_stacktrace(ptr noundef %4196) #11
  %4198 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4199 = trunc nuw i8 %4198 to i1
  br i1 %4199, label %4200, label %4204

4200:                                             ; preds = %4194
  %4201 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4202 = call i32 @fileno(ptr noundef %4201) #11
  %4203 = call i32 @isatty(i32 noundef %4202) #11
  %.not578 = icmp eq i32 %4203, 0
  br i1 %.not578, label %4204, label %4205

4204:                                             ; preds = %4200, %4194
  br label %4205

4205:                                             ; preds = %4200, %4204
  %.str.5.sink2417 = phi ptr [ @.str.5, %4204 ], [ @.str.2, %4200 ]
  store i32 %4195, ptr %2716, align 4, !tbaa !5
  %4206 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4207 = load i32, ptr @test_count, align 4, !tbaa !5
  %4208 = load i32, ptr %1310, align 4, !tbaa !5
  %4209 = call ptr @s2n_strerror(i32 noundef %4208, ptr noundef nonnull @.str.4) #11
  %4210 = load i32, ptr %1310, align 4, !tbaa !5
  %4211 = call ptr @s2n_strerror_debug(i32 noundef %4210, ptr noundef nonnull @.str.4) #11
  %4212 = load i32, ptr %2716, align 4, !tbaa !5
  %4213 = call ptr @strerror(i32 noundef %4212) #11
  %4214 = load i32, ptr %2716, align 4, !tbaa !5
  %4215 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4206, ptr noundef nonnull %.str.5.sink2417, i32 noundef %4207, ptr noundef nonnull @.str.84, ptr noundef nonnull @.str.1, i32 noundef 496, ptr noundef %4209, ptr noundef %4211, ptr noundef %4213, i32 noundef %4214) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4216:                                             ; preds = %4187
  %4217 = load ptr, ptr %32, align 8, !tbaa !9
  %spec.select735 = select i1 %3933, ptr %4190, ptr %4217
  %spec.select736 = select i1 %3933, ptr %4217, ptr %4190
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %34) #11
  store i32 0, ptr %34, align 4, !tbaa !5
  %4218 = add nsw i32 %4188, 2
  store i32 %4218, ptr @test_count, align 4, !tbaa !5
  %4219 = call i32 @s2n_shutdown_send(ptr noundef %spec.select736, ptr noundef nonnull %34) #11
  %4220 = icmp eq i32 %4219, -1
  br i1 %4220, label %4221, label %4243

4221:                                             ; preds = %4216
  %4222 = load i32, ptr %2716, align 4, !tbaa !5
  %4223 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4224 = call i32 @s2n_print_stacktrace(ptr noundef %4223) #11
  %4225 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4226 = trunc nuw i8 %4225 to i1
  br i1 %4226, label %4227, label %4231

4227:                                             ; preds = %4221
  %4228 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4229 = call i32 @fileno(ptr noundef %4228) #11
  %4230 = call i32 @isatty(i32 noundef %4229) #11
  %.not588 = icmp eq i32 %4230, 0
  br i1 %.not588, label %4231, label %4232

4231:                                             ; preds = %4227, %4221
  br label %4232

4232:                                             ; preds = %4227, %4231
  %.str.5.sink2427 = phi ptr [ @.str.5, %4231 ], [ @.str.2, %4227 ]
  store i32 %4222, ptr %2716, align 4, !tbaa !5
  %4233 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4234 = load i32, ptr @test_count, align 4, !tbaa !5
  %4235 = load i32, ptr %1310, align 4, !tbaa !5
  %4236 = call ptr @s2n_strerror(i32 noundef %4235, ptr noundef nonnull @.str.4) #11
  %4237 = load i32, ptr %1310, align 4, !tbaa !5
  %4238 = call ptr @s2n_strerror_debug(i32 noundef %4237, ptr noundef nonnull @.str.4) #11
  %4239 = load i32, ptr %2716, align 4, !tbaa !5
  %4240 = call ptr @strerror(i32 noundef %4239) #11
  %4241 = load i32, ptr %2716, align 4, !tbaa !5
  %4242 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4233, ptr noundef nonnull %.str.5.sink2427, i32 noundef %4234, ptr noundef nonnull @.str.75, ptr noundef nonnull @.str.1, i32 noundef 507, ptr noundef %4236, ptr noundef %4238, ptr noundef %4240, i32 noundef %4241) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4243:                                             ; preds = %4216
  %4244 = load i32, ptr @test_count, align 4, !tbaa !5
  %4245 = add nsw i32 %4244, 1
  store i32 %4245, ptr @test_count, align 4, !tbaa !5
  %4246 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %spec.select736, i32 noundef 3) #11
  br i1 %4246, label %4269, label %4247

4247:                                             ; preds = %4243
  %4248 = load i32, ptr %2716, align 4, !tbaa !5
  %4249 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4250 = call i32 @s2n_print_stacktrace(ptr noundef %4249) #11
  %4251 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4252 = trunc nuw i8 %4251 to i1
  br i1 %4252, label %4253, label %4257

4253:                                             ; preds = %4247
  %4254 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4255 = call i32 @fileno(ptr noundef %4254) #11
  %4256 = call i32 @isatty(i32 noundef %4255) #11
  %.not579 = icmp eq i32 %4256, 0
  br i1 %.not579, label %4257, label %4258

4257:                                             ; preds = %4253, %4247
  br label %4258

4258:                                             ; preds = %4253, %4257
  %.str.5.sink2437 = phi ptr [ @.str.5, %4257 ], [ @.str.2, %4253 ]
  store i32 %4248, ptr %2716, align 4, !tbaa !5
  %4259 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4260 = load i32, ptr @test_count, align 4, !tbaa !5
  %4261 = load i32, ptr %1310, align 4, !tbaa !5
  %4262 = call ptr @s2n_strerror(i32 noundef %4261, ptr noundef nonnull @.str.4) #11
  %4263 = load i32, ptr %1310, align 4, !tbaa !5
  %4264 = call ptr @s2n_strerror_debug(i32 noundef %4263, ptr noundef nonnull @.str.4) #11
  %4265 = load i32, ptr %2716, align 4, !tbaa !5
  %4266 = call ptr @strerror(i32 noundef %4265) #11
  %4267 = load i32, ptr %2716, align 4, !tbaa !5
  %4268 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4259, ptr noundef nonnull %.str.5.sink2437, i32 noundef %4260, ptr noundef nonnull @.str.85, ptr noundef nonnull @.str.1, i32 noundef 508, ptr noundef %4262, ptr noundef %4264, ptr noundef %4266, i32 noundef %4267) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4269:                                             ; preds = %4243
  %4270 = load i32, ptr @test_count, align 4, !tbaa !5
  %4271 = add nsw i32 %4270, 1
  store i32 %4271, ptr @test_count, align 4, !tbaa !5
  %4272 = call i64 @s2n_recv(ptr noundef %spec.select735, ptr noundef nonnull %5, i64 noundef 6, ptr noundef nonnull %34) #11
  %4273 = icmp eq i64 %4272, 0
  br i1 %4273, label %4296, label %4274

4274:                                             ; preds = %4269
  %4275 = load i32, ptr %2716, align 4, !tbaa !5
  %4276 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4277 = call i32 @s2n_print_stacktrace(ptr noundef %4276) #11
  %4278 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4279 = trunc nuw i8 %4278 to i1
  br i1 %4279, label %4280, label %4284

4280:                                             ; preds = %4274
  %4281 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4282 = call i32 @fileno(ptr noundef %4281) #11
  %4283 = call i32 @isatty(i32 noundef %4282) #11
  %.not580 = icmp eq i32 %4283, 0
  br i1 %.not580, label %4284, label %4285

4284:                                             ; preds = %4280, %4274
  br label %4285

4285:                                             ; preds = %4280, %4284
  %.str.5.sink2447 = phi ptr [ @.str.5, %4284 ], [ @.str.2, %4280 ]
  store i32 %4275, ptr %2716, align 4, !tbaa !5
  %4286 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4287 = load i32, ptr @test_count, align 4, !tbaa !5
  %4288 = load i32, ptr %1310, align 4, !tbaa !5
  %4289 = call ptr @s2n_strerror(i32 noundef %4288, ptr noundef nonnull @.str.4) #11
  %4290 = load i32, ptr %1310, align 4, !tbaa !5
  %4291 = call ptr @s2n_strerror_debug(i32 noundef %4290, ptr noundef nonnull @.str.4) #11
  %4292 = load i32, ptr %2716, align 4, !tbaa !5
  %4293 = call ptr @strerror(i32 noundef %4292) #11
  %4294 = load i32, ptr %2716, align 4, !tbaa !5
  %4295 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4286, ptr noundef nonnull %.str.5.sink2447, i32 noundef %4287, ptr noundef nonnull @.str.72, ptr noundef nonnull @.str.1, i32 noundef 511, ptr noundef %4289, ptr noundef %4291, ptr noundef %4293, i32 noundef %4294) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4296:                                             ; preds = %4269
  %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 zeroext i1 @s2n_connection_check_io_status(ptr noundef %spec.select735, i32 noundef 3) #11
  br i1 %4299, label %4322, label %4300

4300:                                             ; preds = %4296
  %4301 = load i32, ptr %2716, align 4, !tbaa !5
  %4302 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4303 = call i32 @s2n_print_stacktrace(ptr noundef %4302) #11
  %4304 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4305 = trunc nuw i8 %4304 to i1
  br i1 %4305, label %4306, label %4310

4306:                                             ; preds = %4300
  %4307 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4308 = call i32 @fileno(ptr noundef %4307) #11
  %4309 = call i32 @isatty(i32 noundef %4308) #11
  %.not581 = icmp eq i32 %4309, 0
  br i1 %.not581, label %4310, label %4311

4310:                                             ; preds = %4306, %4300
  br label %4311

4311:                                             ; preds = %4306, %4310
  %.str.5.sink2457 = phi ptr [ @.str.5, %4310 ], [ @.str.2, %4306 ]
  store i32 %4301, ptr %2716, align 4, !tbaa !5
  %4312 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4313 = load i32, ptr @test_count, align 4, !tbaa !5
  %4314 = load i32, ptr %1310, align 4, !tbaa !5
  %4315 = call ptr @s2n_strerror(i32 noundef %4314, ptr noundef nonnull @.str.4) #11
  %4316 = load i32, ptr %1310, align 4, !tbaa !5
  %4317 = call ptr @s2n_strerror_debug(i32 noundef %4316, ptr noundef nonnull @.str.4) #11
  %4318 = load i32, ptr %2716, align 4, !tbaa !5
  %4319 = call ptr @strerror(i32 noundef %4318) #11
  %4320 = load i32, ptr %2716, align 4, !tbaa !5
  %4321 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4312, ptr noundef nonnull %.str.5.sink2457, i32 noundef %4313, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.1, i32 noundef 512, ptr noundef %4315, ptr noundef %4317, ptr noundef %4319, i32 noundef %4320) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4322:                                             ; preds = %4296
  %4323 = load i32, ptr @test_count, align 4, !tbaa !5
  %4324 = add nsw i32 %4323, 1
  store i32 %4324, ptr @test_count, align 4, !tbaa !5
  %4325 = load i32, ptr %34, align 4, !tbaa !5
  %4326 = icmp eq i32 %4325, 0
  br i1 %4326, label %4349, label %4327

4327:                                             ; preds = %4322
  %4328 = load i32, ptr %2716, align 4, !tbaa !5
  %4329 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4330 = call i32 @s2n_print_stacktrace(ptr noundef %4329) #11
  %4331 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4332 = trunc nuw i8 %4331 to i1
  br i1 %4332, label %4333, label %4337

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

4337:                                             ; preds = %4333, %4327
  br label %4338

4338:                                             ; preds = %4333, %4337
  %.str.5.sink2467 = phi ptr [ @.str.5, %4337 ], [ @.str.2, %4333 ]
  store i32 %4328, ptr %2716, align 4, !tbaa !5
  %4339 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4340 = load i32, ptr @test_count, align 4, !tbaa !5
  %4341 = load i32, ptr %1310, align 4, !tbaa !5
  %4342 = call ptr @s2n_strerror(i32 noundef %4341, ptr noundef nonnull @.str.4) #11
  %4343 = load i32, ptr %1310, align 4, !tbaa !5
  %4344 = call ptr @s2n_strerror_debug(i32 noundef %4343, ptr noundef nonnull @.str.4) #11
  %4345 = load i32, ptr %2716, align 4, !tbaa !5
  %4346 = call ptr @strerror(i32 noundef %4345) #11
  %4347 = load i32, ptr %2716, align 4, !tbaa !5
  %4348 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4339, ptr noundef nonnull %.str.5.sink2467, i32 noundef %4340, ptr noundef nonnull @.str.65, ptr noundef nonnull @.str.1, i32 noundef 513, ptr noundef %4342, ptr noundef %4344, ptr noundef %4346, i32 noundef %4347) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4349:                                             ; preds = %4322
  %4350 = add nsw i32 %4323, 2
  store i32 %4350, ptr @test_count, align 4, !tbaa !5
  %4351 = call i64 @s2n_send(ptr noundef %spec.select735, ptr noundef nonnull %5, i64 noundef 6, ptr noundef nonnull %34) #11
  %4352 = icmp eq i64 %4351, -1
  br i1 %4352, label %4375, label %4353

4353:                                             ; preds = %4349
  %4354 = load i32, ptr %2716, align 4, !tbaa !5
  %4355 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4356 = call i32 @s2n_print_stacktrace(ptr noundef %4355) #11
  %4357 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4358 = trunc nuw i8 %4357 to i1
  br i1 %4358, label %4359, label %4363

4359:                                             ; preds = %4353
  %4360 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4361 = call i32 @fileno(ptr noundef %4360) #11
  %4362 = call i32 @isatty(i32 noundef %4361) #11
  %.not583 = icmp eq i32 %4362, 0
  br i1 %.not583, label %4363, label %4364

4363:                                             ; preds = %4359, %4353
  br label %4364

4364:                                             ; preds = %4359, %4363
  %.str.5.sink2477 = phi ptr [ @.str.5, %4363 ], [ @.str.2, %4359 ]
  store i32 %4354, ptr %2716, align 4, !tbaa !5
  %4365 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4366 = load i32, ptr @test_count, align 4, !tbaa !5
  %4367 = load i32, ptr %1310, align 4, !tbaa !5
  %4368 = call ptr @s2n_strerror(i32 noundef %4367, ptr noundef nonnull @.str.4) #11
  %4369 = load i32, ptr %1310, align 4, !tbaa !5
  %4370 = call ptr @s2n_strerror_debug(i32 noundef %4369, ptr noundef nonnull @.str.4) #11
  %4371 = load i32, ptr %2716, align 4, !tbaa !5
  %4372 = call ptr @strerror(i32 noundef %4371) #11
  %4373 = load i32, ptr %2716, align 4, !tbaa !5
  %4374 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4365, ptr noundef nonnull %.str.5.sink2477, i32 noundef %4366, ptr noundef nonnull @.str.38, ptr noundef nonnull @.str.1, i32 noundef 519, ptr noundef %4368, ptr noundef %4370, ptr noundef %4372, i32 noundef %4373) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4375:                                             ; preds = %4349
  %4376 = load i32, ptr @test_count, align 4, !tbaa !5
  %4377 = add nsw i32 %4376, 1
  store i32 %4377, ptr @test_count, align 4, !tbaa !5
  %4378 = load i32, ptr %1310, align 4, !tbaa !5
  %4379 = icmp eq i32 %4378, 134217728
  br i1 %4379, label %4402, label %4380

4380:                                             ; preds = %4375
  %4381 = load i32, ptr %2716, align 4, !tbaa !5
  %4382 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4383 = call i32 @s2n_print_stacktrace(ptr noundef %4382) #11
  %4384 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4385 = trunc nuw i8 %4384 to i1
  br i1 %4385, label %4386, label %4390

4386:                                             ; preds = %4380
  %4387 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4388 = call i32 @fileno(ptr noundef %4387) #11
  %4389 = call i32 @isatty(i32 noundef %4388) #11
  %.not584 = icmp eq i32 %4389, 0
  br i1 %.not584, label %4390, label %4391

4390:                                             ; preds = %4386, %4380
  br label %4391

4391:                                             ; preds = %4386, %4390
  %.str.5.sink2487 = phi ptr [ @.str.5, %4390 ], [ @.str.2, %4386 ]
  store i32 %4381, ptr %2716, align 4, !tbaa !5
  %4392 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4393 = load i32, ptr @test_count, align 4, !tbaa !5
  %4394 = load i32, ptr %1310, align 4, !tbaa !5
  %4395 = call ptr @s2n_strerror(i32 noundef %4394, ptr noundef nonnull @.str.4) #11
  %4396 = load i32, ptr %1310, align 4, !tbaa !5
  %4397 = call ptr @s2n_strerror_debug(i32 noundef %4396, ptr noundef nonnull @.str.4) #11
  %4398 = load i32, ptr %2716, align 4, !tbaa !5
  %4399 = call ptr @strerror(i32 noundef %4398) #11
  %4400 = load i32, ptr %2716, align 4, !tbaa !5
  %4401 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4392, ptr noundef nonnull %.str.5.sink2487, i32 noundef %4393, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.1, i32 noundef 519, ptr noundef %4395, ptr noundef %4397, ptr noundef %4399, i32 noundef %4400) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4402:                                             ; preds = %4375
  %4403 = add nsw i32 %4376, 2
  store i32 %4403, ptr @test_count, align 4, !tbaa !5
  %4404 = call ptr @s2n_strerror_debug(i32 noundef 134217728, ptr noundef nonnull @.str.4) #11
  %4405 = icmp eq ptr %4404, null
  br i1 %4405, label %4406, label %4428

4406:                                             ; preds = %4402
  %4407 = load i32, ptr %2716, align 4, !tbaa !5
  %4408 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4409 = call i32 @s2n_print_stacktrace(ptr noundef %4408) #11
  %4410 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4411 = trunc nuw i8 %4410 to i1
  br i1 %4411, label %4412, label %4416

4412:                                             ; preds = %4406
  %4413 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4414 = call i32 @fileno(ptr noundef %4413) #11
  %4415 = call i32 @isatty(i32 noundef %4414) #11
  %.not587 = icmp eq i32 %4415, 0
  br i1 %.not587, label %4416, label %4417

4416:                                             ; preds = %4412, %4406
  br label %4417

4417:                                             ; preds = %4412, %4416
  %.str.5.sink2497 = phi ptr [ @.str.5, %4416 ], [ @.str.2, %4412 ]
  store i32 %4407, ptr %2716, align 4, !tbaa !5
  %4418 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4419 = load i32, ptr @test_count, align 4, !tbaa !5
  %4420 = load i32, ptr %1310, align 4, !tbaa !5
  %4421 = call ptr @s2n_strerror(i32 noundef %4420, ptr noundef nonnull @.str.4) #11
  %4422 = load i32, ptr %1310, align 4, !tbaa !5
  %4423 = call ptr @s2n_strerror_debug(i32 noundef %4422, ptr noundef nonnull @.str.4) #11
  %4424 = load i32, ptr %2716, align 4, !tbaa !5
  %4425 = call ptr @strerror(i32 noundef %4424) #11
  %4426 = load i32, ptr %2716, align 4, !tbaa !5
  %4427 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4418, ptr noundef nonnull %.str.5.sink2497, i32 noundef %4419, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.1, i32 noundef 519, ptr noundef %4421, ptr noundef %4423, ptr noundef %4425, i32 noundef %4426) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4428:                                             ; preds = %4402
  store i32 0, ptr %1310, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #11
  store i32 0, ptr %2716, align 4, !tbaa !5
  %4429 = load i32, ptr @test_count, align 4, !tbaa !5
  %4430 = add nsw i32 %4429, 1
  store i32 %4430, ptr @test_count, align 4, !tbaa !5
  %4431 = call i32 @s2n_shutdown(ptr noundef %spec.select735, ptr noundef nonnull %34) #11
  %4432 = icmp eq i32 %4431, -1
  br i1 %4432, label %4433, label %4455

4433:                                             ; preds = %4428
  %4434 = load i32, ptr %2716, align 4, !tbaa !5
  %4435 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4436 = call i32 @s2n_print_stacktrace(ptr noundef %4435) #11
  %4437 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4438 = trunc nuw i8 %4437 to i1
  br i1 %4438, label %4439, label %4443

4439:                                             ; preds = %4433
  %4440 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4441 = call i32 @fileno(ptr noundef %4440) #11
  %4442 = call i32 @isatty(i32 noundef %4441) #11
  %.not586 = icmp eq i32 %4442, 0
  br i1 %.not586, label %4443, label %4444

4443:                                             ; preds = %4439, %4433
  br label %4444

4444:                                             ; preds = %4439, %4443
  %.str.5.sink2507 = phi ptr [ @.str.5, %4443 ], [ @.str.2, %4439 ]
  store i32 %4434, ptr %2716, align 4, !tbaa !5
  %4445 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4446 = load i32, ptr @test_count, align 4, !tbaa !5
  %4447 = load i32, ptr %1310, align 4, !tbaa !5
  %4448 = call ptr @s2n_strerror(i32 noundef %4447, ptr noundef nonnull @.str.4) #11
  %4449 = load i32, ptr %1310, align 4, !tbaa !5
  %4450 = call ptr @s2n_strerror_debug(i32 noundef %4449, ptr noundef nonnull @.str.4) #11
  %4451 = load i32, ptr %2716, align 4, !tbaa !5
  %4452 = call ptr @strerror(i32 noundef %4451) #11
  %4453 = load i32, ptr %2716, align 4, !tbaa !5
  %4454 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4445, ptr noundef nonnull %.str.5.sink2507, i32 noundef %4446, ptr noundef nonnull @.str.79, ptr noundef nonnull @.str.1, i32 noundef 522, ptr noundef %4448, ptr noundef %4450, ptr noundef %4452, i32 noundef %4453) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4455:                                             ; preds = %4428
  %4456 = load i32, ptr @test_count, align 4, !tbaa !5
  %4457 = add nsw i32 %4456, 1
  store i32 %4457, ptr @test_count, align 4, !tbaa !5
  %4458 = call i32 @s2n_shutdown(ptr noundef %spec.select736, ptr noundef nonnull %34) #11
  %4459 = icmp eq i32 %4458, -1
  br i1 %4459, label %4460, label %4482

4460:                                             ; preds = %4455
  %4461 = load i32, ptr %2716, align 4, !tbaa !5
  %4462 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4463 = call i32 @s2n_print_stacktrace(ptr noundef %4462) #11
  %4464 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4465 = trunc nuw i8 %4464 to i1
  br i1 %4465, label %4466, label %4470

4466:                                             ; preds = %4460
  %4467 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4468 = call i32 @fileno(ptr noundef %4467) #11
  %4469 = call i32 @isatty(i32 noundef %4468) #11
  %.not585 = icmp eq i32 %4469, 0
  br i1 %.not585, label %4470, label %4471

4470:                                             ; preds = %4466, %4460
  br label %4471

4471:                                             ; preds = %4466, %4470
  %.str.5.sink2517 = phi ptr [ @.str.5, %4470 ], [ @.str.2, %4466 ]
  store i32 %4461, ptr %2716, align 4, !tbaa !5
  %4472 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4473 = load i32, ptr @test_count, align 4, !tbaa !5
  %4474 = load i32, ptr %1310, align 4, !tbaa !5
  %4475 = call ptr @s2n_strerror(i32 noundef %4474, ptr noundef nonnull @.str.4) #11
  %4476 = load i32, ptr %1310, align 4, !tbaa !5
  %4477 = call ptr @s2n_strerror_debug(i32 noundef %4476, ptr noundef nonnull @.str.4) #11
  %4478 = load i32, ptr %2716, align 4, !tbaa !5
  %4479 = call ptr @strerror(i32 noundef %4478) #11
  %4480 = load i32, ptr %2716, align 4, !tbaa !5
  %4481 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4472, ptr noundef nonnull %.str.5.sink2517, i32 noundef %4473, ptr noundef nonnull @.str.80, ptr noundef nonnull @.str.1, i32 noundef 523, ptr noundef %4475, ptr noundef %4477, ptr noundef %4479, i32 noundef %4480) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4482:                                             ; preds = %4455
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %34) #11
  %4483 = call i32 @s2n_io_stuffer_pair_free(ptr noundef nonnull %33) #11
  call void @llvm.lifetime.end.p0(i64 80, ptr nonnull %33) #11
  %4484 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %32) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %32) #11
  %4485 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %31) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %31) #11
  br i1 %3934, label %.preheader744, label %.preheader743, !llvm.loop !56

4486:                                             ; preds = %5386
  %4487 = call i32 @s2n_cleanup() #11
  %4488 = icmp eq i32 %4487, -1
  br i1 %4488, label %5390, label %5412

.preheader743:                                    ; preds = %4482, %5386
  %4489 = phi i1 [ true, %5386 ], [ false, %4482 ]
  %4490 = phi i1 [ false, %5386 ], [ true, %4482 ]
  %indvars.iv = phi i32 [ 1, %5386 ], [ 0, %4482 ]
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %35) #11
  %4491 = call ptr @s2n_connection_new(i32 noundef 0) #11
  store ptr %4491, ptr %35, align 8, !tbaa !9
  %4492 = load i32, ptr @test_count, align 4, !tbaa !5
  %4493 = add nsw i32 %4492, 1
  store i32 %4493, ptr @test_count, align 4, !tbaa !5
  %4494 = call i32 @s2n_connection_set_blinding(ptr noundef %4491, i32 noundef 1) #11
  %4495 = icmp eq i32 %4494, -1
  br i1 %4495, label %4496, label %4518

4496:                                             ; preds = %.preheader743
  %4497 = load i32, ptr %2716, align 4, !tbaa !5
  %4498 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4499 = call i32 @s2n_print_stacktrace(ptr noundef %4498) #11
  %4500 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4501 = trunc nuw i8 %4500 to i1
  br i1 %4501, label %4502, label %4506

4502:                                             ; preds = %4496
  %4503 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4504 = call i32 @fileno(ptr noundef %4503) #11
  %4505 = call i32 @isatty(i32 noundef %4504) #11
  %.not575 = icmp eq i32 %4505, 0
  br i1 %.not575, label %4506, label %4507

4506:                                             ; preds = %4502, %4496
  br label %4507

4507:                                             ; preds = %4502, %4506
  %.str.5.sink2527 = phi ptr [ @.str.5, %4506 ], [ @.str.2, %4502 ]
  store i32 %4497, ptr %2716, align 4, !tbaa !5
  %4508 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4509 = load i32, ptr @test_count, align 4, !tbaa !5
  %4510 = load i32, ptr %1310, align 4, !tbaa !5
  %4511 = call ptr @s2n_strerror(i32 noundef %4510, ptr noundef nonnull @.str.4) #11
  %4512 = load i32, ptr %1310, align 4, !tbaa !5
  %4513 = call ptr @s2n_strerror_debug(i32 noundef %4512, ptr noundef nonnull @.str.4) #11
  %4514 = load i32, ptr %2716, align 4, !tbaa !5
  %4515 = call ptr @strerror(i32 noundef %4514) #11
  %4516 = load i32, ptr %2716, align 4, !tbaa !5
  %4517 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4508, ptr noundef nonnull %.str.5.sink2527, i32 noundef %4509, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 546, ptr noundef %4511, ptr noundef %4513, ptr noundef %4515, i32 noundef %4516) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4518:                                             ; preds = %.preheader743
  %4519 = load i32, ptr @test_count, align 4, !tbaa !5
  %4520 = add nsw i32 %4519, 1
  store i32 %4520, ptr @test_count, align 4, !tbaa !5
  %4521 = load ptr, ptr %35, align 8, !tbaa !9
  %4522 = call i32 @s2n_connection_set_config(ptr noundef %4521, ptr noundef %2895) #11
  %4523 = icmp eq i32 %4522, -1
  br i1 %4523, label %4524, label %4546

4524:                                             ; preds = %4518
  %4525 = load i32, ptr %2716, 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
  %.not574 = icmp eq i32 %4533, 0
  br i1 %.not574, label %4534, label %4535

4534:                                             ; preds = %4530, %4524
  br label %4535

4535:                                             ; preds = %4530, %4534
  %.str.5.sink2537 = phi ptr [ @.str.5, %4534 ], [ @.str.2, %4530 ]
  store i32 %4525, ptr %2716, 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 %1310, align 4, !tbaa !5
  %4539 = call ptr @s2n_strerror(i32 noundef %4538, ptr noundef nonnull @.str.4) #11
  %4540 = load i32, ptr %1310, align 4, !tbaa !5
  %4541 = call ptr @s2n_strerror_debug(i32 noundef %4540, ptr noundef nonnull @.str.4) #11
  %4542 = load i32, ptr %2716, align 4, !tbaa !5
  %4543 = call ptr @strerror(i32 noundef %4542) #11
  %4544 = load i32, ptr %2716, align 4, !tbaa !5
  %4545 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4536, ptr noundef nonnull %.str.5.sink2537, i32 noundef %4537, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 547, ptr noundef %4539, ptr noundef %4541, ptr noundef %4543, i32 noundef %4544) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4546:                                             ; preds = %4518
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %36) #11
  %4547 = call ptr @s2n_connection_new(i32 noundef 1) #11
  store ptr %4547, ptr %36, align 8, !tbaa !9
  %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_connection_set_blinding(ptr noundef %4547, i32 noundef 1) #11
  %4551 = icmp eq i32 %4550, -1
  br i1 %4551, label %4552, label %4574

4552:                                             ; preds = %4546
  %4553 = load i32, ptr %2716, 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
  %.not573 = icmp eq i32 %4561, 0
  br i1 %.not573, label %4562, label %4563

4562:                                             ; preds = %4558, %4552
  br label %4563

4563:                                             ; preds = %4558, %4562
  %.str.5.sink2547 = phi ptr [ @.str.5, %4562 ], [ @.str.2, %4558 ]
  store i32 %4553, ptr %2716, 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 %1310, align 4, !tbaa !5
  %4567 = call ptr @s2n_strerror(i32 noundef %4566, ptr noundef nonnull @.str.4) #11
  %4568 = load i32, ptr %1310, align 4, !tbaa !5
  %4569 = call ptr @s2n_strerror_debug(i32 noundef %4568, ptr noundef nonnull @.str.4) #11
  %4570 = load i32, ptr %2716, align 4, !tbaa !5
  %4571 = call ptr @strerror(i32 noundef %4570) #11
  %4572 = load i32, ptr %2716, align 4, !tbaa !5
  %4573 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4564, ptr noundef nonnull %.str.5.sink2547, i32 noundef %4565, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.1, i32 noundef 551, 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 = load i32, ptr @test_count, align 4, !tbaa !5
  %4576 = add nsw i32 %4575, 1
  store i32 %4576, ptr @test_count, align 4, !tbaa !5
  %4577 = load ptr, ptr %36, align 8, !tbaa !9
  %4578 = call i32 @s2n_connection_set_config(ptr noundef %4577, ptr noundef %2895) #11
  %4579 = icmp eq i32 %4578, -1
  br i1 %4579, label %4580, label %4602

4580:                                             ; preds = %4574
  %4581 = load i32, ptr %2716, align 4, !tbaa !5
  %4582 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4583 = call i32 @s2n_print_stacktrace(ptr noundef %4582) #11
  %4584 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4585 = trunc nuw i8 %4584 to i1
  br i1 %4585, label %4586, label %4590

4586:                                             ; preds = %4580
  %4587 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4588 = call i32 @fileno(ptr noundef %4587) #11
  %4589 = call i32 @isatty(i32 noundef %4588) #11
  %.not572 = icmp eq i32 %4589, 0
  br i1 %.not572, label %4590, label %4591

4590:                                             ; preds = %4586, %4580
  br label %4591

4591:                                             ; preds = %4586, %4590
  %.str.5.sink2557 = phi ptr [ @.str.5, %4590 ], [ @.str.2, %4586 ]
  store i32 %4581, ptr %2716, align 4, !tbaa !5
  %4592 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4593 = load i32, ptr @test_count, align 4, !tbaa !5
  %4594 = load i32, ptr %1310, align 4, !tbaa !5
  %4595 = call ptr @s2n_strerror(i32 noundef %4594, ptr noundef nonnull @.str.4) #11
  %4596 = load i32, ptr %1310, align 4, !tbaa !5
  %4597 = call ptr @s2n_strerror_debug(i32 noundef %4596, ptr noundef nonnull @.str.4) #11
  %4598 = load i32, ptr %2716, align 4, !tbaa !5
  %4599 = call ptr @strerror(i32 noundef %4598) #11
  %4600 = load i32, ptr %2716, align 4, !tbaa !5
  %4601 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4592, ptr noundef nonnull %.str.5.sink2557, i32 noundef %4593, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 552, ptr noundef %4595, ptr noundef %4597, ptr noundef %4599, i32 noundef %4600) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4602:                                             ; preds = %4574
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %37) #11
  store i64 0, ptr %37, align 8
  %4603 = load i32, ptr @test_count, align 4, !tbaa !5
  %4604 = add nsw i32 %4603, 1
  store i32 %4604, ptr @test_count, align 4, !tbaa !5
  %4605 = call i32 @s2n_io_pair_init_non_blocking(ptr noundef nonnull %37) #11
  %4606 = icmp eq i32 %4605, -1
  br i1 %4606, label %4607, label %4629

4607:                                             ; preds = %4602
  %4608 = load i32, ptr %2716, align 4, !tbaa !5
  %4609 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4610 = call i32 @s2n_print_stacktrace(ptr noundef %4609) #11
  %4611 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4612 = trunc nuw i8 %4611 to i1
  br i1 %4612, label %4613, label %4617

4613:                                             ; preds = %4607
  %4614 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4615 = call i32 @fileno(ptr noundef %4614) #11
  %4616 = call i32 @isatty(i32 noundef %4615) #11
  %.not571 = icmp eq i32 %4616, 0
  br i1 %.not571, label %4617, label %4618

4617:                                             ; preds = %4613, %4607
  br label %4618

4618:                                             ; preds = %4613, %4617
  %.str.5.sink2567 = phi ptr [ @.str.5, %4617 ], [ @.str.2, %4613 ]
  store i32 %4608, ptr %2716, align 4, !tbaa !5
  %4619 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4620 = load i32, ptr @test_count, align 4, !tbaa !5
  %4621 = load i32, ptr %1310, align 4, !tbaa !5
  %4622 = call ptr @s2n_strerror(i32 noundef %4621, ptr noundef nonnull @.str.4) #11
  %4623 = load i32, ptr %1310, align 4, !tbaa !5
  %4624 = call ptr @s2n_strerror_debug(i32 noundef %4623, ptr noundef nonnull @.str.4) #11
  %4625 = load i32, ptr %2716, align 4, !tbaa !5
  %4626 = call ptr @strerror(i32 noundef %4625) #11
  %4627 = load i32, ptr %2716, align 4, !tbaa !5
  %4628 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4619, ptr noundef nonnull %.str.5.sink2567, i32 noundef %4620, ptr noundef nonnull @.str.86, ptr noundef nonnull @.str.1, i32 noundef 555, ptr noundef %4622, ptr noundef %4624, ptr noundef %4626, i32 noundef %4627) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4629:                                             ; preds = %4602
  %4630 = load i32, ptr @test_count, align 4, !tbaa !5
  %4631 = add nsw i32 %4630, 1
  store i32 %4631, ptr @test_count, align 4, !tbaa !5
  %4632 = load ptr, ptr %36, align 8, !tbaa !9
  %4633 = load ptr, ptr %35, align 8, !tbaa !9
  %4634 = call i32 @s2n_connections_set_io_pair(ptr noundef %4632, ptr noundef %4633, ptr noundef nonnull %37) #11
  %4635 = icmp eq i32 %4634, -1
  br i1 %4635, label %4636, label %4658

4636:                                             ; preds = %4629
  %4637 = load i32, ptr %2716, align 4, !tbaa !5
  %4638 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4639 = call i32 @s2n_print_stacktrace(ptr noundef %4638) #11
  %4640 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4641 = trunc nuw i8 %4640 to i1
  br i1 %4641, label %4642, label %4646

4642:                                             ; preds = %4636
  %4643 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4644 = call i32 @fileno(ptr noundef %4643) #11
  %4645 = call i32 @isatty(i32 noundef %4644) #11
  %.not570 = icmp eq i32 %4645, 0
  br i1 %.not570, label %4646, label %4647

4646:                                             ; preds = %4642, %4636
  br label %4647

4647:                                             ; preds = %4642, %4646
  %.str.5.sink2577 = phi ptr [ @.str.5, %4646 ], [ @.str.2, %4642 ]
  store i32 %4637, ptr %2716, align 4, !tbaa !5
  %4648 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4649 = load i32, ptr @test_count, align 4, !tbaa !5
  %4650 = load i32, ptr %1310, align 4, !tbaa !5
  %4651 = call ptr @s2n_strerror(i32 noundef %4650, ptr noundef nonnull @.str.4) #11
  %4652 = load i32, ptr %1310, align 4, !tbaa !5
  %4653 = call ptr @s2n_strerror_debug(i32 noundef %4652, ptr noundef nonnull @.str.4) #11
  %4654 = load i32, ptr %2716, align 4, !tbaa !5
  %4655 = call ptr @strerror(i32 noundef %4654) #11
  %4656 = load i32, ptr %2716, align 4, !tbaa !5
  %4657 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4648, ptr noundef nonnull %.str.5.sink2577, i32 noundef %4649, ptr noundef nonnull @.str.87, ptr noundef nonnull @.str.1, i32 noundef 556, ptr noundef %4651, ptr noundef %4653, ptr noundef %4655, i32 noundef %4656) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4658:                                             ; preds = %4629
  %4659 = load i32, ptr @test_count, align 4, !tbaa !5
  %4660 = add nsw i32 %4659, 1
  store i32 %4660, ptr @test_count, align 4, !tbaa !5
  %4661 = load ptr, ptr %35, align 8, !tbaa !9
  %4662 = load ptr, ptr %36, align 8, !tbaa !9
  %4663 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %4661, ptr noundef %4662) #11
  %4664 = icmp eq i32 %4663, -1
  br i1 %4664, label %4665, label %4687

4665:                                             ; preds = %4658
  %4666 = load i32, ptr %2716, align 4, !tbaa !5
  %4667 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4668 = call i32 @s2n_print_stacktrace(ptr noundef %4667) #11
  %4669 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4670 = trunc nuw i8 %4669 to i1
  br i1 %4670, label %4671, label %4675

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

4675:                                             ; preds = %4671, %4665
  br label %4676

4676:                                             ; preds = %4671, %4675
  %.str.5.sink2587 = phi ptr [ @.str.5, %4675 ], [ @.str.2, %4671 ]
  store i32 %4666, ptr %2716, align 4, !tbaa !5
  %4677 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4678 = load i32, ptr @test_count, align 4, !tbaa !5
  %4679 = load i32, ptr %1310, align 4, !tbaa !5
  %4680 = call ptr @s2n_strerror(i32 noundef %4679, ptr noundef nonnull @.str.4) #11
  %4681 = load i32, ptr %1310, align 4, !tbaa !5
  %4682 = call ptr @s2n_strerror_debug(i32 noundef %4681, ptr noundef nonnull @.str.4) #11
  %4683 = load i32, ptr %2716, align 4, !tbaa !5
  %4684 = call ptr @strerror(i32 noundef %4683) #11
  %4685 = load i32, ptr %2716, align 4, !tbaa !5
  %4686 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4677, ptr noundef nonnull %.str.5.sink2587, i32 noundef %4678, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.1, i32 noundef 559, ptr noundef %4680, ptr noundef %4682, ptr noundef %4684, i32 noundef %4685) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4687:                                             ; preds = %4658
  %4688 = load i32, ptr @test_count, align 4, !tbaa !5
  %4689 = add nsw i32 %4688, 1
  store i32 %4689, ptr @test_count, align 4, !tbaa !5
  %4690 = call i32 @s2n_io_pair_close_one_end(ptr noundef nonnull %37, i32 noundef %indvars.iv) #11
  %4691 = icmp eq i32 %4690, -1
  br i1 %4691, label %4692, label %4714

4692:                                             ; preds = %4687
  %4693 = load i32, ptr %2716, align 4, !tbaa !5
  %4694 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4695 = call i32 @s2n_print_stacktrace(ptr noundef %4694) #11
  %4696 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4697 = trunc nuw i8 %4696 to i1
  br i1 %4697, label %4698, label %4702

4698:                                             ; preds = %4692
  %4699 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4700 = call i32 @fileno(ptr noundef %4699) #11
  %4701 = call i32 @isatty(i32 noundef %4700) #11
  %.not568 = icmp eq i32 %4701, 0
  br i1 %.not568, label %4702, label %4703

4702:                                             ; preds = %4698, %4692
  br label %4703

4703:                                             ; preds = %4698, %4702
  %.str.5.sink2597 = phi ptr [ @.str.5, %4702 ], [ @.str.2, %4698 ]
  store i32 %4693, ptr %2716, align 4, !tbaa !5
  %4704 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4705 = load i32, ptr @test_count, align 4, !tbaa !5
  %4706 = load i32, ptr %1310, align 4, !tbaa !5
  %4707 = call ptr @s2n_strerror(i32 noundef %4706, ptr noundef nonnull @.str.4) #11
  %4708 = load i32, ptr %1310, align 4, !tbaa !5
  %4709 = call ptr @s2n_strerror_debug(i32 noundef %4708, ptr noundef nonnull @.str.4) #11
  %4710 = load i32, ptr %2716, align 4, !tbaa !5
  %4711 = call ptr @strerror(i32 noundef %4710) #11
  %4712 = load i32, ptr %2716, align 4, !tbaa !5
  %4713 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4704, ptr noundef nonnull %.str.5.sink2597, i32 noundef %4705, ptr noundef nonnull @.str.88, ptr noundef nonnull @.str.1, i32 noundef 562, ptr noundef %4707, ptr noundef %4709, ptr noundef %4711, i32 noundef %4712) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4714:                                             ; preds = %4687
  %.val = load ptr, ptr %35, align 8
  %.val740 = load ptr, ptr %36, align 8
  %.0536 = select i1 %4489, ptr %.val, ptr %.val740
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %38) #11
  store i32 0, ptr %38, align 4, !tbaa !5
  %4715 = load i32, ptr @test_count, align 4, !tbaa !5
  %4716 = add nsw i32 %4715, 1
  store i32 %4716, ptr @test_count, align 4, !tbaa !5
  %4717 = call i64 @s2n_recv(ptr noundef %.0536, ptr noundef nonnull %5, i64 noundef 6, ptr noundef nonnull %38) #11
  %4718 = icmp eq i64 %4717, -1
  br i1 %4718, label %4824, label %4802

4719:                                             ; preds = %4877
  %4720 = load i32, ptr @test_count, align 4, !tbaa !5
  %4721 = add nsw i32 %4720, 1
  store i32 %4721, ptr @test_count, align 4, !tbaa !5
  %4722 = call i64 @s2n_recv(ptr noundef %.0536, ptr noundef nonnull %5, i64 noundef 6, ptr noundef nonnull %38) #11
  %4723 = icmp eq i64 %4722, -1
  br i1 %4723, label %4724, label %4802

4724:                                             ; preds = %4719
  %4725 = load i32, ptr @test_count, align 4, !tbaa !5
  %4726 = add nsw i32 %4725, 1
  store i32 %4726, ptr @test_count, align 4, !tbaa !5
  %4727 = load i32, ptr %1310, align 4, !tbaa !5
  %4728 = icmp eq i32 %4727, 134217728
  br i1 %4728, label %4729, label %4829

4729:                                             ; preds = %4724
  %4730 = add nsw i32 %4725, 2
  store i32 %4730, ptr @test_count, align 4, !tbaa !5
  %4731 = call ptr @s2n_strerror_debug(i32 noundef 134217728, ptr noundef nonnull @.str.4) #11
  %4732 = icmp eq ptr %4731, null
  br i1 %4732, label %4855, label %4733

4733:                                             ; preds = %4729
  store i32 0, ptr %1310, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #11
  store i32 0, ptr %2716, align 4, !tbaa !5
  %4734 = load i32, ptr @test_count, align 4, !tbaa !5
  %4735 = add nsw i32 %4734, 1
  store i32 %4735, ptr @test_count, align 4, !tbaa !5
  %4736 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %.0536, i32 noundef 1) #11
  br i1 %4736, label %4881, label %4737

4737:                                             ; preds = %4733
  %4738 = load i32, ptr @test_count, align 4, !tbaa !5
  %4739 = add nsw i32 %4738, 1
  store i32 %4739, ptr @test_count, align 4, !tbaa !5
  %4740 = call i64 @s2n_recv(ptr noundef %.0536, ptr noundef nonnull %5, i64 noundef 6, ptr noundef nonnull %38) #11
  %4741 = icmp eq i64 %4740, -1
  br i1 %4741, label %4742, label %4802

4742:                                             ; preds = %4737
  %4743 = load i32, ptr @test_count, align 4, !tbaa !5
  %4744 = add nsw i32 %4743, 1
  store i32 %4744, ptr @test_count, align 4, !tbaa !5
  %4745 = load i32, ptr %1310, align 4, !tbaa !5
  %4746 = icmp eq i32 %4745, 134217728
  br i1 %4746, label %4747, label %4829

4747:                                             ; preds = %4742
  %4748 = add nsw i32 %4743, 2
  store i32 %4748, ptr @test_count, align 4, !tbaa !5
  %4749 = call ptr @s2n_strerror_debug(i32 noundef 134217728, ptr noundef nonnull @.str.4) #11
  %4750 = icmp eq ptr %4749, null
  br i1 %4750, label %4855, label %4751

4751:                                             ; preds = %4747
  store i32 0, ptr %1310, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #11
  store i32 0, ptr %2716, align 4, !tbaa !5
  %4752 = load i32, ptr @test_count, align 4, !tbaa !5
  %4753 = add nsw i32 %4752, 1
  store i32 %4753, ptr @test_count, align 4, !tbaa !5
  %4754 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %.0536, i32 noundef 1) #11
  br i1 %4754, label %4881, label %4755

4755:                                             ; preds = %4751
  %4756 = load i32, ptr @test_count, align 4, !tbaa !5
  %4757 = add nsw i32 %4756, 1
  store i32 %4757, ptr @test_count, align 4, !tbaa !5
  %4758 = call i64 @s2n_recv(ptr noundef %.0536, ptr noundef nonnull %5, i64 noundef 6, ptr noundef nonnull %38) #11
  %4759 = icmp eq i64 %4758, -1
  br i1 %4759, label %4760, label %4802

4760:                                             ; preds = %4755
  %4761 = load i32, ptr @test_count, align 4, !tbaa !5
  %4762 = add nsw i32 %4761, 1
  store i32 %4762, ptr @test_count, align 4, !tbaa !5
  %4763 = load i32, ptr %1310, align 4, !tbaa !5
  %4764 = icmp eq i32 %4763, 134217728
  br i1 %4764, label %4765, label %4829

4765:                                             ; preds = %4760
  %4766 = add nsw i32 %4761, 2
  store i32 %4766, ptr @test_count, align 4, !tbaa !5
  %4767 = call ptr @s2n_strerror_debug(i32 noundef 134217728, ptr noundef nonnull @.str.4) #11
  %4768 = icmp eq ptr %4767, null
  br i1 %4768, label %4855, label %4769

4769:                                             ; preds = %4765
  store i32 0, ptr %1310, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #11
  store i32 0, ptr %2716, align 4, !tbaa !5
  %4770 = load i32, ptr @test_count, align 4, !tbaa !5
  %4771 = add nsw i32 %4770, 1
  store i32 %4771, ptr @test_count, align 4, !tbaa !5
  %4772 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %.0536, i32 noundef 1) #11
  br i1 %4772, label %4881, label %4773

4773:                                             ; preds = %4769
  %4774 = load i32, ptr @test_count, align 4, !tbaa !5
  %4775 = add nsw i32 %4774, 1
  store i32 %4775, ptr @test_count, align 4, !tbaa !5
  %4776 = call i64 @s2n_recv(ptr noundef %.0536, ptr noundef nonnull %5, i64 noundef 6, ptr noundef nonnull %38) #11
  %4777 = icmp eq i64 %4776, -1
  br i1 %4777, label %4778, label %4802

4778:                                             ; preds = %4773
  %4779 = load i32, ptr @test_count, align 4, !tbaa !5
  %4780 = add nsw i32 %4779, 1
  store i32 %4780, ptr @test_count, align 4, !tbaa !5
  %4781 = load i32, ptr %1310, align 4, !tbaa !5
  %4782 = icmp eq i32 %4781, 134217728
  br i1 %4782, label %4783, label %4829

4783:                                             ; preds = %4778
  %4784 = add nsw i32 %4779, 2
  store i32 %4784, ptr @test_count, align 4, !tbaa !5
  %4785 = call ptr @s2n_strerror_debug(i32 noundef 134217728, ptr noundef nonnull @.str.4) #11
  %4786 = icmp eq ptr %4785, null
  br i1 %4786, label %4855, label %4787

4787:                                             ; preds = %4783
  store i32 0, ptr %1310, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #11
  store i32 0, ptr %2716, align 4, !tbaa !5
  %4788 = load i32, ptr @test_count, align 4, !tbaa !5
  %4789 = add nsw i32 %4788, 1
  store i32 %4789, ptr @test_count, align 4, !tbaa !5
  %4790 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %.0536, i32 noundef 1) #11
  br i1 %4790, label %4881, label %4791

4791:                                             ; preds = %4787
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %38) #11
  %4792 = call i32 @s2n_io_pair_close(ptr noundef nonnull %37) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %37) #11
  %4793 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %36) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %36) #11
  %4794 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %35) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %35) #11
  call void @llvm.lifetime.start.p0(i64 472, ptr nonnull %39) #11
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(472) %39, ptr noundef nonnull align 8 dereferenceable(472) %2895, i64 472, i1 false), !tbaa.struct !57
  %4795 = load i32, ptr %39, align 8
  %4796 = or i32 %4795, 16384
  store i32 %4796, ptr %39, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %40) #11
  %4797 = call ptr @s2n_connection_new(i32 noundef 0) #11
  store ptr %4797, ptr %40, align 8, !tbaa !9
  %4798 = load i32, ptr @test_count, align 4, !tbaa !5
  %4799 = add nsw i32 %4798, 1
  store i32 %4799, ptr @test_count, align 4, !tbaa !5
  %4800 = call i32 @s2n_connection_set_blinding(ptr noundef %4797, i32 noundef 1) #11
  %4801 = icmp eq i32 %4800, -1
  br i1 %4801, label %4903, label %4925

4802:                                             ; preds = %4773, %4755, %4737, %4719, %4714
  %4803 = load i32, ptr %2716, align 4, !tbaa !5
  %4804 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4805 = call i32 @s2n_print_stacktrace(ptr noundef %4804) #11
  %4806 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4807 = trunc nuw i8 %4806 to i1
  br i1 %4807, label %4808, label %4812

4808:                                             ; preds = %4802
  %4809 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4810 = call i32 @fileno(ptr noundef %4809) #11
  %4811 = call i32 @isatty(i32 noundef %4810) #11
  %.not564 = icmp eq i32 %4811, 0
  br i1 %.not564, label %4812, label %4813

4812:                                             ; preds = %4808, %4802
  br label %4813

4813:                                             ; preds = %4808, %4812
  %.str.5.sink2607 = phi ptr [ @.str.5, %4812 ], [ @.str.2, %4808 ]
  store i32 %4803, ptr %2716, align 4, !tbaa !5
  %4814 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4815 = load i32, ptr @test_count, align 4, !tbaa !5
  %4816 = load i32, ptr %1310, align 4, !tbaa !5
  %4817 = call ptr @s2n_strerror(i32 noundef %4816, ptr noundef nonnull @.str.4) #11
  %4818 = load i32, ptr %1310, align 4, !tbaa !5
  %4819 = call ptr @s2n_strerror_debug(i32 noundef %4818, ptr noundef nonnull @.str.4) #11
  %4820 = load i32, ptr %2716, align 4, !tbaa !5
  %4821 = call ptr @strerror(i32 noundef %4820) #11
  %4822 = load i32, ptr %2716, align 4, !tbaa !5
  %4823 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4814, ptr noundef nonnull %.str.5.sink2607, i32 noundef %4815, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.1, i32 noundef 573, ptr noundef %4817, ptr noundef %4819, ptr noundef %4821, i32 noundef %4822) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4824:                                             ; preds = %4714
  %4825 = load i32, ptr @test_count, align 4, !tbaa !5
  %4826 = add nsw i32 %4825, 1
  store i32 %4826, ptr @test_count, align 4, !tbaa !5
  %4827 = load i32, ptr %1310, align 4, !tbaa !5
  %4828 = icmp eq i32 %4827, 134217728
  br i1 %4828, label %4851, label %4829

4829:                                             ; preds = %4778, %4760, %4742, %4724, %4824
  %4830 = load i32, ptr %2716, align 4, !tbaa !5
  %4831 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4832 = call i32 @s2n_print_stacktrace(ptr noundef %4831) #11
  %4833 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4834 = trunc nuw i8 %4833 to i1
  br i1 %4834, label %4835, label %4839

4835:                                             ; preds = %4829
  %4836 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4837 = call i32 @fileno(ptr noundef %4836) #11
  %4838 = call i32 @isatty(i32 noundef %4837) #11
  %.not565 = icmp eq i32 %4838, 0
  br i1 %.not565, label %4839, label %4840

4839:                                             ; preds = %4835, %4829
  br label %4840

4840:                                             ; preds = %4835, %4839
  %.str.5.sink2617 = phi ptr [ @.str.5, %4839 ], [ @.str.2, %4835 ]
  store i32 %4830, ptr %2716, align 4, !tbaa !5
  %4841 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4842 = load i32, ptr @test_count, align 4, !tbaa !5
  %4843 = load i32, ptr %1310, align 4, !tbaa !5
  %4844 = call ptr @s2n_strerror(i32 noundef %4843, ptr noundef nonnull @.str.4) #11
  %4845 = load i32, ptr %1310, align 4, !tbaa !5
  %4846 = call ptr @s2n_strerror_debug(i32 noundef %4845, ptr noundef nonnull @.str.4) #11
  %4847 = load i32, ptr %2716, align 4, !tbaa !5
  %4848 = call ptr @strerror(i32 noundef %4847) #11
  %4849 = load i32, ptr %2716, align 4, !tbaa !5
  %4850 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4841, ptr noundef nonnull %.str.5.sink2617, i32 noundef %4842, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.1, i32 noundef 573, ptr noundef %4844, ptr noundef %4846, ptr noundef %4848, i32 noundef %4849) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4851:                                             ; preds = %4824
  %4852 = add nsw i32 %4825, 2
  store i32 %4852, ptr @test_count, align 4, !tbaa !5
  %4853 = call ptr @s2n_strerror_debug(i32 noundef 134217728, ptr noundef nonnull @.str.4) #11
  %4854 = icmp eq ptr %4853, null
  br i1 %4854, label %4855, label %4877

4855:                                             ; preds = %4783, %4765, %4747, %4729, %4851
  %4856 = load i32, ptr %2716, align 4, !tbaa !5
  %4857 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4858 = call i32 @s2n_print_stacktrace(ptr noundef %4857) #11
  %4859 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4860 = trunc nuw i8 %4859 to i1
  br i1 %4860, label %4861, label %4865

4861:                                             ; preds = %4855
  %4862 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4863 = call i32 @fileno(ptr noundef %4862) #11
  %4864 = call i32 @isatty(i32 noundef %4863) #11
  %.not567 = icmp eq i32 %4864, 0
  br i1 %.not567, label %4865, label %4866

4865:                                             ; preds = %4861, %4855
  br label %4866

4866:                                             ; preds = %4861, %4865
  %.str.5.sink2627 = phi ptr [ @.str.5, %4865 ], [ @.str.2, %4861 ]
  store i32 %4856, ptr %2716, align 4, !tbaa !5
  %4867 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4868 = load i32, ptr @test_count, align 4, !tbaa !5
  %4869 = load i32, ptr %1310, align 4, !tbaa !5
  %4870 = call ptr @s2n_strerror(i32 noundef %4869, ptr noundef nonnull @.str.4) #11
  %4871 = load i32, ptr %1310, align 4, !tbaa !5
  %4872 = call ptr @s2n_strerror_debug(i32 noundef %4871, ptr noundef nonnull @.str.4) #11
  %4873 = load i32, ptr %2716, align 4, !tbaa !5
  %4874 = call ptr @strerror(i32 noundef %4873) #11
  %4875 = load i32, ptr %2716, align 4, !tbaa !5
  %4876 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4867, ptr noundef nonnull %.str.5.sink2627, i32 noundef %4868, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.1, i32 noundef 573, ptr noundef %4870, ptr noundef %4872, ptr noundef %4874, i32 noundef %4875) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4877:                                             ; preds = %4851
  store i32 0, ptr %1310, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #11
  store i32 0, ptr %2716, align 4, !tbaa !5
  %4878 = load i32, ptr @test_count, align 4, !tbaa !5
  %4879 = add nsw i32 %4878, 1
  store i32 %4879, ptr @test_count, align 4, !tbaa !5
  %4880 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %.0536, i32 noundef 1) #11
  br i1 %4880, label %4881, label %4719

4881:                                             ; preds = %4787, %4769, %4751, %4733, %4877
  %4882 = load i32, ptr %2716, align 4, !tbaa !5
  %4883 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4884 = call i32 @s2n_print_stacktrace(ptr noundef %4883) #11
  %4885 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4886 = trunc nuw i8 %4885 to i1
  br i1 %4886, label %4887, label %4891

4887:                                             ; preds = %4881
  %4888 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4889 = call i32 @fileno(ptr noundef %4888) #11
  %4890 = call i32 @isatty(i32 noundef %4889) #11
  %.not566 = icmp eq i32 %4890, 0
  br i1 %.not566, label %4891, label %4892

4891:                                             ; preds = %4887, %4881
  br label %4892

4892:                                             ; preds = %4887, %4891
  %.str.5.sink2637 = phi ptr [ @.str.5, %4891 ], [ @.str.2, %4887 ]
  store i32 %4882, ptr %2716, align 4, !tbaa !5
  %4893 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4894 = load i32, ptr @test_count, align 4, !tbaa !5
  %4895 = load i32, ptr %1310, align 4, !tbaa !5
  %4896 = call ptr @s2n_strerror(i32 noundef %4895, ptr noundef nonnull @.str.4) #11
  %4897 = load i32, ptr %1310, align 4, !tbaa !5
  %4898 = call ptr @s2n_strerror_debug(i32 noundef %4897, ptr noundef nonnull @.str.4) #11
  %4899 = load i32, ptr %2716, align 4, !tbaa !5
  %4900 = call ptr @strerror(i32 noundef %4899) #11
  %4901 = load i32, ptr %2716, align 4, !tbaa !5
  %4902 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4893, ptr noundef nonnull %.str.5.sink2637, i32 noundef %4894, ptr noundef nonnull @.str.73, ptr noundef nonnull @.str.1, i32 noundef 574, ptr noundef %4896, ptr noundef %4898, ptr noundef %4900, i32 noundef %4901) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4903:                                             ; preds = %4791
  %4904 = load i32, ptr %2716, align 4, !tbaa !5
  %4905 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4906 = call i32 @s2n_print_stacktrace(ptr noundef %4905) #11
  %4907 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4908 = trunc nuw i8 %4907 to i1
  br i1 %4908, label %4909, label %4913

4909:                                             ; preds = %4903
  %4910 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4911 = call i32 @fileno(ptr noundef %4910) #11
  %4912 = call i32 @isatty(i32 noundef %4911) #11
  %.not563 = icmp eq i32 %4912, 0
  br i1 %.not563, label %4913, label %4914

4913:                                             ; preds = %4909, %4903
  br label %4914

4914:                                             ; preds = %4909, %4913
  %.str.5.sink2647 = phi ptr [ @.str.5, %4913 ], [ @.str.2, %4909 ]
  store i32 %4904, ptr %2716, align 4, !tbaa !5
  %4915 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4916 = load i32, ptr @test_count, align 4, !tbaa !5
  %4917 = load i32, ptr %1310, align 4, !tbaa !5
  %4918 = call ptr @s2n_strerror(i32 noundef %4917, ptr noundef nonnull @.str.4) #11
  %4919 = load i32, ptr %1310, align 4, !tbaa !5
  %4920 = call ptr @s2n_strerror_debug(i32 noundef %4919, ptr noundef nonnull @.str.4) #11
  %4921 = load i32, ptr %2716, align 4, !tbaa !5
  %4922 = call ptr @strerror(i32 noundef %4921) #11
  %4923 = load i32, ptr %2716, align 4, !tbaa !5
  %4924 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4915, ptr noundef nonnull %.str.5.sink2647, i32 noundef %4916, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 589, ptr noundef %4918, ptr noundef %4920, ptr noundef %4922, i32 noundef %4923) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4925:                                             ; preds = %4791
  %4926 = load i32, ptr @test_count, align 4, !tbaa !5
  %4927 = add nsw i32 %4926, 1
  store i32 %4927, ptr @test_count, align 4, !tbaa !5
  %4928 = load ptr, ptr %40, align 8, !tbaa !9
  %4929 = call i32 @s2n_connection_set_config(ptr noundef %4928, ptr noundef nonnull %39) #11
  %4930 = icmp eq i32 %4929, -1
  br i1 %4930, label %4931, label %4953

4931:                                             ; preds = %4925
  %4932 = load i32, ptr %2716, align 4, !tbaa !5
  %4933 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4934 = call i32 @s2n_print_stacktrace(ptr noundef %4933) #11
  %4935 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4936 = trunc nuw i8 %4935 to i1
  br i1 %4936, label %4937, label %4941

4937:                                             ; preds = %4931
  %4938 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4939 = call i32 @fileno(ptr noundef %4938) #11
  %4940 = call i32 @isatty(i32 noundef %4939) #11
  %.not562 = icmp eq i32 %4940, 0
  br i1 %.not562, label %4941, label %4942

4941:                                             ; preds = %4937, %4931
  br label %4942

4942:                                             ; preds = %4937, %4941
  %.str.5.sink2657 = phi ptr [ @.str.5, %4941 ], [ @.str.2, %4937 ]
  store i32 %4932, ptr %2716, align 4, !tbaa !5
  %4943 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4944 = load i32, ptr @test_count, align 4, !tbaa !5
  %4945 = load i32, ptr %1310, align 4, !tbaa !5
  %4946 = call ptr @s2n_strerror(i32 noundef %4945, ptr noundef nonnull @.str.4) #11
  %4947 = load i32, ptr %1310, align 4, !tbaa !5
  %4948 = call ptr @s2n_strerror_debug(i32 noundef %4947, ptr noundef nonnull @.str.4) #11
  %4949 = load i32, ptr %2716, align 4, !tbaa !5
  %4950 = call ptr @strerror(i32 noundef %4949) #11
  %4951 = load i32, ptr %2716, align 4, !tbaa !5
  %4952 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4943, ptr noundef nonnull %.str.5.sink2657, i32 noundef %4944, ptr noundef nonnull @.str.89, ptr noundef nonnull @.str.1, i32 noundef 590, ptr noundef %4946, ptr noundef %4948, ptr noundef %4950, i32 noundef %4951) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4953:                                             ; preds = %4925
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %41) #11
  %4954 = call ptr @s2n_connection_new(i32 noundef 1) #11
  store ptr %4954, ptr %41, align 8, !tbaa !9
  %4955 = load i32, ptr @test_count, align 4, !tbaa !5
  %4956 = add nsw i32 %4955, 1
  store i32 %4956, ptr @test_count, align 4, !tbaa !5
  %4957 = call i32 @s2n_connection_set_blinding(ptr noundef %4954, i32 noundef 1) #11
  %4958 = icmp eq i32 %4957, -1
  br i1 %4958, label %4959, label %4981

4959:                                             ; preds = %4953
  %4960 = load i32, ptr %2716, align 4, !tbaa !5
  %4961 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4962 = call i32 @s2n_print_stacktrace(ptr noundef %4961) #11
  %4963 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4964 = trunc nuw i8 %4963 to i1
  br i1 %4964, label %4965, label %4969

4965:                                             ; preds = %4959
  %4966 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4967 = call i32 @fileno(ptr noundef %4966) #11
  %4968 = call i32 @isatty(i32 noundef %4967) #11
  %.not561 = icmp eq i32 %4968, 0
  br i1 %.not561, label %4969, label %4970

4969:                                             ; preds = %4965, %4959
  br label %4970

4970:                                             ; preds = %4965, %4969
  %.str.5.sink2667 = phi ptr [ @.str.5, %4969 ], [ @.str.2, %4965 ]
  store i32 %4960, ptr %2716, align 4, !tbaa !5
  %4971 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4972 = load i32, ptr @test_count, align 4, !tbaa !5
  %4973 = load i32, ptr %1310, align 4, !tbaa !5
  %4974 = call ptr @s2n_strerror(i32 noundef %4973, ptr noundef nonnull @.str.4) #11
  %4975 = load i32, ptr %1310, align 4, !tbaa !5
  %4976 = call ptr @s2n_strerror_debug(i32 noundef %4975, ptr noundef nonnull @.str.4) #11
  %4977 = load i32, ptr %2716, align 4, !tbaa !5
  %4978 = call ptr @strerror(i32 noundef %4977) #11
  %4979 = load i32, ptr %2716, align 4, !tbaa !5
  %4980 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4971, ptr noundef nonnull %.str.5.sink2667, i32 noundef %4972, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.1, i32 noundef 594, ptr noundef %4974, ptr noundef %4976, ptr noundef %4978, i32 noundef %4979) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4981:                                             ; preds = %4953
  %4982 = load i32, ptr @test_count, align 4, !tbaa !5
  %4983 = add nsw i32 %4982, 1
  store i32 %4983, ptr @test_count, align 4, !tbaa !5
  %4984 = load ptr, ptr %41, align 8, !tbaa !9
  %4985 = call i32 @s2n_connection_set_config(ptr noundef %4984, ptr noundef nonnull %39) #11
  %4986 = icmp eq i32 %4985, -1
  br i1 %4986, label %4987, label %5009

4987:                                             ; preds = %4981
  %4988 = load i32, ptr %2716, align 4, !tbaa !5
  %4989 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4990 = call i32 @s2n_print_stacktrace(ptr noundef %4989) #11
  %4991 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4992 = trunc nuw i8 %4991 to i1
  br i1 %4992, label %4993, label %4997

4993:                                             ; preds = %4987
  %4994 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4995 = call i32 @fileno(ptr noundef %4994) #11
  %4996 = call i32 @isatty(i32 noundef %4995) #11
  %.not560 = icmp eq i32 %4996, 0
  br i1 %.not560, label %4997, label %4998

4997:                                             ; preds = %4993, %4987
  br label %4998

4998:                                             ; preds = %4993, %4997
  %.str.5.sink2677 = phi ptr [ @.str.5, %4997 ], [ @.str.2, %4993 ]
  store i32 %4988, ptr %2716, align 4, !tbaa !5
  %4999 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5000 = load i32, ptr @test_count, align 4, !tbaa !5
  %5001 = load i32, ptr %1310, align 4, !tbaa !5
  %5002 = call ptr @s2n_strerror(i32 noundef %5001, ptr noundef nonnull @.str.4) #11
  %5003 = load i32, ptr %1310, align 4, !tbaa !5
  %5004 = call ptr @s2n_strerror_debug(i32 noundef %5003, ptr noundef nonnull @.str.4) #11
  %5005 = load i32, ptr %2716, align 4, !tbaa !5
  %5006 = call ptr @strerror(i32 noundef %5005) #11
  %5007 = load i32, ptr %2716, align 4, !tbaa !5
  %5008 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4999, ptr noundef nonnull %.str.5.sink2677, i32 noundef %5000, ptr noundef nonnull @.str.90, ptr noundef nonnull @.str.1, i32 noundef 595, ptr noundef %5002, ptr noundef %5004, ptr noundef %5006, i32 noundef %5007) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5009:                                             ; preds = %4981
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %42) #11
  store i64 0, ptr %42, align 8
  %5010 = load i32, ptr @test_count, align 4, !tbaa !5
  %5011 = add nsw i32 %5010, 1
  store i32 %5011, ptr @test_count, align 4, !tbaa !5
  %5012 = call i32 @s2n_io_pair_init_non_blocking(ptr noundef nonnull %42) #11
  %5013 = icmp eq i32 %5012, -1
  br i1 %5013, label %5014, label %5036

5014:                                             ; preds = %5009
  %5015 = load i32, ptr %2716, align 4, !tbaa !5
  %5016 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5017 = call i32 @s2n_print_stacktrace(ptr noundef %5016) #11
  %5018 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5019 = trunc nuw i8 %5018 to i1
  br i1 %5019, label %5020, label %5024

5020:                                             ; preds = %5014
  %5021 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5022 = call i32 @fileno(ptr noundef %5021) #11
  %5023 = call i32 @isatty(i32 noundef %5022) #11
  %.not559 = icmp eq i32 %5023, 0
  br i1 %.not559, label %5024, label %5025

5024:                                             ; preds = %5020, %5014
  br label %5025

5025:                                             ; preds = %5020, %5024
  %.str.5.sink2687 = phi ptr [ @.str.5, %5024 ], [ @.str.2, %5020 ]
  store i32 %5015, ptr %2716, align 4, !tbaa !5
  %5026 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5027 = load i32, ptr @test_count, align 4, !tbaa !5
  %5028 = load i32, ptr %1310, align 4, !tbaa !5
  %5029 = call ptr @s2n_strerror(i32 noundef %5028, ptr noundef nonnull @.str.4) #11
  %5030 = load i32, ptr %1310, align 4, !tbaa !5
  %5031 = call ptr @s2n_strerror_debug(i32 noundef %5030, ptr noundef nonnull @.str.4) #11
  %5032 = load i32, ptr %2716, align 4, !tbaa !5
  %5033 = call ptr @strerror(i32 noundef %5032) #11
  %5034 = load i32, ptr %2716, align 4, !tbaa !5
  %5035 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5026, ptr noundef nonnull %.str.5.sink2687, i32 noundef %5027, ptr noundef nonnull @.str.86, ptr noundef nonnull @.str.1, i32 noundef 598, ptr noundef %5029, ptr noundef %5031, ptr noundef %5033, i32 noundef %5034) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5036:                                             ; preds = %5009
  %5037 = load i32, ptr @test_count, align 4, !tbaa !5
  %5038 = add nsw i32 %5037, 1
  store i32 %5038, ptr @test_count, align 4, !tbaa !5
  %5039 = load ptr, ptr %41, align 8, !tbaa !9
  %5040 = load ptr, ptr %40, align 8, !tbaa !9
  %5041 = call i32 @s2n_connections_set_io_pair(ptr noundef %5039, ptr noundef %5040, ptr noundef nonnull %42) #11
  %5042 = icmp eq i32 %5041, -1
  br i1 %5042, label %5043, label %5065

5043:                                             ; preds = %5036
  %5044 = load i32, ptr %2716, align 4, !tbaa !5
  %5045 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5046 = call i32 @s2n_print_stacktrace(ptr noundef %5045) #11
  %5047 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5048 = trunc nuw i8 %5047 to i1
  br i1 %5048, label %5049, label %5053

5049:                                             ; preds = %5043
  %5050 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5051 = call i32 @fileno(ptr noundef %5050) #11
  %5052 = call i32 @isatty(i32 noundef %5051) #11
  %.not558 = icmp eq i32 %5052, 0
  br i1 %.not558, label %5053, label %5054

5053:                                             ; preds = %5049, %5043
  br label %5054

5054:                                             ; preds = %5049, %5053
  %.str.5.sink2697 = phi ptr [ @.str.5, %5053 ], [ @.str.2, %5049 ]
  store i32 %5044, ptr %2716, align 4, !tbaa !5
  %5055 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5056 = load i32, ptr @test_count, align 4, !tbaa !5
  %5057 = load i32, ptr %1310, align 4, !tbaa !5
  %5058 = call ptr @s2n_strerror(i32 noundef %5057, ptr noundef nonnull @.str.4) #11
  %5059 = load i32, ptr %1310, align 4, !tbaa !5
  %5060 = call ptr @s2n_strerror_debug(i32 noundef %5059, ptr noundef nonnull @.str.4) #11
  %5061 = load i32, ptr %2716, align 4, !tbaa !5
  %5062 = call ptr @strerror(i32 noundef %5061) #11
  %5063 = load i32, ptr %2716, align 4, !tbaa !5
  %5064 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5055, ptr noundef nonnull %.str.5.sink2697, i32 noundef %5056, ptr noundef nonnull @.str.87, ptr noundef nonnull @.str.1, i32 noundef 599, ptr noundef %5058, ptr noundef %5060, ptr noundef %5062, i32 noundef %5063) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5065:                                             ; preds = %5036
  %5066 = load i32, ptr @test_count, align 4, !tbaa !5
  %5067 = add nsw i32 %5066, 1
  store i32 %5067, ptr @test_count, align 4, !tbaa !5
  %5068 = load ptr, ptr %40, align 8, !tbaa !9
  %5069 = load ptr, ptr %41, align 8, !tbaa !9
  %5070 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %5068, ptr noundef %5069) #11
  %5071 = icmp eq i32 %5070, -1
  br i1 %5071, label %5072, label %5094

5072:                                             ; preds = %5065
  %5073 = load i32, ptr %2716, align 4, !tbaa !5
  %5074 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5075 = call i32 @s2n_print_stacktrace(ptr noundef %5074) #11
  %5076 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5077 = trunc nuw i8 %5076 to i1
  br i1 %5077, label %5078, label %5082

5078:                                             ; preds = %5072
  %5079 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5080 = call i32 @fileno(ptr noundef %5079) #11
  %5081 = call i32 @isatty(i32 noundef %5080) #11
  %.not557 = icmp eq i32 %5081, 0
  br i1 %.not557, label %5082, label %5083

5082:                                             ; preds = %5078, %5072
  br label %5083

5083:                                             ; preds = %5078, %5082
  %.str.5.sink2707 = phi ptr [ @.str.5, %5082 ], [ @.str.2, %5078 ]
  store i32 %5073, ptr %2716, align 4, !tbaa !5
  %5084 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5085 = load i32, ptr @test_count, align 4, !tbaa !5
  %5086 = load i32, ptr %1310, align 4, !tbaa !5
  %5087 = call ptr @s2n_strerror(i32 noundef %5086, ptr noundef nonnull @.str.4) #11
  %5088 = load i32, ptr %1310, align 4, !tbaa !5
  %5089 = call ptr @s2n_strerror_debug(i32 noundef %5088, ptr noundef nonnull @.str.4) #11
  %5090 = load i32, ptr %2716, align 4, !tbaa !5
  %5091 = call ptr @strerror(i32 noundef %5090) #11
  %5092 = load i32, ptr %2716, align 4, !tbaa !5
  %5093 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5084, ptr noundef nonnull %.str.5.sink2707, i32 noundef %5085, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.1, i32 noundef 602, ptr noundef %5087, ptr noundef %5089, ptr noundef %5091, i32 noundef %5092) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5094:                                             ; preds = %5065
  %5095 = load ptr, ptr %40, align 8, !tbaa !9
  %5096 = load ptr, ptr %41, align 8, !tbaa !9
  %spec.select738 = select i1 %4489, ptr %5096, ptr %5095
  %spec.select739 = select i1 %4489, ptr %5095, ptr %5096
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %43) #11
  store i32 0, ptr %43, align 4, !tbaa !5
  %5097 = load i32, ptr @test_count, align 4, !tbaa !5
  %5098 = add nsw i32 %5097, 1
  store i32 %5098, ptr @test_count, align 4, !tbaa !5
  %5099 = call i64 @s2n_send(ptr noundef %spec.select738, ptr noundef nonnull %5, i64 noundef 3, ptr noundef nonnull %43) #11
  %5100 = icmp eq i64 %5099, 3
  br i1 %5100, label %5123, label %5101

5101:                                             ; preds = %5094
  %5102 = load i32, ptr %2716, align 4, !tbaa !5
  %5103 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5104 = call i32 @s2n_print_stacktrace(ptr noundef %5103) #11
  %5105 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5106 = trunc nuw i8 %5105 to i1
  br i1 %5106, label %5107, label %5111

5107:                                             ; preds = %5101
  %5108 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5109 = call i32 @fileno(ptr noundef %5108) #11
  %5110 = call i32 @isatty(i32 noundef %5109) #11
  %.not548 = icmp eq i32 %5110, 0
  br i1 %.not548, label %5111, label %5112

5111:                                             ; preds = %5107, %5101
  br label %5112

5112:                                             ; preds = %5107, %5111
  %.str.5.sink2717 = phi ptr [ @.str.5, %5111 ], [ @.str.2, %5107 ]
  store i32 %5102, ptr %2716, align 4, !tbaa !5
  %5113 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5114 = load i32, ptr @test_count, align 4, !tbaa !5
  %5115 = load i32, ptr %1310, align 4, !tbaa !5
  %5116 = call ptr @s2n_strerror(i32 noundef %5115, ptr noundef nonnull @.str.4) #11
  %5117 = load i32, ptr %1310, align 4, !tbaa !5
  %5118 = call ptr @s2n_strerror_debug(i32 noundef %5117, ptr noundef nonnull @.str.4) #11
  %5119 = load i32, ptr %2716, align 4, !tbaa !5
  %5120 = call ptr @strerror(i32 noundef %5119) #11
  %5121 = load i32, ptr %2716, align 4, !tbaa !5
  %5122 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5113, ptr noundef nonnull %.str.5.sink2717, i32 noundef %5114, ptr noundef nonnull @.str.91, ptr noundef nonnull @.str.1, i32 noundef 614, ptr noundef %5116, ptr noundef %5118, ptr noundef %5120, i32 noundef %5121) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5123:                                             ; preds = %5094
  %5124 = load i32, ptr @test_count, align 4, !tbaa !5
  %5125 = add nsw i32 %5124, 1
  store i32 %5125, ptr @test_count, align 4, !tbaa !5
  %5126 = load i32, ptr %43, align 4, !tbaa !5
  %5127 = icmp eq i32 %5126, 0
  br i1 %5127, label %5150, label %5128

5128:                                             ; preds = %5123
  %5129 = load i32, ptr %2716, align 4, !tbaa !5
  %5130 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5131 = call i32 @s2n_print_stacktrace(ptr noundef %5130) #11
  %5132 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5133 = trunc nuw i8 %5132 to i1
  br i1 %5133, label %5134, label %5138

5134:                                             ; preds = %5128
  %5135 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5136 = call i32 @fileno(ptr noundef %5135) #11
  %5137 = call i32 @isatty(i32 noundef %5136) #11
  %.not549 = icmp eq i32 %5137, 0
  br i1 %.not549, label %5138, label %5139

5138:                                             ; preds = %5134, %5128
  br label %5139

5139:                                             ; preds = %5134, %5138
  %.str.5.sink2727 = phi ptr [ @.str.5, %5138 ], [ @.str.2, %5134 ]
  store i32 %5129, ptr %2716, align 4, !tbaa !5
  %5140 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5141 = load i32, ptr @test_count, align 4, !tbaa !5
  %5142 = load i32, ptr %1310, align 4, !tbaa !5
  %5143 = call ptr @s2n_strerror(i32 noundef %5142, ptr noundef nonnull @.str.4) #11
  %5144 = load i32, ptr %1310, align 4, !tbaa !5
  %5145 = call ptr @s2n_strerror_debug(i32 noundef %5144, ptr noundef nonnull @.str.4) #11
  %5146 = load i32, ptr %2716, align 4, !tbaa !5
  %5147 = call ptr @strerror(i32 noundef %5146) #11
  %5148 = load i32, ptr %2716, align 4, !tbaa !5
  %5149 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5140, ptr noundef nonnull %.str.5.sink2727, i32 noundef %5141, ptr noundef nonnull @.str.65, ptr noundef nonnull @.str.1, i32 noundef 615, ptr noundef %5143, ptr noundef %5145, ptr noundef %5147, i32 noundef %5148) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5150:                                             ; preds = %5123
  %5151 = add nsw i32 %5124, 2
  store i32 %5151, ptr @test_count, align 4, !tbaa !5
  %5152 = call i32 @s2n_io_pair_close_one_end(ptr noundef nonnull %42, i32 noundef %indvars.iv) #11
  %5153 = icmp eq i32 %5152, -1
  br i1 %5153, label %5154, label %5176

5154:                                             ; preds = %5150
  %5155 = load i32, ptr %2716, align 4, !tbaa !5
  %5156 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5157 = call i32 @s2n_print_stacktrace(ptr noundef %5156) #11
  %5158 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5159 = trunc nuw i8 %5158 to i1
  br i1 %5159, label %5160, label %5164

5160:                                             ; preds = %5154
  %5161 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5162 = call i32 @fileno(ptr noundef %5161) #11
  %5163 = call i32 @isatty(i32 noundef %5162) #11
  %.not556 = icmp eq i32 %5163, 0
  br i1 %.not556, label %5164, label %5165

5164:                                             ; preds = %5160, %5154
  br label %5165

5165:                                             ; preds = %5160, %5164
  %.str.5.sink2737 = phi ptr [ @.str.5, %5164 ], [ @.str.2, %5160 ]
  store i32 %5155, ptr %2716, align 4, !tbaa !5
  %5166 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5167 = load i32, ptr @test_count, align 4, !tbaa !5
  %5168 = load i32, ptr %1310, align 4, !tbaa !5
  %5169 = call ptr @s2n_strerror(i32 noundef %5168, ptr noundef nonnull @.str.4) #11
  %5170 = load i32, ptr %1310, align 4, !tbaa !5
  %5171 = call ptr @s2n_strerror_debug(i32 noundef %5170, ptr noundef nonnull @.str.4) #11
  %5172 = load i32, ptr %2716, align 4, !tbaa !5
  %5173 = call ptr @strerror(i32 noundef %5172) #11
  %5174 = load i32, ptr %2716, align 4, !tbaa !5
  %5175 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5166, ptr noundef nonnull %.str.5.sink2737, i32 noundef %5167, ptr noundef nonnull @.str.88, ptr noundef nonnull @.str.1, i32 noundef 618, ptr noundef %5169, ptr noundef %5171, ptr noundef %5173, i32 noundef %5174) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5176:                                             ; preds = %5150
  %5177 = load i32, ptr @test_count, align 4, !tbaa !5
  %5178 = add nsw i32 %5177, 1
  store i32 %5178, ptr @test_count, align 4, !tbaa !5
  %5179 = call i64 @s2n_recv(ptr noundef %spec.select739, ptr noundef nonnull %5, i64 noundef 6, ptr noundef nonnull %43) #11
  %5180 = icmp eq i64 %5179, 3
  br i1 %5180, label %5203, label %5181

5181:                                             ; preds = %5176
  %5182 = load i32, ptr %2716, align 4, !tbaa !5
  %5183 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5184 = call i32 @s2n_print_stacktrace(ptr noundef %5183) #11
  %5185 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5186 = trunc nuw i8 %5185 to i1
  br i1 %5186, label %5187, label %5191

5187:                                             ; preds = %5181
  %5188 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5189 = call i32 @fileno(ptr noundef %5188) #11
  %5190 = call i32 @isatty(i32 noundef %5189) #11
  %.not550 = icmp eq i32 %5190, 0
  br i1 %.not550, label %5191, label %5192

5191:                                             ; preds = %5187, %5181
  br label %5192

5192:                                             ; preds = %5187, %5191
  %.str.5.sink2747 = phi ptr [ @.str.5, %5191 ], [ @.str.2, %5187 ]
  store i32 %5182, ptr %2716, align 4, !tbaa !5
  %5193 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5194 = load i32, ptr @test_count, align 4, !tbaa !5
  %5195 = load i32, ptr %1310, align 4, !tbaa !5
  %5196 = call ptr @s2n_strerror(i32 noundef %5195, ptr noundef nonnull @.str.4) #11
  %5197 = load i32, ptr %1310, align 4, !tbaa !5
  %5198 = call ptr @s2n_strerror_debug(i32 noundef %5197, ptr noundef nonnull @.str.4) #11
  %5199 = load i32, ptr %2716, align 4, !tbaa !5
  %5200 = call ptr @strerror(i32 noundef %5199) #11
  %5201 = load i32, ptr %2716, align 4, !tbaa !5
  %5202 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5193, ptr noundef nonnull %.str.5.sink2747, i32 noundef %5194, ptr noundef nonnull @.str.92, ptr noundef nonnull @.str.1, i32 noundef 621, ptr noundef %5196, ptr noundef %5198, ptr noundef %5200, i32 noundef %5201) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5203:                                             ; preds = %5176
  %5204 = load i32, ptr @test_count, align 4, !tbaa !5
  %5205 = add nsw i32 %5204, 1
  store i32 %5205, ptr @test_count, align 4, !tbaa !5
  %5206 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %spec.select739, i32 noundef 1) #11
  br i1 %5206, label %5207, label %5229

5207:                                             ; preds = %5203
  %5208 = load i32, ptr %2716, align 4, !tbaa !5
  %5209 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5210 = call i32 @s2n_print_stacktrace(ptr noundef %5209) #11
  %5211 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5212 = trunc nuw i8 %5211 to i1
  br i1 %5212, label %5213, label %5217

5213:                                             ; preds = %5207
  %5214 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5215 = call i32 @fileno(ptr noundef %5214) #11
  %5216 = call i32 @isatty(i32 noundef %5215) #11
  %.not555 = icmp eq i32 %5216, 0
  br i1 %.not555, label %5217, label %5218

5217:                                             ; preds = %5213, %5207
  br label %5218

5218:                                             ; preds = %5213, %5217
  %.str.5.sink2757 = phi ptr [ @.str.5, %5217 ], [ @.str.2, %5213 ]
  store i32 %5208, ptr %2716, align 4, !tbaa !5
  %5219 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5220 = load i32, ptr @test_count, align 4, !tbaa !5
  %5221 = load i32, ptr %1310, align 4, !tbaa !5
  %5222 = call ptr @s2n_strerror(i32 noundef %5221, ptr noundef nonnull @.str.4) #11
  %5223 = load i32, ptr %1310, align 4, !tbaa !5
  %5224 = call ptr @s2n_strerror_debug(i32 noundef %5223, ptr noundef nonnull @.str.4) #11
  %5225 = load i32, ptr %2716, align 4, !tbaa !5
  %5226 = call ptr @strerror(i32 noundef %5225) #11
  %5227 = load i32, ptr %2716, align 4, !tbaa !5
  %5228 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5219, ptr noundef nonnull %.str.5.sink2757, i32 noundef %5220, ptr noundef nonnull @.str.73, ptr noundef nonnull @.str.1, i32 noundef 622, ptr noundef %5222, ptr noundef %5224, ptr noundef %5226, i32 noundef %5227) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5229:                                             ; preds = %5203
  %5230 = load i32, ptr @test_count, align 4, !tbaa !5
  %5231 = add nsw i32 %5230, 1
  store i32 %5231, ptr @test_count, align 4, !tbaa !5
  %5232 = load i32, ptr %43, align 4, !tbaa !5
  %5233 = icmp eq i32 %5232, 0
  br i1 %5233, label %.preheader.preheader, label %5237

.preheader.preheader:                             ; preds = %5229
  %5234 = add nsw i32 %5230, 2
  store i32 %5234, ptr @test_count, align 4, !tbaa !5
  %5235 = call i64 @s2n_recv(ptr noundef %spec.select739, ptr noundef nonnull %5, i64 noundef 6, ptr noundef nonnull %43) #11
  %5236 = icmp eq i64 %5235, -1
  br i1 %5236, label %5281, label %5259

5237:                                             ; preds = %5229
  %5238 = load i32, ptr %2716, align 4, !tbaa !5
  %5239 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5240 = call i32 @s2n_print_stacktrace(ptr noundef %5239) #11
  %5241 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5242 = trunc nuw i8 %5241 to i1
  br i1 %5242, label %5243, label %5247

5243:                                             ; preds = %5237
  %5244 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5245 = call i32 @fileno(ptr noundef %5244) #11
  %5246 = call i32 @isatty(i32 noundef %5245) #11
  %.not551 = icmp eq i32 %5246, 0
  br i1 %.not551, label %5247, label %5248

5247:                                             ; preds = %5243, %5237
  br label %5248

5248:                                             ; preds = %5243, %5247
  %.str.5.sink2767 = phi ptr [ @.str.5, %5247 ], [ @.str.2, %5243 ]
  store i32 %5238, ptr %2716, align 4, !tbaa !5
  %5249 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5250 = load i32, ptr @test_count, align 4, !tbaa !5
  %5251 = load i32, ptr %1310, align 4, !tbaa !5
  %5252 = call ptr @s2n_strerror(i32 noundef %5251, ptr noundef nonnull @.str.4) #11
  %5253 = load i32, ptr %1310, align 4, !tbaa !5
  %5254 = call ptr @s2n_strerror_debug(i32 noundef %5253, ptr noundef nonnull @.str.4) #11
  %5255 = load i32, ptr %2716, align 4, !tbaa !5
  %5256 = call ptr @strerror(i32 noundef %5255) #11
  %5257 = load i32, ptr %2716, align 4, !tbaa !5
  %5258 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5249, ptr noundef nonnull %.str.5.sink2767, i32 noundef %5250, ptr noundef nonnull @.str.65, ptr noundef nonnull @.str.1, i32 noundef 625, ptr noundef %5252, ptr noundef %5254, ptr noundef %5256, i32 noundef %5257) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5259:                                             ; preds = %.preheader.4, %.preheader.3, %.preheader.2, %.preheader.1, %.preheader.preheader
  %5260 = load i32, ptr %2716, align 4, !tbaa !5
  %5261 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5262 = call i32 @s2n_print_stacktrace(ptr noundef %5261) #11
  %5263 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5264 = trunc nuw i8 %5263 to i1
  br i1 %5264, label %5265, label %5269

5265:                                             ; preds = %5259
  %5266 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5267 = call i32 @fileno(ptr noundef %5266) #11
  %5268 = call i32 @isatty(i32 noundef %5267) #11
  %.not552 = icmp eq i32 %5268, 0
  br i1 %.not552, label %5269, label %5270

5269:                                             ; preds = %5265, %5259
  br label %5270

5270:                                             ; preds = %5265, %5269
  %.str.5.sink2777 = phi ptr [ @.str.5, %5269 ], [ @.str.2, %5265 ]
  store i32 %5260, ptr %2716, align 4, !tbaa !5
  %5271 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5272 = load i32, ptr @test_count, align 4, !tbaa !5
  %5273 = load i32, ptr %1310, align 4, !tbaa !5
  %5274 = call ptr @s2n_strerror(i32 noundef %5273, ptr noundef nonnull @.str.4) #11
  %5275 = load i32, ptr %1310, align 4, !tbaa !5
  %5276 = call ptr @s2n_strerror_debug(i32 noundef %5275, ptr noundef nonnull @.str.4) #11
  %5277 = load i32, ptr %2716, align 4, !tbaa !5
  %5278 = call ptr @strerror(i32 noundef %5277) #11
  %5279 = load i32, ptr %2716, align 4, !tbaa !5
  %5280 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5271, ptr noundef nonnull %.str.5.sink2777, i32 noundef %5272, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.1, i32 noundef 630, ptr noundef %5274, ptr noundef %5276, ptr noundef %5278, i32 noundef %5279) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5281:                                             ; preds = %.preheader.preheader
  %5282 = load i32, ptr @test_count, align 4, !tbaa !5
  %5283 = add nsw i32 %5282, 1
  store i32 %5283, ptr @test_count, align 4, !tbaa !5
  %5284 = load i32, ptr %1310, align 4, !tbaa !5
  %5285 = icmp eq i32 %5284, 134217728
  br i1 %5285, label %5308, label %5286

5286:                                             ; preds = %5377, %5364, %5351, %5338, %5281
  %5287 = load i32, ptr %2716, align 4, !tbaa !5
  %5288 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5289 = call i32 @s2n_print_stacktrace(ptr noundef %5288) #11
  %5290 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5291 = trunc nuw i8 %5290 to i1
  br i1 %5291, label %5292, label %5296

5292:                                             ; preds = %5286
  %5293 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5294 = call i32 @fileno(ptr noundef %5293) #11
  %5295 = call i32 @isatty(i32 noundef %5294) #11
  %.not553 = icmp eq i32 %5295, 0
  br i1 %.not553, label %5296, label %5297

5296:                                             ; preds = %5292, %5286
  br label %5297

5297:                                             ; preds = %5292, %5296
  %.str.5.sink2787 = phi ptr [ @.str.5, %5296 ], [ @.str.2, %5292 ]
  store i32 %5287, ptr %2716, align 4, !tbaa !5
  %5298 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5299 = load i32, ptr @test_count, align 4, !tbaa !5
  %5300 = load i32, ptr %1310, align 4, !tbaa !5
  %5301 = call ptr @s2n_strerror(i32 noundef %5300, ptr noundef nonnull @.str.4) #11
  %5302 = load i32, ptr %1310, align 4, !tbaa !5
  %5303 = call ptr @s2n_strerror_debug(i32 noundef %5302, ptr noundef nonnull @.str.4) #11
  %5304 = load i32, ptr %2716, align 4, !tbaa !5
  %5305 = call ptr @strerror(i32 noundef %5304) #11
  %5306 = load i32, ptr %2716, align 4, !tbaa !5
  %5307 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5298, ptr noundef nonnull %.str.5.sink2787, i32 noundef %5299, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.1, i32 noundef 630, ptr noundef %5301, ptr noundef %5303, ptr noundef %5305, i32 noundef %5306) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5308:                                             ; preds = %5281
  %5309 = add nsw i32 %5282, 2
  store i32 %5309, ptr @test_count, align 4, !tbaa !5
  %5310 = call ptr @s2n_strerror_debug(i32 noundef 134217728, ptr noundef nonnull @.str.4) #11
  %5311 = icmp eq ptr %5310, null
  br i1 %5311, label %5312, label %.preheader.1

5312:                                             ; preds = %5382, %5369, %5356, %5343, %5308
  %5313 = load i32, ptr %2716, 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
  %.not554 = icmp eq i32 %5321, 0
  br i1 %.not554, label %5322, label %5323

5322:                                             ; preds = %5318, %5312
  br label %5323

5323:                                             ; preds = %5318, %5322
  %.str.5.sink2797 = phi ptr [ @.str.5, %5322 ], [ @.str.2, %5318 ]
  store i32 %5313, ptr %2716, 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 %1310, align 4, !tbaa !5
  %5327 = call ptr @s2n_strerror(i32 noundef %5326, ptr noundef nonnull @.str.4) #11
  %5328 = load i32, ptr %1310, align 4, !tbaa !5
  %5329 = call ptr @s2n_strerror_debug(i32 noundef %5328, ptr noundef nonnull @.str.4) #11
  %5330 = load i32, ptr %2716, align 4, !tbaa !5
  %5331 = call ptr @strerror(i32 noundef %5330) #11
  %5332 = load i32, ptr %2716, align 4, !tbaa !5
  %5333 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5324, ptr noundef nonnull %.str.5.sink2797, i32 noundef %5325, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.1, i32 noundef 630, ptr noundef %5327, ptr noundef %5329, ptr noundef %5331, i32 noundef %5332) #13
  call void @exit(i32 noundef 1) #14
  unreachable

.preheader.1:                                     ; preds = %5308
  store i32 0, ptr %1310, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #11
  store i32 0, ptr %2716, align 4, !tbaa !5
  %5334 = load i32, ptr @test_count, align 4, !tbaa !5
  %5335 = add nsw i32 %5334, 1
  store i32 %5335, ptr @test_count, align 4, !tbaa !5
  %5336 = call i64 @s2n_recv(ptr noundef %spec.select739, ptr noundef nonnull %5, i64 noundef 6, ptr noundef nonnull %43) #11
  %5337 = icmp eq i64 %5336, -1
  br i1 %5337, label %5338, label %5259

5338:                                             ; preds = %.preheader.1
  %5339 = load i32, ptr @test_count, align 4, !tbaa !5
  %5340 = add nsw i32 %5339, 1
  store i32 %5340, ptr @test_count, align 4, !tbaa !5
  %5341 = load i32, ptr %1310, align 4, !tbaa !5
  %5342 = icmp eq i32 %5341, 134217728
  br i1 %5342, label %5343, label %5286

5343:                                             ; preds = %5338
  %5344 = add nsw i32 %5339, 2
  store i32 %5344, ptr @test_count, align 4, !tbaa !5
  %5345 = call ptr @s2n_strerror_debug(i32 noundef 134217728, ptr noundef nonnull @.str.4) #11
  %5346 = icmp eq ptr %5345, null
  br i1 %5346, label %5312, label %.preheader.2

.preheader.2:                                     ; preds = %5343
  store i32 0, ptr %1310, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #11
  store i32 0, ptr %2716, align 4, !tbaa !5
  %5347 = load i32, ptr @test_count, align 4, !tbaa !5
  %5348 = add nsw i32 %5347, 1
  store i32 %5348, ptr @test_count, align 4, !tbaa !5
  %5349 = call i64 @s2n_recv(ptr noundef %spec.select739, ptr noundef nonnull %5, i64 noundef 6, ptr noundef nonnull %43) #11
  %5350 = icmp eq i64 %5349, -1
  br i1 %5350, label %5351, label %5259

5351:                                             ; preds = %.preheader.2
  %5352 = load i32, ptr @test_count, align 4, !tbaa !5
  %5353 = add nsw i32 %5352, 1
  store i32 %5353, ptr @test_count, align 4, !tbaa !5
  %5354 = load i32, ptr %1310, align 4, !tbaa !5
  %5355 = icmp eq i32 %5354, 134217728
  br i1 %5355, label %5356, label %5286

5356:                                             ; preds = %5351
  %5357 = add nsw i32 %5352, 2
  store i32 %5357, ptr @test_count, align 4, !tbaa !5
  %5358 = call ptr @s2n_strerror_debug(i32 noundef 134217728, ptr noundef nonnull @.str.4) #11
  %5359 = icmp eq ptr %5358, null
  br i1 %5359, label %5312, label %.preheader.3

.preheader.3:                                     ; preds = %5356
  store i32 0, ptr %1310, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #11
  store i32 0, ptr %2716, align 4, !tbaa !5
  %5360 = load i32, ptr @test_count, align 4, !tbaa !5
  %5361 = add nsw i32 %5360, 1
  store i32 %5361, ptr @test_count, align 4, !tbaa !5
  %5362 = call i64 @s2n_recv(ptr noundef %spec.select739, ptr noundef nonnull %5, i64 noundef 6, ptr noundef nonnull %43) #11
  %5363 = icmp eq i64 %5362, -1
  br i1 %5363, label %5364, label %5259

5364:                                             ; preds = %.preheader.3
  %5365 = load i32, ptr @test_count, align 4, !tbaa !5
  %5366 = add nsw i32 %5365, 1
  store i32 %5366, ptr @test_count, align 4, !tbaa !5
  %5367 = load i32, ptr %1310, align 4, !tbaa !5
  %5368 = icmp eq i32 %5367, 134217728
  br i1 %5368, label %5369, label %5286

5369:                                             ; preds = %5364
  %5370 = add nsw i32 %5365, 2
  store i32 %5370, ptr @test_count, align 4, !tbaa !5
  %5371 = call ptr @s2n_strerror_debug(i32 noundef 134217728, ptr noundef nonnull @.str.4) #11
  %5372 = icmp eq ptr %5371, null
  br i1 %5372, label %5312, label %.preheader.4

.preheader.4:                                     ; preds = %5369
  store i32 0, ptr %1310, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #11
  store i32 0, ptr %2716, align 4, !tbaa !5
  %5373 = load i32, ptr @test_count, align 4, !tbaa !5
  %5374 = add nsw i32 %5373, 1
  store i32 %5374, ptr @test_count, align 4, !tbaa !5
  %5375 = call i64 @s2n_recv(ptr noundef %spec.select739, ptr noundef nonnull %5, i64 noundef 6, ptr noundef nonnull %43) #11
  %5376 = icmp eq i64 %5375, -1
  br i1 %5376, label %5377, label %5259

5377:                                             ; preds = %.preheader.4
  %5378 = load i32, ptr @test_count, align 4, !tbaa !5
  %5379 = add nsw i32 %5378, 1
  store i32 %5379, ptr @test_count, align 4, !tbaa !5
  %5380 = load i32, ptr %1310, align 4, !tbaa !5
  %5381 = icmp eq i32 %5380, 134217728
  br i1 %5381, label %5382, label %5286

5382:                                             ; preds = %5377
  %5383 = add nsw i32 %5378, 2
  store i32 %5383, ptr @test_count, align 4, !tbaa !5
  %5384 = call ptr @s2n_strerror_debug(i32 noundef 134217728, ptr noundef nonnull @.str.4) #11
  %5385 = icmp eq ptr %5384, null
  br i1 %5385, label %5312, label %5386

5386:                                             ; preds = %5382
  store i32 0, ptr %1310, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #11
  store i32 0, ptr %2716, align 4, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %43) #11
  %5387 = call i32 @s2n_io_pair_close(ptr noundef nonnull %42) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %42) #11
  %5388 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %41) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %41) #11
  %5389 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %40) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %40) #11
  call void @llvm.lifetime.end.p0(i64 472, ptr nonnull %39) #11
  br i1 %4490, label %.preheader743, label %4486, !llvm.loop !60

5390:                                             ; preds = %4486
  %5391 = load i32, ptr %2716, align 4, !tbaa !5
  %5392 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5393 = call i32 @s2n_print_stacktrace(ptr noundef %5392) #11
  %5394 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5395 = trunc nuw i8 %5394 to i1
  br i1 %5395, label %5396, label %5400

5396:                                             ; preds = %5390
  %5397 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5398 = call i32 @fileno(ptr noundef %5397) #11
  %5399 = call i32 @isatty(i32 noundef %5398) #11
  %.not547 = icmp eq i32 %5399, 0
  br i1 %.not547, label %5400, label %5401

5400:                                             ; preds = %5396, %5390
  br label %5401

5401:                                             ; preds = %5396, %5400
  %.str.5.sink2807 = phi ptr [ @.str.5, %5400 ], [ @.str.2, %5396 ]
  store i32 %5391, ptr %2716, align 4, !tbaa !5
  %5402 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5403 = load i32, ptr @test_count, align 4, !tbaa !5
  %5404 = load i32, ptr %1310, align 4, !tbaa !5
  %5405 = call ptr @s2n_strerror(i32 noundef %5404, ptr noundef nonnull @.str.4) #11
  %5406 = load i32, ptr %1310, align 4, !tbaa !5
  %5407 = call ptr @s2n_strerror_debug(i32 noundef %5406, ptr noundef nonnull @.str.4) #11
  %5408 = load i32, ptr %2716, align 4, !tbaa !5
  %5409 = call ptr @strerror(i32 noundef %5408) #11
  %5410 = load i32, ptr %2716, align 4, !tbaa !5
  %5411 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5402, ptr noundef nonnull %.str.5.sink2807, i32 noundef %5403, ptr noundef nonnull @.str.93, ptr noundef nonnull @.str.1, i32 noundef 635, ptr noundef %5405, ptr noundef %5407, ptr noundef %5409, i32 noundef %5410) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5412:                                             ; preds = %4486
  %5413 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext false) #11
  %5414 = icmp eq i32 %5413, -1
  br i1 %5414, label %5415, label %5437

5415:                                             ; preds = %5412
  %5416 = load i32, ptr %2716, align 4, !tbaa !5
  %5417 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5418 = call i32 @s2n_print_stacktrace(ptr noundef %5417) #11
  %5419 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5420 = trunc nuw i8 %5419 to i1
  br i1 %5420, label %5421, label %5425

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

5425:                                             ; preds = %5421, %5415
  br label %5426

5426:                                             ; preds = %5421, %5425
  %.str.5.sink2817 = phi ptr [ @.str.5, %5425 ], [ @.str.2, %5421 ]
  store i32 %5416, ptr %2716, align 4, !tbaa !5
  %5427 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5428 = load i32, ptr @test_count, align 4, !tbaa !5
  %5429 = load i32, ptr %1310, align 4, !tbaa !5
  %5430 = call ptr @s2n_strerror(i32 noundef %5429, ptr noundef nonnull @.str.4) #11
  %5431 = load i32, ptr %1310, align 4, !tbaa !5
  %5432 = call ptr @s2n_strerror_debug(i32 noundef %5431, ptr noundef nonnull @.str.4) #11
  %5433 = load i32, ptr %2716, align 4, !tbaa !5
  %5434 = call ptr @strerror(i32 noundef %5433) #11
  %5435 = load i32, ptr %2716, align 4, !tbaa !5
  %5436 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5427, ptr noundef nonnull %.str.5.sink2817, i32 noundef %5428, ptr noundef nonnull @.str.94, ptr noundef nonnull @.str.1, i32 noundef 635, ptr noundef %5430, ptr noundef %5432, ptr noundef %5434, i32 noundef %5435) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5437:                                             ; preds = %5412
  %5438 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5439 = trunc nuw i8 %5438 to i1
  br i1 %5439, label %5440, label %5451

5440:                                             ; preds = %5437
  %5441 = load ptr, ptr @stdout, align 8, !tbaa !9
  %5442 = call i32 @fileno(ptr noundef %5441) #11
  %5443 = call i32 @isatty(i32 noundef %5442) #11
  %.not = icmp eq i32 %5443, 0
  br i1 %.not, label %5451, label %5444

5444:                                             ; preds = %5440
  %5445 = load i32, ptr @test_count, align 4, !tbaa !5
  %.not545 = icmp eq i32 %5445, 0
  %5446 = load ptr, ptr @stdout, align 8, !tbaa !9
  br i1 %.not545, label %5449, label %5447

5447:                                             ; preds = %5444
  %5448 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5446, ptr noundef nonnull @.str.95, i32 noundef %5445) #11
  br label %5458

5449:                                             ; preds = %5444
  %5450 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5446, ptr noundef nonnull @.str.96) #11
  br label %5458

5451:                                             ; preds = %5440, %5437
  %5452 = load i32, ptr @test_count, align 4, !tbaa !5
  %.not544 = icmp eq i32 %5452, 0
  %5453 = load ptr, ptr @stdout, align 8, !tbaa !9
  br i1 %.not544, label %5456, label %5454

5454:                                             ; preds = %5451
  %5455 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5453, ptr noundef nonnull @.str.97, i32 noundef %5452) #11
  br label %5458

5456:                                             ; preds = %5451
  %5457 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5453, ptr noundef nonnull @.str.98) #11
  br label %5458

5458:                                             ; preds = %5454, %5456, %5447, %5449
  %5459 = call i32 @s2n_config_ptr_free(ptr noundef nonnull %10) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %10) #11
  %5460 = call i32 @s2n_config_ptr_free(ptr noundef nonnull %9) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %9) #11
  %5461 = call i32 @s2n_cert_chain_and_key_ptr_free(ptr noundef nonnull %8) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %8) #11
  %5462 = call i32 @s2n_cert_chain_and_key_ptr_free(ptr noundef nonnull %7) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %7) #11
  call void @llvm.lifetime.end.p0(i64 131070, ptr nonnull %6) #11
  call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %5) #11
  call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %4) #11
  call void @llvm.lifetime.end.p0(i64 5, ptr nonnull %3) #11
  br label %5463

5463:                                             ; preds = %130, %5458
  ret i32 0
}

; Function Attrs: nofree nounwind
declare noundef i32 @fprintf(ptr nocapture noundef, ptr nocapture noundef readonly, ...) local_unnamed_addr #1

; Function Attrs: nofree nounwind
declare noundef i32 @fflush(ptr nocapture noundef) local_unnamed_addr #1

declare i32 @s2n_in_unit_test_set(i1 noundef zeroext) local_unnamed_addr #2

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

; Function Attrs: mustprogress nofree nosync nounwind willreturn memory(none)
declare ptr @__errno_location() local_unnamed_addr #4

declare i32 @s2n_print_stacktrace(ptr noundef) local_unnamed_addr #2

; Function Attrs: nounwind
declare i32 @isatty(i32 noundef) local_unnamed_addr #5

; Function Attrs: nofree nounwind
declare noundef i32 @fileno(ptr nocapture noundef) local_unnamed_addr #1

declare ptr @s2n_strerror(i32 noundef, ptr noundef) local_unnamed_addr #2

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

declare ptr @s2n_strerror_debug(i32 noundef, ptr noundef) local_unnamed_addr #2

; Function Attrs: nounwind
declare ptr @strerror(i32 noundef) local_unnamed_addr #5

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

; Function Attrs: noreturn nounwind
declare void @exit(i32 noundef) local_unnamed_addr #7

declare i32 @s2n_enable_atexit() local_unnamed_addr #2

declare i32 @s2n_init() local_unnamed_addr #2

declare zeroext i1 @s2n_is_tls13_fully_supported(...) local_unnamed_addr #2

; Function Attrs: mustprogress nocallback nofree nounwind willreturn memory(argmem: readwrite)
declare void @llvm.memcpy.p0.p0.i64(ptr noalias nocapture writeonly, ptr noalias nocapture readonly, i64, i1 immarg) #8

; Function Attrs: mustprogress nocallback nofree nounwind willreturn memory(argmem: write)
declare void @llvm.memset.p0.i64(ptr nocapture writeonly, i8, i64, i1 immarg) #9

declare i32 @s2n_cert_chain_and_key_ptr_free(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_test_cert_chain_and_key_new(ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #2

declare ptr @s2n_config_new() local_unnamed_addr #2

declare i32 @s2n_config_ptr_free(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_config_set_unsafe_for_testing(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_config_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 ptr @s2n_connection_new(i32 noundef) local_unnamed_addr #2

declare i32 @s2n_connection_ptr_free(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_connection_set_blinding(ptr noundef, i32 noundef) local_unnamed_addr #2

declare i32 @s2n_connection_set_config(ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_io_stuffer_pair_free(ptr noundef) local_unnamed_addr #2

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

declare i32 @s2n_io_stuffer_pair_init(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_connections_set_io_stuffer_pair(ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_negotiate_test_server_and_client_until_message(ptr noundef, ptr noundef, i32 noundef) local_unnamed_addr #2

declare i32 @s2n_negotiate_test_server_and_client(ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_blob_init(ptr noundef, ptr noundef, i32 noundef) local_unnamed_addr #2

declare i32 @s2n_record_write(ptr noundef, i8 noundef zeroext, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_flush(ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_negotiate(ptr noundef, ptr noundef) local_unnamed_addr #2

declare void @s2n_debug_info_reset() local_unnamed_addr #2

declare i64 @s2n_recv(ptr noundef, ptr noundef, i64 noundef, ptr noundef) local_unnamed_addr #2

declare i64 @s2n_send(ptr noundef, ptr noundef, i64 noundef, ptr noundef) local_unnamed_addr #2

declare zeroext i1 @s2n_connection_check_io_status(ptr noundef, i32 noundef) local_unnamed_addr #2

declare i32 @s2n_connection_get_alert(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_config_set_client_hello_cb(ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_connection_set_cipher_preferences(ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_error_get_alert(i32 noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_shutdown_send(ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_stuffer_write_bytes(ptr noundef, ptr noundef, i32 noundef) local_unnamed_addr #2

declare i32 @s2n_shutdown(ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_io_pair_close(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_io_pair_init_non_blocking(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_connections_set_io_pair(ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_io_pair_close_one_end(ptr noundef, i32 noundef) local_unnamed_addr #2

declare i32 @s2n_cleanup() local_unnamed_addr #2

attributes #0 = { nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #1 = { nofree nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #2 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #3 = { mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #4 = { mustprogress nofree nosync nounwind willreturn memory(none) "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #5 = { nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #6 = { mustprogress nocallback nofree nosync nounwind speculatable willreturn memory(none) }
attributes #7 = { noreturn nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #8 = { mustprogress nocallback nofree nounwind willreturn memory(argmem: readwrite) }
attributes #9 = { mustprogress nocallback nofree nounwind willreturn memory(argmem: write) }
attributes #10 = { inlinehint nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #11 = { nounwind }
attributes #12 = { nounwind willreturn memory(none) }
attributes #13 = { 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 = !{!7, !7, i64 0}
!16 = distinct !{!16, !17}
!17 = !{!"llvm.loop.mustprogress"}
!18 = distinct !{!18, !17}
!19 = distinct !{!19, !17}
!20 = !{!21, !7, i64 220}
!21 = !{!"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, !22, i64 160, !23, i64 168, !23, 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, !24, i64 240, !10, i64 632, !10, i64 640, !25, i64 648, !31, i64 1144, !34, i64 1688, !10, i64 1752, !7, i64 1760, !6, i64 1764, !7, i64 1768, !37, i64 1776, !37, i64 1816, !37, i64 1856, !37, i64 1896, !6, i64 1936, !23, i64 1944, !7, i64 1952, !37, i64 1960, !7, i64 2000, !7, i64 2001, !7, i64 2002, !12, i64 2003, !38, i64 2004, !38, i64 2008, !39, i64 2016, !36, i64 2208, !6, i64 2212, !36, i64 2216, !23, i64 2224, !7, i64 2232, !23, i64 2240, !23, i64 2248, !23, i64 2256, !38, i64 2264, !38, i64 2268, !7, i64 2272, !7, i64 2528, !6, i64 2784, !30, i64 2792, !6, i64 2816, !30, i64 2824, !30, i64 2848, !30, i64 2872, !41, i64 2896, !43, i64 3704, !10, i64 3760, !10, i64 3768, !7, i64 3776, !6, i64 3780, !30, i64 3784, !6, i64 3808, !45, i64 3816, !7, i64 3848, !37, i64 3992, !30, i64 4032, !30, i64 4056, !12, i64 4080, !12, i64 4081, !12, i64 4082, !36, i64 4084, !36, i64 4086, !6, i64 4088, !6, i64 4092, !30, i64 4096, !6, i64 4120, !46, i64 4128, !38, i64 4176, !7, i64 4180, !7, i64 4181}
!22 = !{!"s2n_timer", !23, i64 0}
!23 = !{!"long", !7, i64 0}
!24 = !{!"s2n_secrets", !7, i64 0, !6, i64 388}
!25 = !{!"s2n_kex_parameters", !26, i64 0, !27, i64 8, !7, i64 24, !27, i64 56, !28, i64 72, !28, i64 184, !7, i64 296, !29, i64 360, !30, i64 448, !30, i64 472}
!26 = !{!"s2n_dh_params", !10, i64 0}
!27 = !{!"s2n_ecc_evp_params", !10, i64 0, !10, i64 8}
!28 = !{!"s2n_kem_group_params", !10, i64 0, !29, i64 8, !27, i64 96}
!29 = !{!"s2n_kem_params", !10, i64 0, !30, i64 8, !30, i64 32, !30, i64 56, !12, i64 80}
!30 = !{!"s2n_blob", !10, i64 0, !6, i64 8, !6, i64 12, !6, i64 16}
!31 = !{!"s2n_handshake_parameters", !32, i64 0, !32, i64 48, !30, i64 96, !6, i64 120, !33, 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}
!32 = !{!"s2n_pkey", !10, i64 0, !10, i64 8, !10, i64 16, !10, i64 24, !10, i64 32, !10, i64 40}
!33 = !{!"s2n_sig_scheme_list", !7, i64 0, !7, i64 256}
!34 = !{!"s2n_psk_parameters", !6, i64 0, !35, i64 8, !36, i64 40, !36, i64 42, !10, i64 48, !6, i64 56}
!35 = !{!"s2n_array", !30, i64 0, !6, i64 24, !6, i64 28}
!36 = !{!"short", !7, i64 0}
!37 = !{!"s2n_stuffer", !30, i64 0, !6, i64 24, !6, i64 28, !6, i64 32, !6, i64 36, !6, i64 36, !6, i64 36}
!38 = !{!"", !6, i64 0}
!39 = !{!"s2n_handshake", !37, 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, !40, i64 176, !6, i64 184, !6, i64 184, !6, i64 184, !6, i64 184, !6, i64 188}
!40 = !{!"s2n_offered_early_data", !10, i64 0}
!41 = !{!"s2n_client_hello", !30, i64 0, !42, i64 24, !30, i64 728, !30, i64 752, !30, 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}
!42 = !{!"", !7, i64 0, !30, i64 672, !36, i64 696}
!43 = !{!"s2n_x509_validator", !10, i64 0, !10, i64 8, !7, i64 16, !7, i64 17, !36, i64 18, !10, i64 24, !6, i64 32, !10, i64 40, !44, i64 48, !12, i64 52}
!44 = !{!"s2n_cert_validation_info", !6, i64 0, !6, i64 0}
!45 = !{!"s2n_ticket_fields", !30, i64 0, !6, i64 24}
!46 = !{!"s2n_post_handshake", !37, i64 0, !7, i64 40}
!47 = distinct !{!47, !17}
!48 = !{!21, !7, i64 218}
!49 = !{!21, !10, i64 232}
!50 = !{!21, !23, i64 176}
!51 = !{!21, !12, i64 2003}
!52 = distinct !{!52, !17}
!53 = distinct !{!53, !17}
!54 = distinct !{!54, !17}
!55 = distinct !{!55, !17}
!56 = distinct !{!56, !17}
!57 = !{i64 0, i64 4, !15, i64 8, i64 8, !9, i64 16, i64 8, !9, i64 24, i64 32, !15, i64 56, i64 8, !9, i64 64, i64 4, !5, i64 68, i64 4, !5, i64 72, i64 1, !15, i64 80, i64 8, !9, i64 88, i64 8, !9, i64 96, i64 8, !9, i64 104, i64 8, !9, i64 112, i64 8, !9, i64 120, i64 8, !9, i64 128, i64 4, !5, i64 132, i64 4, !5, i64 136, i64 8, !9, i64 144, i64 8, !58, i64 152, i64 8, !9, i64 160, i64 8, !58, i64 168, i64 8, !58, i64 176, i64 8, !9, i64 184, i64 8, !9, i64 192, i64 8, !9, i64 200, i64 8, !9, i64 208, i64 8, !9, i64 216, i64 8, !9, i64 224, i64 4, !5, i64 228, i64 1, !15, i64 232, i64 4, !5, i64 236, i64 4, !5, i64 240, i64 8, !9, i64 248, i64 8, !9, i64 256, i64 8, !9, i64 264, i64 8, !9, i64 272, i64 8, !9, i64 280, i64 8, !9, i64 288, i64 8, !9, i64 296, i64 1, !15, i64 297, i64 1, !15, i64 304, i64 8, !9, i64 312, i64 1, !15, i64 320, i64 2, !59, i64 328, i64 8, !9, i64 336, i64 8, !9, i64 344, i64 8, !9, i64 352, i64 8, !9, i64 360, i64 8, !9, i64 368, i64 8, !9, i64 376, i64 8, !9, i64 384, i64 8, !9, i64 392, i64 4, !5, i64 396, i64 4, !5, i64 400, i64 4, !5, i64 408, i64 8, !9, i64 416, i64 4, !5, i64 420, i64 4, !5, i64 424, i64 8, !9, i64 432, i64 8, !9, i64 440, i64 4, !5, i64 448, i64 8, !9, i64 456, i64 4, !5, i64 460, i64 4, !5, i64 464, i64 1, !15}
!58 = !{!23, !23, i64 0}
!59 = !{!36, !36, i64 0}
!60 = distinct !{!60, !17}


; Effective O3 passes: ADCEPass,BDCEPass,CorrelatedValuePropagationPass,EarlyCSEPass,GVNPass,GlobalOptPass,IPSCCPPass,IndVarSimplifyPass,InferAlignmentPass,InferFunctionAttrsPass,InstCombinePass,InstSimplifyPass,JumpThreadingPass,LCSSAPass,LICMPass,LoopInstSimplifyPass,LoopRotatePass,LoopSimplifyPass,LoopUnrollPass,PostOrderFunctionAttrsPass,SROAPass,SimplifyCFGPass,TailCallElimPass