; LLVM IR from aws/s2n-tls :: tests/unit (s2n_ktls_io_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_ktls_io_fail_ctx = type { i64, i64 }
%struct.s2n_cipher_suite = type { i8, ptr, ptr, [2 x i8], ptr, i32, ptr, [2 x ptr], i8, ptr, ptr, i32, i8 }
%struct.s2n_blob = type { ptr, i32, i32, i8 }
%struct.s2n_result = type { i32 }
%struct.msghdr = type { ptr, i32, ptr, i64, ptr, i64, i32 }
%struct.s2n_test_ktls_io_stuffer = type { %struct.s2n_stuffer, %struct.s2n_stuffer, i64, i64 }
%struct.s2n_stuffer = type { %struct.s2n_blob, i32, i32, i32, i8 }
%struct.iovec = type { ptr, i64 }
%struct.s2n_test_ktls_io_stuffer_pair = type { %struct.s2n_test_ktls_io_stuffer, %struct.s2n_test_ktls_io_stuffer }
%struct.s2n_connection = type { i32, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, [22 x i8], [22 x i8], [22 x i8], i32, i32, %struct.s2n_timer, i64, i64, [32 x i8], i8, i8, i8, i8, i8, i8, i8, ptr, ptr, %struct.s2n_secrets, ptr, ptr, %struct.s2n_kex_parameters, %struct.s2n_handshake_parameters, %struct.s2n_psk_parameters, ptr, i8, i32, [5 x i8], %struct.s2n_stuffer, %struct.s2n_stuffer, %struct.s2n_stuffer, %struct.s2n_stuffer, i32, i64, [2 x i8], %struct.s2n_stuffer, i8, i8, i8, i8, %struct.s2n_atomic_flag, %struct.s2n_atomic_flag, %struct.s2n_handshake, i16, i32, i16, i64, i8, i64, i64, i64, %struct.s2n_atomic_flag, %struct.s2n_atomic_flag, [256 x i8], [256 x i8], i32, %struct.s2n_blob, i32, %struct.s2n_blob, %struct.s2n_blob, %struct.s2n_blob, %struct.s2n_client_hello, %struct.s2n_x509_validator, ptr, ptr, i8, i32, %struct.s2n_blob, i32, %struct.s2n_ticket_fields, [138 x i8], %struct.s2n_stuffer, %struct.s2n_blob, %struct.s2n_blob, i8, i8, i8, i16, i16, i32, i32, %struct.s2n_blob, i32, %struct.s2n_post_handshake, %struct.s2n_atomic_flag, i8, i8 }
%struct.s2n_timer = type { i64 }
%struct.s2n_secrets = type { %union.anon, i32 }
%union.anon = type { %struct.s2n_tls13_secrets }
%struct.s2n_tls13_secrets = type { [48 x i8], [48 x i8], [48 x i8], [48 x i8], [48 x i8], [48 x i8], [48 x i8], [48 x i8], i32 }
%struct.s2n_kex_parameters = type { %struct.s2n_dh_params, %struct.s2n_ecc_evp_params, [4 x ptr], %struct.s2n_ecc_evp_params, %struct.s2n_kem_group_params, %struct.s2n_kem_group_params, [8 x ptr], %struct.s2n_kem_params, %struct.s2n_blob, %struct.s2n_blob }
%struct.s2n_dh_params = type { ptr }
%struct.s2n_ecc_evp_params = type { ptr, ptr }
%struct.s2n_kem_group_params = type { ptr, %struct.s2n_kem_params, %struct.s2n_ecc_evp_params }
%struct.s2n_kem_params = type { ptr, %struct.s2n_blob, %struct.s2n_blob, %struct.s2n_blob, i8 }
%struct.s2n_handshake_parameters = type { %struct.s2n_pkey, %struct.s2n_pkey, %struct.s2n_blob, i32, %struct.s2n_sig_scheme_list, ptr, ptr, ptr, [4 x ptr], [4 x ptr], i8, i8, [32 x i8], [32 x i8] }
%struct.s2n_pkey = type { ptr, ptr, ptr, ptr, ptr, ptr }
%struct.s2n_sig_scheme_list = type { [128 x i16], i8 }
%struct.s2n_psk_parameters = type { i32, %struct.s2n_array, i16, i16, ptr, i32 }
%struct.s2n_array = type { %struct.s2n_blob, i32, i32 }
%struct.s2n_handshake = type { %struct.s2n_stuffer, ptr, [8 x i8], [48 x i8], [48 x i8], i8, i32, i32, i32, i32, %struct.s2n_offered_early_data, i8, i32 }
%struct.s2n_offered_early_data = type { ptr }
%struct.s2n_client_hello = type { %struct.s2n_blob, %struct.s2n_parsed_extensions_list, %struct.s2n_blob, %struct.s2n_blob, %struct.s2n_blob, i8, i8, i8 }
%struct.s2n_parsed_extensions_list = type { [21 x %struct.s2n_parsed_extension], %struct.s2n_blob, i16 }
%struct.s2n_parsed_extension = type { %struct.s2n_blob, i16, i16, i8 }
%struct.s2n_x509_validator = type { ptr, ptr, i8, i8, i16, ptr, i32, ptr, %struct.s2n_cert_validation_info, i8 }
%struct.s2n_cert_validation_info = type { i8, [3 x i8] }
%struct.s2n_ticket_fields = type { %struct.s2n_blob, i32 }
%struct.s2n_post_handshake = type { %struct.s2n_stuffer, [4 x i8] }
%struct.s2n_atomic_flag = type { i32 }
%struct.s2n_test_iovecs = type { ptr, i64 }
%struct.anon = type { ptr, i64, i32, i32 }
%struct.s2n_mem_test_cb_scope = type { i8 }
%struct.s2n_record_algorithm = type { ptr, i32, i32, i64 }
%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
@s2n_errno = external thread_local global i32, align 4
@test_count = external dso_local global i32, align 4
@stdout = external global ptr, align 8
@.str.1 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.2 = external hidden unnamed_addr constant [75 x i8], align 1
@stderr = external global ptr, align 8
@.str.3 = external hidden unnamed_addr constant [101 x i8], align 1
@.str.4 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [90 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [89 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [96 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [43 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [97 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [80 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [89 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [81 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [109 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [92 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [99 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [126 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [41 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [116 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [122 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [116 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [86 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [130 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [37 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [44 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [93 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [81 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [129 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [45 x i8], align 1
@.str.37 = external hidden unnamed_addr constant [101 x i8], align 1
@.str.38 = external hidden unnamed_addr constant [89 x i8], align 1
@.str.39 = external hidden unnamed_addr constant [113 x i8], align 1
@.str.40 = external hidden unnamed_addr constant [133 x i8], align 1
@.str.41 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.42 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.43 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.44 = external hidden unnamed_addr constant [100 x i8], align 1
@.str.45 = external hidden unnamed_addr constant [43 x i8], align 1
@__const.main.io_ctx = external hidden unnamed_addr constant %struct.s2n_test_ktls_io_fail_ctx, align 8
@.str.46 = external hidden unnamed_addr constant [43 x i8], align 1
@.str.47 = external hidden unnamed_addr constant [140 x i8], align 1
@.str.48 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.49 = external hidden unnamed_addr constant [139 x i8], align 1
@.str.50 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.51 = external hidden unnamed_addr constant [119 x i8], align 1
@.str.52 = external hidden unnamed_addr constant [106 x i8], align 1
@.str.53 = external hidden unnamed_addr constant [115 x i8], align 1
@.str.54 = external hidden unnamed_addr constant [115 x i8], align 1
@.str.55 = external hidden unnamed_addr constant [112 x i8], align 1
@.str.56 = external hidden unnamed_addr constant [123 x i8], align 1
@.str.57 = external hidden unnamed_addr constant [45 x i8], align 1
@.str.58 = external hidden unnamed_addr constant [87 x i8], align 1
@.str.59 = external hidden unnamed_addr constant [129 x i8], align 1
@.str.60 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.61 = external hidden unnamed_addr constant [45 x i8], align 1
@.str.62 = external hidden unnamed_addr constant [62 x i8], align 1
@.str.63 = external hidden unnamed_addr constant [62 x i8], align 1
@.str.64 = external hidden unnamed_addr constant [132 x i8], align 1
@.str.65 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.66 = external hidden unnamed_addr constant [92 x i8], align 1
@.str.67 = external hidden unnamed_addr constant [100 x i8], align 1
@__const.main.io_ctx.68 = external hidden unnamed_addr constant %struct.s2n_test_ktls_io_fail_ctx, align 8
@.str.69 = external hidden unnamed_addr constant [99 x i8], align 1
@.str.70 = external hidden unnamed_addr constant [45 x i8], align 1
@.str.71 = external hidden unnamed_addr constant [128 x i8], align 1
@.str.72 = external hidden unnamed_addr constant [93 x i8], align 1
@.str.73 = external hidden unnamed_addr constant [87 x i8], align 1
@.str.74 = external hidden unnamed_addr constant [87 x i8], align 1
@.str.75 = external hidden unnamed_addr constant [90 x i8], align 1
@.str.76 = external hidden unnamed_addr constant [89 x i8], align 1
@.str.77 = external hidden unnamed_addr constant [55 x i8], align 1
@.str.78 = external hidden unnamed_addr constant [89 x i8], align 1
@.str.79 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.80 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.81 = external hidden unnamed_addr constant [100 x i8], align 1
@.str.82 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.83 = external hidden unnamed_addr constant [88 x i8], align 1
@.str.84 = external hidden unnamed_addr constant [90 x i8], align 1
@__const.main.io_ctx.85 = external hidden unnamed_addr constant %struct.s2n_test_ktls_io_fail_ctx, align 8
@.str.86 = external hidden unnamed_addr constant [98 x i8], align 1
@.str.87 = external hidden unnamed_addr constant [87 x i8], align 1
@.str.88 = external hidden unnamed_addr constant [83 x i8], align 1
@.str.89 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.90 = external hidden unnamed_addr constant [84 x i8], align 1
@.str.91 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.92 = external hidden unnamed_addr constant [149 x i8], align 1
@.str.93 = external hidden unnamed_addr constant [45 x i8], align 1
@.str.94 = external hidden unnamed_addr constant [45 x i8], align 1
@.str.95 = external hidden unnamed_addr constant [173 x i8], align 1
@.str.96 = external hidden unnamed_addr constant [32 x i8], align 1
@.str.97 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.98 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.99 = external hidden unnamed_addr constant [31 x i8], align 1
@.str.100 = external hidden unnamed_addr constant [41 x i8], align 1
@.str.101 = external hidden unnamed_addr constant [84 x i8], align 1
@.str.102 = external hidden unnamed_addr constant [95 x i8], align 1
@.str.103 = external hidden unnamed_addr constant [63 x i8], align 1
@.str.104 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.105 = external hidden unnamed_addr constant [32 x i8], align 1
@.str.106 = external hidden unnamed_addr constant [77 x i8], align 1
@__const.main.io_ctx.107 = external hidden unnamed_addr constant %struct.s2n_test_ktls_io_fail_ctx, align 8
@.str.108 = external hidden unnamed_addr constant [115 x i8], align 1
@.str.109 = external hidden unnamed_addr constant [115 x i8], align 1
@.str.110 = external hidden unnamed_addr constant [80 x i8], align 1
@.str.111 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.112 = external hidden unnamed_addr constant [67 x i8], align 1
@.str.113 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.114 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.115 = external hidden unnamed_addr constant [89 x i8], align 1
@.str.116 = external hidden unnamed_addr constant [63 x i8], align 1
@.str.117 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.118 = external hidden unnamed_addr constant [63 x i8], align 1
@.str.119 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.120 = external hidden unnamed_addr constant [81 x i8], align 1
@.str.121 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.122 = external hidden unnamed_addr constant [88 x i8], align 1
@.str.123 = external hidden unnamed_addr constant [90 x i8], align 1
@.str.124 = external hidden unnamed_addr constant [95 x i8], align 1
@.str.125 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.126 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.127 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.128 = external hidden unnamed_addr constant [73 x i8], align 1
@.str.129 = external hidden unnamed_addr constant [84 x i8], align 1
@.str.130 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.131 = external hidden unnamed_addr constant [86 x i8], align 1
@.str.132 = external hidden unnamed_addr constant [66 x i8], align 1
@.str.133 = external hidden unnamed_addr constant [80 x i8], align 1
@.str.134 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.135 = external hidden unnamed_addr constant [77 x i8], align 1
@.str.136 = external hidden unnamed_addr constant [69 x i8], align 1
@.str.137 = external hidden unnamed_addr constant [80 x i8], align 1
@.str.138 = external hidden unnamed_addr constant [93 x i8], align 1
@.str.139 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.140 = external hidden unnamed_addr constant [74 x i8], align 1
@.str.141 = external hidden unnamed_addr constant [35 x i8], align 1
@.str.142 = external hidden unnamed_addr constant [64 x i8], align 1
@.str.143 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.144 = external hidden unnamed_addr constant [88 x i8], align 1
@.str.145 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.146 = external hidden unnamed_addr constant [99 x i8], align 1
@.str.147 = external hidden unnamed_addr constant [43 x i8], align 1
@.str.148 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.149 = external hidden unnamed_addr constant [90 x i8], align 1
@.str.150 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.151 = external hidden unnamed_addr constant [82 x i8], align 1
@.str.152 = external hidden unnamed_addr constant [73 x i8], align 1
@.str.153 = external hidden unnamed_addr constant [95 x i8], align 1
@.str.154 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.155 = external hidden unnamed_addr constant [35 x i8], align 1
@.str.156 = external hidden unnamed_addr constant [82 x i8], align 1
@.str.157 = external hidden unnamed_addr constant [62 x i8], align 1
@.str.158 = external hidden unnamed_addr constant [56 x i8], align 1
@.str.159 = external hidden unnamed_addr constant [96 x i8], align 1
@.str.160 = external hidden unnamed_addr constant [88 x i8], align 1
@.str.161 = external hidden unnamed_addr constant [83 x i8], align 1
@.str.162 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.163 = external hidden unnamed_addr constant [49 x i8], align 1
@s2n_tls13_aes_128_gcm_sha256 = external global %struct.s2n_cipher_suite, align 8
@.str.164 = external hidden unnamed_addr constant [104 x i8], align 1
@.str.165 = external hidden unnamed_addr constant [47 x i8], align 1
@.str.166 = external hidden unnamed_addr constant [94 x i8], align 1
@.str.167 = external hidden unnamed_addr constant [83 x i8], align 1
@.str.168 = external hidden unnamed_addr constant [67 x i8], align 1
@.str.169 = external hidden unnamed_addr constant [67 x i8], align 1
@.str.170 = external hidden unnamed_addr constant [83 x i8], align 1
@.str.171 = external hidden unnamed_addr constant [91 x i8], align 1
@.str.172 = external hidden unnamed_addr constant [92 x i8], align 1
@.str.173 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.174 = external hidden unnamed_addr constant [88 x i8], align 1
@.str.175 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.176 = external hidden unnamed_addr constant [111 x i8], align 1
@.str.177 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.178 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.179 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.180 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.181 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.182 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.183 = external hidden unnamed_addr constant [25 x i8], align 1

; Function Attrs: nounwind uwtable
declare dso_local i64 @s2n_test_ktls_recvmsg_io_stuffer_and_ctrunc(ptr noundef, ptr noundef) #0

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

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

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

; 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 i8, align 1
  %10 = alloca [16384 x i8], align 16
  %11 = alloca %struct.s2n_blob, align 8
  %12 = alloca i32, align 4
  %13 = alloca %struct.s2n_result, align 4
  %14 = alloca i32, align 4
  %15 = alloca %struct.msghdr, align 8
  %16 = alloca [100 x i8], align 16
  %17 = alloca %struct.s2n_result, align 4
  %18 = alloca i32, align 4
  %19 = alloca i32, align 4
  %20 = alloca i32, align 4
  %21 = alloca %struct.s2n_result, align 4
  %22 = alloca i32, align 4
  %23 = alloca i32, align 4
  %24 = alloca i32, align 4
  %25 = alloca %struct.s2n_result, align 4
  %26 = alloca i32, align 4
  %27 = alloca i32, align 4
  %28 = alloca i32, align 4
  %29 = alloca i8, align 1
  %30 = alloca %struct.s2n_result, align 4
  %31 = alloca i32, align 4
  %32 = alloca i32, align 4
  %33 = alloca i32, align 4
  %34 = alloca %struct.s2n_result, align 4
  %35 = alloca i32, align 4
  %36 = alloca i32, align 4
  %37 = alloca i32, align 4
  %38 = alloca i8, align 1
  %39 = alloca %struct.msghdr, align 8
  %40 = alloca i32, align 4
  %41 = alloca [100 x i8], align 16
  %42 = alloca %struct.s2n_result, align 4
  %43 = alloca i32, align 4
  %44 = alloca i8, align 1
  %45 = alloca %struct.s2n_result, align 4
  %46 = alloca i32, align 4
  %47 = alloca i32, align 4
  %48 = alloca i8, align 1
  %49 = alloca %struct.msghdr, align 8
  %50 = alloca i32, align 4
  %51 = alloca [100 x i8], align 16
  %52 = alloca %struct.s2n_result, align 4
  %53 = alloca i32, align 4
  %54 = alloca i32, align 4
  %55 = alloca i8, align 1
  %56 = alloca %struct.s2n_result, align 4
  %57 = alloca i32, align 4
  %58 = alloca i32, align 4
  %59 = alloca i32, align 4
  %60 = alloca %struct.s2n_test_ktls_io_stuffer, align 8
  %61 = alloca %struct.iovec, align 8
  %62 = alloca i32, align 4
  %63 = alloca i64, align 8
  %64 = alloca %struct.s2n_result, align 4
  %65 = alloca i32, align 4
  %66 = alloca i32, align 4
  %67 = alloca i32, align 4
  %68 = alloca %struct.s2n_result, align 4
  %69 = alloca i32, align 4
  %70 = alloca i32, align 4
  %71 = alloca i32, align 4
  %72 = alloca %struct.s2n_result, align 4
  %73 = alloca i32, align 4
  %74 = alloca i32, align 4
  %75 = alloca i32, align 4
  %76 = alloca %struct.s2n_result, align 4
  %77 = alloca i32, align 4
  %78 = alloca i32, align 4
  %79 = alloca i32, align 4
  %80 = alloca ptr, align 8
  %81 = alloca %struct.s2n_test_ktls_io_stuffer, align 8
  %82 = alloca %struct.s2n_result, align 4
  %83 = alloca i32, align 4
  %84 = alloca %struct.iovec, align 8
  %85 = alloca i32, align 4
  %86 = alloca i64, align 8
  %87 = alloca %struct.s2n_result, align 4
  %88 = alloca i32, align 4
  %89 = alloca i32, align 4
  %90 = alloca i32, align 4
  %91 = alloca %struct.s2n_result, align 4
  %92 = alloca i32, align 4
  %93 = alloca %struct.s2n_result, align 4
  %94 = alloca i32, align 4
  %95 = alloca i32, align 4
  %96 = alloca %struct.s2n_result, align 4
  %97 = alloca %struct.s2n_result, align 4
  %98 = alloca ptr, align 8
  %99 = alloca %struct.s2n_test_ktls_io_stuffer, align 8
  %100 = alloca %struct.s2n_result, align 4
  %101 = alloca i32, align 4
  %102 = alloca [5 x %struct.iovec], align 16
  %103 = alloca i64, align 8
  %104 = alloca i64, align 8
  %105 = alloca i32, align 4
  %106 = alloca i64, align 8
  %107 = alloca %struct.s2n_result, align 4
  %108 = alloca i32, align 4
  %109 = alloca i32, align 4
  %110 = alloca i32, align 4
  %111 = alloca %struct.s2n_result, align 4
  %112 = alloca i32, align 4
  %113 = alloca %struct.s2n_result, align 4
  %114 = alloca i32, align 4
  %115 = alloca i32, align 4
  %116 = alloca i32, align 4
  %117 = alloca %struct.s2n_result, align 4
  %118 = alloca %struct.s2n_result, align 4
  %119 = alloca ptr, align 8
  %120 = alloca %struct.s2n_test_ktls_io_stuffer, align 8
  %121 = alloca %struct.s2n_result, align 4
  %122 = alloca i32, align 4
  %123 = alloca %struct.iovec, align 8
  %124 = alloca i32, align 4
  %125 = alloca i64, align 8
  %126 = alloca i64, align 8
  %127 = alloca i64, align 8
  %128 = alloca %struct.s2n_result, align 4
  %129 = alloca i32, align 4
  %130 = alloca i32, align 4
  %131 = alloca i32, align 4
  %132 = alloca i32, align 4
  %133 = alloca %struct.s2n_result, align 4
  %134 = alloca i32, align 4
  %135 = alloca i32, align 4
  %136 = alloca %struct.s2n_result, align 4
  %137 = alloca i32, align 4
  %138 = alloca %struct.s2n_result, align 4
  %139 = alloca i32, align 4
  %140 = alloca i32, align 4
  %141 = alloca %struct.s2n_result, align 4
  %142 = alloca %struct.s2n_result, align 4
  %143 = alloca ptr, align 8
  %144 = alloca %struct.s2n_test_ktls_io_fail_ctx, align 8
  %145 = alloca %struct.s2n_result, align 4
  %146 = alloca i32, align 4
  %147 = alloca %struct.iovec, align 8
  %148 = alloca i32, align 4
  %149 = alloca i64, align 8
  %150 = alloca %struct.s2n_result, align 4
  %151 = alloca i32, align 4
  %152 = alloca i32, align 4
  %153 = alloca i32, align 4
  %154 = alloca %struct.s2n_result, align 4
  %155 = alloca i32, align 4
  %156 = alloca i32, align 4
  %157 = alloca i32, align 4
  %158 = alloca i32, align 4
  %159 = alloca %struct.s2n_result, align 4
  %160 = alloca ptr, align 8
  %161 = alloca %struct.s2n_test_ktls_io_fail_ctx, align 8
  %162 = alloca %struct.s2n_result, align 4
  %163 = alloca i32, align 4
  %164 = alloca %struct.iovec, align 8
  %165 = alloca i32, align 4
  %166 = alloca i64, align 8
  %167 = alloca %struct.s2n_result, 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 %struct.s2n_result, align 4
  %174 = alloca ptr, align 8
  %175 = alloca %struct.s2n_test_ktls_io_stuffer, align 8
  %176 = alloca %struct.s2n_result, align 4
  %177 = alloca i32, align 4
  %178 = alloca %struct.iovec, align 8
  %179 = alloca i32, align 4
  %180 = alloca i64, align 8
  %181 = alloca i64, align 8
  %182 = alloca %struct.s2n_result, align 4
  %183 = alloca i32, align 4
  %184 = alloca i32, align 4
  %185 = alloca i32, align 4
  %186 = alloca %struct.iovec, align 8
  %187 = alloca %struct.s2n_result, align 4
  %188 = alloca i32, align 4
  %189 = alloca i32, align 4
  %190 = alloca i32, align 4
  %191 = alloca i32, align 4
  %192 = alloca %struct.s2n_result, align 4
  %193 = alloca %struct.s2n_result, align 4
  %194 = alloca %struct.s2n_test_ktls_io_stuffer, align 8
  %195 = alloca [16384 x i8], align 16
  %196 = alloca i32, align 4
  %197 = alloca i8, align 1
  %198 = alloca i64, align 8
  %199 = alloca %struct.s2n_result, align 4
  %200 = alloca i32, align 4
  %201 = alloca i32, align 4
  %202 = alloca i32, align 4
  %203 = alloca %struct.s2n_result, align 4
  %204 = alloca i32, align 4
  %205 = alloca i32, align 4
  %206 = alloca i32, align 4
  %207 = alloca %struct.s2n_result, align 4
  %208 = alloca i32, align 4
  %209 = alloca i32, align 4
  %210 = alloca i32, align 4
  %211 = alloca %struct.s2n_result, align 4
  %212 = alloca i32, align 4
  %213 = alloca i32, align 4
  %214 = alloca i32, align 4
  %215 = alloca %struct.s2n_result, align 4
  %216 = alloca i32, align 4
  %217 = alloca i32, align 4
  %218 = alloca i32, align 4
  %219 = alloca i64, align 8
  %220 = alloca %struct.s2n_result, align 4
  %221 = alloca i32, align 4
  %222 = alloca i32, align 4
  %223 = alloca i32, align 4
  %224 = alloca ptr, align 8
  %225 = alloca ptr, align 8
  %226 = alloca %struct.s2n_test_ktls_io_stuffer_pair, align 8
  %227 = alloca %struct.s2n_result, align 4
  %228 = alloca i32, align 4
  %229 = alloca %struct.iovec, align 8
  %230 = alloca i32, align 4
  %231 = alloca i64, align 8
  %232 = alloca %struct.s2n_result, align 4
  %233 = alloca i32, align 4
  %234 = alloca i32, align 4
  %235 = alloca [16384 x i8], align 16
  %236 = alloca i8, align 1
  %237 = alloca i64, align 8
  %238 = alloca %struct.s2n_result, 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 ptr, align 8
  %248 = alloca ptr, align 8
  %249 = alloca %struct.s2n_test_ktls_io_stuffer_pair, align 8
  %250 = alloca %struct.s2n_result, align 4
  %251 = alloca i32, align 4
  %252 = alloca [16384 x i8], align 16
  %253 = alloca i32, align 4
  %254 = alloca i64, align 8
  %255 = alloca i8, align 1
  %256 = alloca i64, align 8
  %257 = alloca i64, align 8
  %258 = alloca %struct.s2n_result, align 4
  %259 = alloca i32, align 4
  %260 = alloca i32, align 4
  %261 = alloca i32, align 4
  %262 = alloca i32, align 4
  %263 = alloca %struct.iovec, align 8
  %264 = alloca i64, align 8
  %265 = alloca %struct.s2n_result, align 4
  %266 = alloca i32, align 4
  %267 = alloca i32, align 4
  %268 = alloca %struct.s2n_result, align 4
  %269 = alloca i32, align 4
  %270 = alloca i32, align 4
  %271 = alloca i32, align 4
  %272 = alloca i64, align 8
  %273 = alloca %struct.s2n_result, align 4
  %274 = alloca i32, align 4
  %275 = alloca i32, align 4
  %276 = alloca i32, align 4
  %277 = alloca i32, align 4
  %278 = alloca i32, align 4
  %279 = alloca i32, align 4
  %280 = alloca %struct.s2n_result, align 4
  %281 = alloca %struct.s2n_result, align 4
  %282 = alloca %struct.s2n_result, align 4
  %283 = alloca ptr, align 8
  %284 = alloca %struct.s2n_test_ktls_io_fail_ctx, align 8
  %285 = alloca %struct.s2n_result, align 4
  %286 = alloca i32, align 4
  %287 = alloca [16384 x i8], align 16
  %288 = alloca i32, align 4
  %289 = alloca i8, align 1
  %290 = alloca i64, align 8
  %291 = alloca %struct.s2n_result, align 4
  %292 = alloca i32, align 4
  %293 = alloca i32, align 4
  %294 = alloca i32, align 4
  %295 = alloca i32, align 4
  %296 = alloca %struct.s2n_result, align 4
  %297 = alloca i32, align 4
  %298 = alloca i32, align 4
  %299 = alloca i32, align 4
  %300 = alloca i32, align 4
  %301 = alloca i32, align 4
  %302 = alloca %struct.s2n_result, align 4
  %303 = alloca ptr, align 8
  %304 = alloca %struct.s2n_test_ktls_io_fail_ctx, align 8
  %305 = alloca %struct.s2n_result, align 4
  %306 = alloca i32, align 4
  %307 = alloca [16384 x i8], align 16
  %308 = alloca i32, align 4
  %309 = alloca i8, align 1
  %310 = alloca i64, align 8
  %311 = alloca %struct.s2n_result, align 4
  %312 = alloca i32, align 4
  %313 = alloca i32, align 4
  %314 = alloca i32, align 4
  %315 = alloca i32, align 4
  %316 = alloca i32, align 4
  %317 = alloca %struct.s2n_result, align 4
  %318 = alloca ptr, align 8
  %319 = alloca %struct.s2n_test_ktls_io_fail_ctx, align 8
  %320 = alloca %struct.s2n_result, align 4
  %321 = alloca i32, align 4
  %322 = alloca [16384 x i8], align 16
  %323 = alloca i32, align 4
  %324 = alloca i8, align 1
  %325 = alloca i64, align 8
  %326 = alloca %struct.s2n_result, align 4
  %327 = alloca i32, align 4
  %328 = alloca i32, align 4
  %329 = alloca i32, align 4
  %330 = alloca i32, align 4
  %331 = alloca i32, align 4
  %332 = alloca %struct.s2n_result, align 4
  %333 = alloca ptr, align 8
  %334 = alloca ptr, align 8
  %335 = alloca %struct.s2n_test_ktls_io_stuffer_pair, align 8
  %336 = alloca %struct.s2n_result, align 4
  %337 = alloca i32, align 4
  %338 = alloca %struct.s2n_result, align 4
  %339 = alloca i32, align 4
  %340 = alloca %struct.iovec, align 8
  %341 = alloca i32, align 4
  %342 = alloca i64, align 8
  %343 = alloca %struct.s2n_result, align 4
  %344 = alloca i32, align 4
  %345 = alloca i32, align 4
  %346 = alloca [16384 x i8], align 16
  %347 = alloca i8, align 1
  %348 = alloca i64, align 8
  %349 = alloca %struct.s2n_result, align 4
  %350 = alloca i32, align 4
  %351 = alloca i32, align 4
  %352 = alloca i32, align 4
  %353 = alloca i32, align 4
  %354 = alloca i32, align 4
  %355 = alloca i32, align 4
  %356 = alloca %struct.s2n_result, align 4
  %357 = alloca %struct.s2n_result, align 4
  %358 = alloca %struct.s2n_result, align 4
  %359 = alloca [7 x i64], align 16
  %360 = alloca %struct.s2n_connection, align 8
  %361 = alloca i32, align 4
  %362 = alloca %struct.iovec, align 8
  %363 = alloca i32, align 4
  %364 = alloca i32, align 4
  %365 = alloca i32, align 4
  %366 = alloca i32, align 4
  %367 = alloca i32, align 4
  %368 = alloca i32, align 4
  %369 = alloca i32, align 4
  %370 = alloca i32, align 4
  %371 = alloca i32, align 4
  %372 = alloca i32, align 4
  %373 = alloca i32, align 4
  %374 = alloca i32, align 4
  %375 = alloca i32, align 4
  %376 = alloca i32, align 4
  %377 = alloca i32, align 4
  %378 = alloca i32, align 4
  %379 = alloca i32, align 4
  %380 = alloca i32, align 4
  %381 = alloca ptr, align 8
  %382 = alloca i32, align 4
  %383 = alloca %struct.s2n_test_ktls_io_stuffer, align 8
  %384 = alloca %struct.s2n_result, align 4
  %385 = alloca i32, align 4
  %386 = alloca %struct.iovec, align 8
  %387 = alloca i32, align 4
  %388 = alloca i32, align 4
  %389 = alloca i32, align 4
  %390 = alloca i32, align 4
  %391 = alloca %struct.s2n_result, align 4
  %392 = alloca i32, align 4
  %393 = alloca %struct.s2n_result, align 4
  %394 = alloca i32, align 4
  %395 = alloca %struct.s2n_result, align 4
  %396 = alloca %struct.s2n_result, align 4
  %397 = alloca ptr, align 8
  %398 = alloca i32, align 4
  %399 = alloca %struct.s2n_test_ktls_io_fail_ctx, align 8
  %400 = alloca %struct.s2n_result, align 4
  %401 = alloca i32, align 4
  %402 = alloca %struct.iovec, align 8
  %403 = alloca i32, align 4
  %404 = alloca i32, align 4
  %405 = alloca i32, align 4
  %406 = alloca i32, align 4
  %407 = alloca i32, align 4
  %408 = alloca i32, align 4
  %409 = alloca %struct.s2n_result, align 4
  %410 = alloca ptr, align 8
  %411 = alloca i32, align 4
  %412 = alloca %struct.s2n_test_ktls_io_stuffer, align 8
  %413 = alloca %struct.s2n_result, align 4
  %414 = alloca i32, align 4
  %415 = alloca i32, align 4
  %416 = alloca %struct.iovec, align 8
  %417 = alloca i32, align 4
  %418 = alloca i32, align 4
  %419 = alloca i32, align 4
  %420 = alloca %struct.s2n_result, align 4
  %421 = alloca i32, align 4
  %422 = alloca i32, align 4
  %423 = alloca i32, align 4
  %424 = alloca i32, align 4
  %425 = alloca %struct.s2n_result, align 4
  %426 = alloca i32, align 4
  %427 = alloca %struct.s2n_result, align 4
  %428 = alloca %struct.s2n_result, align 4
  %429 = alloca ptr, align 8
  %430 = alloca i32, align 4
  %431 = alloca %struct.s2n_test_ktls_io_stuffer, align 8
  %432 = alloca %struct.s2n_result, align 4
  %433 = alloca i32, align 4
  %434 = alloca %struct.s2n_test_iovecs, align 8
  %435 = alloca %struct.s2n_result, align 4
  %436 = alloca i32, align 4
  %437 = alloca i32, align 4
  %438 = alloca i64, align 8
  %439 = alloca i32, align 4
  %440 = alloca i32, align 4
  %441 = alloca i32, align 4
  %442 = alloca %struct.s2n_result, align 4
  %443 = alloca i32, align 4
  %444 = alloca %struct.s2n_result, align 4
  %445 = alloca i32, align 4
  %446 = alloca %struct.s2n_result, align 4
  %447 = alloca %struct.s2n_result, align 4
  %448 = alloca %struct.s2n_result, align 4
  %449 = alloca %struct.s2n_test_iovecs, align 8
  %450 = alloca %struct.s2n_result, align 4
  %451 = alloca i32, align 4
  %452 = alloca [100 x i64], align 16
  %453 = alloca i64, align 8
  %454 = alloca i32, align 4
  %455 = alloca %struct.s2n_test_iovecs, align 8
  %456 = alloca %struct.s2n_result, align 4
  %457 = alloca i32, align 4
  %458 = alloca i64, align 8
  %459 = alloca ptr, align 8
  %460 = alloca i32, align 4
  %461 = alloca %struct.s2n_test_ktls_io_stuffer, align 8
  %462 = alloca %struct.s2n_result, align 4
  %463 = alloca i32, align 4
  %464 = alloca i32, align 4
  %465 = alloca i64, align 8
  %466 = alloca i32, align 4
  %467 = alloca i32, align 4
  %468 = alloca i32, align 4
  %469 = alloca i32, align 4
  %470 = alloca i32, align 4
  %471 = alloca %struct.s2n_result, align 4
  %472 = alloca i32, align 4
  %473 = alloca %struct.s2n_result, align 4
  %474 = alloca %struct.s2n_result, align 4
  %475 = alloca i64, align 8
  %476 = alloca ptr, align 8
  %477 = alloca i32, align 4
  %478 = alloca %struct.s2n_test_ktls_io_stuffer, align 8
  %479 = alloca %struct.s2n_result, align 4
  %480 = alloca i32, align 4
  %481 = alloca i32, align 4
  %482 = alloca i32, align 4
  %483 = alloca i32, align 4
  %484 = alloca i32, align 4
  %485 = alloca i32, align 4
  %486 = alloca %struct.s2n_result, align 4
  %487 = alloca i32, align 4
  %488 = alloca %struct.s2n_result, align 4
  %489 = alloca %struct.s2n_result, align 4
  %490 = alloca i64, align 8
  %491 = alloca ptr, align 8
  %492 = alloca i32, align 4
  %493 = alloca %struct.s2n_test_ktls_io_stuffer, align 8
  %494 = alloca %struct.s2n_result, align 4
  %495 = alloca i32, align 4
  %496 = alloca i64, align 8
  %497 = alloca i32, align 4
  %498 = alloca i32, align 4
  %499 = alloca i64, align 8
  %500 = alloca i32, align 4
  %501 = alloca i32, align 4
  %502 = alloca i32, align 4
  %503 = alloca %struct.s2n_result, align 4
  %504 = alloca i32, align 4
  %505 = alloca %struct.s2n_result, align 4
  %506 = alloca i32, align 4
  %507 = alloca %struct.s2n_result, align 4
  %508 = alloca %struct.s2n_result, align 4
  %509 = alloca i64, align 8
  %510 = alloca ptr, align 8
  %511 = alloca i32, align 4
  %512 = alloca %struct.s2n_test_ktls_io_stuffer, align 8
  %513 = alloca %struct.s2n_result, align 4
  %514 = alloca i32, align 4
  %515 = alloca i64, align 8
  %516 = alloca i32, align 4
  %517 = alloca i32, align 4
  %518 = alloca i64, align 8
  %519 = alloca i32, align 4
  %520 = alloca i32, align 4
  %521 = alloca i32, align 4
  %522 = alloca %struct.s2n_result, align 4
  %523 = alloca i32, align 4
  %524 = alloca %struct.s2n_result, align 4
  %525 = alloca i32, align 4
  %526 = alloca %struct.s2n_result, align 4
  %527 = alloca %struct.s2n_result, align 4
  %528 = alloca %struct.s2n_result, align 4
  %529 = alloca %struct.s2n_result, align 4
  %530 = alloca %struct.s2n_test_iovecs, align 8
  %531 = alloca %struct.s2n_result, align 4
  %532 = alloca i32, align 4
  %533 = alloca i64, align 8
  %534 = alloca ptr, align 8
  %535 = alloca i32, align 4
  %536 = alloca %struct.s2n_test_ktls_io_stuffer, align 8
  %537 = alloca %struct.s2n_result, align 4
  %538 = alloca i32, align 4
  %539 = alloca i32, align 4
  %540 = alloca i32, align 4
  %541 = alloca i32, align 4
  %542 = alloca i64, align 8
  %543 = alloca i32, align 4
  %544 = alloca i32, align 4
  %545 = alloca i32, align 4
  %546 = alloca %struct.s2n_result, align 4
  %547 = alloca i32, align 4
  %548 = alloca %struct.s2n_result, align 4
  %549 = alloca %struct.s2n_result, align 4
  %550 = alloca %struct.s2n_result, align 4
  %551 = alloca %struct.s2n_test_iovecs, align 8
  %552 = alloca %struct.s2n_result, align 4
  %553 = alloca i32, align 4
  %554 = alloca ptr, align 8
  %555 = alloca i32, align 4
  %556 = alloca %struct.s2n_test_ktls_io_fail_ctx, align 8
  %557 = alloca %struct.s2n_result, align 4
  %558 = alloca i32, align 4
  %559 = alloca i32, align 4
  %560 = alloca i64, align 8
  %561 = alloca i32, align 4
  %562 = alloca i32, align 4
  %563 = alloca i32, align 4
  %564 = alloca i32, align 4
  %565 = alloca i32, align 4
  %566 = alloca %struct.s2n_result, align 4
  %567 = alloca %struct.s2n_result, align 4
  %568 = alloca [100 x i64], align 16
  %569 = alloca i64, align 8
  %570 = alloca i64, align 8
  %571 = alloca %struct.s2n_test_iovecs, align 8
  %572 = alloca %struct.s2n_result, align 4
  %573 = alloca i32, align 4
  %574 = alloca %struct.s2n_test_iovecs, align 8
  %575 = alloca %struct.s2n_result, align 4
  %576 = alloca i32, align 4
  %577 = alloca i64, align 8
  %578 = alloca i64, align 8
  %579 = alloca [9 x %struct.anon], align 16
  %580 = alloca i64, align 8
  %581 = alloca ptr, align 8
  %582 = alloca i64, align 8
  %583 = alloca i64, align 8
  %584 = alloca i64, align 8
  %585 = alloca ptr, align 8
  %586 = alloca i32, align 4
  %587 = alloca %struct.s2n_test_ktls_io_stuffer, align 8
  %588 = alloca %struct.s2n_result, align 4
  %589 = alloca i32, align 4
  %590 = alloca i32, align 4
  %591 = alloca i32, align 4
  %592 = alloca %struct.s2n_mem_test_cb_scope, align 1
  %593 = alloca %struct.s2n_result, align 4
  %594 = alloca i32, align 4
  %595 = alloca i32, align 4
  %596 = alloca i64, align 8
  %597 = alloca i32, align 4
  %598 = alloca i64, align 8
  %599 = alloca %struct.s2n_result, align 4
  %600 = alloca i32, align 4
  %601 = alloca %struct.s2n_result, align 4
  %602 = alloca i32, align 4
  %603 = alloca %struct.s2n_result, align 4
  %604 = alloca i32, align 4
  %605 = alloca %struct.s2n_result, align 4
  %606 = alloca %struct.s2n_result, align 4
  %607 = alloca %struct.s2n_result, align 4
  %608 = alloca %struct.s2n_result, align 4
  %609 = alloca %struct.s2n_result, align 4
  %610 = alloca ptr, align 8
  %611 = alloca i32, align 4
  %612 = alloca %struct.s2n_test_ktls_io_stuffer, align 8
  %613 = alloca i32, align 4
  %614 = alloca i32, align 4
  %615 = alloca i32, align 4
  %616 = alloca i32, align 4
  %617 = alloca i32, align 4
  %618 = alloca i32, align 4
  %619 = alloca %struct.s2n_test_ktls_io_stuffer, align 8
  %620 = alloca %struct.s2n_result, align 4
  %621 = alloca i32, align 4
  %622 = alloca i32, align 4
  %623 = alloca i32, align 4
  %624 = alloca %struct.s2n_result, align 4
  %625 = alloca i32, align 4
  %626 = alloca %struct.s2n_result, align 4
  %627 = alloca i32, align 4
  %628 = alloca %struct.s2n_result, align 4
  %629 = alloca %struct.s2n_test_ktls_io_fail_ctx, align 8
  %630 = alloca %struct.s2n_result, align 4
  %631 = alloca i32, align 4
  %632 = alloca i32, align 4
  %633 = alloca i32, align 4
  %634 = alloca i32, align 4
  %635 = alloca i32, align 4
  %636 = alloca i32, align 4
  %637 = alloca i32, align 4
  %638 = alloca i32, align 4
  %639 = alloca i32, align 4
  %640 = alloca i32, align 4
  %641 = alloca i32, align 4
  %642 = alloca i32, align 4
  %643 = alloca i32, align 4
  %644 = alloca %struct.s2n_result, align 4
  %645 = alloca i64, align 8
  %646 = alloca ptr, align 8
  %647 = alloca i32, align 4
  %648 = alloca %struct.iovec, align 8
  %649 = alloca i32, align 4
  %650 = alloca i32, align 4
  %651 = alloca i32, align 4
  %652 = alloca i32, align 4
  %653 = alloca i32, align 4
  %654 = alloca i32, align 4
  %655 = alloca i32, align 4
  %656 = alloca i32, align 4
  %657 = alloca i32, align 4
  %658 = alloca %struct.s2n_result, align 4
  %659 = alloca ptr, align 8
  %660 = alloca i32, align 4
  %661 = alloca %struct.iovec, align 8
  %662 = alloca i32, align 4
  %663 = alloca i32, align 4
  %664 = alloca i32, align 4
  %665 = alloca ptr, align 8
  %666 = alloca i32, align 4
  %667 = alloca %struct.s2n_result, align 4
  %668 = alloca ptr, align 8
  %669 = alloca i32, align 4
  %670 = alloca %struct.iovec, align 8
  %671 = alloca i32, align 4
  %672 = alloca i32, align 4
  %673 = alloca i32, align 4
  %674 = alloca %struct.s2n_result, align 4
  %675 = alloca %struct.iovec, align 8
  %676 = alloca i32, align 4
  %677 = alloca i64, align 8
  %678 = alloca ptr, align 8
  %679 = alloca i32, align 4
  %680 = alloca i8, align 1
  %681 = alloca i32, align 4
  %682 = alloca i32, align 4
  %683 = alloca i32, align 4
  %684 = alloca i32, align 4
  %685 = alloca i32, align 4
  %686 = alloca i32, align 4
  %687 = alloca %struct.s2n_result, align 4
  %688 = alloca ptr, align 8
  %689 = alloca i32, align 4
  %690 = alloca %struct.s2n_test_ktls_io_stuffer_pair, align 8
  %691 = alloca %struct.s2n_result, align 4
  %692 = alloca i32, align 4
  %693 = alloca ptr, align 8
  %694 = alloca i64, align 8
  %695 = alloca %struct.s2n_result, align 4
  %696 = alloca i32, align 4
  %697 = alloca i32, align 4
  %698 = alloca i8, align 1
  %699 = alloca i32, align 4
  %700 = alloca i32, align 4
  %701 = alloca i32, align 4
  %702 = alloca i32, align 4
  %703 = alloca i32, align 4
  %704 = alloca ptr, align 8
  %705 = alloca i32, align 4
  %706 = alloca %struct.s2n_result, align 4
  %707 = alloca %struct.s2n_result, align 4
  %708 = alloca i64, align 8
  %709 = alloca %struct.iovec, align 8
  %710 = alloca ptr, align 8
  %711 = alloca i32, align 4
  %712 = alloca %struct.s2n_test_ktls_io_stuffer_pair, align 8
  %713 = alloca %struct.s2n_result, align 4
  %714 = alloca i32, align 4
  %715 = alloca ptr, align 8
  %716 = alloca i64, align 8
  %717 = alloca %struct.s2n_result, align 4
  %718 = alloca i32, align 4
  %719 = alloca i32, align 4
  %720 = alloca i8, align 1
  %721 = alloca i32, align 4
  %722 = alloca i32, align 4
  %723 = alloca i32, align 4
  %724 = alloca i32, align 4
  %725 = alloca i32, align 4
  %726 = alloca ptr, align 8
  %727 = alloca i32, align 4
  %728 = alloca %struct.s2n_result, align 4
  %729 = alloca %struct.s2n_result, align 4
  %730 = alloca ptr, align 8
  %731 = alloca i32, align 4
  %732 = alloca %struct.s2n_test_ktls_io_stuffer_pair, align 8
  %733 = alloca %struct.s2n_result, align 4
  %734 = alloca i32, align 4
  %735 = alloca ptr, align 8
  %736 = alloca i64, align 8
  %737 = alloca i32, align 4
  %738 = alloca i32, align 4
  %739 = alloca i64, align 8
  %740 = alloca %struct.iovec, align 8
  %741 = alloca %struct.s2n_result, align 4
  %742 = alloca i32, align 4
  %743 = alloca i32, align 4
  %744 = alloca i8, align 1
  %745 = alloca ptr, align 8
  %746 = alloca i32, align 4
  %747 = alloca i32, align 4
  %748 = alloca i32, align 4
  %749 = alloca i32, align 4
  %750 = alloca i32, align 4
  %751 = alloca i32, align 4
  %752 = alloca i32, align 4
  %753 = alloca i32, align 4
  %754 = alloca i32, align 4
  %755 = alloca %struct.s2n_result, align 4
  %756 = alloca %struct.s2n_result, align 4
  %757 = alloca i64, align 8
  %758 = alloca %struct.iovec, align 8
  %759 = alloca ptr, align 8
  %760 = alloca i32, align 4
  %761 = alloca %struct.s2n_test_ktls_io_stuffer_pair, align 8
  %762 = alloca %struct.s2n_result, align 4
  %763 = alloca i32, align 4
  %764 = alloca ptr, align 8
  %765 = alloca i64, align 8
  %766 = alloca i64, align 8
  %767 = alloca %struct.s2n_result, align 4
  %768 = alloca i32, align 4
  %769 = alloca i32, align 4
  %770 = alloca i8, align 1
  %771 = alloca i32, align 4
  %772 = alloca i32, align 4
  %773 = alloca i32, align 4
  %774 = alloca ptr, align 8
  %775 = alloca i32, align 4
  %776 = alloca %struct.s2n_result, align 4
  %777 = alloca i32, align 4
  %778 = alloca i64, align 8
  %779 = alloca i32, align 4
  %780 = alloca %struct.s2n_result, align 4
  %781 = alloca %struct.s2n_result, align 4
  %782 = alloca [163840 x i8], align 16
  %783 = alloca i64, align 8
  %784 = alloca i64, align 8
  %785 = alloca %struct.s2n_record_algorithm, align 8
  %786 = alloca %struct.s2n_cipher_suite, align 8
  %787 = alloca i32, align 4
  %788 = alloca i32, align 4
  %789 = alloca ptr, align 8
  %790 = alloca i32, align 4
  %791 = alloca %struct.s2n_result, align 4
  %792 = alloca i32, align 4
  %793 = alloca i32, align 4
  %794 = alloca i32, align 4
  %795 = alloca %struct.s2n_blob, align 8
  %796 = alloca %struct.s2n_result, align 4
  %797 = alloca i32, align 4
  %798 = alloca i64, align 8
  %799 = alloca %struct.s2n_result, align 4
  %800 = alloca i32, align 4
  %801 = alloca i32, align 4
  %802 = alloca %struct.s2n_result, align 4
  %803 = alloca i32, align 4
  %804 = alloca i32, align 4
  %805 = alloca %struct.s2n_result, align 4
  %806 = alloca i32, align 4
  %807 = alloca i32, align 4
  %808 = alloca %struct.s2n_result, align 4
  %809 = alloca i32, align 4
  %810 = alloca i32, align 4
  %811 = alloca %struct.s2n_result, align 4
  %812 = alloca i32, align 4
  %813 = alloca i32, align 4
  %814 = alloca i32, align 4
  %815 = alloca i32, align 4
  %816 = alloca %struct.s2n_result, align 4
  %817 = alloca i32, align 4
  %818 = alloca %struct.s2n_blob, align 8
  %819 = alloca %struct.s2n_result, align 4
  %820 = alloca i32, align 4
  %821 = alloca i64, align 8
  %822 = alloca i32, align 4
  %823 = alloca %struct.s2n_result, align 4
  %824 = alloca i32, align 4
  %825 = alloca i32, align 4
  %826 = alloca i32, align 4
  %827 = alloca i32, align 4
  %828 = alloca %struct.s2n_result, align 4
  %829 = alloca i32, align 4
  %830 = alloca %struct.s2n_blob, align 8
  %831 = alloca %struct.s2n_result, align 4
  %832 = alloca i32, align 4
  %833 = alloca i32, align 4
  %834 = alloca %struct.s2n_result, align 4
  %835 = alloca i32, align 4
  %836 = alloca i32, align 4
  %837 = alloca %struct.s2n_result, align 4
  %838 = alloca i32, align 4
  %839 = alloca i32, align 4
  %840 = alloca i32, align 4
  %841 = alloca i32, align 4
  %842 = alloca i32, align 4
  %843 = alloca %struct.s2n_result, align 4
  %844 = alloca i32, align 4
  %845 = alloca i32, align 4
  store i32 0, ptr %3, align 4
  store i32 %0, ptr %4, align 4, !tbaa !5
  store ptr %1, ptr %5, align 8, !tbaa !9
  br label %846

846:                                              ; preds = %2
  br label %847

847:                                              ; preds = %846
  store i32 0, ptr @test_count, align 4, !tbaa !5
  %848 = load ptr, ptr @stdout, align 8, !tbaa !9
  %849 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %848, ptr noundef @.str.1, ptr noundef @.str.2) #11
  %850 = load ptr, ptr @stdout, align 8, !tbaa !9
  %851 = call i32 @fflush(ptr noundef %850)
  br label %852

852:                                              ; preds = %847
  %853 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext true)
  %854 = icmp eq i32 %853, -1
  br i1 %854, label %855, label %906

855:                                              ; preds = %852
  br label %856

856:                                              ; preds = %855
  br label %857

857:                                              ; preds = %856
  call void @llvm.lifetime.start.p0(i64 4, ptr %6) #11
  %858 = call ptr @__errno_location() #12
  %859 = load i32, ptr %858, align 4, !tbaa !5
  store i32 %859, ptr %6, align 4, !tbaa !5
  %860 = load ptr, ptr @stderr, align 8, !tbaa !9
  %861 = call i32 @s2n_print_stacktrace(ptr noundef %860)
  %862 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %863 = trunc i8 %862 to i1
  br i1 %863, label %864, label %886

864:                                              ; preds = %857
  %865 = load ptr, ptr @stderr, align 8, !tbaa !9
  %866 = call i32 @fileno(ptr noundef %865) #11
  %867 = call i32 @isatty(i32 noundef %866) #11
  %868 = icmp ne i32 %867, 0
  br i1 %868, label %869, label %886

869:                                              ; preds = %864
  %870 = load i32, ptr %6, align 4, !tbaa !5
  %871 = call ptr @__errno_location() #12
  store i32 %870, ptr %871, align 4, !tbaa !5
  %872 = load ptr, ptr @stderr, align 8, !tbaa !9
  %873 = load i32, ptr @test_count, align 4, !tbaa !5
  %874 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %875 = load i32, ptr %874, align 4, !tbaa !5
  %876 = call ptr @s2n_strerror(i32 noundef %875, ptr noundef @.str.5)
  %877 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %878 = load i32, ptr %877, align 4, !tbaa !5
  %879 = call ptr @s2n_strerror_debug(i32 noundef %878, ptr noundef @.str.5)
  %880 = call ptr @__errno_location() #12
  %881 = load i32, ptr %880, align 4, !tbaa !5
  %882 = call ptr @strerror(i32 noundef %881) #11
  %883 = call ptr @__errno_location() #12
  %884 = load i32, ptr %883, align 4, !tbaa !5
  %885 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %872, ptr noundef @.str.3, i32 noundef %873, ptr noundef @.str.4, ptr noundef @.str.2, i32 noundef 97, ptr noundef %876, ptr noundef %879, ptr noundef %882, i32 noundef %884) #11
  br label %903

886:                                              ; preds = %864, %857
  %887 = load i32, ptr %6, align 4, !tbaa !5
  %888 = call ptr @__errno_location() #12
  store i32 %887, ptr %888, align 4, !tbaa !5
  %889 = load ptr, ptr @stderr, align 8, !tbaa !9
  %890 = load i32, ptr @test_count, align 4, !tbaa !5
  %891 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %892 = load i32, ptr %891, align 4, !tbaa !5
  %893 = call ptr @s2n_strerror(i32 noundef %892, ptr noundef @.str.5)
  %894 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %895 = load i32, ptr %894, align 4, !tbaa !5
  %896 = call ptr @s2n_strerror_debug(i32 noundef %895, ptr noundef @.str.5)
  %897 = call ptr @__errno_location() #12
  %898 = load i32, ptr %897, align 4, !tbaa !5
  %899 = call ptr @strerror(i32 noundef %898) #11
  %900 = call ptr @__errno_location() #12
  %901 = load i32, ptr %900, align 4, !tbaa !5
  %902 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %889, ptr noundef @.str.6, i32 noundef %890, ptr noundef @.str.4, ptr noundef @.str.2, i32 noundef 97, ptr noundef %893, ptr noundef %896, ptr noundef %899, i32 noundef %901) #11
  br label %903

903:                                              ; preds = %886, %869
  call void @llvm.lifetime.end.p0(i64 4, ptr %6) #11
  br label %904

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

905:                                              ; No predecessors!
  br label %906

906:                                              ; preds = %905, %852
  br label %907

907:                                              ; preds = %906
  br label %908

908:                                              ; preds = %907
  %909 = load i32, ptr @test_count, align 4, !tbaa !5
  %910 = add nsw i32 %909, 1
  store i32 %910, ptr @test_count, align 4, !tbaa !5
  %911 = call i32 @s2n_enable_atexit()
  %912 = icmp eq i32 %911, -1
  br i1 %912, label %913, label %964

913:                                              ; preds = %908
  br label %914

914:                                              ; preds = %913
  br label %915

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

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

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

944:                                              ; preds = %922, %915
  %945 = load i32, ptr %7, align 4, !tbaa !5
  %946 = call ptr @__errno_location() #12
  store i32 %945, ptr %946, align 4, !tbaa !5
  %947 = load ptr, ptr @stderr, align 8, !tbaa !9
  %948 = load i32, ptr @test_count, align 4, !tbaa !5
  %949 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %950 = load i32, ptr %949, align 4, !tbaa !5
  %951 = call ptr @s2n_strerror(i32 noundef %950, ptr noundef @.str.5)
  %952 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %953 = load i32, ptr %952, align 4, !tbaa !5
  %954 = call ptr @s2n_strerror_debug(i32 noundef %953, ptr noundef @.str.5)
  %955 = call ptr @__errno_location() #12
  %956 = load i32, ptr %955, align 4, !tbaa !5
  %957 = call ptr @strerror(i32 noundef %956) #11
  %958 = call ptr @__errno_location() #12
  %959 = load i32, ptr %958, align 4, !tbaa !5
  %960 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %947, ptr noundef @.str.6, i32 noundef %948, ptr noundef @.str.7, ptr noundef @.str.2, i32 noundef 97, ptr noundef %951, ptr noundef %954, ptr noundef %957, i32 noundef %959) #11
  br label %961

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

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

963:                                              ; No predecessors!
  br label %964

964:                                              ; preds = %963, %908
  br label %965

965:                                              ; preds = %964
  br label %966

966:                                              ; preds = %965
  br label %967

967:                                              ; preds = %966
  %968 = call i32 @s2n_init()
  %969 = icmp eq i32 %968, -1
  br i1 %969, label %970, label %1021

970:                                              ; preds = %967
  br label %971

971:                                              ; preds = %970
  br label %972

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

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

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

1001:                                             ; preds = %979, %972
  %1002 = load i32, ptr %8, align 4, !tbaa !5
  %1003 = call ptr @__errno_location() #12
  store i32 %1002, ptr %1003, align 4, !tbaa !5
  %1004 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1005 = load i32, ptr @test_count, align 4, !tbaa !5
  %1006 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1007 = load i32, ptr %1006, align 4, !tbaa !5
  %1008 = call ptr @s2n_strerror(i32 noundef %1007, ptr noundef @.str.5)
  %1009 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1010 = load i32, ptr %1009, align 4, !tbaa !5
  %1011 = call ptr @s2n_strerror_debug(i32 noundef %1010, ptr noundef @.str.5)
  %1012 = call ptr @__errno_location() #12
  %1013 = load i32, ptr %1012, align 4, !tbaa !5
  %1014 = call ptr @strerror(i32 noundef %1013) #11
  %1015 = call ptr @__errno_location() #12
  %1016 = load i32, ptr %1015, align 4, !tbaa !5
  %1017 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1004, ptr noundef @.str.6, i32 noundef %1005, ptr noundef @.str.8, ptr noundef @.str.2, i32 noundef 97, ptr noundef %1008, ptr noundef %1011, ptr noundef %1014, i32 noundef %1016) #11
  br label %1018

1018:                                             ; preds = %1001, %984
  call void @llvm.lifetime.end.p0(i64 4, ptr %8) #11
  br label %1019

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

1020:                                             ; No predecessors!
  br label %1021

1021:                                             ; preds = %1020, %967
  br label %1022

1022:                                             ; preds = %1021
  br label %1023

1023:                                             ; preds = %1022
  call void @llvm.lifetime.start.p0(i64 1, ptr %9) #11
  store i8 43, ptr %9, align 1, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 16384, ptr %10) #11
  call void @llvm.memset.p0.i64(ptr align 16 %10, i8 0, i64 16384, i1 false)
  call void @llvm.lifetime.start.p0(i64 24, ptr %11) #11
  call void @llvm.memset.p0.i64(ptr align 8 %11, i8 0, i64 24, i1 false)
  br label %1024

1024:                                             ; preds = %1023
  %1025 = load i32, ptr @test_count, align 4, !tbaa !5
  %1026 = add nsw i32 %1025, 1
  store i32 %1026, ptr @test_count, align 4, !tbaa !5
  %1027 = getelementptr inbounds [16384 x i8], ptr %10, i64 0, i64 0
  %1028 = call i32 @s2n_blob_init(ptr noundef %11, ptr noundef %1027, i32 noundef 16384)
  %1029 = icmp eq i32 %1028, -1
  br i1 %1029, label %1030, label %1083

1030:                                             ; preds = %1024
  br label %1031

1031:                                             ; preds = %1030
  br label %1032

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

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

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

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

1078:                                             ; preds = %1061, %1044
  call void @llvm.lifetime.end.p0(i64 4, ptr %12) #11
  br label %1079

1079:                                             ; preds = %1078
  br label %1080

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

1081:                                             ; No predecessors!
  br label %1082

1082:                                             ; preds = %1081
  br label %1083

1083:                                             ; preds = %1082, %1024
  br label %1084

1084:                                             ; preds = %1083
  br label %1085

1085:                                             ; preds = %1084
  br label %1086

1086:                                             ; preds = %1085
  %1087 = load i32, ptr @test_count, align 4, !tbaa !5
  %1088 = add nsw i32 %1087, 1
  store i32 %1088, ptr @test_count, align 4, !tbaa !5
  %1089 = call i32 @s2n_get_public_random_data(ptr noundef %11)
  %1090 = getelementptr inbounds %struct.s2n_result, ptr %13, i32 0, i32 0
  store i32 %1089, ptr %1090, align 4
  %1091 = getelementptr inbounds %struct.s2n_result, ptr %13, i32 0, i32 0
  %1092 = load i32, ptr %1091, align 4
  %1093 = call zeroext i1 @s2n_result_is_ok(i32 %1092)
  br i1 %1093, label %1147, label %1094

1094:                                             ; preds = %1086
  br label %1095

1095:                                             ; preds = %1094
  br label %1096

1096:                                             ; preds = %1095
  call void @llvm.lifetime.start.p0(i64 4, ptr %14) #11
  %1097 = call ptr @__errno_location() #12
  %1098 = load i32, ptr %1097, align 4, !tbaa !5
  store i32 %1098, ptr %14, align 4, !tbaa !5
  %1099 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1100 = call i32 @s2n_print_stacktrace(ptr noundef %1099)
  %1101 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1102 = trunc i8 %1101 to i1
  br i1 %1102, label %1103, label %1125

1103:                                             ; preds = %1096
  %1104 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1105 = call i32 @fileno(ptr noundef %1104) #11
  %1106 = call i32 @isatty(i32 noundef %1105) #11
  %1107 = icmp ne i32 %1106, 0
  br i1 %1107, label %1108, label %1125

1108:                                             ; preds = %1103
  %1109 = load i32, ptr %14, align 4, !tbaa !5
  %1110 = call ptr @__errno_location() #12
  store i32 %1109, ptr %1110, align 4, !tbaa !5
  %1111 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1112 = load i32, ptr @test_count, align 4, !tbaa !5
  %1113 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1114 = load i32, ptr %1113, align 4, !tbaa !5
  %1115 = call ptr @s2n_strerror(i32 noundef %1114, ptr noundef @.str.5)
  %1116 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1117 = load i32, ptr %1116, align 4, !tbaa !5
  %1118 = call ptr @s2n_strerror_debug(i32 noundef %1117, ptr noundef @.str.5)
  %1119 = call ptr @__errno_location() #12
  %1120 = load i32, ptr %1119, align 4, !tbaa !5
  %1121 = call ptr @strerror(i32 noundef %1120) #11
  %1122 = call ptr @__errno_location() #12
  %1123 = load i32, ptr %1122, align 4, !tbaa !5
  %1124 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1111, ptr noundef @.str.3, i32 noundef %1112, ptr noundef @.str.10, ptr noundef @.str.2, i32 noundef 104, ptr noundef %1115, ptr noundef %1118, ptr noundef %1121, i32 noundef %1123) #11
  br label %1142

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

1142:                                             ; preds = %1125, %1108
  call void @llvm.lifetime.end.p0(i64 4, ptr %14) #11
  br label %1143

1143:                                             ; preds = %1142
  br label %1144

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

1145:                                             ; No predecessors!
  br label %1146

1146:                                             ; preds = %1145
  br label %1147

1147:                                             ; preds = %1146, %1086
  br label %1148

1148:                                             ; preds = %1147
  br label %1149

1149:                                             ; preds = %1148
  call void @llvm.lifetime.start.p0(i64 56, ptr %15) #11
  call void @llvm.memset.p0.i64(ptr align 8 %15, i8 0, i64 56, i1 false)
  call void @llvm.lifetime.start.p0(i64 100, ptr %16) #11
  call void @llvm.memset.p0.i64(ptr align 16 %16, i8 0, i64 100, i1 false)
  br label %1150

1150:                                             ; preds = %1149
  br label %1151

1151:                                             ; preds = %1150
  br label %1152

1152:                                             ; preds = %1151
  %1153 = load i32, ptr @test_count, align 4, !tbaa !5
  %1154 = add nsw i32 %1153, 1
  store i32 %1154, ptr @test_count, align 4, !tbaa !5
  %1155 = getelementptr inbounds [100 x i8], ptr %16, i64 0, i64 0
  %1156 = call i32 @s2n_ktls_set_control_data(ptr noundef null, ptr noundef %1155, i64 noundef 100, i32 noundef 0, i8 noundef zeroext 0)
  %1157 = getelementptr inbounds %struct.s2n_result, ptr %17, i32 0, i32 0
  store i32 %1156, ptr %1157, align 4
  %1158 = getelementptr inbounds %struct.s2n_result, ptr %17, i32 0, i32 0
  %1159 = load i32, ptr %1158, align 4
  %1160 = call zeroext i1 @s2n_result_is_error(i32 %1159)
  br i1 %1160, label %1214, label %1161

1161:                                             ; preds = %1152
  br label %1162

1162:                                             ; preds = %1161
  br label %1163

1163:                                             ; preds = %1162
  call void @llvm.lifetime.start.p0(i64 4, ptr %18) #11
  %1164 = call ptr @__errno_location() #12
  %1165 = load i32, ptr %1164, align 4, !tbaa !5
  store i32 %1165, ptr %18, align 4, !tbaa !5
  %1166 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1167 = call i32 @s2n_print_stacktrace(ptr noundef %1166)
  %1168 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1169 = trunc i8 %1168 to i1
  br i1 %1169, label %1170, label %1192

1170:                                             ; preds = %1163
  %1171 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1172 = call i32 @fileno(ptr noundef %1171) #11
  %1173 = call i32 @isatty(i32 noundef %1172) #11
  %1174 = icmp ne i32 %1173, 0
  br i1 %1174, label %1175, label %1192

1175:                                             ; preds = %1170
  %1176 = load i32, ptr %18, align 4, !tbaa !5
  %1177 = call ptr @__errno_location() #12
  store i32 %1176, ptr %1177, align 4, !tbaa !5
  %1178 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1179 = load i32, ptr @test_count, align 4, !tbaa !5
  %1180 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1181 = load i32, ptr %1180, align 4, !tbaa !5
  %1182 = call ptr @s2n_strerror(i32 noundef %1181, ptr noundef @.str.5)
  %1183 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1184 = load i32, ptr %1183, align 4, !tbaa !5
  %1185 = call ptr @s2n_strerror_debug(i32 noundef %1184, ptr noundef @.str.5)
  %1186 = call ptr @__errno_location() #12
  %1187 = load i32, ptr %1186, align 4, !tbaa !5
  %1188 = call ptr @strerror(i32 noundef %1187) #11
  %1189 = call ptr @__errno_location() #12
  %1190 = load i32, ptr %1189, align 4, !tbaa !5
  %1191 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1178, ptr noundef @.str.3, i32 noundef %1179, ptr noundef @.str.11, ptr noundef @.str.2, i32 noundef 113, ptr noundef %1182, ptr noundef %1185, ptr noundef %1188, i32 noundef %1190) #11
  br label %1209

1192:                                             ; preds = %1170, %1163
  %1193 = load i32, ptr %18, align 4, !tbaa !5
  %1194 = call ptr @__errno_location() #12
  store i32 %1193, ptr %1194, align 4, !tbaa !5
  %1195 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1196 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %1198, ptr noundef @.str.5)
  %1200 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1201 = load i32, ptr %1200, align 4, !tbaa !5
  %1202 = call ptr @s2n_strerror_debug(i32 noundef %1201, ptr noundef @.str.5)
  %1203 = call ptr @__errno_location() #12
  %1204 = load i32, ptr %1203, align 4, !tbaa !5
  %1205 = call ptr @strerror(i32 noundef %1204) #11
  %1206 = call ptr @__errno_location() #12
  %1207 = load i32, ptr %1206, align 4, !tbaa !5
  %1208 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1195, ptr noundef @.str.6, i32 noundef %1196, ptr noundef @.str.11, ptr noundef @.str.2, i32 noundef 113, ptr noundef %1199, ptr noundef %1202, ptr noundef %1205, i32 noundef %1207) #11
  br label %1209

1209:                                             ; preds = %1192, %1175
  call void @llvm.lifetime.end.p0(i64 4, ptr %18) #11
  br label %1210

1210:                                             ; preds = %1209
  br label %1211

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

1212:                                             ; No predecessors!
  br label %1213

1213:                                             ; preds = %1212
  br label %1214

1214:                                             ; preds = %1213, %1152
  br label %1215

1215:                                             ; preds = %1214
  br label %1216

1216:                                             ; preds = %1215
  br label %1217

1217:                                             ; preds = %1216
  %1218 = load i32, ptr @test_count, align 4, !tbaa !5
  %1219 = add nsw i32 %1218, 1
  store i32 %1219, ptr @test_count, align 4, !tbaa !5
  %1220 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1221 = load i32, ptr %1220, align 4, !tbaa !5
  %1222 = icmp eq i32 %1221, 402653193
  br i1 %1222, label %1276, label %1223

1223:                                             ; preds = %1217
  br label %1224

1224:                                             ; preds = %1223
  br label %1225

1225:                                             ; preds = %1224
  call void @llvm.lifetime.start.p0(i64 4, ptr %19) #11
  %1226 = call ptr @__errno_location() #12
  %1227 = load i32, ptr %1226, align 4, !tbaa !5
  store i32 %1227, ptr %19, align 4, !tbaa !5
  %1228 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1229 = call i32 @s2n_print_stacktrace(ptr noundef %1228)
  %1230 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1231 = trunc i8 %1230 to i1
  br i1 %1231, label %1232, label %1254

1232:                                             ; preds = %1225
  %1233 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1234 = call i32 @fileno(ptr noundef %1233) #11
  %1235 = call i32 @isatty(i32 noundef %1234) #11
  %1236 = icmp ne i32 %1235, 0
  br i1 %1236, label %1237, label %1254

1237:                                             ; preds = %1232
  %1238 = load i32, ptr %19, align 4, !tbaa !5
  %1239 = call ptr @__errno_location() #12
  store i32 %1238, ptr %1239, align 4, !tbaa !5
  %1240 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1241 = load i32, ptr @test_count, align 4, !tbaa !5
  %1242 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1243 = load i32, ptr %1242, align 4, !tbaa !5
  %1244 = call ptr @s2n_strerror(i32 noundef %1243, ptr noundef @.str.5)
  %1245 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1246 = load i32, ptr %1245, align 4, !tbaa !5
  %1247 = call ptr @s2n_strerror_debug(i32 noundef %1246, ptr noundef @.str.5)
  %1248 = call ptr @__errno_location() #12
  %1249 = load i32, ptr %1248, align 4, !tbaa !5
  %1250 = call ptr @strerror(i32 noundef %1249) #11
  %1251 = call ptr @__errno_location() #12
  %1252 = load i32, ptr %1251, align 4, !tbaa !5
  %1253 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1240, ptr noundef @.str.3, i32 noundef %1241, ptr noundef @.str.12, ptr noundef @.str.2, i32 noundef 113, ptr noundef %1244, ptr noundef %1247, ptr noundef %1250, i32 noundef %1252) #11
  br label %1271

1254:                                             ; preds = %1232, %1225
  %1255 = load i32, ptr %19, align 4, !tbaa !5
  %1256 = call ptr @__errno_location() #12
  store i32 %1255, ptr %1256, align 4, !tbaa !5
  %1257 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1258 = load i32, ptr @test_count, align 4, !tbaa !5
  %1259 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1260 = load i32, ptr %1259, align 4, !tbaa !5
  %1261 = call ptr @s2n_strerror(i32 noundef %1260, ptr noundef @.str.5)
  %1262 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1263 = load i32, ptr %1262, align 4, !tbaa !5
  %1264 = call ptr @s2n_strerror_debug(i32 noundef %1263, ptr noundef @.str.5)
  %1265 = call ptr @__errno_location() #12
  %1266 = load i32, ptr %1265, align 4, !tbaa !5
  %1267 = call ptr @strerror(i32 noundef %1266) #11
  %1268 = call ptr @__errno_location() #12
  %1269 = load i32, ptr %1268, align 4, !tbaa !5
  %1270 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1257, ptr noundef @.str.6, i32 noundef %1258, ptr noundef @.str.12, ptr noundef @.str.2, i32 noundef 113, ptr noundef %1261, ptr noundef %1264, ptr noundef %1267, i32 noundef %1269) #11
  br label %1271

1271:                                             ; preds = %1254, %1237
  call void @llvm.lifetime.end.p0(i64 4, ptr %19) #11
  br label %1272

1272:                                             ; preds = %1271
  br label %1273

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

1274:                                             ; No predecessors!
  br label %1275

1275:                                             ; preds = %1274
  br label %1276

1276:                                             ; preds = %1275, %1217
  br label %1277

1277:                                             ; preds = %1276
  br label %1278

1278:                                             ; preds = %1277
  br label %1279

1279:                                             ; preds = %1278
  %1280 = load i32, ptr @test_count, align 4, !tbaa !5
  %1281 = add nsw i32 %1280, 1
  store i32 %1281, ptr @test_count, align 4, !tbaa !5
  %1282 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1283 = load i32, ptr %1282, align 4, !tbaa !5
  %1284 = call ptr @s2n_strerror_debug(i32 noundef %1283, ptr noundef @.str.5)
  %1285 = icmp eq ptr %1284, null
  br i1 %1285, label %1286, label %1339

1286:                                             ; preds = %1279
  br label %1287

1287:                                             ; preds = %1286
  br label %1288

1288:                                             ; preds = %1287
  call void @llvm.lifetime.start.p0(i64 4, ptr %20) #11
  %1289 = call ptr @__errno_location() #12
  %1290 = load i32, ptr %1289, align 4, !tbaa !5
  store i32 %1290, ptr %20, align 4, !tbaa !5
  %1291 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1292 = call i32 @s2n_print_stacktrace(ptr noundef %1291)
  %1293 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1294 = trunc i8 %1293 to i1
  br i1 %1294, label %1295, label %1317

1295:                                             ; preds = %1288
  %1296 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1297 = call i32 @fileno(ptr noundef %1296) #11
  %1298 = call i32 @isatty(i32 noundef %1297) #11
  %1299 = icmp ne i32 %1298, 0
  br i1 %1299, label %1300, label %1317

1300:                                             ; preds = %1295
  %1301 = load i32, ptr %20, align 4, !tbaa !5
  %1302 = call ptr @__errno_location() #12
  store i32 %1301, ptr %1302, align 4, !tbaa !5
  %1303 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1304 = load i32, ptr @test_count, align 4, !tbaa !5
  %1305 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1306 = load i32, ptr %1305, align 4, !tbaa !5
  %1307 = call ptr @s2n_strerror(i32 noundef %1306, ptr noundef @.str.5)
  %1308 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1309 = load i32, ptr %1308, align 4, !tbaa !5
  %1310 = call ptr @s2n_strerror_debug(i32 noundef %1309, ptr noundef @.str.5)
  %1311 = call ptr @__errno_location() #12
  %1312 = load i32, ptr %1311, align 4, !tbaa !5
  %1313 = call ptr @strerror(i32 noundef %1312) #11
  %1314 = call ptr @__errno_location() #12
  %1315 = load i32, ptr %1314, align 4, !tbaa !5
  %1316 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1303, ptr noundef @.str.3, i32 noundef %1304, ptr noundef @.str.13, ptr noundef @.str.2, i32 noundef 113, ptr noundef %1307, ptr noundef %1310, ptr noundef %1313, i32 noundef %1315) #11
  br label %1334

1317:                                             ; preds = %1295, %1288
  %1318 = load i32, ptr %20, align 4, !tbaa !5
  %1319 = call ptr @__errno_location() #12
  store i32 %1318, ptr %1319, align 4, !tbaa !5
  %1320 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1321 = load i32, ptr @test_count, align 4, !tbaa !5
  %1322 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1323 = load i32, ptr %1322, align 4, !tbaa !5
  %1324 = call ptr @s2n_strerror(i32 noundef %1323, ptr noundef @.str.5)
  %1325 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1326 = load i32, ptr %1325, align 4, !tbaa !5
  %1327 = call ptr @s2n_strerror_debug(i32 noundef %1326, ptr noundef @.str.5)
  %1328 = call ptr @__errno_location() #12
  %1329 = load i32, ptr %1328, align 4, !tbaa !5
  %1330 = call ptr @strerror(i32 noundef %1329) #11
  %1331 = call ptr @__errno_location() #12
  %1332 = load i32, ptr %1331, align 4, !tbaa !5
  %1333 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1320, ptr noundef @.str.6, i32 noundef %1321, ptr noundef @.str.13, ptr noundef @.str.2, i32 noundef 113, ptr noundef %1324, ptr noundef %1327, ptr noundef %1330, i32 noundef %1332) #11
  br label %1334

1334:                                             ; preds = %1317, %1300
  call void @llvm.lifetime.end.p0(i64 4, ptr %20) #11
  br label %1335

1335:                                             ; preds = %1334
  br label %1336

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

1337:                                             ; No predecessors!
  br label %1338

1338:                                             ; preds = %1337
  br label %1339

1339:                                             ; preds = %1338, %1279
  br label %1340

1340:                                             ; preds = %1339
  br label %1341

1341:                                             ; preds = %1340
  br label %1342

1342:                                             ; preds = %1341
  br label %1343

1343:                                             ; preds = %1342
  br label %1344

1344:                                             ; preds = %1343
  %1345 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %1345, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %1346 = call ptr @__errno_location() #12
  store i32 0, ptr %1346, align 4, !tbaa !5
  br label %1347

1347:                                             ; preds = %1344
  br label %1348

1348:                                             ; preds = %1347
  br label %1349

1349:                                             ; preds = %1348
  br label %1350

1350:                                             ; preds = %1349
  br label %1351

1351:                                             ; preds = %1350
  br label %1352

1352:                                             ; preds = %1351
  br label %1353

1353:                                             ; preds = %1352
  %1354 = load i32, ptr @test_count, align 4, !tbaa !5
  %1355 = add nsw i32 %1354, 1
  store i32 %1355, ptr @test_count, align 4, !tbaa !5
  %1356 = call i32 @s2n_ktls_set_control_data(ptr noundef %15, ptr noundef null, i64 noundef 100, i32 noundef 0, i8 noundef zeroext 0)
  %1357 = getelementptr inbounds %struct.s2n_result, ptr %21, i32 0, i32 0
  store i32 %1356, ptr %1357, align 4
  %1358 = getelementptr inbounds %struct.s2n_result, ptr %21, i32 0, i32 0
  %1359 = load i32, ptr %1358, align 4
  %1360 = call zeroext i1 @s2n_result_is_error(i32 %1359)
  br i1 %1360, label %1414, label %1361

1361:                                             ; preds = %1353
  br label %1362

1362:                                             ; preds = %1361
  br label %1363

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

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

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

1392:                                             ; preds = %1370, %1363
  %1393 = load i32, ptr %22, align 4, !tbaa !5
  %1394 = call ptr @__errno_location() #12
  store i32 %1393, ptr %1394, align 4, !tbaa !5
  %1395 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1396 = load i32, ptr @test_count, align 4, !tbaa !5
  %1397 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1398 = load i32, ptr %1397, align 4, !tbaa !5
  %1399 = call ptr @s2n_strerror(i32 noundef %1398, ptr noundef @.str.5)
  %1400 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1401 = load i32, ptr %1400, align 4, !tbaa !5
  %1402 = call ptr @s2n_strerror_debug(i32 noundef %1401, ptr noundef @.str.5)
  %1403 = call ptr @__errno_location() #12
  %1404 = load i32, ptr %1403, align 4, !tbaa !5
  %1405 = call ptr @strerror(i32 noundef %1404) #11
  %1406 = call ptr @__errno_location() #12
  %1407 = load i32, ptr %1406, align 4, !tbaa !5
  %1408 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1395, ptr noundef @.str.6, i32 noundef %1396, ptr noundef @.str.14, ptr noundef @.str.2, i32 noundef 115, ptr noundef %1399, ptr noundef %1402, ptr noundef %1405, i32 noundef %1407) #11
  br label %1409

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

1410:                                             ; preds = %1409
  br label %1411

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

1412:                                             ; No predecessors!
  br label %1413

1413:                                             ; preds = %1412
  br label %1414

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

1415:                                             ; preds = %1414
  br label %1416

1416:                                             ; preds = %1415
  br label %1417

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

1423:                                             ; preds = %1417
  br label %1424

1424:                                             ; preds = %1423
  br label %1425

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

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

1437:                                             ; preds = %1432
  %1438 = load i32, ptr %23, align 4, !tbaa !5
  %1439 = call ptr @__errno_location() #12
  store i32 %1438, ptr %1439, align 4, !tbaa !5
  %1440 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1441 = load i32, ptr @test_count, align 4, !tbaa !5
  %1442 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1443 = load i32, ptr %1442, align 4, !tbaa !5
  %1444 = call ptr @s2n_strerror(i32 noundef %1443, ptr noundef @.str.5)
  %1445 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1446 = load i32, ptr %1445, align 4, !tbaa !5
  %1447 = call ptr @s2n_strerror_debug(i32 noundef %1446, ptr noundef @.str.5)
  %1448 = call ptr @__errno_location() #12
  %1449 = load i32, ptr %1448, align 4, !tbaa !5
  %1450 = call ptr @strerror(i32 noundef %1449) #11
  %1451 = call ptr @__errno_location() #12
  %1452 = load i32, ptr %1451, align 4, !tbaa !5
  %1453 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1440, ptr noundef @.str.3, i32 noundef %1441, ptr noundef @.str.12, ptr noundef @.str.2, i32 noundef 115, ptr noundef %1444, ptr noundef %1447, ptr noundef %1450, i32 noundef %1452) #11
  br label %1471

1454:                                             ; preds = %1432, %1425
  %1455 = load i32, ptr %23, align 4, !tbaa !5
  %1456 = call ptr @__errno_location() #12
  store i32 %1455, ptr %1456, align 4, !tbaa !5
  %1457 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1458 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %1460, ptr noundef @.str.5)
  %1462 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1463 = load i32, ptr %1462, align 4, !tbaa !5
  %1464 = call ptr @s2n_strerror_debug(i32 noundef %1463, ptr noundef @.str.5)
  %1465 = call ptr @__errno_location() #12
  %1466 = load i32, ptr %1465, align 4, !tbaa !5
  %1467 = call ptr @strerror(i32 noundef %1466) #11
  %1468 = call ptr @__errno_location() #12
  %1469 = load i32, ptr %1468, align 4, !tbaa !5
  %1470 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1457, ptr noundef @.str.6, i32 noundef %1458, ptr noundef @.str.12, ptr noundef @.str.2, i32 noundef 115, ptr noundef %1461, ptr noundef %1464, ptr noundef %1467, i32 noundef %1469) #11
  br label %1471

1471:                                             ; preds = %1454, %1437
  call void @llvm.lifetime.end.p0(i64 4, ptr %23) #11
  br label %1472

1472:                                             ; preds = %1471
  br label %1473

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

1474:                                             ; No predecessors!
  br label %1475

1475:                                             ; preds = %1474
  br label %1476

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

1477:                                             ; preds = %1476
  br label %1478

1478:                                             ; preds = %1477
  br label %1479

1479:                                             ; preds = %1478
  %1480 = load i32, ptr @test_count, align 4, !tbaa !5
  %1481 = add nsw i32 %1480, 1
  store i32 %1481, ptr @test_count, align 4, !tbaa !5
  %1482 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1483 = load i32, ptr %1482, align 4, !tbaa !5
  %1484 = call ptr @s2n_strerror_debug(i32 noundef %1483, ptr noundef @.str.5)
  %1485 = icmp eq ptr %1484, null
  br i1 %1485, label %1486, label %1539

1486:                                             ; preds = %1479
  br label %1487

1487:                                             ; preds = %1486
  br label %1488

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

1495:                                             ; preds = %1488
  %1496 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1497 = call i32 @fileno(ptr noundef %1496) #11
  %1498 = call i32 @isatty(i32 noundef %1497) #11
  %1499 = icmp ne i32 %1498, 0
  br i1 %1499, label %1500, label %1517

1500:                                             ; preds = %1495
  %1501 = load i32, ptr %24, align 4, !tbaa !5
  %1502 = call ptr @__errno_location() #12
  store i32 %1501, ptr %1502, align 4, !tbaa !5
  %1503 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1504 = load i32, ptr @test_count, align 4, !tbaa !5
  %1505 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1506 = load i32, ptr %1505, align 4, !tbaa !5
  %1507 = call ptr @s2n_strerror(i32 noundef %1506, ptr noundef @.str.5)
  %1508 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1509 = load i32, ptr %1508, align 4, !tbaa !5
  %1510 = call ptr @s2n_strerror_debug(i32 noundef %1509, ptr noundef @.str.5)
  %1511 = call ptr @__errno_location() #12
  %1512 = load i32, ptr %1511, align 4, !tbaa !5
  %1513 = call ptr @strerror(i32 noundef %1512) #11
  %1514 = call ptr @__errno_location() #12
  %1515 = load i32, ptr %1514, align 4, !tbaa !5
  %1516 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1503, ptr noundef @.str.3, i32 noundef %1504, ptr noundef @.str.13, ptr noundef @.str.2, i32 noundef 115, ptr noundef %1507, ptr noundef %1510, ptr noundef %1513, i32 noundef %1515) #11
  br label %1534

1517:                                             ; preds = %1495, %1488
  %1518 = load i32, ptr %24, align 4, !tbaa !5
  %1519 = call ptr @__errno_location() #12
  store i32 %1518, ptr %1519, align 4, !tbaa !5
  %1520 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1521 = load i32, ptr @test_count, align 4, !tbaa !5
  %1522 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1523 = load i32, ptr %1522, align 4, !tbaa !5
  %1524 = call ptr @s2n_strerror(i32 noundef %1523, ptr noundef @.str.5)
  %1525 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1526 = load i32, ptr %1525, align 4, !tbaa !5
  %1527 = call ptr @s2n_strerror_debug(i32 noundef %1526, ptr noundef @.str.5)
  %1528 = call ptr @__errno_location() #12
  %1529 = load i32, ptr %1528, align 4, !tbaa !5
  %1530 = call ptr @strerror(i32 noundef %1529) #11
  %1531 = call ptr @__errno_location() #12
  %1532 = load i32, ptr %1531, align 4, !tbaa !5
  %1533 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1520, ptr noundef @.str.6, i32 noundef %1521, ptr noundef @.str.13, ptr noundef @.str.2, i32 noundef 115, ptr noundef %1524, ptr noundef %1527, ptr noundef %1530, i32 noundef %1532) #11
  br label %1534

1534:                                             ; preds = %1517, %1500
  call void @llvm.lifetime.end.p0(i64 4, ptr %24) #11
  br label %1535

1535:                                             ; preds = %1534
  br label %1536

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

1537:                                             ; No predecessors!
  br label %1538

1538:                                             ; preds = %1537
  br label %1539

1539:                                             ; preds = %1538, %1479
  br label %1540

1540:                                             ; preds = %1539
  br label %1541

1541:                                             ; preds = %1540
  br label %1542

1542:                                             ; preds = %1541
  br label %1543

1543:                                             ; preds = %1542
  br label %1544

1544:                                             ; preds = %1543
  %1545 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %1545, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %1546 = call ptr @__errno_location() #12
  store i32 0, ptr %1546, align 4, !tbaa !5
  br label %1547

1547:                                             ; preds = %1544
  br label %1548

1548:                                             ; preds = %1547
  br label %1549

1549:                                             ; preds = %1548
  br label %1550

1550:                                             ; preds = %1549
  br label %1551

1551:                                             ; preds = %1550
  br label %1552

1552:                                             ; preds = %1551
  br label %1553

1553:                                             ; preds = %1552
  %1554 = load i32, ptr @test_count, align 4, !tbaa !5
  %1555 = add nsw i32 %1554, 1
  store i32 %1555, ptr @test_count, align 4, !tbaa !5
  %1556 = getelementptr inbounds [100 x i8], ptr %16, i64 0, i64 0
  %1557 = call i32 @s2n_ktls_set_control_data(ptr noundef %15, ptr noundef %1556, i64 noundef 0, i32 noundef 0, i8 noundef zeroext 0)
  %1558 = getelementptr inbounds %struct.s2n_result, ptr %25, i32 0, i32 0
  store i32 %1557, ptr %1558, align 4
  %1559 = getelementptr inbounds %struct.s2n_result, ptr %25, i32 0, i32 0
  %1560 = load i32, ptr %1559, align 4
  %1561 = call zeroext i1 @s2n_result_is_error(i32 %1560)
  br i1 %1561, label %1615, label %1562

1562:                                             ; preds = %1553
  br label %1563

1563:                                             ; preds = %1562
  br label %1564

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

1571:                                             ; preds = %1564
  %1572 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1573 = call i32 @fileno(ptr noundef %1572) #11
  %1574 = call i32 @isatty(i32 noundef %1573) #11
  %1575 = icmp ne i32 %1574, 0
  br i1 %1575, label %1576, label %1593

1576:                                             ; preds = %1571
  %1577 = load i32, ptr %26, align 4, !tbaa !5
  %1578 = call ptr @__errno_location() #12
  store i32 %1577, ptr %1578, align 4, !tbaa !5
  %1579 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1580 = load i32, ptr @test_count, align 4, !tbaa !5
  %1581 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1582 = load i32, ptr %1581, align 4, !tbaa !5
  %1583 = call ptr @s2n_strerror(i32 noundef %1582, ptr noundef @.str.5)
  %1584 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1585 = load i32, ptr %1584, align 4, !tbaa !5
  %1586 = call ptr @s2n_strerror_debug(i32 noundef %1585, ptr noundef @.str.5)
  %1587 = call ptr @__errno_location() #12
  %1588 = load i32, ptr %1587, align 4, !tbaa !5
  %1589 = call ptr @strerror(i32 noundef %1588) #11
  %1590 = call ptr @__errno_location() #12
  %1591 = load i32, ptr %1590, align 4, !tbaa !5
  %1592 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1579, ptr noundef @.str.3, i32 noundef %1580, ptr noundef @.str.15, ptr noundef @.str.2, i32 noundef 117, ptr noundef %1583, ptr noundef %1586, ptr noundef %1589, i32 noundef %1591) #11
  br label %1610

1593:                                             ; preds = %1571, %1564
  %1594 = load i32, ptr %26, align 4, !tbaa !5
  %1595 = call ptr @__errno_location() #12
  store i32 %1594, ptr %1595, align 4, !tbaa !5
  %1596 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1597 = load i32, ptr @test_count, align 4, !tbaa !5
  %1598 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1599 = load i32, ptr %1598, align 4, !tbaa !5
  %1600 = call ptr @s2n_strerror(i32 noundef %1599, ptr noundef @.str.5)
  %1601 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1602 = load i32, ptr %1601, align 4, !tbaa !5
  %1603 = call ptr @s2n_strerror_debug(i32 noundef %1602, ptr noundef @.str.5)
  %1604 = call ptr @__errno_location() #12
  %1605 = load i32, ptr %1604, align 4, !tbaa !5
  %1606 = call ptr @strerror(i32 noundef %1605) #11
  %1607 = call ptr @__errno_location() #12
  %1608 = load i32, ptr %1607, align 4, !tbaa !5
  %1609 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1596, ptr noundef @.str.6, i32 noundef %1597, ptr noundef @.str.15, ptr noundef @.str.2, i32 noundef 117, ptr noundef %1600, ptr noundef %1603, ptr noundef %1606, i32 noundef %1608) #11
  br label %1610

1610:                                             ; preds = %1593, %1576
  call void @llvm.lifetime.end.p0(i64 4, ptr %26) #11
  br label %1611

1611:                                             ; preds = %1610
  br label %1612

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

1613:                                             ; No predecessors!
  br label %1614

1614:                                             ; preds = %1613
  br label %1615

1615:                                             ; preds = %1614, %1553
  br label %1616

1616:                                             ; preds = %1615
  br label %1617

1617:                                             ; preds = %1616
  br label %1618

1618:                                             ; preds = %1617
  %1619 = load i32, ptr @test_count, align 4, !tbaa !5
  %1620 = add nsw i32 %1619, 1
  store i32 %1620, ptr @test_count, align 4, !tbaa !5
  %1621 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1622 = load i32, ptr %1621, align 4, !tbaa !5
  %1623 = icmp eq i32 %1622, 402653193
  br i1 %1623, label %1677, label %1624

1624:                                             ; preds = %1618
  br label %1625

1625:                                             ; preds = %1624
  br label %1626

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

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

1638:                                             ; preds = %1633
  %1639 = load i32, ptr %27, align 4, !tbaa !5
  %1640 = call ptr @__errno_location() #12
  store i32 %1639, ptr %1640, align 4, !tbaa !5
  %1641 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1642 = load i32, ptr @test_count, align 4, !tbaa !5
  %1643 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1644 = load i32, ptr %1643, align 4, !tbaa !5
  %1645 = call ptr @s2n_strerror(i32 noundef %1644, ptr noundef @.str.5)
  %1646 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1647 = load i32, ptr %1646, align 4, !tbaa !5
  %1648 = call ptr @s2n_strerror_debug(i32 noundef %1647, ptr noundef @.str.5)
  %1649 = call ptr @__errno_location() #12
  %1650 = load i32, ptr %1649, align 4, !tbaa !5
  %1651 = call ptr @strerror(i32 noundef %1650) #11
  %1652 = call ptr @__errno_location() #12
  %1653 = load i32, ptr %1652, align 4, !tbaa !5
  %1654 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1641, ptr noundef @.str.3, i32 noundef %1642, ptr noundef @.str.12, ptr noundef @.str.2, i32 noundef 117, ptr noundef %1645, ptr noundef %1648, ptr noundef %1651, i32 noundef %1653) #11
  br label %1672

1655:                                             ; preds = %1633, %1626
  %1656 = load i32, ptr %27, align 4, !tbaa !5
  %1657 = call ptr @__errno_location() #12
  store i32 %1656, ptr %1657, align 4, !tbaa !5
  %1658 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1659 = load i32, ptr @test_count, align 4, !tbaa !5
  %1660 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1661 = load i32, ptr %1660, align 4, !tbaa !5
  %1662 = call ptr @s2n_strerror(i32 noundef %1661, ptr noundef @.str.5)
  %1663 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1664 = load i32, ptr %1663, align 4, !tbaa !5
  %1665 = call ptr @s2n_strerror_debug(i32 noundef %1664, ptr noundef @.str.5)
  %1666 = call ptr @__errno_location() #12
  %1667 = load i32, ptr %1666, align 4, !tbaa !5
  %1668 = call ptr @strerror(i32 noundef %1667) #11
  %1669 = call ptr @__errno_location() #12
  %1670 = load i32, ptr %1669, align 4, !tbaa !5
  %1671 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1658, ptr noundef @.str.6, i32 noundef %1659, ptr noundef @.str.12, ptr noundef @.str.2, i32 noundef 117, ptr noundef %1662, ptr noundef %1665, ptr noundef %1668, i32 noundef %1670) #11
  br label %1672

1672:                                             ; preds = %1655, %1638
  call void @llvm.lifetime.end.p0(i64 4, ptr %27) #11
  br label %1673

1673:                                             ; preds = %1672
  br label %1674

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

1675:                                             ; No predecessors!
  br label %1676

1676:                                             ; preds = %1675
  br label %1677

1677:                                             ; preds = %1676, %1618
  br label %1678

1678:                                             ; preds = %1677
  br label %1679

1679:                                             ; preds = %1678
  br label %1680

1680:                                             ; preds = %1679
  %1681 = load i32, ptr @test_count, align 4, !tbaa !5
  %1682 = add nsw i32 %1681, 1
  store i32 %1682, ptr @test_count, align 4, !tbaa !5
  %1683 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1684 = load i32, ptr %1683, align 4, !tbaa !5
  %1685 = call ptr @s2n_strerror_debug(i32 noundef %1684, ptr noundef @.str.5)
  %1686 = icmp eq ptr %1685, null
  br i1 %1686, label %1687, label %1740

1687:                                             ; preds = %1680
  br label %1688

1688:                                             ; preds = %1687
  br label %1689

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

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

1701:                                             ; preds = %1696
  %1702 = load i32, ptr %28, align 4, !tbaa !5
  %1703 = call ptr @__errno_location() #12
  store i32 %1702, ptr %1703, align 4, !tbaa !5
  %1704 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1705 = load i32, ptr @test_count, align 4, !tbaa !5
  %1706 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1707 = load i32, ptr %1706, align 4, !tbaa !5
  %1708 = call ptr @s2n_strerror(i32 noundef %1707, ptr noundef @.str.5)
  %1709 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1710 = load i32, ptr %1709, align 4, !tbaa !5
  %1711 = call ptr @s2n_strerror_debug(i32 noundef %1710, ptr noundef @.str.5)
  %1712 = call ptr @__errno_location() #12
  %1713 = load i32, ptr %1712, align 4, !tbaa !5
  %1714 = call ptr @strerror(i32 noundef %1713) #11
  %1715 = call ptr @__errno_location() #12
  %1716 = load i32, ptr %1715, align 4, !tbaa !5
  %1717 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1704, ptr noundef @.str.3, i32 noundef %1705, ptr noundef @.str.13, ptr noundef @.str.2, i32 noundef 117, ptr noundef %1708, ptr noundef %1711, ptr noundef %1714, i32 noundef %1716) #11
  br label %1735

1718:                                             ; preds = %1696, %1689
  %1719 = load i32, ptr %28, align 4, !tbaa !5
  %1720 = call ptr @__errno_location() #12
  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.5)
  %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.5)
  %1729 = call ptr @__errno_location() #12
  %1730 = load i32, ptr %1729, align 4, !tbaa !5
  %1731 = call ptr @strerror(i32 noundef %1730) #11
  %1732 = call ptr @__errno_location() #12
  %1733 = load i32, ptr %1732, align 4, !tbaa !5
  %1734 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1721, ptr noundef @.str.6, i32 noundef %1722, ptr noundef @.str.13, ptr noundef @.str.2, i32 noundef 117, ptr noundef %1725, ptr noundef %1728, ptr noundef %1731, i32 noundef %1733) #11
  br label %1735

1735:                                             ; preds = %1718, %1701
  call void @llvm.lifetime.end.p0(i64 4, ptr %28) #11
  br label %1736

1736:                                             ; preds = %1735
  br label %1737

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

1738:                                             ; No predecessors!
  br label %1739

1739:                                             ; preds = %1738
  br label %1740

1740:                                             ; preds = %1739, %1680
  br label %1741

1741:                                             ; preds = %1740
  br label %1742

1742:                                             ; preds = %1741
  br label %1743

1743:                                             ; preds = %1742
  br label %1744

1744:                                             ; preds = %1743
  br label %1745

1745:                                             ; preds = %1744
  %1746 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %1746, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %1747 = call ptr @__errno_location() #12
  store i32 0, ptr %1747, align 4, !tbaa !5
  br label %1748

1748:                                             ; preds = %1745
  br label %1749

1749:                                             ; preds = %1748
  br label %1750

1750:                                             ; preds = %1749
  br label %1751

1751:                                             ; preds = %1750
  call void @llvm.lifetime.start.p0(i64 1, ptr %29) #11
  store i8 0, ptr %29, align 1, !tbaa !15
  br label %1752

1752:                                             ; preds = %1751
  br label %1753

1753:                                             ; preds = %1752
  br label %1754

1754:                                             ; preds = %1753
  %1755 = load i32, ptr @test_count, align 4, !tbaa !5
  %1756 = add nsw i32 %1755, 1
  store i32 %1756, ptr @test_count, align 4, !tbaa !5
  %1757 = call i32 @s2n_ktls_get_control_data(ptr noundef null, i32 noundef 0, ptr noundef %29)
  %1758 = getelementptr inbounds %struct.s2n_result, ptr %30, i32 0, i32 0
  store i32 %1757, ptr %1758, align 4
  %1759 = getelementptr inbounds %struct.s2n_result, ptr %30, i32 0, i32 0
  %1760 = load i32, ptr %1759, align 4
  %1761 = call zeroext i1 @s2n_result_is_error(i32 %1760)
  br i1 %1761, label %1815, label %1762

1762:                                             ; preds = %1754
  br label %1763

1763:                                             ; preds = %1762
  br label %1764

1764:                                             ; preds = %1763
  call void @llvm.lifetime.start.p0(i64 4, ptr %31) #11
  %1765 = call ptr @__errno_location() #12
  %1766 = load i32, ptr %1765, align 4, !tbaa !5
  store i32 %1766, ptr %31, align 4, !tbaa !5
  %1767 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1768 = call i32 @s2n_print_stacktrace(ptr noundef %1767)
  %1769 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1770 = trunc i8 %1769 to i1
  br i1 %1770, label %1771, label %1793

1771:                                             ; preds = %1764
  %1772 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1773 = call i32 @fileno(ptr noundef %1772) #11
  %1774 = call i32 @isatty(i32 noundef %1773) #11
  %1775 = icmp ne i32 %1774, 0
  br i1 %1775, label %1776, label %1793

1776:                                             ; preds = %1771
  %1777 = load i32, ptr %31, align 4, !tbaa !5
  %1778 = call ptr @__errno_location() #12
  store i32 %1777, ptr %1778, align 4, !tbaa !5
  %1779 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1780 = load i32, ptr @test_count, align 4, !tbaa !5
  %1781 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1782 = load i32, ptr %1781, align 4, !tbaa !5
  %1783 = call ptr @s2n_strerror(i32 noundef %1782, ptr noundef @.str.5)
  %1784 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1785 = load i32, ptr %1784, align 4, !tbaa !5
  %1786 = call ptr @s2n_strerror_debug(i32 noundef %1785, ptr noundef @.str.5)
  %1787 = call ptr @__errno_location() #12
  %1788 = load i32, ptr %1787, align 4, !tbaa !5
  %1789 = call ptr @strerror(i32 noundef %1788) #11
  %1790 = call ptr @__errno_location() #12
  %1791 = load i32, ptr %1790, align 4, !tbaa !5
  %1792 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1779, ptr noundef @.str.3, i32 noundef %1780, ptr noundef @.str.16, ptr noundef @.str.2, i32 noundef 121, ptr noundef %1783, ptr noundef %1786, ptr noundef %1789, i32 noundef %1791) #11
  br label %1810

1793:                                             ; preds = %1771, %1764
  %1794 = load i32, ptr %31, align 4, !tbaa !5
  %1795 = call ptr @__errno_location() #12
  store i32 %1794, ptr %1795, align 4, !tbaa !5
  %1796 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1797 = load i32, ptr @test_count, align 4, !tbaa !5
  %1798 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1799 = load i32, ptr %1798, align 4, !tbaa !5
  %1800 = call ptr @s2n_strerror(i32 noundef %1799, ptr noundef @.str.5)
  %1801 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1802 = load i32, ptr %1801, align 4, !tbaa !5
  %1803 = call ptr @s2n_strerror_debug(i32 noundef %1802, ptr noundef @.str.5)
  %1804 = call ptr @__errno_location() #12
  %1805 = load i32, ptr %1804, align 4, !tbaa !5
  %1806 = call ptr @strerror(i32 noundef %1805) #11
  %1807 = call ptr @__errno_location() #12
  %1808 = load i32, ptr %1807, align 4, !tbaa !5
  %1809 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1796, ptr noundef @.str.6, i32 noundef %1797, ptr noundef @.str.16, ptr noundef @.str.2, i32 noundef 121, ptr noundef %1800, ptr noundef %1803, ptr noundef %1806, i32 noundef %1808) #11
  br label %1810

1810:                                             ; preds = %1793, %1776
  call void @llvm.lifetime.end.p0(i64 4, ptr %31) #11
  br label %1811

1811:                                             ; preds = %1810
  br label %1812

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

1813:                                             ; No predecessors!
  br label %1814

1814:                                             ; preds = %1813
  br label %1815

1815:                                             ; preds = %1814, %1754
  br label %1816

1816:                                             ; preds = %1815
  br label %1817

1817:                                             ; preds = %1816
  br label %1818

1818:                                             ; preds = %1817
  %1819 = load i32, ptr @test_count, align 4, !tbaa !5
  %1820 = add nsw i32 %1819, 1
  store i32 %1820, ptr @test_count, align 4, !tbaa !5
  %1821 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1822 = load i32, ptr %1821, align 4, !tbaa !5
  %1823 = icmp eq i32 %1822, 402653193
  br i1 %1823, label %1877, label %1824

1824:                                             ; preds = %1818
  br label %1825

1825:                                             ; preds = %1824
  br label %1826

1826:                                             ; preds = %1825
  call void @llvm.lifetime.start.p0(i64 4, ptr %32) #11
  %1827 = call ptr @__errno_location() #12
  %1828 = load i32, ptr %1827, align 4, !tbaa !5
  store i32 %1828, ptr %32, align 4, !tbaa !5
  %1829 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1830 = call i32 @s2n_print_stacktrace(ptr noundef %1829)
  %1831 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1832 = trunc i8 %1831 to i1
  br i1 %1832, label %1833, label %1855

1833:                                             ; preds = %1826
  %1834 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1835 = call i32 @fileno(ptr noundef %1834) #11
  %1836 = call i32 @isatty(i32 noundef %1835) #11
  %1837 = icmp ne i32 %1836, 0
  br i1 %1837, label %1838, label %1855

1838:                                             ; preds = %1833
  %1839 = load i32, ptr %32, align 4, !tbaa !5
  %1840 = call ptr @__errno_location() #12
  store i32 %1839, ptr %1840, align 4, !tbaa !5
  %1841 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1842 = load i32, ptr @test_count, align 4, !tbaa !5
  %1843 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1844 = load i32, ptr %1843, align 4, !tbaa !5
  %1845 = call ptr @s2n_strerror(i32 noundef %1844, ptr noundef @.str.5)
  %1846 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1847 = load i32, ptr %1846, align 4, !tbaa !5
  %1848 = call ptr @s2n_strerror_debug(i32 noundef %1847, ptr noundef @.str.5)
  %1849 = call ptr @__errno_location() #12
  %1850 = load i32, ptr %1849, align 4, !tbaa !5
  %1851 = call ptr @strerror(i32 noundef %1850) #11
  %1852 = call ptr @__errno_location() #12
  %1853 = load i32, ptr %1852, align 4, !tbaa !5
  %1854 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1841, ptr noundef @.str.3, i32 noundef %1842, ptr noundef @.str.12, ptr noundef @.str.2, i32 noundef 121, ptr noundef %1845, ptr noundef %1848, ptr noundef %1851, i32 noundef %1853) #11
  br label %1872

1855:                                             ; preds = %1833, %1826
  %1856 = load i32, ptr %32, align 4, !tbaa !5
  %1857 = call ptr @__errno_location() #12
  store i32 %1856, ptr %1857, align 4, !tbaa !5
  %1858 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1859 = load i32, ptr @test_count, align 4, !tbaa !5
  %1860 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1861 = load i32, ptr %1860, align 4, !tbaa !5
  %1862 = call ptr @s2n_strerror(i32 noundef %1861, ptr noundef @.str.5)
  %1863 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1864 = load i32, ptr %1863, align 4, !tbaa !5
  %1865 = call ptr @s2n_strerror_debug(i32 noundef %1864, ptr noundef @.str.5)
  %1866 = call ptr @__errno_location() #12
  %1867 = load i32, ptr %1866, align 4, !tbaa !5
  %1868 = call ptr @strerror(i32 noundef %1867) #11
  %1869 = call ptr @__errno_location() #12
  %1870 = load i32, ptr %1869, align 4, !tbaa !5
  %1871 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1858, ptr noundef @.str.6, i32 noundef %1859, ptr noundef @.str.12, ptr noundef @.str.2, i32 noundef 121, ptr noundef %1862, ptr noundef %1865, ptr noundef %1868, i32 noundef %1870) #11
  br label %1872

1872:                                             ; preds = %1855, %1838
  call void @llvm.lifetime.end.p0(i64 4, ptr %32) #11
  br label %1873

1873:                                             ; preds = %1872
  br label %1874

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

1875:                                             ; No predecessors!
  br label %1876

1876:                                             ; preds = %1875
  br label %1877

1877:                                             ; preds = %1876, %1818
  br label %1878

1878:                                             ; preds = %1877
  br label %1879

1879:                                             ; preds = %1878
  br label %1880

1880:                                             ; preds = %1879
  %1881 = load i32, ptr @test_count, align 4, !tbaa !5
  %1882 = add nsw i32 %1881, 1
  store i32 %1882, ptr @test_count, align 4, !tbaa !5
  %1883 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1884 = load i32, ptr %1883, align 4, !tbaa !5
  %1885 = call ptr @s2n_strerror_debug(i32 noundef %1884, ptr noundef @.str.5)
  %1886 = icmp eq ptr %1885, null
  br i1 %1886, label %1887, label %1940

1887:                                             ; preds = %1880
  br label %1888

1888:                                             ; preds = %1887
  br label %1889

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

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

1901:                                             ; preds = %1896
  %1902 = load i32, ptr %33, align 4, !tbaa !5
  %1903 = call ptr @__errno_location() #12
  store i32 %1902, ptr %1903, align 4, !tbaa !5
  %1904 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1905 = load i32, ptr @test_count, align 4, !tbaa !5
  %1906 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1907 = load i32, ptr %1906, align 4, !tbaa !5
  %1908 = call ptr @s2n_strerror(i32 noundef %1907, ptr noundef @.str.5)
  %1909 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1910 = load i32, ptr %1909, align 4, !tbaa !5
  %1911 = call ptr @s2n_strerror_debug(i32 noundef %1910, ptr noundef @.str.5)
  %1912 = call ptr @__errno_location() #12
  %1913 = load i32, ptr %1912, align 4, !tbaa !5
  %1914 = call ptr @strerror(i32 noundef %1913) #11
  %1915 = call ptr @__errno_location() #12
  %1916 = load i32, ptr %1915, align 4, !tbaa !5
  %1917 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1904, ptr noundef @.str.3, i32 noundef %1905, ptr noundef @.str.13, ptr noundef @.str.2, i32 noundef 121, ptr noundef %1908, ptr noundef %1911, ptr noundef %1914, i32 noundef %1916) #11
  br label %1935

1918:                                             ; preds = %1896, %1889
  %1919 = load i32, ptr %33, align 4, !tbaa !5
  %1920 = call ptr @__errno_location() #12
  store i32 %1919, ptr %1920, align 4, !tbaa !5
  %1921 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1922 = load i32, ptr @test_count, align 4, !tbaa !5
  %1923 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1924 = load i32, ptr %1923, align 4, !tbaa !5
  %1925 = call ptr @s2n_strerror(i32 noundef %1924, ptr noundef @.str.5)
  %1926 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1927 = load i32, ptr %1926, align 4, !tbaa !5
  %1928 = call ptr @s2n_strerror_debug(i32 noundef %1927, ptr noundef @.str.5)
  %1929 = call ptr @__errno_location() #12
  %1930 = load i32, ptr %1929, align 4, !tbaa !5
  %1931 = call ptr @strerror(i32 noundef %1930) #11
  %1932 = call ptr @__errno_location() #12
  %1933 = load i32, ptr %1932, align 4, !tbaa !5
  %1934 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1921, ptr noundef @.str.6, i32 noundef %1922, ptr noundef @.str.13, ptr noundef @.str.2, i32 noundef 121, ptr noundef %1925, ptr noundef %1928, ptr noundef %1931, i32 noundef %1933) #11
  br label %1935

1935:                                             ; preds = %1918, %1901
  call void @llvm.lifetime.end.p0(i64 4, ptr %33) #11
  br label %1936

1936:                                             ; preds = %1935
  br label %1937

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

1938:                                             ; No predecessors!
  br label %1939

1939:                                             ; preds = %1938
  br label %1940

1940:                                             ; preds = %1939, %1880
  br label %1941

1941:                                             ; preds = %1940
  br label %1942

1942:                                             ; preds = %1941
  br label %1943

1943:                                             ; preds = %1942
  br label %1944

1944:                                             ; preds = %1943
  br label %1945

1945:                                             ; preds = %1944
  %1946 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %1946, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %1947 = call ptr @__errno_location() #12
  store i32 0, ptr %1947, align 4, !tbaa !5
  br label %1948

1948:                                             ; preds = %1945
  br label %1949

1949:                                             ; preds = %1948
  br label %1950

1950:                                             ; preds = %1949
  br label %1951

1951:                                             ; preds = %1950
  br label %1952

1952:                                             ; preds = %1951
  br label %1953

1953:                                             ; preds = %1952
  br label %1954

1954:                                             ; preds = %1953
  %1955 = load i32, ptr @test_count, align 4, !tbaa !5
  %1956 = add nsw i32 %1955, 1
  store i32 %1956, ptr @test_count, align 4, !tbaa !5
  %1957 = call i32 @s2n_ktls_get_control_data(ptr noundef %15, i32 noundef 0, ptr noundef null)
  %1958 = getelementptr inbounds %struct.s2n_result, ptr %34, i32 0, i32 0
  store i32 %1957, ptr %1958, align 4
  %1959 = getelementptr inbounds %struct.s2n_result, ptr %34, i32 0, i32 0
  %1960 = load i32, ptr %1959, align 4
  %1961 = call zeroext i1 @s2n_result_is_error(i32 %1960)
  br i1 %1961, label %2015, label %1962

1962:                                             ; preds = %1954
  br label %1963

1963:                                             ; preds = %1962
  br label %1964

1964:                                             ; preds = %1963
  call void @llvm.lifetime.start.p0(i64 4, ptr %35) #11
  %1965 = call ptr @__errno_location() #12
  %1966 = load i32, ptr %1965, align 4, !tbaa !5
  store i32 %1966, ptr %35, align 4, !tbaa !5
  %1967 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1968 = call i32 @s2n_print_stacktrace(ptr noundef %1967)
  %1969 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1970 = trunc i8 %1969 to i1
  br i1 %1970, label %1971, label %1993

1971:                                             ; preds = %1964
  %1972 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1973 = call i32 @fileno(ptr noundef %1972) #11
  %1974 = call i32 @isatty(i32 noundef %1973) #11
  %1975 = icmp ne i32 %1974, 0
  br i1 %1975, label %1976, label %1993

1976:                                             ; preds = %1971
  %1977 = load i32, ptr %35, align 4, !tbaa !5
  %1978 = call ptr @__errno_location() #12
  store i32 %1977, ptr %1978, align 4, !tbaa !5
  %1979 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1980 = load i32, ptr @test_count, align 4, !tbaa !5
  %1981 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1982 = load i32, ptr %1981, align 4, !tbaa !5
  %1983 = call ptr @s2n_strerror(i32 noundef %1982, ptr noundef @.str.5)
  %1984 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1985 = load i32, ptr %1984, align 4, !tbaa !5
  %1986 = call ptr @s2n_strerror_debug(i32 noundef %1985, ptr noundef @.str.5)
  %1987 = call ptr @__errno_location() #12
  %1988 = load i32, ptr %1987, align 4, !tbaa !5
  %1989 = call ptr @strerror(i32 noundef %1988) #11
  %1990 = call ptr @__errno_location() #12
  %1991 = load i32, ptr %1990, align 4, !tbaa !5
  %1992 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1979, ptr noundef @.str.3, i32 noundef %1980, ptr noundef @.str.17, ptr noundef @.str.2, i32 noundef 123, ptr noundef %1983, ptr noundef %1986, ptr noundef %1989, i32 noundef %1991) #11
  br label %2010

1993:                                             ; preds = %1971, %1964
  %1994 = load i32, ptr %35, align 4, !tbaa !5
  %1995 = call ptr @__errno_location() #12
  store i32 %1994, ptr %1995, align 4, !tbaa !5
  %1996 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1997 = load i32, ptr @test_count, align 4, !tbaa !5
  %1998 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1999 = load i32, ptr %1998, align 4, !tbaa !5
  %2000 = call ptr @s2n_strerror(i32 noundef %1999, ptr noundef @.str.5)
  %2001 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2002 = load i32, ptr %2001, align 4, !tbaa !5
  %2003 = call ptr @s2n_strerror_debug(i32 noundef %2002, ptr noundef @.str.5)
  %2004 = call ptr @__errno_location() #12
  %2005 = load i32, ptr %2004, align 4, !tbaa !5
  %2006 = call ptr @strerror(i32 noundef %2005) #11
  %2007 = call ptr @__errno_location() #12
  %2008 = load i32, ptr %2007, align 4, !tbaa !5
  %2009 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1996, ptr noundef @.str.6, i32 noundef %1997, ptr noundef @.str.17, ptr noundef @.str.2, i32 noundef 123, ptr noundef %2000, ptr noundef %2003, ptr noundef %2006, i32 noundef %2008) #11
  br label %2010

2010:                                             ; preds = %1993, %1976
  call void @llvm.lifetime.end.p0(i64 4, ptr %35) #11
  br label %2011

2011:                                             ; preds = %2010
  br label %2012

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

2013:                                             ; No predecessors!
  br label %2014

2014:                                             ; preds = %2013
  br label %2015

2015:                                             ; preds = %2014, %1954
  br label %2016

2016:                                             ; preds = %2015
  br label %2017

2017:                                             ; preds = %2016
  br label %2018

2018:                                             ; preds = %2017
  %2019 = load i32, ptr @test_count, align 4, !tbaa !5
  %2020 = add nsw i32 %2019, 1
  store i32 %2020, ptr @test_count, align 4, !tbaa !5
  %2021 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2022 = load i32, ptr %2021, align 4, !tbaa !5
  %2023 = icmp eq i32 %2022, 402653193
  br i1 %2023, label %2077, label %2024

2024:                                             ; preds = %2018
  br label %2025

2025:                                             ; preds = %2024
  br label %2026

2026:                                             ; preds = %2025
  call void @llvm.lifetime.start.p0(i64 4, ptr %36) #11
  %2027 = call ptr @__errno_location() #12
  %2028 = load i32, ptr %2027, align 4, !tbaa !5
  store i32 %2028, ptr %36, align 4, !tbaa !5
  %2029 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2030 = call i32 @s2n_print_stacktrace(ptr noundef %2029)
  %2031 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2032 = trunc i8 %2031 to i1
  br i1 %2032, label %2033, label %2055

2033:                                             ; preds = %2026
  %2034 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2035 = call i32 @fileno(ptr noundef %2034) #11
  %2036 = call i32 @isatty(i32 noundef %2035) #11
  %2037 = icmp ne i32 %2036, 0
  br i1 %2037, label %2038, label %2055

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

2055:                                             ; preds = %2033, %2026
  %2056 = load i32, ptr %36, align 4, !tbaa !5
  %2057 = call ptr @__errno_location() #12
  store i32 %2056, ptr %2057, align 4, !tbaa !5
  %2058 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2059 = load i32, ptr @test_count, align 4, !tbaa !5
  %2060 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2061 = load i32, ptr %2060, align 4, !tbaa !5
  %2062 = call ptr @s2n_strerror(i32 noundef %2061, ptr noundef @.str.5)
  %2063 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2064 = load i32, ptr %2063, align 4, !tbaa !5
  %2065 = call ptr @s2n_strerror_debug(i32 noundef %2064, ptr noundef @.str.5)
  %2066 = call ptr @__errno_location() #12
  %2067 = load i32, ptr %2066, align 4, !tbaa !5
  %2068 = call ptr @strerror(i32 noundef %2067) #11
  %2069 = call ptr @__errno_location() #12
  %2070 = load i32, ptr %2069, align 4, !tbaa !5
  %2071 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2058, ptr noundef @.str.6, i32 noundef %2059, ptr noundef @.str.12, ptr noundef @.str.2, i32 noundef 123, ptr noundef %2062, ptr noundef %2065, ptr noundef %2068, i32 noundef %2070) #11
  br label %2072

2072:                                             ; preds = %2055, %2038
  call void @llvm.lifetime.end.p0(i64 4, ptr %36) #11
  br label %2073

2073:                                             ; preds = %2072
  br label %2074

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

2075:                                             ; No predecessors!
  br label %2076

2076:                                             ; preds = %2075
  br label %2077

2077:                                             ; preds = %2076, %2018
  br label %2078

2078:                                             ; preds = %2077
  br label %2079

2079:                                             ; preds = %2078
  br label %2080

2080:                                             ; preds = %2079
  %2081 = load i32, ptr @test_count, align 4, !tbaa !5
  %2082 = add nsw i32 %2081, 1
  store i32 %2082, ptr @test_count, align 4, !tbaa !5
  %2083 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2084 = load i32, ptr %2083, align 4, !tbaa !5
  %2085 = call ptr @s2n_strerror_debug(i32 noundef %2084, ptr noundef @.str.5)
  %2086 = icmp eq ptr %2085, null
  br i1 %2086, label %2087, label %2140

2087:                                             ; preds = %2080
  br label %2088

2088:                                             ; preds = %2087
  br label %2089

2089:                                             ; preds = %2088
  call void @llvm.lifetime.start.p0(i64 4, ptr %37) #11
  %2090 = call ptr @__errno_location() #12
  %2091 = load i32, ptr %2090, align 4, !tbaa !5
  store i32 %2091, ptr %37, align 4, !tbaa !5
  %2092 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2093 = call i32 @s2n_print_stacktrace(ptr noundef %2092)
  %2094 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2095 = trunc i8 %2094 to i1
  br i1 %2095, label %2096, label %2118

2096:                                             ; preds = %2089
  %2097 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2098 = call i32 @fileno(ptr noundef %2097) #11
  %2099 = call i32 @isatty(i32 noundef %2098) #11
  %2100 = icmp ne i32 %2099, 0
  br i1 %2100, label %2101, label %2118

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

2118:                                             ; preds = %2096, %2089
  %2119 = load i32, ptr %37, align 4, !tbaa !5
  %2120 = call ptr @__errno_location() #12
  store i32 %2119, ptr %2120, align 4, !tbaa !5
  %2121 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2122 = load i32, ptr @test_count, align 4, !tbaa !5
  %2123 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2124 = load i32, ptr %2123, align 4, !tbaa !5
  %2125 = call ptr @s2n_strerror(i32 noundef %2124, ptr noundef @.str.5)
  %2126 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2127 = load i32, ptr %2126, align 4, !tbaa !5
  %2128 = call ptr @s2n_strerror_debug(i32 noundef %2127, ptr noundef @.str.5)
  %2129 = call ptr @__errno_location() #12
  %2130 = load i32, ptr %2129, align 4, !tbaa !5
  %2131 = call ptr @strerror(i32 noundef %2130) #11
  %2132 = call ptr @__errno_location() #12
  %2133 = load i32, ptr %2132, align 4, !tbaa !5
  %2134 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2121, ptr noundef @.str.6, i32 noundef %2122, ptr noundef @.str.13, ptr noundef @.str.2, i32 noundef 123, ptr noundef %2125, ptr noundef %2128, ptr noundef %2131, i32 noundef %2133) #11
  br label %2135

2135:                                             ; preds = %2118, %2101
  call void @llvm.lifetime.end.p0(i64 4, ptr %37) #11
  br label %2136

2136:                                             ; preds = %2135
  br label %2137

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

2138:                                             ; No predecessors!
  br label %2139

2139:                                             ; preds = %2138
  br label %2140

2140:                                             ; preds = %2139, %2080
  br label %2141

2141:                                             ; preds = %2140
  br label %2142

2142:                                             ; preds = %2141
  br label %2143

2143:                                             ; preds = %2142
  br label %2144

2144:                                             ; preds = %2143
  br label %2145

2145:                                             ; preds = %2144
  %2146 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %2146, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %2147 = call ptr @__errno_location() #12
  store i32 0, ptr %2147, align 4, !tbaa !5
  br label %2148

2148:                                             ; preds = %2145
  br label %2149

2149:                                             ; preds = %2148
  br label %2150

2150:                                             ; preds = %2149
  br label %2151

2151:                                             ; preds = %2150
  call void @llvm.lifetime.end.p0(i64 1, ptr %29) #11
  call void @llvm.lifetime.end.p0(i64 100, ptr %16) #11
  call void @llvm.lifetime.end.p0(i64 56, ptr %15) #11
  call void @llvm.lifetime.start.p0(i64 1, ptr %38) #11
  store i8 5, ptr %38, align 1, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 56, ptr %39) #11
  call void @llvm.memset.p0.i64(ptr align 8 %39, i8 0, i64 56, i1 false)
  call void @llvm.lifetime.start.p0(i64 4, ptr %40) #11
  store i32 11, ptr %40, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 100, ptr %41) #11
  call void @llvm.memset.p0.i64(ptr align 16 %41, i8 0, i64 100, i1 false)
  br label %2152

2152:                                             ; preds = %2151
  %2153 = load i32, ptr @test_count, align 4, !tbaa !5
  %2154 = add nsw i32 %2153, 1
  store i32 %2154, ptr @test_count, align 4, !tbaa !5
  %2155 = getelementptr inbounds [100 x i8], ptr %41, i64 0, i64 0
  %2156 = call i32 @s2n_ktls_set_control_data(ptr noundef %39, ptr noundef %2155, i64 noundef 100, i32 noundef 11, i8 noundef zeroext 5)
  %2157 = getelementptr inbounds %struct.s2n_result, ptr %42, i32 0, i32 0
  store i32 %2156, ptr %2157, align 4
  %2158 = getelementptr inbounds %struct.s2n_result, ptr %42, i32 0, i32 0
  %2159 = load i32, ptr %2158, align 4
  %2160 = call zeroext i1 @s2n_result_is_ok(i32 %2159)
  br i1 %2160, label %2214, label %2161

2161:                                             ; preds = %2152
  br label %2162

2162:                                             ; preds = %2161
  br label %2163

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

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

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

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

2209:                                             ; preds = %2192, %2175
  call void @llvm.lifetime.end.p0(i64 4, ptr %43) #11
  br label %2210

2210:                                             ; preds = %2209
  br label %2211

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

2212:                                             ; No predecessors!
  br label %2213

2213:                                             ; preds = %2212
  br label %2214

2214:                                             ; preds = %2213, %2152
  br label %2215

2215:                                             ; preds = %2214
  br label %2216

2216:                                             ; preds = %2215
  call void @llvm.lifetime.start.p0(i64 1, ptr %44) #11
  store i8 0, ptr %44, align 1, !tbaa !15
  br label %2217

2217:                                             ; preds = %2216
  %2218 = load i32, ptr @test_count, align 4, !tbaa !5
  %2219 = add nsw i32 %2218, 1
  store i32 %2219, ptr @test_count, align 4, !tbaa !5
  %2220 = call i32 @s2n_ktls_get_control_data(ptr noundef %39, i32 noundef 11, ptr noundef %44)
  %2221 = getelementptr inbounds %struct.s2n_result, ptr %45, i32 0, i32 0
  store i32 %2220, ptr %2221, align 4
  %2222 = getelementptr inbounds %struct.s2n_result, ptr %45, i32 0, i32 0
  %2223 = load i32, ptr %2222, align 4
  %2224 = call zeroext i1 @s2n_result_is_ok(i32 %2223)
  br i1 %2224, label %2278, label %2225

2225:                                             ; preds = %2217
  br label %2226

2226:                                             ; preds = %2225
  br label %2227

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

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

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

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

2273:                                             ; preds = %2256, %2239
  call void @llvm.lifetime.end.p0(i64 4, ptr %46) #11
  br label %2274

2274:                                             ; preds = %2273
  br label %2275

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

2276:                                             ; No predecessors!
  br label %2277

2277:                                             ; preds = %2276
  br label %2278

2278:                                             ; preds = %2277, %2217
  br label %2279

2279:                                             ; preds = %2278
  br label %2280

2280:                                             ; preds = %2279
  br label %2281

2281:                                             ; preds = %2280
  %2282 = load i32, ptr @test_count, align 4, !tbaa !5
  %2283 = add nsw i32 %2282, 1
  store i32 %2283, ptr @test_count, align 4, !tbaa !5
  %2284 = load i8, ptr %44, align 1, !tbaa !15
  %2285 = zext i8 %2284 to i32
  %2286 = icmp eq i32 5, %2285
  br i1 %2286, label %2340, label %2287

2287:                                             ; preds = %2281
  br label %2288

2288:                                             ; preds = %2287
  br label %2289

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

2296:                                             ; preds = %2289
  %2297 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2298 = call i32 @fileno(ptr noundef %2297) #11
  %2299 = call i32 @isatty(i32 noundef %2298) #11
  %2300 = icmp ne i32 %2299, 0
  br i1 %2300, label %2301, label %2318

2301:                                             ; preds = %2296
  %2302 = load i32, ptr %47, align 4, !tbaa !5
  %2303 = call ptr @__errno_location() #12
  store i32 %2302, ptr %2303, align 4, !tbaa !5
  %2304 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2305 = load i32, ptr @test_count, align 4, !tbaa !5
  %2306 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2307 = load i32, ptr %2306, align 4, !tbaa !5
  %2308 = call ptr @s2n_strerror(i32 noundef %2307, ptr noundef @.str.5)
  %2309 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2310 = load i32, ptr %2309, align 4, !tbaa !5
  %2311 = call ptr @s2n_strerror_debug(i32 noundef %2310, ptr noundef @.str.5)
  %2312 = call ptr @__errno_location() #12
  %2313 = load i32, ptr %2312, align 4, !tbaa !5
  %2314 = call ptr @strerror(i32 noundef %2313) #11
  %2315 = call ptr @__errno_location() #12
  %2316 = load i32, ptr %2315, align 4, !tbaa !5
  %2317 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2304, ptr noundef @.str.3, i32 noundef %2305, ptr noundef @.str.20, ptr noundef @.str.2, i32 noundef 137, ptr noundef %2308, ptr noundef %2311, ptr noundef %2314, i32 noundef %2316) #11
  br label %2335

2318:                                             ; preds = %2296, %2289
  %2319 = load i32, ptr %47, align 4, !tbaa !5
  %2320 = call ptr @__errno_location() #12
  store i32 %2319, ptr %2320, align 4, !tbaa !5
  %2321 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2322 = load i32, ptr @test_count, align 4, !tbaa !5
  %2323 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2324 = load i32, ptr %2323, align 4, !tbaa !5
  %2325 = call ptr @s2n_strerror(i32 noundef %2324, ptr noundef @.str.5)
  %2326 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2327 = load i32, ptr %2326, align 4, !tbaa !5
  %2328 = call ptr @s2n_strerror_debug(i32 noundef %2327, ptr noundef @.str.5)
  %2329 = call ptr @__errno_location() #12
  %2330 = load i32, ptr %2329, align 4, !tbaa !5
  %2331 = call ptr @strerror(i32 noundef %2330) #11
  %2332 = call ptr @__errno_location() #12
  %2333 = load i32, ptr %2332, align 4, !tbaa !5
  %2334 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2321, ptr noundef @.str.6, i32 noundef %2322, ptr noundef @.str.20, ptr noundef @.str.2, i32 noundef 137, ptr noundef %2325, ptr noundef %2328, ptr noundef %2331, i32 noundef %2333) #11
  br label %2335

2335:                                             ; preds = %2318, %2301
  call void @llvm.lifetime.end.p0(i64 4, ptr %47) #11
  br label %2336

2336:                                             ; preds = %2335
  br label %2337

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

2338:                                             ; No predecessors!
  br label %2339

2339:                                             ; preds = %2338
  br label %2340

2340:                                             ; preds = %2339, %2281
  br label %2341

2341:                                             ; preds = %2340
  br label %2342

2342:                                             ; preds = %2341
  call void @llvm.lifetime.end.p0(i64 1, ptr %44) #11
  call void @llvm.lifetime.end.p0(i64 100, ptr %41) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %40) #11
  call void @llvm.lifetime.end.p0(i64 56, ptr %39) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %38) #11
  call void @llvm.lifetime.start.p0(i64 1, ptr %48) #11
  store i8 5, ptr %48, align 1, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 56, ptr %49) #11
  call void @llvm.memset.p0.i64(ptr align 8 %49, i8 0, i64 56, i1 false)
  call void @llvm.lifetime.start.p0(i64 4, ptr %50) #11
  store i32 11, ptr %50, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 100, ptr %51) #11
  call void @llvm.memset.p0.i64(ptr align 16 %51, i8 0, i64 100, i1 false)
  br label %2343

2343:                                             ; preds = %2342
  %2344 = load i32, ptr @test_count, align 4, !tbaa !5
  %2345 = add nsw i32 %2344, 1
  store i32 %2345, ptr @test_count, align 4, !tbaa !5
  %2346 = getelementptr inbounds [100 x i8], ptr %51, i64 0, i64 0
  %2347 = call i32 @s2n_ktls_set_control_data(ptr noundef %49, ptr noundef %2346, i64 noundef 100, i32 noundef 11, i8 noundef zeroext 5)
  %2348 = getelementptr inbounds %struct.s2n_result, ptr %52, i32 0, i32 0
  store i32 %2347, ptr %2348, align 4
  %2349 = getelementptr inbounds %struct.s2n_result, ptr %52, i32 0, i32 0
  %2350 = load i32, ptr %2349, align 4
  %2351 = call zeroext i1 @s2n_result_is_ok(i32 %2350)
  br i1 %2351, label %2405, label %2352

2352:                                             ; preds = %2343
  br label %2353

2353:                                             ; preds = %2352
  br label %2354

2354:                                             ; preds = %2353
  call void @llvm.lifetime.start.p0(i64 4, ptr %53) #11
  %2355 = call ptr @__errno_location() #12
  %2356 = load i32, ptr %2355, align 4, !tbaa !5
  store i32 %2356, ptr %53, align 4, !tbaa !5
  %2357 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2358 = call i32 @s2n_print_stacktrace(ptr noundef %2357)
  %2359 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2360 = trunc i8 %2359 to i1
  br i1 %2360, label %2361, label %2383

2361:                                             ; preds = %2354
  %2362 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2363 = call i32 @fileno(ptr noundef %2362) #11
  %2364 = call i32 @isatty(i32 noundef %2363) #11
  %2365 = icmp ne i32 %2364, 0
  br i1 %2365, label %2366, label %2383

2366:                                             ; preds = %2361
  %2367 = load i32, ptr %53, align 4, !tbaa !5
  %2368 = call ptr @__errno_location() #12
  store i32 %2367, ptr %2368, align 4, !tbaa !5
  %2369 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2370 = load i32, ptr @test_count, align 4, !tbaa !5
  %2371 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2372 = load i32, ptr %2371, align 4, !tbaa !5
  %2373 = call ptr @s2n_strerror(i32 noundef %2372, ptr noundef @.str.5)
  %2374 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2375 = load i32, ptr %2374, align 4, !tbaa !5
  %2376 = call ptr @s2n_strerror_debug(i32 noundef %2375, ptr noundef @.str.5)
  %2377 = call ptr @__errno_location() #12
  %2378 = load i32, ptr %2377, align 4, !tbaa !5
  %2379 = call ptr @strerror(i32 noundef %2378) #11
  %2380 = call ptr @__errno_location() #12
  %2381 = load i32, ptr %2380, align 4, !tbaa !5
  %2382 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2369, ptr noundef @.str.3, i32 noundef %2370, ptr noundef @.str.18, ptr noundef @.str.2, i32 noundef 146, ptr noundef %2373, ptr noundef %2376, ptr noundef %2379, i32 noundef %2381) #11
  br label %2400

2383:                                             ; preds = %2361, %2354
  %2384 = load i32, ptr %53, align 4, !tbaa !5
  %2385 = call ptr @__errno_location() #12
  store i32 %2384, ptr %2385, align 4, !tbaa !5
  %2386 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2387 = load i32, ptr @test_count, align 4, !tbaa !5
  %2388 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2389 = load i32, ptr %2388, align 4, !tbaa !5
  %2390 = call ptr @s2n_strerror(i32 noundef %2389, ptr noundef @.str.5)
  %2391 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2392 = load i32, ptr %2391, align 4, !tbaa !5
  %2393 = call ptr @s2n_strerror_debug(i32 noundef %2392, ptr noundef @.str.5)
  %2394 = call ptr @__errno_location() #12
  %2395 = load i32, ptr %2394, align 4, !tbaa !5
  %2396 = call ptr @strerror(i32 noundef %2395) #11
  %2397 = call ptr @__errno_location() #12
  %2398 = load i32, ptr %2397, align 4, !tbaa !5
  %2399 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2386, ptr noundef @.str.6, i32 noundef %2387, ptr noundef @.str.18, ptr noundef @.str.2, i32 noundef 146, ptr noundef %2390, ptr noundef %2393, ptr noundef %2396, i32 noundef %2398) #11
  br label %2400

2400:                                             ; preds = %2383, %2366
  call void @llvm.lifetime.end.p0(i64 4, ptr %53) #11
  br label %2401

2401:                                             ; preds = %2400
  br label %2402

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

2403:                                             ; No predecessors!
  br label %2404

2404:                                             ; preds = %2403
  br label %2405

2405:                                             ; preds = %2404, %2343
  br label %2406

2406:                                             ; preds = %2405
  br label %2407

2407:                                             ; preds = %2406
  call void @llvm.lifetime.start.p0(i64 4, ptr %54) #11
  store i32 99, ptr %54, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 1, ptr %55) #11
  store i8 0, ptr %55, align 1, !tbaa !15
  br label %2408

2408:                                             ; preds = %2407
  br label %2409

2409:                                             ; preds = %2408
  br label %2410

2410:                                             ; preds = %2409
  %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 = call i32 @s2n_ktls_get_control_data(ptr noundef %49, i32 noundef 99, ptr noundef %55)
  %2414 = getelementptr inbounds %struct.s2n_result, ptr %56, i32 0, i32 0
  store i32 %2413, ptr %2414, align 4
  %2415 = getelementptr inbounds %struct.s2n_result, ptr %56, i32 0, i32 0
  %2416 = load i32, ptr %2415, align 4
  %2417 = call zeroext i1 @s2n_result_is_error(i32 %2416)
  br i1 %2417, label %2471, label %2418

2418:                                             ; preds = %2410
  br label %2419

2419:                                             ; preds = %2418
  br label %2420

2420:                                             ; preds = %2419
  call void @llvm.lifetime.start.p0(i64 4, ptr %57) #11
  %2421 = call ptr @__errno_location() #12
  %2422 = load i32, ptr %2421, align 4, !tbaa !5
  store i32 %2422, ptr %57, align 4, !tbaa !5
  %2423 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2424 = call i32 @s2n_print_stacktrace(ptr noundef %2423)
  %2425 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2426 = trunc i8 %2425 to i1
  br i1 %2426, label %2427, label %2449

2427:                                             ; preds = %2420
  %2428 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2429 = call i32 @fileno(ptr noundef %2428) #11
  %2430 = call i32 @isatty(i32 noundef %2429) #11
  %2431 = icmp ne i32 %2430, 0
  br i1 %2431, label %2432, label %2449

2432:                                             ; preds = %2427
  %2433 = load i32, ptr %57, align 4, !tbaa !5
  %2434 = call ptr @__errno_location() #12
  store i32 %2433, ptr %2434, align 4, !tbaa !5
  %2435 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2436 = load i32, ptr @test_count, align 4, !tbaa !5
  %2437 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2438 = load i32, ptr %2437, align 4, !tbaa !5
  %2439 = call ptr @s2n_strerror(i32 noundef %2438, ptr noundef @.str.5)
  %2440 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2441 = load i32, ptr %2440, align 4, !tbaa !5
  %2442 = call ptr @s2n_strerror_debug(i32 noundef %2441, ptr noundef @.str.5)
  %2443 = call ptr @__errno_location() #12
  %2444 = load i32, ptr %2443, align 4, !tbaa !5
  %2445 = call ptr @strerror(i32 noundef %2444) #11
  %2446 = call ptr @__errno_location() #12
  %2447 = load i32, ptr %2446, align 4, !tbaa !5
  %2448 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2435, ptr noundef @.str.3, i32 noundef %2436, ptr noundef @.str.21, ptr noundef @.str.2, i32 noundef 151, ptr noundef %2439, ptr noundef %2442, ptr noundef %2445, i32 noundef %2447) #11
  br label %2466

2449:                                             ; preds = %2427, %2420
  %2450 = load i32, ptr %57, align 4, !tbaa !5
  %2451 = call ptr @__errno_location() #12
  store i32 %2450, ptr %2451, align 4, !tbaa !5
  %2452 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2453 = load i32, ptr @test_count, align 4, !tbaa !5
  %2454 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2455 = load i32, ptr %2454, align 4, !tbaa !5
  %2456 = call ptr @s2n_strerror(i32 noundef %2455, ptr noundef @.str.5)
  %2457 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2458 = load i32, ptr %2457, align 4, !tbaa !5
  %2459 = call ptr @s2n_strerror_debug(i32 noundef %2458, ptr noundef @.str.5)
  %2460 = call ptr @__errno_location() #12
  %2461 = load i32, ptr %2460, align 4, !tbaa !5
  %2462 = call ptr @strerror(i32 noundef %2461) #11
  %2463 = call ptr @__errno_location() #12
  %2464 = load i32, ptr %2463, align 4, !tbaa !5
  %2465 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2452, ptr noundef @.str.6, i32 noundef %2453, ptr noundef @.str.21, ptr noundef @.str.2, i32 noundef 151, ptr noundef %2456, ptr noundef %2459, ptr noundef %2462, i32 noundef %2464) #11
  br label %2466

2466:                                             ; preds = %2449, %2432
  call void @llvm.lifetime.end.p0(i64 4, ptr %57) #11
  br label %2467

2467:                                             ; preds = %2466
  br label %2468

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

2469:                                             ; No predecessors!
  br label %2470

2470:                                             ; preds = %2469
  br label %2471

2471:                                             ; preds = %2470, %2410
  br label %2472

2472:                                             ; preds = %2471
  br label %2473

2473:                                             ; preds = %2472
  br label %2474

2474:                                             ; preds = %2473
  %2475 = load i32, ptr @test_count, align 4, !tbaa !5
  %2476 = add nsw i32 %2475, 1
  store i32 %2476, ptr @test_count, align 4, !tbaa !5
  %2477 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2478 = load i32, ptr %2477, align 4, !tbaa !5
  %2479 = icmp eq i32 %2478, 469762129
  br i1 %2479, label %2533, label %2480

2480:                                             ; preds = %2474
  br label %2481

2481:                                             ; preds = %2480
  br label %2482

2482:                                             ; preds = %2481
  call void @llvm.lifetime.start.p0(i64 4, ptr %58) #11
  %2483 = call ptr @__errno_location() #12
  %2484 = load i32, ptr %2483, align 4, !tbaa !5
  store i32 %2484, ptr %58, align 4, !tbaa !5
  %2485 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2486 = call i32 @s2n_print_stacktrace(ptr noundef %2485)
  %2487 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2488 = trunc i8 %2487 to i1
  br i1 %2488, label %2489, label %2511

2489:                                             ; preds = %2482
  %2490 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2491 = call i32 @fileno(ptr noundef %2490) #11
  %2492 = call i32 @isatty(i32 noundef %2491) #11
  %2493 = icmp ne i32 %2492, 0
  br i1 %2493, label %2494, label %2511

2494:                                             ; preds = %2489
  %2495 = load i32, ptr %58, align 4, !tbaa !5
  %2496 = call ptr @__errno_location() #12
  store i32 %2495, ptr %2496, align 4, !tbaa !5
  %2497 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2498 = load i32, ptr @test_count, align 4, !tbaa !5
  %2499 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2500 = load i32, ptr %2499, align 4, !tbaa !5
  %2501 = call ptr @s2n_strerror(i32 noundef %2500, ptr noundef @.str.5)
  %2502 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2503 = load i32, ptr %2502, align 4, !tbaa !5
  %2504 = call ptr @s2n_strerror_debug(i32 noundef %2503, ptr noundef @.str.5)
  %2505 = call ptr @__errno_location() #12
  %2506 = load i32, ptr %2505, align 4, !tbaa !5
  %2507 = call ptr @strerror(i32 noundef %2506) #11
  %2508 = call ptr @__errno_location() #12
  %2509 = load i32, ptr %2508, align 4, !tbaa !5
  %2510 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2497, ptr noundef @.str.3, i32 noundef %2498, ptr noundef @.str.22, ptr noundef @.str.2, i32 noundef 151, ptr noundef %2501, ptr noundef %2504, ptr noundef %2507, i32 noundef %2509) #11
  br label %2528

2511:                                             ; preds = %2489, %2482
  %2512 = load i32, ptr %58, align 4, !tbaa !5
  %2513 = call ptr @__errno_location() #12
  store i32 %2512, ptr %2513, align 4, !tbaa !5
  %2514 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2515 = load i32, ptr @test_count, align 4, !tbaa !5
  %2516 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2517 = load i32, ptr %2516, align 4, !tbaa !5
  %2518 = call ptr @s2n_strerror(i32 noundef %2517, ptr noundef @.str.5)
  %2519 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2520 = load i32, ptr %2519, align 4, !tbaa !5
  %2521 = call ptr @s2n_strerror_debug(i32 noundef %2520, ptr noundef @.str.5)
  %2522 = call ptr @__errno_location() #12
  %2523 = load i32, ptr %2522, align 4, !tbaa !5
  %2524 = call ptr @strerror(i32 noundef %2523) #11
  %2525 = call ptr @__errno_location() #12
  %2526 = load i32, ptr %2525, align 4, !tbaa !5
  %2527 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2514, ptr noundef @.str.6, i32 noundef %2515, ptr noundef @.str.22, ptr noundef @.str.2, i32 noundef 151, ptr noundef %2518, ptr noundef %2521, ptr noundef %2524, i32 noundef %2526) #11
  br label %2528

2528:                                             ; preds = %2511, %2494
  call void @llvm.lifetime.end.p0(i64 4, ptr %58) #11
  br label %2529

2529:                                             ; preds = %2528
  br label %2530

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

2531:                                             ; No predecessors!
  br label %2532

2532:                                             ; preds = %2531
  br label %2533

2533:                                             ; preds = %2532, %2474
  br label %2534

2534:                                             ; preds = %2533
  br label %2535

2535:                                             ; preds = %2534
  br label %2536

2536:                                             ; preds = %2535
  %2537 = load i32, ptr @test_count, align 4, !tbaa !5
  %2538 = add nsw i32 %2537, 1
  store i32 %2538, ptr @test_count, align 4, !tbaa !5
  %2539 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2540 = load i32, ptr %2539, align 4, !tbaa !5
  %2541 = call ptr @s2n_strerror_debug(i32 noundef %2540, ptr noundef @.str.5)
  %2542 = icmp eq ptr %2541, null
  br i1 %2542, label %2543, label %2596

2543:                                             ; preds = %2536
  br label %2544

2544:                                             ; preds = %2543
  br label %2545

2545:                                             ; preds = %2544
  call void @llvm.lifetime.start.p0(i64 4, ptr %59) #11
  %2546 = call ptr @__errno_location() #12
  %2547 = load i32, ptr %2546, align 4, !tbaa !5
  store i32 %2547, ptr %59, align 4, !tbaa !5
  %2548 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2549 = call i32 @s2n_print_stacktrace(ptr noundef %2548)
  %2550 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2551 = trunc i8 %2550 to i1
  br i1 %2551, label %2552, label %2574

2552:                                             ; preds = %2545
  %2553 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2554 = call i32 @fileno(ptr noundef %2553) #11
  %2555 = call i32 @isatty(i32 noundef %2554) #11
  %2556 = icmp ne i32 %2555, 0
  br i1 %2556, label %2557, label %2574

2557:                                             ; preds = %2552
  %2558 = load i32, ptr %59, align 4, !tbaa !5
  %2559 = call ptr @__errno_location() #12
  store i32 %2558, ptr %2559, align 4, !tbaa !5
  %2560 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2561 = load i32, ptr @test_count, align 4, !tbaa !5
  %2562 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2563 = load i32, ptr %2562, align 4, !tbaa !5
  %2564 = call ptr @s2n_strerror(i32 noundef %2563, ptr noundef @.str.5)
  %2565 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2566 = load i32, ptr %2565, align 4, !tbaa !5
  %2567 = call ptr @s2n_strerror_debug(i32 noundef %2566, ptr noundef @.str.5)
  %2568 = call ptr @__errno_location() #12
  %2569 = load i32, ptr %2568, align 4, !tbaa !5
  %2570 = call ptr @strerror(i32 noundef %2569) #11
  %2571 = call ptr @__errno_location() #12
  %2572 = load i32, ptr %2571, align 4, !tbaa !5
  %2573 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2560, ptr noundef @.str.3, i32 noundef %2561, ptr noundef @.str.13, ptr noundef @.str.2, i32 noundef 151, ptr noundef %2564, ptr noundef %2567, ptr noundef %2570, i32 noundef %2572) #11
  br label %2591

2574:                                             ; preds = %2552, %2545
  %2575 = load i32, ptr %59, align 4, !tbaa !5
  %2576 = call ptr @__errno_location() #12
  store i32 %2575, ptr %2576, align 4, !tbaa !5
  %2577 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2578 = load i32, ptr @test_count, align 4, !tbaa !5
  %2579 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2580 = load i32, ptr %2579, align 4, !tbaa !5
  %2581 = call ptr @s2n_strerror(i32 noundef %2580, ptr noundef @.str.5)
  %2582 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2583 = load i32, ptr %2582, align 4, !tbaa !5
  %2584 = call ptr @s2n_strerror_debug(i32 noundef %2583, ptr noundef @.str.5)
  %2585 = call ptr @__errno_location() #12
  %2586 = load i32, ptr %2585, align 4, !tbaa !5
  %2587 = call ptr @strerror(i32 noundef %2586) #11
  %2588 = call ptr @__errno_location() #12
  %2589 = load i32, ptr %2588, align 4, !tbaa !5
  %2590 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2577, ptr noundef @.str.6, i32 noundef %2578, ptr noundef @.str.13, ptr noundef @.str.2, i32 noundef 151, ptr noundef %2581, ptr noundef %2584, ptr noundef %2587, i32 noundef %2589) #11
  br label %2591

2591:                                             ; preds = %2574, %2557
  call void @llvm.lifetime.end.p0(i64 4, ptr %59) #11
  br label %2592

2592:                                             ; preds = %2591
  br label %2593

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

2594:                                             ; No predecessors!
  br label %2595

2595:                                             ; preds = %2594
  br label %2596

2596:                                             ; preds = %2595, %2536
  br label %2597

2597:                                             ; preds = %2596
  br label %2598

2598:                                             ; preds = %2597
  br label %2599

2599:                                             ; preds = %2598
  br label %2600

2600:                                             ; preds = %2599
  br label %2601

2601:                                             ; preds = %2600
  %2602 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %2602, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %2603 = call ptr @__errno_location() #12
  store i32 0, ptr %2603, align 4, !tbaa !5
  br label %2604

2604:                                             ; preds = %2601
  br label %2605

2605:                                             ; preds = %2604
  br label %2606

2606:                                             ; preds = %2605
  br label %2607

2607:                                             ; preds = %2606
  call void @llvm.lifetime.end.p0(i64 1, ptr %55) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %54) #11
  call void @llvm.lifetime.end.p0(i64 100, ptr %51) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %50) #11
  call void @llvm.lifetime.end.p0(i64 56, ptr %49) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %48) #11
  call void @llvm.lifetime.start.p0(i64 96, ptr %60) #11
  call void @llvm.memset.p0.i64(ptr align 8 %60, i8 0, i64 96, i1 false)
  call void @llvm.lifetime.start.p0(i64 16, ptr %61) #11
  %2608 = getelementptr inbounds %struct.iovec, ptr %61, i32 0, i32 0
  %2609 = getelementptr inbounds [16384 x i8], ptr %10, i64 0, i64 0
  store ptr %2609, ptr %2608, align 8, !tbaa !16
  %2610 = getelementptr inbounds %struct.iovec, ptr %61, i32 0, i32 1
  store i64 10, ptr %2610, align 8, !tbaa !19
  call void @llvm.lifetime.start.p0(i64 4, ptr %62) #11
  store i32 0, ptr %62, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %63) #11
  store i64 0, ptr %63, align 8, !tbaa !20
  br label %2611

2611:                                             ; preds = %2607
  br label %2612

2612:                                             ; preds = %2611
  br label %2613

2613:                                             ; preds = %2612
  %2614 = load i32, ptr @test_count, align 4, !tbaa !5
  %2615 = add nsw i32 %2614, 1
  store i32 %2615, ptr @test_count, align 4, !tbaa !5
  %2616 = call i32 @s2n_ktls_sendmsg(ptr noundef null, i8 noundef zeroext 43, ptr noundef %61, i64 noundef 1, ptr noundef %62, ptr noundef %63)
  %2617 = getelementptr inbounds %struct.s2n_result, ptr %64, i32 0, i32 0
  store i32 %2616, ptr %2617, align 4
  %2618 = getelementptr inbounds %struct.s2n_result, ptr %64, i32 0, i32 0
  %2619 = load i32, ptr %2618, align 4
  %2620 = call zeroext i1 @s2n_result_is_error(i32 %2619)
  br i1 %2620, label %2674, label %2621

2621:                                             ; preds = %2613
  br label %2622

2622:                                             ; preds = %2621
  br label %2623

2623:                                             ; preds = %2622
  call void @llvm.lifetime.start.p0(i64 4, ptr %65) #11
  %2624 = call ptr @__errno_location() #12
  %2625 = load i32, ptr %2624, align 4, !tbaa !5
  store i32 %2625, ptr %65, align 4, !tbaa !5
  %2626 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2627 = call i32 @s2n_print_stacktrace(ptr noundef %2626)
  %2628 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2629 = trunc i8 %2628 to i1
  br i1 %2629, label %2630, label %2652

2630:                                             ; preds = %2623
  %2631 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2632 = call i32 @fileno(ptr noundef %2631) #11
  %2633 = call i32 @isatty(i32 noundef %2632) #11
  %2634 = icmp ne i32 %2633, 0
  br i1 %2634, label %2635, label %2652

2635:                                             ; preds = %2630
  %2636 = load i32, ptr %65, align 4, !tbaa !5
  %2637 = call ptr @__errno_location() #12
  store i32 %2636, ptr %2637, align 4, !tbaa !5
  %2638 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2639 = load i32, ptr @test_count, align 4, !tbaa !5
  %2640 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2641 = load i32, ptr %2640, align 4, !tbaa !5
  %2642 = call ptr @s2n_strerror(i32 noundef %2641, ptr noundef @.str.5)
  %2643 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2644 = load i32, ptr %2643, align 4, !tbaa !5
  %2645 = call ptr @s2n_strerror_debug(i32 noundef %2644, ptr noundef @.str.5)
  %2646 = call ptr @__errno_location() #12
  %2647 = load i32, ptr %2646, align 4, !tbaa !5
  %2648 = call ptr @strerror(i32 noundef %2647) #11
  %2649 = call ptr @__errno_location() #12
  %2650 = load i32, ptr %2649, align 4, !tbaa !5
  %2651 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2638, ptr noundef @.str.3, i32 noundef %2639, ptr noundef @.str.23, ptr noundef @.str.2, i32 noundef 166, ptr noundef %2642, ptr noundef %2645, ptr noundef %2648, i32 noundef %2650) #11
  br label %2669

2652:                                             ; preds = %2630, %2623
  %2653 = load i32, ptr %65, align 4, !tbaa !5
  %2654 = call ptr @__errno_location() #12
  store i32 %2653, ptr %2654, align 4, !tbaa !5
  %2655 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2656 = load i32, ptr @test_count, align 4, !tbaa !5
  %2657 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2658 = load i32, ptr %2657, align 4, !tbaa !5
  %2659 = call ptr @s2n_strerror(i32 noundef %2658, ptr noundef @.str.5)
  %2660 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2661 = load i32, ptr %2660, align 4, !tbaa !5
  %2662 = call ptr @s2n_strerror_debug(i32 noundef %2661, ptr noundef @.str.5)
  %2663 = call ptr @__errno_location() #12
  %2664 = load i32, ptr %2663, align 4, !tbaa !5
  %2665 = call ptr @strerror(i32 noundef %2664) #11
  %2666 = call ptr @__errno_location() #12
  %2667 = load i32, ptr %2666, align 4, !tbaa !5
  %2668 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2655, ptr noundef @.str.6, i32 noundef %2656, ptr noundef @.str.23, ptr noundef @.str.2, i32 noundef 166, ptr noundef %2659, ptr noundef %2662, ptr noundef %2665, i32 noundef %2667) #11
  br label %2669

2669:                                             ; preds = %2652, %2635
  call void @llvm.lifetime.end.p0(i64 4, ptr %65) #11
  br label %2670

2670:                                             ; preds = %2669
  br label %2671

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

2672:                                             ; No predecessors!
  br label %2673

2673:                                             ; preds = %2672
  br label %2674

2674:                                             ; preds = %2673, %2613
  br label %2675

2675:                                             ; preds = %2674
  br label %2676

2676:                                             ; preds = %2675
  br label %2677

2677:                                             ; preds = %2676
  %2678 = load i32, ptr @test_count, align 4, !tbaa !5
  %2679 = add nsw i32 %2678, 1
  store i32 %2679, ptr @test_count, align 4, !tbaa !5
  %2680 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2681 = load i32, ptr %2680, align 4, !tbaa !5
  %2682 = icmp eq i32 %2681, 67108864
  br i1 %2682, label %2736, label %2683

2683:                                             ; preds = %2677
  br label %2684

2684:                                             ; preds = %2683
  br label %2685

2685:                                             ; preds = %2684
  call void @llvm.lifetime.start.p0(i64 4, ptr %66) #11
  %2686 = call ptr @__errno_location() #12
  %2687 = load i32, ptr %2686, align 4, !tbaa !5
  store i32 %2687, ptr %66, align 4, !tbaa !5
  %2688 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2689 = call i32 @s2n_print_stacktrace(ptr noundef %2688)
  %2690 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2691 = trunc i8 %2690 to i1
  br i1 %2691, label %2692, label %2714

2692:                                             ; preds = %2685
  %2693 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2694 = call i32 @fileno(ptr noundef %2693) #11
  %2695 = call i32 @isatty(i32 noundef %2694) #11
  %2696 = icmp ne i32 %2695, 0
  br i1 %2696, label %2697, label %2714

2697:                                             ; preds = %2692
  %2698 = load i32, ptr %66, align 4, !tbaa !5
  %2699 = call ptr @__errno_location() #12
  store i32 %2698, ptr %2699, align 4, !tbaa !5
  %2700 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2701 = load i32, ptr @test_count, align 4, !tbaa !5
  %2702 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2703 = load i32, ptr %2702, align 4, !tbaa !5
  %2704 = call ptr @s2n_strerror(i32 noundef %2703, ptr noundef @.str.5)
  %2705 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2706 = load i32, ptr %2705, align 4, !tbaa !5
  %2707 = call ptr @s2n_strerror_debug(i32 noundef %2706, ptr noundef @.str.5)
  %2708 = call ptr @__errno_location() #12
  %2709 = load i32, ptr %2708, align 4, !tbaa !5
  %2710 = call ptr @strerror(i32 noundef %2709) #11
  %2711 = call ptr @__errno_location() #12
  %2712 = load i32, ptr %2711, align 4, !tbaa !5
  %2713 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2700, ptr noundef @.str.3, i32 noundef %2701, ptr noundef @.str.24, ptr noundef @.str.2, i32 noundef 166, ptr noundef %2704, ptr noundef %2707, ptr noundef %2710, i32 noundef %2712) #11
  br label %2731

2714:                                             ; preds = %2692, %2685
  %2715 = load i32, ptr %66, align 4, !tbaa !5
  %2716 = call ptr @__errno_location() #12
  store i32 %2715, ptr %2716, align 4, !tbaa !5
  %2717 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2718 = load i32, ptr @test_count, align 4, !tbaa !5
  %2719 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2720 = load i32, ptr %2719, align 4, !tbaa !5
  %2721 = call ptr @s2n_strerror(i32 noundef %2720, ptr noundef @.str.5)
  %2722 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2723 = load i32, ptr %2722, align 4, !tbaa !5
  %2724 = call ptr @s2n_strerror_debug(i32 noundef %2723, ptr noundef @.str.5)
  %2725 = call ptr @__errno_location() #12
  %2726 = load i32, ptr %2725, align 4, !tbaa !5
  %2727 = call ptr @strerror(i32 noundef %2726) #11
  %2728 = call ptr @__errno_location() #12
  %2729 = load i32, ptr %2728, align 4, !tbaa !5
  %2730 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2717, ptr noundef @.str.6, i32 noundef %2718, ptr noundef @.str.24, ptr noundef @.str.2, i32 noundef 166, ptr noundef %2721, ptr noundef %2724, ptr noundef %2727, i32 noundef %2729) #11
  br label %2731

2731:                                             ; preds = %2714, %2697
  call void @llvm.lifetime.end.p0(i64 4, ptr %66) #11
  br label %2732

2732:                                             ; preds = %2731
  br label %2733

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

2734:                                             ; No predecessors!
  br label %2735

2735:                                             ; preds = %2734
  br label %2736

2736:                                             ; preds = %2735, %2677
  br label %2737

2737:                                             ; preds = %2736
  br label %2738

2738:                                             ; preds = %2737
  br label %2739

2739:                                             ; preds = %2738
  %2740 = load i32, ptr @test_count, align 4, !tbaa !5
  %2741 = add nsw i32 %2740, 1
  store i32 %2741, ptr @test_count, align 4, !tbaa !5
  %2742 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2743 = load i32, ptr %2742, align 4, !tbaa !5
  %2744 = call ptr @s2n_strerror_debug(i32 noundef %2743, ptr noundef @.str.5)
  %2745 = icmp eq ptr %2744, null
  br i1 %2745, label %2746, label %2799

2746:                                             ; preds = %2739
  br label %2747

2747:                                             ; preds = %2746
  br label %2748

2748:                                             ; preds = %2747
  call void @llvm.lifetime.start.p0(i64 4, ptr %67) #11
  %2749 = call ptr @__errno_location() #12
  %2750 = load i32, ptr %2749, align 4, !tbaa !5
  store i32 %2750, ptr %67, align 4, !tbaa !5
  %2751 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2752 = call i32 @s2n_print_stacktrace(ptr noundef %2751)
  %2753 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2754 = trunc i8 %2753 to i1
  br i1 %2754, label %2755, label %2777

2755:                                             ; preds = %2748
  %2756 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2757 = call i32 @fileno(ptr noundef %2756) #11
  %2758 = call i32 @isatty(i32 noundef %2757) #11
  %2759 = icmp ne i32 %2758, 0
  br i1 %2759, label %2760, label %2777

2760:                                             ; preds = %2755
  %2761 = load i32, ptr %67, align 4, !tbaa !5
  %2762 = call ptr @__errno_location() #12
  store i32 %2761, ptr %2762, align 4, !tbaa !5
  %2763 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2764 = load i32, ptr @test_count, align 4, !tbaa !5
  %2765 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2766 = load i32, ptr %2765, align 4, !tbaa !5
  %2767 = call ptr @s2n_strerror(i32 noundef %2766, ptr noundef @.str.5)
  %2768 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2769 = load i32, ptr %2768, align 4, !tbaa !5
  %2770 = call ptr @s2n_strerror_debug(i32 noundef %2769, ptr noundef @.str.5)
  %2771 = call ptr @__errno_location() #12
  %2772 = load i32, ptr %2771, align 4, !tbaa !5
  %2773 = call ptr @strerror(i32 noundef %2772) #11
  %2774 = call ptr @__errno_location() #12
  %2775 = load i32, ptr %2774, align 4, !tbaa !5
  %2776 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2763, ptr noundef @.str.3, i32 noundef %2764, ptr noundef @.str.13, ptr noundef @.str.2, i32 noundef 166, ptr noundef %2767, ptr noundef %2770, ptr noundef %2773, i32 noundef %2775) #11
  br label %2794

2777:                                             ; preds = %2755, %2748
  %2778 = load i32, ptr %67, align 4, !tbaa !5
  %2779 = call ptr @__errno_location() #12
  store i32 %2778, ptr %2779, align 4, !tbaa !5
  %2780 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2781 = load i32, ptr @test_count, align 4, !tbaa !5
  %2782 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2783 = load i32, ptr %2782, align 4, !tbaa !5
  %2784 = call ptr @s2n_strerror(i32 noundef %2783, ptr noundef @.str.5)
  %2785 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2786 = load i32, ptr %2785, align 4, !tbaa !5
  %2787 = call ptr @s2n_strerror_debug(i32 noundef %2786, ptr noundef @.str.5)
  %2788 = call ptr @__errno_location() #12
  %2789 = load i32, ptr %2788, align 4, !tbaa !5
  %2790 = call ptr @strerror(i32 noundef %2789) #11
  %2791 = call ptr @__errno_location() #12
  %2792 = load i32, ptr %2791, align 4, !tbaa !5
  %2793 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2780, ptr noundef @.str.6, i32 noundef %2781, ptr noundef @.str.13, ptr noundef @.str.2, i32 noundef 166, ptr noundef %2784, ptr noundef %2787, ptr noundef %2790, i32 noundef %2792) #11
  br label %2794

2794:                                             ; preds = %2777, %2760
  call void @llvm.lifetime.end.p0(i64 4, ptr %67) #11
  br label %2795

2795:                                             ; preds = %2794
  br label %2796

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

2797:                                             ; No predecessors!
  br label %2798

2798:                                             ; preds = %2797
  br label %2799

2799:                                             ; preds = %2798, %2739
  br label %2800

2800:                                             ; preds = %2799
  br label %2801

2801:                                             ; preds = %2800
  br label %2802

2802:                                             ; preds = %2801
  br label %2803

2803:                                             ; preds = %2802
  br label %2804

2804:                                             ; preds = %2803
  %2805 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %2805, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %2806 = call ptr @__errno_location() #12
  store i32 0, ptr %2806, align 4, !tbaa !5
  br label %2807

2807:                                             ; preds = %2804
  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
  br label %2813

2813:                                             ; preds = %2812
  %2814 = load i32, ptr @test_count, align 4, !tbaa !5
  %2815 = add nsw i32 %2814, 1
  store i32 %2815, ptr @test_count, align 4, !tbaa !5
  %2816 = call i32 @s2n_ktls_sendmsg(ptr noundef %60, i8 noundef zeroext 43, ptr noundef null, i64 noundef 1, ptr noundef %62, ptr noundef %63)
  %2817 = getelementptr inbounds %struct.s2n_result, ptr %68, i32 0, i32 0
  store i32 %2816, ptr %2817, align 4
  %2818 = getelementptr inbounds %struct.s2n_result, ptr %68, i32 0, i32 0
  %2819 = load i32, ptr %2818, align 4
  %2820 = call zeroext i1 @s2n_result_is_error(i32 %2819)
  br i1 %2820, label %2874, label %2821

2821:                                             ; preds = %2813
  br label %2822

2822:                                             ; preds = %2821
  br label %2823

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

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

2835:                                             ; preds = %2830
  %2836 = load i32, ptr %69, align 4, !tbaa !5
  %2837 = call ptr @__errno_location() #12
  store i32 %2836, ptr %2837, align 4, !tbaa !5
  %2838 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2839 = load i32, ptr @test_count, align 4, !tbaa !5
  %2840 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2841 = load i32, ptr %2840, align 4, !tbaa !5
  %2842 = call ptr @s2n_strerror(i32 noundef %2841, ptr noundef @.str.5)
  %2843 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2844 = load i32, ptr %2843, align 4, !tbaa !5
  %2845 = call ptr @s2n_strerror_debug(i32 noundef %2844, ptr noundef @.str.5)
  %2846 = call ptr @__errno_location() #12
  %2847 = load i32, ptr %2846, align 4, !tbaa !5
  %2848 = call ptr @strerror(i32 noundef %2847) #11
  %2849 = call ptr @__errno_location() #12
  %2850 = load i32, ptr %2849, align 4, !tbaa !5
  %2851 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2838, ptr noundef @.str.3, i32 noundef %2839, ptr noundef @.str.25, ptr noundef @.str.2, i32 noundef 169, ptr noundef %2842, ptr noundef %2845, ptr noundef %2848, i32 noundef %2850) #11
  br label %2869

2852:                                             ; preds = %2830, %2823
  %2853 = load i32, ptr %69, align 4, !tbaa !5
  %2854 = call ptr @__errno_location() #12
  store i32 %2853, ptr %2854, align 4, !tbaa !5
  %2855 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2856 = load i32, ptr @test_count, align 4, !tbaa !5
  %2857 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2858 = load i32, ptr %2857, align 4, !tbaa !5
  %2859 = call ptr @s2n_strerror(i32 noundef %2858, ptr noundef @.str.5)
  %2860 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2861 = load i32, ptr %2860, align 4, !tbaa !5
  %2862 = call ptr @s2n_strerror_debug(i32 noundef %2861, ptr noundef @.str.5)
  %2863 = call ptr @__errno_location() #12
  %2864 = load i32, ptr %2863, align 4, !tbaa !5
  %2865 = call ptr @strerror(i32 noundef %2864) #11
  %2866 = call ptr @__errno_location() #12
  %2867 = load i32, ptr %2866, align 4, !tbaa !5
  %2868 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2855, ptr noundef @.str.6, i32 noundef %2856, ptr noundef @.str.25, ptr noundef @.str.2, i32 noundef 169, ptr noundef %2859, ptr noundef %2862, ptr noundef %2865, i32 noundef %2867) #11
  br label %2869

2869:                                             ; preds = %2852, %2835
  call void @llvm.lifetime.end.p0(i64 4, ptr %69) #11
  br label %2870

2870:                                             ; preds = %2869
  br label %2871

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

2872:                                             ; No predecessors!
  br label %2873

2873:                                             ; preds = %2872
  br label %2874

2874:                                             ; preds = %2873, %2813
  br label %2875

2875:                                             ; preds = %2874
  br label %2876

2876:                                             ; preds = %2875
  br label %2877

2877:                                             ; preds = %2876
  %2878 = load i32, ptr @test_count, align 4, !tbaa !5
  %2879 = add nsw i32 %2878, 1
  store i32 %2879, ptr @test_count, align 4, !tbaa !5
  %2880 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2881 = load i32, ptr %2880, align 4, !tbaa !5
  %2882 = icmp eq i32 %2881, 402653193
  br i1 %2882, label %2936, label %2883

2883:                                             ; preds = %2877
  br label %2884

2884:                                             ; preds = %2883
  br label %2885

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

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

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

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

2931:                                             ; preds = %2914, %2897
  call void @llvm.lifetime.end.p0(i64 4, ptr %70) #11
  br label %2932

2932:                                             ; preds = %2931
  br label %2933

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

2934:                                             ; No predecessors!
  br label %2935

2935:                                             ; preds = %2934
  br label %2936

2936:                                             ; preds = %2935, %2877
  br label %2937

2937:                                             ; preds = %2936
  br label %2938

2938:                                             ; preds = %2937
  br label %2939

2939:                                             ; preds = %2938
  %2940 = load i32, ptr @test_count, align 4, !tbaa !5
  %2941 = add nsw i32 %2940, 1
  store i32 %2941, ptr @test_count, align 4, !tbaa !5
  %2942 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2943 = load i32, ptr %2942, align 4, !tbaa !5
  %2944 = call ptr @s2n_strerror_debug(i32 noundef %2943, ptr noundef @.str.5)
  %2945 = icmp eq ptr %2944, null
  br i1 %2945, label %2946, label %2999

2946:                                             ; preds = %2939
  br label %2947

2947:                                             ; preds = %2946
  br label %2948

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

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

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

2977:                                             ; preds = %2955, %2948
  %2978 = load i32, ptr %71, align 4, !tbaa !5
  %2979 = call ptr @__errno_location() #12
  store i32 %2978, ptr %2979, align 4, !tbaa !5
  %2980 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2981 = load i32, ptr @test_count, align 4, !tbaa !5
  %2982 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2983 = load i32, ptr %2982, align 4, !tbaa !5
  %2984 = call ptr @s2n_strerror(i32 noundef %2983, ptr noundef @.str.5)
  %2985 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2986 = load i32, ptr %2985, align 4, !tbaa !5
  %2987 = call ptr @s2n_strerror_debug(i32 noundef %2986, ptr noundef @.str.5)
  %2988 = call ptr @__errno_location() #12
  %2989 = load i32, ptr %2988, align 4, !tbaa !5
  %2990 = call ptr @strerror(i32 noundef %2989) #11
  %2991 = call ptr @__errno_location() #12
  %2992 = load i32, ptr %2991, align 4, !tbaa !5
  %2993 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2980, ptr noundef @.str.6, i32 noundef %2981, ptr noundef @.str.13, ptr noundef @.str.2, i32 noundef 169, ptr noundef %2984, ptr noundef %2987, ptr noundef %2990, i32 noundef %2992) #11
  br label %2994

2994:                                             ; preds = %2977, %2960
  call void @llvm.lifetime.end.p0(i64 4, ptr %71) #11
  br label %2995

2995:                                             ; preds = %2994
  br label %2996

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

2997:                                             ; No predecessors!
  br label %2998

2998:                                             ; preds = %2997
  br label %2999

2999:                                             ; preds = %2998, %2939
  br label %3000

3000:                                             ; preds = %2999
  br label %3001

3001:                                             ; preds = %3000
  br label %3002

3002:                                             ; preds = %3001
  br label %3003

3003:                                             ; preds = %3002
  br label %3004

3004:                                             ; preds = %3003
  %3005 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %3005, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %3006 = call ptr @__errno_location() #12
  store i32 0, ptr %3006, align 4, !tbaa !5
  br label %3007

3007:                                             ; preds = %3004
  br label %3008

3008:                                             ; preds = %3007
  br label %3009

3009:                                             ; preds = %3008
  br label %3010

3010:                                             ; preds = %3009
  br label %3011

3011:                                             ; preds = %3010
  br label %3012

3012:                                             ; preds = %3011
  br label %3013

3013:                                             ; preds = %3012
  %3014 = load i32, ptr @test_count, align 4, !tbaa !5
  %3015 = add nsw i32 %3014, 1
  store i32 %3015, ptr @test_count, align 4, !tbaa !5
  %3016 = call i32 @s2n_ktls_sendmsg(ptr noundef %60, i8 noundef zeroext 43, ptr noundef %61, i64 noundef 1, ptr noundef null, ptr noundef %63)
  %3017 = getelementptr inbounds %struct.s2n_result, ptr %72, i32 0, i32 0
  store i32 %3016, ptr %3017, align 4
  %3018 = getelementptr inbounds %struct.s2n_result, ptr %72, i32 0, i32 0
  %3019 = load i32, ptr %3018, align 4
  %3020 = call zeroext i1 @s2n_result_is_error(i32 %3019)
  br i1 %3020, label %3074, label %3021

3021:                                             ; preds = %3013
  br label %3022

3022:                                             ; preds = %3021
  br label %3023

3023:                                             ; preds = %3022
  call void @llvm.lifetime.start.p0(i64 4, ptr %73) #11
  %3024 = call ptr @__errno_location() #12
  %3025 = load i32, ptr %3024, align 4, !tbaa !5
  store i32 %3025, ptr %73, align 4, !tbaa !5
  %3026 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3027 = call i32 @s2n_print_stacktrace(ptr noundef %3026)
  %3028 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3029 = trunc i8 %3028 to i1
  br i1 %3029, label %3030, label %3052

3030:                                             ; preds = %3023
  %3031 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3032 = call i32 @fileno(ptr noundef %3031) #11
  %3033 = call i32 @isatty(i32 noundef %3032) #11
  %3034 = icmp ne i32 %3033, 0
  br i1 %3034, label %3035, label %3052

3035:                                             ; preds = %3030
  %3036 = load i32, ptr %73, align 4, !tbaa !5
  %3037 = call ptr @__errno_location() #12
  store i32 %3036, ptr %3037, align 4, !tbaa !5
  %3038 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3039 = load i32, ptr @test_count, align 4, !tbaa !5
  %3040 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3041 = load i32, ptr %3040, align 4, !tbaa !5
  %3042 = call ptr @s2n_strerror(i32 noundef %3041, ptr noundef @.str.5)
  %3043 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3044 = load i32, ptr %3043, align 4, !tbaa !5
  %3045 = call ptr @s2n_strerror_debug(i32 noundef %3044, ptr noundef @.str.5)
  %3046 = call ptr @__errno_location() #12
  %3047 = load i32, ptr %3046, align 4, !tbaa !5
  %3048 = call ptr @strerror(i32 noundef %3047) #11
  %3049 = call ptr @__errno_location() #12
  %3050 = load i32, ptr %3049, align 4, !tbaa !5
  %3051 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3038, ptr noundef @.str.3, i32 noundef %3039, ptr noundef @.str.26, ptr noundef @.str.2, i32 noundef 172, ptr noundef %3042, ptr noundef %3045, ptr noundef %3048, i32 noundef %3050) #11
  br label %3069

3052:                                             ; preds = %3030, %3023
  %3053 = load i32, ptr %73, align 4, !tbaa !5
  %3054 = call ptr @__errno_location() #12
  store i32 %3053, ptr %3054, align 4, !tbaa !5
  %3055 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3056 = load i32, ptr @test_count, align 4, !tbaa !5
  %3057 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3058 = load i32, ptr %3057, align 4, !tbaa !5
  %3059 = call ptr @s2n_strerror(i32 noundef %3058, ptr noundef @.str.5)
  %3060 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3061 = load i32, ptr %3060, align 4, !tbaa !5
  %3062 = call ptr @s2n_strerror_debug(i32 noundef %3061, ptr noundef @.str.5)
  %3063 = call ptr @__errno_location() #12
  %3064 = load i32, ptr %3063, align 4, !tbaa !5
  %3065 = call ptr @strerror(i32 noundef %3064) #11
  %3066 = call ptr @__errno_location() #12
  %3067 = load i32, ptr %3066, align 4, !tbaa !5
  %3068 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3055, ptr noundef @.str.6, i32 noundef %3056, ptr noundef @.str.26, ptr noundef @.str.2, i32 noundef 172, ptr noundef %3059, ptr noundef %3062, ptr noundef %3065, i32 noundef %3067) #11
  br label %3069

3069:                                             ; preds = %3052, %3035
  call void @llvm.lifetime.end.p0(i64 4, ptr %73) #11
  br label %3070

3070:                                             ; preds = %3069
  br label %3071

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

3072:                                             ; No predecessors!
  br label %3073

3073:                                             ; preds = %3072
  br label %3074

3074:                                             ; preds = %3073, %3013
  br label %3075

3075:                                             ; preds = %3074
  br label %3076

3076:                                             ; preds = %3075
  br label %3077

3077:                                             ; preds = %3076
  %3078 = load i32, ptr @test_count, align 4, !tbaa !5
  %3079 = add nsw i32 %3078, 1
  store i32 %3079, ptr @test_count, align 4, !tbaa !5
  %3080 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3081 = load i32, ptr %3080, align 4, !tbaa !5
  %3082 = icmp eq i32 %3081, 402653193
  br i1 %3082, label %3136, label %3083

3083:                                             ; preds = %3077
  br label %3084

3084:                                             ; preds = %3083
  br label %3085

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

3092:                                             ; preds = %3085
  %3093 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3094 = call i32 @fileno(ptr noundef %3093) #11
  %3095 = call i32 @isatty(i32 noundef %3094) #11
  %3096 = icmp ne i32 %3095, 0
  br i1 %3096, label %3097, label %3114

3097:                                             ; preds = %3092
  %3098 = load i32, ptr %74, align 4, !tbaa !5
  %3099 = call ptr @__errno_location() #12
  store i32 %3098, ptr %3099, align 4, !tbaa !5
  %3100 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3101 = load i32, ptr @test_count, align 4, !tbaa !5
  %3102 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3103 = load i32, ptr %3102, align 4, !tbaa !5
  %3104 = call ptr @s2n_strerror(i32 noundef %3103, ptr noundef @.str.5)
  %3105 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3106 = load i32, ptr %3105, align 4, !tbaa !5
  %3107 = call ptr @s2n_strerror_debug(i32 noundef %3106, ptr noundef @.str.5)
  %3108 = call ptr @__errno_location() #12
  %3109 = load i32, ptr %3108, align 4, !tbaa !5
  %3110 = call ptr @strerror(i32 noundef %3109) #11
  %3111 = call ptr @__errno_location() #12
  %3112 = load i32, ptr %3111, align 4, !tbaa !5
  %3113 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3100, ptr noundef @.str.3, i32 noundef %3101, ptr noundef @.str.12, ptr noundef @.str.2, i32 noundef 172, ptr noundef %3104, ptr noundef %3107, ptr noundef %3110, i32 noundef %3112) #11
  br label %3131

3114:                                             ; preds = %3092, %3085
  %3115 = load i32, ptr %74, align 4, !tbaa !5
  %3116 = call ptr @__errno_location() #12
  store i32 %3115, ptr %3116, align 4, !tbaa !5
  %3117 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3118 = load i32, ptr @test_count, align 4, !tbaa !5
  %3119 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3120 = load i32, ptr %3119, align 4, !tbaa !5
  %3121 = call ptr @s2n_strerror(i32 noundef %3120, ptr noundef @.str.5)
  %3122 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3123 = load i32, ptr %3122, align 4, !tbaa !5
  %3124 = call ptr @s2n_strerror_debug(i32 noundef %3123, ptr noundef @.str.5)
  %3125 = call ptr @__errno_location() #12
  %3126 = load i32, ptr %3125, align 4, !tbaa !5
  %3127 = call ptr @strerror(i32 noundef %3126) #11
  %3128 = call ptr @__errno_location() #12
  %3129 = load i32, ptr %3128, align 4, !tbaa !5
  %3130 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3117, ptr noundef @.str.6, i32 noundef %3118, ptr noundef @.str.12, ptr noundef @.str.2, i32 noundef 172, ptr noundef %3121, ptr noundef %3124, ptr noundef %3127, i32 noundef %3129) #11
  br label %3131

3131:                                             ; preds = %3114, %3097
  call void @llvm.lifetime.end.p0(i64 4, ptr %74) #11
  br label %3132

3132:                                             ; preds = %3131
  br label %3133

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

3134:                                             ; No predecessors!
  br label %3135

3135:                                             ; preds = %3134
  br label %3136

3136:                                             ; preds = %3135, %3077
  br label %3137

3137:                                             ; preds = %3136
  br label %3138

3138:                                             ; preds = %3137
  br label %3139

3139:                                             ; preds = %3138
  %3140 = load i32, ptr @test_count, align 4, !tbaa !5
  %3141 = add nsw i32 %3140, 1
  store i32 %3141, ptr @test_count, align 4, !tbaa !5
  %3142 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3143 = load i32, ptr %3142, align 4, !tbaa !5
  %3144 = call ptr @s2n_strerror_debug(i32 noundef %3143, ptr noundef @.str.5)
  %3145 = icmp eq ptr %3144, null
  br i1 %3145, label %3146, label %3199

3146:                                             ; preds = %3139
  br label %3147

3147:                                             ; preds = %3146
  br label %3148

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

3155:                                             ; preds = %3148
  %3156 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3157 = call i32 @fileno(ptr noundef %3156) #11
  %3158 = call i32 @isatty(i32 noundef %3157) #11
  %3159 = icmp ne i32 %3158, 0
  br i1 %3159, label %3160, label %3177

3160:                                             ; preds = %3155
  %3161 = load i32, ptr %75, align 4, !tbaa !5
  %3162 = call ptr @__errno_location() #12
  store i32 %3161, ptr %3162, align 4, !tbaa !5
  %3163 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3164 = load i32, ptr @test_count, align 4, !tbaa !5
  %3165 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3166 = load i32, ptr %3165, align 4, !tbaa !5
  %3167 = call ptr @s2n_strerror(i32 noundef %3166, ptr noundef @.str.5)
  %3168 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3169 = load i32, ptr %3168, align 4, !tbaa !5
  %3170 = call ptr @s2n_strerror_debug(i32 noundef %3169, ptr noundef @.str.5)
  %3171 = call ptr @__errno_location() #12
  %3172 = load i32, ptr %3171, align 4, !tbaa !5
  %3173 = call ptr @strerror(i32 noundef %3172) #11
  %3174 = call ptr @__errno_location() #12
  %3175 = load i32, ptr %3174, align 4, !tbaa !5
  %3176 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3163, ptr noundef @.str.3, i32 noundef %3164, ptr noundef @.str.13, ptr noundef @.str.2, i32 noundef 172, ptr noundef %3167, ptr noundef %3170, ptr noundef %3173, i32 noundef %3175) #11
  br label %3194

3177:                                             ; preds = %3155, %3148
  %3178 = load i32, ptr %75, align 4, !tbaa !5
  %3179 = call ptr @__errno_location() #12
  store i32 %3178, ptr %3179, align 4, !tbaa !5
  %3180 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3181 = load i32, ptr @test_count, align 4, !tbaa !5
  %3182 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3183 = load i32, ptr %3182, align 4, !tbaa !5
  %3184 = call ptr @s2n_strerror(i32 noundef %3183, ptr noundef @.str.5)
  %3185 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3186 = load i32, ptr %3185, align 4, !tbaa !5
  %3187 = call ptr @s2n_strerror_debug(i32 noundef %3186, ptr noundef @.str.5)
  %3188 = call ptr @__errno_location() #12
  %3189 = load i32, ptr %3188, align 4, !tbaa !5
  %3190 = call ptr @strerror(i32 noundef %3189) #11
  %3191 = call ptr @__errno_location() #12
  %3192 = load i32, ptr %3191, align 4, !tbaa !5
  %3193 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3180, ptr noundef @.str.6, i32 noundef %3181, ptr noundef @.str.13, ptr noundef @.str.2, i32 noundef 172, ptr noundef %3184, ptr noundef %3187, ptr noundef %3190, i32 noundef %3192) #11
  br label %3194

3194:                                             ; preds = %3177, %3160
  call void @llvm.lifetime.end.p0(i64 4, ptr %75) #11
  br label %3195

3195:                                             ; preds = %3194
  br label %3196

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

3197:                                             ; No predecessors!
  br label %3198

3198:                                             ; preds = %3197
  br label %3199

3199:                                             ; preds = %3198, %3139
  br label %3200

3200:                                             ; preds = %3199
  br label %3201

3201:                                             ; preds = %3200
  br label %3202

3202:                                             ; preds = %3201
  br label %3203

3203:                                             ; preds = %3202
  br label %3204

3204:                                             ; preds = %3203
  %3205 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %3205, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %3206 = call ptr @__errno_location() #12
  store i32 0, ptr %3206, align 4, !tbaa !5
  br label %3207

3207:                                             ; preds = %3204
  br label %3208

3208:                                             ; preds = %3207
  br label %3209

3209:                                             ; preds = %3208
  br label %3210

3210:                                             ; preds = %3209
  br label %3211

3211:                                             ; preds = %3210
  br label %3212

3212:                                             ; preds = %3211
  br label %3213

3213:                                             ; preds = %3212
  %3214 = load i32, ptr @test_count, align 4, !tbaa !5
  %3215 = add nsw i32 %3214, 1
  store i32 %3215, ptr @test_count, align 4, !tbaa !5
  %3216 = call i32 @s2n_ktls_sendmsg(ptr noundef %60, i8 noundef zeroext 43, ptr noundef %61, i64 noundef 1, ptr noundef %62, ptr noundef null)
  %3217 = getelementptr inbounds %struct.s2n_result, ptr %76, i32 0, i32 0
  store i32 %3216, ptr %3217, align 4
  %3218 = getelementptr inbounds %struct.s2n_result, ptr %76, i32 0, i32 0
  %3219 = load i32, ptr %3218, align 4
  %3220 = call zeroext i1 @s2n_result_is_error(i32 %3219)
  br i1 %3220, label %3274, label %3221

3221:                                             ; preds = %3213
  br label %3222

3222:                                             ; preds = %3221
  br label %3223

3223:                                             ; preds = %3222
  call void @llvm.lifetime.start.p0(i64 4, ptr %77) #11
  %3224 = call ptr @__errno_location() #12
  %3225 = load i32, ptr %3224, align 4, !tbaa !5
  store i32 %3225, ptr %77, align 4, !tbaa !5
  %3226 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3227 = call i32 @s2n_print_stacktrace(ptr noundef %3226)
  %3228 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3229 = trunc i8 %3228 to i1
  br i1 %3229, label %3230, label %3252

3230:                                             ; preds = %3223
  %3231 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3232 = call i32 @fileno(ptr noundef %3231) #11
  %3233 = call i32 @isatty(i32 noundef %3232) #11
  %3234 = icmp ne i32 %3233, 0
  br i1 %3234, label %3235, label %3252

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

3252:                                             ; preds = %3230, %3223
  %3253 = load i32, ptr %77, align 4, !tbaa !5
  %3254 = call ptr @__errno_location() #12
  store i32 %3253, ptr %3254, align 4, !tbaa !5
  %3255 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3256 = load i32, ptr @test_count, align 4, !tbaa !5
  %3257 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3258 = load i32, ptr %3257, align 4, !tbaa !5
  %3259 = call ptr @s2n_strerror(i32 noundef %3258, ptr noundef @.str.5)
  %3260 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3261 = load i32, ptr %3260, align 4, !tbaa !5
  %3262 = call ptr @s2n_strerror_debug(i32 noundef %3261, ptr noundef @.str.5)
  %3263 = call ptr @__errno_location() #12
  %3264 = load i32, ptr %3263, align 4, !tbaa !5
  %3265 = call ptr @strerror(i32 noundef %3264) #11
  %3266 = call ptr @__errno_location() #12
  %3267 = load i32, ptr %3266, align 4, !tbaa !5
  %3268 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3255, ptr noundef @.str.6, i32 noundef %3256, ptr noundef @.str.27, ptr noundef @.str.2, i32 noundef 175, ptr noundef %3259, ptr noundef %3262, ptr noundef %3265, i32 noundef %3267) #11
  br label %3269

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

3270:                                             ; preds = %3269
  br label %3271

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

3272:                                             ; No predecessors!
  br label %3273

3273:                                             ; preds = %3272
  br label %3274

3274:                                             ; preds = %3273, %3213
  br label %3275

3275:                                             ; preds = %3274
  br label %3276

3276:                                             ; preds = %3275
  br label %3277

3277:                                             ; preds = %3276
  %3278 = load i32, ptr @test_count, align 4, !tbaa !5
  %3279 = add nsw i32 %3278, 1
  store i32 %3279, ptr @test_count, align 4, !tbaa !5
  %3280 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3281 = load i32, ptr %3280, align 4, !tbaa !5
  %3282 = icmp eq i32 %3281, 402653193
  br i1 %3282, label %3336, label %3283

3283:                                             ; preds = %3277
  br label %3284

3284:                                             ; preds = %3283
  br label %3285

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

3292:                                             ; preds = %3285
  %3293 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3294 = call i32 @fileno(ptr noundef %3293) #11
  %3295 = call i32 @isatty(i32 noundef %3294) #11
  %3296 = icmp ne i32 %3295, 0
  br i1 %3296, label %3297, label %3314

3297:                                             ; preds = %3292
  %3298 = load i32, ptr %78, align 4, !tbaa !5
  %3299 = call ptr @__errno_location() #12
  store i32 %3298, ptr %3299, align 4, !tbaa !5
  %3300 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3301 = load i32, ptr @test_count, align 4, !tbaa !5
  %3302 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3303 = load i32, ptr %3302, align 4, !tbaa !5
  %3304 = call ptr @s2n_strerror(i32 noundef %3303, ptr noundef @.str.5)
  %3305 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3306 = load i32, ptr %3305, align 4, !tbaa !5
  %3307 = call ptr @s2n_strerror_debug(i32 noundef %3306, ptr noundef @.str.5)
  %3308 = call ptr @__errno_location() #12
  %3309 = load i32, ptr %3308, align 4, !tbaa !5
  %3310 = call ptr @strerror(i32 noundef %3309) #11
  %3311 = call ptr @__errno_location() #12
  %3312 = load i32, ptr %3311, align 4, !tbaa !5
  %3313 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3300, ptr noundef @.str.3, i32 noundef %3301, ptr noundef @.str.12, ptr noundef @.str.2, i32 noundef 175, ptr noundef %3304, ptr noundef %3307, ptr noundef %3310, i32 noundef %3312) #11
  br label %3331

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

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

3332:                                             ; preds = %3331
  br label %3333

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

3334:                                             ; No predecessors!
  br label %3335

3335:                                             ; preds = %3334
  br label %3336

3336:                                             ; preds = %3335, %3277
  br label %3337

3337:                                             ; preds = %3336
  br label %3338

3338:                                             ; preds = %3337
  br label %3339

3339:                                             ; preds = %3338
  %3340 = load i32, ptr @test_count, align 4, !tbaa !5
  %3341 = add nsw i32 %3340, 1
  store i32 %3341, ptr @test_count, align 4, !tbaa !5
  %3342 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3343 = load i32, ptr %3342, align 4, !tbaa !5
  %3344 = call ptr @s2n_strerror_debug(i32 noundef %3343, ptr noundef @.str.5)
  %3345 = icmp eq ptr %3344, null
  br i1 %3345, label %3346, label %3399

3346:                                             ; preds = %3339
  br label %3347

3347:                                             ; preds = %3346
  br label %3348

3348:                                             ; preds = %3347
  call void @llvm.lifetime.start.p0(i64 4, ptr %79) #11
  %3349 = call ptr @__errno_location() #12
  %3350 = load i32, ptr %3349, align 4, !tbaa !5
  store i32 %3350, ptr %79, align 4, !tbaa !5
  %3351 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3352 = call i32 @s2n_print_stacktrace(ptr noundef %3351)
  %3353 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3354 = trunc i8 %3353 to i1
  br i1 %3354, label %3355, label %3377

3355:                                             ; preds = %3348
  %3356 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3357 = call i32 @fileno(ptr noundef %3356) #11
  %3358 = call i32 @isatty(i32 noundef %3357) #11
  %3359 = icmp ne i32 %3358, 0
  br i1 %3359, label %3360, label %3377

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

3377:                                             ; preds = %3355, %3348
  %3378 = load i32, ptr %79, align 4, !tbaa !5
  %3379 = call ptr @__errno_location() #12
  store i32 %3378, ptr %3379, align 4, !tbaa !5
  %3380 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3381 = load i32, ptr @test_count, align 4, !tbaa !5
  %3382 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3383 = load i32, ptr %3382, align 4, !tbaa !5
  %3384 = call ptr @s2n_strerror(i32 noundef %3383, ptr noundef @.str.5)
  %3385 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3386 = load i32, ptr %3385, align 4, !tbaa !5
  %3387 = call ptr @s2n_strerror_debug(i32 noundef %3386, ptr noundef @.str.5)
  %3388 = call ptr @__errno_location() #12
  %3389 = load i32, ptr %3388, align 4, !tbaa !5
  %3390 = call ptr @strerror(i32 noundef %3389) #11
  %3391 = call ptr @__errno_location() #12
  %3392 = load i32, ptr %3391, align 4, !tbaa !5
  %3393 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3380, ptr noundef @.str.6, i32 noundef %3381, ptr noundef @.str.13, ptr noundef @.str.2, i32 noundef 175, ptr noundef %3384, ptr noundef %3387, ptr noundef %3390, i32 noundef %3392) #11
  br label %3394

3394:                                             ; preds = %3377, %3360
  call void @llvm.lifetime.end.p0(i64 4, ptr %79) #11
  br label %3395

3395:                                             ; preds = %3394
  br label %3396

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

3397:                                             ; No predecessors!
  br label %3398

3398:                                             ; preds = %3397
  br label %3399

3399:                                             ; preds = %3398, %3339
  br label %3400

3400:                                             ; preds = %3399
  br label %3401

3401:                                             ; preds = %3400
  br label %3402

3402:                                             ; preds = %3401
  br label %3403

3403:                                             ; preds = %3402
  br label %3404

3404:                                             ; preds = %3403
  %3405 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %3405, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %3406 = call ptr @__errno_location() #12
  store i32 0, ptr %3406, align 4, !tbaa !5
  br label %3407

3407:                                             ; preds = %3404
  br label %3408

3408:                                             ; preds = %3407
  br label %3409

3409:                                             ; preds = %3408
  br label %3410

3410:                                             ; preds = %3409
  call void @llvm.lifetime.end.p0(i64 8, ptr %63) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %62) #11
  call void @llvm.lifetime.end.p0(i64 16, ptr %61) #11
  call void @llvm.lifetime.end.p0(i64 96, ptr %60) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %80) #11
  %3411 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %3411, ptr %80, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 96, ptr %81) #11
  call void @llvm.memset.p0.i64(ptr align 8 %81, i8 0, i64 96, i1 false)
  br label %3412

3412:                                             ; preds = %3410
  %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 = load ptr, ptr %80, align 8, !tbaa !9
  %3416 = call i32 @s2n_test_init_ktls_io_stuffer_send(ptr noundef %3415, ptr noundef %81)
  %3417 = getelementptr inbounds %struct.s2n_result, ptr %82, i32 0, i32 0
  store i32 %3416, ptr %3417, align 4
  %3418 = getelementptr inbounds %struct.s2n_result, ptr %82, i32 0, i32 0
  %3419 = load i32, ptr %3418, align 4
  %3420 = call zeroext i1 @s2n_result_is_ok(i32 %3419)
  br i1 %3420, label %3474, label %3421

3421:                                             ; preds = %3412
  br label %3422

3422:                                             ; preds = %3421
  br label %3423

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

3430:                                             ; preds = %3423
  %3431 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3432 = call i32 @fileno(ptr noundef %3431) #11
  %3433 = call i32 @isatty(i32 noundef %3432) #11
  %3434 = icmp ne i32 %3433, 0
  br i1 %3434, label %3435, label %3452

3435:                                             ; preds = %3430
  %3436 = load i32, ptr %83, align 4, !tbaa !5
  %3437 = call ptr @__errno_location() #12
  store i32 %3436, ptr %3437, align 4, !tbaa !5
  %3438 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3439 = load i32, ptr @test_count, align 4, !tbaa !5
  %3440 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3441 = load i32, ptr %3440, align 4, !tbaa !5
  %3442 = call ptr @s2n_strerror(i32 noundef %3441, ptr noundef @.str.5)
  %3443 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3444 = load i32, ptr %3443, align 4, !tbaa !5
  %3445 = call ptr @s2n_strerror_debug(i32 noundef %3444, ptr noundef @.str.5)
  %3446 = call ptr @__errno_location() #12
  %3447 = load i32, ptr %3446, align 4, !tbaa !5
  %3448 = call ptr @strerror(i32 noundef %3447) #11
  %3449 = call ptr @__errno_location() #12
  %3450 = load i32, ptr %3449, align 4, !tbaa !5
  %3451 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3438, ptr noundef @.str.3, i32 noundef %3439, ptr noundef @.str.28, ptr noundef @.str.2, i32 noundef 184, ptr noundef %3442, ptr noundef %3445, ptr noundef %3448, i32 noundef %3450) #11
  br label %3469

3452:                                             ; preds = %3430, %3423
  %3453 = load i32, ptr %83, align 4, !tbaa !5
  %3454 = call ptr @__errno_location() #12
  store i32 %3453, ptr %3454, align 4, !tbaa !5
  %3455 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3456 = load i32, ptr @test_count, align 4, !tbaa !5
  %3457 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3458 = load i32, ptr %3457, align 4, !tbaa !5
  %3459 = call ptr @s2n_strerror(i32 noundef %3458, ptr noundef @.str.5)
  %3460 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3461 = load i32, ptr %3460, align 4, !tbaa !5
  %3462 = call ptr @s2n_strerror_debug(i32 noundef %3461, ptr noundef @.str.5)
  %3463 = call ptr @__errno_location() #12
  %3464 = load i32, ptr %3463, align 4, !tbaa !5
  %3465 = call ptr @strerror(i32 noundef %3464) #11
  %3466 = call ptr @__errno_location() #12
  %3467 = load i32, ptr %3466, align 4, !tbaa !5
  %3468 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3455, ptr noundef @.str.6, i32 noundef %3456, ptr noundef @.str.28, ptr noundef @.str.2, i32 noundef 184, ptr noundef %3459, ptr noundef %3462, ptr noundef %3465, i32 noundef %3467) #11
  br label %3469

3469:                                             ; preds = %3452, %3435
  call void @llvm.lifetime.end.p0(i64 4, ptr %83) #11
  br label %3470

3470:                                             ; preds = %3469
  br label %3471

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

3472:                                             ; No predecessors!
  br label %3473

3473:                                             ; preds = %3472
  br label %3474

3474:                                             ; preds = %3473, %3412
  br label %3475

3475:                                             ; preds = %3474
  br label %3476

3476:                                             ; preds = %3475
  call void @llvm.lifetime.start.p0(i64 16, ptr %84) #11
  %3477 = getelementptr inbounds %struct.iovec, ptr %84, i32 0, i32 0
  %3478 = getelementptr inbounds [16384 x i8], ptr %10, i64 0, i64 0
  store ptr %3478, ptr %3477, align 8, !tbaa !16
  %3479 = getelementptr inbounds %struct.iovec, ptr %84, i32 0, i32 1
  store i64 10, ptr %3479, align 8, !tbaa !19
  call void @llvm.lifetime.start.p0(i64 4, ptr %85) #11
  store i32 0, ptr %85, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %86) #11
  store i64 0, ptr %86, align 8, !tbaa !20
  br label %3480

3480:                                             ; preds = %3476
  %3481 = load i32, ptr @test_count, align 4, !tbaa !5
  %3482 = add nsw i32 %3481, 1
  store i32 %3482, ptr @test_count, align 4, !tbaa !5
  %3483 = load ptr, ptr %80, align 8, !tbaa !9
  %3484 = getelementptr inbounds %struct.s2n_connection, ptr %3483, i32 0, i32 8
  %3485 = load ptr, ptr %3484, align 8, !tbaa !21
  %3486 = call i32 @s2n_ktls_sendmsg(ptr noundef %3485, i8 noundef zeroext 43, ptr noundef %84, i64 noundef 1, ptr noundef %85, ptr noundef %86)
  %3487 = getelementptr inbounds %struct.s2n_result, ptr %87, i32 0, i32 0
  store i32 %3486, ptr %3487, align 4
  %3488 = getelementptr inbounds %struct.s2n_result, ptr %87, i32 0, i32 0
  %3489 = load i32, ptr %3488, align 4
  %3490 = call zeroext i1 @s2n_result_is_ok(i32 %3489)
  br i1 %3490, label %3544, label %3491

3491:                                             ; preds = %3480
  br label %3492

3492:                                             ; preds = %3491
  br label %3493

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

3500:                                             ; preds = %3493
  %3501 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3502 = call i32 @fileno(ptr noundef %3501) #11
  %3503 = call i32 @isatty(i32 noundef %3502) #11
  %3504 = icmp ne i32 %3503, 0
  br i1 %3504, label %3505, label %3522

3505:                                             ; preds = %3500
  %3506 = load i32, ptr %88, align 4, !tbaa !5
  %3507 = call ptr @__errno_location() #12
  store i32 %3506, ptr %3507, align 4, !tbaa !5
  %3508 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3509 = load i32, ptr @test_count, align 4, !tbaa !5
  %3510 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3511 = load i32, ptr %3510, align 4, !tbaa !5
  %3512 = call ptr @s2n_strerror(i32 noundef %3511, ptr noundef @.str.5)
  %3513 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3514 = load i32, ptr %3513, align 4, !tbaa !5
  %3515 = call ptr @s2n_strerror_debug(i32 noundef %3514, ptr noundef @.str.5)
  %3516 = call ptr @__errno_location() #12
  %3517 = load i32, ptr %3516, align 4, !tbaa !5
  %3518 = call ptr @strerror(i32 noundef %3517) #11
  %3519 = call ptr @__errno_location() #12
  %3520 = load i32, ptr %3519, align 4, !tbaa !5
  %3521 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3508, ptr noundef @.str.3, i32 noundef %3509, ptr noundef @.str.29, ptr noundef @.str.2, i32 noundef 190, ptr noundef %3512, ptr noundef %3515, ptr noundef %3518, i32 noundef %3520) #11
  br label %3539

3522:                                             ; preds = %3500, %3493
  %3523 = load i32, ptr %88, align 4, !tbaa !5
  %3524 = call ptr @__errno_location() #12
  store i32 %3523, ptr %3524, align 4, !tbaa !5
  %3525 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3526 = load i32, ptr @test_count, align 4, !tbaa !5
  %3527 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3528 = load i32, ptr %3527, align 4, !tbaa !5
  %3529 = call ptr @s2n_strerror(i32 noundef %3528, ptr noundef @.str.5)
  %3530 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3531 = load i32, ptr %3530, align 4, !tbaa !5
  %3532 = call ptr @s2n_strerror_debug(i32 noundef %3531, ptr noundef @.str.5)
  %3533 = call ptr @__errno_location() #12
  %3534 = load i32, ptr %3533, align 4, !tbaa !5
  %3535 = call ptr @strerror(i32 noundef %3534) #11
  %3536 = call ptr @__errno_location() #12
  %3537 = load i32, ptr %3536, align 4, !tbaa !5
  %3538 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3525, ptr noundef @.str.6, i32 noundef %3526, ptr noundef @.str.29, ptr noundef @.str.2, i32 noundef 190, ptr noundef %3529, ptr noundef %3532, ptr noundef %3535, i32 noundef %3537) #11
  br label %3539

3539:                                             ; preds = %3522, %3505
  call void @llvm.lifetime.end.p0(i64 4, ptr %88) #11
  br label %3540

3540:                                             ; preds = %3539
  br label %3541

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

3542:                                             ; No predecessors!
  br label %3543

3543:                                             ; preds = %3542
  br label %3544

3544:                                             ; preds = %3543, %3480
  br label %3545

3545:                                             ; preds = %3544
  br label %3546

3546:                                             ; preds = %3545
  br label %3547

3547:                                             ; preds = %3546
  %3548 = load i32, ptr @test_count, align 4, !tbaa !5
  %3549 = add nsw i32 %3548, 1
  store i32 %3549, ptr @test_count, align 4, !tbaa !5
  %3550 = load i64, ptr %86, align 8, !tbaa !20
  %3551 = icmp eq i64 %3550, 10
  br i1 %3551, label %3605, label %3552

3552:                                             ; preds = %3547
  br label %3553

3553:                                             ; preds = %3552
  br label %3554

3554:                                             ; preds = %3553
  call void @llvm.lifetime.start.p0(i64 4, ptr %89) #11
  %3555 = call ptr @__errno_location() #12
  %3556 = load i32, ptr %3555, align 4, !tbaa !5
  store i32 %3556, ptr %89, align 4, !tbaa !5
  %3557 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3558 = call i32 @s2n_print_stacktrace(ptr noundef %3557)
  %3559 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3560 = trunc i8 %3559 to i1
  br i1 %3560, label %3561, label %3583

3561:                                             ; preds = %3554
  %3562 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3563 = call i32 @fileno(ptr noundef %3562) #11
  %3564 = call i32 @isatty(i32 noundef %3563) #11
  %3565 = icmp ne i32 %3564, 0
  br i1 %3565, label %3566, label %3583

3566:                                             ; preds = %3561
  %3567 = load i32, ptr %89, align 4, !tbaa !5
  %3568 = call ptr @__errno_location() #12
  store i32 %3567, ptr %3568, align 4, !tbaa !5
  %3569 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3570 = load i32, ptr @test_count, align 4, !tbaa !5
  %3571 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3572 = load i32, ptr %3571, align 4, !tbaa !5
  %3573 = call ptr @s2n_strerror(i32 noundef %3572, ptr noundef @.str.5)
  %3574 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3575 = load i32, ptr %3574, align 4, !tbaa !5
  %3576 = call ptr @s2n_strerror_debug(i32 noundef %3575, ptr noundef @.str.5)
  %3577 = call ptr @__errno_location() #12
  %3578 = load i32, ptr %3577, align 4, !tbaa !5
  %3579 = call ptr @strerror(i32 noundef %3578) #11
  %3580 = call ptr @__errno_location() #12
  %3581 = load i32, ptr %3580, align 4, !tbaa !5
  %3582 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3569, ptr noundef @.str.3, i32 noundef %3570, ptr noundef @.str.30, ptr noundef @.str.2, i32 noundef 191, ptr noundef %3573, ptr noundef %3576, ptr noundef %3579, i32 noundef %3581) #11
  br label %3600

3583:                                             ; preds = %3561, %3554
  %3584 = load i32, ptr %89, align 4, !tbaa !5
  %3585 = call ptr @__errno_location() #12
  store i32 %3584, ptr %3585, align 4, !tbaa !5
  %3586 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3587 = load i32, ptr @test_count, align 4, !tbaa !5
  %3588 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3589 = load i32, ptr %3588, align 4, !tbaa !5
  %3590 = call ptr @s2n_strerror(i32 noundef %3589, ptr noundef @.str.5)
  %3591 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3592 = load i32, ptr %3591, align 4, !tbaa !5
  %3593 = call ptr @s2n_strerror_debug(i32 noundef %3592, ptr noundef @.str.5)
  %3594 = call ptr @__errno_location() #12
  %3595 = load i32, ptr %3594, align 4, !tbaa !5
  %3596 = call ptr @strerror(i32 noundef %3595) #11
  %3597 = call ptr @__errno_location() #12
  %3598 = load i32, ptr %3597, align 4, !tbaa !5
  %3599 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3586, ptr noundef @.str.6, i32 noundef %3587, ptr noundef @.str.30, ptr noundef @.str.2, i32 noundef 191, ptr noundef %3590, ptr noundef %3593, ptr noundef %3596, i32 noundef %3598) #11
  br label %3600

3600:                                             ; preds = %3583, %3566
  call void @llvm.lifetime.end.p0(i64 4, ptr %89) #11
  br label %3601

3601:                                             ; preds = %3600
  br label %3602

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

3603:                                             ; No predecessors!
  br label %3604

3604:                                             ; preds = %3603
  br label %3605

3605:                                             ; preds = %3604, %3547
  br label %3606

3606:                                             ; preds = %3605
  br label %3607

3607:                                             ; preds = %3606
  br label %3608

3608:                                             ; preds = %3607
  %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 i32, ptr %85, align 4, !tbaa !5
  %3612 = icmp eq i32 %3611, 0
  br i1 %3612, label %3666, label %3613

3613:                                             ; preds = %3608
  br label %3614

3614:                                             ; preds = %3613
  br label %3615

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

3622:                                             ; preds = %3615
  %3623 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3624 = call i32 @fileno(ptr noundef %3623) #11
  %3625 = call i32 @isatty(i32 noundef %3624) #11
  %3626 = icmp ne i32 %3625, 0
  br i1 %3626, label %3627, label %3644

3627:                                             ; preds = %3622
  %3628 = load i32, ptr %90, align 4, !tbaa !5
  %3629 = call ptr @__errno_location() #12
  store i32 %3628, ptr %3629, align 4, !tbaa !5
  %3630 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3631 = load i32, ptr @test_count, align 4, !tbaa !5
  %3632 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3633 = load i32, ptr %3632, align 4, !tbaa !5
  %3634 = call ptr @s2n_strerror(i32 noundef %3633, ptr noundef @.str.5)
  %3635 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3636 = load i32, ptr %3635, align 4, !tbaa !5
  %3637 = call ptr @s2n_strerror_debug(i32 noundef %3636, ptr noundef @.str.5)
  %3638 = call ptr @__errno_location() #12
  %3639 = load i32, ptr %3638, align 4, !tbaa !5
  %3640 = call ptr @strerror(i32 noundef %3639) #11
  %3641 = call ptr @__errno_location() #12
  %3642 = load i32, ptr %3641, align 4, !tbaa !5
  %3643 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3630, ptr noundef @.str.3, i32 noundef %3631, ptr noundef @.str.31, ptr noundef @.str.2, i32 noundef 192, ptr noundef %3634, ptr noundef %3637, ptr noundef %3640, i32 noundef %3642) #11
  br label %3661

3644:                                             ; preds = %3622, %3615
  %3645 = load i32, ptr %90, align 4, !tbaa !5
  %3646 = call ptr @__errno_location() #12
  store i32 %3645, ptr %3646, align 4, !tbaa !5
  %3647 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3648 = load i32, ptr @test_count, align 4, !tbaa !5
  %3649 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3650 = load i32, ptr %3649, align 4, !tbaa !5
  %3651 = call ptr @s2n_strerror(i32 noundef %3650, ptr noundef @.str.5)
  %3652 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3653 = load i32, ptr %3652, align 4, !tbaa !5
  %3654 = call ptr @s2n_strerror_debug(i32 noundef %3653, ptr noundef @.str.5)
  %3655 = call ptr @__errno_location() #12
  %3656 = load i32, ptr %3655, align 4, !tbaa !5
  %3657 = call ptr @strerror(i32 noundef %3656) #11
  %3658 = call ptr @__errno_location() #12
  %3659 = load i32, ptr %3658, align 4, !tbaa !5
  %3660 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3647, ptr noundef @.str.6, i32 noundef %3648, ptr noundef @.str.31, ptr noundef @.str.2, i32 noundef 192, ptr noundef %3651, ptr noundef %3654, ptr noundef %3657, i32 noundef %3659) #11
  br label %3661

3661:                                             ; preds = %3644, %3627
  call void @llvm.lifetime.end.p0(i64 4, ptr %90) #11
  br label %3662

3662:                                             ; preds = %3661
  br label %3663

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

3664:                                             ; No predecessors!
  br label %3665

3665:                                             ; preds = %3664
  br label %3666

3666:                                             ; preds = %3665, %3608
  br label %3667

3667:                                             ; preds = %3666
  br label %3668

3668:                                             ; preds = %3667
  br label %3669

3669:                                             ; preds = %3668
  %3670 = load i32, ptr @test_count, align 4, !tbaa !5
  %3671 = add nsw i32 %3670, 1
  store i32 %3671, ptr @test_count, align 4, !tbaa !5
  %3672 = call i32 @s2n_test_validate_ancillary(ptr noundef %81, i8 noundef zeroext 43, i16 noundef zeroext 10)
  %3673 = getelementptr inbounds %struct.s2n_result, ptr %91, i32 0, i32 0
  store i32 %3672, ptr %3673, align 4
  %3674 = getelementptr inbounds %struct.s2n_result, ptr %91, i32 0, i32 0
  %3675 = load i32, ptr %3674, align 4
  %3676 = call zeroext i1 @s2n_result_is_ok(i32 %3675)
  br i1 %3676, label %3730, label %3677

3677:                                             ; preds = %3669
  br label %3678

3678:                                             ; preds = %3677
  br label %3679

3679:                                             ; preds = %3678
  call void @llvm.lifetime.start.p0(i64 4, ptr %92) #11
  %3680 = call ptr @__errno_location() #12
  %3681 = load i32, ptr %3680, align 4, !tbaa !5
  store i32 %3681, ptr %92, align 4, !tbaa !5
  %3682 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3683 = call i32 @s2n_print_stacktrace(ptr noundef %3682)
  %3684 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3685 = trunc i8 %3684 to i1
  br i1 %3685, label %3686, label %3708

3686:                                             ; preds = %3679
  %3687 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3688 = call i32 @fileno(ptr noundef %3687) #11
  %3689 = call i32 @isatty(i32 noundef %3688) #11
  %3690 = icmp ne i32 %3689, 0
  br i1 %3690, label %3691, label %3708

3691:                                             ; preds = %3686
  %3692 = load i32, ptr %92, align 4, !tbaa !5
  %3693 = call ptr @__errno_location() #12
  store i32 %3692, ptr %3693, align 4, !tbaa !5
  %3694 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3695 = load i32, ptr @test_count, align 4, !tbaa !5
  %3696 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3697 = load i32, ptr %3696, align 4, !tbaa !5
  %3698 = call ptr @s2n_strerror(i32 noundef %3697, ptr noundef @.str.5)
  %3699 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3700 = load i32, ptr %3699, align 4, !tbaa !5
  %3701 = call ptr @s2n_strerror_debug(i32 noundef %3700, ptr noundef @.str.5)
  %3702 = call ptr @__errno_location() #12
  %3703 = load i32, ptr %3702, align 4, !tbaa !5
  %3704 = call ptr @strerror(i32 noundef %3703) #11
  %3705 = call ptr @__errno_location() #12
  %3706 = load i32, ptr %3705, align 4, !tbaa !5
  %3707 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3694, ptr noundef @.str.3, i32 noundef %3695, ptr noundef @.str.32, ptr noundef @.str.2, i32 noundef 195, ptr noundef %3698, ptr noundef %3701, ptr noundef %3704, i32 noundef %3706) #11
  br label %3725

3708:                                             ; preds = %3686, %3679
  %3709 = load i32, ptr %92, align 4, !tbaa !5
  %3710 = call ptr @__errno_location() #12
  store i32 %3709, ptr %3710, align 4, !tbaa !5
  %3711 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3712 = load i32, ptr @test_count, align 4, !tbaa !5
  %3713 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3714 = load i32, ptr %3713, align 4, !tbaa !5
  %3715 = call ptr @s2n_strerror(i32 noundef %3714, ptr noundef @.str.5)
  %3716 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3717 = load i32, ptr %3716, align 4, !tbaa !5
  %3718 = call ptr @s2n_strerror_debug(i32 noundef %3717, ptr noundef @.str.5)
  %3719 = call ptr @__errno_location() #12
  %3720 = load i32, ptr %3719, align 4, !tbaa !5
  %3721 = call ptr @strerror(i32 noundef %3720) #11
  %3722 = call ptr @__errno_location() #12
  %3723 = load i32, ptr %3722, align 4, !tbaa !5
  %3724 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3711, ptr noundef @.str.6, i32 noundef %3712, ptr noundef @.str.32, ptr noundef @.str.2, i32 noundef 195, ptr noundef %3715, ptr noundef %3718, ptr noundef %3721, i32 noundef %3723) #11
  br label %3725

3725:                                             ; preds = %3708, %3691
  call void @llvm.lifetime.end.p0(i64 4, ptr %92) #11
  br label %3726

3726:                                             ; preds = %3725
  br label %3727

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

3728:                                             ; No predecessors!
  br label %3729

3729:                                             ; preds = %3728
  br label %3730

3730:                                             ; preds = %3729, %3669
  br label %3731

3731:                                             ; preds = %3730
  br label %3732

3732:                                             ; preds = %3731
  br label %3733

3733:                                             ; preds = %3732
  %3734 = load i32, ptr @test_count, align 4, !tbaa !5
  %3735 = add nsw i32 %3734, 1
  store i32 %3735, ptr @test_count, align 4, !tbaa !5
  %3736 = getelementptr inbounds [16384 x i8], ptr %10, i64 0, i64 0
  %3737 = call i32 @s2n_test_validate_data(ptr noundef %81, ptr noundef %3736, i16 noundef zeroext 10)
  %3738 = getelementptr inbounds %struct.s2n_result, ptr %93, i32 0, i32 0
  store i32 %3737, ptr %3738, align 4
  %3739 = getelementptr inbounds %struct.s2n_result, ptr %93, i32 0, i32 0
  %3740 = load i32, ptr %3739, align 4
  %3741 = call zeroext i1 @s2n_result_is_ok(i32 %3740)
  br i1 %3741, label %3795, label %3742

3742:                                             ; preds = %3733
  br label %3743

3743:                                             ; preds = %3742
  br label %3744

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

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

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

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

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

3791:                                             ; preds = %3790
  br label %3792

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

3793:                                             ; No predecessors!
  br label %3794

3794:                                             ; preds = %3793
  br label %3795

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

3796:                                             ; preds = %3795
  br label %3797

3797:                                             ; preds = %3796
  br label %3798

3798:                                             ; preds = %3797
  %3799 = load i32, ptr @test_count, align 4, !tbaa !5
  %3800 = add nsw i32 %3799, 1
  store i32 %3800, ptr @test_count, align 4, !tbaa !5
  %3801 = getelementptr inbounds %struct.s2n_test_ktls_io_stuffer, ptr %81, i32 0, i32 2
  %3802 = load i64, ptr %3801, align 8, !tbaa !47
  %3803 = icmp eq i64 %3802, 1
  br i1 %3803, label %3857, label %3804

3804:                                             ; preds = %3798
  br label %3805

3805:                                             ; preds = %3804
  br label %3806

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

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

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

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

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

3853:                                             ; preds = %3852
  br label %3854

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

3855:                                             ; No predecessors!
  br label %3856

3856:                                             ; preds = %3855
  br label %3857

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

3858:                                             ; preds = %3857
  br label %3859

3859:                                             ; preds = %3858
  call void @llvm.lifetime.end.p0(i64 8, ptr %86) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %85) #11
  call void @llvm.lifetime.end.p0(i64 16, ptr %84) #11
  %3860 = call i32 @s2n_ktls_io_stuffer_free(ptr noundef %81)
  %3861 = getelementptr inbounds %struct.s2n_result, ptr %96, i32 0, i32 0
  store i32 %3860, ptr %3861, align 4
  call void @llvm.lifetime.end.p0(i64 96, ptr %81) #11
  %3862 = call i32 @s2n_connection_ptr_free(ptr noundef %80)
  %3863 = getelementptr inbounds %struct.s2n_result, ptr %97, i32 0, i32 0
  store i32 %3862, ptr %3863, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %80) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %98) #11
  %3864 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %3864, ptr %98, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 96, ptr %99) #11
  call void @llvm.memset.p0.i64(ptr align 8 %99, i8 0, i64 96, i1 false)
  br label %3865

3865:                                             ; preds = %3859
  %3866 = load i32, ptr @test_count, align 4, !tbaa !5
  %3867 = add nsw i32 %3866, 1
  store i32 %3867, ptr @test_count, align 4, !tbaa !5
  %3868 = load ptr, ptr %98, align 8, !tbaa !9
  %3869 = call i32 @s2n_test_init_ktls_io_stuffer_send(ptr noundef %3868, ptr noundef %99)
  %3870 = getelementptr inbounds %struct.s2n_result, ptr %100, i32 0, i32 0
  store i32 %3869, ptr %3870, align 4
  %3871 = getelementptr inbounds %struct.s2n_result, ptr %100, i32 0, i32 0
  %3872 = load i32, ptr %3871, align 4
  %3873 = call zeroext i1 @s2n_result_is_ok(i32 %3872)
  br i1 %3873, label %3927, label %3874

3874:                                             ; preds = %3865
  br label %3875

3875:                                             ; preds = %3874
  br label %3876

3876:                                             ; preds = %3875
  call void @llvm.lifetime.start.p0(i64 4, ptr %101) #11
  %3877 = call ptr @__errno_location() #12
  %3878 = load i32, ptr %3877, align 4, !tbaa !5
  store i32 %3878, ptr %101, align 4, !tbaa !5
  %3879 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3880 = call i32 @s2n_print_stacktrace(ptr noundef %3879)
  %3881 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3882 = trunc i8 %3881 to i1
  br i1 %3882, label %3883, label %3905

3883:                                             ; preds = %3876
  %3884 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3885 = call i32 @fileno(ptr noundef %3884) #11
  %3886 = call i32 @isatty(i32 noundef %3885) #11
  %3887 = icmp ne i32 %3886, 0
  br i1 %3887, label %3888, label %3905

3888:                                             ; preds = %3883
  %3889 = load i32, ptr %101, align 4, !tbaa !5
  %3890 = call ptr @__errno_location() #12
  store i32 %3889, ptr %3890, align 4, !tbaa !5
  %3891 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3892 = load i32, ptr @test_count, align 4, !tbaa !5
  %3893 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3894 = load i32, ptr %3893, align 4, !tbaa !5
  %3895 = call ptr @s2n_strerror(i32 noundef %3894, ptr noundef @.str.5)
  %3896 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3897 = load i32, ptr %3896, align 4, !tbaa !5
  %3898 = call ptr @s2n_strerror_debug(i32 noundef %3897, ptr noundef @.str.5)
  %3899 = call ptr @__errno_location() #12
  %3900 = load i32, ptr %3899, align 4, !tbaa !5
  %3901 = call ptr @strerror(i32 noundef %3900) #11
  %3902 = call ptr @__errno_location() #12
  %3903 = load i32, ptr %3902, align 4, !tbaa !5
  %3904 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3891, ptr noundef @.str.3, i32 noundef %3892, ptr noundef @.str.28, ptr noundef @.str.2, i32 noundef 207, ptr noundef %3895, ptr noundef %3898, ptr noundef %3901, i32 noundef %3903) #11
  br label %3922

3905:                                             ; preds = %3883, %3876
  %3906 = load i32, ptr %101, align 4, !tbaa !5
  %3907 = call ptr @__errno_location() #12
  store i32 %3906, ptr %3907, align 4, !tbaa !5
  %3908 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3909 = load i32, ptr @test_count, align 4, !tbaa !5
  %3910 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3911 = load i32, ptr %3910, align 4, !tbaa !5
  %3912 = call ptr @s2n_strerror(i32 noundef %3911, ptr noundef @.str.5)
  %3913 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3914 = load i32, ptr %3913, align 4, !tbaa !5
  %3915 = call ptr @s2n_strerror_debug(i32 noundef %3914, ptr noundef @.str.5)
  %3916 = call ptr @__errno_location() #12
  %3917 = load i32, ptr %3916, align 4, !tbaa !5
  %3918 = call ptr @strerror(i32 noundef %3917) #11
  %3919 = call ptr @__errno_location() #12
  %3920 = load i32, ptr %3919, align 4, !tbaa !5
  %3921 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3908, ptr noundef @.str.6, i32 noundef %3909, ptr noundef @.str.28, ptr noundef @.str.2, i32 noundef 207, ptr noundef %3912, ptr noundef %3915, ptr noundef %3918, i32 noundef %3920) #11
  br label %3922

3922:                                             ; preds = %3905, %3888
  call void @llvm.lifetime.end.p0(i64 4, ptr %101) #11
  br label %3923

3923:                                             ; preds = %3922
  br label %3924

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

3925:                                             ; No predecessors!
  br label %3926

3926:                                             ; preds = %3925
  br label %3927

3927:                                             ; preds = %3926, %3865
  br label %3928

3928:                                             ; preds = %3927
  br label %3929

3929:                                             ; preds = %3928
  call void @llvm.lifetime.start.p0(i64 80, ptr %102) #11
  call void @llvm.memset.p0.i64(ptr align 16 %102, i8 0, i64 80, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr %103) #11
  store i64 0, ptr %103, align 8, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 8, ptr %104) #11
  store i64 0, ptr %104, align 8, !tbaa !20
  br label %3930

3930:                                             ; preds = %3946, %3929
  %3931 = load i64, ptr %104, align 8, !tbaa !20
  %3932 = icmp ult i64 %3931, 5
  br i1 %3932, label %3934, label %3933

3933:                                             ; preds = %3930
  call void @llvm.lifetime.end.p0(i64 8, ptr %104) #11
  br label %3949

3934:                                             ; preds = %3930
  %3935 = getelementptr inbounds [16384 x i8], ptr %10, i64 0, i64 0
  %3936 = load i64, ptr %103, align 8, !tbaa !20
  %3937 = getelementptr inbounds i8, ptr %3935, i64 %3936
  %3938 = load i64, ptr %104, align 8, !tbaa !20
  %3939 = getelementptr inbounds [5 x %struct.iovec], ptr %102, i64 0, i64 %3938
  %3940 = getelementptr inbounds %struct.iovec, ptr %3939, i32 0, i32 0
  store ptr %3937, ptr %3940, align 16, !tbaa !16
  %3941 = load i64, ptr %104, align 8, !tbaa !20
  %3942 = getelementptr inbounds [5 x %struct.iovec], ptr %102, i64 0, i64 %3941
  %3943 = getelementptr inbounds %struct.iovec, ptr %3942, i32 0, i32 1
  store i64 10, ptr %3943, align 8, !tbaa !19
  %3944 = load i64, ptr %103, align 8, !tbaa !20
  %3945 = add i64 %3944, 10
  store i64 %3945, ptr %103, align 8, !tbaa !20
  br label %3946

3946:                                             ; preds = %3934
  %3947 = load i64, ptr %104, align 8, !tbaa !20
  %3948 = add i64 %3947, 1
  store i64 %3948, ptr %104, align 8, !tbaa !20
  br label %3930, !llvm.loop !49

3949:                                             ; preds = %3933
  call void @llvm.lifetime.start.p0(i64 4, ptr %105) #11
  store i32 0, ptr %105, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %106) #11
  store i64 0, ptr %106, align 8, !tbaa !20
  br label %3950

3950:                                             ; preds = %3949
  %3951 = load i32, ptr @test_count, align 4, !tbaa !5
  %3952 = add nsw i32 %3951, 1
  store i32 %3952, ptr @test_count, align 4, !tbaa !5
  %3953 = load ptr, ptr %98, align 8, !tbaa !9
  %3954 = getelementptr inbounds %struct.s2n_connection, ptr %3953, i32 0, i32 8
  %3955 = load ptr, ptr %3954, align 8, !tbaa !21
  %3956 = getelementptr inbounds [5 x %struct.iovec], ptr %102, i64 0, i64 0
  %3957 = call i32 @s2n_ktls_sendmsg(ptr noundef %3955, i8 noundef zeroext 43, ptr noundef %3956, i64 noundef 5, ptr noundef %105, ptr noundef %106)
  %3958 = getelementptr inbounds %struct.s2n_result, ptr %107, i32 0, i32 0
  store i32 %3957, ptr %3958, align 4
  %3959 = getelementptr inbounds %struct.s2n_result, ptr %107, i32 0, i32 0
  %3960 = load i32, ptr %3959, align 4
  %3961 = call zeroext i1 @s2n_result_is_ok(i32 %3960)
  br i1 %3961, label %4015, label %3962

3962:                                             ; preds = %3950
  br label %3963

3963:                                             ; preds = %3962
  br label %3964

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

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

3976:                                             ; preds = %3971
  %3977 = load i32, ptr %108, align 4, !tbaa !5
  %3978 = call ptr @__errno_location() #12
  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.5)
  %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.5)
  %3987 = call ptr @__errno_location() #12
  %3988 = load i32, ptr %3987, align 4, !tbaa !5
  %3989 = call ptr @strerror(i32 noundef %3988) #11
  %3990 = call ptr @__errno_location() #12
  %3991 = load i32, ptr %3990, align 4, !tbaa !5
  %3992 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3979, ptr noundef @.str.3, i32 noundef %3980, ptr noundef @.str.35, ptr noundef @.str.2, i32 noundef 220, ptr noundef %3983, ptr noundef %3986, ptr noundef %3989, i32 noundef %3991) #11
  br label %4010

3993:                                             ; preds = %3971, %3964
  %3994 = load i32, ptr %108, align 4, !tbaa !5
  %3995 = call ptr @__errno_location() #12
  store i32 %3994, ptr %3995, align 4, !tbaa !5
  %3996 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3997 = load i32, ptr @test_count, align 4, !tbaa !5
  %3998 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3999 = load i32, ptr %3998, align 4, !tbaa !5
  %4000 = call ptr @s2n_strerror(i32 noundef %3999, ptr noundef @.str.5)
  %4001 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4002 = load i32, ptr %4001, align 4, !tbaa !5
  %4003 = call ptr @s2n_strerror_debug(i32 noundef %4002, ptr noundef @.str.5)
  %4004 = call ptr @__errno_location() #12
  %4005 = load i32, ptr %4004, align 4, !tbaa !5
  %4006 = call ptr @strerror(i32 noundef %4005) #11
  %4007 = call ptr @__errno_location() #12
  %4008 = load i32, ptr %4007, align 4, !tbaa !5
  %4009 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3996, ptr noundef @.str.6, i32 noundef %3997, ptr noundef @.str.35, ptr noundef @.str.2, i32 noundef 220, ptr noundef %4000, ptr noundef %4003, ptr noundef %4006, i32 noundef %4008) #11
  br label %4010

4010:                                             ; preds = %3993, %3976
  call void @llvm.lifetime.end.p0(i64 4, ptr %108) #11
  br label %4011

4011:                                             ; preds = %4010
  br label %4012

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

4013:                                             ; No predecessors!
  br label %4014

4014:                                             ; preds = %4013
  br label %4015

4015:                                             ; preds = %4014, %3950
  br label %4016

4016:                                             ; preds = %4015
  br label %4017

4017:                                             ; preds = %4016
  br label %4018

4018:                                             ; preds = %4017
  %4019 = load i32, ptr @test_count, align 4, !tbaa !5
  %4020 = add nsw i32 %4019, 1
  store i32 %4020, ptr @test_count, align 4, !tbaa !5
  %4021 = load i64, ptr %106, align 8, !tbaa !20
  %4022 = load i64, ptr %103, align 8, !tbaa !20
  %4023 = icmp eq i64 %4021, %4022
  br i1 %4023, label %4077, label %4024

4024:                                             ; preds = %4018
  br label %4025

4025:                                             ; preds = %4024
  br label %4026

4026:                                             ; preds = %4025
  call void @llvm.lifetime.start.p0(i64 4, ptr %109) #11
  %4027 = call ptr @__errno_location() #12
  %4028 = load i32, ptr %4027, align 4, !tbaa !5
  store i32 %4028, ptr %109, align 4, !tbaa !5
  %4029 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4030 = call i32 @s2n_print_stacktrace(ptr noundef %4029)
  %4031 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4032 = trunc i8 %4031 to i1
  br i1 %4032, label %4033, label %4055

4033:                                             ; preds = %4026
  %4034 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4035 = call i32 @fileno(ptr noundef %4034) #11
  %4036 = call i32 @isatty(i32 noundef %4035) #11
  %4037 = icmp ne i32 %4036, 0
  br i1 %4037, label %4038, label %4055

4038:                                             ; preds = %4033
  %4039 = load i32, ptr %109, align 4, !tbaa !5
  %4040 = call ptr @__errno_location() #12
  store i32 %4039, ptr %4040, align 4, !tbaa !5
  %4041 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4042 = load i32, ptr @test_count, align 4, !tbaa !5
  %4043 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4044 = load i32, ptr %4043, align 4, !tbaa !5
  %4045 = call ptr @s2n_strerror(i32 noundef %4044, ptr noundef @.str.5)
  %4046 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4047 = load i32, ptr %4046, align 4, !tbaa !5
  %4048 = call ptr @s2n_strerror_debug(i32 noundef %4047, ptr noundef @.str.5)
  %4049 = call ptr @__errno_location() #12
  %4050 = load i32, ptr %4049, align 4, !tbaa !5
  %4051 = call ptr @strerror(i32 noundef %4050) #11
  %4052 = call ptr @__errno_location() #12
  %4053 = load i32, ptr %4052, align 4, !tbaa !5
  %4054 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4041, ptr noundef @.str.3, i32 noundef %4042, ptr noundef @.str.36, ptr noundef @.str.2, i32 noundef 221, ptr noundef %4045, ptr noundef %4048, ptr noundef %4051, i32 noundef %4053) #11
  br label %4072

4055:                                             ; preds = %4033, %4026
  %4056 = load i32, ptr %109, align 4, !tbaa !5
  %4057 = call ptr @__errno_location() #12
  store i32 %4056, ptr %4057, align 4, !tbaa !5
  %4058 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4059 = load i32, ptr @test_count, align 4, !tbaa !5
  %4060 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4061 = load i32, ptr %4060, align 4, !tbaa !5
  %4062 = call ptr @s2n_strerror(i32 noundef %4061, ptr noundef @.str.5)
  %4063 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4064 = load i32, ptr %4063, align 4, !tbaa !5
  %4065 = call ptr @s2n_strerror_debug(i32 noundef %4064, ptr noundef @.str.5)
  %4066 = call ptr @__errno_location() #12
  %4067 = load i32, ptr %4066, align 4, !tbaa !5
  %4068 = call ptr @strerror(i32 noundef %4067) #11
  %4069 = call ptr @__errno_location() #12
  %4070 = load i32, ptr %4069, align 4, !tbaa !5
  %4071 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4058, ptr noundef @.str.6, i32 noundef %4059, ptr noundef @.str.36, ptr noundef @.str.2, i32 noundef 221, ptr noundef %4062, ptr noundef %4065, ptr noundef %4068, i32 noundef %4070) #11
  br label %4072

4072:                                             ; preds = %4055, %4038
  call void @llvm.lifetime.end.p0(i64 4, ptr %109) #11
  br label %4073

4073:                                             ; preds = %4072
  br label %4074

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

4075:                                             ; No predecessors!
  br label %4076

4076:                                             ; preds = %4075
  br label %4077

4077:                                             ; preds = %4076, %4018
  br label %4078

4078:                                             ; preds = %4077
  br label %4079

4079:                                             ; preds = %4078
  br label %4080

4080:                                             ; preds = %4079
  %4081 = load i32, ptr @test_count, align 4, !tbaa !5
  %4082 = add nsw i32 %4081, 1
  store i32 %4082, ptr @test_count, align 4, !tbaa !5
  %4083 = load i32, ptr %105, align 4, !tbaa !5
  %4084 = icmp eq i32 %4083, 0
  br i1 %4084, label %4138, label %4085

4085:                                             ; preds = %4080
  br label %4086

4086:                                             ; preds = %4085
  br label %4087

4087:                                             ; preds = %4086
  call void @llvm.lifetime.start.p0(i64 4, ptr %110) #11
  %4088 = call ptr @__errno_location() #12
  %4089 = load i32, ptr %4088, align 4, !tbaa !5
  store i32 %4089, ptr %110, align 4, !tbaa !5
  %4090 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4091 = call i32 @s2n_print_stacktrace(ptr noundef %4090)
  %4092 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4093 = trunc i8 %4092 to i1
  br i1 %4093, label %4094, label %4116

4094:                                             ; preds = %4087
  %4095 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4096 = call i32 @fileno(ptr noundef %4095) #11
  %4097 = call i32 @isatty(i32 noundef %4096) #11
  %4098 = icmp ne i32 %4097, 0
  br i1 %4098, label %4099, label %4116

4099:                                             ; preds = %4094
  %4100 = load i32, ptr %110, align 4, !tbaa !5
  %4101 = call ptr @__errno_location() #12
  store i32 %4100, ptr %4101, align 4, !tbaa !5
  %4102 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4103 = load i32, ptr @test_count, align 4, !tbaa !5
  %4104 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4105 = load i32, ptr %4104, align 4, !tbaa !5
  %4106 = call ptr @s2n_strerror(i32 noundef %4105, ptr noundef @.str.5)
  %4107 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4108 = load i32, ptr %4107, align 4, !tbaa !5
  %4109 = call ptr @s2n_strerror_debug(i32 noundef %4108, ptr noundef @.str.5)
  %4110 = call ptr @__errno_location() #12
  %4111 = load i32, ptr %4110, align 4, !tbaa !5
  %4112 = call ptr @strerror(i32 noundef %4111) #11
  %4113 = call ptr @__errno_location() #12
  %4114 = load i32, ptr %4113, align 4, !tbaa !5
  %4115 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4102, ptr noundef @.str.3, i32 noundef %4103, ptr noundef @.str.31, ptr noundef @.str.2, i32 noundef 222, ptr noundef %4106, ptr noundef %4109, ptr noundef %4112, i32 noundef %4114) #11
  br label %4133

4116:                                             ; preds = %4094, %4087
  %4117 = load i32, ptr %110, align 4, !tbaa !5
  %4118 = call ptr @__errno_location() #12
  store i32 %4117, ptr %4118, align 4, !tbaa !5
  %4119 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4120 = load i32, ptr @test_count, align 4, !tbaa !5
  %4121 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4122 = load i32, ptr %4121, align 4, !tbaa !5
  %4123 = call ptr @s2n_strerror(i32 noundef %4122, ptr noundef @.str.5)
  %4124 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4125 = load i32, ptr %4124, align 4, !tbaa !5
  %4126 = call ptr @s2n_strerror_debug(i32 noundef %4125, ptr noundef @.str.5)
  %4127 = call ptr @__errno_location() #12
  %4128 = load i32, ptr %4127, align 4, !tbaa !5
  %4129 = call ptr @strerror(i32 noundef %4128) #11
  %4130 = call ptr @__errno_location() #12
  %4131 = load i32, ptr %4130, align 4, !tbaa !5
  %4132 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4119, ptr noundef @.str.6, i32 noundef %4120, ptr noundef @.str.31, ptr noundef @.str.2, i32 noundef 222, ptr noundef %4123, ptr noundef %4126, ptr noundef %4129, i32 noundef %4131) #11
  br label %4133

4133:                                             ; preds = %4116, %4099
  call void @llvm.lifetime.end.p0(i64 4, ptr %110) #11
  br label %4134

4134:                                             ; preds = %4133
  br label %4135

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

4136:                                             ; No predecessors!
  br label %4137

4137:                                             ; preds = %4136
  br label %4138

4138:                                             ; preds = %4137, %4080
  br label %4139

4139:                                             ; preds = %4138
  br label %4140

4140:                                             ; preds = %4139
  br label %4141

4141:                                             ; preds = %4140
  %4142 = load i32, ptr @test_count, align 4, !tbaa !5
  %4143 = add nsw i32 %4142, 1
  store i32 %4143, ptr @test_count, align 4, !tbaa !5
  %4144 = load i64, ptr %103, align 8, !tbaa !20
  %4145 = trunc i64 %4144 to i16
  %4146 = call i32 @s2n_test_validate_ancillary(ptr noundef %99, i8 noundef zeroext 43, i16 noundef zeroext %4145)
  %4147 = getelementptr inbounds %struct.s2n_result, ptr %111, i32 0, i32 0
  store i32 %4146, ptr %4147, align 4
  %4148 = getelementptr inbounds %struct.s2n_result, ptr %111, i32 0, i32 0
  %4149 = load i32, ptr %4148, align 4
  %4150 = call zeroext i1 @s2n_result_is_ok(i32 %4149)
  br i1 %4150, label %4204, label %4151

4151:                                             ; preds = %4141
  br label %4152

4152:                                             ; preds = %4151
  br label %4153

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

4160:                                             ; preds = %4153
  %4161 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4162 = call i32 @fileno(ptr noundef %4161) #11
  %4163 = call i32 @isatty(i32 noundef %4162) #11
  %4164 = icmp ne i32 %4163, 0
  br i1 %4164, label %4165, label %4182

4165:                                             ; preds = %4160
  %4166 = load i32, ptr %112, align 4, !tbaa !5
  %4167 = call ptr @__errno_location() #12
  store i32 %4166, ptr %4167, align 4, !tbaa !5
  %4168 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4169 = load i32, ptr @test_count, align 4, !tbaa !5
  %4170 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4171 = load i32, ptr %4170, align 4, !tbaa !5
  %4172 = call ptr @s2n_strerror(i32 noundef %4171, ptr noundef @.str.5)
  %4173 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4174 = load i32, ptr %4173, align 4, !tbaa !5
  %4175 = call ptr @s2n_strerror_debug(i32 noundef %4174, ptr noundef @.str.5)
  %4176 = call ptr @__errno_location() #12
  %4177 = load i32, ptr %4176, align 4, !tbaa !5
  %4178 = call ptr @strerror(i32 noundef %4177) #11
  %4179 = call ptr @__errno_location() #12
  %4180 = load i32, ptr %4179, align 4, !tbaa !5
  %4181 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4168, ptr noundef @.str.3, i32 noundef %4169, ptr noundef @.str.37, ptr noundef @.str.2, i32 noundef 225, ptr noundef %4172, ptr noundef %4175, ptr noundef %4178, i32 noundef %4180) #11
  br label %4199

4182:                                             ; preds = %4160, %4153
  %4183 = load i32, ptr %112, align 4, !tbaa !5
  %4184 = call ptr @__errno_location() #12
  store i32 %4183, ptr %4184, align 4, !tbaa !5
  %4185 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4186 = load i32, ptr @test_count, align 4, !tbaa !5
  %4187 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4188 = load i32, ptr %4187, align 4, !tbaa !5
  %4189 = call ptr @s2n_strerror(i32 noundef %4188, ptr noundef @.str.5)
  %4190 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4191 = load i32, ptr %4190, align 4, !tbaa !5
  %4192 = call ptr @s2n_strerror_debug(i32 noundef %4191, ptr noundef @.str.5)
  %4193 = call ptr @__errno_location() #12
  %4194 = load i32, ptr %4193, align 4, !tbaa !5
  %4195 = call ptr @strerror(i32 noundef %4194) #11
  %4196 = call ptr @__errno_location() #12
  %4197 = load i32, ptr %4196, align 4, !tbaa !5
  %4198 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4185, ptr noundef @.str.6, i32 noundef %4186, ptr noundef @.str.37, ptr noundef @.str.2, i32 noundef 225, ptr noundef %4189, ptr noundef %4192, ptr noundef %4195, i32 noundef %4197) #11
  br label %4199

4199:                                             ; preds = %4182, %4165
  call void @llvm.lifetime.end.p0(i64 4, ptr %112) #11
  br label %4200

4200:                                             ; preds = %4199
  br label %4201

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

4202:                                             ; No predecessors!
  br label %4203

4203:                                             ; preds = %4202
  br label %4204

4204:                                             ; preds = %4203, %4141
  br label %4205

4205:                                             ; preds = %4204
  br label %4206

4206:                                             ; preds = %4205
  br label %4207

4207:                                             ; preds = %4206
  %4208 = load i32, ptr @test_count, align 4, !tbaa !5
  %4209 = add nsw i32 %4208, 1
  store i32 %4209, ptr @test_count, align 4, !tbaa !5
  %4210 = getelementptr inbounds [16384 x i8], ptr %10, i64 0, i64 0
  %4211 = load i64, ptr %103, align 8, !tbaa !20
  %4212 = trunc i64 %4211 to i16
  %4213 = call i32 @s2n_test_validate_data(ptr noundef %99, ptr noundef %4210, i16 noundef zeroext %4212)
  %4214 = getelementptr inbounds %struct.s2n_result, ptr %113, i32 0, i32 0
  store i32 %4213, ptr %4214, align 4
  %4215 = getelementptr inbounds %struct.s2n_result, ptr %113, i32 0, i32 0
  %4216 = load i32, ptr %4215, align 4
  %4217 = call zeroext i1 @s2n_result_is_ok(i32 %4216)
  br i1 %4217, label %4271, label %4218

4218:                                             ; preds = %4207
  br label %4219

4219:                                             ; preds = %4218
  br label %4220

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

4227:                                             ; preds = %4220
  %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
  %4231 = icmp ne i32 %4230, 0
  br i1 %4231, label %4232, label %4249

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

4249:                                             ; preds = %4227, %4220
  %4250 = load i32, ptr %114, align 4, !tbaa !5
  %4251 = call ptr @__errno_location() #12
  store i32 %4250, ptr %4251, align 4, !tbaa !5
  %4252 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4253 = load i32, ptr @test_count, align 4, !tbaa !5
  %4254 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4255 = load i32, ptr %4254, align 4, !tbaa !5
  %4256 = call ptr @s2n_strerror(i32 noundef %4255, ptr noundef @.str.5)
  %4257 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4258 = load i32, ptr %4257, align 4, !tbaa !5
  %4259 = call ptr @s2n_strerror_debug(i32 noundef %4258, ptr noundef @.str.5)
  %4260 = call ptr @__errno_location() #12
  %4261 = load i32, ptr %4260, align 4, !tbaa !5
  %4262 = call ptr @strerror(i32 noundef %4261) #11
  %4263 = call ptr @__errno_location() #12
  %4264 = load i32, ptr %4263, align 4, !tbaa !5
  %4265 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4252, ptr noundef @.str.6, i32 noundef %4253, ptr noundef @.str.38, ptr noundef @.str.2, i32 noundef 226, ptr noundef %4256, ptr noundef %4259, ptr noundef %4262, i32 noundef %4264) #11
  br label %4266

4266:                                             ; preds = %4249, %4232
  call void @llvm.lifetime.end.p0(i64 4, ptr %114) #11
  br label %4267

4267:                                             ; preds = %4266
  br label %4268

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

4269:                                             ; No predecessors!
  br label %4270

4270:                                             ; preds = %4269
  br label %4271

4271:                                             ; preds = %4270, %4207
  br label %4272

4272:                                             ; preds = %4271
  br label %4273

4273:                                             ; preds = %4272
  br label %4274

4274:                                             ; preds = %4273
  %4275 = load i32, ptr @test_count, align 4, !tbaa !5
  %4276 = add nsw i32 %4275, 1
  store i32 %4276, ptr @test_count, align 4, !tbaa !5
  %4277 = getelementptr inbounds %struct.s2n_test_ktls_io_stuffer, ptr %99, i32 0, i32 0
  %4278 = getelementptr inbounds %struct.s2n_stuffer, ptr %4277, i32 0, i32 2
  %4279 = load i32, ptr %4278, align 4, !tbaa !51
  %4280 = getelementptr inbounds %struct.s2n_test_ktls_io_stuffer, ptr %99, i32 0, i32 0
  %4281 = getelementptr inbounds %struct.s2n_stuffer, ptr %4280, i32 0, i32 1
  %4282 = load i32, ptr %4281, align 8, !tbaa !52
  %4283 = sub i32 %4279, %4282
  %4284 = icmp eq i32 %4283, 3
  br i1 %4284, label %4338, label %4285

4285:                                             ; preds = %4274
  br label %4286

4286:                                             ; preds = %4285
  br label %4287

4287:                                             ; preds = %4286
  call void @llvm.lifetime.start.p0(i64 4, ptr %115) #11
  %4288 = call ptr @__errno_location() #12
  %4289 = load i32, ptr %4288, align 4, !tbaa !5
  store i32 %4289, ptr %115, align 4, !tbaa !5
  %4290 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4291 = call i32 @s2n_print_stacktrace(ptr noundef %4290)
  %4292 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4293 = trunc i8 %4292 to i1
  br i1 %4293, label %4294, label %4316

4294:                                             ; preds = %4287
  %4295 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4296 = call i32 @fileno(ptr noundef %4295) #11
  %4297 = call i32 @isatty(i32 noundef %4296) #11
  %4298 = icmp ne i32 %4297, 0
  br i1 %4298, label %4299, label %4316

4299:                                             ; preds = %4294
  %4300 = load i32, ptr %115, align 4, !tbaa !5
  %4301 = call ptr @__errno_location() #12
  store i32 %4300, ptr %4301, align 4, !tbaa !5
  %4302 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4303 = load i32, ptr @test_count, align 4, !tbaa !5
  %4304 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4305 = load i32, ptr %4304, align 4, !tbaa !5
  %4306 = call ptr @s2n_strerror(i32 noundef %4305, ptr noundef @.str.5)
  %4307 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4308 = load i32, ptr %4307, align 4, !tbaa !5
  %4309 = call ptr @s2n_strerror_debug(i32 noundef %4308, ptr noundef @.str.5)
  %4310 = call ptr @__errno_location() #12
  %4311 = load i32, ptr %4310, align 4, !tbaa !5
  %4312 = call ptr @strerror(i32 noundef %4311) #11
  %4313 = call ptr @__errno_location() #12
  %4314 = load i32, ptr %4313, align 4, !tbaa !5
  %4315 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4302, ptr noundef @.str.3, i32 noundef %4303, ptr noundef @.str.39, ptr noundef @.str.2, i32 noundef 229, ptr noundef %4306, ptr noundef %4309, ptr noundef %4312, i32 noundef %4314) #11
  br label %4333

4316:                                             ; preds = %4294, %4287
  %4317 = load i32, ptr %115, align 4, !tbaa !5
  %4318 = call ptr @__errno_location() #12
  store i32 %4317, ptr %4318, align 4, !tbaa !5
  %4319 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4320 = load i32, ptr @test_count, align 4, !tbaa !5
  %4321 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4322 = load i32, ptr %4321, align 4, !tbaa !5
  %4323 = call ptr @s2n_strerror(i32 noundef %4322, ptr noundef @.str.5)
  %4324 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4325 = load i32, ptr %4324, align 4, !tbaa !5
  %4326 = call ptr @s2n_strerror_debug(i32 noundef %4325, ptr noundef @.str.5)
  %4327 = call ptr @__errno_location() #12
  %4328 = load i32, ptr %4327, align 4, !tbaa !5
  %4329 = call ptr @strerror(i32 noundef %4328) #11
  %4330 = call ptr @__errno_location() #12
  %4331 = load i32, ptr %4330, align 4, !tbaa !5
  %4332 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4319, ptr noundef @.str.6, i32 noundef %4320, ptr noundef @.str.39, ptr noundef @.str.2, i32 noundef 229, ptr noundef %4323, ptr noundef %4326, ptr noundef %4329, i32 noundef %4331) #11
  br label %4333

4333:                                             ; preds = %4316, %4299
  call void @llvm.lifetime.end.p0(i64 4, ptr %115) #11
  br label %4334

4334:                                             ; preds = %4333
  br label %4335

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

4336:                                             ; No predecessors!
  br label %4337

4337:                                             ; preds = %4336
  br label %4338

4338:                                             ; preds = %4337, %4274
  br label %4339

4339:                                             ; preds = %4338
  br label %4340

4340:                                             ; preds = %4339
  br label %4341

4341:                                             ; preds = %4340
  %4342 = load i32, ptr @test_count, align 4, !tbaa !5
  %4343 = add nsw i32 %4342, 1
  store i32 %4343, ptr @test_count, align 4, !tbaa !5
  %4344 = getelementptr inbounds %struct.s2n_test_ktls_io_stuffer, ptr %99, i32 0, i32 2
  %4345 = load i64, ptr %4344, align 8, !tbaa !47
  %4346 = icmp eq i64 %4345, 1
  br i1 %4346, label %4400, label %4347

4347:                                             ; preds = %4341
  br label %4348

4348:                                             ; preds = %4347
  br label %4349

4349:                                             ; preds = %4348
  call void @llvm.lifetime.start.p0(i64 4, ptr %116) #11
  %4350 = call ptr @__errno_location() #12
  %4351 = load i32, ptr %4350, align 4, !tbaa !5
  store i32 %4351, ptr %116, align 4, !tbaa !5
  %4352 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4353 = call i32 @s2n_print_stacktrace(ptr noundef %4352)
  %4354 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4355 = trunc i8 %4354 to i1
  br i1 %4355, label %4356, label %4378

4356:                                             ; preds = %4349
  %4357 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4358 = call i32 @fileno(ptr noundef %4357) #11
  %4359 = call i32 @isatty(i32 noundef %4358) #11
  %4360 = icmp ne i32 %4359, 0
  br i1 %4360, label %4361, label %4378

4361:                                             ; preds = %4356
  %4362 = load i32, ptr %116, align 4, !tbaa !5
  %4363 = call ptr @__errno_location() #12
  store i32 %4362, ptr %4363, align 4, !tbaa !5
  %4364 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4365 = load i32, ptr @test_count, align 4, !tbaa !5
  %4366 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4367 = load i32, ptr %4366, align 4, !tbaa !5
  %4368 = call ptr @s2n_strerror(i32 noundef %4367, ptr noundef @.str.5)
  %4369 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4370 = load i32, ptr %4369, align 4, !tbaa !5
  %4371 = call ptr @s2n_strerror_debug(i32 noundef %4370, ptr noundef @.str.5)
  %4372 = call ptr @__errno_location() #12
  %4373 = load i32, ptr %4372, align 4, !tbaa !5
  %4374 = call ptr @strerror(i32 noundef %4373) #11
  %4375 = call ptr @__errno_location() #12
  %4376 = load i32, ptr %4375, align 4, !tbaa !5
  %4377 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4364, ptr noundef @.str.3, i32 noundef %4365, ptr noundef @.str.34, ptr noundef @.str.2, i32 noundef 231, ptr noundef %4368, ptr noundef %4371, ptr noundef %4374, i32 noundef %4376) #11
  br label %4395

4378:                                             ; preds = %4356, %4349
  %4379 = load i32, ptr %116, align 4, !tbaa !5
  %4380 = call ptr @__errno_location() #12
  store i32 %4379, ptr %4380, align 4, !tbaa !5
  %4381 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4382 = load i32, ptr @test_count, align 4, !tbaa !5
  %4383 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4384 = load i32, ptr %4383, align 4, !tbaa !5
  %4385 = call ptr @s2n_strerror(i32 noundef %4384, ptr noundef @.str.5)
  %4386 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4387 = load i32, ptr %4386, align 4, !tbaa !5
  %4388 = call ptr @s2n_strerror_debug(i32 noundef %4387, ptr noundef @.str.5)
  %4389 = call ptr @__errno_location() #12
  %4390 = load i32, ptr %4389, align 4, !tbaa !5
  %4391 = call ptr @strerror(i32 noundef %4390) #11
  %4392 = call ptr @__errno_location() #12
  %4393 = load i32, ptr %4392, align 4, !tbaa !5
  %4394 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4381, ptr noundef @.str.6, i32 noundef %4382, ptr noundef @.str.34, ptr noundef @.str.2, i32 noundef 231, ptr noundef %4385, ptr noundef %4388, ptr noundef %4391, i32 noundef %4393) #11
  br label %4395

4395:                                             ; preds = %4378, %4361
  call void @llvm.lifetime.end.p0(i64 4, ptr %116) #11
  br label %4396

4396:                                             ; preds = %4395
  br label %4397

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

4398:                                             ; No predecessors!
  br label %4399

4399:                                             ; preds = %4398
  br label %4400

4400:                                             ; preds = %4399, %4341
  br label %4401

4401:                                             ; preds = %4400
  br label %4402

4402:                                             ; preds = %4401
  call void @llvm.lifetime.end.p0(i64 8, ptr %106) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %105) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %103) #11
  call void @llvm.lifetime.end.p0(i64 80, ptr %102) #11
  %4403 = call i32 @s2n_ktls_io_stuffer_free(ptr noundef %99)
  %4404 = getelementptr inbounds %struct.s2n_result, ptr %117, i32 0, i32 0
  store i32 %4403, ptr %4404, align 4
  call void @llvm.lifetime.end.p0(i64 96, ptr %99) #11
  %4405 = call i32 @s2n_connection_ptr_free(ptr noundef %98)
  %4406 = getelementptr inbounds %struct.s2n_result, ptr %118, i32 0, i32 0
  store i32 %4405, ptr %4406, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %98) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %119) #11
  %4407 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %4407, ptr %119, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 96, ptr %120) #11
  call void @llvm.memset.p0.i64(ptr align 8 %120, i8 0, i64 96, i1 false)
  br label %4408

4408:                                             ; preds = %4402
  %4409 = load i32, ptr @test_count, align 4, !tbaa !5
  %4410 = add nsw i32 %4409, 1
  store i32 %4410, ptr @test_count, align 4, !tbaa !5
  %4411 = load ptr, ptr %119, align 8, !tbaa !9
  %4412 = call i32 @s2n_test_init_ktls_io_stuffer_send(ptr noundef %4411, ptr noundef %120)
  %4413 = getelementptr inbounds %struct.s2n_result, ptr %121, i32 0, i32 0
  store i32 %4412, ptr %4413, align 4
  %4414 = getelementptr inbounds %struct.s2n_result, ptr %121, i32 0, i32 0
  %4415 = load i32, ptr %4414, align 4
  %4416 = call zeroext i1 @s2n_result_is_ok(i32 %4415)
  br i1 %4416, label %4470, label %4417

4417:                                             ; preds = %4408
  br label %4418

4418:                                             ; preds = %4417
  br label %4419

4419:                                             ; preds = %4418
  call void @llvm.lifetime.start.p0(i64 4, ptr %122) #11
  %4420 = call ptr @__errno_location() #12
  %4421 = load i32, ptr %4420, align 4, !tbaa !5
  store i32 %4421, ptr %122, align 4, !tbaa !5
  %4422 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4423 = call i32 @s2n_print_stacktrace(ptr noundef %4422)
  %4424 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4425 = trunc i8 %4424 to i1
  br i1 %4425, label %4426, label %4448

4426:                                             ; preds = %4419
  %4427 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4428 = call i32 @fileno(ptr noundef %4427) #11
  %4429 = call i32 @isatty(i32 noundef %4428) #11
  %4430 = icmp ne i32 %4429, 0
  br i1 %4430, label %4431, label %4448

4431:                                             ; preds = %4426
  %4432 = load i32, ptr %122, align 4, !tbaa !5
  %4433 = call ptr @__errno_location() #12
  store i32 %4432, ptr %4433, align 4, !tbaa !5
  %4434 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4435 = load i32, ptr @test_count, align 4, !tbaa !5
  %4436 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4437 = load i32, ptr %4436, align 4, !tbaa !5
  %4438 = call ptr @s2n_strerror(i32 noundef %4437, ptr noundef @.str.5)
  %4439 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4440 = load i32, ptr %4439, align 4, !tbaa !5
  %4441 = call ptr @s2n_strerror_debug(i32 noundef %4440, ptr noundef @.str.5)
  %4442 = call ptr @__errno_location() #12
  %4443 = load i32, ptr %4442, align 4, !tbaa !5
  %4444 = call ptr @strerror(i32 noundef %4443) #11
  %4445 = call ptr @__errno_location() #12
  %4446 = load i32, ptr %4445, align 4, !tbaa !5
  %4447 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4434, ptr noundef @.str.3, i32 noundef %4435, ptr noundef @.str.28, ptr noundef @.str.2, i32 noundef 240, ptr noundef %4438, ptr noundef %4441, ptr noundef %4444, i32 noundef %4446) #11
  br label %4465

4448:                                             ; preds = %4426, %4419
  %4449 = load i32, ptr %122, align 4, !tbaa !5
  %4450 = call ptr @__errno_location() #12
  store i32 %4449, ptr %4450, align 4, !tbaa !5
  %4451 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4452 = load i32, ptr @test_count, align 4, !tbaa !5
  %4453 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4454 = load i32, ptr %4453, align 4, !tbaa !5
  %4455 = call ptr @s2n_strerror(i32 noundef %4454, ptr noundef @.str.5)
  %4456 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4457 = load i32, ptr %4456, align 4, !tbaa !5
  %4458 = call ptr @s2n_strerror_debug(i32 noundef %4457, ptr noundef @.str.5)
  %4459 = call ptr @__errno_location() #12
  %4460 = load i32, ptr %4459, align 4, !tbaa !5
  %4461 = call ptr @strerror(i32 noundef %4460) #11
  %4462 = call ptr @__errno_location() #12
  %4463 = load i32, ptr %4462, align 4, !tbaa !5
  %4464 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4451, ptr noundef @.str.6, i32 noundef %4452, ptr noundef @.str.28, ptr noundef @.str.2, i32 noundef 240, ptr noundef %4455, ptr noundef %4458, ptr noundef %4461, i32 noundef %4463) #11
  br label %4465

4465:                                             ; preds = %4448, %4431
  call void @llvm.lifetime.end.p0(i64 4, ptr %122) #11
  br label %4466

4466:                                             ; preds = %4465
  br label %4467

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

4468:                                             ; No predecessors!
  br label %4469

4469:                                             ; preds = %4468
  br label %4470

4470:                                             ; preds = %4469, %4408
  br label %4471

4471:                                             ; preds = %4470
  br label %4472

4472:                                             ; preds = %4471
  %4473 = getelementptr inbounds %struct.s2n_test_ktls_io_stuffer, ptr %120, i32 0, i32 1
  %4474 = getelementptr inbounds %struct.s2n_stuffer, ptr %4473, i32 0, i32 4
  %4475 = load i8, ptr %4474, align 4
  %4476 = and i8 %4475, -3
  %4477 = or i8 %4476, 0
  store i8 %4477, ptr %4474, align 4
  call void @llvm.lifetime.start.p0(i64 16, ptr %123) #11
  %4478 = getelementptr inbounds %struct.iovec, ptr %123, i32 0, i32 0
  %4479 = getelementptr inbounds [16384 x i8], ptr %10, i64 0, i64 0
  store ptr %4479, ptr %4478, align 8, !tbaa !16
  %4480 = getelementptr inbounds %struct.iovec, ptr %123, i32 0, i32 1
  store i64 10, ptr %4480, align 8, !tbaa !19
  call void @llvm.lifetime.start.p0(i64 4, ptr %124) #11
  store i32 0, ptr %124, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %125) #11
  store i64 5, ptr %125, align 8, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 8, ptr %126) #11
  store i64 0, ptr %126, align 8, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 8, ptr %127) #11
  store i64 0, ptr %127, align 8, !tbaa !20
  br label %4481

4481:                                             ; preds = %4751, %4472
  %4482 = load i64, ptr %127, align 8, !tbaa !20
  %4483 = load i64, ptr %125, align 8, !tbaa !20
  %4484 = icmp ult i64 %4482, %4483
  br i1 %4484, label %4486, label %4485

4485:                                             ; preds = %4481
  call void @llvm.lifetime.end.p0(i64 8, ptr %127) #11
  br label %4754

4486:                                             ; preds = %4481
  br label %4487

4487:                                             ; preds = %4486
  br label %4488

4488:                                             ; preds = %4487
  br label %4489

4489:                                             ; preds = %4488
  %4490 = load i32, ptr @test_count, align 4, !tbaa !5
  %4491 = add nsw i32 %4490, 1
  store i32 %4491, ptr @test_count, align 4, !tbaa !5
  %4492 = load ptr, ptr %119, align 8, !tbaa !9
  %4493 = getelementptr inbounds %struct.s2n_connection, ptr %4492, i32 0, i32 8
  %4494 = load ptr, ptr %4493, align 8, !tbaa !21
  %4495 = call i32 @s2n_ktls_sendmsg(ptr noundef %4494, i8 noundef zeroext 43, ptr noundef %123, i64 noundef 1, ptr noundef %124, ptr noundef %126)
  %4496 = getelementptr inbounds %struct.s2n_result, ptr %128, i32 0, i32 0
  store i32 %4495, ptr %4496, align 4
  %4497 = getelementptr inbounds %struct.s2n_result, ptr %128, i32 0, i32 0
  %4498 = load i32, ptr %4497, align 4
  %4499 = call zeroext i1 @s2n_result_is_error(i32 %4498)
  br i1 %4499, label %4553, label %4500

4500:                                             ; preds = %4489
  br label %4501

4501:                                             ; preds = %4500
  br label %4502

4502:                                             ; preds = %4501
  call void @llvm.lifetime.start.p0(i64 4, ptr %129) #11
  %4503 = call ptr @__errno_location() #12
  %4504 = load i32, ptr %4503, align 4, !tbaa !5
  store i32 %4504, ptr %129, align 4, !tbaa !5
  %4505 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4506 = call i32 @s2n_print_stacktrace(ptr noundef %4505)
  %4507 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4508 = trunc i8 %4507 to i1
  br i1 %4508, label %4509, label %4531

4509:                                             ; preds = %4502
  %4510 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4511 = call i32 @fileno(ptr noundef %4510) #11
  %4512 = call i32 @isatty(i32 noundef %4511) #11
  %4513 = icmp ne i32 %4512, 0
  br i1 %4513, label %4514, label %4531

4514:                                             ; preds = %4509
  %4515 = load i32, ptr %129, align 4, !tbaa !5
  %4516 = call ptr @__errno_location() #12
  store i32 %4515, ptr %4516, align 4, !tbaa !5
  %4517 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4518 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %4520, ptr noundef @.str.5)
  %4522 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4523 = load i32, ptr %4522, align 4, !tbaa !5
  %4524 = call ptr @s2n_strerror_debug(i32 noundef %4523, ptr noundef @.str.5)
  %4525 = call ptr @__errno_location() #12
  %4526 = load i32, ptr %4525, align 4, !tbaa !5
  %4527 = call ptr @strerror(i32 noundef %4526) #11
  %4528 = call ptr @__errno_location() #12
  %4529 = load i32, ptr %4528, align 4, !tbaa !5
  %4530 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4517, ptr noundef @.str.3, i32 noundef %4518, ptr noundef @.str.40, ptr noundef @.str.2, i32 noundef 252, ptr noundef %4521, ptr noundef %4524, ptr noundef %4527, i32 noundef %4529) #11
  br label %4548

4531:                                             ; preds = %4509, %4502
  %4532 = load i32, ptr %129, align 4, !tbaa !5
  %4533 = call ptr @__errno_location() #12
  store i32 %4532, ptr %4533, align 4, !tbaa !5
  %4534 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4535 = load i32, ptr @test_count, align 4, !tbaa !5
  %4536 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4537 = load i32, ptr %4536, align 4, !tbaa !5
  %4538 = call ptr @s2n_strerror(i32 noundef %4537, ptr noundef @.str.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 = call ptr @s2n_strerror_debug(i32 noundef %4540, ptr noundef @.str.5)
  %4542 = call ptr @__errno_location() #12
  %4543 = load i32, ptr %4542, align 4, !tbaa !5
  %4544 = call ptr @strerror(i32 noundef %4543) #11
  %4545 = call ptr @__errno_location() #12
  %4546 = load i32, ptr %4545, align 4, !tbaa !5
  %4547 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4534, ptr noundef @.str.6, i32 noundef %4535, ptr noundef @.str.40, ptr noundef @.str.2, i32 noundef 252, ptr noundef %4538, ptr noundef %4541, ptr noundef %4544, i32 noundef %4546) #11
  br label %4548

4548:                                             ; preds = %4531, %4514
  call void @llvm.lifetime.end.p0(i64 4, ptr %129) #11
  br label %4549

4549:                                             ; preds = %4548
  br label %4550

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

4551:                                             ; No predecessors!
  br label %4552

4552:                                             ; preds = %4551
  br label %4553

4553:                                             ; preds = %4552, %4489
  br label %4554

4554:                                             ; preds = %4553
  br label %4555

4555:                                             ; preds = %4554
  br label %4556

4556:                                             ; preds = %4555
  %4557 = load i32, ptr @test_count, align 4, !tbaa !5
  %4558 = add nsw i32 %4557, 1
  store i32 %4558, ptr @test_count, align 4, !tbaa !5
  %4559 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4560 = load i32, ptr %4559, align 4, !tbaa !5
  %4561 = icmp eq i32 %4560, 201326592
  br i1 %4561, label %4615, label %4562

4562:                                             ; preds = %4556
  br label %4563

4563:                                             ; preds = %4562
  br label %4564

4564:                                             ; preds = %4563
  call void @llvm.lifetime.start.p0(i64 4, ptr %130) #11
  %4565 = call ptr @__errno_location() #12
  %4566 = load i32, ptr %4565, align 4, !tbaa !5
  store i32 %4566, ptr %130, align 4, !tbaa !5
  %4567 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4568 = call i32 @s2n_print_stacktrace(ptr noundef %4567)
  %4569 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4570 = trunc i8 %4569 to i1
  br i1 %4570, label %4571, label %4593

4571:                                             ; preds = %4564
  %4572 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4573 = call i32 @fileno(ptr noundef %4572) #11
  %4574 = call i32 @isatty(i32 noundef %4573) #11
  %4575 = icmp ne i32 %4574, 0
  br i1 %4575, label %4576, label %4593

4576:                                             ; preds = %4571
  %4577 = load i32, ptr %130, align 4, !tbaa !5
  %4578 = call ptr @__errno_location() #12
  store i32 %4577, ptr %4578, align 4, !tbaa !5
  %4579 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4580 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %4582, ptr noundef @.str.5)
  %4584 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4585 = load i32, ptr %4584, align 4, !tbaa !5
  %4586 = call ptr @s2n_strerror_debug(i32 noundef %4585, ptr noundef @.str.5)
  %4587 = call ptr @__errno_location() #12
  %4588 = load i32, ptr %4587, align 4, !tbaa !5
  %4589 = call ptr @strerror(i32 noundef %4588) #11
  %4590 = call ptr @__errno_location() #12
  %4591 = load i32, ptr %4590, align 4, !tbaa !5
  %4592 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4579, ptr noundef @.str.3, i32 noundef %4580, ptr noundef @.str.41, ptr noundef @.str.2, i32 noundef 252, ptr noundef %4583, ptr noundef %4586, ptr noundef %4589, i32 noundef %4591) #11
  br label %4610

4593:                                             ; preds = %4571, %4564
  %4594 = load i32, ptr %130, align 4, !tbaa !5
  %4595 = call ptr @__errno_location() #12
  store i32 %4594, ptr %4595, align 4, !tbaa !5
  %4596 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4597 = load i32, ptr @test_count, align 4, !tbaa !5
  %4598 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4599 = load i32, ptr %4598, align 4, !tbaa !5
  %4600 = call ptr @s2n_strerror(i32 noundef %4599, ptr noundef @.str.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.5)
  %4604 = call ptr @__errno_location() #12
  %4605 = load i32, ptr %4604, align 4, !tbaa !5
  %4606 = call ptr @strerror(i32 noundef %4605) #11
  %4607 = call ptr @__errno_location() #12
  %4608 = load i32, ptr %4607, align 4, !tbaa !5
  %4609 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4596, ptr noundef @.str.6, i32 noundef %4597, ptr noundef @.str.41, ptr noundef @.str.2, i32 noundef 252, ptr noundef %4600, ptr noundef %4603, ptr noundef %4606, i32 noundef %4608) #11
  br label %4610

4610:                                             ; preds = %4593, %4576
  call void @llvm.lifetime.end.p0(i64 4, ptr %130) #11
  br label %4611

4611:                                             ; preds = %4610
  br label %4612

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

4613:                                             ; No predecessors!
  br label %4614

4614:                                             ; preds = %4613
  br label %4615

4615:                                             ; preds = %4614, %4556
  br label %4616

4616:                                             ; preds = %4615
  br label %4617

4617:                                             ; preds = %4616
  br label %4618

4618:                                             ; preds = %4617
  %4619 = load i32, ptr @test_count, align 4, !tbaa !5
  %4620 = add nsw i32 %4619, 1
  store i32 %4620, ptr @test_count, align 4, !tbaa !5
  %4621 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4622 = load i32, ptr %4621, align 4, !tbaa !5
  %4623 = call ptr @s2n_strerror_debug(i32 noundef %4622, ptr noundef @.str.5)
  %4624 = icmp eq ptr %4623, null
  br i1 %4624, label %4625, label %4678

4625:                                             ; preds = %4618
  br label %4626

4626:                                             ; preds = %4625
  br label %4627

4627:                                             ; preds = %4626
  call void @llvm.lifetime.start.p0(i64 4, ptr %131) #11
  %4628 = call ptr @__errno_location() #12
  %4629 = load i32, ptr %4628, align 4, !tbaa !5
  store i32 %4629, ptr %131, align 4, !tbaa !5
  %4630 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4631 = call i32 @s2n_print_stacktrace(ptr noundef %4630)
  %4632 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4633 = trunc i8 %4632 to i1
  br i1 %4633, label %4634, label %4656

4634:                                             ; preds = %4627
  %4635 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4636 = call i32 @fileno(ptr noundef %4635) #11
  %4637 = call i32 @isatty(i32 noundef %4636) #11
  %4638 = icmp ne i32 %4637, 0
  br i1 %4638, label %4639, label %4656

4639:                                             ; preds = %4634
  %4640 = load i32, ptr %131, align 4, !tbaa !5
  %4641 = call ptr @__errno_location() #12
  store i32 %4640, ptr %4641, align 4, !tbaa !5
  %4642 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4643 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %4645, ptr noundef @.str.5)
  %4647 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4648 = load i32, ptr %4647, align 4, !tbaa !5
  %4649 = call ptr @s2n_strerror_debug(i32 noundef %4648, ptr noundef @.str.5)
  %4650 = call ptr @__errno_location() #12
  %4651 = load i32, ptr %4650, align 4, !tbaa !5
  %4652 = call ptr @strerror(i32 noundef %4651) #11
  %4653 = call ptr @__errno_location() #12
  %4654 = load i32, ptr %4653, align 4, !tbaa !5
  %4655 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4642, ptr noundef @.str.3, i32 noundef %4643, ptr noundef @.str.13, ptr noundef @.str.2, i32 noundef 252, ptr noundef %4646, ptr noundef %4649, ptr noundef %4652, i32 noundef %4654) #11
  br label %4673

4656:                                             ; preds = %4634, %4627
  %4657 = load i32, ptr %131, align 4, !tbaa !5
  %4658 = call ptr @__errno_location() #12
  store i32 %4657, ptr %4658, align 4, !tbaa !5
  %4659 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4660 = load i32, ptr @test_count, align 4, !tbaa !5
  %4661 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4662 = load i32, ptr %4661, align 4, !tbaa !5
  %4663 = call ptr @s2n_strerror(i32 noundef %4662, ptr noundef @.str.5)
  %4664 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4665 = load i32, ptr %4664, align 4, !tbaa !5
  %4666 = call ptr @s2n_strerror_debug(i32 noundef %4665, ptr noundef @.str.5)
  %4667 = call ptr @__errno_location() #12
  %4668 = load i32, ptr %4667, align 4, !tbaa !5
  %4669 = call ptr @strerror(i32 noundef %4668) #11
  %4670 = call ptr @__errno_location() #12
  %4671 = load i32, ptr %4670, align 4, !tbaa !5
  %4672 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4659, ptr noundef @.str.6, i32 noundef %4660, ptr noundef @.str.13, ptr noundef @.str.2, i32 noundef 252, ptr noundef %4663, ptr noundef %4666, ptr noundef %4669, i32 noundef %4671) #11
  br label %4673

4673:                                             ; preds = %4656, %4639
  call void @llvm.lifetime.end.p0(i64 4, ptr %131) #11
  br label %4674

4674:                                             ; preds = %4673
  br label %4675

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

4676:                                             ; No predecessors!
  br label %4677

4677:                                             ; preds = %4676
  br label %4678

4678:                                             ; preds = %4677, %4618
  br label %4679

4679:                                             ; preds = %4678
  br label %4680

4680:                                             ; preds = %4679
  br label %4681

4681:                                             ; preds = %4680
  br label %4682

4682:                                             ; preds = %4681
  br label %4683

4683:                                             ; preds = %4682
  %4684 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %4684, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %4685 = call ptr @__errno_location() #12
  store i32 0, ptr %4685, align 4, !tbaa !5
  br label %4686

4686:                                             ; preds = %4683
  br label %4687

4687:                                             ; preds = %4686
  br label %4688

4688:                                             ; preds = %4687
  br label %4689

4689:                                             ; preds = %4688
  br label %4690

4690:                                             ; preds = %4689
  %4691 = load i32, ptr @test_count, align 4, !tbaa !5
  %4692 = add nsw i32 %4691, 1
  store i32 %4692, ptr @test_count, align 4, !tbaa !5
  %4693 = load i32, ptr %124, align 4, !tbaa !5
  %4694 = icmp eq i32 %4693, 2
  br i1 %4694, label %4748, label %4695

4695:                                             ; preds = %4690
  br label %4696

4696:                                             ; preds = %4695
  br label %4697

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

4704:                                             ; preds = %4697
  %4705 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4706 = call i32 @fileno(ptr noundef %4705) #11
  %4707 = call i32 @isatty(i32 noundef %4706) #11
  %4708 = icmp ne i32 %4707, 0
  br i1 %4708, label %4709, label %4726

4709:                                             ; preds = %4704
  %4710 = load i32, ptr %132, align 4, !tbaa !5
  %4711 = call ptr @__errno_location() #12
  store i32 %4710, ptr %4711, align 4, !tbaa !5
  %4712 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4713 = load i32, ptr @test_count, align 4, !tbaa !5
  %4714 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4715 = load i32, ptr %4714, align 4, !tbaa !5
  %4716 = call ptr @s2n_strerror(i32 noundef %4715, ptr noundef @.str.5)
  %4717 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4718 = load i32, ptr %4717, align 4, !tbaa !5
  %4719 = call ptr @s2n_strerror_debug(i32 noundef %4718, ptr noundef @.str.5)
  %4720 = call ptr @__errno_location() #12
  %4721 = load i32, ptr %4720, align 4, !tbaa !5
  %4722 = call ptr @strerror(i32 noundef %4721) #11
  %4723 = call ptr @__errno_location() #12
  %4724 = load i32, ptr %4723, align 4, !tbaa !5
  %4725 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4712, ptr noundef @.str.3, i32 noundef %4713, ptr noundef @.str.42, ptr noundef @.str.2, i32 noundef 253, ptr noundef %4716, ptr noundef %4719, ptr noundef %4722, i32 noundef %4724) #11
  br label %4743

4726:                                             ; preds = %4704, %4697
  %4727 = load i32, ptr %132, align 4, !tbaa !5
  %4728 = call ptr @__errno_location() #12
  store i32 %4727, ptr %4728, align 4, !tbaa !5
  %4729 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4730 = load i32, ptr @test_count, align 4, !tbaa !5
  %4731 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4732 = load i32, ptr %4731, align 4, !tbaa !5
  %4733 = call ptr @s2n_strerror(i32 noundef %4732, ptr noundef @.str.5)
  %4734 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4735 = load i32, ptr %4734, align 4, !tbaa !5
  %4736 = call ptr @s2n_strerror_debug(i32 noundef %4735, ptr noundef @.str.5)
  %4737 = call ptr @__errno_location() #12
  %4738 = load i32, ptr %4737, align 4, !tbaa !5
  %4739 = call ptr @strerror(i32 noundef %4738) #11
  %4740 = call ptr @__errno_location() #12
  %4741 = load i32, ptr %4740, align 4, !tbaa !5
  %4742 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4729, ptr noundef @.str.6, i32 noundef %4730, ptr noundef @.str.42, ptr noundef @.str.2, i32 noundef 253, ptr noundef %4733, ptr noundef %4736, ptr noundef %4739, i32 noundef %4741) #11
  br label %4743

4743:                                             ; preds = %4726, %4709
  call void @llvm.lifetime.end.p0(i64 4, ptr %132) #11
  br label %4744

4744:                                             ; preds = %4743
  br label %4745

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

4746:                                             ; No predecessors!
  br label %4747

4747:                                             ; preds = %4746
  br label %4748

4748:                                             ; preds = %4747, %4690
  br label %4749

4749:                                             ; preds = %4748
  br label %4750

4750:                                             ; preds = %4749
  br label %4751

4751:                                             ; preds = %4750
  %4752 = load i64, ptr %127, align 8, !tbaa !20
  %4753 = add i64 %4752, 1
  store i64 %4753, ptr %127, align 8, !tbaa !20
  br label %4481, !llvm.loop !53

4754:                                             ; preds = %4485
  %4755 = getelementptr inbounds %struct.s2n_test_ktls_io_stuffer, ptr %120, i32 0, i32 1
  %4756 = getelementptr inbounds %struct.s2n_stuffer, ptr %4755, i32 0, i32 4
  %4757 = load i8, ptr %4756, align 4
  %4758 = and i8 %4757, -3
  %4759 = or i8 %4758, 2
  store i8 %4759, ptr %4756, align 4
  br label %4760

4760:                                             ; preds = %4754
  %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 ptr, ptr %119, align 8, !tbaa !9
  %4764 = getelementptr inbounds %struct.s2n_connection, ptr %4763, i32 0, i32 8
  %4765 = load ptr, ptr %4764, align 8, !tbaa !21
  %4766 = call i32 @s2n_ktls_sendmsg(ptr noundef %4765, i8 noundef zeroext 43, ptr noundef %123, i64 noundef 1, ptr noundef %124, ptr noundef %126)
  %4767 = getelementptr inbounds %struct.s2n_result, ptr %133, i32 0, i32 0
  store i32 %4766, ptr %4767, align 4
  %4768 = getelementptr inbounds %struct.s2n_result, ptr %133, i32 0, i32 0
  %4769 = load i32, ptr %4768, align 4
  %4770 = call zeroext i1 @s2n_result_is_ok(i32 %4769)
  br i1 %4770, label %4824, label %4771

4771:                                             ; preds = %4760
  br label %4772

4772:                                             ; preds = %4771
  br label %4773

4773:                                             ; preds = %4772
  call void @llvm.lifetime.start.p0(i64 4, ptr %134) #11
  %4774 = call ptr @__errno_location() #12
  %4775 = load i32, ptr %4774, align 4, !tbaa !5
  store i32 %4775, ptr %134, align 4, !tbaa !5
  %4776 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4777 = call i32 @s2n_print_stacktrace(ptr noundef %4776)
  %4778 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4779 = trunc i8 %4778 to i1
  br i1 %4779, label %4780, label %4802

4780:                                             ; preds = %4773
  %4781 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4782 = call i32 @fileno(ptr noundef %4781) #11
  %4783 = call i32 @isatty(i32 noundef %4782) #11
  %4784 = icmp ne i32 %4783, 0
  br i1 %4784, label %4785, label %4802

4785:                                             ; preds = %4780
  %4786 = load i32, ptr %134, align 4, !tbaa !5
  %4787 = call ptr @__errno_location() #12
  store i32 %4786, ptr %4787, align 4, !tbaa !5
  %4788 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4789 = load i32, ptr @test_count, align 4, !tbaa !5
  %4790 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4791 = load i32, ptr %4790, align 4, !tbaa !5
  %4792 = call ptr @s2n_strerror(i32 noundef %4791, ptr noundef @.str.5)
  %4793 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4794 = load i32, ptr %4793, align 4, !tbaa !5
  %4795 = call ptr @s2n_strerror_debug(i32 noundef %4794, ptr noundef @.str.5)
  %4796 = call ptr @__errno_location() #12
  %4797 = load i32, ptr %4796, align 4, !tbaa !5
  %4798 = call ptr @strerror(i32 noundef %4797) #11
  %4799 = call ptr @__errno_location() #12
  %4800 = load i32, ptr %4799, align 4, !tbaa !5
  %4801 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4788, ptr noundef @.str.3, i32 noundef %4789, ptr noundef @.str.29, ptr noundef @.str.2, i32 noundef 260, ptr noundef %4792, ptr noundef %4795, ptr noundef %4798, i32 noundef %4800) #11
  br label %4819

4802:                                             ; preds = %4780, %4773
  %4803 = load i32, ptr %134, align 4, !tbaa !5
  %4804 = call ptr @__errno_location() #12
  store i32 %4803, ptr %4804, align 4, !tbaa !5
  %4805 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4806 = load i32, ptr @test_count, align 4, !tbaa !5
  %4807 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4808 = load i32, ptr %4807, align 4, !tbaa !5
  %4809 = call ptr @s2n_strerror(i32 noundef %4808, ptr noundef @.str.5)
  %4810 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4811 = load i32, ptr %4810, align 4, !tbaa !5
  %4812 = call ptr @s2n_strerror_debug(i32 noundef %4811, ptr noundef @.str.5)
  %4813 = call ptr @__errno_location() #12
  %4814 = load i32, ptr %4813, align 4, !tbaa !5
  %4815 = call ptr @strerror(i32 noundef %4814) #11
  %4816 = call ptr @__errno_location() #12
  %4817 = load i32, ptr %4816, align 4, !tbaa !5
  %4818 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4805, ptr noundef @.str.6, i32 noundef %4806, ptr noundef @.str.29, ptr noundef @.str.2, i32 noundef 260, ptr noundef %4809, ptr noundef %4812, ptr noundef %4815, i32 noundef %4817) #11
  br label %4819

4819:                                             ; preds = %4802, %4785
  call void @llvm.lifetime.end.p0(i64 4, ptr %134) #11
  br label %4820

4820:                                             ; preds = %4819
  br label %4821

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

4822:                                             ; No predecessors!
  br label %4823

4823:                                             ; preds = %4822
  br label %4824

4824:                                             ; preds = %4823, %4760
  br label %4825

4825:                                             ; preds = %4824
  br label %4826

4826:                                             ; preds = %4825
  br label %4827

4827:                                             ; preds = %4826
  %4828 = load i32, ptr @test_count, align 4, !tbaa !5
  %4829 = add nsw i32 %4828, 1
  store i32 %4829, ptr @test_count, align 4, !tbaa !5
  %4830 = load i64, ptr %126, align 8, !tbaa !20
  %4831 = icmp eq i64 %4830, 10
  br i1 %4831, label %4885, label %4832

4832:                                             ; preds = %4827
  br label %4833

4833:                                             ; preds = %4832
  br label %4834

4834:                                             ; preds = %4833
  call void @llvm.lifetime.start.p0(i64 4, ptr %135) #11
  %4835 = call ptr @__errno_location() #12
  %4836 = load i32, ptr %4835, align 4, !tbaa !5
  store i32 %4836, ptr %135, align 4, !tbaa !5
  %4837 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4838 = call i32 @s2n_print_stacktrace(ptr noundef %4837)
  %4839 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4840 = trunc i8 %4839 to i1
  br i1 %4840, label %4841, label %4863

4841:                                             ; preds = %4834
  %4842 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4843 = call i32 @fileno(ptr noundef %4842) #11
  %4844 = call i32 @isatty(i32 noundef %4843) #11
  %4845 = icmp ne i32 %4844, 0
  br i1 %4845, label %4846, label %4863

4846:                                             ; preds = %4841
  %4847 = load i32, ptr %135, align 4, !tbaa !5
  %4848 = call ptr @__errno_location() #12
  store i32 %4847, ptr %4848, align 4, !tbaa !5
  %4849 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4850 = load i32, ptr @test_count, align 4, !tbaa !5
  %4851 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4852 = load i32, ptr %4851, align 4, !tbaa !5
  %4853 = call ptr @s2n_strerror(i32 noundef %4852, ptr noundef @.str.5)
  %4854 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4855 = load i32, ptr %4854, align 4, !tbaa !5
  %4856 = call ptr @s2n_strerror_debug(i32 noundef %4855, ptr noundef @.str.5)
  %4857 = call ptr @__errno_location() #12
  %4858 = load i32, ptr %4857, align 4, !tbaa !5
  %4859 = call ptr @strerror(i32 noundef %4858) #11
  %4860 = call ptr @__errno_location() #12
  %4861 = load i32, ptr %4860, align 4, !tbaa !5
  %4862 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4849, ptr noundef @.str.3, i32 noundef %4850, ptr noundef @.str.30, ptr noundef @.str.2, i32 noundef 261, ptr noundef %4853, ptr noundef %4856, ptr noundef %4859, i32 noundef %4861) #11
  br label %4880

4863:                                             ; preds = %4841, %4834
  %4864 = load i32, ptr %135, align 4, !tbaa !5
  %4865 = call ptr @__errno_location() #12
  store i32 %4864, ptr %4865, align 4, !tbaa !5
  %4866 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4867 = load i32, ptr @test_count, align 4, !tbaa !5
  %4868 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4869 = load i32, ptr %4868, align 4, !tbaa !5
  %4870 = call ptr @s2n_strerror(i32 noundef %4869, ptr noundef @.str.5)
  %4871 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4872 = load i32, ptr %4871, align 4, !tbaa !5
  %4873 = call ptr @s2n_strerror_debug(i32 noundef %4872, ptr noundef @.str.5)
  %4874 = call ptr @__errno_location() #12
  %4875 = load i32, ptr %4874, align 4, !tbaa !5
  %4876 = call ptr @strerror(i32 noundef %4875) #11
  %4877 = call ptr @__errno_location() #12
  %4878 = load i32, ptr %4877, align 4, !tbaa !5
  %4879 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4866, ptr noundef @.str.6, i32 noundef %4867, ptr noundef @.str.30, ptr noundef @.str.2, i32 noundef 261, ptr noundef %4870, ptr noundef %4873, ptr noundef %4876, i32 noundef %4878) #11
  br label %4880

4880:                                             ; preds = %4863, %4846
  call void @llvm.lifetime.end.p0(i64 4, ptr %135) #11
  br label %4881

4881:                                             ; preds = %4880
  br label %4882

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

4883:                                             ; No predecessors!
  br label %4884

4884:                                             ; preds = %4883
  br label %4885

4885:                                             ; preds = %4884, %4827
  br label %4886

4886:                                             ; preds = %4885
  br label %4887

4887:                                             ; preds = %4886
  br label %4888

4888:                                             ; preds = %4887
  %4889 = load i32, ptr @test_count, align 4, !tbaa !5
  %4890 = add nsw i32 %4889, 1
  store i32 %4890, ptr @test_count, align 4, !tbaa !5
  %4891 = call i32 @s2n_test_validate_ancillary(ptr noundef %120, i8 noundef zeroext 43, i16 noundef zeroext 10)
  %4892 = getelementptr inbounds %struct.s2n_result, ptr %136, i32 0, i32 0
  store i32 %4891, ptr %4892, align 4
  %4893 = getelementptr inbounds %struct.s2n_result, ptr %136, i32 0, i32 0
  %4894 = load i32, ptr %4893, align 4
  %4895 = call zeroext i1 @s2n_result_is_ok(i32 %4894)
  br i1 %4895, label %4949, label %4896

4896:                                             ; preds = %4888
  br label %4897

4897:                                             ; preds = %4896
  br label %4898

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

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

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

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

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

4945:                                             ; preds = %4944
  br label %4946

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

4947:                                             ; No predecessors!
  br label %4948

4948:                                             ; preds = %4947
  br label %4949

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

4950:                                             ; preds = %4949
  br label %4951

4951:                                             ; preds = %4950
  br label %4952

4952:                                             ; preds = %4951
  %4953 = load i32, ptr @test_count, align 4, !tbaa !5
  %4954 = add nsw i32 %4953, 1
  store i32 %4954, ptr @test_count, align 4, !tbaa !5
  %4955 = getelementptr inbounds [16384 x i8], ptr %10, i64 0, i64 0
  %4956 = call i32 @s2n_test_validate_data(ptr noundef %120, ptr noundef %4955, i16 noundef zeroext 10)
  %4957 = getelementptr inbounds %struct.s2n_result, ptr %138, i32 0, i32 0
  store i32 %4956, ptr %4957, align 4
  %4958 = getelementptr inbounds %struct.s2n_result, ptr %138, i32 0, i32 0
  %4959 = load i32, ptr %4958, align 4
  %4960 = call zeroext i1 @s2n_result_is_ok(i32 %4959)
  br i1 %4960, label %5014, label %4961

4961:                                             ; preds = %4952
  br label %4962

4962:                                             ; preds = %4961
  br label %4963

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

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

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

4992:                                             ; preds = %4970, %4963
  %4993 = load i32, ptr %139, align 4, !tbaa !5
  %4994 = call ptr @__errno_location() #12
  store i32 %4993, ptr %4994, align 4, !tbaa !5
  %4995 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4996 = load i32, ptr @test_count, align 4, !tbaa !5
  %4997 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4998 = load i32, ptr %4997, align 4, !tbaa !5
  %4999 = call ptr @s2n_strerror(i32 noundef %4998, ptr noundef @.str.5)
  %5000 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5001 = load i32, ptr %5000, align 4, !tbaa !5
  %5002 = call ptr @s2n_strerror_debug(i32 noundef %5001, ptr noundef @.str.5)
  %5003 = call ptr @__errno_location() #12
  %5004 = load i32, ptr %5003, align 4, !tbaa !5
  %5005 = call ptr @strerror(i32 noundef %5004) #11
  %5006 = call ptr @__errno_location() #12
  %5007 = load i32, ptr %5006, align 4, !tbaa !5
  %5008 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4995, ptr noundef @.str.6, i32 noundef %4996, ptr noundef @.str.33, ptr noundef @.str.2, i32 noundef 265, ptr noundef %4999, ptr noundef %5002, ptr noundef %5005, i32 noundef %5007) #11
  br label %5009

5009:                                             ; preds = %4992, %4975
  call void @llvm.lifetime.end.p0(i64 4, ptr %139) #11
  br label %5010

5010:                                             ; preds = %5009
  br label %5011

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

5012:                                             ; No predecessors!
  br label %5013

5013:                                             ; preds = %5012
  br label %5014

5014:                                             ; preds = %5013, %4952
  br label %5015

5015:                                             ; preds = %5014
  br label %5016

5016:                                             ; preds = %5015
  br label %5017

5017:                                             ; preds = %5016
  %5018 = load i32, ptr @test_count, align 4, !tbaa !5
  %5019 = add nsw i32 %5018, 1
  store i32 %5019, ptr @test_count, align 4, !tbaa !5
  %5020 = getelementptr inbounds %struct.s2n_test_ktls_io_stuffer, ptr %120, i32 0, i32 2
  %5021 = load i64, ptr %5020, align 8, !tbaa !47
  %5022 = load i64, ptr %125, align 8, !tbaa !20
  %5023 = add i64 %5022, 1
  %5024 = icmp eq i64 %5021, %5023
  br i1 %5024, label %5078, label %5025

5025:                                             ; preds = %5017
  br label %5026

5026:                                             ; preds = %5025
  br label %5027

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

5034:                                             ; preds = %5027
  %5035 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5036 = call i32 @fileno(ptr noundef %5035) #11
  %5037 = call i32 @isatty(i32 noundef %5036) #11
  %5038 = icmp ne i32 %5037, 0
  br i1 %5038, label %5039, label %5056

5039:                                             ; preds = %5034
  %5040 = load i32, ptr %140, align 4, !tbaa !5
  %5041 = call ptr @__errno_location() #12
  store i32 %5040, ptr %5041, align 4, !tbaa !5
  %5042 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5043 = load i32, ptr @test_count, align 4, !tbaa !5
  %5044 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5045 = load i32, ptr %5044, align 4, !tbaa !5
  %5046 = call ptr @s2n_strerror(i32 noundef %5045, ptr noundef @.str.5)
  %5047 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5048 = load i32, ptr %5047, align 4, !tbaa !5
  %5049 = call ptr @s2n_strerror_debug(i32 noundef %5048, ptr noundef @.str.5)
  %5050 = call ptr @__errno_location() #12
  %5051 = load i32, ptr %5050, align 4, !tbaa !5
  %5052 = call ptr @strerror(i32 noundef %5051) #11
  %5053 = call ptr @__errno_location() #12
  %5054 = load i32, ptr %5053, align 4, !tbaa !5
  %5055 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5042, ptr noundef @.str.3, i32 noundef %5043, ptr noundef @.str.43, ptr noundef @.str.2, i32 noundef 267, ptr noundef %5046, ptr noundef %5049, ptr noundef %5052, i32 noundef %5054) #11
  br label %5073

5056:                                             ; preds = %5034, %5027
  %5057 = load i32, ptr %140, align 4, !tbaa !5
  %5058 = call ptr @__errno_location() #12
  store i32 %5057, ptr %5058, align 4, !tbaa !5
  %5059 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5060 = load i32, ptr @test_count, align 4, !tbaa !5
  %5061 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5062 = load i32, ptr %5061, align 4, !tbaa !5
  %5063 = call ptr @s2n_strerror(i32 noundef %5062, ptr noundef @.str.5)
  %5064 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5065 = load i32, ptr %5064, align 4, !tbaa !5
  %5066 = call ptr @s2n_strerror_debug(i32 noundef %5065, ptr noundef @.str.5)
  %5067 = call ptr @__errno_location() #12
  %5068 = load i32, ptr %5067, align 4, !tbaa !5
  %5069 = call ptr @strerror(i32 noundef %5068) #11
  %5070 = call ptr @__errno_location() #12
  %5071 = load i32, ptr %5070, align 4, !tbaa !5
  %5072 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5059, ptr noundef @.str.6, i32 noundef %5060, ptr noundef @.str.43, ptr noundef @.str.2, i32 noundef 267, ptr noundef %5063, ptr noundef %5066, ptr noundef %5069, i32 noundef %5071) #11
  br label %5073

5073:                                             ; preds = %5056, %5039
  call void @llvm.lifetime.end.p0(i64 4, ptr %140) #11
  br label %5074

5074:                                             ; preds = %5073
  br label %5075

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

5076:                                             ; No predecessors!
  br label %5077

5077:                                             ; preds = %5076
  br label %5078

5078:                                             ; preds = %5077, %5017
  br label %5079

5079:                                             ; preds = %5078
  br label %5080

5080:                                             ; preds = %5079
  call void @llvm.lifetime.end.p0(i64 8, ptr %126) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %125) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %124) #11
  call void @llvm.lifetime.end.p0(i64 16, ptr %123) #11
  %5081 = call i32 @s2n_ktls_io_stuffer_free(ptr noundef %120)
  %5082 = getelementptr inbounds %struct.s2n_result, ptr %141, i32 0, i32 0
  store i32 %5081, ptr %5082, align 4
  call void @llvm.lifetime.end.p0(i64 96, ptr %120) #11
  %5083 = call i32 @s2n_connection_ptr_free(ptr noundef %119)
  %5084 = getelementptr inbounds %struct.s2n_result, ptr %142, i32 0, i32 0
  store i32 %5083, ptr %5084, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %119) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %143) #11
  %5085 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %5085, ptr %143, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %144) #11
  call void @llvm.memset.p0.i64(ptr align 8 %144, i8 0, i64 16, i1 false)
  br label %5086

5086:                                             ; preds = %5080
  %5087 = load i32, ptr @test_count, align 4, !tbaa !5
  %5088 = add nsw i32 %5087, 1
  store i32 %5088, ptr @test_count, align 4, !tbaa !5
  %5089 = load ptr, ptr %143, align 8, !tbaa !9
  %5090 = call i32 @s2n_ktls_set_sendmsg_cb(ptr noundef %5089, ptr noundef @s2n_test_ktls_sendmsg_fail, ptr noundef %144)
  %5091 = getelementptr inbounds %struct.s2n_result, ptr %145, i32 0, i32 0
  store i32 %5090, ptr %5091, align 4
  %5092 = getelementptr inbounds %struct.s2n_result, ptr %145, i32 0, i32 0
  %5093 = load i32, ptr %5092, align 4
  %5094 = call zeroext i1 @s2n_result_is_ok(i32 %5093)
  br i1 %5094, label %5148, label %5095

5095:                                             ; preds = %5086
  br label %5096

5096:                                             ; preds = %5095
  br label %5097

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

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

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

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

5143:                                             ; preds = %5126, %5109
  call void @llvm.lifetime.end.p0(i64 4, ptr %146) #11
  br label %5144

5144:                                             ; preds = %5143
  br label %5145

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

5146:                                             ; No predecessors!
  br label %5147

5147:                                             ; preds = %5146
  br label %5148

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

5149:                                             ; preds = %5148
  br label %5150

5150:                                             ; preds = %5149
  call void @llvm.lifetime.start.p0(i64 16, ptr %147) #11
  %5151 = getelementptr inbounds %struct.iovec, ptr %147, i32 0, i32 0
  %5152 = getelementptr inbounds [16384 x i8], ptr %10, i64 0, i64 0
  store ptr %5152, ptr %5151, align 8, !tbaa !16
  %5153 = getelementptr inbounds %struct.iovec, ptr %147, i32 0, i32 1
  store i64 10, ptr %5153, align 8, !tbaa !19
  call void @llvm.lifetime.start.p0(i64 4, ptr %148) #11
  store i32 0, ptr %148, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %149) #11
  store i64 0, ptr %149, align 8, !tbaa !20
  %5154 = getelementptr inbounds %struct.s2n_test_ktls_io_fail_ctx, ptr %144, i32 0, i32 0
  store i64 11, ptr %5154, align 8, !tbaa !54
  br label %5155

5155:                                             ; preds = %5150
  br label %5156

5156:                                             ; preds = %5155
  br label %5157

5157:                                             ; preds = %5156
  %5158 = load i32, ptr @test_count, align 4, !tbaa !5
  %5159 = add nsw i32 %5158, 1
  store i32 %5159, ptr @test_count, align 4, !tbaa !5
  %5160 = load ptr, ptr %143, align 8, !tbaa !9
  %5161 = getelementptr inbounds %struct.s2n_connection, ptr %5160, i32 0, i32 8
  %5162 = load ptr, ptr %5161, align 8, !tbaa !21
  %5163 = call i32 @s2n_ktls_sendmsg(ptr noundef %5162, i8 noundef zeroext 43, ptr noundef %147, i64 noundef 1, ptr noundef %148, ptr noundef %149)
  %5164 = getelementptr inbounds %struct.s2n_result, ptr %150, i32 0, i32 0
  store i32 %5163, ptr %5164, align 4
  %5165 = getelementptr inbounds %struct.s2n_result, ptr %150, i32 0, i32 0
  %5166 = load i32, ptr %5165, align 4
  %5167 = call zeroext i1 @s2n_result_is_error(i32 %5166)
  br i1 %5167, label %5221, label %5168

5168:                                             ; preds = %5157
  br label %5169

5169:                                             ; preds = %5168
  br label %5170

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

5177:                                             ; preds = %5170
  %5178 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5179 = call i32 @fileno(ptr noundef %5178) #11
  %5180 = call i32 @isatty(i32 noundef %5179) #11
  %5181 = icmp ne i32 %5180, 0
  br i1 %5181, label %5182, label %5199

5182:                                             ; preds = %5177
  %5183 = load i32, ptr %151, align 4, !tbaa !5
  %5184 = call ptr @__errno_location() #12
  store i32 %5183, ptr %5184, align 4, !tbaa !5
  %5185 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5186 = load i32, ptr @test_count, align 4, !tbaa !5
  %5187 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5188 = load i32, ptr %5187, align 4, !tbaa !5
  %5189 = call ptr @s2n_strerror(i32 noundef %5188, ptr noundef @.str.5)
  %5190 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5191 = load i32, ptr %5190, align 4, !tbaa !5
  %5192 = call ptr @s2n_strerror_debug(i32 noundef %5191, ptr noundef @.str.5)
  %5193 = call ptr @__errno_location() #12
  %5194 = load i32, ptr %5193, align 4, !tbaa !5
  %5195 = call ptr @strerror(i32 noundef %5194) #11
  %5196 = call ptr @__errno_location() #12
  %5197 = load i32, ptr %5196, align 4, !tbaa !5
  %5198 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5185, ptr noundef @.str.3, i32 noundef %5186, ptr noundef @.str.40, ptr noundef @.str.2, i32 noundef 285, ptr noundef %5189, ptr noundef %5192, ptr noundef %5195, i32 noundef %5197) #11
  br label %5216

5199:                                             ; preds = %5177, %5170
  %5200 = load i32, ptr %151, align 4, !tbaa !5
  %5201 = call ptr @__errno_location() #12
  store i32 %5200, ptr %5201, align 4, !tbaa !5
  %5202 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5203 = load i32, ptr @test_count, align 4, !tbaa !5
  %5204 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5205 = load i32, ptr %5204, align 4, !tbaa !5
  %5206 = call ptr @s2n_strerror(i32 noundef %5205, ptr noundef @.str.5)
  %5207 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5208 = load i32, ptr %5207, align 4, !tbaa !5
  %5209 = call ptr @s2n_strerror_debug(i32 noundef %5208, ptr noundef @.str.5)
  %5210 = call ptr @__errno_location() #12
  %5211 = load i32, ptr %5210, align 4, !tbaa !5
  %5212 = call ptr @strerror(i32 noundef %5211) #11
  %5213 = call ptr @__errno_location() #12
  %5214 = load i32, ptr %5213, align 4, !tbaa !5
  %5215 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5202, ptr noundef @.str.6, i32 noundef %5203, ptr noundef @.str.40, ptr noundef @.str.2, i32 noundef 285, ptr noundef %5206, ptr noundef %5209, ptr noundef %5212, i32 noundef %5214) #11
  br label %5216

5216:                                             ; preds = %5199, %5182
  call void @llvm.lifetime.end.p0(i64 4, ptr %151) #11
  br label %5217

5217:                                             ; preds = %5216
  br label %5218

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

5219:                                             ; No predecessors!
  br label %5220

5220:                                             ; preds = %5219
  br label %5221

5221:                                             ; preds = %5220, %5157
  br label %5222

5222:                                             ; preds = %5221
  br label %5223

5223:                                             ; preds = %5222
  br label %5224

5224:                                             ; preds = %5223
  %5225 = load i32, ptr @test_count, align 4, !tbaa !5
  %5226 = add nsw i32 %5225, 1
  store i32 %5226, ptr @test_count, align 4, !tbaa !5
  %5227 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5228 = load i32, ptr %5227, align 4, !tbaa !5
  %5229 = icmp eq i32 %5228, 201326592
  br i1 %5229, label %5283, label %5230

5230:                                             ; preds = %5224
  br label %5231

5231:                                             ; preds = %5230
  br label %5232

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

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

5244:                                             ; preds = %5239
  %5245 = load i32, ptr %152, align 4, !tbaa !5
  %5246 = call ptr @__errno_location() #12
  store i32 %5245, ptr %5246, align 4, !tbaa !5
  %5247 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5248 = load i32, ptr @test_count, align 4, !tbaa !5
  %5249 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5250 = load i32, ptr %5249, align 4, !tbaa !5
  %5251 = call ptr @s2n_strerror(i32 noundef %5250, ptr noundef @.str.5)
  %5252 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5253 = load i32, ptr %5252, align 4, !tbaa !5
  %5254 = call ptr @s2n_strerror_debug(i32 noundef %5253, ptr noundef @.str.5)
  %5255 = call ptr @__errno_location() #12
  %5256 = load i32, ptr %5255, align 4, !tbaa !5
  %5257 = call ptr @strerror(i32 noundef %5256) #11
  %5258 = call ptr @__errno_location() #12
  %5259 = load i32, ptr %5258, align 4, !tbaa !5
  %5260 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5247, ptr noundef @.str.3, i32 noundef %5248, ptr noundef @.str.41, ptr noundef @.str.2, i32 noundef 285, ptr noundef %5251, ptr noundef %5254, ptr noundef %5257, i32 noundef %5259) #11
  br label %5278

5261:                                             ; preds = %5239, %5232
  %5262 = load i32, ptr %152, align 4, !tbaa !5
  %5263 = call ptr @__errno_location() #12
  store i32 %5262, ptr %5263, align 4, !tbaa !5
  %5264 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5265 = load i32, ptr @test_count, align 4, !tbaa !5
  %5266 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5267 = load i32, ptr %5266, align 4, !tbaa !5
  %5268 = call ptr @s2n_strerror(i32 noundef %5267, ptr noundef @.str.5)
  %5269 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5270 = load i32, ptr %5269, align 4, !tbaa !5
  %5271 = call ptr @s2n_strerror_debug(i32 noundef %5270, ptr noundef @.str.5)
  %5272 = call ptr @__errno_location() #12
  %5273 = load i32, ptr %5272, align 4, !tbaa !5
  %5274 = call ptr @strerror(i32 noundef %5273) #11
  %5275 = call ptr @__errno_location() #12
  %5276 = load i32, ptr %5275, align 4, !tbaa !5
  %5277 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5264, ptr noundef @.str.6, i32 noundef %5265, ptr noundef @.str.41, ptr noundef @.str.2, i32 noundef 285, ptr noundef %5268, ptr noundef %5271, ptr noundef %5274, i32 noundef %5276) #11
  br label %5278

5278:                                             ; preds = %5261, %5244
  call void @llvm.lifetime.end.p0(i64 4, ptr %152) #11
  br label %5279

5279:                                             ; preds = %5278
  br label %5280

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

5281:                                             ; No predecessors!
  br label %5282

5282:                                             ; preds = %5281
  br label %5283

5283:                                             ; preds = %5282, %5224
  br label %5284

5284:                                             ; preds = %5283
  br label %5285

5285:                                             ; preds = %5284
  br label %5286

5286:                                             ; preds = %5285
  %5287 = load i32, ptr @test_count, align 4, !tbaa !5
  %5288 = add nsw i32 %5287, 1
  store i32 %5288, ptr @test_count, align 4, !tbaa !5
  %5289 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5290 = load i32, ptr %5289, align 4, !tbaa !5
  %5291 = call ptr @s2n_strerror_debug(i32 noundef %5290, ptr noundef @.str.5)
  %5292 = icmp eq ptr %5291, null
  br i1 %5292, label %5293, label %5346

5293:                                             ; preds = %5286
  br label %5294

5294:                                             ; preds = %5293
  br label %5295

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

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

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

5324:                                             ; preds = %5302, %5295
  %5325 = load i32, ptr %153, align 4, !tbaa !5
  %5326 = call ptr @__errno_location() #12
  store i32 %5325, ptr %5326, align 4, !tbaa !5
  %5327 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5328 = load i32, ptr @test_count, align 4, !tbaa !5
  %5329 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5330 = load i32, ptr %5329, align 4, !tbaa !5
  %5331 = call ptr @s2n_strerror(i32 noundef %5330, ptr noundef @.str.5)
  %5332 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5333 = load i32, ptr %5332, align 4, !tbaa !5
  %5334 = call ptr @s2n_strerror_debug(i32 noundef %5333, ptr noundef @.str.5)
  %5335 = call ptr @__errno_location() #12
  %5336 = load i32, ptr %5335, align 4, !tbaa !5
  %5337 = call ptr @strerror(i32 noundef %5336) #11
  %5338 = call ptr @__errno_location() #12
  %5339 = load i32, ptr %5338, align 4, !tbaa !5
  %5340 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5327, ptr noundef @.str.6, i32 noundef %5328, ptr noundef @.str.13, ptr noundef @.str.2, i32 noundef 285, ptr noundef %5331, ptr noundef %5334, ptr noundef %5337, i32 noundef %5339) #11
  br label %5341

5341:                                             ; preds = %5324, %5307
  call void @llvm.lifetime.end.p0(i64 4, ptr %153) #11
  br label %5342

5342:                                             ; preds = %5341
  br label %5343

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

5344:                                             ; No predecessors!
  br label %5345

5345:                                             ; preds = %5344
  br label %5346

5346:                                             ; preds = %5345, %5286
  br label %5347

5347:                                             ; preds = %5346
  br label %5348

5348:                                             ; preds = %5347
  br label %5349

5349:                                             ; preds = %5348
  br label %5350

5350:                                             ; preds = %5349
  br label %5351

5351:                                             ; preds = %5350
  %5352 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %5352, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %5353 = call ptr @__errno_location() #12
  store i32 0, ptr %5353, align 4, !tbaa !5
  br label %5354

5354:                                             ; preds = %5351
  br label %5355

5355:                                             ; preds = %5354
  br label %5356

5356:                                             ; preds = %5355
  br label %5357

5357:                                             ; preds = %5356
  %5358 = getelementptr inbounds %struct.s2n_test_ktls_io_fail_ctx, ptr %144, i32 0, i32 0
  store i64 11, ptr %5358, align 8, !tbaa !54
  br label %5359

5359:                                             ; preds = %5357
  br label %5360

5360:                                             ; preds = %5359
  br label %5361

5361:                                             ; preds = %5360
  %5362 = load i32, ptr @test_count, align 4, !tbaa !5
  %5363 = add nsw i32 %5362, 1
  store i32 %5363, ptr @test_count, align 4, !tbaa !5
  %5364 = load ptr, ptr %143, align 8, !tbaa !9
  %5365 = getelementptr inbounds %struct.s2n_connection, ptr %5364, i32 0, i32 8
  %5366 = load ptr, ptr %5365, align 8, !tbaa !21
  %5367 = call i32 @s2n_ktls_sendmsg(ptr noundef %5366, i8 noundef zeroext 43, ptr noundef %147, i64 noundef 1, ptr noundef %148, ptr noundef %149)
  %5368 = getelementptr inbounds %struct.s2n_result, ptr %154, i32 0, i32 0
  store i32 %5367, ptr %5368, align 4
  %5369 = getelementptr inbounds %struct.s2n_result, ptr %154, i32 0, i32 0
  %5370 = load i32, ptr %5369, align 4
  %5371 = call zeroext i1 @s2n_result_is_error(i32 %5370)
  br i1 %5371, label %5425, label %5372

5372:                                             ; preds = %5361
  br label %5373

5373:                                             ; preds = %5372
  br label %5374

5374:                                             ; preds = %5373
  call void @llvm.lifetime.start.p0(i64 4, ptr %155) #11
  %5375 = call ptr @__errno_location() #12
  %5376 = load i32, ptr %5375, align 4, !tbaa !5
  store i32 %5376, ptr %155, align 4, !tbaa !5
  %5377 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5378 = call i32 @s2n_print_stacktrace(ptr noundef %5377)
  %5379 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5380 = trunc i8 %5379 to i1
  br i1 %5380, label %5381, label %5403

5381:                                             ; preds = %5374
  %5382 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5383 = call i32 @fileno(ptr noundef %5382) #11
  %5384 = call i32 @isatty(i32 noundef %5383) #11
  %5385 = icmp ne i32 %5384, 0
  br i1 %5385, label %5386, label %5403

5386:                                             ; preds = %5381
  %5387 = load i32, ptr %155, align 4, !tbaa !5
  %5388 = call ptr @__errno_location() #12
  store i32 %5387, ptr %5388, align 4, !tbaa !5
  %5389 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5390 = load i32, ptr @test_count, align 4, !tbaa !5
  %5391 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5392 = load i32, ptr %5391, align 4, !tbaa !5
  %5393 = call ptr @s2n_strerror(i32 noundef %5392, ptr noundef @.str.5)
  %5394 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5395 = load i32, ptr %5394, align 4, !tbaa !5
  %5396 = call ptr @s2n_strerror_debug(i32 noundef %5395, ptr noundef @.str.5)
  %5397 = call ptr @__errno_location() #12
  %5398 = load i32, ptr %5397, align 4, !tbaa !5
  %5399 = call ptr @strerror(i32 noundef %5398) #11
  %5400 = call ptr @__errno_location() #12
  %5401 = load i32, ptr %5400, align 4, !tbaa !5
  %5402 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5389, ptr noundef @.str.3, i32 noundef %5390, ptr noundef @.str.40, ptr noundef @.str.2, i32 noundef 292, ptr noundef %5393, ptr noundef %5396, ptr noundef %5399, i32 noundef %5401) #11
  br label %5420

5403:                                             ; preds = %5381, %5374
  %5404 = load i32, ptr %155, align 4, !tbaa !5
  %5405 = call ptr @__errno_location() #12
  store i32 %5404, ptr %5405, align 4, !tbaa !5
  %5406 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5407 = load i32, ptr @test_count, align 4, !tbaa !5
  %5408 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5409 = load i32, ptr %5408, align 4, !tbaa !5
  %5410 = call ptr @s2n_strerror(i32 noundef %5409, ptr noundef @.str.5)
  %5411 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5412 = load i32, ptr %5411, align 4, !tbaa !5
  %5413 = call ptr @s2n_strerror_debug(i32 noundef %5412, ptr noundef @.str.5)
  %5414 = call ptr @__errno_location() #12
  %5415 = load i32, ptr %5414, align 4, !tbaa !5
  %5416 = call ptr @strerror(i32 noundef %5415) #11
  %5417 = call ptr @__errno_location() #12
  %5418 = load i32, ptr %5417, align 4, !tbaa !5
  %5419 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5406, ptr noundef @.str.6, i32 noundef %5407, ptr noundef @.str.40, ptr noundef @.str.2, i32 noundef 292, ptr noundef %5410, ptr noundef %5413, ptr noundef %5416, i32 noundef %5418) #11
  br label %5420

5420:                                             ; preds = %5403, %5386
  call void @llvm.lifetime.end.p0(i64 4, ptr %155) #11
  br label %5421

5421:                                             ; preds = %5420
  br label %5422

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

5423:                                             ; No predecessors!
  br label %5424

5424:                                             ; preds = %5423
  br label %5425

5425:                                             ; preds = %5424, %5361
  br label %5426

5426:                                             ; preds = %5425
  br label %5427

5427:                                             ; preds = %5426
  br label %5428

5428:                                             ; preds = %5427
  %5429 = load i32, ptr @test_count, align 4, !tbaa !5
  %5430 = add nsw i32 %5429, 1
  store i32 %5430, ptr @test_count, align 4, !tbaa !5
  %5431 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5432 = load i32, ptr %5431, align 4, !tbaa !5
  %5433 = icmp eq i32 %5432, 201326592
  br i1 %5433, label %5487, label %5434

5434:                                             ; preds = %5428
  br label %5435

5435:                                             ; preds = %5434
  br label %5436

5436:                                             ; preds = %5435
  call void @llvm.lifetime.start.p0(i64 4, ptr %156) #11
  %5437 = call ptr @__errno_location() #12
  %5438 = load i32, ptr %5437, align 4, !tbaa !5
  store i32 %5438, ptr %156, align 4, !tbaa !5
  %5439 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5440 = call i32 @s2n_print_stacktrace(ptr noundef %5439)
  %5441 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5442 = trunc i8 %5441 to i1
  br i1 %5442, label %5443, label %5465

5443:                                             ; preds = %5436
  %5444 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5445 = call i32 @fileno(ptr noundef %5444) #11
  %5446 = call i32 @isatty(i32 noundef %5445) #11
  %5447 = icmp ne i32 %5446, 0
  br i1 %5447, label %5448, label %5465

5448:                                             ; preds = %5443
  %5449 = load i32, ptr %156, align 4, !tbaa !5
  %5450 = call ptr @__errno_location() #12
  store i32 %5449, ptr %5450, align 4, !tbaa !5
  %5451 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5452 = load i32, ptr @test_count, align 4, !tbaa !5
  %5453 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5454 = load i32, ptr %5453, align 4, !tbaa !5
  %5455 = call ptr @s2n_strerror(i32 noundef %5454, ptr noundef @.str.5)
  %5456 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5457 = load i32, ptr %5456, align 4, !tbaa !5
  %5458 = call ptr @s2n_strerror_debug(i32 noundef %5457, ptr noundef @.str.5)
  %5459 = call ptr @__errno_location() #12
  %5460 = load i32, ptr %5459, align 4, !tbaa !5
  %5461 = call ptr @strerror(i32 noundef %5460) #11
  %5462 = call ptr @__errno_location() #12
  %5463 = load i32, ptr %5462, align 4, !tbaa !5
  %5464 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5451, ptr noundef @.str.3, i32 noundef %5452, ptr noundef @.str.41, ptr noundef @.str.2, i32 noundef 292, ptr noundef %5455, ptr noundef %5458, ptr noundef %5461, i32 noundef %5463) #11
  br label %5482

5465:                                             ; preds = %5443, %5436
  %5466 = load i32, ptr %156, align 4, !tbaa !5
  %5467 = call ptr @__errno_location() #12
  store i32 %5466, ptr %5467, align 4, !tbaa !5
  %5468 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5469 = load i32, ptr @test_count, align 4, !tbaa !5
  %5470 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5471 = load i32, ptr %5470, align 4, !tbaa !5
  %5472 = call ptr @s2n_strerror(i32 noundef %5471, ptr noundef @.str.5)
  %5473 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5474 = load i32, ptr %5473, align 4, !tbaa !5
  %5475 = call ptr @s2n_strerror_debug(i32 noundef %5474, ptr noundef @.str.5)
  %5476 = call ptr @__errno_location() #12
  %5477 = load i32, ptr %5476, align 4, !tbaa !5
  %5478 = call ptr @strerror(i32 noundef %5477) #11
  %5479 = call ptr @__errno_location() #12
  %5480 = load i32, ptr %5479, align 4, !tbaa !5
  %5481 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5468, ptr noundef @.str.6, i32 noundef %5469, ptr noundef @.str.41, ptr noundef @.str.2, i32 noundef 292, ptr noundef %5472, ptr noundef %5475, ptr noundef %5478, i32 noundef %5480) #11
  br label %5482

5482:                                             ; preds = %5465, %5448
  call void @llvm.lifetime.end.p0(i64 4, ptr %156) #11
  br label %5483

5483:                                             ; preds = %5482
  br label %5484

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

5485:                                             ; No predecessors!
  br label %5486

5486:                                             ; preds = %5485
  br label %5487

5487:                                             ; preds = %5486, %5428
  br label %5488

5488:                                             ; preds = %5487
  br label %5489

5489:                                             ; preds = %5488
  br label %5490

5490:                                             ; preds = %5489
  %5491 = load i32, ptr @test_count, align 4, !tbaa !5
  %5492 = add nsw i32 %5491, 1
  store i32 %5492, ptr @test_count, align 4, !tbaa !5
  %5493 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5494 = load i32, ptr %5493, align 4, !tbaa !5
  %5495 = call ptr @s2n_strerror_debug(i32 noundef %5494, ptr noundef @.str.5)
  %5496 = icmp eq ptr %5495, null
  br i1 %5496, label %5497, label %5550

5497:                                             ; preds = %5490
  br label %5498

5498:                                             ; preds = %5497
  br label %5499

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

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

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

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

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

5546:                                             ; preds = %5545
  br label %5547

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

5548:                                             ; No predecessors!
  br label %5549

5549:                                             ; preds = %5548
  br label %5550

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

5551:                                             ; preds = %5550
  br label %5552

5552:                                             ; preds = %5551
  br label %5553

5553:                                             ; preds = %5552
  br label %5554

5554:                                             ; preds = %5553
  br label %5555

5555:                                             ; preds = %5554
  %5556 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %5556, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %5557 = call ptr @__errno_location() #12
  store i32 0, ptr %5557, align 4, !tbaa !5
  br label %5558

5558:                                             ; preds = %5555
  br label %5559

5559:                                             ; preds = %5558
  br label %5560

5560:                                             ; preds = %5559
  br label %5561

5561:                                             ; preds = %5560
  br label %5562

5562:                                             ; preds = %5561
  %5563 = load i32, ptr @test_count, align 4, !tbaa !5
  %5564 = add nsw i32 %5563, 1
  store i32 %5564, ptr @test_count, align 4, !tbaa !5
  %5565 = getelementptr inbounds %struct.s2n_test_ktls_io_fail_ctx, ptr %144, i32 0, i32 1
  %5566 = load i64, ptr %5565, align 8, !tbaa !56
  %5567 = icmp eq i64 %5566, 2
  br i1 %5567, label %5621, label %5568

5568:                                             ; preds = %5562
  br label %5569

5569:                                             ; preds = %5568
  br label %5570

5570:                                             ; preds = %5569
  call void @llvm.lifetime.start.p0(i64 4, ptr %158) #11
  %5571 = call ptr @__errno_location() #12
  %5572 = load i32, ptr %5571, align 4, !tbaa !5
  store i32 %5572, ptr %158, align 4, !tbaa !5
  %5573 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5574 = call i32 @s2n_print_stacktrace(ptr noundef %5573)
  %5575 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5576 = trunc i8 %5575 to i1
  br i1 %5576, label %5577, label %5599

5577:                                             ; preds = %5570
  %5578 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5579 = call i32 @fileno(ptr noundef %5578) #11
  %5580 = call i32 @isatty(i32 noundef %5579) #11
  %5581 = icmp ne i32 %5580, 0
  br i1 %5581, label %5582, label %5599

5582:                                             ; preds = %5577
  %5583 = load i32, ptr %158, align 4, !tbaa !5
  %5584 = call ptr @__errno_location() #12
  store i32 %5583, ptr %5584, align 4, !tbaa !5
  %5585 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5586 = load i32, ptr @test_count, align 4, !tbaa !5
  %5587 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5588 = load i32, ptr %5587, align 4, !tbaa !5
  %5589 = call ptr @s2n_strerror(i32 noundef %5588, ptr noundef @.str.5)
  %5590 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5591 = load i32, ptr %5590, align 4, !tbaa !5
  %5592 = call ptr @s2n_strerror_debug(i32 noundef %5591, ptr noundef @.str.5)
  %5593 = call ptr @__errno_location() #12
  %5594 = load i32, ptr %5593, align 4, !tbaa !5
  %5595 = call ptr @strerror(i32 noundef %5594) #11
  %5596 = call ptr @__errno_location() #12
  %5597 = load i32, ptr %5596, align 4, !tbaa !5
  %5598 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5585, ptr noundef @.str.3, i32 noundef %5586, ptr noundef @.str.45, ptr noundef @.str.2, i32 noundef 294, ptr noundef %5589, ptr noundef %5592, ptr noundef %5595, i32 noundef %5597) #11
  br label %5616

5599:                                             ; preds = %5577, %5570
  %5600 = load i32, ptr %158, align 4, !tbaa !5
  %5601 = call ptr @__errno_location() #12
  store i32 %5600, ptr %5601, align 4, !tbaa !5
  %5602 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5603 = load i32, ptr @test_count, align 4, !tbaa !5
  %5604 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5605 = load i32, ptr %5604, align 4, !tbaa !5
  %5606 = call ptr @s2n_strerror(i32 noundef %5605, ptr noundef @.str.5)
  %5607 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5608 = load i32, ptr %5607, align 4, !tbaa !5
  %5609 = call ptr @s2n_strerror_debug(i32 noundef %5608, ptr noundef @.str.5)
  %5610 = call ptr @__errno_location() #12
  %5611 = load i32, ptr %5610, align 4, !tbaa !5
  %5612 = call ptr @strerror(i32 noundef %5611) #11
  %5613 = call ptr @__errno_location() #12
  %5614 = load i32, ptr %5613, align 4, !tbaa !5
  %5615 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5602, ptr noundef @.str.6, i32 noundef %5603, ptr noundef @.str.45, ptr noundef @.str.2, i32 noundef 294, ptr noundef %5606, ptr noundef %5609, ptr noundef %5612, i32 noundef %5614) #11
  br label %5616

5616:                                             ; preds = %5599, %5582
  call void @llvm.lifetime.end.p0(i64 4, ptr %158) #11
  br label %5617

5617:                                             ; preds = %5616
  br label %5618

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

5619:                                             ; No predecessors!
  br label %5620

5620:                                             ; preds = %5619
  br label %5621

5621:                                             ; preds = %5620, %5562
  br label %5622

5622:                                             ; preds = %5621
  br label %5623

5623:                                             ; preds = %5622
  call void @llvm.lifetime.end.p0(i64 8, ptr %149) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %148) #11
  call void @llvm.lifetime.end.p0(i64 16, ptr %147) #11
  call void @llvm.lifetime.end.p0(i64 16, ptr %144) #11
  %5624 = call i32 @s2n_connection_ptr_free(ptr noundef %143)
  %5625 = getelementptr inbounds %struct.s2n_result, ptr %159, i32 0, i32 0
  store i32 %5624, ptr %5625, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %143) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %160) #11
  %5626 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %5626, ptr %160, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %161) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %161, ptr align 8 @__const.main.io_ctx, i64 16, i1 false)
  br label %5627

5627:                                             ; preds = %5623
  %5628 = load i32, ptr @test_count, align 4, !tbaa !5
  %5629 = add nsw i32 %5628, 1
  store i32 %5629, ptr @test_count, align 4, !tbaa !5
  %5630 = load ptr, ptr %160, align 8, !tbaa !9
  %5631 = call i32 @s2n_ktls_set_sendmsg_cb(ptr noundef %5630, ptr noundef @s2n_test_ktls_sendmsg_fail, ptr noundef %161)
  %5632 = getelementptr inbounds %struct.s2n_result, ptr %162, i32 0, i32 0
  store i32 %5631, ptr %5632, align 4
  %5633 = getelementptr inbounds %struct.s2n_result, ptr %162, i32 0, i32 0
  %5634 = load i32, ptr %5633, align 4
  %5635 = call zeroext i1 @s2n_result_is_ok(i32 %5634)
  br i1 %5635, label %5689, label %5636

5636:                                             ; preds = %5627
  br label %5637

5637:                                             ; preds = %5636
  br label %5638

5638:                                             ; preds = %5637
  call void @llvm.lifetime.start.p0(i64 4, ptr %163) #11
  %5639 = call ptr @__errno_location() #12
  %5640 = load i32, ptr %5639, align 4, !tbaa !5
  store i32 %5640, ptr %163, align 4, !tbaa !5
  %5641 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5642 = call i32 @s2n_print_stacktrace(ptr noundef %5641)
  %5643 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5644 = trunc i8 %5643 to i1
  br i1 %5644, label %5645, label %5667

5645:                                             ; preds = %5638
  %5646 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5647 = call i32 @fileno(ptr noundef %5646) #11
  %5648 = call i32 @isatty(i32 noundef %5647) #11
  %5649 = icmp ne i32 %5648, 0
  br i1 %5649, label %5650, label %5667

5650:                                             ; preds = %5645
  %5651 = load i32, ptr %163, align 4, !tbaa !5
  %5652 = call ptr @__errno_location() #12
  store i32 %5651, ptr %5652, align 4, !tbaa !5
  %5653 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5654 = load i32, ptr @test_count, align 4, !tbaa !5
  %5655 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5656 = load i32, ptr %5655, align 4, !tbaa !5
  %5657 = call ptr @s2n_strerror(i32 noundef %5656, ptr noundef @.str.5)
  %5658 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5659 = load i32, ptr %5658, align 4, !tbaa !5
  %5660 = call ptr @s2n_strerror_debug(i32 noundef %5659, ptr noundef @.str.5)
  %5661 = call ptr @__errno_location() #12
  %5662 = load i32, ptr %5661, align 4, !tbaa !5
  %5663 = call ptr @strerror(i32 noundef %5662) #11
  %5664 = call ptr @__errno_location() #12
  %5665 = load i32, ptr %5664, align 4, !tbaa !5
  %5666 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5653, ptr noundef @.str.3, i32 noundef %5654, ptr noundef @.str.44, ptr noundef @.str.2, i32 noundef 304, ptr noundef %5657, ptr noundef %5660, ptr noundef %5663, i32 noundef %5665) #11
  br label %5684

5667:                                             ; preds = %5645, %5638
  %5668 = load i32, ptr %163, align 4, !tbaa !5
  %5669 = call ptr @__errno_location() #12
  store i32 %5668, ptr %5669, align 4, !tbaa !5
  %5670 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5671 = load i32, ptr @test_count, align 4, !tbaa !5
  %5672 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5673 = load i32, ptr %5672, align 4, !tbaa !5
  %5674 = call ptr @s2n_strerror(i32 noundef %5673, ptr noundef @.str.5)
  %5675 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5676 = load i32, ptr %5675, align 4, !tbaa !5
  %5677 = call ptr @s2n_strerror_debug(i32 noundef %5676, ptr noundef @.str.5)
  %5678 = call ptr @__errno_location() #12
  %5679 = load i32, ptr %5678, align 4, !tbaa !5
  %5680 = call ptr @strerror(i32 noundef %5679) #11
  %5681 = call ptr @__errno_location() #12
  %5682 = load i32, ptr %5681, align 4, !tbaa !5
  %5683 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5670, ptr noundef @.str.6, i32 noundef %5671, ptr noundef @.str.44, ptr noundef @.str.2, i32 noundef 304, ptr noundef %5674, ptr noundef %5677, ptr noundef %5680, i32 noundef %5682) #11
  br label %5684

5684:                                             ; preds = %5667, %5650
  call void @llvm.lifetime.end.p0(i64 4, ptr %163) #11
  br label %5685

5685:                                             ; preds = %5684
  br label %5686

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

5687:                                             ; No predecessors!
  br label %5688

5688:                                             ; preds = %5687
  br label %5689

5689:                                             ; preds = %5688, %5627
  br label %5690

5690:                                             ; preds = %5689
  br label %5691

5691:                                             ; preds = %5690
  call void @llvm.lifetime.start.p0(i64 16, ptr %164) #11
  %5692 = getelementptr inbounds %struct.iovec, ptr %164, i32 0, i32 0
  %5693 = getelementptr inbounds [16384 x i8], ptr %10, i64 0, i64 0
  store ptr %5693, ptr %5692, align 8, !tbaa !16
  %5694 = getelementptr inbounds %struct.iovec, ptr %164, i32 0, i32 1
  store i64 10, ptr %5694, align 8, !tbaa !19
  call void @llvm.lifetime.start.p0(i64 4, ptr %165) #11
  store i32 0, ptr %165, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %166) #11
  store i64 0, ptr %166, align 8, !tbaa !20
  br label %5695

5695:                                             ; preds = %5691
  br label %5696

5696:                                             ; preds = %5695
  br label %5697

5697:                                             ; preds = %5696
  %5698 = load i32, ptr @test_count, align 4, !tbaa !5
  %5699 = add nsw i32 %5698, 1
  store i32 %5699, ptr @test_count, align 4, !tbaa !5
  %5700 = load ptr, ptr %160, align 8, !tbaa !9
  %5701 = getelementptr inbounds %struct.s2n_connection, ptr %5700, i32 0, i32 8
  %5702 = load ptr, ptr %5701, align 8, !tbaa !21
  %5703 = call i32 @s2n_ktls_sendmsg(ptr noundef %5702, i8 noundef zeroext 43, ptr noundef %164, i64 noundef 1, ptr noundef %165, ptr noundef %166)
  %5704 = getelementptr inbounds %struct.s2n_result, ptr %167, i32 0, i32 0
  store i32 %5703, ptr %5704, align 4
  %5705 = getelementptr inbounds %struct.s2n_result, ptr %167, i32 0, i32 0
  %5706 = load i32, ptr %5705, align 4
  %5707 = call zeroext i1 @s2n_result_is_error(i32 %5706)
  br i1 %5707, label %5761, label %5708

5708:                                             ; preds = %5697
  br label %5709

5709:                                             ; preds = %5708
  br label %5710

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

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

5722:                                             ; preds = %5717
  %5723 = load i32, ptr %168, align 4, !tbaa !5
  %5724 = call ptr @__errno_location() #12
  store i32 %5723, ptr %5724, align 4, !tbaa !5
  %5725 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5726 = load i32, ptr @test_count, align 4, !tbaa !5
  %5727 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5728 = load i32, ptr %5727, align 4, !tbaa !5
  %5729 = call ptr @s2n_strerror(i32 noundef %5728, ptr noundef @.str.5)
  %5730 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5731 = load i32, ptr %5730, align 4, !tbaa !5
  %5732 = call ptr @s2n_strerror_debug(i32 noundef %5731, ptr noundef @.str.5)
  %5733 = call ptr @__errno_location() #12
  %5734 = load i32, ptr %5733, align 4, !tbaa !5
  %5735 = call ptr @strerror(i32 noundef %5734) #11
  %5736 = call ptr @__errno_location() #12
  %5737 = load i32, ptr %5736, align 4, !tbaa !5
  %5738 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5725, ptr noundef @.str.3, i32 noundef %5726, ptr noundef @.str.40, ptr noundef @.str.2, i32 noundef 312, ptr noundef %5729, ptr noundef %5732, ptr noundef %5735, i32 noundef %5737) #11
  br label %5756

5739:                                             ; preds = %5717, %5710
  %5740 = load i32, ptr %168, align 4, !tbaa !5
  %5741 = call ptr @__errno_location() #12
  store i32 %5740, ptr %5741, align 4, !tbaa !5
  %5742 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5743 = load i32, ptr @test_count, align 4, !tbaa !5
  %5744 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5745 = load i32, ptr %5744, align 4, !tbaa !5
  %5746 = call ptr @s2n_strerror(i32 noundef %5745, ptr noundef @.str.5)
  %5747 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5748 = load i32, ptr %5747, align 4, !tbaa !5
  %5749 = call ptr @s2n_strerror_debug(i32 noundef %5748, ptr noundef @.str.5)
  %5750 = call ptr @__errno_location() #12
  %5751 = load i32, ptr %5750, align 4, !tbaa !5
  %5752 = call ptr @strerror(i32 noundef %5751) #11
  %5753 = call ptr @__errno_location() #12
  %5754 = load i32, ptr %5753, align 4, !tbaa !5
  %5755 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5742, ptr noundef @.str.6, i32 noundef %5743, ptr noundef @.str.40, ptr noundef @.str.2, i32 noundef 312, ptr noundef %5746, ptr noundef %5749, ptr noundef %5752, i32 noundef %5754) #11
  br label %5756

5756:                                             ; preds = %5739, %5722
  call void @llvm.lifetime.end.p0(i64 4, ptr %168) #11
  br label %5757

5757:                                             ; preds = %5756
  br label %5758

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

5759:                                             ; No predecessors!
  br label %5760

5760:                                             ; preds = %5759
  br label %5761

5761:                                             ; preds = %5760, %5697
  br label %5762

5762:                                             ; preds = %5761
  br label %5763

5763:                                             ; preds = %5762
  br label %5764

5764:                                             ; preds = %5763
  %5765 = load i32, ptr @test_count, align 4, !tbaa !5
  %5766 = add nsw i32 %5765, 1
  store i32 %5766, ptr @test_count, align 4, !tbaa !5
  %5767 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5768 = load i32, ptr %5767, align 4, !tbaa !5
  %5769 = icmp eq i32 %5768, 67108864
  br i1 %5769, label %5823, label %5770

5770:                                             ; preds = %5764
  br label %5771

5771:                                             ; preds = %5770
  br label %5772

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

5779:                                             ; preds = %5772
  %5780 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5781 = call i32 @fileno(ptr noundef %5780) #11
  %5782 = call i32 @isatty(i32 noundef %5781) #11
  %5783 = icmp ne i32 %5782, 0
  br i1 %5783, label %5784, label %5801

5784:                                             ; preds = %5779
  %5785 = load i32, ptr %169, align 4, !tbaa !5
  %5786 = call ptr @__errno_location() #12
  store i32 %5785, ptr %5786, align 4, !tbaa !5
  %5787 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5788 = load i32, ptr @test_count, align 4, !tbaa !5
  %5789 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5790 = load i32, ptr %5789, align 4, !tbaa !5
  %5791 = call ptr @s2n_strerror(i32 noundef %5790, ptr noundef @.str.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_debug(i32 noundef %5793, ptr noundef @.str.5)
  %5795 = call ptr @__errno_location() #12
  %5796 = load i32, ptr %5795, align 4, !tbaa !5
  %5797 = call ptr @strerror(i32 noundef %5796) #11
  %5798 = call ptr @__errno_location() #12
  %5799 = load i32, ptr %5798, align 4, !tbaa !5
  %5800 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5787, ptr noundef @.str.3, i32 noundef %5788, ptr noundef @.str.24, ptr noundef @.str.2, i32 noundef 312, ptr noundef %5791, ptr noundef %5794, ptr noundef %5797, i32 noundef %5799) #11
  br label %5818

5801:                                             ; preds = %5779, %5772
  %5802 = load i32, ptr %169, align 4, !tbaa !5
  %5803 = call ptr @__errno_location() #12
  store i32 %5802, ptr %5803, align 4, !tbaa !5
  %5804 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5805 = load i32, ptr @test_count, align 4, !tbaa !5
  %5806 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5807 = load i32, ptr %5806, align 4, !tbaa !5
  %5808 = call ptr @s2n_strerror(i32 noundef %5807, ptr noundef @.str.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_debug(i32 noundef %5810, ptr noundef @.str.5)
  %5812 = call ptr @__errno_location() #12
  %5813 = load i32, ptr %5812, align 4, !tbaa !5
  %5814 = call ptr @strerror(i32 noundef %5813) #11
  %5815 = call ptr @__errno_location() #12
  %5816 = load i32, ptr %5815, align 4, !tbaa !5
  %5817 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5804, ptr noundef @.str.6, i32 noundef %5805, ptr noundef @.str.24, ptr noundef @.str.2, i32 noundef 312, ptr noundef %5808, ptr noundef %5811, ptr noundef %5814, i32 noundef %5816) #11
  br label %5818

5818:                                             ; preds = %5801, %5784
  call void @llvm.lifetime.end.p0(i64 4, ptr %169) #11
  br label %5819

5819:                                             ; preds = %5818
  br label %5820

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

5821:                                             ; No predecessors!
  br label %5822

5822:                                             ; preds = %5821
  br label %5823

5823:                                             ; preds = %5822, %5764
  br label %5824

5824:                                             ; preds = %5823
  br label %5825

5825:                                             ; preds = %5824
  br label %5826

5826:                                             ; preds = %5825
  %5827 = load i32, ptr @test_count, align 4, !tbaa !5
  %5828 = add nsw i32 %5827, 1
  store i32 %5828, ptr @test_count, align 4, !tbaa !5
  %5829 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5830 = load i32, ptr %5829, align 4, !tbaa !5
  %5831 = call ptr @s2n_strerror_debug(i32 noundef %5830, ptr noundef @.str.5)
  %5832 = icmp eq ptr %5831, null
  br i1 %5832, label %5833, label %5886

5833:                                             ; preds = %5826
  br label %5834

5834:                                             ; preds = %5833
  br label %5835

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

5842:                                             ; preds = %5835
  %5843 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5844 = call i32 @fileno(ptr noundef %5843) #11
  %5845 = call i32 @isatty(i32 noundef %5844) #11
  %5846 = icmp ne i32 %5845, 0
  br i1 %5846, label %5847, label %5864

5847:                                             ; preds = %5842
  %5848 = load i32, ptr %170, align 4, !tbaa !5
  %5849 = call ptr @__errno_location() #12
  store i32 %5848, ptr %5849, align 4, !tbaa !5
  %5850 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5851 = load i32, ptr @test_count, align 4, !tbaa !5
  %5852 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5853 = load i32, ptr %5852, align 4, !tbaa !5
  %5854 = call ptr @s2n_strerror(i32 noundef %5853, ptr noundef @.str.5)
  %5855 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5856 = load i32, ptr %5855, align 4, !tbaa !5
  %5857 = call ptr @s2n_strerror_debug(i32 noundef %5856, ptr noundef @.str.5)
  %5858 = call ptr @__errno_location() #12
  %5859 = load i32, ptr %5858, align 4, !tbaa !5
  %5860 = call ptr @strerror(i32 noundef %5859) #11
  %5861 = call ptr @__errno_location() #12
  %5862 = load i32, ptr %5861, align 4, !tbaa !5
  %5863 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5850, ptr noundef @.str.3, i32 noundef %5851, ptr noundef @.str.13, ptr noundef @.str.2, i32 noundef 312, ptr noundef %5854, ptr noundef %5857, ptr noundef %5860, i32 noundef %5862) #11
  br label %5881

5864:                                             ; preds = %5842, %5835
  %5865 = load i32, ptr %170, align 4, !tbaa !5
  %5866 = call ptr @__errno_location() #12
  store i32 %5865, ptr %5866, align 4, !tbaa !5
  %5867 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5868 = load i32, ptr @test_count, align 4, !tbaa !5
  %5869 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5870 = load i32, ptr %5869, align 4, !tbaa !5
  %5871 = call ptr @s2n_strerror(i32 noundef %5870, ptr noundef @.str.5)
  %5872 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5873 = load i32, ptr %5872, align 4, !tbaa !5
  %5874 = call ptr @s2n_strerror_debug(i32 noundef %5873, ptr noundef @.str.5)
  %5875 = call ptr @__errno_location() #12
  %5876 = load i32, ptr %5875, align 4, !tbaa !5
  %5877 = call ptr @strerror(i32 noundef %5876) #11
  %5878 = call ptr @__errno_location() #12
  %5879 = load i32, ptr %5878, align 4, !tbaa !5
  %5880 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5867, ptr noundef @.str.6, i32 noundef %5868, ptr noundef @.str.13, ptr noundef @.str.2, i32 noundef 312, ptr noundef %5871, ptr noundef %5874, ptr noundef %5877, i32 noundef %5879) #11
  br label %5881

5881:                                             ; preds = %5864, %5847
  call void @llvm.lifetime.end.p0(i64 4, ptr %170) #11
  br label %5882

5882:                                             ; preds = %5881
  br label %5883

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

5884:                                             ; No predecessors!
  br label %5885

5885:                                             ; preds = %5884
  br label %5886

5886:                                             ; preds = %5885, %5826
  br label %5887

5887:                                             ; preds = %5886
  br label %5888

5888:                                             ; preds = %5887
  br label %5889

5889:                                             ; preds = %5888
  br label %5890

5890:                                             ; preds = %5889
  br label %5891

5891:                                             ; preds = %5890
  %5892 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %5892, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %5893 = call ptr @__errno_location() #12
  store i32 0, ptr %5893, align 4, !tbaa !5
  br label %5894

5894:                                             ; preds = %5891
  br label %5895

5895:                                             ; preds = %5894
  br label %5896

5896:                                             ; preds = %5895
  br label %5897

5897:                                             ; preds = %5896
  br label %5898

5898:                                             ; preds = %5897
  %5899 = load i32, ptr @test_count, align 4, !tbaa !5
  %5900 = add nsw i32 %5899, 1
  store i32 %5900, ptr @test_count, align 4, !tbaa !5
  %5901 = load i32, ptr %165, align 4, !tbaa !5
  %5902 = icmp eq i32 %5901, 2
  br i1 %5902, label %5956, label %5903

5903:                                             ; preds = %5898
  br label %5904

5904:                                             ; preds = %5903
  br label %5905

5905:                                             ; preds = %5904
  call void @llvm.lifetime.start.p0(i64 4, ptr %171) #11
  %5906 = call ptr @__errno_location() #12
  %5907 = load i32, ptr %5906, align 4, !tbaa !5
  store i32 %5907, ptr %171, align 4, !tbaa !5
  %5908 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5909 = call i32 @s2n_print_stacktrace(ptr noundef %5908)
  %5910 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5911 = trunc i8 %5910 to i1
  br i1 %5911, label %5912, label %5934

5912:                                             ; preds = %5905
  %5913 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5914 = call i32 @fileno(ptr noundef %5913) #11
  %5915 = call i32 @isatty(i32 noundef %5914) #11
  %5916 = icmp ne i32 %5915, 0
  br i1 %5916, label %5917, label %5934

5917:                                             ; preds = %5912
  %5918 = load i32, ptr %171, align 4, !tbaa !5
  %5919 = call ptr @__errno_location() #12
  store i32 %5918, ptr %5919, align 4, !tbaa !5
  %5920 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5921 = load i32, ptr @test_count, align 4, !tbaa !5
  %5922 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5923 = load i32, ptr %5922, align 4, !tbaa !5
  %5924 = call ptr @s2n_strerror(i32 noundef %5923, ptr noundef @.str.5)
  %5925 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5926 = load i32, ptr %5925, align 4, !tbaa !5
  %5927 = call ptr @s2n_strerror_debug(i32 noundef %5926, ptr noundef @.str.5)
  %5928 = call ptr @__errno_location() #12
  %5929 = load i32, ptr %5928, align 4, !tbaa !5
  %5930 = call ptr @strerror(i32 noundef %5929) #11
  %5931 = call ptr @__errno_location() #12
  %5932 = load i32, ptr %5931, align 4, !tbaa !5
  %5933 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5920, ptr noundef @.str.3, i32 noundef %5921, ptr noundef @.str.42, ptr noundef @.str.2, i32 noundef 314, ptr noundef %5924, ptr noundef %5927, ptr noundef %5930, i32 noundef %5932) #11
  br label %5951

5934:                                             ; preds = %5912, %5905
  %5935 = load i32, ptr %171, align 4, !tbaa !5
  %5936 = call ptr @__errno_location() #12
  store i32 %5935, ptr %5936, align 4, !tbaa !5
  %5937 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5938 = load i32, ptr @test_count, align 4, !tbaa !5
  %5939 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5940 = load i32, ptr %5939, align 4, !tbaa !5
  %5941 = call ptr @s2n_strerror(i32 noundef %5940, ptr noundef @.str.5)
  %5942 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5943 = load i32, ptr %5942, align 4, !tbaa !5
  %5944 = call ptr @s2n_strerror_debug(i32 noundef %5943, ptr noundef @.str.5)
  %5945 = call ptr @__errno_location() #12
  %5946 = load i32, ptr %5945, align 4, !tbaa !5
  %5947 = call ptr @strerror(i32 noundef %5946) #11
  %5948 = call ptr @__errno_location() #12
  %5949 = load i32, ptr %5948, align 4, !tbaa !5
  %5950 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5937, ptr noundef @.str.6, i32 noundef %5938, ptr noundef @.str.42, ptr noundef @.str.2, i32 noundef 314, ptr noundef %5941, ptr noundef %5944, ptr noundef %5947, i32 noundef %5949) #11
  br label %5951

5951:                                             ; preds = %5934, %5917
  call void @llvm.lifetime.end.p0(i64 4, ptr %171) #11
  br label %5952

5952:                                             ; preds = %5951
  br label %5953

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

5954:                                             ; No predecessors!
  br label %5955

5955:                                             ; preds = %5954
  br label %5956

5956:                                             ; preds = %5955, %5898
  br label %5957

5957:                                             ; preds = %5956
  br label %5958

5958:                                             ; preds = %5957
  br label %5959

5959:                                             ; preds = %5958
  %5960 = load i32, ptr @test_count, align 4, !tbaa !5
  %5961 = add nsw i32 %5960, 1
  store i32 %5961, ptr @test_count, align 4, !tbaa !5
  %5962 = getelementptr inbounds %struct.s2n_test_ktls_io_fail_ctx, ptr %161, i32 0, i32 1
  %5963 = load i64, ptr %5962, align 8, !tbaa !56
  %5964 = icmp eq i64 %5963, 1
  br i1 %5964, label %6018, label %5965

5965:                                             ; preds = %5959
  br label %5966

5966:                                             ; preds = %5965
  br label %5967

5967:                                             ; preds = %5966
  call void @llvm.lifetime.start.p0(i64 4, ptr %172) #11
  %5968 = call ptr @__errno_location() #12
  %5969 = load i32, ptr %5968, align 4, !tbaa !5
  store i32 %5969, ptr %172, align 4, !tbaa !5
  %5970 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5971 = call i32 @s2n_print_stacktrace(ptr noundef %5970)
  %5972 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5973 = trunc i8 %5972 to i1
  br i1 %5973, label %5974, label %5996

5974:                                             ; preds = %5967
  %5975 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5976 = call i32 @fileno(ptr noundef %5975) #11
  %5977 = call i32 @isatty(i32 noundef %5976) #11
  %5978 = icmp ne i32 %5977, 0
  br i1 %5978, label %5979, label %5996

5979:                                             ; preds = %5974
  %5980 = load i32, ptr %172, align 4, !tbaa !5
  %5981 = call ptr @__errno_location() #12
  store i32 %5980, ptr %5981, align 4, !tbaa !5
  %5982 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5983 = load i32, ptr @test_count, align 4, !tbaa !5
  %5984 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5985 = load i32, ptr %5984, align 4, !tbaa !5
  %5986 = call ptr @s2n_strerror(i32 noundef %5985, ptr noundef @.str.5)
  %5987 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5988 = load i32, ptr %5987, align 4, !tbaa !5
  %5989 = call ptr @s2n_strerror_debug(i32 noundef %5988, ptr noundef @.str.5)
  %5990 = call ptr @__errno_location() #12
  %5991 = load i32, ptr %5990, align 4, !tbaa !5
  %5992 = call ptr @strerror(i32 noundef %5991) #11
  %5993 = call ptr @__errno_location() #12
  %5994 = load i32, ptr %5993, align 4, !tbaa !5
  %5995 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5982, ptr noundef @.str.3, i32 noundef %5983, ptr noundef @.str.46, ptr noundef @.str.2, i32 noundef 316, ptr noundef %5986, ptr noundef %5989, ptr noundef %5992, i32 noundef %5994) #11
  br label %6013

5996:                                             ; preds = %5974, %5967
  %5997 = load i32, ptr %172, align 4, !tbaa !5
  %5998 = call ptr @__errno_location() #12
  store i32 %5997, ptr %5998, align 4, !tbaa !5
  %5999 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6000 = load i32, ptr @test_count, align 4, !tbaa !5
  %6001 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6002 = load i32, ptr %6001, align 4, !tbaa !5
  %6003 = call ptr @s2n_strerror(i32 noundef %6002, ptr noundef @.str.5)
  %6004 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6005 = load i32, ptr %6004, align 4, !tbaa !5
  %6006 = call ptr @s2n_strerror_debug(i32 noundef %6005, ptr noundef @.str.5)
  %6007 = call ptr @__errno_location() #12
  %6008 = load i32, ptr %6007, align 4, !tbaa !5
  %6009 = call ptr @strerror(i32 noundef %6008) #11
  %6010 = call ptr @__errno_location() #12
  %6011 = load i32, ptr %6010, align 4, !tbaa !5
  %6012 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5999, ptr noundef @.str.6, i32 noundef %6000, ptr noundef @.str.46, ptr noundef @.str.2, i32 noundef 316, ptr noundef %6003, ptr noundef %6006, ptr noundef %6009, i32 noundef %6011) #11
  br label %6013

6013:                                             ; preds = %5996, %5979
  call void @llvm.lifetime.end.p0(i64 4, ptr %172) #11
  br label %6014

6014:                                             ; preds = %6013
  br label %6015

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

6016:                                             ; No predecessors!
  br label %6017

6017:                                             ; preds = %6016
  br label %6018

6018:                                             ; preds = %6017, %5959
  br label %6019

6019:                                             ; preds = %6018
  br label %6020

6020:                                             ; preds = %6019
  call void @llvm.lifetime.end.p0(i64 8, ptr %166) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %165) #11
  call void @llvm.lifetime.end.p0(i64 16, ptr %164) #11
  call void @llvm.lifetime.end.p0(i64 16, ptr %161) #11
  %6021 = call i32 @s2n_connection_ptr_free(ptr noundef %160)
  %6022 = getelementptr inbounds %struct.s2n_result, ptr %173, i32 0, i32 0
  store i32 %6021, ptr %6022, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %160) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %174) #11
  %6023 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %6023, ptr %174, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 96, ptr %175) #11
  call void @llvm.memset.p0.i64(ptr align 8 %175, i8 0, i64 96, i1 false)
  br label %6024

6024:                                             ; preds = %6020
  %6025 = load i32, ptr @test_count, align 4, !tbaa !5
  %6026 = add nsw i32 %6025, 1
  store i32 %6026, ptr @test_count, align 4, !tbaa !5
  %6027 = load ptr, ptr %174, align 8, !tbaa !9
  %6028 = call i32 @s2n_test_init_ktls_io_stuffer_send(ptr noundef %6027, ptr noundef %175)
  %6029 = getelementptr inbounds %struct.s2n_result, ptr %176, i32 0, i32 0
  store i32 %6028, ptr %6029, align 4
  %6030 = getelementptr inbounds %struct.s2n_result, ptr %176, i32 0, i32 0
  %6031 = load i32, ptr %6030, align 4
  %6032 = call zeroext i1 @s2n_result_is_ok(i32 %6031)
  br i1 %6032, label %6086, label %6033

6033:                                             ; preds = %6024
  br label %6034

6034:                                             ; preds = %6033
  br label %6035

6035:                                             ; preds = %6034
  call void @llvm.lifetime.start.p0(i64 4, ptr %177) #11
  %6036 = call ptr @__errno_location() #12
  %6037 = load i32, ptr %6036, align 4, !tbaa !5
  store i32 %6037, ptr %177, align 4, !tbaa !5
  %6038 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6039 = call i32 @s2n_print_stacktrace(ptr noundef %6038)
  %6040 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6041 = trunc i8 %6040 to i1
  br i1 %6041, label %6042, label %6064

6042:                                             ; preds = %6035
  %6043 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6044 = call i32 @fileno(ptr noundef %6043) #11
  %6045 = call i32 @isatty(i32 noundef %6044) #11
  %6046 = icmp ne i32 %6045, 0
  br i1 %6046, label %6047, label %6064

6047:                                             ; preds = %6042
  %6048 = load i32, ptr %177, align 4, !tbaa !5
  %6049 = call ptr @__errno_location() #12
  store i32 %6048, ptr %6049, align 4, !tbaa !5
  %6050 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6051 = load i32, ptr @test_count, align 4, !tbaa !5
  %6052 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6053 = load i32, ptr %6052, align 4, !tbaa !5
  %6054 = call ptr @s2n_strerror(i32 noundef %6053, ptr noundef @.str.5)
  %6055 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6056 = load i32, ptr %6055, align 4, !tbaa !5
  %6057 = call ptr @s2n_strerror_debug(i32 noundef %6056, ptr noundef @.str.5)
  %6058 = call ptr @__errno_location() #12
  %6059 = load i32, ptr %6058, align 4, !tbaa !5
  %6060 = call ptr @strerror(i32 noundef %6059) #11
  %6061 = call ptr @__errno_location() #12
  %6062 = load i32, ptr %6061, align 4, !tbaa !5
  %6063 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6050, ptr noundef @.str.3, i32 noundef %6051, ptr noundef @.str.28, ptr noundef @.str.2, i32 noundef 325, ptr noundef %6054, ptr noundef %6057, ptr noundef %6060, i32 noundef %6062) #11
  br label %6081

6064:                                             ; preds = %6042, %6035
  %6065 = load i32, ptr %177, align 4, !tbaa !5
  %6066 = call ptr @__errno_location() #12
  store i32 %6065, ptr %6066, align 4, !tbaa !5
  %6067 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6068 = load i32, ptr @test_count, align 4, !tbaa !5
  %6069 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6070 = load i32, ptr %6069, align 4, !tbaa !5
  %6071 = call ptr @s2n_strerror(i32 noundef %6070, ptr noundef @.str.5)
  %6072 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6073 = load i32, ptr %6072, align 4, !tbaa !5
  %6074 = call ptr @s2n_strerror_debug(i32 noundef %6073, ptr noundef @.str.5)
  %6075 = call ptr @__errno_location() #12
  %6076 = load i32, ptr %6075, align 4, !tbaa !5
  %6077 = call ptr @strerror(i32 noundef %6076) #11
  %6078 = call ptr @__errno_location() #12
  %6079 = load i32, ptr %6078, align 4, !tbaa !5
  %6080 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6067, ptr noundef @.str.6, i32 noundef %6068, ptr noundef @.str.28, ptr noundef @.str.2, i32 noundef 325, ptr noundef %6071, ptr noundef %6074, ptr noundef %6077, i32 noundef %6079) #11
  br label %6081

6081:                                             ; preds = %6064, %6047
  call void @llvm.lifetime.end.p0(i64 4, ptr %177) #11
  br label %6082

6082:                                             ; preds = %6081
  br label %6083

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

6084:                                             ; No predecessors!
  br label %6085

6085:                                             ; preds = %6084
  br label %6086

6086:                                             ; preds = %6085, %6024
  br label %6087

6087:                                             ; preds = %6086
  br label %6088

6088:                                             ; preds = %6087
  call void @llvm.lifetime.start.p0(i64 16, ptr %178) #11
  %6089 = getelementptr inbounds %struct.iovec, ptr %178, i32 0, i32 0
  %6090 = getelementptr inbounds [16384 x i8], ptr %10, i64 0, i64 0
  store ptr %6090, ptr %6089, align 8, !tbaa !16
  %6091 = getelementptr inbounds %struct.iovec, ptr %178, i32 0, i32 1
  store i64 10, ptr %6091, align 8, !tbaa !19
  call void @llvm.lifetime.start.p0(i64 4, ptr %179) #11
  store i32 0, ptr %179, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %180) #11
  store i64 0, ptr %180, align 8, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 8, ptr %181) #11
  store i64 0, ptr %181, align 8, !tbaa !20
  br label %6092

6092:                                             ; preds = %6088
  %6093 = load i32, ptr @test_count, align 4, !tbaa !5
  %6094 = add nsw i32 %6093, 1
  store i32 %6094, ptr @test_count, align 4, !tbaa !5
  %6095 = load ptr, ptr %174, align 8, !tbaa !9
  %6096 = getelementptr inbounds %struct.s2n_connection, ptr %6095, i32 0, i32 8
  %6097 = load ptr, ptr %6096, align 8, !tbaa !21
  %6098 = load i64, ptr %181, align 8, !tbaa !20
  %6099 = call i32 @s2n_ktls_sendmsg(ptr noundef %6097, i8 noundef zeroext 43, ptr noundef %178, i64 noundef %6098, ptr noundef %179, ptr noundef %180)
  %6100 = getelementptr inbounds %struct.s2n_result, ptr %182, i32 0, i32 0
  store i32 %6099, ptr %6100, align 4
  %6101 = getelementptr inbounds %struct.s2n_result, ptr %182, i32 0, i32 0
  %6102 = load i32, ptr %6101, align 4
  %6103 = call zeroext i1 @s2n_result_is_ok(i32 %6102)
  br i1 %6103, label %6157, label %6104

6104:                                             ; preds = %6092
  br label %6105

6105:                                             ; preds = %6104
  br label %6106

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

6113:                                             ; preds = %6106
  %6114 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6115 = call i32 @fileno(ptr noundef %6114) #11
  %6116 = call i32 @isatty(i32 noundef %6115) #11
  %6117 = icmp ne i32 %6116, 0
  br i1 %6117, label %6118, label %6135

6118:                                             ; preds = %6113
  %6119 = load i32, ptr %183, align 4, !tbaa !5
  %6120 = call ptr @__errno_location() #12
  store i32 %6119, ptr %6120, align 4, !tbaa !5
  %6121 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6122 = load i32, ptr @test_count, align 4, !tbaa !5
  %6123 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6124 = load i32, ptr %6123, align 4, !tbaa !5
  %6125 = call ptr @s2n_strerror(i32 noundef %6124, ptr noundef @.str.5)
  %6126 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6127 = load i32, ptr %6126, align 4, !tbaa !5
  %6128 = call ptr @s2n_strerror_debug(i32 noundef %6127, ptr noundef @.str.5)
  %6129 = call ptr @__errno_location() #12
  %6130 = load i32, ptr %6129, align 4, !tbaa !5
  %6131 = call ptr @strerror(i32 noundef %6130) #11
  %6132 = call ptr @__errno_location() #12
  %6133 = load i32, ptr %6132, align 4, !tbaa !5
  %6134 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6121, ptr noundef @.str.3, i32 noundef %6122, ptr noundef @.str.47, ptr noundef @.str.2, i32 noundef 333, ptr noundef %6125, ptr noundef %6128, ptr noundef %6131, i32 noundef %6133) #11
  br label %6152

6135:                                             ; preds = %6113, %6106
  %6136 = load i32, ptr %183, align 4, !tbaa !5
  %6137 = call ptr @__errno_location() #12
  store i32 %6136, ptr %6137, align 4, !tbaa !5
  %6138 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6139 = load i32, ptr @test_count, align 4, !tbaa !5
  %6140 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6141 = load i32, ptr %6140, align 4, !tbaa !5
  %6142 = call ptr @s2n_strerror(i32 noundef %6141, ptr noundef @.str.5)
  %6143 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6144 = load i32, ptr %6143, align 4, !tbaa !5
  %6145 = call ptr @s2n_strerror_debug(i32 noundef %6144, ptr noundef @.str.5)
  %6146 = call ptr @__errno_location() #12
  %6147 = load i32, ptr %6146, align 4, !tbaa !5
  %6148 = call ptr @strerror(i32 noundef %6147) #11
  %6149 = call ptr @__errno_location() #12
  %6150 = load i32, ptr %6149, align 4, !tbaa !5
  %6151 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6138, ptr noundef @.str.6, i32 noundef %6139, ptr noundef @.str.47, ptr noundef @.str.2, i32 noundef 333, ptr noundef %6142, ptr noundef %6145, ptr noundef %6148, i32 noundef %6150) #11
  br label %6152

6152:                                             ; preds = %6135, %6118
  call void @llvm.lifetime.end.p0(i64 4, ptr %183) #11
  br label %6153

6153:                                             ; preds = %6152
  br label %6154

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

6155:                                             ; No predecessors!
  br label %6156

6156:                                             ; preds = %6155
  br label %6157

6157:                                             ; preds = %6156, %6092
  br label %6158

6158:                                             ; preds = %6157
  br label %6159

6159:                                             ; preds = %6158
  br label %6160

6160:                                             ; preds = %6159
  %6161 = load i32, ptr @test_count, align 4, !tbaa !5
  %6162 = add nsw i32 %6161, 1
  store i32 %6162, ptr @test_count, align 4, !tbaa !5
  %6163 = load i32, ptr %179, align 4, !tbaa !5
  %6164 = icmp eq i32 %6163, 0
  br i1 %6164, label %6218, label %6165

6165:                                             ; preds = %6160
  br label %6166

6166:                                             ; preds = %6165
  br label %6167

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

6174:                                             ; preds = %6167
  %6175 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6176 = call i32 @fileno(ptr noundef %6175) #11
  %6177 = call i32 @isatty(i32 noundef %6176) #11
  %6178 = icmp ne i32 %6177, 0
  br i1 %6178, label %6179, label %6196

6179:                                             ; preds = %6174
  %6180 = load i32, ptr %184, align 4, !tbaa !5
  %6181 = call ptr @__errno_location() #12
  store i32 %6180, ptr %6181, align 4, !tbaa !5
  %6182 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6183 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %6185, ptr noundef @.str.5)
  %6187 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6188 = load i32, ptr %6187, align 4, !tbaa !5
  %6189 = call ptr @s2n_strerror_debug(i32 noundef %6188, ptr noundef @.str.5)
  %6190 = call ptr @__errno_location() #12
  %6191 = load i32, ptr %6190, align 4, !tbaa !5
  %6192 = call ptr @strerror(i32 noundef %6191) #11
  %6193 = call ptr @__errno_location() #12
  %6194 = load i32, ptr %6193, align 4, !tbaa !5
  %6195 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6182, ptr noundef @.str.3, i32 noundef %6183, ptr noundef @.str.31, ptr noundef @.str.2, i32 noundef 334, ptr noundef %6186, ptr noundef %6189, ptr noundef %6192, i32 noundef %6194) #11
  br label %6213

6196:                                             ; preds = %6174, %6167
  %6197 = load i32, ptr %184, align 4, !tbaa !5
  %6198 = call ptr @__errno_location() #12
  store i32 %6197, ptr %6198, align 4, !tbaa !5
  %6199 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6200 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %6202, ptr noundef @.str.5)
  %6204 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6205 = load i32, ptr %6204, align 4, !tbaa !5
  %6206 = call ptr @s2n_strerror_debug(i32 noundef %6205, ptr noundef @.str.5)
  %6207 = call ptr @__errno_location() #12
  %6208 = load i32, ptr %6207, align 4, !tbaa !5
  %6209 = call ptr @strerror(i32 noundef %6208) #11
  %6210 = call ptr @__errno_location() #12
  %6211 = load i32, ptr %6210, align 4, !tbaa !5
  %6212 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6199, ptr noundef @.str.6, i32 noundef %6200, ptr noundef @.str.31, ptr noundef @.str.2, i32 noundef 334, ptr noundef %6203, ptr noundef %6206, ptr noundef %6209, i32 noundef %6211) #11
  br label %6213

6213:                                             ; preds = %6196, %6179
  call void @llvm.lifetime.end.p0(i64 4, ptr %184) #11
  br label %6214

6214:                                             ; preds = %6213
  br label %6215

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

6216:                                             ; No predecessors!
  br label %6217

6217:                                             ; preds = %6216
  br label %6218

6218:                                             ; preds = %6217, %6160
  br label %6219

6219:                                             ; preds = %6218
  br label %6220

6220:                                             ; preds = %6219
  br label %6221

6221:                                             ; preds = %6220
  %6222 = load i32, ptr @test_count, align 4, !tbaa !5
  %6223 = add nsw i32 %6222, 1
  store i32 %6223, ptr @test_count, align 4, !tbaa !5
  %6224 = load i64, ptr %180, align 8, !tbaa !20
  %6225 = icmp eq i64 %6224, 0
  br i1 %6225, label %6279, label %6226

6226:                                             ; preds = %6221
  br label %6227

6227:                                             ; preds = %6226
  br label %6228

6228:                                             ; preds = %6227
  call void @llvm.lifetime.start.p0(i64 4, ptr %185) #11
  %6229 = call ptr @__errno_location() #12
  %6230 = load i32, ptr %6229, align 4, !tbaa !5
  store i32 %6230, ptr %185, align 4, !tbaa !5
  %6231 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6232 = call i32 @s2n_print_stacktrace(ptr noundef %6231)
  %6233 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6234 = trunc i8 %6233 to i1
  br i1 %6234, label %6235, label %6257

6235:                                             ; preds = %6228
  %6236 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6237 = call i32 @fileno(ptr noundef %6236) #11
  %6238 = call i32 @isatty(i32 noundef %6237) #11
  %6239 = icmp ne i32 %6238, 0
  br i1 %6239, label %6240, label %6257

6240:                                             ; preds = %6235
  %6241 = load i32, ptr %185, align 4, !tbaa !5
  %6242 = call ptr @__errno_location() #12
  store i32 %6241, ptr %6242, align 4, !tbaa !5
  %6243 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6244 = load i32, ptr @test_count, align 4, !tbaa !5
  %6245 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6246 = load i32, ptr %6245, align 4, !tbaa !5
  %6247 = call ptr @s2n_strerror(i32 noundef %6246, ptr noundef @.str.5)
  %6248 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6249 = load i32, ptr %6248, align 4, !tbaa !5
  %6250 = call ptr @s2n_strerror_debug(i32 noundef %6249, ptr noundef @.str.5)
  %6251 = call ptr @__errno_location() #12
  %6252 = load i32, ptr %6251, align 4, !tbaa !5
  %6253 = call ptr @strerror(i32 noundef %6252) #11
  %6254 = call ptr @__errno_location() #12
  %6255 = load i32, ptr %6254, align 4, !tbaa !5
  %6256 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6243, ptr noundef @.str.3, i32 noundef %6244, ptr noundef @.str.48, ptr noundef @.str.2, i32 noundef 335, ptr noundef %6247, ptr noundef %6250, ptr noundef %6253, i32 noundef %6255) #11
  br label %6274

6257:                                             ; preds = %6235, %6228
  %6258 = load i32, ptr %185, align 4, !tbaa !5
  %6259 = call ptr @__errno_location() #12
  store i32 %6258, ptr %6259, align 4, !tbaa !5
  %6260 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6261 = load i32, ptr @test_count, align 4, !tbaa !5
  %6262 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6263 = load i32, ptr %6262, align 4, !tbaa !5
  %6264 = call ptr @s2n_strerror(i32 noundef %6263, ptr noundef @.str.5)
  %6265 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6266 = load i32, ptr %6265, align 4, !tbaa !5
  %6267 = call ptr @s2n_strerror_debug(i32 noundef %6266, ptr noundef @.str.5)
  %6268 = call ptr @__errno_location() #12
  %6269 = load i32, ptr %6268, align 4, !tbaa !5
  %6270 = call ptr @strerror(i32 noundef %6269) #11
  %6271 = call ptr @__errno_location() #12
  %6272 = load i32, ptr %6271, align 4, !tbaa !5
  %6273 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6260, ptr noundef @.str.6, i32 noundef %6261, ptr noundef @.str.48, ptr noundef @.str.2, i32 noundef 335, ptr noundef %6264, ptr noundef %6267, ptr noundef %6270, i32 noundef %6272) #11
  br label %6274

6274:                                             ; preds = %6257, %6240
  call void @llvm.lifetime.end.p0(i64 4, ptr %185) #11
  br label %6275

6275:                                             ; preds = %6274
  br label %6276

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

6277:                                             ; No predecessors!
  br label %6278

6278:                                             ; preds = %6277
  br label %6279

6279:                                             ; preds = %6278, %6221
  br label %6280

6280:                                             ; preds = %6279
  br label %6281

6281:                                             ; preds = %6280
  call void @llvm.lifetime.start.p0(i64 16, ptr %186) #11
  %6282 = getelementptr inbounds %struct.iovec, ptr %186, i32 0, i32 0
  %6283 = getelementptr inbounds [16384 x i8], ptr %10, i64 0, i64 0
  store ptr %6283, ptr %6282, align 8, !tbaa !16
  %6284 = getelementptr inbounds %struct.iovec, ptr %186, i32 0, i32 1
  store i64 0, ptr %6284, align 8, !tbaa !19
  br label %6285

6285:                                             ; preds = %6281
  %6286 = load i32, ptr @test_count, align 4, !tbaa !5
  %6287 = add nsw i32 %6286, 1
  store i32 %6287, ptr @test_count, align 4, !tbaa !5
  %6288 = load ptr, ptr %174, align 8, !tbaa !9
  %6289 = getelementptr inbounds %struct.s2n_connection, ptr %6288, i32 0, i32 8
  %6290 = load ptr, ptr %6289, align 8, !tbaa !21
  %6291 = call i32 @s2n_ktls_sendmsg(ptr noundef %6290, i8 noundef zeroext 43, ptr noundef %186, i64 noundef 1, ptr noundef %179, ptr noundef %180)
  %6292 = getelementptr inbounds %struct.s2n_result, ptr %187, i32 0, i32 0
  store i32 %6291, ptr %6292, align 4
  %6293 = getelementptr inbounds %struct.s2n_result, ptr %187, i32 0, i32 0
  %6294 = load i32, ptr %6293, align 4
  %6295 = call zeroext i1 @s2n_result_is_ok(i32 %6294)
  br i1 %6295, label %6349, label %6296

6296:                                             ; preds = %6285
  br label %6297

6297:                                             ; preds = %6296
  br label %6298

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

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

6310:                                             ; preds = %6305
  %6311 = load i32, ptr %188, align 4, !tbaa !5
  %6312 = call ptr @__errno_location() #12
  store i32 %6311, ptr %6312, align 4, !tbaa !5
  %6313 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6314 = load i32, ptr @test_count, align 4, !tbaa !5
  %6315 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6316 = load i32, ptr %6315, align 4, !tbaa !5
  %6317 = call ptr @s2n_strerror(i32 noundef %6316, ptr noundef @.str.5)
  %6318 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6319 = load i32, ptr %6318, align 4, !tbaa !5
  %6320 = call ptr @s2n_strerror_debug(i32 noundef %6319, ptr noundef @.str.5)
  %6321 = call ptr @__errno_location() #12
  %6322 = load i32, ptr %6321, align 4, !tbaa !5
  %6323 = call ptr @strerror(i32 noundef %6322) #11
  %6324 = call ptr @__errno_location() #12
  %6325 = load i32, ptr %6324, align 4, !tbaa !5
  %6326 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6313, ptr noundef @.str.3, i32 noundef %6314, ptr noundef @.str.49, ptr noundef @.str.2, i32 noundef 339, ptr noundef %6317, ptr noundef %6320, ptr noundef %6323, i32 noundef %6325) #11
  br label %6344

6327:                                             ; preds = %6305, %6298
  %6328 = load i32, ptr %188, align 4, !tbaa !5
  %6329 = call ptr @__errno_location() #12
  store i32 %6328, ptr %6329, align 4, !tbaa !5
  %6330 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6331 = load i32, ptr @test_count, align 4, !tbaa !5
  %6332 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6333 = load i32, ptr %6332, align 4, !tbaa !5
  %6334 = call ptr @s2n_strerror(i32 noundef %6333, ptr noundef @.str.5)
  %6335 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6336 = load i32, ptr %6335, align 4, !tbaa !5
  %6337 = call ptr @s2n_strerror_debug(i32 noundef %6336, ptr noundef @.str.5)
  %6338 = call ptr @__errno_location() #12
  %6339 = load i32, ptr %6338, align 4, !tbaa !5
  %6340 = call ptr @strerror(i32 noundef %6339) #11
  %6341 = call ptr @__errno_location() #12
  %6342 = load i32, ptr %6341, align 4, !tbaa !5
  %6343 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6330, ptr noundef @.str.6, i32 noundef %6331, ptr noundef @.str.49, ptr noundef @.str.2, i32 noundef 339, ptr noundef %6334, ptr noundef %6337, ptr noundef %6340, i32 noundef %6342) #11
  br label %6344

6344:                                             ; preds = %6327, %6310
  call void @llvm.lifetime.end.p0(i64 4, ptr %188) #11
  br label %6345

6345:                                             ; preds = %6344
  br label %6346

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

6347:                                             ; No predecessors!
  br label %6348

6348:                                             ; preds = %6347
  br label %6349

6349:                                             ; preds = %6348, %6285
  br label %6350

6350:                                             ; preds = %6349
  br label %6351

6351:                                             ; preds = %6350
  br label %6352

6352:                                             ; preds = %6351
  %6353 = load i32, ptr @test_count, align 4, !tbaa !5
  %6354 = add nsw i32 %6353, 1
  store i32 %6354, ptr @test_count, align 4, !tbaa !5
  %6355 = load i32, ptr %179, align 4, !tbaa !5
  %6356 = icmp eq i32 %6355, 0
  br i1 %6356, label %6410, label %6357

6357:                                             ; preds = %6352
  br label %6358

6358:                                             ; preds = %6357
  br label %6359

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

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

6371:                                             ; preds = %6366
  %6372 = load i32, ptr %189, align 4, !tbaa !5
  %6373 = call ptr @__errno_location() #12
  store i32 %6372, ptr %6373, align 4, !tbaa !5
  %6374 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6375 = load i32, ptr @test_count, align 4, !tbaa !5
  %6376 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6377 = load i32, ptr %6376, align 4, !tbaa !5
  %6378 = call ptr @s2n_strerror(i32 noundef %6377, ptr noundef @.str.5)
  %6379 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6380 = load i32, ptr %6379, align 4, !tbaa !5
  %6381 = call ptr @s2n_strerror_debug(i32 noundef %6380, ptr noundef @.str.5)
  %6382 = call ptr @__errno_location() #12
  %6383 = load i32, ptr %6382, align 4, !tbaa !5
  %6384 = call ptr @strerror(i32 noundef %6383) #11
  %6385 = call ptr @__errno_location() #12
  %6386 = load i32, ptr %6385, align 4, !tbaa !5
  %6387 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6374, ptr noundef @.str.3, i32 noundef %6375, ptr noundef @.str.31, ptr noundef @.str.2, i32 noundef 340, ptr noundef %6378, ptr noundef %6381, ptr noundef %6384, i32 noundef %6386) #11
  br label %6405

6388:                                             ; preds = %6366, %6359
  %6389 = load i32, ptr %189, align 4, !tbaa !5
  %6390 = call ptr @__errno_location() #12
  store i32 %6389, ptr %6390, align 4, !tbaa !5
  %6391 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6392 = load i32, ptr @test_count, align 4, !tbaa !5
  %6393 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6394 = load i32, ptr %6393, align 4, !tbaa !5
  %6395 = call ptr @s2n_strerror(i32 noundef %6394, ptr noundef @.str.5)
  %6396 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6397 = load i32, ptr %6396, align 4, !tbaa !5
  %6398 = call ptr @s2n_strerror_debug(i32 noundef %6397, ptr noundef @.str.5)
  %6399 = call ptr @__errno_location() #12
  %6400 = load i32, ptr %6399, align 4, !tbaa !5
  %6401 = call ptr @strerror(i32 noundef %6400) #11
  %6402 = call ptr @__errno_location() #12
  %6403 = load i32, ptr %6402, align 4, !tbaa !5
  %6404 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6391, ptr noundef @.str.6, i32 noundef %6392, ptr noundef @.str.31, ptr noundef @.str.2, i32 noundef 340, ptr noundef %6395, ptr noundef %6398, ptr noundef %6401, i32 noundef %6403) #11
  br label %6405

6405:                                             ; preds = %6388, %6371
  call void @llvm.lifetime.end.p0(i64 4, ptr %189) #11
  br label %6406

6406:                                             ; preds = %6405
  br label %6407

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

6408:                                             ; No predecessors!
  br label %6409

6409:                                             ; preds = %6408
  br label %6410

6410:                                             ; preds = %6409, %6352
  br label %6411

6411:                                             ; preds = %6410
  br label %6412

6412:                                             ; preds = %6411
  br label %6413

6413:                                             ; preds = %6412
  %6414 = load i32, ptr @test_count, align 4, !tbaa !5
  %6415 = add nsw i32 %6414, 1
  store i32 %6415, ptr @test_count, align 4, !tbaa !5
  %6416 = load i64, ptr %180, align 8, !tbaa !20
  %6417 = icmp eq i64 %6416, 0
  br i1 %6417, label %6471, label %6418

6418:                                             ; preds = %6413
  br label %6419

6419:                                             ; preds = %6418
  br label %6420

6420:                                             ; preds = %6419
  call void @llvm.lifetime.start.p0(i64 4, ptr %190) #11
  %6421 = call ptr @__errno_location() #12
  %6422 = load i32, ptr %6421, align 4, !tbaa !5
  store i32 %6422, ptr %190, align 4, !tbaa !5
  %6423 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6424 = call i32 @s2n_print_stacktrace(ptr noundef %6423)
  %6425 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6426 = trunc i8 %6425 to i1
  br i1 %6426, label %6427, label %6449

6427:                                             ; preds = %6420
  %6428 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6429 = call i32 @fileno(ptr noundef %6428) #11
  %6430 = call i32 @isatty(i32 noundef %6429) #11
  %6431 = icmp ne i32 %6430, 0
  br i1 %6431, label %6432, label %6449

6432:                                             ; preds = %6427
  %6433 = load i32, ptr %190, align 4, !tbaa !5
  %6434 = call ptr @__errno_location() #12
  store i32 %6433, ptr %6434, align 4, !tbaa !5
  %6435 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6436 = load i32, ptr @test_count, align 4, !tbaa !5
  %6437 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6438 = load i32, ptr %6437, align 4, !tbaa !5
  %6439 = call ptr @s2n_strerror(i32 noundef %6438, ptr noundef @.str.5)
  %6440 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6441 = load i32, ptr %6440, align 4, !tbaa !5
  %6442 = call ptr @s2n_strerror_debug(i32 noundef %6441, ptr noundef @.str.5)
  %6443 = call ptr @__errno_location() #12
  %6444 = load i32, ptr %6443, align 4, !tbaa !5
  %6445 = call ptr @strerror(i32 noundef %6444) #11
  %6446 = call ptr @__errno_location() #12
  %6447 = load i32, ptr %6446, align 4, !tbaa !5
  %6448 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6435, ptr noundef @.str.3, i32 noundef %6436, ptr noundef @.str.48, ptr noundef @.str.2, i32 noundef 341, ptr noundef %6439, ptr noundef %6442, ptr noundef %6445, i32 noundef %6447) #11
  br label %6466

6449:                                             ; preds = %6427, %6420
  %6450 = load i32, ptr %190, align 4, !tbaa !5
  %6451 = call ptr @__errno_location() #12
  store i32 %6450, ptr %6451, align 4, !tbaa !5
  %6452 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6453 = load i32, ptr @test_count, align 4, !tbaa !5
  %6454 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6455 = load i32, ptr %6454, align 4, !tbaa !5
  %6456 = call ptr @s2n_strerror(i32 noundef %6455, ptr noundef @.str.5)
  %6457 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6458 = load i32, ptr %6457, align 4, !tbaa !5
  %6459 = call ptr @s2n_strerror_debug(i32 noundef %6458, ptr noundef @.str.5)
  %6460 = call ptr @__errno_location() #12
  %6461 = load i32, ptr %6460, align 4, !tbaa !5
  %6462 = call ptr @strerror(i32 noundef %6461) #11
  %6463 = call ptr @__errno_location() #12
  %6464 = load i32, ptr %6463, align 4, !tbaa !5
  %6465 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6452, ptr noundef @.str.6, i32 noundef %6453, ptr noundef @.str.48, ptr noundef @.str.2, i32 noundef 341, ptr noundef %6456, ptr noundef %6459, ptr noundef %6462, i32 noundef %6464) #11
  br label %6466

6466:                                             ; preds = %6449, %6432
  call void @llvm.lifetime.end.p0(i64 4, ptr %190) #11
  br label %6467

6467:                                             ; preds = %6466
  br label %6468

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

6469:                                             ; No predecessors!
  br label %6470

6470:                                             ; preds = %6469
  br label %6471

6471:                                             ; preds = %6470, %6413
  br label %6472

6472:                                             ; preds = %6471
  br label %6473

6473:                                             ; preds = %6472
  br label %6474

6474:                                             ; preds = %6473
  %6475 = load i32, ptr @test_count, align 4, !tbaa !5
  %6476 = add nsw i32 %6475, 1
  store i32 %6476, ptr @test_count, align 4, !tbaa !5
  %6477 = getelementptr inbounds %struct.s2n_test_ktls_io_stuffer, ptr %175, i32 0, i32 2
  %6478 = load i64, ptr %6477, align 8, !tbaa !47
  %6479 = icmp eq i64 %6478, 2
  br i1 %6479, label %6533, label %6480

6480:                                             ; preds = %6474
  br label %6481

6481:                                             ; preds = %6480
  br label %6482

6482:                                             ; preds = %6481
  call void @llvm.lifetime.start.p0(i64 4, ptr %191) #11
  %6483 = call ptr @__errno_location() #12
  %6484 = load i32, ptr %6483, align 4, !tbaa !5
  store i32 %6484, ptr %191, align 4, !tbaa !5
  %6485 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6486 = call i32 @s2n_print_stacktrace(ptr noundef %6485)
  %6487 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6488 = trunc i8 %6487 to i1
  br i1 %6488, label %6489, label %6511

6489:                                             ; preds = %6482
  %6490 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6491 = call i32 @fileno(ptr noundef %6490) #11
  %6492 = call i32 @isatty(i32 noundef %6491) #11
  %6493 = icmp ne i32 %6492, 0
  br i1 %6493, label %6494, label %6511

6494:                                             ; preds = %6489
  %6495 = load i32, ptr %191, align 4, !tbaa !5
  %6496 = call ptr @__errno_location() #12
  store i32 %6495, ptr %6496, align 4, !tbaa !5
  %6497 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6498 = load i32, ptr @test_count, align 4, !tbaa !5
  %6499 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6500 = load i32, ptr %6499, align 4, !tbaa !5
  %6501 = call ptr @s2n_strerror(i32 noundef %6500, ptr noundef @.str.5)
  %6502 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6503 = load i32, ptr %6502, align 4, !tbaa !5
  %6504 = call ptr @s2n_strerror_debug(i32 noundef %6503, ptr noundef @.str.5)
  %6505 = call ptr @__errno_location() #12
  %6506 = load i32, ptr %6505, align 4, !tbaa !5
  %6507 = call ptr @strerror(i32 noundef %6506) #11
  %6508 = call ptr @__errno_location() #12
  %6509 = load i32, ptr %6508, align 4, !tbaa !5
  %6510 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6497, ptr noundef @.str.3, i32 noundef %6498, ptr noundef @.str.50, ptr noundef @.str.2, i32 noundef 343, ptr noundef %6501, ptr noundef %6504, ptr noundef %6507, i32 noundef %6509) #11
  br label %6528

6511:                                             ; preds = %6489, %6482
  %6512 = load i32, ptr %191, align 4, !tbaa !5
  %6513 = call ptr @__errno_location() #12
  store i32 %6512, ptr %6513, align 4, !tbaa !5
  %6514 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6515 = load i32, ptr @test_count, align 4, !tbaa !5
  %6516 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6517 = load i32, ptr %6516, align 4, !tbaa !5
  %6518 = call ptr @s2n_strerror(i32 noundef %6517, ptr noundef @.str.5)
  %6519 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6520 = load i32, ptr %6519, align 4, !tbaa !5
  %6521 = call ptr @s2n_strerror_debug(i32 noundef %6520, ptr noundef @.str.5)
  %6522 = call ptr @__errno_location() #12
  %6523 = load i32, ptr %6522, align 4, !tbaa !5
  %6524 = call ptr @strerror(i32 noundef %6523) #11
  %6525 = call ptr @__errno_location() #12
  %6526 = load i32, ptr %6525, align 4, !tbaa !5
  %6527 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6514, ptr noundef @.str.6, i32 noundef %6515, ptr noundef @.str.50, ptr noundef @.str.2, i32 noundef 343, ptr noundef %6518, ptr noundef %6521, ptr noundef %6524, i32 noundef %6526) #11
  br label %6528

6528:                                             ; preds = %6511, %6494
  call void @llvm.lifetime.end.p0(i64 4, ptr %191) #11
  br label %6529

6529:                                             ; preds = %6528
  br label %6530

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

6531:                                             ; No predecessors!
  br label %6532

6532:                                             ; preds = %6531
  br label %6533

6533:                                             ; preds = %6532, %6474
  br label %6534

6534:                                             ; preds = %6533
  br label %6535

6535:                                             ; preds = %6534
  call void @llvm.lifetime.end.p0(i64 16, ptr %186) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %181) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %180) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %179) #11
  call void @llvm.lifetime.end.p0(i64 16, ptr %178) #11
  %6536 = call i32 @s2n_ktls_io_stuffer_free(ptr noundef %175)
  %6537 = getelementptr inbounds %struct.s2n_result, ptr %192, i32 0, i32 0
  store i32 %6536, ptr %6537, align 4
  call void @llvm.lifetime.end.p0(i64 96, ptr %175) #11
  %6538 = call i32 @s2n_connection_ptr_free(ptr noundef %174)
  %6539 = getelementptr inbounds %struct.s2n_result, ptr %193, i32 0, i32 0
  store i32 %6538, ptr %6539, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %174) #11
  call void @llvm.lifetime.start.p0(i64 96, ptr %194) #11
  call void @llvm.memset.p0.i64(ptr align 8 %194, i8 0, i64 96, i1 false)
  call void @llvm.lifetime.start.p0(i64 16384, ptr %195) #11
  call void @llvm.memset.p0.i64(ptr align 16 %195, i8 0, i64 16384, i1 false)
  call void @llvm.lifetime.start.p0(i64 4, ptr %196) #11
  store i32 0, ptr %196, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 1, ptr %197) #11
  store i8 0, ptr %197, align 1, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 8, ptr %198) #11
  store i64 0, ptr %198, align 8, !tbaa !20
  br label %6540

6540:                                             ; preds = %6535
  br label %6541

6541:                                             ; preds = %6540
  br label %6542

6542:                                             ; preds = %6541
  %6543 = load i32, ptr @test_count, align 4, !tbaa !5
  %6544 = add nsw i32 %6543, 1
  store i32 %6544, ptr @test_count, align 4, !tbaa !5
  %6545 = getelementptr inbounds [16384 x i8], ptr %195, i64 0, i64 0
  %6546 = call i32 @s2n_ktls_recvmsg(ptr noundef null, ptr noundef %197, ptr noundef %6545, i64 noundef 10, ptr noundef %196, ptr noundef %198)
  %6547 = getelementptr inbounds %struct.s2n_result, ptr %199, i32 0, i32 0
  store i32 %6546, ptr %6547, align 4
  %6548 = getelementptr inbounds %struct.s2n_result, ptr %199, i32 0, i32 0
  %6549 = load i32, ptr %6548, align 4
  %6550 = call zeroext i1 @s2n_result_is_error(i32 %6549)
  br i1 %6550, label %6604, label %6551

6551:                                             ; preds = %6542
  br label %6552

6552:                                             ; preds = %6551
  br label %6553

6553:                                             ; preds = %6552
  call void @llvm.lifetime.start.p0(i64 4, ptr %200) #11
  %6554 = call ptr @__errno_location() #12
  %6555 = load i32, ptr %6554, align 4, !tbaa !5
  store i32 %6555, ptr %200, align 4, !tbaa !5
  %6556 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6557 = call i32 @s2n_print_stacktrace(ptr noundef %6556)
  %6558 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6559 = trunc i8 %6558 to i1
  br i1 %6559, label %6560, label %6582

6560:                                             ; preds = %6553
  %6561 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6562 = call i32 @fileno(ptr noundef %6561) #11
  %6563 = call i32 @isatty(i32 noundef %6562) #11
  %6564 = icmp ne i32 %6563, 0
  br i1 %6564, label %6565, label %6582

6565:                                             ; preds = %6560
  %6566 = load i32, ptr %200, align 4, !tbaa !5
  %6567 = call ptr @__errno_location() #12
  store i32 %6566, ptr %6567, align 4, !tbaa !5
  %6568 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6569 = load i32, ptr @test_count, align 4, !tbaa !5
  %6570 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6571 = load i32, ptr %6570, align 4, !tbaa !5
  %6572 = call ptr @s2n_strerror(i32 noundef %6571, ptr noundef @.str.5)
  %6573 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6574 = load i32, ptr %6573, align 4, !tbaa !5
  %6575 = call ptr @s2n_strerror_debug(i32 noundef %6574, ptr noundef @.str.5)
  %6576 = call ptr @__errno_location() #12
  %6577 = load i32, ptr %6576, align 4, !tbaa !5
  %6578 = call ptr @strerror(i32 noundef %6577) #11
  %6579 = call ptr @__errno_location() #12
  %6580 = load i32, ptr %6579, align 4, !tbaa !5
  %6581 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6568, ptr noundef @.str.3, i32 noundef %6569, ptr noundef @.str.51, ptr noundef @.str.2, i32 noundef 359, ptr noundef %6572, ptr noundef %6575, ptr noundef %6578, i32 noundef %6580) #11
  br label %6599

6582:                                             ; preds = %6560, %6553
  %6583 = load i32, ptr %200, align 4, !tbaa !5
  %6584 = call ptr @__errno_location() #12
  store i32 %6583, ptr %6584, align 4, !tbaa !5
  %6585 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6586 = load i32, ptr @test_count, align 4, !tbaa !5
  %6587 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6588 = load i32, ptr %6587, align 4, !tbaa !5
  %6589 = call ptr @s2n_strerror(i32 noundef %6588, ptr noundef @.str.5)
  %6590 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6591 = load i32, ptr %6590, align 4, !tbaa !5
  %6592 = call ptr @s2n_strerror_debug(i32 noundef %6591, ptr noundef @.str.5)
  %6593 = call ptr @__errno_location() #12
  %6594 = load i32, ptr %6593, align 4, !tbaa !5
  %6595 = call ptr @strerror(i32 noundef %6594) #11
  %6596 = call ptr @__errno_location() #12
  %6597 = load i32, ptr %6596, align 4, !tbaa !5
  %6598 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6585, ptr noundef @.str.6, i32 noundef %6586, ptr noundef @.str.51, ptr noundef @.str.2, i32 noundef 359, ptr noundef %6589, ptr noundef %6592, ptr noundef %6595, i32 noundef %6597) #11
  br label %6599

6599:                                             ; preds = %6582, %6565
  call void @llvm.lifetime.end.p0(i64 4, ptr %200) #11
  br label %6600

6600:                                             ; preds = %6599
  br label %6601

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

6602:                                             ; No predecessors!
  br label %6603

6603:                                             ; preds = %6602
  br label %6604

6604:                                             ; preds = %6603, %6542
  br label %6605

6605:                                             ; preds = %6604
  br label %6606

6606:                                             ; preds = %6605
  br label %6607

6607:                                             ; preds = %6606
  %6608 = load i32, ptr @test_count, align 4, !tbaa !5
  %6609 = add nsw i32 %6608, 1
  store i32 %6609, ptr @test_count, align 4, !tbaa !5
  %6610 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6611 = load i32, ptr %6610, align 4, !tbaa !5
  %6612 = icmp eq i32 %6611, 67108864
  br i1 %6612, label %6666, label %6613

6613:                                             ; preds = %6607
  br label %6614

6614:                                             ; preds = %6613
  br label %6615

6615:                                             ; preds = %6614
  call void @llvm.lifetime.start.p0(i64 4, ptr %201) #11
  %6616 = call ptr @__errno_location() #12
  %6617 = load i32, ptr %6616, align 4, !tbaa !5
  store i32 %6617, ptr %201, align 4, !tbaa !5
  %6618 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6619 = call i32 @s2n_print_stacktrace(ptr noundef %6618)
  %6620 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6621 = trunc i8 %6620 to i1
  br i1 %6621, label %6622, label %6644

6622:                                             ; preds = %6615
  %6623 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6624 = call i32 @fileno(ptr noundef %6623) #11
  %6625 = call i32 @isatty(i32 noundef %6624) #11
  %6626 = icmp ne i32 %6625, 0
  br i1 %6626, label %6627, label %6644

6627:                                             ; preds = %6622
  %6628 = load i32, ptr %201, align 4, !tbaa !5
  %6629 = call ptr @__errno_location() #12
  store i32 %6628, ptr %6629, align 4, !tbaa !5
  %6630 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6631 = load i32, ptr @test_count, align 4, !tbaa !5
  %6632 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6633 = load i32, ptr %6632, align 4, !tbaa !5
  %6634 = call ptr @s2n_strerror(i32 noundef %6633, ptr noundef @.str.5)
  %6635 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6636 = load i32, ptr %6635, align 4, !tbaa !5
  %6637 = call ptr @s2n_strerror_debug(i32 noundef %6636, ptr noundef @.str.5)
  %6638 = call ptr @__errno_location() #12
  %6639 = load i32, ptr %6638, align 4, !tbaa !5
  %6640 = call ptr @strerror(i32 noundef %6639) #11
  %6641 = call ptr @__errno_location() #12
  %6642 = load i32, ptr %6641, align 4, !tbaa !5
  %6643 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6630, ptr noundef @.str.3, i32 noundef %6631, ptr noundef @.str.24, ptr noundef @.str.2, i32 noundef 359, ptr noundef %6634, ptr noundef %6637, ptr noundef %6640, i32 noundef %6642) #11
  br label %6661

6644:                                             ; preds = %6622, %6615
  %6645 = load i32, ptr %201, align 4, !tbaa !5
  %6646 = call ptr @__errno_location() #12
  store i32 %6645, ptr %6646, align 4, !tbaa !5
  %6647 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6648 = load i32, ptr @test_count, align 4, !tbaa !5
  %6649 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6650 = load i32, ptr %6649, align 4, !tbaa !5
  %6651 = call ptr @s2n_strerror(i32 noundef %6650, ptr noundef @.str.5)
  %6652 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6653 = load i32, ptr %6652, align 4, !tbaa !5
  %6654 = call ptr @s2n_strerror_debug(i32 noundef %6653, ptr noundef @.str.5)
  %6655 = call ptr @__errno_location() #12
  %6656 = load i32, ptr %6655, align 4, !tbaa !5
  %6657 = call ptr @strerror(i32 noundef %6656) #11
  %6658 = call ptr @__errno_location() #12
  %6659 = load i32, ptr %6658, align 4, !tbaa !5
  %6660 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6647, ptr noundef @.str.6, i32 noundef %6648, ptr noundef @.str.24, ptr noundef @.str.2, i32 noundef 359, ptr noundef %6651, ptr noundef %6654, ptr noundef %6657, i32 noundef %6659) #11
  br label %6661

6661:                                             ; preds = %6644, %6627
  call void @llvm.lifetime.end.p0(i64 4, ptr %201) #11
  br label %6662

6662:                                             ; preds = %6661
  br label %6663

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

6664:                                             ; No predecessors!
  br label %6665

6665:                                             ; preds = %6664
  br label %6666

6666:                                             ; preds = %6665, %6607
  br label %6667

6667:                                             ; preds = %6666
  br label %6668

6668:                                             ; preds = %6667
  br label %6669

6669:                                             ; preds = %6668
  %6670 = load i32, ptr @test_count, align 4, !tbaa !5
  %6671 = add nsw i32 %6670, 1
  store i32 %6671, ptr @test_count, align 4, !tbaa !5
  %6672 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6673 = load i32, ptr %6672, align 4, !tbaa !5
  %6674 = call ptr @s2n_strerror_debug(i32 noundef %6673, ptr noundef @.str.5)
  %6675 = icmp eq ptr %6674, null
  br i1 %6675, label %6676, label %6729

6676:                                             ; preds = %6669
  br label %6677

6677:                                             ; preds = %6676
  br label %6678

6678:                                             ; preds = %6677
  call void @llvm.lifetime.start.p0(i64 4, ptr %202) #11
  %6679 = call ptr @__errno_location() #12
  %6680 = load i32, ptr %6679, align 4, !tbaa !5
  store i32 %6680, ptr %202, align 4, !tbaa !5
  %6681 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6682 = call i32 @s2n_print_stacktrace(ptr noundef %6681)
  %6683 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6684 = trunc i8 %6683 to i1
  br i1 %6684, label %6685, label %6707

6685:                                             ; preds = %6678
  %6686 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6687 = call i32 @fileno(ptr noundef %6686) #11
  %6688 = call i32 @isatty(i32 noundef %6687) #11
  %6689 = icmp ne i32 %6688, 0
  br i1 %6689, label %6690, label %6707

6690:                                             ; preds = %6685
  %6691 = load i32, ptr %202, align 4, !tbaa !5
  %6692 = call ptr @__errno_location() #12
  store i32 %6691, ptr %6692, align 4, !tbaa !5
  %6693 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6694 = load i32, ptr @test_count, align 4, !tbaa !5
  %6695 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6696 = load i32, ptr %6695, align 4, !tbaa !5
  %6697 = call ptr @s2n_strerror(i32 noundef %6696, ptr noundef @.str.5)
  %6698 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6699 = load i32, ptr %6698, align 4, !tbaa !5
  %6700 = call ptr @s2n_strerror_debug(i32 noundef %6699, ptr noundef @.str.5)
  %6701 = call ptr @__errno_location() #12
  %6702 = load i32, ptr %6701, align 4, !tbaa !5
  %6703 = call ptr @strerror(i32 noundef %6702) #11
  %6704 = call ptr @__errno_location() #12
  %6705 = load i32, ptr %6704, align 4, !tbaa !5
  %6706 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6693, ptr noundef @.str.3, i32 noundef %6694, ptr noundef @.str.13, ptr noundef @.str.2, i32 noundef 359, ptr noundef %6697, ptr noundef %6700, ptr noundef %6703, i32 noundef %6705) #11
  br label %6724

6707:                                             ; preds = %6685, %6678
  %6708 = load i32, ptr %202, align 4, !tbaa !5
  %6709 = call ptr @__errno_location() #12
  store i32 %6708, ptr %6709, align 4, !tbaa !5
  %6710 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6711 = load i32, ptr @test_count, align 4, !tbaa !5
  %6712 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6713 = load i32, ptr %6712, align 4, !tbaa !5
  %6714 = call ptr @s2n_strerror(i32 noundef %6713, ptr noundef @.str.5)
  %6715 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6716 = load i32, ptr %6715, align 4, !tbaa !5
  %6717 = call ptr @s2n_strerror_debug(i32 noundef %6716, ptr noundef @.str.5)
  %6718 = call ptr @__errno_location() #12
  %6719 = load i32, ptr %6718, align 4, !tbaa !5
  %6720 = call ptr @strerror(i32 noundef %6719) #11
  %6721 = call ptr @__errno_location() #12
  %6722 = load i32, ptr %6721, align 4, !tbaa !5
  %6723 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6710, ptr noundef @.str.6, i32 noundef %6711, ptr noundef @.str.13, ptr noundef @.str.2, i32 noundef 359, ptr noundef %6714, ptr noundef %6717, ptr noundef %6720, i32 noundef %6722) #11
  br label %6724

6724:                                             ; preds = %6707, %6690
  call void @llvm.lifetime.end.p0(i64 4, ptr %202) #11
  br label %6725

6725:                                             ; preds = %6724
  br label %6726

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

6727:                                             ; No predecessors!
  br label %6728

6728:                                             ; preds = %6727
  br label %6729

6729:                                             ; preds = %6728, %6669
  br label %6730

6730:                                             ; preds = %6729
  br label %6731

6731:                                             ; preds = %6730
  br label %6732

6732:                                             ; preds = %6731
  br label %6733

6733:                                             ; preds = %6732
  br label %6734

6734:                                             ; preds = %6733
  %6735 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %6735, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %6736 = call ptr @__errno_location() #12
  store i32 0, ptr %6736, align 4, !tbaa !5
  br label %6737

6737:                                             ; preds = %6734
  br label %6738

6738:                                             ; preds = %6737
  br label %6739

6739:                                             ; preds = %6738
  br label %6740

6740:                                             ; preds = %6739
  br label %6741

6741:                                             ; preds = %6740
  br label %6742

6742:                                             ; preds = %6741
  br label %6743

6743:                                             ; preds = %6742
  %6744 = load i32, ptr @test_count, align 4, !tbaa !5
  %6745 = add nsw i32 %6744, 1
  store i32 %6745, ptr @test_count, align 4, !tbaa !5
  %6746 = getelementptr inbounds [16384 x i8], ptr %195, i64 0, i64 0
  %6747 = call i32 @s2n_ktls_recvmsg(ptr noundef %194, ptr noundef null, ptr noundef %6746, i64 noundef 10, ptr noundef %196, ptr noundef %198)
  %6748 = getelementptr inbounds %struct.s2n_result, ptr %203, i32 0, i32 0
  store i32 %6747, ptr %6748, align 4
  %6749 = getelementptr inbounds %struct.s2n_result, ptr %203, i32 0, i32 0
  %6750 = load i32, ptr %6749, align 4
  %6751 = call zeroext i1 @s2n_result_is_error(i32 %6750)
  br i1 %6751, label %6805, label %6752

6752:                                             ; preds = %6743
  br label %6753

6753:                                             ; preds = %6752
  br label %6754

6754:                                             ; preds = %6753
  call void @llvm.lifetime.start.p0(i64 4, ptr %204) #11
  %6755 = call ptr @__errno_location() #12
  %6756 = load i32, ptr %6755, align 4, !tbaa !5
  store i32 %6756, ptr %204, align 4, !tbaa !5
  %6757 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6758 = call i32 @s2n_print_stacktrace(ptr noundef %6757)
  %6759 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6760 = trunc i8 %6759 to i1
  br i1 %6760, label %6761, label %6783

6761:                                             ; preds = %6754
  %6762 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6763 = call i32 @fileno(ptr noundef %6762) #11
  %6764 = call i32 @isatty(i32 noundef %6763) #11
  %6765 = icmp ne i32 %6764, 0
  br i1 %6765, label %6766, label %6783

6766:                                             ; preds = %6761
  %6767 = load i32, ptr %204, align 4, !tbaa !5
  %6768 = call ptr @__errno_location() #12
  store i32 %6767, ptr %6768, align 4, !tbaa !5
  %6769 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6770 = load i32, ptr @test_count, align 4, !tbaa !5
  %6771 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6772 = load i32, ptr %6771, align 4, !tbaa !5
  %6773 = call ptr @s2n_strerror(i32 noundef %6772, ptr noundef @.str.5)
  %6774 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6775 = load i32, ptr %6774, align 4, !tbaa !5
  %6776 = call ptr @s2n_strerror_debug(i32 noundef %6775, ptr noundef @.str.5)
  %6777 = call ptr @__errno_location() #12
  %6778 = load i32, ptr %6777, align 4, !tbaa !5
  %6779 = call ptr @strerror(i32 noundef %6778) #11
  %6780 = call ptr @__errno_location() #12
  %6781 = load i32, ptr %6780, align 4, !tbaa !5
  %6782 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6769, ptr noundef @.str.3, i32 noundef %6770, ptr noundef @.str.52, ptr noundef @.str.2, i32 noundef 362, ptr noundef %6773, ptr noundef %6776, ptr noundef %6779, i32 noundef %6781) #11
  br label %6800

6783:                                             ; preds = %6761, %6754
  %6784 = load i32, ptr %204, align 4, !tbaa !5
  %6785 = call ptr @__errno_location() #12
  store i32 %6784, ptr %6785, align 4, !tbaa !5
  %6786 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6787 = load i32, ptr @test_count, align 4, !tbaa !5
  %6788 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6789 = load i32, ptr %6788, align 4, !tbaa !5
  %6790 = call ptr @s2n_strerror(i32 noundef %6789, ptr noundef @.str.5)
  %6791 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6792 = load i32, ptr %6791, align 4, !tbaa !5
  %6793 = call ptr @s2n_strerror_debug(i32 noundef %6792, ptr noundef @.str.5)
  %6794 = call ptr @__errno_location() #12
  %6795 = load i32, ptr %6794, align 4, !tbaa !5
  %6796 = call ptr @strerror(i32 noundef %6795) #11
  %6797 = call ptr @__errno_location() #12
  %6798 = load i32, ptr %6797, align 4, !tbaa !5
  %6799 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6786, ptr noundef @.str.6, i32 noundef %6787, ptr noundef @.str.52, ptr noundef @.str.2, i32 noundef 362, ptr noundef %6790, ptr noundef %6793, ptr noundef %6796, i32 noundef %6798) #11
  br label %6800

6800:                                             ; preds = %6783, %6766
  call void @llvm.lifetime.end.p0(i64 4, ptr %204) #11
  br label %6801

6801:                                             ; preds = %6800
  br label %6802

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

6803:                                             ; No predecessors!
  br label %6804

6804:                                             ; preds = %6803
  br label %6805

6805:                                             ; preds = %6804, %6743
  br label %6806

6806:                                             ; preds = %6805
  br label %6807

6807:                                             ; preds = %6806
  br label %6808

6808:                                             ; preds = %6807
  %6809 = load i32, ptr @test_count, align 4, !tbaa !5
  %6810 = add nsw i32 %6809, 1
  store i32 %6810, ptr @test_count, align 4, !tbaa !5
  %6811 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6812 = load i32, ptr %6811, align 4, !tbaa !5
  %6813 = icmp eq i32 %6812, 402653193
  br i1 %6813, label %6867, label %6814

6814:                                             ; preds = %6808
  br label %6815

6815:                                             ; preds = %6814
  br label %6816

6816:                                             ; preds = %6815
  call void @llvm.lifetime.start.p0(i64 4, ptr %205) #11
  %6817 = call ptr @__errno_location() #12
  %6818 = load i32, ptr %6817, align 4, !tbaa !5
  store i32 %6818, ptr %205, align 4, !tbaa !5
  %6819 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6820 = call i32 @s2n_print_stacktrace(ptr noundef %6819)
  %6821 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6822 = trunc i8 %6821 to i1
  br i1 %6822, label %6823, label %6845

6823:                                             ; preds = %6816
  %6824 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6825 = call i32 @fileno(ptr noundef %6824) #11
  %6826 = call i32 @isatty(i32 noundef %6825) #11
  %6827 = icmp ne i32 %6826, 0
  br i1 %6827, label %6828, label %6845

6828:                                             ; preds = %6823
  %6829 = load i32, ptr %205, align 4, !tbaa !5
  %6830 = call ptr @__errno_location() #12
  store i32 %6829, ptr %6830, align 4, !tbaa !5
  %6831 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6832 = load i32, ptr @test_count, align 4, !tbaa !5
  %6833 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6834 = load i32, ptr %6833, align 4, !tbaa !5
  %6835 = call ptr @s2n_strerror(i32 noundef %6834, ptr noundef @.str.5)
  %6836 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6837 = load i32, ptr %6836, align 4, !tbaa !5
  %6838 = call ptr @s2n_strerror_debug(i32 noundef %6837, ptr noundef @.str.5)
  %6839 = call ptr @__errno_location() #12
  %6840 = load i32, ptr %6839, align 4, !tbaa !5
  %6841 = call ptr @strerror(i32 noundef %6840) #11
  %6842 = call ptr @__errno_location() #12
  %6843 = load i32, ptr %6842, align 4, !tbaa !5
  %6844 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6831, ptr noundef @.str.3, i32 noundef %6832, ptr noundef @.str.12, ptr noundef @.str.2, i32 noundef 362, ptr noundef %6835, ptr noundef %6838, ptr noundef %6841, i32 noundef %6843) #11
  br label %6862

6845:                                             ; preds = %6823, %6816
  %6846 = load i32, ptr %205, align 4, !tbaa !5
  %6847 = call ptr @__errno_location() #12
  store i32 %6846, ptr %6847, align 4, !tbaa !5
  %6848 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6849 = load i32, ptr @test_count, align 4, !tbaa !5
  %6850 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6851 = load i32, ptr %6850, align 4, !tbaa !5
  %6852 = call ptr @s2n_strerror(i32 noundef %6851, ptr noundef @.str.5)
  %6853 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6854 = load i32, ptr %6853, align 4, !tbaa !5
  %6855 = call ptr @s2n_strerror_debug(i32 noundef %6854, ptr noundef @.str.5)
  %6856 = call ptr @__errno_location() #12
  %6857 = load i32, ptr %6856, align 4, !tbaa !5
  %6858 = call ptr @strerror(i32 noundef %6857) #11
  %6859 = call ptr @__errno_location() #12
  %6860 = load i32, ptr %6859, align 4, !tbaa !5
  %6861 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6848, ptr noundef @.str.6, i32 noundef %6849, ptr noundef @.str.12, ptr noundef @.str.2, i32 noundef 362, ptr noundef %6852, ptr noundef %6855, ptr noundef %6858, i32 noundef %6860) #11
  br label %6862

6862:                                             ; preds = %6845, %6828
  call void @llvm.lifetime.end.p0(i64 4, ptr %205) #11
  br label %6863

6863:                                             ; preds = %6862
  br label %6864

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

6865:                                             ; No predecessors!
  br label %6866

6866:                                             ; preds = %6865
  br label %6867

6867:                                             ; preds = %6866, %6808
  br label %6868

6868:                                             ; preds = %6867
  br label %6869

6869:                                             ; preds = %6868
  br label %6870

6870:                                             ; preds = %6869
  %6871 = load i32, ptr @test_count, align 4, !tbaa !5
  %6872 = add nsw i32 %6871, 1
  store i32 %6872, ptr @test_count, align 4, !tbaa !5
  %6873 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6874 = load i32, ptr %6873, align 4, !tbaa !5
  %6875 = call ptr @s2n_strerror_debug(i32 noundef %6874, ptr noundef @.str.5)
  %6876 = icmp eq ptr %6875, null
  br i1 %6876, label %6877, label %6930

6877:                                             ; preds = %6870
  br label %6878

6878:                                             ; preds = %6877
  br label %6879

6879:                                             ; preds = %6878
  call void @llvm.lifetime.start.p0(i64 4, ptr %206) #11
  %6880 = call ptr @__errno_location() #12
  %6881 = load i32, ptr %6880, align 4, !tbaa !5
  store i32 %6881, ptr %206, align 4, !tbaa !5
  %6882 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6883 = call i32 @s2n_print_stacktrace(ptr noundef %6882)
  %6884 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6885 = trunc i8 %6884 to i1
  br i1 %6885, label %6886, label %6908

6886:                                             ; preds = %6879
  %6887 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6888 = call i32 @fileno(ptr noundef %6887) #11
  %6889 = call i32 @isatty(i32 noundef %6888) #11
  %6890 = icmp ne i32 %6889, 0
  br i1 %6890, label %6891, label %6908

6891:                                             ; preds = %6886
  %6892 = load i32, ptr %206, align 4, !tbaa !5
  %6893 = call ptr @__errno_location() #12
  store i32 %6892, ptr %6893, align 4, !tbaa !5
  %6894 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6895 = load i32, ptr @test_count, align 4, !tbaa !5
  %6896 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6897 = load i32, ptr %6896, align 4, !tbaa !5
  %6898 = call ptr @s2n_strerror(i32 noundef %6897, ptr noundef @.str.5)
  %6899 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6900 = load i32, ptr %6899, align 4, !tbaa !5
  %6901 = call ptr @s2n_strerror_debug(i32 noundef %6900, ptr noundef @.str.5)
  %6902 = call ptr @__errno_location() #12
  %6903 = load i32, ptr %6902, align 4, !tbaa !5
  %6904 = call ptr @strerror(i32 noundef %6903) #11
  %6905 = call ptr @__errno_location() #12
  %6906 = load i32, ptr %6905, align 4, !tbaa !5
  %6907 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6894, ptr noundef @.str.3, i32 noundef %6895, ptr noundef @.str.13, ptr noundef @.str.2, i32 noundef 362, ptr noundef %6898, ptr noundef %6901, ptr noundef %6904, i32 noundef %6906) #11
  br label %6925

6908:                                             ; preds = %6886, %6879
  %6909 = load i32, ptr %206, align 4, !tbaa !5
  %6910 = call ptr @__errno_location() #12
  store i32 %6909, ptr %6910, align 4, !tbaa !5
  %6911 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6912 = load i32, ptr @test_count, align 4, !tbaa !5
  %6913 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6914 = load i32, ptr %6913, align 4, !tbaa !5
  %6915 = call ptr @s2n_strerror(i32 noundef %6914, ptr noundef @.str.5)
  %6916 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6917 = load i32, ptr %6916, align 4, !tbaa !5
  %6918 = call ptr @s2n_strerror_debug(i32 noundef %6917, ptr noundef @.str.5)
  %6919 = call ptr @__errno_location() #12
  %6920 = load i32, ptr %6919, align 4, !tbaa !5
  %6921 = call ptr @strerror(i32 noundef %6920) #11
  %6922 = call ptr @__errno_location() #12
  %6923 = load i32, ptr %6922, align 4, !tbaa !5
  %6924 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6911, ptr noundef @.str.6, i32 noundef %6912, ptr noundef @.str.13, ptr noundef @.str.2, i32 noundef 362, ptr noundef %6915, ptr noundef %6918, ptr noundef %6921, i32 noundef %6923) #11
  br label %6925

6925:                                             ; preds = %6908, %6891
  call void @llvm.lifetime.end.p0(i64 4, ptr %206) #11
  br label %6926

6926:                                             ; preds = %6925
  br label %6927

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

6928:                                             ; No predecessors!
  br label %6929

6929:                                             ; preds = %6928
  br label %6930

6930:                                             ; preds = %6929, %6870
  br label %6931

6931:                                             ; preds = %6930
  br label %6932

6932:                                             ; preds = %6931
  br label %6933

6933:                                             ; preds = %6932
  br label %6934

6934:                                             ; preds = %6933
  br label %6935

6935:                                             ; preds = %6934
  %6936 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %6936, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %6937 = call ptr @__errno_location() #12
  store i32 0, ptr %6937, align 4, !tbaa !5
  br label %6938

6938:                                             ; preds = %6935
  br label %6939

6939:                                             ; preds = %6938
  br label %6940

6940:                                             ; preds = %6939
  br label %6941

6941:                                             ; preds = %6940
  br label %6942

6942:                                             ; preds = %6941
  br label %6943

6943:                                             ; preds = %6942
  br label %6944

6944:                                             ; preds = %6943
  %6945 = load i32, ptr @test_count, align 4, !tbaa !5
  %6946 = add nsw i32 %6945, 1
  store i32 %6946, ptr @test_count, align 4, !tbaa !5
  %6947 = call i32 @s2n_ktls_recvmsg(ptr noundef %194, ptr noundef %197, ptr noundef null, i64 noundef 10, ptr noundef %196, ptr noundef %198)
  %6948 = getelementptr inbounds %struct.s2n_result, ptr %207, i32 0, i32 0
  store i32 %6947, ptr %6948, align 4
  %6949 = getelementptr inbounds %struct.s2n_result, ptr %207, i32 0, i32 0
  %6950 = load i32, ptr %6949, align 4
  %6951 = call zeroext i1 @s2n_result_is_error(i32 %6950)
  br i1 %6951, label %7005, label %6952

6952:                                             ; preds = %6944
  br label %6953

6953:                                             ; preds = %6952
  br label %6954

6954:                                             ; preds = %6953
  call void @llvm.lifetime.start.p0(i64 4, ptr %208) #11
  %6955 = call ptr @__errno_location() #12
  %6956 = load i32, ptr %6955, align 4, !tbaa !5
  store i32 %6956, ptr %208, align 4, !tbaa !5
  %6957 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6958 = call i32 @s2n_print_stacktrace(ptr noundef %6957)
  %6959 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6960 = trunc i8 %6959 to i1
  br i1 %6960, label %6961, label %6983

6961:                                             ; preds = %6954
  %6962 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6963 = call i32 @fileno(ptr noundef %6962) #11
  %6964 = call i32 @isatty(i32 noundef %6963) #11
  %6965 = icmp ne i32 %6964, 0
  br i1 %6965, label %6966, label %6983

6966:                                             ; preds = %6961
  %6967 = load i32, ptr %208, align 4, !tbaa !5
  %6968 = call ptr @__errno_location() #12
  store i32 %6967, ptr %6968, align 4, !tbaa !5
  %6969 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6970 = load i32, ptr @test_count, align 4, !tbaa !5
  %6971 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6972 = load i32, ptr %6971, align 4, !tbaa !5
  %6973 = call ptr @s2n_strerror(i32 noundef %6972, ptr noundef @.str.5)
  %6974 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6975 = load i32, ptr %6974, align 4, !tbaa !5
  %6976 = call ptr @s2n_strerror_debug(i32 noundef %6975, ptr noundef @.str.5)
  %6977 = call ptr @__errno_location() #12
  %6978 = load i32, ptr %6977, align 4, !tbaa !5
  %6979 = call ptr @strerror(i32 noundef %6978) #11
  %6980 = call ptr @__errno_location() #12
  %6981 = load i32, ptr %6980, align 4, !tbaa !5
  %6982 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6969, ptr noundef @.str.3, i32 noundef %6970, ptr noundef @.str.53, ptr noundef @.str.2, i32 noundef 365, ptr noundef %6973, ptr noundef %6976, ptr noundef %6979, i32 noundef %6981) #11
  br label %7000

6983:                                             ; preds = %6961, %6954
  %6984 = load i32, ptr %208, align 4, !tbaa !5
  %6985 = call ptr @__errno_location() #12
  store i32 %6984, ptr %6985, align 4, !tbaa !5
  %6986 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6987 = load i32, ptr @test_count, align 4, !tbaa !5
  %6988 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6989 = load i32, ptr %6988, align 4, !tbaa !5
  %6990 = call ptr @s2n_strerror(i32 noundef %6989, ptr noundef @.str.5)
  %6991 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6992 = load i32, ptr %6991, align 4, !tbaa !5
  %6993 = call ptr @s2n_strerror_debug(i32 noundef %6992, ptr noundef @.str.5)
  %6994 = call ptr @__errno_location() #12
  %6995 = load i32, ptr %6994, align 4, !tbaa !5
  %6996 = call ptr @strerror(i32 noundef %6995) #11
  %6997 = call ptr @__errno_location() #12
  %6998 = load i32, ptr %6997, align 4, !tbaa !5
  %6999 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6986, ptr noundef @.str.6, i32 noundef %6987, ptr noundef @.str.53, ptr noundef @.str.2, i32 noundef 365, ptr noundef %6990, ptr noundef %6993, ptr noundef %6996, i32 noundef %6998) #11
  br label %7000

7000:                                             ; preds = %6983, %6966
  call void @llvm.lifetime.end.p0(i64 4, ptr %208) #11
  br label %7001

7001:                                             ; preds = %7000
  br label %7002

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

7003:                                             ; No predecessors!
  br label %7004

7004:                                             ; preds = %7003
  br label %7005

7005:                                             ; preds = %7004, %6944
  br label %7006

7006:                                             ; preds = %7005
  br label %7007

7007:                                             ; preds = %7006
  br label %7008

7008:                                             ; preds = %7007
  %7009 = load i32, ptr @test_count, align 4, !tbaa !5
  %7010 = add nsw i32 %7009, 1
  store i32 %7010, ptr @test_count, align 4, !tbaa !5
  %7011 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7012 = load i32, ptr %7011, align 4, !tbaa !5
  %7013 = icmp eq i32 %7012, 402653193
  br i1 %7013, label %7067, label %7014

7014:                                             ; preds = %7008
  br label %7015

7015:                                             ; preds = %7014
  br label %7016

7016:                                             ; preds = %7015
  call void @llvm.lifetime.start.p0(i64 4, ptr %209) #11
  %7017 = call ptr @__errno_location() #12
  %7018 = load i32, ptr %7017, align 4, !tbaa !5
  store i32 %7018, ptr %209, align 4, !tbaa !5
  %7019 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7020 = call i32 @s2n_print_stacktrace(ptr noundef %7019)
  %7021 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7022 = trunc i8 %7021 to i1
  br i1 %7022, label %7023, label %7045

7023:                                             ; preds = %7016
  %7024 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7025 = call i32 @fileno(ptr noundef %7024) #11
  %7026 = call i32 @isatty(i32 noundef %7025) #11
  %7027 = icmp ne i32 %7026, 0
  br i1 %7027, label %7028, label %7045

7028:                                             ; preds = %7023
  %7029 = load i32, ptr %209, align 4, !tbaa !5
  %7030 = call ptr @__errno_location() #12
  store i32 %7029, ptr %7030, align 4, !tbaa !5
  %7031 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7032 = load i32, ptr @test_count, align 4, !tbaa !5
  %7033 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7034 = load i32, ptr %7033, align 4, !tbaa !5
  %7035 = call ptr @s2n_strerror(i32 noundef %7034, ptr noundef @.str.5)
  %7036 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7037 = load i32, ptr %7036, align 4, !tbaa !5
  %7038 = call ptr @s2n_strerror_debug(i32 noundef %7037, ptr noundef @.str.5)
  %7039 = call ptr @__errno_location() #12
  %7040 = load i32, ptr %7039, align 4, !tbaa !5
  %7041 = call ptr @strerror(i32 noundef %7040) #11
  %7042 = call ptr @__errno_location() #12
  %7043 = load i32, ptr %7042, align 4, !tbaa !5
  %7044 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7031, ptr noundef @.str.3, i32 noundef %7032, ptr noundef @.str.12, ptr noundef @.str.2, i32 noundef 365, ptr noundef %7035, ptr noundef %7038, ptr noundef %7041, i32 noundef %7043) #11
  br label %7062

7045:                                             ; preds = %7023, %7016
  %7046 = load i32, ptr %209, align 4, !tbaa !5
  %7047 = call ptr @__errno_location() #12
  store i32 %7046, ptr %7047, align 4, !tbaa !5
  %7048 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7049 = load i32, ptr @test_count, align 4, !tbaa !5
  %7050 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7051 = load i32, ptr %7050, align 4, !tbaa !5
  %7052 = call ptr @s2n_strerror(i32 noundef %7051, ptr noundef @.str.5)
  %7053 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7054 = load i32, ptr %7053, align 4, !tbaa !5
  %7055 = call ptr @s2n_strerror_debug(i32 noundef %7054, ptr noundef @.str.5)
  %7056 = call ptr @__errno_location() #12
  %7057 = load i32, ptr %7056, align 4, !tbaa !5
  %7058 = call ptr @strerror(i32 noundef %7057) #11
  %7059 = call ptr @__errno_location() #12
  %7060 = load i32, ptr %7059, align 4, !tbaa !5
  %7061 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7048, ptr noundef @.str.6, i32 noundef %7049, ptr noundef @.str.12, ptr noundef @.str.2, i32 noundef 365, ptr noundef %7052, ptr noundef %7055, ptr noundef %7058, i32 noundef %7060) #11
  br label %7062

7062:                                             ; preds = %7045, %7028
  call void @llvm.lifetime.end.p0(i64 4, ptr %209) #11
  br label %7063

7063:                                             ; preds = %7062
  br label %7064

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

7065:                                             ; No predecessors!
  br label %7066

7066:                                             ; preds = %7065
  br label %7067

7067:                                             ; preds = %7066, %7008
  br label %7068

7068:                                             ; preds = %7067
  br label %7069

7069:                                             ; preds = %7068
  br label %7070

7070:                                             ; preds = %7069
  %7071 = load i32, ptr @test_count, align 4, !tbaa !5
  %7072 = add nsw i32 %7071, 1
  store i32 %7072, ptr @test_count, align 4, !tbaa !5
  %7073 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7074 = load i32, ptr %7073, align 4, !tbaa !5
  %7075 = call ptr @s2n_strerror_debug(i32 noundef %7074, ptr noundef @.str.5)
  %7076 = icmp eq ptr %7075, null
  br i1 %7076, label %7077, label %7130

7077:                                             ; preds = %7070
  br label %7078

7078:                                             ; preds = %7077
  br label %7079

7079:                                             ; preds = %7078
  call void @llvm.lifetime.start.p0(i64 4, ptr %210) #11
  %7080 = call ptr @__errno_location() #12
  %7081 = load i32, ptr %7080, align 4, !tbaa !5
  store i32 %7081, ptr %210, align 4, !tbaa !5
  %7082 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7083 = call i32 @s2n_print_stacktrace(ptr noundef %7082)
  %7084 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7085 = trunc i8 %7084 to i1
  br i1 %7085, label %7086, label %7108

7086:                                             ; preds = %7079
  %7087 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7088 = call i32 @fileno(ptr noundef %7087) #11
  %7089 = call i32 @isatty(i32 noundef %7088) #11
  %7090 = icmp ne i32 %7089, 0
  br i1 %7090, label %7091, label %7108

7091:                                             ; preds = %7086
  %7092 = load i32, ptr %210, align 4, !tbaa !5
  %7093 = call ptr @__errno_location() #12
  store i32 %7092, ptr %7093, align 4, !tbaa !5
  %7094 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7095 = load i32, ptr @test_count, align 4, !tbaa !5
  %7096 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7097 = load i32, ptr %7096, align 4, !tbaa !5
  %7098 = call ptr @s2n_strerror(i32 noundef %7097, ptr noundef @.str.5)
  %7099 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7100 = load i32, ptr %7099, align 4, !tbaa !5
  %7101 = call ptr @s2n_strerror_debug(i32 noundef %7100, ptr noundef @.str.5)
  %7102 = call ptr @__errno_location() #12
  %7103 = load i32, ptr %7102, align 4, !tbaa !5
  %7104 = call ptr @strerror(i32 noundef %7103) #11
  %7105 = call ptr @__errno_location() #12
  %7106 = load i32, ptr %7105, align 4, !tbaa !5
  %7107 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7094, ptr noundef @.str.3, i32 noundef %7095, ptr noundef @.str.13, ptr noundef @.str.2, i32 noundef 365, ptr noundef %7098, ptr noundef %7101, ptr noundef %7104, i32 noundef %7106) #11
  br label %7125

7108:                                             ; preds = %7086, %7079
  %7109 = load i32, ptr %210, align 4, !tbaa !5
  %7110 = call ptr @__errno_location() #12
  store i32 %7109, ptr %7110, align 4, !tbaa !5
  %7111 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7112 = load i32, ptr @test_count, align 4, !tbaa !5
  %7113 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7114 = load i32, ptr %7113, align 4, !tbaa !5
  %7115 = call ptr @s2n_strerror(i32 noundef %7114, ptr noundef @.str.5)
  %7116 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7117 = load i32, ptr %7116, align 4, !tbaa !5
  %7118 = call ptr @s2n_strerror_debug(i32 noundef %7117, ptr noundef @.str.5)
  %7119 = call ptr @__errno_location() #12
  %7120 = load i32, ptr %7119, align 4, !tbaa !5
  %7121 = call ptr @strerror(i32 noundef %7120) #11
  %7122 = call ptr @__errno_location() #12
  %7123 = load i32, ptr %7122, align 4, !tbaa !5
  %7124 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7111, ptr noundef @.str.6, i32 noundef %7112, ptr noundef @.str.13, ptr noundef @.str.2, i32 noundef 365, ptr noundef %7115, ptr noundef %7118, ptr noundef %7121, i32 noundef %7123) #11
  br label %7125

7125:                                             ; preds = %7108, %7091
  call void @llvm.lifetime.end.p0(i64 4, ptr %210) #11
  br label %7126

7126:                                             ; preds = %7125
  br label %7127

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

7128:                                             ; No predecessors!
  br label %7129

7129:                                             ; preds = %7128
  br label %7130

7130:                                             ; preds = %7129, %7070
  br label %7131

7131:                                             ; preds = %7130
  br label %7132

7132:                                             ; preds = %7131
  br label %7133

7133:                                             ; preds = %7132
  br label %7134

7134:                                             ; preds = %7133
  br label %7135

7135:                                             ; preds = %7134
  %7136 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %7136, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %7137 = call ptr @__errno_location() #12
  store i32 0, ptr %7137, align 4, !tbaa !5
  br label %7138

7138:                                             ; preds = %7135
  br label %7139

7139:                                             ; preds = %7138
  br label %7140

7140:                                             ; preds = %7139
  br label %7141

7141:                                             ; preds = %7140
  br label %7142

7142:                                             ; preds = %7141
  br label %7143

7143:                                             ; preds = %7142
  br label %7144

7144:                                             ; preds = %7143
  %7145 = load i32, ptr @test_count, align 4, !tbaa !5
  %7146 = add nsw i32 %7145, 1
  store i32 %7146, ptr @test_count, align 4, !tbaa !5
  %7147 = getelementptr inbounds [16384 x i8], ptr %195, i64 0, i64 0
  %7148 = call i32 @s2n_ktls_recvmsg(ptr noundef %194, ptr noundef %197, ptr noundef %7147, i64 noundef 10, ptr noundef null, ptr noundef %198)
  %7149 = getelementptr inbounds %struct.s2n_result, ptr %211, i32 0, i32 0
  store i32 %7148, ptr %7149, align 4
  %7150 = getelementptr inbounds %struct.s2n_result, ptr %211, i32 0, i32 0
  %7151 = load i32, ptr %7150, align 4
  %7152 = call zeroext i1 @s2n_result_is_error(i32 %7151)
  br i1 %7152, label %7206, label %7153

7153:                                             ; preds = %7144
  br label %7154

7154:                                             ; preds = %7153
  br label %7155

7155:                                             ; preds = %7154
  call void @llvm.lifetime.start.p0(i64 4, ptr %212) #11
  %7156 = call ptr @__errno_location() #12
  %7157 = load i32, ptr %7156, align 4, !tbaa !5
  store i32 %7157, ptr %212, align 4, !tbaa !5
  %7158 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7159 = call i32 @s2n_print_stacktrace(ptr noundef %7158)
  %7160 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7161 = trunc i8 %7160 to i1
  br i1 %7161, label %7162, label %7184

7162:                                             ; preds = %7155
  %7163 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7164 = call i32 @fileno(ptr noundef %7163) #11
  %7165 = call i32 @isatty(i32 noundef %7164) #11
  %7166 = icmp ne i32 %7165, 0
  br i1 %7166, label %7167, label %7184

7167:                                             ; preds = %7162
  %7168 = load i32, ptr %212, align 4, !tbaa !5
  %7169 = call ptr @__errno_location() #12
  store i32 %7168, ptr %7169, align 4, !tbaa !5
  %7170 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7171 = load i32, 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 = call ptr @s2n_strerror(i32 noundef %7173, ptr noundef @.str.5)
  %7175 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7176 = load i32, ptr %7175, align 4, !tbaa !5
  %7177 = call ptr @s2n_strerror_debug(i32 noundef %7176, ptr noundef @.str.5)
  %7178 = call ptr @__errno_location() #12
  %7179 = load i32, ptr %7178, align 4, !tbaa !5
  %7180 = call ptr @strerror(i32 noundef %7179) #11
  %7181 = call ptr @__errno_location() #12
  %7182 = load i32, ptr %7181, align 4, !tbaa !5
  %7183 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7170, ptr noundef @.str.3, i32 noundef %7171, ptr noundef @.str.54, ptr noundef @.str.2, i32 noundef 368, ptr noundef %7174, ptr noundef %7177, ptr noundef %7180, i32 noundef %7182) #11
  br label %7201

7184:                                             ; preds = %7162, %7155
  %7185 = load i32, ptr %212, align 4, !tbaa !5
  %7186 = call ptr @__errno_location() #12
  store i32 %7185, ptr %7186, align 4, !tbaa !5
  %7187 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7188 = load i32, ptr @test_count, align 4, !tbaa !5
  %7189 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7190 = load i32, ptr %7189, align 4, !tbaa !5
  %7191 = call ptr @s2n_strerror(i32 noundef %7190, ptr noundef @.str.5)
  %7192 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7193 = load i32, ptr %7192, align 4, !tbaa !5
  %7194 = call ptr @s2n_strerror_debug(i32 noundef %7193, ptr noundef @.str.5)
  %7195 = call ptr @__errno_location() #12
  %7196 = load i32, ptr %7195, align 4, !tbaa !5
  %7197 = call ptr @strerror(i32 noundef %7196) #11
  %7198 = call ptr @__errno_location() #12
  %7199 = load i32, ptr %7198, align 4, !tbaa !5
  %7200 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7187, ptr noundef @.str.6, i32 noundef %7188, ptr noundef @.str.54, ptr noundef @.str.2, i32 noundef 368, ptr noundef %7191, ptr noundef %7194, ptr noundef %7197, i32 noundef %7199) #11
  br label %7201

7201:                                             ; preds = %7184, %7167
  call void @llvm.lifetime.end.p0(i64 4, ptr %212) #11
  br label %7202

7202:                                             ; preds = %7201
  br label %7203

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

7204:                                             ; No predecessors!
  br label %7205

7205:                                             ; preds = %7204
  br label %7206

7206:                                             ; preds = %7205, %7144
  br label %7207

7207:                                             ; preds = %7206
  br label %7208

7208:                                             ; preds = %7207
  br label %7209

7209:                                             ; preds = %7208
  %7210 = load i32, ptr @test_count, align 4, !tbaa !5
  %7211 = add nsw i32 %7210, 1
  store i32 %7211, ptr @test_count, align 4, !tbaa !5
  %7212 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7213 = load i32, ptr %7212, align 4, !tbaa !5
  %7214 = icmp eq i32 %7213, 402653193
  br i1 %7214, label %7268, label %7215

7215:                                             ; preds = %7209
  br label %7216

7216:                                             ; preds = %7215
  br label %7217

7217:                                             ; preds = %7216
  call void @llvm.lifetime.start.p0(i64 4, ptr %213) #11
  %7218 = call ptr @__errno_location() #12
  %7219 = load i32, ptr %7218, align 4, !tbaa !5
  store i32 %7219, ptr %213, align 4, !tbaa !5
  %7220 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7221 = call i32 @s2n_print_stacktrace(ptr noundef %7220)
  %7222 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7223 = trunc i8 %7222 to i1
  br i1 %7223, label %7224, label %7246

7224:                                             ; preds = %7217
  %7225 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7226 = call i32 @fileno(ptr noundef %7225) #11
  %7227 = call i32 @isatty(i32 noundef %7226) #11
  %7228 = icmp ne i32 %7227, 0
  br i1 %7228, label %7229, label %7246

7229:                                             ; preds = %7224
  %7230 = load i32, ptr %213, align 4, !tbaa !5
  %7231 = call ptr @__errno_location() #12
  store i32 %7230, ptr %7231, align 4, !tbaa !5
  %7232 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7233 = load i32, 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(i32 noundef %7235, ptr noundef @.str.5)
  %7237 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7238 = load i32, ptr %7237, align 4, !tbaa !5
  %7239 = call ptr @s2n_strerror_debug(i32 noundef %7238, ptr noundef @.str.5)
  %7240 = call ptr @__errno_location() #12
  %7241 = load i32, ptr %7240, align 4, !tbaa !5
  %7242 = call ptr @strerror(i32 noundef %7241) #11
  %7243 = call ptr @__errno_location() #12
  %7244 = load i32, ptr %7243, align 4, !tbaa !5
  %7245 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7232, ptr noundef @.str.3, i32 noundef %7233, ptr noundef @.str.12, ptr noundef @.str.2, i32 noundef 368, ptr noundef %7236, ptr noundef %7239, ptr noundef %7242, i32 noundef %7244) #11
  br label %7263

7246:                                             ; preds = %7224, %7217
  %7247 = load i32, ptr %213, align 4, !tbaa !5
  %7248 = call ptr @__errno_location() #12
  store i32 %7247, ptr %7248, align 4, !tbaa !5
  %7249 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7250 = load i32, ptr @test_count, align 4, !tbaa !5
  %7251 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7252 = load i32, ptr %7251, align 4, !tbaa !5
  %7253 = call ptr @s2n_strerror(i32 noundef %7252, ptr noundef @.str.5)
  %7254 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7255 = load i32, ptr %7254, align 4, !tbaa !5
  %7256 = call ptr @s2n_strerror_debug(i32 noundef %7255, ptr noundef @.str.5)
  %7257 = call ptr @__errno_location() #12
  %7258 = load i32, ptr %7257, align 4, !tbaa !5
  %7259 = call ptr @strerror(i32 noundef %7258) #11
  %7260 = call ptr @__errno_location() #12
  %7261 = load i32, ptr %7260, align 4, !tbaa !5
  %7262 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7249, ptr noundef @.str.6, i32 noundef %7250, ptr noundef @.str.12, ptr noundef @.str.2, i32 noundef 368, ptr noundef %7253, ptr noundef %7256, ptr noundef %7259, i32 noundef %7261) #11
  br label %7263

7263:                                             ; preds = %7246, %7229
  call void @llvm.lifetime.end.p0(i64 4, ptr %213) #11
  br label %7264

7264:                                             ; preds = %7263
  br label %7265

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

7266:                                             ; No predecessors!
  br label %7267

7267:                                             ; preds = %7266
  br label %7268

7268:                                             ; preds = %7267, %7209
  br label %7269

7269:                                             ; preds = %7268
  br label %7270

7270:                                             ; preds = %7269
  br label %7271

7271:                                             ; preds = %7270
  %7272 = load i32, ptr @test_count, align 4, !tbaa !5
  %7273 = add nsw i32 %7272, 1
  store i32 %7273, 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_debug(i32 noundef %7275, ptr noundef @.str.5)
  %7277 = icmp eq ptr %7276, null
  br i1 %7277, label %7278, label %7331

7278:                                             ; preds = %7271
  br label %7279

7279:                                             ; preds = %7278
  br label %7280

7280:                                             ; preds = %7279
  call void @llvm.lifetime.start.p0(i64 4, ptr %214) #11
  %7281 = call ptr @__errno_location() #12
  %7282 = load i32, ptr %7281, align 4, !tbaa !5
  store i32 %7282, ptr %214, align 4, !tbaa !5
  %7283 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7284 = call i32 @s2n_print_stacktrace(ptr noundef %7283)
  %7285 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7286 = trunc i8 %7285 to i1
  br i1 %7286, label %7287, label %7309

7287:                                             ; preds = %7280
  %7288 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7289 = call i32 @fileno(ptr noundef %7288) #11
  %7290 = call i32 @isatty(i32 noundef %7289) #11
  %7291 = icmp ne i32 %7290, 0
  br i1 %7291, label %7292, label %7309

7292:                                             ; preds = %7287
  %7293 = load i32, ptr %214, align 4, !tbaa !5
  %7294 = call ptr @__errno_location() #12
  store i32 %7293, ptr %7294, align 4, !tbaa !5
  %7295 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7296 = load i32, ptr @test_count, align 4, !tbaa !5
  %7297 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7298 = load i32, ptr %7297, align 4, !tbaa !5
  %7299 = call ptr @s2n_strerror(i32 noundef %7298, ptr noundef @.str.5)
  %7300 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7301 = load i32, ptr %7300, align 4, !tbaa !5
  %7302 = call ptr @s2n_strerror_debug(i32 noundef %7301, ptr noundef @.str.5)
  %7303 = call ptr @__errno_location() #12
  %7304 = load i32, ptr %7303, align 4, !tbaa !5
  %7305 = call ptr @strerror(i32 noundef %7304) #11
  %7306 = call ptr @__errno_location() #12
  %7307 = load i32, ptr %7306, align 4, !tbaa !5
  %7308 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7295, ptr noundef @.str.3, i32 noundef %7296, ptr noundef @.str.13, ptr noundef @.str.2, i32 noundef 368, ptr noundef %7299, ptr noundef %7302, ptr noundef %7305, i32 noundef %7307) #11
  br label %7326

7309:                                             ; preds = %7287, %7280
  %7310 = load i32, ptr %214, align 4, !tbaa !5
  %7311 = call ptr @__errno_location() #12
  store i32 %7310, ptr %7311, align 4, !tbaa !5
  %7312 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7313 = load i32, ptr @test_count, align 4, !tbaa !5
  %7314 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7315 = load i32, ptr %7314, align 4, !tbaa !5
  %7316 = call ptr @s2n_strerror(i32 noundef %7315, ptr noundef @.str.5)
  %7317 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7318 = load i32, ptr %7317, align 4, !tbaa !5
  %7319 = call ptr @s2n_strerror_debug(i32 noundef %7318, ptr noundef @.str.5)
  %7320 = call ptr @__errno_location() #12
  %7321 = load i32, ptr %7320, align 4, !tbaa !5
  %7322 = call ptr @strerror(i32 noundef %7321) #11
  %7323 = call ptr @__errno_location() #12
  %7324 = load i32, ptr %7323, align 4, !tbaa !5
  %7325 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7312, ptr noundef @.str.6, i32 noundef %7313, ptr noundef @.str.13, ptr noundef @.str.2, i32 noundef 368, ptr noundef %7316, ptr noundef %7319, ptr noundef %7322, i32 noundef %7324) #11
  br label %7326

7326:                                             ; preds = %7309, %7292
  call void @llvm.lifetime.end.p0(i64 4, ptr %214) #11
  br label %7327

7327:                                             ; preds = %7326
  br label %7328

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

7329:                                             ; No predecessors!
  br label %7330

7330:                                             ; preds = %7329
  br label %7331

7331:                                             ; preds = %7330, %7271
  br label %7332

7332:                                             ; preds = %7331
  br label %7333

7333:                                             ; preds = %7332
  br label %7334

7334:                                             ; preds = %7333
  br label %7335

7335:                                             ; preds = %7334
  br label %7336

7336:                                             ; preds = %7335
  %7337 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %7337, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %7338 = call ptr @__errno_location() #12
  store i32 0, ptr %7338, align 4, !tbaa !5
  br label %7339

7339:                                             ; preds = %7336
  br label %7340

7340:                                             ; preds = %7339
  br label %7341

7341:                                             ; preds = %7340
  br label %7342

7342:                                             ; preds = %7341
  br label %7343

7343:                                             ; preds = %7342
  br label %7344

7344:                                             ; preds = %7343
  br label %7345

7345:                                             ; preds = %7344
  %7346 = load i32, ptr @test_count, align 4, !tbaa !5
  %7347 = add nsw i32 %7346, 1
  store i32 %7347, ptr @test_count, align 4, !tbaa !5
  %7348 = getelementptr inbounds [16384 x i8], ptr %195, i64 0, i64 0
  %7349 = call i32 @s2n_ktls_recvmsg(ptr noundef %194, ptr noundef %197, ptr noundef %7348, i64 noundef 10, ptr noundef %196, ptr noundef null)
  %7350 = getelementptr inbounds %struct.s2n_result, ptr %215, i32 0, i32 0
  store i32 %7349, ptr %7350, align 4
  %7351 = getelementptr inbounds %struct.s2n_result, ptr %215, i32 0, i32 0
  %7352 = load i32, ptr %7351, align 4
  %7353 = call zeroext i1 @s2n_result_is_error(i32 %7352)
  br i1 %7353, label %7407, label %7354

7354:                                             ; preds = %7345
  br label %7355

7355:                                             ; preds = %7354
  br label %7356

7356:                                             ; preds = %7355
  call void @llvm.lifetime.start.p0(i64 4, ptr %216) #11
  %7357 = call ptr @__errno_location() #12
  %7358 = load i32, ptr %7357, align 4, !tbaa !5
  store i32 %7358, ptr %216, align 4, !tbaa !5
  %7359 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7360 = call i32 @s2n_print_stacktrace(ptr noundef %7359)
  %7361 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7362 = trunc i8 %7361 to i1
  br i1 %7362, label %7363, label %7385

7363:                                             ; preds = %7356
  %7364 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7365 = call i32 @fileno(ptr noundef %7364) #11
  %7366 = call i32 @isatty(i32 noundef %7365) #11
  %7367 = icmp ne i32 %7366, 0
  br i1 %7367, label %7368, label %7385

7368:                                             ; preds = %7363
  %7369 = load i32, ptr %216, align 4, !tbaa !5
  %7370 = call ptr @__errno_location() #12
  store i32 %7369, ptr %7370, align 4, !tbaa !5
  %7371 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7372 = load i32, ptr @test_count, align 4, !tbaa !5
  %7373 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7374 = load i32, ptr %7373, align 4, !tbaa !5
  %7375 = call ptr @s2n_strerror(i32 noundef %7374, ptr noundef @.str.5)
  %7376 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7377 = load i32, ptr %7376, align 4, !tbaa !5
  %7378 = call ptr @s2n_strerror_debug(i32 noundef %7377, ptr noundef @.str.5)
  %7379 = call ptr @__errno_location() #12
  %7380 = load i32, ptr %7379, align 4, !tbaa !5
  %7381 = call ptr @strerror(i32 noundef %7380) #11
  %7382 = call ptr @__errno_location() #12
  %7383 = load i32, ptr %7382, align 4, !tbaa !5
  %7384 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7371, ptr noundef @.str.3, i32 noundef %7372, ptr noundef @.str.55, ptr noundef @.str.2, i32 noundef 371, ptr noundef %7375, ptr noundef %7378, ptr noundef %7381, i32 noundef %7383) #11
  br label %7402

7385:                                             ; preds = %7363, %7356
  %7386 = load i32, ptr %216, align 4, !tbaa !5
  %7387 = call ptr @__errno_location() #12
  store i32 %7386, ptr %7387, align 4, !tbaa !5
  %7388 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7389 = load i32, ptr @test_count, align 4, !tbaa !5
  %7390 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7391 = load i32, ptr %7390, align 4, !tbaa !5
  %7392 = call ptr @s2n_strerror(i32 noundef %7391, ptr noundef @.str.5)
  %7393 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7394 = load i32, ptr %7393, align 4, !tbaa !5
  %7395 = call ptr @s2n_strerror_debug(i32 noundef %7394, ptr noundef @.str.5)
  %7396 = call ptr @__errno_location() #12
  %7397 = load i32, ptr %7396, align 4, !tbaa !5
  %7398 = call ptr @strerror(i32 noundef %7397) #11
  %7399 = call ptr @__errno_location() #12
  %7400 = load i32, ptr %7399, align 4, !tbaa !5
  %7401 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7388, ptr noundef @.str.6, i32 noundef %7389, ptr noundef @.str.55, ptr noundef @.str.2, i32 noundef 371, ptr noundef %7392, ptr noundef %7395, ptr noundef %7398, i32 noundef %7400) #11
  br label %7402

7402:                                             ; preds = %7385, %7368
  call void @llvm.lifetime.end.p0(i64 4, ptr %216) #11
  br label %7403

7403:                                             ; preds = %7402
  br label %7404

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

7405:                                             ; No predecessors!
  br label %7406

7406:                                             ; preds = %7405
  br label %7407

7407:                                             ; preds = %7406, %7345
  br label %7408

7408:                                             ; preds = %7407
  br label %7409

7409:                                             ; preds = %7408
  br label %7410

7410:                                             ; preds = %7409
  %7411 = load i32, ptr @test_count, align 4, !tbaa !5
  %7412 = add nsw i32 %7411, 1
  store i32 %7412, ptr @test_count, align 4, !tbaa !5
  %7413 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7414 = load i32, ptr %7413, align 4, !tbaa !5
  %7415 = icmp eq i32 %7414, 402653193
  br i1 %7415, label %7469, label %7416

7416:                                             ; preds = %7410
  br label %7417

7417:                                             ; preds = %7416
  br label %7418

7418:                                             ; preds = %7417
  call void @llvm.lifetime.start.p0(i64 4, ptr %217) #11
  %7419 = call ptr @__errno_location() #12
  %7420 = load i32, ptr %7419, align 4, !tbaa !5
  store i32 %7420, ptr %217, align 4, !tbaa !5
  %7421 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7422 = call i32 @s2n_print_stacktrace(ptr noundef %7421)
  %7423 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7424 = trunc i8 %7423 to i1
  br i1 %7424, label %7425, label %7447

7425:                                             ; preds = %7418
  %7426 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7427 = call i32 @fileno(ptr noundef %7426) #11
  %7428 = call i32 @isatty(i32 noundef %7427) #11
  %7429 = icmp ne i32 %7428, 0
  br i1 %7429, label %7430, label %7447

7430:                                             ; preds = %7425
  %7431 = load i32, ptr %217, align 4, !tbaa !5
  %7432 = call ptr @__errno_location() #12
  store i32 %7431, ptr %7432, align 4, !tbaa !5
  %7433 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7434 = load i32, ptr @test_count, align 4, !tbaa !5
  %7435 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7436 = load i32, ptr %7435, align 4, !tbaa !5
  %7437 = call ptr @s2n_strerror(i32 noundef %7436, ptr noundef @.str.5)
  %7438 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7439 = load i32, ptr %7438, align 4, !tbaa !5
  %7440 = call ptr @s2n_strerror_debug(i32 noundef %7439, ptr noundef @.str.5)
  %7441 = call ptr @__errno_location() #12
  %7442 = load i32, ptr %7441, align 4, !tbaa !5
  %7443 = call ptr @strerror(i32 noundef %7442) #11
  %7444 = call ptr @__errno_location() #12
  %7445 = load i32, ptr %7444, align 4, !tbaa !5
  %7446 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7433, ptr noundef @.str.3, i32 noundef %7434, ptr noundef @.str.12, ptr noundef @.str.2, i32 noundef 371, ptr noundef %7437, ptr noundef %7440, ptr noundef %7443, i32 noundef %7445) #11
  br label %7464

7447:                                             ; preds = %7425, %7418
  %7448 = load i32, ptr %217, align 4, !tbaa !5
  %7449 = call ptr @__errno_location() #12
  store i32 %7448, ptr %7449, align 4, !tbaa !5
  %7450 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7451 = load i32, ptr @test_count, align 4, !tbaa !5
  %7452 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7453 = load i32, ptr %7452, align 4, !tbaa !5
  %7454 = call ptr @s2n_strerror(i32 noundef %7453, ptr noundef @.str.5)
  %7455 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7456 = load i32, ptr %7455, align 4, !tbaa !5
  %7457 = call ptr @s2n_strerror_debug(i32 noundef %7456, ptr noundef @.str.5)
  %7458 = call ptr @__errno_location() #12
  %7459 = load i32, ptr %7458, align 4, !tbaa !5
  %7460 = call ptr @strerror(i32 noundef %7459) #11
  %7461 = call ptr @__errno_location() #12
  %7462 = load i32, ptr %7461, align 4, !tbaa !5
  %7463 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7450, ptr noundef @.str.6, i32 noundef %7451, ptr noundef @.str.12, ptr noundef @.str.2, i32 noundef 371, ptr noundef %7454, ptr noundef %7457, ptr noundef %7460, i32 noundef %7462) #11
  br label %7464

7464:                                             ; preds = %7447, %7430
  call void @llvm.lifetime.end.p0(i64 4, ptr %217) #11
  br label %7465

7465:                                             ; preds = %7464
  br label %7466

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

7467:                                             ; No predecessors!
  br label %7468

7468:                                             ; preds = %7467
  br label %7469

7469:                                             ; preds = %7468, %7410
  br label %7470

7470:                                             ; preds = %7469
  br label %7471

7471:                                             ; preds = %7470
  br label %7472

7472:                                             ; preds = %7471
  %7473 = load i32, ptr @test_count, align 4, !tbaa !5
  %7474 = add nsw i32 %7473, 1
  store i32 %7474, ptr @test_count, align 4, !tbaa !5
  %7475 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7476 = load i32, ptr %7475, align 4, !tbaa !5
  %7477 = call ptr @s2n_strerror_debug(i32 noundef %7476, ptr noundef @.str.5)
  %7478 = icmp eq ptr %7477, null
  br i1 %7478, label %7479, label %7532

7479:                                             ; preds = %7472
  br label %7480

7480:                                             ; preds = %7479
  br label %7481

7481:                                             ; preds = %7480
  call void @llvm.lifetime.start.p0(i64 4, ptr %218) #11
  %7482 = call ptr @__errno_location() #12
  %7483 = load i32, ptr %7482, align 4, !tbaa !5
  store i32 %7483, ptr %218, align 4, !tbaa !5
  %7484 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7485 = call i32 @s2n_print_stacktrace(ptr noundef %7484)
  %7486 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7487 = trunc i8 %7486 to i1
  br i1 %7487, label %7488, label %7510

7488:                                             ; preds = %7481
  %7489 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7490 = call i32 @fileno(ptr noundef %7489) #11
  %7491 = call i32 @isatty(i32 noundef %7490) #11
  %7492 = icmp ne i32 %7491, 0
  br i1 %7492, label %7493, label %7510

7493:                                             ; preds = %7488
  %7494 = load i32, ptr %218, align 4, !tbaa !5
  %7495 = call ptr @__errno_location() #12
  store i32 %7494, ptr %7495, align 4, !tbaa !5
  %7496 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7497 = load i32, ptr @test_count, align 4, !tbaa !5
  %7498 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7499 = load i32, ptr %7498, align 4, !tbaa !5
  %7500 = call ptr @s2n_strerror(i32 noundef %7499, ptr noundef @.str.5)
  %7501 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7502 = load i32, ptr %7501, align 4, !tbaa !5
  %7503 = call ptr @s2n_strerror_debug(i32 noundef %7502, ptr noundef @.str.5)
  %7504 = call ptr @__errno_location() #12
  %7505 = load i32, ptr %7504, align 4, !tbaa !5
  %7506 = call ptr @strerror(i32 noundef %7505) #11
  %7507 = call ptr @__errno_location() #12
  %7508 = load i32, ptr %7507, align 4, !tbaa !5
  %7509 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7496, ptr noundef @.str.3, i32 noundef %7497, ptr noundef @.str.13, ptr noundef @.str.2, i32 noundef 371, ptr noundef %7500, ptr noundef %7503, ptr noundef %7506, i32 noundef %7508) #11
  br label %7527

7510:                                             ; preds = %7488, %7481
  %7511 = load i32, ptr %218, align 4, !tbaa !5
  %7512 = call ptr @__errno_location() #12
  store i32 %7511, ptr %7512, align 4, !tbaa !5
  %7513 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7514 = load i32, ptr @test_count, align 4, !tbaa !5
  %7515 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7516 = load i32, ptr %7515, align 4, !tbaa !5
  %7517 = call ptr @s2n_strerror(i32 noundef %7516, ptr noundef @.str.5)
  %7518 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7519 = load i32, ptr %7518, align 4, !tbaa !5
  %7520 = call ptr @s2n_strerror_debug(i32 noundef %7519, ptr noundef @.str.5)
  %7521 = call ptr @__errno_location() #12
  %7522 = load i32, ptr %7521, align 4, !tbaa !5
  %7523 = call ptr @strerror(i32 noundef %7522) #11
  %7524 = call ptr @__errno_location() #12
  %7525 = load i32, ptr %7524, align 4, !tbaa !5
  %7526 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7513, ptr noundef @.str.6, i32 noundef %7514, ptr noundef @.str.13, ptr noundef @.str.2, i32 noundef 371, ptr noundef %7517, ptr noundef %7520, ptr noundef %7523, i32 noundef %7525) #11
  br label %7527

7527:                                             ; preds = %7510, %7493
  call void @llvm.lifetime.end.p0(i64 4, ptr %218) #11
  br label %7528

7528:                                             ; preds = %7527
  br label %7529

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

7530:                                             ; No predecessors!
  br label %7531

7531:                                             ; preds = %7530
  br label %7532

7532:                                             ; preds = %7531, %7472
  br label %7533

7533:                                             ; preds = %7532
  br label %7534

7534:                                             ; preds = %7533
  br label %7535

7535:                                             ; preds = %7534
  br label %7536

7536:                                             ; preds = %7535
  br label %7537

7537:                                             ; preds = %7536
  %7538 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %7538, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %7539 = call ptr @__errno_location() #12
  store i32 0, ptr %7539, align 4, !tbaa !5
  br label %7540

7540:                                             ; preds = %7537
  br label %7541

7541:                                             ; preds = %7540
  br label %7542

7542:                                             ; preds = %7541
  br label %7543

7543:                                             ; preds = %7542
  call void @llvm.lifetime.start.p0(i64 8, ptr %219) #11
  store i64 0, ptr %219, align 8, !tbaa !20
  br label %7544

7544:                                             ; preds = %7543
  br label %7545

7545:                                             ; preds = %7544
  br label %7546

7546:                                             ; preds = %7545
  %7547 = load i32, ptr @test_count, align 4, !tbaa !5
  %7548 = add nsw i32 %7547, 1
  store i32 %7548, ptr @test_count, align 4, !tbaa !5
  %7549 = getelementptr inbounds [16384 x i8], ptr %195, i64 0, i64 0
  %7550 = load i64, ptr %219, align 8, !tbaa !20
  %7551 = call i32 @s2n_ktls_recvmsg(ptr noundef %194, ptr noundef %197, ptr noundef %7549, i64 noundef %7550, ptr noundef %196, ptr noundef %198)
  %7552 = getelementptr inbounds %struct.s2n_result, ptr %220, i32 0, i32 0
  store i32 %7551, ptr %7552, align 4
  %7553 = getelementptr inbounds %struct.s2n_result, ptr %220, i32 0, i32 0
  %7554 = load i32, ptr %7553, align 4
  %7555 = call zeroext i1 @s2n_result_is_error(i32 %7554)
  br i1 %7555, label %7609, label %7556

7556:                                             ; preds = %7546
  br label %7557

7557:                                             ; preds = %7556
  br label %7558

7558:                                             ; preds = %7557
  call void @llvm.lifetime.start.p0(i64 4, ptr %221) #11
  %7559 = call ptr @__errno_location() #12
  %7560 = load i32, ptr %7559, align 4, !tbaa !5
  store i32 %7560, ptr %221, align 4, !tbaa !5
  %7561 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7562 = call i32 @s2n_print_stacktrace(ptr noundef %7561)
  %7563 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7564 = trunc i8 %7563 to i1
  br i1 %7564, label %7565, label %7587

7565:                                             ; preds = %7558
  %7566 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7567 = call i32 @fileno(ptr noundef %7566) #11
  %7568 = call i32 @isatty(i32 noundef %7567) #11
  %7569 = icmp ne i32 %7568, 0
  br i1 %7569, label %7570, label %7587

7570:                                             ; preds = %7565
  %7571 = load i32, ptr %221, align 4, !tbaa !5
  %7572 = call ptr @__errno_location() #12
  store i32 %7571, ptr %7572, align 4, !tbaa !5
  %7573 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7574 = load i32, ptr @test_count, align 4, !tbaa !5
  %7575 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7576 = load i32, ptr %7575, align 4, !tbaa !5
  %7577 = call ptr @s2n_strerror(i32 noundef %7576, ptr noundef @.str.5)
  %7578 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7579 = load i32, ptr %7578, align 4, !tbaa !5
  %7580 = call ptr @s2n_strerror_debug(i32 noundef %7579, ptr noundef @.str.5)
  %7581 = call ptr @__errno_location() #12
  %7582 = load i32, ptr %7581, align 4, !tbaa !5
  %7583 = call ptr @strerror(i32 noundef %7582) #11
  %7584 = call ptr @__errno_location() #12
  %7585 = load i32, ptr %7584, align 4, !tbaa !5
  %7586 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7573, ptr noundef @.str.3, i32 noundef %7574, ptr noundef @.str.56, ptr noundef @.str.2, i32 noundef 376, ptr noundef %7577, ptr noundef %7580, ptr noundef %7583, i32 noundef %7585) #11
  br label %7604

7587:                                             ; preds = %7565, %7558
  %7588 = load i32, ptr %221, align 4, !tbaa !5
  %7589 = call ptr @__errno_location() #12
  store i32 %7588, ptr %7589, align 4, !tbaa !5
  %7590 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7591 = load i32, ptr @test_count, align 4, !tbaa !5
  %7592 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7593 = load i32, ptr %7592, align 4, !tbaa !5
  %7594 = call ptr @s2n_strerror(i32 noundef %7593, ptr noundef @.str.5)
  %7595 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7596 = load i32, ptr %7595, align 4, !tbaa !5
  %7597 = call ptr @s2n_strerror_debug(i32 noundef %7596, ptr noundef @.str.5)
  %7598 = call ptr @__errno_location() #12
  %7599 = load i32, ptr %7598, align 4, !tbaa !5
  %7600 = call ptr @strerror(i32 noundef %7599) #11
  %7601 = call ptr @__errno_location() #12
  %7602 = load i32, ptr %7601, align 4, !tbaa !5
  %7603 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7590, ptr noundef @.str.6, i32 noundef %7591, ptr noundef @.str.56, ptr noundef @.str.2, i32 noundef 376, ptr noundef %7594, ptr noundef %7597, ptr noundef %7600, i32 noundef %7602) #11
  br label %7604

7604:                                             ; preds = %7587, %7570
  call void @llvm.lifetime.end.p0(i64 4, ptr %221) #11
  br label %7605

7605:                                             ; preds = %7604
  br label %7606

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

7607:                                             ; No predecessors!
  br label %7608

7608:                                             ; preds = %7607
  br label %7609

7609:                                             ; preds = %7608, %7546
  br label %7610

7610:                                             ; preds = %7609
  br label %7611

7611:                                             ; preds = %7610
  br label %7612

7612:                                             ; preds = %7611
  %7613 = load i32, ptr @test_count, align 4, !tbaa !5
  %7614 = add nsw i32 %7613, 1
  store i32 %7614, ptr @test_count, align 4, !tbaa !5
  %7615 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7616 = load i32, ptr %7615, align 4, !tbaa !5
  %7617 = icmp eq i32 %7616, 402653194
  br i1 %7617, label %7671, label %7618

7618:                                             ; preds = %7612
  br label %7619

7619:                                             ; preds = %7618
  br label %7620

7620:                                             ; preds = %7619
  call void @llvm.lifetime.start.p0(i64 4, ptr %222) #11
  %7621 = call ptr @__errno_location() #12
  %7622 = load i32, ptr %7621, align 4, !tbaa !5
  store i32 %7622, ptr %222, align 4, !tbaa !5
  %7623 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7624 = call i32 @s2n_print_stacktrace(ptr noundef %7623)
  %7625 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7626 = trunc i8 %7625 to i1
  br i1 %7626, label %7627, label %7649

7627:                                             ; preds = %7620
  %7628 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7629 = call i32 @fileno(ptr noundef %7628) #11
  %7630 = call i32 @isatty(i32 noundef %7629) #11
  %7631 = icmp ne i32 %7630, 0
  br i1 %7631, label %7632, label %7649

7632:                                             ; preds = %7627
  %7633 = load i32, ptr %222, align 4, !tbaa !5
  %7634 = call ptr @__errno_location() #12
  store i32 %7633, ptr %7634, align 4, !tbaa !5
  %7635 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7636 = load i32, ptr @test_count, align 4, !tbaa !5
  %7637 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7638 = load i32, ptr %7637, align 4, !tbaa !5
  %7639 = call ptr @s2n_strerror(i32 noundef %7638, ptr noundef @.str.5)
  %7640 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7641 = load i32, ptr %7640, align 4, !tbaa !5
  %7642 = call ptr @s2n_strerror_debug(i32 noundef %7641, ptr noundef @.str.5)
  %7643 = call ptr @__errno_location() #12
  %7644 = load i32, ptr %7643, align 4, !tbaa !5
  %7645 = call ptr @strerror(i32 noundef %7644) #11
  %7646 = call ptr @__errno_location() #12
  %7647 = load i32, ptr %7646, align 4, !tbaa !5
  %7648 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7635, ptr noundef @.str.3, i32 noundef %7636, ptr noundef @.str.57, ptr noundef @.str.2, i32 noundef 376, ptr noundef %7639, ptr noundef %7642, ptr noundef %7645, i32 noundef %7647) #11
  br label %7666

7649:                                             ; preds = %7627, %7620
  %7650 = load i32, ptr %222, align 4, !tbaa !5
  %7651 = call ptr @__errno_location() #12
  store i32 %7650, ptr %7651, align 4, !tbaa !5
  %7652 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7653 = load i32, ptr @test_count, align 4, !tbaa !5
  %7654 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7655 = load i32, ptr %7654, align 4, !tbaa !5
  %7656 = call ptr @s2n_strerror(i32 noundef %7655, ptr noundef @.str.5)
  %7657 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7658 = load i32, ptr %7657, align 4, !tbaa !5
  %7659 = call ptr @s2n_strerror_debug(i32 noundef %7658, ptr noundef @.str.5)
  %7660 = call ptr @__errno_location() #12
  %7661 = load i32, ptr %7660, align 4, !tbaa !5
  %7662 = call ptr @strerror(i32 noundef %7661) #11
  %7663 = call ptr @__errno_location() #12
  %7664 = load i32, ptr %7663, align 4, !tbaa !5
  %7665 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7652, ptr noundef @.str.6, i32 noundef %7653, ptr noundef @.str.57, ptr noundef @.str.2, i32 noundef 376, ptr noundef %7656, ptr noundef %7659, ptr noundef %7662, i32 noundef %7664) #11
  br label %7666

7666:                                             ; preds = %7649, %7632
  call void @llvm.lifetime.end.p0(i64 4, ptr %222) #11
  br label %7667

7667:                                             ; preds = %7666
  br label %7668

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

7669:                                             ; No predecessors!
  br label %7670

7670:                                             ; preds = %7669
  br label %7671

7671:                                             ; preds = %7670, %7612
  br label %7672

7672:                                             ; preds = %7671
  br label %7673

7673:                                             ; preds = %7672
  br label %7674

7674:                                             ; preds = %7673
  %7675 = load i32, ptr @test_count, align 4, !tbaa !5
  %7676 = add nsw i32 %7675, 1
  store i32 %7676, ptr @test_count, align 4, !tbaa !5
  %7677 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7678 = load i32, ptr %7677, align 4, !tbaa !5
  %7679 = call ptr @s2n_strerror_debug(i32 noundef %7678, ptr noundef @.str.5)
  %7680 = icmp eq ptr %7679, null
  br i1 %7680, label %7681, label %7734

7681:                                             ; preds = %7674
  br label %7682

7682:                                             ; preds = %7681
  br label %7683

7683:                                             ; preds = %7682
  call void @llvm.lifetime.start.p0(i64 4, ptr %223) #11
  %7684 = call ptr @__errno_location() #12
  %7685 = load i32, ptr %7684, align 4, !tbaa !5
  store i32 %7685, ptr %223, align 4, !tbaa !5
  %7686 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7687 = call i32 @s2n_print_stacktrace(ptr noundef %7686)
  %7688 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7689 = trunc i8 %7688 to i1
  br i1 %7689, label %7690, label %7712

7690:                                             ; preds = %7683
  %7691 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7692 = call i32 @fileno(ptr noundef %7691) #11
  %7693 = call i32 @isatty(i32 noundef %7692) #11
  %7694 = icmp ne i32 %7693, 0
  br i1 %7694, label %7695, label %7712

7695:                                             ; preds = %7690
  %7696 = load i32, ptr %223, align 4, !tbaa !5
  %7697 = call ptr @__errno_location() #12
  store i32 %7696, ptr %7697, align 4, !tbaa !5
  %7698 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7699 = load i32, ptr @test_count, align 4, !tbaa !5
  %7700 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7701 = load i32, ptr %7700, align 4, !tbaa !5
  %7702 = call ptr @s2n_strerror(i32 noundef %7701, ptr noundef @.str.5)
  %7703 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7704 = load i32, ptr %7703, align 4, !tbaa !5
  %7705 = call ptr @s2n_strerror_debug(i32 noundef %7704, ptr noundef @.str.5)
  %7706 = call ptr @__errno_location() #12
  %7707 = load i32, ptr %7706, align 4, !tbaa !5
  %7708 = call ptr @strerror(i32 noundef %7707) #11
  %7709 = call ptr @__errno_location() #12
  %7710 = load i32, ptr %7709, align 4, !tbaa !5
  %7711 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7698, ptr noundef @.str.3, i32 noundef %7699, ptr noundef @.str.13, ptr noundef @.str.2, i32 noundef 376, ptr noundef %7702, ptr noundef %7705, ptr noundef %7708, i32 noundef %7710) #11
  br label %7729

7712:                                             ; preds = %7690, %7683
  %7713 = load i32, ptr %223, align 4, !tbaa !5
  %7714 = call ptr @__errno_location() #12
  store i32 %7713, ptr %7714, align 4, !tbaa !5
  %7715 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7716 = load i32, ptr @test_count, align 4, !tbaa !5
  %7717 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7718 = load i32, ptr %7717, align 4, !tbaa !5
  %7719 = call ptr @s2n_strerror(i32 noundef %7718, ptr noundef @.str.5)
  %7720 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7721 = load i32, ptr %7720, align 4, !tbaa !5
  %7722 = call ptr @s2n_strerror_debug(i32 noundef %7721, ptr noundef @.str.5)
  %7723 = call ptr @__errno_location() #12
  %7724 = load i32, ptr %7723, align 4, !tbaa !5
  %7725 = call ptr @strerror(i32 noundef %7724) #11
  %7726 = call ptr @__errno_location() #12
  %7727 = load i32, ptr %7726, align 4, !tbaa !5
  %7728 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7715, ptr noundef @.str.6, i32 noundef %7716, ptr noundef @.str.13, ptr noundef @.str.2, i32 noundef 376, ptr noundef %7719, ptr noundef %7722, ptr noundef %7725, i32 noundef %7727) #11
  br label %7729

7729:                                             ; preds = %7712, %7695
  call void @llvm.lifetime.end.p0(i64 4, ptr %223) #11
  br label %7730

7730:                                             ; preds = %7729
  br label %7731

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

7732:                                             ; No predecessors!
  br label %7733

7733:                                             ; preds = %7732
  br label %7734

7734:                                             ; preds = %7733, %7674
  br label %7735

7735:                                             ; preds = %7734
  br label %7736

7736:                                             ; preds = %7735
  br label %7737

7737:                                             ; preds = %7736
  br label %7738

7738:                                             ; preds = %7737
  br label %7739

7739:                                             ; preds = %7738
  %7740 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %7740, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %7741 = call ptr @__errno_location() #12
  store i32 0, ptr %7741, align 4, !tbaa !5
  br label %7742

7742:                                             ; preds = %7739
  br label %7743

7743:                                             ; preds = %7742
  br label %7744

7744:                                             ; preds = %7743
  br label %7745

7745:                                             ; preds = %7744
  call void @llvm.lifetime.end.p0(i64 8, ptr %219) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %198) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %197) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %196) #11
  call void @llvm.lifetime.end.p0(i64 16384, ptr %195) #11
  call void @llvm.lifetime.end.p0(i64 96, ptr %194) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %224) #11
  %7746 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %7746, ptr %224, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %225) #11
  %7747 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %7747, ptr %225, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 192, ptr %226) #11
  call void @llvm.memset.p0.i64(ptr align 8 %226, i8 0, i64 192, i1 false)
  br label %7748

7748:                                             ; preds = %7745
  %7749 = load i32, ptr @test_count, align 4, !tbaa !5
  %7750 = add nsw i32 %7749, 1
  store i32 %7750, ptr @test_count, align 4, !tbaa !5
  %7751 = load ptr, ptr %224, align 8, !tbaa !9
  %7752 = load ptr, ptr %225, align 8, !tbaa !9
  %7753 = call i32 @s2n_test_init_ktls_io_stuffer(ptr noundef %7751, ptr noundef %7752, ptr noundef %226)
  %7754 = getelementptr inbounds %struct.s2n_result, ptr %227, i32 0, i32 0
  store i32 %7753, ptr %7754, align 4
  %7755 = getelementptr inbounds %struct.s2n_result, ptr %227, i32 0, i32 0
  %7756 = load i32, ptr %7755, align 4
  %7757 = call zeroext i1 @s2n_result_is_ok(i32 %7756)
  br i1 %7757, label %7811, label %7758

7758:                                             ; preds = %7748
  br label %7759

7759:                                             ; preds = %7758
  br label %7760

7760:                                             ; preds = %7759
  call void @llvm.lifetime.start.p0(i64 4, ptr %228) #11
  %7761 = call ptr @__errno_location() #12
  %7762 = load i32, ptr %7761, align 4, !tbaa !5
  store i32 %7762, ptr %228, align 4, !tbaa !5
  %7763 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7764 = call i32 @s2n_print_stacktrace(ptr noundef %7763)
  %7765 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7766 = trunc i8 %7765 to i1
  br i1 %7766, label %7767, label %7789

7767:                                             ; preds = %7760
  %7768 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7769 = call i32 @fileno(ptr noundef %7768) #11
  %7770 = call i32 @isatty(i32 noundef %7769) #11
  %7771 = icmp ne i32 %7770, 0
  br i1 %7771, label %7772, label %7789

7772:                                             ; preds = %7767
  %7773 = load i32, ptr %228, align 4, !tbaa !5
  %7774 = call ptr @__errno_location() #12
  store i32 %7773, ptr %7774, align 4, !tbaa !5
  %7775 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7776 = load i32, ptr @test_count, align 4, !tbaa !5
  %7777 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7778 = load i32, ptr %7777, align 4, !tbaa !5
  %7779 = call ptr @s2n_strerror(i32 noundef %7778, ptr noundef @.str.5)
  %7780 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7781 = load i32, ptr %7780, align 4, !tbaa !5
  %7782 = call ptr @s2n_strerror_debug(i32 noundef %7781, ptr noundef @.str.5)
  %7783 = call ptr @__errno_location() #12
  %7784 = load i32, ptr %7783, align 4, !tbaa !5
  %7785 = call ptr @strerror(i32 noundef %7784) #11
  %7786 = call ptr @__errno_location() #12
  %7787 = load i32, ptr %7786, align 4, !tbaa !5
  %7788 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7775, ptr noundef @.str.3, i32 noundef %7776, ptr noundef @.str.58, ptr noundef @.str.2, i32 noundef 387, ptr noundef %7779, ptr noundef %7782, ptr noundef %7785, i32 noundef %7787) #11
  br label %7806

7789:                                             ; preds = %7767, %7760
  %7790 = load i32, ptr %228, align 4, !tbaa !5
  %7791 = call ptr @__errno_location() #12
  store i32 %7790, ptr %7791, align 4, !tbaa !5
  %7792 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7793 = load i32, ptr @test_count, align 4, !tbaa !5
  %7794 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7795 = load i32, ptr %7794, align 4, !tbaa !5
  %7796 = call ptr @s2n_strerror(i32 noundef %7795, ptr noundef @.str.5)
  %7797 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7798 = load i32, ptr %7797, align 4, !tbaa !5
  %7799 = call ptr @s2n_strerror_debug(i32 noundef %7798, ptr noundef @.str.5)
  %7800 = call ptr @__errno_location() #12
  %7801 = load i32, ptr %7800, align 4, !tbaa !5
  %7802 = call ptr @strerror(i32 noundef %7801) #11
  %7803 = call ptr @__errno_location() #12
  %7804 = load i32, ptr %7803, align 4, !tbaa !5
  %7805 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7792, ptr noundef @.str.6, i32 noundef %7793, ptr noundef @.str.58, ptr noundef @.str.2, i32 noundef 387, ptr noundef %7796, ptr noundef %7799, ptr noundef %7802, i32 noundef %7804) #11
  br label %7806

7806:                                             ; preds = %7789, %7772
  call void @llvm.lifetime.end.p0(i64 4, ptr %228) #11
  br label %7807

7807:                                             ; preds = %7806
  br label %7808

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

7809:                                             ; No predecessors!
  br label %7810

7810:                                             ; preds = %7809
  br label %7811

7811:                                             ; preds = %7810, %7748
  br label %7812

7812:                                             ; preds = %7811
  br label %7813

7813:                                             ; preds = %7812
  call void @llvm.lifetime.start.p0(i64 16, ptr %229) #11
  %7814 = getelementptr inbounds %struct.iovec, ptr %229, i32 0, i32 0
  %7815 = getelementptr inbounds [16384 x i8], ptr %10, i64 0, i64 0
  store ptr %7815, ptr %7814, align 8, !tbaa !16
  %7816 = getelementptr inbounds %struct.iovec, ptr %229, i32 0, i32 1
  store i64 10, ptr %7816, align 8, !tbaa !19
  call void @llvm.lifetime.start.p0(i64 4, ptr %230) #11
  store i32 0, ptr %230, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %231) #11
  store i64 0, ptr %231, align 8, !tbaa !20
  br label %7817

7817:                                             ; preds = %7813
  %7818 = load i32, ptr @test_count, align 4, !tbaa !5
  %7819 = add nsw i32 %7818, 1
  store i32 %7819, ptr @test_count, align 4, !tbaa !5
  %7820 = load ptr, ptr %224, align 8, !tbaa !9
  %7821 = getelementptr inbounds %struct.s2n_connection, ptr %7820, i32 0, i32 8
  %7822 = load ptr, ptr %7821, align 8, !tbaa !21
  %7823 = call i32 @s2n_ktls_sendmsg(ptr noundef %7822, i8 noundef zeroext 43, ptr noundef %229, i64 noundef 1, ptr noundef %230, ptr noundef %231)
  %7824 = getelementptr inbounds %struct.s2n_result, ptr %232, i32 0, i32 0
  store i32 %7823, ptr %7824, align 4
  %7825 = getelementptr inbounds %struct.s2n_result, ptr %232, i32 0, i32 0
  %7826 = load i32, ptr %7825, align 4
  %7827 = call zeroext i1 @s2n_result_is_ok(i32 %7826)
  br i1 %7827, label %7881, label %7828

7828:                                             ; preds = %7817
  br label %7829

7829:                                             ; preds = %7828
  br label %7830

7830:                                             ; preds = %7829
  call void @llvm.lifetime.start.p0(i64 4, ptr %233) #11
  %7831 = call ptr @__errno_location() #12
  %7832 = load i32, ptr %7831, align 4, !tbaa !5
  store i32 %7832, ptr %233, align 4, !tbaa !5
  %7833 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7834 = call i32 @s2n_print_stacktrace(ptr noundef %7833)
  %7835 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7836 = trunc i8 %7835 to i1
  br i1 %7836, label %7837, label %7859

7837:                                             ; preds = %7830
  %7838 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7839 = call i32 @fileno(ptr noundef %7838) #11
  %7840 = call i32 @isatty(i32 noundef %7839) #11
  %7841 = icmp ne i32 %7840, 0
  br i1 %7841, label %7842, label %7859

7842:                                             ; preds = %7837
  %7843 = load i32, ptr %233, align 4, !tbaa !5
  %7844 = call ptr @__errno_location() #12
  store i32 %7843, ptr %7844, align 4, !tbaa !5
  %7845 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7846 = load i32, ptr @test_count, align 4, !tbaa !5
  %7847 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7848 = load i32, ptr %7847, align 4, !tbaa !5
  %7849 = call ptr @s2n_strerror(i32 noundef %7848, ptr noundef @.str.5)
  %7850 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7851 = load i32, ptr %7850, align 4, !tbaa !5
  %7852 = call ptr @s2n_strerror_debug(i32 noundef %7851, ptr noundef @.str.5)
  %7853 = call ptr @__errno_location() #12
  %7854 = load i32, ptr %7853, align 4, !tbaa !5
  %7855 = call ptr @strerror(i32 noundef %7854) #11
  %7856 = call ptr @__errno_location() #12
  %7857 = load i32, ptr %7856, align 4, !tbaa !5
  %7858 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7845, ptr noundef @.str.3, i32 noundef %7846, ptr noundef @.str.29, ptr noundef @.str.2, i32 noundef 393, ptr noundef %7849, ptr noundef %7852, ptr noundef %7855, i32 noundef %7857) #11
  br label %7876

7859:                                             ; preds = %7837, %7830
  %7860 = load i32, ptr %233, align 4, !tbaa !5
  %7861 = call ptr @__errno_location() #12
  store i32 %7860, ptr %7861, align 4, !tbaa !5
  %7862 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7863 = load i32, ptr @test_count, align 4, !tbaa !5
  %7864 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7865 = load i32, ptr %7864, align 4, !tbaa !5
  %7866 = call ptr @s2n_strerror(i32 noundef %7865, ptr noundef @.str.5)
  %7867 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7868 = load i32, ptr %7867, align 4, !tbaa !5
  %7869 = call ptr @s2n_strerror_debug(i32 noundef %7868, ptr noundef @.str.5)
  %7870 = call ptr @__errno_location() #12
  %7871 = load i32, ptr %7870, align 4, !tbaa !5
  %7872 = call ptr @strerror(i32 noundef %7871) #11
  %7873 = call ptr @__errno_location() #12
  %7874 = load i32, ptr %7873, align 4, !tbaa !5
  %7875 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7862, ptr noundef @.str.6, i32 noundef %7863, ptr noundef @.str.29, ptr noundef @.str.2, i32 noundef 393, ptr noundef %7866, ptr noundef %7869, ptr noundef %7872, i32 noundef %7874) #11
  br label %7876

7876:                                             ; preds = %7859, %7842
  call void @llvm.lifetime.end.p0(i64 4, ptr %233) #11
  br label %7877

7877:                                             ; preds = %7876
  br label %7878

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

7879:                                             ; No predecessors!
  br label %7880

7880:                                             ; preds = %7879
  br label %7881

7881:                                             ; preds = %7880, %7817
  br label %7882

7882:                                             ; preds = %7881
  br label %7883

7883:                                             ; preds = %7882
  br label %7884

7884:                                             ; preds = %7883
  %7885 = load i32, ptr @test_count, align 4, !tbaa !5
  %7886 = add nsw i32 %7885, 1
  store i32 %7886, ptr @test_count, align 4, !tbaa !5
  %7887 = load i64, ptr %231, align 8, !tbaa !20
  %7888 = icmp eq i64 %7887, 10
  br i1 %7888, label %7942, label %7889

7889:                                             ; preds = %7884
  br label %7890

7890:                                             ; preds = %7889
  br label %7891

7891:                                             ; preds = %7890
  call void @llvm.lifetime.start.p0(i64 4, ptr %234) #11
  %7892 = call ptr @__errno_location() #12
  %7893 = load i32, ptr %7892, align 4, !tbaa !5
  store i32 %7893, ptr %234, align 4, !tbaa !5
  %7894 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7895 = call i32 @s2n_print_stacktrace(ptr noundef %7894)
  %7896 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7897 = trunc i8 %7896 to i1
  br i1 %7897, label %7898, label %7920

7898:                                             ; preds = %7891
  %7899 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7900 = call i32 @fileno(ptr noundef %7899) #11
  %7901 = call i32 @isatty(i32 noundef %7900) #11
  %7902 = icmp ne i32 %7901, 0
  br i1 %7902, label %7903, label %7920

7903:                                             ; preds = %7898
  %7904 = load i32, ptr %234, align 4, !tbaa !5
  %7905 = call ptr @__errno_location() #12
  store i32 %7904, ptr %7905, align 4, !tbaa !5
  %7906 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7907 = load i32, ptr @test_count, align 4, !tbaa !5
  %7908 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7909 = load i32, ptr %7908, align 4, !tbaa !5
  %7910 = call ptr @s2n_strerror(i32 noundef %7909, ptr noundef @.str.5)
  %7911 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7912 = load i32, ptr %7911, align 4, !tbaa !5
  %7913 = call ptr @s2n_strerror_debug(i32 noundef %7912, ptr noundef @.str.5)
  %7914 = call ptr @__errno_location() #12
  %7915 = load i32, ptr %7914, align 4, !tbaa !5
  %7916 = call ptr @strerror(i32 noundef %7915) #11
  %7917 = call ptr @__errno_location() #12
  %7918 = load i32, ptr %7917, align 4, !tbaa !5
  %7919 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7906, ptr noundef @.str.3, i32 noundef %7907, ptr noundef @.str.30, ptr noundef @.str.2, i32 noundef 394, ptr noundef %7910, ptr noundef %7913, ptr noundef %7916, i32 noundef %7918) #11
  br label %7937

7920:                                             ; preds = %7898, %7891
  %7921 = load i32, ptr %234, align 4, !tbaa !5
  %7922 = call ptr @__errno_location() #12
  store i32 %7921, ptr %7922, align 4, !tbaa !5
  %7923 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7924 = load i32, ptr @test_count, align 4, !tbaa !5
  %7925 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7926 = load i32, ptr %7925, align 4, !tbaa !5
  %7927 = call ptr @s2n_strerror(i32 noundef %7926, ptr noundef @.str.5)
  %7928 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7929 = load i32, ptr %7928, align 4, !tbaa !5
  %7930 = call ptr @s2n_strerror_debug(i32 noundef %7929, ptr noundef @.str.5)
  %7931 = call ptr @__errno_location() #12
  %7932 = load i32, ptr %7931, align 4, !tbaa !5
  %7933 = call ptr @strerror(i32 noundef %7932) #11
  %7934 = call ptr @__errno_location() #12
  %7935 = load i32, ptr %7934, align 4, !tbaa !5
  %7936 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7923, ptr noundef @.str.6, i32 noundef %7924, ptr noundef @.str.30, ptr noundef @.str.2, i32 noundef 394, ptr noundef %7927, ptr noundef %7930, ptr noundef %7933, i32 noundef %7935) #11
  br label %7937

7937:                                             ; preds = %7920, %7903
  call void @llvm.lifetime.end.p0(i64 4, ptr %234) #11
  br label %7938

7938:                                             ; preds = %7937
  br label %7939

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

7940:                                             ; No predecessors!
  br label %7941

7941:                                             ; preds = %7940
  br label %7942

7942:                                             ; preds = %7941, %7884
  br label %7943

7943:                                             ; preds = %7942
  br label %7944

7944:                                             ; preds = %7943
  call void @llvm.lifetime.start.p0(i64 16384, ptr %235) #11
  call void @llvm.memset.p0.i64(ptr align 16 %235, i8 0, i64 16384, i1 false)
  call void @llvm.lifetime.start.p0(i64 1, ptr %236) #11
  store i8 0, ptr %236, align 1, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 8, ptr %237) #11
  store i64 0, ptr %237, align 8, !tbaa !20
  br label %7945

7945:                                             ; preds = %7944
  %7946 = load i32, ptr @test_count, align 4, !tbaa !5
  %7947 = add nsw i32 %7946, 1
  store i32 %7947, ptr @test_count, align 4, !tbaa !5
  %7948 = load ptr, ptr %225, align 8, !tbaa !9
  %7949 = getelementptr inbounds %struct.s2n_connection, ptr %7948, i32 0, i32 9
  %7950 = load ptr, ptr %7949, align 8, !tbaa !57
  %7951 = getelementptr inbounds [16384 x i8], ptr %235, i64 0, i64 0
  %7952 = call i32 @s2n_ktls_recvmsg(ptr noundef %7950, ptr noundef %236, ptr noundef %7951, i64 noundef 10, ptr noundef %230, ptr noundef %237)
  %7953 = getelementptr inbounds %struct.s2n_result, ptr %238, i32 0, i32 0
  store i32 %7952, ptr %7953, align 4
  %7954 = getelementptr inbounds %struct.s2n_result, ptr %238, i32 0, i32 0
  %7955 = load i32, ptr %7954, align 4
  %7956 = call zeroext i1 @s2n_result_is_ok(i32 %7955)
  br i1 %7956, label %8010, label %7957

7957:                                             ; preds = %7945
  br label %7958

7958:                                             ; preds = %7957
  br label %7959

7959:                                             ; preds = %7958
  call void @llvm.lifetime.start.p0(i64 4, ptr %239) #11
  %7960 = call ptr @__errno_location() #12
  %7961 = load i32, ptr %7960, align 4, !tbaa !5
  store i32 %7961, ptr %239, align 4, !tbaa !5
  %7962 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7963 = call i32 @s2n_print_stacktrace(ptr noundef %7962)
  %7964 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7965 = trunc i8 %7964 to i1
  br i1 %7965, label %7966, label %7988

7966:                                             ; preds = %7959
  %7967 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7968 = call i32 @fileno(ptr noundef %7967) #11
  %7969 = call i32 @isatty(i32 noundef %7968) #11
  %7970 = icmp ne i32 %7969, 0
  br i1 %7970, label %7971, label %7988

7971:                                             ; preds = %7966
  %7972 = load i32, ptr %239, align 4, !tbaa !5
  %7973 = call ptr @__errno_location() #12
  store i32 %7972, ptr %7973, align 4, !tbaa !5
  %7974 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7975 = load i32, ptr @test_count, align 4, !tbaa !5
  %7976 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7977 = load i32, ptr %7976, align 4, !tbaa !5
  %7978 = call ptr @s2n_strerror(i32 noundef %7977, ptr noundef @.str.5)
  %7979 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7980 = load i32, ptr %7979, align 4, !tbaa !5
  %7981 = call ptr @s2n_strerror_debug(i32 noundef %7980, ptr noundef @.str.5)
  %7982 = call ptr @__errno_location() #12
  %7983 = load i32, ptr %7982, align 4, !tbaa !5
  %7984 = call ptr @strerror(i32 noundef %7983) #11
  %7985 = call ptr @__errno_location() #12
  %7986 = load i32, ptr %7985, align 4, !tbaa !5
  %7987 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7974, ptr noundef @.str.3, i32 noundef %7975, ptr noundef @.str.59, ptr noundef @.str.2, i32 noundef 400, ptr noundef %7978, ptr noundef %7981, ptr noundef %7984, i32 noundef %7986) #11
  br label %8005

7988:                                             ; preds = %7966, %7959
  %7989 = load i32, ptr %239, align 4, !tbaa !5
  %7990 = call ptr @__errno_location() #12
  store i32 %7989, ptr %7990, align 4, !tbaa !5
  %7991 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7992 = load i32, ptr @test_count, align 4, !tbaa !5
  %7993 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7994 = load i32, ptr %7993, align 4, !tbaa !5
  %7995 = call ptr @s2n_strerror(i32 noundef %7994, ptr noundef @.str.5)
  %7996 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7997 = load i32, ptr %7996, align 4, !tbaa !5
  %7998 = call ptr @s2n_strerror_debug(i32 noundef %7997, ptr noundef @.str.5)
  %7999 = call ptr @__errno_location() #12
  %8000 = load i32, ptr %7999, align 4, !tbaa !5
  %8001 = call ptr @strerror(i32 noundef %8000) #11
  %8002 = call ptr @__errno_location() #12
  %8003 = load i32, ptr %8002, align 4, !tbaa !5
  %8004 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7991, ptr noundef @.str.6, i32 noundef %7992, ptr noundef @.str.59, ptr noundef @.str.2, i32 noundef 400, ptr noundef %7995, ptr noundef %7998, ptr noundef %8001, i32 noundef %8003) #11
  br label %8005

8005:                                             ; preds = %7988, %7971
  call void @llvm.lifetime.end.p0(i64 4, ptr %239) #11
  br label %8006

8006:                                             ; preds = %8005
  br label %8007

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

8008:                                             ; No predecessors!
  br label %8009

8009:                                             ; preds = %8008
  br label %8010

8010:                                             ; preds = %8009, %7945
  br label %8011

8011:                                             ; preds = %8010
  br label %8012

8012:                                             ; preds = %8011
  br label %8013

8013:                                             ; preds = %8012
  %8014 = load i64, ptr %237, align 8, !tbaa !20
  %8015 = icmp ne i64 %8014, 0
  br i1 %8015, label %8016, label %8081

8016:                                             ; preds = %8013
  br label %8017

8017:                                             ; preds = %8016
  %8018 = load i32, ptr @test_count, align 4, !tbaa !5
  %8019 = add nsw i32 %8018, 1
  store i32 %8019, ptr @test_count, align 4, !tbaa !5
  %8020 = getelementptr inbounds [16384 x i8], ptr %10, i64 0, i64 0
  %8021 = getelementptr inbounds [16384 x i8], ptr %235, i64 0, i64 0
  %8022 = load i64, ptr %237, align 8, !tbaa !20
  %8023 = call i32 @memcmp(ptr noundef %8020, ptr noundef %8021, i64 noundef %8022) #14
  %8024 = icmp eq i32 %8023, 0
  br i1 %8024, label %8078, label %8025

8025:                                             ; preds = %8017
  br label %8026

8026:                                             ; preds = %8025
  br label %8027

8027:                                             ; preds = %8026
  call void @llvm.lifetime.start.p0(i64 4, ptr %240) #11
  %8028 = call ptr @__errno_location() #12
  %8029 = load i32, ptr %8028, align 4, !tbaa !5
  store i32 %8029, ptr %240, align 4, !tbaa !5
  %8030 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8031 = call i32 @s2n_print_stacktrace(ptr noundef %8030)
  %8032 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8033 = trunc i8 %8032 to i1
  br i1 %8033, label %8034, label %8056

8034:                                             ; preds = %8027
  %8035 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8036 = call i32 @fileno(ptr noundef %8035) #11
  %8037 = call i32 @isatty(i32 noundef %8036) #11
  %8038 = icmp ne i32 %8037, 0
  br i1 %8038, label %8039, label %8056

8039:                                             ; preds = %8034
  %8040 = load i32, ptr %240, align 4, !tbaa !5
  %8041 = call ptr @__errno_location() #12
  store i32 %8040, ptr %8041, align 4, !tbaa !5
  %8042 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8043 = load i32, ptr @test_count, align 4, !tbaa !5
  %8044 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8045 = load i32, ptr %8044, align 4, !tbaa !5
  %8046 = call ptr @s2n_strerror(i32 noundef %8045, ptr noundef @.str.5)
  %8047 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8048 = load i32, ptr %8047, align 4, !tbaa !5
  %8049 = call ptr @s2n_strerror_debug(i32 noundef %8048, ptr noundef @.str.5)
  %8050 = call ptr @__errno_location() #12
  %8051 = load i32, ptr %8050, align 4, !tbaa !5
  %8052 = call ptr @strerror(i32 noundef %8051) #11
  %8053 = call ptr @__errno_location() #12
  %8054 = load i32, ptr %8053, align 4, !tbaa !5
  %8055 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8042, ptr noundef @.str.3, i32 noundef %8043, ptr noundef @.str.60, ptr noundef @.str.2, i32 noundef 401, ptr noundef %8046, ptr noundef %8049, ptr noundef %8052, i32 noundef %8054) #11
  br label %8073

8056:                                             ; preds = %8034, %8027
  %8057 = load i32, ptr %240, align 4, !tbaa !5
  %8058 = call ptr @__errno_location() #12
  store i32 %8057, ptr %8058, align 4, !tbaa !5
  %8059 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8060 = load i32, ptr @test_count, align 4, !tbaa !5
  %8061 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8062 = load i32, ptr %8061, align 4, !tbaa !5
  %8063 = call ptr @s2n_strerror(i32 noundef %8062, ptr noundef @.str.5)
  %8064 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8065 = load i32, ptr %8064, align 4, !tbaa !5
  %8066 = call ptr @s2n_strerror_debug(i32 noundef %8065, ptr noundef @.str.5)
  %8067 = call ptr @__errno_location() #12
  %8068 = load i32, ptr %8067, align 4, !tbaa !5
  %8069 = call ptr @strerror(i32 noundef %8068) #11
  %8070 = call ptr @__errno_location() #12
  %8071 = load i32, ptr %8070, align 4, !tbaa !5
  %8072 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8059, ptr noundef @.str.6, i32 noundef %8060, ptr noundef @.str.60, ptr noundef @.str.2, i32 noundef 401, ptr noundef %8063, ptr noundef %8066, ptr noundef %8069, i32 noundef %8071) #11
  br label %8073

8073:                                             ; preds = %8056, %8039
  call void @llvm.lifetime.end.p0(i64 4, ptr %240) #11
  br label %8074

8074:                                             ; preds = %8073
  br label %8075

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

8076:                                             ; No predecessors!
  br label %8077

8077:                                             ; preds = %8076
  br label %8078

8078:                                             ; preds = %8077, %8017
  br label %8079

8079:                                             ; preds = %8078
  br label %8080

8080:                                             ; preds = %8079
  br label %8081

8081:                                             ; preds = %8080, %8013
  br label %8082

8082:                                             ; preds = %8081
  br label %8083

8083:                                             ; preds = %8082
  br label %8084

8084:                                             ; preds = %8083
  %8085 = load i32, ptr @test_count, align 4, !tbaa !5
  %8086 = add nsw i32 %8085, 1
  store i32 %8086, ptr @test_count, align 4, !tbaa !5
  %8087 = load i64, ptr %237, align 8, !tbaa !20
  %8088 = load i64, ptr %231, align 8, !tbaa !20
  %8089 = icmp eq i64 %8087, %8088
  br i1 %8089, label %8143, label %8090

8090:                                             ; preds = %8084
  br label %8091

8091:                                             ; preds = %8090
  br label %8092

8092:                                             ; preds = %8091
  call void @llvm.lifetime.start.p0(i64 4, ptr %241) #11
  %8093 = call ptr @__errno_location() #12
  %8094 = load i32, ptr %8093, align 4, !tbaa !5
  store i32 %8094, ptr %241, align 4, !tbaa !5
  %8095 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8096 = call i32 @s2n_print_stacktrace(ptr noundef %8095)
  %8097 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8098 = trunc i8 %8097 to i1
  br i1 %8098, label %8099, label %8121

8099:                                             ; preds = %8092
  %8100 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8101 = call i32 @fileno(ptr noundef %8100) #11
  %8102 = call i32 @isatty(i32 noundef %8101) #11
  %8103 = icmp ne i32 %8102, 0
  br i1 %8103, label %8104, label %8121

8104:                                             ; preds = %8099
  %8105 = load i32, ptr %241, align 4, !tbaa !5
  %8106 = call ptr @__errno_location() #12
  store i32 %8105, ptr %8106, align 4, !tbaa !5
  %8107 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8108 = load i32, ptr @test_count, align 4, !tbaa !5
  %8109 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8110 = load i32, ptr %8109, align 4, !tbaa !5
  %8111 = call ptr @s2n_strerror(i32 noundef %8110, ptr noundef @.str.5)
  %8112 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8113 = load i32, ptr %8112, align 4, !tbaa !5
  %8114 = call ptr @s2n_strerror_debug(i32 noundef %8113, ptr noundef @.str.5)
  %8115 = call ptr @__errno_location() #12
  %8116 = load i32, ptr %8115, align 4, !tbaa !5
  %8117 = call ptr @strerror(i32 noundef %8116) #11
  %8118 = call ptr @__errno_location() #12
  %8119 = load i32, ptr %8118, align 4, !tbaa !5
  %8120 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8107, ptr noundef @.str.3, i32 noundef %8108, ptr noundef @.str.61, ptr noundef @.str.2, i32 noundef 402, ptr noundef %8111, ptr noundef %8114, ptr noundef %8117, i32 noundef %8119) #11
  br label %8138

8121:                                             ; preds = %8099, %8092
  %8122 = load i32, ptr %241, align 4, !tbaa !5
  %8123 = call ptr @__errno_location() #12
  store i32 %8122, ptr %8123, align 4, !tbaa !5
  %8124 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8125 = load i32, ptr @test_count, align 4, !tbaa !5
  %8126 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8127 = load i32, ptr %8126, align 4, !tbaa !5
  %8128 = call ptr @s2n_strerror(i32 noundef %8127, ptr noundef @.str.5)
  %8129 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8130 = load i32, ptr %8129, align 4, !tbaa !5
  %8131 = call ptr @s2n_strerror_debug(i32 noundef %8130, ptr noundef @.str.5)
  %8132 = call ptr @__errno_location() #12
  %8133 = load i32, ptr %8132, align 4, !tbaa !5
  %8134 = call ptr @strerror(i32 noundef %8133) #11
  %8135 = call ptr @__errno_location() #12
  %8136 = load i32, ptr %8135, align 4, !tbaa !5
  %8137 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8124, ptr noundef @.str.6, i32 noundef %8125, ptr noundef @.str.61, ptr noundef @.str.2, i32 noundef 402, ptr noundef %8128, ptr noundef %8131, ptr noundef %8134, i32 noundef %8136) #11
  br label %8138

8138:                                             ; preds = %8121, %8104
  call void @llvm.lifetime.end.p0(i64 4, ptr %241) #11
  br label %8139

8139:                                             ; preds = %8138
  br label %8140

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

8141:                                             ; No predecessors!
  br label %8142

8142:                                             ; preds = %8141
  br label %8143

8143:                                             ; preds = %8142, %8084
  br label %8144

8144:                                             ; preds = %8143
  br label %8145

8145:                                             ; preds = %8144
  br label %8146

8146:                                             ; preds = %8145
  %8147 = load i32, ptr @test_count, align 4, !tbaa !5
  %8148 = add nsw i32 %8147, 1
  store i32 %8148, ptr @test_count, align 4, !tbaa !5
  %8149 = getelementptr inbounds %struct.s2n_test_ktls_io_stuffer_pair, ptr %226, i32 0, i32 0
  %8150 = getelementptr inbounds %struct.s2n_test_ktls_io_stuffer, ptr %8149, i32 0, i32 2
  %8151 = load i64, ptr %8150, align 8, !tbaa !58
  %8152 = icmp eq i64 %8151, 1
  br i1 %8152, label %8206, label %8153

8153:                                             ; preds = %8146
  br label %8154

8154:                                             ; preds = %8153
  br label %8155

8155:                                             ; preds = %8154
  call void @llvm.lifetime.start.p0(i64 4, ptr %242) #11
  %8156 = call ptr @__errno_location() #12
  %8157 = load i32, ptr %8156, align 4, !tbaa !5
  store i32 %8157, ptr %242, align 4, !tbaa !5
  %8158 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8159 = call i32 @s2n_print_stacktrace(ptr noundef %8158)
  %8160 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8161 = trunc i8 %8160 to i1
  br i1 %8161, label %8162, label %8184

8162:                                             ; preds = %8155
  %8163 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8164 = call i32 @fileno(ptr noundef %8163) #11
  %8165 = call i32 @isatty(i32 noundef %8164) #11
  %8166 = icmp ne i32 %8165, 0
  br i1 %8166, label %8167, label %8184

8167:                                             ; preds = %8162
  %8168 = load i32, ptr %242, align 4, !tbaa !5
  %8169 = call ptr @__errno_location() #12
  store i32 %8168, ptr %8169, align 4, !tbaa !5
  %8170 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8171 = load i32, ptr @test_count, align 4, !tbaa !5
  %8172 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8173 = load i32, ptr %8172, align 4, !tbaa !5
  %8174 = call ptr @s2n_strerror(i32 noundef %8173, ptr noundef @.str.5)
  %8175 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8176 = load i32, ptr %8175, align 4, !tbaa !5
  %8177 = call ptr @s2n_strerror_debug(i32 noundef %8176, ptr noundef @.str.5)
  %8178 = call ptr @__errno_location() #12
  %8179 = load i32, ptr %8178, align 4, !tbaa !5
  %8180 = call ptr @strerror(i32 noundef %8179) #11
  %8181 = call ptr @__errno_location() #12
  %8182 = load i32, ptr %8181, align 4, !tbaa !5
  %8183 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8170, ptr noundef @.str.3, i32 noundef %8171, ptr noundef @.str.62, ptr noundef @.str.2, i32 noundef 404, ptr noundef %8174, ptr noundef %8177, ptr noundef %8180, i32 noundef %8182) #11
  br label %8201

8184:                                             ; preds = %8162, %8155
  %8185 = load i32, ptr %242, align 4, !tbaa !5
  %8186 = call ptr @__errno_location() #12
  store i32 %8185, ptr %8186, align 4, !tbaa !5
  %8187 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8188 = load i32, ptr @test_count, align 4, !tbaa !5
  %8189 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8190 = load i32, ptr %8189, align 4, !tbaa !5
  %8191 = call ptr @s2n_strerror(i32 noundef %8190, ptr noundef @.str.5)
  %8192 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8193 = load i32, ptr %8192, align 4, !tbaa !5
  %8194 = call ptr @s2n_strerror_debug(i32 noundef %8193, ptr noundef @.str.5)
  %8195 = call ptr @__errno_location() #12
  %8196 = load i32, ptr %8195, align 4, !tbaa !5
  %8197 = call ptr @strerror(i32 noundef %8196) #11
  %8198 = call ptr @__errno_location() #12
  %8199 = load i32, ptr %8198, align 4, !tbaa !5
  %8200 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8187, ptr noundef @.str.6, i32 noundef %8188, ptr noundef @.str.62, ptr noundef @.str.2, i32 noundef 404, ptr noundef %8191, ptr noundef %8194, ptr noundef %8197, i32 noundef %8199) #11
  br label %8201

8201:                                             ; preds = %8184, %8167
  call void @llvm.lifetime.end.p0(i64 4, ptr %242) #11
  br label %8202

8202:                                             ; preds = %8201
  br label %8203

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

8204:                                             ; No predecessors!
  br label %8205

8205:                                             ; preds = %8204
  br label %8206

8206:                                             ; preds = %8205, %8146
  br label %8207

8207:                                             ; preds = %8206
  br label %8208

8208:                                             ; preds = %8207
  br label %8209

8209:                                             ; preds = %8208
  %8210 = load i32, ptr @test_count, align 4, !tbaa !5
  %8211 = add nsw i32 %8210, 1
  store i32 %8211, ptr @test_count, align 4, !tbaa !5
  %8212 = getelementptr inbounds %struct.s2n_test_ktls_io_stuffer_pair, ptr %226, i32 0, i32 0
  %8213 = getelementptr inbounds %struct.s2n_test_ktls_io_stuffer, ptr %8212, i32 0, i32 3
  %8214 = load i64, ptr %8213, align 8, !tbaa !60
  %8215 = icmp eq i64 %8214, 1
  br i1 %8215, label %8269, label %8216

8216:                                             ; preds = %8209
  br label %8217

8217:                                             ; preds = %8216
  br label %8218

8218:                                             ; preds = %8217
  call void @llvm.lifetime.start.p0(i64 4, ptr %243) #11
  %8219 = call ptr @__errno_location() #12
  %8220 = load i32, ptr %8219, align 4, !tbaa !5
  store i32 %8220, ptr %243, align 4, !tbaa !5
  %8221 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8222 = call i32 @s2n_print_stacktrace(ptr noundef %8221)
  %8223 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8224 = trunc i8 %8223 to i1
  br i1 %8224, label %8225, label %8247

8225:                                             ; preds = %8218
  %8226 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8227 = call i32 @fileno(ptr noundef %8226) #11
  %8228 = call i32 @isatty(i32 noundef %8227) #11
  %8229 = icmp ne i32 %8228, 0
  br i1 %8229, label %8230, label %8247

8230:                                             ; preds = %8225
  %8231 = load i32, ptr %243, align 4, !tbaa !5
  %8232 = call ptr @__errno_location() #12
  store i32 %8231, ptr %8232, align 4, !tbaa !5
  %8233 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8234 = load i32, ptr @test_count, align 4, !tbaa !5
  %8235 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8236 = load i32, ptr %8235, align 4, !tbaa !5
  %8237 = call ptr @s2n_strerror(i32 noundef %8236, ptr noundef @.str.5)
  %8238 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8239 = load i32, ptr %8238, align 4, !tbaa !5
  %8240 = call ptr @s2n_strerror_debug(i32 noundef %8239, ptr noundef @.str.5)
  %8241 = call ptr @__errno_location() #12
  %8242 = load i32, ptr %8241, align 4, !tbaa !5
  %8243 = call ptr @strerror(i32 noundef %8242) #11
  %8244 = call ptr @__errno_location() #12
  %8245 = load i32, ptr %8244, align 4, !tbaa !5
  %8246 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8233, ptr noundef @.str.3, i32 noundef %8234, ptr noundef @.str.63, ptr noundef @.str.2, i32 noundef 405, ptr noundef %8237, ptr noundef %8240, ptr noundef %8243, i32 noundef %8245) #11
  br label %8264

8247:                                             ; preds = %8225, %8218
  %8248 = load i32, ptr %243, align 4, !tbaa !5
  %8249 = call ptr @__errno_location() #12
  store i32 %8248, ptr %8249, align 4, !tbaa !5
  %8250 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8251 = load i32, ptr @test_count, align 4, !tbaa !5
  %8252 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8253 = load i32, ptr %8252, align 4, !tbaa !5
  %8254 = call ptr @s2n_strerror(i32 noundef %8253, ptr noundef @.str.5)
  %8255 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8256 = load i32, ptr %8255, align 4, !tbaa !5
  %8257 = call ptr @s2n_strerror_debug(i32 noundef %8256, ptr noundef @.str.5)
  %8258 = call ptr @__errno_location() #12
  %8259 = load i32, ptr %8258, align 4, !tbaa !5
  %8260 = call ptr @strerror(i32 noundef %8259) #11
  %8261 = call ptr @__errno_location() #12
  %8262 = load i32, ptr %8261, align 4, !tbaa !5
  %8263 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8250, ptr noundef @.str.6, i32 noundef %8251, ptr noundef @.str.63, ptr noundef @.str.2, i32 noundef 405, ptr noundef %8254, ptr noundef %8257, ptr noundef %8260, i32 noundef %8262) #11
  br label %8264

8264:                                             ; preds = %8247, %8230
  call void @llvm.lifetime.end.p0(i64 4, ptr %243) #11
  br label %8265

8265:                                             ; preds = %8264
  br label %8266

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

8267:                                             ; No predecessors!
  br label %8268

8268:                                             ; preds = %8267
  br label %8269

8269:                                             ; preds = %8268, %8209
  br label %8270

8270:                                             ; preds = %8269
  br label %8271

8271:                                             ; preds = %8270
  call void @llvm.lifetime.end.p0(i64 8, ptr %237) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %236) #11
  call void @llvm.lifetime.end.p0(i64 16384, ptr %235) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %231) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %230) #11
  call void @llvm.lifetime.end.p0(i64 16, ptr %229) #11
  %8272 = call i32 @s2n_ktls_io_stuffer_pair_free(ptr noundef %226)
  %8273 = getelementptr inbounds %struct.s2n_result, ptr %244, i32 0, i32 0
  store i32 %8272, ptr %8273, align 4
  call void @llvm.lifetime.end.p0(i64 192, ptr %226) #11
  %8274 = call i32 @s2n_connection_ptr_free(ptr noundef %225)
  %8275 = getelementptr inbounds %struct.s2n_result, ptr %245, i32 0, i32 0
  store i32 %8274, ptr %8275, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %225) #11
  %8276 = call i32 @s2n_connection_ptr_free(ptr noundef %224)
  %8277 = getelementptr inbounds %struct.s2n_result, ptr %246, i32 0, i32 0
  store i32 %8276, ptr %8277, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %224) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %247) #11
  %8278 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %8278, ptr %247, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %248) #11
  %8279 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %8279, ptr %248, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 192, ptr %249) #11
  call void @llvm.memset.p0.i64(ptr align 8 %249, i8 0, i64 192, i1 false)
  br label %8280

8280:                                             ; preds = %8271
  %8281 = load i32, ptr @test_count, align 4, !tbaa !5
  %8282 = add nsw i32 %8281, 1
  store i32 %8282, ptr @test_count, align 4, !tbaa !5
  %8283 = load ptr, ptr %247, align 8, !tbaa !9
  %8284 = load ptr, ptr %248, align 8, !tbaa !9
  %8285 = call i32 @s2n_test_init_ktls_io_stuffer(ptr noundef %8283, ptr noundef %8284, ptr noundef %249)
  %8286 = getelementptr inbounds %struct.s2n_result, ptr %250, i32 0, i32 0
  store i32 %8285, ptr %8286, align 4
  %8287 = getelementptr inbounds %struct.s2n_result, ptr %250, i32 0, i32 0
  %8288 = load i32, ptr %8287, align 4
  %8289 = call zeroext i1 @s2n_result_is_ok(i32 %8288)
  br i1 %8289, label %8343, label %8290

8290:                                             ; preds = %8280
  br label %8291

8291:                                             ; preds = %8290
  br label %8292

8292:                                             ; preds = %8291
  call void @llvm.lifetime.start.p0(i64 4, ptr %251) #11
  %8293 = call ptr @__errno_location() #12
  %8294 = load i32, ptr %8293, align 4, !tbaa !5
  store i32 %8294, ptr %251, align 4, !tbaa !5
  %8295 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8296 = call i32 @s2n_print_stacktrace(ptr noundef %8295)
  %8297 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8298 = trunc i8 %8297 to i1
  br i1 %8298, label %8299, label %8321

8299:                                             ; preds = %8292
  %8300 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8301 = call i32 @fileno(ptr noundef %8300) #11
  %8302 = call i32 @isatty(i32 noundef %8301) #11
  %8303 = icmp ne i32 %8302, 0
  br i1 %8303, label %8304, label %8321

8304:                                             ; preds = %8299
  %8305 = load i32, ptr %251, align 4, !tbaa !5
  %8306 = call ptr @__errno_location() #12
  store i32 %8305, ptr %8306, align 4, !tbaa !5
  %8307 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8308 = load i32, ptr @test_count, align 4, !tbaa !5
  %8309 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8310 = load i32, ptr %8309, align 4, !tbaa !5
  %8311 = call ptr @s2n_strerror(i32 noundef %8310, ptr noundef @.str.5)
  %8312 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8313 = load i32, ptr %8312, align 4, !tbaa !5
  %8314 = call ptr @s2n_strerror_debug(i32 noundef %8313, ptr noundef @.str.5)
  %8315 = call ptr @__errno_location() #12
  %8316 = load i32, ptr %8315, align 4, !tbaa !5
  %8317 = call ptr @strerror(i32 noundef %8316) #11
  %8318 = call ptr @__errno_location() #12
  %8319 = load i32, ptr %8318, align 4, !tbaa !5
  %8320 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8307, ptr noundef @.str.3, i32 noundef %8308, ptr noundef @.str.58, ptr noundef @.str.2, i32 noundef 416, ptr noundef %8311, ptr noundef %8314, ptr noundef %8317, i32 noundef %8319) #11
  br label %8338

8321:                                             ; preds = %8299, %8292
  %8322 = load i32, ptr %251, align 4, !tbaa !5
  %8323 = call ptr @__errno_location() #12
  store i32 %8322, ptr %8323, align 4, !tbaa !5
  %8324 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8325 = load i32, ptr @test_count, align 4, !tbaa !5
  %8326 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8327 = load i32, ptr %8326, align 4, !tbaa !5
  %8328 = call ptr @s2n_strerror(i32 noundef %8327, ptr noundef @.str.5)
  %8329 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8330 = load i32, ptr %8329, align 4, !tbaa !5
  %8331 = call ptr @s2n_strerror_debug(i32 noundef %8330, ptr noundef @.str.5)
  %8332 = call ptr @__errno_location() #12
  %8333 = load i32, ptr %8332, align 4, !tbaa !5
  %8334 = call ptr @strerror(i32 noundef %8333) #11
  %8335 = call ptr @__errno_location() #12
  %8336 = load i32, ptr %8335, align 4, !tbaa !5
  %8337 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8324, ptr noundef @.str.6, i32 noundef %8325, ptr noundef @.str.58, ptr noundef @.str.2, i32 noundef 416, ptr noundef %8328, ptr noundef %8331, ptr noundef %8334, i32 noundef %8336) #11
  br label %8338

8338:                                             ; preds = %8321, %8304
  call void @llvm.lifetime.end.p0(i64 4, ptr %251) #11
  br label %8339

8339:                                             ; preds = %8338
  br label %8340

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

8341:                                             ; No predecessors!
  br label %8342

8342:                                             ; preds = %8341
  br label %8343

8343:                                             ; preds = %8342, %8280
  br label %8344

8344:                                             ; preds = %8343
  br label %8345

8345:                                             ; preds = %8344
  call void @llvm.lifetime.start.p0(i64 16384, ptr %252) #11
  call void @llvm.memset.p0.i64(ptr align 16 %252, i8 0, i64 16384, i1 false)
  call void @llvm.lifetime.start.p0(i64 4, ptr %253) #11
  store i32 0, ptr %253, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %254) #11
  store i64 5, ptr %254, align 8, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 1, ptr %255) #11
  store i8 0, ptr %255, align 1, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 8, ptr %256) #11
  store i64 0, ptr %256, align 8, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 8, ptr %257) #11
  store i64 0, ptr %257, align 8, !tbaa !20
  br label %8346

8346:                                             ; preds = %8617, %8345
  %8347 = load i64, ptr %257, align 8, !tbaa !20
  %8348 = load i64, ptr %254, align 8, !tbaa !20
  %8349 = icmp ult i64 %8347, %8348
  br i1 %8349, label %8351, label %8350

8350:                                             ; preds = %8346
  call void @llvm.lifetime.end.p0(i64 8, ptr %257) #11
  br label %8620

8351:                                             ; preds = %8346
  br label %8352

8352:                                             ; preds = %8351
  br label %8353

8353:                                             ; preds = %8352
  br label %8354

8354:                                             ; preds = %8353
  %8355 = load i32, ptr @test_count, align 4, !tbaa !5
  %8356 = add nsw i32 %8355, 1
  store i32 %8356, ptr @test_count, align 4, !tbaa !5
  %8357 = load ptr, ptr %248, align 8, !tbaa !9
  %8358 = getelementptr inbounds %struct.s2n_connection, ptr %8357, i32 0, i32 9
  %8359 = load ptr, ptr %8358, align 8, !tbaa !57
  %8360 = getelementptr inbounds [16384 x i8], ptr %252, i64 0, i64 0
  %8361 = call i32 @s2n_ktls_recvmsg(ptr noundef %8359, ptr noundef %255, ptr noundef %8360, i64 noundef 10, ptr noundef %253, ptr noundef %256)
  %8362 = getelementptr inbounds %struct.s2n_result, ptr %258, i32 0, i32 0
  store i32 %8361, ptr %8362, align 4
  %8363 = getelementptr inbounds %struct.s2n_result, ptr %258, i32 0, i32 0
  %8364 = load i32, ptr %8363, align 4
  %8365 = call zeroext i1 @s2n_result_is_error(i32 %8364)
  br i1 %8365, label %8419, label %8366

8366:                                             ; preds = %8354
  br label %8367

8367:                                             ; preds = %8366
  br label %8368

8368:                                             ; preds = %8367
  call void @llvm.lifetime.start.p0(i64 4, ptr %259) #11
  %8369 = call ptr @__errno_location() #12
  %8370 = load i32, ptr %8369, align 4, !tbaa !5
  store i32 %8370, ptr %259, align 4, !tbaa !5
  %8371 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8372 = call i32 @s2n_print_stacktrace(ptr noundef %8371)
  %8373 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8374 = trunc i8 %8373 to i1
  br i1 %8374, label %8375, label %8397

8375:                                             ; preds = %8368
  %8376 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8377 = call i32 @fileno(ptr noundef %8376) #11
  %8378 = call i32 @isatty(i32 noundef %8377) #11
  %8379 = icmp ne i32 %8378, 0
  br i1 %8379, label %8380, label %8397

8380:                                             ; preds = %8375
  %8381 = load i32, ptr %259, align 4, !tbaa !5
  %8382 = call ptr @__errno_location() #12
  store i32 %8381, ptr %8382, align 4, !tbaa !5
  %8383 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8384 = load i32, ptr @test_count, align 4, !tbaa !5
  %8385 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8386 = load i32, ptr %8385, align 4, !tbaa !5
  %8387 = call ptr @s2n_strerror(i32 noundef %8386, ptr noundef @.str.5)
  %8388 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8389 = load i32, ptr %8388, align 4, !tbaa !5
  %8390 = call ptr @s2n_strerror_debug(i32 noundef %8389, ptr noundef @.str.5)
  %8391 = call ptr @__errno_location() #12
  %8392 = load i32, ptr %8391, align 4, !tbaa !5
  %8393 = call ptr @strerror(i32 noundef %8392) #11
  %8394 = call ptr @__errno_location() #12
  %8395 = load i32, ptr %8394, align 4, !tbaa !5
  %8396 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8383, ptr noundef @.str.3, i32 noundef %8384, ptr noundef @.str.64, ptr noundef @.str.2, i32 noundef 428, ptr noundef %8387, ptr noundef %8390, ptr noundef %8393, i32 noundef %8395) #11
  br label %8414

8397:                                             ; preds = %8375, %8368
  %8398 = load i32, ptr %259, align 4, !tbaa !5
  %8399 = call ptr @__errno_location() #12
  store i32 %8398, ptr %8399, align 4, !tbaa !5
  %8400 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8401 = load i32, ptr @test_count, align 4, !tbaa !5
  %8402 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8403 = load i32, ptr %8402, align 4, !tbaa !5
  %8404 = call ptr @s2n_strerror(i32 noundef %8403, ptr noundef @.str.5)
  %8405 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8406 = load i32, ptr %8405, align 4, !tbaa !5
  %8407 = call ptr @s2n_strerror_debug(i32 noundef %8406, ptr noundef @.str.5)
  %8408 = call ptr @__errno_location() #12
  %8409 = load i32, ptr %8408, align 4, !tbaa !5
  %8410 = call ptr @strerror(i32 noundef %8409) #11
  %8411 = call ptr @__errno_location() #12
  %8412 = load i32, ptr %8411, align 4, !tbaa !5
  %8413 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8400, ptr noundef @.str.6, i32 noundef %8401, ptr noundef @.str.64, ptr noundef @.str.2, i32 noundef 428, ptr noundef %8404, ptr noundef %8407, ptr noundef %8410, i32 noundef %8412) #11
  br label %8414

8414:                                             ; preds = %8397, %8380
  call void @llvm.lifetime.end.p0(i64 4, ptr %259) #11
  br label %8415

8415:                                             ; preds = %8414
  br label %8416

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

8417:                                             ; No predecessors!
  br label %8418

8418:                                             ; preds = %8417
  br label %8419

8419:                                             ; preds = %8418, %8354
  br label %8420

8420:                                             ; preds = %8419
  br label %8421

8421:                                             ; preds = %8420
  br label %8422

8422:                                             ; preds = %8421
  %8423 = load i32, ptr @test_count, align 4, !tbaa !5
  %8424 = add nsw i32 %8423, 1
  store i32 %8424, ptr @test_count, align 4, !tbaa !5
  %8425 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8426 = load i32, ptr %8425, align 4, !tbaa !5
  %8427 = icmp eq i32 %8426, 201326592
  br i1 %8427, label %8481, label %8428

8428:                                             ; preds = %8422
  br label %8429

8429:                                             ; preds = %8428
  br label %8430

8430:                                             ; preds = %8429
  call void @llvm.lifetime.start.p0(i64 4, ptr %260) #11
  %8431 = call ptr @__errno_location() #12
  %8432 = load i32, ptr %8431, align 4, !tbaa !5
  store i32 %8432, ptr %260, align 4, !tbaa !5
  %8433 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8434 = call i32 @s2n_print_stacktrace(ptr noundef %8433)
  %8435 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8436 = trunc i8 %8435 to i1
  br i1 %8436, label %8437, label %8459

8437:                                             ; preds = %8430
  %8438 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8439 = call i32 @fileno(ptr noundef %8438) #11
  %8440 = call i32 @isatty(i32 noundef %8439) #11
  %8441 = icmp ne i32 %8440, 0
  br i1 %8441, label %8442, label %8459

8442:                                             ; preds = %8437
  %8443 = load i32, ptr %260, align 4, !tbaa !5
  %8444 = call ptr @__errno_location() #12
  store i32 %8443, ptr %8444, align 4, !tbaa !5
  %8445 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8446 = load i32, ptr @test_count, align 4, !tbaa !5
  %8447 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8448 = load i32, ptr %8447, align 4, !tbaa !5
  %8449 = call ptr @s2n_strerror(i32 noundef %8448, ptr noundef @.str.5)
  %8450 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8451 = load i32, ptr %8450, align 4, !tbaa !5
  %8452 = call ptr @s2n_strerror_debug(i32 noundef %8451, ptr noundef @.str.5)
  %8453 = call ptr @__errno_location() #12
  %8454 = load i32, ptr %8453, align 4, !tbaa !5
  %8455 = call ptr @strerror(i32 noundef %8454) #11
  %8456 = call ptr @__errno_location() #12
  %8457 = load i32, ptr %8456, align 4, !tbaa !5
  %8458 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8445, ptr noundef @.str.3, i32 noundef %8446, ptr noundef @.str.41, ptr noundef @.str.2, i32 noundef 428, ptr noundef %8449, ptr noundef %8452, ptr noundef %8455, i32 noundef %8457) #11
  br label %8476

8459:                                             ; preds = %8437, %8430
  %8460 = load i32, ptr %260, align 4, !tbaa !5
  %8461 = call ptr @__errno_location() #12
  store i32 %8460, ptr %8461, align 4, !tbaa !5
  %8462 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8463 = load i32, ptr @test_count, align 4, !tbaa !5
  %8464 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8465 = load i32, ptr %8464, align 4, !tbaa !5
  %8466 = call ptr @s2n_strerror(i32 noundef %8465, ptr noundef @.str.5)
  %8467 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8468 = load i32, ptr %8467, align 4, !tbaa !5
  %8469 = call ptr @s2n_strerror_debug(i32 noundef %8468, ptr noundef @.str.5)
  %8470 = call ptr @__errno_location() #12
  %8471 = load i32, ptr %8470, align 4, !tbaa !5
  %8472 = call ptr @strerror(i32 noundef %8471) #11
  %8473 = call ptr @__errno_location() #12
  %8474 = load i32, ptr %8473, align 4, !tbaa !5
  %8475 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8462, ptr noundef @.str.6, i32 noundef %8463, ptr noundef @.str.41, ptr noundef @.str.2, i32 noundef 428, ptr noundef %8466, ptr noundef %8469, ptr noundef %8472, i32 noundef %8474) #11
  br label %8476

8476:                                             ; preds = %8459, %8442
  call void @llvm.lifetime.end.p0(i64 4, ptr %260) #11
  br label %8477

8477:                                             ; preds = %8476
  br label %8478

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

8479:                                             ; No predecessors!
  br label %8480

8480:                                             ; preds = %8479
  br label %8481

8481:                                             ; preds = %8480, %8422
  br label %8482

8482:                                             ; preds = %8481
  br label %8483

8483:                                             ; preds = %8482
  br label %8484

8484:                                             ; preds = %8483
  %8485 = load i32, ptr @test_count, align 4, !tbaa !5
  %8486 = add nsw i32 %8485, 1
  store i32 %8486, ptr @test_count, align 4, !tbaa !5
  %8487 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8488 = load i32, ptr %8487, align 4, !tbaa !5
  %8489 = call ptr @s2n_strerror_debug(i32 noundef %8488, ptr noundef @.str.5)
  %8490 = icmp eq ptr %8489, null
  br i1 %8490, label %8491, label %8544

8491:                                             ; preds = %8484
  br label %8492

8492:                                             ; preds = %8491
  br label %8493

8493:                                             ; preds = %8492
  call void @llvm.lifetime.start.p0(i64 4, ptr %261) #11
  %8494 = call ptr @__errno_location() #12
  %8495 = load i32, ptr %8494, align 4, !tbaa !5
  store i32 %8495, ptr %261, align 4, !tbaa !5
  %8496 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8497 = call i32 @s2n_print_stacktrace(ptr noundef %8496)
  %8498 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8499 = trunc i8 %8498 to i1
  br i1 %8499, label %8500, label %8522

8500:                                             ; preds = %8493
  %8501 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8502 = call i32 @fileno(ptr noundef %8501) #11
  %8503 = call i32 @isatty(i32 noundef %8502) #11
  %8504 = icmp ne i32 %8503, 0
  br i1 %8504, label %8505, label %8522

8505:                                             ; preds = %8500
  %8506 = load i32, ptr %261, align 4, !tbaa !5
  %8507 = call ptr @__errno_location() #12
  store i32 %8506, ptr %8507, align 4, !tbaa !5
  %8508 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8509 = load i32, ptr @test_count, align 4, !tbaa !5
  %8510 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8511 = load i32, ptr %8510, align 4, !tbaa !5
  %8512 = call ptr @s2n_strerror(i32 noundef %8511, ptr noundef @.str.5)
  %8513 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8514 = load i32, ptr %8513, align 4, !tbaa !5
  %8515 = call ptr @s2n_strerror_debug(i32 noundef %8514, ptr noundef @.str.5)
  %8516 = call ptr @__errno_location() #12
  %8517 = load i32, ptr %8516, align 4, !tbaa !5
  %8518 = call ptr @strerror(i32 noundef %8517) #11
  %8519 = call ptr @__errno_location() #12
  %8520 = load i32, ptr %8519, align 4, !tbaa !5
  %8521 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8508, ptr noundef @.str.3, i32 noundef %8509, ptr noundef @.str.13, ptr noundef @.str.2, i32 noundef 428, ptr noundef %8512, ptr noundef %8515, ptr noundef %8518, i32 noundef %8520) #11
  br label %8539

8522:                                             ; preds = %8500, %8493
  %8523 = load i32, ptr %261, align 4, !tbaa !5
  %8524 = call ptr @__errno_location() #12
  store i32 %8523, ptr %8524, align 4, !tbaa !5
  %8525 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8526 = load i32, ptr @test_count, align 4, !tbaa !5
  %8527 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8528 = load i32, ptr %8527, align 4, !tbaa !5
  %8529 = call ptr @s2n_strerror(i32 noundef %8528, ptr noundef @.str.5)
  %8530 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8531 = load i32, ptr %8530, align 4, !tbaa !5
  %8532 = call ptr @s2n_strerror_debug(i32 noundef %8531, ptr noundef @.str.5)
  %8533 = call ptr @__errno_location() #12
  %8534 = load i32, ptr %8533, align 4, !tbaa !5
  %8535 = call ptr @strerror(i32 noundef %8534) #11
  %8536 = call ptr @__errno_location() #12
  %8537 = load i32, ptr %8536, align 4, !tbaa !5
  %8538 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8525, ptr noundef @.str.6, i32 noundef %8526, ptr noundef @.str.13, ptr noundef @.str.2, i32 noundef 428, ptr noundef %8529, ptr noundef %8532, ptr noundef %8535, i32 noundef %8537) #11
  br label %8539

8539:                                             ; preds = %8522, %8505
  call void @llvm.lifetime.end.p0(i64 4, ptr %261) #11
  br label %8540

8540:                                             ; preds = %8539
  br label %8541

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

8542:                                             ; No predecessors!
  br label %8543

8543:                                             ; preds = %8542
  br label %8544

8544:                                             ; preds = %8543, %8484
  br label %8545

8545:                                             ; preds = %8544
  br label %8546

8546:                                             ; preds = %8545
  br label %8547

8547:                                             ; preds = %8546
  br label %8548

8548:                                             ; preds = %8547
  br label %8549

8549:                                             ; preds = %8548
  %8550 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %8550, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %8551 = call ptr @__errno_location() #12
  store i32 0, ptr %8551, align 4, !tbaa !5
  br label %8552

8552:                                             ; preds = %8549
  br label %8553

8553:                                             ; preds = %8552
  br label %8554

8554:                                             ; preds = %8553
  br label %8555

8555:                                             ; preds = %8554
  br label %8556

8556:                                             ; preds = %8555
  %8557 = load i32, ptr @test_count, align 4, !tbaa !5
  %8558 = add nsw i32 %8557, 1
  store i32 %8558, ptr @test_count, align 4, !tbaa !5
  %8559 = load i32, ptr %253, align 4, !tbaa !5
  %8560 = icmp eq i32 %8559, 1
  br i1 %8560, label %8614, label %8561

8561:                                             ; preds = %8556
  br label %8562

8562:                                             ; preds = %8561
  br label %8563

8563:                                             ; preds = %8562
  call void @llvm.lifetime.start.p0(i64 4, ptr %262) #11
  %8564 = call ptr @__errno_location() #12
  %8565 = load i32, ptr %8564, align 4, !tbaa !5
  store i32 %8565, ptr %262, align 4, !tbaa !5
  %8566 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8567 = call i32 @s2n_print_stacktrace(ptr noundef %8566)
  %8568 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8569 = trunc i8 %8568 to i1
  br i1 %8569, label %8570, label %8592

8570:                                             ; preds = %8563
  %8571 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8572 = call i32 @fileno(ptr noundef %8571) #11
  %8573 = call i32 @isatty(i32 noundef %8572) #11
  %8574 = icmp ne i32 %8573, 0
  br i1 %8574, label %8575, label %8592

8575:                                             ; preds = %8570
  %8576 = load i32, ptr %262, align 4, !tbaa !5
  %8577 = call ptr @__errno_location() #12
  store i32 %8576, ptr %8577, align 4, !tbaa !5
  %8578 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8579 = load i32, ptr @test_count, align 4, !tbaa !5
  %8580 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8581 = load i32, ptr %8580, align 4, !tbaa !5
  %8582 = call ptr @s2n_strerror(i32 noundef %8581, ptr noundef @.str.5)
  %8583 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8584 = load i32, ptr %8583, align 4, !tbaa !5
  %8585 = call ptr @s2n_strerror_debug(i32 noundef %8584, ptr noundef @.str.5)
  %8586 = call ptr @__errno_location() #12
  %8587 = load i32, ptr %8586, align 4, !tbaa !5
  %8588 = call ptr @strerror(i32 noundef %8587) #11
  %8589 = call ptr @__errno_location() #12
  %8590 = load i32, ptr %8589, align 4, !tbaa !5
  %8591 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8578, ptr noundef @.str.3, i32 noundef %8579, ptr noundef @.str.65, ptr noundef @.str.2, i32 noundef 429, ptr noundef %8582, ptr noundef %8585, ptr noundef %8588, i32 noundef %8590) #11
  br label %8609

8592:                                             ; preds = %8570, %8563
  %8593 = load i32, ptr %262, align 4, !tbaa !5
  %8594 = call ptr @__errno_location() #12
  store i32 %8593, ptr %8594, align 4, !tbaa !5
  %8595 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8596 = load i32, ptr @test_count, align 4, !tbaa !5
  %8597 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8598 = load i32, ptr %8597, align 4, !tbaa !5
  %8599 = call ptr @s2n_strerror(i32 noundef %8598, ptr noundef @.str.5)
  %8600 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8601 = load i32, ptr %8600, align 4, !tbaa !5
  %8602 = call ptr @s2n_strerror_debug(i32 noundef %8601, ptr noundef @.str.5)
  %8603 = call ptr @__errno_location() #12
  %8604 = load i32, ptr %8603, align 4, !tbaa !5
  %8605 = call ptr @strerror(i32 noundef %8604) #11
  %8606 = call ptr @__errno_location() #12
  %8607 = load i32, ptr %8606, align 4, !tbaa !5
  %8608 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8595, ptr noundef @.str.6, i32 noundef %8596, ptr noundef @.str.65, ptr noundef @.str.2, i32 noundef 429, ptr noundef %8599, ptr noundef %8602, ptr noundef %8605, i32 noundef %8607) #11
  br label %8609

8609:                                             ; preds = %8592, %8575
  call void @llvm.lifetime.end.p0(i64 4, ptr %262) #11
  br label %8610

8610:                                             ; preds = %8609
  br label %8611

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

8612:                                             ; No predecessors!
  br label %8613

8613:                                             ; preds = %8612
  br label %8614

8614:                                             ; preds = %8613, %8556
  br label %8615

8615:                                             ; preds = %8614
  br label %8616

8616:                                             ; preds = %8615
  br label %8617

8617:                                             ; preds = %8616
  %8618 = load i64, ptr %257, align 8, !tbaa !20
  %8619 = add i64 %8618, 1
  store i64 %8619, ptr %257, align 8, !tbaa !20
  br label %8346, !llvm.loop !61

8620:                                             ; preds = %8350
  call void @llvm.lifetime.start.p0(i64 16, ptr %263) #11
  %8621 = getelementptr inbounds %struct.iovec, ptr %263, i32 0, i32 0
  %8622 = getelementptr inbounds [16384 x i8], ptr %10, i64 0, i64 0
  store ptr %8622, ptr %8621, align 8, !tbaa !16
  %8623 = getelementptr inbounds %struct.iovec, ptr %263, i32 0, i32 1
  store i64 10, ptr %8623, align 8, !tbaa !19
  call void @llvm.lifetime.start.p0(i64 8, ptr %264) #11
  store i64 0, ptr %264, align 8, !tbaa !20
  br label %8624

8624:                                             ; preds = %8620
  %8625 = load i32, ptr @test_count, align 4, !tbaa !5
  %8626 = add nsw i32 %8625, 1
  store i32 %8626, ptr @test_count, align 4, !tbaa !5
  %8627 = load ptr, ptr %247, align 8, !tbaa !9
  %8628 = getelementptr inbounds %struct.s2n_connection, ptr %8627, i32 0, i32 8
  %8629 = load ptr, ptr %8628, align 8, !tbaa !21
  %8630 = call i32 @s2n_ktls_sendmsg(ptr noundef %8629, i8 noundef zeroext 43, ptr noundef %263, i64 noundef 1, ptr noundef %253, ptr noundef %264)
  %8631 = getelementptr inbounds %struct.s2n_result, ptr %265, i32 0, i32 0
  store i32 %8630, ptr %8631, align 4
  %8632 = getelementptr inbounds %struct.s2n_result, ptr %265, i32 0, i32 0
  %8633 = load i32, ptr %8632, align 4
  %8634 = call zeroext i1 @s2n_result_is_ok(i32 %8633)
  br i1 %8634, label %8688, label %8635

8635:                                             ; preds = %8624
  br label %8636

8636:                                             ; preds = %8635
  br label %8637

8637:                                             ; preds = %8636
  call void @llvm.lifetime.start.p0(i64 4, ptr %266) #11
  %8638 = call ptr @__errno_location() #12
  %8639 = load i32, ptr %8638, align 4, !tbaa !5
  store i32 %8639, ptr %266, align 4, !tbaa !5
  %8640 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8641 = call i32 @s2n_print_stacktrace(ptr noundef %8640)
  %8642 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8643 = trunc i8 %8642 to i1
  br i1 %8643, label %8644, label %8666

8644:                                             ; preds = %8637
  %8645 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8646 = call i32 @fileno(ptr noundef %8645) #11
  %8647 = call i32 @isatty(i32 noundef %8646) #11
  %8648 = icmp ne i32 %8647, 0
  br i1 %8648, label %8649, label %8666

8649:                                             ; preds = %8644
  %8650 = load i32, ptr %266, align 4, !tbaa !5
  %8651 = call ptr @__errno_location() #12
  store i32 %8650, ptr %8651, align 4, !tbaa !5
  %8652 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8653 = load i32, ptr @test_count, align 4, !tbaa !5
  %8654 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8655 = load i32, ptr %8654, align 4, !tbaa !5
  %8656 = call ptr @s2n_strerror(i32 noundef %8655, ptr noundef @.str.5)
  %8657 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8658 = load i32, ptr %8657, align 4, !tbaa !5
  %8659 = call ptr @s2n_strerror_debug(i32 noundef %8658, ptr noundef @.str.5)
  %8660 = call ptr @__errno_location() #12
  %8661 = load i32, ptr %8660, align 4, !tbaa !5
  %8662 = call ptr @strerror(i32 noundef %8661) #11
  %8663 = call ptr @__errno_location() #12
  %8664 = load i32, ptr %8663, align 4, !tbaa !5
  %8665 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8652, ptr noundef @.str.3, i32 noundef %8653, ptr noundef @.str.29, ptr noundef @.str.2, i32 noundef 436, ptr noundef %8656, ptr noundef %8659, ptr noundef %8662, i32 noundef %8664) #11
  br label %8683

8666:                                             ; preds = %8644, %8637
  %8667 = load i32, ptr %266, align 4, !tbaa !5
  %8668 = call ptr @__errno_location() #12
  store i32 %8667, ptr %8668, align 4, !tbaa !5
  %8669 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8670 = load i32, ptr @test_count, align 4, !tbaa !5
  %8671 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8672 = load i32, ptr %8671, align 4, !tbaa !5
  %8673 = call ptr @s2n_strerror(i32 noundef %8672, ptr noundef @.str.5)
  %8674 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8675 = load i32, ptr %8674, align 4, !tbaa !5
  %8676 = call ptr @s2n_strerror_debug(i32 noundef %8675, ptr noundef @.str.5)
  %8677 = call ptr @__errno_location() #12
  %8678 = load i32, ptr %8677, align 4, !tbaa !5
  %8679 = call ptr @strerror(i32 noundef %8678) #11
  %8680 = call ptr @__errno_location() #12
  %8681 = load i32, ptr %8680, align 4, !tbaa !5
  %8682 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8669, ptr noundef @.str.6, i32 noundef %8670, ptr noundef @.str.29, ptr noundef @.str.2, i32 noundef 436, ptr noundef %8673, ptr noundef %8676, ptr noundef %8679, i32 noundef %8681) #11
  br label %8683

8683:                                             ; preds = %8666, %8649
  call void @llvm.lifetime.end.p0(i64 4, ptr %266) #11
  br label %8684

8684:                                             ; preds = %8683
  br label %8685

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

8686:                                             ; No predecessors!
  br label %8687

8687:                                             ; preds = %8686
  br label %8688

8688:                                             ; preds = %8687, %8624
  br label %8689

8689:                                             ; preds = %8688
  br label %8690

8690:                                             ; preds = %8689
  br label %8691

8691:                                             ; preds = %8690
  %8692 = load i32, ptr @test_count, align 4, !tbaa !5
  %8693 = add nsw i32 %8692, 1
  store i32 %8693, ptr @test_count, align 4, !tbaa !5
  %8694 = load i64, ptr %264, align 8, !tbaa !20
  %8695 = icmp eq i64 %8694, 10
  br i1 %8695, label %8749, label %8696

8696:                                             ; preds = %8691
  br label %8697

8697:                                             ; preds = %8696
  br label %8698

8698:                                             ; preds = %8697
  call void @llvm.lifetime.start.p0(i64 4, ptr %267) #11
  %8699 = call ptr @__errno_location() #12
  %8700 = load i32, ptr %8699, align 4, !tbaa !5
  store i32 %8700, ptr %267, align 4, !tbaa !5
  %8701 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8702 = call i32 @s2n_print_stacktrace(ptr noundef %8701)
  %8703 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8704 = trunc i8 %8703 to i1
  br i1 %8704, label %8705, label %8727

8705:                                             ; preds = %8698
  %8706 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8707 = call i32 @fileno(ptr noundef %8706) #11
  %8708 = call i32 @isatty(i32 noundef %8707) #11
  %8709 = icmp ne i32 %8708, 0
  br i1 %8709, label %8710, label %8727

8710:                                             ; preds = %8705
  %8711 = load i32, ptr %267, align 4, !tbaa !5
  %8712 = call ptr @__errno_location() #12
  store i32 %8711, ptr %8712, align 4, !tbaa !5
  %8713 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8714 = load i32, ptr @test_count, align 4, !tbaa !5
  %8715 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8716 = load i32, ptr %8715, align 4, !tbaa !5
  %8717 = call ptr @s2n_strerror(i32 noundef %8716, ptr noundef @.str.5)
  %8718 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8719 = load i32, ptr %8718, align 4, !tbaa !5
  %8720 = call ptr @s2n_strerror_debug(i32 noundef %8719, ptr noundef @.str.5)
  %8721 = call ptr @__errno_location() #12
  %8722 = load i32, ptr %8721, align 4, !tbaa !5
  %8723 = call ptr @strerror(i32 noundef %8722) #11
  %8724 = call ptr @__errno_location() #12
  %8725 = load i32, ptr %8724, align 4, !tbaa !5
  %8726 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8713, ptr noundef @.str.3, i32 noundef %8714, ptr noundef @.str.30, ptr noundef @.str.2, i32 noundef 437, ptr noundef %8717, ptr noundef %8720, ptr noundef %8723, i32 noundef %8725) #11
  br label %8744

8727:                                             ; preds = %8705, %8698
  %8728 = load i32, ptr %267, align 4, !tbaa !5
  %8729 = call ptr @__errno_location() #12
  store i32 %8728, ptr %8729, align 4, !tbaa !5
  %8730 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8731 = load i32, ptr @test_count, align 4, !tbaa !5
  %8732 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8733 = load i32, ptr %8732, align 4, !tbaa !5
  %8734 = call ptr @s2n_strerror(i32 noundef %8733, ptr noundef @.str.5)
  %8735 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8736 = load i32, ptr %8735, align 4, !tbaa !5
  %8737 = call ptr @s2n_strerror_debug(i32 noundef %8736, ptr noundef @.str.5)
  %8738 = call ptr @__errno_location() #12
  %8739 = load i32, ptr %8738, align 4, !tbaa !5
  %8740 = call ptr @strerror(i32 noundef %8739) #11
  %8741 = call ptr @__errno_location() #12
  %8742 = load i32, ptr %8741, align 4, !tbaa !5
  %8743 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8730, ptr noundef @.str.6, i32 noundef %8731, ptr noundef @.str.30, ptr noundef @.str.2, i32 noundef 437, ptr noundef %8734, ptr noundef %8737, ptr noundef %8740, i32 noundef %8742) #11
  br label %8744

8744:                                             ; preds = %8727, %8710
  call void @llvm.lifetime.end.p0(i64 4, ptr %267) #11
  br label %8745

8745:                                             ; preds = %8744
  br label %8746

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

8747:                                             ; No predecessors!
  br label %8748

8748:                                             ; preds = %8747
  br label %8749

8749:                                             ; preds = %8748, %8691
  br label %8750

8750:                                             ; preds = %8749
  br label %8751

8751:                                             ; preds = %8750
  br label %8752

8752:                                             ; preds = %8751
  %8753 = load i32, ptr @test_count, align 4, !tbaa !5
  %8754 = add nsw i32 %8753, 1
  store i32 %8754, ptr @test_count, align 4, !tbaa !5
  %8755 = load ptr, ptr %248, align 8, !tbaa !9
  %8756 = getelementptr inbounds %struct.s2n_connection, ptr %8755, i32 0, i32 9
  %8757 = load ptr, ptr %8756, align 8, !tbaa !57
  %8758 = getelementptr inbounds [16384 x i8], ptr %252, i64 0, i64 0
  %8759 = call i32 @s2n_ktls_recvmsg(ptr noundef %8757, ptr noundef %255, ptr noundef %8758, i64 noundef 10, ptr noundef %253, ptr noundef %256)
  %8760 = getelementptr inbounds %struct.s2n_result, ptr %268, i32 0, i32 0
  store i32 %8759, ptr %8760, align 4
  %8761 = getelementptr inbounds %struct.s2n_result, ptr %268, i32 0, i32 0
  %8762 = load i32, ptr %8761, align 4
  %8763 = call zeroext i1 @s2n_result_is_ok(i32 %8762)
  br i1 %8763, label %8817, label %8764

8764:                                             ; preds = %8752
  br label %8765

8765:                                             ; preds = %8764
  br label %8766

8766:                                             ; preds = %8765
  call void @llvm.lifetime.start.p0(i64 4, ptr %269) #11
  %8767 = call ptr @__errno_location() #12
  %8768 = load i32, ptr %8767, align 4, !tbaa !5
  store i32 %8768, ptr %269, align 4, !tbaa !5
  %8769 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8770 = call i32 @s2n_print_stacktrace(ptr noundef %8769)
  %8771 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8772 = trunc i8 %8771 to i1
  br i1 %8772, label %8773, label %8795

8773:                                             ; preds = %8766
  %8774 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8775 = call i32 @fileno(ptr noundef %8774) #11
  %8776 = call i32 @isatty(i32 noundef %8775) #11
  %8777 = icmp ne i32 %8776, 0
  br i1 %8777, label %8778, label %8795

8778:                                             ; preds = %8773
  %8779 = load i32, ptr %269, align 4, !tbaa !5
  %8780 = call ptr @__errno_location() #12
  store i32 %8779, ptr %8780, align 4, !tbaa !5
  %8781 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8782 = load i32, ptr @test_count, align 4, !tbaa !5
  %8783 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8784 = load i32, ptr %8783, align 4, !tbaa !5
  %8785 = call ptr @s2n_strerror(i32 noundef %8784, ptr noundef @.str.5)
  %8786 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8787 = load i32, ptr %8786, align 4, !tbaa !5
  %8788 = call ptr @s2n_strerror_debug(i32 noundef %8787, ptr noundef @.str.5)
  %8789 = call ptr @__errno_location() #12
  %8790 = load i32, ptr %8789, align 4, !tbaa !5
  %8791 = call ptr @strerror(i32 noundef %8790) #11
  %8792 = call ptr @__errno_location() #12
  %8793 = load i32, ptr %8792, align 4, !tbaa !5
  %8794 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8781, ptr noundef @.str.3, i32 noundef %8782, ptr noundef @.str.59, ptr noundef @.str.2, i32 noundef 440, ptr noundef %8785, ptr noundef %8788, ptr noundef %8791, i32 noundef %8793) #11
  br label %8812

8795:                                             ; preds = %8773, %8766
  %8796 = load i32, ptr %269, align 4, !tbaa !5
  %8797 = call ptr @__errno_location() #12
  store i32 %8796, ptr %8797, align 4, !tbaa !5
  %8798 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8799 = load i32, ptr @test_count, align 4, !tbaa !5
  %8800 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8801 = load i32, ptr %8800, align 4, !tbaa !5
  %8802 = call ptr @s2n_strerror(i32 noundef %8801, ptr noundef @.str.5)
  %8803 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8804 = load i32, ptr %8803, align 4, !tbaa !5
  %8805 = call ptr @s2n_strerror_debug(i32 noundef %8804, ptr noundef @.str.5)
  %8806 = call ptr @__errno_location() #12
  %8807 = load i32, ptr %8806, align 4, !tbaa !5
  %8808 = call ptr @strerror(i32 noundef %8807) #11
  %8809 = call ptr @__errno_location() #12
  %8810 = load i32, ptr %8809, align 4, !tbaa !5
  %8811 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8798, ptr noundef @.str.6, i32 noundef %8799, ptr noundef @.str.59, ptr noundef @.str.2, i32 noundef 440, ptr noundef %8802, ptr noundef %8805, ptr noundef %8808, i32 noundef %8810) #11
  br label %8812

8812:                                             ; preds = %8795, %8778
  call void @llvm.lifetime.end.p0(i64 4, ptr %269) #11
  br label %8813

8813:                                             ; preds = %8812
  br label %8814

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

8815:                                             ; No predecessors!
  br label %8816

8816:                                             ; preds = %8815
  br label %8817

8817:                                             ; preds = %8816, %8752
  br label %8818

8818:                                             ; preds = %8817
  br label %8819

8819:                                             ; preds = %8818
  br label %8820

8820:                                             ; preds = %8819
  %8821 = load i64, ptr %256, align 8, !tbaa !20
  %8822 = icmp ne i64 %8821, 0
  br i1 %8822, label %8823, label %8888

8823:                                             ; preds = %8820
  br label %8824

8824:                                             ; preds = %8823
  %8825 = load i32, ptr @test_count, align 4, !tbaa !5
  %8826 = add nsw i32 %8825, 1
  store i32 %8826, ptr @test_count, align 4, !tbaa !5
  %8827 = getelementptr inbounds [16384 x i8], ptr %10, i64 0, i64 0
  %8828 = getelementptr inbounds [16384 x i8], ptr %252, i64 0, i64 0
  %8829 = load i64, ptr %256, align 8, !tbaa !20
  %8830 = call i32 @memcmp(ptr noundef %8827, ptr noundef %8828, i64 noundef %8829) #14
  %8831 = icmp eq i32 %8830, 0
  br i1 %8831, label %8885, label %8832

8832:                                             ; preds = %8824
  br label %8833

8833:                                             ; preds = %8832
  br label %8834

8834:                                             ; preds = %8833
  call void @llvm.lifetime.start.p0(i64 4, ptr %270) #11
  %8835 = call ptr @__errno_location() #12
  %8836 = load i32, ptr %8835, align 4, !tbaa !5
  store i32 %8836, ptr %270, align 4, !tbaa !5
  %8837 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8838 = call i32 @s2n_print_stacktrace(ptr noundef %8837)
  %8839 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8840 = trunc i8 %8839 to i1
  br i1 %8840, label %8841, label %8863

8841:                                             ; preds = %8834
  %8842 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8843 = call i32 @fileno(ptr noundef %8842) #11
  %8844 = call i32 @isatty(i32 noundef %8843) #11
  %8845 = icmp ne i32 %8844, 0
  br i1 %8845, label %8846, label %8863

8846:                                             ; preds = %8841
  %8847 = load i32, ptr %270, align 4, !tbaa !5
  %8848 = call ptr @__errno_location() #12
  store i32 %8847, ptr %8848, align 4, !tbaa !5
  %8849 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8850 = load i32, ptr @test_count, align 4, !tbaa !5
  %8851 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8852 = load i32, ptr %8851, align 4, !tbaa !5
  %8853 = call ptr @s2n_strerror(i32 noundef %8852, ptr noundef @.str.5)
  %8854 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8855 = load i32, ptr %8854, align 4, !tbaa !5
  %8856 = call ptr @s2n_strerror_debug(i32 noundef %8855, ptr noundef @.str.5)
  %8857 = call ptr @__errno_location() #12
  %8858 = load i32, ptr %8857, align 4, !tbaa !5
  %8859 = call ptr @strerror(i32 noundef %8858) #11
  %8860 = call ptr @__errno_location() #12
  %8861 = load i32, ptr %8860, align 4, !tbaa !5
  %8862 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8849, ptr noundef @.str.3, i32 noundef %8850, ptr noundef @.str.60, ptr noundef @.str.2, i32 noundef 441, ptr noundef %8853, ptr noundef %8856, ptr noundef %8859, i32 noundef %8861) #11
  br label %8880

8863:                                             ; preds = %8841, %8834
  %8864 = load i32, ptr %270, align 4, !tbaa !5
  %8865 = call ptr @__errno_location() #12
  store i32 %8864, ptr %8865, align 4, !tbaa !5
  %8866 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8867 = load i32, ptr @test_count, align 4, !tbaa !5
  %8868 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8869 = load i32, ptr %8868, align 4, !tbaa !5
  %8870 = call ptr @s2n_strerror(i32 noundef %8869, ptr noundef @.str.5)
  %8871 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8872 = load i32, ptr %8871, align 4, !tbaa !5
  %8873 = call ptr @s2n_strerror_debug(i32 noundef %8872, ptr noundef @.str.5)
  %8874 = call ptr @__errno_location() #12
  %8875 = load i32, ptr %8874, align 4, !tbaa !5
  %8876 = call ptr @strerror(i32 noundef %8875) #11
  %8877 = call ptr @__errno_location() #12
  %8878 = load i32, ptr %8877, align 4, !tbaa !5
  %8879 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8866, ptr noundef @.str.6, i32 noundef %8867, ptr noundef @.str.60, ptr noundef @.str.2, i32 noundef 441, ptr noundef %8870, ptr noundef %8873, ptr noundef %8876, i32 noundef %8878) #11
  br label %8880

8880:                                             ; preds = %8863, %8846
  call void @llvm.lifetime.end.p0(i64 4, ptr %270) #11
  br label %8881

8881:                                             ; preds = %8880
  br label %8882

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

8883:                                             ; No predecessors!
  br label %8884

8884:                                             ; preds = %8883
  br label %8885

8885:                                             ; preds = %8884, %8824
  br label %8886

8886:                                             ; preds = %8885
  br label %8887

8887:                                             ; preds = %8886
  br label %8888

8888:                                             ; preds = %8887, %8820
  br label %8889

8889:                                             ; preds = %8888
  br label %8890

8890:                                             ; preds = %8889
  br label %8891

8891:                                             ; preds = %8890
  %8892 = load i32, ptr @test_count, align 4, !tbaa !5
  %8893 = add nsw i32 %8892, 1
  store i32 %8893, ptr @test_count, align 4, !tbaa !5
  %8894 = load i64, ptr %256, align 8, !tbaa !20
  %8895 = load i64, ptr %264, align 8, !tbaa !20
  %8896 = icmp eq i64 %8894, %8895
  br i1 %8896, label %8950, label %8897

8897:                                             ; preds = %8891
  br label %8898

8898:                                             ; preds = %8897
  br label %8899

8899:                                             ; preds = %8898
  call void @llvm.lifetime.start.p0(i64 4, ptr %271) #11
  %8900 = call ptr @__errno_location() #12
  %8901 = load i32, ptr %8900, align 4, !tbaa !5
  store i32 %8901, ptr %271, align 4, !tbaa !5
  %8902 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8903 = call i32 @s2n_print_stacktrace(ptr noundef %8902)
  %8904 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8905 = trunc i8 %8904 to i1
  br i1 %8905, label %8906, label %8928

8906:                                             ; preds = %8899
  %8907 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8908 = call i32 @fileno(ptr noundef %8907) #11
  %8909 = call i32 @isatty(i32 noundef %8908) #11
  %8910 = icmp ne i32 %8909, 0
  br i1 %8910, label %8911, label %8928

8911:                                             ; preds = %8906
  %8912 = load i32, ptr %271, align 4, !tbaa !5
  %8913 = call ptr @__errno_location() #12
  store i32 %8912, ptr %8913, align 4, !tbaa !5
  %8914 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8915 = load i32, ptr @test_count, align 4, !tbaa !5
  %8916 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8917 = load i32, ptr %8916, align 4, !tbaa !5
  %8918 = call ptr @s2n_strerror(i32 noundef %8917, ptr noundef @.str.5)
  %8919 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8920 = load i32, ptr %8919, align 4, !tbaa !5
  %8921 = call ptr @s2n_strerror_debug(i32 noundef %8920, ptr noundef @.str.5)
  %8922 = call ptr @__errno_location() #12
  %8923 = load i32, ptr %8922, align 4, !tbaa !5
  %8924 = call ptr @strerror(i32 noundef %8923) #11
  %8925 = call ptr @__errno_location() #12
  %8926 = load i32, ptr %8925, align 4, !tbaa !5
  %8927 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8914, ptr noundef @.str.3, i32 noundef %8915, ptr noundef @.str.61, ptr noundef @.str.2, i32 noundef 442, ptr noundef %8918, ptr noundef %8921, ptr noundef %8924, i32 noundef %8926) #11
  br label %8945

8928:                                             ; preds = %8906, %8899
  %8929 = load i32, ptr %271, align 4, !tbaa !5
  %8930 = call ptr @__errno_location() #12
  store i32 %8929, ptr %8930, align 4, !tbaa !5
  %8931 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8932 = load i32, ptr @test_count, align 4, !tbaa !5
  %8933 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8934 = load i32, ptr %8933, align 4, !tbaa !5
  %8935 = call ptr @s2n_strerror(i32 noundef %8934, ptr noundef @.str.5)
  %8936 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8937 = load i32, ptr %8936, align 4, !tbaa !5
  %8938 = call ptr @s2n_strerror_debug(i32 noundef %8937, ptr noundef @.str.5)
  %8939 = call ptr @__errno_location() #12
  %8940 = load i32, ptr %8939, align 4, !tbaa !5
  %8941 = call ptr @strerror(i32 noundef %8940) #11
  %8942 = call ptr @__errno_location() #12
  %8943 = load i32, ptr %8942, align 4, !tbaa !5
  %8944 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8931, ptr noundef @.str.6, i32 noundef %8932, ptr noundef @.str.61, ptr noundef @.str.2, i32 noundef 442, ptr noundef %8935, ptr noundef %8938, ptr noundef %8941, i32 noundef %8943) #11
  br label %8945

8945:                                             ; preds = %8928, %8911
  call void @llvm.lifetime.end.p0(i64 4, ptr %271) #11
  br label %8946

8946:                                             ; preds = %8945
  br label %8947

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

8948:                                             ; No predecessors!
  br label %8949

8949:                                             ; preds = %8948
  br label %8950

8950:                                             ; preds = %8949, %8891
  br label %8951

8951:                                             ; preds = %8950
  br label %8952

8952:                                             ; preds = %8951
  call void @llvm.lifetime.start.p0(i64 8, ptr %272) #11
  store i64 0, ptr %272, align 8, !tbaa !20
  br label %8953

8953:                                             ; preds = %9224, %8952
  %8954 = load i64, ptr %272, align 8, !tbaa !20
  %8955 = load i64, ptr %254, align 8, !tbaa !20
  %8956 = icmp ult i64 %8954, %8955
  br i1 %8956, label %8958, label %8957

8957:                                             ; preds = %8953
  call void @llvm.lifetime.end.p0(i64 8, ptr %272) #11
  br label %9227

8958:                                             ; preds = %8953
  br label %8959

8959:                                             ; preds = %8958
  br label %8960

8960:                                             ; preds = %8959
  br label %8961

8961:                                             ; preds = %8960
  %8962 = load i32, ptr @test_count, align 4, !tbaa !5
  %8963 = add nsw i32 %8962, 1
  store i32 %8963, ptr @test_count, align 4, !tbaa !5
  %8964 = load ptr, ptr %248, align 8, !tbaa !9
  %8965 = getelementptr inbounds %struct.s2n_connection, ptr %8964, i32 0, i32 9
  %8966 = load ptr, ptr %8965, align 8, !tbaa !57
  %8967 = getelementptr inbounds [16384 x i8], ptr %252, i64 0, i64 0
  %8968 = call i32 @s2n_ktls_recvmsg(ptr noundef %8966, ptr noundef %255, ptr noundef %8967, i64 noundef 10, ptr noundef %253, ptr noundef %256)
  %8969 = getelementptr inbounds %struct.s2n_result, ptr %273, i32 0, i32 0
  store i32 %8968, ptr %8969, align 4
  %8970 = getelementptr inbounds %struct.s2n_result, ptr %273, i32 0, i32 0
  %8971 = load i32, ptr %8970, align 4
  %8972 = call zeroext i1 @s2n_result_is_error(i32 %8971)
  br i1 %8972, label %9026, label %8973

8973:                                             ; preds = %8961
  br label %8974

8974:                                             ; preds = %8973
  br label %8975

8975:                                             ; preds = %8974
  call void @llvm.lifetime.start.p0(i64 4, ptr %274) #11
  %8976 = call ptr @__errno_location() #12
  %8977 = load i32, ptr %8976, align 4, !tbaa !5
  store i32 %8977, ptr %274, align 4, !tbaa !5
  %8978 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8979 = call i32 @s2n_print_stacktrace(ptr noundef %8978)
  %8980 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8981 = trunc i8 %8980 to i1
  br i1 %8981, label %8982, label %9004

8982:                                             ; preds = %8975
  %8983 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8984 = call i32 @fileno(ptr noundef %8983) #11
  %8985 = call i32 @isatty(i32 noundef %8984) #11
  %8986 = icmp ne i32 %8985, 0
  br i1 %8986, label %8987, label %9004

8987:                                             ; preds = %8982
  %8988 = load i32, ptr %274, align 4, !tbaa !5
  %8989 = call ptr @__errno_location() #12
  store i32 %8988, ptr %8989, align 4, !tbaa !5
  %8990 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8991 = load i32, ptr @test_count, align 4, !tbaa !5
  %8992 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8993 = load i32, ptr %8992, align 4, !tbaa !5
  %8994 = call ptr @s2n_strerror(i32 noundef %8993, ptr noundef @.str.5)
  %8995 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8996 = load i32, ptr %8995, align 4, !tbaa !5
  %8997 = call ptr @s2n_strerror_debug(i32 noundef %8996, ptr noundef @.str.5)
  %8998 = call ptr @__errno_location() #12
  %8999 = load i32, ptr %8998, align 4, !tbaa !5
  %9000 = call ptr @strerror(i32 noundef %8999) #11
  %9001 = call ptr @__errno_location() #12
  %9002 = load i32, ptr %9001, align 4, !tbaa !5
  %9003 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8990, ptr noundef @.str.3, i32 noundef %8991, ptr noundef @.str.64, ptr noundef @.str.2, i32 noundef 449, ptr noundef %8994, ptr noundef %8997, ptr noundef %9000, i32 noundef %9002) #11
  br label %9021

9004:                                             ; preds = %8982, %8975
  %9005 = load i32, ptr %274, align 4, !tbaa !5
  %9006 = call ptr @__errno_location() #12
  store i32 %9005, ptr %9006, align 4, !tbaa !5
  %9007 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9008 = load i32, ptr @test_count, align 4, !tbaa !5
  %9009 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9010 = load i32, ptr %9009, align 4, !tbaa !5
  %9011 = call ptr @s2n_strerror(i32 noundef %9010, ptr noundef @.str.5)
  %9012 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9013 = load i32, ptr %9012, align 4, !tbaa !5
  %9014 = call ptr @s2n_strerror_debug(i32 noundef %9013, ptr noundef @.str.5)
  %9015 = call ptr @__errno_location() #12
  %9016 = load i32, ptr %9015, align 4, !tbaa !5
  %9017 = call ptr @strerror(i32 noundef %9016) #11
  %9018 = call ptr @__errno_location() #12
  %9019 = load i32, ptr %9018, align 4, !tbaa !5
  %9020 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9007, ptr noundef @.str.6, i32 noundef %9008, ptr noundef @.str.64, ptr noundef @.str.2, i32 noundef 449, ptr noundef %9011, ptr noundef %9014, ptr noundef %9017, i32 noundef %9019) #11
  br label %9021

9021:                                             ; preds = %9004, %8987
  call void @llvm.lifetime.end.p0(i64 4, ptr %274) #11
  br label %9022

9022:                                             ; preds = %9021
  br label %9023

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

9024:                                             ; No predecessors!
  br label %9025

9025:                                             ; preds = %9024
  br label %9026

9026:                                             ; preds = %9025, %8961
  br label %9027

9027:                                             ; preds = %9026
  br label %9028

9028:                                             ; preds = %9027
  br label %9029

9029:                                             ; preds = %9028
  %9030 = load i32, ptr @test_count, align 4, !tbaa !5
  %9031 = add nsw i32 %9030, 1
  store i32 %9031, ptr @test_count, align 4, !tbaa !5
  %9032 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9033 = load i32, ptr %9032, align 4, !tbaa !5
  %9034 = icmp eq i32 %9033, 201326592
  br i1 %9034, label %9088, label %9035

9035:                                             ; preds = %9029
  br label %9036

9036:                                             ; preds = %9035
  br label %9037

9037:                                             ; preds = %9036
  call void @llvm.lifetime.start.p0(i64 4, ptr %275) #11
  %9038 = call ptr @__errno_location() #12
  %9039 = load i32, ptr %9038, align 4, !tbaa !5
  store i32 %9039, ptr %275, align 4, !tbaa !5
  %9040 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9041 = call i32 @s2n_print_stacktrace(ptr noundef %9040)
  %9042 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9043 = trunc i8 %9042 to i1
  br i1 %9043, label %9044, label %9066

9044:                                             ; preds = %9037
  %9045 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9046 = call i32 @fileno(ptr noundef %9045) #11
  %9047 = call i32 @isatty(i32 noundef %9046) #11
  %9048 = icmp ne i32 %9047, 0
  br i1 %9048, label %9049, label %9066

9049:                                             ; preds = %9044
  %9050 = load i32, ptr %275, align 4, !tbaa !5
  %9051 = call ptr @__errno_location() #12
  store i32 %9050, ptr %9051, align 4, !tbaa !5
  %9052 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9053 = load i32, ptr @test_count, align 4, !tbaa !5
  %9054 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9055 = load i32, ptr %9054, align 4, !tbaa !5
  %9056 = call ptr @s2n_strerror(i32 noundef %9055, ptr noundef @.str.5)
  %9057 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9058 = load i32, ptr %9057, align 4, !tbaa !5
  %9059 = call ptr @s2n_strerror_debug(i32 noundef %9058, ptr noundef @.str.5)
  %9060 = call ptr @__errno_location() #12
  %9061 = load i32, ptr %9060, align 4, !tbaa !5
  %9062 = call ptr @strerror(i32 noundef %9061) #11
  %9063 = call ptr @__errno_location() #12
  %9064 = load i32, ptr %9063, align 4, !tbaa !5
  %9065 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9052, ptr noundef @.str.3, i32 noundef %9053, ptr noundef @.str.41, ptr noundef @.str.2, i32 noundef 449, ptr noundef %9056, ptr noundef %9059, ptr noundef %9062, i32 noundef %9064) #11
  br label %9083

9066:                                             ; preds = %9044, %9037
  %9067 = load i32, ptr %275, align 4, !tbaa !5
  %9068 = call ptr @__errno_location() #12
  store i32 %9067, ptr %9068, align 4, !tbaa !5
  %9069 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9070 = load i32, ptr @test_count, align 4, !tbaa !5
  %9071 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9072 = load i32, ptr %9071, align 4, !tbaa !5
  %9073 = call ptr @s2n_strerror(i32 noundef %9072, ptr noundef @.str.5)
  %9074 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9075 = load i32, ptr %9074, align 4, !tbaa !5
  %9076 = call ptr @s2n_strerror_debug(i32 noundef %9075, ptr noundef @.str.5)
  %9077 = call ptr @__errno_location() #12
  %9078 = load i32, ptr %9077, align 4, !tbaa !5
  %9079 = call ptr @strerror(i32 noundef %9078) #11
  %9080 = call ptr @__errno_location() #12
  %9081 = load i32, ptr %9080, align 4, !tbaa !5
  %9082 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9069, ptr noundef @.str.6, i32 noundef %9070, ptr noundef @.str.41, ptr noundef @.str.2, i32 noundef 449, ptr noundef %9073, ptr noundef %9076, ptr noundef %9079, i32 noundef %9081) #11
  br label %9083

9083:                                             ; preds = %9066, %9049
  call void @llvm.lifetime.end.p0(i64 4, ptr %275) #11
  br label %9084

9084:                                             ; preds = %9083
  br label %9085

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

9086:                                             ; No predecessors!
  br label %9087

9087:                                             ; preds = %9086
  br label %9088

9088:                                             ; preds = %9087, %9029
  br label %9089

9089:                                             ; preds = %9088
  br label %9090

9090:                                             ; preds = %9089
  br label %9091

9091:                                             ; preds = %9090
  %9092 = load i32, ptr @test_count, align 4, !tbaa !5
  %9093 = add nsw i32 %9092, 1
  store i32 %9093, ptr @test_count, align 4, !tbaa !5
  %9094 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9095 = load i32, ptr %9094, align 4, !tbaa !5
  %9096 = call ptr @s2n_strerror_debug(i32 noundef %9095, ptr noundef @.str.5)
  %9097 = icmp eq ptr %9096, null
  br i1 %9097, label %9098, label %9151

9098:                                             ; preds = %9091
  br label %9099

9099:                                             ; preds = %9098
  br label %9100

9100:                                             ; preds = %9099
  call void @llvm.lifetime.start.p0(i64 4, ptr %276) #11
  %9101 = call ptr @__errno_location() #12
  %9102 = load i32, ptr %9101, align 4, !tbaa !5
  store i32 %9102, ptr %276, align 4, !tbaa !5
  %9103 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9104 = call i32 @s2n_print_stacktrace(ptr noundef %9103)
  %9105 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9106 = trunc i8 %9105 to i1
  br i1 %9106, label %9107, label %9129

9107:                                             ; preds = %9100
  %9108 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9109 = call i32 @fileno(ptr noundef %9108) #11
  %9110 = call i32 @isatty(i32 noundef %9109) #11
  %9111 = icmp ne i32 %9110, 0
  br i1 %9111, label %9112, label %9129

9112:                                             ; preds = %9107
  %9113 = load i32, ptr %276, align 4, !tbaa !5
  %9114 = call ptr @__errno_location() #12
  store i32 %9113, ptr %9114, align 4, !tbaa !5
  %9115 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9116 = load i32, ptr @test_count, align 4, !tbaa !5
  %9117 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9118 = load i32, ptr %9117, align 4, !tbaa !5
  %9119 = call ptr @s2n_strerror(i32 noundef %9118, ptr noundef @.str.5)
  %9120 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9121 = load i32, ptr %9120, align 4, !tbaa !5
  %9122 = call ptr @s2n_strerror_debug(i32 noundef %9121, ptr noundef @.str.5)
  %9123 = call ptr @__errno_location() #12
  %9124 = load i32, ptr %9123, align 4, !tbaa !5
  %9125 = call ptr @strerror(i32 noundef %9124) #11
  %9126 = call ptr @__errno_location() #12
  %9127 = load i32, ptr %9126, align 4, !tbaa !5
  %9128 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9115, ptr noundef @.str.3, i32 noundef %9116, ptr noundef @.str.13, ptr noundef @.str.2, i32 noundef 449, ptr noundef %9119, ptr noundef %9122, ptr noundef %9125, i32 noundef %9127) #11
  br label %9146

9129:                                             ; preds = %9107, %9100
  %9130 = load i32, ptr %276, align 4, !tbaa !5
  %9131 = call ptr @__errno_location() #12
  store i32 %9130, ptr %9131, align 4, !tbaa !5
  %9132 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9133 = load i32, ptr @test_count, align 4, !tbaa !5
  %9134 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9135 = load i32, ptr %9134, align 4, !tbaa !5
  %9136 = call ptr @s2n_strerror(i32 noundef %9135, ptr noundef @.str.5)
  %9137 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9138 = load i32, ptr %9137, align 4, !tbaa !5
  %9139 = call ptr @s2n_strerror_debug(i32 noundef %9138, ptr noundef @.str.5)
  %9140 = call ptr @__errno_location() #12
  %9141 = load i32, ptr %9140, align 4, !tbaa !5
  %9142 = call ptr @strerror(i32 noundef %9141) #11
  %9143 = call ptr @__errno_location() #12
  %9144 = load i32, ptr %9143, align 4, !tbaa !5
  %9145 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9132, ptr noundef @.str.6, i32 noundef %9133, ptr noundef @.str.13, ptr noundef @.str.2, i32 noundef 449, ptr noundef %9136, ptr noundef %9139, ptr noundef %9142, i32 noundef %9144) #11
  br label %9146

9146:                                             ; preds = %9129, %9112
  call void @llvm.lifetime.end.p0(i64 4, ptr %276) #11
  br label %9147

9147:                                             ; preds = %9146
  br label %9148

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

9149:                                             ; No predecessors!
  br label %9150

9150:                                             ; preds = %9149
  br label %9151

9151:                                             ; preds = %9150, %9091
  br label %9152

9152:                                             ; preds = %9151
  br label %9153

9153:                                             ; preds = %9152
  br label %9154

9154:                                             ; preds = %9153
  br label %9155

9155:                                             ; preds = %9154
  br label %9156

9156:                                             ; preds = %9155
  %9157 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %9157, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %9158 = call ptr @__errno_location() #12
  store i32 0, ptr %9158, align 4, !tbaa !5
  br label %9159

9159:                                             ; preds = %9156
  br label %9160

9160:                                             ; preds = %9159
  br label %9161

9161:                                             ; preds = %9160
  br label %9162

9162:                                             ; preds = %9161
  br label %9163

9163:                                             ; preds = %9162
  %9164 = load i32, ptr @test_count, align 4, !tbaa !5
  %9165 = add nsw i32 %9164, 1
  store i32 %9165, ptr @test_count, align 4, !tbaa !5
  %9166 = load i32, ptr %253, align 4, !tbaa !5
  %9167 = icmp eq i32 %9166, 1
  br i1 %9167, label %9221, label %9168

9168:                                             ; preds = %9163
  br label %9169

9169:                                             ; preds = %9168
  br label %9170

9170:                                             ; preds = %9169
  call void @llvm.lifetime.start.p0(i64 4, ptr %277) #11
  %9171 = call ptr @__errno_location() #12
  %9172 = load i32, ptr %9171, align 4, !tbaa !5
  store i32 %9172, ptr %277, align 4, !tbaa !5
  %9173 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9174 = call i32 @s2n_print_stacktrace(ptr noundef %9173)
  %9175 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9176 = trunc i8 %9175 to i1
  br i1 %9176, label %9177, label %9199

9177:                                             ; preds = %9170
  %9178 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9179 = call i32 @fileno(ptr noundef %9178) #11
  %9180 = call i32 @isatty(i32 noundef %9179) #11
  %9181 = icmp ne i32 %9180, 0
  br i1 %9181, label %9182, label %9199

9182:                                             ; preds = %9177
  %9183 = load i32, ptr %277, align 4, !tbaa !5
  %9184 = call ptr @__errno_location() #12
  store i32 %9183, ptr %9184, align 4, !tbaa !5
  %9185 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9186 = load i32, ptr @test_count, align 4, !tbaa !5
  %9187 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9188 = load i32, ptr %9187, align 4, !tbaa !5
  %9189 = call ptr @s2n_strerror(i32 noundef %9188, ptr noundef @.str.5)
  %9190 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9191 = load i32, ptr %9190, align 4, !tbaa !5
  %9192 = call ptr @s2n_strerror_debug(i32 noundef %9191, ptr noundef @.str.5)
  %9193 = call ptr @__errno_location() #12
  %9194 = load i32, ptr %9193, align 4, !tbaa !5
  %9195 = call ptr @strerror(i32 noundef %9194) #11
  %9196 = call ptr @__errno_location() #12
  %9197 = load i32, ptr %9196, align 4, !tbaa !5
  %9198 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9185, ptr noundef @.str.3, i32 noundef %9186, ptr noundef @.str.65, ptr noundef @.str.2, i32 noundef 450, ptr noundef %9189, ptr noundef %9192, ptr noundef %9195, i32 noundef %9197) #11
  br label %9216

9199:                                             ; preds = %9177, %9170
  %9200 = load i32, ptr %277, align 4, !tbaa !5
  %9201 = call ptr @__errno_location() #12
  store i32 %9200, ptr %9201, align 4, !tbaa !5
  %9202 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9203 = load i32, ptr @test_count, align 4, !tbaa !5
  %9204 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9205 = load i32, ptr %9204, align 4, !tbaa !5
  %9206 = call ptr @s2n_strerror(i32 noundef %9205, ptr noundef @.str.5)
  %9207 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9208 = load i32, ptr %9207, align 4, !tbaa !5
  %9209 = call ptr @s2n_strerror_debug(i32 noundef %9208, ptr noundef @.str.5)
  %9210 = call ptr @__errno_location() #12
  %9211 = load i32, ptr %9210, align 4, !tbaa !5
  %9212 = call ptr @strerror(i32 noundef %9211) #11
  %9213 = call ptr @__errno_location() #12
  %9214 = load i32, ptr %9213, align 4, !tbaa !5
  %9215 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9202, ptr noundef @.str.6, i32 noundef %9203, ptr noundef @.str.65, ptr noundef @.str.2, i32 noundef 450, ptr noundef %9206, ptr noundef %9209, ptr noundef %9212, i32 noundef %9214) #11
  br label %9216

9216:                                             ; preds = %9199, %9182
  call void @llvm.lifetime.end.p0(i64 4, ptr %277) #11
  br label %9217

9217:                                             ; preds = %9216
  br label %9218

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

9219:                                             ; No predecessors!
  br label %9220

9220:                                             ; preds = %9219
  br label %9221

9221:                                             ; preds = %9220, %9163
  br label %9222

9222:                                             ; preds = %9221
  br label %9223

9223:                                             ; preds = %9222
  br label %9224

9224:                                             ; preds = %9223
  %9225 = load i64, ptr %272, align 8, !tbaa !20
  %9226 = add i64 %9225, 1
  store i64 %9226, ptr %272, align 8, !tbaa !20
  br label %8953, !llvm.loop !62

9227:                                             ; preds = %8957
  br label %9228

9228:                                             ; preds = %9227
  %9229 = load i32, ptr @test_count, align 4, !tbaa !5
  %9230 = add nsw i32 %9229, 1
  store i32 %9230, ptr @test_count, align 4, !tbaa !5
  %9231 = getelementptr inbounds %struct.s2n_test_ktls_io_stuffer_pair, ptr %249, i32 0, i32 0
  %9232 = getelementptr inbounds %struct.s2n_test_ktls_io_stuffer, ptr %9231, i32 0, i32 3
  %9233 = load i64, ptr %9232, align 8, !tbaa !60
  %9234 = load i64, ptr %254, align 8, !tbaa !20
  %9235 = mul i64 %9234, 2
  %9236 = add i64 %9235, 1
  %9237 = icmp eq i64 %9233, %9236
  br i1 %9237, label %9291, label %9238

9238:                                             ; preds = %9228
  br label %9239

9239:                                             ; preds = %9238
  br label %9240

9240:                                             ; preds = %9239
  call void @llvm.lifetime.start.p0(i64 4, ptr %278) #11
  %9241 = call ptr @__errno_location() #12
  %9242 = load i32, ptr %9241, align 4, !tbaa !5
  store i32 %9242, ptr %278, align 4, !tbaa !5
  %9243 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9244 = call i32 @s2n_print_stacktrace(ptr noundef %9243)
  %9245 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9246 = trunc i8 %9245 to i1
  br i1 %9246, label %9247, label %9269

9247:                                             ; preds = %9240
  %9248 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9249 = call i32 @fileno(ptr noundef %9248) #11
  %9250 = call i32 @isatty(i32 noundef %9249) #11
  %9251 = icmp ne i32 %9250, 0
  br i1 %9251, label %9252, label %9269

9252:                                             ; preds = %9247
  %9253 = load i32, ptr %278, align 4, !tbaa !5
  %9254 = call ptr @__errno_location() #12
  store i32 %9253, ptr %9254, align 4, !tbaa !5
  %9255 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9256 = load i32, ptr @test_count, align 4, !tbaa !5
  %9257 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9258 = load i32, ptr %9257, align 4, !tbaa !5
  %9259 = call ptr @s2n_strerror(i32 noundef %9258, ptr noundef @.str.5)
  %9260 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9261 = load i32, ptr %9260, align 4, !tbaa !5
  %9262 = call ptr @s2n_strerror_debug(i32 noundef %9261, ptr noundef @.str.5)
  %9263 = call ptr @__errno_location() #12
  %9264 = load i32, ptr %9263, align 4, !tbaa !5
  %9265 = call ptr @strerror(i32 noundef %9264) #11
  %9266 = call ptr @__errno_location() #12
  %9267 = load i32, ptr %9266, align 4, !tbaa !5
  %9268 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9255, ptr noundef @.str.3, i32 noundef %9256, ptr noundef @.str.66, ptr noundef @.str.2, i32 noundef 453, ptr noundef %9259, ptr noundef %9262, ptr noundef %9265, i32 noundef %9267) #11
  br label %9286

9269:                                             ; preds = %9247, %9240
  %9270 = load i32, ptr %278, align 4, !tbaa !5
  %9271 = call ptr @__errno_location() #12
  store i32 %9270, ptr %9271, align 4, !tbaa !5
  %9272 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9273 = load i32, ptr @test_count, align 4, !tbaa !5
  %9274 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9275 = load i32, ptr %9274, align 4, !tbaa !5
  %9276 = call ptr @s2n_strerror(i32 noundef %9275, ptr noundef @.str.5)
  %9277 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9278 = load i32, ptr %9277, align 4, !tbaa !5
  %9279 = call ptr @s2n_strerror_debug(i32 noundef %9278, ptr noundef @.str.5)
  %9280 = call ptr @__errno_location() #12
  %9281 = load i32, ptr %9280, align 4, !tbaa !5
  %9282 = call ptr @strerror(i32 noundef %9281) #11
  %9283 = call ptr @__errno_location() #12
  %9284 = load i32, ptr %9283, align 4, !tbaa !5
  %9285 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9272, ptr noundef @.str.6, i32 noundef %9273, ptr noundef @.str.66, ptr noundef @.str.2, i32 noundef 453, ptr noundef %9276, ptr noundef %9279, ptr noundef %9282, i32 noundef %9284) #11
  br label %9286

9286:                                             ; preds = %9269, %9252
  call void @llvm.lifetime.end.p0(i64 4, ptr %278) #11
  br label %9287

9287:                                             ; preds = %9286
  br label %9288

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

9289:                                             ; No predecessors!
  br label %9290

9290:                                             ; preds = %9289
  br label %9291

9291:                                             ; preds = %9290, %9228
  br label %9292

9292:                                             ; preds = %9291
  br label %9293

9293:                                             ; preds = %9292
  br label %9294

9294:                                             ; preds = %9293
  %9295 = load i32, ptr @test_count, align 4, !tbaa !5
  %9296 = add nsw i32 %9295, 1
  store i32 %9296, ptr @test_count, align 4, !tbaa !5
  %9297 = getelementptr inbounds %struct.s2n_test_ktls_io_stuffer_pair, ptr %249, i32 0, i32 0
  %9298 = getelementptr inbounds %struct.s2n_test_ktls_io_stuffer, ptr %9297, i32 0, i32 2
  %9299 = load i64, ptr %9298, align 8, !tbaa !58
  %9300 = icmp eq i64 %9299, 1
  br i1 %9300, label %9354, label %9301

9301:                                             ; preds = %9294
  br label %9302

9302:                                             ; preds = %9301
  br label %9303

9303:                                             ; preds = %9302
  call void @llvm.lifetime.start.p0(i64 4, ptr %279) #11
  %9304 = call ptr @__errno_location() #12
  %9305 = load i32, ptr %9304, align 4, !tbaa !5
  store i32 %9305, ptr %279, align 4, !tbaa !5
  %9306 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9307 = call i32 @s2n_print_stacktrace(ptr noundef %9306)
  %9308 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9309 = trunc i8 %9308 to i1
  br i1 %9309, label %9310, label %9332

9310:                                             ; preds = %9303
  %9311 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9312 = call i32 @fileno(ptr noundef %9311) #11
  %9313 = call i32 @isatty(i32 noundef %9312) #11
  %9314 = icmp ne i32 %9313, 0
  br i1 %9314, label %9315, label %9332

9315:                                             ; preds = %9310
  %9316 = load i32, ptr %279, align 4, !tbaa !5
  %9317 = call ptr @__errno_location() #12
  store i32 %9316, ptr %9317, align 4, !tbaa !5
  %9318 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9319 = load i32, ptr @test_count, align 4, !tbaa !5
  %9320 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9321 = load i32, ptr %9320, align 4, !tbaa !5
  %9322 = call ptr @s2n_strerror(i32 noundef %9321, ptr noundef @.str.5)
  %9323 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9324 = load i32, ptr %9323, align 4, !tbaa !5
  %9325 = call ptr @s2n_strerror_debug(i32 noundef %9324, ptr noundef @.str.5)
  %9326 = call ptr @__errno_location() #12
  %9327 = load i32, ptr %9326, align 4, !tbaa !5
  %9328 = call ptr @strerror(i32 noundef %9327) #11
  %9329 = call ptr @__errno_location() #12
  %9330 = load i32, ptr %9329, align 4, !tbaa !5
  %9331 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9318, ptr noundef @.str.3, i32 noundef %9319, ptr noundef @.str.62, ptr noundef @.str.2, i32 noundef 454, ptr noundef %9322, ptr noundef %9325, ptr noundef %9328, i32 noundef %9330) #11
  br label %9349

9332:                                             ; preds = %9310, %9303
  %9333 = load i32, ptr %279, align 4, !tbaa !5
  %9334 = call ptr @__errno_location() #12
  store i32 %9333, ptr %9334, align 4, !tbaa !5
  %9335 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9336 = load i32, ptr @test_count, align 4, !tbaa !5
  %9337 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9338 = load i32, ptr %9337, align 4, !tbaa !5
  %9339 = call ptr @s2n_strerror(i32 noundef %9338, ptr noundef @.str.5)
  %9340 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9341 = load i32, ptr %9340, align 4, !tbaa !5
  %9342 = call ptr @s2n_strerror_debug(i32 noundef %9341, ptr noundef @.str.5)
  %9343 = call ptr @__errno_location() #12
  %9344 = load i32, ptr %9343, align 4, !tbaa !5
  %9345 = call ptr @strerror(i32 noundef %9344) #11
  %9346 = call ptr @__errno_location() #12
  %9347 = load i32, ptr %9346, align 4, !tbaa !5
  %9348 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9335, ptr noundef @.str.6, i32 noundef %9336, ptr noundef @.str.62, ptr noundef @.str.2, i32 noundef 454, ptr noundef %9339, ptr noundef %9342, ptr noundef %9345, i32 noundef %9347) #11
  br label %9349

9349:                                             ; preds = %9332, %9315
  call void @llvm.lifetime.end.p0(i64 4, ptr %279) #11
  br label %9350

9350:                                             ; preds = %9349
  br label %9351

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

9352:                                             ; No predecessors!
  br label %9353

9353:                                             ; preds = %9352
  br label %9354

9354:                                             ; preds = %9353, %9294
  br label %9355

9355:                                             ; preds = %9354
  br label %9356

9356:                                             ; preds = %9355
  call void @llvm.lifetime.end.p0(i64 8, ptr %264) #11
  call void @llvm.lifetime.end.p0(i64 16, ptr %263) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %256) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %255) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %254) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %253) #11
  call void @llvm.lifetime.end.p0(i64 16384, ptr %252) #11
  %9357 = call i32 @s2n_ktls_io_stuffer_pair_free(ptr noundef %249)
  %9358 = getelementptr inbounds %struct.s2n_result, ptr %280, i32 0, i32 0
  store i32 %9357, ptr %9358, align 4
  call void @llvm.lifetime.end.p0(i64 192, ptr %249) #11
  %9359 = call i32 @s2n_connection_ptr_free(ptr noundef %248)
  %9360 = getelementptr inbounds %struct.s2n_result, ptr %281, i32 0, i32 0
  store i32 %9359, ptr %9360, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %248) #11
  %9361 = call i32 @s2n_connection_ptr_free(ptr noundef %247)
  %9362 = getelementptr inbounds %struct.s2n_result, ptr %282, i32 0, i32 0
  store i32 %9361, ptr %9362, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %247) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %283) #11
  %9363 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %9363, ptr %283, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %284) #11
  call void @llvm.memset.p0.i64(ptr align 8 %284, i8 0, i64 16, i1 false)
  br label %9364

9364:                                             ; preds = %9356
  %9365 = load i32, ptr @test_count, align 4, !tbaa !5
  %9366 = add nsw i32 %9365, 1
  store i32 %9366, ptr @test_count, align 4, !tbaa !5
  %9367 = load ptr, ptr %283, align 8, !tbaa !9
  %9368 = call i32 @s2n_ktls_set_recvmsg_cb(ptr noundef %9367, ptr noundef @s2n_test_ktls_recvmsg_fail, ptr noundef %284)
  %9369 = getelementptr inbounds %struct.s2n_result, ptr %285, i32 0, i32 0
  store i32 %9368, ptr %9369, align 4
  %9370 = getelementptr inbounds %struct.s2n_result, ptr %285, i32 0, i32 0
  %9371 = load i32, ptr %9370, align 4
  %9372 = call zeroext i1 @s2n_result_is_ok(i32 %9371)
  br i1 %9372, label %9426, label %9373

9373:                                             ; preds = %9364
  br label %9374

9374:                                             ; preds = %9373
  br label %9375

9375:                                             ; preds = %9374
  call void @llvm.lifetime.start.p0(i64 4, ptr %286) #11
  %9376 = call ptr @__errno_location() #12
  %9377 = load i32, ptr %9376, align 4, !tbaa !5
  store i32 %9377, ptr %286, align 4, !tbaa !5
  %9378 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9379 = call i32 @s2n_print_stacktrace(ptr noundef %9378)
  %9380 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9381 = trunc i8 %9380 to i1
  br i1 %9381, label %9382, label %9404

9382:                                             ; preds = %9375
  %9383 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9384 = call i32 @fileno(ptr noundef %9383) #11
  %9385 = call i32 @isatty(i32 noundef %9384) #11
  %9386 = icmp ne i32 %9385, 0
  br i1 %9386, label %9387, label %9404

9387:                                             ; preds = %9382
  %9388 = load i32, ptr %286, align 4, !tbaa !5
  %9389 = call ptr @__errno_location() #12
  store i32 %9388, ptr %9389, align 4, !tbaa !5
  %9390 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9391 = load i32, ptr @test_count, align 4, !tbaa !5
  %9392 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9393 = load i32, ptr %9392, align 4, !tbaa !5
  %9394 = call ptr @s2n_strerror(i32 noundef %9393, ptr noundef @.str.5)
  %9395 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9396 = load i32, ptr %9395, align 4, !tbaa !5
  %9397 = call ptr @s2n_strerror_debug(i32 noundef %9396, ptr noundef @.str.5)
  %9398 = call ptr @__errno_location() #12
  %9399 = load i32, ptr %9398, align 4, !tbaa !5
  %9400 = call ptr @strerror(i32 noundef %9399) #11
  %9401 = call ptr @__errno_location() #12
  %9402 = load i32, ptr %9401, align 4, !tbaa !5
  %9403 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9390, ptr noundef @.str.3, i32 noundef %9391, ptr noundef @.str.67, ptr noundef @.str.2, i32 noundef 462, ptr noundef %9394, ptr noundef %9397, ptr noundef %9400, i32 noundef %9402) #11
  br label %9421

9404:                                             ; preds = %9382, %9375
  %9405 = load i32, ptr %286, align 4, !tbaa !5
  %9406 = call ptr @__errno_location() #12
  store i32 %9405, ptr %9406, align 4, !tbaa !5
  %9407 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9408 = load i32, ptr @test_count, align 4, !tbaa !5
  %9409 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9410 = load i32, ptr %9409, align 4, !tbaa !5
  %9411 = call ptr @s2n_strerror(i32 noundef %9410, ptr noundef @.str.5)
  %9412 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9413 = load i32, ptr %9412, align 4, !tbaa !5
  %9414 = call ptr @s2n_strerror_debug(i32 noundef %9413, ptr noundef @.str.5)
  %9415 = call ptr @__errno_location() #12
  %9416 = load i32, ptr %9415, align 4, !tbaa !5
  %9417 = call ptr @strerror(i32 noundef %9416) #11
  %9418 = call ptr @__errno_location() #12
  %9419 = load i32, ptr %9418, align 4, !tbaa !5
  %9420 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9407, ptr noundef @.str.6, i32 noundef %9408, ptr noundef @.str.67, ptr noundef @.str.2, i32 noundef 462, ptr noundef %9411, ptr noundef %9414, ptr noundef %9417, i32 noundef %9419) #11
  br label %9421

9421:                                             ; preds = %9404, %9387
  call void @llvm.lifetime.end.p0(i64 4, ptr %286) #11
  br label %9422

9422:                                             ; preds = %9421
  br label %9423

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

9424:                                             ; No predecessors!
  br label %9425

9425:                                             ; preds = %9424
  br label %9426

9426:                                             ; preds = %9425, %9364
  br label %9427

9427:                                             ; preds = %9426
  br label %9428

9428:                                             ; preds = %9427
  call void @llvm.lifetime.start.p0(i64 16384, ptr %287) #11
  call void @llvm.memset.p0.i64(ptr align 16 %287, i8 0, i64 16384, i1 false)
  call void @llvm.lifetime.start.p0(i64 4, ptr %288) #11
  store i32 0, ptr %288, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 1, ptr %289) #11
  store i8 0, ptr %289, align 1, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 8, ptr %290) #11
  store i64 0, ptr %290, align 8, !tbaa !20
  %9429 = getelementptr inbounds %struct.s2n_test_ktls_io_fail_ctx, ptr %284, i32 0, i32 0
  store i64 11, ptr %9429, align 8, !tbaa !54
  br label %9430

9430:                                             ; preds = %9428
  br label %9431

9431:                                             ; preds = %9430
  br label %9432

9432:                                             ; preds = %9431
  %9433 = load i32, ptr @test_count, align 4, !tbaa !5
  %9434 = add nsw i32 %9433, 1
  store i32 %9434, ptr @test_count, align 4, !tbaa !5
  %9435 = load ptr, ptr %283, align 8, !tbaa !9
  %9436 = getelementptr inbounds %struct.s2n_connection, ptr %9435, i32 0, i32 9
  %9437 = load ptr, ptr %9436, align 8, !tbaa !57
  %9438 = getelementptr inbounds [16384 x i8], ptr %287, i64 0, i64 0
  %9439 = call i32 @s2n_ktls_recvmsg(ptr noundef %9437, ptr noundef %289, ptr noundef %9438, i64 noundef 10, ptr noundef %288, ptr noundef %290)
  %9440 = getelementptr inbounds %struct.s2n_result, ptr %291, i32 0, i32 0
  store i32 %9439, ptr %9440, align 4
  %9441 = getelementptr inbounds %struct.s2n_result, ptr %291, i32 0, i32 0
  %9442 = load i32, ptr %9441, align 4
  %9443 = call zeroext i1 @s2n_result_is_error(i32 %9442)
  br i1 %9443, label %9497, label %9444

9444:                                             ; preds = %9432
  br label %9445

9445:                                             ; preds = %9444
  br label %9446

9446:                                             ; preds = %9445
  call void @llvm.lifetime.start.p0(i64 4, ptr %292) #11
  %9447 = call ptr @__errno_location() #12
  %9448 = load i32, ptr %9447, align 4, !tbaa !5
  store i32 %9448, ptr %292, align 4, !tbaa !5
  %9449 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9450 = call i32 @s2n_print_stacktrace(ptr noundef %9449)
  %9451 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9452 = trunc i8 %9451 to i1
  br i1 %9452, label %9453, label %9475

9453:                                             ; preds = %9446
  %9454 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9455 = call i32 @fileno(ptr noundef %9454) #11
  %9456 = call i32 @isatty(i32 noundef %9455) #11
  %9457 = icmp ne i32 %9456, 0
  br i1 %9457, label %9458, label %9475

9458:                                             ; preds = %9453
  %9459 = load i32, ptr %292, align 4, !tbaa !5
  %9460 = call ptr @__errno_location() #12
  store i32 %9459, ptr %9460, align 4, !tbaa !5
  %9461 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9462 = load i32, ptr @test_count, align 4, !tbaa !5
  %9463 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9464 = load i32, ptr %9463, align 4, !tbaa !5
  %9465 = call ptr @s2n_strerror(i32 noundef %9464, ptr noundef @.str.5)
  %9466 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9467 = load i32, ptr %9466, align 4, !tbaa !5
  %9468 = call ptr @s2n_strerror_debug(i32 noundef %9467, ptr noundef @.str.5)
  %9469 = call ptr @__errno_location() #12
  %9470 = load i32, ptr %9469, align 4, !tbaa !5
  %9471 = call ptr @strerror(i32 noundef %9470) #11
  %9472 = call ptr @__errno_location() #12
  %9473 = load i32, ptr %9472, align 4, !tbaa !5
  %9474 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9461, ptr noundef @.str.3, i32 noundef %9462, ptr noundef @.str.64, ptr noundef @.str.2, i32 noundef 473, ptr noundef %9465, ptr noundef %9468, ptr noundef %9471, i32 noundef %9473) #11
  br label %9492

9475:                                             ; preds = %9453, %9446
  %9476 = load i32, ptr %292, align 4, !tbaa !5
  %9477 = call ptr @__errno_location() #12
  store i32 %9476, ptr %9477, align 4, !tbaa !5
  %9478 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9479 = load i32, ptr @test_count, align 4, !tbaa !5
  %9480 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9481 = load i32, ptr %9480, align 4, !tbaa !5
  %9482 = call ptr @s2n_strerror(i32 noundef %9481, ptr noundef @.str.5)
  %9483 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9484 = load i32, ptr %9483, align 4, !tbaa !5
  %9485 = call ptr @s2n_strerror_debug(i32 noundef %9484, ptr noundef @.str.5)
  %9486 = call ptr @__errno_location() #12
  %9487 = load i32, ptr %9486, align 4, !tbaa !5
  %9488 = call ptr @strerror(i32 noundef %9487) #11
  %9489 = call ptr @__errno_location() #12
  %9490 = load i32, ptr %9489, align 4, !tbaa !5
  %9491 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9478, ptr noundef @.str.6, i32 noundef %9479, ptr noundef @.str.64, ptr noundef @.str.2, i32 noundef 473, ptr noundef %9482, ptr noundef %9485, ptr noundef %9488, i32 noundef %9490) #11
  br label %9492

9492:                                             ; preds = %9475, %9458
  call void @llvm.lifetime.end.p0(i64 4, ptr %292) #11
  br label %9493

9493:                                             ; preds = %9492
  br label %9494

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

9495:                                             ; No predecessors!
  br label %9496

9496:                                             ; preds = %9495
  br label %9497

9497:                                             ; preds = %9496, %9432
  br label %9498

9498:                                             ; preds = %9497
  br label %9499

9499:                                             ; preds = %9498
  br label %9500

9500:                                             ; preds = %9499
  %9501 = load i32, ptr @test_count, align 4, !tbaa !5
  %9502 = add nsw i32 %9501, 1
  store i32 %9502, ptr @test_count, align 4, !tbaa !5
  %9503 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9504 = load i32, ptr %9503, align 4, !tbaa !5
  %9505 = icmp eq i32 %9504, 201326592
  br i1 %9505, label %9559, label %9506

9506:                                             ; preds = %9500
  br label %9507

9507:                                             ; preds = %9506
  br label %9508

9508:                                             ; preds = %9507
  call void @llvm.lifetime.start.p0(i64 4, ptr %293) #11
  %9509 = call ptr @__errno_location() #12
  %9510 = load i32, ptr %9509, align 4, !tbaa !5
  store i32 %9510, ptr %293, align 4, !tbaa !5
  %9511 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9512 = call i32 @s2n_print_stacktrace(ptr noundef %9511)
  %9513 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9514 = trunc i8 %9513 to i1
  br i1 %9514, label %9515, label %9537

9515:                                             ; preds = %9508
  %9516 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9517 = call i32 @fileno(ptr noundef %9516) #11
  %9518 = call i32 @isatty(i32 noundef %9517) #11
  %9519 = icmp ne i32 %9518, 0
  br i1 %9519, label %9520, label %9537

9520:                                             ; preds = %9515
  %9521 = load i32, ptr %293, align 4, !tbaa !5
  %9522 = call ptr @__errno_location() #12
  store i32 %9521, ptr %9522, align 4, !tbaa !5
  %9523 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9524 = load i32, ptr @test_count, align 4, !tbaa !5
  %9525 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9526 = load i32, ptr %9525, align 4, !tbaa !5
  %9527 = call ptr @s2n_strerror(i32 noundef %9526, ptr noundef @.str.5)
  %9528 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9529 = load i32, ptr %9528, align 4, !tbaa !5
  %9530 = call ptr @s2n_strerror_debug(i32 noundef %9529, ptr noundef @.str.5)
  %9531 = call ptr @__errno_location() #12
  %9532 = load i32, ptr %9531, align 4, !tbaa !5
  %9533 = call ptr @strerror(i32 noundef %9532) #11
  %9534 = call ptr @__errno_location() #12
  %9535 = load i32, ptr %9534, align 4, !tbaa !5
  %9536 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9523, ptr noundef @.str.3, i32 noundef %9524, ptr noundef @.str.41, ptr noundef @.str.2, i32 noundef 473, ptr noundef %9527, ptr noundef %9530, ptr noundef %9533, i32 noundef %9535) #11
  br label %9554

9537:                                             ; preds = %9515, %9508
  %9538 = load i32, ptr %293, align 4, !tbaa !5
  %9539 = call ptr @__errno_location() #12
  store i32 %9538, ptr %9539, align 4, !tbaa !5
  %9540 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9541 = load i32, ptr @test_count, align 4, !tbaa !5
  %9542 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9543 = load i32, ptr %9542, align 4, !tbaa !5
  %9544 = call ptr @s2n_strerror(i32 noundef %9543, ptr noundef @.str.5)
  %9545 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9546 = load i32, ptr %9545, align 4, !tbaa !5
  %9547 = call ptr @s2n_strerror_debug(i32 noundef %9546, ptr noundef @.str.5)
  %9548 = call ptr @__errno_location() #12
  %9549 = load i32, ptr %9548, align 4, !tbaa !5
  %9550 = call ptr @strerror(i32 noundef %9549) #11
  %9551 = call ptr @__errno_location() #12
  %9552 = load i32, ptr %9551, align 4, !tbaa !5
  %9553 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9540, ptr noundef @.str.6, i32 noundef %9541, ptr noundef @.str.41, ptr noundef @.str.2, i32 noundef 473, ptr noundef %9544, ptr noundef %9547, ptr noundef %9550, i32 noundef %9552) #11
  br label %9554

9554:                                             ; preds = %9537, %9520
  call void @llvm.lifetime.end.p0(i64 4, ptr %293) #11
  br label %9555

9555:                                             ; preds = %9554
  br label %9556

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

9557:                                             ; No predecessors!
  br label %9558

9558:                                             ; preds = %9557
  br label %9559

9559:                                             ; preds = %9558, %9500
  br label %9560

9560:                                             ; preds = %9559
  br label %9561

9561:                                             ; preds = %9560
  br label %9562

9562:                                             ; preds = %9561
  %9563 = load i32, ptr @test_count, align 4, !tbaa !5
  %9564 = add nsw i32 %9563, 1
  store i32 %9564, ptr @test_count, align 4, !tbaa !5
  %9565 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9566 = load i32, ptr %9565, align 4, !tbaa !5
  %9567 = call ptr @s2n_strerror_debug(i32 noundef %9566, ptr noundef @.str.5)
  %9568 = icmp eq ptr %9567, null
  br i1 %9568, label %9569, label %9622

9569:                                             ; preds = %9562
  br label %9570

9570:                                             ; preds = %9569
  br label %9571

9571:                                             ; preds = %9570
  call void @llvm.lifetime.start.p0(i64 4, ptr %294) #11
  %9572 = call ptr @__errno_location() #12
  %9573 = load i32, ptr %9572, align 4, !tbaa !5
  store i32 %9573, ptr %294, align 4, !tbaa !5
  %9574 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9575 = call i32 @s2n_print_stacktrace(ptr noundef %9574)
  %9576 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9577 = trunc i8 %9576 to i1
  br i1 %9577, label %9578, label %9600

9578:                                             ; preds = %9571
  %9579 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9580 = call i32 @fileno(ptr noundef %9579) #11
  %9581 = call i32 @isatty(i32 noundef %9580) #11
  %9582 = icmp ne i32 %9581, 0
  br i1 %9582, label %9583, label %9600

9583:                                             ; preds = %9578
  %9584 = load i32, ptr %294, align 4, !tbaa !5
  %9585 = call ptr @__errno_location() #12
  store i32 %9584, ptr %9585, align 4, !tbaa !5
  %9586 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9587 = load i32, ptr @test_count, align 4, !tbaa !5
  %9588 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9589 = load i32, ptr %9588, align 4, !tbaa !5
  %9590 = call ptr @s2n_strerror(i32 noundef %9589, ptr noundef @.str.5)
  %9591 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9592 = load i32, ptr %9591, align 4, !tbaa !5
  %9593 = call ptr @s2n_strerror_debug(i32 noundef %9592, ptr noundef @.str.5)
  %9594 = call ptr @__errno_location() #12
  %9595 = load i32, ptr %9594, align 4, !tbaa !5
  %9596 = call ptr @strerror(i32 noundef %9595) #11
  %9597 = call ptr @__errno_location() #12
  %9598 = load i32, ptr %9597, align 4, !tbaa !5
  %9599 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9586, ptr noundef @.str.3, i32 noundef %9587, ptr noundef @.str.13, ptr noundef @.str.2, i32 noundef 473, ptr noundef %9590, ptr noundef %9593, ptr noundef %9596, i32 noundef %9598) #11
  br label %9617

9600:                                             ; preds = %9578, %9571
  %9601 = load i32, ptr %294, align 4, !tbaa !5
  %9602 = call ptr @__errno_location() #12
  store i32 %9601, ptr %9602, align 4, !tbaa !5
  %9603 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9604 = load i32, ptr @test_count, align 4, !tbaa !5
  %9605 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9606 = load i32, ptr %9605, align 4, !tbaa !5
  %9607 = call ptr @s2n_strerror(i32 noundef %9606, ptr noundef @.str.5)
  %9608 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9609 = load i32, ptr %9608, align 4, !tbaa !5
  %9610 = call ptr @s2n_strerror_debug(i32 noundef %9609, ptr noundef @.str.5)
  %9611 = call ptr @__errno_location() #12
  %9612 = load i32, ptr %9611, align 4, !tbaa !5
  %9613 = call ptr @strerror(i32 noundef %9612) #11
  %9614 = call ptr @__errno_location() #12
  %9615 = load i32, ptr %9614, align 4, !tbaa !5
  %9616 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9603, ptr noundef @.str.6, i32 noundef %9604, ptr noundef @.str.13, ptr noundef @.str.2, i32 noundef 473, ptr noundef %9607, ptr noundef %9610, ptr noundef %9613, i32 noundef %9615) #11
  br label %9617

9617:                                             ; preds = %9600, %9583
  call void @llvm.lifetime.end.p0(i64 4, ptr %294) #11
  br label %9618

9618:                                             ; preds = %9617
  br label %9619

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

9620:                                             ; No predecessors!
  br label %9621

9621:                                             ; preds = %9620
  br label %9622

9622:                                             ; preds = %9621, %9562
  br label %9623

9623:                                             ; preds = %9622
  br label %9624

9624:                                             ; preds = %9623
  br label %9625

9625:                                             ; preds = %9624
  br label %9626

9626:                                             ; preds = %9625
  br label %9627

9627:                                             ; preds = %9626
  %9628 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %9628, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %9629 = call ptr @__errno_location() #12
  store i32 0, ptr %9629, align 4, !tbaa !5
  br label %9630

9630:                                             ; preds = %9627
  br label %9631

9631:                                             ; preds = %9630
  br label %9632

9632:                                             ; preds = %9631
  br label %9633

9633:                                             ; preds = %9632
  br label %9634

9634:                                             ; preds = %9633
  %9635 = load i32, ptr @test_count, align 4, !tbaa !5
  %9636 = add nsw i32 %9635, 1
  store i32 %9636, ptr @test_count, align 4, !tbaa !5
  %9637 = load i32, ptr %288, align 4, !tbaa !5
  %9638 = icmp eq i32 %9637, 1
  br i1 %9638, label %9692, label %9639

9639:                                             ; preds = %9634
  br label %9640

9640:                                             ; preds = %9639
  br label %9641

9641:                                             ; preds = %9640
  call void @llvm.lifetime.start.p0(i64 4, ptr %295) #11
  %9642 = call ptr @__errno_location() #12
  %9643 = load i32, ptr %9642, align 4, !tbaa !5
  store i32 %9643, ptr %295, align 4, !tbaa !5
  %9644 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9645 = call i32 @s2n_print_stacktrace(ptr noundef %9644)
  %9646 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9647 = trunc i8 %9646 to i1
  br i1 %9647, label %9648, label %9670

9648:                                             ; preds = %9641
  %9649 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9650 = call i32 @fileno(ptr noundef %9649) #11
  %9651 = call i32 @isatty(i32 noundef %9650) #11
  %9652 = icmp ne i32 %9651, 0
  br i1 %9652, label %9653, label %9670

9653:                                             ; preds = %9648
  %9654 = load i32, ptr %295, align 4, !tbaa !5
  %9655 = call ptr @__errno_location() #12
  store i32 %9654, ptr %9655, align 4, !tbaa !5
  %9656 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9657 = load i32, ptr @test_count, align 4, !tbaa !5
  %9658 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9659 = load i32, ptr %9658, align 4, !tbaa !5
  %9660 = call ptr @s2n_strerror(i32 noundef %9659, ptr noundef @.str.5)
  %9661 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9662 = load i32, ptr %9661, align 4, !tbaa !5
  %9663 = call ptr @s2n_strerror_debug(i32 noundef %9662, ptr noundef @.str.5)
  %9664 = call ptr @__errno_location() #12
  %9665 = load i32, ptr %9664, align 4, !tbaa !5
  %9666 = call ptr @strerror(i32 noundef %9665) #11
  %9667 = call ptr @__errno_location() #12
  %9668 = load i32, ptr %9667, align 4, !tbaa !5
  %9669 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9656, ptr noundef @.str.3, i32 noundef %9657, ptr noundef @.str.65, ptr noundef @.str.2, i32 noundef 474, ptr noundef %9660, ptr noundef %9663, ptr noundef %9666, i32 noundef %9668) #11
  br label %9687

9670:                                             ; preds = %9648, %9641
  %9671 = load i32, ptr %295, align 4, !tbaa !5
  %9672 = call ptr @__errno_location() #12
  store i32 %9671, ptr %9672, align 4, !tbaa !5
  %9673 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9674 = load i32, ptr @test_count, align 4, !tbaa !5
  %9675 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9676 = load i32, ptr %9675, align 4, !tbaa !5
  %9677 = call ptr @s2n_strerror(i32 noundef %9676, ptr noundef @.str.5)
  %9678 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9679 = load i32, ptr %9678, align 4, !tbaa !5
  %9680 = call ptr @s2n_strerror_debug(i32 noundef %9679, ptr noundef @.str.5)
  %9681 = call ptr @__errno_location() #12
  %9682 = load i32, ptr %9681, align 4, !tbaa !5
  %9683 = call ptr @strerror(i32 noundef %9682) #11
  %9684 = call ptr @__errno_location() #12
  %9685 = load i32, ptr %9684, align 4, !tbaa !5
  %9686 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9673, ptr noundef @.str.6, i32 noundef %9674, ptr noundef @.str.65, ptr noundef @.str.2, i32 noundef 474, ptr noundef %9677, ptr noundef %9680, ptr noundef %9683, i32 noundef %9685) #11
  br label %9687

9687:                                             ; preds = %9670, %9653
  call void @llvm.lifetime.end.p0(i64 4, ptr %295) #11
  br label %9688

9688:                                             ; preds = %9687
  br label %9689

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

9690:                                             ; No predecessors!
  br label %9691

9691:                                             ; preds = %9690
  br label %9692

9692:                                             ; preds = %9691, %9634
  br label %9693

9693:                                             ; preds = %9692
  br label %9694

9694:                                             ; preds = %9693
  %9695 = getelementptr inbounds %struct.s2n_test_ktls_io_fail_ctx, ptr %284, i32 0, i32 0
  store i64 11, ptr %9695, align 8, !tbaa !54
  br label %9696

9696:                                             ; preds = %9694
  br label %9697

9697:                                             ; preds = %9696
  br label %9698

9698:                                             ; preds = %9697
  %9699 = load i32, ptr @test_count, align 4, !tbaa !5
  %9700 = add nsw i32 %9699, 1
  store i32 %9700, ptr @test_count, align 4, !tbaa !5
  %9701 = load ptr, ptr %283, align 8, !tbaa !9
  %9702 = getelementptr inbounds %struct.s2n_connection, ptr %9701, i32 0, i32 9
  %9703 = load ptr, ptr %9702, align 8, !tbaa !57
  %9704 = getelementptr inbounds [16384 x i8], ptr %287, i64 0, i64 0
  %9705 = call i32 @s2n_ktls_recvmsg(ptr noundef %9703, ptr noundef %289, ptr noundef %9704, i64 noundef 10, ptr noundef %288, ptr noundef %290)
  %9706 = getelementptr inbounds %struct.s2n_result, ptr %296, i32 0, i32 0
  store i32 %9705, ptr %9706, align 4
  %9707 = getelementptr inbounds %struct.s2n_result, ptr %296, i32 0, i32 0
  %9708 = load i32, ptr %9707, align 4
  %9709 = call zeroext i1 @s2n_result_is_error(i32 %9708)
  br i1 %9709, label %9763, label %9710

9710:                                             ; preds = %9698
  br label %9711

9711:                                             ; preds = %9710
  br label %9712

9712:                                             ; preds = %9711
  call void @llvm.lifetime.start.p0(i64 4, ptr %297) #11
  %9713 = call ptr @__errno_location() #12
  %9714 = load i32, ptr %9713, align 4, !tbaa !5
  store i32 %9714, ptr %297, align 4, !tbaa !5
  %9715 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9716 = call i32 @s2n_print_stacktrace(ptr noundef %9715)
  %9717 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9718 = trunc i8 %9717 to i1
  br i1 %9718, label %9719, label %9741

9719:                                             ; preds = %9712
  %9720 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9721 = call i32 @fileno(ptr noundef %9720) #11
  %9722 = call i32 @isatty(i32 noundef %9721) #11
  %9723 = icmp ne i32 %9722, 0
  br i1 %9723, label %9724, label %9741

9724:                                             ; preds = %9719
  %9725 = load i32, ptr %297, align 4, !tbaa !5
  %9726 = call ptr @__errno_location() #12
  store i32 %9725, ptr %9726, align 4, !tbaa !5
  %9727 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9728 = load i32, ptr @test_count, align 4, !tbaa !5
  %9729 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9730 = load i32, ptr %9729, align 4, !tbaa !5
  %9731 = call ptr @s2n_strerror(i32 noundef %9730, ptr noundef @.str.5)
  %9732 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9733 = load i32, ptr %9732, align 4, !tbaa !5
  %9734 = call ptr @s2n_strerror_debug(i32 noundef %9733, ptr noundef @.str.5)
  %9735 = call ptr @__errno_location() #12
  %9736 = load i32, ptr %9735, align 4, !tbaa !5
  %9737 = call ptr @strerror(i32 noundef %9736) #11
  %9738 = call ptr @__errno_location() #12
  %9739 = load i32, ptr %9738, align 4, !tbaa !5
  %9740 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9727, ptr noundef @.str.3, i32 noundef %9728, ptr noundef @.str.64, ptr noundef @.str.2, i32 noundef 481, ptr noundef %9731, ptr noundef %9734, ptr noundef %9737, i32 noundef %9739) #11
  br label %9758

9741:                                             ; preds = %9719, %9712
  %9742 = load i32, ptr %297, align 4, !tbaa !5
  %9743 = call ptr @__errno_location() #12
  store i32 %9742, ptr %9743, align 4, !tbaa !5
  %9744 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9745 = load i32, ptr @test_count, align 4, !tbaa !5
  %9746 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9747 = load i32, ptr %9746, align 4, !tbaa !5
  %9748 = call ptr @s2n_strerror(i32 noundef %9747, ptr noundef @.str.5)
  %9749 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9750 = load i32, ptr %9749, align 4, !tbaa !5
  %9751 = call ptr @s2n_strerror_debug(i32 noundef %9750, ptr noundef @.str.5)
  %9752 = call ptr @__errno_location() #12
  %9753 = load i32, ptr %9752, align 4, !tbaa !5
  %9754 = call ptr @strerror(i32 noundef %9753) #11
  %9755 = call ptr @__errno_location() #12
  %9756 = load i32, ptr %9755, align 4, !tbaa !5
  %9757 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9744, ptr noundef @.str.6, i32 noundef %9745, ptr noundef @.str.64, ptr noundef @.str.2, i32 noundef 481, ptr noundef %9748, ptr noundef %9751, ptr noundef %9754, i32 noundef %9756) #11
  br label %9758

9758:                                             ; preds = %9741, %9724
  call void @llvm.lifetime.end.p0(i64 4, ptr %297) #11
  br label %9759

9759:                                             ; preds = %9758
  br label %9760

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

9761:                                             ; No predecessors!
  br label %9762

9762:                                             ; preds = %9761
  br label %9763

9763:                                             ; preds = %9762, %9698
  br label %9764

9764:                                             ; preds = %9763
  br label %9765

9765:                                             ; preds = %9764
  br label %9766

9766:                                             ; preds = %9765
  %9767 = load i32, ptr @test_count, align 4, !tbaa !5
  %9768 = add nsw i32 %9767, 1
  store i32 %9768, ptr @test_count, align 4, !tbaa !5
  %9769 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9770 = load i32, ptr %9769, align 4, !tbaa !5
  %9771 = icmp eq i32 %9770, 201326592
  br i1 %9771, label %9825, label %9772

9772:                                             ; preds = %9766
  br label %9773

9773:                                             ; preds = %9772
  br label %9774

9774:                                             ; preds = %9773
  call void @llvm.lifetime.start.p0(i64 4, ptr %298) #11
  %9775 = call ptr @__errno_location() #12
  %9776 = load i32, ptr %9775, align 4, !tbaa !5
  store i32 %9776, ptr %298, align 4, !tbaa !5
  %9777 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9778 = call i32 @s2n_print_stacktrace(ptr noundef %9777)
  %9779 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9780 = trunc i8 %9779 to i1
  br i1 %9780, label %9781, label %9803

9781:                                             ; preds = %9774
  %9782 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9783 = call i32 @fileno(ptr noundef %9782) #11
  %9784 = call i32 @isatty(i32 noundef %9783) #11
  %9785 = icmp ne i32 %9784, 0
  br i1 %9785, label %9786, label %9803

9786:                                             ; preds = %9781
  %9787 = load i32, ptr %298, align 4, !tbaa !5
  %9788 = call ptr @__errno_location() #12
  store i32 %9787, ptr %9788, align 4, !tbaa !5
  %9789 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9790 = load i32, ptr @test_count, align 4, !tbaa !5
  %9791 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9792 = load i32, ptr %9791, align 4, !tbaa !5
  %9793 = call ptr @s2n_strerror(i32 noundef %9792, ptr noundef @.str.5)
  %9794 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9795 = load i32, ptr %9794, align 4, !tbaa !5
  %9796 = call ptr @s2n_strerror_debug(i32 noundef %9795, ptr noundef @.str.5)
  %9797 = call ptr @__errno_location() #12
  %9798 = load i32, ptr %9797, align 4, !tbaa !5
  %9799 = call ptr @strerror(i32 noundef %9798) #11
  %9800 = call ptr @__errno_location() #12
  %9801 = load i32, ptr %9800, align 4, !tbaa !5
  %9802 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9789, ptr noundef @.str.3, i32 noundef %9790, ptr noundef @.str.41, ptr noundef @.str.2, i32 noundef 481, ptr noundef %9793, ptr noundef %9796, ptr noundef %9799, i32 noundef %9801) #11
  br label %9820

9803:                                             ; preds = %9781, %9774
  %9804 = load i32, ptr %298, align 4, !tbaa !5
  %9805 = call ptr @__errno_location() #12
  store i32 %9804, ptr %9805, align 4, !tbaa !5
  %9806 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9807 = load i32, ptr @test_count, align 4, !tbaa !5
  %9808 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9809 = load i32, ptr %9808, align 4, !tbaa !5
  %9810 = call ptr @s2n_strerror(i32 noundef %9809, ptr noundef @.str.5)
  %9811 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9812 = load i32, ptr %9811, align 4, !tbaa !5
  %9813 = call ptr @s2n_strerror_debug(i32 noundef %9812, ptr noundef @.str.5)
  %9814 = call ptr @__errno_location() #12
  %9815 = load i32, ptr %9814, align 4, !tbaa !5
  %9816 = call ptr @strerror(i32 noundef %9815) #11
  %9817 = call ptr @__errno_location() #12
  %9818 = load i32, ptr %9817, align 4, !tbaa !5
  %9819 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9806, ptr noundef @.str.6, i32 noundef %9807, ptr noundef @.str.41, ptr noundef @.str.2, i32 noundef 481, ptr noundef %9810, ptr noundef %9813, ptr noundef %9816, i32 noundef %9818) #11
  br label %9820

9820:                                             ; preds = %9803, %9786
  call void @llvm.lifetime.end.p0(i64 4, ptr %298) #11
  br label %9821

9821:                                             ; preds = %9820
  br label %9822

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

9823:                                             ; No predecessors!
  br label %9824

9824:                                             ; preds = %9823
  br label %9825

9825:                                             ; preds = %9824, %9766
  br label %9826

9826:                                             ; preds = %9825
  br label %9827

9827:                                             ; preds = %9826
  br label %9828

9828:                                             ; preds = %9827
  %9829 = load i32, ptr @test_count, align 4, !tbaa !5
  %9830 = add nsw i32 %9829, 1
  store i32 %9830, ptr @test_count, align 4, !tbaa !5
  %9831 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9832 = load i32, ptr %9831, align 4, !tbaa !5
  %9833 = call ptr @s2n_strerror_debug(i32 noundef %9832, ptr noundef @.str.5)
  %9834 = icmp eq ptr %9833, null
  br i1 %9834, label %9835, label %9888

9835:                                             ; preds = %9828
  br label %9836

9836:                                             ; preds = %9835
  br label %9837

9837:                                             ; preds = %9836
  call void @llvm.lifetime.start.p0(i64 4, ptr %299) #11
  %9838 = call ptr @__errno_location() #12
  %9839 = load i32, ptr %9838, align 4, !tbaa !5
  store i32 %9839, ptr %299, align 4, !tbaa !5
  %9840 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9841 = call i32 @s2n_print_stacktrace(ptr noundef %9840)
  %9842 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9843 = trunc i8 %9842 to i1
  br i1 %9843, label %9844, label %9866

9844:                                             ; preds = %9837
  %9845 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9846 = call i32 @fileno(ptr noundef %9845) #11
  %9847 = call i32 @isatty(i32 noundef %9846) #11
  %9848 = icmp ne i32 %9847, 0
  br i1 %9848, label %9849, label %9866

9849:                                             ; preds = %9844
  %9850 = load i32, ptr %299, align 4, !tbaa !5
  %9851 = call ptr @__errno_location() #12
  store i32 %9850, ptr %9851, align 4, !tbaa !5
  %9852 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9853 = load i32, ptr @test_count, align 4, !tbaa !5
  %9854 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9855 = load i32, ptr %9854, align 4, !tbaa !5
  %9856 = call ptr @s2n_strerror(i32 noundef %9855, ptr noundef @.str.5)
  %9857 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9858 = load i32, ptr %9857, align 4, !tbaa !5
  %9859 = call ptr @s2n_strerror_debug(i32 noundef %9858, ptr noundef @.str.5)
  %9860 = call ptr @__errno_location() #12
  %9861 = load i32, ptr %9860, align 4, !tbaa !5
  %9862 = call ptr @strerror(i32 noundef %9861) #11
  %9863 = call ptr @__errno_location() #12
  %9864 = load i32, ptr %9863, align 4, !tbaa !5
  %9865 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9852, ptr noundef @.str.3, i32 noundef %9853, ptr noundef @.str.13, ptr noundef @.str.2, i32 noundef 481, ptr noundef %9856, ptr noundef %9859, ptr noundef %9862, i32 noundef %9864) #11
  br label %9883

9866:                                             ; preds = %9844, %9837
  %9867 = load i32, ptr %299, align 4, !tbaa !5
  %9868 = call ptr @__errno_location() #12
  store i32 %9867, ptr %9868, align 4, !tbaa !5
  %9869 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9870 = load i32, ptr @test_count, align 4, !tbaa !5
  %9871 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9872 = load i32, ptr %9871, align 4, !tbaa !5
  %9873 = call ptr @s2n_strerror(i32 noundef %9872, ptr noundef @.str.5)
  %9874 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9875 = load i32, ptr %9874, align 4, !tbaa !5
  %9876 = call ptr @s2n_strerror_debug(i32 noundef %9875, ptr noundef @.str.5)
  %9877 = call ptr @__errno_location() #12
  %9878 = load i32, ptr %9877, align 4, !tbaa !5
  %9879 = call ptr @strerror(i32 noundef %9878) #11
  %9880 = call ptr @__errno_location() #12
  %9881 = load i32, ptr %9880, align 4, !tbaa !5
  %9882 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9869, ptr noundef @.str.6, i32 noundef %9870, ptr noundef @.str.13, ptr noundef @.str.2, i32 noundef 481, ptr noundef %9873, ptr noundef %9876, ptr noundef %9879, i32 noundef %9881) #11
  br label %9883

9883:                                             ; preds = %9866, %9849
  call void @llvm.lifetime.end.p0(i64 4, ptr %299) #11
  br label %9884

9884:                                             ; preds = %9883
  br label %9885

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

9886:                                             ; No predecessors!
  br label %9887

9887:                                             ; preds = %9886
  br label %9888

9888:                                             ; preds = %9887, %9828
  br label %9889

9889:                                             ; preds = %9888
  br label %9890

9890:                                             ; preds = %9889
  br label %9891

9891:                                             ; preds = %9890
  br label %9892

9892:                                             ; preds = %9891
  br label %9893

9893:                                             ; preds = %9892
  %9894 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %9894, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %9895 = call ptr @__errno_location() #12
  store i32 0, ptr %9895, align 4, !tbaa !5
  br label %9896

9896:                                             ; preds = %9893
  br label %9897

9897:                                             ; preds = %9896
  br label %9898

9898:                                             ; preds = %9897
  br label %9899

9899:                                             ; preds = %9898
  br label %9900

9900:                                             ; preds = %9899
  %9901 = load i32, ptr @test_count, align 4, !tbaa !5
  %9902 = add nsw i32 %9901, 1
  store i32 %9902, ptr @test_count, align 4, !tbaa !5
  %9903 = load i32, ptr %288, align 4, !tbaa !5
  %9904 = icmp eq i32 %9903, 1
  br i1 %9904, label %9958, label %9905

9905:                                             ; preds = %9900
  br label %9906

9906:                                             ; preds = %9905
  br label %9907

9907:                                             ; preds = %9906
  call void @llvm.lifetime.start.p0(i64 4, ptr %300) #11
  %9908 = call ptr @__errno_location() #12
  %9909 = load i32, ptr %9908, align 4, !tbaa !5
  store i32 %9909, ptr %300, align 4, !tbaa !5
  %9910 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9911 = call i32 @s2n_print_stacktrace(ptr noundef %9910)
  %9912 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9913 = trunc i8 %9912 to i1
  br i1 %9913, label %9914, label %9936

9914:                                             ; preds = %9907
  %9915 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9916 = call i32 @fileno(ptr noundef %9915) #11
  %9917 = call i32 @isatty(i32 noundef %9916) #11
  %9918 = icmp ne i32 %9917, 0
  br i1 %9918, label %9919, label %9936

9919:                                             ; preds = %9914
  %9920 = load i32, ptr %300, align 4, !tbaa !5
  %9921 = call ptr @__errno_location() #12
  store i32 %9920, ptr %9921, align 4, !tbaa !5
  %9922 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9923 = load i32, ptr @test_count, align 4, !tbaa !5
  %9924 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9925 = load i32, ptr %9924, align 4, !tbaa !5
  %9926 = call ptr @s2n_strerror(i32 noundef %9925, ptr noundef @.str.5)
  %9927 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9928 = load i32, ptr %9927, align 4, !tbaa !5
  %9929 = call ptr @s2n_strerror_debug(i32 noundef %9928, ptr noundef @.str.5)
  %9930 = call ptr @__errno_location() #12
  %9931 = load i32, ptr %9930, align 4, !tbaa !5
  %9932 = call ptr @strerror(i32 noundef %9931) #11
  %9933 = call ptr @__errno_location() #12
  %9934 = load i32, ptr %9933, align 4, !tbaa !5
  %9935 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9922, ptr noundef @.str.3, i32 noundef %9923, ptr noundef @.str.65, ptr noundef @.str.2, i32 noundef 482, ptr noundef %9926, ptr noundef %9929, ptr noundef %9932, i32 noundef %9934) #11
  br label %9953

9936:                                             ; preds = %9914, %9907
  %9937 = load i32, ptr %300, align 4, !tbaa !5
  %9938 = call ptr @__errno_location() #12
  store i32 %9937, ptr %9938, align 4, !tbaa !5
  %9939 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9940 = load i32, ptr @test_count, align 4, !tbaa !5
  %9941 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9942 = load i32, ptr %9941, align 4, !tbaa !5
  %9943 = call ptr @s2n_strerror(i32 noundef %9942, ptr noundef @.str.5)
  %9944 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9945 = load i32, ptr %9944, align 4, !tbaa !5
  %9946 = call ptr @s2n_strerror_debug(i32 noundef %9945, ptr noundef @.str.5)
  %9947 = call ptr @__errno_location() #12
  %9948 = load i32, ptr %9947, align 4, !tbaa !5
  %9949 = call ptr @strerror(i32 noundef %9948) #11
  %9950 = call ptr @__errno_location() #12
  %9951 = load i32, ptr %9950, align 4, !tbaa !5
  %9952 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9939, ptr noundef @.str.6, i32 noundef %9940, ptr noundef @.str.65, ptr noundef @.str.2, i32 noundef 482, ptr noundef %9943, ptr noundef %9946, ptr noundef %9949, i32 noundef %9951) #11
  br label %9953

9953:                                             ; preds = %9936, %9919
  call void @llvm.lifetime.end.p0(i64 4, ptr %300) #11
  br label %9954

9954:                                             ; preds = %9953
  br label %9955

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

9956:                                             ; No predecessors!
  br label %9957

9957:                                             ; preds = %9956
  br label %9958

9958:                                             ; preds = %9957, %9900
  br label %9959

9959:                                             ; preds = %9958
  br label %9960

9960:                                             ; preds = %9959
  br label %9961

9961:                                             ; preds = %9960
  %9962 = load i32, ptr @test_count, align 4, !tbaa !5
  %9963 = add nsw i32 %9962, 1
  store i32 %9963, ptr @test_count, align 4, !tbaa !5
  %9964 = getelementptr inbounds %struct.s2n_test_ktls_io_fail_ctx, ptr %284, i32 0, i32 1
  %9965 = load i64, ptr %9964, align 8, !tbaa !56
  %9966 = icmp eq i64 %9965, 2
  br i1 %9966, label %10020, label %9967

9967:                                             ; preds = %9961
  br label %9968

9968:                                             ; preds = %9967
  br label %9969

9969:                                             ; preds = %9968
  call void @llvm.lifetime.start.p0(i64 4, ptr %301) #11
  %9970 = call ptr @__errno_location() #12
  %9971 = load i32, ptr %9970, align 4, !tbaa !5
  store i32 %9971, ptr %301, align 4, !tbaa !5
  %9972 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9973 = call i32 @s2n_print_stacktrace(ptr noundef %9972)
  %9974 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9975 = trunc i8 %9974 to i1
  br i1 %9975, label %9976, label %9998

9976:                                             ; preds = %9969
  %9977 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9978 = call i32 @fileno(ptr noundef %9977) #11
  %9979 = call i32 @isatty(i32 noundef %9978) #11
  %9980 = icmp ne i32 %9979, 0
  br i1 %9980, label %9981, label %9998

9981:                                             ; preds = %9976
  %9982 = load i32, ptr %301, align 4, !tbaa !5
  %9983 = call ptr @__errno_location() #12
  store i32 %9982, ptr %9983, align 4, !tbaa !5
  %9984 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9985 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %9987, ptr noundef @.str.5)
  %9989 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9990 = load i32, ptr %9989, align 4, !tbaa !5
  %9991 = call ptr @s2n_strerror_debug(i32 noundef %9990, ptr noundef @.str.5)
  %9992 = call ptr @__errno_location() #12
  %9993 = load i32, ptr %9992, align 4, !tbaa !5
  %9994 = call ptr @strerror(i32 noundef %9993) #11
  %9995 = call ptr @__errno_location() #12
  %9996 = load i32, ptr %9995, align 4, !tbaa !5
  %9997 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9984, ptr noundef @.str.3, i32 noundef %9985, ptr noundef @.str.45, ptr noundef @.str.2, i32 noundef 484, ptr noundef %9988, ptr noundef %9991, ptr noundef %9994, i32 noundef %9996) #11
  br label %10015

9998:                                             ; preds = %9976, %9969
  %9999 = load i32, ptr %301, align 4, !tbaa !5
  %10000 = call ptr @__errno_location() #12
  store i32 %9999, ptr %10000, align 4, !tbaa !5
  %10001 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10002 = load i32, ptr @test_count, align 4, !tbaa !5
  %10003 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10004 = load i32, ptr %10003, align 4, !tbaa !5
  %10005 = call ptr @s2n_strerror(i32 noundef %10004, ptr noundef @.str.5)
  %10006 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10007 = load i32, ptr %10006, align 4, !tbaa !5
  %10008 = call ptr @s2n_strerror_debug(i32 noundef %10007, ptr noundef @.str.5)
  %10009 = call ptr @__errno_location() #12
  %10010 = load i32, ptr %10009, align 4, !tbaa !5
  %10011 = call ptr @strerror(i32 noundef %10010) #11
  %10012 = call ptr @__errno_location() #12
  %10013 = load i32, ptr %10012, align 4, !tbaa !5
  %10014 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10001, ptr noundef @.str.6, i32 noundef %10002, ptr noundef @.str.45, ptr noundef @.str.2, i32 noundef 484, ptr noundef %10005, ptr noundef %10008, ptr noundef %10011, i32 noundef %10013) #11
  br label %10015

10015:                                            ; preds = %9998, %9981
  call void @llvm.lifetime.end.p0(i64 4, ptr %301) #11
  br label %10016

10016:                                            ; preds = %10015
  br label %10017

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

10018:                                            ; No predecessors!
  br label %10019

10019:                                            ; preds = %10018
  br label %10020

10020:                                            ; preds = %10019, %9961
  br label %10021

10021:                                            ; preds = %10020
  br label %10022

10022:                                            ; preds = %10021
  call void @llvm.lifetime.end.p0(i64 8, ptr %290) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %289) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %288) #11
  call void @llvm.lifetime.end.p0(i64 16384, ptr %287) #11
  call void @llvm.lifetime.end.p0(i64 16, ptr %284) #11
  %10023 = call i32 @s2n_connection_ptr_free(ptr noundef %283)
  %10024 = getelementptr inbounds %struct.s2n_result, ptr %302, i32 0, i32 0
  store i32 %10023, ptr %10024, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %283) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %303) #11
  %10025 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %10025, ptr %303, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %304) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %304, ptr align 8 @__const.main.io_ctx.68, i64 16, i1 false)
  br label %10026

10026:                                            ; preds = %10022
  %10027 = load i32, ptr @test_count, align 4, !tbaa !5
  %10028 = add nsw i32 %10027, 1
  store i32 %10028, ptr @test_count, align 4, !tbaa !5
  %10029 = load ptr, ptr %303, align 8, !tbaa !9
  %10030 = call i32 @s2n_ktls_set_recvmsg_cb(ptr noundef %10029, ptr noundef @s2n_test_ktls_recvmsg_fail, ptr noundef %304)
  %10031 = getelementptr inbounds %struct.s2n_result, ptr %305, i32 0, i32 0
  store i32 %10030, ptr %10031, align 4
  %10032 = getelementptr inbounds %struct.s2n_result, ptr %305, i32 0, i32 0
  %10033 = load i32, ptr %10032, align 4
  %10034 = call zeroext i1 @s2n_result_is_ok(i32 %10033)
  br i1 %10034, label %10088, label %10035

10035:                                            ; preds = %10026
  br label %10036

10036:                                            ; preds = %10035
  br label %10037

10037:                                            ; preds = %10036
  call void @llvm.lifetime.start.p0(i64 4, ptr %306) #11
  %10038 = call ptr @__errno_location() #12
  %10039 = load i32, ptr %10038, align 4, !tbaa !5
  store i32 %10039, ptr %306, align 4, !tbaa !5
  %10040 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10041 = call i32 @s2n_print_stacktrace(ptr noundef %10040)
  %10042 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10043 = trunc i8 %10042 to i1
  br i1 %10043, label %10044, label %10066

10044:                                            ; preds = %10037
  %10045 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10046 = call i32 @fileno(ptr noundef %10045) #11
  %10047 = call i32 @isatty(i32 noundef %10046) #11
  %10048 = icmp ne i32 %10047, 0
  br i1 %10048, label %10049, label %10066

10049:                                            ; preds = %10044
  %10050 = load i32, ptr %306, align 4, !tbaa !5
  %10051 = call ptr @__errno_location() #12
  store i32 %10050, ptr %10051, align 4, !tbaa !5
  %10052 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10053 = load i32, ptr @test_count, align 4, !tbaa !5
  %10054 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10055 = load i32, ptr %10054, align 4, !tbaa !5
  %10056 = call ptr @s2n_strerror(i32 noundef %10055, ptr noundef @.str.5)
  %10057 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10058 = load i32, ptr %10057, align 4, !tbaa !5
  %10059 = call ptr @s2n_strerror_debug(i32 noundef %10058, ptr noundef @.str.5)
  %10060 = call ptr @__errno_location() #12
  %10061 = load i32, ptr %10060, align 4, !tbaa !5
  %10062 = call ptr @strerror(i32 noundef %10061) #11
  %10063 = call ptr @__errno_location() #12
  %10064 = load i32, ptr %10063, align 4, !tbaa !5
  %10065 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10052, ptr noundef @.str.3, i32 noundef %10053, ptr noundef @.str.67, ptr noundef @.str.2, i32 noundef 494, ptr noundef %10056, ptr noundef %10059, ptr noundef %10062, i32 noundef %10064) #11
  br label %10083

10066:                                            ; preds = %10044, %10037
  %10067 = load i32, ptr %306, align 4, !tbaa !5
  %10068 = call ptr @__errno_location() #12
  store i32 %10067, ptr %10068, align 4, !tbaa !5
  %10069 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10070 = load i32, ptr @test_count, align 4, !tbaa !5
  %10071 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10072 = load i32, ptr %10071, align 4, !tbaa !5
  %10073 = call ptr @s2n_strerror(i32 noundef %10072, ptr noundef @.str.5)
  %10074 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10075 = load i32, ptr %10074, align 4, !tbaa !5
  %10076 = call ptr @s2n_strerror_debug(i32 noundef %10075, ptr noundef @.str.5)
  %10077 = call ptr @__errno_location() #12
  %10078 = load i32, ptr %10077, align 4, !tbaa !5
  %10079 = call ptr @strerror(i32 noundef %10078) #11
  %10080 = call ptr @__errno_location() #12
  %10081 = load i32, ptr %10080, align 4, !tbaa !5
  %10082 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10069, ptr noundef @.str.6, i32 noundef %10070, ptr noundef @.str.67, ptr noundef @.str.2, i32 noundef 494, ptr noundef %10073, ptr noundef %10076, ptr noundef %10079, i32 noundef %10081) #11
  br label %10083

10083:                                            ; preds = %10066, %10049
  call void @llvm.lifetime.end.p0(i64 4, ptr %306) #11
  br label %10084

10084:                                            ; preds = %10083
  br label %10085

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

10086:                                            ; No predecessors!
  br label %10087

10087:                                            ; preds = %10086
  br label %10088

10088:                                            ; preds = %10087, %10026
  br label %10089

10089:                                            ; preds = %10088
  br label %10090

10090:                                            ; preds = %10089
  call void @llvm.lifetime.start.p0(i64 16384, ptr %307) #11
  call void @llvm.memset.p0.i64(ptr align 16 %307, i8 0, i64 16384, i1 false)
  call void @llvm.lifetime.start.p0(i64 4, ptr %308) #11
  store i32 0, ptr %308, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 1, ptr %309) #11
  store i8 0, ptr %309, align 1, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 8, ptr %310) #11
  store i64 0, ptr %310, align 8, !tbaa !20
  br label %10091

10091:                                            ; preds = %10090
  br label %10092

10092:                                            ; preds = %10091
  br label %10093

10093:                                            ; preds = %10092
  %10094 = load i32, ptr @test_count, align 4, !tbaa !5
  %10095 = add nsw i32 %10094, 1
  store i32 %10095, ptr @test_count, align 4, !tbaa !5
  %10096 = load ptr, ptr %303, align 8, !tbaa !9
  %10097 = getelementptr inbounds %struct.s2n_connection, ptr %10096, i32 0, i32 9
  %10098 = load ptr, ptr %10097, align 8, !tbaa !57
  %10099 = getelementptr inbounds [16384 x i8], ptr %307, i64 0, i64 0
  %10100 = call i32 @s2n_ktls_recvmsg(ptr noundef %10098, ptr noundef %309, ptr noundef %10099, i64 noundef 10, ptr noundef %308, ptr noundef %310)
  %10101 = getelementptr inbounds %struct.s2n_result, ptr %311, i32 0, i32 0
  store i32 %10100, ptr %10101, align 4
  %10102 = getelementptr inbounds %struct.s2n_result, ptr %311, i32 0, i32 0
  %10103 = load i32, ptr %10102, align 4
  %10104 = call zeroext i1 @s2n_result_is_error(i32 %10103)
  br i1 %10104, label %10158, label %10105

10105:                                            ; preds = %10093
  br label %10106

10106:                                            ; preds = %10105
  br label %10107

10107:                                            ; preds = %10106
  call void @llvm.lifetime.start.p0(i64 4, ptr %312) #11
  %10108 = call ptr @__errno_location() #12
  %10109 = load i32, ptr %10108, align 4, !tbaa !5
  store i32 %10109, ptr %312, align 4, !tbaa !5
  %10110 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10111 = call i32 @s2n_print_stacktrace(ptr noundef %10110)
  %10112 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10113 = trunc i8 %10112 to i1
  br i1 %10113, label %10114, label %10136

10114:                                            ; preds = %10107
  %10115 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10116 = call i32 @fileno(ptr noundef %10115) #11
  %10117 = call i32 @isatty(i32 noundef %10116) #11
  %10118 = icmp ne i32 %10117, 0
  br i1 %10118, label %10119, label %10136

10119:                                            ; preds = %10114
  %10120 = load i32, ptr %312, align 4, !tbaa !5
  %10121 = call ptr @__errno_location() #12
  store i32 %10120, ptr %10121, align 4, !tbaa !5
  %10122 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10123 = load i32, ptr @test_count, align 4, !tbaa !5
  %10124 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10125 = load i32, ptr %10124, align 4, !tbaa !5
  %10126 = call ptr @s2n_strerror(i32 noundef %10125, ptr noundef @.str.5)
  %10127 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10128 = load i32, ptr %10127, align 4, !tbaa !5
  %10129 = call ptr @s2n_strerror_debug(i32 noundef %10128, ptr noundef @.str.5)
  %10130 = call ptr @__errno_location() #12
  %10131 = load i32, ptr %10130, align 4, !tbaa !5
  %10132 = call ptr @strerror(i32 noundef %10131) #11
  %10133 = call ptr @__errno_location() #12
  %10134 = load i32, ptr %10133, align 4, !tbaa !5
  %10135 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10122, ptr noundef @.str.3, i32 noundef %10123, ptr noundef @.str.64, ptr noundef @.str.2, i32 noundef 503, ptr noundef %10126, ptr noundef %10129, ptr noundef %10132, i32 noundef %10134) #11
  br label %10153

10136:                                            ; preds = %10114, %10107
  %10137 = load i32, ptr %312, align 4, !tbaa !5
  %10138 = call ptr @__errno_location() #12
  store i32 %10137, ptr %10138, align 4, !tbaa !5
  %10139 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10140 = load i32, ptr @test_count, align 4, !tbaa !5
  %10141 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10142 = load i32, ptr %10141, align 4, !tbaa !5
  %10143 = call ptr @s2n_strerror(i32 noundef %10142, ptr noundef @.str.5)
  %10144 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10145 = load i32, ptr %10144, align 4, !tbaa !5
  %10146 = call ptr @s2n_strerror_debug(i32 noundef %10145, ptr noundef @.str.5)
  %10147 = call ptr @__errno_location() #12
  %10148 = load i32, ptr %10147, align 4, !tbaa !5
  %10149 = call ptr @strerror(i32 noundef %10148) #11
  %10150 = call ptr @__errno_location() #12
  %10151 = load i32, ptr %10150, align 4, !tbaa !5
  %10152 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10139, ptr noundef @.str.6, i32 noundef %10140, ptr noundef @.str.64, ptr noundef @.str.2, i32 noundef 503, ptr noundef %10143, ptr noundef %10146, ptr noundef %10149, i32 noundef %10151) #11
  br label %10153

10153:                                            ; preds = %10136, %10119
  call void @llvm.lifetime.end.p0(i64 4, ptr %312) #11
  br label %10154

10154:                                            ; preds = %10153
  br label %10155

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

10156:                                            ; No predecessors!
  br label %10157

10157:                                            ; preds = %10156
  br label %10158

10158:                                            ; preds = %10157, %10093
  br label %10159

10159:                                            ; preds = %10158
  br label %10160

10160:                                            ; preds = %10159
  br label %10161

10161:                                            ; preds = %10160
  %10162 = load i32, ptr @test_count, align 4, !tbaa !5
  %10163 = add nsw i32 %10162, 1
  store i32 %10163, ptr @test_count, align 4, !tbaa !5
  %10164 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10165 = load i32, ptr %10164, align 4, !tbaa !5
  %10166 = icmp eq i32 %10165, 67108864
  br i1 %10166, label %10220, label %10167

10167:                                            ; preds = %10161
  br label %10168

10168:                                            ; preds = %10167
  br label %10169

10169:                                            ; preds = %10168
  call void @llvm.lifetime.start.p0(i64 4, ptr %313) #11
  %10170 = call ptr @__errno_location() #12
  %10171 = load i32, ptr %10170, align 4, !tbaa !5
  store i32 %10171, ptr %313, align 4, !tbaa !5
  %10172 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10173 = call i32 @s2n_print_stacktrace(ptr noundef %10172)
  %10174 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10175 = trunc i8 %10174 to i1
  br i1 %10175, label %10176, label %10198

10176:                                            ; preds = %10169
  %10177 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10178 = call i32 @fileno(ptr noundef %10177) #11
  %10179 = call i32 @isatty(i32 noundef %10178) #11
  %10180 = icmp ne i32 %10179, 0
  br i1 %10180, label %10181, label %10198

10181:                                            ; preds = %10176
  %10182 = load i32, ptr %313, align 4, !tbaa !5
  %10183 = call ptr @__errno_location() #12
  store i32 %10182, ptr %10183, align 4, !tbaa !5
  %10184 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10185 = load i32, ptr @test_count, align 4, !tbaa !5
  %10186 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10187 = load i32, ptr %10186, align 4, !tbaa !5
  %10188 = call ptr @s2n_strerror(i32 noundef %10187, ptr noundef @.str.5)
  %10189 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10190 = load i32, ptr %10189, align 4, !tbaa !5
  %10191 = call ptr @s2n_strerror_debug(i32 noundef %10190, ptr noundef @.str.5)
  %10192 = call ptr @__errno_location() #12
  %10193 = load i32, ptr %10192, align 4, !tbaa !5
  %10194 = call ptr @strerror(i32 noundef %10193) #11
  %10195 = call ptr @__errno_location() #12
  %10196 = load i32, ptr %10195, align 4, !tbaa !5
  %10197 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10184, ptr noundef @.str.3, i32 noundef %10185, ptr noundef @.str.24, ptr noundef @.str.2, i32 noundef 503, ptr noundef %10188, ptr noundef %10191, ptr noundef %10194, i32 noundef %10196) #11
  br label %10215

10198:                                            ; preds = %10176, %10169
  %10199 = load i32, ptr %313, align 4, !tbaa !5
  %10200 = call ptr @__errno_location() #12
  store i32 %10199, ptr %10200, align 4, !tbaa !5
  %10201 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10202 = load i32, ptr @test_count, align 4, !tbaa !5
  %10203 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10204 = load i32, ptr %10203, align 4, !tbaa !5
  %10205 = call ptr @s2n_strerror(i32 noundef %10204, ptr noundef @.str.5)
  %10206 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10207 = load i32, ptr %10206, align 4, !tbaa !5
  %10208 = call ptr @s2n_strerror_debug(i32 noundef %10207, ptr noundef @.str.5)
  %10209 = call ptr @__errno_location() #12
  %10210 = load i32, ptr %10209, align 4, !tbaa !5
  %10211 = call ptr @strerror(i32 noundef %10210) #11
  %10212 = call ptr @__errno_location() #12
  %10213 = load i32, ptr %10212, align 4, !tbaa !5
  %10214 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10201, ptr noundef @.str.6, i32 noundef %10202, ptr noundef @.str.24, ptr noundef @.str.2, i32 noundef 503, ptr noundef %10205, ptr noundef %10208, ptr noundef %10211, i32 noundef %10213) #11
  br label %10215

10215:                                            ; preds = %10198, %10181
  call void @llvm.lifetime.end.p0(i64 4, ptr %313) #11
  br label %10216

10216:                                            ; preds = %10215
  br label %10217

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

10218:                                            ; No predecessors!
  br label %10219

10219:                                            ; preds = %10218
  br label %10220

10220:                                            ; preds = %10219, %10161
  br label %10221

10221:                                            ; preds = %10220
  br label %10222

10222:                                            ; preds = %10221
  br label %10223

10223:                                            ; preds = %10222
  %10224 = load i32, ptr @test_count, align 4, !tbaa !5
  %10225 = add nsw i32 %10224, 1
  store i32 %10225, ptr @test_count, align 4, !tbaa !5
  %10226 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10227 = load i32, ptr %10226, align 4, !tbaa !5
  %10228 = call ptr @s2n_strerror_debug(i32 noundef %10227, ptr noundef @.str.5)
  %10229 = icmp eq ptr %10228, null
  br i1 %10229, label %10230, label %10283

10230:                                            ; preds = %10223
  br label %10231

10231:                                            ; preds = %10230
  br label %10232

10232:                                            ; preds = %10231
  call void @llvm.lifetime.start.p0(i64 4, ptr %314) #11
  %10233 = call ptr @__errno_location() #12
  %10234 = load i32, ptr %10233, align 4, !tbaa !5
  store i32 %10234, ptr %314, align 4, !tbaa !5
  %10235 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10236 = call i32 @s2n_print_stacktrace(ptr noundef %10235)
  %10237 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10238 = trunc i8 %10237 to i1
  br i1 %10238, label %10239, label %10261

10239:                                            ; preds = %10232
  %10240 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10241 = call i32 @fileno(ptr noundef %10240) #11
  %10242 = call i32 @isatty(i32 noundef %10241) #11
  %10243 = icmp ne i32 %10242, 0
  br i1 %10243, label %10244, label %10261

10244:                                            ; preds = %10239
  %10245 = load i32, ptr %314, align 4, !tbaa !5
  %10246 = call ptr @__errno_location() #12
  store i32 %10245, ptr %10246, align 4, !tbaa !5
  %10247 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10248 = load i32, ptr @test_count, align 4, !tbaa !5
  %10249 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10250 = load i32, ptr %10249, align 4, !tbaa !5
  %10251 = call ptr @s2n_strerror(i32 noundef %10250, ptr noundef @.str.5)
  %10252 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10253 = load i32, ptr %10252, align 4, !tbaa !5
  %10254 = call ptr @s2n_strerror_debug(i32 noundef %10253, ptr noundef @.str.5)
  %10255 = call ptr @__errno_location() #12
  %10256 = load i32, ptr %10255, align 4, !tbaa !5
  %10257 = call ptr @strerror(i32 noundef %10256) #11
  %10258 = call ptr @__errno_location() #12
  %10259 = load i32, ptr %10258, align 4, !tbaa !5
  %10260 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10247, ptr noundef @.str.3, i32 noundef %10248, ptr noundef @.str.13, ptr noundef @.str.2, i32 noundef 503, ptr noundef %10251, ptr noundef %10254, ptr noundef %10257, i32 noundef %10259) #11
  br label %10278

10261:                                            ; preds = %10239, %10232
  %10262 = load i32, ptr %314, align 4, !tbaa !5
  %10263 = call ptr @__errno_location() #12
  store i32 %10262, ptr %10263, align 4, !tbaa !5
  %10264 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10265 = load i32, ptr @test_count, align 4, !tbaa !5
  %10266 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10267 = load i32, ptr %10266, align 4, !tbaa !5
  %10268 = call ptr @s2n_strerror(i32 noundef %10267, ptr noundef @.str.5)
  %10269 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10270 = load i32, ptr %10269, align 4, !tbaa !5
  %10271 = call ptr @s2n_strerror_debug(i32 noundef %10270, ptr noundef @.str.5)
  %10272 = call ptr @__errno_location() #12
  %10273 = load i32, ptr %10272, align 4, !tbaa !5
  %10274 = call ptr @strerror(i32 noundef %10273) #11
  %10275 = call ptr @__errno_location() #12
  %10276 = load i32, ptr %10275, align 4, !tbaa !5
  %10277 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10264, ptr noundef @.str.6, i32 noundef %10265, ptr noundef @.str.13, ptr noundef @.str.2, i32 noundef 503, ptr noundef %10268, ptr noundef %10271, ptr noundef %10274, i32 noundef %10276) #11
  br label %10278

10278:                                            ; preds = %10261, %10244
  call void @llvm.lifetime.end.p0(i64 4, ptr %314) #11
  br label %10279

10279:                                            ; preds = %10278
  br label %10280

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

10281:                                            ; No predecessors!
  br label %10282

10282:                                            ; preds = %10281
  br label %10283

10283:                                            ; preds = %10282, %10223
  br label %10284

10284:                                            ; preds = %10283
  br label %10285

10285:                                            ; preds = %10284
  br label %10286

10286:                                            ; preds = %10285
  br label %10287

10287:                                            ; preds = %10286
  br label %10288

10288:                                            ; preds = %10287
  %10289 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %10289, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %10290 = call ptr @__errno_location() #12
  store i32 0, ptr %10290, align 4, !tbaa !5
  br label %10291

10291:                                            ; preds = %10288
  br label %10292

10292:                                            ; preds = %10291
  br label %10293

10293:                                            ; preds = %10292
  br label %10294

10294:                                            ; preds = %10293
  br label %10295

10295:                                            ; preds = %10294
  %10296 = load i32, ptr @test_count, align 4, !tbaa !5
  %10297 = add nsw i32 %10296, 1
  store i32 %10297, ptr @test_count, align 4, !tbaa !5
  %10298 = load i32, ptr %308, align 4, !tbaa !5
  %10299 = icmp eq i32 %10298, 1
  br i1 %10299, label %10353, label %10300

10300:                                            ; preds = %10295
  br label %10301

10301:                                            ; preds = %10300
  br label %10302

10302:                                            ; preds = %10301
  call void @llvm.lifetime.start.p0(i64 4, ptr %315) #11
  %10303 = call ptr @__errno_location() #12
  %10304 = load i32, ptr %10303, align 4, !tbaa !5
  store i32 %10304, ptr %315, align 4, !tbaa !5
  %10305 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10306 = call i32 @s2n_print_stacktrace(ptr noundef %10305)
  %10307 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10308 = trunc i8 %10307 to i1
  br i1 %10308, label %10309, label %10331

10309:                                            ; preds = %10302
  %10310 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10311 = call i32 @fileno(ptr noundef %10310) #11
  %10312 = call i32 @isatty(i32 noundef %10311) #11
  %10313 = icmp ne i32 %10312, 0
  br i1 %10313, label %10314, label %10331

10314:                                            ; preds = %10309
  %10315 = load i32, ptr %315, align 4, !tbaa !5
  %10316 = call ptr @__errno_location() #12
  store i32 %10315, ptr %10316, align 4, !tbaa !5
  %10317 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10318 = load i32, ptr @test_count, align 4, !tbaa !5
  %10319 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10320 = load i32, ptr %10319, align 4, !tbaa !5
  %10321 = call ptr @s2n_strerror(i32 noundef %10320, ptr noundef @.str.5)
  %10322 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10323 = load i32, ptr %10322, align 4, !tbaa !5
  %10324 = call ptr @s2n_strerror_debug(i32 noundef %10323, ptr noundef @.str.5)
  %10325 = call ptr @__errno_location() #12
  %10326 = load i32, ptr %10325, align 4, !tbaa !5
  %10327 = call ptr @strerror(i32 noundef %10326) #11
  %10328 = call ptr @__errno_location() #12
  %10329 = load i32, ptr %10328, align 4, !tbaa !5
  %10330 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10317, ptr noundef @.str.3, i32 noundef %10318, ptr noundef @.str.65, ptr noundef @.str.2, i32 noundef 505, ptr noundef %10321, ptr noundef %10324, ptr noundef %10327, i32 noundef %10329) #11
  br label %10348

10331:                                            ; preds = %10309, %10302
  %10332 = load i32, ptr %315, align 4, !tbaa !5
  %10333 = call ptr @__errno_location() #12
  store i32 %10332, ptr %10333, align 4, !tbaa !5
  %10334 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10335 = load i32, ptr @test_count, align 4, !tbaa !5
  %10336 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10337 = load i32, ptr %10336, align 4, !tbaa !5
  %10338 = call ptr @s2n_strerror(i32 noundef %10337, ptr noundef @.str.5)
  %10339 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10340 = load i32, ptr %10339, align 4, !tbaa !5
  %10341 = call ptr @s2n_strerror_debug(i32 noundef %10340, ptr noundef @.str.5)
  %10342 = call ptr @__errno_location() #12
  %10343 = load i32, ptr %10342, align 4, !tbaa !5
  %10344 = call ptr @strerror(i32 noundef %10343) #11
  %10345 = call ptr @__errno_location() #12
  %10346 = load i32, ptr %10345, align 4, !tbaa !5
  %10347 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10334, ptr noundef @.str.6, i32 noundef %10335, ptr noundef @.str.65, ptr noundef @.str.2, i32 noundef 505, ptr noundef %10338, ptr noundef %10341, ptr noundef %10344, i32 noundef %10346) #11
  br label %10348

10348:                                            ; preds = %10331, %10314
  call void @llvm.lifetime.end.p0(i64 4, ptr %315) #11
  br label %10349

10349:                                            ; preds = %10348
  br label %10350

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

10351:                                            ; No predecessors!
  br label %10352

10352:                                            ; preds = %10351
  br label %10353

10353:                                            ; preds = %10352, %10295
  br label %10354

10354:                                            ; preds = %10353
  br label %10355

10355:                                            ; preds = %10354
  br label %10356

10356:                                            ; preds = %10355
  %10357 = load i32, ptr @test_count, align 4, !tbaa !5
  %10358 = add nsw i32 %10357, 1
  store i32 %10358, ptr @test_count, align 4, !tbaa !5
  %10359 = getelementptr inbounds %struct.s2n_test_ktls_io_fail_ctx, ptr %304, i32 0, i32 1
  %10360 = load i64, ptr %10359, align 8, !tbaa !56
  %10361 = icmp eq i64 %10360, 1
  br i1 %10361, label %10415, label %10362

10362:                                            ; preds = %10356
  br label %10363

10363:                                            ; preds = %10362
  br label %10364

10364:                                            ; preds = %10363
  call void @llvm.lifetime.start.p0(i64 4, ptr %316) #11
  %10365 = call ptr @__errno_location() #12
  %10366 = load i32, ptr %10365, align 4, !tbaa !5
  store i32 %10366, ptr %316, align 4, !tbaa !5
  %10367 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10368 = call i32 @s2n_print_stacktrace(ptr noundef %10367)
  %10369 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10370 = trunc i8 %10369 to i1
  br i1 %10370, label %10371, label %10393

10371:                                            ; preds = %10364
  %10372 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10373 = call i32 @fileno(ptr noundef %10372) #11
  %10374 = call i32 @isatty(i32 noundef %10373) #11
  %10375 = icmp ne i32 %10374, 0
  br i1 %10375, label %10376, label %10393

10376:                                            ; preds = %10371
  %10377 = load i32, ptr %316, align 4, !tbaa !5
  %10378 = call ptr @__errno_location() #12
  store i32 %10377, ptr %10378, align 4, !tbaa !5
  %10379 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10380 = load i32, ptr @test_count, align 4, !tbaa !5
  %10381 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10382 = load i32, ptr %10381, align 4, !tbaa !5
  %10383 = call ptr @s2n_strerror(i32 noundef %10382, ptr noundef @.str.5)
  %10384 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10385 = load i32, ptr %10384, align 4, !tbaa !5
  %10386 = call ptr @s2n_strerror_debug(i32 noundef %10385, ptr noundef @.str.5)
  %10387 = call ptr @__errno_location() #12
  %10388 = load i32, ptr %10387, align 4, !tbaa !5
  %10389 = call ptr @strerror(i32 noundef %10388) #11
  %10390 = call ptr @__errno_location() #12
  %10391 = load i32, ptr %10390, align 4, !tbaa !5
  %10392 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10379, ptr noundef @.str.3, i32 noundef %10380, ptr noundef @.str.46, ptr noundef @.str.2, i32 noundef 507, ptr noundef %10383, ptr noundef %10386, ptr noundef %10389, i32 noundef %10391) #11
  br label %10410

10393:                                            ; preds = %10371, %10364
  %10394 = load i32, ptr %316, align 4, !tbaa !5
  %10395 = call ptr @__errno_location() #12
  store i32 %10394, ptr %10395, align 4, !tbaa !5
  %10396 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10397 = load i32, ptr @test_count, align 4, !tbaa !5
  %10398 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10399 = load i32, ptr %10398, align 4, !tbaa !5
  %10400 = call ptr @s2n_strerror(i32 noundef %10399, ptr noundef @.str.5)
  %10401 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10402 = load i32, ptr %10401, align 4, !tbaa !5
  %10403 = call ptr @s2n_strerror_debug(i32 noundef %10402, ptr noundef @.str.5)
  %10404 = call ptr @__errno_location() #12
  %10405 = load i32, ptr %10404, align 4, !tbaa !5
  %10406 = call ptr @strerror(i32 noundef %10405) #11
  %10407 = call ptr @__errno_location() #12
  %10408 = load i32, ptr %10407, align 4, !tbaa !5
  %10409 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10396, ptr noundef @.str.6, i32 noundef %10397, ptr noundef @.str.46, ptr noundef @.str.2, i32 noundef 507, ptr noundef %10400, ptr noundef %10403, ptr noundef %10406, i32 noundef %10408) #11
  br label %10410

10410:                                            ; preds = %10393, %10376
  call void @llvm.lifetime.end.p0(i64 4, ptr %316) #11
  br label %10411

10411:                                            ; preds = %10410
  br label %10412

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

10413:                                            ; No predecessors!
  br label %10414

10414:                                            ; preds = %10413
  br label %10415

10415:                                            ; preds = %10414, %10356
  br label %10416

10416:                                            ; preds = %10415
  br label %10417

10417:                                            ; preds = %10416
  call void @llvm.lifetime.end.p0(i64 8, ptr %310) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %309) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %308) #11
  call void @llvm.lifetime.end.p0(i64 16384, ptr %307) #11
  call void @llvm.lifetime.end.p0(i64 16, ptr %304) #11
  %10418 = call i32 @s2n_connection_ptr_free(ptr noundef %303)
  %10419 = getelementptr inbounds %struct.s2n_result, ptr %317, i32 0, i32 0
  store i32 %10418, ptr %10419, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %303) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %318) #11
  %10420 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %10420, ptr %318, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %319) #11
  call void @llvm.memset.p0.i64(ptr align 8 %319, i8 0, i64 16, i1 false)
  br label %10421

10421:                                            ; preds = %10417
  %10422 = load i32, ptr @test_count, align 4, !tbaa !5
  %10423 = add nsw i32 %10422, 1
  store i32 %10423, ptr @test_count, align 4, !tbaa !5
  %10424 = load ptr, ptr %318, align 8, !tbaa !9
  %10425 = call i32 @s2n_ktls_set_recvmsg_cb(ptr noundef %10424, ptr noundef @s2n_test_ktls_recvmsg_eof, ptr noundef %319)
  %10426 = getelementptr inbounds %struct.s2n_result, ptr %320, i32 0, i32 0
  store i32 %10425, ptr %10426, align 4
  %10427 = getelementptr inbounds %struct.s2n_result, ptr %320, i32 0, i32 0
  %10428 = load i32, ptr %10427, align 4
  %10429 = call zeroext i1 @s2n_result_is_ok(i32 %10428)
  br i1 %10429, label %10483, label %10430

10430:                                            ; preds = %10421
  br label %10431

10431:                                            ; preds = %10430
  br label %10432

10432:                                            ; preds = %10431
  call void @llvm.lifetime.start.p0(i64 4, ptr %321) #11
  %10433 = call ptr @__errno_location() #12
  %10434 = load i32, ptr %10433, align 4, !tbaa !5
  store i32 %10434, ptr %321, align 4, !tbaa !5
  %10435 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10436 = call i32 @s2n_print_stacktrace(ptr noundef %10435)
  %10437 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10438 = trunc i8 %10437 to i1
  br i1 %10438, label %10439, label %10461

10439:                                            ; preds = %10432
  %10440 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10441 = call i32 @fileno(ptr noundef %10440) #11
  %10442 = call i32 @isatty(i32 noundef %10441) #11
  %10443 = icmp ne i32 %10442, 0
  br i1 %10443, label %10444, label %10461

10444:                                            ; preds = %10439
  %10445 = load i32, ptr %321, align 4, !tbaa !5
  %10446 = call ptr @__errno_location() #12
  store i32 %10445, ptr %10446, align 4, !tbaa !5
  %10447 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10448 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %10450, ptr noundef @.str.5)
  %10452 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10453 = load i32, ptr %10452, align 4, !tbaa !5
  %10454 = call ptr @s2n_strerror_debug(i32 noundef %10453, ptr noundef @.str.5)
  %10455 = call ptr @__errno_location() #12
  %10456 = load i32, ptr %10455, align 4, !tbaa !5
  %10457 = call ptr @strerror(i32 noundef %10456) #11
  %10458 = call ptr @__errno_location() #12
  %10459 = load i32, ptr %10458, align 4, !tbaa !5
  %10460 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10447, ptr noundef @.str.3, i32 noundef %10448, ptr noundef @.str.69, ptr noundef @.str.2, i32 noundef 515, ptr noundef %10451, ptr noundef %10454, ptr noundef %10457, i32 noundef %10459) #11
  br label %10478

10461:                                            ; preds = %10439, %10432
  %10462 = load i32, ptr %321, align 4, !tbaa !5
  %10463 = call ptr @__errno_location() #12
  store i32 %10462, ptr %10463, align 4, !tbaa !5
  %10464 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10465 = load i32, ptr @test_count, align 4, !tbaa !5
  %10466 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10467 = load i32, ptr %10466, align 4, !tbaa !5
  %10468 = call ptr @s2n_strerror(i32 noundef %10467, ptr noundef @.str.5)
  %10469 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10470 = load i32, ptr %10469, align 4, !tbaa !5
  %10471 = call ptr @s2n_strerror_debug(i32 noundef %10470, ptr noundef @.str.5)
  %10472 = call ptr @__errno_location() #12
  %10473 = load i32, ptr %10472, align 4, !tbaa !5
  %10474 = call ptr @strerror(i32 noundef %10473) #11
  %10475 = call ptr @__errno_location() #12
  %10476 = load i32, ptr %10475, align 4, !tbaa !5
  %10477 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10464, ptr noundef @.str.6, i32 noundef %10465, ptr noundef @.str.69, ptr noundef @.str.2, i32 noundef 515, ptr noundef %10468, ptr noundef %10471, ptr noundef %10474, i32 noundef %10476) #11
  br label %10478

10478:                                            ; preds = %10461, %10444
  call void @llvm.lifetime.end.p0(i64 4, ptr %321) #11
  br label %10479

10479:                                            ; preds = %10478
  br label %10480

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

10481:                                            ; No predecessors!
  br label %10482

10482:                                            ; preds = %10481
  br label %10483

10483:                                            ; preds = %10482, %10421
  br label %10484

10484:                                            ; preds = %10483
  br label %10485

10485:                                            ; preds = %10484
  call void @llvm.lifetime.start.p0(i64 16384, ptr %322) #11
  call void @llvm.memset.p0.i64(ptr align 16 %322, i8 0, i64 16384, i1 false)
  call void @llvm.lifetime.start.p0(i64 4, ptr %323) #11
  store i32 0, ptr %323, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 1, ptr %324) #11
  store i8 0, ptr %324, align 1, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 8, ptr %325) #11
  store i64 0, ptr %325, align 8, !tbaa !20
  br label %10486

10486:                                            ; preds = %10485
  br label %10487

10487:                                            ; preds = %10486
  br label %10488

10488:                                            ; preds = %10487
  %10489 = load i32, ptr @test_count, align 4, !tbaa !5
  %10490 = add nsw i32 %10489, 1
  store i32 %10490, ptr @test_count, align 4, !tbaa !5
  %10491 = load ptr, ptr %318, align 8, !tbaa !9
  %10492 = getelementptr inbounds %struct.s2n_connection, ptr %10491, i32 0, i32 9
  %10493 = load ptr, ptr %10492, align 8, !tbaa !57
  %10494 = getelementptr inbounds [16384 x i8], ptr %322, i64 0, i64 0
  %10495 = call i32 @s2n_ktls_recvmsg(ptr noundef %10493, ptr noundef %324, ptr noundef %10494, i64 noundef 10, ptr noundef %323, ptr noundef %325)
  %10496 = getelementptr inbounds %struct.s2n_result, ptr %326, i32 0, i32 0
  store i32 %10495, ptr %10496, align 4
  %10497 = getelementptr inbounds %struct.s2n_result, ptr %326, i32 0, i32 0
  %10498 = load i32, ptr %10497, align 4
  %10499 = call zeroext i1 @s2n_result_is_error(i32 %10498)
  br i1 %10499, label %10553, label %10500

10500:                                            ; preds = %10488
  br label %10501

10501:                                            ; preds = %10500
  br label %10502

10502:                                            ; preds = %10501
  call void @llvm.lifetime.start.p0(i64 4, ptr %327) #11
  %10503 = call ptr @__errno_location() #12
  %10504 = load i32, ptr %10503, align 4, !tbaa !5
  store i32 %10504, ptr %327, align 4, !tbaa !5
  %10505 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10506 = call i32 @s2n_print_stacktrace(ptr noundef %10505)
  %10507 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10508 = trunc i8 %10507 to i1
  br i1 %10508, label %10509, label %10531

10509:                                            ; preds = %10502
  %10510 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10511 = call i32 @fileno(ptr noundef %10510) #11
  %10512 = call i32 @isatty(i32 noundef %10511) #11
  %10513 = icmp ne i32 %10512, 0
  br i1 %10513, label %10514, label %10531

10514:                                            ; preds = %10509
  %10515 = load i32, ptr %327, align 4, !tbaa !5
  %10516 = call ptr @__errno_location() #12
  store i32 %10515, ptr %10516, align 4, !tbaa !5
  %10517 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10518 = load i32, ptr @test_count, align 4, !tbaa !5
  %10519 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10520 = load i32, ptr %10519, align 4, !tbaa !5
  %10521 = call ptr @s2n_strerror(i32 noundef %10520, ptr noundef @.str.5)
  %10522 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10523 = load i32, ptr %10522, align 4, !tbaa !5
  %10524 = call ptr @s2n_strerror_debug(i32 noundef %10523, ptr noundef @.str.5)
  %10525 = call ptr @__errno_location() #12
  %10526 = load i32, ptr %10525, align 4, !tbaa !5
  %10527 = call ptr @strerror(i32 noundef %10526) #11
  %10528 = call ptr @__errno_location() #12
  %10529 = load i32, ptr %10528, align 4, !tbaa !5
  %10530 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10517, ptr noundef @.str.3, i32 noundef %10518, ptr noundef @.str.64, ptr noundef @.str.2, i32 noundef 524, ptr noundef %10521, ptr noundef %10524, ptr noundef %10527, i32 noundef %10529) #11
  br label %10548

10531:                                            ; preds = %10509, %10502
  %10532 = load i32, ptr %327, align 4, !tbaa !5
  %10533 = call ptr @__errno_location() #12
  store i32 %10532, ptr %10533, align 4, !tbaa !5
  %10534 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10535 = load i32, ptr @test_count, align 4, !tbaa !5
  %10536 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10537 = load i32, ptr %10536, align 4, !tbaa !5
  %10538 = call ptr @s2n_strerror(i32 noundef %10537, ptr noundef @.str.5)
  %10539 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10540 = load i32, ptr %10539, align 4, !tbaa !5
  %10541 = call ptr @s2n_strerror_debug(i32 noundef %10540, ptr noundef @.str.5)
  %10542 = call ptr @__errno_location() #12
  %10543 = load i32, ptr %10542, align 4, !tbaa !5
  %10544 = call ptr @strerror(i32 noundef %10543) #11
  %10545 = call ptr @__errno_location() #12
  %10546 = load i32, ptr %10545, align 4, !tbaa !5
  %10547 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10534, ptr noundef @.str.6, i32 noundef %10535, ptr noundef @.str.64, ptr noundef @.str.2, i32 noundef 524, ptr noundef %10538, ptr noundef %10541, ptr noundef %10544, i32 noundef %10546) #11
  br label %10548

10548:                                            ; preds = %10531, %10514
  call void @llvm.lifetime.end.p0(i64 4, ptr %327) #11
  br label %10549

10549:                                            ; preds = %10548
  br label %10550

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

10551:                                            ; No predecessors!
  br label %10552

10552:                                            ; preds = %10551
  br label %10553

10553:                                            ; preds = %10552, %10488
  br label %10554

10554:                                            ; preds = %10553
  br label %10555

10555:                                            ; preds = %10554
  br label %10556

10556:                                            ; preds = %10555
  %10557 = load i32, ptr @test_count, align 4, !tbaa !5
  %10558 = add nsw i32 %10557, 1
  store i32 %10558, ptr @test_count, align 4, !tbaa !5
  %10559 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10560 = load i32, ptr %10559, align 4, !tbaa !5
  %10561 = icmp eq i32 %10560, 134217728
  br i1 %10561, label %10615, label %10562

10562:                                            ; preds = %10556
  br label %10563

10563:                                            ; preds = %10562
  br label %10564

10564:                                            ; preds = %10563
  call void @llvm.lifetime.start.p0(i64 4, ptr %328) #11
  %10565 = call ptr @__errno_location() #12
  %10566 = load i32, ptr %10565, align 4, !tbaa !5
  store i32 %10566, ptr %328, align 4, !tbaa !5
  %10567 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10568 = call i32 @s2n_print_stacktrace(ptr noundef %10567)
  %10569 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10570 = trunc i8 %10569 to i1
  br i1 %10570, label %10571, label %10593

10571:                                            ; preds = %10564
  %10572 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10573 = call i32 @fileno(ptr noundef %10572) #11
  %10574 = call i32 @isatty(i32 noundef %10573) #11
  %10575 = icmp ne i32 %10574, 0
  br i1 %10575, label %10576, label %10593

10576:                                            ; preds = %10571
  %10577 = load i32, ptr %328, align 4, !tbaa !5
  %10578 = call ptr @__errno_location() #12
  store i32 %10577, ptr %10578, align 4, !tbaa !5
  %10579 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10580 = load i32, ptr @test_count, align 4, !tbaa !5
  %10581 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10582 = load i32, ptr %10581, align 4, !tbaa !5
  %10583 = call ptr @s2n_strerror(i32 noundef %10582, ptr noundef @.str.5)
  %10584 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10585 = load i32, ptr %10584, align 4, !tbaa !5
  %10586 = call ptr @s2n_strerror_debug(i32 noundef %10585, ptr noundef @.str.5)
  %10587 = call ptr @__errno_location() #12
  %10588 = load i32, ptr %10587, align 4, !tbaa !5
  %10589 = call ptr @strerror(i32 noundef %10588) #11
  %10590 = call ptr @__errno_location() #12
  %10591 = load i32, ptr %10590, align 4, !tbaa !5
  %10592 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10579, ptr noundef @.str.3, i32 noundef %10580, ptr noundef @.str.70, ptr noundef @.str.2, i32 noundef 524, ptr noundef %10583, ptr noundef %10586, ptr noundef %10589, i32 noundef %10591) #11
  br label %10610

10593:                                            ; preds = %10571, %10564
  %10594 = load i32, ptr %328, align 4, !tbaa !5
  %10595 = call ptr @__errno_location() #12
  store i32 %10594, ptr %10595, align 4, !tbaa !5
  %10596 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10597 = load i32, ptr @test_count, align 4, !tbaa !5
  %10598 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10599 = load i32, ptr %10598, align 4, !tbaa !5
  %10600 = call ptr @s2n_strerror(i32 noundef %10599, ptr noundef @.str.5)
  %10601 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10602 = load i32, ptr %10601, align 4, !tbaa !5
  %10603 = call ptr @s2n_strerror_debug(i32 noundef %10602, ptr noundef @.str.5)
  %10604 = call ptr @__errno_location() #12
  %10605 = load i32, ptr %10604, align 4, !tbaa !5
  %10606 = call ptr @strerror(i32 noundef %10605) #11
  %10607 = call ptr @__errno_location() #12
  %10608 = load i32, ptr %10607, align 4, !tbaa !5
  %10609 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10596, ptr noundef @.str.6, i32 noundef %10597, ptr noundef @.str.70, ptr noundef @.str.2, i32 noundef 524, ptr noundef %10600, ptr noundef %10603, ptr noundef %10606, i32 noundef %10608) #11
  br label %10610

10610:                                            ; preds = %10593, %10576
  call void @llvm.lifetime.end.p0(i64 4, ptr %328) #11
  br label %10611

10611:                                            ; preds = %10610
  br label %10612

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

10613:                                            ; No predecessors!
  br label %10614

10614:                                            ; preds = %10613
  br label %10615

10615:                                            ; preds = %10614, %10556
  br label %10616

10616:                                            ; preds = %10615
  br label %10617

10617:                                            ; preds = %10616
  br label %10618

10618:                                            ; preds = %10617
  %10619 = load i32, ptr @test_count, align 4, !tbaa !5
  %10620 = add nsw i32 %10619, 1
  store i32 %10620, ptr @test_count, align 4, !tbaa !5
  %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.5)
  %10624 = icmp eq ptr %10623, null
  br i1 %10624, label %10625, label %10678

10625:                                            ; preds = %10618
  br label %10626

10626:                                            ; preds = %10625
  br label %10627

10627:                                            ; preds = %10626
  call void @llvm.lifetime.start.p0(i64 4, ptr %329) #11
  %10628 = call ptr @__errno_location() #12
  %10629 = load i32, ptr %10628, align 4, !tbaa !5
  store i32 %10629, ptr %329, align 4, !tbaa !5
  %10630 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10631 = call i32 @s2n_print_stacktrace(ptr noundef %10630)
  %10632 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10633 = trunc i8 %10632 to i1
  br i1 %10633, label %10634, label %10656

10634:                                            ; preds = %10627
  %10635 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10636 = call i32 @fileno(ptr noundef %10635) #11
  %10637 = call i32 @isatty(i32 noundef %10636) #11
  %10638 = icmp ne i32 %10637, 0
  br i1 %10638, label %10639, label %10656

10639:                                            ; preds = %10634
  %10640 = load i32, ptr %329, align 4, !tbaa !5
  %10641 = call ptr @__errno_location() #12
  store i32 %10640, ptr %10641, align 4, !tbaa !5
  %10642 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10643 = load i32, ptr @test_count, align 4, !tbaa !5
  %10644 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10645 = load i32, ptr %10644, align 4, !tbaa !5
  %10646 = call ptr @s2n_strerror(i32 noundef %10645, ptr noundef @.str.5)
  %10647 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10648 = load i32, ptr %10647, align 4, !tbaa !5
  %10649 = call ptr @s2n_strerror_debug(i32 noundef %10648, ptr noundef @.str.5)
  %10650 = call ptr @__errno_location() #12
  %10651 = load i32, ptr %10650, align 4, !tbaa !5
  %10652 = call ptr @strerror(i32 noundef %10651) #11
  %10653 = call ptr @__errno_location() #12
  %10654 = load i32, ptr %10653, align 4, !tbaa !5
  %10655 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10642, ptr noundef @.str.3, i32 noundef %10643, ptr noundef @.str.13, ptr noundef @.str.2, i32 noundef 524, ptr noundef %10646, ptr noundef %10649, ptr noundef %10652, i32 noundef %10654) #11
  br label %10673

10656:                                            ; preds = %10634, %10627
  %10657 = load i32, ptr %329, align 4, !tbaa !5
  %10658 = call ptr @__errno_location() #12
  store i32 %10657, ptr %10658, align 4, !tbaa !5
  %10659 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10660 = load i32, ptr @test_count, align 4, !tbaa !5
  %10661 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10662 = load i32, ptr %10661, align 4, !tbaa !5
  %10663 = call ptr @s2n_strerror(i32 noundef %10662, ptr noundef @.str.5)
  %10664 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10665 = load i32, ptr %10664, align 4, !tbaa !5
  %10666 = call ptr @s2n_strerror_debug(i32 noundef %10665, ptr noundef @.str.5)
  %10667 = call ptr @__errno_location() #12
  %10668 = load i32, ptr %10667, align 4, !tbaa !5
  %10669 = call ptr @strerror(i32 noundef %10668) #11
  %10670 = call ptr @__errno_location() #12
  %10671 = load i32, ptr %10670, align 4, !tbaa !5
  %10672 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10659, ptr noundef @.str.6, i32 noundef %10660, ptr noundef @.str.13, ptr noundef @.str.2, i32 noundef 524, ptr noundef %10663, ptr noundef %10666, ptr noundef %10669, i32 noundef %10671) #11
  br label %10673

10673:                                            ; preds = %10656, %10639
  call void @llvm.lifetime.end.p0(i64 4, ptr %329) #11
  br label %10674

10674:                                            ; preds = %10673
  br label %10675

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

10676:                                            ; No predecessors!
  br label %10677

10677:                                            ; preds = %10676
  br label %10678

10678:                                            ; preds = %10677, %10618
  br label %10679

10679:                                            ; preds = %10678
  br label %10680

10680:                                            ; preds = %10679
  br label %10681

10681:                                            ; preds = %10680
  br label %10682

10682:                                            ; preds = %10681
  br label %10683

10683:                                            ; preds = %10682
  %10684 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %10684, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %10685 = call ptr @__errno_location() #12
  store i32 0, ptr %10685, align 4, !tbaa !5
  br label %10686

10686:                                            ; preds = %10683
  br label %10687

10687:                                            ; preds = %10686
  br label %10688

10688:                                            ; preds = %10687
  br label %10689

10689:                                            ; preds = %10688
  br label %10690

10690:                                            ; preds = %10689
  %10691 = load i32, ptr @test_count, align 4, !tbaa !5
  %10692 = add nsw i32 %10691, 1
  store i32 %10692, ptr @test_count, align 4, !tbaa !5
  %10693 = load i32, ptr %323, align 4, !tbaa !5
  %10694 = icmp eq i32 %10693, 1
  br i1 %10694, label %10748, label %10695

10695:                                            ; preds = %10690
  br label %10696

10696:                                            ; preds = %10695
  br label %10697

10697:                                            ; preds = %10696
  call void @llvm.lifetime.start.p0(i64 4, ptr %330) #11
  %10698 = call ptr @__errno_location() #12
  %10699 = load i32, ptr %10698, align 4, !tbaa !5
  store i32 %10699, ptr %330, align 4, !tbaa !5
  %10700 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10701 = call i32 @s2n_print_stacktrace(ptr noundef %10700)
  %10702 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10703 = trunc i8 %10702 to i1
  br i1 %10703, label %10704, label %10726

10704:                                            ; preds = %10697
  %10705 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10706 = call i32 @fileno(ptr noundef %10705) #11
  %10707 = call i32 @isatty(i32 noundef %10706) #11
  %10708 = icmp ne i32 %10707, 0
  br i1 %10708, label %10709, label %10726

10709:                                            ; preds = %10704
  %10710 = load i32, ptr %330, align 4, !tbaa !5
  %10711 = call ptr @__errno_location() #12
  store i32 %10710, ptr %10711, align 4, !tbaa !5
  %10712 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10713 = load i32, ptr @test_count, align 4, !tbaa !5
  %10714 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10715 = load i32, ptr %10714, align 4, !tbaa !5
  %10716 = call ptr @s2n_strerror(i32 noundef %10715, ptr noundef @.str.5)
  %10717 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10718 = load i32, ptr %10717, align 4, !tbaa !5
  %10719 = call ptr @s2n_strerror_debug(i32 noundef %10718, ptr noundef @.str.5)
  %10720 = call ptr @__errno_location() #12
  %10721 = load i32, ptr %10720, align 4, !tbaa !5
  %10722 = call ptr @strerror(i32 noundef %10721) #11
  %10723 = call ptr @__errno_location() #12
  %10724 = load i32, ptr %10723, align 4, !tbaa !5
  %10725 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10712, ptr noundef @.str.3, i32 noundef %10713, ptr noundef @.str.65, ptr noundef @.str.2, i32 noundef 526, ptr noundef %10716, ptr noundef %10719, ptr noundef %10722, i32 noundef %10724) #11
  br label %10743

10726:                                            ; preds = %10704, %10697
  %10727 = load i32, ptr %330, align 4, !tbaa !5
  %10728 = call ptr @__errno_location() #12
  store i32 %10727, ptr %10728, align 4, !tbaa !5
  %10729 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10730 = load i32, ptr @test_count, align 4, !tbaa !5
  %10731 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10732 = load i32, ptr %10731, align 4, !tbaa !5
  %10733 = call ptr @s2n_strerror(i32 noundef %10732, ptr noundef @.str.5)
  %10734 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10735 = load i32, ptr %10734, align 4, !tbaa !5
  %10736 = call ptr @s2n_strerror_debug(i32 noundef %10735, ptr noundef @.str.5)
  %10737 = call ptr @__errno_location() #12
  %10738 = load i32, ptr %10737, align 4, !tbaa !5
  %10739 = call ptr @strerror(i32 noundef %10738) #11
  %10740 = call ptr @__errno_location() #12
  %10741 = load i32, ptr %10740, align 4, !tbaa !5
  %10742 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10729, ptr noundef @.str.6, i32 noundef %10730, ptr noundef @.str.65, ptr noundef @.str.2, i32 noundef 526, ptr noundef %10733, ptr noundef %10736, ptr noundef %10739, i32 noundef %10741) #11
  br label %10743

10743:                                            ; preds = %10726, %10709
  call void @llvm.lifetime.end.p0(i64 4, ptr %330) #11
  br label %10744

10744:                                            ; preds = %10743
  br label %10745

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

10746:                                            ; No predecessors!
  br label %10747

10747:                                            ; preds = %10746
  br label %10748

10748:                                            ; preds = %10747, %10690
  br label %10749

10749:                                            ; preds = %10748
  br label %10750

10750:                                            ; preds = %10749
  br label %10751

10751:                                            ; preds = %10750
  %10752 = load i32, ptr @test_count, align 4, !tbaa !5
  %10753 = add nsw i32 %10752, 1
  store i32 %10753, ptr @test_count, align 4, !tbaa !5
  %10754 = getelementptr inbounds %struct.s2n_test_ktls_io_fail_ctx, ptr %319, i32 0, i32 1
  %10755 = load i64, ptr %10754, align 8, !tbaa !56
  %10756 = icmp eq i64 %10755, 1
  br i1 %10756, label %10810, label %10757

10757:                                            ; preds = %10751
  br label %10758

10758:                                            ; preds = %10757
  br label %10759

10759:                                            ; preds = %10758
  call void @llvm.lifetime.start.p0(i64 4, ptr %331) #11
  %10760 = call ptr @__errno_location() #12
  %10761 = load i32, ptr %10760, align 4, !tbaa !5
  store i32 %10761, ptr %331, align 4, !tbaa !5
  %10762 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10763 = call i32 @s2n_print_stacktrace(ptr noundef %10762)
  %10764 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10765 = trunc i8 %10764 to i1
  br i1 %10765, label %10766, label %10788

10766:                                            ; preds = %10759
  %10767 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10768 = call i32 @fileno(ptr noundef %10767) #11
  %10769 = call i32 @isatty(i32 noundef %10768) #11
  %10770 = icmp ne i32 %10769, 0
  br i1 %10770, label %10771, label %10788

10771:                                            ; preds = %10766
  %10772 = load i32, ptr %331, align 4, !tbaa !5
  %10773 = call ptr @__errno_location() #12
  store i32 %10772, ptr %10773, align 4, !tbaa !5
  %10774 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10775 = load i32, ptr @test_count, align 4, !tbaa !5
  %10776 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10777 = load i32, ptr %10776, align 4, !tbaa !5
  %10778 = call ptr @s2n_strerror(i32 noundef %10777, ptr noundef @.str.5)
  %10779 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10780 = load i32, ptr %10779, align 4, !tbaa !5
  %10781 = call ptr @s2n_strerror_debug(i32 noundef %10780, ptr noundef @.str.5)
  %10782 = call ptr @__errno_location() #12
  %10783 = load i32, ptr %10782, align 4, !tbaa !5
  %10784 = call ptr @strerror(i32 noundef %10783) #11
  %10785 = call ptr @__errno_location() #12
  %10786 = load i32, ptr %10785, align 4, !tbaa !5
  %10787 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10774, ptr noundef @.str.3, i32 noundef %10775, ptr noundef @.str.46, ptr noundef @.str.2, i32 noundef 528, ptr noundef %10778, ptr noundef %10781, ptr noundef %10784, i32 noundef %10786) #11
  br label %10805

10788:                                            ; preds = %10766, %10759
  %10789 = load i32, ptr %331, align 4, !tbaa !5
  %10790 = call ptr @__errno_location() #12
  store i32 %10789, ptr %10790, align 4, !tbaa !5
  %10791 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10792 = load i32, ptr @test_count, align 4, !tbaa !5
  %10793 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10794 = load i32, ptr %10793, align 4, !tbaa !5
  %10795 = call ptr @s2n_strerror(i32 noundef %10794, ptr noundef @.str.5)
  %10796 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10797 = load i32, ptr %10796, align 4, !tbaa !5
  %10798 = call ptr @s2n_strerror_debug(i32 noundef %10797, ptr noundef @.str.5)
  %10799 = call ptr @__errno_location() #12
  %10800 = load i32, ptr %10799, align 4, !tbaa !5
  %10801 = call ptr @strerror(i32 noundef %10800) #11
  %10802 = call ptr @__errno_location() #12
  %10803 = load i32, ptr %10802, align 4, !tbaa !5
  %10804 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10791, ptr noundef @.str.6, i32 noundef %10792, ptr noundef @.str.46, ptr noundef @.str.2, i32 noundef 528, ptr noundef %10795, ptr noundef %10798, ptr noundef %10801, i32 noundef %10803) #11
  br label %10805

10805:                                            ; preds = %10788, %10771
  call void @llvm.lifetime.end.p0(i64 4, ptr %331) #11
  br label %10806

10806:                                            ; preds = %10805
  br label %10807

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

10808:                                            ; No predecessors!
  br label %10809

10809:                                            ; preds = %10808
  br label %10810

10810:                                            ; preds = %10809, %10751
  br label %10811

10811:                                            ; preds = %10810
  br label %10812

10812:                                            ; preds = %10811
  call void @llvm.lifetime.end.p0(i64 8, ptr %325) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %324) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %323) #11
  call void @llvm.lifetime.end.p0(i64 16384, ptr %322) #11
  call void @llvm.lifetime.end.p0(i64 16, ptr %319) #11
  %10813 = call i32 @s2n_connection_ptr_free(ptr noundef %318)
  %10814 = getelementptr inbounds %struct.s2n_result, ptr %332, i32 0, i32 0
  store i32 %10813, ptr %10814, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %318) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %333) #11
  %10815 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %10815, ptr %333, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %334) #11
  %10816 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %10816, ptr %334, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 192, ptr %335) #11
  call void @llvm.memset.p0.i64(ptr align 8 %335, i8 0, i64 192, i1 false)
  br label %10817

10817:                                            ; preds = %10812
  %10818 = load i32, ptr @test_count, align 4, !tbaa !5
  %10819 = add nsw i32 %10818, 1
  store i32 %10819, ptr @test_count, align 4, !tbaa !5
  %10820 = load ptr, ptr %333, align 8, !tbaa !9
  %10821 = load ptr, ptr %334, align 8, !tbaa !9
  %10822 = call i32 @s2n_test_init_ktls_io_stuffer(ptr noundef %10820, ptr noundef %10821, ptr noundef %335)
  %10823 = getelementptr inbounds %struct.s2n_result, ptr %336, i32 0, i32 0
  store i32 %10822, ptr %10823, align 4
  %10824 = getelementptr inbounds %struct.s2n_result, ptr %336, i32 0, i32 0
  %10825 = load i32, ptr %10824, align 4
  %10826 = call zeroext i1 @s2n_result_is_ok(i32 %10825)
  br i1 %10826, label %10880, label %10827

10827:                                            ; preds = %10817
  br label %10828

10828:                                            ; preds = %10827
  br label %10829

10829:                                            ; preds = %10828
  call void @llvm.lifetime.start.p0(i64 4, ptr %337) #11
  %10830 = call ptr @__errno_location() #12
  %10831 = load i32, ptr %10830, align 4, !tbaa !5
  store i32 %10831, ptr %337, align 4, !tbaa !5
  %10832 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10833 = call i32 @s2n_print_stacktrace(ptr noundef %10832)
  %10834 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10835 = trunc i8 %10834 to i1
  br i1 %10835, label %10836, label %10858

10836:                                            ; preds = %10829
  %10837 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10838 = call i32 @fileno(ptr noundef %10837) #11
  %10839 = call i32 @isatty(i32 noundef %10838) #11
  %10840 = icmp ne i32 %10839, 0
  br i1 %10840, label %10841, label %10858

10841:                                            ; preds = %10836
  %10842 = load i32, ptr %337, align 4, !tbaa !5
  %10843 = call ptr @__errno_location() #12
  store i32 %10842, ptr %10843, align 4, !tbaa !5
  %10844 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10845 = load i32, ptr @test_count, align 4, !tbaa !5
  %10846 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10847 = load i32, ptr %10846, align 4, !tbaa !5
  %10848 = call ptr @s2n_strerror(i32 noundef %10847, ptr noundef @.str.5)
  %10849 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10850 = load i32, ptr %10849, align 4, !tbaa !5
  %10851 = call ptr @s2n_strerror_debug(i32 noundef %10850, ptr noundef @.str.5)
  %10852 = call ptr @__errno_location() #12
  %10853 = load i32, ptr %10852, align 4, !tbaa !5
  %10854 = call ptr @strerror(i32 noundef %10853) #11
  %10855 = call ptr @__errno_location() #12
  %10856 = load i32, ptr %10855, align 4, !tbaa !5
  %10857 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10844, ptr noundef @.str.3, i32 noundef %10845, ptr noundef @.str.58, ptr noundef @.str.2, i32 noundef 539, ptr noundef %10848, ptr noundef %10851, ptr noundef %10854, i32 noundef %10856) #11
  br label %10875

10858:                                            ; preds = %10836, %10829
  %10859 = load i32, ptr %337, align 4, !tbaa !5
  %10860 = call ptr @__errno_location() #12
  store i32 %10859, ptr %10860, align 4, !tbaa !5
  %10861 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10862 = load i32, ptr @test_count, align 4, !tbaa !5
  %10863 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10864 = load i32, ptr %10863, align 4, !tbaa !5
  %10865 = call ptr @s2n_strerror(i32 noundef %10864, ptr noundef @.str.5)
  %10866 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10867 = load i32, ptr %10866, align 4, !tbaa !5
  %10868 = call ptr @s2n_strerror_debug(i32 noundef %10867, ptr noundef @.str.5)
  %10869 = call ptr @__errno_location() #12
  %10870 = load i32, ptr %10869, align 4, !tbaa !5
  %10871 = call ptr @strerror(i32 noundef %10870) #11
  %10872 = call ptr @__errno_location() #12
  %10873 = load i32, ptr %10872, align 4, !tbaa !5
  %10874 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10861, ptr noundef @.str.6, i32 noundef %10862, ptr noundef @.str.58, ptr noundef @.str.2, i32 noundef 539, ptr noundef %10865, ptr noundef %10868, ptr noundef %10871, i32 noundef %10873) #11
  br label %10875

10875:                                            ; preds = %10858, %10841
  call void @llvm.lifetime.end.p0(i64 4, ptr %337) #11
  br label %10876

10876:                                            ; preds = %10875
  br label %10877

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

10878:                                            ; No predecessors!
  br label %10879

10879:                                            ; preds = %10878
  br label %10880

10880:                                            ; preds = %10879, %10817
  br label %10881

10881:                                            ; preds = %10880
  br label %10882

10882:                                            ; preds = %10881
  br label %10883

10883:                                            ; preds = %10882
  %10884 = load i32, ptr @test_count, align 4, !tbaa !5
  %10885 = add nsw i32 %10884, 1
  store i32 %10885, ptr @test_count, align 4, !tbaa !5
  %10886 = load ptr, ptr %334, align 8, !tbaa !9
  %10887 = getelementptr inbounds %struct.s2n_test_ktls_io_stuffer_pair, ptr %335, i32 0, i32 0
  %10888 = call i32 @s2n_ktls_set_recvmsg_cb(ptr noundef %10886, ptr noundef @s2n_test_ktls_recvmsg_io_stuffer_and_ctrunc, ptr noundef %10887)
  %10889 = getelementptr inbounds %struct.s2n_result, ptr %338, i32 0, i32 0
  store i32 %10888, ptr %10889, align 4
  %10890 = getelementptr inbounds %struct.s2n_result, ptr %338, i32 0, i32 0
  %10891 = load i32, ptr %10890, align 4
  %10892 = call zeroext i1 @s2n_result_is_ok(i32 %10891)
  br i1 %10892, label %10946, label %10893

10893:                                            ; preds = %10883
  br label %10894

10894:                                            ; preds = %10893
  br label %10895

10895:                                            ; preds = %10894
  call void @llvm.lifetime.start.p0(i64 4, ptr %339) #11
  %10896 = call ptr @__errno_location() #12
  %10897 = load i32, ptr %10896, align 4, !tbaa !5
  store i32 %10897, ptr %339, align 4, !tbaa !5
  %10898 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10899 = call i32 @s2n_print_stacktrace(ptr noundef %10898)
  %10900 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10901 = trunc i8 %10900 to i1
  br i1 %10901, label %10902, label %10924

10902:                                            ; preds = %10895
  %10903 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10904 = call i32 @fileno(ptr noundef %10903) #11
  %10905 = call i32 @isatty(i32 noundef %10904) #11
  %10906 = icmp ne i32 %10905, 0
  br i1 %10906, label %10907, label %10924

10907:                                            ; preds = %10902
  %10908 = load i32, ptr %339, align 4, !tbaa !5
  %10909 = call ptr @__errno_location() #12
  store i32 %10908, ptr %10909, align 4, !tbaa !5
  %10910 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10911 = load i32, ptr @test_count, align 4, !tbaa !5
  %10912 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10913 = load i32, ptr %10912, align 4, !tbaa !5
  %10914 = call ptr @s2n_strerror(i32 noundef %10913, ptr noundef @.str.5)
  %10915 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10916 = load i32, ptr %10915, align 4, !tbaa !5
  %10917 = call ptr @s2n_strerror_debug(i32 noundef %10916, ptr noundef @.str.5)
  %10918 = call ptr @__errno_location() #12
  %10919 = load i32, ptr %10918, align 4, !tbaa !5
  %10920 = call ptr @strerror(i32 noundef %10919) #11
  %10921 = call ptr @__errno_location() #12
  %10922 = load i32, ptr %10921, align 4, !tbaa !5
  %10923 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10910, ptr noundef @.str.3, i32 noundef %10911, ptr noundef @.str.71, ptr noundef @.str.2, i32 noundef 541, ptr noundef %10914, ptr noundef %10917, ptr noundef %10920, i32 noundef %10922) #11
  br label %10941

10924:                                            ; preds = %10902, %10895
  %10925 = load i32, ptr %339, align 4, !tbaa !5
  %10926 = call ptr @__errno_location() #12
  store i32 %10925, ptr %10926, align 4, !tbaa !5
  %10927 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10928 = load i32, ptr @test_count, align 4, !tbaa !5
  %10929 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10930 = load i32, ptr %10929, align 4, !tbaa !5
  %10931 = call ptr @s2n_strerror(i32 noundef %10930, ptr noundef @.str.5)
  %10932 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10933 = load i32, ptr %10932, align 4, !tbaa !5
  %10934 = call ptr @s2n_strerror_debug(i32 noundef %10933, ptr noundef @.str.5)
  %10935 = call ptr @__errno_location() #12
  %10936 = load i32, ptr %10935, align 4, !tbaa !5
  %10937 = call ptr @strerror(i32 noundef %10936) #11
  %10938 = call ptr @__errno_location() #12
  %10939 = load i32, ptr %10938, align 4, !tbaa !5
  %10940 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10927, ptr noundef @.str.6, i32 noundef %10928, ptr noundef @.str.71, ptr noundef @.str.2, i32 noundef 541, ptr noundef %10931, ptr noundef %10934, ptr noundef %10937, i32 noundef %10939) #11
  br label %10941

10941:                                            ; preds = %10924, %10907
  call void @llvm.lifetime.end.p0(i64 4, ptr %339) #11
  br label %10942

10942:                                            ; preds = %10941
  br label %10943

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

10944:                                            ; No predecessors!
  br label %10945

10945:                                            ; preds = %10944
  br label %10946

10946:                                            ; preds = %10945, %10883
  br label %10947

10947:                                            ; preds = %10946
  br label %10948

10948:                                            ; preds = %10947
  call void @llvm.lifetime.start.p0(i64 16, ptr %340) #11
  %10949 = getelementptr inbounds %struct.iovec, ptr %340, i32 0, i32 0
  %10950 = getelementptr inbounds [16384 x i8], ptr %10, i64 0, i64 0
  store ptr %10950, ptr %10949, align 8, !tbaa !16
  %10951 = getelementptr inbounds %struct.iovec, ptr %340, i32 0, i32 1
  store i64 10, ptr %10951, align 8, !tbaa !19
  call void @llvm.lifetime.start.p0(i64 4, ptr %341) #11
  store i32 0, ptr %341, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %342) #11
  store i64 0, ptr %342, align 8, !tbaa !20
  br label %10952

10952:                                            ; preds = %10948
  %10953 = load i32, ptr @test_count, align 4, !tbaa !5
  %10954 = add nsw i32 %10953, 1
  store i32 %10954, ptr @test_count, align 4, !tbaa !5
  %10955 = load ptr, ptr %333, align 8, !tbaa !9
  %10956 = getelementptr inbounds %struct.s2n_connection, ptr %10955, i32 0, i32 8
  %10957 = load ptr, ptr %10956, align 8, !tbaa !21
  %10958 = call i32 @s2n_ktls_sendmsg(ptr noundef %10957, i8 noundef zeroext 43, ptr noundef %340, i64 noundef 1, ptr noundef %341, ptr noundef %342)
  %10959 = getelementptr inbounds %struct.s2n_result, ptr %343, i32 0, i32 0
  store i32 %10958, ptr %10959, align 4
  %10960 = getelementptr inbounds %struct.s2n_result, ptr %343, i32 0, i32 0
  %10961 = load i32, ptr %10960, align 4
  %10962 = call zeroext i1 @s2n_result_is_ok(i32 %10961)
  br i1 %10962, label %11016, label %10963

10963:                                            ; preds = %10952
  br label %10964

10964:                                            ; preds = %10963
  br label %10965

10965:                                            ; preds = %10964
  call void @llvm.lifetime.start.p0(i64 4, ptr %344) #11
  %10966 = call ptr @__errno_location() #12
  %10967 = load i32, ptr %10966, align 4, !tbaa !5
  store i32 %10967, ptr %344, align 4, !tbaa !5
  %10968 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10969 = call i32 @s2n_print_stacktrace(ptr noundef %10968)
  %10970 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10971 = trunc i8 %10970 to i1
  br i1 %10971, label %10972, label %10994

10972:                                            ; preds = %10965
  %10973 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10974 = call i32 @fileno(ptr noundef %10973) #11
  %10975 = call i32 @isatty(i32 noundef %10974) #11
  %10976 = icmp ne i32 %10975, 0
  br i1 %10976, label %10977, label %10994

10977:                                            ; preds = %10972
  %10978 = load i32, ptr %344, align 4, !tbaa !5
  %10979 = call ptr @__errno_location() #12
  store i32 %10978, ptr %10979, align 4, !tbaa !5
  %10980 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10981 = load i32, ptr @test_count, align 4, !tbaa !5
  %10982 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10983 = load i32, ptr %10982, align 4, !tbaa !5
  %10984 = call ptr @s2n_strerror(i32 noundef %10983, ptr noundef @.str.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 = call ptr @s2n_strerror_debug(i32 noundef %10986, ptr noundef @.str.5)
  %10988 = call ptr @__errno_location() #12
  %10989 = load i32, ptr %10988, align 4, !tbaa !5
  %10990 = call ptr @strerror(i32 noundef %10989) #11
  %10991 = call ptr @__errno_location() #12
  %10992 = load i32, ptr %10991, align 4, !tbaa !5
  %10993 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10980, ptr noundef @.str.3, i32 noundef %10981, ptr noundef @.str.29, ptr noundef @.str.2, i32 noundef 547, ptr noundef %10984, ptr noundef %10987, ptr noundef %10990, i32 noundef %10992) #11
  br label %11011

10994:                                            ; preds = %10972, %10965
  %10995 = load i32, ptr %344, align 4, !tbaa !5
  %10996 = call ptr @__errno_location() #12
  store i32 %10995, ptr %10996, align 4, !tbaa !5
  %10997 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10998 = load i32, ptr @test_count, align 4, !tbaa !5
  %10999 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11000 = load i32, ptr %10999, align 4, !tbaa !5
  %11001 = call ptr @s2n_strerror(i32 noundef %11000, ptr noundef @.str.5)
  %11002 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11003 = load i32, ptr %11002, align 4, !tbaa !5
  %11004 = call ptr @s2n_strerror_debug(i32 noundef %11003, ptr noundef @.str.5)
  %11005 = call ptr @__errno_location() #12
  %11006 = load i32, ptr %11005, align 4, !tbaa !5
  %11007 = call ptr @strerror(i32 noundef %11006) #11
  %11008 = call ptr @__errno_location() #12
  %11009 = load i32, ptr %11008, align 4, !tbaa !5
  %11010 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10997, ptr noundef @.str.6, i32 noundef %10998, ptr noundef @.str.29, ptr noundef @.str.2, i32 noundef 547, ptr noundef %11001, ptr noundef %11004, ptr noundef %11007, i32 noundef %11009) #11
  br label %11011

11011:                                            ; preds = %10994, %10977
  call void @llvm.lifetime.end.p0(i64 4, ptr %344) #11
  br label %11012

11012:                                            ; preds = %11011
  br label %11013

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

11014:                                            ; No predecessors!
  br label %11015

11015:                                            ; preds = %11014
  br label %11016

11016:                                            ; preds = %11015, %10952
  br label %11017

11017:                                            ; preds = %11016
  br label %11018

11018:                                            ; preds = %11017
  br label %11019

11019:                                            ; preds = %11018
  %11020 = load i32, ptr @test_count, align 4, !tbaa !5
  %11021 = add nsw i32 %11020, 1
  store i32 %11021, ptr @test_count, align 4, !tbaa !5
  %11022 = load i64, ptr %342, align 8, !tbaa !20
  %11023 = icmp eq i64 %11022, 10
  br i1 %11023, label %11077, label %11024

11024:                                            ; preds = %11019
  br label %11025

11025:                                            ; preds = %11024
  br label %11026

11026:                                            ; preds = %11025
  call void @llvm.lifetime.start.p0(i64 4, ptr %345) #11
  %11027 = call ptr @__errno_location() #12
  %11028 = load i32, ptr %11027, align 4, !tbaa !5
  store i32 %11028, ptr %345, align 4, !tbaa !5
  %11029 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11030 = call i32 @s2n_print_stacktrace(ptr noundef %11029)
  %11031 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11032 = trunc i8 %11031 to i1
  br i1 %11032, label %11033, label %11055

11033:                                            ; preds = %11026
  %11034 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11035 = call i32 @fileno(ptr noundef %11034) #11
  %11036 = call i32 @isatty(i32 noundef %11035) #11
  %11037 = icmp ne i32 %11036, 0
  br i1 %11037, label %11038, label %11055

11038:                                            ; preds = %11033
  %11039 = load i32, ptr %345, align 4, !tbaa !5
  %11040 = call ptr @__errno_location() #12
  store i32 %11039, ptr %11040, align 4, !tbaa !5
  %11041 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11042 = load i32, ptr @test_count, align 4, !tbaa !5
  %11043 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11044 = load i32, ptr %11043, align 4, !tbaa !5
  %11045 = call ptr @s2n_strerror(i32 noundef %11044, ptr noundef @.str.5)
  %11046 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11047 = load i32, ptr %11046, align 4, !tbaa !5
  %11048 = call ptr @s2n_strerror_debug(i32 noundef %11047, ptr noundef @.str.5)
  %11049 = call ptr @__errno_location() #12
  %11050 = load i32, ptr %11049, align 4, !tbaa !5
  %11051 = call ptr @strerror(i32 noundef %11050) #11
  %11052 = call ptr @__errno_location() #12
  %11053 = load i32, ptr %11052, align 4, !tbaa !5
  %11054 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11041, ptr noundef @.str.3, i32 noundef %11042, ptr noundef @.str.30, ptr noundef @.str.2, i32 noundef 548, ptr noundef %11045, ptr noundef %11048, ptr noundef %11051, i32 noundef %11053) #11
  br label %11072

11055:                                            ; preds = %11033, %11026
  %11056 = load i32, ptr %345, align 4, !tbaa !5
  %11057 = call ptr @__errno_location() #12
  store i32 %11056, ptr %11057, align 4, !tbaa !5
  %11058 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11059 = load i32, ptr @test_count, align 4, !tbaa !5
  %11060 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11061 = load i32, ptr %11060, align 4, !tbaa !5
  %11062 = call ptr @s2n_strerror(i32 noundef %11061, ptr noundef @.str.5)
  %11063 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11064 = load i32, ptr %11063, align 4, !tbaa !5
  %11065 = call ptr @s2n_strerror_debug(i32 noundef %11064, ptr noundef @.str.5)
  %11066 = call ptr @__errno_location() #12
  %11067 = load i32, ptr %11066, align 4, !tbaa !5
  %11068 = call ptr @strerror(i32 noundef %11067) #11
  %11069 = call ptr @__errno_location() #12
  %11070 = load i32, ptr %11069, align 4, !tbaa !5
  %11071 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11058, ptr noundef @.str.6, i32 noundef %11059, ptr noundef @.str.30, ptr noundef @.str.2, i32 noundef 548, ptr noundef %11062, ptr noundef %11065, ptr noundef %11068, i32 noundef %11070) #11
  br label %11072

11072:                                            ; preds = %11055, %11038
  call void @llvm.lifetime.end.p0(i64 4, ptr %345) #11
  br label %11073

11073:                                            ; preds = %11072
  br label %11074

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

11075:                                            ; No predecessors!
  br label %11076

11076:                                            ; preds = %11075
  br label %11077

11077:                                            ; preds = %11076, %11019
  br label %11078

11078:                                            ; preds = %11077
  br label %11079

11079:                                            ; preds = %11078
  call void @llvm.lifetime.start.p0(i64 16384, ptr %346) #11
  call void @llvm.memset.p0.i64(ptr align 16 %346, i8 0, i64 16384, i1 false)
  call void @llvm.lifetime.start.p0(i64 1, ptr %347) #11
  store i8 0, ptr %347, align 1, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 8, ptr %348) #11
  store i64 0, ptr %348, align 8, !tbaa !20
  br label %11080

11080:                                            ; preds = %11079
  br label %11081

11081:                                            ; preds = %11080
  br label %11082

11082:                                            ; preds = %11081
  %11083 = load i32, ptr @test_count, align 4, !tbaa !5
  %11084 = add nsw i32 %11083, 1
  store i32 %11084, ptr @test_count, align 4, !tbaa !5
  %11085 = load ptr, ptr %334, align 8, !tbaa !9
  %11086 = getelementptr inbounds %struct.s2n_connection, ptr %11085, i32 0, i32 9
  %11087 = load ptr, ptr %11086, align 8, !tbaa !57
  %11088 = getelementptr inbounds [16384 x i8], ptr %346, i64 0, i64 0
  %11089 = call i32 @s2n_ktls_recvmsg(ptr noundef %11087, ptr noundef %347, ptr noundef %11088, i64 noundef 10, ptr noundef %341, ptr noundef %348)
  %11090 = getelementptr inbounds %struct.s2n_result, ptr %349, i32 0, i32 0
  store i32 %11089, ptr %11090, align 4
  %11091 = getelementptr inbounds %struct.s2n_result, ptr %349, i32 0, i32 0
  %11092 = load i32, ptr %11091, align 4
  %11093 = call zeroext i1 @s2n_result_is_error(i32 %11092)
  br i1 %11093, label %11147, label %11094

11094:                                            ; preds = %11082
  br label %11095

11095:                                            ; preds = %11094
  br label %11096

11096:                                            ; preds = %11095
  call void @llvm.lifetime.start.p0(i64 4, ptr %350) #11
  %11097 = call ptr @__errno_location() #12
  %11098 = load i32, ptr %11097, align 4, !tbaa !5
  store i32 %11098, ptr %350, align 4, !tbaa !5
  %11099 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11100 = call i32 @s2n_print_stacktrace(ptr noundef %11099)
  %11101 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11102 = trunc i8 %11101 to i1
  br i1 %11102, label %11103, label %11125

11103:                                            ; preds = %11096
  %11104 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11105 = call i32 @fileno(ptr noundef %11104) #11
  %11106 = call i32 @isatty(i32 noundef %11105) #11
  %11107 = icmp ne i32 %11106, 0
  br i1 %11107, label %11108, label %11125

11108:                                            ; preds = %11103
  %11109 = load i32, ptr %350, align 4, !tbaa !5
  %11110 = call ptr @__errno_location() #12
  store i32 %11109, ptr %11110, align 4, !tbaa !5
  %11111 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11112 = load i32, ptr @test_count, align 4, !tbaa !5
  %11113 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11114 = load i32, ptr %11113, align 4, !tbaa !5
  %11115 = call ptr @s2n_strerror(i32 noundef %11114, ptr noundef @.str.5)
  %11116 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11117 = load i32, ptr %11116, align 4, !tbaa !5
  %11118 = call ptr @s2n_strerror_debug(i32 noundef %11117, ptr noundef @.str.5)
  %11119 = call ptr @__errno_location() #12
  %11120 = load i32, ptr %11119, align 4, !tbaa !5
  %11121 = call ptr @strerror(i32 noundef %11120) #11
  %11122 = call ptr @__errno_location() #12
  %11123 = load i32, ptr %11122, align 4, !tbaa !5
  %11124 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11111, ptr noundef @.str.3, i32 noundef %11112, ptr noundef @.str.64, ptr noundef @.str.2, i32 noundef 556, ptr noundef %11115, ptr noundef %11118, ptr noundef %11121, i32 noundef %11123) #11
  br label %11142

11125:                                            ; preds = %11103, %11096
  %11126 = load i32, ptr %350, align 4, !tbaa !5
  %11127 = call ptr @__errno_location() #12
  store i32 %11126, ptr %11127, align 4, !tbaa !5
  %11128 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11129 = load i32, ptr @test_count, align 4, !tbaa !5
  %11130 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11131 = load i32, ptr %11130, align 4, !tbaa !5
  %11132 = call ptr @s2n_strerror(i32 noundef %11131, ptr noundef @.str.5)
  %11133 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11134 = load i32, ptr %11133, align 4, !tbaa !5
  %11135 = call ptr @s2n_strerror_debug(i32 noundef %11134, ptr noundef @.str.5)
  %11136 = call ptr @__errno_location() #12
  %11137 = load i32, ptr %11136, align 4, !tbaa !5
  %11138 = call ptr @strerror(i32 noundef %11137) #11
  %11139 = call ptr @__errno_location() #12
  %11140 = load i32, ptr %11139, align 4, !tbaa !5
  %11141 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11128, ptr noundef @.str.6, i32 noundef %11129, ptr noundef @.str.64, ptr noundef @.str.2, i32 noundef 556, ptr noundef %11132, ptr noundef %11135, ptr noundef %11138, i32 noundef %11140) #11
  br label %11142

11142:                                            ; preds = %11125, %11108
  call void @llvm.lifetime.end.p0(i64 4, ptr %350) #11
  br label %11143

11143:                                            ; preds = %11142
  br label %11144

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

11145:                                            ; No predecessors!
  br label %11146

11146:                                            ; preds = %11145
  br label %11147

11147:                                            ; preds = %11146, %11082
  br label %11148

11148:                                            ; preds = %11147
  br label %11149

11149:                                            ; preds = %11148
  br label %11150

11150:                                            ; preds = %11149
  %11151 = load i32, ptr @test_count, align 4, !tbaa !5
  %11152 = add nsw i32 %11151, 1
  store i32 %11152, ptr @test_count, align 4, !tbaa !5
  %11153 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11154 = load i32, ptr %11153, align 4, !tbaa !5
  %11155 = icmp eq i32 %11154, 469762129
  br i1 %11155, label %11209, label %11156

11156:                                            ; preds = %11150
  br label %11157

11157:                                            ; preds = %11156
  br label %11158

11158:                                            ; preds = %11157
  call void @llvm.lifetime.start.p0(i64 4, ptr %351) #11
  %11159 = call ptr @__errno_location() #12
  %11160 = load i32, ptr %11159, align 4, !tbaa !5
  store i32 %11160, ptr %351, align 4, !tbaa !5
  %11161 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11162 = call i32 @s2n_print_stacktrace(ptr noundef %11161)
  %11163 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11164 = trunc i8 %11163 to i1
  br i1 %11164, label %11165, label %11187

11165:                                            ; preds = %11158
  %11166 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11167 = call i32 @fileno(ptr noundef %11166) #11
  %11168 = call i32 @isatty(i32 noundef %11167) #11
  %11169 = icmp ne i32 %11168, 0
  br i1 %11169, label %11170, label %11187

11170:                                            ; preds = %11165
  %11171 = load i32, ptr %351, align 4, !tbaa !5
  %11172 = call ptr @__errno_location() #12
  store i32 %11171, ptr %11172, align 4, !tbaa !5
  %11173 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11174 = load i32, ptr @test_count, align 4, !tbaa !5
  %11175 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11176 = load i32, ptr %11175, align 4, !tbaa !5
  %11177 = call ptr @s2n_strerror(i32 noundef %11176, ptr noundef @.str.5)
  %11178 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11179 = load i32, ptr %11178, align 4, !tbaa !5
  %11180 = call ptr @s2n_strerror_debug(i32 noundef %11179, ptr noundef @.str.5)
  %11181 = call ptr @__errno_location() #12
  %11182 = load i32, ptr %11181, align 4, !tbaa !5
  %11183 = call ptr @strerror(i32 noundef %11182) #11
  %11184 = call ptr @__errno_location() #12
  %11185 = load i32, ptr %11184, align 4, !tbaa !5
  %11186 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11173, ptr noundef @.str.3, i32 noundef %11174, ptr noundef @.str.22, ptr noundef @.str.2, i32 noundef 556, ptr noundef %11177, ptr noundef %11180, ptr noundef %11183, i32 noundef %11185) #11
  br label %11204

11187:                                            ; preds = %11165, %11158
  %11188 = load i32, ptr %351, align 4, !tbaa !5
  %11189 = call ptr @__errno_location() #12
  store i32 %11188, ptr %11189, align 4, !tbaa !5
  %11190 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11191 = load i32, ptr @test_count, align 4, !tbaa !5
  %11192 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11193 = load i32, ptr %11192, align 4, !tbaa !5
  %11194 = call ptr @s2n_strerror(i32 noundef %11193, ptr noundef @.str.5)
  %11195 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11196 = load i32, ptr %11195, align 4, !tbaa !5
  %11197 = call ptr @s2n_strerror_debug(i32 noundef %11196, ptr noundef @.str.5)
  %11198 = call ptr @__errno_location() #12
  %11199 = load i32, ptr %11198, align 4, !tbaa !5
  %11200 = call ptr @strerror(i32 noundef %11199) #11
  %11201 = call ptr @__errno_location() #12
  %11202 = load i32, ptr %11201, align 4, !tbaa !5
  %11203 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11190, ptr noundef @.str.6, i32 noundef %11191, ptr noundef @.str.22, ptr noundef @.str.2, i32 noundef 556, ptr noundef %11194, ptr noundef %11197, ptr noundef %11200, i32 noundef %11202) #11
  br label %11204

11204:                                            ; preds = %11187, %11170
  call void @llvm.lifetime.end.p0(i64 4, ptr %351) #11
  br label %11205

11205:                                            ; preds = %11204
  br label %11206

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

11207:                                            ; No predecessors!
  br label %11208

11208:                                            ; preds = %11207
  br label %11209

11209:                                            ; preds = %11208, %11150
  br label %11210

11210:                                            ; preds = %11209
  br label %11211

11211:                                            ; preds = %11210
  br label %11212

11212:                                            ; preds = %11211
  %11213 = load i32, ptr @test_count, align 4, !tbaa !5
  %11214 = add nsw i32 %11213, 1
  store i32 %11214, ptr @test_count, align 4, !tbaa !5
  %11215 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11216 = load i32, ptr %11215, align 4, !tbaa !5
  %11217 = call ptr @s2n_strerror_debug(i32 noundef %11216, ptr noundef @.str.5)
  %11218 = icmp eq ptr %11217, null
  br i1 %11218, label %11219, label %11272

11219:                                            ; preds = %11212
  br label %11220

11220:                                            ; preds = %11219
  br label %11221

11221:                                            ; preds = %11220
  call void @llvm.lifetime.start.p0(i64 4, ptr %352) #11
  %11222 = call ptr @__errno_location() #12
  %11223 = load i32, ptr %11222, align 4, !tbaa !5
  store i32 %11223, ptr %352, align 4, !tbaa !5
  %11224 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11225 = call i32 @s2n_print_stacktrace(ptr noundef %11224)
  %11226 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11227 = trunc i8 %11226 to i1
  br i1 %11227, label %11228, label %11250

11228:                                            ; preds = %11221
  %11229 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11230 = call i32 @fileno(ptr noundef %11229) #11
  %11231 = call i32 @isatty(i32 noundef %11230) #11
  %11232 = icmp ne i32 %11231, 0
  br i1 %11232, label %11233, label %11250

11233:                                            ; preds = %11228
  %11234 = load i32, ptr %352, align 4, !tbaa !5
  %11235 = call ptr @__errno_location() #12
  store i32 %11234, ptr %11235, align 4, !tbaa !5
  %11236 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11237 = load i32, ptr @test_count, align 4, !tbaa !5
  %11238 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11239 = load i32, ptr %11238, align 4, !tbaa !5
  %11240 = call ptr @s2n_strerror(i32 noundef %11239, ptr noundef @.str.5)
  %11241 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11242 = load i32, ptr %11241, align 4, !tbaa !5
  %11243 = call ptr @s2n_strerror_debug(i32 noundef %11242, ptr noundef @.str.5)
  %11244 = call ptr @__errno_location() #12
  %11245 = load i32, ptr %11244, align 4, !tbaa !5
  %11246 = call ptr @strerror(i32 noundef %11245) #11
  %11247 = call ptr @__errno_location() #12
  %11248 = load i32, ptr %11247, align 4, !tbaa !5
  %11249 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11236, ptr noundef @.str.3, i32 noundef %11237, ptr noundef @.str.13, ptr noundef @.str.2, i32 noundef 556, ptr noundef %11240, ptr noundef %11243, ptr noundef %11246, i32 noundef %11248) #11
  br label %11267

11250:                                            ; preds = %11228, %11221
  %11251 = load i32, ptr %352, align 4, !tbaa !5
  %11252 = call ptr @__errno_location() #12
  store i32 %11251, ptr %11252, align 4, !tbaa !5
  %11253 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11254 = load i32, ptr @test_count, align 4, !tbaa !5
  %11255 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11256 = load i32, ptr %11255, align 4, !tbaa !5
  %11257 = call ptr @s2n_strerror(i32 noundef %11256, ptr noundef @.str.5)
  %11258 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11259 = load i32, ptr %11258, align 4, !tbaa !5
  %11260 = call ptr @s2n_strerror_debug(i32 noundef %11259, ptr noundef @.str.5)
  %11261 = call ptr @__errno_location() #12
  %11262 = load i32, ptr %11261, align 4, !tbaa !5
  %11263 = call ptr @strerror(i32 noundef %11262) #11
  %11264 = call ptr @__errno_location() #12
  %11265 = load i32, ptr %11264, align 4, !tbaa !5
  %11266 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11253, ptr noundef @.str.6, i32 noundef %11254, ptr noundef @.str.13, ptr noundef @.str.2, i32 noundef 556, ptr noundef %11257, ptr noundef %11260, ptr noundef %11263, i32 noundef %11265) #11
  br label %11267

11267:                                            ; preds = %11250, %11233
  call void @llvm.lifetime.end.p0(i64 4, ptr %352) #11
  br label %11268

11268:                                            ; preds = %11267
  br label %11269

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

11270:                                            ; No predecessors!
  br label %11271

11271:                                            ; preds = %11270
  br label %11272

11272:                                            ; preds = %11271, %11212
  br label %11273

11273:                                            ; preds = %11272
  br label %11274

11274:                                            ; preds = %11273
  br label %11275

11275:                                            ; preds = %11274
  br label %11276

11276:                                            ; preds = %11275
  br label %11277

11277:                                            ; preds = %11276
  %11278 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %11278, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %11279 = call ptr @__errno_location() #12
  store i32 0, ptr %11279, align 4, !tbaa !5
  br label %11280

11280:                                            ; preds = %11277
  br label %11281

11281:                                            ; preds = %11280
  br label %11282

11282:                                            ; preds = %11281
  br label %11283

11283:                                            ; preds = %11282
  br label %11284

11284:                                            ; preds = %11283
  %11285 = load i32, ptr @test_count, align 4, !tbaa !5
  %11286 = add nsw i32 %11285, 1
  store i32 %11286, ptr @test_count, align 4, !tbaa !5
  %11287 = load i32, ptr %341, align 4, !tbaa !5
  %11288 = icmp eq i32 %11287, 1
  br i1 %11288, label %11342, label %11289

11289:                                            ; preds = %11284
  br label %11290

11290:                                            ; preds = %11289
  br label %11291

11291:                                            ; preds = %11290
  call void @llvm.lifetime.start.p0(i64 4, ptr %353) #11
  %11292 = call ptr @__errno_location() #12
  %11293 = load i32, ptr %11292, align 4, !tbaa !5
  store i32 %11293, ptr %353, align 4, !tbaa !5
  %11294 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11295 = call i32 @s2n_print_stacktrace(ptr noundef %11294)
  %11296 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11297 = trunc i8 %11296 to i1
  br i1 %11297, label %11298, label %11320

11298:                                            ; preds = %11291
  %11299 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11300 = call i32 @fileno(ptr noundef %11299) #11
  %11301 = call i32 @isatty(i32 noundef %11300) #11
  %11302 = icmp ne i32 %11301, 0
  br i1 %11302, label %11303, label %11320

11303:                                            ; preds = %11298
  %11304 = load i32, ptr %353, align 4, !tbaa !5
  %11305 = call ptr @__errno_location() #12
  store i32 %11304, ptr %11305, align 4, !tbaa !5
  %11306 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11307 = load i32, ptr @test_count, align 4, !tbaa !5
  %11308 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11309 = load i32, ptr %11308, align 4, !tbaa !5
  %11310 = call ptr @s2n_strerror(i32 noundef %11309, ptr noundef @.str.5)
  %11311 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11312 = load i32, ptr %11311, align 4, !tbaa !5
  %11313 = call ptr @s2n_strerror_debug(i32 noundef %11312, ptr noundef @.str.5)
  %11314 = call ptr @__errno_location() #12
  %11315 = load i32, ptr %11314, align 4, !tbaa !5
  %11316 = call ptr @strerror(i32 noundef %11315) #11
  %11317 = call ptr @__errno_location() #12
  %11318 = load i32, ptr %11317, align 4, !tbaa !5
  %11319 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11306, ptr noundef @.str.3, i32 noundef %11307, ptr noundef @.str.65, ptr noundef @.str.2, i32 noundef 558, ptr noundef %11310, ptr noundef %11313, ptr noundef %11316, i32 noundef %11318) #11
  br label %11337

11320:                                            ; preds = %11298, %11291
  %11321 = load i32, ptr %353, align 4, !tbaa !5
  %11322 = call ptr @__errno_location() #12
  store i32 %11321, ptr %11322, align 4, !tbaa !5
  %11323 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11324 = load i32, ptr @test_count, align 4, !tbaa !5
  %11325 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11326 = load i32, ptr %11325, align 4, !tbaa !5
  %11327 = call ptr @s2n_strerror(i32 noundef %11326, ptr noundef @.str.5)
  %11328 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11329 = load i32, ptr %11328, align 4, !tbaa !5
  %11330 = call ptr @s2n_strerror_debug(i32 noundef %11329, ptr noundef @.str.5)
  %11331 = call ptr @__errno_location() #12
  %11332 = load i32, ptr %11331, align 4, !tbaa !5
  %11333 = call ptr @strerror(i32 noundef %11332) #11
  %11334 = call ptr @__errno_location() #12
  %11335 = load i32, ptr %11334, align 4, !tbaa !5
  %11336 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11323, ptr noundef @.str.6, i32 noundef %11324, ptr noundef @.str.65, ptr noundef @.str.2, i32 noundef 558, ptr noundef %11327, ptr noundef %11330, ptr noundef %11333, i32 noundef %11335) #11
  br label %11337

11337:                                            ; preds = %11320, %11303
  call void @llvm.lifetime.end.p0(i64 4, ptr %353) #11
  br label %11338

11338:                                            ; preds = %11337
  br label %11339

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

11340:                                            ; No predecessors!
  br label %11341

11341:                                            ; preds = %11340
  br label %11342

11342:                                            ; preds = %11341, %11284
  br label %11343

11343:                                            ; preds = %11342
  br label %11344

11344:                                            ; preds = %11343
  br label %11345

11345:                                            ; preds = %11344
  %11346 = load i32, ptr @test_count, align 4, !tbaa !5
  %11347 = add nsw i32 %11346, 1
  store i32 %11347, ptr @test_count, align 4, !tbaa !5
  %11348 = getelementptr inbounds %struct.s2n_test_ktls_io_stuffer_pair, ptr %335, i32 0, i32 0
  %11349 = getelementptr inbounds %struct.s2n_test_ktls_io_stuffer, ptr %11348, i32 0, i32 2
  %11350 = load i64, ptr %11349, align 8, !tbaa !58
  %11351 = icmp eq i64 %11350, 1
  br i1 %11351, label %11405, label %11352

11352:                                            ; preds = %11345
  br label %11353

11353:                                            ; preds = %11352
  br label %11354

11354:                                            ; preds = %11353
  call void @llvm.lifetime.start.p0(i64 4, ptr %354) #11
  %11355 = call ptr @__errno_location() #12
  %11356 = load i32, ptr %11355, align 4, !tbaa !5
  store i32 %11356, ptr %354, align 4, !tbaa !5
  %11357 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11358 = call i32 @s2n_print_stacktrace(ptr noundef %11357)
  %11359 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11360 = trunc i8 %11359 to i1
  br i1 %11360, label %11361, label %11383

11361:                                            ; preds = %11354
  %11362 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11363 = call i32 @fileno(ptr noundef %11362) #11
  %11364 = call i32 @isatty(i32 noundef %11363) #11
  %11365 = icmp ne i32 %11364, 0
  br i1 %11365, label %11366, label %11383

11366:                                            ; preds = %11361
  %11367 = load i32, ptr %354, align 4, !tbaa !5
  %11368 = call ptr @__errno_location() #12
  store i32 %11367, ptr %11368, align 4, !tbaa !5
  %11369 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11370 = load i32, ptr @test_count, align 4, !tbaa !5
  %11371 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11372 = load i32, ptr %11371, align 4, !tbaa !5
  %11373 = call ptr @s2n_strerror(i32 noundef %11372, ptr noundef @.str.5)
  %11374 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11375 = load i32, ptr %11374, align 4, !tbaa !5
  %11376 = call ptr @s2n_strerror_debug(i32 noundef %11375, ptr noundef @.str.5)
  %11377 = call ptr @__errno_location() #12
  %11378 = load i32, ptr %11377, align 4, !tbaa !5
  %11379 = call ptr @strerror(i32 noundef %11378) #11
  %11380 = call ptr @__errno_location() #12
  %11381 = load i32, ptr %11380, align 4, !tbaa !5
  %11382 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11369, ptr noundef @.str.3, i32 noundef %11370, ptr noundef @.str.62, ptr noundef @.str.2, i32 noundef 560, ptr noundef %11373, ptr noundef %11376, ptr noundef %11379, i32 noundef %11381) #11
  br label %11400

11383:                                            ; preds = %11361, %11354
  %11384 = load i32, ptr %354, align 4, !tbaa !5
  %11385 = call ptr @__errno_location() #12
  store i32 %11384, ptr %11385, align 4, !tbaa !5
  %11386 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11387 = load i32, ptr @test_count, align 4, !tbaa !5
  %11388 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11389 = load i32, ptr %11388, align 4, !tbaa !5
  %11390 = call ptr @s2n_strerror(i32 noundef %11389, ptr noundef @.str.5)
  %11391 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11392 = load i32, ptr %11391, align 4, !tbaa !5
  %11393 = call ptr @s2n_strerror_debug(i32 noundef %11392, ptr noundef @.str.5)
  %11394 = call ptr @__errno_location() #12
  %11395 = load i32, ptr %11394, align 4, !tbaa !5
  %11396 = call ptr @strerror(i32 noundef %11395) #11
  %11397 = call ptr @__errno_location() #12
  %11398 = load i32, ptr %11397, align 4, !tbaa !5
  %11399 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11386, ptr noundef @.str.6, i32 noundef %11387, ptr noundef @.str.62, ptr noundef @.str.2, i32 noundef 560, ptr noundef %11390, ptr noundef %11393, ptr noundef %11396, i32 noundef %11398) #11
  br label %11400

11400:                                            ; preds = %11383, %11366
  call void @llvm.lifetime.end.p0(i64 4, ptr %354) #11
  br label %11401

11401:                                            ; preds = %11400
  br label %11402

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

11403:                                            ; No predecessors!
  br label %11404

11404:                                            ; preds = %11403
  br label %11405

11405:                                            ; preds = %11404, %11345
  br label %11406

11406:                                            ; preds = %11405
  br label %11407

11407:                                            ; preds = %11406
  br label %11408

11408:                                            ; preds = %11407
  %11409 = load i32, ptr @test_count, align 4, !tbaa !5
  %11410 = add nsw i32 %11409, 1
  store i32 %11410, ptr @test_count, align 4, !tbaa !5
  %11411 = getelementptr inbounds %struct.s2n_test_ktls_io_stuffer_pair, ptr %335, i32 0, i32 0
  %11412 = getelementptr inbounds %struct.s2n_test_ktls_io_stuffer, ptr %11411, i32 0, i32 3
  %11413 = load i64, ptr %11412, align 8, !tbaa !60
  %11414 = icmp eq i64 %11413, 1
  br i1 %11414, label %11468, label %11415

11415:                                            ; preds = %11408
  br label %11416

11416:                                            ; preds = %11415
  br label %11417

11417:                                            ; preds = %11416
  call void @llvm.lifetime.start.p0(i64 4, ptr %355) #11
  %11418 = call ptr @__errno_location() #12
  %11419 = load i32, ptr %11418, align 4, !tbaa !5
  store i32 %11419, ptr %355, align 4, !tbaa !5
  %11420 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11421 = call i32 @s2n_print_stacktrace(ptr noundef %11420)
  %11422 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11423 = trunc i8 %11422 to i1
  br i1 %11423, label %11424, label %11446

11424:                                            ; preds = %11417
  %11425 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11426 = call i32 @fileno(ptr noundef %11425) #11
  %11427 = call i32 @isatty(i32 noundef %11426) #11
  %11428 = icmp ne i32 %11427, 0
  br i1 %11428, label %11429, label %11446

11429:                                            ; preds = %11424
  %11430 = load i32, ptr %355, align 4, !tbaa !5
  %11431 = call ptr @__errno_location() #12
  store i32 %11430, ptr %11431, align 4, !tbaa !5
  %11432 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11433 = load i32, ptr @test_count, align 4, !tbaa !5
  %11434 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11435 = load i32, ptr %11434, align 4, !tbaa !5
  %11436 = call ptr @s2n_strerror(i32 noundef %11435, ptr noundef @.str.5)
  %11437 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11438 = load i32, ptr %11437, align 4, !tbaa !5
  %11439 = call ptr @s2n_strerror_debug(i32 noundef %11438, ptr noundef @.str.5)
  %11440 = call ptr @__errno_location() #12
  %11441 = load i32, ptr %11440, align 4, !tbaa !5
  %11442 = call ptr @strerror(i32 noundef %11441) #11
  %11443 = call ptr @__errno_location() #12
  %11444 = load i32, ptr %11443, align 4, !tbaa !5
  %11445 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11432, ptr noundef @.str.3, i32 noundef %11433, ptr noundef @.str.63, ptr noundef @.str.2, i32 noundef 561, ptr noundef %11436, ptr noundef %11439, ptr noundef %11442, i32 noundef %11444) #11
  br label %11463

11446:                                            ; preds = %11424, %11417
  %11447 = load i32, ptr %355, align 4, !tbaa !5
  %11448 = call ptr @__errno_location() #12
  store i32 %11447, ptr %11448, align 4, !tbaa !5
  %11449 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11450 = load i32, ptr @test_count, align 4, !tbaa !5
  %11451 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11452 = load i32, ptr %11451, align 4, !tbaa !5
  %11453 = call ptr @s2n_strerror(i32 noundef %11452, ptr noundef @.str.5)
  %11454 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11455 = load i32, ptr %11454, align 4, !tbaa !5
  %11456 = call ptr @s2n_strerror_debug(i32 noundef %11455, ptr noundef @.str.5)
  %11457 = call ptr @__errno_location() #12
  %11458 = load i32, ptr %11457, align 4, !tbaa !5
  %11459 = call ptr @strerror(i32 noundef %11458) #11
  %11460 = call ptr @__errno_location() #12
  %11461 = load i32, ptr %11460, align 4, !tbaa !5
  %11462 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11449, ptr noundef @.str.6, i32 noundef %11450, ptr noundef @.str.63, ptr noundef @.str.2, i32 noundef 561, ptr noundef %11453, ptr noundef %11456, ptr noundef %11459, i32 noundef %11461) #11
  br label %11463

11463:                                            ; preds = %11446, %11429
  call void @llvm.lifetime.end.p0(i64 4, ptr %355) #11
  br label %11464

11464:                                            ; preds = %11463
  br label %11465

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

11466:                                            ; No predecessors!
  br label %11467

11467:                                            ; preds = %11466
  br label %11468

11468:                                            ; preds = %11467, %11408
  br label %11469

11469:                                            ; preds = %11468
  br label %11470

11470:                                            ; preds = %11469
  call void @llvm.lifetime.end.p0(i64 8, ptr %348) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %347) #11
  call void @llvm.lifetime.end.p0(i64 16384, ptr %346) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %342) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %341) #11
  call void @llvm.lifetime.end.p0(i64 16, ptr %340) #11
  %11471 = call i32 @s2n_ktls_io_stuffer_pair_free(ptr noundef %335)
  %11472 = getelementptr inbounds %struct.s2n_result, ptr %356, i32 0, i32 0
  store i32 %11471, ptr %11472, align 4
  call void @llvm.lifetime.end.p0(i64 192, ptr %335) #11
  %11473 = call i32 @s2n_connection_ptr_free(ptr noundef %334)
  %11474 = getelementptr inbounds %struct.s2n_result, ptr %357, i32 0, i32 0
  store i32 %11473, ptr %11474, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %334) #11
  %11475 = call i32 @s2n_connection_ptr_free(ptr noundef %333)
  %11476 = getelementptr inbounds %struct.s2n_result, ptr %358, i32 0, i32 0
  store i32 %11475, ptr %11476, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %333) #11
  call void @llvm.lifetime.start.p0(i64 56, ptr %359) #11
  call void @llvm.memset.p0.i64(ptr align 16 %359, i8 0, i64 56, i1 false)
  %11477 = getelementptr inbounds [7 x i64], ptr %359, i32 0, i32 0
  store i64 10, ptr %11477, align 16
  %11478 = getelementptr inbounds [7 x i64], ptr %359, i32 0, i32 2
  store i64 1, ptr %11478, align 16
  %11479 = getelementptr inbounds [7 x i64], ptr %359, i32 0, i32 3
  store i64 5, ptr %11479, align 8
  %11480 = getelementptr inbounds [7 x i64], ptr %359, i32 0, i32 4
  store i64 100, ptr %11480, align 16
  %11481 = getelementptr inbounds [7 x i64], ptr %359, i32 0, i32 5
  store i64 100, ptr %11481, align 8
  %11482 = getelementptr inbounds [7 x i64], ptr %359, i32 0, i32 6
  store i64 10, ptr %11482, align 16
  call void @llvm.lifetime.start.p0(i64 4184, ptr %360) #11
  call void @llvm.memset.p0.i64(ptr align 8 %360, i8 0, i64 4184, i1 false)
  call void @llvm.lifetime.start.p0(i64 4, ptr %361) #11
  store i32 0, ptr %361, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %362) #11
  %11483 = getelementptr inbounds %struct.iovec, ptr %362, i32 0, i32 0
  store ptr %361, ptr %11483, align 8, !tbaa !16
  %11484 = getelementptr inbounds %struct.iovec, ptr %362, i32 0, i32 1
  store i64 1, ptr %11484, align 8, !tbaa !19
  br label %11485

11485:                                            ; preds = %11470
  br label %11486

11486:                                            ; preds = %11485
  br label %11487

11487:                                            ; preds = %11486
  %11488 = load i32, ptr @test_count, align 4, !tbaa !5
  %11489 = add nsw i32 %11488, 1
  store i32 %11489, ptr @test_count, align 4, !tbaa !5
  %11490 = call i64 @s2n_ktls_sendv_with_offset(ptr noundef null, ptr noundef %362, i64 noundef 1, i64 noundef 0, ptr noundef %361)
  %11491 = icmp eq i64 %11490, -1
  br i1 %11491, label %11545, label %11492

11492:                                            ; preds = %11487
  br label %11493

11493:                                            ; preds = %11492
  br label %11494

11494:                                            ; preds = %11493
  call void @llvm.lifetime.start.p0(i64 4, ptr %363) #11
  %11495 = call ptr @__errno_location() #12
  %11496 = load i32, ptr %11495, align 4, !tbaa !5
  store i32 %11496, ptr %363, align 4, !tbaa !5
  %11497 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11498 = call i32 @s2n_print_stacktrace(ptr noundef %11497)
  %11499 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11500 = trunc i8 %11499 to i1
  br i1 %11500, label %11501, label %11523

11501:                                            ; preds = %11494
  %11502 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11503 = call i32 @fileno(ptr noundef %11502) #11
  %11504 = call i32 @isatty(i32 noundef %11503) #11
  %11505 = icmp ne i32 %11504, 0
  br i1 %11505, label %11506, label %11523

11506:                                            ; preds = %11501
  %11507 = load i32, ptr %363, align 4, !tbaa !5
  %11508 = call ptr @__errno_location() #12
  store i32 %11507, ptr %11508, align 4, !tbaa !5
  %11509 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11510 = load i32, ptr @test_count, align 4, !tbaa !5
  %11511 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11512 = load i32, ptr %11511, align 4, !tbaa !5
  %11513 = call ptr @s2n_strerror(i32 noundef %11512, ptr noundef @.str.5)
  %11514 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11515 = load i32, ptr %11514, align 4, !tbaa !5
  %11516 = call ptr @s2n_strerror_debug(i32 noundef %11515, ptr noundef @.str.5)
  %11517 = call ptr @__errno_location() #12
  %11518 = load i32, ptr %11517, align 4, !tbaa !5
  %11519 = call ptr @strerror(i32 noundef %11518) #11
  %11520 = call ptr @__errno_location() #12
  %11521 = load i32, ptr %11520, align 4, !tbaa !5
  %11522 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11509, ptr noundef @.str.3, i32 noundef %11510, ptr noundef @.str.72, ptr noundef @.str.2, i32 noundef 577, ptr noundef %11513, ptr noundef %11516, ptr noundef %11519, i32 noundef %11521) #11
  br label %11540

11523:                                            ; preds = %11501, %11494
  %11524 = load i32, ptr %363, align 4, !tbaa !5
  %11525 = call ptr @__errno_location() #12
  store i32 %11524, ptr %11525, align 4, !tbaa !5
  %11526 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11527 = load i32, ptr @test_count, align 4, !tbaa !5
  %11528 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11529 = load i32, ptr %11528, align 4, !tbaa !5
  %11530 = call ptr @s2n_strerror(i32 noundef %11529, ptr noundef @.str.5)
  %11531 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11532 = load i32, ptr %11531, align 4, !tbaa !5
  %11533 = call ptr @s2n_strerror_debug(i32 noundef %11532, ptr noundef @.str.5)
  %11534 = call ptr @__errno_location() #12
  %11535 = load i32, ptr %11534, align 4, !tbaa !5
  %11536 = call ptr @strerror(i32 noundef %11535) #11
  %11537 = call ptr @__errno_location() #12
  %11538 = load i32, ptr %11537, align 4, !tbaa !5
  %11539 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11526, ptr noundef @.str.6, i32 noundef %11527, ptr noundef @.str.72, ptr noundef @.str.2, i32 noundef 577, ptr noundef %11530, ptr noundef %11533, ptr noundef %11536, i32 noundef %11538) #11
  br label %11540

11540:                                            ; preds = %11523, %11506
  call void @llvm.lifetime.end.p0(i64 4, ptr %363) #11
  br label %11541

11541:                                            ; preds = %11540
  br label %11542

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

11543:                                            ; No predecessors!
  br label %11544

11544:                                            ; preds = %11543
  br label %11545

11545:                                            ; preds = %11544, %11487
  br label %11546

11546:                                            ; preds = %11545
  br label %11547

11547:                                            ; preds = %11546
  br label %11548

11548:                                            ; preds = %11547
  %11549 = load i32, ptr @test_count, align 4, !tbaa !5
  %11550 = add nsw i32 %11549, 1
  store i32 %11550, ptr @test_count, align 4, !tbaa !5
  %11551 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11552 = load i32, ptr %11551, align 4, !tbaa !5
  %11553 = icmp eq i32 %11552, 402653193
  br i1 %11553, label %11607, label %11554

11554:                                            ; preds = %11548
  br label %11555

11555:                                            ; preds = %11554
  br label %11556

11556:                                            ; preds = %11555
  call void @llvm.lifetime.start.p0(i64 4, ptr %364) #11
  %11557 = call ptr @__errno_location() #12
  %11558 = load i32, ptr %11557, align 4, !tbaa !5
  store i32 %11558, ptr %364, align 4, !tbaa !5
  %11559 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11560 = call i32 @s2n_print_stacktrace(ptr noundef %11559)
  %11561 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11562 = trunc i8 %11561 to i1
  br i1 %11562, label %11563, label %11585

11563:                                            ; preds = %11556
  %11564 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11565 = call i32 @fileno(ptr noundef %11564) #11
  %11566 = call i32 @isatty(i32 noundef %11565) #11
  %11567 = icmp ne i32 %11566, 0
  br i1 %11567, label %11568, label %11585

11568:                                            ; preds = %11563
  %11569 = load i32, ptr %364, align 4, !tbaa !5
  %11570 = call ptr @__errno_location() #12
  store i32 %11569, ptr %11570, align 4, !tbaa !5
  %11571 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11572 = load i32, ptr @test_count, align 4, !tbaa !5
  %11573 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11574 = load i32, ptr %11573, align 4, !tbaa !5
  %11575 = call ptr @s2n_strerror(i32 noundef %11574, ptr noundef @.str.5)
  %11576 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11577 = load i32, ptr %11576, align 4, !tbaa !5
  %11578 = call ptr @s2n_strerror_debug(i32 noundef %11577, ptr noundef @.str.5)
  %11579 = call ptr @__errno_location() #12
  %11580 = load i32, ptr %11579, align 4, !tbaa !5
  %11581 = call ptr @strerror(i32 noundef %11580) #11
  %11582 = call ptr @__errno_location() #12
  %11583 = load i32, ptr %11582, align 4, !tbaa !5
  %11584 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11571, ptr noundef @.str.3, i32 noundef %11572, ptr noundef @.str.12, ptr noundef @.str.2, i32 noundef 577, ptr noundef %11575, ptr noundef %11578, ptr noundef %11581, i32 noundef %11583) #11
  br label %11602

11585:                                            ; preds = %11563, %11556
  %11586 = load i32, ptr %364, align 4, !tbaa !5
  %11587 = call ptr @__errno_location() #12
  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.5)
  %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.5)
  %11596 = call ptr @__errno_location() #12
  %11597 = load i32, ptr %11596, align 4, !tbaa !5
  %11598 = call ptr @strerror(i32 noundef %11597) #11
  %11599 = call ptr @__errno_location() #12
  %11600 = load i32, ptr %11599, align 4, !tbaa !5
  %11601 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11588, ptr noundef @.str.6, i32 noundef %11589, ptr noundef @.str.12, ptr noundef @.str.2, i32 noundef 577, ptr noundef %11592, ptr noundef %11595, ptr noundef %11598, i32 noundef %11600) #11
  br label %11602

11602:                                            ; preds = %11585, %11568
  call void @llvm.lifetime.end.p0(i64 4, ptr %364) #11
  br label %11603

11603:                                            ; preds = %11602
  br label %11604

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

11605:                                            ; No predecessors!
  br label %11606

11606:                                            ; preds = %11605
  br label %11607

11607:                                            ; preds = %11606, %11548
  br label %11608

11608:                                            ; preds = %11607
  br label %11609

11609:                                            ; preds = %11608
  br label %11610

11610:                                            ; preds = %11609
  %11611 = load i32, ptr @test_count, align 4, !tbaa !5
  %11612 = add nsw i32 %11611, 1
  store i32 %11612, ptr @test_count, align 4, !tbaa !5
  %11613 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11614 = load i32, ptr %11613, align 4, !tbaa !5
  %11615 = call ptr @s2n_strerror_debug(i32 noundef %11614, ptr noundef @.str.5)
  %11616 = icmp eq ptr %11615, null
  br i1 %11616, label %11617, label %11670

11617:                                            ; preds = %11610
  br label %11618

11618:                                            ; preds = %11617
  br label %11619

11619:                                            ; preds = %11618
  call void @llvm.lifetime.start.p0(i64 4, ptr %365) #11
  %11620 = call ptr @__errno_location() #12
  %11621 = load i32, ptr %11620, align 4, !tbaa !5
  store i32 %11621, ptr %365, align 4, !tbaa !5
  %11622 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11623 = call i32 @s2n_print_stacktrace(ptr noundef %11622)
  %11624 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11625 = trunc i8 %11624 to i1
  br i1 %11625, label %11626, label %11648

11626:                                            ; preds = %11619
  %11627 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11628 = call i32 @fileno(ptr noundef %11627) #11
  %11629 = call i32 @isatty(i32 noundef %11628) #11
  %11630 = icmp ne i32 %11629, 0
  br i1 %11630, label %11631, label %11648

11631:                                            ; preds = %11626
  %11632 = load i32, ptr %365, align 4, !tbaa !5
  %11633 = call ptr @__errno_location() #12
  store i32 %11632, ptr %11633, align 4, !tbaa !5
  %11634 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11635 = load i32, ptr @test_count, align 4, !tbaa !5
  %11636 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11637 = load i32, ptr %11636, align 4, !tbaa !5
  %11638 = call ptr @s2n_strerror(i32 noundef %11637, ptr noundef @.str.5)
  %11639 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11640 = load i32, ptr %11639, align 4, !tbaa !5
  %11641 = call ptr @s2n_strerror_debug(i32 noundef %11640, ptr noundef @.str.5)
  %11642 = call ptr @__errno_location() #12
  %11643 = load i32, ptr %11642, align 4, !tbaa !5
  %11644 = call ptr @strerror(i32 noundef %11643) #11
  %11645 = call ptr @__errno_location() #12
  %11646 = load i32, ptr %11645, align 4, !tbaa !5
  %11647 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11634, ptr noundef @.str.3, i32 noundef %11635, ptr noundef @.str.13, ptr noundef @.str.2, i32 noundef 577, ptr noundef %11638, ptr noundef %11641, ptr noundef %11644, i32 noundef %11646) #11
  br label %11665

11648:                                            ; preds = %11626, %11619
  %11649 = load i32, ptr %365, align 4, !tbaa !5
  %11650 = call ptr @__errno_location() #12
  store i32 %11649, ptr %11650, align 4, !tbaa !5
  %11651 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11652 = load i32, ptr @test_count, align 4, !tbaa !5
  %11653 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11654 = load i32, ptr %11653, align 4, !tbaa !5
  %11655 = call ptr @s2n_strerror(i32 noundef %11654, ptr noundef @.str.5)
  %11656 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11657 = load i32, ptr %11656, align 4, !tbaa !5
  %11658 = call ptr @s2n_strerror_debug(i32 noundef %11657, ptr noundef @.str.5)
  %11659 = call ptr @__errno_location() #12
  %11660 = load i32, ptr %11659, align 4, !tbaa !5
  %11661 = call ptr @strerror(i32 noundef %11660) #11
  %11662 = call ptr @__errno_location() #12
  %11663 = load i32, ptr %11662, align 4, !tbaa !5
  %11664 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11651, ptr noundef @.str.6, i32 noundef %11652, ptr noundef @.str.13, ptr noundef @.str.2, i32 noundef 577, ptr noundef %11655, ptr noundef %11658, ptr noundef %11661, i32 noundef %11663) #11
  br label %11665

11665:                                            ; preds = %11648, %11631
  call void @llvm.lifetime.end.p0(i64 4, ptr %365) #11
  br label %11666

11666:                                            ; preds = %11665
  br label %11667

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

11668:                                            ; No predecessors!
  br label %11669

11669:                                            ; preds = %11668
  br label %11670

11670:                                            ; preds = %11669, %11610
  br label %11671

11671:                                            ; preds = %11670
  br label %11672

11672:                                            ; preds = %11671
  br label %11673

11673:                                            ; preds = %11672
  br label %11674

11674:                                            ; preds = %11673
  br label %11675

11675:                                            ; preds = %11674
  %11676 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %11676, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %11677 = call ptr @__errno_location() #12
  store i32 0, ptr %11677, align 4, !tbaa !5
  br label %11678

11678:                                            ; preds = %11675
  br label %11679

11679:                                            ; preds = %11678
  br label %11680

11680:                                            ; preds = %11679
  br label %11681

11681:                                            ; preds = %11680
  br label %11682

11682:                                            ; preds = %11681
  br label %11683

11683:                                            ; preds = %11682
  br label %11684

11684:                                            ; preds = %11683
  %11685 = load i32, ptr @test_count, align 4, !tbaa !5
  %11686 = add nsw i32 %11685, 1
  store i32 %11686, ptr @test_count, align 4, !tbaa !5
  %11687 = call i64 @s2n_ktls_sendv_with_offset(ptr noundef %360, ptr noundef null, i64 noundef 1, i64 noundef 0, ptr noundef %361)
  %11688 = icmp eq i64 %11687, -1
  br i1 %11688, label %11742, label %11689

11689:                                            ; preds = %11684
  br label %11690

11690:                                            ; preds = %11689
  br label %11691

11691:                                            ; preds = %11690
  call void @llvm.lifetime.start.p0(i64 4, ptr %366) #11
  %11692 = call ptr @__errno_location() #12
  %11693 = load i32, ptr %11692, align 4, !tbaa !5
  store i32 %11693, ptr %366, align 4, !tbaa !5
  %11694 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11695 = call i32 @s2n_print_stacktrace(ptr noundef %11694)
  %11696 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11697 = trunc i8 %11696 to i1
  br i1 %11697, label %11698, label %11720

11698:                                            ; preds = %11691
  %11699 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11700 = call i32 @fileno(ptr noundef %11699) #11
  %11701 = call i32 @isatty(i32 noundef %11700) #11
  %11702 = icmp ne i32 %11701, 0
  br i1 %11702, label %11703, label %11720

11703:                                            ; preds = %11698
  %11704 = load i32, ptr %366, align 4, !tbaa !5
  %11705 = call ptr @__errno_location() #12
  store i32 %11704, ptr %11705, align 4, !tbaa !5
  %11706 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11707 = load i32, ptr @test_count, align 4, !tbaa !5
  %11708 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11709 = load i32, ptr %11708, align 4, !tbaa !5
  %11710 = call ptr @s2n_strerror(i32 noundef %11709, ptr noundef @.str.5)
  %11711 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11712 = load i32, ptr %11711, align 4, !tbaa !5
  %11713 = call ptr @s2n_strerror_debug(i32 noundef %11712, ptr noundef @.str.5)
  %11714 = call ptr @__errno_location() #12
  %11715 = load i32, ptr %11714, align 4, !tbaa !5
  %11716 = call ptr @strerror(i32 noundef %11715) #11
  %11717 = call ptr @__errno_location() #12
  %11718 = load i32, ptr %11717, align 4, !tbaa !5
  %11719 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11706, ptr noundef @.str.3, i32 noundef %11707, ptr noundef @.str.73, ptr noundef @.str.2, i32 noundef 580, ptr noundef %11710, ptr noundef %11713, ptr noundef %11716, i32 noundef %11718) #11
  br label %11737

11720:                                            ; preds = %11698, %11691
  %11721 = load i32, ptr %366, align 4, !tbaa !5
  %11722 = call ptr @__errno_location() #12
  store i32 %11721, ptr %11722, align 4, !tbaa !5
  %11723 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11724 = load i32, ptr @test_count, align 4, !tbaa !5
  %11725 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11726 = load i32, ptr %11725, align 4, !tbaa !5
  %11727 = call ptr @s2n_strerror(i32 noundef %11726, ptr noundef @.str.5)
  %11728 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11729 = load i32, ptr %11728, align 4, !tbaa !5
  %11730 = call ptr @s2n_strerror_debug(i32 noundef %11729, ptr noundef @.str.5)
  %11731 = call ptr @__errno_location() #12
  %11732 = load i32, ptr %11731, align 4, !tbaa !5
  %11733 = call ptr @strerror(i32 noundef %11732) #11
  %11734 = call ptr @__errno_location() #12
  %11735 = load i32, ptr %11734, align 4, !tbaa !5
  %11736 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11723, ptr noundef @.str.6, i32 noundef %11724, ptr noundef @.str.73, ptr noundef @.str.2, i32 noundef 580, ptr noundef %11727, ptr noundef %11730, ptr noundef %11733, i32 noundef %11735) #11
  br label %11737

11737:                                            ; preds = %11720, %11703
  call void @llvm.lifetime.end.p0(i64 4, ptr %366) #11
  br label %11738

11738:                                            ; preds = %11737
  br label %11739

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

11740:                                            ; No predecessors!
  br label %11741

11741:                                            ; preds = %11740
  br label %11742

11742:                                            ; preds = %11741, %11684
  br label %11743

11743:                                            ; preds = %11742
  br label %11744

11744:                                            ; preds = %11743
  br label %11745

11745:                                            ; preds = %11744
  %11746 = load i32, ptr @test_count, align 4, !tbaa !5
  %11747 = add nsw i32 %11746, 1
  store i32 %11747, ptr @test_count, align 4, !tbaa !5
  %11748 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11749 = load i32, ptr %11748, align 4, !tbaa !5
  %11750 = icmp eq i32 %11749, 402653193
  br i1 %11750, label %11804, label %11751

11751:                                            ; preds = %11745
  br label %11752

11752:                                            ; preds = %11751
  br label %11753

11753:                                            ; preds = %11752
  call void @llvm.lifetime.start.p0(i64 4, ptr %367) #11
  %11754 = call ptr @__errno_location() #12
  %11755 = load i32, ptr %11754, align 4, !tbaa !5
  store i32 %11755, ptr %367, align 4, !tbaa !5
  %11756 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11757 = call i32 @s2n_print_stacktrace(ptr noundef %11756)
  %11758 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11759 = trunc i8 %11758 to i1
  br i1 %11759, label %11760, label %11782

11760:                                            ; preds = %11753
  %11761 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11762 = call i32 @fileno(ptr noundef %11761) #11
  %11763 = call i32 @isatty(i32 noundef %11762) #11
  %11764 = icmp ne i32 %11763, 0
  br i1 %11764, label %11765, label %11782

11765:                                            ; preds = %11760
  %11766 = load i32, ptr %367, align 4, !tbaa !5
  %11767 = call ptr @__errno_location() #12
  store i32 %11766, ptr %11767, align 4, !tbaa !5
  %11768 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11769 = load i32, ptr @test_count, align 4, !tbaa !5
  %11770 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11771 = load i32, ptr %11770, align 4, !tbaa !5
  %11772 = call ptr @s2n_strerror(i32 noundef %11771, ptr noundef @.str.5)
  %11773 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11774 = load i32, ptr %11773, align 4, !tbaa !5
  %11775 = call ptr @s2n_strerror_debug(i32 noundef %11774, ptr noundef @.str.5)
  %11776 = call ptr @__errno_location() #12
  %11777 = load i32, ptr %11776, align 4, !tbaa !5
  %11778 = call ptr @strerror(i32 noundef %11777) #11
  %11779 = call ptr @__errno_location() #12
  %11780 = load i32, ptr %11779, align 4, !tbaa !5
  %11781 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11768, ptr noundef @.str.3, i32 noundef %11769, ptr noundef @.str.12, ptr noundef @.str.2, i32 noundef 580, ptr noundef %11772, ptr noundef %11775, ptr noundef %11778, i32 noundef %11780) #11
  br label %11799

11782:                                            ; preds = %11760, %11753
  %11783 = load i32, ptr %367, align 4, !tbaa !5
  %11784 = call ptr @__errno_location() #12
  store i32 %11783, ptr %11784, align 4, !tbaa !5
  %11785 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11786 = load i32, ptr @test_count, align 4, !tbaa !5
  %11787 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11788 = load i32, ptr %11787, align 4, !tbaa !5
  %11789 = call ptr @s2n_strerror(i32 noundef %11788, ptr noundef @.str.5)
  %11790 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11791 = load i32, ptr %11790, align 4, !tbaa !5
  %11792 = call ptr @s2n_strerror_debug(i32 noundef %11791, ptr noundef @.str.5)
  %11793 = call ptr @__errno_location() #12
  %11794 = load i32, ptr %11793, align 4, !tbaa !5
  %11795 = call ptr @strerror(i32 noundef %11794) #11
  %11796 = call ptr @__errno_location() #12
  %11797 = load i32, ptr %11796, align 4, !tbaa !5
  %11798 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11785, ptr noundef @.str.6, i32 noundef %11786, ptr noundef @.str.12, ptr noundef @.str.2, i32 noundef 580, ptr noundef %11789, ptr noundef %11792, ptr noundef %11795, i32 noundef %11797) #11
  br label %11799

11799:                                            ; preds = %11782, %11765
  call void @llvm.lifetime.end.p0(i64 4, ptr %367) #11
  br label %11800

11800:                                            ; preds = %11799
  br label %11801

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

11802:                                            ; No predecessors!
  br label %11803

11803:                                            ; preds = %11802
  br label %11804

11804:                                            ; preds = %11803, %11745
  br label %11805

11805:                                            ; preds = %11804
  br label %11806

11806:                                            ; preds = %11805
  br label %11807

11807:                                            ; preds = %11806
  %11808 = load i32, ptr @test_count, align 4, !tbaa !5
  %11809 = add nsw i32 %11808, 1
  store i32 %11809, ptr @test_count, align 4, !tbaa !5
  %11810 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11811 = load i32, ptr %11810, align 4, !tbaa !5
  %11812 = call ptr @s2n_strerror_debug(i32 noundef %11811, ptr noundef @.str.5)
  %11813 = icmp eq ptr %11812, null
  br i1 %11813, label %11814, label %11867

11814:                                            ; preds = %11807
  br label %11815

11815:                                            ; preds = %11814
  br label %11816

11816:                                            ; preds = %11815
  call void @llvm.lifetime.start.p0(i64 4, ptr %368) #11
  %11817 = call ptr @__errno_location() #12
  %11818 = load i32, ptr %11817, align 4, !tbaa !5
  store i32 %11818, ptr %368, align 4, !tbaa !5
  %11819 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11820 = call i32 @s2n_print_stacktrace(ptr noundef %11819)
  %11821 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11822 = trunc i8 %11821 to i1
  br i1 %11822, label %11823, label %11845

11823:                                            ; preds = %11816
  %11824 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11825 = call i32 @fileno(ptr noundef %11824) #11
  %11826 = call i32 @isatty(i32 noundef %11825) #11
  %11827 = icmp ne i32 %11826, 0
  br i1 %11827, label %11828, label %11845

11828:                                            ; preds = %11823
  %11829 = load i32, ptr %368, align 4, !tbaa !5
  %11830 = call ptr @__errno_location() #12
  store i32 %11829, ptr %11830, align 4, !tbaa !5
  %11831 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11832 = load i32, ptr @test_count, align 4, !tbaa !5
  %11833 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11834 = load i32, ptr %11833, align 4, !tbaa !5
  %11835 = call ptr @s2n_strerror(i32 noundef %11834, ptr noundef @.str.5)
  %11836 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11837 = load i32, ptr %11836, align 4, !tbaa !5
  %11838 = call ptr @s2n_strerror_debug(i32 noundef %11837, ptr noundef @.str.5)
  %11839 = call ptr @__errno_location() #12
  %11840 = load i32, ptr %11839, align 4, !tbaa !5
  %11841 = call ptr @strerror(i32 noundef %11840) #11
  %11842 = call ptr @__errno_location() #12
  %11843 = load i32, ptr %11842, align 4, !tbaa !5
  %11844 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11831, ptr noundef @.str.3, i32 noundef %11832, ptr noundef @.str.13, ptr noundef @.str.2, i32 noundef 580, ptr noundef %11835, ptr noundef %11838, ptr noundef %11841, i32 noundef %11843) #11
  br label %11862

11845:                                            ; preds = %11823, %11816
  %11846 = load i32, ptr %368, align 4, !tbaa !5
  %11847 = call ptr @__errno_location() #12
  store i32 %11846, ptr %11847, align 4, !tbaa !5
  %11848 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11849 = load i32, ptr @test_count, align 4, !tbaa !5
  %11850 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11851 = load i32, ptr %11850, align 4, !tbaa !5
  %11852 = call ptr @s2n_strerror(i32 noundef %11851, ptr noundef @.str.5)
  %11853 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11854 = load i32, ptr %11853, align 4, !tbaa !5
  %11855 = call ptr @s2n_strerror_debug(i32 noundef %11854, ptr noundef @.str.5)
  %11856 = call ptr @__errno_location() #12
  %11857 = load i32, ptr %11856, align 4, !tbaa !5
  %11858 = call ptr @strerror(i32 noundef %11857) #11
  %11859 = call ptr @__errno_location() #12
  %11860 = load i32, ptr %11859, align 4, !tbaa !5
  %11861 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11848, ptr noundef @.str.6, i32 noundef %11849, ptr noundef @.str.13, ptr noundef @.str.2, i32 noundef 580, ptr noundef %11852, ptr noundef %11855, ptr noundef %11858, i32 noundef %11860) #11
  br label %11862

11862:                                            ; preds = %11845, %11828
  call void @llvm.lifetime.end.p0(i64 4, ptr %368) #11
  br label %11863

11863:                                            ; preds = %11862
  br label %11864

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

11865:                                            ; No predecessors!
  br label %11866

11866:                                            ; preds = %11865
  br label %11867

11867:                                            ; preds = %11866, %11807
  br label %11868

11868:                                            ; preds = %11867
  br label %11869

11869:                                            ; preds = %11868
  br label %11870

11870:                                            ; preds = %11869
  br label %11871

11871:                                            ; preds = %11870
  br label %11872

11872:                                            ; preds = %11871
  %11873 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %11873, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %11874 = call ptr @__errno_location() #12
  store i32 0, ptr %11874, align 4, !tbaa !5
  br label %11875

11875:                                            ; preds = %11872
  br label %11876

11876:                                            ; preds = %11875
  br label %11877

11877:                                            ; preds = %11876
  br label %11878

11878:                                            ; preds = %11877
  br label %11879

11879:                                            ; preds = %11878
  br label %11880

11880:                                            ; preds = %11879
  br label %11881

11881:                                            ; preds = %11880
  %11882 = load i32, ptr @test_count, align 4, !tbaa !5
  %11883 = add nsw i32 %11882, 1
  store i32 %11883, ptr @test_count, align 4, !tbaa !5
  %11884 = call i64 @s2n_ktls_sendv_with_offset(ptr noundef %360, ptr noundef null, i64 noundef 1, i64 noundef 1, ptr noundef %361)
  %11885 = icmp eq i64 %11884, -1
  br i1 %11885, label %11939, label %11886

11886:                                            ; preds = %11881
  br label %11887

11887:                                            ; preds = %11886
  br label %11888

11888:                                            ; preds = %11887
  call void @llvm.lifetime.start.p0(i64 4, ptr %369) #11
  %11889 = call ptr @__errno_location() #12
  %11890 = load i32, ptr %11889, align 4, !tbaa !5
  store i32 %11890, ptr %369, align 4, !tbaa !5
  %11891 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11892 = call i32 @s2n_print_stacktrace(ptr noundef %11891)
  %11893 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11894 = trunc i8 %11893 to i1
  br i1 %11894, label %11895, label %11917

11895:                                            ; preds = %11888
  %11896 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11897 = call i32 @fileno(ptr noundef %11896) #11
  %11898 = call i32 @isatty(i32 noundef %11897) #11
  %11899 = icmp ne i32 %11898, 0
  br i1 %11899, label %11900, label %11917

11900:                                            ; preds = %11895
  %11901 = load i32, ptr %369, align 4, !tbaa !5
  %11902 = call ptr @__errno_location() #12
  store i32 %11901, ptr %11902, align 4, !tbaa !5
  %11903 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11904 = load i32, ptr @test_count, align 4, !tbaa !5
  %11905 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11906 = load i32, ptr %11905, align 4, !tbaa !5
  %11907 = call ptr @s2n_strerror(i32 noundef %11906, ptr noundef @.str.5)
  %11908 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11909 = load i32, ptr %11908, align 4, !tbaa !5
  %11910 = call ptr @s2n_strerror_debug(i32 noundef %11909, ptr noundef @.str.5)
  %11911 = call ptr @__errno_location() #12
  %11912 = load i32, ptr %11911, align 4, !tbaa !5
  %11913 = call ptr @strerror(i32 noundef %11912) #11
  %11914 = call ptr @__errno_location() #12
  %11915 = load i32, ptr %11914, align 4, !tbaa !5
  %11916 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11903, ptr noundef @.str.3, i32 noundef %11904, ptr noundef @.str.74, ptr noundef @.str.2, i32 noundef 583, ptr noundef %11907, ptr noundef %11910, ptr noundef %11913, i32 noundef %11915) #11
  br label %11934

11917:                                            ; preds = %11895, %11888
  %11918 = load i32, ptr %369, align 4, !tbaa !5
  %11919 = call ptr @__errno_location() #12
  store i32 %11918, ptr %11919, align 4, !tbaa !5
  %11920 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11921 = load i32, ptr @test_count, align 4, !tbaa !5
  %11922 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11923 = load i32, ptr %11922, align 4, !tbaa !5
  %11924 = call ptr @s2n_strerror(i32 noundef %11923, ptr noundef @.str.5)
  %11925 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11926 = load i32, ptr %11925, align 4, !tbaa !5
  %11927 = call ptr @s2n_strerror_debug(i32 noundef %11926, ptr noundef @.str.5)
  %11928 = call ptr @__errno_location() #12
  %11929 = load i32, ptr %11928, align 4, !tbaa !5
  %11930 = call ptr @strerror(i32 noundef %11929) #11
  %11931 = call ptr @__errno_location() #12
  %11932 = load i32, ptr %11931, align 4, !tbaa !5
  %11933 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11920, ptr noundef @.str.6, i32 noundef %11921, ptr noundef @.str.74, ptr noundef @.str.2, i32 noundef 583, ptr noundef %11924, ptr noundef %11927, ptr noundef %11930, i32 noundef %11932) #11
  br label %11934

11934:                                            ; preds = %11917, %11900
  call void @llvm.lifetime.end.p0(i64 4, ptr %369) #11
  br label %11935

11935:                                            ; preds = %11934
  br label %11936

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

11937:                                            ; No predecessors!
  br label %11938

11938:                                            ; preds = %11937
  br label %11939

11939:                                            ; preds = %11938, %11881
  br label %11940

11940:                                            ; preds = %11939
  br label %11941

11941:                                            ; preds = %11940
  br label %11942

11942:                                            ; preds = %11941
  %11943 = load i32, ptr @test_count, align 4, !tbaa !5
  %11944 = add nsw i32 %11943, 1
  store i32 %11944, ptr @test_count, align 4, !tbaa !5
  %11945 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11946 = load i32, ptr %11945, align 4, !tbaa !5
  %11947 = icmp eq i32 %11946, 402653193
  br i1 %11947, label %12001, label %11948

11948:                                            ; preds = %11942
  br label %11949

11949:                                            ; preds = %11948
  br label %11950

11950:                                            ; preds = %11949
  call void @llvm.lifetime.start.p0(i64 4, ptr %370) #11
  %11951 = call ptr @__errno_location() #12
  %11952 = load i32, ptr %11951, align 4, !tbaa !5
  store i32 %11952, ptr %370, align 4, !tbaa !5
  %11953 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11954 = call i32 @s2n_print_stacktrace(ptr noundef %11953)
  %11955 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11956 = trunc i8 %11955 to i1
  br i1 %11956, label %11957, label %11979

11957:                                            ; preds = %11950
  %11958 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11959 = call i32 @fileno(ptr noundef %11958) #11
  %11960 = call i32 @isatty(i32 noundef %11959) #11
  %11961 = icmp ne i32 %11960, 0
  br i1 %11961, label %11962, label %11979

11962:                                            ; preds = %11957
  %11963 = load i32, ptr %370, align 4, !tbaa !5
  %11964 = call ptr @__errno_location() #12
  store i32 %11963, ptr %11964, align 4, !tbaa !5
  %11965 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11966 = load i32, ptr @test_count, align 4, !tbaa !5
  %11967 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11968 = load i32, ptr %11967, align 4, !tbaa !5
  %11969 = call ptr @s2n_strerror(i32 noundef %11968, ptr noundef @.str.5)
  %11970 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11971 = load i32, ptr %11970, align 4, !tbaa !5
  %11972 = call ptr @s2n_strerror_debug(i32 noundef %11971, ptr noundef @.str.5)
  %11973 = call ptr @__errno_location() #12
  %11974 = load i32, ptr %11973, align 4, !tbaa !5
  %11975 = call ptr @strerror(i32 noundef %11974) #11
  %11976 = call ptr @__errno_location() #12
  %11977 = load i32, ptr %11976, align 4, !tbaa !5
  %11978 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11965, ptr noundef @.str.3, i32 noundef %11966, ptr noundef @.str.12, ptr noundef @.str.2, i32 noundef 583, ptr noundef %11969, ptr noundef %11972, ptr noundef %11975, i32 noundef %11977) #11
  br label %11996

11979:                                            ; preds = %11957, %11950
  %11980 = load i32, ptr %370, align 4, !tbaa !5
  %11981 = call ptr @__errno_location() #12
  store i32 %11980, ptr %11981, align 4, !tbaa !5
  %11982 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11983 = load i32, ptr @test_count, align 4, !tbaa !5
  %11984 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11985 = load i32, ptr %11984, align 4, !tbaa !5
  %11986 = call ptr @s2n_strerror(i32 noundef %11985, ptr noundef @.str.5)
  %11987 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11988 = load i32, ptr %11987, align 4, !tbaa !5
  %11989 = call ptr @s2n_strerror_debug(i32 noundef %11988, ptr noundef @.str.5)
  %11990 = call ptr @__errno_location() #12
  %11991 = load i32, ptr %11990, align 4, !tbaa !5
  %11992 = call ptr @strerror(i32 noundef %11991) #11
  %11993 = call ptr @__errno_location() #12
  %11994 = load i32, ptr %11993, align 4, !tbaa !5
  %11995 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11982, ptr noundef @.str.6, i32 noundef %11983, ptr noundef @.str.12, ptr noundef @.str.2, i32 noundef 583, ptr noundef %11986, ptr noundef %11989, ptr noundef %11992, i32 noundef %11994) #11
  br label %11996

11996:                                            ; preds = %11979, %11962
  call void @llvm.lifetime.end.p0(i64 4, ptr %370) #11
  br label %11997

11997:                                            ; preds = %11996
  br label %11998

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

11999:                                            ; No predecessors!
  br label %12000

12000:                                            ; preds = %11999
  br label %12001

12001:                                            ; preds = %12000, %11942
  br label %12002

12002:                                            ; preds = %12001
  br label %12003

12003:                                            ; preds = %12002
  br label %12004

12004:                                            ; preds = %12003
  %12005 = load i32, ptr @test_count, align 4, !tbaa !5
  %12006 = add nsw i32 %12005, 1
  store i32 %12006, ptr @test_count, align 4, !tbaa !5
  %12007 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12008 = load i32, ptr %12007, align 4, !tbaa !5
  %12009 = call ptr @s2n_strerror_debug(i32 noundef %12008, ptr noundef @.str.5)
  %12010 = icmp eq ptr %12009, null
  br i1 %12010, label %12011, label %12064

12011:                                            ; preds = %12004
  br label %12012

12012:                                            ; preds = %12011
  br label %12013

12013:                                            ; preds = %12012
  call void @llvm.lifetime.start.p0(i64 4, ptr %371) #11
  %12014 = call ptr @__errno_location() #12
  %12015 = load i32, ptr %12014, align 4, !tbaa !5
  store i32 %12015, ptr %371, align 4, !tbaa !5
  %12016 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12017 = call i32 @s2n_print_stacktrace(ptr noundef %12016)
  %12018 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12019 = trunc i8 %12018 to i1
  br i1 %12019, label %12020, label %12042

12020:                                            ; preds = %12013
  %12021 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12022 = call i32 @fileno(ptr noundef %12021) #11
  %12023 = call i32 @isatty(i32 noundef %12022) #11
  %12024 = icmp ne i32 %12023, 0
  br i1 %12024, label %12025, label %12042

12025:                                            ; preds = %12020
  %12026 = load i32, ptr %371, align 4, !tbaa !5
  %12027 = call ptr @__errno_location() #12
  store i32 %12026, ptr %12027, align 4, !tbaa !5
  %12028 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12029 = load i32, ptr @test_count, align 4, !tbaa !5
  %12030 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12031 = load i32, ptr %12030, align 4, !tbaa !5
  %12032 = call ptr @s2n_strerror(i32 noundef %12031, ptr noundef @.str.5)
  %12033 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12034 = load i32, ptr %12033, align 4, !tbaa !5
  %12035 = call ptr @s2n_strerror_debug(i32 noundef %12034, ptr noundef @.str.5)
  %12036 = call ptr @__errno_location() #12
  %12037 = load i32, ptr %12036, align 4, !tbaa !5
  %12038 = call ptr @strerror(i32 noundef %12037) #11
  %12039 = call ptr @__errno_location() #12
  %12040 = load i32, ptr %12039, align 4, !tbaa !5
  %12041 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12028, ptr noundef @.str.3, i32 noundef %12029, ptr noundef @.str.13, ptr noundef @.str.2, i32 noundef 583, ptr noundef %12032, ptr noundef %12035, ptr noundef %12038, i32 noundef %12040) #11
  br label %12059

12042:                                            ; preds = %12020, %12013
  %12043 = load i32, ptr %371, align 4, !tbaa !5
  %12044 = call ptr @__errno_location() #12
  store i32 %12043, ptr %12044, align 4, !tbaa !5
  %12045 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12046 = load i32, ptr @test_count, align 4, !tbaa !5
  %12047 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12048 = load i32, ptr %12047, align 4, !tbaa !5
  %12049 = call ptr @s2n_strerror(i32 noundef %12048, ptr noundef @.str.5)
  %12050 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12051 = load i32, ptr %12050, align 4, !tbaa !5
  %12052 = call ptr @s2n_strerror_debug(i32 noundef %12051, ptr noundef @.str.5)
  %12053 = call ptr @__errno_location() #12
  %12054 = load i32, ptr %12053, align 4, !tbaa !5
  %12055 = call ptr @strerror(i32 noundef %12054) #11
  %12056 = call ptr @__errno_location() #12
  %12057 = load i32, ptr %12056, align 4, !tbaa !5
  %12058 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12045, ptr noundef @.str.6, i32 noundef %12046, ptr noundef @.str.13, ptr noundef @.str.2, i32 noundef 583, ptr noundef %12049, ptr noundef %12052, ptr noundef %12055, i32 noundef %12057) #11
  br label %12059

12059:                                            ; preds = %12042, %12025
  call void @llvm.lifetime.end.p0(i64 4, ptr %371) #11
  br label %12060

12060:                                            ; preds = %12059
  br label %12061

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

12062:                                            ; No predecessors!
  br label %12063

12063:                                            ; preds = %12062
  br label %12064

12064:                                            ; preds = %12063, %12004
  br label %12065

12065:                                            ; preds = %12064
  br label %12066

12066:                                            ; preds = %12065
  br label %12067

12067:                                            ; preds = %12066
  br label %12068

12068:                                            ; preds = %12067
  br label %12069

12069:                                            ; preds = %12068
  %12070 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %12070, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %12071 = call ptr @__errno_location() #12
  store i32 0, ptr %12071, align 4, !tbaa !5
  br label %12072

12072:                                            ; preds = %12069
  br label %12073

12073:                                            ; preds = %12072
  br label %12074

12074:                                            ; preds = %12073
  br label %12075

12075:                                            ; preds = %12074
  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 i64 @s2n_ktls_sendv_with_offset(ptr noundef %360, ptr noundef %362, i64 noundef 1, i64 noundef 0, ptr noundef null)
  %12082 = icmp eq i64 %12081, -1
  br i1 %12082, label %12136, label %12083

12083:                                            ; preds = %12078
  br label %12084

12084:                                            ; preds = %12083
  br label %12085

12085:                                            ; preds = %12084
  call void @llvm.lifetime.start.p0(i64 4, ptr %372) #11
  %12086 = call ptr @__errno_location() #12
  %12087 = load i32, ptr %12086, align 4, !tbaa !5
  store i32 %12087, ptr %372, align 4, !tbaa !5
  %12088 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12089 = call i32 @s2n_print_stacktrace(ptr noundef %12088)
  %12090 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12091 = trunc i8 %12090 to i1
  br i1 %12091, label %12092, label %12114

12092:                                            ; preds = %12085
  %12093 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12094 = call i32 @fileno(ptr noundef %12093) #11
  %12095 = call i32 @isatty(i32 noundef %12094) #11
  %12096 = icmp ne i32 %12095, 0
  br i1 %12096, label %12097, label %12114

12097:                                            ; preds = %12092
  %12098 = load i32, ptr %372, align 4, !tbaa !5
  %12099 = call ptr @__errno_location() #12
  store i32 %12098, ptr %12099, align 4, !tbaa !5
  %12100 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12101 = load i32, ptr @test_count, align 4, !tbaa !5
  %12102 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12103 = load i32, ptr %12102, align 4, !tbaa !5
  %12104 = call ptr @s2n_strerror(i32 noundef %12103, ptr noundef @.str.5)
  %12105 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12106 = load i32, ptr %12105, align 4, !tbaa !5
  %12107 = call ptr @s2n_strerror_debug(i32 noundef %12106, ptr noundef @.str.5)
  %12108 = call ptr @__errno_location() #12
  %12109 = load i32, ptr %12108, align 4, !tbaa !5
  %12110 = call ptr @strerror(i32 noundef %12109) #11
  %12111 = call ptr @__errno_location() #12
  %12112 = load i32, ptr %12111, align 4, !tbaa !5
  %12113 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12100, ptr noundef @.str.3, i32 noundef %12101, ptr noundef @.str.75, ptr noundef @.str.2, i32 noundef 586, ptr noundef %12104, ptr noundef %12107, ptr noundef %12110, i32 noundef %12112) #11
  br label %12131

12114:                                            ; preds = %12092, %12085
  %12115 = load i32, ptr %372, align 4, !tbaa !5
  %12116 = call ptr @__errno_location() #12
  store i32 %12115, ptr %12116, align 4, !tbaa !5
  %12117 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12118 = load i32, ptr @test_count, align 4, !tbaa !5
  %12119 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12120 = load i32, ptr %12119, align 4, !tbaa !5
  %12121 = call ptr @s2n_strerror(i32 noundef %12120, ptr noundef @.str.5)
  %12122 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12123 = load i32, ptr %12122, align 4, !tbaa !5
  %12124 = call ptr @s2n_strerror_debug(i32 noundef %12123, ptr noundef @.str.5)
  %12125 = call ptr @__errno_location() #12
  %12126 = load i32, ptr %12125, align 4, !tbaa !5
  %12127 = call ptr @strerror(i32 noundef %12126) #11
  %12128 = call ptr @__errno_location() #12
  %12129 = load i32, ptr %12128, align 4, !tbaa !5
  %12130 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12117, ptr noundef @.str.6, i32 noundef %12118, ptr noundef @.str.75, ptr noundef @.str.2, i32 noundef 586, ptr noundef %12121, ptr noundef %12124, ptr noundef %12127, i32 noundef %12129) #11
  br label %12131

12131:                                            ; preds = %12114, %12097
  call void @llvm.lifetime.end.p0(i64 4, ptr %372) #11
  br label %12132

12132:                                            ; preds = %12131
  br label %12133

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

12134:                                            ; No predecessors!
  br label %12135

12135:                                            ; preds = %12134
  br label %12136

12136:                                            ; preds = %12135, %12078
  br label %12137

12137:                                            ; preds = %12136
  br label %12138

12138:                                            ; preds = %12137
  br label %12139

12139:                                            ; preds = %12138
  %12140 = load i32, ptr @test_count, align 4, !tbaa !5
  %12141 = add nsw i32 %12140, 1
  store i32 %12141, ptr @test_count, align 4, !tbaa !5
  %12142 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12143 = load i32, ptr %12142, align 4, !tbaa !5
  %12144 = icmp eq i32 %12143, 402653193
  br i1 %12144, label %12198, label %12145

12145:                                            ; preds = %12139
  br label %12146

12146:                                            ; preds = %12145
  br label %12147

12147:                                            ; preds = %12146
  call void @llvm.lifetime.start.p0(i64 4, ptr %373) #11
  %12148 = call ptr @__errno_location() #12
  %12149 = load i32, ptr %12148, align 4, !tbaa !5
  store i32 %12149, ptr %373, align 4, !tbaa !5
  %12150 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12151 = call i32 @s2n_print_stacktrace(ptr noundef %12150)
  %12152 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12153 = trunc i8 %12152 to i1
  br i1 %12153, label %12154, label %12176

12154:                                            ; preds = %12147
  %12155 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12156 = call i32 @fileno(ptr noundef %12155) #11
  %12157 = call i32 @isatty(i32 noundef %12156) #11
  %12158 = icmp ne i32 %12157, 0
  br i1 %12158, label %12159, label %12176

12159:                                            ; preds = %12154
  %12160 = load i32, ptr %373, align 4, !tbaa !5
  %12161 = call ptr @__errno_location() #12
  store i32 %12160, ptr %12161, align 4, !tbaa !5
  %12162 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12163 = load i32, ptr @test_count, align 4, !tbaa !5
  %12164 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12165 = load i32, ptr %12164, align 4, !tbaa !5
  %12166 = call ptr @s2n_strerror(i32 noundef %12165, ptr noundef @.str.5)
  %12167 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12168 = load i32, ptr %12167, align 4, !tbaa !5
  %12169 = call ptr @s2n_strerror_debug(i32 noundef %12168, ptr noundef @.str.5)
  %12170 = call ptr @__errno_location() #12
  %12171 = load i32, ptr %12170, align 4, !tbaa !5
  %12172 = call ptr @strerror(i32 noundef %12171) #11
  %12173 = call ptr @__errno_location() #12
  %12174 = load i32, ptr %12173, align 4, !tbaa !5
  %12175 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12162, ptr noundef @.str.3, i32 noundef %12163, ptr noundef @.str.12, ptr noundef @.str.2, i32 noundef 586, ptr noundef %12166, ptr noundef %12169, ptr noundef %12172, i32 noundef %12174) #11
  br label %12193

12176:                                            ; preds = %12154, %12147
  %12177 = load i32, ptr %373, align 4, !tbaa !5
  %12178 = call ptr @__errno_location() #12
  store i32 %12177, ptr %12178, align 4, !tbaa !5
  %12179 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12180 = load i32, ptr @test_count, align 4, !tbaa !5
  %12181 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12182 = load i32, ptr %12181, align 4, !tbaa !5
  %12183 = call ptr @s2n_strerror(i32 noundef %12182, ptr noundef @.str.5)
  %12184 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12185 = load i32, ptr %12184, align 4, !tbaa !5
  %12186 = call ptr @s2n_strerror_debug(i32 noundef %12185, ptr noundef @.str.5)
  %12187 = call ptr @__errno_location() #12
  %12188 = load i32, ptr %12187, align 4, !tbaa !5
  %12189 = call ptr @strerror(i32 noundef %12188) #11
  %12190 = call ptr @__errno_location() #12
  %12191 = load i32, ptr %12190, align 4, !tbaa !5
  %12192 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12179, ptr noundef @.str.6, i32 noundef %12180, ptr noundef @.str.12, ptr noundef @.str.2, i32 noundef 586, ptr noundef %12183, ptr noundef %12186, ptr noundef %12189, i32 noundef %12191) #11
  br label %12193

12193:                                            ; preds = %12176, %12159
  call void @llvm.lifetime.end.p0(i64 4, ptr %373) #11
  br label %12194

12194:                                            ; preds = %12193
  br label %12195

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

12196:                                            ; No predecessors!
  br label %12197

12197:                                            ; preds = %12196
  br label %12198

12198:                                            ; preds = %12197, %12139
  br label %12199

12199:                                            ; preds = %12198
  br label %12200

12200:                                            ; preds = %12199
  br label %12201

12201:                                            ; preds = %12200
  %12202 = load i32, ptr @test_count, align 4, !tbaa !5
  %12203 = add nsw i32 %12202, 1
  store i32 %12203, ptr @test_count, align 4, !tbaa !5
  %12204 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12205 = load i32, ptr %12204, align 4, !tbaa !5
  %12206 = call ptr @s2n_strerror_debug(i32 noundef %12205, ptr noundef @.str.5)
  %12207 = icmp eq ptr %12206, null
  br i1 %12207, label %12208, label %12261

12208:                                            ; preds = %12201
  br label %12209

12209:                                            ; preds = %12208
  br label %12210

12210:                                            ; preds = %12209
  call void @llvm.lifetime.start.p0(i64 4, ptr %374) #11
  %12211 = call ptr @__errno_location() #12
  %12212 = load i32, ptr %12211, align 4, !tbaa !5
  store i32 %12212, ptr %374, align 4, !tbaa !5
  %12213 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12214 = call i32 @s2n_print_stacktrace(ptr noundef %12213)
  %12215 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12216 = trunc i8 %12215 to i1
  br i1 %12216, label %12217, label %12239

12217:                                            ; preds = %12210
  %12218 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12219 = call i32 @fileno(ptr noundef %12218) #11
  %12220 = call i32 @isatty(i32 noundef %12219) #11
  %12221 = icmp ne i32 %12220, 0
  br i1 %12221, label %12222, label %12239

12222:                                            ; preds = %12217
  %12223 = load i32, ptr %374, align 4, !tbaa !5
  %12224 = call ptr @__errno_location() #12
  store i32 %12223, ptr %12224, align 4, !tbaa !5
  %12225 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12226 = load i32, ptr @test_count, align 4, !tbaa !5
  %12227 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12228 = load i32, ptr %12227, align 4, !tbaa !5
  %12229 = call ptr @s2n_strerror(i32 noundef %12228, ptr noundef @.str.5)
  %12230 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12231 = load i32, ptr %12230, align 4, !tbaa !5
  %12232 = call ptr @s2n_strerror_debug(i32 noundef %12231, ptr noundef @.str.5)
  %12233 = call ptr @__errno_location() #12
  %12234 = load i32, ptr %12233, align 4, !tbaa !5
  %12235 = call ptr @strerror(i32 noundef %12234) #11
  %12236 = call ptr @__errno_location() #12
  %12237 = load i32, ptr %12236, align 4, !tbaa !5
  %12238 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12225, ptr noundef @.str.3, i32 noundef %12226, ptr noundef @.str.13, ptr noundef @.str.2, i32 noundef 586, ptr noundef %12229, ptr noundef %12232, ptr noundef %12235, i32 noundef %12237) #11
  br label %12256

12239:                                            ; preds = %12217, %12210
  %12240 = load i32, ptr %374, align 4, !tbaa !5
  %12241 = call ptr @__errno_location() #12
  store i32 %12240, ptr %12241, align 4, !tbaa !5
  %12242 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12243 = load i32, ptr @test_count, align 4, !tbaa !5
  %12244 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12245 = load i32, ptr %12244, align 4, !tbaa !5
  %12246 = call ptr @s2n_strerror(i32 noundef %12245, ptr noundef @.str.5)
  %12247 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12248 = load i32, ptr %12247, align 4, !tbaa !5
  %12249 = call ptr @s2n_strerror_debug(i32 noundef %12248, ptr noundef @.str.5)
  %12250 = call ptr @__errno_location() #12
  %12251 = load i32, ptr %12250, align 4, !tbaa !5
  %12252 = call ptr @strerror(i32 noundef %12251) #11
  %12253 = call ptr @__errno_location() #12
  %12254 = load i32, ptr %12253, align 4, !tbaa !5
  %12255 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12242, ptr noundef @.str.6, i32 noundef %12243, ptr noundef @.str.13, ptr noundef @.str.2, i32 noundef 586, ptr noundef %12246, ptr noundef %12249, ptr noundef %12252, i32 noundef %12254) #11
  br label %12256

12256:                                            ; preds = %12239, %12222
  call void @llvm.lifetime.end.p0(i64 4, ptr %374) #11
  br label %12257

12257:                                            ; preds = %12256
  br label %12258

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

12259:                                            ; No predecessors!
  br label %12260

12260:                                            ; preds = %12259
  br label %12261

12261:                                            ; preds = %12260, %12201
  br label %12262

12262:                                            ; preds = %12261
  br label %12263

12263:                                            ; preds = %12262
  br label %12264

12264:                                            ; preds = %12263
  br label %12265

12265:                                            ; preds = %12264
  br label %12266

12266:                                            ; preds = %12265
  %12267 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %12267, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %12268 = call ptr @__errno_location() #12
  store i32 0, ptr %12268, align 4, !tbaa !5
  br label %12269

12269:                                            ; preds = %12266
  br label %12270

12270:                                            ; preds = %12269
  br label %12271

12271:                                            ; preds = %12270
  br label %12272

12272:                                            ; preds = %12271
  br label %12273

12273:                                            ; preds = %12272
  br label %12274

12274:                                            ; preds = %12273
  br label %12275

12275:                                            ; preds = %12274
  %12276 = load i32, ptr @test_count, align 4, !tbaa !5
  %12277 = add nsw i32 %12276, 1
  store i32 %12277, ptr @test_count, align 4, !tbaa !5
  %12278 = call i64 @s2n_ktls_sendv_with_offset(ptr noundef %360, ptr noundef %362, i64 noundef -1, i64 noundef 0, ptr noundef %361)
  %12279 = icmp eq i64 %12278, -1
  br i1 %12279, label %12333, label %12280

12280:                                            ; preds = %12275
  br label %12281

12281:                                            ; preds = %12280
  br label %12282

12282:                                            ; preds = %12281
  call void @llvm.lifetime.start.p0(i64 4, ptr %375) #11
  %12283 = call ptr @__errno_location() #12
  %12284 = load i32, ptr %12283, align 4, !tbaa !5
  store i32 %12284, ptr %375, align 4, !tbaa !5
  %12285 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12286 = call i32 @s2n_print_stacktrace(ptr noundef %12285)
  %12287 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12288 = trunc i8 %12287 to i1
  br i1 %12288, label %12289, label %12311

12289:                                            ; preds = %12282
  %12290 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12291 = call i32 @fileno(ptr noundef %12290) #11
  %12292 = call i32 @isatty(i32 noundef %12291) #11
  %12293 = icmp ne i32 %12292, 0
  br i1 %12293, label %12294, label %12311

12294:                                            ; preds = %12289
  %12295 = load i32, ptr %375, align 4, !tbaa !5
  %12296 = call ptr @__errno_location() #12
  store i32 %12295, ptr %12296, align 4, !tbaa !5
  %12297 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12298 = load i32, ptr @test_count, align 4, !tbaa !5
  %12299 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12300 = load i32, ptr %12299, align 4, !tbaa !5
  %12301 = call ptr @s2n_strerror(i32 noundef %12300, ptr noundef @.str.5)
  %12302 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12303 = load i32, ptr %12302, align 4, !tbaa !5
  %12304 = call ptr @s2n_strerror_debug(i32 noundef %12303, ptr noundef @.str.5)
  %12305 = call ptr @__errno_location() #12
  %12306 = load i32, ptr %12305, align 4, !tbaa !5
  %12307 = call ptr @strerror(i32 noundef %12306) #11
  %12308 = call ptr @__errno_location() #12
  %12309 = load i32, ptr %12308, align 4, !tbaa !5
  %12310 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12297, ptr noundef @.str.3, i32 noundef %12298, ptr noundef @.str.76, ptr noundef @.str.2, i32 noundef 589, ptr noundef %12301, ptr noundef %12304, ptr noundef %12307, i32 noundef %12309) #11
  br label %12328

12311:                                            ; preds = %12289, %12282
  %12312 = load i32, ptr %375, align 4, !tbaa !5
  %12313 = call ptr @__errno_location() #12
  store i32 %12312, ptr %12313, align 4, !tbaa !5
  %12314 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12315 = load i32, ptr @test_count, align 4, !tbaa !5
  %12316 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12317 = load i32, ptr %12316, align 4, !tbaa !5
  %12318 = call ptr @s2n_strerror(i32 noundef %12317, ptr noundef @.str.5)
  %12319 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12320 = load i32, ptr %12319, align 4, !tbaa !5
  %12321 = call ptr @s2n_strerror_debug(i32 noundef %12320, ptr noundef @.str.5)
  %12322 = call ptr @__errno_location() #12
  %12323 = load i32, ptr %12322, align 4, !tbaa !5
  %12324 = call ptr @strerror(i32 noundef %12323) #11
  %12325 = call ptr @__errno_location() #12
  %12326 = load i32, ptr %12325, align 4, !tbaa !5
  %12327 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12314, ptr noundef @.str.6, i32 noundef %12315, ptr noundef @.str.76, ptr noundef @.str.2, i32 noundef 589, ptr noundef %12318, ptr noundef %12321, ptr noundef %12324, i32 noundef %12326) #11
  br label %12328

12328:                                            ; preds = %12311, %12294
  call void @llvm.lifetime.end.p0(i64 4, ptr %375) #11
  br label %12329

12329:                                            ; preds = %12328
  br label %12330

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

12331:                                            ; No predecessors!
  br label %12332

12332:                                            ; preds = %12331
  br label %12333

12333:                                            ; preds = %12332, %12275
  br label %12334

12334:                                            ; preds = %12333
  br label %12335

12335:                                            ; preds = %12334
  br label %12336

12336:                                            ; preds = %12335
  %12337 = load i32, ptr @test_count, align 4, !tbaa !5
  %12338 = add nsw i32 %12337, 1
  store i32 %12338, ptr @test_count, align 4, !tbaa !5
  %12339 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12340 = load i32, ptr %12339, align 4, !tbaa !5
  %12341 = icmp eq i32 %12340, 469762089
  br i1 %12341, label %12395, label %12342

12342:                                            ; preds = %12336
  br label %12343

12343:                                            ; preds = %12342
  br label %12344

12344:                                            ; preds = %12343
  call void @llvm.lifetime.start.p0(i64 4, ptr %376) #11
  %12345 = call ptr @__errno_location() #12
  %12346 = load i32, ptr %12345, align 4, !tbaa !5
  store i32 %12346, ptr %376, align 4, !tbaa !5
  %12347 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12348 = call i32 @s2n_print_stacktrace(ptr noundef %12347)
  %12349 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12350 = trunc i8 %12349 to i1
  br i1 %12350, label %12351, label %12373

12351:                                            ; preds = %12344
  %12352 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12353 = call i32 @fileno(ptr noundef %12352) #11
  %12354 = call i32 @isatty(i32 noundef %12353) #11
  %12355 = icmp ne i32 %12354, 0
  br i1 %12355, label %12356, label %12373

12356:                                            ; preds = %12351
  %12357 = load i32, ptr %376, align 4, !tbaa !5
  %12358 = call ptr @__errno_location() #12
  store i32 %12357, ptr %12358, align 4, !tbaa !5
  %12359 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12360 = load i32, ptr @test_count, align 4, !tbaa !5
  %12361 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12362 = load i32, ptr %12361, align 4, !tbaa !5
  %12363 = call ptr @s2n_strerror(i32 noundef %12362, ptr noundef @.str.5)
  %12364 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12365 = load i32, ptr %12364, align 4, !tbaa !5
  %12366 = call ptr @s2n_strerror_debug(i32 noundef %12365, ptr noundef @.str.5)
  %12367 = call ptr @__errno_location() #12
  %12368 = load i32, ptr %12367, align 4, !tbaa !5
  %12369 = call ptr @strerror(i32 noundef %12368) #11
  %12370 = call ptr @__errno_location() #12
  %12371 = load i32, ptr %12370, align 4, !tbaa !5
  %12372 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12359, ptr noundef @.str.3, i32 noundef %12360, ptr noundef @.str.77, ptr noundef @.str.2, i32 noundef 589, ptr noundef %12363, ptr noundef %12366, ptr noundef %12369, i32 noundef %12371) #11
  br label %12390

12373:                                            ; preds = %12351, %12344
  %12374 = load i32, ptr %376, align 4, !tbaa !5
  %12375 = call ptr @__errno_location() #12
  store i32 %12374, ptr %12375, align 4, !tbaa !5
  %12376 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12377 = load i32, ptr @test_count, align 4, !tbaa !5
  %12378 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12379 = load i32, ptr %12378, align 4, !tbaa !5
  %12380 = call ptr @s2n_strerror(i32 noundef %12379, ptr noundef @.str.5)
  %12381 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12382 = load i32, ptr %12381, align 4, !tbaa !5
  %12383 = call ptr @s2n_strerror_debug(i32 noundef %12382, ptr noundef @.str.5)
  %12384 = call ptr @__errno_location() #12
  %12385 = load i32, ptr %12384, align 4, !tbaa !5
  %12386 = call ptr @strerror(i32 noundef %12385) #11
  %12387 = call ptr @__errno_location() #12
  %12388 = load i32, ptr %12387, align 4, !tbaa !5
  %12389 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12376, ptr noundef @.str.6, i32 noundef %12377, ptr noundef @.str.77, ptr noundef @.str.2, i32 noundef 589, ptr noundef %12380, ptr noundef %12383, ptr noundef %12386, i32 noundef %12388) #11
  br label %12390

12390:                                            ; preds = %12373, %12356
  call void @llvm.lifetime.end.p0(i64 4, ptr %376) #11
  br label %12391

12391:                                            ; preds = %12390
  br label %12392

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

12393:                                            ; No predecessors!
  br label %12394

12394:                                            ; preds = %12393
  br label %12395

12395:                                            ; preds = %12394, %12336
  br label %12396

12396:                                            ; preds = %12395
  br label %12397

12397:                                            ; preds = %12396
  br label %12398

12398:                                            ; preds = %12397
  %12399 = load i32, ptr @test_count, align 4, !tbaa !5
  %12400 = add nsw i32 %12399, 1
  store i32 %12400, ptr @test_count, align 4, !tbaa !5
  %12401 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12402 = load i32, ptr %12401, align 4, !tbaa !5
  %12403 = call ptr @s2n_strerror_debug(i32 noundef %12402, ptr noundef @.str.5)
  %12404 = icmp eq ptr %12403, null
  br i1 %12404, label %12405, label %12458

12405:                                            ; preds = %12398
  br label %12406

12406:                                            ; preds = %12405
  br label %12407

12407:                                            ; preds = %12406
  call void @llvm.lifetime.start.p0(i64 4, ptr %377) #11
  %12408 = call ptr @__errno_location() #12
  %12409 = load i32, ptr %12408, align 4, !tbaa !5
  store i32 %12409, ptr %377, align 4, !tbaa !5
  %12410 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12411 = call i32 @s2n_print_stacktrace(ptr noundef %12410)
  %12412 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12413 = trunc i8 %12412 to i1
  br i1 %12413, label %12414, label %12436

12414:                                            ; preds = %12407
  %12415 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12416 = call i32 @fileno(ptr noundef %12415) #11
  %12417 = call i32 @isatty(i32 noundef %12416) #11
  %12418 = icmp ne i32 %12417, 0
  br i1 %12418, label %12419, label %12436

12419:                                            ; preds = %12414
  %12420 = load i32, ptr %377, align 4, !tbaa !5
  %12421 = call ptr @__errno_location() #12
  store i32 %12420, ptr %12421, align 4, !tbaa !5
  %12422 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12423 = load i32, ptr @test_count, align 4, !tbaa !5
  %12424 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12425 = load i32, ptr %12424, align 4, !tbaa !5
  %12426 = call ptr @s2n_strerror(i32 noundef %12425, ptr noundef @.str.5)
  %12427 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12428 = load i32, ptr %12427, align 4, !tbaa !5
  %12429 = call ptr @s2n_strerror_debug(i32 noundef %12428, ptr noundef @.str.5)
  %12430 = call ptr @__errno_location() #12
  %12431 = load i32, ptr %12430, align 4, !tbaa !5
  %12432 = call ptr @strerror(i32 noundef %12431) #11
  %12433 = call ptr @__errno_location() #12
  %12434 = load i32, ptr %12433, align 4, !tbaa !5
  %12435 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12422, ptr noundef @.str.3, i32 noundef %12423, ptr noundef @.str.13, ptr noundef @.str.2, i32 noundef 589, ptr noundef %12426, ptr noundef %12429, ptr noundef %12432, i32 noundef %12434) #11
  br label %12453

12436:                                            ; preds = %12414, %12407
  %12437 = load i32, ptr %377, align 4, !tbaa !5
  %12438 = call ptr @__errno_location() #12
  store i32 %12437, ptr %12438, align 4, !tbaa !5
  %12439 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12440 = load i32, ptr @test_count, align 4, !tbaa !5
  %12441 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12442 = load i32, ptr %12441, align 4, !tbaa !5
  %12443 = call ptr @s2n_strerror(i32 noundef %12442, ptr noundef @.str.5)
  %12444 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12445 = load i32, ptr %12444, align 4, !tbaa !5
  %12446 = call ptr @s2n_strerror_debug(i32 noundef %12445, ptr noundef @.str.5)
  %12447 = call ptr @__errno_location() #12
  %12448 = load i32, ptr %12447, align 4, !tbaa !5
  %12449 = call ptr @strerror(i32 noundef %12448) #11
  %12450 = call ptr @__errno_location() #12
  %12451 = load i32, ptr %12450, align 4, !tbaa !5
  %12452 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12439, ptr noundef @.str.6, i32 noundef %12440, ptr noundef @.str.13, ptr noundef @.str.2, i32 noundef 589, ptr noundef %12443, ptr noundef %12446, ptr noundef %12449, i32 noundef %12451) #11
  br label %12453

12453:                                            ; preds = %12436, %12419
  call void @llvm.lifetime.end.p0(i64 4, ptr %377) #11
  br label %12454

12454:                                            ; preds = %12453
  br label %12455

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

12456:                                            ; No predecessors!
  br label %12457

12457:                                            ; preds = %12456
  br label %12458

12458:                                            ; preds = %12457, %12398
  br label %12459

12459:                                            ; preds = %12458
  br label %12460

12460:                                            ; preds = %12459
  br label %12461

12461:                                            ; preds = %12460
  br label %12462

12462:                                            ; preds = %12461
  br label %12463

12463:                                            ; preds = %12462
  %12464 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %12464, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %12465 = call ptr @__errno_location() #12
  store i32 0, ptr %12465, align 4, !tbaa !5
  br label %12466

12466:                                            ; preds = %12463
  br label %12467

12467:                                            ; preds = %12466
  br label %12468

12468:                                            ; preds = %12467
  br label %12469

12469:                                            ; preds = %12468
  br label %12470

12470:                                            ; preds = %12469
  br label %12471

12471:                                            ; preds = %12470
  br label %12472

12472:                                            ; preds = %12471
  %12473 = load i32, ptr @test_count, align 4, !tbaa !5
  %12474 = add nsw i32 %12473, 1
  store i32 %12474, ptr @test_count, align 4, !tbaa !5
  %12475 = call i64 @s2n_ktls_sendv_with_offset(ptr noundef %360, ptr noundef %362, i64 noundef 1, i64 noundef -1, ptr noundef %361)
  %12476 = icmp eq i64 %12475, -1
  br i1 %12476, label %12530, label %12477

12477:                                            ; preds = %12472
  br label %12478

12478:                                            ; preds = %12477
  br label %12479

12479:                                            ; preds = %12478
  call void @llvm.lifetime.start.p0(i64 4, ptr %378) #11
  %12480 = call ptr @__errno_location() #12
  %12481 = load i32, ptr %12480, align 4, !tbaa !5
  store i32 %12481, ptr %378, align 4, !tbaa !5
  %12482 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12483 = call i32 @s2n_print_stacktrace(ptr noundef %12482)
  %12484 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12485 = trunc i8 %12484 to i1
  br i1 %12485, label %12486, label %12508

12486:                                            ; preds = %12479
  %12487 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12488 = call i32 @fileno(ptr noundef %12487) #11
  %12489 = call i32 @isatty(i32 noundef %12488) #11
  %12490 = icmp ne i32 %12489, 0
  br i1 %12490, label %12491, label %12508

12491:                                            ; preds = %12486
  %12492 = load i32, ptr %378, align 4, !tbaa !5
  %12493 = call ptr @__errno_location() #12
  store i32 %12492, ptr %12493, align 4, !tbaa !5
  %12494 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12495 = load i32, ptr @test_count, align 4, !tbaa !5
  %12496 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12497 = load i32, ptr %12496, align 4, !tbaa !5
  %12498 = call ptr @s2n_strerror(i32 noundef %12497, ptr noundef @.str.5)
  %12499 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12500 = load i32, ptr %12499, align 4, !tbaa !5
  %12501 = call ptr @s2n_strerror_debug(i32 noundef %12500, ptr noundef @.str.5)
  %12502 = call ptr @__errno_location() #12
  %12503 = load i32, ptr %12502, align 4, !tbaa !5
  %12504 = call ptr @strerror(i32 noundef %12503) #11
  %12505 = call ptr @__errno_location() #12
  %12506 = load i32, ptr %12505, align 4, !tbaa !5
  %12507 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12494, ptr noundef @.str.3, i32 noundef %12495, ptr noundef @.str.78, ptr noundef @.str.2, i32 noundef 592, ptr noundef %12498, ptr noundef %12501, ptr noundef %12504, i32 noundef %12506) #11
  br label %12525

12508:                                            ; preds = %12486, %12479
  %12509 = load i32, ptr %378, align 4, !tbaa !5
  %12510 = call ptr @__errno_location() #12
  store i32 %12509, ptr %12510, align 4, !tbaa !5
  %12511 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12512 = load i32, ptr @test_count, align 4, !tbaa !5
  %12513 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12514 = load i32, ptr %12513, align 4, !tbaa !5
  %12515 = call ptr @s2n_strerror(i32 noundef %12514, ptr noundef @.str.5)
  %12516 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12517 = load i32, ptr %12516, align 4, !tbaa !5
  %12518 = call ptr @s2n_strerror_debug(i32 noundef %12517, ptr noundef @.str.5)
  %12519 = call ptr @__errno_location() #12
  %12520 = load i32, ptr %12519, align 4, !tbaa !5
  %12521 = call ptr @strerror(i32 noundef %12520) #11
  %12522 = call ptr @__errno_location() #12
  %12523 = load i32, ptr %12522, align 4, !tbaa !5
  %12524 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12511, ptr noundef @.str.6, i32 noundef %12512, ptr noundef @.str.78, ptr noundef @.str.2, i32 noundef 592, ptr noundef %12515, ptr noundef %12518, ptr noundef %12521, i32 noundef %12523) #11
  br label %12525

12525:                                            ; preds = %12508, %12491
  call void @llvm.lifetime.end.p0(i64 4, ptr %378) #11
  br label %12526

12526:                                            ; preds = %12525
  br label %12527

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

12528:                                            ; No predecessors!
  br label %12529

12529:                                            ; preds = %12528
  br label %12530

12530:                                            ; preds = %12529, %12472
  br label %12531

12531:                                            ; preds = %12530
  br label %12532

12532:                                            ; preds = %12531
  br label %12533

12533:                                            ; preds = %12532
  %12534 = load i32, ptr @test_count, align 4, !tbaa !5
  %12535 = add nsw i32 %12534, 1
  store i32 %12535, ptr @test_count, align 4, !tbaa !5
  %12536 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12537 = load i32, ptr %12536, align 4, !tbaa !5
  %12538 = icmp eq i32 %12537, 469762089
  br i1 %12538, label %12592, label %12539

12539:                                            ; preds = %12533
  br label %12540

12540:                                            ; preds = %12539
  br label %12541

12541:                                            ; preds = %12540
  call void @llvm.lifetime.start.p0(i64 4, ptr %379) #11
  %12542 = call ptr @__errno_location() #12
  %12543 = load i32, ptr %12542, align 4, !tbaa !5
  store i32 %12543, ptr %379, align 4, !tbaa !5
  %12544 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12545 = call i32 @s2n_print_stacktrace(ptr noundef %12544)
  %12546 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12547 = trunc i8 %12546 to i1
  br i1 %12547, label %12548, label %12570

12548:                                            ; preds = %12541
  %12549 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12550 = call i32 @fileno(ptr noundef %12549) #11
  %12551 = call i32 @isatty(i32 noundef %12550) #11
  %12552 = icmp ne i32 %12551, 0
  br i1 %12552, label %12553, label %12570

12553:                                            ; preds = %12548
  %12554 = load i32, ptr %379, align 4, !tbaa !5
  %12555 = call ptr @__errno_location() #12
  store i32 %12554, ptr %12555, align 4, !tbaa !5
  %12556 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12557 = load i32, ptr @test_count, align 4, !tbaa !5
  %12558 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12559 = load i32, ptr %12558, align 4, !tbaa !5
  %12560 = call ptr @s2n_strerror(i32 noundef %12559, ptr noundef @.str.5)
  %12561 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12562 = load i32, ptr %12561, align 4, !tbaa !5
  %12563 = call ptr @s2n_strerror_debug(i32 noundef %12562, ptr noundef @.str.5)
  %12564 = call ptr @__errno_location() #12
  %12565 = load i32, ptr %12564, align 4, !tbaa !5
  %12566 = call ptr @strerror(i32 noundef %12565) #11
  %12567 = call ptr @__errno_location() #12
  %12568 = load i32, ptr %12567, align 4, !tbaa !5
  %12569 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12556, ptr noundef @.str.3, i32 noundef %12557, ptr noundef @.str.77, ptr noundef @.str.2, i32 noundef 592, ptr noundef %12560, ptr noundef %12563, ptr noundef %12566, i32 noundef %12568) #11
  br label %12587

12570:                                            ; preds = %12548, %12541
  %12571 = load i32, ptr %379, align 4, !tbaa !5
  %12572 = call ptr @__errno_location() #12
  store i32 %12571, ptr %12572, align 4, !tbaa !5
  %12573 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12574 = load i32, ptr @test_count, align 4, !tbaa !5
  %12575 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12576 = load i32, ptr %12575, align 4, !tbaa !5
  %12577 = call ptr @s2n_strerror(i32 noundef %12576, ptr noundef @.str.5)
  %12578 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12579 = load i32, ptr %12578, align 4, !tbaa !5
  %12580 = call ptr @s2n_strerror_debug(i32 noundef %12579, ptr noundef @.str.5)
  %12581 = call ptr @__errno_location() #12
  %12582 = load i32, ptr %12581, align 4, !tbaa !5
  %12583 = call ptr @strerror(i32 noundef %12582) #11
  %12584 = call ptr @__errno_location() #12
  %12585 = load i32, ptr %12584, align 4, !tbaa !5
  %12586 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12573, ptr noundef @.str.6, i32 noundef %12574, ptr noundef @.str.77, ptr noundef @.str.2, i32 noundef 592, ptr noundef %12577, ptr noundef %12580, ptr noundef %12583, i32 noundef %12585) #11
  br label %12587

12587:                                            ; preds = %12570, %12553
  call void @llvm.lifetime.end.p0(i64 4, ptr %379) #11
  br label %12588

12588:                                            ; preds = %12587
  br label %12589

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

12590:                                            ; No predecessors!
  br label %12591

12591:                                            ; preds = %12590
  br label %12592

12592:                                            ; preds = %12591, %12533
  br label %12593

12593:                                            ; preds = %12592
  br label %12594

12594:                                            ; preds = %12593
  br label %12595

12595:                                            ; preds = %12594
  %12596 = load i32, ptr @test_count, align 4, !tbaa !5
  %12597 = add nsw i32 %12596, 1
  store i32 %12597, ptr @test_count, align 4, !tbaa !5
  %12598 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12599 = load i32, ptr %12598, align 4, !tbaa !5
  %12600 = call ptr @s2n_strerror_debug(i32 noundef %12599, ptr noundef @.str.5)
  %12601 = icmp eq ptr %12600, null
  br i1 %12601, label %12602, label %12655

12602:                                            ; preds = %12595
  br label %12603

12603:                                            ; preds = %12602
  br label %12604

12604:                                            ; preds = %12603
  call void @llvm.lifetime.start.p0(i64 4, ptr %380) #11
  %12605 = call ptr @__errno_location() #12
  %12606 = load i32, ptr %12605, align 4, !tbaa !5
  store i32 %12606, ptr %380, align 4, !tbaa !5
  %12607 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12608 = call i32 @s2n_print_stacktrace(ptr noundef %12607)
  %12609 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12610 = trunc i8 %12609 to i1
  br i1 %12610, label %12611, label %12633

12611:                                            ; preds = %12604
  %12612 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12613 = call i32 @fileno(ptr noundef %12612) #11
  %12614 = call i32 @isatty(i32 noundef %12613) #11
  %12615 = icmp ne i32 %12614, 0
  br i1 %12615, label %12616, label %12633

12616:                                            ; preds = %12611
  %12617 = load i32, ptr %380, align 4, !tbaa !5
  %12618 = call ptr @__errno_location() #12
  store i32 %12617, ptr %12618, align 4, !tbaa !5
  %12619 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12620 = load i32, ptr @test_count, align 4, !tbaa !5
  %12621 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12622 = load i32, ptr %12621, align 4, !tbaa !5
  %12623 = call ptr @s2n_strerror(i32 noundef %12622, ptr noundef @.str.5)
  %12624 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12625 = load i32, ptr %12624, align 4, !tbaa !5
  %12626 = call ptr @s2n_strerror_debug(i32 noundef %12625, ptr noundef @.str.5)
  %12627 = call ptr @__errno_location() #12
  %12628 = load i32, ptr %12627, align 4, !tbaa !5
  %12629 = call ptr @strerror(i32 noundef %12628) #11
  %12630 = call ptr @__errno_location() #12
  %12631 = load i32, ptr %12630, align 4, !tbaa !5
  %12632 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12619, ptr noundef @.str.3, i32 noundef %12620, ptr noundef @.str.13, ptr noundef @.str.2, i32 noundef 592, ptr noundef %12623, ptr noundef %12626, ptr noundef %12629, i32 noundef %12631) #11
  br label %12650

12633:                                            ; preds = %12611, %12604
  %12634 = load i32, ptr %380, align 4, !tbaa !5
  %12635 = call ptr @__errno_location() #12
  store i32 %12634, ptr %12635, align 4, !tbaa !5
  %12636 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12637 = load i32, ptr @test_count, align 4, !tbaa !5
  %12638 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12639 = load i32, ptr %12638, align 4, !tbaa !5
  %12640 = call ptr @s2n_strerror(i32 noundef %12639, ptr noundef @.str.5)
  %12641 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12642 = load i32, ptr %12641, align 4, !tbaa !5
  %12643 = call ptr @s2n_strerror_debug(i32 noundef %12642, ptr noundef @.str.5)
  %12644 = call ptr @__errno_location() #12
  %12645 = load i32, ptr %12644, align 4, !tbaa !5
  %12646 = call ptr @strerror(i32 noundef %12645) #11
  %12647 = call ptr @__errno_location() #12
  %12648 = load i32, ptr %12647, align 4, !tbaa !5
  %12649 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12636, ptr noundef @.str.6, i32 noundef %12637, ptr noundef @.str.13, ptr noundef @.str.2, i32 noundef 592, ptr noundef %12640, ptr noundef %12643, ptr noundef %12646, i32 noundef %12648) #11
  br label %12650

12650:                                            ; preds = %12633, %12616
  call void @llvm.lifetime.end.p0(i64 4, ptr %380) #11
  br label %12651

12651:                                            ; preds = %12650
  br label %12652

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

12653:                                            ; No predecessors!
  br label %12654

12654:                                            ; preds = %12653
  br label %12655

12655:                                            ; preds = %12654, %12595
  br label %12656

12656:                                            ; preds = %12655
  br label %12657

12657:                                            ; preds = %12656
  br label %12658

12658:                                            ; preds = %12657
  br label %12659

12659:                                            ; preds = %12658
  br label %12660

12660:                                            ; preds = %12659
  %12661 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %12661, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %12662 = call ptr @__errno_location() #12
  store i32 0, ptr %12662, align 4, !tbaa !5
  br label %12663

12663:                                            ; preds = %12660
  br label %12664

12664:                                            ; preds = %12663
  br label %12665

12665:                                            ; preds = %12664
  br label %12666

12666:                                            ; preds = %12665
  call void @llvm.lifetime.end.p0(i64 16, ptr %362) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %361) #11
  call void @llvm.lifetime.end.p0(i64 4184, ptr %360) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %381) #11
  %12667 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %12667, ptr %381, align 8, !tbaa !9
  br label %12668

12668:                                            ; preds = %12666
  %12669 = load i32, ptr @test_count, align 4, !tbaa !5
  %12670 = add nsw i32 %12669, 1
  store i32 %12670, ptr @test_count, align 4, !tbaa !5
  %12671 = load ptr, ptr %381, align 8, !tbaa !9
  %12672 = icmp eq ptr %12671, null
  br i1 %12672, label %12673, label %12726

12673:                                            ; preds = %12668
  br label %12674

12674:                                            ; preds = %12673
  br label %12675

12675:                                            ; preds = %12674
  call void @llvm.lifetime.start.p0(i64 4, ptr %382) #11
  %12676 = call ptr @__errno_location() #12
  %12677 = load i32, ptr %12676, align 4, !tbaa !5
  store i32 %12677, ptr %382, align 4, !tbaa !5
  %12678 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12679 = call i32 @s2n_print_stacktrace(ptr noundef %12678)
  %12680 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12681 = trunc i8 %12680 to i1
  br i1 %12681, label %12682, label %12704

12682:                                            ; preds = %12675
  %12683 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12684 = call i32 @fileno(ptr noundef %12683) #11
  %12685 = call i32 @isatty(i32 noundef %12684) #11
  %12686 = icmp ne i32 %12685, 0
  br i1 %12686, label %12687, label %12704

12687:                                            ; preds = %12682
  %12688 = load i32, ptr %382, align 4, !tbaa !5
  %12689 = call ptr @__errno_location() #12
  store i32 %12688, ptr %12689, align 4, !tbaa !5
  %12690 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12691 = load i32, ptr @test_count, align 4, !tbaa !5
  %12692 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12693 = load i32, ptr %12692, align 4, !tbaa !5
  %12694 = call ptr @s2n_strerror(i32 noundef %12693, ptr noundef @.str.5)
  %12695 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12696 = load i32, ptr %12695, align 4, !tbaa !5
  %12697 = call ptr @s2n_strerror_debug(i32 noundef %12696, ptr noundef @.str.5)
  %12698 = call ptr @__errno_location() #12
  %12699 = load i32, ptr %12698, align 4, !tbaa !5
  %12700 = call ptr @strerror(i32 noundef %12699) #11
  %12701 = call ptr @__errno_location() #12
  %12702 = load i32, ptr %12701, align 4, !tbaa !5
  %12703 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12690, ptr noundef @.str.3, i32 noundef %12691, ptr noundef @.str.79, ptr noundef @.str.2, i32 noundef 599, ptr noundef %12694, ptr noundef %12697, ptr noundef %12700, i32 noundef %12702) #11
  br label %12721

12704:                                            ; preds = %12682, %12675
  %12705 = load i32, ptr %382, align 4, !tbaa !5
  %12706 = call ptr @__errno_location() #12
  store i32 %12705, ptr %12706, align 4, !tbaa !5
  %12707 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12708 = load i32, ptr @test_count, align 4, !tbaa !5
  %12709 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12710 = load i32, ptr %12709, align 4, !tbaa !5
  %12711 = call ptr @s2n_strerror(i32 noundef %12710, ptr noundef @.str.5)
  %12712 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12713 = load i32, ptr %12712, align 4, !tbaa !5
  %12714 = call ptr @s2n_strerror_debug(i32 noundef %12713, ptr noundef @.str.5)
  %12715 = call ptr @__errno_location() #12
  %12716 = load i32, ptr %12715, align 4, !tbaa !5
  %12717 = call ptr @strerror(i32 noundef %12716) #11
  %12718 = call ptr @__errno_location() #12
  %12719 = load i32, ptr %12718, align 4, !tbaa !5
  %12720 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12707, ptr noundef @.str.6, i32 noundef %12708, ptr noundef @.str.79, ptr noundef @.str.2, i32 noundef 599, ptr noundef %12711, ptr noundef %12714, ptr noundef %12717, i32 noundef %12719) #11
  br label %12721

12721:                                            ; preds = %12704, %12687
  call void @llvm.lifetime.end.p0(i64 4, ptr %382) #11
  br label %12722

12722:                                            ; preds = %12721
  br label %12723

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

12724:                                            ; No predecessors!
  br label %12725

12725:                                            ; preds = %12724
  br label %12726

12726:                                            ; preds = %12725, %12668
  br label %12727

12727:                                            ; preds = %12726
  br label %12728

12728:                                            ; preds = %12727
  call void @llvm.lifetime.start.p0(i64 96, ptr %383) #11
  call void @llvm.memset.p0.i64(ptr align 8 %383, i8 0, i64 96, i1 false)
  br label %12729

12729:                                            ; preds = %12728
  %12730 = load i32, ptr @test_count, align 4, !tbaa !5
  %12731 = add nsw i32 %12730, 1
  store i32 %12731, ptr @test_count, align 4, !tbaa !5
  %12732 = load ptr, ptr %381, align 8, !tbaa !9
  %12733 = call i32 @s2n_test_init_ktls_io_stuffer_send(ptr noundef %12732, ptr noundef %383)
  %12734 = getelementptr inbounds %struct.s2n_result, ptr %384, i32 0, i32 0
  store i32 %12733, ptr %12734, align 4
  %12735 = getelementptr inbounds %struct.s2n_result, ptr %384, i32 0, i32 0
  %12736 = load i32, ptr %12735, align 4
  %12737 = call zeroext i1 @s2n_result_is_ok(i32 %12736)
  br i1 %12737, label %12791, label %12738

12738:                                            ; preds = %12729
  br label %12739

12739:                                            ; preds = %12738
  br label %12740

12740:                                            ; preds = %12739
  call void @llvm.lifetime.start.p0(i64 4, ptr %385) #11
  %12741 = call ptr @__errno_location() #12
  %12742 = load i32, ptr %12741, align 4, !tbaa !5
  store i32 %12742, ptr %385, align 4, !tbaa !5
  %12743 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12744 = call i32 @s2n_print_stacktrace(ptr noundef %12743)
  %12745 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12746 = trunc i8 %12745 to i1
  br i1 %12746, label %12747, label %12769

12747:                                            ; preds = %12740
  %12748 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12749 = call i32 @fileno(ptr noundef %12748) #11
  %12750 = call i32 @isatty(i32 noundef %12749) #11
  %12751 = icmp ne i32 %12750, 0
  br i1 %12751, label %12752, label %12769

12752:                                            ; preds = %12747
  %12753 = load i32, ptr %385, align 4, !tbaa !5
  %12754 = call ptr @__errno_location() #12
  store i32 %12753, ptr %12754, align 4, !tbaa !5
  %12755 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12756 = load i32, ptr @test_count, align 4, !tbaa !5
  %12757 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12758 = load i32, ptr %12757, align 4, !tbaa !5
  %12759 = call ptr @s2n_strerror(i32 noundef %12758, ptr noundef @.str.5)
  %12760 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12761 = load i32, ptr %12760, align 4, !tbaa !5
  %12762 = call ptr @s2n_strerror_debug(i32 noundef %12761, ptr noundef @.str.5)
  %12763 = call ptr @__errno_location() #12
  %12764 = load i32, ptr %12763, align 4, !tbaa !5
  %12765 = call ptr @strerror(i32 noundef %12764) #11
  %12766 = call ptr @__errno_location() #12
  %12767 = load i32, ptr %12766, align 4, !tbaa !5
  %12768 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12755, ptr noundef @.str.3, i32 noundef %12756, ptr noundef @.str.80, ptr noundef @.str.2, i32 noundef 603, ptr noundef %12759, ptr noundef %12762, ptr noundef %12765, i32 noundef %12767) #11
  br label %12786

12769:                                            ; preds = %12747, %12740
  %12770 = load i32, ptr %385, align 4, !tbaa !5
  %12771 = call ptr @__errno_location() #12
  store i32 %12770, ptr %12771, align 4, !tbaa !5
  %12772 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12773 = load i32, ptr @test_count, align 4, !tbaa !5
  %12774 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12775 = load i32, ptr %12774, align 4, !tbaa !5
  %12776 = call ptr @s2n_strerror(i32 noundef %12775, ptr noundef @.str.5)
  %12777 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12778 = load i32, ptr %12777, align 4, !tbaa !5
  %12779 = call ptr @s2n_strerror_debug(i32 noundef %12778, ptr noundef @.str.5)
  %12780 = call ptr @__errno_location() #12
  %12781 = load i32, ptr %12780, align 4, !tbaa !5
  %12782 = call ptr @strerror(i32 noundef %12781) #11
  %12783 = call ptr @__errno_location() #12
  %12784 = load i32, ptr %12783, align 4, !tbaa !5
  %12785 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12772, ptr noundef @.str.6, i32 noundef %12773, ptr noundef @.str.80, ptr noundef @.str.2, i32 noundef 603, ptr noundef %12776, ptr noundef %12779, ptr noundef %12782, i32 noundef %12784) #11
  br label %12786

12786:                                            ; preds = %12769, %12752
  call void @llvm.lifetime.end.p0(i64 4, ptr %385) #11
  br label %12787

12787:                                            ; preds = %12786
  br label %12788

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

12789:                                            ; No predecessors!
  br label %12790

12790:                                            ; preds = %12789
  br label %12791

12791:                                            ; preds = %12790, %12729
  br label %12792

12792:                                            ; preds = %12791
  br label %12793

12793:                                            ; preds = %12792
  call void @llvm.lifetime.start.p0(i64 16, ptr %386) #11
  %12794 = getelementptr inbounds %struct.iovec, ptr %386, i32 0, i32 0
  %12795 = getelementptr inbounds [16384 x i8], ptr %10, i64 0, i64 0
  store ptr %12795, ptr %12794, align 8, !tbaa !16
  %12796 = getelementptr inbounds %struct.iovec, ptr %386, i32 0, i32 1
  store i64 16384, ptr %12796, align 8, !tbaa !19
  call void @llvm.lifetime.start.p0(i64 4, ptr %387) #11
  store i32 0, ptr %387, align 4, !tbaa !5
  br label %12797

12797:                                            ; preds = %12793
  %12798 = load i32, ptr @test_count, align 4, !tbaa !5
  %12799 = add nsw i32 %12798, 1
  store i32 %12799, ptr @test_count, align 4, !tbaa !5
  %12800 = load ptr, ptr %381, align 8, !tbaa !9
  %12801 = call i64 @s2n_ktls_sendv_with_offset(ptr noundef %12800, ptr noundef %386, i64 noundef 1, i64 noundef 0, ptr noundef %387)
  %12802 = icmp eq i64 %12801, 16384
  br i1 %12802, label %12856, label %12803

12803:                                            ; preds = %12797
  br label %12804

12804:                                            ; preds = %12803
  br label %12805

12805:                                            ; preds = %12804
  call void @llvm.lifetime.start.p0(i64 4, ptr %388) #11
  %12806 = call ptr @__errno_location() #12
  %12807 = load i32, ptr %12806, align 4, !tbaa !5
  store i32 %12807, ptr %388, align 4, !tbaa !5
  %12808 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12809 = call i32 @s2n_print_stacktrace(ptr noundef %12808)
  %12810 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12811 = trunc i8 %12810 to i1
  br i1 %12811, label %12812, label %12834

12812:                                            ; preds = %12805
  %12813 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12814 = call i32 @fileno(ptr noundef %12813) #11
  %12815 = call i32 @isatty(i32 noundef %12814) #11
  %12816 = icmp ne i32 %12815, 0
  br i1 %12816, label %12817, label %12834

12817:                                            ; preds = %12812
  %12818 = load i32, ptr %388, align 4, !tbaa !5
  %12819 = call ptr @__errno_location() #12
  store i32 %12818, ptr %12819, align 4, !tbaa !5
  %12820 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12821 = load i32, ptr @test_count, align 4, !tbaa !5
  %12822 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12823 = load i32, ptr %12822, align 4, !tbaa !5
  %12824 = call ptr @s2n_strerror(i32 noundef %12823, ptr noundef @.str.5)
  %12825 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12826 = load i32, ptr %12825, align 4, !tbaa !5
  %12827 = call ptr @s2n_strerror_debug(i32 noundef %12826, ptr noundef @.str.5)
  %12828 = call ptr @__errno_location() #12
  %12829 = load i32, ptr %12828, align 4, !tbaa !5
  %12830 = call ptr @strerror(i32 noundef %12829) #11
  %12831 = call ptr @__errno_location() #12
  %12832 = load i32, ptr %12831, align 4, !tbaa !5
  %12833 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12820, ptr noundef @.str.3, i32 noundef %12821, ptr noundef @.str.81, ptr noundef @.str.2, i32 noundef 613, ptr noundef %12824, ptr noundef %12827, ptr noundef %12830, i32 noundef %12832) #11
  br label %12851

12834:                                            ; preds = %12812, %12805
  %12835 = load i32, ptr %388, align 4, !tbaa !5
  %12836 = call ptr @__errno_location() #12
  store i32 %12835, ptr %12836, align 4, !tbaa !5
  %12837 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12838 = load i32, ptr @test_count, align 4, !tbaa !5
  %12839 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12840 = load i32, ptr %12839, align 4, !tbaa !5
  %12841 = call ptr @s2n_strerror(i32 noundef %12840, ptr noundef @.str.5)
  %12842 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12843 = load i32, ptr %12842, align 4, !tbaa !5
  %12844 = call ptr @s2n_strerror_debug(i32 noundef %12843, ptr noundef @.str.5)
  %12845 = call ptr @__errno_location() #12
  %12846 = load i32, ptr %12845, align 4, !tbaa !5
  %12847 = call ptr @strerror(i32 noundef %12846) #11
  %12848 = call ptr @__errno_location() #12
  %12849 = load i32, ptr %12848, align 4, !tbaa !5
  %12850 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12837, ptr noundef @.str.6, i32 noundef %12838, ptr noundef @.str.81, ptr noundef @.str.2, i32 noundef 613, ptr noundef %12841, ptr noundef %12844, ptr noundef %12847, i32 noundef %12849) #11
  br label %12851

12851:                                            ; preds = %12834, %12817
  call void @llvm.lifetime.end.p0(i64 4, ptr %388) #11
  br label %12852

12852:                                            ; preds = %12851
  br label %12853

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

12854:                                            ; No predecessors!
  br label %12855

12855:                                            ; preds = %12854
  br label %12856

12856:                                            ; preds = %12855, %12797
  br label %12857

12857:                                            ; preds = %12856
  br label %12858

12858:                                            ; preds = %12857
  br label %12859

12859:                                            ; preds = %12858
  %12860 = load i32, ptr @test_count, align 4, !tbaa !5
  %12861 = add nsw i32 %12860, 1
  store i32 %12861, ptr @test_count, align 4, !tbaa !5
  %12862 = getelementptr inbounds %struct.s2n_test_ktls_io_stuffer, ptr %383, i32 0, i32 2
  %12863 = load i64, ptr %12862, align 8, !tbaa !47
  %12864 = icmp eq i64 %12863, 1
  br i1 %12864, label %12918, label %12865

12865:                                            ; preds = %12859
  br label %12866

12866:                                            ; preds = %12865
  br label %12867

12867:                                            ; preds = %12866
  call void @llvm.lifetime.start.p0(i64 4, ptr %389) #11
  %12868 = call ptr @__errno_location() #12
  %12869 = load i32, ptr %12868, align 4, !tbaa !5
  store i32 %12869, ptr %389, align 4, !tbaa !5
  %12870 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12871 = call i32 @s2n_print_stacktrace(ptr noundef %12870)
  %12872 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12873 = trunc i8 %12872 to i1
  br i1 %12873, label %12874, label %12896

12874:                                            ; preds = %12867
  %12875 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12876 = call i32 @fileno(ptr noundef %12875) #11
  %12877 = call i32 @isatty(i32 noundef %12876) #11
  %12878 = icmp ne i32 %12877, 0
  br i1 %12878, label %12879, label %12896

12879:                                            ; preds = %12874
  %12880 = load i32, ptr %389, align 4, !tbaa !5
  %12881 = call ptr @__errno_location() #12
  store i32 %12880, ptr %12881, align 4, !tbaa !5
  %12882 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12883 = load i32, ptr @test_count, align 4, !tbaa !5
  %12884 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12885 = load i32, ptr %12884, align 4, !tbaa !5
  %12886 = call ptr @s2n_strerror(i32 noundef %12885, ptr noundef @.str.5)
  %12887 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12888 = load i32, ptr %12887, align 4, !tbaa !5
  %12889 = call ptr @s2n_strerror_debug(i32 noundef %12888, ptr noundef @.str.5)
  %12890 = call ptr @__errno_location() #12
  %12891 = load i32, ptr %12890, align 4, !tbaa !5
  %12892 = call ptr @strerror(i32 noundef %12891) #11
  %12893 = call ptr @__errno_location() #12
  %12894 = load i32, ptr %12893, align 4, !tbaa !5
  %12895 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12882, ptr noundef @.str.3, i32 noundef %12883, ptr noundef @.str.82, ptr noundef @.str.2, i32 noundef 615, ptr noundef %12886, ptr noundef %12889, ptr noundef %12892, i32 noundef %12894) #11
  br label %12913

12896:                                            ; preds = %12874, %12867
  %12897 = load i32, ptr %389, align 4, !tbaa !5
  %12898 = call ptr @__errno_location() #12
  store i32 %12897, ptr %12898, align 4, !tbaa !5
  %12899 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12900 = load i32, ptr @test_count, align 4, !tbaa !5
  %12901 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12902 = load i32, ptr %12901, align 4, !tbaa !5
  %12903 = call ptr @s2n_strerror(i32 noundef %12902, ptr noundef @.str.5)
  %12904 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12905 = load i32, ptr %12904, align 4, !tbaa !5
  %12906 = call ptr @s2n_strerror_debug(i32 noundef %12905, ptr noundef @.str.5)
  %12907 = call ptr @__errno_location() #12
  %12908 = load i32, ptr %12907, align 4, !tbaa !5
  %12909 = call ptr @strerror(i32 noundef %12908) #11
  %12910 = call ptr @__errno_location() #12
  %12911 = load i32, ptr %12910, align 4, !tbaa !5
  %12912 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12899, ptr noundef @.str.6, i32 noundef %12900, ptr noundef @.str.82, ptr noundef @.str.2, i32 noundef 615, ptr noundef %12903, ptr noundef %12906, ptr noundef %12909, i32 noundef %12911) #11
  br label %12913

12913:                                            ; preds = %12896, %12879
  call void @llvm.lifetime.end.p0(i64 4, ptr %389) #11
  br label %12914

12914:                                            ; preds = %12913
  br label %12915

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

12916:                                            ; No predecessors!
  br label %12917

12917:                                            ; preds = %12916
  br label %12918

12918:                                            ; preds = %12917, %12859
  br label %12919

12919:                                            ; preds = %12918
  br label %12920

12920:                                            ; preds = %12919
  br label %12921

12921:                                            ; preds = %12920
  %12922 = load i32, ptr @test_count, align 4, !tbaa !5
  %12923 = add nsw i32 %12922, 1
  store i32 %12923, ptr @test_count, align 4, !tbaa !5
  %12924 = load i32, ptr %387, align 4, !tbaa !5
  %12925 = icmp eq i32 %12924, 0
  br i1 %12925, label %12979, label %12926

12926:                                            ; preds = %12921
  br label %12927

12927:                                            ; preds = %12926
  br label %12928

12928:                                            ; preds = %12927
  call void @llvm.lifetime.start.p0(i64 4, ptr %390) #11
  %12929 = call ptr @__errno_location() #12
  %12930 = load i32, ptr %12929, align 4, !tbaa !5
  store i32 %12930, ptr %390, align 4, !tbaa !5
  %12931 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12932 = call i32 @s2n_print_stacktrace(ptr noundef %12931)
  %12933 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12934 = trunc i8 %12933 to i1
  br i1 %12934, label %12935, label %12957

12935:                                            ; preds = %12928
  %12936 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12937 = call i32 @fileno(ptr noundef %12936) #11
  %12938 = call i32 @isatty(i32 noundef %12937) #11
  %12939 = icmp ne i32 %12938, 0
  br i1 %12939, label %12940, label %12957

12940:                                            ; preds = %12935
  %12941 = load i32, ptr %390, align 4, !tbaa !5
  %12942 = call ptr @__errno_location() #12
  store i32 %12941, ptr %12942, align 4, !tbaa !5
  %12943 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12944 = load i32, ptr @test_count, align 4, !tbaa !5
  %12945 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12946 = load i32, ptr %12945, align 4, !tbaa !5
  %12947 = call ptr @s2n_strerror(i32 noundef %12946, ptr noundef @.str.5)
  %12948 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12949 = load i32, ptr %12948, align 4, !tbaa !5
  %12950 = call ptr @s2n_strerror_debug(i32 noundef %12949, ptr noundef @.str.5)
  %12951 = call ptr @__errno_location() #12
  %12952 = load i32, ptr %12951, align 4, !tbaa !5
  %12953 = call ptr @strerror(i32 noundef %12952) #11
  %12954 = call ptr @__errno_location() #12
  %12955 = load i32, ptr %12954, align 4, !tbaa !5
  %12956 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12943, ptr noundef @.str.3, i32 noundef %12944, ptr noundef @.str.31, ptr noundef @.str.2, i32 noundef 616, ptr noundef %12947, ptr noundef %12950, ptr noundef %12953, i32 noundef %12955) #11
  br label %12974

12957:                                            ; preds = %12935, %12928
  %12958 = load i32, ptr %390, align 4, !tbaa !5
  %12959 = call ptr @__errno_location() #12
  store i32 %12958, ptr %12959, align 4, !tbaa !5
  %12960 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12961 = load i32, ptr @test_count, align 4, !tbaa !5
  %12962 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12963 = load i32, ptr %12962, align 4, !tbaa !5
  %12964 = call ptr @s2n_strerror(i32 noundef %12963, ptr noundef @.str.5)
  %12965 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12966 = load i32, ptr %12965, align 4, !tbaa !5
  %12967 = call ptr @s2n_strerror_debug(i32 noundef %12966, ptr noundef @.str.5)
  %12968 = call ptr @__errno_location() #12
  %12969 = load i32, ptr %12968, align 4, !tbaa !5
  %12970 = call ptr @strerror(i32 noundef %12969) #11
  %12971 = call ptr @__errno_location() #12
  %12972 = load i32, ptr %12971, align 4, !tbaa !5
  %12973 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12960, ptr noundef @.str.6, i32 noundef %12961, ptr noundef @.str.31, ptr noundef @.str.2, i32 noundef 616, ptr noundef %12964, ptr noundef %12967, ptr noundef %12970, i32 noundef %12972) #11
  br label %12974

12974:                                            ; preds = %12957, %12940
  call void @llvm.lifetime.end.p0(i64 4, ptr %390) #11
  br label %12975

12975:                                            ; preds = %12974
  br label %12976

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

12977:                                            ; No predecessors!
  br label %12978

12978:                                            ; preds = %12977
  br label %12979

12979:                                            ; preds = %12978, %12921
  br label %12980

12980:                                            ; preds = %12979
  br label %12981

12981:                                            ; preds = %12980
  br label %12982

12982:                                            ; preds = %12981
  %12983 = load i32, ptr @test_count, align 4, !tbaa !5
  %12984 = add nsw i32 %12983, 1
  store i32 %12984, ptr @test_count, align 4, !tbaa !5
  %12985 = call i32 @s2n_test_validate_ancillary(ptr noundef %383, i8 noundef zeroext 23, i16 noundef zeroext 16384)
  %12986 = getelementptr inbounds %struct.s2n_result, ptr %391, i32 0, i32 0
  store i32 %12985, ptr %12986, align 4
  %12987 = getelementptr inbounds %struct.s2n_result, ptr %391, i32 0, i32 0
  %12988 = load i32, ptr %12987, align 4
  %12989 = call zeroext i1 @s2n_result_is_ok(i32 %12988)
  br i1 %12989, label %13043, label %12990

12990:                                            ; preds = %12982
  br label %12991

12991:                                            ; preds = %12990
  br label %12992

12992:                                            ; preds = %12991
  call void @llvm.lifetime.start.p0(i64 4, ptr %392) #11
  %12993 = call ptr @__errno_location() #12
  %12994 = load i32, ptr %12993, align 4, !tbaa !5
  store i32 %12994, ptr %392, align 4, !tbaa !5
  %12995 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12996 = call i32 @s2n_print_stacktrace(ptr noundef %12995)
  %12997 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12998 = trunc i8 %12997 to i1
  br i1 %12998, label %12999, label %13021

12999:                                            ; preds = %12992
  %13000 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13001 = call i32 @fileno(ptr noundef %13000) #11
  %13002 = call i32 @isatty(i32 noundef %13001) #11
  %13003 = icmp ne i32 %13002, 0
  br i1 %13003, label %13004, label %13021

13004:                                            ; preds = %12999
  %13005 = load i32, ptr %392, align 4, !tbaa !5
  %13006 = call ptr @__errno_location() #12
  store i32 %13005, ptr %13006, align 4, !tbaa !5
  %13007 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13008 = load i32, ptr @test_count, align 4, !tbaa !5
  %13009 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13010 = load i32, ptr %13009, align 4, !tbaa !5
  %13011 = call ptr @s2n_strerror(i32 noundef %13010, ptr noundef @.str.5)
  %13012 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13013 = load i32, ptr %13012, align 4, !tbaa !5
  %13014 = call ptr @s2n_strerror_debug(i32 noundef %13013, ptr noundef @.str.5)
  %13015 = call ptr @__errno_location() #12
  %13016 = load i32, ptr %13015, align 4, !tbaa !5
  %13017 = call ptr @strerror(i32 noundef %13016) #11
  %13018 = call ptr @__errno_location() #12
  %13019 = load i32, ptr %13018, align 4, !tbaa !5
  %13020 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13007, ptr noundef @.str.3, i32 noundef %13008, ptr noundef @.str.83, ptr noundef @.str.2, i32 noundef 617, ptr noundef %13011, ptr noundef %13014, ptr noundef %13017, i32 noundef %13019) #11
  br label %13038

13021:                                            ; preds = %12999, %12992
  %13022 = load i32, ptr %392, align 4, !tbaa !5
  %13023 = call ptr @__errno_location() #12
  store i32 %13022, ptr %13023, align 4, !tbaa !5
  %13024 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13025 = load i32, ptr @test_count, align 4, !tbaa !5
  %13026 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13027 = load i32, ptr %13026, align 4, !tbaa !5
  %13028 = call ptr @s2n_strerror(i32 noundef %13027, ptr noundef @.str.5)
  %13029 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13030 = load i32, ptr %13029, align 4, !tbaa !5
  %13031 = call ptr @s2n_strerror_debug(i32 noundef %13030, ptr noundef @.str.5)
  %13032 = call ptr @__errno_location() #12
  %13033 = load i32, ptr %13032, align 4, !tbaa !5
  %13034 = call ptr @strerror(i32 noundef %13033) #11
  %13035 = call ptr @__errno_location() #12
  %13036 = load i32, ptr %13035, align 4, !tbaa !5
  %13037 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13024, ptr noundef @.str.6, i32 noundef %13025, ptr noundef @.str.83, ptr noundef @.str.2, i32 noundef 617, ptr noundef %13028, ptr noundef %13031, ptr noundef %13034, i32 noundef %13036) #11
  br label %13038

13038:                                            ; preds = %13021, %13004
  call void @llvm.lifetime.end.p0(i64 4, ptr %392) #11
  br label %13039

13039:                                            ; preds = %13038
  br label %13040

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

13041:                                            ; No predecessors!
  br label %13042

13042:                                            ; preds = %13041
  br label %13043

13043:                                            ; preds = %13042, %12982
  br label %13044

13044:                                            ; preds = %13043
  br label %13045

13045:                                            ; preds = %13044
  br label %13046

13046:                                            ; preds = %13045
  %13047 = load i32, ptr @test_count, align 4, !tbaa !5
  %13048 = add nsw i32 %13047, 1
  store i32 %13048, ptr @test_count, align 4, !tbaa !5
  %13049 = getelementptr inbounds [16384 x i8], ptr %10, i64 0, i64 0
  %13050 = call i32 @s2n_test_validate_data(ptr noundef %383, ptr noundef %13049, i16 noundef zeroext 16384)
  %13051 = getelementptr inbounds %struct.s2n_result, ptr %393, i32 0, i32 0
  store i32 %13050, ptr %13051, align 4
  %13052 = getelementptr inbounds %struct.s2n_result, ptr %393, i32 0, i32 0
  %13053 = load i32, ptr %13052, align 4
  %13054 = call zeroext i1 @s2n_result_is_ok(i32 %13053)
  br i1 %13054, label %13108, label %13055

13055:                                            ; preds = %13046
  br label %13056

13056:                                            ; preds = %13055
  br label %13057

13057:                                            ; preds = %13056
  call void @llvm.lifetime.start.p0(i64 4, ptr %394) #11
  %13058 = call ptr @__errno_location() #12
  %13059 = load i32, ptr %13058, align 4, !tbaa !5
  store i32 %13059, ptr %394, align 4, !tbaa !5
  %13060 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13061 = call i32 @s2n_print_stacktrace(ptr noundef %13060)
  %13062 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13063 = trunc i8 %13062 to i1
  br i1 %13063, label %13064, label %13086

13064:                                            ; preds = %13057
  %13065 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13066 = call i32 @fileno(ptr noundef %13065) #11
  %13067 = call i32 @isatty(i32 noundef %13066) #11
  %13068 = icmp ne i32 %13067, 0
  br i1 %13068, label %13069, label %13086

13069:                                            ; preds = %13064
  %13070 = load i32, ptr %394, align 4, !tbaa !5
  %13071 = call ptr @__errno_location() #12
  store i32 %13070, ptr %13071, align 4, !tbaa !5
  %13072 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13073 = load i32, ptr @test_count, align 4, !tbaa !5
  %13074 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13075 = load i32, ptr %13074, align 4, !tbaa !5
  %13076 = call ptr @s2n_strerror(i32 noundef %13075, ptr noundef @.str.5)
  %13077 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13078 = load i32, ptr %13077, align 4, !tbaa !5
  %13079 = call ptr @s2n_strerror_debug(i32 noundef %13078, ptr noundef @.str.5)
  %13080 = call ptr @__errno_location() #12
  %13081 = load i32, ptr %13080, align 4, !tbaa !5
  %13082 = call ptr @strerror(i32 noundef %13081) #11
  %13083 = call ptr @__errno_location() #12
  %13084 = load i32, ptr %13083, align 4, !tbaa !5
  %13085 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13072, ptr noundef @.str.3, i32 noundef %13073, ptr noundef @.str.84, ptr noundef @.str.2, i32 noundef 618, ptr noundef %13076, ptr noundef %13079, ptr noundef %13082, i32 noundef %13084) #11
  br label %13103

13086:                                            ; preds = %13064, %13057
  %13087 = load i32, ptr %394, align 4, !tbaa !5
  %13088 = call ptr @__errno_location() #12
  store i32 %13087, ptr %13088, align 4, !tbaa !5
  %13089 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13090 = load i32, ptr @test_count, align 4, !tbaa !5
  %13091 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13092 = load i32, ptr %13091, align 4, !tbaa !5
  %13093 = call ptr @s2n_strerror(i32 noundef %13092, ptr noundef @.str.5)
  %13094 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13095 = load i32, ptr %13094, align 4, !tbaa !5
  %13096 = call ptr @s2n_strerror_debug(i32 noundef %13095, ptr noundef @.str.5)
  %13097 = call ptr @__errno_location() #12
  %13098 = load i32, ptr %13097, align 4, !tbaa !5
  %13099 = call ptr @strerror(i32 noundef %13098) #11
  %13100 = call ptr @__errno_location() #12
  %13101 = load i32, ptr %13100, align 4, !tbaa !5
  %13102 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13089, ptr noundef @.str.6, i32 noundef %13090, ptr noundef @.str.84, ptr noundef @.str.2, i32 noundef 618, ptr noundef %13093, ptr noundef %13096, ptr noundef %13099, i32 noundef %13101) #11
  br label %13103

13103:                                            ; preds = %13086, %13069
  call void @llvm.lifetime.end.p0(i64 4, ptr %394) #11
  br label %13104

13104:                                            ; preds = %13103
  br label %13105

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

13106:                                            ; No predecessors!
  br label %13107

13107:                                            ; preds = %13106
  br label %13108

13108:                                            ; preds = %13107, %13046
  br label %13109

13109:                                            ; preds = %13108
  br label %13110

13110:                                            ; preds = %13109
  call void @llvm.lifetime.end.p0(i64 4, ptr %387) #11
  call void @llvm.lifetime.end.p0(i64 16, ptr %386) #11
  %13111 = call i32 @s2n_ktls_io_stuffer_free(ptr noundef %383)
  %13112 = getelementptr inbounds %struct.s2n_result, ptr %395, i32 0, i32 0
  store i32 %13111, ptr %13112, align 4
  call void @llvm.lifetime.end.p0(i64 96, ptr %383) #11
  %13113 = call i32 @s2n_connection_ptr_free(ptr noundef %381)
  %13114 = getelementptr inbounds %struct.s2n_result, ptr %396, i32 0, i32 0
  store i32 %13113, ptr %13114, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %381) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %397) #11
  %13115 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %13115, ptr %397, align 8, !tbaa !9
  br label %13116

13116:                                            ; preds = %13110
  %13117 = load i32, ptr @test_count, align 4, !tbaa !5
  %13118 = add nsw i32 %13117, 1
  store i32 %13118, ptr @test_count, align 4, !tbaa !5
  %13119 = load ptr, ptr %397, align 8, !tbaa !9
  %13120 = icmp eq ptr %13119, null
  br i1 %13120, label %13121, label %13174

13121:                                            ; preds = %13116
  br label %13122

13122:                                            ; preds = %13121
  br label %13123

13123:                                            ; preds = %13122
  call void @llvm.lifetime.start.p0(i64 4, ptr %398) #11
  %13124 = call ptr @__errno_location() #12
  %13125 = load i32, ptr %13124, align 4, !tbaa !5
  store i32 %13125, ptr %398, align 4, !tbaa !5
  %13126 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13127 = call i32 @s2n_print_stacktrace(ptr noundef %13126)
  %13128 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13129 = trunc i8 %13128 to i1
  br i1 %13129, label %13130, label %13152

13130:                                            ; preds = %13123
  %13131 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13132 = call i32 @fileno(ptr noundef %13131) #11
  %13133 = call i32 @isatty(i32 noundef %13132) #11
  %13134 = icmp ne i32 %13133, 0
  br i1 %13134, label %13135, label %13152

13135:                                            ; preds = %13130
  %13136 = load i32, ptr %398, align 4, !tbaa !5
  %13137 = call ptr @__errno_location() #12
  store i32 %13136, ptr %13137, align 4, !tbaa !5
  %13138 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13139 = load i32, ptr @test_count, align 4, !tbaa !5
  %13140 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13141 = load i32, ptr %13140, align 4, !tbaa !5
  %13142 = call ptr @s2n_strerror(i32 noundef %13141, ptr noundef @.str.5)
  %13143 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13144 = load i32, ptr %13143, align 4, !tbaa !5
  %13145 = call ptr @s2n_strerror_debug(i32 noundef %13144, ptr noundef @.str.5)
  %13146 = call ptr @__errno_location() #12
  %13147 = load i32, ptr %13146, align 4, !tbaa !5
  %13148 = call ptr @strerror(i32 noundef %13147) #11
  %13149 = call ptr @__errno_location() #12
  %13150 = load i32, ptr %13149, align 4, !tbaa !5
  %13151 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13138, ptr noundef @.str.3, i32 noundef %13139, ptr noundef @.str.79, ptr noundef @.str.2, i32 noundef 625, ptr noundef %13142, ptr noundef %13145, ptr noundef %13148, i32 noundef %13150) #11
  br label %13169

13152:                                            ; preds = %13130, %13123
  %13153 = load i32, ptr %398, align 4, !tbaa !5
  %13154 = call ptr @__errno_location() #12
  store i32 %13153, ptr %13154, align 4, !tbaa !5
  %13155 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13156 = load i32, ptr @test_count, align 4, !tbaa !5
  %13157 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13158 = load i32, ptr %13157, align 4, !tbaa !5
  %13159 = call ptr @s2n_strerror(i32 noundef %13158, ptr noundef @.str.5)
  %13160 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13161 = load i32, ptr %13160, align 4, !tbaa !5
  %13162 = call ptr @s2n_strerror_debug(i32 noundef %13161, ptr noundef @.str.5)
  %13163 = call ptr @__errno_location() #12
  %13164 = load i32, ptr %13163, align 4, !tbaa !5
  %13165 = call ptr @strerror(i32 noundef %13164) #11
  %13166 = call ptr @__errno_location() #12
  %13167 = load i32, ptr %13166, align 4, !tbaa !5
  %13168 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13155, ptr noundef @.str.6, i32 noundef %13156, ptr noundef @.str.79, ptr noundef @.str.2, i32 noundef 625, ptr noundef %13159, ptr noundef %13162, ptr noundef %13165, i32 noundef %13167) #11
  br label %13169

13169:                                            ; preds = %13152, %13135
  call void @llvm.lifetime.end.p0(i64 4, ptr %398) #11
  br label %13170

13170:                                            ; preds = %13169
  br label %13171

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

13172:                                            ; No predecessors!
  br label %13173

13173:                                            ; preds = %13172
  br label %13174

13174:                                            ; preds = %13173, %13116
  br label %13175

13175:                                            ; preds = %13174
  br label %13176

13176:                                            ; preds = %13175
  call void @llvm.lifetime.start.p0(i64 16, ptr %399) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %399, ptr align 8 @__const.main.io_ctx.85, i64 16, i1 false)
  br label %13177

13177:                                            ; preds = %13176
  %13178 = load i32, ptr @test_count, align 4, !tbaa !5
  %13179 = add nsw i32 %13178, 1
  store i32 %13179, ptr @test_count, align 4, !tbaa !5
  %13180 = load ptr, ptr %397, align 8, !tbaa !9
  %13181 = call i32 @s2n_ktls_set_sendmsg_cb(ptr noundef %13180, ptr noundef @s2n_test_ktls_sendmsg_fail, ptr noundef %399)
  %13182 = getelementptr inbounds %struct.s2n_result, ptr %400, i32 0, i32 0
  store i32 %13181, ptr %13182, align 4
  %13183 = getelementptr inbounds %struct.s2n_result, ptr %400, i32 0, i32 0
  %13184 = load i32, ptr %13183, align 4
  %13185 = call zeroext i1 @s2n_result_is_ok(i32 %13184)
  br i1 %13185, label %13239, label %13186

13186:                                            ; preds = %13177
  br label %13187

13187:                                            ; preds = %13186
  br label %13188

13188:                                            ; preds = %13187
  call void @llvm.lifetime.start.p0(i64 4, ptr %401) #11
  %13189 = call ptr @__errno_location() #12
  %13190 = load i32, ptr %13189, align 4, !tbaa !5
  store i32 %13190, ptr %401, align 4, !tbaa !5
  %13191 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13192 = call i32 @s2n_print_stacktrace(ptr noundef %13191)
  %13193 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13194 = trunc i8 %13193 to i1
  br i1 %13194, label %13195, label %13217

13195:                                            ; preds = %13188
  %13196 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13197 = call i32 @fileno(ptr noundef %13196) #11
  %13198 = call i32 @isatty(i32 noundef %13197) #11
  %13199 = icmp ne i32 %13198, 0
  br i1 %13199, label %13200, label %13217

13200:                                            ; preds = %13195
  %13201 = load i32, ptr %401, align 4, !tbaa !5
  %13202 = call ptr @__errno_location() #12
  store i32 %13201, ptr %13202, align 4, !tbaa !5
  %13203 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13204 = load i32, ptr @test_count, align 4, !tbaa !5
  %13205 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13206 = load i32, ptr %13205, align 4, !tbaa !5
  %13207 = call ptr @s2n_strerror(i32 noundef %13206, ptr noundef @.str.5)
  %13208 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13209 = load i32, ptr %13208, align 4, !tbaa !5
  %13210 = call ptr @s2n_strerror_debug(i32 noundef %13209, ptr noundef @.str.5)
  %13211 = call ptr @__errno_location() #12
  %13212 = load i32, ptr %13211, align 4, !tbaa !5
  %13213 = call ptr @strerror(i32 noundef %13212) #11
  %13214 = call ptr @__errno_location() #12
  %13215 = load i32, ptr %13214, align 4, !tbaa !5
  %13216 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13203, ptr noundef @.str.3, i32 noundef %13204, ptr noundef @.str.86, ptr noundef @.str.2, i32 noundef 628, ptr noundef %13207, ptr noundef %13210, ptr noundef %13213, i32 noundef %13215) #11
  br label %13234

13217:                                            ; preds = %13195, %13188
  %13218 = load i32, ptr %401, align 4, !tbaa !5
  %13219 = call ptr @__errno_location() #12
  store i32 %13218, ptr %13219, align 4, !tbaa !5
  %13220 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13221 = load i32, ptr @test_count, align 4, !tbaa !5
  %13222 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13223 = load i32, ptr %13222, align 4, !tbaa !5
  %13224 = call ptr @s2n_strerror(i32 noundef %13223, ptr noundef @.str.5)
  %13225 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13226 = load i32, ptr %13225, align 4, !tbaa !5
  %13227 = call ptr @s2n_strerror_debug(i32 noundef %13226, ptr noundef @.str.5)
  %13228 = call ptr @__errno_location() #12
  %13229 = load i32, ptr %13228, align 4, !tbaa !5
  %13230 = call ptr @strerror(i32 noundef %13229) #11
  %13231 = call ptr @__errno_location() #12
  %13232 = load i32, ptr %13231, align 4, !tbaa !5
  %13233 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13220, ptr noundef @.str.6, i32 noundef %13221, ptr noundef @.str.86, ptr noundef @.str.2, i32 noundef 628, ptr noundef %13224, ptr noundef %13227, ptr noundef %13230, i32 noundef %13232) #11
  br label %13234

13234:                                            ; preds = %13217, %13200
  call void @llvm.lifetime.end.p0(i64 4, ptr %401) #11
  br label %13235

13235:                                            ; preds = %13234
  br label %13236

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

13237:                                            ; No predecessors!
  br label %13238

13238:                                            ; preds = %13237
  br label %13239

13239:                                            ; preds = %13238, %13177
  br label %13240

13240:                                            ; preds = %13239
  br label %13241

13241:                                            ; preds = %13240
  call void @llvm.lifetime.start.p0(i64 16, ptr %402) #11
  %13242 = getelementptr inbounds %struct.iovec, ptr %402, i32 0, i32 0
  %13243 = getelementptr inbounds [16384 x i8], ptr %10, i64 0, i64 0
  store ptr %13243, ptr %13242, align 8, !tbaa !16
  %13244 = getelementptr inbounds %struct.iovec, ptr %402, i32 0, i32 1
  store i64 16384, ptr %13244, align 8, !tbaa !19
  call void @llvm.lifetime.start.p0(i64 4, ptr %403) #11
  store i32 0, ptr %403, align 4, !tbaa !5
  br label %13245

13245:                                            ; preds = %13241
  br label %13246

13246:                                            ; preds = %13245
  br label %13247

13247:                                            ; preds = %13246
  %13248 = load i32, ptr @test_count, align 4, !tbaa !5
  %13249 = add nsw i32 %13248, 1
  store i32 %13249, ptr @test_count, align 4, !tbaa !5
  %13250 = load ptr, ptr %397, align 8, !tbaa !9
  %13251 = call i64 @s2n_ktls_sendv_with_offset(ptr noundef %13250, ptr noundef %402, i64 noundef 1, i64 noundef 0, ptr noundef %403)
  %13252 = icmp eq i64 %13251, -1
  br i1 %13252, label %13306, label %13253

13253:                                            ; preds = %13247
  br label %13254

13254:                                            ; preds = %13253
  br label %13255

13255:                                            ; preds = %13254
  call void @llvm.lifetime.start.p0(i64 4, ptr %404) #11
  %13256 = call ptr @__errno_location() #12
  %13257 = load i32, ptr %13256, align 4, !tbaa !5
  store i32 %13257, ptr %404, align 4, !tbaa !5
  %13258 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13259 = call i32 @s2n_print_stacktrace(ptr noundef %13258)
  %13260 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13261 = trunc i8 %13260 to i1
  br i1 %13261, label %13262, label %13284

13262:                                            ; preds = %13255
  %13263 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13264 = call i32 @fileno(ptr noundef %13263) #11
  %13265 = call i32 @isatty(i32 noundef %13264) #11
  %13266 = icmp ne i32 %13265, 0
  br i1 %13266, label %13267, label %13284

13267:                                            ; preds = %13262
  %13268 = load i32, ptr %404, align 4, !tbaa !5
  %13269 = call ptr @__errno_location() #12
  store i32 %13268, ptr %13269, align 4, !tbaa !5
  %13270 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13271 = load i32, ptr @test_count, align 4, !tbaa !5
  %13272 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13273 = load i32, ptr %13272, align 4, !tbaa !5
  %13274 = call ptr @s2n_strerror(i32 noundef %13273, ptr noundef @.str.5)
  %13275 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13276 = load i32, ptr %13275, align 4, !tbaa !5
  %13277 = call ptr @s2n_strerror_debug(i32 noundef %13276, ptr noundef @.str.5)
  %13278 = call ptr @__errno_location() #12
  %13279 = load i32, ptr %13278, align 4, !tbaa !5
  %13280 = call ptr @strerror(i32 noundef %13279) #11
  %13281 = call ptr @__errno_location() #12
  %13282 = load i32, ptr %13281, align 4, !tbaa !5
  %13283 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13270, ptr noundef @.str.3, i32 noundef %13271, ptr noundef @.str.87, ptr noundef @.str.2, i32 noundef 638, ptr noundef %13274, ptr noundef %13277, ptr noundef %13280, i32 noundef %13282) #11
  br label %13301

13284:                                            ; preds = %13262, %13255
  %13285 = load i32, ptr %404, align 4, !tbaa !5
  %13286 = call ptr @__errno_location() #12
  store i32 %13285, ptr %13286, align 4, !tbaa !5
  %13287 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13288 = load i32, ptr @test_count, align 4, !tbaa !5
  %13289 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13290 = load i32, ptr %13289, align 4, !tbaa !5
  %13291 = call ptr @s2n_strerror(i32 noundef %13290, ptr noundef @.str.5)
  %13292 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13293 = load i32, ptr %13292, align 4, !tbaa !5
  %13294 = call ptr @s2n_strerror_debug(i32 noundef %13293, ptr noundef @.str.5)
  %13295 = call ptr @__errno_location() #12
  %13296 = load i32, ptr %13295, align 4, !tbaa !5
  %13297 = call ptr @strerror(i32 noundef %13296) #11
  %13298 = call ptr @__errno_location() #12
  %13299 = load i32, ptr %13298, align 4, !tbaa !5
  %13300 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13287, ptr noundef @.str.6, i32 noundef %13288, ptr noundef @.str.87, ptr noundef @.str.2, i32 noundef 638, ptr noundef %13291, ptr noundef %13294, ptr noundef %13297, i32 noundef %13299) #11
  br label %13301

13301:                                            ; preds = %13284, %13267
  call void @llvm.lifetime.end.p0(i64 4, ptr %404) #11
  br label %13302

13302:                                            ; preds = %13301
  br label %13303

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

13304:                                            ; No predecessors!
  br label %13305

13305:                                            ; preds = %13304
  br label %13306

13306:                                            ; preds = %13305, %13247
  br label %13307

13307:                                            ; preds = %13306
  br label %13308

13308:                                            ; preds = %13307
  br label %13309

13309:                                            ; preds = %13308
  %13310 = load i32, ptr @test_count, align 4, !tbaa !5
  %13311 = add nsw i32 %13310, 1
  store i32 %13311, ptr @test_count, align 4, !tbaa !5
  %13312 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13313 = load i32, ptr %13312, align 4, !tbaa !5
  %13314 = icmp eq i32 %13313, 67108864
  br i1 %13314, label %13368, label %13315

13315:                                            ; preds = %13309
  br label %13316

13316:                                            ; preds = %13315
  br label %13317

13317:                                            ; preds = %13316
  call void @llvm.lifetime.start.p0(i64 4, ptr %405) #11
  %13318 = call ptr @__errno_location() #12
  %13319 = load i32, ptr %13318, align 4, !tbaa !5
  store i32 %13319, ptr %405, align 4, !tbaa !5
  %13320 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13321 = call i32 @s2n_print_stacktrace(ptr noundef %13320)
  %13322 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13323 = trunc i8 %13322 to i1
  br i1 %13323, label %13324, label %13346

13324:                                            ; preds = %13317
  %13325 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13326 = call i32 @fileno(ptr noundef %13325) #11
  %13327 = call i32 @isatty(i32 noundef %13326) #11
  %13328 = icmp ne i32 %13327, 0
  br i1 %13328, label %13329, label %13346

13329:                                            ; preds = %13324
  %13330 = load i32, ptr %405, align 4, !tbaa !5
  %13331 = call ptr @__errno_location() #12
  store i32 %13330, ptr %13331, align 4, !tbaa !5
  %13332 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13333 = load i32, ptr @test_count, align 4, !tbaa !5
  %13334 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13335 = load i32, ptr %13334, align 4, !tbaa !5
  %13336 = call ptr @s2n_strerror(i32 noundef %13335, ptr noundef @.str.5)
  %13337 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13338 = load i32, ptr %13337, align 4, !tbaa !5
  %13339 = call ptr @s2n_strerror_debug(i32 noundef %13338, ptr noundef @.str.5)
  %13340 = call ptr @__errno_location() #12
  %13341 = load i32, ptr %13340, align 4, !tbaa !5
  %13342 = call ptr @strerror(i32 noundef %13341) #11
  %13343 = call ptr @__errno_location() #12
  %13344 = load i32, ptr %13343, align 4, !tbaa !5
  %13345 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13332, ptr noundef @.str.3, i32 noundef %13333, ptr noundef @.str.24, ptr noundef @.str.2, i32 noundef 638, ptr noundef %13336, ptr noundef %13339, ptr noundef %13342, i32 noundef %13344) #11
  br label %13363

13346:                                            ; preds = %13324, %13317
  %13347 = load i32, ptr %405, align 4, !tbaa !5
  %13348 = call ptr @__errno_location() #12
  store i32 %13347, ptr %13348, align 4, !tbaa !5
  %13349 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13350 = load i32, ptr @test_count, align 4, !tbaa !5
  %13351 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13352 = load i32, ptr %13351, align 4, !tbaa !5
  %13353 = call ptr @s2n_strerror(i32 noundef %13352, ptr noundef @.str.5)
  %13354 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13355 = load i32, ptr %13354, align 4, !tbaa !5
  %13356 = call ptr @s2n_strerror_debug(i32 noundef %13355, ptr noundef @.str.5)
  %13357 = call ptr @__errno_location() #12
  %13358 = load i32, ptr %13357, align 4, !tbaa !5
  %13359 = call ptr @strerror(i32 noundef %13358) #11
  %13360 = call ptr @__errno_location() #12
  %13361 = load i32, ptr %13360, align 4, !tbaa !5
  %13362 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13349, ptr noundef @.str.6, i32 noundef %13350, ptr noundef @.str.24, ptr noundef @.str.2, i32 noundef 638, ptr noundef %13353, ptr noundef %13356, ptr noundef %13359, i32 noundef %13361) #11
  br label %13363

13363:                                            ; preds = %13346, %13329
  call void @llvm.lifetime.end.p0(i64 4, ptr %405) #11
  br label %13364

13364:                                            ; preds = %13363
  br label %13365

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

13366:                                            ; No predecessors!
  br label %13367

13367:                                            ; preds = %13366
  br label %13368

13368:                                            ; preds = %13367, %13309
  br label %13369

13369:                                            ; preds = %13368
  br label %13370

13370:                                            ; preds = %13369
  br label %13371

13371:                                            ; preds = %13370
  %13372 = load i32, ptr @test_count, align 4, !tbaa !5
  %13373 = add nsw i32 %13372, 1
  store i32 %13373, ptr @test_count, align 4, !tbaa !5
  %13374 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13375 = load i32, ptr %13374, align 4, !tbaa !5
  %13376 = call ptr @s2n_strerror_debug(i32 noundef %13375, ptr noundef @.str.5)
  %13377 = icmp eq ptr %13376, null
  br i1 %13377, label %13378, label %13431

13378:                                            ; preds = %13371
  br label %13379

13379:                                            ; preds = %13378
  br label %13380

13380:                                            ; preds = %13379
  call void @llvm.lifetime.start.p0(i64 4, ptr %406) #11
  %13381 = call ptr @__errno_location() #12
  %13382 = load i32, ptr %13381, align 4, !tbaa !5
  store i32 %13382, ptr %406, align 4, !tbaa !5
  %13383 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13384 = call i32 @s2n_print_stacktrace(ptr noundef %13383)
  %13385 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13386 = trunc i8 %13385 to i1
  br i1 %13386, label %13387, label %13409

13387:                                            ; preds = %13380
  %13388 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13389 = call i32 @fileno(ptr noundef %13388) #11
  %13390 = call i32 @isatty(i32 noundef %13389) #11
  %13391 = icmp ne i32 %13390, 0
  br i1 %13391, label %13392, label %13409

13392:                                            ; preds = %13387
  %13393 = load i32, ptr %406, align 4, !tbaa !5
  %13394 = call ptr @__errno_location() #12
  store i32 %13393, ptr %13394, align 4, !tbaa !5
  %13395 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13396 = load i32, ptr @test_count, align 4, !tbaa !5
  %13397 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13398 = load i32, ptr %13397, align 4, !tbaa !5
  %13399 = call ptr @s2n_strerror(i32 noundef %13398, ptr noundef @.str.5)
  %13400 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13401 = load i32, ptr %13400, align 4, !tbaa !5
  %13402 = call ptr @s2n_strerror_debug(i32 noundef %13401, ptr noundef @.str.5)
  %13403 = call ptr @__errno_location() #12
  %13404 = load i32, ptr %13403, align 4, !tbaa !5
  %13405 = call ptr @strerror(i32 noundef %13404) #11
  %13406 = call ptr @__errno_location() #12
  %13407 = load i32, ptr %13406, align 4, !tbaa !5
  %13408 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13395, ptr noundef @.str.3, i32 noundef %13396, ptr noundef @.str.13, ptr noundef @.str.2, i32 noundef 638, ptr noundef %13399, ptr noundef %13402, ptr noundef %13405, i32 noundef %13407) #11
  br label %13426

13409:                                            ; preds = %13387, %13380
  %13410 = load i32, ptr %406, align 4, !tbaa !5
  %13411 = call ptr @__errno_location() #12
  store i32 %13410, ptr %13411, align 4, !tbaa !5
  %13412 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13413 = load i32, ptr @test_count, align 4, !tbaa !5
  %13414 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13415 = load i32, ptr %13414, align 4, !tbaa !5
  %13416 = call ptr @s2n_strerror(i32 noundef %13415, ptr noundef @.str.5)
  %13417 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13418 = load i32, ptr %13417, align 4, !tbaa !5
  %13419 = call ptr @s2n_strerror_debug(i32 noundef %13418, ptr noundef @.str.5)
  %13420 = call ptr @__errno_location() #12
  %13421 = load i32, ptr %13420, align 4, !tbaa !5
  %13422 = call ptr @strerror(i32 noundef %13421) #11
  %13423 = call ptr @__errno_location() #12
  %13424 = load i32, ptr %13423, align 4, !tbaa !5
  %13425 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13412, ptr noundef @.str.6, i32 noundef %13413, ptr noundef @.str.13, ptr noundef @.str.2, i32 noundef 638, ptr noundef %13416, ptr noundef %13419, ptr noundef %13422, i32 noundef %13424) #11
  br label %13426

13426:                                            ; preds = %13409, %13392
  call void @llvm.lifetime.end.p0(i64 4, ptr %406) #11
  br label %13427

13427:                                            ; preds = %13426
  br label %13428

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

13429:                                            ; No predecessors!
  br label %13430

13430:                                            ; preds = %13429
  br label %13431

13431:                                            ; preds = %13430, %13371
  br label %13432

13432:                                            ; preds = %13431
  br label %13433

13433:                                            ; preds = %13432
  br label %13434

13434:                                            ; preds = %13433
  br label %13435

13435:                                            ; preds = %13434
  br label %13436

13436:                                            ; preds = %13435
  %13437 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %13437, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %13438 = call ptr @__errno_location() #12
  store i32 0, ptr %13438, align 4, !tbaa !5
  br label %13439

13439:                                            ; preds = %13436
  br label %13440

13440:                                            ; preds = %13439
  br label %13441

13441:                                            ; preds = %13440
  br label %13442

13442:                                            ; preds = %13441
  br label %13443

13443:                                            ; preds = %13442
  %13444 = load i32, ptr @test_count, align 4, !tbaa !5
  %13445 = add nsw i32 %13444, 1
  store i32 %13445, ptr @test_count, align 4, !tbaa !5
  %13446 = getelementptr inbounds %struct.s2n_test_ktls_io_fail_ctx, ptr %399, i32 0, i32 1
  %13447 = load i64, ptr %13446, align 8, !tbaa !56
  %13448 = icmp eq i64 %13447, 1
  br i1 %13448, label %13502, label %13449

13449:                                            ; preds = %13443
  br label %13450

13450:                                            ; preds = %13449
  br label %13451

13451:                                            ; preds = %13450
  call void @llvm.lifetime.start.p0(i64 4, ptr %407) #11
  %13452 = call ptr @__errno_location() #12
  %13453 = load i32, ptr %13452, align 4, !tbaa !5
  store i32 %13453, ptr %407, align 4, !tbaa !5
  %13454 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13455 = call i32 @s2n_print_stacktrace(ptr noundef %13454)
  %13456 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13457 = trunc i8 %13456 to i1
  br i1 %13457, label %13458, label %13480

13458:                                            ; preds = %13451
  %13459 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13460 = call i32 @fileno(ptr noundef %13459) #11
  %13461 = call i32 @isatty(i32 noundef %13460) #11
  %13462 = icmp ne i32 %13461, 0
  br i1 %13462, label %13463, label %13480

13463:                                            ; preds = %13458
  %13464 = load i32, ptr %407, align 4, !tbaa !5
  %13465 = call ptr @__errno_location() #12
  store i32 %13464, ptr %13465, align 4, !tbaa !5
  %13466 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13467 = load i32, ptr @test_count, align 4, !tbaa !5
  %13468 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13469 = load i32, ptr %13468, align 4, !tbaa !5
  %13470 = call ptr @s2n_strerror(i32 noundef %13469, ptr noundef @.str.5)
  %13471 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13472 = load i32, ptr %13471, align 4, !tbaa !5
  %13473 = call ptr @s2n_strerror_debug(i32 noundef %13472, ptr noundef @.str.5)
  %13474 = call ptr @__errno_location() #12
  %13475 = load i32, ptr %13474, align 4, !tbaa !5
  %13476 = call ptr @strerror(i32 noundef %13475) #11
  %13477 = call ptr @__errno_location() #12
  %13478 = load i32, ptr %13477, align 4, !tbaa !5
  %13479 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13466, ptr noundef @.str.3, i32 noundef %13467, ptr noundef @.str.46, ptr noundef @.str.2, i32 noundef 639, ptr noundef %13470, ptr noundef %13473, ptr noundef %13476, i32 noundef %13478) #11
  br label %13497

13480:                                            ; preds = %13458, %13451
  %13481 = load i32, ptr %407, align 4, !tbaa !5
  %13482 = call ptr @__errno_location() #12
  store i32 %13481, ptr %13482, align 4, !tbaa !5
  %13483 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13484 = load i32, ptr @test_count, align 4, !tbaa !5
  %13485 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13486 = load i32, ptr %13485, align 4, !tbaa !5
  %13487 = call ptr @s2n_strerror(i32 noundef %13486, ptr noundef @.str.5)
  %13488 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13489 = load i32, ptr %13488, align 4, !tbaa !5
  %13490 = call ptr @s2n_strerror_debug(i32 noundef %13489, ptr noundef @.str.5)
  %13491 = call ptr @__errno_location() #12
  %13492 = load i32, ptr %13491, align 4, !tbaa !5
  %13493 = call ptr @strerror(i32 noundef %13492) #11
  %13494 = call ptr @__errno_location() #12
  %13495 = load i32, ptr %13494, align 4, !tbaa !5
  %13496 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13483, ptr noundef @.str.6, i32 noundef %13484, ptr noundef @.str.46, ptr noundef @.str.2, i32 noundef 639, ptr noundef %13487, ptr noundef %13490, ptr noundef %13493, i32 noundef %13495) #11
  br label %13497

13497:                                            ; preds = %13480, %13463
  call void @llvm.lifetime.end.p0(i64 4, ptr %407) #11
  br label %13498

13498:                                            ; preds = %13497
  br label %13499

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

13500:                                            ; No predecessors!
  br label %13501

13501:                                            ; preds = %13500
  br label %13502

13502:                                            ; preds = %13501, %13443
  br label %13503

13503:                                            ; preds = %13502
  br label %13504

13504:                                            ; preds = %13503
  br label %13505

13505:                                            ; preds = %13504
  %13506 = load i32, ptr @test_count, align 4, !tbaa !5
  %13507 = add nsw i32 %13506, 1
  store i32 %13507, ptr @test_count, align 4, !tbaa !5
  %13508 = load i32, ptr %403, align 4, !tbaa !5
  %13509 = icmp eq i32 %13508, 2
  br i1 %13509, label %13563, label %13510

13510:                                            ; preds = %13505
  br label %13511

13511:                                            ; preds = %13510
  br label %13512

13512:                                            ; preds = %13511
  call void @llvm.lifetime.start.p0(i64 4, ptr %408) #11
  %13513 = call ptr @__errno_location() #12
  %13514 = load i32, ptr %13513, align 4, !tbaa !5
  store i32 %13514, ptr %408, align 4, !tbaa !5
  %13515 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13516 = call i32 @s2n_print_stacktrace(ptr noundef %13515)
  %13517 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13518 = trunc i8 %13517 to i1
  br i1 %13518, label %13519, label %13541

13519:                                            ; preds = %13512
  %13520 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13521 = call i32 @fileno(ptr noundef %13520) #11
  %13522 = call i32 @isatty(i32 noundef %13521) #11
  %13523 = icmp ne i32 %13522, 0
  br i1 %13523, label %13524, label %13541

13524:                                            ; preds = %13519
  %13525 = load i32, ptr %408, align 4, !tbaa !5
  %13526 = call ptr @__errno_location() #12
  store i32 %13525, ptr %13526, align 4, !tbaa !5
  %13527 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13528 = load i32, ptr @test_count, align 4, !tbaa !5
  %13529 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13530 = load i32, ptr %13529, align 4, !tbaa !5
  %13531 = call ptr @s2n_strerror(i32 noundef %13530, ptr noundef @.str.5)
  %13532 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13533 = load i32, ptr %13532, align 4, !tbaa !5
  %13534 = call ptr @s2n_strerror_debug(i32 noundef %13533, ptr noundef @.str.5)
  %13535 = call ptr @__errno_location() #12
  %13536 = load i32, ptr %13535, align 4, !tbaa !5
  %13537 = call ptr @strerror(i32 noundef %13536) #11
  %13538 = call ptr @__errno_location() #12
  %13539 = load i32, ptr %13538, align 4, !tbaa !5
  %13540 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13527, ptr noundef @.str.3, i32 noundef %13528, ptr noundef @.str.42, ptr noundef @.str.2, i32 noundef 640, ptr noundef %13531, ptr noundef %13534, ptr noundef %13537, i32 noundef %13539) #11
  br label %13558

13541:                                            ; preds = %13519, %13512
  %13542 = load i32, ptr %408, align 4, !tbaa !5
  %13543 = call ptr @__errno_location() #12
  store i32 %13542, ptr %13543, align 4, !tbaa !5
  %13544 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13545 = load i32, ptr @test_count, align 4, !tbaa !5
  %13546 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13547 = load i32, ptr %13546, align 4, !tbaa !5
  %13548 = call ptr @s2n_strerror(i32 noundef %13547, ptr noundef @.str.5)
  %13549 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13550 = load i32, ptr %13549, align 4, !tbaa !5
  %13551 = call ptr @s2n_strerror_debug(i32 noundef %13550, ptr noundef @.str.5)
  %13552 = call ptr @__errno_location() #12
  %13553 = load i32, ptr %13552, align 4, !tbaa !5
  %13554 = call ptr @strerror(i32 noundef %13553) #11
  %13555 = call ptr @__errno_location() #12
  %13556 = load i32, ptr %13555, align 4, !tbaa !5
  %13557 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13544, ptr noundef @.str.6, i32 noundef %13545, ptr noundef @.str.42, ptr noundef @.str.2, i32 noundef 640, ptr noundef %13548, ptr noundef %13551, ptr noundef %13554, i32 noundef %13556) #11
  br label %13558

13558:                                            ; preds = %13541, %13524
  call void @llvm.lifetime.end.p0(i64 4, ptr %408) #11
  br label %13559

13559:                                            ; preds = %13558
  br label %13560

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

13561:                                            ; No predecessors!
  br label %13562

13562:                                            ; preds = %13561
  br label %13563

13563:                                            ; preds = %13562, %13505
  br label %13564

13564:                                            ; preds = %13563
  br label %13565

13565:                                            ; preds = %13564
  call void @llvm.lifetime.end.p0(i64 4, ptr %403) #11
  call void @llvm.lifetime.end.p0(i64 16, ptr %402) #11
  call void @llvm.lifetime.end.p0(i64 16, ptr %399) #11
  %13566 = call i32 @s2n_connection_ptr_free(ptr noundef %397)
  %13567 = getelementptr inbounds %struct.s2n_result, ptr %409, i32 0, i32 0
  store i32 %13566, ptr %13567, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %397) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %410) #11
  %13568 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %13568, ptr %410, align 8, !tbaa !9
  br label %13569

13569:                                            ; preds = %13565
  %13570 = load i32, ptr @test_count, align 4, !tbaa !5
  %13571 = add nsw i32 %13570, 1
  store i32 %13571, ptr @test_count, align 4, !tbaa !5
  %13572 = load ptr, ptr %410, align 8, !tbaa !9
  %13573 = icmp eq ptr %13572, null
  br i1 %13573, label %13574, label %13627

13574:                                            ; preds = %13569
  br label %13575

13575:                                            ; preds = %13574
  br label %13576

13576:                                            ; preds = %13575
  call void @llvm.lifetime.start.p0(i64 4, ptr %411) #11
  %13577 = call ptr @__errno_location() #12
  %13578 = load i32, ptr %13577, align 4, !tbaa !5
  store i32 %13578, ptr %411, align 4, !tbaa !5
  %13579 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13580 = call i32 @s2n_print_stacktrace(ptr noundef %13579)
  %13581 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13582 = trunc i8 %13581 to i1
  br i1 %13582, label %13583, label %13605

13583:                                            ; preds = %13576
  %13584 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13585 = call i32 @fileno(ptr noundef %13584) #11
  %13586 = call i32 @isatty(i32 noundef %13585) #11
  %13587 = icmp ne i32 %13586, 0
  br i1 %13587, label %13588, label %13605

13588:                                            ; preds = %13583
  %13589 = load i32, ptr %411, align 4, !tbaa !5
  %13590 = call ptr @__errno_location() #12
  store i32 %13589, ptr %13590, align 4, !tbaa !5
  %13591 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13592 = load i32, ptr @test_count, align 4, !tbaa !5
  %13593 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13594 = load i32, ptr %13593, align 4, !tbaa !5
  %13595 = call ptr @s2n_strerror(i32 noundef %13594, ptr noundef @.str.5)
  %13596 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13597 = load i32, ptr %13596, align 4, !tbaa !5
  %13598 = call ptr @s2n_strerror_debug(i32 noundef %13597, ptr noundef @.str.5)
  %13599 = call ptr @__errno_location() #12
  %13600 = load i32, ptr %13599, align 4, !tbaa !5
  %13601 = call ptr @strerror(i32 noundef %13600) #11
  %13602 = call ptr @__errno_location() #12
  %13603 = load i32, ptr %13602, align 4, !tbaa !5
  %13604 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13591, ptr noundef @.str.3, i32 noundef %13592, ptr noundef @.str.79, ptr noundef @.str.2, i32 noundef 647, ptr noundef %13595, ptr noundef %13598, ptr noundef %13601, i32 noundef %13603) #11
  br label %13622

13605:                                            ; preds = %13583, %13576
  %13606 = load i32, ptr %411, align 4, !tbaa !5
  %13607 = call ptr @__errno_location() #12
  store i32 %13606, ptr %13607, align 4, !tbaa !5
  %13608 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13609 = load i32, ptr @test_count, align 4, !tbaa !5
  %13610 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13611 = load i32, ptr %13610, align 4, !tbaa !5
  %13612 = call ptr @s2n_strerror(i32 noundef %13611, ptr noundef @.str.5)
  %13613 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13614 = load i32, ptr %13613, align 4, !tbaa !5
  %13615 = call ptr @s2n_strerror_debug(i32 noundef %13614, ptr noundef @.str.5)
  %13616 = call ptr @__errno_location() #12
  %13617 = load i32, ptr %13616, align 4, !tbaa !5
  %13618 = call ptr @strerror(i32 noundef %13617) #11
  %13619 = call ptr @__errno_location() #12
  %13620 = load i32, ptr %13619, align 4, !tbaa !5
  %13621 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13608, ptr noundef @.str.6, i32 noundef %13609, ptr noundef @.str.79, ptr noundef @.str.2, i32 noundef 647, ptr noundef %13612, ptr noundef %13615, ptr noundef %13618, i32 noundef %13620) #11
  br label %13622

13622:                                            ; preds = %13605, %13588
  call void @llvm.lifetime.end.p0(i64 4, ptr %411) #11
  br label %13623

13623:                                            ; preds = %13622
  br label %13624

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

13625:                                            ; No predecessors!
  br label %13626

13626:                                            ; preds = %13625
  br label %13627

13627:                                            ; preds = %13626, %13569
  br label %13628

13628:                                            ; preds = %13627
  br label %13629

13629:                                            ; preds = %13628
  call void @llvm.lifetime.start.p0(i64 96, ptr %412) #11
  call void @llvm.memset.p0.i64(ptr align 8 %412, i8 0, i64 96, i1 false)
  br label %13630

13630:                                            ; preds = %13629
  %13631 = load i32, ptr @test_count, align 4, !tbaa !5
  %13632 = add nsw i32 %13631, 1
  store i32 %13632, ptr @test_count, align 4, !tbaa !5
  %13633 = load ptr, ptr %410, align 8, !tbaa !9
  %13634 = call i32 @s2n_test_init_ktls_io_stuffer_send(ptr noundef %13633, ptr noundef %412)
  %13635 = getelementptr inbounds %struct.s2n_result, ptr %413, i32 0, i32 0
  store i32 %13634, ptr %13635, align 4
  %13636 = getelementptr inbounds %struct.s2n_result, ptr %413, i32 0, i32 0
  %13637 = load i32, ptr %13636, align 4
  %13638 = call zeroext i1 @s2n_result_is_ok(i32 %13637)
  br i1 %13638, label %13692, label %13639

13639:                                            ; preds = %13630
  br label %13640

13640:                                            ; preds = %13639
  br label %13641

13641:                                            ; preds = %13640
  call void @llvm.lifetime.start.p0(i64 4, ptr %414) #11
  %13642 = call ptr @__errno_location() #12
  %13643 = load i32, ptr %13642, align 4, !tbaa !5
  store i32 %13643, ptr %414, align 4, !tbaa !5
  %13644 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13645 = call i32 @s2n_print_stacktrace(ptr noundef %13644)
  %13646 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13647 = trunc i8 %13646 to i1
  br i1 %13647, label %13648, label %13670

13648:                                            ; preds = %13641
  %13649 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13650 = call i32 @fileno(ptr noundef %13649) #11
  %13651 = call i32 @isatty(i32 noundef %13650) #11
  %13652 = icmp ne i32 %13651, 0
  br i1 %13652, label %13653, label %13670

13653:                                            ; preds = %13648
  %13654 = load i32, ptr %414, align 4, !tbaa !5
  %13655 = call ptr @__errno_location() #12
  store i32 %13654, ptr %13655, align 4, !tbaa !5
  %13656 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13657 = load i32, ptr @test_count, align 4, !tbaa !5
  %13658 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13659 = load i32, ptr %13658, align 4, !tbaa !5
  %13660 = call ptr @s2n_strerror(i32 noundef %13659, ptr noundef @.str.5)
  %13661 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13662 = load i32, ptr %13661, align 4, !tbaa !5
  %13663 = call ptr @s2n_strerror_debug(i32 noundef %13662, ptr noundef @.str.5)
  %13664 = call ptr @__errno_location() #12
  %13665 = load i32, ptr %13664, align 4, !tbaa !5
  %13666 = call ptr @strerror(i32 noundef %13665) #11
  %13667 = call ptr @__errno_location() #12
  %13668 = load i32, ptr %13667, align 4, !tbaa !5
  %13669 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13656, ptr noundef @.str.3, i32 noundef %13657, ptr noundef @.str.80, ptr noundef @.str.2, i32 noundef 651, ptr noundef %13660, ptr noundef %13663, ptr noundef %13666, i32 noundef %13668) #11
  br label %13687

13670:                                            ; preds = %13648, %13641
  %13671 = load i32, ptr %414, align 4, !tbaa !5
  %13672 = call ptr @__errno_location() #12
  store i32 %13671, ptr %13672, align 4, !tbaa !5
  %13673 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13674 = load i32, ptr @test_count, align 4, !tbaa !5
  %13675 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13676 = load i32, ptr %13675, align 4, !tbaa !5
  %13677 = call ptr @s2n_strerror(i32 noundef %13676, ptr noundef @.str.5)
  %13678 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13679 = load i32, ptr %13678, align 4, !tbaa !5
  %13680 = call ptr @s2n_strerror_debug(i32 noundef %13679, ptr noundef @.str.5)
  %13681 = call ptr @__errno_location() #12
  %13682 = load i32, ptr %13681, align 4, !tbaa !5
  %13683 = call ptr @strerror(i32 noundef %13682) #11
  %13684 = call ptr @__errno_location() #12
  %13685 = load i32, ptr %13684, align 4, !tbaa !5
  %13686 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13673, ptr noundef @.str.6, i32 noundef %13674, ptr noundef @.str.80, ptr noundef @.str.2, i32 noundef 651, ptr noundef %13677, ptr noundef %13680, ptr noundef %13683, i32 noundef %13685) #11
  br label %13687

13687:                                            ; preds = %13670, %13653
  call void @llvm.lifetime.end.p0(i64 4, ptr %414) #11
  br label %13688

13688:                                            ; preds = %13687
  br label %13689

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

13690:                                            ; No predecessors!
  br label %13691

13691:                                            ; preds = %13690
  br label %13692

13692:                                            ; preds = %13691, %13630
  br label %13693

13693:                                            ; preds = %13692
  br label %13694

13694:                                            ; preds = %13693
  call void @llvm.lifetime.start.p0(i64 4, ptr %415) #11
  store i32 0, ptr %415, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %416) #11
  %13695 = getelementptr inbounds %struct.iovec, ptr %416, i32 0, i32 0
  %13696 = getelementptr inbounds [16384 x i8], ptr %10, i64 0, i64 0
  store ptr %13696, ptr %13695, align 8, !tbaa !16
  %13697 = getelementptr inbounds %struct.iovec, ptr %416, i32 0, i32 1
  store i64 0, ptr %13697, align 8, !tbaa !19
  br label %13698

13698:                                            ; preds = %13694
  %13699 = load i32, ptr @test_count, align 4, !tbaa !5
  %13700 = add nsw i32 %13699, 1
  store i32 %13700, ptr @test_count, align 4, !tbaa !5
  %13701 = load ptr, ptr %410, align 8, !tbaa !9
  %13702 = call i64 @s2n_ktls_sendv_with_offset(ptr noundef %13701, ptr noundef null, i64 noundef 0, i64 noundef 0, ptr noundef %415)
  %13703 = icmp eq i64 %13702, 0
  br i1 %13703, label %13757, label %13704

13704:                                            ; preds = %13698
  br label %13705

13705:                                            ; preds = %13704
  br label %13706

13706:                                            ; preds = %13705
  call void @llvm.lifetime.start.p0(i64 4, ptr %417) #11
  %13707 = call ptr @__errno_location() #12
  %13708 = load i32, ptr %13707, align 4, !tbaa !5
  store i32 %13708, ptr %417, align 4, !tbaa !5
  %13709 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13710 = call i32 @s2n_print_stacktrace(ptr noundef %13709)
  %13711 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13712 = trunc i8 %13711 to i1
  br i1 %13712, label %13713, label %13735

13713:                                            ; preds = %13706
  %13714 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13715 = call i32 @fileno(ptr noundef %13714) #11
  %13716 = call i32 @isatty(i32 noundef %13715) #11
  %13717 = icmp ne i32 %13716, 0
  br i1 %13717, label %13718, label %13735

13718:                                            ; preds = %13713
  %13719 = load i32, ptr %417, align 4, !tbaa !5
  %13720 = call ptr @__errno_location() #12
  store i32 %13719, ptr %13720, align 4, !tbaa !5
  %13721 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13722 = load i32, ptr @test_count, align 4, !tbaa !5
  %13723 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13724 = load i32, ptr %13723, align 4, !tbaa !5
  %13725 = call ptr @s2n_strerror(i32 noundef %13724, ptr noundef @.str.5)
  %13726 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13727 = load i32, ptr %13726, align 4, !tbaa !5
  %13728 = call ptr @s2n_strerror_debug(i32 noundef %13727, ptr noundef @.str.5)
  %13729 = call ptr @__errno_location() #12
  %13730 = load i32, ptr %13729, align 4, !tbaa !5
  %13731 = call ptr @strerror(i32 noundef %13730) #11
  %13732 = call ptr @__errno_location() #12
  %13733 = load i32, ptr %13732, align 4, !tbaa !5
  %13734 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13721, ptr noundef @.str.3, i32 noundef %13722, ptr noundef @.str.88, ptr noundef @.str.2, i32 noundef 660, ptr noundef %13725, ptr noundef %13728, ptr noundef %13731, i32 noundef %13733) #11
  br label %13752

13735:                                            ; preds = %13713, %13706
  %13736 = load i32, ptr %417, align 4, !tbaa !5
  %13737 = call ptr @__errno_location() #12
  store i32 %13736, ptr %13737, align 4, !tbaa !5
  %13738 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13739 = load i32, ptr @test_count, align 4, !tbaa !5
  %13740 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13741 = load i32, ptr %13740, align 4, !tbaa !5
  %13742 = call ptr @s2n_strerror(i32 noundef %13741, ptr noundef @.str.5)
  %13743 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13744 = load i32, ptr %13743, align 4, !tbaa !5
  %13745 = call ptr @s2n_strerror_debug(i32 noundef %13744, ptr noundef @.str.5)
  %13746 = call ptr @__errno_location() #12
  %13747 = load i32, ptr %13746, align 4, !tbaa !5
  %13748 = call ptr @strerror(i32 noundef %13747) #11
  %13749 = call ptr @__errno_location() #12
  %13750 = load i32, ptr %13749, align 4, !tbaa !5
  %13751 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13738, ptr noundef @.str.6, i32 noundef %13739, ptr noundef @.str.88, ptr noundef @.str.2, i32 noundef 660, ptr noundef %13742, ptr noundef %13745, ptr noundef %13748, i32 noundef %13750) #11
  br label %13752

13752:                                            ; preds = %13735, %13718
  call void @llvm.lifetime.end.p0(i64 4, ptr %417) #11
  br label %13753

13753:                                            ; preds = %13752
  br label %13754

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

13755:                                            ; No predecessors!
  br label %13756

13756:                                            ; preds = %13755
  br label %13757

13757:                                            ; preds = %13756, %13698
  br label %13758

13758:                                            ; preds = %13757
  br label %13759

13759:                                            ; preds = %13758
  br label %13760

13760:                                            ; preds = %13759
  %13761 = load i32, ptr @test_count, align 4, !tbaa !5
  %13762 = add nsw i32 %13761, 1
  store i32 %13762, ptr @test_count, align 4, !tbaa !5
  %13763 = getelementptr inbounds %struct.s2n_test_ktls_io_stuffer, ptr %412, i32 0, i32 2
  %13764 = load i64, ptr %13763, align 8, !tbaa !47
  %13765 = icmp eq i64 %13764, 1
  br i1 %13765, label %13819, label %13766

13766:                                            ; preds = %13760
  br label %13767

13767:                                            ; preds = %13766
  br label %13768

13768:                                            ; preds = %13767
  call void @llvm.lifetime.start.p0(i64 4, ptr %418) #11
  %13769 = call ptr @__errno_location() #12
  %13770 = load i32, ptr %13769, align 4, !tbaa !5
  store i32 %13770, ptr %418, align 4, !tbaa !5
  %13771 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13772 = call i32 @s2n_print_stacktrace(ptr noundef %13771)
  %13773 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13774 = trunc i8 %13773 to i1
  br i1 %13774, label %13775, label %13797

13775:                                            ; preds = %13768
  %13776 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13777 = call i32 @fileno(ptr noundef %13776) #11
  %13778 = call i32 @isatty(i32 noundef %13777) #11
  %13779 = icmp ne i32 %13778, 0
  br i1 %13779, label %13780, label %13797

13780:                                            ; preds = %13775
  %13781 = load i32, ptr %418, align 4, !tbaa !5
  %13782 = call ptr @__errno_location() #12
  store i32 %13781, ptr %13782, align 4, !tbaa !5
  %13783 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13784 = load i32, ptr @test_count, align 4, !tbaa !5
  %13785 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13786 = load i32, ptr %13785, align 4, !tbaa !5
  %13787 = call ptr @s2n_strerror(i32 noundef %13786, ptr noundef @.str.5)
  %13788 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13789 = load i32, ptr %13788, align 4, !tbaa !5
  %13790 = call ptr @s2n_strerror_debug(i32 noundef %13789, ptr noundef @.str.5)
  %13791 = call ptr @__errno_location() #12
  %13792 = load i32, ptr %13791, align 4, !tbaa !5
  %13793 = call ptr @strerror(i32 noundef %13792) #11
  %13794 = call ptr @__errno_location() #12
  %13795 = load i32, ptr %13794, align 4, !tbaa !5
  %13796 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13783, ptr noundef @.str.3, i32 noundef %13784, ptr noundef @.str.82, ptr noundef @.str.2, i32 noundef 661, ptr noundef %13787, ptr noundef %13790, ptr noundef %13793, i32 noundef %13795) #11
  br label %13814

13797:                                            ; preds = %13775, %13768
  %13798 = load i32, ptr %418, align 4, !tbaa !5
  %13799 = call ptr @__errno_location() #12
  store i32 %13798, ptr %13799, align 4, !tbaa !5
  %13800 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13801 = load i32, ptr @test_count, align 4, !tbaa !5
  %13802 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13803 = load i32, ptr %13802, align 4, !tbaa !5
  %13804 = call ptr @s2n_strerror(i32 noundef %13803, ptr noundef @.str.5)
  %13805 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13806 = load i32, ptr %13805, align 4, !tbaa !5
  %13807 = call ptr @s2n_strerror_debug(i32 noundef %13806, ptr noundef @.str.5)
  %13808 = call ptr @__errno_location() #12
  %13809 = load i32, ptr %13808, align 4, !tbaa !5
  %13810 = call ptr @strerror(i32 noundef %13809) #11
  %13811 = call ptr @__errno_location() #12
  %13812 = load i32, ptr %13811, align 4, !tbaa !5
  %13813 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13800, ptr noundef @.str.6, i32 noundef %13801, ptr noundef @.str.82, ptr noundef @.str.2, i32 noundef 661, ptr noundef %13804, ptr noundef %13807, ptr noundef %13810, i32 noundef %13812) #11
  br label %13814

13814:                                            ; preds = %13797, %13780
  call void @llvm.lifetime.end.p0(i64 4, ptr %418) #11
  br label %13815

13815:                                            ; preds = %13814
  br label %13816

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

13817:                                            ; No predecessors!
  br label %13818

13818:                                            ; preds = %13817
  br label %13819

13819:                                            ; preds = %13818, %13760
  br label %13820

13820:                                            ; preds = %13819
  br label %13821

13821:                                            ; preds = %13820
  br label %13822

13822:                                            ; preds = %13821
  %13823 = load i32, ptr @test_count, align 4, !tbaa !5
  %13824 = add nsw i32 %13823, 1
  store i32 %13824, ptr @test_count, align 4, !tbaa !5
  %13825 = load i32, ptr %415, align 4, !tbaa !5
  %13826 = icmp eq i32 %13825, 0
  br i1 %13826, label %13880, label %13827

13827:                                            ; preds = %13822
  br label %13828

13828:                                            ; preds = %13827
  br label %13829

13829:                                            ; preds = %13828
  call void @llvm.lifetime.start.p0(i64 4, ptr %419) #11
  %13830 = call ptr @__errno_location() #12
  %13831 = load i32, ptr %13830, align 4, !tbaa !5
  store i32 %13831, ptr %419, align 4, !tbaa !5
  %13832 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13833 = call i32 @s2n_print_stacktrace(ptr noundef %13832)
  %13834 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13835 = trunc i8 %13834 to i1
  br i1 %13835, label %13836, label %13858

13836:                                            ; preds = %13829
  %13837 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13838 = call i32 @fileno(ptr noundef %13837) #11
  %13839 = call i32 @isatty(i32 noundef %13838) #11
  %13840 = icmp ne i32 %13839, 0
  br i1 %13840, label %13841, label %13858

13841:                                            ; preds = %13836
  %13842 = load i32, ptr %419, align 4, !tbaa !5
  %13843 = call ptr @__errno_location() #12
  store i32 %13842, ptr %13843, align 4, !tbaa !5
  %13844 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13845 = load i32, ptr @test_count, align 4, !tbaa !5
  %13846 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13847 = load i32, ptr %13846, align 4, !tbaa !5
  %13848 = call ptr @s2n_strerror(i32 noundef %13847, ptr noundef @.str.5)
  %13849 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13850 = load i32, ptr %13849, align 4, !tbaa !5
  %13851 = call ptr @s2n_strerror_debug(i32 noundef %13850, ptr noundef @.str.5)
  %13852 = call ptr @__errno_location() #12
  %13853 = load i32, ptr %13852, align 4, !tbaa !5
  %13854 = call ptr @strerror(i32 noundef %13853) #11
  %13855 = call ptr @__errno_location() #12
  %13856 = load i32, ptr %13855, align 4, !tbaa !5
  %13857 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13844, ptr noundef @.str.3, i32 noundef %13845, ptr noundef @.str.31, ptr noundef @.str.2, i32 noundef 662, ptr noundef %13848, ptr noundef %13851, ptr noundef %13854, i32 noundef %13856) #11
  br label %13875

13858:                                            ; preds = %13836, %13829
  %13859 = load i32, ptr %419, align 4, !tbaa !5
  %13860 = call ptr @__errno_location() #12
  store i32 %13859, ptr %13860, align 4, !tbaa !5
  %13861 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13862 = load i32, ptr @test_count, align 4, !tbaa !5
  %13863 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13864 = load i32, ptr %13863, align 4, !tbaa !5
  %13865 = call ptr @s2n_strerror(i32 noundef %13864, ptr noundef @.str.5)
  %13866 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13867 = load i32, ptr %13866, align 4, !tbaa !5
  %13868 = call ptr @s2n_strerror_debug(i32 noundef %13867, ptr noundef @.str.5)
  %13869 = call ptr @__errno_location() #12
  %13870 = load i32, ptr %13869, align 4, !tbaa !5
  %13871 = call ptr @strerror(i32 noundef %13870) #11
  %13872 = call ptr @__errno_location() #12
  %13873 = load i32, ptr %13872, align 4, !tbaa !5
  %13874 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13861, ptr noundef @.str.6, i32 noundef %13862, ptr noundef @.str.31, ptr noundef @.str.2, i32 noundef 662, ptr noundef %13865, ptr noundef %13868, ptr noundef %13871, i32 noundef %13873) #11
  br label %13875

13875:                                            ; preds = %13858, %13841
  call void @llvm.lifetime.end.p0(i64 4, ptr %419) #11
  br label %13876

13876:                                            ; preds = %13875
  br label %13877

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

13878:                                            ; No predecessors!
  br label %13879

13879:                                            ; preds = %13878
  br label %13880

13880:                                            ; preds = %13879, %13822
  br label %13881

13881:                                            ; preds = %13880
  br label %13882

13882:                                            ; preds = %13881
  br label %13883

13883:                                            ; preds = %13882
  %13884 = load i32, ptr @test_count, align 4, !tbaa !5
  %13885 = add nsw i32 %13884, 1
  store i32 %13885, ptr @test_count, align 4, !tbaa !5
  %13886 = call i32 @s2n_test_records_in_ancillary(ptr noundef %412, i16 noundef zeroext 0)
  %13887 = getelementptr inbounds %struct.s2n_result, ptr %420, i32 0, i32 0
  store i32 %13886, ptr %13887, align 4
  %13888 = getelementptr inbounds %struct.s2n_result, ptr %420, i32 0, i32 0
  %13889 = load i32, ptr %13888, align 4
  %13890 = call zeroext i1 @s2n_result_is_ok(i32 %13889)
  br i1 %13890, label %13944, label %13891

13891:                                            ; preds = %13883
  br label %13892

13892:                                            ; preds = %13891
  br label %13893

13893:                                            ; preds = %13892
  call void @llvm.lifetime.start.p0(i64 4, ptr %421) #11
  %13894 = call ptr @__errno_location() #12
  %13895 = load i32, ptr %13894, align 4, !tbaa !5
  store i32 %13895, ptr %421, align 4, !tbaa !5
  %13896 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13897 = call i32 @s2n_print_stacktrace(ptr noundef %13896)
  %13898 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13899 = trunc i8 %13898 to i1
  br i1 %13899, label %13900, label %13922

13900:                                            ; preds = %13893
  %13901 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13902 = call i32 @fileno(ptr noundef %13901) #11
  %13903 = call i32 @isatty(i32 noundef %13902) #11
  %13904 = icmp ne i32 %13903, 0
  br i1 %13904, label %13905, label %13922

13905:                                            ; preds = %13900
  %13906 = load i32, ptr %421, align 4, !tbaa !5
  %13907 = call ptr @__errno_location() #12
  store i32 %13906, ptr %13907, align 4, !tbaa !5
  %13908 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13909 = load i32, ptr @test_count, align 4, !tbaa !5
  %13910 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13911 = load i32, ptr %13910, align 4, !tbaa !5
  %13912 = call ptr @s2n_strerror(i32 noundef %13911, ptr noundef @.str.5)
  %13913 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13914 = load i32, ptr %13913, align 4, !tbaa !5
  %13915 = call ptr @s2n_strerror_debug(i32 noundef %13914, ptr noundef @.str.5)
  %13916 = call ptr @__errno_location() #12
  %13917 = load i32, ptr %13916, align 4, !tbaa !5
  %13918 = call ptr @strerror(i32 noundef %13917) #11
  %13919 = call ptr @__errno_location() #12
  %13920 = load i32, ptr %13919, align 4, !tbaa !5
  %13921 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13908, ptr noundef @.str.3, i32 noundef %13909, ptr noundef @.str.89, ptr noundef @.str.2, i32 noundef 663, ptr noundef %13912, ptr noundef %13915, ptr noundef %13918, i32 noundef %13920) #11
  br label %13939

13922:                                            ; preds = %13900, %13893
  %13923 = load i32, ptr %421, align 4, !tbaa !5
  %13924 = call ptr @__errno_location() #12
  store i32 %13923, ptr %13924, align 4, !tbaa !5
  %13925 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13926 = load i32, ptr @test_count, align 4, !tbaa !5
  %13927 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13928 = load i32, ptr %13927, align 4, !tbaa !5
  %13929 = call ptr @s2n_strerror(i32 noundef %13928, ptr noundef @.str.5)
  %13930 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13931 = load i32, ptr %13930, align 4, !tbaa !5
  %13932 = call ptr @s2n_strerror_debug(i32 noundef %13931, ptr noundef @.str.5)
  %13933 = call ptr @__errno_location() #12
  %13934 = load i32, ptr %13933, align 4, !tbaa !5
  %13935 = call ptr @strerror(i32 noundef %13934) #11
  %13936 = call ptr @__errno_location() #12
  %13937 = load i32, ptr %13936, align 4, !tbaa !5
  %13938 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13925, ptr noundef @.str.6, i32 noundef %13926, ptr noundef @.str.89, ptr noundef @.str.2, i32 noundef 663, ptr noundef %13929, ptr noundef %13932, ptr noundef %13935, i32 noundef %13937) #11
  br label %13939

13939:                                            ; preds = %13922, %13905
  call void @llvm.lifetime.end.p0(i64 4, ptr %421) #11
  br label %13940

13940:                                            ; preds = %13939
  br label %13941

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

13942:                                            ; No predecessors!
  br label %13943

13943:                                            ; preds = %13942
  br label %13944

13944:                                            ; preds = %13943, %13883
  br label %13945

13945:                                            ; preds = %13944
  br label %13946

13946:                                            ; preds = %13945
  br label %13947

13947:                                            ; preds = %13946
  %13948 = load i32, ptr @test_count, align 4, !tbaa !5
  %13949 = add nsw i32 %13948, 1
  store i32 %13949, ptr @test_count, align 4, !tbaa !5
  %13950 = load ptr, ptr %410, align 8, !tbaa !9
  %13951 = call i64 @s2n_ktls_sendv_with_offset(ptr noundef %13950, ptr noundef %416, i64 noundef 1, i64 noundef 0, ptr noundef %415)
  %13952 = icmp eq i64 %13951, 0
  br i1 %13952, label %14006, label %13953

13953:                                            ; preds = %13947
  br label %13954

13954:                                            ; preds = %13953
  br label %13955

13955:                                            ; preds = %13954
  call void @llvm.lifetime.start.p0(i64 4, ptr %422) #11
  %13956 = call ptr @__errno_location() #12
  %13957 = load i32, ptr %13956, align 4, !tbaa !5
  store i32 %13957, ptr %422, align 4, !tbaa !5
  %13958 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13959 = call i32 @s2n_print_stacktrace(ptr noundef %13958)
  %13960 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13961 = trunc i8 %13960 to i1
  br i1 %13961, label %13962, label %13984

13962:                                            ; preds = %13955
  %13963 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13964 = call i32 @fileno(ptr noundef %13963) #11
  %13965 = call i32 @isatty(i32 noundef %13964) #11
  %13966 = icmp ne i32 %13965, 0
  br i1 %13966, label %13967, label %13984

13967:                                            ; preds = %13962
  %13968 = load i32, ptr %422, align 4, !tbaa !5
  %13969 = call ptr @__errno_location() #12
  store i32 %13968, ptr %13969, align 4, !tbaa !5
  %13970 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13971 = load i32, ptr @test_count, align 4, !tbaa !5
  %13972 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13973 = load i32, ptr %13972, align 4, !tbaa !5
  %13974 = call ptr @s2n_strerror(i32 noundef %13973, ptr noundef @.str.5)
  %13975 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13976 = load i32, ptr %13975, align 4, !tbaa !5
  %13977 = call ptr @s2n_strerror_debug(i32 noundef %13976, ptr noundef @.str.5)
  %13978 = call ptr @__errno_location() #12
  %13979 = load i32, ptr %13978, align 4, !tbaa !5
  %13980 = call ptr @strerror(i32 noundef %13979) #11
  %13981 = call ptr @__errno_location() #12
  %13982 = load i32, ptr %13981, align 4, !tbaa !5
  %13983 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13970, ptr noundef @.str.3, i32 noundef %13971, ptr noundef @.str.90, ptr noundef @.str.2, i32 noundef 666, ptr noundef %13974, ptr noundef %13977, ptr noundef %13980, i32 noundef %13982) #11
  br label %14001

13984:                                            ; preds = %13962, %13955
  %13985 = load i32, ptr %422, align 4, !tbaa !5
  %13986 = call ptr @__errno_location() #12
  store i32 %13985, ptr %13986, align 4, !tbaa !5
  %13987 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13988 = load i32, ptr @test_count, align 4, !tbaa !5
  %13989 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13990 = load i32, ptr %13989, align 4, !tbaa !5
  %13991 = call ptr @s2n_strerror(i32 noundef %13990, ptr noundef @.str.5)
  %13992 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13993 = load i32, ptr %13992, align 4, !tbaa !5
  %13994 = call ptr @s2n_strerror_debug(i32 noundef %13993, ptr noundef @.str.5)
  %13995 = call ptr @__errno_location() #12
  %13996 = load i32, ptr %13995, align 4, !tbaa !5
  %13997 = call ptr @strerror(i32 noundef %13996) #11
  %13998 = call ptr @__errno_location() #12
  %13999 = load i32, ptr %13998, align 4, !tbaa !5
  %14000 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13987, ptr noundef @.str.6, i32 noundef %13988, ptr noundef @.str.90, ptr noundef @.str.2, i32 noundef 666, ptr noundef %13991, ptr noundef %13994, ptr noundef %13997, i32 noundef %13999) #11
  br label %14001

14001:                                            ; preds = %13984, %13967
  call void @llvm.lifetime.end.p0(i64 4, ptr %422) #11
  br label %14002

14002:                                            ; preds = %14001
  br label %14003

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

14004:                                            ; No predecessors!
  br label %14005

14005:                                            ; preds = %14004
  br label %14006

14006:                                            ; preds = %14005, %13947
  br label %14007

14007:                                            ; preds = %14006
  br label %14008

14008:                                            ; preds = %14007
  br label %14009

14009:                                            ; preds = %14008
  %14010 = load i32, ptr @test_count, align 4, !tbaa !5
  %14011 = add nsw i32 %14010, 1
  store i32 %14011, ptr @test_count, align 4, !tbaa !5
  %14012 = getelementptr inbounds %struct.s2n_test_ktls_io_stuffer, ptr %412, i32 0, i32 2
  %14013 = load i64, ptr %14012, align 8, !tbaa !47
  %14014 = icmp eq i64 %14013, 2
  br i1 %14014, label %14068, label %14015

14015:                                            ; preds = %14009
  br label %14016

14016:                                            ; preds = %14015
  br label %14017

14017:                                            ; preds = %14016
  call void @llvm.lifetime.start.p0(i64 4, ptr %423) #11
  %14018 = call ptr @__errno_location() #12
  %14019 = load i32, ptr %14018, align 4, !tbaa !5
  store i32 %14019, ptr %423, align 4, !tbaa !5
  %14020 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14021 = call i32 @s2n_print_stacktrace(ptr noundef %14020)
  %14022 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14023 = trunc i8 %14022 to i1
  br i1 %14023, label %14024, label %14046

14024:                                            ; preds = %14017
  %14025 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14026 = call i32 @fileno(ptr noundef %14025) #11
  %14027 = call i32 @isatty(i32 noundef %14026) #11
  %14028 = icmp ne i32 %14027, 0
  br i1 %14028, label %14029, label %14046

14029:                                            ; preds = %14024
  %14030 = load i32, ptr %423, align 4, !tbaa !5
  %14031 = call ptr @__errno_location() #12
  store i32 %14030, ptr %14031, align 4, !tbaa !5
  %14032 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14033 = load i32, ptr @test_count, align 4, !tbaa !5
  %14034 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14035 = load i32, ptr %14034, align 4, !tbaa !5
  %14036 = call ptr @s2n_strerror(i32 noundef %14035, ptr noundef @.str.5)
  %14037 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14038 = load i32, ptr %14037, align 4, !tbaa !5
  %14039 = call ptr @s2n_strerror_debug(i32 noundef %14038, ptr noundef @.str.5)
  %14040 = call ptr @__errno_location() #12
  %14041 = load i32, ptr %14040, align 4, !tbaa !5
  %14042 = call ptr @strerror(i32 noundef %14041) #11
  %14043 = call ptr @__errno_location() #12
  %14044 = load i32, ptr %14043, align 4, !tbaa !5
  %14045 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14032, ptr noundef @.str.3, i32 noundef %14033, ptr noundef @.str.91, ptr noundef @.str.2, i32 noundef 667, ptr noundef %14036, ptr noundef %14039, ptr noundef %14042, i32 noundef %14044) #11
  br label %14063

14046:                                            ; preds = %14024, %14017
  %14047 = load i32, ptr %423, align 4, !tbaa !5
  %14048 = call ptr @__errno_location() #12
  store i32 %14047, ptr %14048, align 4, !tbaa !5
  %14049 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14050 = load i32, ptr @test_count, align 4, !tbaa !5
  %14051 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14052 = load i32, ptr %14051, align 4, !tbaa !5
  %14053 = call ptr @s2n_strerror(i32 noundef %14052, ptr noundef @.str.5)
  %14054 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14055 = load i32, ptr %14054, align 4, !tbaa !5
  %14056 = call ptr @s2n_strerror_debug(i32 noundef %14055, ptr noundef @.str.5)
  %14057 = call ptr @__errno_location() #12
  %14058 = load i32, ptr %14057, align 4, !tbaa !5
  %14059 = call ptr @strerror(i32 noundef %14058) #11
  %14060 = call ptr @__errno_location() #12
  %14061 = load i32, ptr %14060, align 4, !tbaa !5
  %14062 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14049, ptr noundef @.str.6, i32 noundef %14050, ptr noundef @.str.91, ptr noundef @.str.2, i32 noundef 667, ptr noundef %14053, ptr noundef %14056, ptr noundef %14059, i32 noundef %14061) #11
  br label %14063

14063:                                            ; preds = %14046, %14029
  call void @llvm.lifetime.end.p0(i64 4, ptr %423) #11
  br label %14064

14064:                                            ; preds = %14063
  br label %14065

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

14066:                                            ; No predecessors!
  br label %14067

14067:                                            ; preds = %14066
  br label %14068

14068:                                            ; preds = %14067, %14009
  br label %14069

14069:                                            ; preds = %14068
  br label %14070

14070:                                            ; preds = %14069
  br label %14071

14071:                                            ; preds = %14070
  %14072 = load i32, ptr @test_count, align 4, !tbaa !5
  %14073 = add nsw i32 %14072, 1
  store i32 %14073, ptr @test_count, align 4, !tbaa !5
  %14074 = load i32, ptr %415, align 4, !tbaa !5
  %14075 = icmp eq i32 %14074, 0
  br i1 %14075, label %14129, label %14076

14076:                                            ; preds = %14071
  br label %14077

14077:                                            ; preds = %14076
  br label %14078

14078:                                            ; preds = %14077
  call void @llvm.lifetime.start.p0(i64 4, ptr %424) #11
  %14079 = call ptr @__errno_location() #12
  %14080 = load i32, ptr %14079, align 4, !tbaa !5
  store i32 %14080, ptr %424, align 4, !tbaa !5
  %14081 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14082 = call i32 @s2n_print_stacktrace(ptr noundef %14081)
  %14083 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14084 = trunc i8 %14083 to i1
  br i1 %14084, label %14085, label %14107

14085:                                            ; preds = %14078
  %14086 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14087 = call i32 @fileno(ptr noundef %14086) #11
  %14088 = call i32 @isatty(i32 noundef %14087) #11
  %14089 = icmp ne i32 %14088, 0
  br i1 %14089, label %14090, label %14107

14090:                                            ; preds = %14085
  %14091 = load i32, ptr %424, align 4, !tbaa !5
  %14092 = call ptr @__errno_location() #12
  store i32 %14091, ptr %14092, align 4, !tbaa !5
  %14093 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14094 = load i32, ptr @test_count, align 4, !tbaa !5
  %14095 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14096 = load i32, ptr %14095, align 4, !tbaa !5
  %14097 = call ptr @s2n_strerror(i32 noundef %14096, ptr noundef @.str.5)
  %14098 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14099 = load i32, ptr %14098, align 4, !tbaa !5
  %14100 = call ptr @s2n_strerror_debug(i32 noundef %14099, ptr noundef @.str.5)
  %14101 = call ptr @__errno_location() #12
  %14102 = load i32, ptr %14101, align 4, !tbaa !5
  %14103 = call ptr @strerror(i32 noundef %14102) #11
  %14104 = call ptr @__errno_location() #12
  %14105 = load i32, ptr %14104, align 4, !tbaa !5
  %14106 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14093, ptr noundef @.str.3, i32 noundef %14094, ptr noundef @.str.31, ptr noundef @.str.2, i32 noundef 668, ptr noundef %14097, ptr noundef %14100, ptr noundef %14103, i32 noundef %14105) #11
  br label %14124

14107:                                            ; preds = %14085, %14078
  %14108 = load i32, ptr %424, align 4, !tbaa !5
  %14109 = call ptr @__errno_location() #12
  store i32 %14108, ptr %14109, align 4, !tbaa !5
  %14110 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14111 = load i32, ptr @test_count, align 4, !tbaa !5
  %14112 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14113 = load i32, ptr %14112, align 4, !tbaa !5
  %14114 = call ptr @s2n_strerror(i32 noundef %14113, ptr noundef @.str.5)
  %14115 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14116 = load i32, ptr %14115, align 4, !tbaa !5
  %14117 = call ptr @s2n_strerror_debug(i32 noundef %14116, ptr noundef @.str.5)
  %14118 = call ptr @__errno_location() #12
  %14119 = load i32, ptr %14118, align 4, !tbaa !5
  %14120 = call ptr @strerror(i32 noundef %14119) #11
  %14121 = call ptr @__errno_location() #12
  %14122 = load i32, ptr %14121, align 4, !tbaa !5
  %14123 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14110, ptr noundef @.str.6, i32 noundef %14111, ptr noundef @.str.31, ptr noundef @.str.2, i32 noundef 668, ptr noundef %14114, ptr noundef %14117, ptr noundef %14120, i32 noundef %14122) #11
  br label %14124

14124:                                            ; preds = %14107, %14090
  call void @llvm.lifetime.end.p0(i64 4, ptr %424) #11
  br label %14125

14125:                                            ; preds = %14124
  br label %14126

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

14127:                                            ; No predecessors!
  br label %14128

14128:                                            ; preds = %14127
  br label %14129

14129:                                            ; preds = %14128, %14071
  br label %14130

14130:                                            ; preds = %14129
  br label %14131

14131:                                            ; preds = %14130
  br label %14132

14132:                                            ; preds = %14131
  %14133 = load i32, ptr @test_count, align 4, !tbaa !5
  %14134 = add nsw i32 %14133, 1
  store i32 %14134, ptr @test_count, align 4, !tbaa !5
  %14135 = call i32 @s2n_test_records_in_ancillary(ptr noundef %412, i16 noundef zeroext 0)
  %14136 = getelementptr inbounds %struct.s2n_result, ptr %425, i32 0, i32 0
  store i32 %14135, ptr %14136, align 4
  %14137 = getelementptr inbounds %struct.s2n_result, ptr %425, i32 0, i32 0
  %14138 = load i32, ptr %14137, align 4
  %14139 = call zeroext i1 @s2n_result_is_ok(i32 %14138)
  br i1 %14139, label %14193, label %14140

14140:                                            ; preds = %14132
  br label %14141

14141:                                            ; preds = %14140
  br label %14142

14142:                                            ; preds = %14141
  call void @llvm.lifetime.start.p0(i64 4, ptr %426) #11
  %14143 = call ptr @__errno_location() #12
  %14144 = load i32, ptr %14143, align 4, !tbaa !5
  store i32 %14144, ptr %426, align 4, !tbaa !5
  %14145 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14146 = call i32 @s2n_print_stacktrace(ptr noundef %14145)
  %14147 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14148 = trunc i8 %14147 to i1
  br i1 %14148, label %14149, label %14171

14149:                                            ; preds = %14142
  %14150 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14151 = call i32 @fileno(ptr noundef %14150) #11
  %14152 = call i32 @isatty(i32 noundef %14151) #11
  %14153 = icmp ne i32 %14152, 0
  br i1 %14153, label %14154, label %14171

14154:                                            ; preds = %14149
  %14155 = load i32, ptr %426, align 4, !tbaa !5
  %14156 = call ptr @__errno_location() #12
  store i32 %14155, ptr %14156, align 4, !tbaa !5
  %14157 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14158 = load i32, ptr @test_count, align 4, !tbaa !5
  %14159 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14160 = load i32, ptr %14159, align 4, !tbaa !5
  %14161 = call ptr @s2n_strerror(i32 noundef %14160, ptr noundef @.str.5)
  %14162 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14163 = load i32, ptr %14162, align 4, !tbaa !5
  %14164 = call ptr @s2n_strerror_debug(i32 noundef %14163, ptr noundef @.str.5)
  %14165 = call ptr @__errno_location() #12
  %14166 = load i32, ptr %14165, align 4, !tbaa !5
  %14167 = call ptr @strerror(i32 noundef %14166) #11
  %14168 = call ptr @__errno_location() #12
  %14169 = load i32, ptr %14168, align 4, !tbaa !5
  %14170 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14157, ptr noundef @.str.3, i32 noundef %14158, ptr noundef @.str.89, ptr noundef @.str.2, i32 noundef 669, ptr noundef %14161, ptr noundef %14164, ptr noundef %14167, i32 noundef %14169) #11
  br label %14188

14171:                                            ; preds = %14149, %14142
  %14172 = load i32, ptr %426, align 4, !tbaa !5
  %14173 = call ptr @__errno_location() #12
  store i32 %14172, ptr %14173, align 4, !tbaa !5
  %14174 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14175 = load i32, ptr @test_count, align 4, !tbaa !5
  %14176 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14177 = load i32, ptr %14176, align 4, !tbaa !5
  %14178 = call ptr @s2n_strerror(i32 noundef %14177, ptr noundef @.str.5)
  %14179 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14180 = load i32, ptr %14179, align 4, !tbaa !5
  %14181 = call ptr @s2n_strerror_debug(i32 noundef %14180, ptr noundef @.str.5)
  %14182 = call ptr @__errno_location() #12
  %14183 = load i32, ptr %14182, align 4, !tbaa !5
  %14184 = call ptr @strerror(i32 noundef %14183) #11
  %14185 = call ptr @__errno_location() #12
  %14186 = load i32, ptr %14185, align 4, !tbaa !5
  %14187 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14174, ptr noundef @.str.6, i32 noundef %14175, ptr noundef @.str.89, ptr noundef @.str.2, i32 noundef 669, ptr noundef %14178, ptr noundef %14181, ptr noundef %14184, i32 noundef %14186) #11
  br label %14188

14188:                                            ; preds = %14171, %14154
  call void @llvm.lifetime.end.p0(i64 4, ptr %426) #11
  br label %14189

14189:                                            ; preds = %14188
  br label %14190

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

14191:                                            ; No predecessors!
  br label %14192

14192:                                            ; preds = %14191
  br label %14193

14193:                                            ; preds = %14192, %14132
  br label %14194

14194:                                            ; preds = %14193
  br label %14195

14195:                                            ; preds = %14194
  call void @llvm.lifetime.end.p0(i64 16, ptr %416) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %415) #11
  %14196 = call i32 @s2n_ktls_io_stuffer_free(ptr noundef %412)
  %14197 = getelementptr inbounds %struct.s2n_result, ptr %427, i32 0, i32 0
  store i32 %14196, ptr %14197, align 4
  call void @llvm.lifetime.end.p0(i64 96, ptr %412) #11
  %14198 = call i32 @s2n_connection_ptr_free(ptr noundef %410)
  %14199 = getelementptr inbounds %struct.s2n_result, ptr %428, i32 0, i32 0
  store i32 %14198, ptr %14199, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %410) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %429) #11
  %14200 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %14200, ptr %429, align 8, !tbaa !9
  br label %14201

14201:                                            ; preds = %14195
  %14202 = load i32, ptr @test_count, align 4, !tbaa !5
  %14203 = add nsw i32 %14202, 1
  store i32 %14203, ptr @test_count, align 4, !tbaa !5
  %14204 = load ptr, ptr %429, align 8, !tbaa !9
  %14205 = icmp eq ptr %14204, null
  br i1 %14205, label %14206, label %14259

14206:                                            ; preds = %14201
  br label %14207

14207:                                            ; preds = %14206
  br label %14208

14208:                                            ; preds = %14207
  call void @llvm.lifetime.start.p0(i64 4, ptr %430) #11
  %14209 = call ptr @__errno_location() #12
  %14210 = load i32, ptr %14209, align 4, !tbaa !5
  store i32 %14210, ptr %430, align 4, !tbaa !5
  %14211 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14212 = call i32 @s2n_print_stacktrace(ptr noundef %14211)
  %14213 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14214 = trunc i8 %14213 to i1
  br i1 %14214, label %14215, label %14237

14215:                                            ; preds = %14208
  %14216 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14217 = call i32 @fileno(ptr noundef %14216) #11
  %14218 = call i32 @isatty(i32 noundef %14217) #11
  %14219 = icmp ne i32 %14218, 0
  br i1 %14219, label %14220, label %14237

14220:                                            ; preds = %14215
  %14221 = load i32, ptr %430, align 4, !tbaa !5
  %14222 = call ptr @__errno_location() #12
  store i32 %14221, ptr %14222, align 4, !tbaa !5
  %14223 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14224 = load i32, ptr @test_count, align 4, !tbaa !5
  %14225 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14226 = load i32, ptr %14225, align 4, !tbaa !5
  %14227 = call ptr @s2n_strerror(i32 noundef %14226, ptr noundef @.str.5)
  %14228 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14229 = load i32, ptr %14228, align 4, !tbaa !5
  %14230 = call ptr @s2n_strerror_debug(i32 noundef %14229, ptr noundef @.str.5)
  %14231 = call ptr @__errno_location() #12
  %14232 = load i32, ptr %14231, align 4, !tbaa !5
  %14233 = call ptr @strerror(i32 noundef %14232) #11
  %14234 = call ptr @__errno_location() #12
  %14235 = load i32, ptr %14234, align 4, !tbaa !5
  %14236 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14223, ptr noundef @.str.3, i32 noundef %14224, ptr noundef @.str.79, ptr noundef @.str.2, i32 noundef 676, ptr noundef %14227, ptr noundef %14230, ptr noundef %14233, i32 noundef %14235) #11
  br label %14254

14237:                                            ; preds = %14215, %14208
  %14238 = load i32, ptr %430, align 4, !tbaa !5
  %14239 = call ptr @__errno_location() #12
  store i32 %14238, ptr %14239, align 4, !tbaa !5
  %14240 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14241 = load i32, ptr @test_count, align 4, !tbaa !5
  %14242 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14243 = load i32, ptr %14242, align 4, !tbaa !5
  %14244 = call ptr @s2n_strerror(i32 noundef %14243, ptr noundef @.str.5)
  %14245 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14246 = load i32, ptr %14245, align 4, !tbaa !5
  %14247 = call ptr @s2n_strerror_debug(i32 noundef %14246, ptr noundef @.str.5)
  %14248 = call ptr @__errno_location() #12
  %14249 = load i32, ptr %14248, align 4, !tbaa !5
  %14250 = call ptr @strerror(i32 noundef %14249) #11
  %14251 = call ptr @__errno_location() #12
  %14252 = load i32, ptr %14251, align 4, !tbaa !5
  %14253 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14240, ptr noundef @.str.6, i32 noundef %14241, ptr noundef @.str.79, ptr noundef @.str.2, i32 noundef 676, ptr noundef %14244, ptr noundef %14247, ptr noundef %14250, i32 noundef %14252) #11
  br label %14254

14254:                                            ; preds = %14237, %14220
  call void @llvm.lifetime.end.p0(i64 4, ptr %430) #11
  br label %14255

14255:                                            ; preds = %14254
  br label %14256

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

14257:                                            ; No predecessors!
  br label %14258

14258:                                            ; preds = %14257
  br label %14259

14259:                                            ; preds = %14258, %14201
  br label %14260

14260:                                            ; preds = %14259
  br label %14261

14261:                                            ; preds = %14260
  call void @llvm.lifetime.start.p0(i64 96, ptr %431) #11
  call void @llvm.memset.p0.i64(ptr align 8 %431, i8 0, i64 96, i1 false)
  br label %14262

14262:                                            ; preds = %14261
  %14263 = load i32, ptr @test_count, align 4, !tbaa !5
  %14264 = add nsw i32 %14263, 1
  store i32 %14264, ptr @test_count, align 4, !tbaa !5
  %14265 = load ptr, ptr %429, align 8, !tbaa !9
  %14266 = call i32 @s2n_test_init_ktls_io_stuffer_send(ptr noundef %14265, ptr noundef %431)
  %14267 = getelementptr inbounds %struct.s2n_result, ptr %432, i32 0, i32 0
  store i32 %14266, ptr %14267, align 4
  %14268 = getelementptr inbounds %struct.s2n_result, ptr %432, i32 0, i32 0
  %14269 = load i32, ptr %14268, align 4
  %14270 = call zeroext i1 @s2n_result_is_ok(i32 %14269)
  br i1 %14270, label %14324, label %14271

14271:                                            ; preds = %14262
  br label %14272

14272:                                            ; preds = %14271
  br label %14273

14273:                                            ; preds = %14272
  call void @llvm.lifetime.start.p0(i64 4, ptr %433) #11
  %14274 = call ptr @__errno_location() #12
  %14275 = load i32, ptr %14274, align 4, !tbaa !5
  store i32 %14275, ptr %433, align 4, !tbaa !5
  %14276 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14277 = call i32 @s2n_print_stacktrace(ptr noundef %14276)
  %14278 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14279 = trunc i8 %14278 to i1
  br i1 %14279, label %14280, label %14302

14280:                                            ; preds = %14273
  %14281 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14282 = call i32 @fileno(ptr noundef %14281) #11
  %14283 = call i32 @isatty(i32 noundef %14282) #11
  %14284 = icmp ne i32 %14283, 0
  br i1 %14284, label %14285, label %14302

14285:                                            ; preds = %14280
  %14286 = load i32, ptr %433, align 4, !tbaa !5
  %14287 = call ptr @__errno_location() #12
  store i32 %14286, ptr %14287, align 4, !tbaa !5
  %14288 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14289 = load i32, ptr @test_count, align 4, !tbaa !5
  %14290 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14291 = load i32, ptr %14290, align 4, !tbaa !5
  %14292 = call ptr @s2n_strerror(i32 noundef %14291, ptr noundef @.str.5)
  %14293 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14294 = load i32, ptr %14293, align 4, !tbaa !5
  %14295 = call ptr @s2n_strerror_debug(i32 noundef %14294, ptr noundef @.str.5)
  %14296 = call ptr @__errno_location() #12
  %14297 = load i32, ptr %14296, align 4, !tbaa !5
  %14298 = call ptr @strerror(i32 noundef %14297) #11
  %14299 = call ptr @__errno_location() #12
  %14300 = load i32, ptr %14299, align 4, !tbaa !5
  %14301 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14288, ptr noundef @.str.3, i32 noundef %14289, ptr noundef @.str.80, ptr noundef @.str.2, i32 noundef 680, ptr noundef %14292, ptr noundef %14295, ptr noundef %14298, i32 noundef %14300) #11
  br label %14319

14302:                                            ; preds = %14280, %14273
  %14303 = load i32, ptr %433, align 4, !tbaa !5
  %14304 = call ptr @__errno_location() #12
  store i32 %14303, ptr %14304, align 4, !tbaa !5
  %14305 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14306 = load i32, ptr @test_count, align 4, !tbaa !5
  %14307 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14308 = load i32, ptr %14307, align 4, !tbaa !5
  %14309 = call ptr @s2n_strerror(i32 noundef %14308, ptr noundef @.str.5)
  %14310 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14311 = load i32, ptr %14310, align 4, !tbaa !5
  %14312 = call ptr @s2n_strerror_debug(i32 noundef %14311, ptr noundef @.str.5)
  %14313 = call ptr @__errno_location() #12
  %14314 = load i32, ptr %14313, align 4, !tbaa !5
  %14315 = call ptr @strerror(i32 noundef %14314) #11
  %14316 = call ptr @__errno_location() #12
  %14317 = load i32, ptr %14316, align 4, !tbaa !5
  %14318 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14305, ptr noundef @.str.6, i32 noundef %14306, ptr noundef @.str.80, ptr noundef @.str.2, i32 noundef 680, ptr noundef %14309, ptr noundef %14312, ptr noundef %14315, i32 noundef %14317) #11
  br label %14319

14319:                                            ; preds = %14302, %14285
  call void @llvm.lifetime.end.p0(i64 4, ptr %433) #11
  br label %14320

14320:                                            ; preds = %14319
  br label %14321

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

14322:                                            ; No predecessors!
  br label %14323

14323:                                            ; preds = %14322
  br label %14324

14324:                                            ; preds = %14323, %14262
  br label %14325

14325:                                            ; preds = %14324
  br label %14326

14326:                                            ; preds = %14325
  call void @llvm.lifetime.start.p0(i64 16, ptr %434) #11
  call void @llvm.memset.p0.i64(ptr align 8 %434, i8 0, i64 16, i1 false)
  br label %14327

14327:                                            ; preds = %14326
  %14328 = load i32, ptr @test_count, align 4, !tbaa !5
  %14329 = add nsw i32 %14328, 1
  store i32 %14329, ptr @test_count, align 4, !tbaa !5
  %14330 = getelementptr inbounds [7 x i64], ptr %359, i64 0, i64 0
  %14331 = call i32 @s2n_test_new_iovecs(ptr noundef %434, ptr noundef %11, ptr noundef %14330, i64 noundef 7)
  %14332 = getelementptr inbounds %struct.s2n_result, ptr %435, i32 0, i32 0
  store i32 %14331, ptr %14332, align 4
  %14333 = getelementptr inbounds %struct.s2n_result, ptr %435, i32 0, i32 0
  %14334 = load i32, ptr %14333, align 4
  %14335 = call zeroext i1 @s2n_result_is_ok(i32 %14334)
  br i1 %14335, label %14389, label %14336

14336:                                            ; preds = %14327
  br label %14337

14337:                                            ; preds = %14336
  br label %14338

14338:                                            ; preds = %14337
  call void @llvm.lifetime.start.p0(i64 4, ptr %436) #11
  %14339 = call ptr @__errno_location() #12
  %14340 = load i32, ptr %14339, align 4, !tbaa !5
  store i32 %14340, ptr %436, align 4, !tbaa !5
  %14341 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14342 = call i32 @s2n_print_stacktrace(ptr noundef %14341)
  %14343 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14344 = trunc i8 %14343 to i1
  br i1 %14344, label %14345, label %14367

14345:                                            ; preds = %14338
  %14346 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14347 = call i32 @fileno(ptr noundef %14346) #11
  %14348 = call i32 @isatty(i32 noundef %14347) #11
  %14349 = icmp ne i32 %14348, 0
  br i1 %14349, label %14350, label %14367

14350:                                            ; preds = %14345
  %14351 = load i32, ptr %436, align 4, !tbaa !5
  %14352 = call ptr @__errno_location() #12
  store i32 %14351, ptr %14352, align 4, !tbaa !5
  %14353 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14354 = load i32, ptr @test_count, align 4, !tbaa !5
  %14355 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14356 = load i32, ptr %14355, align 4, !tbaa !5
  %14357 = call ptr @s2n_strerror(i32 noundef %14356, ptr noundef @.str.5)
  %14358 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14359 = load i32, ptr %14358, align 4, !tbaa !5
  %14360 = call ptr @s2n_strerror_debug(i32 noundef %14359, ptr noundef @.str.5)
  %14361 = call ptr @__errno_location() #12
  %14362 = load i32, ptr %14361, align 4, !tbaa !5
  %14363 = call ptr @strerror(i32 noundef %14362) #11
  %14364 = call ptr @__errno_location() #12
  %14365 = load i32, ptr %14364, align 4, !tbaa !5
  %14366 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14353, ptr noundef @.str.3, i32 noundef %14354, ptr noundef @.str.92, ptr noundef @.str.2, i32 noundef 684, ptr noundef %14357, ptr noundef %14360, ptr noundef %14363, i32 noundef %14365) #11
  br label %14384

14367:                                            ; preds = %14345, %14338
  %14368 = load i32, ptr %436, align 4, !tbaa !5
  %14369 = call ptr @__errno_location() #12
  store i32 %14368, ptr %14369, align 4, !tbaa !5
  %14370 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14371 = load i32, ptr @test_count, align 4, !tbaa !5
  %14372 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14373 = load i32, ptr %14372, align 4, !tbaa !5
  %14374 = call ptr @s2n_strerror(i32 noundef %14373, ptr noundef @.str.5)
  %14375 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14376 = load i32, ptr %14375, align 4, !tbaa !5
  %14377 = call ptr @s2n_strerror_debug(i32 noundef %14376, ptr noundef @.str.5)
  %14378 = call ptr @__errno_location() #12
  %14379 = load i32, ptr %14378, align 4, !tbaa !5
  %14380 = call ptr @strerror(i32 noundef %14379) #11
  %14381 = call ptr @__errno_location() #12
  %14382 = load i32, ptr %14381, align 4, !tbaa !5
  %14383 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14370, ptr noundef @.str.6, i32 noundef %14371, ptr noundef @.str.92, ptr noundef @.str.2, i32 noundef 684, ptr noundef %14374, ptr noundef %14377, ptr noundef %14380, i32 noundef %14382) #11
  br label %14384

14384:                                            ; preds = %14367, %14350
  call void @llvm.lifetime.end.p0(i64 4, ptr %436) #11
  br label %14385

14385:                                            ; preds = %14384
  br label %14386

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

14387:                                            ; No predecessors!
  br label %14388

14388:                                            ; preds = %14387
  br label %14389

14389:                                            ; preds = %14388, %14327
  br label %14390

14390:                                            ; preds = %14389
  br label %14391

14391:                                            ; preds = %14390
  call void @llvm.lifetime.start.p0(i64 4, ptr %437) #11
  store i32 0, ptr %437, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %438) #11
  %14392 = load ptr, ptr %429, align 8, !tbaa !9
  %14393 = getelementptr inbounds %struct.s2n_test_iovecs, ptr %434, i32 0, i32 0
  %14394 = load ptr, ptr %14393, align 8, !tbaa !63
  %14395 = getelementptr inbounds %struct.s2n_test_iovecs, ptr %434, i32 0, i32 1
  %14396 = load i64, ptr %14395, align 8, !tbaa !65
  %14397 = call i64 @s2n_ktls_sendv_with_offset(ptr noundef %14392, ptr noundef %14394, i64 noundef %14396, i64 noundef 0, ptr noundef %437)
  store i64 %14397, ptr %438, align 8, !tbaa !20
  br label %14398

14398:                                            ; preds = %14391
  %14399 = load i32, ptr @test_count, align 4, !tbaa !5
  %14400 = add nsw i32 %14399, 1
  store i32 %14400, ptr @test_count, align 4, !tbaa !5
  %14401 = load i64, ptr %438, align 8, !tbaa !20
  %14402 = icmp eq i64 %14401, 16384
  br i1 %14402, label %14456, label %14403

14403:                                            ; preds = %14398
  br label %14404

14404:                                            ; preds = %14403
  br label %14405

14405:                                            ; preds = %14404
  call void @llvm.lifetime.start.p0(i64 4, ptr %439) #11
  %14406 = call ptr @__errno_location() #12
  %14407 = load i32, ptr %14406, align 4, !tbaa !5
  store i32 %14407, ptr %439, align 4, !tbaa !5
  %14408 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14409 = call i32 @s2n_print_stacktrace(ptr noundef %14408)
  %14410 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14411 = trunc i8 %14410 to i1
  br i1 %14411, label %14412, label %14434

14412:                                            ; preds = %14405
  %14413 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14414 = call i32 @fileno(ptr noundef %14413) #11
  %14415 = call i32 @isatty(i32 noundef %14414) #11
  %14416 = icmp ne i32 %14415, 0
  br i1 %14416, label %14417, label %14434

14417:                                            ; preds = %14412
  %14418 = load i32, ptr %439, align 4, !tbaa !5
  %14419 = call ptr @__errno_location() #12
  store i32 %14418, ptr %14419, align 4, !tbaa !5
  %14420 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14421 = load i32, ptr @test_count, align 4, !tbaa !5
  %14422 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14423 = load i32, ptr %14422, align 4, !tbaa !5
  %14424 = call ptr @s2n_strerror(i32 noundef %14423, ptr noundef @.str.5)
  %14425 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14426 = load i32, ptr %14425, align 4, !tbaa !5
  %14427 = call ptr @s2n_strerror_debug(i32 noundef %14426, ptr noundef @.str.5)
  %14428 = call ptr @__errno_location() #12
  %14429 = load i32, ptr %14428, align 4, !tbaa !5
  %14430 = call ptr @strerror(i32 noundef %14429) #11
  %14431 = call ptr @__errno_location() #12
  %14432 = load i32, ptr %14431, align 4, !tbaa !5
  %14433 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14420, ptr noundef @.str.3, i32 noundef %14421, ptr noundef @.str.93, ptr noundef @.str.2, i32 noundef 689, ptr noundef %14424, ptr noundef %14427, ptr noundef %14430, i32 noundef %14432) #11
  br label %14451

14434:                                            ; preds = %14412, %14405
  %14435 = load i32, ptr %439, align 4, !tbaa !5
  %14436 = call ptr @__errno_location() #12
  store i32 %14435, ptr %14436, align 4, !tbaa !5
  %14437 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14438 = load i32, ptr @test_count, align 4, !tbaa !5
  %14439 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14440 = load i32, ptr %14439, align 4, !tbaa !5
  %14441 = call ptr @s2n_strerror(i32 noundef %14440, ptr noundef @.str.5)
  %14442 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14443 = load i32, ptr %14442, align 4, !tbaa !5
  %14444 = call ptr @s2n_strerror_debug(i32 noundef %14443, ptr noundef @.str.5)
  %14445 = call ptr @__errno_location() #12
  %14446 = load i32, ptr %14445, align 4, !tbaa !5
  %14447 = call ptr @strerror(i32 noundef %14446) #11
  %14448 = call ptr @__errno_location() #12
  %14449 = load i32, ptr %14448, align 4, !tbaa !5
  %14450 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14437, ptr noundef @.str.6, i32 noundef %14438, ptr noundef @.str.93, ptr noundef @.str.2, i32 noundef 689, ptr noundef %14441, ptr noundef %14444, ptr noundef %14447, i32 noundef %14449) #11
  br label %14451

14451:                                            ; preds = %14434, %14417
  call void @llvm.lifetime.end.p0(i64 4, ptr %439) #11
  br label %14452

14452:                                            ; preds = %14451
  br label %14453

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

14454:                                            ; No predecessors!
  br label %14455

14455:                                            ; preds = %14454
  br label %14456

14456:                                            ; preds = %14455, %14398
  br label %14457

14457:                                            ; preds = %14456
  br label %14458

14458:                                            ; preds = %14457
  br label %14459

14459:                                            ; preds = %14458
  %14460 = load i32, ptr @test_count, align 4, !tbaa !5
  %14461 = add nsw i32 %14460, 1
  store i32 %14461, ptr @test_count, align 4, !tbaa !5
  %14462 = getelementptr inbounds %struct.s2n_test_ktls_io_stuffer, ptr %431, i32 0, i32 2
  %14463 = load i64, ptr %14462, align 8, !tbaa !47
  %14464 = icmp eq i64 %14463, 1
  br i1 %14464, label %14518, label %14465

14465:                                            ; preds = %14459
  br label %14466

14466:                                            ; preds = %14465
  br label %14467

14467:                                            ; preds = %14466
  call void @llvm.lifetime.start.p0(i64 4, ptr %440) #11
  %14468 = call ptr @__errno_location() #12
  %14469 = load i32, ptr %14468, align 4, !tbaa !5
  store i32 %14469, ptr %440, align 4, !tbaa !5
  %14470 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14471 = call i32 @s2n_print_stacktrace(ptr noundef %14470)
  %14472 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14473 = trunc i8 %14472 to i1
  br i1 %14473, label %14474, label %14496

14474:                                            ; preds = %14467
  %14475 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14476 = call i32 @fileno(ptr noundef %14475) #11
  %14477 = call i32 @isatty(i32 noundef %14476) #11
  %14478 = icmp ne i32 %14477, 0
  br i1 %14478, label %14479, label %14496

14479:                                            ; preds = %14474
  %14480 = load i32, ptr %440, align 4, !tbaa !5
  %14481 = call ptr @__errno_location() #12
  store i32 %14480, ptr %14481, align 4, !tbaa !5
  %14482 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14483 = load i32, ptr @test_count, align 4, !tbaa !5
  %14484 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14485 = load i32, ptr %14484, align 4, !tbaa !5
  %14486 = call ptr @s2n_strerror(i32 noundef %14485, ptr noundef @.str.5)
  %14487 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14488 = load i32, ptr %14487, align 4, !tbaa !5
  %14489 = call ptr @s2n_strerror_debug(i32 noundef %14488, ptr noundef @.str.5)
  %14490 = call ptr @__errno_location() #12
  %14491 = load i32, ptr %14490, align 4, !tbaa !5
  %14492 = call ptr @strerror(i32 noundef %14491) #11
  %14493 = call ptr @__errno_location() #12
  %14494 = load i32, ptr %14493, align 4, !tbaa !5
  %14495 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14482, ptr noundef @.str.3, i32 noundef %14483, ptr noundef @.str.82, ptr noundef @.str.2, i32 noundef 691, ptr noundef %14486, ptr noundef %14489, ptr noundef %14492, i32 noundef %14494) #11
  br label %14513

14496:                                            ; preds = %14474, %14467
  %14497 = load i32, ptr %440, align 4, !tbaa !5
  %14498 = call ptr @__errno_location() #12
  store i32 %14497, ptr %14498, align 4, !tbaa !5
  %14499 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14500 = load i32, ptr @test_count, align 4, !tbaa !5
  %14501 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14502 = load i32, ptr %14501, align 4, !tbaa !5
  %14503 = call ptr @s2n_strerror(i32 noundef %14502, ptr noundef @.str.5)
  %14504 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14505 = load i32, ptr %14504, align 4, !tbaa !5
  %14506 = call ptr @s2n_strerror_debug(i32 noundef %14505, ptr noundef @.str.5)
  %14507 = call ptr @__errno_location() #12
  %14508 = load i32, ptr %14507, align 4, !tbaa !5
  %14509 = call ptr @strerror(i32 noundef %14508) #11
  %14510 = call ptr @__errno_location() #12
  %14511 = load i32, ptr %14510, align 4, !tbaa !5
  %14512 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14499, ptr noundef @.str.6, i32 noundef %14500, ptr noundef @.str.82, ptr noundef @.str.2, i32 noundef 691, ptr noundef %14503, ptr noundef %14506, ptr noundef %14509, i32 noundef %14511) #11
  br label %14513

14513:                                            ; preds = %14496, %14479
  call void @llvm.lifetime.end.p0(i64 4, ptr %440) #11
  br label %14514

14514:                                            ; preds = %14513
  br label %14515

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

14516:                                            ; No predecessors!
  br label %14517

14517:                                            ; preds = %14516
  br label %14518

14518:                                            ; preds = %14517, %14459
  br label %14519

14519:                                            ; preds = %14518
  br label %14520

14520:                                            ; preds = %14519
  br label %14521

14521:                                            ; preds = %14520
  %14522 = load i32, ptr @test_count, align 4, !tbaa !5
  %14523 = add nsw i32 %14522, 1
  store i32 %14523, ptr @test_count, align 4, !tbaa !5
  %14524 = load i32, ptr %437, align 4, !tbaa !5
  %14525 = icmp eq i32 %14524, 0
  br i1 %14525, label %14579, label %14526

14526:                                            ; preds = %14521
  br label %14527

14527:                                            ; preds = %14526
  br label %14528

14528:                                            ; preds = %14527
  call void @llvm.lifetime.start.p0(i64 4, ptr %441) #11
  %14529 = call ptr @__errno_location() #12
  %14530 = load i32, ptr %14529, align 4, !tbaa !5
  store i32 %14530, ptr %441, align 4, !tbaa !5
  %14531 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14532 = call i32 @s2n_print_stacktrace(ptr noundef %14531)
  %14533 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14534 = trunc i8 %14533 to i1
  br i1 %14534, label %14535, label %14557

14535:                                            ; preds = %14528
  %14536 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14537 = call i32 @fileno(ptr noundef %14536) #11
  %14538 = call i32 @isatty(i32 noundef %14537) #11
  %14539 = icmp ne i32 %14538, 0
  br i1 %14539, label %14540, label %14557

14540:                                            ; preds = %14535
  %14541 = load i32, ptr %441, align 4, !tbaa !5
  %14542 = call ptr @__errno_location() #12
  store i32 %14541, ptr %14542, align 4, !tbaa !5
  %14543 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14544 = load i32, ptr @test_count, align 4, !tbaa !5
  %14545 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14546 = load i32, ptr %14545, align 4, !tbaa !5
  %14547 = call ptr @s2n_strerror(i32 noundef %14546, ptr noundef @.str.5)
  %14548 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14549 = load i32, ptr %14548, align 4, !tbaa !5
  %14550 = call ptr @s2n_strerror_debug(i32 noundef %14549, ptr noundef @.str.5)
  %14551 = call ptr @__errno_location() #12
  %14552 = load i32, ptr %14551, align 4, !tbaa !5
  %14553 = call ptr @strerror(i32 noundef %14552) #11
  %14554 = call ptr @__errno_location() #12
  %14555 = load i32, ptr %14554, align 4, !tbaa !5
  %14556 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14543, ptr noundef @.str.3, i32 noundef %14544, ptr noundef @.str.31, ptr noundef @.str.2, i32 noundef 692, ptr noundef %14547, ptr noundef %14550, ptr noundef %14553, i32 noundef %14555) #11
  br label %14574

14557:                                            ; preds = %14535, %14528
  %14558 = load i32, ptr %441, align 4, !tbaa !5
  %14559 = call ptr @__errno_location() #12
  store i32 %14558, ptr %14559, align 4, !tbaa !5
  %14560 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14561 = load i32, ptr @test_count, align 4, !tbaa !5
  %14562 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14563 = load i32, ptr %14562, align 4, !tbaa !5
  %14564 = call ptr @s2n_strerror(i32 noundef %14563, ptr noundef @.str.5)
  %14565 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14566 = load i32, ptr %14565, align 4, !tbaa !5
  %14567 = call ptr @s2n_strerror_debug(i32 noundef %14566, ptr noundef @.str.5)
  %14568 = call ptr @__errno_location() #12
  %14569 = load i32, ptr %14568, align 4, !tbaa !5
  %14570 = call ptr @strerror(i32 noundef %14569) #11
  %14571 = call ptr @__errno_location() #12
  %14572 = load i32, ptr %14571, align 4, !tbaa !5
  %14573 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14560, ptr noundef @.str.6, i32 noundef %14561, ptr noundef @.str.31, ptr noundef @.str.2, i32 noundef 692, ptr noundef %14564, ptr noundef %14567, ptr noundef %14570, i32 noundef %14572) #11
  br label %14574

14574:                                            ; preds = %14557, %14540
  call void @llvm.lifetime.end.p0(i64 4, ptr %441) #11
  br label %14575

14575:                                            ; preds = %14574
  br label %14576

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

14577:                                            ; No predecessors!
  br label %14578

14578:                                            ; preds = %14577
  br label %14579

14579:                                            ; preds = %14578, %14521
  br label %14580

14580:                                            ; preds = %14579
  br label %14581

14581:                                            ; preds = %14580
  br label %14582

14582:                                            ; preds = %14581
  %14583 = load i32, ptr @test_count, align 4, !tbaa !5
  %14584 = add nsw i32 %14583, 1
  store i32 %14584, ptr @test_count, align 4, !tbaa !5
  %14585 = call i32 @s2n_test_validate_ancillary(ptr noundef %431, i8 noundef zeroext 23, i16 noundef zeroext 16384)
  %14586 = getelementptr inbounds %struct.s2n_result, ptr %442, i32 0, i32 0
  store i32 %14585, ptr %14586, align 4
  %14587 = getelementptr inbounds %struct.s2n_result, ptr %442, i32 0, i32 0
  %14588 = load i32, ptr %14587, align 4
  %14589 = call zeroext i1 @s2n_result_is_ok(i32 %14588)
  br i1 %14589, label %14643, label %14590

14590:                                            ; preds = %14582
  br label %14591

14591:                                            ; preds = %14590
  br label %14592

14592:                                            ; preds = %14591
  call void @llvm.lifetime.start.p0(i64 4, ptr %443) #11
  %14593 = call ptr @__errno_location() #12
  %14594 = load i32, ptr %14593, align 4, !tbaa !5
  store i32 %14594, ptr %443, align 4, !tbaa !5
  %14595 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14596 = call i32 @s2n_print_stacktrace(ptr noundef %14595)
  %14597 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14598 = trunc i8 %14597 to i1
  br i1 %14598, label %14599, label %14621

14599:                                            ; preds = %14592
  %14600 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14601 = call i32 @fileno(ptr noundef %14600) #11
  %14602 = call i32 @isatty(i32 noundef %14601) #11
  %14603 = icmp ne i32 %14602, 0
  br i1 %14603, label %14604, label %14621

14604:                                            ; preds = %14599
  %14605 = load i32, ptr %443, align 4, !tbaa !5
  %14606 = call ptr @__errno_location() #12
  store i32 %14605, ptr %14606, align 4, !tbaa !5
  %14607 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14608 = load i32, ptr @test_count, align 4, !tbaa !5
  %14609 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14610 = load i32, ptr %14609, align 4, !tbaa !5
  %14611 = call ptr @s2n_strerror(i32 noundef %14610, ptr noundef @.str.5)
  %14612 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14613 = load i32, ptr %14612, align 4, !tbaa !5
  %14614 = call ptr @s2n_strerror_debug(i32 noundef %14613, ptr noundef @.str.5)
  %14615 = call ptr @__errno_location() #12
  %14616 = load i32, ptr %14615, align 4, !tbaa !5
  %14617 = call ptr @strerror(i32 noundef %14616) #11
  %14618 = call ptr @__errno_location() #12
  %14619 = load i32, ptr %14618, align 4, !tbaa !5
  %14620 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14607, ptr noundef @.str.3, i32 noundef %14608, ptr noundef @.str.83, ptr noundef @.str.2, i32 noundef 693, ptr noundef %14611, ptr noundef %14614, ptr noundef %14617, i32 noundef %14619) #11
  br label %14638

14621:                                            ; preds = %14599, %14592
  %14622 = load i32, ptr %443, align 4, !tbaa !5
  %14623 = call ptr @__errno_location() #12
  store i32 %14622, ptr %14623, align 4, !tbaa !5
  %14624 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14625 = load i32, ptr @test_count, align 4, !tbaa !5
  %14626 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14627 = load i32, ptr %14626, align 4, !tbaa !5
  %14628 = call ptr @s2n_strerror(i32 noundef %14627, ptr noundef @.str.5)
  %14629 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14630 = load i32, ptr %14629, align 4, !tbaa !5
  %14631 = call ptr @s2n_strerror_debug(i32 noundef %14630, ptr noundef @.str.5)
  %14632 = call ptr @__errno_location() #12
  %14633 = load i32, ptr %14632, align 4, !tbaa !5
  %14634 = call ptr @strerror(i32 noundef %14633) #11
  %14635 = call ptr @__errno_location() #12
  %14636 = load i32, ptr %14635, align 4, !tbaa !5
  %14637 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14624, ptr noundef @.str.6, i32 noundef %14625, ptr noundef @.str.83, ptr noundef @.str.2, i32 noundef 693, ptr noundef %14628, ptr noundef %14631, ptr noundef %14634, i32 noundef %14636) #11
  br label %14638

14638:                                            ; preds = %14621, %14604
  call void @llvm.lifetime.end.p0(i64 4, ptr %443) #11
  br label %14639

14639:                                            ; preds = %14638
  br label %14640

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

14641:                                            ; No predecessors!
  br label %14642

14642:                                            ; preds = %14641
  br label %14643

14643:                                            ; preds = %14642, %14582
  br label %14644

14644:                                            ; preds = %14643
  br label %14645

14645:                                            ; preds = %14644
  br label %14646

14646:                                            ; preds = %14645
  %14647 = load i32, ptr @test_count, align 4, !tbaa !5
  %14648 = add nsw i32 %14647, 1
  store i32 %14648, ptr @test_count, align 4, !tbaa !5
  %14649 = getelementptr inbounds [16384 x i8], ptr %10, i64 0, i64 0
  %14650 = call i32 @s2n_test_validate_data(ptr noundef %431, ptr noundef %14649, i16 noundef zeroext 16384)
  %14651 = getelementptr inbounds %struct.s2n_result, ptr %444, i32 0, i32 0
  store i32 %14650, ptr %14651, align 4
  %14652 = getelementptr inbounds %struct.s2n_result, ptr %444, i32 0, i32 0
  %14653 = load i32, ptr %14652, align 4
  %14654 = call zeroext i1 @s2n_result_is_ok(i32 %14653)
  br i1 %14654, label %14708, label %14655

14655:                                            ; preds = %14646
  br label %14656

14656:                                            ; preds = %14655
  br label %14657

14657:                                            ; preds = %14656
  call void @llvm.lifetime.start.p0(i64 4, ptr %445) #11
  %14658 = call ptr @__errno_location() #12
  %14659 = load i32, ptr %14658, align 4, !tbaa !5
  store i32 %14659, ptr %445, align 4, !tbaa !5
  %14660 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14661 = call i32 @s2n_print_stacktrace(ptr noundef %14660)
  %14662 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14663 = trunc i8 %14662 to i1
  br i1 %14663, label %14664, label %14686

14664:                                            ; preds = %14657
  %14665 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14666 = call i32 @fileno(ptr noundef %14665) #11
  %14667 = call i32 @isatty(i32 noundef %14666) #11
  %14668 = icmp ne i32 %14667, 0
  br i1 %14668, label %14669, label %14686

14669:                                            ; preds = %14664
  %14670 = load i32, ptr %445, align 4, !tbaa !5
  %14671 = call ptr @__errno_location() #12
  store i32 %14670, ptr %14671, align 4, !tbaa !5
  %14672 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14673 = load i32, ptr @test_count, align 4, !tbaa !5
  %14674 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14675 = load i32, ptr %14674, align 4, !tbaa !5
  %14676 = call ptr @s2n_strerror(i32 noundef %14675, ptr noundef @.str.5)
  %14677 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14678 = load i32, ptr %14677, align 4, !tbaa !5
  %14679 = call ptr @s2n_strerror_debug(i32 noundef %14678, ptr noundef @.str.5)
  %14680 = call ptr @__errno_location() #12
  %14681 = load i32, ptr %14680, align 4, !tbaa !5
  %14682 = call ptr @strerror(i32 noundef %14681) #11
  %14683 = call ptr @__errno_location() #12
  %14684 = load i32, ptr %14683, align 4, !tbaa !5
  %14685 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14672, ptr noundef @.str.3, i32 noundef %14673, ptr noundef @.str.84, ptr noundef @.str.2, i32 noundef 694, ptr noundef %14676, ptr noundef %14679, ptr noundef %14682, i32 noundef %14684) #11
  br label %14703

14686:                                            ; preds = %14664, %14657
  %14687 = load i32, ptr %445, align 4, !tbaa !5
  %14688 = call ptr @__errno_location() #12
  store i32 %14687, ptr %14688, align 4, !tbaa !5
  %14689 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14690 = load i32, ptr @test_count, align 4, !tbaa !5
  %14691 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14692 = load i32, ptr %14691, align 4, !tbaa !5
  %14693 = call ptr @s2n_strerror(i32 noundef %14692, ptr noundef @.str.5)
  %14694 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14695 = load i32, ptr %14694, align 4, !tbaa !5
  %14696 = call ptr @s2n_strerror_debug(i32 noundef %14695, ptr noundef @.str.5)
  %14697 = call ptr @__errno_location() #12
  %14698 = load i32, ptr %14697, align 4, !tbaa !5
  %14699 = call ptr @strerror(i32 noundef %14698) #11
  %14700 = call ptr @__errno_location() #12
  %14701 = load i32, ptr %14700, align 4, !tbaa !5
  %14702 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14689, ptr noundef @.str.6, i32 noundef %14690, ptr noundef @.str.84, ptr noundef @.str.2, i32 noundef 694, ptr noundef %14693, ptr noundef %14696, ptr noundef %14699, i32 noundef %14701) #11
  br label %14703

14703:                                            ; preds = %14686, %14669
  call void @llvm.lifetime.end.p0(i64 4, ptr %445) #11
  br label %14704

14704:                                            ; preds = %14703
  br label %14705

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

14706:                                            ; No predecessors!
  br label %14707

14707:                                            ; preds = %14706
  br label %14708

14708:                                            ; preds = %14707, %14646
  br label %14709

14709:                                            ; preds = %14708
  br label %14710

14710:                                            ; preds = %14709
  call void @llvm.lifetime.end.p0(i64 8, ptr %438) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %437) #11
  %14711 = call i32 @s2n_test_iovecs_free(ptr noundef %434)
  %14712 = getelementptr inbounds %struct.s2n_result, ptr %446, i32 0, i32 0
  store i32 %14711, ptr %14712, align 4
  call void @llvm.lifetime.end.p0(i64 16, ptr %434) #11
  %14713 = call i32 @s2n_ktls_io_stuffer_free(ptr noundef %431)
  %14714 = getelementptr inbounds %struct.s2n_result, ptr %447, i32 0, i32 0
  store i32 %14713, ptr %14714, align 4
  call void @llvm.lifetime.end.p0(i64 96, ptr %431) #11
  %14715 = call i32 @s2n_connection_ptr_free(ptr noundef %429)
  %14716 = getelementptr inbounds %struct.s2n_result, ptr %448, i32 0, i32 0
  store i32 %14715, ptr %14716, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %429) #11
  call void @llvm.lifetime.start.p0(i64 16, ptr %449) #11
  call void @llvm.memset.p0.i64(ptr align 8 %449, i8 0, i64 16, i1 false)
  br label %14717

14717:                                            ; preds = %14710
  %14718 = load i32, ptr @test_count, align 4, !tbaa !5
  %14719 = add nsw i32 %14718, 1
  store i32 %14719, ptr @test_count, align 4, !tbaa !5
  %14720 = getelementptr inbounds [7 x i64], ptr %359, i64 0, i64 0
  %14721 = call i32 @s2n_test_new_iovecs(ptr noundef %449, ptr noundef %11, ptr noundef %14720, i64 noundef 7)
  %14722 = getelementptr inbounds %struct.s2n_result, ptr %450, i32 0, i32 0
  store i32 %14721, ptr %14722, align 4
  %14723 = getelementptr inbounds %struct.s2n_result, ptr %450, i32 0, i32 0
  %14724 = load i32, ptr %14723, align 4
  %14725 = call zeroext i1 @s2n_result_is_ok(i32 %14724)
  br i1 %14725, label %14779, label %14726

14726:                                            ; preds = %14717
  br label %14727

14727:                                            ; preds = %14726
  br label %14728

14728:                                            ; preds = %14727
  call void @llvm.lifetime.start.p0(i64 4, ptr %451) #11
  %14729 = call ptr @__errno_location() #12
  %14730 = load i32, ptr %14729, align 4, !tbaa !5
  store i32 %14730, ptr %451, align 4, !tbaa !5
  %14731 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14732 = call i32 @s2n_print_stacktrace(ptr noundef %14731)
  %14733 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14734 = trunc i8 %14733 to i1
  br i1 %14734, label %14735, label %14757

14735:                                            ; preds = %14728
  %14736 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14737 = call i32 @fileno(ptr noundef %14736) #11
  %14738 = call i32 @isatty(i32 noundef %14737) #11
  %14739 = icmp ne i32 %14738, 0
  br i1 %14739, label %14740, label %14757

14740:                                            ; preds = %14735
  %14741 = load i32, ptr %451, align 4, !tbaa !5
  %14742 = call ptr @__errno_location() #12
  store i32 %14741, ptr %14742, align 4, !tbaa !5
  %14743 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14744 = load i32, ptr @test_count, align 4, !tbaa !5
  %14745 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14746 = load i32, ptr %14745, align 4, !tbaa !5
  %14747 = call ptr @s2n_strerror(i32 noundef %14746, ptr noundef @.str.5)
  %14748 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14749 = load i32, ptr %14748, align 4, !tbaa !5
  %14750 = call ptr @s2n_strerror_debug(i32 noundef %14749, ptr noundef @.str.5)
  %14751 = call ptr @__errno_location() #12
  %14752 = load i32, ptr %14751, align 4, !tbaa !5
  %14753 = call ptr @strerror(i32 noundef %14752) #11
  %14754 = call ptr @__errno_location() #12
  %14755 = load i32, ptr %14754, align 4, !tbaa !5
  %14756 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14743, ptr noundef @.str.3, i32 noundef %14744, ptr noundef @.str.92, ptr noundef @.str.2, i32 noundef 701, ptr noundef %14747, ptr noundef %14750, ptr noundef %14753, i32 noundef %14755) #11
  br label %14774

14757:                                            ; preds = %14735, %14728
  %14758 = load i32, ptr %451, align 4, !tbaa !5
  %14759 = call ptr @__errno_location() #12
  store i32 %14758, ptr %14759, align 4, !tbaa !5
  %14760 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14761 = load i32, ptr @test_count, align 4, !tbaa !5
  %14762 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14763 = load i32, ptr %14762, align 4, !tbaa !5
  %14764 = call ptr @s2n_strerror(i32 noundef %14763, ptr noundef @.str.5)
  %14765 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14766 = load i32, ptr %14765, align 4, !tbaa !5
  %14767 = call ptr @s2n_strerror_debug(i32 noundef %14766, ptr noundef @.str.5)
  %14768 = call ptr @__errno_location() #12
  %14769 = load i32, ptr %14768, align 4, !tbaa !5
  %14770 = call ptr @strerror(i32 noundef %14769) #11
  %14771 = call ptr @__errno_location() #12
  %14772 = load i32, ptr %14771, align 4, !tbaa !5
  %14773 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14760, ptr noundef @.str.6, i32 noundef %14761, ptr noundef @.str.92, ptr noundef @.str.2, i32 noundef 701, ptr noundef %14764, ptr noundef %14767, ptr noundef %14770, i32 noundef %14772) #11
  br label %14774

14774:                                            ; preds = %14757, %14740
  call void @llvm.lifetime.end.p0(i64 4, ptr %451) #11
  br label %14775

14775:                                            ; preds = %14774
  br label %14776

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

14777:                                            ; No predecessors!
  br label %14778

14778:                                            ; preds = %14777
  br label %14779

14779:                                            ; preds = %14778, %14717
  br label %14780

14780:                                            ; preds = %14779
  br label %14781

14781:                                            ; preds = %14780
  call void @llvm.lifetime.start.p0(i64 800, ptr %452) #11
  call void @llvm.memset.p0.i64(ptr align 16 %452, i8 0, i64 800, i1 false)
  br label %14782

14782:                                            ; preds = %14781
  call void @llvm.lifetime.start.p0(i64 8, ptr %453) #11
  store i64 56, ptr %453, align 8, !tbaa !20
  %14783 = load i64, ptr %453, align 8, !tbaa !20
  %14784 = icmp ne i64 %14783, 0
  br i1 %14784, label %14785, label %14844

14785:                                            ; preds = %14782
  %14786 = getelementptr inbounds [100 x i64], ptr %452, i64 0, i64 0
  %14787 = getelementptr inbounds [7 x i64], ptr %359, i64 0, i64 0
  %14788 = load i64, ptr %453, align 8, !tbaa !20
  call void @llvm.memmove.p0.p0.i64(ptr align 16 %14786, ptr align 16 %14787, i64 %14788, i1 false)
  %14789 = icmp eq ptr %14786, null
  br i1 %14789, label %14790, label %14843

14790:                                            ; preds = %14785
  br label %14791

14791:                                            ; preds = %14790
  br label %14792

14792:                                            ; preds = %14791
  call void @llvm.lifetime.start.p0(i64 4, ptr %454) #11
  %14793 = call ptr @__errno_location() #12
  %14794 = load i32, ptr %14793, align 4, !tbaa !5
  store i32 %14794, ptr %454, align 4, !tbaa !5
  %14795 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14796 = call i32 @s2n_print_stacktrace(ptr noundef %14795)
  %14797 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14798 = trunc i8 %14797 to i1
  br i1 %14798, label %14799, label %14821

14799:                                            ; preds = %14792
  %14800 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14801 = call i32 @fileno(ptr noundef %14800) #11
  %14802 = call i32 @isatty(i32 noundef %14801) #11
  %14803 = icmp ne i32 %14802, 0
  br i1 %14803, label %14804, label %14821

14804:                                            ; preds = %14799
  %14805 = load i32, ptr %454, align 4, !tbaa !5
  %14806 = call ptr @__errno_location() #12
  store i32 %14805, ptr %14806, align 4, !tbaa !5
  %14807 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14808 = load i32, ptr @test_count, align 4, !tbaa !5
  %14809 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14810 = load i32, ptr %14809, align 4, !tbaa !5
  %14811 = call ptr @s2n_strerror(i32 noundef %14810, ptr noundef @.str.5)
  %14812 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14813 = load i32, ptr %14812, align 4, !tbaa !5
  %14814 = call ptr @s2n_strerror_debug(i32 noundef %14813, ptr noundef @.str.5)
  %14815 = call ptr @__errno_location() #12
  %14816 = load i32, ptr %14815, align 4, !tbaa !5
  %14817 = call ptr @strerror(i32 noundef %14816) #11
  %14818 = call ptr @__errno_location() #12
  %14819 = load i32, ptr %14818, align 4, !tbaa !5
  %14820 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14807, ptr noundef @.str.3, i32 noundef %14808, ptr noundef @.str.94, ptr noundef @.str.2, i32 noundef 704, ptr noundef %14811, ptr noundef %14814, ptr noundef %14817, i32 noundef %14819) #11
  br label %14838

14821:                                            ; preds = %14799, %14792
  %14822 = load i32, ptr %454, align 4, !tbaa !5
  %14823 = call ptr @__errno_location() #12
  store i32 %14822, ptr %14823, align 4, !tbaa !5
  %14824 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14825 = load i32, ptr @test_count, align 4, !tbaa !5
  %14826 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14827 = load i32, ptr %14826, align 4, !tbaa !5
  %14828 = call ptr @s2n_strerror(i32 noundef %14827, ptr noundef @.str.5)
  %14829 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14830 = load i32, ptr %14829, align 4, !tbaa !5
  %14831 = call ptr @s2n_strerror_debug(i32 noundef %14830, ptr noundef @.str.5)
  %14832 = call ptr @__errno_location() #12
  %14833 = load i32, ptr %14832, align 4, !tbaa !5
  %14834 = call ptr @strerror(i32 noundef %14833) #11
  %14835 = call ptr @__errno_location() #12
  %14836 = load i32, ptr %14835, align 4, !tbaa !5
  %14837 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14824, ptr noundef @.str.6, i32 noundef %14825, ptr noundef @.str.94, ptr noundef @.str.2, i32 noundef 704, ptr noundef %14828, ptr noundef %14831, ptr noundef %14834, i32 noundef %14836) #11
  br label %14838

14838:                                            ; preds = %14821, %14804
  call void @llvm.lifetime.end.p0(i64 4, ptr %454) #11
  br label %14839

14839:                                            ; preds = %14838
  br label %14840

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

14841:                                            ; No predecessors!
  br label %14842

14842:                                            ; preds = %14841
  br label %14843

14843:                                            ; preds = %14842, %14785
  br label %14844

14844:                                            ; preds = %14843, %14782
  call void @llvm.lifetime.end.p0(i64 8, ptr %453) #11
  br label %14845

14845:                                            ; preds = %14844
  br label %14846

14846:                                            ; preds = %14845
  call void @llvm.lifetime.start.p0(i64 16, ptr %455) #11
  call void @llvm.memset.p0.i64(ptr align 8 %455, i8 0, i64 16, i1 false)
  br label %14847

14847:                                            ; preds = %14846
  %14848 = load i32, ptr @test_count, align 4, !tbaa !5
  %14849 = add nsw i32 %14848, 1
  store i32 %14849, ptr @test_count, align 4, !tbaa !5
  %14850 = getelementptr inbounds [100 x i64], ptr %452, i64 0, i64 0
  %14851 = call i32 @s2n_test_new_iovecs(ptr noundef %455, ptr noundef %11, ptr noundef %14850, i64 noundef 100)
  %14852 = getelementptr inbounds %struct.s2n_result, ptr %456, i32 0, i32 0
  store i32 %14851, ptr %14852, align 4
  %14853 = getelementptr inbounds %struct.s2n_result, ptr %456, i32 0, i32 0
  %14854 = load i32, ptr %14853, align 4
  %14855 = call zeroext i1 @s2n_result_is_ok(i32 %14854)
  br i1 %14855, label %14909, label %14856

14856:                                            ; preds = %14847
  br label %14857

14857:                                            ; preds = %14856
  br label %14858

14858:                                            ; preds = %14857
  call void @llvm.lifetime.start.p0(i64 4, ptr %457) #11
  %14859 = call ptr @__errno_location() #12
  %14860 = load i32, ptr %14859, align 4, !tbaa !5
  store i32 %14860, ptr %457, align 4, !tbaa !5
  %14861 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14862 = call i32 @s2n_print_stacktrace(ptr noundef %14861)
  %14863 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14864 = trunc i8 %14863 to i1
  br i1 %14864, label %14865, label %14887

14865:                                            ; preds = %14858
  %14866 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14867 = call i32 @fileno(ptr noundef %14866) #11
  %14868 = call i32 @isatty(i32 noundef %14867) #11
  %14869 = icmp ne i32 %14868, 0
  br i1 %14869, label %14870, label %14887

14870:                                            ; preds = %14865
  %14871 = load i32, ptr %457, align 4, !tbaa !5
  %14872 = call ptr @__errno_location() #12
  store i32 %14871, ptr %14872, align 4, !tbaa !5
  %14873 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14874 = load i32, ptr @test_count, align 4, !tbaa !5
  %14875 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14876 = load i32, ptr %14875, align 4, !tbaa !5
  %14877 = call ptr @s2n_strerror(i32 noundef %14876, ptr noundef @.str.5)
  %14878 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14879 = load i32, ptr %14878, align 4, !tbaa !5
  %14880 = call ptr @s2n_strerror_debug(i32 noundef %14879, ptr noundef @.str.5)
  %14881 = call ptr @__errno_location() #12
  %14882 = load i32, ptr %14881, align 4, !tbaa !5
  %14883 = call ptr @strerror(i32 noundef %14882) #11
  %14884 = call ptr @__errno_location() #12
  %14885 = load i32, ptr %14884, align 4, !tbaa !5
  %14886 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14873, ptr noundef @.str.3, i32 noundef %14874, ptr noundef @.str.95, ptr noundef @.str.2, i32 noundef 709, ptr noundef %14877, ptr noundef %14880, ptr noundef %14883, i32 noundef %14885) #11
  br label %14904

14887:                                            ; preds = %14865, %14858
  %14888 = load i32, ptr %457, align 4, !tbaa !5
  %14889 = call ptr @__errno_location() #12
  store i32 %14888, ptr %14889, align 4, !tbaa !5
  %14890 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14891 = load i32, ptr @test_count, align 4, !tbaa !5
  %14892 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14893 = load i32, ptr %14892, align 4, !tbaa !5
  %14894 = call ptr @s2n_strerror(i32 noundef %14893, ptr noundef @.str.5)
  %14895 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14896 = load i32, ptr %14895, align 4, !tbaa !5
  %14897 = call ptr @s2n_strerror_debug(i32 noundef %14896, ptr noundef @.str.5)
  %14898 = call ptr @__errno_location() #12
  %14899 = load i32, ptr %14898, align 4, !tbaa !5
  %14900 = call ptr @strerror(i32 noundef %14899) #11
  %14901 = call ptr @__errno_location() #12
  %14902 = load i32, ptr %14901, align 4, !tbaa !5
  %14903 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14890, ptr noundef @.str.6, i32 noundef %14891, ptr noundef @.str.95, ptr noundef @.str.2, i32 noundef 709, ptr noundef %14894, ptr noundef %14897, ptr noundef %14900, i32 noundef %14902) #11
  br label %14904

14904:                                            ; preds = %14887, %14870
  call void @llvm.lifetime.end.p0(i64 4, ptr %457) #11
  br label %14905

14905:                                            ; preds = %14904
  br label %14906

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

14907:                                            ; No predecessors!
  br label %14908

14908:                                            ; preds = %14907
  br label %14909

14909:                                            ; preds = %14908, %14847
  br label %14910

14910:                                            ; preds = %14909
  br label %14911

14911:                                            ; preds = %14910
  call void @llvm.lifetime.start.p0(i64 8, ptr %458) #11
  store i64 16385, ptr %458, align 8, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 8, ptr %459) #11
  %14912 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %14912, ptr %459, align 8, !tbaa !9
  br label %14913

14913:                                            ; preds = %14911
  %14914 = load i32, ptr @test_count, align 4, !tbaa !5
  %14915 = add nsw i32 %14914, 1
  store i32 %14915, ptr @test_count, align 4, !tbaa !5
  %14916 = load ptr, ptr %459, align 8, !tbaa !9
  %14917 = icmp eq ptr %14916, null
  br i1 %14917, label %14918, label %14971

14918:                                            ; preds = %14913
  br label %14919

14919:                                            ; preds = %14918
  br label %14920

14920:                                            ; preds = %14919
  call void @llvm.lifetime.start.p0(i64 4, ptr %460) #11
  %14921 = call ptr @__errno_location() #12
  %14922 = load i32, ptr %14921, align 4, !tbaa !5
  store i32 %14922, ptr %460, align 4, !tbaa !5
  %14923 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14924 = call i32 @s2n_print_stacktrace(ptr noundef %14923)
  %14925 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14926 = trunc i8 %14925 to i1
  br i1 %14926, label %14927, label %14949

14927:                                            ; preds = %14920
  %14928 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14929 = call i32 @fileno(ptr noundef %14928) #11
  %14930 = call i32 @isatty(i32 noundef %14929) #11
  %14931 = icmp ne i32 %14930, 0
  br i1 %14931, label %14932, label %14949

14932:                                            ; preds = %14927
  %14933 = load i32, ptr %460, align 4, !tbaa !5
  %14934 = call ptr @__errno_location() #12
  store i32 %14933, ptr %14934, align 4, !tbaa !5
  %14935 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14936 = load i32, ptr @test_count, align 4, !tbaa !5
  %14937 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14938 = load i32, ptr %14937, align 4, !tbaa !5
  %14939 = call ptr @s2n_strerror(i32 noundef %14938, ptr noundef @.str.5)
  %14940 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14941 = load i32, ptr %14940, align 4, !tbaa !5
  %14942 = call ptr @s2n_strerror_debug(i32 noundef %14941, ptr noundef @.str.5)
  %14943 = call ptr @__errno_location() #12
  %14944 = load i32, ptr %14943, align 4, !tbaa !5
  %14945 = call ptr @strerror(i32 noundef %14944) #11
  %14946 = call ptr @__errno_location() #12
  %14947 = load i32, ptr %14946, align 4, !tbaa !5
  %14948 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14935, ptr noundef @.str.3, i32 noundef %14936, ptr noundef @.str.79, ptr noundef @.str.2, i32 noundef 717, ptr noundef %14939, ptr noundef %14942, ptr noundef %14945, i32 noundef %14947) #11
  br label %14966

14949:                                            ; preds = %14927, %14920
  %14950 = load i32, ptr %460, align 4, !tbaa !5
  %14951 = call ptr @__errno_location() #12
  store i32 %14950, ptr %14951, align 4, !tbaa !5
  %14952 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14953 = load i32, ptr @test_count, align 4, !tbaa !5
  %14954 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14955 = load i32, ptr %14954, align 4, !tbaa !5
  %14956 = call ptr @s2n_strerror(i32 noundef %14955, ptr noundef @.str.5)
  %14957 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14958 = load i32, ptr %14957, align 4, !tbaa !5
  %14959 = call ptr @s2n_strerror_debug(i32 noundef %14958, ptr noundef @.str.5)
  %14960 = call ptr @__errno_location() #12
  %14961 = load i32, ptr %14960, align 4, !tbaa !5
  %14962 = call ptr @strerror(i32 noundef %14961) #11
  %14963 = call ptr @__errno_location() #12
  %14964 = load i32, ptr %14963, align 4, !tbaa !5
  %14965 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14952, ptr noundef @.str.6, i32 noundef %14953, ptr noundef @.str.79, ptr noundef @.str.2, i32 noundef 717, ptr noundef %14956, ptr noundef %14959, ptr noundef %14962, i32 noundef %14964) #11
  br label %14966

14966:                                            ; preds = %14949, %14932
  call void @llvm.lifetime.end.p0(i64 4, ptr %460) #11
  br label %14967

14967:                                            ; preds = %14966
  br label %14968

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

14969:                                            ; No predecessors!
  br label %14970

14970:                                            ; preds = %14969
  br label %14971

14971:                                            ; preds = %14970, %14913
  br label %14972

14972:                                            ; preds = %14971
  br label %14973

14973:                                            ; preds = %14972
  call void @llvm.lifetime.start.p0(i64 96, ptr %461) #11
  call void @llvm.memset.p0.i64(ptr align 8 %461, i8 0, i64 96, i1 false)
  br label %14974

14974:                                            ; preds = %14973
  %14975 = load i32, ptr @test_count, align 4, !tbaa !5
  %14976 = add nsw i32 %14975, 1
  store i32 %14976, ptr @test_count, align 4, !tbaa !5
  %14977 = load ptr, ptr %459, align 8, !tbaa !9
  %14978 = call i32 @s2n_test_init_ktls_io_stuffer_send(ptr noundef %14977, ptr noundef %461)
  %14979 = getelementptr inbounds %struct.s2n_result, ptr %462, i32 0, i32 0
  store i32 %14978, ptr %14979, align 4
  %14980 = getelementptr inbounds %struct.s2n_result, ptr %462, i32 0, i32 0
  %14981 = load i32, ptr %14980, align 4
  %14982 = call zeroext i1 @s2n_result_is_ok(i32 %14981)
  br i1 %14982, label %15036, label %14983

14983:                                            ; preds = %14974
  br label %14984

14984:                                            ; preds = %14983
  br label %14985

14985:                                            ; preds = %14984
  call void @llvm.lifetime.start.p0(i64 4, ptr %463) #11
  %14986 = call ptr @__errno_location() #12
  %14987 = load i32, ptr %14986, align 4, !tbaa !5
  store i32 %14987, ptr %463, align 4, !tbaa !5
  %14988 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14989 = call i32 @s2n_print_stacktrace(ptr noundef %14988)
  %14990 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14991 = trunc i8 %14990 to i1
  br i1 %14991, label %14992, label %15014

14992:                                            ; preds = %14985
  %14993 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14994 = call i32 @fileno(ptr noundef %14993) #11
  %14995 = call i32 @isatty(i32 noundef %14994) #11
  %14996 = icmp ne i32 %14995, 0
  br i1 %14996, label %14997, label %15014

14997:                                            ; preds = %14992
  %14998 = load i32, ptr %463, align 4, !tbaa !5
  %14999 = call ptr @__errno_location() #12
  store i32 %14998, ptr %14999, align 4, !tbaa !5
  %15000 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15001 = load i32, ptr @test_count, align 4, !tbaa !5
  %15002 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15003 = load i32, ptr %15002, align 4, !tbaa !5
  %15004 = call ptr @s2n_strerror(i32 noundef %15003, ptr noundef @.str.5)
  %15005 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15006 = load i32, ptr %15005, align 4, !tbaa !5
  %15007 = call ptr @s2n_strerror_debug(i32 noundef %15006, ptr noundef @.str.5)
  %15008 = call ptr @__errno_location() #12
  %15009 = load i32, ptr %15008, align 4, !tbaa !5
  %15010 = call ptr @strerror(i32 noundef %15009) #11
  %15011 = call ptr @__errno_location() #12
  %15012 = load i32, ptr %15011, align 4, !tbaa !5
  %15013 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15000, ptr noundef @.str.3, i32 noundef %15001, ptr noundef @.str.80, ptr noundef @.str.2, i32 noundef 721, ptr noundef %15004, ptr noundef %15007, ptr noundef %15010, i32 noundef %15012) #11
  br label %15031

15014:                                            ; preds = %14992, %14985
  %15015 = load i32, ptr %463, align 4, !tbaa !5
  %15016 = call ptr @__errno_location() #12
  store i32 %15015, ptr %15016, align 4, !tbaa !5
  %15017 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15018 = load i32, ptr @test_count, align 4, !tbaa !5
  %15019 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15020 = load i32, ptr %15019, align 4, !tbaa !5
  %15021 = call ptr @s2n_strerror(i32 noundef %15020, ptr noundef @.str.5)
  %15022 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15023 = load i32, ptr %15022, align 4, !tbaa !5
  %15024 = call ptr @s2n_strerror_debug(i32 noundef %15023, ptr noundef @.str.5)
  %15025 = call ptr @__errno_location() #12
  %15026 = load i32, ptr %15025, align 4, !tbaa !5
  %15027 = call ptr @strerror(i32 noundef %15026) #11
  %15028 = call ptr @__errno_location() #12
  %15029 = load i32, ptr %15028, align 4, !tbaa !5
  %15030 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15017, ptr noundef @.str.6, i32 noundef %15018, ptr noundef @.str.80, ptr noundef @.str.2, i32 noundef 721, ptr noundef %15021, ptr noundef %15024, ptr noundef %15027, i32 noundef %15029) #11
  br label %15031

15031:                                            ; preds = %15014, %14997
  call void @llvm.lifetime.end.p0(i64 4, ptr %463) #11
  br label %15032

15032:                                            ; preds = %15031
  br label %15033

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

15034:                                            ; No predecessors!
  br label %15035

15035:                                            ; preds = %15034
  br label %15036

15036:                                            ; preds = %15035, %14974
  br label %15037

15037:                                            ; preds = %15036
  br label %15038

15038:                                            ; preds = %15037
  call void @llvm.lifetime.start.p0(i64 4, ptr %464) #11
  store i32 0, ptr %464, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %465) #11
  %15039 = load ptr, ptr %459, align 8, !tbaa !9
  %15040 = getelementptr inbounds %struct.s2n_test_iovecs, ptr %455, i32 0, i32 0
  %15041 = load ptr, ptr %15040, align 8, !tbaa !63
  %15042 = getelementptr inbounds %struct.s2n_test_iovecs, ptr %455, i32 0, i32 1
  %15043 = load i64, ptr %15042, align 8, !tbaa !65
  %15044 = call i64 @s2n_ktls_sendv_with_offset(ptr noundef %15039, ptr noundef %15041, i64 noundef %15043, i64 noundef 16385, ptr noundef %464)
  store i64 %15044, ptr %465, align 8, !tbaa !20
  br label %15045

15045:                                            ; preds = %15038
  br label %15046

15046:                                            ; preds = %15045
  br label %15047

15047:                                            ; preds = %15046
  %15048 = load i32, ptr @test_count, align 4, !tbaa !5
  %15049 = add nsw i32 %15048, 1
  store i32 %15049, ptr @test_count, align 4, !tbaa !5
  %15050 = load i64, ptr %465, align 8, !tbaa !20
  %15051 = icmp eq i64 %15050, -1
  br i1 %15051, label %15105, label %15052

15052:                                            ; preds = %15047
  br label %15053

15053:                                            ; preds = %15052
  br label %15054

15054:                                            ; preds = %15053
  call void @llvm.lifetime.start.p0(i64 4, ptr %466) #11
  %15055 = call ptr @__errno_location() #12
  %15056 = load i32, ptr %15055, align 4, !tbaa !5
  store i32 %15056, ptr %466, align 4, !tbaa !5
  %15057 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15058 = call i32 @s2n_print_stacktrace(ptr noundef %15057)
  %15059 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15060 = trunc i8 %15059 to i1
  br i1 %15060, label %15061, label %15083

15061:                                            ; preds = %15054
  %15062 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15063 = call i32 @fileno(ptr noundef %15062) #11
  %15064 = call i32 @isatty(i32 noundef %15063) #11
  %15065 = icmp ne i32 %15064, 0
  br i1 %15065, label %15066, label %15083

15066:                                            ; preds = %15061
  %15067 = load i32, ptr %466, align 4, !tbaa !5
  %15068 = call ptr @__errno_location() #12
  store i32 %15067, ptr %15068, align 4, !tbaa !5
  %15069 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15070 = load i32, ptr @test_count, align 4, !tbaa !5
  %15071 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15072 = load i32, ptr %15071, align 4, !tbaa !5
  %15073 = call ptr @s2n_strerror(i32 noundef %15072, ptr noundef @.str.5)
  %15074 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15075 = load i32, ptr %15074, align 4, !tbaa !5
  %15076 = call ptr @s2n_strerror_debug(i32 noundef %15075, ptr noundef @.str.5)
  %15077 = call ptr @__errno_location() #12
  %15078 = load i32, ptr %15077, align 4, !tbaa !5
  %15079 = call ptr @strerror(i32 noundef %15078) #11
  %15080 = call ptr @__errno_location() #12
  %15081 = load i32, ptr %15080, align 4, !tbaa !5
  %15082 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15069, ptr noundef @.str.3, i32 noundef %15070, ptr noundef @.str.96, ptr noundef @.str.2, i32 noundef 726, ptr noundef %15073, ptr noundef %15076, ptr noundef %15079, i32 noundef %15081) #11
  br label %15100

15083:                                            ; preds = %15061, %15054
  %15084 = load i32, ptr %466, align 4, !tbaa !5
  %15085 = call ptr @__errno_location() #12
  store i32 %15084, ptr %15085, align 4, !tbaa !5
  %15086 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15087 = load i32, ptr @test_count, align 4, !tbaa !5
  %15088 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15089 = load i32, ptr %15088, align 4, !tbaa !5
  %15090 = call ptr @s2n_strerror(i32 noundef %15089, ptr noundef @.str.5)
  %15091 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15092 = load i32, ptr %15091, align 4, !tbaa !5
  %15093 = call ptr @s2n_strerror_debug(i32 noundef %15092, ptr noundef @.str.5)
  %15094 = call ptr @__errno_location() #12
  %15095 = load i32, ptr %15094, align 4, !tbaa !5
  %15096 = call ptr @strerror(i32 noundef %15095) #11
  %15097 = call ptr @__errno_location() #12
  %15098 = load i32, ptr %15097, align 4, !tbaa !5
  %15099 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15086, ptr noundef @.str.6, i32 noundef %15087, ptr noundef @.str.96, ptr noundef @.str.2, i32 noundef 726, ptr noundef %15090, ptr noundef %15093, ptr noundef %15096, i32 noundef %15098) #11
  br label %15100

15100:                                            ; preds = %15083, %15066
  call void @llvm.lifetime.end.p0(i64 4, ptr %466) #11
  br label %15101

15101:                                            ; preds = %15100
  br label %15102

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

15103:                                            ; No predecessors!
  br label %15104

15104:                                            ; preds = %15103
  br label %15105

15105:                                            ; preds = %15104, %15047
  br label %15106

15106:                                            ; preds = %15105
  br label %15107

15107:                                            ; preds = %15106
  br label %15108

15108:                                            ; preds = %15107
  %15109 = load i32, ptr @test_count, align 4, !tbaa !5
  %15110 = add nsw i32 %15109, 1
  store i32 %15110, ptr @test_count, align 4, !tbaa !5
  %15111 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15112 = load i32, ptr %15111, align 4, !tbaa !5
  %15113 = icmp eq i32 %15112, 469762089
  br i1 %15113, label %15167, label %15114

15114:                                            ; preds = %15108
  br label %15115

15115:                                            ; preds = %15114
  br label %15116

15116:                                            ; preds = %15115
  call void @llvm.lifetime.start.p0(i64 4, ptr %467) #11
  %15117 = call ptr @__errno_location() #12
  %15118 = load i32, ptr %15117, align 4, !tbaa !5
  store i32 %15118, ptr %467, align 4, !tbaa !5
  %15119 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15120 = call i32 @s2n_print_stacktrace(ptr noundef %15119)
  %15121 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15122 = trunc i8 %15121 to i1
  br i1 %15122, label %15123, label %15145

15123:                                            ; preds = %15116
  %15124 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15125 = call i32 @fileno(ptr noundef %15124) #11
  %15126 = call i32 @isatty(i32 noundef %15125) #11
  %15127 = icmp ne i32 %15126, 0
  br i1 %15127, label %15128, label %15145

15128:                                            ; preds = %15123
  %15129 = load i32, ptr %467, align 4, !tbaa !5
  %15130 = call ptr @__errno_location() #12
  store i32 %15129, ptr %15130, align 4, !tbaa !5
  %15131 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15132 = load i32, ptr @test_count, align 4, !tbaa !5
  %15133 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15134 = load i32, ptr %15133, align 4, !tbaa !5
  %15135 = call ptr @s2n_strerror(i32 noundef %15134, ptr noundef @.str.5)
  %15136 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15137 = load i32, ptr %15136, align 4, !tbaa !5
  %15138 = call ptr @s2n_strerror_debug(i32 noundef %15137, ptr noundef @.str.5)
  %15139 = call ptr @__errno_location() #12
  %15140 = load i32, ptr %15139, align 4, !tbaa !5
  %15141 = call ptr @strerror(i32 noundef %15140) #11
  %15142 = call ptr @__errno_location() #12
  %15143 = load i32, ptr %15142, align 4, !tbaa !5
  %15144 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15131, ptr noundef @.str.3, i32 noundef %15132, ptr noundef @.str.77, ptr noundef @.str.2, i32 noundef 726, ptr noundef %15135, ptr noundef %15138, ptr noundef %15141, i32 noundef %15143) #11
  br label %15162

15145:                                            ; preds = %15123, %15116
  %15146 = load i32, ptr %467, align 4, !tbaa !5
  %15147 = call ptr @__errno_location() #12
  store i32 %15146, ptr %15147, align 4, !tbaa !5
  %15148 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15149 = load i32, ptr @test_count, align 4, !tbaa !5
  %15150 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15151 = load i32, ptr %15150, align 4, !tbaa !5
  %15152 = call ptr @s2n_strerror(i32 noundef %15151, ptr noundef @.str.5)
  %15153 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15154 = load i32, ptr %15153, align 4, !tbaa !5
  %15155 = call ptr @s2n_strerror_debug(i32 noundef %15154, ptr noundef @.str.5)
  %15156 = call ptr @__errno_location() #12
  %15157 = load i32, ptr %15156, align 4, !tbaa !5
  %15158 = call ptr @strerror(i32 noundef %15157) #11
  %15159 = call ptr @__errno_location() #12
  %15160 = load i32, ptr %15159, align 4, !tbaa !5
  %15161 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15148, ptr noundef @.str.6, i32 noundef %15149, ptr noundef @.str.77, ptr noundef @.str.2, i32 noundef 726, ptr noundef %15152, ptr noundef %15155, ptr noundef %15158, i32 noundef %15160) #11
  br label %15162

15162:                                            ; preds = %15145, %15128
  call void @llvm.lifetime.end.p0(i64 4, ptr %467) #11
  br label %15163

15163:                                            ; preds = %15162
  br label %15164

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

15165:                                            ; No predecessors!
  br label %15166

15166:                                            ; preds = %15165
  br label %15167

15167:                                            ; preds = %15166, %15108
  br label %15168

15168:                                            ; preds = %15167
  br label %15169

15169:                                            ; preds = %15168
  br label %15170

15170:                                            ; preds = %15169
  %15171 = load i32, ptr @test_count, align 4, !tbaa !5
  %15172 = add nsw i32 %15171, 1
  store i32 %15172, ptr @test_count, align 4, !tbaa !5
  %15173 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15174 = load i32, ptr %15173, align 4, !tbaa !5
  %15175 = call ptr @s2n_strerror_debug(i32 noundef %15174, ptr noundef @.str.5)
  %15176 = icmp eq ptr %15175, null
  br i1 %15176, label %15177, label %15230

15177:                                            ; preds = %15170
  br label %15178

15178:                                            ; preds = %15177
  br label %15179

15179:                                            ; preds = %15178
  call void @llvm.lifetime.start.p0(i64 4, ptr %468) #11
  %15180 = call ptr @__errno_location() #12
  %15181 = load i32, ptr %15180, align 4, !tbaa !5
  store i32 %15181, ptr %468, align 4, !tbaa !5
  %15182 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15183 = call i32 @s2n_print_stacktrace(ptr noundef %15182)
  %15184 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15185 = trunc i8 %15184 to i1
  br i1 %15185, label %15186, label %15208

15186:                                            ; preds = %15179
  %15187 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15188 = call i32 @fileno(ptr noundef %15187) #11
  %15189 = call i32 @isatty(i32 noundef %15188) #11
  %15190 = icmp ne i32 %15189, 0
  br i1 %15190, label %15191, label %15208

15191:                                            ; preds = %15186
  %15192 = load i32, ptr %468, align 4, !tbaa !5
  %15193 = call ptr @__errno_location() #12
  store i32 %15192, ptr %15193, align 4, !tbaa !5
  %15194 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15195 = load i32, ptr @test_count, align 4, !tbaa !5
  %15196 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15197 = load i32, ptr %15196, align 4, !tbaa !5
  %15198 = call ptr @s2n_strerror(i32 noundef %15197, ptr noundef @.str.5)
  %15199 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15200 = load i32, ptr %15199, align 4, !tbaa !5
  %15201 = call ptr @s2n_strerror_debug(i32 noundef %15200, ptr noundef @.str.5)
  %15202 = call ptr @__errno_location() #12
  %15203 = load i32, ptr %15202, align 4, !tbaa !5
  %15204 = call ptr @strerror(i32 noundef %15203) #11
  %15205 = call ptr @__errno_location() #12
  %15206 = load i32, ptr %15205, align 4, !tbaa !5
  %15207 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15194, ptr noundef @.str.3, i32 noundef %15195, ptr noundef @.str.13, ptr noundef @.str.2, i32 noundef 726, ptr noundef %15198, ptr noundef %15201, ptr noundef %15204, i32 noundef %15206) #11
  br label %15225

15208:                                            ; preds = %15186, %15179
  %15209 = load i32, ptr %468, align 4, !tbaa !5
  %15210 = call ptr @__errno_location() #12
  store i32 %15209, ptr %15210, align 4, !tbaa !5
  %15211 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15212 = load i32, ptr @test_count, align 4, !tbaa !5
  %15213 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15214 = load i32, ptr %15213, align 4, !tbaa !5
  %15215 = call ptr @s2n_strerror(i32 noundef %15214, ptr noundef @.str.5)
  %15216 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15217 = load i32, ptr %15216, align 4, !tbaa !5
  %15218 = call ptr @s2n_strerror_debug(i32 noundef %15217, ptr noundef @.str.5)
  %15219 = call ptr @__errno_location() #12
  %15220 = load i32, ptr %15219, align 4, !tbaa !5
  %15221 = call ptr @strerror(i32 noundef %15220) #11
  %15222 = call ptr @__errno_location() #12
  %15223 = load i32, ptr %15222, align 4, !tbaa !5
  %15224 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15211, ptr noundef @.str.6, i32 noundef %15212, ptr noundef @.str.13, ptr noundef @.str.2, i32 noundef 726, ptr noundef %15215, ptr noundef %15218, ptr noundef %15221, i32 noundef %15223) #11
  br label %15225

15225:                                            ; preds = %15208, %15191
  call void @llvm.lifetime.end.p0(i64 4, ptr %468) #11
  br label %15226

15226:                                            ; preds = %15225
  br label %15227

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

15228:                                            ; No predecessors!
  br label %15229

15229:                                            ; preds = %15228
  br label %15230

15230:                                            ; preds = %15229, %15170
  br label %15231

15231:                                            ; preds = %15230
  br label %15232

15232:                                            ; preds = %15231
  br label %15233

15233:                                            ; preds = %15232
  br label %15234

15234:                                            ; preds = %15233
  br label %15235

15235:                                            ; preds = %15234
  %15236 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %15236, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %15237 = call ptr @__errno_location() #12
  store i32 0, ptr %15237, align 4, !tbaa !5
  br label %15238

15238:                                            ; preds = %15235
  br label %15239

15239:                                            ; preds = %15238
  br label %15240

15240:                                            ; preds = %15239
  br label %15241

15241:                                            ; preds = %15240
  br label %15242

15242:                                            ; preds = %15241
  %15243 = load i32, ptr @test_count, align 4, !tbaa !5
  %15244 = add nsw i32 %15243, 1
  store i32 %15244, ptr @test_count, align 4, !tbaa !5
  %15245 = getelementptr inbounds %struct.s2n_test_ktls_io_stuffer, ptr %461, i32 0, i32 2
  %15246 = load i64, ptr %15245, align 8, !tbaa !47
  %15247 = icmp eq i64 %15246, 0
  br i1 %15247, label %15301, label %15248

15248:                                            ; preds = %15242
  br label %15249

15249:                                            ; preds = %15248
  br label %15250

15250:                                            ; preds = %15249
  call void @llvm.lifetime.start.p0(i64 4, ptr %469) #11
  %15251 = call ptr @__errno_location() #12
  %15252 = load i32, ptr %15251, align 4, !tbaa !5
  store i32 %15252, ptr %469, align 4, !tbaa !5
  %15253 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15254 = call i32 @s2n_print_stacktrace(ptr noundef %15253)
  %15255 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15256 = trunc i8 %15255 to i1
  br i1 %15256, label %15257, label %15279

15257:                                            ; preds = %15250
  %15258 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15259 = call i32 @fileno(ptr noundef %15258) #11
  %15260 = call i32 @isatty(i32 noundef %15259) #11
  %15261 = icmp ne i32 %15260, 0
  br i1 %15261, label %15262, label %15279

15262:                                            ; preds = %15257
  %15263 = load i32, ptr %469, align 4, !tbaa !5
  %15264 = call ptr @__errno_location() #12
  store i32 %15263, ptr %15264, align 4, !tbaa !5
  %15265 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15266 = load i32, ptr @test_count, align 4, !tbaa !5
  %15267 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15268 = load i32, ptr %15267, align 4, !tbaa !5
  %15269 = call ptr @s2n_strerror(i32 noundef %15268, ptr noundef @.str.5)
  %15270 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15271 = load i32, ptr %15270, align 4, !tbaa !5
  %15272 = call ptr @s2n_strerror_debug(i32 noundef %15271, ptr noundef @.str.5)
  %15273 = call ptr @__errno_location() #12
  %15274 = load i32, ptr %15273, align 4, !tbaa !5
  %15275 = call ptr @strerror(i32 noundef %15274) #11
  %15276 = call ptr @__errno_location() #12
  %15277 = load i32, ptr %15276, align 4, !tbaa !5
  %15278 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15265, ptr noundef @.str.3, i32 noundef %15266, ptr noundef @.str.97, ptr noundef @.str.2, i32 noundef 728, ptr noundef %15269, ptr noundef %15272, ptr noundef %15275, i32 noundef %15277) #11
  br label %15296

15279:                                            ; preds = %15257, %15250
  %15280 = load i32, ptr %469, align 4, !tbaa !5
  %15281 = call ptr @__errno_location() #12
  store i32 %15280, ptr %15281, align 4, !tbaa !5
  %15282 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15283 = load i32, ptr @test_count, align 4, !tbaa !5
  %15284 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15285 = load i32, ptr %15284, align 4, !tbaa !5
  %15286 = call ptr @s2n_strerror(i32 noundef %15285, ptr noundef @.str.5)
  %15287 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15288 = load i32, ptr %15287, align 4, !tbaa !5
  %15289 = call ptr @s2n_strerror_debug(i32 noundef %15288, ptr noundef @.str.5)
  %15290 = call ptr @__errno_location() #12
  %15291 = load i32, ptr %15290, align 4, !tbaa !5
  %15292 = call ptr @strerror(i32 noundef %15291) #11
  %15293 = call ptr @__errno_location() #12
  %15294 = load i32, ptr %15293, align 4, !tbaa !5
  %15295 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15282, ptr noundef @.str.6, i32 noundef %15283, ptr noundef @.str.97, ptr noundef @.str.2, i32 noundef 728, ptr noundef %15286, ptr noundef %15289, ptr noundef %15292, i32 noundef %15294) #11
  br label %15296

15296:                                            ; preds = %15279, %15262
  call void @llvm.lifetime.end.p0(i64 4, ptr %469) #11
  br label %15297

15297:                                            ; preds = %15296
  br label %15298

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

15299:                                            ; No predecessors!
  br label %15300

15300:                                            ; preds = %15299
  br label %15301

15301:                                            ; preds = %15300, %15242
  br label %15302

15302:                                            ; preds = %15301
  br label %15303

15303:                                            ; preds = %15302
  br label %15304

15304:                                            ; preds = %15303
  %15305 = load i32, ptr @test_count, align 4, !tbaa !5
  %15306 = add nsw i32 %15305, 1
  store i32 %15306, ptr @test_count, align 4, !tbaa !5
  %15307 = load i32, ptr %464, align 4, !tbaa !5
  %15308 = icmp eq i32 %15307, 0
  br i1 %15308, label %15362, label %15309

15309:                                            ; preds = %15304
  br label %15310

15310:                                            ; preds = %15309
  br label %15311

15311:                                            ; preds = %15310
  call void @llvm.lifetime.start.p0(i64 4, ptr %470) #11
  %15312 = call ptr @__errno_location() #12
  %15313 = load i32, ptr %15312, align 4, !tbaa !5
  store i32 %15313, ptr %470, align 4, !tbaa !5
  %15314 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15315 = call i32 @s2n_print_stacktrace(ptr noundef %15314)
  %15316 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15317 = trunc i8 %15316 to i1
  br i1 %15317, label %15318, label %15340

15318:                                            ; preds = %15311
  %15319 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15320 = call i32 @fileno(ptr noundef %15319) #11
  %15321 = call i32 @isatty(i32 noundef %15320) #11
  %15322 = icmp ne i32 %15321, 0
  br i1 %15322, label %15323, label %15340

15323:                                            ; preds = %15318
  %15324 = load i32, ptr %470, align 4, !tbaa !5
  %15325 = call ptr @__errno_location() #12
  store i32 %15324, ptr %15325, align 4, !tbaa !5
  %15326 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15327 = load i32, ptr @test_count, align 4, !tbaa !5
  %15328 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15329 = load i32, ptr %15328, align 4, !tbaa !5
  %15330 = call ptr @s2n_strerror(i32 noundef %15329, ptr noundef @.str.5)
  %15331 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15332 = load i32, ptr %15331, align 4, !tbaa !5
  %15333 = call ptr @s2n_strerror_debug(i32 noundef %15332, ptr noundef @.str.5)
  %15334 = call ptr @__errno_location() #12
  %15335 = load i32, ptr %15334, align 4, !tbaa !5
  %15336 = call ptr @strerror(i32 noundef %15335) #11
  %15337 = call ptr @__errno_location() #12
  %15338 = load i32, ptr %15337, align 4, !tbaa !5
  %15339 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15326, ptr noundef @.str.3, i32 noundef %15327, ptr noundef @.str.31, ptr noundef @.str.2, i32 noundef 729, ptr noundef %15330, ptr noundef %15333, ptr noundef %15336, i32 noundef %15338) #11
  br label %15357

15340:                                            ; preds = %15318, %15311
  %15341 = load i32, ptr %470, align 4, !tbaa !5
  %15342 = call ptr @__errno_location() #12
  store i32 %15341, ptr %15342, align 4, !tbaa !5
  %15343 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15344 = load i32, ptr @test_count, align 4, !tbaa !5
  %15345 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15346 = load i32, ptr %15345, align 4, !tbaa !5
  %15347 = call ptr @s2n_strerror(i32 noundef %15346, ptr noundef @.str.5)
  %15348 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15349 = load i32, ptr %15348, align 4, !tbaa !5
  %15350 = call ptr @s2n_strerror_debug(i32 noundef %15349, ptr noundef @.str.5)
  %15351 = call ptr @__errno_location() #12
  %15352 = load i32, ptr %15351, align 4, !tbaa !5
  %15353 = call ptr @strerror(i32 noundef %15352) #11
  %15354 = call ptr @__errno_location() #12
  %15355 = load i32, ptr %15354, align 4, !tbaa !5
  %15356 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15343, ptr noundef @.str.6, i32 noundef %15344, ptr noundef @.str.31, ptr noundef @.str.2, i32 noundef 729, ptr noundef %15347, ptr noundef %15350, ptr noundef %15353, i32 noundef %15355) #11
  br label %15357

15357:                                            ; preds = %15340, %15323
  call void @llvm.lifetime.end.p0(i64 4, ptr %470) #11
  br label %15358

15358:                                            ; preds = %15357
  br label %15359

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

15360:                                            ; No predecessors!
  br label %15361

15361:                                            ; preds = %15360
  br label %15362

15362:                                            ; preds = %15361, %15304
  br label %15363

15363:                                            ; preds = %15362
  br label %15364

15364:                                            ; preds = %15363
  br label %15365

15365:                                            ; preds = %15364
  %15366 = load i32, ptr @test_count, align 4, !tbaa !5
  %15367 = add nsw i32 %15366, 1
  store i32 %15367, ptr @test_count, align 4, !tbaa !5
  %15368 = call i32 @s2n_test_records_in_ancillary(ptr noundef %461, i16 noundef zeroext 0)
  %15369 = getelementptr inbounds %struct.s2n_result, ptr %471, i32 0, i32 0
  store i32 %15368, ptr %15369, align 4
  %15370 = getelementptr inbounds %struct.s2n_result, ptr %471, i32 0, i32 0
  %15371 = load i32, ptr %15370, align 4
  %15372 = call zeroext i1 @s2n_result_is_ok(i32 %15371)
  br i1 %15372, label %15426, label %15373

15373:                                            ; preds = %15365
  br label %15374

15374:                                            ; preds = %15373
  br label %15375

15375:                                            ; preds = %15374
  call void @llvm.lifetime.start.p0(i64 4, ptr %472) #11
  %15376 = call ptr @__errno_location() #12
  %15377 = load i32, ptr %15376, align 4, !tbaa !5
  store i32 %15377, ptr %472, align 4, !tbaa !5
  %15378 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15379 = call i32 @s2n_print_stacktrace(ptr noundef %15378)
  %15380 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15381 = trunc i8 %15380 to i1
  br i1 %15381, label %15382, label %15404

15382:                                            ; preds = %15375
  %15383 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15384 = call i32 @fileno(ptr noundef %15383) #11
  %15385 = call i32 @isatty(i32 noundef %15384) #11
  %15386 = icmp ne i32 %15385, 0
  br i1 %15386, label %15387, label %15404

15387:                                            ; preds = %15382
  %15388 = load i32, ptr %472, align 4, !tbaa !5
  %15389 = call ptr @__errno_location() #12
  store i32 %15388, ptr %15389, align 4, !tbaa !5
  %15390 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15391 = load i32, ptr @test_count, align 4, !tbaa !5
  %15392 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15393 = load i32, ptr %15392, align 4, !tbaa !5
  %15394 = call ptr @s2n_strerror(i32 noundef %15393, ptr noundef @.str.5)
  %15395 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15396 = load i32, ptr %15395, align 4, !tbaa !5
  %15397 = call ptr @s2n_strerror_debug(i32 noundef %15396, ptr noundef @.str.5)
  %15398 = call ptr @__errno_location() #12
  %15399 = load i32, ptr %15398, align 4, !tbaa !5
  %15400 = call ptr @strerror(i32 noundef %15399) #11
  %15401 = call ptr @__errno_location() #12
  %15402 = load i32, ptr %15401, align 4, !tbaa !5
  %15403 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15390, ptr noundef @.str.3, i32 noundef %15391, ptr noundef @.str.89, ptr noundef @.str.2, i32 noundef 730, ptr noundef %15394, ptr noundef %15397, ptr noundef %15400, i32 noundef %15402) #11
  br label %15421

15404:                                            ; preds = %15382, %15375
  %15405 = load i32, ptr %472, align 4, !tbaa !5
  %15406 = call ptr @__errno_location() #12
  store i32 %15405, ptr %15406, align 4, !tbaa !5
  %15407 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15408 = load i32, ptr @test_count, align 4, !tbaa !5
  %15409 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15410 = load i32, ptr %15409, align 4, !tbaa !5
  %15411 = call ptr @s2n_strerror(i32 noundef %15410, ptr noundef @.str.5)
  %15412 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15413 = load i32, ptr %15412, align 4, !tbaa !5
  %15414 = call ptr @s2n_strerror_debug(i32 noundef %15413, ptr noundef @.str.5)
  %15415 = call ptr @__errno_location() #12
  %15416 = load i32, ptr %15415, align 4, !tbaa !5
  %15417 = call ptr @strerror(i32 noundef %15416) #11
  %15418 = call ptr @__errno_location() #12
  %15419 = load i32, ptr %15418, align 4, !tbaa !5
  %15420 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15407, ptr noundef @.str.6, i32 noundef %15408, ptr noundef @.str.89, ptr noundef @.str.2, i32 noundef 730, ptr noundef %15411, ptr noundef %15414, ptr noundef %15417, i32 noundef %15419) #11
  br label %15421

15421:                                            ; preds = %15404, %15387
  call void @llvm.lifetime.end.p0(i64 4, ptr %472) #11
  br label %15422

15422:                                            ; preds = %15421
  br label %15423

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

15424:                                            ; No predecessors!
  br label %15425

15425:                                            ; preds = %15424
  br label %15426

15426:                                            ; preds = %15425, %15365
  br label %15427

15427:                                            ; preds = %15426
  br label %15428

15428:                                            ; preds = %15427
  call void @llvm.lifetime.end.p0(i64 8, ptr %465) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %464) #11
  %15429 = call i32 @s2n_ktls_io_stuffer_free(ptr noundef %461)
  %15430 = getelementptr inbounds %struct.s2n_result, ptr %473, i32 0, i32 0
  store i32 %15429, ptr %15430, align 4
  call void @llvm.lifetime.end.p0(i64 96, ptr %461) #11
  %15431 = call i32 @s2n_connection_ptr_free(ptr noundef %459)
  %15432 = getelementptr inbounds %struct.s2n_result, ptr %474, i32 0, i32 0
  store i32 %15431, ptr %15432, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %459) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %458) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %475) #11
  store i64 16384, ptr %475, align 8, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 8, ptr %476) #11
  %15433 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %15433, ptr %476, align 8, !tbaa !9
  br label %15434

15434:                                            ; preds = %15428
  %15435 = load i32, ptr @test_count, align 4, !tbaa !5
  %15436 = add nsw i32 %15435, 1
  store i32 %15436, ptr @test_count, align 4, !tbaa !5
  %15437 = load ptr, ptr %476, align 8, !tbaa !9
  %15438 = icmp eq ptr %15437, null
  br i1 %15438, label %15439, label %15492

15439:                                            ; preds = %15434
  br label %15440

15440:                                            ; preds = %15439
  br label %15441

15441:                                            ; preds = %15440
  call void @llvm.lifetime.start.p0(i64 4, ptr %477) #11
  %15442 = call ptr @__errno_location() #12
  %15443 = load i32, ptr %15442, align 4, !tbaa !5
  store i32 %15443, ptr %477, align 4, !tbaa !5
  %15444 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15445 = call i32 @s2n_print_stacktrace(ptr noundef %15444)
  %15446 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15447 = trunc i8 %15446 to i1
  br i1 %15447, label %15448, label %15470

15448:                                            ; preds = %15441
  %15449 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15450 = call i32 @fileno(ptr noundef %15449) #11
  %15451 = call i32 @isatty(i32 noundef %15450) #11
  %15452 = icmp ne i32 %15451, 0
  br i1 %15452, label %15453, label %15470

15453:                                            ; preds = %15448
  %15454 = load i32, ptr %477, align 4, !tbaa !5
  %15455 = call ptr @__errno_location() #12
  store i32 %15454, ptr %15455, align 4, !tbaa !5
  %15456 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15457 = load i32, ptr @test_count, align 4, !tbaa !5
  %15458 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15459 = load i32, ptr %15458, align 4, !tbaa !5
  %15460 = call ptr @s2n_strerror(i32 noundef %15459, ptr noundef @.str.5)
  %15461 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15462 = load i32, ptr %15461, align 4, !tbaa !5
  %15463 = call ptr @s2n_strerror_debug(i32 noundef %15462, ptr noundef @.str.5)
  %15464 = call ptr @__errno_location() #12
  %15465 = load i32, ptr %15464, align 4, !tbaa !5
  %15466 = call ptr @strerror(i32 noundef %15465) #11
  %15467 = call ptr @__errno_location() #12
  %15468 = load i32, ptr %15467, align 4, !tbaa !5
  %15469 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15456, ptr noundef @.str.3, i32 noundef %15457, ptr noundef @.str.79, ptr noundef @.str.2, i32 noundef 739, ptr noundef %15460, ptr noundef %15463, ptr noundef %15466, i32 noundef %15468) #11
  br label %15487

15470:                                            ; preds = %15448, %15441
  %15471 = load i32, ptr %477, align 4, !tbaa !5
  %15472 = call ptr @__errno_location() #12
  store i32 %15471, ptr %15472, align 4, !tbaa !5
  %15473 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15474 = load i32, ptr @test_count, align 4, !tbaa !5
  %15475 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15476 = load i32, ptr %15475, align 4, !tbaa !5
  %15477 = call ptr @s2n_strerror(i32 noundef %15476, ptr noundef @.str.5)
  %15478 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15479 = load i32, ptr %15478, align 4, !tbaa !5
  %15480 = call ptr @s2n_strerror_debug(i32 noundef %15479, ptr noundef @.str.5)
  %15481 = call ptr @__errno_location() #12
  %15482 = load i32, ptr %15481, align 4, !tbaa !5
  %15483 = call ptr @strerror(i32 noundef %15482) #11
  %15484 = call ptr @__errno_location() #12
  %15485 = load i32, ptr %15484, align 4, !tbaa !5
  %15486 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15473, ptr noundef @.str.6, i32 noundef %15474, ptr noundef @.str.79, ptr noundef @.str.2, i32 noundef 739, ptr noundef %15477, ptr noundef %15480, ptr noundef %15483, i32 noundef %15485) #11
  br label %15487

15487:                                            ; preds = %15470, %15453
  call void @llvm.lifetime.end.p0(i64 4, ptr %477) #11
  br label %15488

15488:                                            ; preds = %15487
  br label %15489

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

15490:                                            ; No predecessors!
  br label %15491

15491:                                            ; preds = %15490
  br label %15492

15492:                                            ; preds = %15491, %15434
  br label %15493

15493:                                            ; preds = %15492
  br label %15494

15494:                                            ; preds = %15493
  call void @llvm.lifetime.start.p0(i64 96, ptr %478) #11
  call void @llvm.memset.p0.i64(ptr align 8 %478, i8 0, i64 96, i1 false)
  br label %15495

15495:                                            ; preds = %15494
  %15496 = load i32, ptr @test_count, align 4, !tbaa !5
  %15497 = add nsw i32 %15496, 1
  store i32 %15497, ptr @test_count, align 4, !tbaa !5
  %15498 = load ptr, ptr %476, align 8, !tbaa !9
  %15499 = call i32 @s2n_test_init_ktls_io_stuffer_send(ptr noundef %15498, ptr noundef %478)
  %15500 = getelementptr inbounds %struct.s2n_result, ptr %479, i32 0, i32 0
  store i32 %15499, ptr %15500, align 4
  %15501 = getelementptr inbounds %struct.s2n_result, ptr %479, i32 0, i32 0
  %15502 = load i32, ptr %15501, align 4
  %15503 = call zeroext i1 @s2n_result_is_ok(i32 %15502)
  br i1 %15503, label %15557, label %15504

15504:                                            ; preds = %15495
  br label %15505

15505:                                            ; preds = %15504
  br label %15506

15506:                                            ; preds = %15505
  call void @llvm.lifetime.start.p0(i64 4, ptr %480) #11
  %15507 = call ptr @__errno_location() #12
  %15508 = load i32, ptr %15507, align 4, !tbaa !5
  store i32 %15508, ptr %480, align 4, !tbaa !5
  %15509 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15510 = call i32 @s2n_print_stacktrace(ptr noundef %15509)
  %15511 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15512 = trunc i8 %15511 to i1
  br i1 %15512, label %15513, label %15535

15513:                                            ; preds = %15506
  %15514 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15515 = call i32 @fileno(ptr noundef %15514) #11
  %15516 = call i32 @isatty(i32 noundef %15515) #11
  %15517 = icmp ne i32 %15516, 0
  br i1 %15517, label %15518, label %15535

15518:                                            ; preds = %15513
  %15519 = load i32, ptr %480, align 4, !tbaa !5
  %15520 = call ptr @__errno_location() #12
  store i32 %15519, ptr %15520, align 4, !tbaa !5
  %15521 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15522 = load i32, ptr @test_count, align 4, !tbaa !5
  %15523 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15524 = load i32, ptr %15523, align 4, !tbaa !5
  %15525 = call ptr @s2n_strerror(i32 noundef %15524, ptr noundef @.str.5)
  %15526 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15527 = load i32, ptr %15526, align 4, !tbaa !5
  %15528 = call ptr @s2n_strerror_debug(i32 noundef %15527, ptr noundef @.str.5)
  %15529 = call ptr @__errno_location() #12
  %15530 = load i32, ptr %15529, align 4, !tbaa !5
  %15531 = call ptr @strerror(i32 noundef %15530) #11
  %15532 = call ptr @__errno_location() #12
  %15533 = load i32, ptr %15532, align 4, !tbaa !5
  %15534 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15521, ptr noundef @.str.3, i32 noundef %15522, ptr noundef @.str.80, ptr noundef @.str.2, i32 noundef 743, ptr noundef %15525, ptr noundef %15528, ptr noundef %15531, i32 noundef %15533) #11
  br label %15552

15535:                                            ; preds = %15513, %15506
  %15536 = load i32, ptr %480, align 4, !tbaa !5
  %15537 = call ptr @__errno_location() #12
  store i32 %15536, ptr %15537, align 4, !tbaa !5
  %15538 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15539 = load i32, ptr @test_count, align 4, !tbaa !5
  %15540 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15541 = load i32, ptr %15540, align 4, !tbaa !5
  %15542 = call ptr @s2n_strerror(i32 noundef %15541, ptr noundef @.str.5)
  %15543 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15544 = load i32, ptr %15543, align 4, !tbaa !5
  %15545 = call ptr @s2n_strerror_debug(i32 noundef %15544, ptr noundef @.str.5)
  %15546 = call ptr @__errno_location() #12
  %15547 = load i32, ptr %15546, align 4, !tbaa !5
  %15548 = call ptr @strerror(i32 noundef %15547) #11
  %15549 = call ptr @__errno_location() #12
  %15550 = load i32, ptr %15549, align 4, !tbaa !5
  %15551 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15538, ptr noundef @.str.6, i32 noundef %15539, ptr noundef @.str.80, ptr noundef @.str.2, i32 noundef 743, ptr noundef %15542, ptr noundef %15545, ptr noundef %15548, i32 noundef %15550) #11
  br label %15552

15552:                                            ; preds = %15535, %15518
  call void @llvm.lifetime.end.p0(i64 4, ptr %480) #11
  br label %15553

15553:                                            ; preds = %15552
  br label %15554

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

15555:                                            ; No predecessors!
  br label %15556

15556:                                            ; preds = %15555
  br label %15557

15557:                                            ; preds = %15556, %15495
  br label %15558

15558:                                            ; preds = %15557
  br label %15559

15559:                                            ; preds = %15558
  call void @llvm.lifetime.start.p0(i64 4, ptr %481) #11
  store i32 0, ptr %481, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %482) #11
  %15560 = load ptr, ptr %476, align 8, !tbaa !9
  %15561 = getelementptr inbounds %struct.s2n_test_iovecs, ptr %455, i32 0, i32 0
  %15562 = load ptr, ptr %15561, align 8, !tbaa !63
  %15563 = getelementptr inbounds %struct.s2n_test_iovecs, ptr %455, i32 0, i32 1
  %15564 = load i64, ptr %15563, align 8, !tbaa !65
  %15565 = call i64 @s2n_ktls_sendv_with_offset(ptr noundef %15560, ptr noundef %15562, i64 noundef %15564, i64 noundef 16384, ptr noundef %481)
  %15566 = trunc i64 %15565 to i32
  store i32 %15566, ptr %482, align 4, !tbaa !5
  br label %15567

15567:                                            ; preds = %15559
  %15568 = load i32, ptr @test_count, align 4, !tbaa !5
  %15569 = add nsw i32 %15568, 1
  store i32 %15569, ptr @test_count, align 4, !tbaa !5
  %15570 = load i32, ptr %482, align 4, !tbaa !5
  %15571 = icmp eq i32 %15570, 0
  br i1 %15571, label %15625, label %15572

15572:                                            ; preds = %15567
  br label %15573

15573:                                            ; preds = %15572
  br label %15574

15574:                                            ; preds = %15573
  call void @llvm.lifetime.start.p0(i64 4, ptr %483) #11
  %15575 = call ptr @__errno_location() #12
  %15576 = load i32, ptr %15575, align 4, !tbaa !5
  store i32 %15576, ptr %483, align 4, !tbaa !5
  %15577 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15578 = call i32 @s2n_print_stacktrace(ptr noundef %15577)
  %15579 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15580 = trunc i8 %15579 to i1
  br i1 %15580, label %15581, label %15603

15581:                                            ; preds = %15574
  %15582 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15583 = call i32 @fileno(ptr noundef %15582) #11
  %15584 = call i32 @isatty(i32 noundef %15583) #11
  %15585 = icmp ne i32 %15584, 0
  br i1 %15585, label %15586, label %15603

15586:                                            ; preds = %15581
  %15587 = load i32, ptr %483, align 4, !tbaa !5
  %15588 = call ptr @__errno_location() #12
  store i32 %15587, ptr %15588, align 4, !tbaa !5
  %15589 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15590 = load i32, ptr @test_count, align 4, !tbaa !5
  %15591 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15592 = load i32, ptr %15591, align 4, !tbaa !5
  %15593 = call ptr @s2n_strerror(i32 noundef %15592, ptr noundef @.str.5)
  %15594 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15595 = load i32, ptr %15594, align 4, !tbaa !5
  %15596 = call ptr @s2n_strerror_debug(i32 noundef %15595, ptr noundef @.str.5)
  %15597 = call ptr @__errno_location() #12
  %15598 = load i32, ptr %15597, align 4, !tbaa !5
  %15599 = call ptr @strerror(i32 noundef %15598) #11
  %15600 = call ptr @__errno_location() #12
  %15601 = load i32, ptr %15600, align 4, !tbaa !5
  %15602 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15589, ptr noundef @.str.3, i32 noundef %15590, ptr noundef @.str.98, ptr noundef @.str.2, i32 noundef 748, ptr noundef %15593, ptr noundef %15596, ptr noundef %15599, i32 noundef %15601) #11
  br label %15620

15603:                                            ; preds = %15581, %15574
  %15604 = load i32, ptr %483, align 4, !tbaa !5
  %15605 = call ptr @__errno_location() #12
  store i32 %15604, ptr %15605, align 4, !tbaa !5
  %15606 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15607 = load i32, ptr @test_count, align 4, !tbaa !5
  %15608 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15609 = load i32, ptr %15608, align 4, !tbaa !5
  %15610 = call ptr @s2n_strerror(i32 noundef %15609, ptr noundef @.str.5)
  %15611 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15612 = load i32, ptr %15611, align 4, !tbaa !5
  %15613 = call ptr @s2n_strerror_debug(i32 noundef %15612, ptr noundef @.str.5)
  %15614 = call ptr @__errno_location() #12
  %15615 = load i32, ptr %15614, align 4, !tbaa !5
  %15616 = call ptr @strerror(i32 noundef %15615) #11
  %15617 = call ptr @__errno_location() #12
  %15618 = load i32, ptr %15617, align 4, !tbaa !5
  %15619 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15606, ptr noundef @.str.6, i32 noundef %15607, ptr noundef @.str.98, ptr noundef @.str.2, i32 noundef 748, ptr noundef %15610, ptr noundef %15613, ptr noundef %15616, i32 noundef %15618) #11
  br label %15620

15620:                                            ; preds = %15603, %15586
  call void @llvm.lifetime.end.p0(i64 4, ptr %483) #11
  br label %15621

15621:                                            ; preds = %15620
  br label %15622

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

15623:                                            ; No predecessors!
  br label %15624

15624:                                            ; preds = %15623
  br label %15625

15625:                                            ; preds = %15624, %15567
  br label %15626

15626:                                            ; preds = %15625
  br label %15627

15627:                                            ; preds = %15626
  br label %15628

15628:                                            ; preds = %15627
  %15629 = load i32, ptr @test_count, align 4, !tbaa !5
  %15630 = add nsw i32 %15629, 1
  store i32 %15630, ptr @test_count, align 4, !tbaa !5
  %15631 = getelementptr inbounds %struct.s2n_test_ktls_io_stuffer, ptr %478, i32 0, i32 2
  %15632 = load i64, ptr %15631, align 8, !tbaa !47
  %15633 = icmp eq i64 %15632, 1
  br i1 %15633, label %15687, label %15634

15634:                                            ; preds = %15628
  br label %15635

15635:                                            ; preds = %15634
  br label %15636

15636:                                            ; preds = %15635
  call void @llvm.lifetime.start.p0(i64 4, ptr %484) #11
  %15637 = call ptr @__errno_location() #12
  %15638 = load i32, ptr %15637, align 4, !tbaa !5
  store i32 %15638, ptr %484, align 4, !tbaa !5
  %15639 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15640 = call i32 @s2n_print_stacktrace(ptr noundef %15639)
  %15641 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15642 = trunc i8 %15641 to i1
  br i1 %15642, label %15643, label %15665

15643:                                            ; preds = %15636
  %15644 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15645 = call i32 @fileno(ptr noundef %15644) #11
  %15646 = call i32 @isatty(i32 noundef %15645) #11
  %15647 = icmp ne i32 %15646, 0
  br i1 %15647, label %15648, label %15665

15648:                                            ; preds = %15643
  %15649 = load i32, ptr %484, align 4, !tbaa !5
  %15650 = call ptr @__errno_location() #12
  store i32 %15649, ptr %15650, align 4, !tbaa !5
  %15651 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15652 = load i32, ptr @test_count, align 4, !tbaa !5
  %15653 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15654 = load i32, ptr %15653, align 4, !tbaa !5
  %15655 = call ptr @s2n_strerror(i32 noundef %15654, ptr noundef @.str.5)
  %15656 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15657 = load i32, ptr %15656, align 4, !tbaa !5
  %15658 = call ptr @s2n_strerror_debug(i32 noundef %15657, ptr noundef @.str.5)
  %15659 = call ptr @__errno_location() #12
  %15660 = load i32, ptr %15659, align 4, !tbaa !5
  %15661 = call ptr @strerror(i32 noundef %15660) #11
  %15662 = call ptr @__errno_location() #12
  %15663 = load i32, ptr %15662, align 4, !tbaa !5
  %15664 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15651, ptr noundef @.str.3, i32 noundef %15652, ptr noundef @.str.82, ptr noundef @.str.2, i32 noundef 750, ptr noundef %15655, ptr noundef %15658, ptr noundef %15661, i32 noundef %15663) #11
  br label %15682

15665:                                            ; preds = %15643, %15636
  %15666 = load i32, ptr %484, align 4, !tbaa !5
  %15667 = call ptr @__errno_location() #12
  store i32 %15666, ptr %15667, align 4, !tbaa !5
  %15668 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15669 = load i32, ptr @test_count, align 4, !tbaa !5
  %15670 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15671 = load i32, ptr %15670, align 4, !tbaa !5
  %15672 = call ptr @s2n_strerror(i32 noundef %15671, ptr noundef @.str.5)
  %15673 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15674 = load i32, ptr %15673, align 4, !tbaa !5
  %15675 = call ptr @s2n_strerror_debug(i32 noundef %15674, ptr noundef @.str.5)
  %15676 = call ptr @__errno_location() #12
  %15677 = load i32, ptr %15676, align 4, !tbaa !5
  %15678 = call ptr @strerror(i32 noundef %15677) #11
  %15679 = call ptr @__errno_location() #12
  %15680 = load i32, ptr %15679, align 4, !tbaa !5
  %15681 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15668, ptr noundef @.str.6, i32 noundef %15669, ptr noundef @.str.82, ptr noundef @.str.2, i32 noundef 750, ptr noundef %15672, ptr noundef %15675, ptr noundef %15678, i32 noundef %15680) #11
  br label %15682

15682:                                            ; preds = %15665, %15648
  call void @llvm.lifetime.end.p0(i64 4, ptr %484) #11
  br label %15683

15683:                                            ; preds = %15682
  br label %15684

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

15685:                                            ; No predecessors!
  br label %15686

15686:                                            ; preds = %15685
  br label %15687

15687:                                            ; preds = %15686, %15628
  br label %15688

15688:                                            ; preds = %15687
  br label %15689

15689:                                            ; preds = %15688
  br label %15690

15690:                                            ; preds = %15689
  %15691 = load i32, ptr @test_count, align 4, !tbaa !5
  %15692 = add nsw i32 %15691, 1
  store i32 %15692, ptr @test_count, align 4, !tbaa !5
  %15693 = load i32, ptr %481, align 4, !tbaa !5
  %15694 = icmp eq i32 %15693, 0
  br i1 %15694, label %15748, label %15695

15695:                                            ; preds = %15690
  br label %15696

15696:                                            ; preds = %15695
  br label %15697

15697:                                            ; preds = %15696
  call void @llvm.lifetime.start.p0(i64 4, ptr %485) #11
  %15698 = call ptr @__errno_location() #12
  %15699 = load i32, ptr %15698, align 4, !tbaa !5
  store i32 %15699, ptr %485, align 4, !tbaa !5
  %15700 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15701 = call i32 @s2n_print_stacktrace(ptr noundef %15700)
  %15702 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15703 = trunc i8 %15702 to i1
  br i1 %15703, label %15704, label %15726

15704:                                            ; preds = %15697
  %15705 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15706 = call i32 @fileno(ptr noundef %15705) #11
  %15707 = call i32 @isatty(i32 noundef %15706) #11
  %15708 = icmp ne i32 %15707, 0
  br i1 %15708, label %15709, label %15726

15709:                                            ; preds = %15704
  %15710 = load i32, ptr %485, align 4, !tbaa !5
  %15711 = call ptr @__errno_location() #12
  store i32 %15710, ptr %15711, align 4, !tbaa !5
  %15712 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15713 = load i32, ptr @test_count, align 4, !tbaa !5
  %15714 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15715 = load i32, ptr %15714, align 4, !tbaa !5
  %15716 = call ptr @s2n_strerror(i32 noundef %15715, ptr noundef @.str.5)
  %15717 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15718 = load i32, ptr %15717, align 4, !tbaa !5
  %15719 = call ptr @s2n_strerror_debug(i32 noundef %15718, ptr noundef @.str.5)
  %15720 = call ptr @__errno_location() #12
  %15721 = load i32, ptr %15720, align 4, !tbaa !5
  %15722 = call ptr @strerror(i32 noundef %15721) #11
  %15723 = call ptr @__errno_location() #12
  %15724 = load i32, ptr %15723, align 4, !tbaa !5
  %15725 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15712, ptr noundef @.str.3, i32 noundef %15713, ptr noundef @.str.31, ptr noundef @.str.2, i32 noundef 751, ptr noundef %15716, ptr noundef %15719, ptr noundef %15722, i32 noundef %15724) #11
  br label %15743

15726:                                            ; preds = %15704, %15697
  %15727 = load i32, ptr %485, align 4, !tbaa !5
  %15728 = call ptr @__errno_location() #12
  store i32 %15727, ptr %15728, align 4, !tbaa !5
  %15729 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15730 = load i32, ptr @test_count, align 4, !tbaa !5
  %15731 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15732 = load i32, ptr %15731, align 4, !tbaa !5
  %15733 = call ptr @s2n_strerror(i32 noundef %15732, ptr noundef @.str.5)
  %15734 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15735 = load i32, ptr %15734, align 4, !tbaa !5
  %15736 = call ptr @s2n_strerror_debug(i32 noundef %15735, ptr noundef @.str.5)
  %15737 = call ptr @__errno_location() #12
  %15738 = load i32, ptr %15737, align 4, !tbaa !5
  %15739 = call ptr @strerror(i32 noundef %15738) #11
  %15740 = call ptr @__errno_location() #12
  %15741 = load i32, ptr %15740, align 4, !tbaa !5
  %15742 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15729, ptr noundef @.str.6, i32 noundef %15730, ptr noundef @.str.31, ptr noundef @.str.2, i32 noundef 751, ptr noundef %15733, ptr noundef %15736, ptr noundef %15739, i32 noundef %15741) #11
  br label %15743

15743:                                            ; preds = %15726, %15709
  call void @llvm.lifetime.end.p0(i64 4, ptr %485) #11
  br label %15744

15744:                                            ; preds = %15743
  br label %15745

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

15746:                                            ; No predecessors!
  br label %15747

15747:                                            ; preds = %15746
  br label %15748

15748:                                            ; preds = %15747, %15690
  br label %15749

15749:                                            ; preds = %15748
  br label %15750

15750:                                            ; preds = %15749
  br label %15751

15751:                                            ; preds = %15750
  %15752 = load i32, ptr @test_count, align 4, !tbaa !5
  %15753 = add nsw i32 %15752, 1
  store i32 %15753, ptr @test_count, align 4, !tbaa !5
  %15754 = call i32 @s2n_test_records_in_ancillary(ptr noundef %478, i16 noundef zeroext 0)
  %15755 = getelementptr inbounds %struct.s2n_result, ptr %486, i32 0, i32 0
  store i32 %15754, ptr %15755, align 4
  %15756 = getelementptr inbounds %struct.s2n_result, ptr %486, i32 0, i32 0
  %15757 = load i32, ptr %15756, align 4
  %15758 = call zeroext i1 @s2n_result_is_ok(i32 %15757)
  br i1 %15758, label %15812, label %15759

15759:                                            ; preds = %15751
  br label %15760

15760:                                            ; preds = %15759
  br label %15761

15761:                                            ; preds = %15760
  call void @llvm.lifetime.start.p0(i64 4, ptr %487) #11
  %15762 = call ptr @__errno_location() #12
  %15763 = load i32, ptr %15762, align 4, !tbaa !5
  store i32 %15763, ptr %487, align 4, !tbaa !5
  %15764 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15765 = call i32 @s2n_print_stacktrace(ptr noundef %15764)
  %15766 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15767 = trunc i8 %15766 to i1
  br i1 %15767, label %15768, label %15790

15768:                                            ; preds = %15761
  %15769 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15770 = call i32 @fileno(ptr noundef %15769) #11
  %15771 = call i32 @isatty(i32 noundef %15770) #11
  %15772 = icmp ne i32 %15771, 0
  br i1 %15772, label %15773, label %15790

15773:                                            ; preds = %15768
  %15774 = load i32, ptr %487, align 4, !tbaa !5
  %15775 = call ptr @__errno_location() #12
  store i32 %15774, ptr %15775, align 4, !tbaa !5
  %15776 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15777 = load i32, ptr @test_count, align 4, !tbaa !5
  %15778 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15779 = load i32, ptr %15778, align 4, !tbaa !5
  %15780 = call ptr @s2n_strerror(i32 noundef %15779, ptr noundef @.str.5)
  %15781 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15782 = load i32, ptr %15781, align 4, !tbaa !5
  %15783 = call ptr @s2n_strerror_debug(i32 noundef %15782, ptr noundef @.str.5)
  %15784 = call ptr @__errno_location() #12
  %15785 = load i32, ptr %15784, align 4, !tbaa !5
  %15786 = call ptr @strerror(i32 noundef %15785) #11
  %15787 = call ptr @__errno_location() #12
  %15788 = load i32, ptr %15787, align 4, !tbaa !5
  %15789 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15776, ptr noundef @.str.3, i32 noundef %15777, ptr noundef @.str.89, ptr noundef @.str.2, i32 noundef 752, ptr noundef %15780, ptr noundef %15783, ptr noundef %15786, i32 noundef %15788) #11
  br label %15807

15790:                                            ; preds = %15768, %15761
  %15791 = load i32, ptr %487, align 4, !tbaa !5
  %15792 = call ptr @__errno_location() #12
  store i32 %15791, ptr %15792, align 4, !tbaa !5
  %15793 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15794 = load i32, ptr @test_count, align 4, !tbaa !5
  %15795 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15796 = load i32, ptr %15795, align 4, !tbaa !5
  %15797 = call ptr @s2n_strerror(i32 noundef %15796, ptr noundef @.str.5)
  %15798 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15799 = load i32, ptr %15798, align 4, !tbaa !5
  %15800 = call ptr @s2n_strerror_debug(i32 noundef %15799, ptr noundef @.str.5)
  %15801 = call ptr @__errno_location() #12
  %15802 = load i32, ptr %15801, align 4, !tbaa !5
  %15803 = call ptr @strerror(i32 noundef %15802) #11
  %15804 = call ptr @__errno_location() #12
  %15805 = load i32, ptr %15804, align 4, !tbaa !5
  %15806 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15793, ptr noundef @.str.6, i32 noundef %15794, ptr noundef @.str.89, ptr noundef @.str.2, i32 noundef 752, ptr noundef %15797, ptr noundef %15800, ptr noundef %15803, i32 noundef %15805) #11
  br label %15807

15807:                                            ; preds = %15790, %15773
  call void @llvm.lifetime.end.p0(i64 4, ptr %487) #11
  br label %15808

15808:                                            ; preds = %15807
  br label %15809

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

15810:                                            ; No predecessors!
  br label %15811

15811:                                            ; preds = %15810
  br label %15812

15812:                                            ; preds = %15811, %15751
  br label %15813

15813:                                            ; preds = %15812
  br label %15814

15814:                                            ; preds = %15813
  call void @llvm.lifetime.end.p0(i64 4, ptr %482) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %481) #11
  %15815 = call i32 @s2n_ktls_io_stuffer_free(ptr noundef %478)
  %15816 = getelementptr inbounds %struct.s2n_result, ptr %488, i32 0, i32 0
  store i32 %15815, ptr %15816, align 4
  call void @llvm.lifetime.end.p0(i64 96, ptr %478) #11
  %15817 = call i32 @s2n_connection_ptr_free(ptr noundef %476)
  %15818 = getelementptr inbounds %struct.s2n_result, ptr %489, i32 0, i32 0
  store i32 %15817, ptr %15818, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %476) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %475) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %490) #11
  store i64 0, ptr %490, align 8, !tbaa !20
  br label %15819

15819:                                            ; preds = %16345, %15814
  %15820 = load i64, ptr %490, align 8, !tbaa !20
  %15821 = icmp ult i64 %15820, 16384
  br i1 %15821, label %15823, label %15822

15822:                                            ; preds = %15819
  call void @llvm.lifetime.end.p0(i64 8, ptr %490) #11
  br label %16348

15823:                                            ; preds = %15819
  call void @llvm.lifetime.start.p0(i64 8, ptr %491) #11
  %15824 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %15824, ptr %491, align 8, !tbaa !9
  br label %15825

15825:                                            ; preds = %15823
  %15826 = load i32, ptr @test_count, align 4, !tbaa !5
  %15827 = add nsw i32 %15826, 1
  store i32 %15827, ptr @test_count, align 4, !tbaa !5
  %15828 = load ptr, ptr %491, align 8, !tbaa !9
  %15829 = icmp eq ptr %15828, null
  br i1 %15829, label %15830, label %15883

15830:                                            ; preds = %15825
  br label %15831

15831:                                            ; preds = %15830
  br label %15832

15832:                                            ; preds = %15831
  call void @llvm.lifetime.start.p0(i64 4, ptr %492) #11
  %15833 = call ptr @__errno_location() #12
  %15834 = load i32, ptr %15833, align 4, !tbaa !5
  store i32 %15834, ptr %492, align 4, !tbaa !5
  %15835 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15836 = call i32 @s2n_print_stacktrace(ptr noundef %15835)
  %15837 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15838 = trunc i8 %15837 to i1
  br i1 %15838, label %15839, label %15861

15839:                                            ; preds = %15832
  %15840 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15841 = call i32 @fileno(ptr noundef %15840) #11
  %15842 = call i32 @isatty(i32 noundef %15841) #11
  %15843 = icmp ne i32 %15842, 0
  br i1 %15843, label %15844, label %15861

15844:                                            ; preds = %15839
  %15845 = load i32, ptr %492, align 4, !tbaa !5
  %15846 = call ptr @__errno_location() #12
  store i32 %15845, ptr %15846, align 4, !tbaa !5
  %15847 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15848 = load i32, ptr @test_count, align 4, !tbaa !5
  %15849 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15850 = load i32, ptr %15849, align 4, !tbaa !5
  %15851 = call ptr @s2n_strerror(i32 noundef %15850, ptr noundef @.str.5)
  %15852 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15853 = load i32, ptr %15852, align 4, !tbaa !5
  %15854 = call ptr @s2n_strerror_debug(i32 noundef %15853, ptr noundef @.str.5)
  %15855 = call ptr @__errno_location() #12
  %15856 = load i32, ptr %15855, align 4, !tbaa !5
  %15857 = call ptr @strerror(i32 noundef %15856) #11
  %15858 = call ptr @__errno_location() #12
  %15859 = load i32, ptr %15858, align 4, !tbaa !5
  %15860 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15847, ptr noundef @.str.3, i32 noundef %15848, ptr noundef @.str.79, ptr noundef @.str.2, i32 noundef 759, ptr noundef %15851, ptr noundef %15854, ptr noundef %15857, i32 noundef %15859) #11
  br label %15878

15861:                                            ; preds = %15839, %15832
  %15862 = load i32, ptr %492, align 4, !tbaa !5
  %15863 = call ptr @__errno_location() #12
  store i32 %15862, ptr %15863, align 4, !tbaa !5
  %15864 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15865 = load i32, ptr @test_count, align 4, !tbaa !5
  %15866 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15867 = load i32, ptr %15866, align 4, !tbaa !5
  %15868 = call ptr @s2n_strerror(i32 noundef %15867, ptr noundef @.str.5)
  %15869 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15870 = load i32, ptr %15869, align 4, !tbaa !5
  %15871 = call ptr @s2n_strerror_debug(i32 noundef %15870, ptr noundef @.str.5)
  %15872 = call ptr @__errno_location() #12
  %15873 = load i32, ptr %15872, align 4, !tbaa !5
  %15874 = call ptr @strerror(i32 noundef %15873) #11
  %15875 = call ptr @__errno_location() #12
  %15876 = load i32, ptr %15875, align 4, !tbaa !5
  %15877 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15864, ptr noundef @.str.6, i32 noundef %15865, ptr noundef @.str.79, ptr noundef @.str.2, i32 noundef 759, ptr noundef %15868, ptr noundef %15871, ptr noundef %15874, i32 noundef %15876) #11
  br label %15878

15878:                                            ; preds = %15861, %15844
  call void @llvm.lifetime.end.p0(i64 4, ptr %492) #11
  br label %15879

15879:                                            ; preds = %15878
  br label %15880

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

15881:                                            ; No predecessors!
  br label %15882

15882:                                            ; preds = %15881
  br label %15883

15883:                                            ; preds = %15882, %15825
  br label %15884

15884:                                            ; preds = %15883
  br label %15885

15885:                                            ; preds = %15884
  call void @llvm.lifetime.start.p0(i64 96, ptr %493) #11
  call void @llvm.memset.p0.i64(ptr align 8 %493, i8 0, i64 96, i1 false)
  br label %15886

15886:                                            ; preds = %15885
  %15887 = load i32, ptr @test_count, align 4, !tbaa !5
  %15888 = add nsw i32 %15887, 1
  store i32 %15888, ptr @test_count, align 4, !tbaa !5
  %15889 = load ptr, ptr %491, align 8, !tbaa !9
  %15890 = call i32 @s2n_test_init_ktls_io_stuffer_send(ptr noundef %15889, ptr noundef %493)
  %15891 = getelementptr inbounds %struct.s2n_result, ptr %494, i32 0, i32 0
  store i32 %15890, ptr %15891, align 4
  %15892 = getelementptr inbounds %struct.s2n_result, ptr %494, i32 0, i32 0
  %15893 = load i32, ptr %15892, align 4
  %15894 = call zeroext i1 @s2n_result_is_ok(i32 %15893)
  br i1 %15894, label %15948, label %15895

15895:                                            ; preds = %15886
  br label %15896

15896:                                            ; preds = %15895
  br label %15897

15897:                                            ; preds = %15896
  call void @llvm.lifetime.start.p0(i64 4, ptr %495) #11
  %15898 = call ptr @__errno_location() #12
  %15899 = load i32, ptr %15898, align 4, !tbaa !5
  store i32 %15899, ptr %495, align 4, !tbaa !5
  %15900 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15901 = call i32 @s2n_print_stacktrace(ptr noundef %15900)
  %15902 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15903 = trunc i8 %15902 to i1
  br i1 %15903, label %15904, label %15926

15904:                                            ; preds = %15897
  %15905 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15906 = call i32 @fileno(ptr noundef %15905) #11
  %15907 = call i32 @isatty(i32 noundef %15906) #11
  %15908 = icmp ne i32 %15907, 0
  br i1 %15908, label %15909, label %15926

15909:                                            ; preds = %15904
  %15910 = load i32, ptr %495, align 4, !tbaa !5
  %15911 = call ptr @__errno_location() #12
  store i32 %15910, ptr %15911, align 4, !tbaa !5
  %15912 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15913 = load i32, ptr @test_count, align 4, !tbaa !5
  %15914 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15915 = load i32, ptr %15914, align 4, !tbaa !5
  %15916 = call ptr @s2n_strerror(i32 noundef %15915, ptr noundef @.str.5)
  %15917 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15918 = load i32, ptr %15917, align 4, !tbaa !5
  %15919 = call ptr @s2n_strerror_debug(i32 noundef %15918, ptr noundef @.str.5)
  %15920 = call ptr @__errno_location() #12
  %15921 = load i32, ptr %15920, align 4, !tbaa !5
  %15922 = call ptr @strerror(i32 noundef %15921) #11
  %15923 = call ptr @__errno_location() #12
  %15924 = load i32, ptr %15923, align 4, !tbaa !5
  %15925 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15912, ptr noundef @.str.3, i32 noundef %15913, ptr noundef @.str.80, ptr noundef @.str.2, i32 noundef 763, ptr noundef %15916, ptr noundef %15919, ptr noundef %15922, i32 noundef %15924) #11
  br label %15943

15926:                                            ; preds = %15904, %15897
  %15927 = load i32, ptr %495, align 4, !tbaa !5
  %15928 = call ptr @__errno_location() #12
  store i32 %15927, ptr %15928, align 4, !tbaa !5
  %15929 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15930 = load i32, ptr @test_count, align 4, !tbaa !5
  %15931 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15932 = load i32, ptr %15931, align 4, !tbaa !5
  %15933 = call ptr @s2n_strerror(i32 noundef %15932, ptr noundef @.str.5)
  %15934 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15935 = load i32, ptr %15934, align 4, !tbaa !5
  %15936 = call ptr @s2n_strerror_debug(i32 noundef %15935, ptr noundef @.str.5)
  %15937 = call ptr @__errno_location() #12
  %15938 = load i32, ptr %15937, align 4, !tbaa !5
  %15939 = call ptr @strerror(i32 noundef %15938) #11
  %15940 = call ptr @__errno_location() #12
  %15941 = load i32, ptr %15940, align 4, !tbaa !5
  %15942 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15929, ptr noundef @.str.6, i32 noundef %15930, ptr noundef @.str.80, ptr noundef @.str.2, i32 noundef 763, ptr noundef %15933, ptr noundef %15936, ptr noundef %15939, i32 noundef %15941) #11
  br label %15943

15943:                                            ; preds = %15926, %15909
  call void @llvm.lifetime.end.p0(i64 4, ptr %495) #11
  br label %15944

15944:                                            ; preds = %15943
  br label %15945

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

15946:                                            ; No predecessors!
  br label %15947

15947:                                            ; preds = %15946
  br label %15948

15948:                                            ; preds = %15947, %15886
  br label %15949

15949:                                            ; preds = %15948
  br label %15950

15950:                                            ; preds = %15949
  call void @llvm.lifetime.start.p0(i64 8, ptr %496) #11
  %15951 = load i64, ptr %490, align 8, !tbaa !20
  %15952 = sub i64 16384, %15951
  store i64 %15952, ptr %496, align 8, !tbaa !20
  br label %15953

15953:                                            ; preds = %15950
  %15954 = load i32, ptr @test_count, align 4, !tbaa !5
  %15955 = add nsw i32 %15954, 1
  store i32 %15955, ptr @test_count, align 4, !tbaa !5
  %15956 = load i64, ptr %496, align 8, !tbaa !20
  %15957 = icmp ugt i64 %15956, 0
  br i1 %15957, label %16011, label %15958

15958:                                            ; preds = %15953
  br label %15959

15959:                                            ; preds = %15958
  br label %15960

15960:                                            ; preds = %15959
  call void @llvm.lifetime.start.p0(i64 4, ptr %497) #11
  %15961 = call ptr @__errno_location() #12
  %15962 = load i32, ptr %15961, align 4, !tbaa !5
  store i32 %15962, ptr %497, align 4, !tbaa !5
  %15963 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15964 = call i32 @s2n_print_stacktrace(ptr noundef %15963)
  %15965 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15966 = trunc i8 %15965 to i1
  br i1 %15966, label %15967, label %15989

15967:                                            ; preds = %15960
  %15968 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15969 = call i32 @fileno(ptr noundef %15968) #11
  %15970 = call i32 @isatty(i32 noundef %15969) #11
  %15971 = icmp ne i32 %15970, 0
  br i1 %15971, label %15972, label %15989

15972:                                            ; preds = %15967
  %15973 = load i32, ptr %497, align 4, !tbaa !5
  %15974 = call ptr @__errno_location() #12
  store i32 %15973, ptr %15974, align 4, !tbaa !5
  %15975 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15976 = load i32, ptr @test_count, align 4, !tbaa !5
  %15977 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15978 = load i32, ptr %15977, align 4, !tbaa !5
  %15979 = call ptr @s2n_strerror(i32 noundef %15978, ptr noundef @.str.5)
  %15980 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15981 = load i32, ptr %15980, align 4, !tbaa !5
  %15982 = call ptr @s2n_strerror_debug(i32 noundef %15981, ptr noundef @.str.5)
  %15983 = call ptr @__errno_location() #12
  %15984 = load i32, ptr %15983, align 4, !tbaa !5
  %15985 = call ptr @strerror(i32 noundef %15984) #11
  %15986 = call ptr @__errno_location() #12
  %15987 = load i32, ptr %15986, align 4, !tbaa !5
  %15988 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15975, ptr noundef @.str.3, i32 noundef %15976, ptr noundef @.str.99, ptr noundef @.str.2, i32 noundef 766, ptr noundef %15979, ptr noundef %15982, ptr noundef %15985, i32 noundef %15987) #11
  br label %16006

15989:                                            ; preds = %15967, %15960
  %15990 = load i32, ptr %497, align 4, !tbaa !5
  %15991 = call ptr @__errno_location() #12
  store i32 %15990, ptr %15991, align 4, !tbaa !5
  %15992 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15993 = load i32, ptr @test_count, align 4, !tbaa !5
  %15994 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15995 = load i32, ptr %15994, align 4, !tbaa !5
  %15996 = call ptr @s2n_strerror(i32 noundef %15995, ptr noundef @.str.5)
  %15997 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15998 = load i32, ptr %15997, align 4, !tbaa !5
  %15999 = call ptr @s2n_strerror_debug(i32 noundef %15998, ptr noundef @.str.5)
  %16000 = call ptr @__errno_location() #12
  %16001 = load i32, ptr %16000, align 4, !tbaa !5
  %16002 = call ptr @strerror(i32 noundef %16001) #11
  %16003 = call ptr @__errno_location() #12
  %16004 = load i32, ptr %16003, align 4, !tbaa !5
  %16005 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15992, ptr noundef @.str.6, i32 noundef %15993, ptr noundef @.str.99, ptr noundef @.str.2, i32 noundef 766, ptr noundef %15996, ptr noundef %15999, ptr noundef %16002, i32 noundef %16004) #11
  br label %16006

16006:                                            ; preds = %15989, %15972
  call void @llvm.lifetime.end.p0(i64 4, ptr %497) #11
  br label %16007

16007:                                            ; preds = %16006
  br label %16008

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

16009:                                            ; No predecessors!
  br label %16010

16010:                                            ; preds = %16009
  br label %16011

16011:                                            ; preds = %16010, %15953
  br label %16012

16012:                                            ; preds = %16011
  br label %16013

16013:                                            ; preds = %16012
  call void @llvm.lifetime.start.p0(i64 4, ptr %498) #11
  store i32 0, ptr %498, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %499) #11
  %16014 = load ptr, ptr %491, align 8, !tbaa !9
  %16015 = getelementptr inbounds %struct.s2n_test_iovecs, ptr %449, i32 0, i32 0
  %16016 = load ptr, ptr %16015, align 8, !tbaa !63
  %16017 = getelementptr inbounds %struct.s2n_test_iovecs, ptr %449, i32 0, i32 1
  %16018 = load i64, ptr %16017, align 8, !tbaa !65
  %16019 = load i64, ptr %490, align 8, !tbaa !20
  %16020 = call i64 @s2n_ktls_sendv_with_offset(ptr noundef %16014, ptr noundef %16016, i64 noundef %16018, i64 noundef %16019, ptr noundef %498)
  store i64 %16020, ptr %499, align 8, !tbaa !20
  br label %16021

16021:                                            ; preds = %16013
  %16022 = load i32, ptr @test_count, align 4, !tbaa !5
  %16023 = add nsw i32 %16022, 1
  store i32 %16023, ptr @test_count, align 4, !tbaa !5
  %16024 = load i64, ptr %499, align 8, !tbaa !20
  %16025 = load i64, ptr %496, align 8, !tbaa !20
  %16026 = icmp eq i64 %16024, %16025
  br i1 %16026, label %16080, label %16027

16027:                                            ; preds = %16021
  br label %16028

16028:                                            ; preds = %16027
  br label %16029

16029:                                            ; preds = %16028
  call void @llvm.lifetime.start.p0(i64 4, ptr %500) #11
  %16030 = call ptr @__errno_location() #12
  %16031 = load i32, ptr %16030, align 4, !tbaa !5
  store i32 %16031, ptr %500, align 4, !tbaa !5
  %16032 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16033 = call i32 @s2n_print_stacktrace(ptr noundef %16032)
  %16034 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16035 = trunc i8 %16034 to i1
  br i1 %16035, label %16036, label %16058

16036:                                            ; preds = %16029
  %16037 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16038 = call i32 @fileno(ptr noundef %16037) #11
  %16039 = call i32 @isatty(i32 noundef %16038) #11
  %16040 = icmp ne i32 %16039, 0
  br i1 %16040, label %16041, label %16058

16041:                                            ; preds = %16036
  %16042 = load i32, ptr %500, align 4, !tbaa !5
  %16043 = call ptr @__errno_location() #12
  store i32 %16042, ptr %16043, align 4, !tbaa !5
  %16044 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16045 = load i32, ptr @test_count, align 4, !tbaa !5
  %16046 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16047 = load i32, ptr %16046, align 4, !tbaa !5
  %16048 = call ptr @s2n_strerror(i32 noundef %16047, ptr noundef @.str.5)
  %16049 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16050 = load i32, ptr %16049, align 4, !tbaa !5
  %16051 = call ptr @s2n_strerror_debug(i32 noundef %16050, ptr noundef @.str.5)
  %16052 = call ptr @__errno_location() #12
  %16053 = load i32, ptr %16052, align 4, !tbaa !5
  %16054 = call ptr @strerror(i32 noundef %16053) #11
  %16055 = call ptr @__errno_location() #12
  %16056 = load i32, ptr %16055, align 4, !tbaa !5
  %16057 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16044, ptr noundef @.str.3, i32 noundef %16045, ptr noundef @.str.100, ptr noundef @.str.2, i32 noundef 771, ptr noundef %16048, ptr noundef %16051, ptr noundef %16054, i32 noundef %16056) #11
  br label %16075

16058:                                            ; preds = %16036, %16029
  %16059 = load i32, ptr %500, align 4, !tbaa !5
  %16060 = call ptr @__errno_location() #12
  store i32 %16059, ptr %16060, align 4, !tbaa !5
  %16061 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16062 = load i32, ptr @test_count, align 4, !tbaa !5
  %16063 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16064 = load i32, ptr %16063, align 4, !tbaa !5
  %16065 = call ptr @s2n_strerror(i32 noundef %16064, ptr noundef @.str.5)
  %16066 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16067 = load i32, ptr %16066, align 4, !tbaa !5
  %16068 = call ptr @s2n_strerror_debug(i32 noundef %16067, ptr noundef @.str.5)
  %16069 = call ptr @__errno_location() #12
  %16070 = load i32, ptr %16069, align 4, !tbaa !5
  %16071 = call ptr @strerror(i32 noundef %16070) #11
  %16072 = call ptr @__errno_location() #12
  %16073 = load i32, ptr %16072, align 4, !tbaa !5
  %16074 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16061, ptr noundef @.str.6, i32 noundef %16062, ptr noundef @.str.100, ptr noundef @.str.2, i32 noundef 771, ptr noundef %16065, ptr noundef %16068, ptr noundef %16071, i32 noundef %16073) #11
  br label %16075

16075:                                            ; preds = %16058, %16041
  call void @llvm.lifetime.end.p0(i64 4, ptr %500) #11
  br label %16076

16076:                                            ; preds = %16075
  br label %16077

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

16078:                                            ; No predecessors!
  br label %16079

16079:                                            ; preds = %16078
  br label %16080

16080:                                            ; preds = %16079, %16021
  br label %16081

16081:                                            ; preds = %16080
  br label %16082

16082:                                            ; preds = %16081
  br label %16083

16083:                                            ; preds = %16082
  %16084 = load i32, ptr @test_count, align 4, !tbaa !5
  %16085 = add nsw i32 %16084, 1
  store i32 %16085, ptr @test_count, align 4, !tbaa !5
  %16086 = getelementptr inbounds %struct.s2n_test_ktls_io_stuffer, ptr %493, i32 0, i32 2
  %16087 = load i64, ptr %16086, align 8, !tbaa !47
  %16088 = icmp eq i64 %16087, 1
  br i1 %16088, label %16142, label %16089

16089:                                            ; preds = %16083
  br label %16090

16090:                                            ; preds = %16089
  br label %16091

16091:                                            ; preds = %16090
  call void @llvm.lifetime.start.p0(i64 4, ptr %501) #11
  %16092 = call ptr @__errno_location() #12
  %16093 = load i32, ptr %16092, align 4, !tbaa !5
  store i32 %16093, ptr %501, align 4, !tbaa !5
  %16094 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16095 = call i32 @s2n_print_stacktrace(ptr noundef %16094)
  %16096 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16097 = trunc i8 %16096 to i1
  br i1 %16097, label %16098, label %16120

16098:                                            ; preds = %16091
  %16099 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16100 = call i32 @fileno(ptr noundef %16099) #11
  %16101 = call i32 @isatty(i32 noundef %16100) #11
  %16102 = icmp ne i32 %16101, 0
  br i1 %16102, label %16103, label %16120

16103:                                            ; preds = %16098
  %16104 = load i32, ptr %501, align 4, !tbaa !5
  %16105 = call ptr @__errno_location() #12
  store i32 %16104, ptr %16105, align 4, !tbaa !5
  %16106 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16107 = load i32, ptr @test_count, align 4, !tbaa !5
  %16108 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16109 = load i32, ptr %16108, align 4, !tbaa !5
  %16110 = call ptr @s2n_strerror(i32 noundef %16109, ptr noundef @.str.5)
  %16111 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16112 = load i32, ptr %16111, align 4, !tbaa !5
  %16113 = call ptr @s2n_strerror_debug(i32 noundef %16112, ptr noundef @.str.5)
  %16114 = call ptr @__errno_location() #12
  %16115 = load i32, ptr %16114, align 4, !tbaa !5
  %16116 = call ptr @strerror(i32 noundef %16115) #11
  %16117 = call ptr @__errno_location() #12
  %16118 = load i32, ptr %16117, align 4, !tbaa !5
  %16119 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16106, ptr noundef @.str.3, i32 noundef %16107, ptr noundef @.str.82, ptr noundef @.str.2, i32 noundef 773, ptr noundef %16110, ptr noundef %16113, ptr noundef %16116, i32 noundef %16118) #11
  br label %16137

16120:                                            ; preds = %16098, %16091
  %16121 = load i32, ptr %501, align 4, !tbaa !5
  %16122 = call ptr @__errno_location() #12
  store i32 %16121, ptr %16122, align 4, !tbaa !5
  %16123 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16124 = load i32, ptr @test_count, align 4, !tbaa !5
  %16125 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16126 = load i32, ptr %16125, align 4, !tbaa !5
  %16127 = call ptr @s2n_strerror(i32 noundef %16126, ptr noundef @.str.5)
  %16128 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16129 = load i32, ptr %16128, align 4, !tbaa !5
  %16130 = call ptr @s2n_strerror_debug(i32 noundef %16129, ptr noundef @.str.5)
  %16131 = call ptr @__errno_location() #12
  %16132 = load i32, ptr %16131, align 4, !tbaa !5
  %16133 = call ptr @strerror(i32 noundef %16132) #11
  %16134 = call ptr @__errno_location() #12
  %16135 = load i32, ptr %16134, align 4, !tbaa !5
  %16136 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16123, ptr noundef @.str.6, i32 noundef %16124, ptr noundef @.str.82, ptr noundef @.str.2, i32 noundef 773, ptr noundef %16127, ptr noundef %16130, ptr noundef %16133, i32 noundef %16135) #11
  br label %16137

16137:                                            ; preds = %16120, %16103
  call void @llvm.lifetime.end.p0(i64 4, ptr %501) #11
  br label %16138

16138:                                            ; preds = %16137
  br label %16139

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

16140:                                            ; No predecessors!
  br label %16141

16141:                                            ; preds = %16140
  br label %16142

16142:                                            ; preds = %16141, %16083
  br label %16143

16143:                                            ; preds = %16142
  br label %16144

16144:                                            ; preds = %16143
  br label %16145

16145:                                            ; preds = %16144
  %16146 = load i32, ptr @test_count, align 4, !tbaa !5
  %16147 = add nsw i32 %16146, 1
  store i32 %16147, ptr @test_count, align 4, !tbaa !5
  %16148 = load i32, ptr %498, align 4, !tbaa !5
  %16149 = icmp eq i32 %16148, 0
  br i1 %16149, label %16203, label %16150

16150:                                            ; preds = %16145
  br label %16151

16151:                                            ; preds = %16150
  br label %16152

16152:                                            ; preds = %16151
  call void @llvm.lifetime.start.p0(i64 4, ptr %502) #11
  %16153 = call ptr @__errno_location() #12
  %16154 = load i32, ptr %16153, align 4, !tbaa !5
  store i32 %16154, ptr %502, align 4, !tbaa !5
  %16155 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16156 = call i32 @s2n_print_stacktrace(ptr noundef %16155)
  %16157 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16158 = trunc i8 %16157 to i1
  br i1 %16158, label %16159, label %16181

16159:                                            ; preds = %16152
  %16160 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16161 = call i32 @fileno(ptr noundef %16160) #11
  %16162 = call i32 @isatty(i32 noundef %16161) #11
  %16163 = icmp ne i32 %16162, 0
  br i1 %16163, label %16164, label %16181

16164:                                            ; preds = %16159
  %16165 = load i32, ptr %502, align 4, !tbaa !5
  %16166 = call ptr @__errno_location() #12
  store i32 %16165, ptr %16166, align 4, !tbaa !5
  %16167 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16168 = load i32, ptr @test_count, align 4, !tbaa !5
  %16169 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16170 = load i32, ptr %16169, align 4, !tbaa !5
  %16171 = call ptr @s2n_strerror(i32 noundef %16170, ptr noundef @.str.5)
  %16172 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16173 = load i32, ptr %16172, align 4, !tbaa !5
  %16174 = call ptr @s2n_strerror_debug(i32 noundef %16173, ptr noundef @.str.5)
  %16175 = call ptr @__errno_location() #12
  %16176 = load i32, ptr %16175, align 4, !tbaa !5
  %16177 = call ptr @strerror(i32 noundef %16176) #11
  %16178 = call ptr @__errno_location() #12
  %16179 = load i32, ptr %16178, align 4, !tbaa !5
  %16180 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16167, ptr noundef @.str.3, i32 noundef %16168, ptr noundef @.str.31, ptr noundef @.str.2, i32 noundef 774, ptr noundef %16171, ptr noundef %16174, ptr noundef %16177, i32 noundef %16179) #11
  br label %16198

16181:                                            ; preds = %16159, %16152
  %16182 = load i32, ptr %502, align 4, !tbaa !5
  %16183 = call ptr @__errno_location() #12
  store i32 %16182, ptr %16183, align 4, !tbaa !5
  %16184 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16185 = load i32, ptr @test_count, align 4, !tbaa !5
  %16186 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16187 = load i32, ptr %16186, align 4, !tbaa !5
  %16188 = call ptr @s2n_strerror(i32 noundef %16187, ptr noundef @.str.5)
  %16189 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16190 = load i32, ptr %16189, align 4, !tbaa !5
  %16191 = call ptr @s2n_strerror_debug(i32 noundef %16190, ptr noundef @.str.5)
  %16192 = call ptr @__errno_location() #12
  %16193 = load i32, ptr %16192, align 4, !tbaa !5
  %16194 = call ptr @strerror(i32 noundef %16193) #11
  %16195 = call ptr @__errno_location() #12
  %16196 = load i32, ptr %16195, align 4, !tbaa !5
  %16197 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16184, ptr noundef @.str.6, i32 noundef %16185, ptr noundef @.str.31, ptr noundef @.str.2, i32 noundef 774, ptr noundef %16188, ptr noundef %16191, ptr noundef %16194, i32 noundef %16196) #11
  br label %16198

16198:                                            ; preds = %16181, %16164
  call void @llvm.lifetime.end.p0(i64 4, ptr %502) #11
  br label %16199

16199:                                            ; preds = %16198
  br label %16200

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

16201:                                            ; No predecessors!
  br label %16202

16202:                                            ; preds = %16201
  br label %16203

16203:                                            ; preds = %16202, %16145
  br label %16204

16204:                                            ; preds = %16203
  br label %16205

16205:                                            ; preds = %16204
  br label %16206

16206:                                            ; preds = %16205
  %16207 = load i32, ptr @test_count, align 4, !tbaa !5
  %16208 = add nsw i32 %16207, 1
  store i32 %16208, ptr @test_count, align 4, !tbaa !5
  %16209 = load i64, ptr %496, align 8, !tbaa !20
  %16210 = trunc i64 %16209 to i16
  %16211 = call i32 @s2n_test_validate_ancillary(ptr noundef %493, i8 noundef zeroext 23, i16 noundef zeroext %16210)
  %16212 = getelementptr inbounds %struct.s2n_result, ptr %503, i32 0, i32 0
  store i32 %16211, ptr %16212, align 4
  %16213 = getelementptr inbounds %struct.s2n_result, ptr %503, i32 0, i32 0
  %16214 = load i32, ptr %16213, align 4
  %16215 = call zeroext i1 @s2n_result_is_ok(i32 %16214)
  br i1 %16215, label %16269, label %16216

16216:                                            ; preds = %16206
  br label %16217

16217:                                            ; preds = %16216
  br label %16218

16218:                                            ; preds = %16217
  call void @llvm.lifetime.start.p0(i64 4, ptr %504) #11
  %16219 = call ptr @__errno_location() #12
  %16220 = load i32, ptr %16219, align 4, !tbaa !5
  store i32 %16220, ptr %504, align 4, !tbaa !5
  %16221 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16222 = call i32 @s2n_print_stacktrace(ptr noundef %16221)
  %16223 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16224 = trunc i8 %16223 to i1
  br i1 %16224, label %16225, label %16247

16225:                                            ; preds = %16218
  %16226 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16227 = call i32 @fileno(ptr noundef %16226) #11
  %16228 = call i32 @isatty(i32 noundef %16227) #11
  %16229 = icmp ne i32 %16228, 0
  br i1 %16229, label %16230, label %16247

16230:                                            ; preds = %16225
  %16231 = load i32, ptr %504, align 4, !tbaa !5
  %16232 = call ptr @__errno_location() #12
  store i32 %16231, ptr %16232, align 4, !tbaa !5
  %16233 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16234 = load i32, ptr @test_count, align 4, !tbaa !5
  %16235 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16236 = load i32, ptr %16235, align 4, !tbaa !5
  %16237 = call ptr @s2n_strerror(i32 noundef %16236, ptr noundef @.str.5)
  %16238 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16239 = load i32, ptr %16238, align 4, !tbaa !5
  %16240 = call ptr @s2n_strerror_debug(i32 noundef %16239, ptr noundef @.str.5)
  %16241 = call ptr @__errno_location() #12
  %16242 = load i32, ptr %16241, align 4, !tbaa !5
  %16243 = call ptr @strerror(i32 noundef %16242) #11
  %16244 = call ptr @__errno_location() #12
  %16245 = load i32, ptr %16244, align 4, !tbaa !5
  %16246 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16233, ptr noundef @.str.3, i32 noundef %16234, ptr noundef @.str.101, ptr noundef @.str.2, i32 noundef 775, ptr noundef %16237, ptr noundef %16240, ptr noundef %16243, i32 noundef %16245) #11
  br label %16264

16247:                                            ; preds = %16225, %16218
  %16248 = load i32, ptr %504, align 4, !tbaa !5
  %16249 = call ptr @__errno_location() #12
  store i32 %16248, ptr %16249, align 4, !tbaa !5
  %16250 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16251 = load i32, ptr @test_count, align 4, !tbaa !5
  %16252 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16253 = load i32, ptr %16252, align 4, !tbaa !5
  %16254 = call ptr @s2n_strerror(i32 noundef %16253, ptr noundef @.str.5)
  %16255 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16256 = load i32, ptr %16255, align 4, !tbaa !5
  %16257 = call ptr @s2n_strerror_debug(i32 noundef %16256, ptr noundef @.str.5)
  %16258 = call ptr @__errno_location() #12
  %16259 = load i32, ptr %16258, align 4, !tbaa !5
  %16260 = call ptr @strerror(i32 noundef %16259) #11
  %16261 = call ptr @__errno_location() #12
  %16262 = load i32, ptr %16261, align 4, !tbaa !5
  %16263 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16250, ptr noundef @.str.6, i32 noundef %16251, ptr noundef @.str.101, ptr noundef @.str.2, i32 noundef 775, ptr noundef %16254, ptr noundef %16257, ptr noundef %16260, i32 noundef %16262) #11
  br label %16264

16264:                                            ; preds = %16247, %16230
  call void @llvm.lifetime.end.p0(i64 4, ptr %504) #11
  br label %16265

16265:                                            ; preds = %16264
  br label %16266

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

16267:                                            ; No predecessors!
  br label %16268

16268:                                            ; preds = %16267
  br label %16269

16269:                                            ; preds = %16268, %16206
  br label %16270

16270:                                            ; preds = %16269
  br label %16271

16271:                                            ; preds = %16270
  br label %16272

16272:                                            ; preds = %16271
  %16273 = load i32, ptr @test_count, align 4, !tbaa !5
  %16274 = add nsw i32 %16273, 1
  store i32 %16274, ptr @test_count, align 4, !tbaa !5
  %16275 = getelementptr inbounds [16384 x i8], ptr %10, i64 0, i64 0
  %16276 = load i64, ptr %490, align 8, !tbaa !20
  %16277 = getelementptr inbounds i8, ptr %16275, i64 %16276
  %16278 = load i64, ptr %496, align 8, !tbaa !20
  %16279 = trunc i64 %16278 to i16
  %16280 = call i32 @s2n_test_validate_data(ptr noundef %493, ptr noundef %16277, i16 noundef zeroext %16279)
  %16281 = getelementptr inbounds %struct.s2n_result, ptr %505, i32 0, i32 0
  store i32 %16280, ptr %16281, align 4
  %16282 = getelementptr inbounds %struct.s2n_result, ptr %505, i32 0, i32 0
  %16283 = load i32, ptr %16282, align 4
  %16284 = call zeroext i1 @s2n_result_is_ok(i32 %16283)
  br i1 %16284, label %16338, label %16285

16285:                                            ; preds = %16272
  br label %16286

16286:                                            ; preds = %16285
  br label %16287

16287:                                            ; preds = %16286
  call void @llvm.lifetime.start.p0(i64 4, ptr %506) #11
  %16288 = call ptr @__errno_location() #12
  %16289 = load i32, ptr %16288, align 4, !tbaa !5
  store i32 %16289, ptr %506, align 4, !tbaa !5
  %16290 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16291 = call i32 @s2n_print_stacktrace(ptr noundef %16290)
  %16292 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16293 = trunc i8 %16292 to i1
  br i1 %16293, label %16294, label %16316

16294:                                            ; preds = %16287
  %16295 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16296 = call i32 @fileno(ptr noundef %16295) #11
  %16297 = call i32 @isatty(i32 noundef %16296) #11
  %16298 = icmp ne i32 %16297, 0
  br i1 %16298, label %16299, label %16316

16299:                                            ; preds = %16294
  %16300 = load i32, ptr %506, align 4, !tbaa !5
  %16301 = call ptr @__errno_location() #12
  store i32 %16300, ptr %16301, align 4, !tbaa !5
  %16302 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16303 = load i32, ptr @test_count, align 4, !tbaa !5
  %16304 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16305 = load i32, ptr %16304, align 4, !tbaa !5
  %16306 = call ptr @s2n_strerror(i32 noundef %16305, ptr noundef @.str.5)
  %16307 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16308 = load i32, ptr %16307, align 4, !tbaa !5
  %16309 = call ptr @s2n_strerror_debug(i32 noundef %16308, ptr noundef @.str.5)
  %16310 = call ptr @__errno_location() #12
  %16311 = load i32, ptr %16310, align 4, !tbaa !5
  %16312 = call ptr @strerror(i32 noundef %16311) #11
  %16313 = call ptr @__errno_location() #12
  %16314 = load i32, ptr %16313, align 4, !tbaa !5
  %16315 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16302, ptr noundef @.str.3, i32 noundef %16303, ptr noundef @.str.102, ptr noundef @.str.2, i32 noundef 776, ptr noundef %16306, ptr noundef %16309, ptr noundef %16312, i32 noundef %16314) #11
  br label %16333

16316:                                            ; preds = %16294, %16287
  %16317 = load i32, ptr %506, align 4, !tbaa !5
  %16318 = call ptr @__errno_location() #12
  store i32 %16317, ptr %16318, align 4, !tbaa !5
  %16319 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16320 = load i32, ptr @test_count, align 4, !tbaa !5
  %16321 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16322 = load i32, ptr %16321, align 4, !tbaa !5
  %16323 = call ptr @s2n_strerror(i32 noundef %16322, ptr noundef @.str.5)
  %16324 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16325 = load i32, ptr %16324, align 4, !tbaa !5
  %16326 = call ptr @s2n_strerror_debug(i32 noundef %16325, ptr noundef @.str.5)
  %16327 = call ptr @__errno_location() #12
  %16328 = load i32, ptr %16327, align 4, !tbaa !5
  %16329 = call ptr @strerror(i32 noundef %16328) #11
  %16330 = call ptr @__errno_location() #12
  %16331 = load i32, ptr %16330, align 4, !tbaa !5
  %16332 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16319, ptr noundef @.str.6, i32 noundef %16320, ptr noundef @.str.102, ptr noundef @.str.2, i32 noundef 776, ptr noundef %16323, ptr noundef %16326, ptr noundef %16329, i32 noundef %16331) #11
  br label %16333

16333:                                            ; preds = %16316, %16299
  call void @llvm.lifetime.end.p0(i64 4, ptr %506) #11
  br label %16334

16334:                                            ; preds = %16333
  br label %16335

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

16336:                                            ; No predecessors!
  br label %16337

16337:                                            ; preds = %16336
  br label %16338

16338:                                            ; preds = %16337, %16272
  br label %16339

16339:                                            ; preds = %16338
  br label %16340

16340:                                            ; preds = %16339
  call void @llvm.lifetime.end.p0(i64 8, ptr %499) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %498) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %496) #11
  %16341 = call i32 @s2n_ktls_io_stuffer_free(ptr noundef %493)
  %16342 = getelementptr inbounds %struct.s2n_result, ptr %507, i32 0, i32 0
  store i32 %16341, ptr %16342, align 4
  call void @llvm.lifetime.end.p0(i64 96, ptr %493) #11
  %16343 = call i32 @s2n_connection_ptr_free(ptr noundef %491)
  %16344 = getelementptr inbounds %struct.s2n_result, ptr %508, i32 0, i32 0
  store i32 %16343, ptr %16344, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %491) #11
  br label %16345

16345:                                            ; preds = %16340
  %16346 = load i64, ptr %490, align 8, !tbaa !20
  %16347 = add i64 %16346, 1
  store i64 %16347, ptr %490, align 8, !tbaa !20
  br label %15819, !llvm.loop !66

16348:                                            ; preds = %15822
  call void @llvm.lifetime.start.p0(i64 8, ptr %509) #11
  store i64 0, ptr %509, align 8, !tbaa !20
  br label %16349

16349:                                            ; preds = %16875, %16348
  %16350 = load i64, ptr %509, align 8, !tbaa !20
  %16351 = icmp ult i64 %16350, 16384
  br i1 %16351, label %16353, label %16352

16352:                                            ; preds = %16349
  call void @llvm.lifetime.end.p0(i64 8, ptr %509) #11
  br label %16878

16353:                                            ; preds = %16349
  call void @llvm.lifetime.start.p0(i64 8, ptr %510) #11
  %16354 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %16354, ptr %510, align 8, !tbaa !9
  br label %16355

16355:                                            ; preds = %16353
  %16356 = load i32, ptr @test_count, align 4, !tbaa !5
  %16357 = add nsw i32 %16356, 1
  store i32 %16357, ptr @test_count, align 4, !tbaa !5
  %16358 = load ptr, ptr %510, align 8, !tbaa !9
  %16359 = icmp eq ptr %16358, null
  br i1 %16359, label %16360, label %16413

16360:                                            ; preds = %16355
  br label %16361

16361:                                            ; preds = %16360
  br label %16362

16362:                                            ; preds = %16361
  call void @llvm.lifetime.start.p0(i64 4, ptr %511) #11
  %16363 = call ptr @__errno_location() #12
  %16364 = load i32, ptr %16363, align 4, !tbaa !5
  store i32 %16364, ptr %511, align 4, !tbaa !5
  %16365 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16366 = call i32 @s2n_print_stacktrace(ptr noundef %16365)
  %16367 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16368 = trunc i8 %16367 to i1
  br i1 %16368, label %16369, label %16391

16369:                                            ; preds = %16362
  %16370 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16371 = call i32 @fileno(ptr noundef %16370) #11
  %16372 = call i32 @isatty(i32 noundef %16371) #11
  %16373 = icmp ne i32 %16372, 0
  br i1 %16373, label %16374, label %16391

16374:                                            ; preds = %16369
  %16375 = load i32, ptr %511, align 4, !tbaa !5
  %16376 = call ptr @__errno_location() #12
  store i32 %16375, ptr %16376, align 4, !tbaa !5
  %16377 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16378 = load i32, ptr @test_count, align 4, !tbaa !5
  %16379 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16380 = load i32, ptr %16379, align 4, !tbaa !5
  %16381 = call ptr @s2n_strerror(i32 noundef %16380, ptr noundef @.str.5)
  %16382 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16383 = load i32, ptr %16382, align 4, !tbaa !5
  %16384 = call ptr @s2n_strerror_debug(i32 noundef %16383, ptr noundef @.str.5)
  %16385 = call ptr @__errno_location() #12
  %16386 = load i32, ptr %16385, align 4, !tbaa !5
  %16387 = call ptr @strerror(i32 noundef %16386) #11
  %16388 = call ptr @__errno_location() #12
  %16389 = load i32, ptr %16388, align 4, !tbaa !5
  %16390 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16377, ptr noundef @.str.3, i32 noundef %16378, ptr noundef @.str.79, ptr noundef @.str.2, i32 noundef 783, ptr noundef %16381, ptr noundef %16384, ptr noundef %16387, i32 noundef %16389) #11
  br label %16408

16391:                                            ; preds = %16369, %16362
  %16392 = load i32, ptr %511, align 4, !tbaa !5
  %16393 = call ptr @__errno_location() #12
  store i32 %16392, ptr %16393, align 4, !tbaa !5
  %16394 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16395 = load i32, ptr @test_count, align 4, !tbaa !5
  %16396 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16397 = load i32, ptr %16396, align 4, !tbaa !5
  %16398 = call ptr @s2n_strerror(i32 noundef %16397, ptr noundef @.str.5)
  %16399 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16400 = load i32, ptr %16399, align 4, !tbaa !5
  %16401 = call ptr @s2n_strerror_debug(i32 noundef %16400, ptr noundef @.str.5)
  %16402 = call ptr @__errno_location() #12
  %16403 = load i32, ptr %16402, align 4, !tbaa !5
  %16404 = call ptr @strerror(i32 noundef %16403) #11
  %16405 = call ptr @__errno_location() #12
  %16406 = load i32, ptr %16405, align 4, !tbaa !5
  %16407 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16394, ptr noundef @.str.6, i32 noundef %16395, ptr noundef @.str.79, ptr noundef @.str.2, i32 noundef 783, ptr noundef %16398, ptr noundef %16401, ptr noundef %16404, i32 noundef %16406) #11
  br label %16408

16408:                                            ; preds = %16391, %16374
  call void @llvm.lifetime.end.p0(i64 4, ptr %511) #11
  br label %16409

16409:                                            ; preds = %16408
  br label %16410

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

16411:                                            ; No predecessors!
  br label %16412

16412:                                            ; preds = %16411
  br label %16413

16413:                                            ; preds = %16412, %16355
  br label %16414

16414:                                            ; preds = %16413
  br label %16415

16415:                                            ; preds = %16414
  call void @llvm.lifetime.start.p0(i64 96, ptr %512) #11
  call void @llvm.memset.p0.i64(ptr align 8 %512, i8 0, i64 96, i1 false)
  br label %16416

16416:                                            ; preds = %16415
  %16417 = load i32, ptr @test_count, align 4, !tbaa !5
  %16418 = add nsw i32 %16417, 1
  store i32 %16418, ptr @test_count, align 4, !tbaa !5
  %16419 = load ptr, ptr %510, align 8, !tbaa !9
  %16420 = call i32 @s2n_test_init_ktls_io_stuffer_send(ptr noundef %16419, ptr noundef %512)
  %16421 = getelementptr inbounds %struct.s2n_result, ptr %513, i32 0, i32 0
  store i32 %16420, ptr %16421, align 4
  %16422 = getelementptr inbounds %struct.s2n_result, ptr %513, i32 0, i32 0
  %16423 = load i32, ptr %16422, align 4
  %16424 = call zeroext i1 @s2n_result_is_ok(i32 %16423)
  br i1 %16424, label %16478, label %16425

16425:                                            ; preds = %16416
  br label %16426

16426:                                            ; preds = %16425
  br label %16427

16427:                                            ; preds = %16426
  call void @llvm.lifetime.start.p0(i64 4, ptr %514) #11
  %16428 = call ptr @__errno_location() #12
  %16429 = load i32, ptr %16428, align 4, !tbaa !5
  store i32 %16429, ptr %514, align 4, !tbaa !5
  %16430 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16431 = call i32 @s2n_print_stacktrace(ptr noundef %16430)
  %16432 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16433 = trunc i8 %16432 to i1
  br i1 %16433, label %16434, label %16456

16434:                                            ; preds = %16427
  %16435 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16436 = call i32 @fileno(ptr noundef %16435) #11
  %16437 = call i32 @isatty(i32 noundef %16436) #11
  %16438 = icmp ne i32 %16437, 0
  br i1 %16438, label %16439, label %16456

16439:                                            ; preds = %16434
  %16440 = load i32, ptr %514, align 4, !tbaa !5
  %16441 = call ptr @__errno_location() #12
  store i32 %16440, ptr %16441, align 4, !tbaa !5
  %16442 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16443 = load i32, ptr @test_count, align 4, !tbaa !5
  %16444 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16445 = load i32, ptr %16444, align 4, !tbaa !5
  %16446 = call ptr @s2n_strerror(i32 noundef %16445, ptr noundef @.str.5)
  %16447 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16448 = load i32, ptr %16447, align 4, !tbaa !5
  %16449 = call ptr @s2n_strerror_debug(i32 noundef %16448, ptr noundef @.str.5)
  %16450 = call ptr @__errno_location() #12
  %16451 = load i32, ptr %16450, align 4, !tbaa !5
  %16452 = call ptr @strerror(i32 noundef %16451) #11
  %16453 = call ptr @__errno_location() #12
  %16454 = load i32, ptr %16453, align 4, !tbaa !5
  %16455 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16442, ptr noundef @.str.3, i32 noundef %16443, ptr noundef @.str.80, ptr noundef @.str.2, i32 noundef 787, ptr noundef %16446, ptr noundef %16449, ptr noundef %16452, i32 noundef %16454) #11
  br label %16473

16456:                                            ; preds = %16434, %16427
  %16457 = load i32, ptr %514, align 4, !tbaa !5
  %16458 = call ptr @__errno_location() #12
  store i32 %16457, ptr %16458, align 4, !tbaa !5
  %16459 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16460 = load i32, ptr @test_count, align 4, !tbaa !5
  %16461 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16462 = load i32, ptr %16461, align 4, !tbaa !5
  %16463 = call ptr @s2n_strerror(i32 noundef %16462, ptr noundef @.str.5)
  %16464 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16465 = load i32, ptr %16464, align 4, !tbaa !5
  %16466 = call ptr @s2n_strerror_debug(i32 noundef %16465, ptr noundef @.str.5)
  %16467 = call ptr @__errno_location() #12
  %16468 = load i32, ptr %16467, align 4, !tbaa !5
  %16469 = call ptr @strerror(i32 noundef %16468) #11
  %16470 = call ptr @__errno_location() #12
  %16471 = load i32, ptr %16470, align 4, !tbaa !5
  %16472 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16459, ptr noundef @.str.6, i32 noundef %16460, ptr noundef @.str.80, ptr noundef @.str.2, i32 noundef 787, ptr noundef %16463, ptr noundef %16466, ptr noundef %16469, i32 noundef %16471) #11
  br label %16473

16473:                                            ; preds = %16456, %16439
  call void @llvm.lifetime.end.p0(i64 4, ptr %514) #11
  br label %16474

16474:                                            ; preds = %16473
  br label %16475

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

16476:                                            ; No predecessors!
  br label %16477

16477:                                            ; preds = %16476
  br label %16478

16478:                                            ; preds = %16477, %16416
  br label %16479

16479:                                            ; preds = %16478
  br label %16480

16480:                                            ; preds = %16479
  call void @llvm.lifetime.start.p0(i64 8, ptr %515) #11
  %16481 = load i64, ptr %509, align 8, !tbaa !20
  %16482 = sub i64 16384, %16481
  store i64 %16482, ptr %515, align 8, !tbaa !20
  br label %16483

16483:                                            ; preds = %16480
  %16484 = load i32, ptr @test_count, align 4, !tbaa !5
  %16485 = add nsw i32 %16484, 1
  store i32 %16485, ptr @test_count, align 4, !tbaa !5
  %16486 = load i64, ptr %515, align 8, !tbaa !20
  %16487 = icmp ugt i64 %16486, 0
  br i1 %16487, label %16541, label %16488

16488:                                            ; preds = %16483
  br label %16489

16489:                                            ; preds = %16488
  br label %16490

16490:                                            ; preds = %16489
  call void @llvm.lifetime.start.p0(i64 4, ptr %516) #11
  %16491 = call ptr @__errno_location() #12
  %16492 = load i32, ptr %16491, align 4, !tbaa !5
  store i32 %16492, ptr %516, align 4, !tbaa !5
  %16493 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16494 = call i32 @s2n_print_stacktrace(ptr noundef %16493)
  %16495 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16496 = trunc i8 %16495 to i1
  br i1 %16496, label %16497, label %16519

16497:                                            ; preds = %16490
  %16498 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16499 = call i32 @fileno(ptr noundef %16498) #11
  %16500 = call i32 @isatty(i32 noundef %16499) #11
  %16501 = icmp ne i32 %16500, 0
  br i1 %16501, label %16502, label %16519

16502:                                            ; preds = %16497
  %16503 = load i32, ptr %516, align 4, !tbaa !5
  %16504 = call ptr @__errno_location() #12
  store i32 %16503, ptr %16504, align 4, !tbaa !5
  %16505 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16506 = load i32, ptr @test_count, align 4, !tbaa !5
  %16507 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16508 = load i32, ptr %16507, align 4, !tbaa !5
  %16509 = call ptr @s2n_strerror(i32 noundef %16508, ptr noundef @.str.5)
  %16510 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16511 = load i32, ptr %16510, align 4, !tbaa !5
  %16512 = call ptr @s2n_strerror_debug(i32 noundef %16511, ptr noundef @.str.5)
  %16513 = call ptr @__errno_location() #12
  %16514 = load i32, ptr %16513, align 4, !tbaa !5
  %16515 = call ptr @strerror(i32 noundef %16514) #11
  %16516 = call ptr @__errno_location() #12
  %16517 = load i32, ptr %16516, align 4, !tbaa !5
  %16518 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16505, ptr noundef @.str.3, i32 noundef %16506, ptr noundef @.str.99, ptr noundef @.str.2, i32 noundef 790, ptr noundef %16509, ptr noundef %16512, ptr noundef %16515, i32 noundef %16517) #11
  br label %16536

16519:                                            ; preds = %16497, %16490
  %16520 = load i32, ptr %516, align 4, !tbaa !5
  %16521 = call ptr @__errno_location() #12
  store i32 %16520, ptr %16521, align 4, !tbaa !5
  %16522 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16523 = load i32, ptr @test_count, align 4, !tbaa !5
  %16524 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16525 = load i32, ptr %16524, align 4, !tbaa !5
  %16526 = call ptr @s2n_strerror(i32 noundef %16525, ptr noundef @.str.5)
  %16527 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16528 = load i32, ptr %16527, align 4, !tbaa !5
  %16529 = call ptr @s2n_strerror_debug(i32 noundef %16528, ptr noundef @.str.5)
  %16530 = call ptr @__errno_location() #12
  %16531 = load i32, ptr %16530, align 4, !tbaa !5
  %16532 = call ptr @strerror(i32 noundef %16531) #11
  %16533 = call ptr @__errno_location() #12
  %16534 = load i32, ptr %16533, align 4, !tbaa !5
  %16535 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16522, ptr noundef @.str.6, i32 noundef %16523, ptr noundef @.str.99, ptr noundef @.str.2, i32 noundef 790, ptr noundef %16526, ptr noundef %16529, ptr noundef %16532, i32 noundef %16534) #11
  br label %16536

16536:                                            ; preds = %16519, %16502
  call void @llvm.lifetime.end.p0(i64 4, ptr %516) #11
  br label %16537

16537:                                            ; preds = %16536
  br label %16538

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

16539:                                            ; No predecessors!
  br label %16540

16540:                                            ; preds = %16539
  br label %16541

16541:                                            ; preds = %16540, %16483
  br label %16542

16542:                                            ; preds = %16541
  br label %16543

16543:                                            ; preds = %16542
  call void @llvm.lifetime.start.p0(i64 4, ptr %517) #11
  store i32 0, ptr %517, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %518) #11
  %16544 = load ptr, ptr %510, align 8, !tbaa !9
  %16545 = getelementptr inbounds %struct.s2n_test_iovecs, ptr %455, i32 0, i32 0
  %16546 = load ptr, ptr %16545, align 8, !tbaa !63
  %16547 = getelementptr inbounds %struct.s2n_test_iovecs, ptr %455, i32 0, i32 1
  %16548 = load i64, ptr %16547, align 8, !tbaa !65
  %16549 = load i64, ptr %509, align 8, !tbaa !20
  %16550 = call i64 @s2n_ktls_sendv_with_offset(ptr noundef %16544, ptr noundef %16546, i64 noundef %16548, i64 noundef %16549, ptr noundef %517)
  store i64 %16550, ptr %518, align 8, !tbaa !20
  br label %16551

16551:                                            ; preds = %16543
  %16552 = load i32, ptr @test_count, align 4, !tbaa !5
  %16553 = add nsw i32 %16552, 1
  store i32 %16553, ptr @test_count, align 4, !tbaa !5
  %16554 = load i64, ptr %518, align 8, !tbaa !20
  %16555 = load i64, ptr %515, align 8, !tbaa !20
  %16556 = icmp eq i64 %16554, %16555
  br i1 %16556, label %16610, label %16557

16557:                                            ; preds = %16551
  br label %16558

16558:                                            ; preds = %16557
  br label %16559

16559:                                            ; preds = %16558
  call void @llvm.lifetime.start.p0(i64 4, ptr %519) #11
  %16560 = call ptr @__errno_location() #12
  %16561 = load i32, ptr %16560, align 4, !tbaa !5
  store i32 %16561, ptr %519, align 4, !tbaa !5
  %16562 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16563 = call i32 @s2n_print_stacktrace(ptr noundef %16562)
  %16564 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16565 = trunc i8 %16564 to i1
  br i1 %16565, label %16566, label %16588

16566:                                            ; preds = %16559
  %16567 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16568 = call i32 @fileno(ptr noundef %16567) #11
  %16569 = call i32 @isatty(i32 noundef %16568) #11
  %16570 = icmp ne i32 %16569, 0
  br i1 %16570, label %16571, label %16588

16571:                                            ; preds = %16566
  %16572 = load i32, ptr %519, align 4, !tbaa !5
  %16573 = call ptr @__errno_location() #12
  store i32 %16572, ptr %16573, align 4, !tbaa !5
  %16574 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16575 = load i32, ptr @test_count, align 4, !tbaa !5
  %16576 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16577 = load i32, ptr %16576, align 4, !tbaa !5
  %16578 = call ptr @s2n_strerror(i32 noundef %16577, ptr noundef @.str.5)
  %16579 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16580 = load i32, ptr %16579, align 4, !tbaa !5
  %16581 = call ptr @s2n_strerror_debug(i32 noundef %16580, ptr noundef @.str.5)
  %16582 = call ptr @__errno_location() #12
  %16583 = load i32, ptr %16582, align 4, !tbaa !5
  %16584 = call ptr @strerror(i32 noundef %16583) #11
  %16585 = call ptr @__errno_location() #12
  %16586 = load i32, ptr %16585, align 4, !tbaa !5
  %16587 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16574, ptr noundef @.str.3, i32 noundef %16575, ptr noundef @.str.100, ptr noundef @.str.2, i32 noundef 795, ptr noundef %16578, ptr noundef %16581, ptr noundef %16584, i32 noundef %16586) #11
  br label %16605

16588:                                            ; preds = %16566, %16559
  %16589 = load i32, ptr %519, align 4, !tbaa !5
  %16590 = call ptr @__errno_location() #12
  store i32 %16589, ptr %16590, align 4, !tbaa !5
  %16591 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16592 = load i32, ptr @test_count, align 4, !tbaa !5
  %16593 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16594 = load i32, ptr %16593, align 4, !tbaa !5
  %16595 = call ptr @s2n_strerror(i32 noundef %16594, ptr noundef @.str.5)
  %16596 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16597 = load i32, ptr %16596, align 4, !tbaa !5
  %16598 = call ptr @s2n_strerror_debug(i32 noundef %16597, ptr noundef @.str.5)
  %16599 = call ptr @__errno_location() #12
  %16600 = load i32, ptr %16599, align 4, !tbaa !5
  %16601 = call ptr @strerror(i32 noundef %16600) #11
  %16602 = call ptr @__errno_location() #12
  %16603 = load i32, ptr %16602, align 4, !tbaa !5
  %16604 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16591, ptr noundef @.str.6, i32 noundef %16592, ptr noundef @.str.100, ptr noundef @.str.2, i32 noundef 795, ptr noundef %16595, ptr noundef %16598, ptr noundef %16601, i32 noundef %16603) #11
  br label %16605

16605:                                            ; preds = %16588, %16571
  call void @llvm.lifetime.end.p0(i64 4, ptr %519) #11
  br label %16606

16606:                                            ; preds = %16605
  br label %16607

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

16608:                                            ; No predecessors!
  br label %16609

16609:                                            ; preds = %16608
  br label %16610

16610:                                            ; preds = %16609, %16551
  br label %16611

16611:                                            ; preds = %16610
  br label %16612

16612:                                            ; preds = %16611
  br label %16613

16613:                                            ; preds = %16612
  %16614 = load i32, ptr @test_count, align 4, !tbaa !5
  %16615 = add nsw i32 %16614, 1
  store i32 %16615, ptr @test_count, align 4, !tbaa !5
  %16616 = getelementptr inbounds %struct.s2n_test_ktls_io_stuffer, ptr %512, i32 0, i32 2
  %16617 = load i64, ptr %16616, align 8, !tbaa !47
  %16618 = icmp eq i64 %16617, 1
  br i1 %16618, label %16672, label %16619

16619:                                            ; preds = %16613
  br label %16620

16620:                                            ; preds = %16619
  br label %16621

16621:                                            ; preds = %16620
  call void @llvm.lifetime.start.p0(i64 4, ptr %520) #11
  %16622 = call ptr @__errno_location() #12
  %16623 = load i32, ptr %16622, align 4, !tbaa !5
  store i32 %16623, ptr %520, align 4, !tbaa !5
  %16624 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16625 = call i32 @s2n_print_stacktrace(ptr noundef %16624)
  %16626 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16627 = trunc i8 %16626 to i1
  br i1 %16627, label %16628, label %16650

16628:                                            ; preds = %16621
  %16629 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16630 = call i32 @fileno(ptr noundef %16629) #11
  %16631 = call i32 @isatty(i32 noundef %16630) #11
  %16632 = icmp ne i32 %16631, 0
  br i1 %16632, label %16633, label %16650

16633:                                            ; preds = %16628
  %16634 = load i32, ptr %520, align 4, !tbaa !5
  %16635 = call ptr @__errno_location() #12
  store i32 %16634, ptr %16635, align 4, !tbaa !5
  %16636 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16637 = load i32, ptr @test_count, align 4, !tbaa !5
  %16638 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16639 = load i32, ptr %16638, align 4, !tbaa !5
  %16640 = call ptr @s2n_strerror(i32 noundef %16639, ptr noundef @.str.5)
  %16641 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16642 = load i32, ptr %16641, align 4, !tbaa !5
  %16643 = call ptr @s2n_strerror_debug(i32 noundef %16642, ptr noundef @.str.5)
  %16644 = call ptr @__errno_location() #12
  %16645 = load i32, ptr %16644, align 4, !tbaa !5
  %16646 = call ptr @strerror(i32 noundef %16645) #11
  %16647 = call ptr @__errno_location() #12
  %16648 = load i32, ptr %16647, align 4, !tbaa !5
  %16649 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16636, ptr noundef @.str.3, i32 noundef %16637, ptr noundef @.str.82, ptr noundef @.str.2, i32 noundef 797, ptr noundef %16640, ptr noundef %16643, ptr noundef %16646, i32 noundef %16648) #11
  br label %16667

16650:                                            ; preds = %16628, %16621
  %16651 = load i32, ptr %520, align 4, !tbaa !5
  %16652 = call ptr @__errno_location() #12
  store i32 %16651, ptr %16652, align 4, !tbaa !5
  %16653 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16654 = load i32, ptr @test_count, align 4, !tbaa !5
  %16655 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16656 = load i32, ptr %16655, align 4, !tbaa !5
  %16657 = call ptr @s2n_strerror(i32 noundef %16656, ptr noundef @.str.5)
  %16658 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16659 = load i32, ptr %16658, align 4, !tbaa !5
  %16660 = call ptr @s2n_strerror_debug(i32 noundef %16659, ptr noundef @.str.5)
  %16661 = call ptr @__errno_location() #12
  %16662 = load i32, ptr %16661, align 4, !tbaa !5
  %16663 = call ptr @strerror(i32 noundef %16662) #11
  %16664 = call ptr @__errno_location() #12
  %16665 = load i32, ptr %16664, align 4, !tbaa !5
  %16666 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16653, ptr noundef @.str.6, i32 noundef %16654, ptr noundef @.str.82, ptr noundef @.str.2, i32 noundef 797, ptr noundef %16657, ptr noundef %16660, ptr noundef %16663, i32 noundef %16665) #11
  br label %16667

16667:                                            ; preds = %16650, %16633
  call void @llvm.lifetime.end.p0(i64 4, ptr %520) #11
  br label %16668

16668:                                            ; preds = %16667
  br label %16669

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

16670:                                            ; No predecessors!
  br label %16671

16671:                                            ; preds = %16670
  br label %16672

16672:                                            ; preds = %16671, %16613
  br label %16673

16673:                                            ; preds = %16672
  br label %16674

16674:                                            ; preds = %16673
  br label %16675

16675:                                            ; preds = %16674
  %16676 = load i32, ptr @test_count, align 4, !tbaa !5
  %16677 = add nsw i32 %16676, 1
  store i32 %16677, ptr @test_count, align 4, !tbaa !5
  %16678 = load i32, ptr %517, align 4, !tbaa !5
  %16679 = icmp eq i32 %16678, 0
  br i1 %16679, label %16733, label %16680

16680:                                            ; preds = %16675
  br label %16681

16681:                                            ; preds = %16680
  br label %16682

16682:                                            ; preds = %16681
  call void @llvm.lifetime.start.p0(i64 4, ptr %521) #11
  %16683 = call ptr @__errno_location() #12
  %16684 = load i32, ptr %16683, align 4, !tbaa !5
  store i32 %16684, ptr %521, align 4, !tbaa !5
  %16685 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16686 = call i32 @s2n_print_stacktrace(ptr noundef %16685)
  %16687 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16688 = trunc i8 %16687 to i1
  br i1 %16688, label %16689, label %16711

16689:                                            ; preds = %16682
  %16690 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16691 = call i32 @fileno(ptr noundef %16690) #11
  %16692 = call i32 @isatty(i32 noundef %16691) #11
  %16693 = icmp ne i32 %16692, 0
  br i1 %16693, label %16694, label %16711

16694:                                            ; preds = %16689
  %16695 = load i32, ptr %521, align 4, !tbaa !5
  %16696 = call ptr @__errno_location() #12
  store i32 %16695, ptr %16696, align 4, !tbaa !5
  %16697 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16698 = load i32, ptr @test_count, align 4, !tbaa !5
  %16699 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16700 = load i32, ptr %16699, align 4, !tbaa !5
  %16701 = call ptr @s2n_strerror(i32 noundef %16700, ptr noundef @.str.5)
  %16702 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16703 = load i32, ptr %16702, align 4, !tbaa !5
  %16704 = call ptr @s2n_strerror_debug(i32 noundef %16703, ptr noundef @.str.5)
  %16705 = call ptr @__errno_location() #12
  %16706 = load i32, ptr %16705, align 4, !tbaa !5
  %16707 = call ptr @strerror(i32 noundef %16706) #11
  %16708 = call ptr @__errno_location() #12
  %16709 = load i32, ptr %16708, align 4, !tbaa !5
  %16710 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16697, ptr noundef @.str.3, i32 noundef %16698, ptr noundef @.str.31, ptr noundef @.str.2, i32 noundef 798, ptr noundef %16701, ptr noundef %16704, ptr noundef %16707, i32 noundef %16709) #11
  br label %16728

16711:                                            ; preds = %16689, %16682
  %16712 = load i32, ptr %521, align 4, !tbaa !5
  %16713 = call ptr @__errno_location() #12
  store i32 %16712, ptr %16713, align 4, !tbaa !5
  %16714 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16715 = load i32, ptr @test_count, align 4, !tbaa !5
  %16716 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16717 = load i32, ptr %16716, align 4, !tbaa !5
  %16718 = call ptr @s2n_strerror(i32 noundef %16717, ptr noundef @.str.5)
  %16719 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16720 = load i32, ptr %16719, align 4, !tbaa !5
  %16721 = call ptr @s2n_strerror_debug(i32 noundef %16720, ptr noundef @.str.5)
  %16722 = call ptr @__errno_location() #12
  %16723 = load i32, ptr %16722, align 4, !tbaa !5
  %16724 = call ptr @strerror(i32 noundef %16723) #11
  %16725 = call ptr @__errno_location() #12
  %16726 = load i32, ptr %16725, align 4, !tbaa !5
  %16727 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16714, ptr noundef @.str.6, i32 noundef %16715, ptr noundef @.str.31, ptr noundef @.str.2, i32 noundef 798, ptr noundef %16718, ptr noundef %16721, ptr noundef %16724, i32 noundef %16726) #11
  br label %16728

16728:                                            ; preds = %16711, %16694
  call void @llvm.lifetime.end.p0(i64 4, ptr %521) #11
  br label %16729

16729:                                            ; preds = %16728
  br label %16730

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

16731:                                            ; No predecessors!
  br label %16732

16732:                                            ; preds = %16731
  br label %16733

16733:                                            ; preds = %16732, %16675
  br label %16734

16734:                                            ; preds = %16733
  br label %16735

16735:                                            ; preds = %16734
  br label %16736

16736:                                            ; preds = %16735
  %16737 = load i32, ptr @test_count, align 4, !tbaa !5
  %16738 = add nsw i32 %16737, 1
  store i32 %16738, ptr @test_count, align 4, !tbaa !5
  %16739 = load i64, ptr %515, align 8, !tbaa !20
  %16740 = trunc i64 %16739 to i16
  %16741 = call i32 @s2n_test_validate_ancillary(ptr noundef %512, i8 noundef zeroext 23, i16 noundef zeroext %16740)
  %16742 = getelementptr inbounds %struct.s2n_result, ptr %522, i32 0, i32 0
  store i32 %16741, ptr %16742, align 4
  %16743 = getelementptr inbounds %struct.s2n_result, ptr %522, i32 0, i32 0
  %16744 = load i32, ptr %16743, align 4
  %16745 = call zeroext i1 @s2n_result_is_ok(i32 %16744)
  br i1 %16745, label %16799, label %16746

16746:                                            ; preds = %16736
  br label %16747

16747:                                            ; preds = %16746
  br label %16748

16748:                                            ; preds = %16747
  call void @llvm.lifetime.start.p0(i64 4, ptr %523) #11
  %16749 = call ptr @__errno_location() #12
  %16750 = load i32, ptr %16749, align 4, !tbaa !5
  store i32 %16750, ptr %523, align 4, !tbaa !5
  %16751 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16752 = call i32 @s2n_print_stacktrace(ptr noundef %16751)
  %16753 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16754 = trunc i8 %16753 to i1
  br i1 %16754, label %16755, label %16777

16755:                                            ; preds = %16748
  %16756 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16757 = call i32 @fileno(ptr noundef %16756) #11
  %16758 = call i32 @isatty(i32 noundef %16757) #11
  %16759 = icmp ne i32 %16758, 0
  br i1 %16759, label %16760, label %16777

16760:                                            ; preds = %16755
  %16761 = load i32, ptr %523, align 4, !tbaa !5
  %16762 = call ptr @__errno_location() #12
  store i32 %16761, ptr %16762, align 4, !tbaa !5
  %16763 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16764 = load i32, ptr @test_count, align 4, !tbaa !5
  %16765 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16766 = load i32, ptr %16765, align 4, !tbaa !5
  %16767 = call ptr @s2n_strerror(i32 noundef %16766, ptr noundef @.str.5)
  %16768 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16769 = load i32, ptr %16768, align 4, !tbaa !5
  %16770 = call ptr @s2n_strerror_debug(i32 noundef %16769, ptr noundef @.str.5)
  %16771 = call ptr @__errno_location() #12
  %16772 = load i32, ptr %16771, align 4, !tbaa !5
  %16773 = call ptr @strerror(i32 noundef %16772) #11
  %16774 = call ptr @__errno_location() #12
  %16775 = load i32, ptr %16774, align 4, !tbaa !5
  %16776 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16763, ptr noundef @.str.3, i32 noundef %16764, ptr noundef @.str.101, ptr noundef @.str.2, i32 noundef 799, ptr noundef %16767, ptr noundef %16770, ptr noundef %16773, i32 noundef %16775) #11
  br label %16794

16777:                                            ; preds = %16755, %16748
  %16778 = load i32, ptr %523, align 4, !tbaa !5
  %16779 = call ptr @__errno_location() #12
  store i32 %16778, ptr %16779, align 4, !tbaa !5
  %16780 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16781 = load i32, ptr @test_count, align 4, !tbaa !5
  %16782 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16783 = load i32, ptr %16782, align 4, !tbaa !5
  %16784 = call ptr @s2n_strerror(i32 noundef %16783, ptr noundef @.str.5)
  %16785 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16786 = load i32, ptr %16785, align 4, !tbaa !5
  %16787 = call ptr @s2n_strerror_debug(i32 noundef %16786, ptr noundef @.str.5)
  %16788 = call ptr @__errno_location() #12
  %16789 = load i32, ptr %16788, align 4, !tbaa !5
  %16790 = call ptr @strerror(i32 noundef %16789) #11
  %16791 = call ptr @__errno_location() #12
  %16792 = load i32, ptr %16791, align 4, !tbaa !5
  %16793 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16780, ptr noundef @.str.6, i32 noundef %16781, ptr noundef @.str.101, ptr noundef @.str.2, i32 noundef 799, ptr noundef %16784, ptr noundef %16787, ptr noundef %16790, i32 noundef %16792) #11
  br label %16794

16794:                                            ; preds = %16777, %16760
  call void @llvm.lifetime.end.p0(i64 4, ptr %523) #11
  br label %16795

16795:                                            ; preds = %16794
  br label %16796

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

16797:                                            ; No predecessors!
  br label %16798

16798:                                            ; preds = %16797
  br label %16799

16799:                                            ; preds = %16798, %16736
  br label %16800

16800:                                            ; preds = %16799
  br label %16801

16801:                                            ; preds = %16800
  br label %16802

16802:                                            ; preds = %16801
  %16803 = load i32, ptr @test_count, align 4, !tbaa !5
  %16804 = add nsw i32 %16803, 1
  store i32 %16804, ptr @test_count, align 4, !tbaa !5
  %16805 = getelementptr inbounds [16384 x i8], ptr %10, i64 0, i64 0
  %16806 = load i64, ptr %509, align 8, !tbaa !20
  %16807 = getelementptr inbounds i8, ptr %16805, i64 %16806
  %16808 = load i64, ptr %515, align 8, !tbaa !20
  %16809 = trunc i64 %16808 to i16
  %16810 = call i32 @s2n_test_validate_data(ptr noundef %512, ptr noundef %16807, i16 noundef zeroext %16809)
  %16811 = getelementptr inbounds %struct.s2n_result, ptr %524, i32 0, i32 0
  store i32 %16810, ptr %16811, align 4
  %16812 = getelementptr inbounds %struct.s2n_result, ptr %524, i32 0, i32 0
  %16813 = load i32, ptr %16812, align 4
  %16814 = call zeroext i1 @s2n_result_is_ok(i32 %16813)
  br i1 %16814, label %16868, label %16815

16815:                                            ; preds = %16802
  br label %16816

16816:                                            ; preds = %16815
  br label %16817

16817:                                            ; preds = %16816
  call void @llvm.lifetime.start.p0(i64 4, ptr %525) #11
  %16818 = call ptr @__errno_location() #12
  %16819 = load i32, ptr %16818, align 4, !tbaa !5
  store i32 %16819, ptr %525, align 4, !tbaa !5
  %16820 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16821 = call i32 @s2n_print_stacktrace(ptr noundef %16820)
  %16822 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16823 = trunc i8 %16822 to i1
  br i1 %16823, label %16824, label %16846

16824:                                            ; preds = %16817
  %16825 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16826 = call i32 @fileno(ptr noundef %16825) #11
  %16827 = call i32 @isatty(i32 noundef %16826) #11
  %16828 = icmp ne i32 %16827, 0
  br i1 %16828, label %16829, label %16846

16829:                                            ; preds = %16824
  %16830 = load i32, ptr %525, align 4, !tbaa !5
  %16831 = call ptr @__errno_location() #12
  store i32 %16830, ptr %16831, align 4, !tbaa !5
  %16832 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16833 = load i32, ptr @test_count, align 4, !tbaa !5
  %16834 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16835 = load i32, ptr %16834, align 4, !tbaa !5
  %16836 = call ptr @s2n_strerror(i32 noundef %16835, ptr noundef @.str.5)
  %16837 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16838 = load i32, ptr %16837, align 4, !tbaa !5
  %16839 = call ptr @s2n_strerror_debug(i32 noundef %16838, ptr noundef @.str.5)
  %16840 = call ptr @__errno_location() #12
  %16841 = load i32, ptr %16840, align 4, !tbaa !5
  %16842 = call ptr @strerror(i32 noundef %16841) #11
  %16843 = call ptr @__errno_location() #12
  %16844 = load i32, ptr %16843, align 4, !tbaa !5
  %16845 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16832, ptr noundef @.str.3, i32 noundef %16833, ptr noundef @.str.102, ptr noundef @.str.2, i32 noundef 800, ptr noundef %16836, ptr noundef %16839, ptr noundef %16842, i32 noundef %16844) #11
  br label %16863

16846:                                            ; preds = %16824, %16817
  %16847 = load i32, ptr %525, align 4, !tbaa !5
  %16848 = call ptr @__errno_location() #12
  store i32 %16847, ptr %16848, align 4, !tbaa !5
  %16849 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16850 = load i32, ptr @test_count, align 4, !tbaa !5
  %16851 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16852 = load i32, ptr %16851, align 4, !tbaa !5
  %16853 = call ptr @s2n_strerror(i32 noundef %16852, ptr noundef @.str.5)
  %16854 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16855 = load i32, ptr %16854, align 4, !tbaa !5
  %16856 = call ptr @s2n_strerror_debug(i32 noundef %16855, ptr noundef @.str.5)
  %16857 = call ptr @__errno_location() #12
  %16858 = load i32, ptr %16857, align 4, !tbaa !5
  %16859 = call ptr @strerror(i32 noundef %16858) #11
  %16860 = call ptr @__errno_location() #12
  %16861 = load i32, ptr %16860, align 4, !tbaa !5
  %16862 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16849, ptr noundef @.str.6, i32 noundef %16850, ptr noundef @.str.102, ptr noundef @.str.2, i32 noundef 800, ptr noundef %16853, ptr noundef %16856, ptr noundef %16859, i32 noundef %16861) #11
  br label %16863

16863:                                            ; preds = %16846, %16829
  call void @llvm.lifetime.end.p0(i64 4, ptr %525) #11
  br label %16864

16864:                                            ; preds = %16863
  br label %16865

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

16866:                                            ; No predecessors!
  br label %16867

16867:                                            ; preds = %16866
  br label %16868

16868:                                            ; preds = %16867, %16802
  br label %16869

16869:                                            ; preds = %16868
  br label %16870

16870:                                            ; preds = %16869
  call void @llvm.lifetime.end.p0(i64 8, ptr %518) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %517) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %515) #11
  %16871 = call i32 @s2n_ktls_io_stuffer_free(ptr noundef %512)
  %16872 = getelementptr inbounds %struct.s2n_result, ptr %526, i32 0, i32 0
  store i32 %16871, ptr %16872, align 4
  call void @llvm.lifetime.end.p0(i64 96, ptr %512) #11
  %16873 = call i32 @s2n_connection_ptr_free(ptr noundef %510)
  %16874 = getelementptr inbounds %struct.s2n_result, ptr %527, i32 0, i32 0
  store i32 %16873, ptr %16874, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %510) #11
  br label %16875

16875:                                            ; preds = %16870
  %16876 = load i64, ptr %509, align 8, !tbaa !20
  %16877 = add i64 %16876, 1
  store i64 %16877, ptr %509, align 8, !tbaa !20
  br label %16349, !llvm.loop !67

16878:                                            ; preds = %16352
  %16879 = call i32 @s2n_test_iovecs_free(ptr noundef %455)
  %16880 = getelementptr inbounds %struct.s2n_result, ptr %528, i32 0, i32 0
  store i32 %16879, ptr %16880, align 4
  call void @llvm.lifetime.end.p0(i64 16, ptr %455) #11
  call void @llvm.lifetime.end.p0(i64 800, ptr %452) #11
  %16881 = call i32 @s2n_test_iovecs_free(ptr noundef %449)
  %16882 = getelementptr inbounds %struct.s2n_result, ptr %529, i32 0, i32 0
  store i32 %16881, ptr %16882, align 4
  call void @llvm.lifetime.end.p0(i64 16, ptr %449) #11
  call void @llvm.lifetime.start.p0(i64 16, ptr %530) #11
  call void @llvm.memset.p0.i64(ptr align 8 %530, i8 0, i64 16, i1 false)
  br label %16883

16883:                                            ; preds = %16878
  %16884 = load i32, ptr @test_count, align 4, !tbaa !5
  %16885 = add nsw i32 %16884, 1
  store i32 %16885, ptr @test_count, align 4, !tbaa !5
  %16886 = getelementptr inbounds [7 x i64], ptr %359, i64 0, i64 0
  %16887 = call i32 @s2n_test_new_iovecs(ptr noundef %530, ptr noundef %11, ptr noundef %16886, i64 noundef 7)
  %16888 = getelementptr inbounds %struct.s2n_result, ptr %531, i32 0, i32 0
  store i32 %16887, ptr %16888, align 4
  %16889 = getelementptr inbounds %struct.s2n_result, ptr %531, i32 0, i32 0
  %16890 = load i32, ptr %16889, align 4
  %16891 = call zeroext i1 @s2n_result_is_ok(i32 %16890)
  br i1 %16891, label %16945, label %16892

16892:                                            ; preds = %16883
  br label %16893

16893:                                            ; preds = %16892
  br label %16894

16894:                                            ; preds = %16893
  call void @llvm.lifetime.start.p0(i64 4, ptr %532) #11
  %16895 = call ptr @__errno_location() #12
  %16896 = load i32, ptr %16895, align 4, !tbaa !5
  store i32 %16896, ptr %532, align 4, !tbaa !5
  %16897 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16898 = call i32 @s2n_print_stacktrace(ptr noundef %16897)
  %16899 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16900 = trunc i8 %16899 to i1
  br i1 %16900, label %16901, label %16923

16901:                                            ; preds = %16894
  %16902 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16903 = call i32 @fileno(ptr noundef %16902) #11
  %16904 = call i32 @isatty(i32 noundef %16903) #11
  %16905 = icmp ne i32 %16904, 0
  br i1 %16905, label %16906, label %16923

16906:                                            ; preds = %16901
  %16907 = load i32, ptr %532, align 4, !tbaa !5
  %16908 = call ptr @__errno_location() #12
  store i32 %16907, ptr %16908, align 4, !tbaa !5
  %16909 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16910 = load i32, ptr @test_count, align 4, !tbaa !5
  %16911 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16912 = load i32, ptr %16911, align 4, !tbaa !5
  %16913 = call ptr @s2n_strerror(i32 noundef %16912, ptr noundef @.str.5)
  %16914 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16915 = load i32, ptr %16914, align 4, !tbaa !5
  %16916 = call ptr @s2n_strerror_debug(i32 noundef %16915, ptr noundef @.str.5)
  %16917 = call ptr @__errno_location() #12
  %16918 = load i32, ptr %16917, align 4, !tbaa !5
  %16919 = call ptr @strerror(i32 noundef %16918) #11
  %16920 = call ptr @__errno_location() #12
  %16921 = load i32, ptr %16920, align 4, !tbaa !5
  %16922 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16909, ptr noundef @.str.3, i32 noundef %16910, ptr noundef @.str.92, ptr noundef @.str.2, i32 noundef 808, ptr noundef %16913, ptr noundef %16916, ptr noundef %16919, i32 noundef %16921) #11
  br label %16940

16923:                                            ; preds = %16901, %16894
  %16924 = load i32, ptr %532, align 4, !tbaa !5
  %16925 = call ptr @__errno_location() #12
  store i32 %16924, ptr %16925, align 4, !tbaa !5
  %16926 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16927 = load i32, ptr @test_count, align 4, !tbaa !5
  %16928 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16929 = load i32, ptr %16928, align 4, !tbaa !5
  %16930 = call ptr @s2n_strerror(i32 noundef %16929, ptr noundef @.str.5)
  %16931 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16932 = load i32, ptr %16931, align 4, !tbaa !5
  %16933 = call ptr @s2n_strerror_debug(i32 noundef %16932, ptr noundef @.str.5)
  %16934 = call ptr @__errno_location() #12
  %16935 = load i32, ptr %16934, align 4, !tbaa !5
  %16936 = call ptr @strerror(i32 noundef %16935) #11
  %16937 = call ptr @__errno_location() #12
  %16938 = load i32, ptr %16937, align 4, !tbaa !5
  %16939 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16926, ptr noundef @.str.6, i32 noundef %16927, ptr noundef @.str.92, ptr noundef @.str.2, i32 noundef 808, ptr noundef %16930, ptr noundef %16933, ptr noundef %16936, i32 noundef %16938) #11
  br label %16940

16940:                                            ; preds = %16923, %16906
  call void @llvm.lifetime.end.p0(i64 4, ptr %532) #11
  br label %16941

16941:                                            ; preds = %16940
  br label %16942

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

16943:                                            ; No predecessors!
  br label %16944

16944:                                            ; preds = %16943
  br label %16945

16945:                                            ; preds = %16944, %16883
  br label %16946

16946:                                            ; preds = %16945
  br label %16947

16947:                                            ; preds = %16946
  call void @llvm.lifetime.start.p0(i64 8, ptr %533) #11
  store i64 1, ptr %533, align 8, !tbaa !20
  br label %16948

16948:                                            ; preds = %17468, %16947
  %16949 = load i64, ptr %533, align 8, !tbaa !20
  %16950 = icmp ult i64 %16949, 16384
  br i1 %16950, label %16952, label %16951

16951:                                            ; preds = %16948
  call void @llvm.lifetime.end.p0(i64 8, ptr %533) #11
  br label %17471

16952:                                            ; preds = %16948
  call void @llvm.lifetime.start.p0(i64 8, ptr %534) #11
  %16953 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %16953, ptr %534, align 8, !tbaa !9
  br label %16954

16954:                                            ; preds = %16952
  %16955 = load i32, ptr @test_count, align 4, !tbaa !5
  %16956 = add nsw i32 %16955, 1
  store i32 %16956, ptr @test_count, align 4, !tbaa !5
  %16957 = load ptr, ptr %534, align 8, !tbaa !9
  %16958 = icmp eq ptr %16957, null
  br i1 %16958, label %16959, label %17012

16959:                                            ; preds = %16954
  br label %16960

16960:                                            ; preds = %16959
  br label %16961

16961:                                            ; preds = %16960
  call void @llvm.lifetime.start.p0(i64 4, ptr %535) #11
  %16962 = call ptr @__errno_location() #12
  %16963 = load i32, ptr %16962, align 4, !tbaa !5
  store i32 %16963, ptr %535, align 4, !tbaa !5
  %16964 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16965 = call i32 @s2n_print_stacktrace(ptr noundef %16964)
  %16966 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16967 = trunc i8 %16966 to i1
  br i1 %16967, label %16968, label %16990

16968:                                            ; preds = %16961
  %16969 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16970 = call i32 @fileno(ptr noundef %16969) #11
  %16971 = call i32 @isatty(i32 noundef %16970) #11
  %16972 = icmp ne i32 %16971, 0
  br i1 %16972, label %16973, label %16990

16973:                                            ; preds = %16968
  %16974 = load i32, ptr %535, align 4, !tbaa !5
  %16975 = call ptr @__errno_location() #12
  store i32 %16974, ptr %16975, align 4, !tbaa !5
  %16976 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16977 = load i32, ptr @test_count, align 4, !tbaa !5
  %16978 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16979 = load i32, ptr %16978, align 4, !tbaa !5
  %16980 = call ptr @s2n_strerror(i32 noundef %16979, ptr noundef @.str.5)
  %16981 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16982 = load i32, ptr %16981, align 4, !tbaa !5
  %16983 = call ptr @s2n_strerror_debug(i32 noundef %16982, ptr noundef @.str.5)
  %16984 = call ptr @__errno_location() #12
  %16985 = load i32, ptr %16984, align 4, !tbaa !5
  %16986 = call ptr @strerror(i32 noundef %16985) #11
  %16987 = call ptr @__errno_location() #12
  %16988 = load i32, ptr %16987, align 4, !tbaa !5
  %16989 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16976, ptr noundef @.str.3, i32 noundef %16977, ptr noundef @.str.79, ptr noundef @.str.2, i32 noundef 814, ptr noundef %16980, ptr noundef %16983, ptr noundef %16986, i32 noundef %16988) #11
  br label %17007

16990:                                            ; preds = %16968, %16961
  %16991 = load i32, ptr %535, align 4, !tbaa !5
  %16992 = call ptr @__errno_location() #12
  store i32 %16991, ptr %16992, align 4, !tbaa !5
  %16993 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16994 = load i32, ptr @test_count, align 4, !tbaa !5
  %16995 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16996 = load i32, ptr %16995, align 4, !tbaa !5
  %16997 = call ptr @s2n_strerror(i32 noundef %16996, ptr noundef @.str.5)
  %16998 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16999 = load i32, ptr %16998, align 4, !tbaa !5
  %17000 = call ptr @s2n_strerror_debug(i32 noundef %16999, ptr noundef @.str.5)
  %17001 = call ptr @__errno_location() #12
  %17002 = load i32, ptr %17001, align 4, !tbaa !5
  %17003 = call ptr @strerror(i32 noundef %17002) #11
  %17004 = call ptr @__errno_location() #12
  %17005 = load i32, ptr %17004, align 4, !tbaa !5
  %17006 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16993, ptr noundef @.str.6, i32 noundef %16994, ptr noundef @.str.79, ptr noundef @.str.2, i32 noundef 814, ptr noundef %16997, ptr noundef %17000, ptr noundef %17003, i32 noundef %17005) #11
  br label %17007

17007:                                            ; preds = %16990, %16973
  call void @llvm.lifetime.end.p0(i64 4, ptr %535) #11
  br label %17008

17008:                                            ; preds = %17007
  br label %17009

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

17010:                                            ; No predecessors!
  br label %17011

17011:                                            ; preds = %17010
  br label %17012

17012:                                            ; preds = %17011, %16954
  br label %17013

17013:                                            ; preds = %17012
  br label %17014

17014:                                            ; preds = %17013
  call void @llvm.lifetime.start.p0(i64 96, ptr %536) #11
  call void @llvm.memset.p0.i64(ptr align 8 %536, i8 0, i64 96, i1 false)
  br label %17015

17015:                                            ; preds = %17014
  %17016 = load i32, ptr @test_count, align 4, !tbaa !5
  %17017 = add nsw i32 %17016, 1
  store i32 %17017, ptr @test_count, align 4, !tbaa !5
  %17018 = load ptr, ptr %534, align 8, !tbaa !9
  %17019 = call i32 @s2n_test_init_ktls_io_stuffer_send(ptr noundef %17018, ptr noundef %536)
  %17020 = getelementptr inbounds %struct.s2n_result, ptr %537, i32 0, i32 0
  store i32 %17019, ptr %17020, align 4
  %17021 = getelementptr inbounds %struct.s2n_result, ptr %537, i32 0, i32 0
  %17022 = load i32, ptr %17021, align 4
  %17023 = call zeroext i1 @s2n_result_is_ok(i32 %17022)
  br i1 %17023, label %17077, label %17024

17024:                                            ; preds = %17015
  br label %17025

17025:                                            ; preds = %17024
  br label %17026

17026:                                            ; preds = %17025
  call void @llvm.lifetime.start.p0(i64 4, ptr %538) #11
  %17027 = call ptr @__errno_location() #12
  %17028 = load i32, ptr %17027, align 4, !tbaa !5
  store i32 %17028, ptr %538, align 4, !tbaa !5
  %17029 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17030 = call i32 @s2n_print_stacktrace(ptr noundef %17029)
  %17031 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17032 = trunc i8 %17031 to i1
  br i1 %17032, label %17033, label %17055

17033:                                            ; preds = %17026
  %17034 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17035 = call i32 @fileno(ptr noundef %17034) #11
  %17036 = call i32 @isatty(i32 noundef %17035) #11
  %17037 = icmp ne i32 %17036, 0
  br i1 %17037, label %17038, label %17055

17038:                                            ; preds = %17033
  %17039 = load i32, ptr %538, align 4, !tbaa !5
  %17040 = call ptr @__errno_location() #12
  store i32 %17039, ptr %17040, align 4, !tbaa !5
  %17041 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17042 = load i32, ptr @test_count, align 4, !tbaa !5
  %17043 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17044 = load i32, ptr %17043, align 4, !tbaa !5
  %17045 = call ptr @s2n_strerror(i32 noundef %17044, ptr noundef @.str.5)
  %17046 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17047 = load i32, ptr %17046, align 4, !tbaa !5
  %17048 = call ptr @s2n_strerror_debug(i32 noundef %17047, ptr noundef @.str.5)
  %17049 = call ptr @__errno_location() #12
  %17050 = load i32, ptr %17049, align 4, !tbaa !5
  %17051 = call ptr @strerror(i32 noundef %17050) #11
  %17052 = call ptr @__errno_location() #12
  %17053 = load i32, ptr %17052, align 4, !tbaa !5
  %17054 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17041, ptr noundef @.str.3, i32 noundef %17042, ptr noundef @.str.80, ptr noundef @.str.2, i32 noundef 818, ptr noundef %17045, ptr noundef %17048, ptr noundef %17051, i32 noundef %17053) #11
  br label %17072

17055:                                            ; preds = %17033, %17026
  %17056 = load i32, ptr %538, align 4, !tbaa !5
  %17057 = call ptr @__errno_location() #12
  store i32 %17056, ptr %17057, align 4, !tbaa !5
  %17058 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17059 = load i32, ptr @test_count, align 4, !tbaa !5
  %17060 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17061 = load i32, ptr %17060, align 4, !tbaa !5
  %17062 = call ptr @s2n_strerror(i32 noundef %17061, ptr noundef @.str.5)
  %17063 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17064 = load i32, ptr %17063, align 4, !tbaa !5
  %17065 = call ptr @s2n_strerror_debug(i32 noundef %17064, ptr noundef @.str.5)
  %17066 = call ptr @__errno_location() #12
  %17067 = load i32, ptr %17066, align 4, !tbaa !5
  %17068 = call ptr @strerror(i32 noundef %17067) #11
  %17069 = call ptr @__errno_location() #12
  %17070 = load i32, ptr %17069, align 4, !tbaa !5
  %17071 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17058, ptr noundef @.str.6, i32 noundef %17059, ptr noundef @.str.80, ptr noundef @.str.2, i32 noundef 818, ptr noundef %17062, ptr noundef %17065, ptr noundef %17068, i32 noundef %17070) #11
  br label %17072

17072:                                            ; preds = %17055, %17038
  call void @llvm.lifetime.end.p0(i64 4, ptr %538) #11
  br label %17073

17073:                                            ; preds = %17072
  br label %17074

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

17075:                                            ; No predecessors!
  br label %17076

17076:                                            ; preds = %17075
  br label %17077

17077:                                            ; preds = %17076, %17015
  br label %17078

17078:                                            ; preds = %17077
  br label %17079

17079:                                            ; preds = %17078
  br label %17080

17080:                                            ; preds = %17079
  %17081 = load i32, ptr @test_count, align 4, !tbaa !5
  %17082 = add nsw i32 %17081, 1
  store i32 %17082, ptr @test_count, align 4, !tbaa !5
  %17083 = getelementptr inbounds %struct.s2n_test_ktls_io_stuffer, ptr %536, i32 0, i32 1
  %17084 = call i32 @s2n_stuffer_free(ptr noundef %17083)
  %17085 = icmp eq i32 %17084, -1
  br i1 %17085, label %17086, label %17139

17086:                                            ; preds = %17080
  br label %17087

17087:                                            ; preds = %17086
  br label %17088

17088:                                            ; preds = %17087
  call void @llvm.lifetime.start.p0(i64 4, ptr %539) #11
  %17089 = call ptr @__errno_location() #12
  %17090 = load i32, ptr %17089, align 4, !tbaa !5
  store i32 %17090, ptr %539, align 4, !tbaa !5
  %17091 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17092 = call i32 @s2n_print_stacktrace(ptr noundef %17091)
  %17093 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17094 = trunc i8 %17093 to i1
  br i1 %17094, label %17095, label %17117

17095:                                            ; preds = %17088
  %17096 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17097 = call i32 @fileno(ptr noundef %17096) #11
  %17098 = call i32 @isatty(i32 noundef %17097) #11
  %17099 = icmp ne i32 %17098, 0
  br i1 %17099, label %17100, label %17117

17100:                                            ; preds = %17095
  %17101 = load i32, ptr %539, align 4, !tbaa !5
  %17102 = call ptr @__errno_location() #12
  store i32 %17101, ptr %17102, align 4, !tbaa !5
  %17103 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17104 = load i32, ptr @test_count, align 4, !tbaa !5
  %17105 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17106 = load i32, ptr %17105, align 4, !tbaa !5
  %17107 = call ptr @s2n_strerror(i32 noundef %17106, ptr noundef @.str.5)
  %17108 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17109 = load i32, ptr %17108, align 4, !tbaa !5
  %17110 = call ptr @s2n_strerror_debug(i32 noundef %17109, ptr noundef @.str.5)
  %17111 = call ptr @__errno_location() #12
  %17112 = load i32, ptr %17111, align 4, !tbaa !5
  %17113 = call ptr @strerror(i32 noundef %17112) #11
  %17114 = call ptr @__errno_location() #12
  %17115 = load i32, ptr %17114, align 4, !tbaa !5
  %17116 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17103, ptr noundef @.str.3, i32 noundef %17104, ptr noundef @.str.103, ptr noundef @.str.2, i32 noundef 819, ptr noundef %17107, ptr noundef %17110, ptr noundef %17113, i32 noundef %17115) #11
  br label %17134

17117:                                            ; preds = %17095, %17088
  %17118 = load i32, ptr %539, align 4, !tbaa !5
  %17119 = call ptr @__errno_location() #12
  store i32 %17118, ptr %17119, align 4, !tbaa !5
  %17120 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17121 = load i32, ptr @test_count, align 4, !tbaa !5
  %17122 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17123 = load i32, ptr %17122, align 4, !tbaa !5
  %17124 = call ptr @s2n_strerror(i32 noundef %17123, ptr noundef @.str.5)
  %17125 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17126 = load i32, ptr %17125, align 4, !tbaa !5
  %17127 = call ptr @s2n_strerror_debug(i32 noundef %17126, ptr noundef @.str.5)
  %17128 = call ptr @__errno_location() #12
  %17129 = load i32, ptr %17128, align 4, !tbaa !5
  %17130 = call ptr @strerror(i32 noundef %17129) #11
  %17131 = call ptr @__errno_location() #12
  %17132 = load i32, ptr %17131, align 4, !tbaa !5
  %17133 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17120, ptr noundef @.str.6, i32 noundef %17121, ptr noundef @.str.103, ptr noundef @.str.2, i32 noundef 819, ptr noundef %17124, ptr noundef %17127, ptr noundef %17130, i32 noundef %17132) #11
  br label %17134

17134:                                            ; preds = %17117, %17100
  call void @llvm.lifetime.end.p0(i64 4, ptr %539) #11
  br label %17135

17135:                                            ; preds = %17134
  br label %17136

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

17137:                                            ; No predecessors!
  br label %17138

17138:                                            ; preds = %17137
  br label %17139

17139:                                            ; preds = %17138, %17080
  br label %17140

17140:                                            ; preds = %17139
  br label %17141

17141:                                            ; preds = %17140
  br label %17142

17142:                                            ; preds = %17141
  %17143 = load i32, ptr @test_count, align 4, !tbaa !5
  %17144 = add nsw i32 %17143, 1
  store i32 %17144, ptr @test_count, align 4, !tbaa !5
  %17145 = getelementptr inbounds %struct.s2n_test_ktls_io_stuffer, ptr %536, i32 0, i32 1
  %17146 = load i64, ptr %533, align 8, !tbaa !20
  %17147 = trunc i64 %17146 to i32
  %17148 = call i32 @s2n_stuffer_alloc(ptr noundef %17145, i32 noundef %17147)
  %17149 = icmp eq i32 %17148, -1
  br i1 %17149, label %17150, label %17203

17150:                                            ; preds = %17142
  br label %17151

17151:                                            ; preds = %17150
  br label %17152

17152:                                            ; preds = %17151
  call void @llvm.lifetime.start.p0(i64 4, ptr %540) #11
  %17153 = call ptr @__errno_location() #12
  %17154 = load i32, ptr %17153, align 4, !tbaa !5
  store i32 %17154, ptr %540, align 4, !tbaa !5
  %17155 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17156 = call i32 @s2n_print_stacktrace(ptr noundef %17155)
  %17157 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17158 = trunc i8 %17157 to i1
  br i1 %17158, label %17159, label %17181

17159:                                            ; preds = %17152
  %17160 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17161 = call i32 @fileno(ptr noundef %17160) #11
  %17162 = call i32 @isatty(i32 noundef %17161) #11
  %17163 = icmp ne i32 %17162, 0
  br i1 %17163, label %17164, label %17181

17164:                                            ; preds = %17159
  %17165 = load i32, ptr %540, align 4, !tbaa !5
  %17166 = call ptr @__errno_location() #12
  store i32 %17165, ptr %17166, align 4, !tbaa !5
  %17167 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17168 = load i32, ptr @test_count, align 4, !tbaa !5
  %17169 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17170 = load i32, ptr %17169, align 4, !tbaa !5
  %17171 = call ptr @s2n_strerror(i32 noundef %17170, ptr noundef @.str.5)
  %17172 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17173 = load i32, ptr %17172, align 4, !tbaa !5
  %17174 = call ptr @s2n_strerror_debug(i32 noundef %17173, ptr noundef @.str.5)
  %17175 = call ptr @__errno_location() #12
  %17176 = load i32, ptr %17175, align 4, !tbaa !5
  %17177 = call ptr @strerror(i32 noundef %17176) #11
  %17178 = call ptr @__errno_location() #12
  %17179 = load i32, ptr %17178, align 4, !tbaa !5
  %17180 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17167, ptr noundef @.str.3, i32 noundef %17168, ptr noundef @.str.104, ptr noundef @.str.2, i32 noundef 820, ptr noundef %17171, ptr noundef %17174, ptr noundef %17177, i32 noundef %17179) #11
  br label %17198

17181:                                            ; preds = %17159, %17152
  %17182 = load i32, ptr %540, align 4, !tbaa !5
  %17183 = call ptr @__errno_location() #12
  store i32 %17182, ptr %17183, align 4, !tbaa !5
  %17184 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17185 = load i32, ptr @test_count, align 4, !tbaa !5
  %17186 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17187 = load i32, ptr %17186, align 4, !tbaa !5
  %17188 = call ptr @s2n_strerror(i32 noundef %17187, ptr noundef @.str.5)
  %17189 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17190 = load i32, ptr %17189, align 4, !tbaa !5
  %17191 = call ptr @s2n_strerror_debug(i32 noundef %17190, ptr noundef @.str.5)
  %17192 = call ptr @__errno_location() #12
  %17193 = load i32, ptr %17192, align 4, !tbaa !5
  %17194 = call ptr @strerror(i32 noundef %17193) #11
  %17195 = call ptr @__errno_location() #12
  %17196 = load i32, ptr %17195, align 4, !tbaa !5
  %17197 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17184, ptr noundef @.str.6, i32 noundef %17185, ptr noundef @.str.104, ptr noundef @.str.2, i32 noundef 820, ptr noundef %17188, ptr noundef %17191, ptr noundef %17194, i32 noundef %17196) #11
  br label %17198

17198:                                            ; preds = %17181, %17164
  call void @llvm.lifetime.end.p0(i64 4, ptr %540) #11
  br label %17199

17199:                                            ; preds = %17198
  br label %17200

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

17201:                                            ; No predecessors!
  br label %17202

17202:                                            ; preds = %17201
  br label %17203

17203:                                            ; preds = %17202, %17142
  br label %17204

17204:                                            ; preds = %17203
  br label %17205

17205:                                            ; preds = %17204
  call void @llvm.lifetime.start.p0(i64 4, ptr %541) #11
  store i32 0, ptr %541, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %542) #11
  %17206 = load ptr, ptr %534, align 8, !tbaa !9
  %17207 = getelementptr inbounds %struct.s2n_test_iovecs, ptr %530, i32 0, i32 0
  %17208 = load ptr, ptr %17207, align 8, !tbaa !63
  %17209 = getelementptr inbounds %struct.s2n_test_iovecs, ptr %530, i32 0, i32 1
  %17210 = load i64, ptr %17209, align 8, !tbaa !65
  %17211 = call i64 @s2n_ktls_sendv_with_offset(ptr noundef %17206, ptr noundef %17208, i64 noundef %17210, i64 noundef 0, ptr noundef %541)
  store i64 %17211, ptr %542, align 8, !tbaa !20
  br label %17212

17212:                                            ; preds = %17205
  %17213 = load i32, ptr @test_count, align 4, !tbaa !5
  %17214 = add nsw i32 %17213, 1
  store i32 %17214, ptr @test_count, align 4, !tbaa !5
  %17215 = load i64, ptr %542, align 8, !tbaa !20
  %17216 = load i64, ptr %533, align 8, !tbaa !20
  %17217 = icmp eq i64 %17215, %17216
  br i1 %17217, label %17271, label %17218

17218:                                            ; preds = %17212
  br label %17219

17219:                                            ; preds = %17218
  br label %17220

17220:                                            ; preds = %17219
  call void @llvm.lifetime.start.p0(i64 4, ptr %543) #11
  %17221 = call ptr @__errno_location() #12
  %17222 = load i32, ptr %17221, align 4, !tbaa !5
  store i32 %17222, ptr %543, align 4, !tbaa !5
  %17223 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17224 = call i32 @s2n_print_stacktrace(ptr noundef %17223)
  %17225 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17226 = trunc i8 %17225 to i1
  br i1 %17226, label %17227, label %17249

17227:                                            ; preds = %17220
  %17228 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17229 = call i32 @fileno(ptr noundef %17228) #11
  %17230 = call i32 @isatty(i32 noundef %17229) #11
  %17231 = icmp ne i32 %17230, 0
  br i1 %17231, label %17232, label %17249

17232:                                            ; preds = %17227
  %17233 = load i32, ptr %543, align 4, !tbaa !5
  %17234 = call ptr @__errno_location() #12
  store i32 %17233, ptr %17234, align 4, !tbaa !5
  %17235 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17236 = load i32, ptr @test_count, align 4, !tbaa !5
  %17237 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17238 = load i32, ptr %17237, align 4, !tbaa !5
  %17239 = call ptr @s2n_strerror(i32 noundef %17238, ptr noundef @.str.5)
  %17240 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17241 = load i32, ptr %17240, align 4, !tbaa !5
  %17242 = call ptr @s2n_strerror_debug(i32 noundef %17241, ptr noundef @.str.5)
  %17243 = call ptr @__errno_location() #12
  %17244 = load i32, ptr %17243, align 4, !tbaa !5
  %17245 = call ptr @strerror(i32 noundef %17244) #11
  %17246 = call ptr @__errno_location() #12
  %17247 = load i32, ptr %17246, align 4, !tbaa !5
  %17248 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17235, ptr noundef @.str.3, i32 noundef %17236, ptr noundef @.str.105, ptr noundef @.str.2, i32 noundef 825, ptr noundef %17239, ptr noundef %17242, ptr noundef %17245, i32 noundef %17247) #11
  br label %17266

17249:                                            ; preds = %17227, %17220
  %17250 = load i32, ptr %543, align 4, !tbaa !5
  %17251 = call ptr @__errno_location() #12
  store i32 %17250, ptr %17251, align 4, !tbaa !5
  %17252 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17253 = load i32, ptr @test_count, align 4, !tbaa !5
  %17254 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17255 = load i32, ptr %17254, align 4, !tbaa !5
  %17256 = call ptr @s2n_strerror(i32 noundef %17255, ptr noundef @.str.5)
  %17257 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17258 = load i32, ptr %17257, align 4, !tbaa !5
  %17259 = call ptr @s2n_strerror_debug(i32 noundef %17258, ptr noundef @.str.5)
  %17260 = call ptr @__errno_location() #12
  %17261 = load i32, ptr %17260, align 4, !tbaa !5
  %17262 = call ptr @strerror(i32 noundef %17261) #11
  %17263 = call ptr @__errno_location() #12
  %17264 = load i32, ptr %17263, align 4, !tbaa !5
  %17265 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17252, ptr noundef @.str.6, i32 noundef %17253, ptr noundef @.str.105, ptr noundef @.str.2, i32 noundef 825, ptr noundef %17256, ptr noundef %17259, ptr noundef %17262, i32 noundef %17264) #11
  br label %17266

17266:                                            ; preds = %17249, %17232
  call void @llvm.lifetime.end.p0(i64 4, ptr %543) #11
  br label %17267

17267:                                            ; preds = %17266
  br label %17268

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

17269:                                            ; No predecessors!
  br label %17270

17270:                                            ; preds = %17269
  br label %17271

17271:                                            ; preds = %17270, %17212
  br label %17272

17272:                                            ; preds = %17271
  br label %17273

17273:                                            ; preds = %17272
  br label %17274

17274:                                            ; preds = %17273
  %17275 = load i32, ptr @test_count, align 4, !tbaa !5
  %17276 = add nsw i32 %17275, 1
  store i32 %17276, ptr @test_count, align 4, !tbaa !5
  %17277 = load i32, ptr %541, align 4, !tbaa !5
  %17278 = icmp eq i32 %17277, 0
  br i1 %17278, label %17332, label %17279

17279:                                            ; preds = %17274
  br label %17280

17280:                                            ; preds = %17279
  br label %17281

17281:                                            ; preds = %17280
  call void @llvm.lifetime.start.p0(i64 4, ptr %544) #11
  %17282 = call ptr @__errno_location() #12
  %17283 = load i32, ptr %17282, align 4, !tbaa !5
  store i32 %17283, ptr %544, align 4, !tbaa !5
  %17284 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17285 = call i32 @s2n_print_stacktrace(ptr noundef %17284)
  %17286 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17287 = trunc i8 %17286 to i1
  br i1 %17287, label %17288, label %17310

17288:                                            ; preds = %17281
  %17289 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17290 = call i32 @fileno(ptr noundef %17289) #11
  %17291 = call i32 @isatty(i32 noundef %17290) #11
  %17292 = icmp ne i32 %17291, 0
  br i1 %17292, label %17293, label %17310

17293:                                            ; preds = %17288
  %17294 = load i32, ptr %544, align 4, !tbaa !5
  %17295 = call ptr @__errno_location() #12
  store i32 %17294, ptr %17295, align 4, !tbaa !5
  %17296 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17297 = load i32, ptr @test_count, align 4, !tbaa !5
  %17298 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17299 = load i32, ptr %17298, align 4, !tbaa !5
  %17300 = call ptr @s2n_strerror(i32 noundef %17299, ptr noundef @.str.5)
  %17301 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17302 = load i32, ptr %17301, align 4, !tbaa !5
  %17303 = call ptr @s2n_strerror_debug(i32 noundef %17302, ptr noundef @.str.5)
  %17304 = call ptr @__errno_location() #12
  %17305 = load i32, ptr %17304, align 4, !tbaa !5
  %17306 = call ptr @strerror(i32 noundef %17305) #11
  %17307 = call ptr @__errno_location() #12
  %17308 = load i32, ptr %17307, align 4, !tbaa !5
  %17309 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17296, ptr noundef @.str.3, i32 noundef %17297, ptr noundef @.str.31, ptr noundef @.str.2, i32 noundef 826, ptr noundef %17300, ptr noundef %17303, ptr noundef %17306, i32 noundef %17308) #11
  br label %17327

17310:                                            ; preds = %17288, %17281
  %17311 = load i32, ptr %544, align 4, !tbaa !5
  %17312 = call ptr @__errno_location() #12
  store i32 %17311, ptr %17312, align 4, !tbaa !5
  %17313 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17314 = load i32, ptr @test_count, align 4, !tbaa !5
  %17315 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17316 = load i32, ptr %17315, align 4, !tbaa !5
  %17317 = call ptr @s2n_strerror(i32 noundef %17316, ptr noundef @.str.5)
  %17318 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17319 = load i32, ptr %17318, align 4, !tbaa !5
  %17320 = call ptr @s2n_strerror_debug(i32 noundef %17319, ptr noundef @.str.5)
  %17321 = call ptr @__errno_location() #12
  %17322 = load i32, ptr %17321, align 4, !tbaa !5
  %17323 = call ptr @strerror(i32 noundef %17322) #11
  %17324 = call ptr @__errno_location() #12
  %17325 = load i32, ptr %17324, align 4, !tbaa !5
  %17326 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17313, ptr noundef @.str.6, i32 noundef %17314, ptr noundef @.str.31, ptr noundef @.str.2, i32 noundef 826, ptr noundef %17317, ptr noundef %17320, ptr noundef %17323, i32 noundef %17325) #11
  br label %17327

17327:                                            ; preds = %17310, %17293
  call void @llvm.lifetime.end.p0(i64 4, ptr %544) #11
  br label %17328

17328:                                            ; preds = %17327
  br label %17329

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

17330:                                            ; No predecessors!
  br label %17331

17331:                                            ; preds = %17330
  br label %17332

17332:                                            ; preds = %17331, %17274
  br label %17333

17333:                                            ; preds = %17332
  br label %17334

17334:                                            ; preds = %17333
  br label %17335

17335:                                            ; preds = %17334
  %17336 = load i32, ptr @test_count, align 4, !tbaa !5
  %17337 = add nsw i32 %17336, 1
  store i32 %17337, ptr @test_count, align 4, !tbaa !5
  %17338 = getelementptr inbounds %struct.s2n_test_ktls_io_stuffer, ptr %536, i32 0, i32 2
  %17339 = load i64, ptr %17338, align 8, !tbaa !47
  %17340 = icmp eq i64 %17339, 1
  br i1 %17340, label %17394, label %17341

17341:                                            ; preds = %17335
  br label %17342

17342:                                            ; preds = %17341
  br label %17343

17343:                                            ; preds = %17342
  call void @llvm.lifetime.start.p0(i64 4, ptr %545) #11
  %17344 = call ptr @__errno_location() #12
  %17345 = load i32, ptr %17344, align 4, !tbaa !5
  store i32 %17345, ptr %545, align 4, !tbaa !5
  %17346 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17347 = call i32 @s2n_print_stacktrace(ptr noundef %17346)
  %17348 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17349 = trunc i8 %17348 to i1
  br i1 %17349, label %17350, label %17372

17350:                                            ; preds = %17343
  %17351 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17352 = call i32 @fileno(ptr noundef %17351) #11
  %17353 = call i32 @isatty(i32 noundef %17352) #11
  %17354 = icmp ne i32 %17353, 0
  br i1 %17354, label %17355, label %17372

17355:                                            ; preds = %17350
  %17356 = load i32, ptr %545, align 4, !tbaa !5
  %17357 = call ptr @__errno_location() #12
  store i32 %17356, ptr %17357, align 4, !tbaa !5
  %17358 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17359 = load i32, ptr @test_count, align 4, !tbaa !5
  %17360 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17361 = load i32, ptr %17360, align 4, !tbaa !5
  %17362 = call ptr @s2n_strerror(i32 noundef %17361, ptr noundef @.str.5)
  %17363 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17364 = load i32, ptr %17363, align 4, !tbaa !5
  %17365 = call ptr @s2n_strerror_debug(i32 noundef %17364, ptr noundef @.str.5)
  %17366 = call ptr @__errno_location() #12
  %17367 = load i32, ptr %17366, align 4, !tbaa !5
  %17368 = call ptr @strerror(i32 noundef %17367) #11
  %17369 = call ptr @__errno_location() #12
  %17370 = load i32, ptr %17369, align 4, !tbaa !5
  %17371 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17358, ptr noundef @.str.3, i32 noundef %17359, ptr noundef @.str.82, ptr noundef @.str.2, i32 noundef 828, ptr noundef %17362, ptr noundef %17365, ptr noundef %17368, i32 noundef %17370) #11
  br label %17389

17372:                                            ; preds = %17350, %17343
  %17373 = load i32, ptr %545, align 4, !tbaa !5
  %17374 = call ptr @__errno_location() #12
  store i32 %17373, ptr %17374, align 4, !tbaa !5
  %17375 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17376 = load i32, ptr @test_count, align 4, !tbaa !5
  %17377 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17378 = load i32, ptr %17377, align 4, !tbaa !5
  %17379 = call ptr @s2n_strerror(i32 noundef %17378, ptr noundef @.str.5)
  %17380 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17381 = load i32, ptr %17380, align 4, !tbaa !5
  %17382 = call ptr @s2n_strerror_debug(i32 noundef %17381, ptr noundef @.str.5)
  %17383 = call ptr @__errno_location() #12
  %17384 = load i32, ptr %17383, align 4, !tbaa !5
  %17385 = call ptr @strerror(i32 noundef %17384) #11
  %17386 = call ptr @__errno_location() #12
  %17387 = load i32, ptr %17386, align 4, !tbaa !5
  %17388 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17375, ptr noundef @.str.6, i32 noundef %17376, ptr noundef @.str.82, ptr noundef @.str.2, i32 noundef 828, ptr noundef %17379, ptr noundef %17382, ptr noundef %17385, i32 noundef %17387) #11
  br label %17389

17389:                                            ; preds = %17372, %17355
  call void @llvm.lifetime.end.p0(i64 4, ptr %545) #11
  br label %17390

17390:                                            ; preds = %17389
  br label %17391

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

17392:                                            ; No predecessors!
  br label %17393

17393:                                            ; preds = %17392
  br label %17394

17394:                                            ; preds = %17393, %17335
  br label %17395

17395:                                            ; preds = %17394
  br label %17396

17396:                                            ; preds = %17395
  br label %17397

17397:                                            ; preds = %17396
  %17398 = load i32, ptr @test_count, align 4, !tbaa !5
  %17399 = add nsw i32 %17398, 1
  store i32 %17399, ptr @test_count, align 4, !tbaa !5
  %17400 = getelementptr inbounds [16384 x i8], ptr %10, i64 0, i64 0
  %17401 = load i64, ptr %533, align 8, !tbaa !20
  %17402 = trunc i64 %17401 to i16
  %17403 = call i32 @s2n_test_validate_data(ptr noundef %536, ptr noundef %17400, i16 noundef zeroext %17402)
  %17404 = getelementptr inbounds %struct.s2n_result, ptr %546, i32 0, i32 0
  store i32 %17403, ptr %17404, align 4
  %17405 = getelementptr inbounds %struct.s2n_result, ptr %546, i32 0, i32 0
  %17406 = load i32, ptr %17405, align 4
  %17407 = call zeroext i1 @s2n_result_is_ok(i32 %17406)
  br i1 %17407, label %17461, label %17408

17408:                                            ; preds = %17397
  br label %17409

17409:                                            ; preds = %17408
  br label %17410

17410:                                            ; preds = %17409
  call void @llvm.lifetime.start.p0(i64 4, ptr %547) #11
  %17411 = call ptr @__errno_location() #12
  %17412 = load i32, ptr %17411, align 4, !tbaa !5
  store i32 %17412, ptr %547, align 4, !tbaa !5
  %17413 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17414 = call i32 @s2n_print_stacktrace(ptr noundef %17413)
  %17415 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17416 = trunc i8 %17415 to i1
  br i1 %17416, label %17417, label %17439

17417:                                            ; preds = %17410
  %17418 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17419 = call i32 @fileno(ptr noundef %17418) #11
  %17420 = call i32 @isatty(i32 noundef %17419) #11
  %17421 = icmp ne i32 %17420, 0
  br i1 %17421, label %17422, label %17439

17422:                                            ; preds = %17417
  %17423 = load i32, ptr %547, align 4, !tbaa !5
  %17424 = call ptr @__errno_location() #12
  store i32 %17423, ptr %17424, align 4, !tbaa !5
  %17425 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17426 = load i32, ptr @test_count, align 4, !tbaa !5
  %17427 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17428 = load i32, ptr %17427, align 4, !tbaa !5
  %17429 = call ptr @s2n_strerror(i32 noundef %17428, ptr noundef @.str.5)
  %17430 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17431 = load i32, ptr %17430, align 4, !tbaa !5
  %17432 = call ptr @s2n_strerror_debug(i32 noundef %17431, ptr noundef @.str.5)
  %17433 = call ptr @__errno_location() #12
  %17434 = load i32, ptr %17433, align 4, !tbaa !5
  %17435 = call ptr @strerror(i32 noundef %17434) #11
  %17436 = call ptr @__errno_location() #12
  %17437 = load i32, ptr %17436, align 4, !tbaa !5
  %17438 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17425, ptr noundef @.str.3, i32 noundef %17426, ptr noundef @.str.106, ptr noundef @.str.2, i32 noundef 829, ptr noundef %17429, ptr noundef %17432, ptr noundef %17435, i32 noundef %17437) #11
  br label %17456

17439:                                            ; preds = %17417, %17410
  %17440 = load i32, ptr %547, align 4, !tbaa !5
  %17441 = call ptr @__errno_location() #12
  store i32 %17440, ptr %17441, align 4, !tbaa !5
  %17442 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17443 = load i32, ptr @test_count, align 4, !tbaa !5
  %17444 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17445 = load i32, ptr %17444, align 4, !tbaa !5
  %17446 = call ptr @s2n_strerror(i32 noundef %17445, ptr noundef @.str.5)
  %17447 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17448 = load i32, ptr %17447, align 4, !tbaa !5
  %17449 = call ptr @s2n_strerror_debug(i32 noundef %17448, ptr noundef @.str.5)
  %17450 = call ptr @__errno_location() #12
  %17451 = load i32, ptr %17450, align 4, !tbaa !5
  %17452 = call ptr @strerror(i32 noundef %17451) #11
  %17453 = call ptr @__errno_location() #12
  %17454 = load i32, ptr %17453, align 4, !tbaa !5
  %17455 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17442, ptr noundef @.str.6, i32 noundef %17443, ptr noundef @.str.106, ptr noundef @.str.2, i32 noundef 829, ptr noundef %17446, ptr noundef %17449, ptr noundef %17452, i32 noundef %17454) #11
  br label %17456

17456:                                            ; preds = %17439, %17422
  call void @llvm.lifetime.end.p0(i64 4, ptr %547) #11
  br label %17457

17457:                                            ; preds = %17456
  br label %17458

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

17459:                                            ; No predecessors!
  br label %17460

17460:                                            ; preds = %17459
  br label %17461

17461:                                            ; preds = %17460, %17397
  br label %17462

17462:                                            ; preds = %17461
  br label %17463

17463:                                            ; preds = %17462
  call void @llvm.lifetime.end.p0(i64 8, ptr %542) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %541) #11
  %17464 = call i32 @s2n_ktls_io_stuffer_free(ptr noundef %536)
  %17465 = getelementptr inbounds %struct.s2n_result, ptr %548, i32 0, i32 0
  store i32 %17464, ptr %17465, align 4
  call void @llvm.lifetime.end.p0(i64 96, ptr %536) #11
  %17466 = call i32 @s2n_connection_ptr_free(ptr noundef %534)
  %17467 = getelementptr inbounds %struct.s2n_result, ptr %549, i32 0, i32 0
  store i32 %17466, ptr %17467, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %534) #11
  br label %17468

17468:                                            ; preds = %17463
  %17469 = load i64, ptr %533, align 8, !tbaa !20
  %17470 = add i64 %17469, 1
  store i64 %17470, ptr %533, align 8, !tbaa !20
  br label %16948, !llvm.loop !68

17471:                                            ; preds = %16951
  %17472 = call i32 @s2n_test_iovecs_free(ptr noundef %530)
  %17473 = getelementptr inbounds %struct.s2n_result, ptr %550, i32 0, i32 0
  store i32 %17472, ptr %17473, align 4
  call void @llvm.lifetime.end.p0(i64 16, ptr %530) #11
  call void @llvm.lifetime.start.p0(i64 16, ptr %551) #11
  call void @llvm.memset.p0.i64(ptr align 8 %551, i8 0, i64 16, i1 false)
  br label %17474

17474:                                            ; preds = %17471
  %17475 = load i32, ptr @test_count, align 4, !tbaa !5
  %17476 = add nsw i32 %17475, 1
  store i32 %17476, ptr @test_count, align 4, !tbaa !5
  %17477 = getelementptr inbounds [7 x i64], ptr %359, i64 0, i64 0
  %17478 = call i32 @s2n_test_new_iovecs(ptr noundef %551, ptr noundef %11, ptr noundef %17477, i64 noundef 7)
  %17479 = getelementptr inbounds %struct.s2n_result, ptr %552, i32 0, i32 0
  store i32 %17478, ptr %17479, align 4
  %17480 = getelementptr inbounds %struct.s2n_result, ptr %552, i32 0, i32 0
  %17481 = load i32, ptr %17480, align 4
  %17482 = call zeroext i1 @s2n_result_is_ok(i32 %17481)
  br i1 %17482, label %17536, label %17483

17483:                                            ; preds = %17474
  br label %17484

17484:                                            ; preds = %17483
  br label %17485

17485:                                            ; preds = %17484
  call void @llvm.lifetime.start.p0(i64 4, ptr %553) #11
  %17486 = call ptr @__errno_location() #12
  %17487 = load i32, ptr %17486, align 4, !tbaa !5
  store i32 %17487, ptr %553, align 4, !tbaa !5
  %17488 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17489 = call i32 @s2n_print_stacktrace(ptr noundef %17488)
  %17490 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17491 = trunc i8 %17490 to i1
  br i1 %17491, label %17492, label %17514

17492:                                            ; preds = %17485
  %17493 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17494 = call i32 @fileno(ptr noundef %17493) #11
  %17495 = call i32 @isatty(i32 noundef %17494) #11
  %17496 = icmp ne i32 %17495, 0
  br i1 %17496, label %17497, label %17514

17497:                                            ; preds = %17492
  %17498 = load i32, ptr %553, align 4, !tbaa !5
  %17499 = call ptr @__errno_location() #12
  store i32 %17498, ptr %17499, align 4, !tbaa !5
  %17500 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17501 = load i32, ptr @test_count, align 4, !tbaa !5
  %17502 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17503 = load i32, ptr %17502, align 4, !tbaa !5
  %17504 = call ptr @s2n_strerror(i32 noundef %17503, ptr noundef @.str.5)
  %17505 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17506 = load i32, ptr %17505, align 4, !tbaa !5
  %17507 = call ptr @s2n_strerror_debug(i32 noundef %17506, ptr noundef @.str.5)
  %17508 = call ptr @__errno_location() #12
  %17509 = load i32, ptr %17508, align 4, !tbaa !5
  %17510 = call ptr @strerror(i32 noundef %17509) #11
  %17511 = call ptr @__errno_location() #12
  %17512 = load i32, ptr %17511, align 4, !tbaa !5
  %17513 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17500, ptr noundef @.str.3, i32 noundef %17501, ptr noundef @.str.92, ptr noundef @.str.2, i32 noundef 837, ptr noundef %17504, ptr noundef %17507, ptr noundef %17510, i32 noundef %17512) #11
  br label %17531

17514:                                            ; preds = %17492, %17485
  %17515 = load i32, ptr %553, align 4, !tbaa !5
  %17516 = call ptr @__errno_location() #12
  store i32 %17515, ptr %17516, align 4, !tbaa !5
  %17517 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17518 = load i32, ptr @test_count, align 4, !tbaa !5
  %17519 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17520 = load i32, ptr %17519, align 4, !tbaa !5
  %17521 = call ptr @s2n_strerror(i32 noundef %17520, ptr noundef @.str.5)
  %17522 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17523 = load i32, ptr %17522, align 4, !tbaa !5
  %17524 = call ptr @s2n_strerror_debug(i32 noundef %17523, ptr noundef @.str.5)
  %17525 = call ptr @__errno_location() #12
  %17526 = load i32, ptr %17525, align 4, !tbaa !5
  %17527 = call ptr @strerror(i32 noundef %17526) #11
  %17528 = call ptr @__errno_location() #12
  %17529 = load i32, ptr %17528, align 4, !tbaa !5
  %17530 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17517, ptr noundef @.str.6, i32 noundef %17518, ptr noundef @.str.92, ptr noundef @.str.2, i32 noundef 837, ptr noundef %17521, ptr noundef %17524, ptr noundef %17527, i32 noundef %17529) #11
  br label %17531

17531:                                            ; preds = %17514, %17497
  call void @llvm.lifetime.end.p0(i64 4, ptr %553) #11
  br label %17532

17532:                                            ; preds = %17531
  br label %17533

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

17534:                                            ; No predecessors!
  br label %17535

17535:                                            ; preds = %17534
  br label %17536

17536:                                            ; preds = %17535, %17474
  br label %17537

17537:                                            ; preds = %17536
  br label %17538

17538:                                            ; preds = %17537
  call void @llvm.lifetime.start.p0(i64 8, ptr %554) #11
  %17539 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %17539, ptr %554, align 8, !tbaa !9
  br label %17540

17540:                                            ; preds = %17538
  %17541 = load i32, ptr @test_count, align 4, !tbaa !5
  %17542 = add nsw i32 %17541, 1
  store i32 %17542, ptr @test_count, align 4, !tbaa !5
  %17543 = load ptr, ptr %554, align 8, !tbaa !9
  %17544 = icmp eq ptr %17543, null
  br i1 %17544, label %17545, label %17598

17545:                                            ; preds = %17540
  br label %17546

17546:                                            ; preds = %17545
  br label %17547

17547:                                            ; preds = %17546
  call void @llvm.lifetime.start.p0(i64 4, ptr %555) #11
  %17548 = call ptr @__errno_location() #12
  %17549 = load i32, ptr %17548, align 4, !tbaa !5
  store i32 %17549, ptr %555, align 4, !tbaa !5
  %17550 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17551 = call i32 @s2n_print_stacktrace(ptr noundef %17550)
  %17552 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17553 = trunc i8 %17552 to i1
  br i1 %17553, label %17554, label %17576

17554:                                            ; preds = %17547
  %17555 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17556 = call i32 @fileno(ptr noundef %17555) #11
  %17557 = call i32 @isatty(i32 noundef %17556) #11
  %17558 = icmp ne i32 %17557, 0
  br i1 %17558, label %17559, label %17576

17559:                                            ; preds = %17554
  %17560 = load i32, ptr %555, align 4, !tbaa !5
  %17561 = call ptr @__errno_location() #12
  store i32 %17560, ptr %17561, align 4, !tbaa !5
  %17562 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17563 = load i32, ptr @test_count, align 4, !tbaa !5
  %17564 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17565 = load i32, ptr %17564, align 4, !tbaa !5
  %17566 = call ptr @s2n_strerror(i32 noundef %17565, ptr noundef @.str.5)
  %17567 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17568 = load i32, ptr %17567, align 4, !tbaa !5
  %17569 = call ptr @s2n_strerror_debug(i32 noundef %17568, ptr noundef @.str.5)
  %17570 = call ptr @__errno_location() #12
  %17571 = load i32, ptr %17570, align 4, !tbaa !5
  %17572 = call ptr @strerror(i32 noundef %17571) #11
  %17573 = call ptr @__errno_location() #12
  %17574 = load i32, ptr %17573, align 4, !tbaa !5
  %17575 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17562, ptr noundef @.str.3, i32 noundef %17563, ptr noundef @.str.79, ptr noundef @.str.2, i32 noundef 841, ptr noundef %17566, ptr noundef %17569, ptr noundef %17572, i32 noundef %17574) #11
  br label %17593

17576:                                            ; preds = %17554, %17547
  %17577 = load i32, ptr %555, align 4, !tbaa !5
  %17578 = call ptr @__errno_location() #12
  store i32 %17577, ptr %17578, align 4, !tbaa !5
  %17579 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17580 = load i32, ptr @test_count, align 4, !tbaa !5
  %17581 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17582 = load i32, ptr %17581, align 4, !tbaa !5
  %17583 = call ptr @s2n_strerror(i32 noundef %17582, ptr noundef @.str.5)
  %17584 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17585 = load i32, ptr %17584, align 4, !tbaa !5
  %17586 = call ptr @s2n_strerror_debug(i32 noundef %17585, ptr noundef @.str.5)
  %17587 = call ptr @__errno_location() #12
  %17588 = load i32, ptr %17587, align 4, !tbaa !5
  %17589 = call ptr @strerror(i32 noundef %17588) #11
  %17590 = call ptr @__errno_location() #12
  %17591 = load i32, ptr %17590, align 4, !tbaa !5
  %17592 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17579, ptr noundef @.str.6, i32 noundef %17580, ptr noundef @.str.79, ptr noundef @.str.2, i32 noundef 841, ptr noundef %17583, ptr noundef %17586, ptr noundef %17589, i32 noundef %17591) #11
  br label %17593

17593:                                            ; preds = %17576, %17559
  call void @llvm.lifetime.end.p0(i64 4, ptr %555) #11
  br label %17594

17594:                                            ; preds = %17593
  br label %17595

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

17596:                                            ; No predecessors!
  br label %17597

17597:                                            ; preds = %17596
  br label %17598

17598:                                            ; preds = %17597, %17540
  br label %17599

17599:                                            ; preds = %17598
  br label %17600

17600:                                            ; preds = %17599
  call void @llvm.lifetime.start.p0(i64 16, ptr %556) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %556, ptr align 8 @__const.main.io_ctx.107, i64 16, i1 false)
  br label %17601

17601:                                            ; preds = %17600
  %17602 = load i32, ptr @test_count, align 4, !tbaa !5
  %17603 = add nsw i32 %17602, 1
  store i32 %17603, ptr @test_count, align 4, !tbaa !5
  %17604 = load ptr, ptr %554, align 8, !tbaa !9
  %17605 = call i32 @s2n_ktls_set_sendmsg_cb(ptr noundef %17604, ptr noundef @s2n_test_ktls_sendmsg_fail, ptr noundef %556)
  %17606 = getelementptr inbounds %struct.s2n_result, ptr %557, i32 0, i32 0
  store i32 %17605, ptr %17606, align 4
  %17607 = getelementptr inbounds %struct.s2n_result, ptr %557, i32 0, i32 0
  %17608 = load i32, ptr %17607, align 4
  %17609 = call zeroext i1 @s2n_result_is_ok(i32 %17608)
  br i1 %17609, label %17663, label %17610

17610:                                            ; preds = %17601
  br label %17611

17611:                                            ; preds = %17610
  br label %17612

17612:                                            ; preds = %17611
  call void @llvm.lifetime.start.p0(i64 4, ptr %558) #11
  %17613 = call ptr @__errno_location() #12
  %17614 = load i32, ptr %17613, align 4, !tbaa !5
  store i32 %17614, ptr %558, align 4, !tbaa !5
  %17615 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17616 = call i32 @s2n_print_stacktrace(ptr noundef %17615)
  %17617 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17618 = trunc i8 %17617 to i1
  br i1 %17618, label %17619, label %17641

17619:                                            ; preds = %17612
  %17620 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17621 = call i32 @fileno(ptr noundef %17620) #11
  %17622 = call i32 @isatty(i32 noundef %17621) #11
  %17623 = icmp ne i32 %17622, 0
  br i1 %17623, label %17624, label %17641

17624:                                            ; preds = %17619
  %17625 = load i32, ptr %558, align 4, !tbaa !5
  %17626 = call ptr @__errno_location() #12
  store i32 %17625, ptr %17626, align 4, !tbaa !5
  %17627 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17628 = load i32, ptr @test_count, align 4, !tbaa !5
  %17629 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17630 = load i32, ptr %17629, align 4, !tbaa !5
  %17631 = call ptr @s2n_strerror(i32 noundef %17630, ptr noundef @.str.5)
  %17632 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17633 = load i32, ptr %17632, align 4, !tbaa !5
  %17634 = call ptr @s2n_strerror_debug(i32 noundef %17633, ptr noundef @.str.5)
  %17635 = call ptr @__errno_location() #12
  %17636 = load i32, ptr %17635, align 4, !tbaa !5
  %17637 = call ptr @strerror(i32 noundef %17636) #11
  %17638 = call ptr @__errno_location() #12
  %17639 = load i32, ptr %17638, align 4, !tbaa !5
  %17640 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17627, ptr noundef @.str.3, i32 noundef %17628, ptr noundef @.str.86, ptr noundef @.str.2, i32 noundef 844, ptr noundef %17631, ptr noundef %17634, ptr noundef %17637, i32 noundef %17639) #11
  br label %17658

17641:                                            ; preds = %17619, %17612
  %17642 = load i32, ptr %558, align 4, !tbaa !5
  %17643 = call ptr @__errno_location() #12
  store i32 %17642, ptr %17643, align 4, !tbaa !5
  %17644 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17645 = load i32, ptr @test_count, align 4, !tbaa !5
  %17646 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17647 = load i32, ptr %17646, align 4, !tbaa !5
  %17648 = call ptr @s2n_strerror(i32 noundef %17647, ptr noundef @.str.5)
  %17649 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17650 = load i32, ptr %17649, align 4, !tbaa !5
  %17651 = call ptr @s2n_strerror_debug(i32 noundef %17650, ptr noundef @.str.5)
  %17652 = call ptr @__errno_location() #12
  %17653 = load i32, ptr %17652, align 4, !tbaa !5
  %17654 = call ptr @strerror(i32 noundef %17653) #11
  %17655 = call ptr @__errno_location() #12
  %17656 = load i32, ptr %17655, align 4, !tbaa !5
  %17657 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17644, ptr noundef @.str.6, i32 noundef %17645, ptr noundef @.str.86, ptr noundef @.str.2, i32 noundef 844, ptr noundef %17648, ptr noundef %17651, ptr noundef %17654, i32 noundef %17656) #11
  br label %17658

17658:                                            ; preds = %17641, %17624
  call void @llvm.lifetime.end.p0(i64 4, ptr %558) #11
  br label %17659

17659:                                            ; preds = %17658
  br label %17660

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

17661:                                            ; No predecessors!
  br label %17662

17662:                                            ; preds = %17661
  br label %17663

17663:                                            ; preds = %17662, %17601
  br label %17664

17664:                                            ; preds = %17663
  br label %17665

17665:                                            ; preds = %17664
  call void @llvm.lifetime.start.p0(i64 4, ptr %559) #11
  store i32 0, ptr %559, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %560) #11
  %17666 = load ptr, ptr %554, align 8, !tbaa !9
  %17667 = getelementptr inbounds %struct.s2n_test_iovecs, ptr %551, i32 0, i32 0
  %17668 = load ptr, ptr %17667, align 8, !tbaa !63
  %17669 = getelementptr inbounds %struct.s2n_test_iovecs, ptr %551, i32 0, i32 1
  %17670 = load i64, ptr %17669, align 8, !tbaa !65
  %17671 = call i64 @s2n_ktls_sendv_with_offset(ptr noundef %17666, ptr noundef %17668, i64 noundef %17670, i64 noundef 0, ptr noundef %559)
  store i64 %17671, ptr %560, align 8, !tbaa !20
  br label %17672

17672:                                            ; preds = %17665
  br label %17673

17673:                                            ; preds = %17672
  br label %17674

17674:                                            ; preds = %17673
  %17675 = load i32, ptr @test_count, align 4, !tbaa !5
  %17676 = add nsw i32 %17675, 1
  store i32 %17676, ptr @test_count, align 4, !tbaa !5
  %17677 = load i64, ptr %560, align 8, !tbaa !20
  %17678 = icmp eq i64 %17677, -1
  br i1 %17678, label %17732, label %17679

17679:                                            ; preds = %17674
  br label %17680

17680:                                            ; preds = %17679
  br label %17681

17681:                                            ; preds = %17680
  call void @llvm.lifetime.start.p0(i64 4, ptr %561) #11
  %17682 = call ptr @__errno_location() #12
  %17683 = load i32, ptr %17682, align 4, !tbaa !5
  store i32 %17683, ptr %561, align 4, !tbaa !5
  %17684 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17685 = call i32 @s2n_print_stacktrace(ptr noundef %17684)
  %17686 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17687 = trunc i8 %17686 to i1
  br i1 %17687, label %17688, label %17710

17688:                                            ; preds = %17681
  %17689 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17690 = call i32 @fileno(ptr noundef %17689) #11
  %17691 = call i32 @isatty(i32 noundef %17690) #11
  %17692 = icmp ne i32 %17691, 0
  br i1 %17692, label %17693, label %17710

17693:                                            ; preds = %17688
  %17694 = load i32, ptr %561, align 4, !tbaa !5
  %17695 = call ptr @__errno_location() #12
  store i32 %17694, ptr %17695, align 4, !tbaa !5
  %17696 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17697 = load i32, ptr @test_count, align 4, !tbaa !5
  %17698 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17699 = load i32, ptr %17698, align 4, !tbaa !5
  %17700 = call ptr @s2n_strerror(i32 noundef %17699, ptr noundef @.str.5)
  %17701 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17702 = load i32, ptr %17701, align 4, !tbaa !5
  %17703 = call ptr @s2n_strerror_debug(i32 noundef %17702, ptr noundef @.str.5)
  %17704 = call ptr @__errno_location() #12
  %17705 = load i32, ptr %17704, align 4, !tbaa !5
  %17706 = call ptr @strerror(i32 noundef %17705) #11
  %17707 = call ptr @__errno_location() #12
  %17708 = load i32, ptr %17707, align 4, !tbaa !5
  %17709 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17696, ptr noundef @.str.3, i32 noundef %17697, ptr noundef @.str.96, ptr noundef @.str.2, i32 noundef 849, ptr noundef %17700, ptr noundef %17703, ptr noundef %17706, i32 noundef %17708) #11
  br label %17727

17710:                                            ; preds = %17688, %17681
  %17711 = load i32, ptr %561, align 4, !tbaa !5
  %17712 = call ptr @__errno_location() #12
  store i32 %17711, ptr %17712, align 4, !tbaa !5
  %17713 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17714 = load i32, ptr @test_count, align 4, !tbaa !5
  %17715 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17716 = load i32, ptr %17715, align 4, !tbaa !5
  %17717 = call ptr @s2n_strerror(i32 noundef %17716, ptr noundef @.str.5)
  %17718 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17719 = load i32, ptr %17718, align 4, !tbaa !5
  %17720 = call ptr @s2n_strerror_debug(i32 noundef %17719, ptr noundef @.str.5)
  %17721 = call ptr @__errno_location() #12
  %17722 = load i32, ptr %17721, align 4, !tbaa !5
  %17723 = call ptr @strerror(i32 noundef %17722) #11
  %17724 = call ptr @__errno_location() #12
  %17725 = load i32, ptr %17724, align 4, !tbaa !5
  %17726 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17713, ptr noundef @.str.6, i32 noundef %17714, ptr noundef @.str.96, ptr noundef @.str.2, i32 noundef 849, ptr noundef %17717, ptr noundef %17720, ptr noundef %17723, i32 noundef %17725) #11
  br label %17727

17727:                                            ; preds = %17710, %17693
  call void @llvm.lifetime.end.p0(i64 4, ptr %561) #11
  br label %17728

17728:                                            ; preds = %17727
  br label %17729

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

17730:                                            ; No predecessors!
  br label %17731

17731:                                            ; preds = %17730
  br label %17732

17732:                                            ; preds = %17731, %17674
  br label %17733

17733:                                            ; preds = %17732
  br label %17734

17734:                                            ; preds = %17733
  br label %17735

17735:                                            ; preds = %17734
  %17736 = load i32, ptr @test_count, align 4, !tbaa !5
  %17737 = add nsw i32 %17736, 1
  store i32 %17737, ptr @test_count, align 4, !tbaa !5
  %17738 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17739 = load i32, ptr %17738, align 4, !tbaa !5
  %17740 = icmp eq i32 %17739, 201326592
  br i1 %17740, label %17794, label %17741

17741:                                            ; preds = %17735
  br label %17742

17742:                                            ; preds = %17741
  br label %17743

17743:                                            ; preds = %17742
  call void @llvm.lifetime.start.p0(i64 4, ptr %562) #11
  %17744 = call ptr @__errno_location() #12
  %17745 = load i32, ptr %17744, align 4, !tbaa !5
  store i32 %17745, ptr %562, align 4, !tbaa !5
  %17746 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17747 = call i32 @s2n_print_stacktrace(ptr noundef %17746)
  %17748 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17749 = trunc i8 %17748 to i1
  br i1 %17749, label %17750, label %17772

17750:                                            ; preds = %17743
  %17751 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17752 = call i32 @fileno(ptr noundef %17751) #11
  %17753 = call i32 @isatty(i32 noundef %17752) #11
  %17754 = icmp ne i32 %17753, 0
  br i1 %17754, label %17755, label %17772

17755:                                            ; preds = %17750
  %17756 = load i32, ptr %562, align 4, !tbaa !5
  %17757 = call ptr @__errno_location() #12
  store i32 %17756, ptr %17757, align 4, !tbaa !5
  %17758 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17759 = load i32, ptr @test_count, align 4, !tbaa !5
  %17760 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17761 = load i32, ptr %17760, align 4, !tbaa !5
  %17762 = call ptr @s2n_strerror(i32 noundef %17761, ptr noundef @.str.5)
  %17763 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17764 = load i32, ptr %17763, align 4, !tbaa !5
  %17765 = call ptr @s2n_strerror_debug(i32 noundef %17764, ptr noundef @.str.5)
  %17766 = call ptr @__errno_location() #12
  %17767 = load i32, ptr %17766, align 4, !tbaa !5
  %17768 = call ptr @strerror(i32 noundef %17767) #11
  %17769 = call ptr @__errno_location() #12
  %17770 = load i32, ptr %17769, align 4, !tbaa !5
  %17771 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17758, ptr noundef @.str.3, i32 noundef %17759, ptr noundef @.str.41, ptr noundef @.str.2, i32 noundef 849, ptr noundef %17762, ptr noundef %17765, ptr noundef %17768, i32 noundef %17770) #11
  br label %17789

17772:                                            ; preds = %17750, %17743
  %17773 = load i32, ptr %562, align 4, !tbaa !5
  %17774 = call ptr @__errno_location() #12
  store i32 %17773, ptr %17774, align 4, !tbaa !5
  %17775 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17776 = load i32, ptr @test_count, align 4, !tbaa !5
  %17777 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17778 = load i32, ptr %17777, align 4, !tbaa !5
  %17779 = call ptr @s2n_strerror(i32 noundef %17778, ptr noundef @.str.5)
  %17780 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17781 = load i32, ptr %17780, align 4, !tbaa !5
  %17782 = call ptr @s2n_strerror_debug(i32 noundef %17781, ptr noundef @.str.5)
  %17783 = call ptr @__errno_location() #12
  %17784 = load i32, ptr %17783, align 4, !tbaa !5
  %17785 = call ptr @strerror(i32 noundef %17784) #11
  %17786 = call ptr @__errno_location() #12
  %17787 = load i32, ptr %17786, align 4, !tbaa !5
  %17788 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17775, ptr noundef @.str.6, i32 noundef %17776, ptr noundef @.str.41, ptr noundef @.str.2, i32 noundef 849, ptr noundef %17779, ptr noundef %17782, ptr noundef %17785, i32 noundef %17787) #11
  br label %17789

17789:                                            ; preds = %17772, %17755
  call void @llvm.lifetime.end.p0(i64 4, ptr %562) #11
  br label %17790

17790:                                            ; preds = %17789
  br label %17791

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

17792:                                            ; No predecessors!
  br label %17793

17793:                                            ; preds = %17792
  br label %17794

17794:                                            ; preds = %17793, %17735
  br label %17795

17795:                                            ; preds = %17794
  br label %17796

17796:                                            ; preds = %17795
  br label %17797

17797:                                            ; preds = %17796
  %17798 = load i32, ptr @test_count, align 4, !tbaa !5
  %17799 = add nsw i32 %17798, 1
  store i32 %17799, ptr @test_count, align 4, !tbaa !5
  %17800 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17801 = load i32, ptr %17800, align 4, !tbaa !5
  %17802 = call ptr @s2n_strerror_debug(i32 noundef %17801, ptr noundef @.str.5)
  %17803 = icmp eq ptr %17802, null
  br i1 %17803, label %17804, label %17857

17804:                                            ; preds = %17797
  br label %17805

17805:                                            ; preds = %17804
  br label %17806

17806:                                            ; preds = %17805
  call void @llvm.lifetime.start.p0(i64 4, ptr %563) #11
  %17807 = call ptr @__errno_location() #12
  %17808 = load i32, ptr %17807, align 4, !tbaa !5
  store i32 %17808, ptr %563, align 4, !tbaa !5
  %17809 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17810 = call i32 @s2n_print_stacktrace(ptr noundef %17809)
  %17811 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17812 = trunc i8 %17811 to i1
  br i1 %17812, label %17813, label %17835

17813:                                            ; preds = %17806
  %17814 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17815 = call i32 @fileno(ptr noundef %17814) #11
  %17816 = call i32 @isatty(i32 noundef %17815) #11
  %17817 = icmp ne i32 %17816, 0
  br i1 %17817, label %17818, label %17835

17818:                                            ; preds = %17813
  %17819 = load i32, ptr %563, align 4, !tbaa !5
  %17820 = call ptr @__errno_location() #12
  store i32 %17819, ptr %17820, align 4, !tbaa !5
  %17821 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17822 = load i32, ptr @test_count, align 4, !tbaa !5
  %17823 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17824 = load i32, ptr %17823, align 4, !tbaa !5
  %17825 = call ptr @s2n_strerror(i32 noundef %17824, ptr noundef @.str.5)
  %17826 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17827 = load i32, ptr %17826, align 4, !tbaa !5
  %17828 = call ptr @s2n_strerror_debug(i32 noundef %17827, ptr noundef @.str.5)
  %17829 = call ptr @__errno_location() #12
  %17830 = load i32, ptr %17829, align 4, !tbaa !5
  %17831 = call ptr @strerror(i32 noundef %17830) #11
  %17832 = call ptr @__errno_location() #12
  %17833 = load i32, ptr %17832, align 4, !tbaa !5
  %17834 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17821, ptr noundef @.str.3, i32 noundef %17822, ptr noundef @.str.13, ptr noundef @.str.2, i32 noundef 849, ptr noundef %17825, ptr noundef %17828, ptr noundef %17831, i32 noundef %17833) #11
  br label %17852

17835:                                            ; preds = %17813, %17806
  %17836 = load i32, ptr %563, align 4, !tbaa !5
  %17837 = call ptr @__errno_location() #12
  store i32 %17836, ptr %17837, align 4, !tbaa !5
  %17838 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17839 = load i32, ptr @test_count, align 4, !tbaa !5
  %17840 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17841 = load i32, ptr %17840, align 4, !tbaa !5
  %17842 = call ptr @s2n_strerror(i32 noundef %17841, ptr noundef @.str.5)
  %17843 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17844 = load i32, ptr %17843, align 4, !tbaa !5
  %17845 = call ptr @s2n_strerror_debug(i32 noundef %17844, ptr noundef @.str.5)
  %17846 = call ptr @__errno_location() #12
  %17847 = load i32, ptr %17846, align 4, !tbaa !5
  %17848 = call ptr @strerror(i32 noundef %17847) #11
  %17849 = call ptr @__errno_location() #12
  %17850 = load i32, ptr %17849, align 4, !tbaa !5
  %17851 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17838, ptr noundef @.str.6, i32 noundef %17839, ptr noundef @.str.13, ptr noundef @.str.2, i32 noundef 849, ptr noundef %17842, ptr noundef %17845, ptr noundef %17848, i32 noundef %17850) #11
  br label %17852

17852:                                            ; preds = %17835, %17818
  call void @llvm.lifetime.end.p0(i64 4, ptr %563) #11
  br label %17853

17853:                                            ; preds = %17852
  br label %17854

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

17855:                                            ; No predecessors!
  br label %17856

17856:                                            ; preds = %17855
  br label %17857

17857:                                            ; preds = %17856, %17797
  br label %17858

17858:                                            ; preds = %17857
  br label %17859

17859:                                            ; preds = %17858
  br label %17860

17860:                                            ; preds = %17859
  br label %17861

17861:                                            ; preds = %17860
  br label %17862

17862:                                            ; preds = %17861
  %17863 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %17863, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %17864 = call ptr @__errno_location() #12
  store i32 0, ptr %17864, align 4, !tbaa !5
  br label %17865

17865:                                            ; preds = %17862
  br label %17866

17866:                                            ; preds = %17865
  br label %17867

17867:                                            ; preds = %17866
  br label %17868

17868:                                            ; preds = %17867
  br label %17869

17869:                                            ; preds = %17868
  %17870 = load i32, ptr @test_count, align 4, !tbaa !5
  %17871 = add nsw i32 %17870, 1
  store i32 %17871, ptr @test_count, align 4, !tbaa !5
  %17872 = getelementptr inbounds %struct.s2n_test_ktls_io_fail_ctx, ptr %556, i32 0, i32 1
  %17873 = load i64, ptr %17872, align 8, !tbaa !56
  %17874 = icmp eq i64 %17873, 1
  br i1 %17874, label %17928, label %17875

17875:                                            ; preds = %17869
  br label %17876

17876:                                            ; preds = %17875
  br label %17877

17877:                                            ; preds = %17876
  call void @llvm.lifetime.start.p0(i64 4, ptr %564) #11
  %17878 = call ptr @__errno_location() #12
  %17879 = load i32, ptr %17878, align 4, !tbaa !5
  store i32 %17879, ptr %564, align 4, !tbaa !5
  %17880 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17881 = call i32 @s2n_print_stacktrace(ptr noundef %17880)
  %17882 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17883 = trunc i8 %17882 to i1
  br i1 %17883, label %17884, label %17906

17884:                                            ; preds = %17877
  %17885 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17886 = call i32 @fileno(ptr noundef %17885) #11
  %17887 = call i32 @isatty(i32 noundef %17886) #11
  %17888 = icmp ne i32 %17887, 0
  br i1 %17888, label %17889, label %17906

17889:                                            ; preds = %17884
  %17890 = load i32, ptr %564, align 4, !tbaa !5
  %17891 = call ptr @__errno_location() #12
  store i32 %17890, ptr %17891, align 4, !tbaa !5
  %17892 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17893 = load i32, ptr @test_count, align 4, !tbaa !5
  %17894 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17895 = load i32, ptr %17894, align 4, !tbaa !5
  %17896 = call ptr @s2n_strerror(i32 noundef %17895, ptr noundef @.str.5)
  %17897 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17898 = load i32, ptr %17897, align 4, !tbaa !5
  %17899 = call ptr @s2n_strerror_debug(i32 noundef %17898, ptr noundef @.str.5)
  %17900 = call ptr @__errno_location() #12
  %17901 = load i32, ptr %17900, align 4, !tbaa !5
  %17902 = call ptr @strerror(i32 noundef %17901) #11
  %17903 = call ptr @__errno_location() #12
  %17904 = load i32, ptr %17903, align 4, !tbaa !5
  %17905 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17892, ptr noundef @.str.3, i32 noundef %17893, ptr noundef @.str.46, ptr noundef @.str.2, i32 noundef 850, ptr noundef %17896, ptr noundef %17899, ptr noundef %17902, i32 noundef %17904) #11
  br label %17923

17906:                                            ; preds = %17884, %17877
  %17907 = load i32, ptr %564, align 4, !tbaa !5
  %17908 = call ptr @__errno_location() #12
  store i32 %17907, ptr %17908, align 4, !tbaa !5
  %17909 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17910 = load i32, ptr @test_count, align 4, !tbaa !5
  %17911 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17912 = load i32, ptr %17911, align 4, !tbaa !5
  %17913 = call ptr @s2n_strerror(i32 noundef %17912, ptr noundef @.str.5)
  %17914 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17915 = load i32, ptr %17914, align 4, !tbaa !5
  %17916 = call ptr @s2n_strerror_debug(i32 noundef %17915, ptr noundef @.str.5)
  %17917 = call ptr @__errno_location() #12
  %17918 = load i32, ptr %17917, align 4, !tbaa !5
  %17919 = call ptr @strerror(i32 noundef %17918) #11
  %17920 = call ptr @__errno_location() #12
  %17921 = load i32, ptr %17920, align 4, !tbaa !5
  %17922 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17909, ptr noundef @.str.6, i32 noundef %17910, ptr noundef @.str.46, ptr noundef @.str.2, i32 noundef 850, ptr noundef %17913, ptr noundef %17916, ptr noundef %17919, i32 noundef %17921) #11
  br label %17923

17923:                                            ; preds = %17906, %17889
  call void @llvm.lifetime.end.p0(i64 4, ptr %564) #11
  br label %17924

17924:                                            ; preds = %17923
  br label %17925

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

17926:                                            ; No predecessors!
  br label %17927

17927:                                            ; preds = %17926
  br label %17928

17928:                                            ; preds = %17927, %17869
  br label %17929

17929:                                            ; preds = %17928
  br label %17930

17930:                                            ; preds = %17929
  br label %17931

17931:                                            ; preds = %17930
  %17932 = load i32, ptr @test_count, align 4, !tbaa !5
  %17933 = add nsw i32 %17932, 1
  store i32 %17933, ptr @test_count, align 4, !tbaa !5
  %17934 = load i32, ptr %559, align 4, !tbaa !5
  %17935 = icmp eq i32 %17934, 2
  br i1 %17935, label %17989, label %17936

17936:                                            ; preds = %17931
  br label %17937

17937:                                            ; preds = %17936
  br label %17938

17938:                                            ; preds = %17937
  call void @llvm.lifetime.start.p0(i64 4, ptr %565) #11
  %17939 = call ptr @__errno_location() #12
  %17940 = load i32, ptr %17939, align 4, !tbaa !5
  store i32 %17940, ptr %565, align 4, !tbaa !5
  %17941 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17942 = call i32 @s2n_print_stacktrace(ptr noundef %17941)
  %17943 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17944 = trunc i8 %17943 to i1
  br i1 %17944, label %17945, label %17967

17945:                                            ; preds = %17938
  %17946 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17947 = call i32 @fileno(ptr noundef %17946) #11
  %17948 = call i32 @isatty(i32 noundef %17947) #11
  %17949 = icmp ne i32 %17948, 0
  br i1 %17949, label %17950, label %17967

17950:                                            ; preds = %17945
  %17951 = load i32, ptr %565, align 4, !tbaa !5
  %17952 = call ptr @__errno_location() #12
  store i32 %17951, ptr %17952, align 4, !tbaa !5
  %17953 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17954 = load i32, ptr @test_count, align 4, !tbaa !5
  %17955 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17956 = load i32, ptr %17955, align 4, !tbaa !5
  %17957 = call ptr @s2n_strerror(i32 noundef %17956, ptr noundef @.str.5)
  %17958 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17959 = load i32, ptr %17958, align 4, !tbaa !5
  %17960 = call ptr @s2n_strerror_debug(i32 noundef %17959, ptr noundef @.str.5)
  %17961 = call ptr @__errno_location() #12
  %17962 = load i32, ptr %17961, align 4, !tbaa !5
  %17963 = call ptr @strerror(i32 noundef %17962) #11
  %17964 = call ptr @__errno_location() #12
  %17965 = load i32, ptr %17964, align 4, !tbaa !5
  %17966 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17953, ptr noundef @.str.3, i32 noundef %17954, ptr noundef @.str.42, ptr noundef @.str.2, i32 noundef 851, ptr noundef %17957, ptr noundef %17960, ptr noundef %17963, i32 noundef %17965) #11
  br label %17984

17967:                                            ; preds = %17945, %17938
  %17968 = load i32, ptr %565, align 4, !tbaa !5
  %17969 = call ptr @__errno_location() #12
  store i32 %17968, ptr %17969, align 4, !tbaa !5
  %17970 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17971 = load i32, ptr @test_count, align 4, !tbaa !5
  %17972 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17973 = load i32, ptr %17972, align 4, !tbaa !5
  %17974 = call ptr @s2n_strerror(i32 noundef %17973, ptr noundef @.str.5)
  %17975 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17976 = load i32, ptr %17975, align 4, !tbaa !5
  %17977 = call ptr @s2n_strerror_debug(i32 noundef %17976, ptr noundef @.str.5)
  %17978 = call ptr @__errno_location() #12
  %17979 = load i32, ptr %17978, align 4, !tbaa !5
  %17980 = call ptr @strerror(i32 noundef %17979) #11
  %17981 = call ptr @__errno_location() #12
  %17982 = load i32, ptr %17981, align 4, !tbaa !5
  %17983 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17970, ptr noundef @.str.6, i32 noundef %17971, ptr noundef @.str.42, ptr noundef @.str.2, i32 noundef 851, ptr noundef %17974, ptr noundef %17977, ptr noundef %17980, i32 noundef %17982) #11
  br label %17984

17984:                                            ; preds = %17967, %17950
  call void @llvm.lifetime.end.p0(i64 4, ptr %565) #11
  br label %17985

17985:                                            ; preds = %17984
  br label %17986

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

17987:                                            ; No predecessors!
  br label %17988

17988:                                            ; preds = %17987
  br label %17989

17989:                                            ; preds = %17988, %17931
  br label %17990

17990:                                            ; preds = %17989
  br label %17991

17991:                                            ; preds = %17990
  call void @llvm.lifetime.end.p0(i64 8, ptr %560) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %559) #11
  call void @llvm.lifetime.end.p0(i64 16, ptr %556) #11
  %17992 = call i32 @s2n_connection_ptr_free(ptr noundef %554)
  %17993 = getelementptr inbounds %struct.s2n_result, ptr %566, i32 0, i32 0
  store i32 %17992, ptr %17993, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %554) #11
  %17994 = call i32 @s2n_test_iovecs_free(ptr noundef %551)
  %17995 = getelementptr inbounds %struct.s2n_result, ptr %567, i32 0, i32 0
  store i32 %17994, ptr %17995, align 4
  call void @llvm.lifetime.end.p0(i64 16, ptr %551) #11
  call void @llvm.lifetime.start.p0(i64 800, ptr %568) #11
  call void @llvm.memset.p0.i64(ptr align 16 %568, i8 0, i64 800, i1 false)
  %17996 = getelementptr inbounds <{ i64, i64, i64, i64, i64, i64, i64, [93 x i64] }>, ptr %568, i32 0, i32 0
  store i64 10, ptr %17996, align 16
  %17997 = getelementptr inbounds <{ i64, i64, i64, i64, i64, i64, i64, [93 x i64] }>, ptr %568, i32 0, i32 1
  store i64 5, ptr %17997, align 8
  %17998 = getelementptr inbounds <{ i64, i64, i64, i64, i64, i64, i64, [93 x i64] }>, ptr %568, i32 0, i32 3
  store i64 1, ptr %17998, align 8
  %17999 = getelementptr inbounds <{ i64, i64, i64, i64, i64, i64, i64, [93 x i64] }>, ptr %568, i32 0, i32 4
  store i64 100, ptr %17999, align 16
  %18000 = getelementptr inbounds <{ i64, i64, i64, i64, i64, i64, i64, [93 x i64] }>, ptr %568, i32 0, i32 5
  store i64 100, ptr %18000, align 8
  %18001 = getelementptr inbounds <{ i64, i64, i64, i64, i64, i64, i64, [93 x i64] }>, ptr %568, i32 0, i32 6
  store i64 10, ptr %18001, align 16
  call void @llvm.lifetime.start.p0(i64 8, ptr %569) #11
  store i64 10, ptr %569, align 8, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 8, ptr %570) #11
  store i64 100, ptr %570, align 8, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 16, ptr %571) #11
  call void @llvm.memset.p0.i64(ptr align 8 %571, i8 0, i64 16, i1 false)
  br label %18002

18002:                                            ; preds = %17991
  %18003 = load i32, ptr @test_count, align 4, !tbaa !5
  %18004 = add nsw i32 %18003, 1
  store i32 %18004, ptr @test_count, align 4, !tbaa !5
  %18005 = getelementptr inbounds [100 x i64], ptr %568, i64 0, i64 0
  %18006 = call i32 @s2n_test_new_iovecs(ptr noundef %571, ptr noundef %11, ptr noundef %18005, i64 noundef 10)
  %18007 = getelementptr inbounds %struct.s2n_result, ptr %572, i32 0, i32 0
  store i32 %18006, ptr %18007, align 4
  %18008 = getelementptr inbounds %struct.s2n_result, ptr %572, i32 0, i32 0
  %18009 = load i32, ptr %18008, align 4
  %18010 = call zeroext i1 @s2n_result_is_ok(i32 %18009)
  br i1 %18010, label %18064, label %18011

18011:                                            ; preds = %18002
  br label %18012

18012:                                            ; preds = %18011
  br label %18013

18013:                                            ; preds = %18012
  call void @llvm.lifetime.start.p0(i64 4, ptr %573) #11
  %18014 = call ptr @__errno_location() #12
  %18015 = load i32, ptr %18014, align 4, !tbaa !5
  store i32 %18015, ptr %573, align 4, !tbaa !5
  %18016 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18017 = call i32 @s2n_print_stacktrace(ptr noundef %18016)
  %18018 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18019 = trunc i8 %18018 to i1
  br i1 %18019, label %18020, label %18042

18020:                                            ; preds = %18013
  %18021 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18022 = call i32 @fileno(ptr noundef %18021) #11
  %18023 = call i32 @isatty(i32 noundef %18022) #11
  %18024 = icmp ne i32 %18023, 0
  br i1 %18024, label %18025, label %18042

18025:                                            ; preds = %18020
  %18026 = load i32, ptr %573, align 4, !tbaa !5
  %18027 = call ptr @__errno_location() #12
  store i32 %18026, ptr %18027, align 4, !tbaa !5
  %18028 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18029 = load i32, ptr @test_count, align 4, !tbaa !5
  %18030 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18031 = load i32, ptr %18030, align 4, !tbaa !5
  %18032 = call ptr @s2n_strerror(i32 noundef %18031, ptr noundef @.str.5)
  %18033 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18034 = load i32, ptr %18033, align 4, !tbaa !5
  %18035 = call ptr @s2n_strerror_debug(i32 noundef %18034, ptr noundef @.str.5)
  %18036 = call ptr @__errno_location() #12
  %18037 = load i32, ptr %18036, align 4, !tbaa !5
  %18038 = call ptr @strerror(i32 noundef %18037) #11
  %18039 = call ptr @__errno_location() #12
  %18040 = load i32, ptr %18039, align 4, !tbaa !5
  %18041 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18028, ptr noundef @.str.3, i32 noundef %18029, ptr noundef @.str.108, ptr noundef @.str.2, i32 noundef 862, ptr noundef %18032, ptr noundef %18035, ptr noundef %18038, i32 noundef %18040) #11
  br label %18059

18042:                                            ; preds = %18020, %18013
  %18043 = load i32, ptr %573, align 4, !tbaa !5
  %18044 = call ptr @__errno_location() #12
  store i32 %18043, ptr %18044, align 4, !tbaa !5
  %18045 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18046 = load i32, ptr @test_count, align 4, !tbaa !5
  %18047 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18048 = load i32, ptr %18047, align 4, !tbaa !5
  %18049 = call ptr @s2n_strerror(i32 noundef %18048, ptr noundef @.str.5)
  %18050 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18051 = load i32, ptr %18050, align 4, !tbaa !5
  %18052 = call ptr @s2n_strerror_debug(i32 noundef %18051, ptr noundef @.str.5)
  %18053 = call ptr @__errno_location() #12
  %18054 = load i32, ptr %18053, align 4, !tbaa !5
  %18055 = call ptr @strerror(i32 noundef %18054) #11
  %18056 = call ptr @__errno_location() #12
  %18057 = load i32, ptr %18056, align 4, !tbaa !5
  %18058 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18045, ptr noundef @.str.6, i32 noundef %18046, ptr noundef @.str.108, ptr noundef @.str.2, i32 noundef 862, ptr noundef %18049, ptr noundef %18052, ptr noundef %18055, i32 noundef %18057) #11
  br label %18059

18059:                                            ; preds = %18042, %18025
  call void @llvm.lifetime.end.p0(i64 4, ptr %573) #11
  br label %18060

18060:                                            ; preds = %18059
  br label %18061

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

18062:                                            ; No predecessors!
  br label %18063

18063:                                            ; preds = %18062
  br label %18064

18064:                                            ; preds = %18063, %18002
  br label %18065

18065:                                            ; preds = %18064
  br label %18066

18066:                                            ; preds = %18065
  call void @llvm.lifetime.start.p0(i64 16, ptr %574) #11
  call void @llvm.memset.p0.i64(ptr align 8 %574, i8 0, i64 16, i1 false)
  br label %18067

18067:                                            ; preds = %18066
  %18068 = load i32, ptr @test_count, align 4, !tbaa !5
  %18069 = add nsw i32 %18068, 1
  store i32 %18069, ptr @test_count, align 4, !tbaa !5
  %18070 = getelementptr inbounds [100 x i64], ptr %568, i64 0, i64 0
  %18071 = call i32 @s2n_test_new_iovecs(ptr noundef %574, ptr noundef %11, ptr noundef %18070, i64 noundef 100)
  %18072 = getelementptr inbounds %struct.s2n_result, ptr %575, i32 0, i32 0
  store i32 %18071, ptr %18072, align 4
  %18073 = getelementptr inbounds %struct.s2n_result, ptr %575, i32 0, i32 0
  %18074 = load i32, ptr %18073, align 4
  %18075 = call zeroext i1 @s2n_result_is_ok(i32 %18074)
  br i1 %18075, label %18129, label %18076

18076:                                            ; preds = %18067
  br label %18077

18077:                                            ; preds = %18076
  br label %18078

18078:                                            ; preds = %18077
  call void @llvm.lifetime.start.p0(i64 4, ptr %576) #11
  %18079 = call ptr @__errno_location() #12
  %18080 = load i32, ptr %18079, align 4, !tbaa !5
  store i32 %18080, ptr %576, align 4, !tbaa !5
  %18081 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18082 = call i32 @s2n_print_stacktrace(ptr noundef %18081)
  %18083 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18084 = trunc i8 %18083 to i1
  br i1 %18084, label %18085, label %18107

18085:                                            ; preds = %18078
  %18086 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18087 = call i32 @fileno(ptr noundef %18086) #11
  %18088 = call i32 @isatty(i32 noundef %18087) #11
  %18089 = icmp ne i32 %18088, 0
  br i1 %18089, label %18090, label %18107

18090:                                            ; preds = %18085
  %18091 = load i32, ptr %576, align 4, !tbaa !5
  %18092 = call ptr @__errno_location() #12
  store i32 %18091, ptr %18092, align 4, !tbaa !5
  %18093 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18094 = load i32, ptr @test_count, align 4, !tbaa !5
  %18095 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18096 = load i32, ptr %18095, align 4, !tbaa !5
  %18097 = call ptr @s2n_strerror(i32 noundef %18096, ptr noundef @.str.5)
  %18098 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18099 = load i32, ptr %18098, align 4, !tbaa !5
  %18100 = call ptr @s2n_strerror_debug(i32 noundef %18099, ptr noundef @.str.5)
  %18101 = call ptr @__errno_location() #12
  %18102 = load i32, ptr %18101, align 4, !tbaa !5
  %18103 = call ptr @strerror(i32 noundef %18102) #11
  %18104 = call ptr @__errno_location() #12
  %18105 = load i32, ptr %18104, align 4, !tbaa !5
  %18106 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18093, ptr noundef @.str.3, i32 noundef %18094, ptr noundef @.str.109, ptr noundef @.str.2, i32 noundef 866, ptr noundef %18097, ptr noundef %18100, ptr noundef %18103, i32 noundef %18105) #11
  br label %18124

18107:                                            ; preds = %18085, %18078
  %18108 = load i32, ptr %576, align 4, !tbaa !5
  %18109 = call ptr @__errno_location() #12
  store i32 %18108, ptr %18109, align 4, !tbaa !5
  %18110 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18111 = load i32, ptr @test_count, align 4, !tbaa !5
  %18112 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18113 = load i32, ptr %18112, align 4, !tbaa !5
  %18114 = call ptr @s2n_strerror(i32 noundef %18113, ptr noundef @.str.5)
  %18115 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18116 = load i32, ptr %18115, align 4, !tbaa !5
  %18117 = call ptr @s2n_strerror_debug(i32 noundef %18116, ptr noundef @.str.5)
  %18118 = call ptr @__errno_location() #12
  %18119 = load i32, ptr %18118, align 4, !tbaa !5
  %18120 = call ptr @strerror(i32 noundef %18119) #11
  %18121 = call ptr @__errno_location() #12
  %18122 = load i32, ptr %18121, align 4, !tbaa !5
  %18123 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18110, ptr noundef @.str.6, i32 noundef %18111, ptr noundef @.str.109, ptr noundef @.str.2, i32 noundef 866, ptr noundef %18114, ptr noundef %18117, ptr noundef %18120, i32 noundef %18122) #11
  br label %18124

18124:                                            ; preds = %18107, %18090
  call void @llvm.lifetime.end.p0(i64 4, ptr %576) #11
  br label %18125

18125:                                            ; preds = %18124
  br label %18126

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

18127:                                            ; No predecessors!
  br label %18128

18128:                                            ; preds = %18127
  br label %18129

18129:                                            ; preds = %18128, %18067
  br label %18130

18130:                                            ; preds = %18129
  br label %18131

18131:                                            ; preds = %18130
  call void @llvm.lifetime.start.p0(i64 8, ptr %577) #11
  store i64 16, ptr %577, align 8, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 8, ptr %578) #11
  %18132 = getelementptr inbounds %struct.s2n_test_iovecs, ptr %574, i32 0, i32 1
  %18133 = load i64, ptr %18132, align 8, !tbaa !65
  %18134 = mul i64 %18133, 16
  store i64 %18134, ptr %578, align 8, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 216, ptr %579) #11
  %18135 = getelementptr inbounds %struct.anon, ptr %579, i32 0, i32 0
  store ptr %571, ptr %18135, align 8, !tbaa !69
  %18136 = getelementptr inbounds %struct.anon, ptr %579, i32 0, i32 1
  store i64 1, ptr %18136, align 8, !tbaa !71
  %18137 = getelementptr inbounds %struct.anon, ptr %579, i32 0, i32 2
  store i32 0, ptr %18137, align 8, !tbaa !72
  %18138 = getelementptr inbounds %struct.anon, ptr %579, i32 0, i32 3
  store i32 0, ptr %18138, align 4, !tbaa !73
  %18139 = getelementptr inbounds %struct.anon, ptr %579, i64 1
  %18140 = getelementptr inbounds %struct.anon, ptr %18139, i32 0, i32 0
  store ptr %571, ptr %18140, align 8, !tbaa !69
  %18141 = getelementptr inbounds %struct.anon, ptr %18139, i32 0, i32 1
  %18142 = getelementptr inbounds [100 x i64], ptr %568, i64 0, i64 0
  %18143 = load i64, ptr %18142, align 16, !tbaa !20
  store i64 %18143, ptr %18141, align 8, !tbaa !71
  %18144 = getelementptr inbounds %struct.anon, ptr %18139, i32 0, i32 2
  store i32 0, ptr %18144, align 8, !tbaa !72
  %18145 = getelementptr inbounds %struct.anon, ptr %18139, i32 0, i32 3
  store i32 0, ptr %18145, align 4, !tbaa !73
  %18146 = getelementptr inbounds %struct.anon, ptr %579, i64 2
  %18147 = getelementptr inbounds %struct.anon, ptr %18146, i32 0, i32 0
  store ptr %571, ptr %18147, align 8, !tbaa !69
  %18148 = getelementptr inbounds %struct.anon, ptr %18146, i32 0, i32 1
  %18149 = getelementptr inbounds [100 x i64], ptr %568, i64 0, i64 0
  %18150 = load i64, ptr %18149, align 16, !tbaa !20
  %18151 = add i64 %18150, 1
  store i64 %18151, ptr %18148, align 8, !tbaa !71
  %18152 = getelementptr inbounds %struct.anon, ptr %18146, i32 0, i32 2
  store i32 0, ptr %18152, align 8, !tbaa !72
  %18153 = getelementptr inbounds %struct.anon, ptr %18146, i32 0, i32 3
  store i32 0, ptr %18153, align 4, !tbaa !73
  %18154 = getelementptr inbounds %struct.anon, ptr %579, i64 3
  %18155 = getelementptr inbounds %struct.anon, ptr %18154, i32 0, i32 0
  store ptr %574, ptr %18155, align 8, !tbaa !69
  %18156 = getelementptr inbounds %struct.anon, ptr %18154, i32 0, i32 1
  %18157 = getelementptr inbounds [100 x i64], ptr %568, i64 0, i64 0
  %18158 = load i64, ptr %18157, align 16, !tbaa !20
  store i64 %18158, ptr %18156, align 8, !tbaa !71
  %18159 = getelementptr inbounds %struct.anon, ptr %18154, i32 0, i32 2
  store i32 0, ptr %18159, align 8, !tbaa !72
  %18160 = getelementptr inbounds %struct.anon, ptr %18154, i32 0, i32 3
  store i32 0, ptr %18160, align 4, !tbaa !73
  %18161 = getelementptr inbounds %struct.anon, ptr %579, i64 4
  %18162 = getelementptr inbounds %struct.anon, ptr %18161, i32 0, i32 0
  store ptr %574, ptr %18162, align 8, !tbaa !69
  %18163 = getelementptr inbounds %struct.anon, ptr %18161, i32 0, i32 1
  %18164 = getelementptr inbounds [100 x i64], ptr %568, i64 0, i64 0
  %18165 = load i64, ptr %18164, align 16, !tbaa !20
  %18166 = getelementptr inbounds [100 x i64], ptr %568, i64 0, i64 1
  %18167 = load i64, ptr %18166, align 8, !tbaa !20
  %18168 = add i64 %18165, %18167
  store i64 %18168, ptr %18163, align 8, !tbaa !71
  %18169 = getelementptr inbounds %struct.anon, ptr %18161, i32 0, i32 2
  store i32 0, ptr %18169, align 8, !tbaa !72
  %18170 = getelementptr inbounds %struct.anon, ptr %18161, i32 0, i32 3
  store i32 0, ptr %18170, align 4, !tbaa !73
  %18171 = getelementptr inbounds %struct.anon, ptr %579, i64 5
  %18172 = getelementptr inbounds %struct.anon, ptr %18171, i32 0, i32 0
  store ptr %574, ptr %18172, align 8, !tbaa !69
  %18173 = getelementptr inbounds %struct.anon, ptr %18171, i32 0, i32 1
  store i64 1, ptr %18173, align 8, !tbaa !71
  %18174 = getelementptr inbounds %struct.anon, ptr %18171, i32 0, i32 2
  %18175 = load i64, ptr %578, align 8, !tbaa !20
  %18176 = trunc i64 %18175 to i32
  store i32 %18176, ptr %18174, align 8, !tbaa !72
  %18177 = getelementptr inbounds %struct.anon, ptr %18171, i32 0, i32 3
  store i32 1, ptr %18177, align 4, !tbaa !73
  %18178 = getelementptr inbounds %struct.anon, ptr %579, i64 6
  %18179 = getelementptr inbounds %struct.anon, ptr %18178, i32 0, i32 0
  store ptr %574, ptr %18179, align 8, !tbaa !69
  %18180 = getelementptr inbounds %struct.anon, ptr %18178, i32 0, i32 1
  %18181 = getelementptr inbounds [100 x i64], ptr %568, i64 0, i64 0
  %18182 = load i64, ptr %18181, align 16, !tbaa !20
  %18183 = add i64 %18182, 1
  store i64 %18183, ptr %18180, align 8, !tbaa !71
  %18184 = getelementptr inbounds %struct.anon, ptr %18178, i32 0, i32 2
  %18185 = load i64, ptr %578, align 8, !tbaa !20
  %18186 = sub i64 %18185, 16
  %18187 = trunc i64 %18186 to i32
  store i32 %18187, ptr %18184, align 8, !tbaa !72
  %18188 = getelementptr inbounds %struct.anon, ptr %18178, i32 0, i32 3
  store i32 1, ptr %18188, align 4, !tbaa !73
  %18189 = getelementptr inbounds %struct.anon, ptr %579, i64 7
  %18190 = getelementptr inbounds %struct.anon, ptr %18189, i32 0, i32 0
  store ptr %574, ptr %18190, align 8, !tbaa !69
  %18191 = getelementptr inbounds %struct.anon, ptr %18189, i32 0, i32 1
  store i64 16383, ptr %18191, align 8, !tbaa !71
  %18192 = getelementptr inbounds %struct.anon, ptr %18189, i32 0, i32 2
  store i32 0, ptr %18192, align 8, !tbaa !72
  %18193 = getelementptr inbounds %struct.anon, ptr %18189, i32 0, i32 3
  store i32 0, ptr %18193, align 4, !tbaa !73
  %18194 = getelementptr inbounds %struct.anon, ptr %579, i64 8
  %18195 = getelementptr inbounds %struct.anon, ptr %18194, i32 0, i32 0
  store ptr %574, ptr %18195, align 8, !tbaa !69
  %18196 = getelementptr inbounds %struct.anon, ptr %18194, i32 0, i32 1
  store i64 16384, ptr %18196, align 8, !tbaa !71
  %18197 = getelementptr inbounds %struct.anon, ptr %18194, i32 0, i32 2
  store i32 0, ptr %18197, align 8, !tbaa !72
  %18198 = getelementptr inbounds %struct.anon, ptr %18194, i32 0, i32 3
  store i32 0, ptr %18198, align 4, !tbaa !73
  call void @llvm.lifetime.start.p0(i64 8, ptr %580) #11
  store i64 0, ptr %580, align 8, !tbaa !20
  br label %18199

18199:                                            ; preds = %18820, %18131
  %18200 = load i64, ptr %580, align 8, !tbaa !20
  %18201 = icmp ult i64 %18200, 9
  br i1 %18201, label %18203, label %18202

18202:                                            ; preds = %18199
  call void @llvm.lifetime.end.p0(i64 8, ptr %580) #11
  br label %18823

18203:                                            ; preds = %18199
  call void @llvm.lifetime.start.p0(i64 8, ptr %581) #11
  %18204 = load i64, ptr %580, align 8, !tbaa !20
  %18205 = getelementptr inbounds [9 x %struct.anon], ptr %579, i64 0, i64 %18204
  %18206 = getelementptr inbounds %struct.anon, ptr %18205, i32 0, i32 0
  %18207 = load ptr, ptr %18206, align 8, !tbaa !69
  %18208 = getelementptr inbounds %struct.s2n_test_iovecs, ptr %18207, i32 0, i32 0
  %18209 = load ptr, ptr %18208, align 8, !tbaa !63
  store ptr %18209, ptr %581, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %582) #11
  %18210 = load i64, ptr %580, align 8, !tbaa !20
  %18211 = getelementptr inbounds [9 x %struct.anon], ptr %579, i64 0, i64 %18210
  %18212 = getelementptr inbounds %struct.anon, ptr %18211, i32 0, i32 0
  %18213 = load ptr, ptr %18212, align 8, !tbaa !69
  %18214 = getelementptr inbounds %struct.s2n_test_iovecs, ptr %18213, i32 0, i32 1
  %18215 = load i64, ptr %18214, align 8, !tbaa !65
  store i64 %18215, ptr %582, align 8, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 8, ptr %583) #11
  %18216 = load i64, ptr %580, align 8, !tbaa !20
  %18217 = getelementptr inbounds [9 x %struct.anon], ptr %579, i64 0, i64 %18216
  %18218 = getelementptr inbounds %struct.anon, ptr %18217, i32 0, i32 1
  %18219 = load i64, ptr %18218, align 8, !tbaa !71
  store i64 %18219, ptr %583, align 8, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 8, ptr %584) #11
  %18220 = load i64, ptr %583, align 8, !tbaa !20
  %18221 = sub i64 16384, %18220
  store i64 %18221, ptr %584, align 8, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 8, ptr %585) #11
  %18222 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %18222, ptr %585, align 8, !tbaa !9
  br label %18223

18223:                                            ; preds = %18203
  %18224 = load i32, ptr @test_count, align 4, !tbaa !5
  %18225 = add nsw i32 %18224, 1
  store i32 %18225, ptr @test_count, align 4, !tbaa !5
  %18226 = load ptr, ptr %585, align 8, !tbaa !9
  %18227 = icmp eq ptr %18226, null
  br i1 %18227, label %18228, label %18281

18228:                                            ; preds = %18223
  br label %18229

18229:                                            ; preds = %18228
  br label %18230

18230:                                            ; preds = %18229
  call void @llvm.lifetime.start.p0(i64 4, ptr %586) #11
  %18231 = call ptr @__errno_location() #12
  %18232 = load i32, ptr %18231, align 4, !tbaa !5
  store i32 %18232, ptr %586, align 4, !tbaa !5
  %18233 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18234 = call i32 @s2n_print_stacktrace(ptr noundef %18233)
  %18235 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18236 = trunc i8 %18235 to i1
  br i1 %18236, label %18237, label %18259

18237:                                            ; preds = %18230
  %18238 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18239 = call i32 @fileno(ptr noundef %18238) #11
  %18240 = call i32 @isatty(i32 noundef %18239) #11
  %18241 = icmp ne i32 %18240, 0
  br i1 %18241, label %18242, label %18259

18242:                                            ; preds = %18237
  %18243 = load i32, ptr %586, align 4, !tbaa !5
  %18244 = call ptr @__errno_location() #12
  store i32 %18243, ptr %18244, align 4, !tbaa !5
  %18245 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18246 = load i32, ptr @test_count, align 4, !tbaa !5
  %18247 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18248 = load i32, ptr %18247, align 4, !tbaa !5
  %18249 = call ptr @s2n_strerror(i32 noundef %18248, ptr noundef @.str.5)
  %18250 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18251 = load i32, ptr %18250, align 4, !tbaa !5
  %18252 = call ptr @s2n_strerror_debug(i32 noundef %18251, ptr noundef @.str.5)
  %18253 = call ptr @__errno_location() #12
  %18254 = load i32, ptr %18253, align 4, !tbaa !5
  %18255 = call ptr @strerror(i32 noundef %18254) #11
  %18256 = call ptr @__errno_location() #12
  %18257 = load i32, ptr %18256, align 4, !tbaa !5
  %18258 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18245, ptr noundef @.str.3, i32 noundef %18246, ptr noundef @.str.79, ptr noundef @.str.2, i32 noundef 948, ptr noundef %18249, ptr noundef %18252, ptr noundef %18255, i32 noundef %18257) #11
  br label %18276

18259:                                            ; preds = %18237, %18230
  %18260 = load i32, ptr %586, align 4, !tbaa !5
  %18261 = call ptr @__errno_location() #12
  store i32 %18260, ptr %18261, align 4, !tbaa !5
  %18262 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18263 = load i32, ptr @test_count, align 4, !tbaa !5
  %18264 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18265 = load i32, ptr %18264, align 4, !tbaa !5
  %18266 = call ptr @s2n_strerror(i32 noundef %18265, ptr noundef @.str.5)
  %18267 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18268 = load i32, ptr %18267, align 4, !tbaa !5
  %18269 = call ptr @s2n_strerror_debug(i32 noundef %18268, ptr noundef @.str.5)
  %18270 = call ptr @__errno_location() #12
  %18271 = load i32, ptr %18270, align 4, !tbaa !5
  %18272 = call ptr @strerror(i32 noundef %18271) #11
  %18273 = call ptr @__errno_location() #12
  %18274 = load i32, ptr %18273, align 4, !tbaa !5
  %18275 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18262, ptr noundef @.str.6, i32 noundef %18263, ptr noundef @.str.79, ptr noundef @.str.2, i32 noundef 948, ptr noundef %18266, ptr noundef %18269, ptr noundef %18272, i32 noundef %18274) #11
  br label %18276

18276:                                            ; preds = %18259, %18242
  call void @llvm.lifetime.end.p0(i64 4, ptr %586) #11
  br label %18277

18277:                                            ; preds = %18276
  br label %18278

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

18279:                                            ; No predecessors!
  br label %18280

18280:                                            ; preds = %18279
  br label %18281

18281:                                            ; preds = %18280, %18223
  br label %18282

18282:                                            ; preds = %18281
  br label %18283

18283:                                            ; preds = %18282
  call void @llvm.lifetime.start.p0(i64 96, ptr %587) #11
  call void @llvm.memset.p0.i64(ptr align 8 %587, i8 0, i64 96, i1 false)
  br label %18284

18284:                                            ; preds = %18283
  %18285 = load i32, ptr @test_count, align 4, !tbaa !5
  %18286 = add nsw i32 %18285, 1
  store i32 %18286, ptr @test_count, align 4, !tbaa !5
  %18287 = load ptr, ptr %585, align 8, !tbaa !9
  %18288 = call i32 @s2n_test_init_ktls_io_stuffer_send(ptr noundef %18287, ptr noundef %587)
  %18289 = getelementptr inbounds %struct.s2n_result, ptr %588, i32 0, i32 0
  store i32 %18288, ptr %18289, align 4
  %18290 = getelementptr inbounds %struct.s2n_result, ptr %588, i32 0, i32 0
  %18291 = load i32, ptr %18290, align 4
  %18292 = call zeroext i1 @s2n_result_is_ok(i32 %18291)
  br i1 %18292, label %18346, label %18293

18293:                                            ; preds = %18284
  br label %18294

18294:                                            ; preds = %18293
  br label %18295

18295:                                            ; preds = %18294
  call void @llvm.lifetime.start.p0(i64 4, ptr %589) #11
  %18296 = call ptr @__errno_location() #12
  %18297 = load i32, ptr %18296, align 4, !tbaa !5
  store i32 %18297, ptr %589, align 4, !tbaa !5
  %18298 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18299 = call i32 @s2n_print_stacktrace(ptr noundef %18298)
  %18300 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18301 = trunc i8 %18300 to i1
  br i1 %18301, label %18302, label %18324

18302:                                            ; preds = %18295
  %18303 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18304 = call i32 @fileno(ptr noundef %18303) #11
  %18305 = call i32 @isatty(i32 noundef %18304) #11
  %18306 = icmp ne i32 %18305, 0
  br i1 %18306, label %18307, label %18324

18307:                                            ; preds = %18302
  %18308 = load i32, ptr %589, align 4, !tbaa !5
  %18309 = call ptr @__errno_location() #12
  store i32 %18308, ptr %18309, align 4, !tbaa !5
  %18310 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18311 = load i32, ptr @test_count, align 4, !tbaa !5
  %18312 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18313 = load i32, ptr %18312, align 4, !tbaa !5
  %18314 = call ptr @s2n_strerror(i32 noundef %18313, ptr noundef @.str.5)
  %18315 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18316 = load i32, ptr %18315, align 4, !tbaa !5
  %18317 = call ptr @s2n_strerror_debug(i32 noundef %18316, ptr noundef @.str.5)
  %18318 = call ptr @__errno_location() #12
  %18319 = load i32, ptr %18318, align 4, !tbaa !5
  %18320 = call ptr @strerror(i32 noundef %18319) #11
  %18321 = call ptr @__errno_location() #12
  %18322 = load i32, ptr %18321, align 4, !tbaa !5
  %18323 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18310, ptr noundef @.str.3, i32 noundef %18311, ptr noundef @.str.80, ptr noundef @.str.2, i32 noundef 952, ptr noundef %18314, ptr noundef %18317, ptr noundef %18320, i32 noundef %18322) #11
  br label %18341

18324:                                            ; preds = %18302, %18295
  %18325 = load i32, ptr %589, align 4, !tbaa !5
  %18326 = call ptr @__errno_location() #12
  store i32 %18325, ptr %18326, align 4, !tbaa !5
  %18327 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18328 = load i32, ptr @test_count, align 4, !tbaa !5
  %18329 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18330 = load i32, ptr %18329, align 4, !tbaa !5
  %18331 = call ptr @s2n_strerror(i32 noundef %18330, ptr noundef @.str.5)
  %18332 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18333 = load i32, ptr %18332, align 4, !tbaa !5
  %18334 = call ptr @s2n_strerror_debug(i32 noundef %18333, ptr noundef @.str.5)
  %18335 = call ptr @__errno_location() #12
  %18336 = load i32, ptr %18335, align 4, !tbaa !5
  %18337 = call ptr @strerror(i32 noundef %18336) #11
  %18338 = call ptr @__errno_location() #12
  %18339 = load i32, ptr %18338, align 4, !tbaa !5
  %18340 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18327, ptr noundef @.str.6, i32 noundef %18328, ptr noundef @.str.80, ptr noundef @.str.2, i32 noundef 952, ptr noundef %18331, ptr noundef %18334, ptr noundef %18337, i32 noundef %18339) #11
  br label %18341

18341:                                            ; preds = %18324, %18307
  call void @llvm.lifetime.end.p0(i64 4, ptr %589) #11
  br label %18342

18342:                                            ; preds = %18341
  br label %18343

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

18344:                                            ; No predecessors!
  br label %18345

18345:                                            ; preds = %18344
  br label %18346

18346:                                            ; preds = %18345, %18284
  br label %18347

18347:                                            ; preds = %18346
  br label %18348

18348:                                            ; preds = %18347
  br label %18349

18349:                                            ; preds = %18348
  %18350 = load i32, ptr @test_count, align 4, !tbaa !5
  %18351 = add nsw i32 %18350, 1
  store i32 %18351, ptr @test_count, align 4, !tbaa !5
  %18352 = getelementptr inbounds %struct.s2n_test_ktls_io_stuffer, ptr %587, i32 0, i32 1
  %18353 = load i64, ptr %584, align 8, !tbaa !20
  %18354 = trunc i64 %18353 to i32
  %18355 = call i32 @s2n_stuffer_resize(ptr noundef %18352, i32 noundef %18354)
  %18356 = icmp eq i32 %18355, -1
  br i1 %18356, label %18357, label %18410

18357:                                            ; preds = %18349
  br label %18358

18358:                                            ; preds = %18357
  br label %18359

18359:                                            ; preds = %18358
  call void @llvm.lifetime.start.p0(i64 4, ptr %590) #11
  %18360 = call ptr @__errno_location() #12
  %18361 = load i32, ptr %18360, align 4, !tbaa !5
  store i32 %18361, ptr %590, align 4, !tbaa !5
  %18362 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18363 = call i32 @s2n_print_stacktrace(ptr noundef %18362)
  %18364 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18365 = trunc i8 %18364 to i1
  br i1 %18365, label %18366, label %18388

18366:                                            ; preds = %18359
  %18367 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18368 = call i32 @fileno(ptr noundef %18367) #11
  %18369 = call i32 @isatty(i32 noundef %18368) #11
  %18370 = icmp ne i32 %18369, 0
  br i1 %18370, label %18371, label %18388

18371:                                            ; preds = %18366
  %18372 = load i32, ptr %590, align 4, !tbaa !5
  %18373 = call ptr @__errno_location() #12
  store i32 %18372, ptr %18373, align 4, !tbaa !5
  %18374 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18375 = load i32, ptr @test_count, align 4, !tbaa !5
  %18376 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18377 = load i32, ptr %18376, align 4, !tbaa !5
  %18378 = call ptr @s2n_strerror(i32 noundef %18377, ptr noundef @.str.5)
  %18379 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18380 = load i32, ptr %18379, align 4, !tbaa !5
  %18381 = call ptr @s2n_strerror_debug(i32 noundef %18380, ptr noundef @.str.5)
  %18382 = call ptr @__errno_location() #12
  %18383 = load i32, ptr %18382, align 4, !tbaa !5
  %18384 = call ptr @strerror(i32 noundef %18383) #11
  %18385 = call ptr @__errno_location() #12
  %18386 = load i32, ptr %18385, align 4, !tbaa !5
  %18387 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18374, ptr noundef @.str.3, i32 noundef %18375, ptr noundef @.str.110, ptr noundef @.str.2, i32 noundef 955, ptr noundef %18378, ptr noundef %18381, ptr noundef %18384, i32 noundef %18386) #11
  br label %18405

18388:                                            ; preds = %18366, %18359
  %18389 = load i32, ptr %590, align 4, !tbaa !5
  %18390 = call ptr @__errno_location() #12
  store i32 %18389, ptr %18390, align 4, !tbaa !5
  %18391 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18392 = load i32, ptr @test_count, align 4, !tbaa !5
  %18393 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18394 = load i32, ptr %18393, align 4, !tbaa !5
  %18395 = call ptr @s2n_strerror(i32 noundef %18394, ptr noundef @.str.5)
  %18396 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18397 = load i32, ptr %18396, align 4, !tbaa !5
  %18398 = call ptr @s2n_strerror_debug(i32 noundef %18397, ptr noundef @.str.5)
  %18399 = call ptr @__errno_location() #12
  %18400 = load i32, ptr %18399, align 4, !tbaa !5
  %18401 = call ptr @strerror(i32 noundef %18400) #11
  %18402 = call ptr @__errno_location() #12
  %18403 = load i32, ptr %18402, align 4, !tbaa !5
  %18404 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18391, ptr noundef @.str.6, i32 noundef %18392, ptr noundef @.str.110, ptr noundef @.str.2, i32 noundef 955, ptr noundef %18395, ptr noundef %18398, ptr noundef %18401, i32 noundef %18403) #11
  br label %18405

18405:                                            ; preds = %18388, %18371
  call void @llvm.lifetime.end.p0(i64 4, ptr %590) #11
  br label %18406

18406:                                            ; preds = %18405
  br label %18407

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

18408:                                            ; No predecessors!
  br label %18409

18409:                                            ; preds = %18408
  br label %18410

18410:                                            ; preds = %18409, %18349
  br label %18411

18411:                                            ; preds = %18410
  br label %18412

18412:                                            ; preds = %18411
  br label %18413

18413:                                            ; preds = %18412
  %18414 = load i32, ptr @test_count, align 4, !tbaa !5
  %18415 = add nsw i32 %18414, 1
  store i32 %18415, ptr @test_count, align 4, !tbaa !5
  %18416 = getelementptr inbounds %struct.s2n_test_ktls_io_stuffer, ptr %587, i32 0, i32 0
  %18417 = call i32 @s2n_stuffer_resize(ptr noundef %18416, i32 noundef 100)
  %18418 = icmp eq i32 %18417, -1
  br i1 %18418, label %18419, label %18472

18419:                                            ; preds = %18413
  br label %18420

18420:                                            ; preds = %18419
  br label %18421

18421:                                            ; preds = %18420
  call void @llvm.lifetime.start.p0(i64 4, ptr %591) #11
  %18422 = call ptr @__errno_location() #12
  %18423 = load i32, ptr %18422, align 4, !tbaa !5
  store i32 %18423, ptr %591, align 4, !tbaa !5
  %18424 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18425 = call i32 @s2n_print_stacktrace(ptr noundef %18424)
  %18426 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18427 = trunc i8 %18426 to i1
  br i1 %18427, label %18428, label %18450

18428:                                            ; preds = %18421
  %18429 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18430 = call i32 @fileno(ptr noundef %18429) #11
  %18431 = call i32 @isatty(i32 noundef %18430) #11
  %18432 = icmp ne i32 %18431, 0
  br i1 %18432, label %18433, label %18450

18433:                                            ; preds = %18428
  %18434 = load i32, ptr %591, align 4, !tbaa !5
  %18435 = call ptr @__errno_location() #12
  store i32 %18434, ptr %18435, align 4, !tbaa !5
  %18436 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18437 = load i32, ptr @test_count, align 4, !tbaa !5
  %18438 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18439 = load i32, ptr %18438, align 4, !tbaa !5
  %18440 = call ptr @s2n_strerror(i32 noundef %18439, ptr noundef @.str.5)
  %18441 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18442 = load i32, ptr %18441, align 4, !tbaa !5
  %18443 = call ptr @s2n_strerror_debug(i32 noundef %18442, ptr noundef @.str.5)
  %18444 = call ptr @__errno_location() #12
  %18445 = load i32, ptr %18444, align 4, !tbaa !5
  %18446 = call ptr @strerror(i32 noundef %18445) #11
  %18447 = call ptr @__errno_location() #12
  %18448 = load i32, ptr %18447, align 4, !tbaa !5
  %18449 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18436, ptr noundef @.str.3, i32 noundef %18437, ptr noundef @.str.111, ptr noundef @.str.2, i32 noundef 956, ptr noundef %18440, ptr noundef %18443, ptr noundef %18446, i32 noundef %18448) #11
  br label %18467

18450:                                            ; preds = %18428, %18421
  %18451 = load i32, ptr %591, align 4, !tbaa !5
  %18452 = call ptr @__errno_location() #12
  store i32 %18451, ptr %18452, align 4, !tbaa !5
  %18453 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18454 = load i32, ptr @test_count, align 4, !tbaa !5
  %18455 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18456 = load i32, ptr %18455, align 4, !tbaa !5
  %18457 = call ptr @s2n_strerror(i32 noundef %18456, ptr noundef @.str.5)
  %18458 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18459 = load i32, ptr %18458, align 4, !tbaa !5
  %18460 = call ptr @s2n_strerror_debug(i32 noundef %18459, ptr noundef @.str.5)
  %18461 = call ptr @__errno_location() #12
  %18462 = load i32, ptr %18461, align 4, !tbaa !5
  %18463 = call ptr @strerror(i32 noundef %18462) #11
  %18464 = call ptr @__errno_location() #12
  %18465 = load i32, ptr %18464, align 4, !tbaa !5
  %18466 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18453, ptr noundef @.str.6, i32 noundef %18454, ptr noundef @.str.111, ptr noundef @.str.2, i32 noundef 956, ptr noundef %18457, ptr noundef %18460, ptr noundef %18463, i32 noundef %18465) #11
  br label %18467

18467:                                            ; preds = %18450, %18433
  call void @llvm.lifetime.end.p0(i64 4, ptr %591) #11
  br label %18468

18468:                                            ; preds = %18467
  br label %18469

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

18470:                                            ; No predecessors!
  br label %18471

18471:                                            ; preds = %18470
  br label %18472

18472:                                            ; preds = %18471, %18413
  br label %18473

18473:                                            ; preds = %18472
  br label %18474

18474:                                            ; preds = %18473
  call void @llvm.lifetime.start.p0(i64 1, ptr %592) #11
  call void @llvm.memset.p0.i64(ptr align 1 %592, i8 0, i64 1, i1 false)
  br label %18475

18475:                                            ; preds = %18474
  %18476 = load i32, ptr @test_count, align 4, !tbaa !5
  %18477 = add nsw i32 %18476, 1
  store i32 %18477, ptr @test_count, align 4, !tbaa !5
  %18478 = call i32 @s2n_mem_test_init_callbacks(ptr noundef %592)
  %18479 = getelementptr inbounds %struct.s2n_result, ptr %593, i32 0, i32 0
  store i32 %18478, ptr %18479, align 4
  %18480 = getelementptr inbounds %struct.s2n_result, ptr %593, i32 0, i32 0
  %18481 = load i32, ptr %18480, align 4
  %18482 = call zeroext i1 @s2n_result_is_ok(i32 %18481)
  br i1 %18482, label %18536, label %18483

18483:                                            ; preds = %18475
  br label %18484

18484:                                            ; preds = %18483
  br label %18485

18485:                                            ; preds = %18484
  call void @llvm.lifetime.start.p0(i64 4, ptr %594) #11
  %18486 = call ptr @__errno_location() #12
  %18487 = load i32, ptr %18486, align 4, !tbaa !5
  store i32 %18487, ptr %594, align 4, !tbaa !5
  %18488 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18489 = call i32 @s2n_print_stacktrace(ptr noundef %18488)
  %18490 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18491 = trunc i8 %18490 to i1
  br i1 %18491, label %18492, label %18514

18492:                                            ; preds = %18485
  %18493 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18494 = call i32 @fileno(ptr noundef %18493) #11
  %18495 = call i32 @isatty(i32 noundef %18494) #11
  %18496 = icmp ne i32 %18495, 0
  br i1 %18496, label %18497, label %18514

18497:                                            ; preds = %18492
  %18498 = load i32, ptr %594, align 4, !tbaa !5
  %18499 = call ptr @__errno_location() #12
  store i32 %18498, ptr %18499, align 4, !tbaa !5
  %18500 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18501 = load i32, ptr @test_count, align 4, !tbaa !5
  %18502 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18503 = load i32, ptr %18502, align 4, !tbaa !5
  %18504 = call ptr @s2n_strerror(i32 noundef %18503, ptr noundef @.str.5)
  %18505 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18506 = load i32, ptr %18505, align 4, !tbaa !5
  %18507 = call ptr @s2n_strerror_debug(i32 noundef %18506, ptr noundef @.str.5)
  %18508 = call ptr @__errno_location() #12
  %18509 = load i32, ptr %18508, align 4, !tbaa !5
  %18510 = call ptr @strerror(i32 noundef %18509) #11
  %18511 = call ptr @__errno_location() #12
  %18512 = load i32, ptr %18511, align 4, !tbaa !5
  %18513 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18500, ptr noundef @.str.3, i32 noundef %18501, ptr noundef @.str.112, ptr noundef @.str.2, i32 noundef 960, ptr noundef %18504, ptr noundef %18507, ptr noundef %18510, i32 noundef %18512) #11
  br label %18531

18514:                                            ; preds = %18492, %18485
  %18515 = load i32, ptr %594, align 4, !tbaa !5
  %18516 = call ptr @__errno_location() #12
  store i32 %18515, ptr %18516, align 4, !tbaa !5
  %18517 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18518 = load i32, ptr @test_count, align 4, !tbaa !5
  %18519 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18520 = load i32, ptr %18519, align 4, !tbaa !5
  %18521 = call ptr @s2n_strerror(i32 noundef %18520, ptr noundef @.str.5)
  %18522 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18523 = load i32, ptr %18522, align 4, !tbaa !5
  %18524 = call ptr @s2n_strerror_debug(i32 noundef %18523, ptr noundef @.str.5)
  %18525 = call ptr @__errno_location() #12
  %18526 = load i32, ptr %18525, align 4, !tbaa !5
  %18527 = call ptr @strerror(i32 noundef %18526) #11
  %18528 = call ptr @__errno_location() #12
  %18529 = load i32, ptr %18528, align 4, !tbaa !5
  %18530 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18517, ptr noundef @.str.6, i32 noundef %18518, ptr noundef @.str.112, ptr noundef @.str.2, i32 noundef 960, ptr noundef %18521, ptr noundef %18524, ptr noundef %18527, i32 noundef %18529) #11
  br label %18531

18531:                                            ; preds = %18514, %18497
  call void @llvm.lifetime.end.p0(i64 4, ptr %594) #11
  br label %18532

18532:                                            ; preds = %18531
  br label %18533

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

18534:                                            ; No predecessors!
  br label %18535

18535:                                            ; preds = %18534
  br label %18536

18536:                                            ; preds = %18535, %18475
  br label %18537

18537:                                            ; preds = %18536
  br label %18538

18538:                                            ; preds = %18537
  call void @llvm.lifetime.start.p0(i64 4, ptr %595) #11
  store i32 0, ptr %595, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %596) #11
  %18539 = load ptr, ptr %585, align 8, !tbaa !9
  %18540 = load ptr, ptr %581, align 8, !tbaa !9
  %18541 = load i64, ptr %582, align 8, !tbaa !20
  %18542 = load i64, ptr %583, align 8, !tbaa !20
  %18543 = call i64 @s2n_ktls_sendv_with_offset(ptr noundef %18539, ptr noundef %18540, i64 noundef %18541, i64 noundef %18542, ptr noundef %595)
  store i64 %18543, ptr %596, align 8, !tbaa !20
  br label %18544

18544:                                            ; preds = %18538
  %18545 = load i32, ptr @test_count, align 4, !tbaa !5
  %18546 = add nsw i32 %18545, 1
  store i32 %18546, ptr @test_count, align 4, !tbaa !5
  %18547 = load i64, ptr %596, align 8, !tbaa !20
  %18548 = load i64, ptr %583, align 8, !tbaa !20
  %18549 = sub i64 16384, %18548
  %18550 = icmp eq i64 %18547, %18549
  br i1 %18550, label %18604, label %18551

18551:                                            ; preds = %18544
  br label %18552

18552:                                            ; preds = %18551
  br label %18553

18553:                                            ; preds = %18552
  call void @llvm.lifetime.start.p0(i64 4, ptr %597) #11
  %18554 = call ptr @__errno_location() #12
  %18555 = load i32, ptr %18554, align 4, !tbaa !5
  store i32 %18555, ptr %597, align 4, !tbaa !5
  %18556 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18557 = call i32 @s2n_print_stacktrace(ptr noundef %18556)
  %18558 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18559 = trunc i8 %18558 to i1
  br i1 %18559, label %18560, label %18582

18560:                                            ; preds = %18553
  %18561 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18562 = call i32 @fileno(ptr noundef %18561) #11
  %18563 = call i32 @isatty(i32 noundef %18562) #11
  %18564 = icmp ne i32 %18563, 0
  br i1 %18564, label %18565, label %18582

18565:                                            ; preds = %18560
  %18566 = load i32, ptr %597, align 4, !tbaa !5
  %18567 = call ptr @__errno_location() #12
  store i32 %18566, ptr %18567, align 4, !tbaa !5
  %18568 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18569 = load i32, ptr @test_count, align 4, !tbaa !5
  %18570 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18571 = load i32, ptr %18570, align 4, !tbaa !5
  %18572 = call ptr @s2n_strerror(i32 noundef %18571, ptr noundef @.str.5)
  %18573 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18574 = load i32, ptr %18573, align 4, !tbaa !5
  %18575 = call ptr @s2n_strerror_debug(i32 noundef %18574, ptr noundef @.str.5)
  %18576 = call ptr @__errno_location() #12
  %18577 = load i32, ptr %18576, align 4, !tbaa !5
  %18578 = call ptr @strerror(i32 noundef %18577) #11
  %18579 = call ptr @__errno_location() #12
  %18580 = load i32, ptr %18579, align 4, !tbaa !5
  %18581 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18568, ptr noundef @.str.3, i32 noundef %18569, ptr noundef @.str.113, ptr noundef @.str.2, i32 noundef 965, ptr noundef %18572, ptr noundef %18575, ptr noundef %18578, i32 noundef %18580) #11
  br label %18599

18582:                                            ; preds = %18560, %18553
  %18583 = load i32, ptr %597, align 4, !tbaa !5
  %18584 = call ptr @__errno_location() #12
  store i32 %18583, ptr %18584, align 4, !tbaa !5
  %18585 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18586 = load i32, ptr @test_count, align 4, !tbaa !5
  %18587 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18588 = load i32, ptr %18587, align 4, !tbaa !5
  %18589 = call ptr @s2n_strerror(i32 noundef %18588, ptr noundef @.str.5)
  %18590 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18591 = load i32, ptr %18590, align 4, !tbaa !5
  %18592 = call ptr @s2n_strerror_debug(i32 noundef %18591, ptr noundef @.str.5)
  %18593 = call ptr @__errno_location() #12
  %18594 = load i32, ptr %18593, align 4, !tbaa !5
  %18595 = call ptr @strerror(i32 noundef %18594) #11
  %18596 = call ptr @__errno_location() #12
  %18597 = load i32, ptr %18596, align 4, !tbaa !5
  %18598 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18585, ptr noundef @.str.6, i32 noundef %18586, ptr noundef @.str.113, ptr noundef @.str.2, i32 noundef 965, ptr noundef %18589, ptr noundef %18592, ptr noundef %18595, i32 noundef %18597) #11
  br label %18599

18599:                                            ; preds = %18582, %18565
  call void @llvm.lifetime.end.p0(i64 4, ptr %597) #11
  br label %18600

18600:                                            ; preds = %18599
  br label %18601

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

18602:                                            ; No predecessors!
  br label %18603

18603:                                            ; preds = %18602
  br label %18604

18604:                                            ; preds = %18603, %18544
  br label %18605

18605:                                            ; preds = %18604
  br label %18606

18606:                                            ; preds = %18605
  call void @llvm.lifetime.start.p0(i64 8, ptr %598) #11
  %18607 = load i64, ptr %580, align 8, !tbaa !20
  %18608 = getelementptr inbounds [9 x %struct.anon], ptr %579, i64 0, i64 %18607
  %18609 = getelementptr inbounds %struct.anon, ptr %18608, i32 0, i32 3
  %18610 = load i32, ptr %18609, align 4, !tbaa !73
  %18611 = zext i32 %18610 to i64
  store i64 %18611, ptr %598, align 8, !tbaa !20
  br label %18612

18612:                                            ; preds = %18606
  %18613 = load i32, ptr @test_count, align 4, !tbaa !5
  %18614 = add nsw i32 %18613, 1
  store i32 %18614, ptr @test_count, align 4, !tbaa !5
  %18615 = load i64, ptr %598, align 8, !tbaa !20
  %18616 = trunc i64 %18615 to i32
  %18617 = call i32 @s2n_mem_test_assert_malloc_count(i32 noundef %18616)
  %18618 = getelementptr inbounds %struct.s2n_result, ptr %599, i32 0, i32 0
  store i32 %18617, ptr %18618, align 4
  %18619 = getelementptr inbounds %struct.s2n_result, ptr %599, i32 0, i32 0
  %18620 = load i32, ptr %18619, align 4
  %18621 = call zeroext i1 @s2n_result_is_ok(i32 %18620)
  br i1 %18621, label %18675, label %18622

18622:                                            ; preds = %18612
  br label %18623

18623:                                            ; preds = %18622
  br label %18624

18624:                                            ; preds = %18623
  call void @llvm.lifetime.start.p0(i64 4, ptr %600) #11
  %18625 = call ptr @__errno_location() #12
  %18626 = load i32, ptr %18625, align 4, !tbaa !5
  store i32 %18626, ptr %600, align 4, !tbaa !5
  %18627 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18628 = call i32 @s2n_print_stacktrace(ptr noundef %18627)
  %18629 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18630 = trunc i8 %18629 to i1
  br i1 %18630, label %18631, label %18653

18631:                                            ; preds = %18624
  %18632 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18633 = call i32 @fileno(ptr noundef %18632) #11
  %18634 = call i32 @isatty(i32 noundef %18633) #11
  %18635 = icmp ne i32 %18634, 0
  br i1 %18635, label %18636, label %18653

18636:                                            ; preds = %18631
  %18637 = load i32, ptr %600, align 4, !tbaa !5
  %18638 = call ptr @__errno_location() #12
  store i32 %18637, ptr %18638, align 4, !tbaa !5
  %18639 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18640 = load i32, ptr @test_count, align 4, !tbaa !5
  %18641 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18642 = load i32, ptr %18641, align 4, !tbaa !5
  %18643 = call ptr @s2n_strerror(i32 noundef %18642, ptr noundef @.str.5)
  %18644 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18645 = load i32, ptr %18644, align 4, !tbaa !5
  %18646 = call ptr @s2n_strerror_debug(i32 noundef %18645, ptr noundef @.str.5)
  %18647 = call ptr @__errno_location() #12
  %18648 = load i32, ptr %18647, align 4, !tbaa !5
  %18649 = call ptr @strerror(i32 noundef %18648) #11
  %18650 = call ptr @__errno_location() #12
  %18651 = load i32, ptr %18650, align 4, !tbaa !5
  %18652 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18639, ptr noundef @.str.3, i32 noundef %18640, ptr noundef @.str.114, ptr noundef @.str.2, i32 noundef 968, ptr noundef %18643, ptr noundef %18646, ptr noundef %18649, i32 noundef %18651) #11
  br label %18670

18653:                                            ; preds = %18631, %18624
  %18654 = load i32, ptr %600, align 4, !tbaa !5
  %18655 = call ptr @__errno_location() #12
  store i32 %18654, ptr %18655, align 4, !tbaa !5
  %18656 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18657 = load i32, ptr @test_count, align 4, !tbaa !5
  %18658 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18659 = load i32, ptr %18658, align 4, !tbaa !5
  %18660 = call ptr @s2n_strerror(i32 noundef %18659, ptr noundef @.str.5)
  %18661 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18662 = load i32, ptr %18661, align 4, !tbaa !5
  %18663 = call ptr @s2n_strerror_debug(i32 noundef %18662, ptr noundef @.str.5)
  %18664 = call ptr @__errno_location() #12
  %18665 = load i32, ptr %18664, align 4, !tbaa !5
  %18666 = call ptr @strerror(i32 noundef %18665) #11
  %18667 = call ptr @__errno_location() #12
  %18668 = load i32, ptr %18667, align 4, !tbaa !5
  %18669 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18656, ptr noundef @.str.6, i32 noundef %18657, ptr noundef @.str.114, ptr noundef @.str.2, i32 noundef 968, ptr noundef %18660, ptr noundef %18663, ptr noundef %18666, i32 noundef %18668) #11
  br label %18670

18670:                                            ; preds = %18653, %18636
  call void @llvm.lifetime.end.p0(i64 4, ptr %600) #11
  br label %18671

18671:                                            ; preds = %18670
  br label %18672

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

18673:                                            ; No predecessors!
  br label %18674

18674:                                            ; preds = %18673
  br label %18675

18675:                                            ; preds = %18674, %18612
  br label %18676

18676:                                            ; preds = %18675
  br label %18677

18677:                                            ; preds = %18676
  %18678 = load i64, ptr %598, align 8, !tbaa !20
  %18679 = icmp ne i64 %18678, 0
  br i1 %18679, label %18680, label %18749

18680:                                            ; preds = %18677
  br label %18681

18681:                                            ; preds = %18680
  %18682 = load i32, ptr @test_count, align 4, !tbaa !5
  %18683 = add nsw i32 %18682, 1
  store i32 %18683, ptr @test_count, align 4, !tbaa !5
  %18684 = load i64, ptr %580, align 8, !tbaa !20
  %18685 = getelementptr inbounds [9 x %struct.anon], ptr %579, i64 0, i64 %18684
  %18686 = getelementptr inbounds %struct.anon, ptr %18685, i32 0, i32 2
  %18687 = load i32, ptr %18686, align 8, !tbaa !72
  %18688 = call i32 @s2n_mem_test_assert_malloc(i32 noundef %18687)
  %18689 = getelementptr inbounds %struct.s2n_result, ptr %601, i32 0, i32 0
  store i32 %18688, ptr %18689, align 4
  %18690 = getelementptr inbounds %struct.s2n_result, ptr %601, i32 0, i32 0
  %18691 = load i32, ptr %18690, align 4
  %18692 = call zeroext i1 @s2n_result_is_ok(i32 %18691)
  br i1 %18692, label %18746, label %18693

18693:                                            ; preds = %18681
  br label %18694

18694:                                            ; preds = %18693
  br label %18695

18695:                                            ; preds = %18694
  call void @llvm.lifetime.start.p0(i64 4, ptr %602) #11
  %18696 = call ptr @__errno_location() #12
  %18697 = load i32, ptr %18696, align 4, !tbaa !5
  store i32 %18697, ptr %602, align 4, !tbaa !5
  %18698 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18699 = call i32 @s2n_print_stacktrace(ptr noundef %18698)
  %18700 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18701 = trunc i8 %18700 to i1
  br i1 %18701, label %18702, label %18724

18702:                                            ; preds = %18695
  %18703 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18704 = call i32 @fileno(ptr noundef %18703) #11
  %18705 = call i32 @isatty(i32 noundef %18704) #11
  %18706 = icmp ne i32 %18705, 0
  br i1 %18706, label %18707, label %18724

18707:                                            ; preds = %18702
  %18708 = load i32, ptr %602, align 4, !tbaa !5
  %18709 = call ptr @__errno_location() #12
  store i32 %18708, ptr %18709, align 4, !tbaa !5
  %18710 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18711 = load i32, ptr @test_count, align 4, !tbaa !5
  %18712 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18713 = load i32, ptr %18712, align 4, !tbaa !5
  %18714 = call ptr @s2n_strerror(i32 noundef %18713, ptr noundef @.str.5)
  %18715 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18716 = load i32, ptr %18715, align 4, !tbaa !5
  %18717 = call ptr @s2n_strerror_debug(i32 noundef %18716, ptr noundef @.str.5)
  %18718 = call ptr @__errno_location() #12
  %18719 = load i32, ptr %18718, align 4, !tbaa !5
  %18720 = call ptr @strerror(i32 noundef %18719) #11
  %18721 = call ptr @__errno_location() #12
  %18722 = load i32, ptr %18721, align 4, !tbaa !5
  %18723 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18710, ptr noundef @.str.3, i32 noundef %18711, ptr noundef @.str.115, ptr noundef @.str.2, i32 noundef 970, ptr noundef %18714, ptr noundef %18717, ptr noundef %18720, i32 noundef %18722) #11
  br label %18741

18724:                                            ; preds = %18702, %18695
  %18725 = load i32, ptr %602, align 4, !tbaa !5
  %18726 = call ptr @__errno_location() #12
  store i32 %18725, ptr %18726, align 4, !tbaa !5
  %18727 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18728 = load i32, ptr @test_count, align 4, !tbaa !5
  %18729 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18730 = load i32, ptr %18729, align 4, !tbaa !5
  %18731 = call ptr @s2n_strerror(i32 noundef %18730, ptr noundef @.str.5)
  %18732 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18733 = load i32, ptr %18732, align 4, !tbaa !5
  %18734 = call ptr @s2n_strerror_debug(i32 noundef %18733, ptr noundef @.str.5)
  %18735 = call ptr @__errno_location() #12
  %18736 = load i32, ptr %18735, align 4, !tbaa !5
  %18737 = call ptr @strerror(i32 noundef %18736) #11
  %18738 = call ptr @__errno_location() #12
  %18739 = load i32, ptr %18738, align 4, !tbaa !5
  %18740 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18727, ptr noundef @.str.6, i32 noundef %18728, ptr noundef @.str.115, ptr noundef @.str.2, i32 noundef 970, ptr noundef %18731, ptr noundef %18734, ptr noundef %18737, i32 noundef %18739) #11
  br label %18741

18741:                                            ; preds = %18724, %18707
  call void @llvm.lifetime.end.p0(i64 4, ptr %602) #11
  br label %18742

18742:                                            ; preds = %18741
  br label %18743

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

18744:                                            ; No predecessors!
  br label %18745

18745:                                            ; preds = %18744
  br label %18746

18746:                                            ; preds = %18745, %18681
  br label %18747

18747:                                            ; preds = %18746
  br label %18748

18748:                                            ; preds = %18747
  br label %18749

18749:                                            ; preds = %18748, %18677
  br label %18750

18750:                                            ; preds = %18749
  %18751 = load i32, ptr @test_count, align 4, !tbaa !5
  %18752 = add nsw i32 %18751, 1
  store i32 %18752, ptr @test_count, align 4, !tbaa !5
  %18753 = call i32 (...) @s2n_mem_test_assert_all_freed()
  %18754 = getelementptr inbounds %struct.s2n_result, ptr %603, i32 0, i32 0
  store i32 %18753, ptr %18754, align 4
  %18755 = getelementptr inbounds %struct.s2n_result, ptr %603, i32 0, i32 0
  %18756 = load i32, ptr %18755, align 4
  %18757 = call zeroext i1 @s2n_result_is_ok(i32 %18756)
  br i1 %18757, label %18811, label %18758

18758:                                            ; preds = %18750
  br label %18759

18759:                                            ; preds = %18758
  br label %18760

18760:                                            ; preds = %18759
  call void @llvm.lifetime.start.p0(i64 4, ptr %604) #11
  %18761 = call ptr @__errno_location() #12
  %18762 = load i32, ptr %18761, align 4, !tbaa !5
  store i32 %18762, ptr %604, align 4, !tbaa !5
  %18763 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18764 = call i32 @s2n_print_stacktrace(ptr noundef %18763)
  %18765 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18766 = trunc i8 %18765 to i1
  br i1 %18766, label %18767, label %18789

18767:                                            ; preds = %18760
  %18768 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18769 = call i32 @fileno(ptr noundef %18768) #11
  %18770 = call i32 @isatty(i32 noundef %18769) #11
  %18771 = icmp ne i32 %18770, 0
  br i1 %18771, label %18772, label %18789

18772:                                            ; preds = %18767
  %18773 = load i32, ptr %604, align 4, !tbaa !5
  %18774 = call ptr @__errno_location() #12
  store i32 %18773, ptr %18774, align 4, !tbaa !5
  %18775 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18776 = load i32, ptr @test_count, align 4, !tbaa !5
  %18777 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18778 = load i32, ptr %18777, align 4, !tbaa !5
  %18779 = call ptr @s2n_strerror(i32 noundef %18778, ptr noundef @.str.5)
  %18780 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18781 = load i32, ptr %18780, align 4, !tbaa !5
  %18782 = call ptr @s2n_strerror_debug(i32 noundef %18781, ptr noundef @.str.5)
  %18783 = call ptr @__errno_location() #12
  %18784 = load i32, ptr %18783, align 4, !tbaa !5
  %18785 = call ptr @strerror(i32 noundef %18784) #11
  %18786 = call ptr @__errno_location() #12
  %18787 = load i32, ptr %18786, align 4, !tbaa !5
  %18788 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18775, ptr noundef @.str.3, i32 noundef %18776, ptr noundef @.str.116, ptr noundef @.str.2, i32 noundef 972, ptr noundef %18779, ptr noundef %18782, ptr noundef %18785, i32 noundef %18787) #11
  br label %18806

18789:                                            ; preds = %18767, %18760
  %18790 = load i32, ptr %604, align 4, !tbaa !5
  %18791 = call ptr @__errno_location() #12
  store i32 %18790, ptr %18791, align 4, !tbaa !5
  %18792 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18793 = load i32, ptr @test_count, align 4, !tbaa !5
  %18794 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18795 = load i32, ptr %18794, align 4, !tbaa !5
  %18796 = call ptr @s2n_strerror(i32 noundef %18795, ptr noundef @.str.5)
  %18797 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18798 = load i32, ptr %18797, align 4, !tbaa !5
  %18799 = call ptr @s2n_strerror_debug(i32 noundef %18798, ptr noundef @.str.5)
  %18800 = call ptr @__errno_location() #12
  %18801 = load i32, ptr %18800, align 4, !tbaa !5
  %18802 = call ptr @strerror(i32 noundef %18801) #11
  %18803 = call ptr @__errno_location() #12
  %18804 = load i32, ptr %18803, align 4, !tbaa !5
  %18805 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18792, ptr noundef @.str.6, i32 noundef %18793, ptr noundef @.str.116, ptr noundef @.str.2, i32 noundef 972, ptr noundef %18796, ptr noundef %18799, ptr noundef %18802, i32 noundef %18804) #11
  br label %18806

18806:                                            ; preds = %18789, %18772
  call void @llvm.lifetime.end.p0(i64 4, ptr %604) #11
  br label %18807

18807:                                            ; preds = %18806
  br label %18808

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

18809:                                            ; No predecessors!
  br label %18810

18810:                                            ; preds = %18809
  br label %18811

18811:                                            ; preds = %18810, %18750
  br label %18812

18812:                                            ; preds = %18811
  br label %18813

18813:                                            ; preds = %18812
  call void @llvm.lifetime.end.p0(i64 8, ptr %598) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %596) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %595) #11
  %18814 = call i32 @s2n_mem_test_free_callbacks(ptr noundef %592)
  %18815 = getelementptr inbounds %struct.s2n_result, ptr %605, i32 0, i32 0
  store i32 %18814, ptr %18815, align 4
  call void @llvm.lifetime.end.p0(i64 1, ptr %592) #11
  %18816 = call i32 @s2n_ktls_io_stuffer_free(ptr noundef %587)
  %18817 = getelementptr inbounds %struct.s2n_result, ptr %606, i32 0, i32 0
  store i32 %18816, ptr %18817, align 4
  call void @llvm.lifetime.end.p0(i64 96, ptr %587) #11
  %18818 = call i32 @s2n_connection_ptr_free(ptr noundef %585)
  %18819 = getelementptr inbounds %struct.s2n_result, ptr %607, i32 0, i32 0
  store i32 %18818, ptr %18819, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %585) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %584) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %583) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %582) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %581) #11
  br label %18820

18820:                                            ; preds = %18813
  %18821 = load i64, ptr %580, align 8, !tbaa !20
  %18822 = add i64 %18821, 1
  store i64 %18822, ptr %580, align 8, !tbaa !20
  br label %18199, !llvm.loop !74

18823:                                            ; preds = %18202
  call void @llvm.lifetime.end.p0(i64 216, ptr %579) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %578) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %577) #11
  %18824 = call i32 @s2n_test_iovecs_free(ptr noundef %574)
  %18825 = getelementptr inbounds %struct.s2n_result, ptr %608, i32 0, i32 0
  store i32 %18824, ptr %18825, align 4
  call void @llvm.lifetime.end.p0(i64 16, ptr %574) #11
  %18826 = call i32 @s2n_test_iovecs_free(ptr noundef %571)
  %18827 = getelementptr inbounds %struct.s2n_result, ptr %609, i32 0, i32 0
  store i32 %18826, ptr %18827, align 4
  call void @llvm.lifetime.end.p0(i64 16, ptr %571) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %570) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %569) #11
  call void @llvm.lifetime.end.p0(i64 800, ptr %568) #11
  call void @llvm.lifetime.end.p0(i64 56, ptr %359) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %610) #11
  %18828 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %18828, ptr %610, align 8, !tbaa !9
  br label %18829

18829:                                            ; preds = %18823
  %18830 = load i32, ptr @test_count, align 4, !tbaa !5
  %18831 = add nsw i32 %18830, 1
  store i32 %18831, ptr @test_count, align 4, !tbaa !5
  %18832 = load ptr, ptr %610, align 8, !tbaa !9
  %18833 = icmp eq ptr %18832, null
  br i1 %18833, label %18834, label %18887

18834:                                            ; preds = %18829
  br label %18835

18835:                                            ; preds = %18834
  br label %18836

18836:                                            ; preds = %18835
  call void @llvm.lifetime.start.p0(i64 4, ptr %611) #11
  %18837 = call ptr @__errno_location() #12
  %18838 = load i32, ptr %18837, align 4, !tbaa !5
  store i32 %18838, ptr %611, align 4, !tbaa !5
  %18839 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18840 = call i32 @s2n_print_stacktrace(ptr noundef %18839)
  %18841 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18842 = trunc i8 %18841 to i1
  br i1 %18842, label %18843, label %18865

18843:                                            ; preds = %18836
  %18844 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18845 = call i32 @fileno(ptr noundef %18844) #11
  %18846 = call i32 @isatty(i32 noundef %18845) #11
  %18847 = icmp ne i32 %18846, 0
  br i1 %18847, label %18848, label %18865

18848:                                            ; preds = %18843
  %18849 = load i32, ptr %611, align 4, !tbaa !5
  %18850 = call ptr @__errno_location() #12
  store i32 %18849, ptr %18850, align 4, !tbaa !5
  %18851 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18852 = load i32, ptr @test_count, align 4, !tbaa !5
  %18853 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18854 = load i32, ptr %18853, align 4, !tbaa !5
  %18855 = call ptr @s2n_strerror(i32 noundef %18854, ptr noundef @.str.5)
  %18856 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18857 = load i32, ptr %18856, align 4, !tbaa !5
  %18858 = call ptr @s2n_strerror_debug(i32 noundef %18857, ptr noundef @.str.5)
  %18859 = call ptr @__errno_location() #12
  %18860 = load i32, ptr %18859, align 4, !tbaa !5
  %18861 = call ptr @strerror(i32 noundef %18860) #11
  %18862 = call ptr @__errno_location() #12
  %18863 = load i32, ptr %18862, align 4, !tbaa !5
  %18864 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18851, ptr noundef @.str.3, i32 noundef %18852, ptr noundef @.str.79, ptr noundef @.str.2, i32 noundef 985, ptr noundef %18855, ptr noundef %18858, ptr noundef %18861, i32 noundef %18863) #11
  br label %18882

18865:                                            ; preds = %18843, %18836
  %18866 = load i32, ptr %611, align 4, !tbaa !5
  %18867 = call ptr @__errno_location() #12
  store i32 %18866, ptr %18867, align 4, !tbaa !5
  %18868 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18869 = load i32, ptr @test_count, align 4, !tbaa !5
  %18870 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18871 = load i32, ptr %18870, align 4, !tbaa !5
  %18872 = call ptr @s2n_strerror(i32 noundef %18871, ptr noundef @.str.5)
  %18873 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18874 = load i32, ptr %18873, align 4, !tbaa !5
  %18875 = call ptr @s2n_strerror_debug(i32 noundef %18874, ptr noundef @.str.5)
  %18876 = call ptr @__errno_location() #12
  %18877 = load i32, ptr %18876, align 4, !tbaa !5
  %18878 = call ptr @strerror(i32 noundef %18877) #11
  %18879 = call ptr @__errno_location() #12
  %18880 = load i32, ptr %18879, align 4, !tbaa !5
  %18881 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18868, ptr noundef @.str.6, i32 noundef %18869, ptr noundef @.str.79, ptr noundef @.str.2, i32 noundef 985, ptr noundef %18872, ptr noundef %18875, ptr noundef %18878, i32 noundef %18880) #11
  br label %18882

18882:                                            ; preds = %18865, %18848
  call void @llvm.lifetime.end.p0(i64 4, ptr %611) #11
  br label %18883

18883:                                            ; preds = %18882
  br label %18884

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

18885:                                            ; No predecessors!
  br label %18886

18886:                                            ; preds = %18885
  br label %18887

18887:                                            ; preds = %18886, %18829
  br label %18888

18888:                                            ; preds = %18887
  br label %18889

18889:                                            ; preds = %18888
  call void @llvm.lifetime.start.p0(i64 96, ptr %612) #11
  call void @llvm.memset.p0.i64(ptr align 8 %612, i8 0, i64 96, i1 false)
  br label %18890

18890:                                            ; preds = %18889
  br label %18891

18891:                                            ; preds = %18890
  br label %18892

18892:                                            ; preds = %18891
  %18893 = load i32, ptr @test_count, align 4, !tbaa !5
  %18894 = add nsw i32 %18893, 1
  store i32 %18894, ptr @test_count, align 4, !tbaa !5
  %18895 = getelementptr inbounds [16384 x i8], ptr %10, i64 0, i64 0
  %18896 = call i32 @s2n_ktls_send_cb(ptr noundef null, ptr noundef %18895, i32 noundef 1)
  %18897 = icmp eq i32 %18896, -1
  br i1 %18897, label %18951, label %18898

18898:                                            ; preds = %18892
  br label %18899

18899:                                            ; preds = %18898
  br label %18900

18900:                                            ; preds = %18899
  call void @llvm.lifetime.start.p0(i64 4, ptr %613) #11
  %18901 = call ptr @__errno_location() #12
  %18902 = load i32, ptr %18901, align 4, !tbaa !5
  store i32 %18902, ptr %613, align 4, !tbaa !5
  %18903 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18904 = call i32 @s2n_print_stacktrace(ptr noundef %18903)
  %18905 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18906 = trunc i8 %18905 to i1
  br i1 %18906, label %18907, label %18929

18907:                                            ; preds = %18900
  %18908 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18909 = call i32 @fileno(ptr noundef %18908) #11
  %18910 = call i32 @isatty(i32 noundef %18909) #11
  %18911 = icmp ne i32 %18910, 0
  br i1 %18911, label %18912, label %18929

18912:                                            ; preds = %18907
  %18913 = load i32, ptr %613, align 4, !tbaa !5
  %18914 = call ptr @__errno_location() #12
  store i32 %18913, ptr %18914, align 4, !tbaa !5
  %18915 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18916 = load i32, ptr @test_count, align 4, !tbaa !5
  %18917 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18918 = load i32, ptr %18917, align 4, !tbaa !5
  %18919 = call ptr @s2n_strerror(i32 noundef %18918, ptr noundef @.str.5)
  %18920 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18921 = load i32, ptr %18920, align 4, !tbaa !5
  %18922 = call ptr @s2n_strerror_debug(i32 noundef %18921, ptr noundef @.str.5)
  %18923 = call ptr @__errno_location() #12
  %18924 = load i32, ptr %18923, align 4, !tbaa !5
  %18925 = call ptr @strerror(i32 noundef %18924) #11
  %18926 = call ptr @__errno_location() #12
  %18927 = load i32, ptr %18926, align 4, !tbaa !5
  %18928 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18915, ptr noundef @.str.3, i32 noundef %18916, ptr noundef @.str.117, ptr noundef @.str.2, i32 noundef 990, ptr noundef %18919, ptr noundef %18922, ptr noundef %18925, i32 noundef %18927) #11
  br label %18946

18929:                                            ; preds = %18907, %18900
  %18930 = load i32, ptr %613, align 4, !tbaa !5
  %18931 = call ptr @__errno_location() #12
  store i32 %18930, ptr %18931, align 4, !tbaa !5
  %18932 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18933 = load i32, ptr @test_count, align 4, !tbaa !5
  %18934 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18935 = load i32, ptr %18934, align 4, !tbaa !5
  %18936 = call ptr @s2n_strerror(i32 noundef %18935, ptr noundef @.str.5)
  %18937 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18938 = load i32, ptr %18937, align 4, !tbaa !5
  %18939 = call ptr @s2n_strerror_debug(i32 noundef %18938, ptr noundef @.str.5)
  %18940 = call ptr @__errno_location() #12
  %18941 = load i32, ptr %18940, align 4, !tbaa !5
  %18942 = call ptr @strerror(i32 noundef %18941) #11
  %18943 = call ptr @__errno_location() #12
  %18944 = load i32, ptr %18943, align 4, !tbaa !5
  %18945 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18932, ptr noundef @.str.6, i32 noundef %18933, ptr noundef @.str.117, ptr noundef @.str.2, i32 noundef 990, ptr noundef %18936, ptr noundef %18939, ptr noundef %18942, i32 noundef %18944) #11
  br label %18946

18946:                                            ; preds = %18929, %18912
  call void @llvm.lifetime.end.p0(i64 4, ptr %613) #11
  br label %18947

18947:                                            ; preds = %18946
  br label %18948

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

18949:                                            ; No predecessors!
  br label %18950

18950:                                            ; preds = %18949
  br label %18951

18951:                                            ; preds = %18950, %18892
  br label %18952

18952:                                            ; preds = %18951
  br label %18953

18953:                                            ; preds = %18952
  br label %18954

18954:                                            ; preds = %18953
  %18955 = load i32, ptr @test_count, align 4, !tbaa !5
  %18956 = add nsw i32 %18955, 1
  store i32 %18956, ptr @test_count, align 4, !tbaa !5
  %18957 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18958 = load i32, ptr %18957, align 4, !tbaa !5
  %18959 = icmp eq i32 %18958, 402653193
  br i1 %18959, label %19013, label %18960

18960:                                            ; preds = %18954
  br label %18961

18961:                                            ; preds = %18960
  br label %18962

18962:                                            ; preds = %18961
  call void @llvm.lifetime.start.p0(i64 4, ptr %614) #11
  %18963 = call ptr @__errno_location() #12
  %18964 = load i32, ptr %18963, align 4, !tbaa !5
  store i32 %18964, ptr %614, align 4, !tbaa !5
  %18965 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18966 = call i32 @s2n_print_stacktrace(ptr noundef %18965)
  %18967 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18968 = trunc i8 %18967 to i1
  br i1 %18968, label %18969, label %18991

18969:                                            ; preds = %18962
  %18970 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18971 = call i32 @fileno(ptr noundef %18970) #11
  %18972 = call i32 @isatty(i32 noundef %18971) #11
  %18973 = icmp ne i32 %18972, 0
  br i1 %18973, label %18974, label %18991

18974:                                            ; preds = %18969
  %18975 = load i32, ptr %614, align 4, !tbaa !5
  %18976 = call ptr @__errno_location() #12
  store i32 %18975, ptr %18976, align 4, !tbaa !5
  %18977 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18978 = load i32, ptr @test_count, align 4, !tbaa !5
  %18979 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18980 = load i32, ptr %18979, align 4, !tbaa !5
  %18981 = call ptr @s2n_strerror(i32 noundef %18980, ptr noundef @.str.5)
  %18982 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18983 = load i32, ptr %18982, align 4, !tbaa !5
  %18984 = call ptr @s2n_strerror_debug(i32 noundef %18983, ptr noundef @.str.5)
  %18985 = call ptr @__errno_location() #12
  %18986 = load i32, ptr %18985, align 4, !tbaa !5
  %18987 = call ptr @strerror(i32 noundef %18986) #11
  %18988 = call ptr @__errno_location() #12
  %18989 = load i32, ptr %18988, align 4, !tbaa !5
  %18990 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18977, ptr noundef @.str.3, i32 noundef %18978, ptr noundef @.str.12, ptr noundef @.str.2, i32 noundef 990, ptr noundef %18981, ptr noundef %18984, ptr noundef %18987, i32 noundef %18989) #11
  br label %19008

18991:                                            ; preds = %18969, %18962
  %18992 = load i32, ptr %614, align 4, !tbaa !5
  %18993 = call ptr @__errno_location() #12
  store i32 %18992, ptr %18993, align 4, !tbaa !5
  %18994 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18995 = load i32, ptr @test_count, align 4, !tbaa !5
  %18996 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18997 = load i32, ptr %18996, align 4, !tbaa !5
  %18998 = call ptr @s2n_strerror(i32 noundef %18997, ptr noundef @.str.5)
  %18999 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19000 = load i32, ptr %18999, align 4, !tbaa !5
  %19001 = call ptr @s2n_strerror_debug(i32 noundef %19000, ptr noundef @.str.5)
  %19002 = call ptr @__errno_location() #12
  %19003 = load i32, ptr %19002, align 4, !tbaa !5
  %19004 = call ptr @strerror(i32 noundef %19003) #11
  %19005 = call ptr @__errno_location() #12
  %19006 = load i32, ptr %19005, align 4, !tbaa !5
  %19007 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18994, ptr noundef @.str.6, i32 noundef %18995, ptr noundef @.str.12, ptr noundef @.str.2, i32 noundef 990, ptr noundef %18998, ptr noundef %19001, ptr noundef %19004, i32 noundef %19006) #11
  br label %19008

19008:                                            ; preds = %18991, %18974
  call void @llvm.lifetime.end.p0(i64 4, ptr %614) #11
  br label %19009

19009:                                            ; preds = %19008
  br label %19010

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

19011:                                            ; No predecessors!
  br label %19012

19012:                                            ; preds = %19011
  br label %19013

19013:                                            ; preds = %19012, %18954
  br label %19014

19014:                                            ; preds = %19013
  br label %19015

19015:                                            ; preds = %19014
  br label %19016

19016:                                            ; preds = %19015
  %19017 = load i32, ptr @test_count, align 4, !tbaa !5
  %19018 = add nsw i32 %19017, 1
  store i32 %19018, ptr @test_count, align 4, !tbaa !5
  %19019 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19020 = load i32, ptr %19019, align 4, !tbaa !5
  %19021 = call ptr @s2n_strerror_debug(i32 noundef %19020, ptr noundef @.str.5)
  %19022 = icmp eq ptr %19021, null
  br i1 %19022, label %19023, label %19076

19023:                                            ; preds = %19016
  br label %19024

19024:                                            ; preds = %19023
  br label %19025

19025:                                            ; preds = %19024
  call void @llvm.lifetime.start.p0(i64 4, ptr %615) #11
  %19026 = call ptr @__errno_location() #12
  %19027 = load i32, ptr %19026, align 4, !tbaa !5
  store i32 %19027, ptr %615, align 4, !tbaa !5
  %19028 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19029 = call i32 @s2n_print_stacktrace(ptr noundef %19028)
  %19030 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19031 = trunc i8 %19030 to i1
  br i1 %19031, label %19032, label %19054

19032:                                            ; preds = %19025
  %19033 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19034 = call i32 @fileno(ptr noundef %19033) #11
  %19035 = call i32 @isatty(i32 noundef %19034) #11
  %19036 = icmp ne i32 %19035, 0
  br i1 %19036, label %19037, label %19054

19037:                                            ; preds = %19032
  %19038 = load i32, ptr %615, align 4, !tbaa !5
  %19039 = call ptr @__errno_location() #12
  store i32 %19038, ptr %19039, align 4, !tbaa !5
  %19040 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19041 = load i32, ptr @test_count, align 4, !tbaa !5
  %19042 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19043 = load i32, ptr %19042, align 4, !tbaa !5
  %19044 = call ptr @s2n_strerror(i32 noundef %19043, ptr noundef @.str.5)
  %19045 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19046 = load i32, ptr %19045, align 4, !tbaa !5
  %19047 = call ptr @s2n_strerror_debug(i32 noundef %19046, ptr noundef @.str.5)
  %19048 = call ptr @__errno_location() #12
  %19049 = load i32, ptr %19048, align 4, !tbaa !5
  %19050 = call ptr @strerror(i32 noundef %19049) #11
  %19051 = call ptr @__errno_location() #12
  %19052 = load i32, ptr %19051, align 4, !tbaa !5
  %19053 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19040, ptr noundef @.str.3, i32 noundef %19041, ptr noundef @.str.13, ptr noundef @.str.2, i32 noundef 990, ptr noundef %19044, ptr noundef %19047, ptr noundef %19050, i32 noundef %19052) #11
  br label %19071

19054:                                            ; preds = %19032, %19025
  %19055 = load i32, ptr %615, align 4, !tbaa !5
  %19056 = call ptr @__errno_location() #12
  store i32 %19055, ptr %19056, align 4, !tbaa !5
  %19057 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19058 = load i32, ptr @test_count, align 4, !tbaa !5
  %19059 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19060 = load i32, ptr %19059, align 4, !tbaa !5
  %19061 = call ptr @s2n_strerror(i32 noundef %19060, ptr noundef @.str.5)
  %19062 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19063 = load i32, ptr %19062, align 4, !tbaa !5
  %19064 = call ptr @s2n_strerror_debug(i32 noundef %19063, ptr noundef @.str.5)
  %19065 = call ptr @__errno_location() #12
  %19066 = load i32, ptr %19065, align 4, !tbaa !5
  %19067 = call ptr @strerror(i32 noundef %19066) #11
  %19068 = call ptr @__errno_location() #12
  %19069 = load i32, ptr %19068, align 4, !tbaa !5
  %19070 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19057, ptr noundef @.str.6, i32 noundef %19058, ptr noundef @.str.13, ptr noundef @.str.2, i32 noundef 990, ptr noundef %19061, ptr noundef %19064, ptr noundef %19067, i32 noundef %19069) #11
  br label %19071

19071:                                            ; preds = %19054, %19037
  call void @llvm.lifetime.end.p0(i64 4, ptr %615) #11
  br label %19072

19072:                                            ; preds = %19071
  br label %19073

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

19074:                                            ; No predecessors!
  br label %19075

19075:                                            ; preds = %19074
  br label %19076

19076:                                            ; preds = %19075, %19016
  br label %19077

19077:                                            ; preds = %19076
  br label %19078

19078:                                            ; preds = %19077
  br label %19079

19079:                                            ; preds = %19078
  br label %19080

19080:                                            ; preds = %19079
  br label %19081

19081:                                            ; preds = %19080
  %19082 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %19082, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %19083 = call ptr @__errno_location() #12
  store i32 0, ptr %19083, align 4, !tbaa !5
  br label %19084

19084:                                            ; preds = %19081
  br label %19085

19085:                                            ; preds = %19084
  br label %19086

19086:                                            ; preds = %19085
  br label %19087

19087:                                            ; preds = %19086
  br label %19088

19088:                                            ; preds = %19087
  br label %19089

19089:                                            ; preds = %19088
  br label %19090

19090:                                            ; preds = %19089
  %19091 = load i32, ptr @test_count, align 4, !tbaa !5
  %19092 = add nsw i32 %19091, 1
  store i32 %19092, ptr @test_count, align 4, !tbaa !5
  %19093 = call i32 @s2n_ktls_send_cb(ptr noundef %612, ptr noundef null, i32 noundef 1)
  %19094 = icmp eq i32 %19093, -1
  br i1 %19094, label %19148, label %19095

19095:                                            ; preds = %19090
  br label %19096

19096:                                            ; preds = %19095
  br label %19097

19097:                                            ; preds = %19096
  call void @llvm.lifetime.start.p0(i64 4, ptr %616) #11
  %19098 = call ptr @__errno_location() #12
  %19099 = load i32, ptr %19098, align 4, !tbaa !5
  store i32 %19099, ptr %616, align 4, !tbaa !5
  %19100 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19101 = call i32 @s2n_print_stacktrace(ptr noundef %19100)
  %19102 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19103 = trunc i8 %19102 to i1
  br i1 %19103, label %19104, label %19126

19104:                                            ; preds = %19097
  %19105 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19106 = call i32 @fileno(ptr noundef %19105) #11
  %19107 = call i32 @isatty(i32 noundef %19106) #11
  %19108 = icmp ne i32 %19107, 0
  br i1 %19108, label %19109, label %19126

19109:                                            ; preds = %19104
  %19110 = load i32, ptr %616, align 4, !tbaa !5
  %19111 = call ptr @__errno_location() #12
  store i32 %19110, ptr %19111, align 4, !tbaa !5
  %19112 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19113 = load i32, ptr @test_count, align 4, !tbaa !5
  %19114 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19115 = load i32, ptr %19114, align 4, !tbaa !5
  %19116 = call ptr @s2n_strerror(i32 noundef %19115, ptr noundef @.str.5)
  %19117 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19118 = load i32, ptr %19117, align 4, !tbaa !5
  %19119 = call ptr @s2n_strerror_debug(i32 noundef %19118, ptr noundef @.str.5)
  %19120 = call ptr @__errno_location() #12
  %19121 = load i32, ptr %19120, align 4, !tbaa !5
  %19122 = call ptr @strerror(i32 noundef %19121) #11
  %19123 = call ptr @__errno_location() #12
  %19124 = load i32, ptr %19123, align 4, !tbaa !5
  %19125 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19112, ptr noundef @.str.3, i32 noundef %19113, ptr noundef @.str.118, ptr noundef @.str.2, i32 noundef 991, ptr noundef %19116, ptr noundef %19119, ptr noundef %19122, i32 noundef %19124) #11
  br label %19143

19126:                                            ; preds = %19104, %19097
  %19127 = load i32, ptr %616, align 4, !tbaa !5
  %19128 = call ptr @__errno_location() #12
  store i32 %19127, ptr %19128, align 4, !tbaa !5
  %19129 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19130 = load i32, ptr @test_count, align 4, !tbaa !5
  %19131 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19132 = load i32, ptr %19131, align 4, !tbaa !5
  %19133 = call ptr @s2n_strerror(i32 noundef %19132, ptr noundef @.str.5)
  %19134 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19135 = load i32, ptr %19134, align 4, !tbaa !5
  %19136 = call ptr @s2n_strerror_debug(i32 noundef %19135, ptr noundef @.str.5)
  %19137 = call ptr @__errno_location() #12
  %19138 = load i32, ptr %19137, align 4, !tbaa !5
  %19139 = call ptr @strerror(i32 noundef %19138) #11
  %19140 = call ptr @__errno_location() #12
  %19141 = load i32, ptr %19140, align 4, !tbaa !5
  %19142 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19129, ptr noundef @.str.6, i32 noundef %19130, ptr noundef @.str.118, ptr noundef @.str.2, i32 noundef 991, ptr noundef %19133, ptr noundef %19136, ptr noundef %19139, i32 noundef %19141) #11
  br label %19143

19143:                                            ; preds = %19126, %19109
  call void @llvm.lifetime.end.p0(i64 4, ptr %616) #11
  br label %19144

19144:                                            ; preds = %19143
  br label %19145

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

19146:                                            ; No predecessors!
  br label %19147

19147:                                            ; preds = %19146
  br label %19148

19148:                                            ; preds = %19147, %19090
  br label %19149

19149:                                            ; preds = %19148
  br label %19150

19150:                                            ; preds = %19149
  br label %19151

19151:                                            ; preds = %19150
  %19152 = load i32, ptr @test_count, align 4, !tbaa !5
  %19153 = add nsw i32 %19152, 1
  store i32 %19153, ptr @test_count, align 4, !tbaa !5
  %19154 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19155 = load i32, ptr %19154, align 4, !tbaa !5
  %19156 = icmp eq i32 %19155, 402653193
  br i1 %19156, label %19210, label %19157

19157:                                            ; preds = %19151
  br label %19158

19158:                                            ; preds = %19157
  br label %19159

19159:                                            ; preds = %19158
  call void @llvm.lifetime.start.p0(i64 4, ptr %617) #11
  %19160 = call ptr @__errno_location() #12
  %19161 = load i32, ptr %19160, align 4, !tbaa !5
  store i32 %19161, ptr %617, align 4, !tbaa !5
  %19162 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19163 = call i32 @s2n_print_stacktrace(ptr noundef %19162)
  %19164 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19165 = trunc i8 %19164 to i1
  br i1 %19165, label %19166, label %19188

19166:                                            ; preds = %19159
  %19167 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19168 = call i32 @fileno(ptr noundef %19167) #11
  %19169 = call i32 @isatty(i32 noundef %19168) #11
  %19170 = icmp ne i32 %19169, 0
  br i1 %19170, label %19171, label %19188

19171:                                            ; preds = %19166
  %19172 = load i32, ptr %617, align 4, !tbaa !5
  %19173 = call ptr @__errno_location() #12
  store i32 %19172, ptr %19173, align 4, !tbaa !5
  %19174 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19175 = load i32, ptr @test_count, align 4, !tbaa !5
  %19176 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19177 = load i32, ptr %19176, align 4, !tbaa !5
  %19178 = call ptr @s2n_strerror(i32 noundef %19177, ptr noundef @.str.5)
  %19179 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19180 = load i32, ptr %19179, align 4, !tbaa !5
  %19181 = call ptr @s2n_strerror_debug(i32 noundef %19180, ptr noundef @.str.5)
  %19182 = call ptr @__errno_location() #12
  %19183 = load i32, ptr %19182, align 4, !tbaa !5
  %19184 = call ptr @strerror(i32 noundef %19183) #11
  %19185 = call ptr @__errno_location() #12
  %19186 = load i32, ptr %19185, align 4, !tbaa !5
  %19187 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19174, ptr noundef @.str.3, i32 noundef %19175, ptr noundef @.str.12, ptr noundef @.str.2, i32 noundef 991, ptr noundef %19178, ptr noundef %19181, ptr noundef %19184, i32 noundef %19186) #11
  br label %19205

19188:                                            ; preds = %19166, %19159
  %19189 = load i32, ptr %617, align 4, !tbaa !5
  %19190 = call ptr @__errno_location() #12
  store i32 %19189, ptr %19190, align 4, !tbaa !5
  %19191 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19192 = load i32, ptr @test_count, align 4, !tbaa !5
  %19193 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19194 = load i32, ptr %19193, align 4, !tbaa !5
  %19195 = call ptr @s2n_strerror(i32 noundef %19194, ptr noundef @.str.5)
  %19196 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19197 = load i32, ptr %19196, align 4, !tbaa !5
  %19198 = call ptr @s2n_strerror_debug(i32 noundef %19197, ptr noundef @.str.5)
  %19199 = call ptr @__errno_location() #12
  %19200 = load i32, ptr %19199, align 4, !tbaa !5
  %19201 = call ptr @strerror(i32 noundef %19200) #11
  %19202 = call ptr @__errno_location() #12
  %19203 = load i32, ptr %19202, align 4, !tbaa !5
  %19204 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19191, ptr noundef @.str.6, i32 noundef %19192, ptr noundef @.str.12, ptr noundef @.str.2, i32 noundef 991, ptr noundef %19195, ptr noundef %19198, ptr noundef %19201, i32 noundef %19203) #11
  br label %19205

19205:                                            ; preds = %19188, %19171
  call void @llvm.lifetime.end.p0(i64 4, ptr %617) #11
  br label %19206

19206:                                            ; preds = %19205
  br label %19207

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

19208:                                            ; No predecessors!
  br label %19209

19209:                                            ; preds = %19208
  br label %19210

19210:                                            ; preds = %19209, %19151
  br label %19211

19211:                                            ; preds = %19210
  br label %19212

19212:                                            ; preds = %19211
  br label %19213

19213:                                            ; preds = %19212
  %19214 = load i32, ptr @test_count, align 4, !tbaa !5
  %19215 = add nsw i32 %19214, 1
  store i32 %19215, ptr @test_count, align 4, !tbaa !5
  %19216 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19217 = load i32, ptr %19216, align 4, !tbaa !5
  %19218 = call ptr @s2n_strerror_debug(i32 noundef %19217, ptr noundef @.str.5)
  %19219 = icmp eq ptr %19218, null
  br i1 %19219, label %19220, label %19273

19220:                                            ; preds = %19213
  br label %19221

19221:                                            ; preds = %19220
  br label %19222

19222:                                            ; preds = %19221
  call void @llvm.lifetime.start.p0(i64 4, ptr %618) #11
  %19223 = call ptr @__errno_location() #12
  %19224 = load i32, ptr %19223, align 4, !tbaa !5
  store i32 %19224, ptr %618, align 4, !tbaa !5
  %19225 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19226 = call i32 @s2n_print_stacktrace(ptr noundef %19225)
  %19227 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19228 = trunc i8 %19227 to i1
  br i1 %19228, label %19229, label %19251

19229:                                            ; preds = %19222
  %19230 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19231 = call i32 @fileno(ptr noundef %19230) #11
  %19232 = call i32 @isatty(i32 noundef %19231) #11
  %19233 = icmp ne i32 %19232, 0
  br i1 %19233, label %19234, label %19251

19234:                                            ; preds = %19229
  %19235 = load i32, ptr %618, align 4, !tbaa !5
  %19236 = call ptr @__errno_location() #12
  store i32 %19235, ptr %19236, align 4, !tbaa !5
  %19237 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19238 = load i32, ptr @test_count, align 4, !tbaa !5
  %19239 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19240 = load i32, ptr %19239, align 4, !tbaa !5
  %19241 = call ptr @s2n_strerror(i32 noundef %19240, ptr noundef @.str.5)
  %19242 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19243 = load i32, ptr %19242, align 4, !tbaa !5
  %19244 = call ptr @s2n_strerror_debug(i32 noundef %19243, ptr noundef @.str.5)
  %19245 = call ptr @__errno_location() #12
  %19246 = load i32, ptr %19245, align 4, !tbaa !5
  %19247 = call ptr @strerror(i32 noundef %19246) #11
  %19248 = call ptr @__errno_location() #12
  %19249 = load i32, ptr %19248, align 4, !tbaa !5
  %19250 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19237, ptr noundef @.str.3, i32 noundef %19238, ptr noundef @.str.13, ptr noundef @.str.2, i32 noundef 991, ptr noundef %19241, ptr noundef %19244, ptr noundef %19247, i32 noundef %19249) #11
  br label %19268

19251:                                            ; preds = %19229, %19222
  %19252 = load i32, ptr %618, align 4, !tbaa !5
  %19253 = call ptr @__errno_location() #12
  store i32 %19252, ptr %19253, align 4, !tbaa !5
  %19254 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19255 = load i32, ptr @test_count, align 4, !tbaa !5
  %19256 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19257 = load i32, ptr %19256, align 4, !tbaa !5
  %19258 = call ptr @s2n_strerror(i32 noundef %19257, ptr noundef @.str.5)
  %19259 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19260 = load i32, ptr %19259, align 4, !tbaa !5
  %19261 = call ptr @s2n_strerror_debug(i32 noundef %19260, ptr noundef @.str.5)
  %19262 = call ptr @__errno_location() #12
  %19263 = load i32, ptr %19262, align 4, !tbaa !5
  %19264 = call ptr @strerror(i32 noundef %19263) #11
  %19265 = call ptr @__errno_location() #12
  %19266 = load i32, ptr %19265, align 4, !tbaa !5
  %19267 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19254, ptr noundef @.str.6, i32 noundef %19255, ptr noundef @.str.13, ptr noundef @.str.2, i32 noundef 991, ptr noundef %19258, ptr noundef %19261, ptr noundef %19264, i32 noundef %19266) #11
  br label %19268

19268:                                            ; preds = %19251, %19234
  call void @llvm.lifetime.end.p0(i64 4, ptr %618) #11
  br label %19269

19269:                                            ; preds = %19268
  br label %19270

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

19271:                                            ; No predecessors!
  br label %19272

19272:                                            ; preds = %19271
  br label %19273

19273:                                            ; preds = %19272, %19213
  br label %19274

19274:                                            ; preds = %19273
  br label %19275

19275:                                            ; preds = %19274
  br label %19276

19276:                                            ; preds = %19275
  br label %19277

19277:                                            ; preds = %19276
  br label %19278

19278:                                            ; preds = %19277
  %19279 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %19279, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %19280 = call ptr @__errno_location() #12
  store i32 0, ptr %19280, align 4, !tbaa !5
  br label %19281

19281:                                            ; preds = %19278
  br label %19282

19282:                                            ; preds = %19281
  br label %19283

19283:                                            ; preds = %19282
  br label %19284

19284:                                            ; preds = %19283
  call void @llvm.lifetime.end.p0(i64 96, ptr %612) #11
  call void @llvm.lifetime.start.p0(i64 96, ptr %619) #11
  call void @llvm.memset.p0.i64(ptr align 8 %619, i8 0, i64 96, i1 false)
  br label %19285

19285:                                            ; preds = %19284
  %19286 = load i32, ptr @test_count, align 4, !tbaa !5
  %19287 = add nsw i32 %19286, 1
  store i32 %19287, ptr @test_count, align 4, !tbaa !5
  %19288 = load ptr, ptr %610, align 8, !tbaa !9
  %19289 = call i32 @s2n_test_init_ktls_io_stuffer_send(ptr noundef %19288, ptr noundef %619)
  %19290 = getelementptr inbounds %struct.s2n_result, ptr %620, i32 0, i32 0
  store i32 %19289, ptr %19290, align 4
  %19291 = getelementptr inbounds %struct.s2n_result, ptr %620, i32 0, i32 0
  %19292 = load i32, ptr %19291, align 4
  %19293 = call zeroext i1 @s2n_result_is_ok(i32 %19292)
  br i1 %19293, label %19347, label %19294

19294:                                            ; preds = %19285
  br label %19295

19295:                                            ; preds = %19294
  br label %19296

19296:                                            ; preds = %19295
  call void @llvm.lifetime.start.p0(i64 4, ptr %621) #11
  %19297 = call ptr @__errno_location() #12
  %19298 = load i32, ptr %19297, align 4, !tbaa !5
  store i32 %19298, ptr %621, align 4, !tbaa !5
  %19299 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19300 = call i32 @s2n_print_stacktrace(ptr noundef %19299)
  %19301 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19302 = trunc i8 %19301 to i1
  br i1 %19302, label %19303, label %19325

19303:                                            ; preds = %19296
  %19304 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19305 = call i32 @fileno(ptr noundef %19304) #11
  %19306 = call i32 @isatty(i32 noundef %19305) #11
  %19307 = icmp ne i32 %19306, 0
  br i1 %19307, label %19308, label %19325

19308:                                            ; preds = %19303
  %19309 = load i32, ptr %621, align 4, !tbaa !5
  %19310 = call ptr @__errno_location() #12
  store i32 %19309, ptr %19310, align 4, !tbaa !5
  %19311 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19312 = load i32, ptr @test_count, align 4, !tbaa !5
  %19313 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19314 = load i32, ptr %19313, align 4, !tbaa !5
  %19315 = call ptr @s2n_strerror(i32 noundef %19314, ptr noundef @.str.5)
  %19316 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19317 = load i32, ptr %19316, align 4, !tbaa !5
  %19318 = call ptr @s2n_strerror_debug(i32 noundef %19317, ptr noundef @.str.5)
  %19319 = call ptr @__errno_location() #12
  %19320 = load i32, ptr %19319, align 4, !tbaa !5
  %19321 = call ptr @strerror(i32 noundef %19320) #11
  %19322 = call ptr @__errno_location() #12
  %19323 = load i32, ptr %19322, align 4, !tbaa !5
  %19324 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19311, ptr noundef @.str.3, i32 noundef %19312, ptr noundef @.str.119, ptr noundef @.str.2, i32 noundef 998, ptr noundef %19315, ptr noundef %19318, ptr noundef %19321, i32 noundef %19323) #11
  br label %19342

19325:                                            ; preds = %19303, %19296
  %19326 = load i32, ptr %621, align 4, !tbaa !5
  %19327 = call ptr @__errno_location() #12
  store i32 %19326, ptr %19327, align 4, !tbaa !5
  %19328 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19329 = load i32, ptr @test_count, align 4, !tbaa !5
  %19330 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19331 = load i32, ptr %19330, align 4, !tbaa !5
  %19332 = call ptr @s2n_strerror(i32 noundef %19331, ptr noundef @.str.5)
  %19333 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19334 = load i32, ptr %19333, align 4, !tbaa !5
  %19335 = call ptr @s2n_strerror_debug(i32 noundef %19334, ptr noundef @.str.5)
  %19336 = call ptr @__errno_location() #12
  %19337 = load i32, ptr %19336, align 4, !tbaa !5
  %19338 = call ptr @strerror(i32 noundef %19337) #11
  %19339 = call ptr @__errno_location() #12
  %19340 = load i32, ptr %19339, align 4, !tbaa !5
  %19341 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19328, ptr noundef @.str.6, i32 noundef %19329, ptr noundef @.str.119, ptr noundef @.str.2, i32 noundef 998, ptr noundef %19332, ptr noundef %19335, ptr noundef %19338, i32 noundef %19340) #11
  br label %19342

19342:                                            ; preds = %19325, %19308
  call void @llvm.lifetime.end.p0(i64 4, ptr %621) #11
  br label %19343

19343:                                            ; preds = %19342
  br label %19344

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

19345:                                            ; No predecessors!
  br label %19346

19346:                                            ; preds = %19345
  br label %19347

19347:                                            ; preds = %19346, %19285
  br label %19348

19348:                                            ; preds = %19347
  br label %19349

19349:                                            ; preds = %19348
  br label %19350

19350:                                            ; preds = %19349
  %19351 = load i32, ptr @test_count, align 4, !tbaa !5
  %19352 = add nsw i32 %19351, 1
  store i32 %19352, ptr @test_count, align 4, !tbaa !5
  %19353 = getelementptr inbounds [16384 x i8], ptr %10, i64 0, i64 0
  %19354 = call i32 @s2n_ktls_send_cb(ptr noundef %619, ptr noundef %19353, i32 noundef 16384)
  %19355 = icmp eq i32 %19354, -1
  br i1 %19355, label %19356, label %19409

19356:                                            ; preds = %19350
  br label %19357

19357:                                            ; preds = %19356
  br label %19358

19358:                                            ; preds = %19357
  call void @llvm.lifetime.start.p0(i64 4, ptr %622) #11
  %19359 = call ptr @__errno_location() #12
  %19360 = load i32, ptr %19359, align 4, !tbaa !5
  store i32 %19360, ptr %622, align 4, !tbaa !5
  %19361 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19362 = call i32 @s2n_print_stacktrace(ptr noundef %19361)
  %19363 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19364 = trunc i8 %19363 to i1
  br i1 %19364, label %19365, label %19387

19365:                                            ; preds = %19358
  %19366 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19367 = call i32 @fileno(ptr noundef %19366) #11
  %19368 = call i32 @isatty(i32 noundef %19367) #11
  %19369 = icmp ne i32 %19368, 0
  br i1 %19369, label %19370, label %19387

19370:                                            ; preds = %19365
  %19371 = load i32, ptr %622, align 4, !tbaa !5
  %19372 = call ptr @__errno_location() #12
  store i32 %19371, ptr %19372, align 4, !tbaa !5
  %19373 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19374 = load i32, ptr @test_count, align 4, !tbaa !5
  %19375 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19376 = load i32, ptr %19375, align 4, !tbaa !5
  %19377 = call ptr @s2n_strerror(i32 noundef %19376, ptr noundef @.str.5)
  %19378 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19379 = load i32, ptr %19378, align 4, !tbaa !5
  %19380 = call ptr @s2n_strerror_debug(i32 noundef %19379, ptr noundef @.str.5)
  %19381 = call ptr @__errno_location() #12
  %19382 = load i32, ptr %19381, align 4, !tbaa !5
  %19383 = call ptr @strerror(i32 noundef %19382) #11
  %19384 = call ptr @__errno_location() #12
  %19385 = load i32, ptr %19384, align 4, !tbaa !5
  %19386 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19373, ptr noundef @.str.3, i32 noundef %19374, ptr noundef @.str.120, ptr noundef @.str.2, i32 noundef 1000, ptr noundef %19377, ptr noundef %19380, ptr noundef %19383, i32 noundef %19385) #11
  br label %19404

19387:                                            ; preds = %19365, %19358
  %19388 = load i32, ptr %622, align 4, !tbaa !5
  %19389 = call ptr @__errno_location() #12
  store i32 %19388, ptr %19389, align 4, !tbaa !5
  %19390 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19391 = load i32, ptr @test_count, align 4, !tbaa !5
  %19392 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19393 = load i32, ptr %19392, align 4, !tbaa !5
  %19394 = call ptr @s2n_strerror(i32 noundef %19393, ptr noundef @.str.5)
  %19395 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19396 = load i32, ptr %19395, align 4, !tbaa !5
  %19397 = call ptr @s2n_strerror_debug(i32 noundef %19396, ptr noundef @.str.5)
  %19398 = call ptr @__errno_location() #12
  %19399 = load i32, ptr %19398, align 4, !tbaa !5
  %19400 = call ptr @strerror(i32 noundef %19399) #11
  %19401 = call ptr @__errno_location() #12
  %19402 = load i32, ptr %19401, align 4, !tbaa !5
  %19403 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19390, ptr noundef @.str.6, i32 noundef %19391, ptr noundef @.str.120, ptr noundef @.str.2, i32 noundef 1000, ptr noundef %19394, ptr noundef %19397, ptr noundef %19400, i32 noundef %19402) #11
  br label %19404

19404:                                            ; preds = %19387, %19370
  call void @llvm.lifetime.end.p0(i64 4, ptr %622) #11
  br label %19405

19405:                                            ; preds = %19404
  br label %19406

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

19407:                                            ; No predecessors!
  br label %19408

19408:                                            ; preds = %19407
  br label %19409

19409:                                            ; preds = %19408, %19350
  br label %19410

19410:                                            ; preds = %19409
  br label %19411

19411:                                            ; preds = %19410
  br label %19412

19412:                                            ; preds = %19411
  %19413 = load i32, ptr @test_count, align 4, !tbaa !5
  %19414 = add nsw i32 %19413, 1
  store i32 %19414, ptr @test_count, align 4, !tbaa !5
  %19415 = getelementptr inbounds %struct.s2n_test_ktls_io_stuffer, ptr %619, i32 0, i32 2
  %19416 = load i64, ptr %19415, align 8, !tbaa !47
  %19417 = icmp eq i64 %19416, 1
  br i1 %19417, label %19471, label %19418

19418:                                            ; preds = %19412
  br label %19419

19419:                                            ; preds = %19418
  br label %19420

19420:                                            ; preds = %19419
  call void @llvm.lifetime.start.p0(i64 4, ptr %623) #11
  %19421 = call ptr @__errno_location() #12
  %19422 = load i32, ptr %19421, align 4, !tbaa !5
  store i32 %19422, ptr %623, align 4, !tbaa !5
  %19423 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19424 = call i32 @s2n_print_stacktrace(ptr noundef %19423)
  %19425 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19426 = trunc i8 %19425 to i1
  br i1 %19426, label %19427, label %19449

19427:                                            ; preds = %19420
  %19428 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19429 = call i32 @fileno(ptr noundef %19428) #11
  %19430 = call i32 @isatty(i32 noundef %19429) #11
  %19431 = icmp ne i32 %19430, 0
  br i1 %19431, label %19432, label %19449

19432:                                            ; preds = %19427
  %19433 = load i32, ptr %623, align 4, !tbaa !5
  %19434 = call ptr @__errno_location() #12
  store i32 %19433, ptr %19434, align 4, !tbaa !5
  %19435 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19436 = load i32, ptr @test_count, align 4, !tbaa !5
  %19437 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19438 = load i32, ptr %19437, align 4, !tbaa !5
  %19439 = call ptr @s2n_strerror(i32 noundef %19438, ptr noundef @.str.5)
  %19440 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19441 = load i32, ptr %19440, align 4, !tbaa !5
  %19442 = call ptr @s2n_strerror_debug(i32 noundef %19441, ptr noundef @.str.5)
  %19443 = call ptr @__errno_location() #12
  %19444 = load i32, ptr %19443, align 4, !tbaa !5
  %19445 = call ptr @strerror(i32 noundef %19444) #11
  %19446 = call ptr @__errno_location() #12
  %19447 = load i32, ptr %19446, align 4, !tbaa !5
  %19448 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19435, ptr noundef @.str.3, i32 noundef %19436, ptr noundef @.str.121, ptr noundef @.str.2, i32 noundef 1001, ptr noundef %19439, ptr noundef %19442, ptr noundef %19445, i32 noundef %19447) #11
  br label %19466

19449:                                            ; preds = %19427, %19420
  %19450 = load i32, ptr %623, align 4, !tbaa !5
  %19451 = call ptr @__errno_location() #12
  store i32 %19450, ptr %19451, align 4, !tbaa !5
  %19452 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19453 = load i32, ptr @test_count, align 4, !tbaa !5
  %19454 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19455 = load i32, ptr %19454, align 4, !tbaa !5
  %19456 = call ptr @s2n_strerror(i32 noundef %19455, ptr noundef @.str.5)
  %19457 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19458 = load i32, ptr %19457, align 4, !tbaa !5
  %19459 = call ptr @s2n_strerror_debug(i32 noundef %19458, ptr noundef @.str.5)
  %19460 = call ptr @__errno_location() #12
  %19461 = load i32, ptr %19460, align 4, !tbaa !5
  %19462 = call ptr @strerror(i32 noundef %19461) #11
  %19463 = call ptr @__errno_location() #12
  %19464 = load i32, ptr %19463, align 4, !tbaa !5
  %19465 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19452, ptr noundef @.str.6, i32 noundef %19453, ptr noundef @.str.121, ptr noundef @.str.2, i32 noundef 1001, ptr noundef %19456, ptr noundef %19459, ptr noundef %19462, i32 noundef %19464) #11
  br label %19466

19466:                                            ; preds = %19449, %19432
  call void @llvm.lifetime.end.p0(i64 4, ptr %623) #11
  br label %19467

19467:                                            ; preds = %19466
  br label %19468

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

19469:                                            ; No predecessors!
  br label %19470

19470:                                            ; preds = %19469
  br label %19471

19471:                                            ; preds = %19470, %19412
  br label %19472

19472:                                            ; preds = %19471
  br label %19473

19473:                                            ; preds = %19472
  br label %19474

19474:                                            ; preds = %19473
  %19475 = load i32, ptr @test_count, align 4, !tbaa !5
  %19476 = add nsw i32 %19475, 1
  store i32 %19476, ptr @test_count, align 4, !tbaa !5
  %19477 = call i32 @s2n_test_validate_ancillary(ptr noundef %619, i8 noundef zeroext 21, i16 noundef zeroext 16384)
  %19478 = getelementptr inbounds %struct.s2n_result, ptr %624, i32 0, i32 0
  store i32 %19477, ptr %19478, align 4
  %19479 = getelementptr inbounds %struct.s2n_result, ptr %624, i32 0, i32 0
  %19480 = load i32, ptr %19479, align 4
  %19481 = call zeroext i1 @s2n_result_is_ok(i32 %19480)
  br i1 %19481, label %19535, label %19482

19482:                                            ; preds = %19474
  br label %19483

19483:                                            ; preds = %19482
  br label %19484

19484:                                            ; preds = %19483
  call void @llvm.lifetime.start.p0(i64 4, ptr %625) #11
  %19485 = call ptr @__errno_location() #12
  %19486 = load i32, ptr %19485, align 4, !tbaa !5
  store i32 %19486, ptr %625, align 4, !tbaa !5
  %19487 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19488 = call i32 @s2n_print_stacktrace(ptr noundef %19487)
  %19489 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19490 = trunc i8 %19489 to i1
  br i1 %19490, label %19491, label %19513

19491:                                            ; preds = %19484
  %19492 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19493 = call i32 @fileno(ptr noundef %19492) #11
  %19494 = call i32 @isatty(i32 noundef %19493) #11
  %19495 = icmp ne i32 %19494, 0
  br i1 %19495, label %19496, label %19513

19496:                                            ; preds = %19491
  %19497 = load i32, ptr %625, align 4, !tbaa !5
  %19498 = call ptr @__errno_location() #12
  store i32 %19497, ptr %19498, align 4, !tbaa !5
  %19499 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19500 = load i32, ptr @test_count, align 4, !tbaa !5
  %19501 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19502 = load i32, ptr %19501, align 4, !tbaa !5
  %19503 = call ptr @s2n_strerror(i32 noundef %19502, ptr noundef @.str.5)
  %19504 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19505 = load i32, ptr %19504, align 4, !tbaa !5
  %19506 = call ptr @s2n_strerror_debug(i32 noundef %19505, ptr noundef @.str.5)
  %19507 = call ptr @__errno_location() #12
  %19508 = load i32, ptr %19507, align 4, !tbaa !5
  %19509 = call ptr @strerror(i32 noundef %19508) #11
  %19510 = call ptr @__errno_location() #12
  %19511 = load i32, ptr %19510, align 4, !tbaa !5
  %19512 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19499, ptr noundef @.str.3, i32 noundef %19500, ptr noundef @.str.122, ptr noundef @.str.2, i32 noundef 1002, ptr noundef %19503, ptr noundef %19506, ptr noundef %19509, i32 noundef %19511) #11
  br label %19530

19513:                                            ; preds = %19491, %19484
  %19514 = load i32, ptr %625, align 4, !tbaa !5
  %19515 = call ptr @__errno_location() #12
  store i32 %19514, ptr %19515, align 4, !tbaa !5
  %19516 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19517 = load i32, ptr @test_count, align 4, !tbaa !5
  %19518 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19519 = load i32, ptr %19518, align 4, !tbaa !5
  %19520 = call ptr @s2n_strerror(i32 noundef %19519, ptr noundef @.str.5)
  %19521 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19522 = load i32, ptr %19521, align 4, !tbaa !5
  %19523 = call ptr @s2n_strerror_debug(i32 noundef %19522, ptr noundef @.str.5)
  %19524 = call ptr @__errno_location() #12
  %19525 = load i32, ptr %19524, align 4, !tbaa !5
  %19526 = call ptr @strerror(i32 noundef %19525) #11
  %19527 = call ptr @__errno_location() #12
  %19528 = load i32, ptr %19527, align 4, !tbaa !5
  %19529 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19516, ptr noundef @.str.6, i32 noundef %19517, ptr noundef @.str.122, ptr noundef @.str.2, i32 noundef 1002, ptr noundef %19520, ptr noundef %19523, ptr noundef %19526, i32 noundef %19528) #11
  br label %19530

19530:                                            ; preds = %19513, %19496
  call void @llvm.lifetime.end.p0(i64 4, ptr %625) #11
  br label %19531

19531:                                            ; preds = %19530
  br label %19532

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

19533:                                            ; No predecessors!
  br label %19534

19534:                                            ; preds = %19533
  br label %19535

19535:                                            ; preds = %19534, %19474
  br label %19536

19536:                                            ; preds = %19535
  br label %19537

19537:                                            ; preds = %19536
  br label %19538

19538:                                            ; preds = %19537
  %19539 = load i32, ptr @test_count, align 4, !tbaa !5
  %19540 = add nsw i32 %19539, 1
  store i32 %19540, ptr @test_count, align 4, !tbaa !5
  %19541 = getelementptr inbounds [16384 x i8], ptr %10, i64 0, i64 0
  %19542 = call i32 @s2n_test_validate_data(ptr noundef %619, ptr noundef %19541, i16 noundef zeroext 16384)
  %19543 = getelementptr inbounds %struct.s2n_result, ptr %626, i32 0, i32 0
  store i32 %19542, ptr %19543, align 4
  %19544 = getelementptr inbounds %struct.s2n_result, ptr %626, i32 0, i32 0
  %19545 = load i32, ptr %19544, align 4
  %19546 = call zeroext i1 @s2n_result_is_ok(i32 %19545)
  br i1 %19546, label %19600, label %19547

19547:                                            ; preds = %19538
  br label %19548

19548:                                            ; preds = %19547
  br label %19549

19549:                                            ; preds = %19548
  call void @llvm.lifetime.start.p0(i64 4, ptr %627) #11
  %19550 = call ptr @__errno_location() #12
  %19551 = load i32, ptr %19550, align 4, !tbaa !5
  store i32 %19551, ptr %627, align 4, !tbaa !5
  %19552 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19553 = call i32 @s2n_print_stacktrace(ptr noundef %19552)
  %19554 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19555 = trunc i8 %19554 to i1
  br i1 %19555, label %19556, label %19578

19556:                                            ; preds = %19549
  %19557 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19558 = call i32 @fileno(ptr noundef %19557) #11
  %19559 = call i32 @isatty(i32 noundef %19558) #11
  %19560 = icmp ne i32 %19559, 0
  br i1 %19560, label %19561, label %19578

19561:                                            ; preds = %19556
  %19562 = load i32, ptr %627, align 4, !tbaa !5
  %19563 = call ptr @__errno_location() #12
  store i32 %19562, ptr %19563, align 4, !tbaa !5
  %19564 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19565 = load i32, ptr @test_count, align 4, !tbaa !5
  %19566 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19567 = load i32, ptr %19566, align 4, !tbaa !5
  %19568 = call ptr @s2n_strerror(i32 noundef %19567, ptr noundef @.str.5)
  %19569 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19570 = load i32, ptr %19569, align 4, !tbaa !5
  %19571 = call ptr @s2n_strerror_debug(i32 noundef %19570, ptr noundef @.str.5)
  %19572 = call ptr @__errno_location() #12
  %19573 = load i32, ptr %19572, align 4, !tbaa !5
  %19574 = call ptr @strerror(i32 noundef %19573) #11
  %19575 = call ptr @__errno_location() #12
  %19576 = load i32, ptr %19575, align 4, !tbaa !5
  %19577 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19564, ptr noundef @.str.3, i32 noundef %19565, ptr noundef @.str.123, ptr noundef @.str.2, i32 noundef 1003, ptr noundef %19568, ptr noundef %19571, ptr noundef %19574, i32 noundef %19576) #11
  br label %19595

19578:                                            ; preds = %19556, %19549
  %19579 = load i32, ptr %627, align 4, !tbaa !5
  %19580 = call ptr @__errno_location() #12
  store i32 %19579, ptr %19580, align 4, !tbaa !5
  %19581 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19582 = load i32, ptr @test_count, align 4, !tbaa !5
  %19583 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19584 = load i32, ptr %19583, align 4, !tbaa !5
  %19585 = call ptr @s2n_strerror(i32 noundef %19584, ptr noundef @.str.5)
  %19586 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19587 = load i32, ptr %19586, align 4, !tbaa !5
  %19588 = call ptr @s2n_strerror_debug(i32 noundef %19587, ptr noundef @.str.5)
  %19589 = call ptr @__errno_location() #12
  %19590 = load i32, ptr %19589, align 4, !tbaa !5
  %19591 = call ptr @strerror(i32 noundef %19590) #11
  %19592 = call ptr @__errno_location() #12
  %19593 = load i32, ptr %19592, align 4, !tbaa !5
  %19594 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19581, ptr noundef @.str.6, i32 noundef %19582, ptr noundef @.str.123, ptr noundef @.str.2, i32 noundef 1003, ptr noundef %19585, ptr noundef %19588, ptr noundef %19591, i32 noundef %19593) #11
  br label %19595

19595:                                            ; preds = %19578, %19561
  call void @llvm.lifetime.end.p0(i64 4, ptr %627) #11
  br label %19596

19596:                                            ; preds = %19595
  br label %19597

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

19598:                                            ; No predecessors!
  br label %19599

19599:                                            ; preds = %19598
  br label %19600

19600:                                            ; preds = %19599, %19538
  br label %19601

19601:                                            ; preds = %19600
  br label %19602

19602:                                            ; preds = %19601
  %19603 = call i32 @s2n_ktls_io_stuffer_free(ptr noundef %619)
  %19604 = getelementptr inbounds %struct.s2n_result, ptr %628, i32 0, i32 0
  store i32 %19603, ptr %19604, align 4
  call void @llvm.lifetime.end.p0(i64 96, ptr %619) #11
  call void @llvm.lifetime.start.p0(i64 16, ptr %629) #11
  call void @llvm.memset.p0.i64(ptr align 8 %629, i8 0, i64 16, i1 false)
  br label %19605

19605:                                            ; preds = %19602
  %19606 = load i32, ptr @test_count, align 4, !tbaa !5
  %19607 = add nsw i32 %19606, 1
  store i32 %19607, ptr @test_count, align 4, !tbaa !5
  %19608 = load ptr, ptr %610, align 8, !tbaa !9
  %19609 = call i32 @s2n_ktls_set_sendmsg_cb(ptr noundef %19608, ptr noundef @s2n_test_ktls_sendmsg_fail, ptr noundef %629)
  %19610 = getelementptr inbounds %struct.s2n_result, ptr %630, i32 0, i32 0
  store i32 %19609, ptr %19610, align 4
  %19611 = getelementptr inbounds %struct.s2n_result, ptr %630, i32 0, i32 0
  %19612 = load i32, ptr %19611, align 4
  %19613 = call zeroext i1 @s2n_result_is_ok(i32 %19612)
  br i1 %19613, label %19667, label %19614

19614:                                            ; preds = %19605
  br label %19615

19615:                                            ; preds = %19614
  br label %19616

19616:                                            ; preds = %19615
  call void @llvm.lifetime.start.p0(i64 4, ptr %631) #11
  %19617 = call ptr @__errno_location() #12
  %19618 = load i32, ptr %19617, align 4, !tbaa !5
  store i32 %19618, ptr %631, align 4, !tbaa !5
  %19619 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19620 = call i32 @s2n_print_stacktrace(ptr noundef %19619)
  %19621 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19622 = trunc i8 %19621 to i1
  br i1 %19622, label %19623, label %19645

19623:                                            ; preds = %19616
  %19624 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19625 = call i32 @fileno(ptr noundef %19624) #11
  %19626 = call i32 @isatty(i32 noundef %19625) #11
  %19627 = icmp ne i32 %19626, 0
  br i1 %19627, label %19628, label %19645

19628:                                            ; preds = %19623
  %19629 = load i32, ptr %631, align 4, !tbaa !5
  %19630 = call ptr @__errno_location() #12
  store i32 %19629, ptr %19630, align 4, !tbaa !5
  %19631 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19632 = load i32, ptr @test_count, align 4, !tbaa !5
  %19633 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19634 = load i32, ptr %19633, align 4, !tbaa !5
  %19635 = call ptr @s2n_strerror(i32 noundef %19634, ptr noundef @.str.5)
  %19636 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19637 = load i32, ptr %19636, align 4, !tbaa !5
  %19638 = call ptr @s2n_strerror_debug(i32 noundef %19637, ptr noundef @.str.5)
  %19639 = call ptr @__errno_location() #12
  %19640 = load i32, ptr %19639, align 4, !tbaa !5
  %19641 = call ptr @strerror(i32 noundef %19640) #11
  %19642 = call ptr @__errno_location() #12
  %19643 = load i32, ptr %19642, align 4, !tbaa !5
  %19644 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19631, ptr noundef @.str.3, i32 noundef %19632, ptr noundef @.str.124, ptr noundef @.str.2, i32 noundef 1009, ptr noundef %19635, ptr noundef %19638, ptr noundef %19641, i32 noundef %19643) #11
  br label %19662

19645:                                            ; preds = %19623, %19616
  %19646 = load i32, ptr %631, align 4, !tbaa !5
  %19647 = call ptr @__errno_location() #12
  store i32 %19646, ptr %19647, align 4, !tbaa !5
  %19648 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19649 = load i32, ptr @test_count, align 4, !tbaa !5
  %19650 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19651 = load i32, ptr %19650, align 4, !tbaa !5
  %19652 = call ptr @s2n_strerror(i32 noundef %19651, ptr noundef @.str.5)
  %19653 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19654 = load i32, ptr %19653, align 4, !tbaa !5
  %19655 = call ptr @s2n_strerror_debug(i32 noundef %19654, ptr noundef @.str.5)
  %19656 = call ptr @__errno_location() #12
  %19657 = load i32, ptr %19656, align 4, !tbaa !5
  %19658 = call ptr @strerror(i32 noundef %19657) #11
  %19659 = call ptr @__errno_location() #12
  %19660 = load i32, ptr %19659, align 4, !tbaa !5
  %19661 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19648, ptr noundef @.str.6, i32 noundef %19649, ptr noundef @.str.124, ptr noundef @.str.2, i32 noundef 1009, ptr noundef %19652, ptr noundef %19655, ptr noundef %19658, i32 noundef %19660) #11
  br label %19662

19662:                                            ; preds = %19645, %19628
  call void @llvm.lifetime.end.p0(i64 4, ptr %631) #11
  br label %19663

19663:                                            ; preds = %19662
  br label %19664

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

19665:                                            ; No predecessors!
  br label %19666

19666:                                            ; preds = %19665
  br label %19667

19667:                                            ; preds = %19666, %19605
  br label %19668

19668:                                            ; preds = %19667
  br label %19669

19669:                                            ; preds = %19668
  %19670 = getelementptr inbounds %struct.s2n_test_ktls_io_fail_ctx, ptr %629, i32 0, i32 0
  store i64 1, ptr %19670, align 8, !tbaa !54
  br label %19671

19671:                                            ; preds = %19669
  br label %19672

19672:                                            ; preds = %19671
  br label %19673

19673:                                            ; preds = %19672
  %19674 = load i32, ptr @test_count, align 4, !tbaa !5
  %19675 = add nsw i32 %19674, 1
  store i32 %19675, ptr @test_count, align 4, !tbaa !5
  %19676 = getelementptr inbounds [16384 x i8], ptr %10, i64 0, i64 0
  %19677 = call i32 @s2n_ktls_send_cb(ptr noundef %629, ptr noundef %19676, i32 noundef 16384)
  %19678 = icmp eq i32 %19677, -1
  br i1 %19678, label %19732, label %19679

19679:                                            ; preds = %19673
  br label %19680

19680:                                            ; preds = %19679
  br label %19681

19681:                                            ; preds = %19680
  call void @llvm.lifetime.start.p0(i64 4, ptr %632) #11
  %19682 = call ptr @__errno_location() #12
  %19683 = load i32, ptr %19682, align 4, !tbaa !5
  store i32 %19683, ptr %632, align 4, !tbaa !5
  %19684 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19685 = call i32 @s2n_print_stacktrace(ptr noundef %19684)
  %19686 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19687 = trunc i8 %19686 to i1
  br i1 %19687, label %19688, label %19710

19688:                                            ; preds = %19681
  %19689 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19690 = call i32 @fileno(ptr noundef %19689) #11
  %19691 = call i32 @isatty(i32 noundef %19690) #11
  %19692 = icmp ne i32 %19691, 0
  br i1 %19692, label %19693, label %19710

19693:                                            ; preds = %19688
  %19694 = load i32, ptr %632, align 4, !tbaa !5
  %19695 = call ptr @__errno_location() #12
  store i32 %19694, ptr %19695, align 4, !tbaa !5
  %19696 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19697 = load i32, ptr @test_count, align 4, !tbaa !5
  %19698 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19699 = load i32, ptr %19698, align 4, !tbaa !5
  %19700 = call ptr @s2n_strerror(i32 noundef %19699, ptr noundef @.str.5)
  %19701 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19702 = load i32, ptr %19701, align 4, !tbaa !5
  %19703 = call ptr @s2n_strerror_debug(i32 noundef %19702, ptr noundef @.str.5)
  %19704 = call ptr @__errno_location() #12
  %19705 = load i32, ptr %19704, align 4, !tbaa !5
  %19706 = call ptr @strerror(i32 noundef %19705) #11
  %19707 = call ptr @__errno_location() #12
  %19708 = load i32, ptr %19707, align 4, !tbaa !5
  %19709 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19696, ptr noundef @.str.3, i32 noundef %19697, ptr noundef @.str.125, ptr noundef @.str.2, i32 noundef 1013, ptr noundef %19700, ptr noundef %19703, ptr noundef %19706, i32 noundef %19708) #11
  br label %19727

19710:                                            ; preds = %19688, %19681
  %19711 = load i32, ptr %632, align 4, !tbaa !5
  %19712 = call ptr @__errno_location() #12
  store i32 %19711, ptr %19712, align 4, !tbaa !5
  %19713 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19714 = load i32, ptr @test_count, align 4, !tbaa !5
  %19715 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19716 = load i32, ptr %19715, align 4, !tbaa !5
  %19717 = call ptr @s2n_strerror(i32 noundef %19716, ptr noundef @.str.5)
  %19718 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19719 = load i32, ptr %19718, align 4, !tbaa !5
  %19720 = call ptr @s2n_strerror_debug(i32 noundef %19719, ptr noundef @.str.5)
  %19721 = call ptr @__errno_location() #12
  %19722 = load i32, ptr %19721, align 4, !tbaa !5
  %19723 = call ptr @strerror(i32 noundef %19722) #11
  %19724 = call ptr @__errno_location() #12
  %19725 = load i32, ptr %19724, align 4, !tbaa !5
  %19726 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19713, ptr noundef @.str.6, i32 noundef %19714, ptr noundef @.str.125, ptr noundef @.str.2, i32 noundef 1013, ptr noundef %19717, ptr noundef %19720, ptr noundef %19723, i32 noundef %19725) #11
  br label %19727

19727:                                            ; preds = %19710, %19693
  call void @llvm.lifetime.end.p0(i64 4, ptr %632) #11
  br label %19728

19728:                                            ; preds = %19727
  br label %19729

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

19730:                                            ; No predecessors!
  br label %19731

19731:                                            ; preds = %19730
  br label %19732

19732:                                            ; preds = %19731, %19673
  br label %19733

19733:                                            ; preds = %19732
  br label %19734

19734:                                            ; preds = %19733
  br label %19735

19735:                                            ; preds = %19734
  %19736 = load i32, ptr @test_count, align 4, !tbaa !5
  %19737 = add nsw i32 %19736, 1
  store i32 %19737, ptr @test_count, align 4, !tbaa !5
  %19738 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19739 = load i32, ptr %19738, align 4, !tbaa !5
  %19740 = icmp eq i32 %19739, 67108864
  br i1 %19740, label %19794, label %19741

19741:                                            ; preds = %19735
  br label %19742

19742:                                            ; preds = %19741
  br label %19743

19743:                                            ; preds = %19742
  call void @llvm.lifetime.start.p0(i64 4, ptr %633) #11
  %19744 = call ptr @__errno_location() #12
  %19745 = load i32, ptr %19744, align 4, !tbaa !5
  store i32 %19745, ptr %633, align 4, !tbaa !5
  %19746 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19747 = call i32 @s2n_print_stacktrace(ptr noundef %19746)
  %19748 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19749 = trunc i8 %19748 to i1
  br i1 %19749, label %19750, label %19772

19750:                                            ; preds = %19743
  %19751 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19752 = call i32 @fileno(ptr noundef %19751) #11
  %19753 = call i32 @isatty(i32 noundef %19752) #11
  %19754 = icmp ne i32 %19753, 0
  br i1 %19754, label %19755, label %19772

19755:                                            ; preds = %19750
  %19756 = load i32, ptr %633, align 4, !tbaa !5
  %19757 = call ptr @__errno_location() #12
  store i32 %19756, ptr %19757, align 4, !tbaa !5
  %19758 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19759 = load i32, ptr @test_count, align 4, !tbaa !5
  %19760 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19761 = load i32, ptr %19760, align 4, !tbaa !5
  %19762 = call ptr @s2n_strerror(i32 noundef %19761, ptr noundef @.str.5)
  %19763 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19764 = load i32, ptr %19763, align 4, !tbaa !5
  %19765 = call ptr @s2n_strerror_debug(i32 noundef %19764, ptr noundef @.str.5)
  %19766 = call ptr @__errno_location() #12
  %19767 = load i32, ptr %19766, align 4, !tbaa !5
  %19768 = call ptr @strerror(i32 noundef %19767) #11
  %19769 = call ptr @__errno_location() #12
  %19770 = load i32, ptr %19769, align 4, !tbaa !5
  %19771 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19758, ptr noundef @.str.3, i32 noundef %19759, ptr noundef @.str.24, ptr noundef @.str.2, i32 noundef 1013, ptr noundef %19762, ptr noundef %19765, ptr noundef %19768, i32 noundef %19770) #11
  br label %19789

19772:                                            ; preds = %19750, %19743
  %19773 = load i32, ptr %633, align 4, !tbaa !5
  %19774 = call ptr @__errno_location() #12
  store i32 %19773, ptr %19774, align 4, !tbaa !5
  %19775 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19776 = load i32, ptr @test_count, align 4, !tbaa !5
  %19777 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19778 = load i32, ptr %19777, align 4, !tbaa !5
  %19779 = call ptr @s2n_strerror(i32 noundef %19778, ptr noundef @.str.5)
  %19780 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19781 = load i32, ptr %19780, align 4, !tbaa !5
  %19782 = call ptr @s2n_strerror_debug(i32 noundef %19781, ptr noundef @.str.5)
  %19783 = call ptr @__errno_location() #12
  %19784 = load i32, ptr %19783, align 4, !tbaa !5
  %19785 = call ptr @strerror(i32 noundef %19784) #11
  %19786 = call ptr @__errno_location() #12
  %19787 = load i32, ptr %19786, align 4, !tbaa !5
  %19788 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19775, ptr noundef @.str.6, i32 noundef %19776, ptr noundef @.str.24, ptr noundef @.str.2, i32 noundef 1013, ptr noundef %19779, ptr noundef %19782, ptr noundef %19785, i32 noundef %19787) #11
  br label %19789

19789:                                            ; preds = %19772, %19755
  call void @llvm.lifetime.end.p0(i64 4, ptr %633) #11
  br label %19790

19790:                                            ; preds = %19789
  br label %19791

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

19792:                                            ; No predecessors!
  br label %19793

19793:                                            ; preds = %19792
  br label %19794

19794:                                            ; preds = %19793, %19735
  br label %19795

19795:                                            ; preds = %19794
  br label %19796

19796:                                            ; preds = %19795
  br label %19797

19797:                                            ; preds = %19796
  %19798 = load i32, ptr @test_count, align 4, !tbaa !5
  %19799 = add nsw i32 %19798, 1
  store i32 %19799, ptr @test_count, align 4, !tbaa !5
  %19800 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19801 = load i32, ptr %19800, align 4, !tbaa !5
  %19802 = call ptr @s2n_strerror_debug(i32 noundef %19801, ptr noundef @.str.5)
  %19803 = icmp eq ptr %19802, null
  br i1 %19803, label %19804, label %19857

19804:                                            ; preds = %19797
  br label %19805

19805:                                            ; preds = %19804
  br label %19806

19806:                                            ; preds = %19805
  call void @llvm.lifetime.start.p0(i64 4, ptr %634) #11
  %19807 = call ptr @__errno_location() #12
  %19808 = load i32, ptr %19807, align 4, !tbaa !5
  store i32 %19808, ptr %634, align 4, !tbaa !5
  %19809 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19810 = call i32 @s2n_print_stacktrace(ptr noundef %19809)
  %19811 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19812 = trunc i8 %19811 to i1
  br i1 %19812, label %19813, label %19835

19813:                                            ; preds = %19806
  %19814 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19815 = call i32 @fileno(ptr noundef %19814) #11
  %19816 = call i32 @isatty(i32 noundef %19815) #11
  %19817 = icmp ne i32 %19816, 0
  br i1 %19817, label %19818, label %19835

19818:                                            ; preds = %19813
  %19819 = load i32, ptr %634, align 4, !tbaa !5
  %19820 = call ptr @__errno_location() #12
  store i32 %19819, ptr %19820, align 4, !tbaa !5
  %19821 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19822 = load i32, ptr @test_count, align 4, !tbaa !5
  %19823 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19824 = load i32, ptr %19823, align 4, !tbaa !5
  %19825 = call ptr @s2n_strerror(i32 noundef %19824, ptr noundef @.str.5)
  %19826 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19827 = load i32, ptr %19826, align 4, !tbaa !5
  %19828 = call ptr @s2n_strerror_debug(i32 noundef %19827, ptr noundef @.str.5)
  %19829 = call ptr @__errno_location() #12
  %19830 = load i32, ptr %19829, align 4, !tbaa !5
  %19831 = call ptr @strerror(i32 noundef %19830) #11
  %19832 = call ptr @__errno_location() #12
  %19833 = load i32, ptr %19832, align 4, !tbaa !5
  %19834 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19821, ptr noundef @.str.3, i32 noundef %19822, ptr noundef @.str.13, ptr noundef @.str.2, i32 noundef 1013, ptr noundef %19825, ptr noundef %19828, ptr noundef %19831, i32 noundef %19833) #11
  br label %19852

19835:                                            ; preds = %19813, %19806
  %19836 = load i32, ptr %634, align 4, !tbaa !5
  %19837 = call ptr @__errno_location() #12
  store i32 %19836, ptr %19837, align 4, !tbaa !5
  %19838 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19839 = load i32, ptr @test_count, align 4, !tbaa !5
  %19840 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19841 = load i32, ptr %19840, align 4, !tbaa !5
  %19842 = call ptr @s2n_strerror(i32 noundef %19841, ptr noundef @.str.5)
  %19843 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19844 = load i32, ptr %19843, align 4, !tbaa !5
  %19845 = call ptr @s2n_strerror_debug(i32 noundef %19844, ptr noundef @.str.5)
  %19846 = call ptr @__errno_location() #12
  %19847 = load i32, ptr %19846, align 4, !tbaa !5
  %19848 = call ptr @strerror(i32 noundef %19847) #11
  %19849 = call ptr @__errno_location() #12
  %19850 = load i32, ptr %19849, align 4, !tbaa !5
  %19851 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19838, ptr noundef @.str.6, i32 noundef %19839, ptr noundef @.str.13, ptr noundef @.str.2, i32 noundef 1013, ptr noundef %19842, ptr noundef %19845, ptr noundef %19848, i32 noundef %19850) #11
  br label %19852

19852:                                            ; preds = %19835, %19818
  call void @llvm.lifetime.end.p0(i64 4, ptr %634) #11
  br label %19853

19853:                                            ; preds = %19852
  br label %19854

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

19855:                                            ; No predecessors!
  br label %19856

19856:                                            ; preds = %19855
  br label %19857

19857:                                            ; preds = %19856, %19797
  br label %19858

19858:                                            ; preds = %19857
  br label %19859

19859:                                            ; preds = %19858
  br label %19860

19860:                                            ; preds = %19859
  br label %19861

19861:                                            ; preds = %19860
  br label %19862

19862:                                            ; preds = %19861
  %19863 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %19863, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %19864 = call ptr @__errno_location() #12
  store i32 0, ptr %19864, align 4, !tbaa !5
  br label %19865

19865:                                            ; preds = %19862
  br label %19866

19866:                                            ; preds = %19865
  br label %19867

19867:                                            ; preds = %19866
  br label %19868

19868:                                            ; preds = %19867
  %19869 = getelementptr inbounds %struct.s2n_test_ktls_io_fail_ctx, ptr %629, i32 0, i32 0
  store i64 22, ptr %19869, align 8, !tbaa !54
  br label %19870

19870:                                            ; preds = %19868
  br label %19871

19871:                                            ; preds = %19870
  br label %19872

19872:                                            ; preds = %19871
  %19873 = load i32, ptr @test_count, align 4, !tbaa !5
  %19874 = add nsw i32 %19873, 1
  store i32 %19874, ptr @test_count, align 4, !tbaa !5
  %19875 = getelementptr inbounds [16384 x i8], ptr %10, i64 0, i64 0
  %19876 = call i32 @s2n_ktls_send_cb(ptr noundef %629, ptr noundef %19875, i32 noundef 16384)
  %19877 = icmp eq i32 %19876, -1
  br i1 %19877, label %19931, label %19878

19878:                                            ; preds = %19872
  br label %19879

19879:                                            ; preds = %19878
  br label %19880

19880:                                            ; preds = %19879
  call void @llvm.lifetime.start.p0(i64 4, ptr %635) #11
  %19881 = call ptr @__errno_location() #12
  %19882 = load i32, ptr %19881, align 4, !tbaa !5
  store i32 %19882, ptr %635, align 4, !tbaa !5
  %19883 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19884 = call i32 @s2n_print_stacktrace(ptr noundef %19883)
  %19885 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19886 = trunc i8 %19885 to i1
  br i1 %19886, label %19887, label %19909

19887:                                            ; preds = %19880
  %19888 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19889 = call i32 @fileno(ptr noundef %19888) #11
  %19890 = call i32 @isatty(i32 noundef %19889) #11
  %19891 = icmp ne i32 %19890, 0
  br i1 %19891, label %19892, label %19909

19892:                                            ; preds = %19887
  %19893 = load i32, ptr %635, align 4, !tbaa !5
  %19894 = call ptr @__errno_location() #12
  store i32 %19893, ptr %19894, align 4, !tbaa !5
  %19895 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19896 = load i32, ptr @test_count, align 4, !tbaa !5
  %19897 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19898 = load i32, ptr %19897, align 4, !tbaa !5
  %19899 = call ptr @s2n_strerror(i32 noundef %19898, ptr noundef @.str.5)
  %19900 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19901 = load i32, ptr %19900, align 4, !tbaa !5
  %19902 = call ptr @s2n_strerror_debug(i32 noundef %19901, ptr noundef @.str.5)
  %19903 = call ptr @__errno_location() #12
  %19904 = load i32, ptr %19903, align 4, !tbaa !5
  %19905 = call ptr @strerror(i32 noundef %19904) #11
  %19906 = call ptr @__errno_location() #12
  %19907 = load i32, ptr %19906, align 4, !tbaa !5
  %19908 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19895, ptr noundef @.str.3, i32 noundef %19896, ptr noundef @.str.125, ptr noundef @.str.2, i32 noundef 1017, ptr noundef %19899, ptr noundef %19902, ptr noundef %19905, i32 noundef %19907) #11
  br label %19926

19909:                                            ; preds = %19887, %19880
  %19910 = load i32, ptr %635, align 4, !tbaa !5
  %19911 = call ptr @__errno_location() #12
  store i32 %19910, ptr %19911, align 4, !tbaa !5
  %19912 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19913 = load i32, ptr @test_count, align 4, !tbaa !5
  %19914 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19915 = load i32, ptr %19914, align 4, !tbaa !5
  %19916 = call ptr @s2n_strerror(i32 noundef %19915, ptr noundef @.str.5)
  %19917 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19918 = load i32, ptr %19917, align 4, !tbaa !5
  %19919 = call ptr @s2n_strerror_debug(i32 noundef %19918, ptr noundef @.str.5)
  %19920 = call ptr @__errno_location() #12
  %19921 = load i32, ptr %19920, align 4, !tbaa !5
  %19922 = call ptr @strerror(i32 noundef %19921) #11
  %19923 = call ptr @__errno_location() #12
  %19924 = load i32, ptr %19923, align 4, !tbaa !5
  %19925 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19912, ptr noundef @.str.6, i32 noundef %19913, ptr noundef @.str.125, ptr noundef @.str.2, i32 noundef 1017, ptr noundef %19916, ptr noundef %19919, ptr noundef %19922, i32 noundef %19924) #11
  br label %19926

19926:                                            ; preds = %19909, %19892
  call void @llvm.lifetime.end.p0(i64 4, ptr %635) #11
  br label %19927

19927:                                            ; preds = %19926
  br label %19928

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

19929:                                            ; No predecessors!
  br label %19930

19930:                                            ; preds = %19929
  br label %19931

19931:                                            ; preds = %19930, %19872
  br label %19932

19932:                                            ; preds = %19931
  br label %19933

19933:                                            ; preds = %19932
  br label %19934

19934:                                            ; preds = %19933
  %19935 = load i32, ptr @test_count, align 4, !tbaa !5
  %19936 = add nsw i32 %19935, 1
  store i32 %19936, ptr @test_count, align 4, !tbaa !5
  %19937 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19938 = load i32, ptr %19937, align 4, !tbaa !5
  %19939 = icmp eq i32 %19938, 67108864
  br i1 %19939, label %19993, label %19940

19940:                                            ; preds = %19934
  br label %19941

19941:                                            ; preds = %19940
  br label %19942

19942:                                            ; preds = %19941
  call void @llvm.lifetime.start.p0(i64 4, ptr %636) #11
  %19943 = call ptr @__errno_location() #12
  %19944 = load i32, ptr %19943, align 4, !tbaa !5
  store i32 %19944, ptr %636, align 4, !tbaa !5
  %19945 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19946 = call i32 @s2n_print_stacktrace(ptr noundef %19945)
  %19947 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19948 = trunc i8 %19947 to i1
  br i1 %19948, label %19949, label %19971

19949:                                            ; preds = %19942
  %19950 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19951 = call i32 @fileno(ptr noundef %19950) #11
  %19952 = call i32 @isatty(i32 noundef %19951) #11
  %19953 = icmp ne i32 %19952, 0
  br i1 %19953, label %19954, label %19971

19954:                                            ; preds = %19949
  %19955 = load i32, ptr %636, align 4, !tbaa !5
  %19956 = call ptr @__errno_location() #12
  store i32 %19955, ptr %19956, align 4, !tbaa !5
  %19957 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19958 = load i32, ptr @test_count, align 4, !tbaa !5
  %19959 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19960 = load i32, ptr %19959, align 4, !tbaa !5
  %19961 = call ptr @s2n_strerror(i32 noundef %19960, ptr noundef @.str.5)
  %19962 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19963 = load i32, ptr %19962, align 4, !tbaa !5
  %19964 = call ptr @s2n_strerror_debug(i32 noundef %19963, ptr noundef @.str.5)
  %19965 = call ptr @__errno_location() #12
  %19966 = load i32, ptr %19965, align 4, !tbaa !5
  %19967 = call ptr @strerror(i32 noundef %19966) #11
  %19968 = call ptr @__errno_location() #12
  %19969 = load i32, ptr %19968, align 4, !tbaa !5
  %19970 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19957, ptr noundef @.str.3, i32 noundef %19958, ptr noundef @.str.24, ptr noundef @.str.2, i32 noundef 1017, ptr noundef %19961, ptr noundef %19964, ptr noundef %19967, i32 noundef %19969) #11
  br label %19988

19971:                                            ; preds = %19949, %19942
  %19972 = load i32, ptr %636, align 4, !tbaa !5
  %19973 = call ptr @__errno_location() #12
  store i32 %19972, ptr %19973, align 4, !tbaa !5
  %19974 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19975 = load i32, ptr @test_count, align 4, !tbaa !5
  %19976 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19977 = load i32, ptr %19976, align 4, !tbaa !5
  %19978 = call ptr @s2n_strerror(i32 noundef %19977, ptr noundef @.str.5)
  %19979 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19980 = load i32, ptr %19979, align 4, !tbaa !5
  %19981 = call ptr @s2n_strerror_debug(i32 noundef %19980, ptr noundef @.str.5)
  %19982 = call ptr @__errno_location() #12
  %19983 = load i32, ptr %19982, align 4, !tbaa !5
  %19984 = call ptr @strerror(i32 noundef %19983) #11
  %19985 = call ptr @__errno_location() #12
  %19986 = load i32, ptr %19985, align 4, !tbaa !5
  %19987 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19974, ptr noundef @.str.6, i32 noundef %19975, ptr noundef @.str.24, ptr noundef @.str.2, i32 noundef 1017, ptr noundef %19978, ptr noundef %19981, ptr noundef %19984, i32 noundef %19986) #11
  br label %19988

19988:                                            ; preds = %19971, %19954
  call void @llvm.lifetime.end.p0(i64 4, ptr %636) #11
  br label %19989

19989:                                            ; preds = %19988
  br label %19990

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

19991:                                            ; No predecessors!
  br label %19992

19992:                                            ; preds = %19991
  br label %19993

19993:                                            ; preds = %19992, %19934
  br label %19994

19994:                                            ; preds = %19993
  br label %19995

19995:                                            ; preds = %19994
  br label %19996

19996:                                            ; preds = %19995
  %19997 = load i32, ptr @test_count, align 4, !tbaa !5
  %19998 = add nsw i32 %19997, 1
  store i32 %19998, ptr @test_count, align 4, !tbaa !5
  %19999 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20000 = load i32, ptr %19999, align 4, !tbaa !5
  %20001 = call ptr @s2n_strerror_debug(i32 noundef %20000, ptr noundef @.str.5)
  %20002 = icmp eq ptr %20001, null
  br i1 %20002, label %20003, label %20056

20003:                                            ; preds = %19996
  br label %20004

20004:                                            ; preds = %20003
  br label %20005

20005:                                            ; preds = %20004
  call void @llvm.lifetime.start.p0(i64 4, ptr %637) #11
  %20006 = call ptr @__errno_location() #12
  %20007 = load i32, ptr %20006, align 4, !tbaa !5
  store i32 %20007, ptr %637, align 4, !tbaa !5
  %20008 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20009 = call i32 @s2n_print_stacktrace(ptr noundef %20008)
  %20010 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20011 = trunc i8 %20010 to i1
  br i1 %20011, label %20012, label %20034

20012:                                            ; preds = %20005
  %20013 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20014 = call i32 @fileno(ptr noundef %20013) #11
  %20015 = call i32 @isatty(i32 noundef %20014) #11
  %20016 = icmp ne i32 %20015, 0
  br i1 %20016, label %20017, label %20034

20017:                                            ; preds = %20012
  %20018 = load i32, ptr %637, align 4, !tbaa !5
  %20019 = call ptr @__errno_location() #12
  store i32 %20018, ptr %20019, align 4, !tbaa !5
  %20020 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20021 = load i32, ptr @test_count, align 4, !tbaa !5
  %20022 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20023 = load i32, ptr %20022, align 4, !tbaa !5
  %20024 = call ptr @s2n_strerror(i32 noundef %20023, ptr noundef @.str.5)
  %20025 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20026 = load i32, ptr %20025, align 4, !tbaa !5
  %20027 = call ptr @s2n_strerror_debug(i32 noundef %20026, ptr noundef @.str.5)
  %20028 = call ptr @__errno_location() #12
  %20029 = load i32, ptr %20028, align 4, !tbaa !5
  %20030 = call ptr @strerror(i32 noundef %20029) #11
  %20031 = call ptr @__errno_location() #12
  %20032 = load i32, ptr %20031, align 4, !tbaa !5
  %20033 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20020, ptr noundef @.str.3, i32 noundef %20021, ptr noundef @.str.13, ptr noundef @.str.2, i32 noundef 1017, ptr noundef %20024, ptr noundef %20027, ptr noundef %20030, i32 noundef %20032) #11
  br label %20051

20034:                                            ; preds = %20012, %20005
  %20035 = load i32, ptr %637, align 4, !tbaa !5
  %20036 = call ptr @__errno_location() #12
  store i32 %20035, ptr %20036, align 4, !tbaa !5
  %20037 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20038 = load i32, ptr @test_count, align 4, !tbaa !5
  %20039 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20040 = load i32, ptr %20039, align 4, !tbaa !5
  %20041 = call ptr @s2n_strerror(i32 noundef %20040, ptr noundef @.str.5)
  %20042 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20043 = load i32, ptr %20042, align 4, !tbaa !5
  %20044 = call ptr @s2n_strerror_debug(i32 noundef %20043, ptr noundef @.str.5)
  %20045 = call ptr @__errno_location() #12
  %20046 = load i32, ptr %20045, align 4, !tbaa !5
  %20047 = call ptr @strerror(i32 noundef %20046) #11
  %20048 = call ptr @__errno_location() #12
  %20049 = load i32, ptr %20048, align 4, !tbaa !5
  %20050 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20037, ptr noundef @.str.6, i32 noundef %20038, ptr noundef @.str.13, ptr noundef @.str.2, i32 noundef 1017, ptr noundef %20041, ptr noundef %20044, ptr noundef %20047, i32 noundef %20049) #11
  br label %20051

20051:                                            ; preds = %20034, %20017
  call void @llvm.lifetime.end.p0(i64 4, ptr %637) #11
  br label %20052

20052:                                            ; preds = %20051
  br label %20053

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

20054:                                            ; No predecessors!
  br label %20055

20055:                                            ; preds = %20054
  br label %20056

20056:                                            ; preds = %20055, %19996
  br label %20057

20057:                                            ; preds = %20056
  br label %20058

20058:                                            ; preds = %20057
  br label %20059

20059:                                            ; preds = %20058
  br label %20060

20060:                                            ; preds = %20059
  br label %20061

20061:                                            ; preds = %20060
  %20062 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %20062, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %20063 = call ptr @__errno_location() #12
  store i32 0, ptr %20063, align 4, !tbaa !5
  br label %20064

20064:                                            ; preds = %20061
  br label %20065

20065:                                            ; preds = %20064
  br label %20066

20066:                                            ; preds = %20065
  br label %20067

20067:                                            ; preds = %20066
  %20068 = getelementptr inbounds %struct.s2n_test_ktls_io_fail_ctx, ptr %629, i32 0, i32 0
  store i64 11, ptr %20068, align 8, !tbaa !54
  br label %20069

20069:                                            ; preds = %20067
  br label %20070

20070:                                            ; preds = %20069
  br label %20071

20071:                                            ; preds = %20070
  %20072 = load i32, ptr @test_count, align 4, !tbaa !5
  %20073 = add nsw i32 %20072, 1
  store i32 %20073, ptr @test_count, align 4, !tbaa !5
  %20074 = getelementptr inbounds [16384 x i8], ptr %10, i64 0, i64 0
  %20075 = call i32 @s2n_ktls_send_cb(ptr noundef %629, ptr noundef %20074, i32 noundef 16384)
  %20076 = icmp eq i32 %20075, -1
  br i1 %20076, label %20130, label %20077

20077:                                            ; preds = %20071
  br label %20078

20078:                                            ; preds = %20077
  br label %20079

20079:                                            ; preds = %20078
  call void @llvm.lifetime.start.p0(i64 4, ptr %638) #11
  %20080 = call ptr @__errno_location() #12
  %20081 = load i32, ptr %20080, align 4, !tbaa !5
  store i32 %20081, ptr %638, align 4, !tbaa !5
  %20082 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20083 = call i32 @s2n_print_stacktrace(ptr noundef %20082)
  %20084 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20085 = trunc i8 %20084 to i1
  br i1 %20085, label %20086, label %20108

20086:                                            ; preds = %20079
  %20087 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20088 = call i32 @fileno(ptr noundef %20087) #11
  %20089 = call i32 @isatty(i32 noundef %20088) #11
  %20090 = icmp ne i32 %20089, 0
  br i1 %20090, label %20091, label %20108

20091:                                            ; preds = %20086
  %20092 = load i32, ptr %638, align 4, !tbaa !5
  %20093 = call ptr @__errno_location() #12
  store i32 %20092, ptr %20093, align 4, !tbaa !5
  %20094 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20095 = load i32, ptr @test_count, align 4, !tbaa !5
  %20096 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20097 = load i32, ptr %20096, align 4, !tbaa !5
  %20098 = call ptr @s2n_strerror(i32 noundef %20097, ptr noundef @.str.5)
  %20099 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20100 = load i32, ptr %20099, align 4, !tbaa !5
  %20101 = call ptr @s2n_strerror_debug(i32 noundef %20100, ptr noundef @.str.5)
  %20102 = call ptr @__errno_location() #12
  %20103 = load i32, ptr %20102, align 4, !tbaa !5
  %20104 = call ptr @strerror(i32 noundef %20103) #11
  %20105 = call ptr @__errno_location() #12
  %20106 = load i32, ptr %20105, align 4, !tbaa !5
  %20107 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20094, ptr noundef @.str.3, i32 noundef %20095, ptr noundef @.str.125, ptr noundef @.str.2, i32 noundef 1021, ptr noundef %20098, ptr noundef %20101, ptr noundef %20104, i32 noundef %20106) #11
  br label %20125

20108:                                            ; preds = %20086, %20079
  %20109 = load i32, ptr %638, align 4, !tbaa !5
  %20110 = call ptr @__errno_location() #12
  store i32 %20109, ptr %20110, align 4, !tbaa !5
  %20111 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20112 = load i32, ptr @test_count, align 4, !tbaa !5
  %20113 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20114 = load i32, ptr %20113, align 4, !tbaa !5
  %20115 = call ptr @s2n_strerror(i32 noundef %20114, ptr noundef @.str.5)
  %20116 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20117 = load i32, ptr %20116, align 4, !tbaa !5
  %20118 = call ptr @s2n_strerror_debug(i32 noundef %20117, ptr noundef @.str.5)
  %20119 = call ptr @__errno_location() #12
  %20120 = load i32, ptr %20119, align 4, !tbaa !5
  %20121 = call ptr @strerror(i32 noundef %20120) #11
  %20122 = call ptr @__errno_location() #12
  %20123 = load i32, ptr %20122, align 4, !tbaa !5
  %20124 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20111, ptr noundef @.str.6, i32 noundef %20112, ptr noundef @.str.125, ptr noundef @.str.2, i32 noundef 1021, ptr noundef %20115, ptr noundef %20118, ptr noundef %20121, i32 noundef %20123) #11
  br label %20125

20125:                                            ; preds = %20108, %20091
  call void @llvm.lifetime.end.p0(i64 4, ptr %638) #11
  br label %20126

20126:                                            ; preds = %20125
  br label %20127

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

20128:                                            ; No predecessors!
  br label %20129

20129:                                            ; preds = %20128
  br label %20130

20130:                                            ; preds = %20129, %20071
  br label %20131

20131:                                            ; preds = %20130
  br label %20132

20132:                                            ; preds = %20131
  br label %20133

20133:                                            ; preds = %20132
  %20134 = load i32, ptr @test_count, align 4, !tbaa !5
  %20135 = add nsw i32 %20134, 1
  store i32 %20135, ptr @test_count, align 4, !tbaa !5
  %20136 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20137 = load i32, ptr %20136, align 4, !tbaa !5
  %20138 = icmp eq i32 %20137, 201326592
  br i1 %20138, label %20192, label %20139

20139:                                            ; preds = %20133
  br label %20140

20140:                                            ; preds = %20139
  br label %20141

20141:                                            ; preds = %20140
  call void @llvm.lifetime.start.p0(i64 4, ptr %639) #11
  %20142 = call ptr @__errno_location() #12
  %20143 = load i32, ptr %20142, align 4, !tbaa !5
  store i32 %20143, ptr %639, align 4, !tbaa !5
  %20144 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20145 = call i32 @s2n_print_stacktrace(ptr noundef %20144)
  %20146 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20147 = trunc i8 %20146 to i1
  br i1 %20147, label %20148, label %20170

20148:                                            ; preds = %20141
  %20149 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20150 = call i32 @fileno(ptr noundef %20149) #11
  %20151 = call i32 @isatty(i32 noundef %20150) #11
  %20152 = icmp ne i32 %20151, 0
  br i1 %20152, label %20153, label %20170

20153:                                            ; preds = %20148
  %20154 = load i32, ptr %639, align 4, !tbaa !5
  %20155 = call ptr @__errno_location() #12
  store i32 %20154, ptr %20155, align 4, !tbaa !5
  %20156 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20157 = load i32, ptr @test_count, align 4, !tbaa !5
  %20158 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20159 = load i32, ptr %20158, align 4, !tbaa !5
  %20160 = call ptr @s2n_strerror(i32 noundef %20159, ptr noundef @.str.5)
  %20161 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20162 = load i32, ptr %20161, align 4, !tbaa !5
  %20163 = call ptr @s2n_strerror_debug(i32 noundef %20162, ptr noundef @.str.5)
  %20164 = call ptr @__errno_location() #12
  %20165 = load i32, ptr %20164, align 4, !tbaa !5
  %20166 = call ptr @strerror(i32 noundef %20165) #11
  %20167 = call ptr @__errno_location() #12
  %20168 = load i32, ptr %20167, align 4, !tbaa !5
  %20169 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20156, ptr noundef @.str.3, i32 noundef %20157, ptr noundef @.str.41, ptr noundef @.str.2, i32 noundef 1021, ptr noundef %20160, ptr noundef %20163, ptr noundef %20166, i32 noundef %20168) #11
  br label %20187

20170:                                            ; preds = %20148, %20141
  %20171 = load i32, ptr %639, align 4, !tbaa !5
  %20172 = call ptr @__errno_location() #12
  store i32 %20171, ptr %20172, align 4, !tbaa !5
  %20173 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20174 = load i32, ptr @test_count, align 4, !tbaa !5
  %20175 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20176 = load i32, ptr %20175, align 4, !tbaa !5
  %20177 = call ptr @s2n_strerror(i32 noundef %20176, ptr noundef @.str.5)
  %20178 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20179 = load i32, ptr %20178, align 4, !tbaa !5
  %20180 = call ptr @s2n_strerror_debug(i32 noundef %20179, ptr noundef @.str.5)
  %20181 = call ptr @__errno_location() #12
  %20182 = load i32, ptr %20181, align 4, !tbaa !5
  %20183 = call ptr @strerror(i32 noundef %20182) #11
  %20184 = call ptr @__errno_location() #12
  %20185 = load i32, ptr %20184, align 4, !tbaa !5
  %20186 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20173, ptr noundef @.str.6, i32 noundef %20174, ptr noundef @.str.41, ptr noundef @.str.2, i32 noundef 1021, ptr noundef %20177, ptr noundef %20180, ptr noundef %20183, i32 noundef %20185) #11
  br label %20187

20187:                                            ; preds = %20170, %20153
  call void @llvm.lifetime.end.p0(i64 4, ptr %639) #11
  br label %20188

20188:                                            ; preds = %20187
  br label %20189

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

20190:                                            ; No predecessors!
  br label %20191

20191:                                            ; preds = %20190
  br label %20192

20192:                                            ; preds = %20191, %20133
  br label %20193

20193:                                            ; preds = %20192
  br label %20194

20194:                                            ; preds = %20193
  br label %20195

20195:                                            ; preds = %20194
  %20196 = load i32, ptr @test_count, align 4, !tbaa !5
  %20197 = add nsw i32 %20196, 1
  store i32 %20197, ptr @test_count, align 4, !tbaa !5
  %20198 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20199 = load i32, ptr %20198, align 4, !tbaa !5
  %20200 = call ptr @s2n_strerror_debug(i32 noundef %20199, ptr noundef @.str.5)
  %20201 = icmp eq ptr %20200, null
  br i1 %20201, label %20202, label %20255

20202:                                            ; preds = %20195
  br label %20203

20203:                                            ; preds = %20202
  br label %20204

20204:                                            ; preds = %20203
  call void @llvm.lifetime.start.p0(i64 4, ptr %640) #11
  %20205 = call ptr @__errno_location() #12
  %20206 = load i32, ptr %20205, align 4, !tbaa !5
  store i32 %20206, ptr %640, align 4, !tbaa !5
  %20207 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20208 = call i32 @s2n_print_stacktrace(ptr noundef %20207)
  %20209 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20210 = trunc i8 %20209 to i1
  br i1 %20210, label %20211, label %20233

20211:                                            ; preds = %20204
  %20212 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20213 = call i32 @fileno(ptr noundef %20212) #11
  %20214 = call i32 @isatty(i32 noundef %20213) #11
  %20215 = icmp ne i32 %20214, 0
  br i1 %20215, label %20216, label %20233

20216:                                            ; preds = %20211
  %20217 = load i32, ptr %640, align 4, !tbaa !5
  %20218 = call ptr @__errno_location() #12
  store i32 %20217, ptr %20218, align 4, !tbaa !5
  %20219 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20220 = load i32, ptr @test_count, align 4, !tbaa !5
  %20221 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20222 = load i32, ptr %20221, align 4, !tbaa !5
  %20223 = call ptr @s2n_strerror(i32 noundef %20222, ptr noundef @.str.5)
  %20224 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20225 = load i32, ptr %20224, align 4, !tbaa !5
  %20226 = call ptr @s2n_strerror_debug(i32 noundef %20225, ptr noundef @.str.5)
  %20227 = call ptr @__errno_location() #12
  %20228 = load i32, ptr %20227, align 4, !tbaa !5
  %20229 = call ptr @strerror(i32 noundef %20228) #11
  %20230 = call ptr @__errno_location() #12
  %20231 = load i32, ptr %20230, align 4, !tbaa !5
  %20232 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20219, ptr noundef @.str.3, i32 noundef %20220, ptr noundef @.str.13, ptr noundef @.str.2, i32 noundef 1021, ptr noundef %20223, ptr noundef %20226, ptr noundef %20229, i32 noundef %20231) #11
  br label %20250

20233:                                            ; preds = %20211, %20204
  %20234 = load i32, ptr %640, align 4, !tbaa !5
  %20235 = call ptr @__errno_location() #12
  store i32 %20234, ptr %20235, align 4, !tbaa !5
  %20236 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20237 = load i32, ptr @test_count, align 4, !tbaa !5
  %20238 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20239 = load i32, ptr %20238, align 4, !tbaa !5
  %20240 = call ptr @s2n_strerror(i32 noundef %20239, ptr noundef @.str.5)
  %20241 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20242 = load i32, ptr %20241, align 4, !tbaa !5
  %20243 = call ptr @s2n_strerror_debug(i32 noundef %20242, ptr noundef @.str.5)
  %20244 = call ptr @__errno_location() #12
  %20245 = load i32, ptr %20244, align 4, !tbaa !5
  %20246 = call ptr @strerror(i32 noundef %20245) #11
  %20247 = call ptr @__errno_location() #12
  %20248 = load i32, ptr %20247, align 4, !tbaa !5
  %20249 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20236, ptr noundef @.str.6, i32 noundef %20237, ptr noundef @.str.13, ptr noundef @.str.2, i32 noundef 1021, ptr noundef %20240, ptr noundef %20243, ptr noundef %20246, i32 noundef %20248) #11
  br label %20250

20250:                                            ; preds = %20233, %20216
  call void @llvm.lifetime.end.p0(i64 4, ptr %640) #11
  br label %20251

20251:                                            ; preds = %20250
  br label %20252

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

20253:                                            ; No predecessors!
  br label %20254

20254:                                            ; preds = %20253
  br label %20255

20255:                                            ; preds = %20254, %20195
  br label %20256

20256:                                            ; preds = %20255
  br label %20257

20257:                                            ; preds = %20256
  br label %20258

20258:                                            ; preds = %20257
  br label %20259

20259:                                            ; preds = %20258
  br label %20260

20260:                                            ; preds = %20259
  %20261 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %20261, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %20262 = call ptr @__errno_location() #12
  store i32 0, ptr %20262, align 4, !tbaa !5
  br label %20263

20263:                                            ; preds = %20260
  br label %20264

20264:                                            ; preds = %20263
  br label %20265

20265:                                            ; preds = %20264
  br label %20266

20266:                                            ; preds = %20265
  %20267 = getelementptr inbounds %struct.s2n_test_ktls_io_fail_ctx, ptr %629, i32 0, i32 0
  store i64 11, ptr %20267, align 8, !tbaa !54
  br label %20268

20268:                                            ; preds = %20266
  br label %20269

20269:                                            ; preds = %20268
  br label %20270

20270:                                            ; preds = %20269
  %20271 = load i32, ptr @test_count, align 4, !tbaa !5
  %20272 = add nsw i32 %20271, 1
  store i32 %20272, ptr @test_count, align 4, !tbaa !5
  %20273 = getelementptr inbounds [16384 x i8], ptr %10, i64 0, i64 0
  %20274 = call i32 @s2n_ktls_send_cb(ptr noundef %629, ptr noundef %20273, i32 noundef 16384)
  %20275 = icmp eq i32 %20274, -1
  br i1 %20275, label %20329, label %20276

20276:                                            ; preds = %20270
  br label %20277

20277:                                            ; preds = %20276
  br label %20278

20278:                                            ; preds = %20277
  call void @llvm.lifetime.start.p0(i64 4, ptr %641) #11
  %20279 = call ptr @__errno_location() #12
  %20280 = load i32, ptr %20279, align 4, !tbaa !5
  store i32 %20280, ptr %641, align 4, !tbaa !5
  %20281 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20282 = call i32 @s2n_print_stacktrace(ptr noundef %20281)
  %20283 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20284 = trunc i8 %20283 to i1
  br i1 %20284, label %20285, label %20307

20285:                                            ; preds = %20278
  %20286 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20287 = call i32 @fileno(ptr noundef %20286) #11
  %20288 = call i32 @isatty(i32 noundef %20287) #11
  %20289 = icmp ne i32 %20288, 0
  br i1 %20289, label %20290, label %20307

20290:                                            ; preds = %20285
  %20291 = load i32, ptr %641, align 4, !tbaa !5
  %20292 = call ptr @__errno_location() #12
  store i32 %20291, ptr %20292, align 4, !tbaa !5
  %20293 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20294 = load i32, ptr @test_count, align 4, !tbaa !5
  %20295 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20296 = load i32, ptr %20295, align 4, !tbaa !5
  %20297 = call ptr @s2n_strerror(i32 noundef %20296, ptr noundef @.str.5)
  %20298 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20299 = load i32, ptr %20298, align 4, !tbaa !5
  %20300 = call ptr @s2n_strerror_debug(i32 noundef %20299, ptr noundef @.str.5)
  %20301 = call ptr @__errno_location() #12
  %20302 = load i32, ptr %20301, align 4, !tbaa !5
  %20303 = call ptr @strerror(i32 noundef %20302) #11
  %20304 = call ptr @__errno_location() #12
  %20305 = load i32, ptr %20304, align 4, !tbaa !5
  %20306 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20293, ptr noundef @.str.3, i32 noundef %20294, ptr noundef @.str.125, ptr noundef @.str.2, i32 noundef 1025, ptr noundef %20297, ptr noundef %20300, ptr noundef %20303, i32 noundef %20305) #11
  br label %20324

20307:                                            ; preds = %20285, %20278
  %20308 = load i32, ptr %641, align 4, !tbaa !5
  %20309 = call ptr @__errno_location() #12
  store i32 %20308, ptr %20309, align 4, !tbaa !5
  %20310 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20311 = load i32, ptr @test_count, align 4, !tbaa !5
  %20312 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20313 = load i32, ptr %20312, align 4, !tbaa !5
  %20314 = call ptr @s2n_strerror(i32 noundef %20313, ptr noundef @.str.5)
  %20315 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20316 = load i32, ptr %20315, align 4, !tbaa !5
  %20317 = call ptr @s2n_strerror_debug(i32 noundef %20316, ptr noundef @.str.5)
  %20318 = call ptr @__errno_location() #12
  %20319 = load i32, ptr %20318, align 4, !tbaa !5
  %20320 = call ptr @strerror(i32 noundef %20319) #11
  %20321 = call ptr @__errno_location() #12
  %20322 = load i32, ptr %20321, align 4, !tbaa !5
  %20323 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20310, ptr noundef @.str.6, i32 noundef %20311, ptr noundef @.str.125, ptr noundef @.str.2, i32 noundef 1025, ptr noundef %20314, ptr noundef %20317, ptr noundef %20320, i32 noundef %20322) #11
  br label %20324

20324:                                            ; preds = %20307, %20290
  call void @llvm.lifetime.end.p0(i64 4, ptr %641) #11
  br label %20325

20325:                                            ; preds = %20324
  br label %20326

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

20327:                                            ; No predecessors!
  br label %20328

20328:                                            ; preds = %20327
  br label %20329

20329:                                            ; preds = %20328, %20270
  br label %20330

20330:                                            ; preds = %20329
  br label %20331

20331:                                            ; preds = %20330
  br label %20332

20332:                                            ; preds = %20331
  %20333 = load i32, ptr @test_count, align 4, !tbaa !5
  %20334 = add nsw i32 %20333, 1
  store i32 %20334, ptr @test_count, align 4, !tbaa !5
  %20335 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20336 = load i32, ptr %20335, align 4, !tbaa !5
  %20337 = icmp eq i32 %20336, 201326592
  br i1 %20337, label %20391, label %20338

20338:                                            ; preds = %20332
  br label %20339

20339:                                            ; preds = %20338
  br label %20340

20340:                                            ; preds = %20339
  call void @llvm.lifetime.start.p0(i64 4, ptr %642) #11
  %20341 = call ptr @__errno_location() #12
  %20342 = load i32, ptr %20341, align 4, !tbaa !5
  store i32 %20342, ptr %642, align 4, !tbaa !5
  %20343 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20344 = call i32 @s2n_print_stacktrace(ptr noundef %20343)
  %20345 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20346 = trunc i8 %20345 to i1
  br i1 %20346, label %20347, label %20369

20347:                                            ; preds = %20340
  %20348 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20349 = call i32 @fileno(ptr noundef %20348) #11
  %20350 = call i32 @isatty(i32 noundef %20349) #11
  %20351 = icmp ne i32 %20350, 0
  br i1 %20351, label %20352, label %20369

20352:                                            ; preds = %20347
  %20353 = load i32, ptr %642, align 4, !tbaa !5
  %20354 = call ptr @__errno_location() #12
  store i32 %20353, ptr %20354, align 4, !tbaa !5
  %20355 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20356 = load i32, ptr @test_count, align 4, !tbaa !5
  %20357 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20358 = load i32, ptr %20357, align 4, !tbaa !5
  %20359 = call ptr @s2n_strerror(i32 noundef %20358, ptr noundef @.str.5)
  %20360 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20361 = load i32, ptr %20360, align 4, !tbaa !5
  %20362 = call ptr @s2n_strerror_debug(i32 noundef %20361, ptr noundef @.str.5)
  %20363 = call ptr @__errno_location() #12
  %20364 = load i32, ptr %20363, align 4, !tbaa !5
  %20365 = call ptr @strerror(i32 noundef %20364) #11
  %20366 = call ptr @__errno_location() #12
  %20367 = load i32, ptr %20366, align 4, !tbaa !5
  %20368 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20355, ptr noundef @.str.3, i32 noundef %20356, ptr noundef @.str.41, ptr noundef @.str.2, i32 noundef 1025, ptr noundef %20359, ptr noundef %20362, ptr noundef %20365, i32 noundef %20367) #11
  br label %20386

20369:                                            ; preds = %20347, %20340
  %20370 = load i32, ptr %642, align 4, !tbaa !5
  %20371 = call ptr @__errno_location() #12
  store i32 %20370, ptr %20371, align 4, !tbaa !5
  %20372 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20373 = load i32, ptr @test_count, align 4, !tbaa !5
  %20374 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20375 = load i32, ptr %20374, align 4, !tbaa !5
  %20376 = call ptr @s2n_strerror(i32 noundef %20375, ptr noundef @.str.5)
  %20377 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20378 = load i32, ptr %20377, align 4, !tbaa !5
  %20379 = call ptr @s2n_strerror_debug(i32 noundef %20378, ptr noundef @.str.5)
  %20380 = call ptr @__errno_location() #12
  %20381 = load i32, ptr %20380, align 4, !tbaa !5
  %20382 = call ptr @strerror(i32 noundef %20381) #11
  %20383 = call ptr @__errno_location() #12
  %20384 = load i32, ptr %20383, align 4, !tbaa !5
  %20385 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20372, ptr noundef @.str.6, i32 noundef %20373, ptr noundef @.str.41, ptr noundef @.str.2, i32 noundef 1025, ptr noundef %20376, ptr noundef %20379, ptr noundef %20382, i32 noundef %20384) #11
  br label %20386

20386:                                            ; preds = %20369, %20352
  call void @llvm.lifetime.end.p0(i64 4, ptr %642) #11
  br label %20387

20387:                                            ; preds = %20386
  br label %20388

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

20389:                                            ; No predecessors!
  br label %20390

20390:                                            ; preds = %20389
  br label %20391

20391:                                            ; preds = %20390, %20332
  br label %20392

20392:                                            ; preds = %20391
  br label %20393

20393:                                            ; preds = %20392
  br label %20394

20394:                                            ; preds = %20393
  %20395 = load i32, ptr @test_count, align 4, !tbaa !5
  %20396 = add nsw i32 %20395, 1
  store i32 %20396, ptr @test_count, align 4, !tbaa !5
  %20397 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20398 = load i32, ptr %20397, align 4, !tbaa !5
  %20399 = call ptr @s2n_strerror_debug(i32 noundef %20398, ptr noundef @.str.5)
  %20400 = icmp eq ptr %20399, null
  br i1 %20400, label %20401, label %20454

20401:                                            ; preds = %20394
  br label %20402

20402:                                            ; preds = %20401
  br label %20403

20403:                                            ; preds = %20402
  call void @llvm.lifetime.start.p0(i64 4, ptr %643) #11
  %20404 = call ptr @__errno_location() #12
  %20405 = load i32, ptr %20404, align 4, !tbaa !5
  store i32 %20405, ptr %643, align 4, !tbaa !5
  %20406 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20407 = call i32 @s2n_print_stacktrace(ptr noundef %20406)
  %20408 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20409 = trunc i8 %20408 to i1
  br i1 %20409, label %20410, label %20432

20410:                                            ; preds = %20403
  %20411 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20412 = call i32 @fileno(ptr noundef %20411) #11
  %20413 = call i32 @isatty(i32 noundef %20412) #11
  %20414 = icmp ne i32 %20413, 0
  br i1 %20414, label %20415, label %20432

20415:                                            ; preds = %20410
  %20416 = load i32, ptr %643, align 4, !tbaa !5
  %20417 = call ptr @__errno_location() #12
  store i32 %20416, ptr %20417, align 4, !tbaa !5
  %20418 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20419 = load i32, ptr @test_count, align 4, !tbaa !5
  %20420 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20421 = load i32, ptr %20420, align 4, !tbaa !5
  %20422 = call ptr @s2n_strerror(i32 noundef %20421, ptr noundef @.str.5)
  %20423 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20424 = load i32, ptr %20423, align 4, !tbaa !5
  %20425 = call ptr @s2n_strerror_debug(i32 noundef %20424, ptr noundef @.str.5)
  %20426 = call ptr @__errno_location() #12
  %20427 = load i32, ptr %20426, align 4, !tbaa !5
  %20428 = call ptr @strerror(i32 noundef %20427) #11
  %20429 = call ptr @__errno_location() #12
  %20430 = load i32, ptr %20429, align 4, !tbaa !5
  %20431 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20418, ptr noundef @.str.3, i32 noundef %20419, ptr noundef @.str.13, ptr noundef @.str.2, i32 noundef 1025, ptr noundef %20422, ptr noundef %20425, ptr noundef %20428, i32 noundef %20430) #11
  br label %20449

20432:                                            ; preds = %20410, %20403
  %20433 = load i32, ptr %643, align 4, !tbaa !5
  %20434 = call ptr @__errno_location() #12
  store i32 %20433, ptr %20434, align 4, !tbaa !5
  %20435 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20436 = load i32, ptr @test_count, align 4, !tbaa !5
  %20437 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20438 = load i32, ptr %20437, align 4, !tbaa !5
  %20439 = call ptr @s2n_strerror(i32 noundef %20438, ptr noundef @.str.5)
  %20440 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20441 = load i32, ptr %20440, align 4, !tbaa !5
  %20442 = call ptr @s2n_strerror_debug(i32 noundef %20441, ptr noundef @.str.5)
  %20443 = call ptr @__errno_location() #12
  %20444 = load i32, ptr %20443, align 4, !tbaa !5
  %20445 = call ptr @strerror(i32 noundef %20444) #11
  %20446 = call ptr @__errno_location() #12
  %20447 = load i32, ptr %20446, align 4, !tbaa !5
  %20448 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20435, ptr noundef @.str.6, i32 noundef %20436, ptr noundef @.str.13, ptr noundef @.str.2, i32 noundef 1025, ptr noundef %20439, ptr noundef %20442, ptr noundef %20445, i32 noundef %20447) #11
  br label %20449

20449:                                            ; preds = %20432, %20415
  call void @llvm.lifetime.end.p0(i64 4, ptr %643) #11
  br label %20450

20450:                                            ; preds = %20449
  br label %20451

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

20452:                                            ; No predecessors!
  br label %20453

20453:                                            ; preds = %20452
  br label %20454

20454:                                            ; preds = %20453, %20394
  br label %20455

20455:                                            ; preds = %20454
  br label %20456

20456:                                            ; preds = %20455
  br label %20457

20457:                                            ; preds = %20456
  br label %20458

20458:                                            ; preds = %20457
  br label %20459

20459:                                            ; preds = %20458
  %20460 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %20460, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %20461 = call ptr @__errno_location() #12
  store i32 0, ptr %20461, align 4, !tbaa !5
  br label %20462

20462:                                            ; preds = %20459
  br label %20463

20463:                                            ; preds = %20462
  br label %20464

20464:                                            ; preds = %20463
  br label %20465

20465:                                            ; preds = %20464
  call void @llvm.lifetime.end.p0(i64 16, ptr %629) #11
  %20466 = call i32 @s2n_connection_ptr_free(ptr noundef %610)
  %20467 = getelementptr inbounds %struct.s2n_result, ptr %644, i32 0, i32 0
  store i32 %20466, ptr %20467, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %610) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %645) #11
  store i64 10, ptr %645, align 8, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 8, ptr %646) #11
  %20468 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %20468, ptr %646, align 8, !tbaa !9
  br label %20469

20469:                                            ; preds = %20465
  %20470 = load i32, ptr @test_count, align 4, !tbaa !5
  %20471 = add nsw i32 %20470, 1
  store i32 %20471, ptr @test_count, align 4, !tbaa !5
  %20472 = load ptr, ptr %646, align 8, !tbaa !9
  %20473 = icmp eq ptr %20472, null
  br i1 %20473, label %20474, label %20527

20474:                                            ; preds = %20469
  br label %20475

20475:                                            ; preds = %20474
  br label %20476

20476:                                            ; preds = %20475
  call void @llvm.lifetime.start.p0(i64 4, ptr %647) #11
  %20477 = call ptr @__errno_location() #12
  %20478 = load i32, ptr %20477, align 4, !tbaa !5
  store i32 %20478, ptr %647, align 4, !tbaa !5
  %20479 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20480 = call i32 @s2n_print_stacktrace(ptr noundef %20479)
  %20481 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20482 = trunc i8 %20481 to i1
  br i1 %20482, label %20483, label %20505

20483:                                            ; preds = %20476
  %20484 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20485 = call i32 @fileno(ptr noundef %20484) #11
  %20486 = call i32 @isatty(i32 noundef %20485) #11
  %20487 = icmp ne i32 %20486, 0
  br i1 %20487, label %20488, label %20505

20488:                                            ; preds = %20483
  %20489 = load i32, ptr %647, align 4, !tbaa !5
  %20490 = call ptr @__errno_location() #12
  store i32 %20489, ptr %20490, align 4, !tbaa !5
  %20491 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20492 = load i32, ptr @test_count, align 4, !tbaa !5
  %20493 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20494 = load i32, ptr %20493, align 4, !tbaa !5
  %20495 = call ptr @s2n_strerror(i32 noundef %20494, ptr noundef @.str.5)
  %20496 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20497 = load i32, ptr %20496, align 4, !tbaa !5
  %20498 = call ptr @s2n_strerror_debug(i32 noundef %20497, ptr noundef @.str.5)
  %20499 = call ptr @__errno_location() #12
  %20500 = load i32, ptr %20499, align 4, !tbaa !5
  %20501 = call ptr @strerror(i32 noundef %20500) #11
  %20502 = call ptr @__errno_location() #12
  %20503 = load i32, ptr %20502, align 4, !tbaa !5
  %20504 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20491, ptr noundef @.str.3, i32 noundef %20492, ptr noundef @.str.79, ptr noundef @.str.2, i32 noundef 1037, ptr noundef %20495, ptr noundef %20498, ptr noundef %20501, i32 noundef %20503) #11
  br label %20522

20505:                                            ; preds = %20483, %20476
  %20506 = load i32, ptr %647, align 4, !tbaa !5
  %20507 = call ptr @__errno_location() #12
  store i32 %20506, ptr %20507, align 4, !tbaa !5
  %20508 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20509 = load i32, ptr @test_count, align 4, !tbaa !5
  %20510 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20511 = load i32, ptr %20510, align 4, !tbaa !5
  %20512 = call ptr @s2n_strerror(i32 noundef %20511, ptr noundef @.str.5)
  %20513 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20514 = load i32, ptr %20513, align 4, !tbaa !5
  %20515 = call ptr @s2n_strerror_debug(i32 noundef %20514, ptr noundef @.str.5)
  %20516 = call ptr @__errno_location() #12
  %20517 = load i32, ptr %20516, align 4, !tbaa !5
  %20518 = call ptr @strerror(i32 noundef %20517) #11
  %20519 = call ptr @__errno_location() #12
  %20520 = load i32, ptr %20519, align 4, !tbaa !5
  %20521 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20508, ptr noundef @.str.6, i32 noundef %20509, ptr noundef @.str.79, ptr noundef @.str.2, i32 noundef 1037, ptr noundef %20512, ptr noundef %20515, ptr noundef %20518, i32 noundef %20520) #11
  br label %20522

20522:                                            ; preds = %20505, %20488
  call void @llvm.lifetime.end.p0(i64 4, ptr %647) #11
  br label %20523

20523:                                            ; preds = %20522
  br label %20524

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

20525:                                            ; No predecessors!
  br label %20526

20526:                                            ; preds = %20525
  br label %20527

20527:                                            ; preds = %20526, %20469
  br label %20528

20528:                                            ; preds = %20527
  br label %20529

20529:                                            ; preds = %20528
  call void @llvm.lifetime.start.p0(i64 16, ptr %648) #11
  call void @llvm.memset.p0.i64(ptr align 8 %648, i8 0, i64 16, i1 false)
  br label %20530

20530:                                            ; preds = %20529
  br label %20531

20531:                                            ; preds = %20530
  br label %20532

20532:                                            ; preds = %20531
  %20533 = load i32, ptr @test_count, align 4, !tbaa !5
  %20534 = add nsw i32 %20533, 1
  store i32 %20534, ptr @test_count, align 4, !tbaa !5
  %20535 = call i32 @s2n_ktls_record_writev(ptr noundef null, i8 noundef zeroext 0, ptr noundef %648, i32 noundef 1, i64 noundef 1, i64 noundef 1)
  %20536 = icmp eq i32 %20535, -1
  br i1 %20536, label %20590, label %20537

20537:                                            ; preds = %20532
  br label %20538

20538:                                            ; preds = %20537
  br label %20539

20539:                                            ; preds = %20538
  call void @llvm.lifetime.start.p0(i64 4, ptr %649) #11
  %20540 = call ptr @__errno_location() #12
  %20541 = load i32, ptr %20540, align 4, !tbaa !5
  store i32 %20541, ptr %649, align 4, !tbaa !5
  %20542 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20543 = call i32 @s2n_print_stacktrace(ptr noundef %20542)
  %20544 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20545 = trunc i8 %20544 to i1
  br i1 %20545, label %20546, label %20568

20546:                                            ; preds = %20539
  %20547 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20548 = call i32 @fileno(ptr noundef %20547) #11
  %20549 = call i32 @isatty(i32 noundef %20548) #11
  %20550 = icmp ne i32 %20549, 0
  br i1 %20550, label %20551, label %20568

20551:                                            ; preds = %20546
  %20552 = load i32, ptr %649, align 4, !tbaa !5
  %20553 = call ptr @__errno_location() #12
  store i32 %20552, ptr %20553, align 4, !tbaa !5
  %20554 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20555 = load i32, ptr @test_count, align 4, !tbaa !5
  %20556 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20557 = load i32, ptr %20556, align 4, !tbaa !5
  %20558 = call ptr @s2n_strerror(i32 noundef %20557, ptr noundef @.str.5)
  %20559 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20560 = load i32, ptr %20559, align 4, !tbaa !5
  %20561 = call ptr @s2n_strerror_debug(i32 noundef %20560, ptr noundef @.str.5)
  %20562 = call ptr @__errno_location() #12
  %20563 = load i32, ptr %20562, align 4, !tbaa !5
  %20564 = call ptr @strerror(i32 noundef %20563) #11
  %20565 = call ptr @__errno_location() #12
  %20566 = load i32, ptr %20565, align 4, !tbaa !5
  %20567 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20554, ptr noundef @.str.3, i32 noundef %20555, ptr noundef @.str.126, ptr noundef @.str.2, i32 noundef 1040, ptr noundef %20558, ptr noundef %20561, ptr noundef %20564, i32 noundef %20566) #11
  br label %20585

20568:                                            ; preds = %20546, %20539
  %20569 = load i32, ptr %649, align 4, !tbaa !5
  %20570 = call ptr @__errno_location() #12
  store i32 %20569, ptr %20570, align 4, !tbaa !5
  %20571 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20572 = load i32, ptr @test_count, align 4, !tbaa !5
  %20573 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20574 = load i32, ptr %20573, align 4, !tbaa !5
  %20575 = call ptr @s2n_strerror(i32 noundef %20574, ptr noundef @.str.5)
  %20576 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20577 = load i32, ptr %20576, align 4, !tbaa !5
  %20578 = call ptr @s2n_strerror_debug(i32 noundef %20577, ptr noundef @.str.5)
  %20579 = call ptr @__errno_location() #12
  %20580 = load i32, ptr %20579, align 4, !tbaa !5
  %20581 = call ptr @strerror(i32 noundef %20580) #11
  %20582 = call ptr @__errno_location() #12
  %20583 = load i32, ptr %20582, align 4, !tbaa !5
  %20584 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20571, ptr noundef @.str.6, i32 noundef %20572, ptr noundef @.str.126, ptr noundef @.str.2, i32 noundef 1040, ptr noundef %20575, ptr noundef %20578, ptr noundef %20581, i32 noundef %20583) #11
  br label %20585

20585:                                            ; preds = %20568, %20551
  call void @llvm.lifetime.end.p0(i64 4, ptr %649) #11
  br label %20586

20586:                                            ; preds = %20585
  br label %20587

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

20588:                                            ; No predecessors!
  br label %20589

20589:                                            ; preds = %20588
  br label %20590

20590:                                            ; preds = %20589, %20532
  br label %20591

20591:                                            ; preds = %20590
  br label %20592

20592:                                            ; preds = %20591
  br label %20593

20593:                                            ; preds = %20592
  %20594 = load i32, ptr @test_count, align 4, !tbaa !5
  %20595 = add nsw i32 %20594, 1
  store i32 %20595, ptr @test_count, align 4, !tbaa !5
  %20596 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20597 = load i32, ptr %20596, align 4, !tbaa !5
  %20598 = icmp eq i32 %20597, 402653193
  br i1 %20598, label %20652, label %20599

20599:                                            ; preds = %20593
  br label %20600

20600:                                            ; preds = %20599
  br label %20601

20601:                                            ; preds = %20600
  call void @llvm.lifetime.start.p0(i64 4, ptr %650) #11
  %20602 = call ptr @__errno_location() #12
  %20603 = load i32, ptr %20602, align 4, !tbaa !5
  store i32 %20603, ptr %650, align 4, !tbaa !5
  %20604 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20605 = call i32 @s2n_print_stacktrace(ptr noundef %20604)
  %20606 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20607 = trunc i8 %20606 to i1
  br i1 %20607, label %20608, label %20630

20608:                                            ; preds = %20601
  %20609 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20610 = call i32 @fileno(ptr noundef %20609) #11
  %20611 = call i32 @isatty(i32 noundef %20610) #11
  %20612 = icmp ne i32 %20611, 0
  br i1 %20612, label %20613, label %20630

20613:                                            ; preds = %20608
  %20614 = load i32, ptr %650, align 4, !tbaa !5
  %20615 = call ptr @__errno_location() #12
  store i32 %20614, ptr %20615, align 4, !tbaa !5
  %20616 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20617 = load i32, ptr @test_count, align 4, !tbaa !5
  %20618 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20619 = load i32, ptr %20618, align 4, !tbaa !5
  %20620 = call ptr @s2n_strerror(i32 noundef %20619, ptr noundef @.str.5)
  %20621 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20622 = load i32, ptr %20621, align 4, !tbaa !5
  %20623 = call ptr @s2n_strerror_debug(i32 noundef %20622, ptr noundef @.str.5)
  %20624 = call ptr @__errno_location() #12
  %20625 = load i32, ptr %20624, align 4, !tbaa !5
  %20626 = call ptr @strerror(i32 noundef %20625) #11
  %20627 = call ptr @__errno_location() #12
  %20628 = load i32, ptr %20627, align 4, !tbaa !5
  %20629 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20616, ptr noundef @.str.3, i32 noundef %20617, ptr noundef @.str.12, ptr noundef @.str.2, i32 noundef 1040, ptr noundef %20620, ptr noundef %20623, ptr noundef %20626, i32 noundef %20628) #11
  br label %20647

20630:                                            ; preds = %20608, %20601
  %20631 = load i32, ptr %650, align 4, !tbaa !5
  %20632 = call ptr @__errno_location() #12
  store i32 %20631, ptr %20632, align 4, !tbaa !5
  %20633 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20634 = load i32, ptr @test_count, align 4, !tbaa !5
  %20635 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20636 = load i32, ptr %20635, align 4, !tbaa !5
  %20637 = call ptr @s2n_strerror(i32 noundef %20636, ptr noundef @.str.5)
  %20638 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20639 = load i32, ptr %20638, align 4, !tbaa !5
  %20640 = call ptr @s2n_strerror_debug(i32 noundef %20639, ptr noundef @.str.5)
  %20641 = call ptr @__errno_location() #12
  %20642 = load i32, ptr %20641, align 4, !tbaa !5
  %20643 = call ptr @strerror(i32 noundef %20642) #11
  %20644 = call ptr @__errno_location() #12
  %20645 = load i32, ptr %20644, align 4, !tbaa !5
  %20646 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20633, ptr noundef @.str.6, i32 noundef %20634, ptr noundef @.str.12, ptr noundef @.str.2, i32 noundef 1040, ptr noundef %20637, ptr noundef %20640, ptr noundef %20643, i32 noundef %20645) #11
  br label %20647

20647:                                            ; preds = %20630, %20613
  call void @llvm.lifetime.end.p0(i64 4, ptr %650) #11
  br label %20648

20648:                                            ; preds = %20647
  br label %20649

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

20650:                                            ; No predecessors!
  br label %20651

20651:                                            ; preds = %20650
  br label %20652

20652:                                            ; preds = %20651, %20593
  br label %20653

20653:                                            ; preds = %20652
  br label %20654

20654:                                            ; preds = %20653
  br label %20655

20655:                                            ; preds = %20654
  %20656 = load i32, ptr @test_count, align 4, !tbaa !5
  %20657 = add nsw i32 %20656, 1
  store i32 %20657, ptr @test_count, align 4, !tbaa !5
  %20658 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20659 = load i32, ptr %20658, align 4, !tbaa !5
  %20660 = call ptr @s2n_strerror_debug(i32 noundef %20659, ptr noundef @.str.5)
  %20661 = icmp eq ptr %20660, null
  br i1 %20661, label %20662, label %20715

20662:                                            ; preds = %20655
  br label %20663

20663:                                            ; preds = %20662
  br label %20664

20664:                                            ; preds = %20663
  call void @llvm.lifetime.start.p0(i64 4, ptr %651) #11
  %20665 = call ptr @__errno_location() #12
  %20666 = load i32, ptr %20665, align 4, !tbaa !5
  store i32 %20666, ptr %651, align 4, !tbaa !5
  %20667 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20668 = call i32 @s2n_print_stacktrace(ptr noundef %20667)
  %20669 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20670 = trunc i8 %20669 to i1
  br i1 %20670, label %20671, label %20693

20671:                                            ; preds = %20664
  %20672 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20673 = call i32 @fileno(ptr noundef %20672) #11
  %20674 = call i32 @isatty(i32 noundef %20673) #11
  %20675 = icmp ne i32 %20674, 0
  br i1 %20675, label %20676, label %20693

20676:                                            ; preds = %20671
  %20677 = load i32, ptr %651, align 4, !tbaa !5
  %20678 = call ptr @__errno_location() #12
  store i32 %20677, ptr %20678, align 4, !tbaa !5
  %20679 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20680 = load i32, ptr @test_count, align 4, !tbaa !5
  %20681 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20682 = load i32, ptr %20681, align 4, !tbaa !5
  %20683 = call ptr @s2n_strerror(i32 noundef %20682, ptr noundef @.str.5)
  %20684 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20685 = load i32, ptr %20684, align 4, !tbaa !5
  %20686 = call ptr @s2n_strerror_debug(i32 noundef %20685, ptr noundef @.str.5)
  %20687 = call ptr @__errno_location() #12
  %20688 = load i32, ptr %20687, align 4, !tbaa !5
  %20689 = call ptr @strerror(i32 noundef %20688) #11
  %20690 = call ptr @__errno_location() #12
  %20691 = load i32, ptr %20690, align 4, !tbaa !5
  %20692 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20679, ptr noundef @.str.3, i32 noundef %20680, ptr noundef @.str.13, ptr noundef @.str.2, i32 noundef 1040, ptr noundef %20683, ptr noundef %20686, ptr noundef %20689, i32 noundef %20691) #11
  br label %20710

20693:                                            ; preds = %20671, %20664
  %20694 = load i32, ptr %651, align 4, !tbaa !5
  %20695 = call ptr @__errno_location() #12
  store i32 %20694, ptr %20695, align 4, !tbaa !5
  %20696 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20697 = load i32, ptr @test_count, align 4, !tbaa !5
  %20698 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20699 = load i32, ptr %20698, align 4, !tbaa !5
  %20700 = call ptr @s2n_strerror(i32 noundef %20699, ptr noundef @.str.5)
  %20701 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20702 = load i32, ptr %20701, align 4, !tbaa !5
  %20703 = call ptr @s2n_strerror_debug(i32 noundef %20702, ptr noundef @.str.5)
  %20704 = call ptr @__errno_location() #12
  %20705 = load i32, ptr %20704, align 4, !tbaa !5
  %20706 = call ptr @strerror(i32 noundef %20705) #11
  %20707 = call ptr @__errno_location() #12
  %20708 = load i32, ptr %20707, align 4, !tbaa !5
  %20709 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20696, ptr noundef @.str.6, i32 noundef %20697, ptr noundef @.str.13, ptr noundef @.str.2, i32 noundef 1040, ptr noundef %20700, ptr noundef %20703, ptr noundef %20706, i32 noundef %20708) #11
  br label %20710

20710:                                            ; preds = %20693, %20676
  call void @llvm.lifetime.end.p0(i64 4, ptr %651) #11
  br label %20711

20711:                                            ; preds = %20710
  br label %20712

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

20713:                                            ; No predecessors!
  br label %20714

20714:                                            ; preds = %20713
  br label %20715

20715:                                            ; preds = %20714, %20655
  br label %20716

20716:                                            ; preds = %20715
  br label %20717

20717:                                            ; preds = %20716
  br label %20718

20718:                                            ; preds = %20717
  br label %20719

20719:                                            ; preds = %20718
  br label %20720

20720:                                            ; preds = %20719
  %20721 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %20721, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %20722 = call ptr @__errno_location() #12
  store i32 0, ptr %20722, align 4, !tbaa !5
  br label %20723

20723:                                            ; preds = %20720
  br label %20724

20724:                                            ; preds = %20723
  br label %20725

20725:                                            ; preds = %20724
  br label %20726

20726:                                            ; preds = %20725
  br label %20727

20727:                                            ; preds = %20726
  br label %20728

20728:                                            ; preds = %20727
  br label %20729

20729:                                            ; preds = %20728
  %20730 = load i32, ptr @test_count, align 4, !tbaa !5
  %20731 = add nsw i32 %20730, 1
  store i32 %20731, ptr @test_count, align 4, !tbaa !5
  %20732 = load ptr, ptr %646, align 8, !tbaa !9
  %20733 = call i32 @s2n_ktls_record_writev(ptr noundef %20732, i8 noundef zeroext 0, ptr noundef null, i32 noundef 1, i64 noundef 1, i64 noundef 1)
  %20734 = icmp eq i32 %20733, -1
  br i1 %20734, label %20788, label %20735

20735:                                            ; preds = %20729
  br label %20736

20736:                                            ; preds = %20735
  br label %20737

20737:                                            ; preds = %20736
  call void @llvm.lifetime.start.p0(i64 4, ptr %652) #11
  %20738 = call ptr @__errno_location() #12
  %20739 = load i32, ptr %20738, align 4, !tbaa !5
  store i32 %20739, ptr %652, align 4, !tbaa !5
  %20740 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20741 = call i32 @s2n_print_stacktrace(ptr noundef %20740)
  %20742 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20743 = trunc i8 %20742 to i1
  br i1 %20743, label %20744, label %20766

20744:                                            ; preds = %20737
  %20745 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20746 = call i32 @fileno(ptr noundef %20745) #11
  %20747 = call i32 @isatty(i32 noundef %20746) #11
  %20748 = icmp ne i32 %20747, 0
  br i1 %20748, label %20749, label %20766

20749:                                            ; preds = %20744
  %20750 = load i32, ptr %652, align 4, !tbaa !5
  %20751 = call ptr @__errno_location() #12
  store i32 %20750, ptr %20751, align 4, !tbaa !5
  %20752 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20753 = load i32, ptr @test_count, align 4, !tbaa !5
  %20754 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20755 = load i32, ptr %20754, align 4, !tbaa !5
  %20756 = call ptr @s2n_strerror(i32 noundef %20755, ptr noundef @.str.5)
  %20757 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20758 = load i32, ptr %20757, align 4, !tbaa !5
  %20759 = call ptr @s2n_strerror_debug(i32 noundef %20758, ptr noundef @.str.5)
  %20760 = call ptr @__errno_location() #12
  %20761 = load i32, ptr %20760, align 4, !tbaa !5
  %20762 = call ptr @strerror(i32 noundef %20761) #11
  %20763 = call ptr @__errno_location() #12
  %20764 = load i32, ptr %20763, align 4, !tbaa !5
  %20765 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20752, ptr noundef @.str.3, i32 noundef %20753, ptr noundef @.str.127, ptr noundef @.str.2, i32 noundef 1042, ptr noundef %20756, ptr noundef %20759, ptr noundef %20762, i32 noundef %20764) #11
  br label %20783

20766:                                            ; preds = %20744, %20737
  %20767 = load i32, ptr %652, align 4, !tbaa !5
  %20768 = call ptr @__errno_location() #12
  store i32 %20767, ptr %20768, align 4, !tbaa !5
  %20769 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20770 = load i32, ptr @test_count, align 4, !tbaa !5
  %20771 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20772 = load i32, ptr %20771, align 4, !tbaa !5
  %20773 = call ptr @s2n_strerror(i32 noundef %20772, ptr noundef @.str.5)
  %20774 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20775 = load i32, ptr %20774, align 4, !tbaa !5
  %20776 = call ptr @s2n_strerror_debug(i32 noundef %20775, ptr noundef @.str.5)
  %20777 = call ptr @__errno_location() #12
  %20778 = load i32, ptr %20777, align 4, !tbaa !5
  %20779 = call ptr @strerror(i32 noundef %20778) #11
  %20780 = call ptr @__errno_location() #12
  %20781 = load i32, ptr %20780, align 4, !tbaa !5
  %20782 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20769, ptr noundef @.str.6, i32 noundef %20770, ptr noundef @.str.127, ptr noundef @.str.2, i32 noundef 1042, ptr noundef %20773, ptr noundef %20776, ptr noundef %20779, i32 noundef %20781) #11
  br label %20783

20783:                                            ; preds = %20766, %20749
  call void @llvm.lifetime.end.p0(i64 4, ptr %652) #11
  br label %20784

20784:                                            ; preds = %20783
  br label %20785

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

20786:                                            ; No predecessors!
  br label %20787

20787:                                            ; preds = %20786
  br label %20788

20788:                                            ; preds = %20787, %20729
  br label %20789

20789:                                            ; preds = %20788
  br label %20790

20790:                                            ; preds = %20789
  br label %20791

20791:                                            ; preds = %20790
  %20792 = load i32, ptr @test_count, align 4, !tbaa !5
  %20793 = add nsw i32 %20792, 1
  store i32 %20793, ptr @test_count, align 4, !tbaa !5
  %20794 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20795 = load i32, ptr %20794, align 4, !tbaa !5
  %20796 = icmp eq i32 %20795, 402653193
  br i1 %20796, label %20850, label %20797

20797:                                            ; preds = %20791
  br label %20798

20798:                                            ; preds = %20797
  br label %20799

20799:                                            ; preds = %20798
  call void @llvm.lifetime.start.p0(i64 4, ptr %653) #11
  %20800 = call ptr @__errno_location() #12
  %20801 = load i32, ptr %20800, align 4, !tbaa !5
  store i32 %20801, ptr %653, align 4, !tbaa !5
  %20802 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20803 = call i32 @s2n_print_stacktrace(ptr noundef %20802)
  %20804 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20805 = trunc i8 %20804 to i1
  br i1 %20805, label %20806, label %20828

20806:                                            ; preds = %20799
  %20807 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20808 = call i32 @fileno(ptr noundef %20807) #11
  %20809 = call i32 @isatty(i32 noundef %20808) #11
  %20810 = icmp ne i32 %20809, 0
  br i1 %20810, label %20811, label %20828

20811:                                            ; preds = %20806
  %20812 = load i32, ptr %653, align 4, !tbaa !5
  %20813 = call ptr @__errno_location() #12
  store i32 %20812, ptr %20813, align 4, !tbaa !5
  %20814 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20815 = load i32, ptr @test_count, align 4, !tbaa !5
  %20816 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20817 = load i32, ptr %20816, align 4, !tbaa !5
  %20818 = call ptr @s2n_strerror(i32 noundef %20817, ptr noundef @.str.5)
  %20819 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20820 = load i32, ptr %20819, align 4, !tbaa !5
  %20821 = call ptr @s2n_strerror_debug(i32 noundef %20820, ptr noundef @.str.5)
  %20822 = call ptr @__errno_location() #12
  %20823 = load i32, ptr %20822, align 4, !tbaa !5
  %20824 = call ptr @strerror(i32 noundef %20823) #11
  %20825 = call ptr @__errno_location() #12
  %20826 = load i32, ptr %20825, align 4, !tbaa !5
  %20827 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20814, ptr noundef @.str.3, i32 noundef %20815, ptr noundef @.str.12, ptr noundef @.str.2, i32 noundef 1042, ptr noundef %20818, ptr noundef %20821, ptr noundef %20824, i32 noundef %20826) #11
  br label %20845

20828:                                            ; preds = %20806, %20799
  %20829 = load i32, ptr %653, align 4, !tbaa !5
  %20830 = call ptr @__errno_location() #12
  store i32 %20829, ptr %20830, align 4, !tbaa !5
  %20831 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20832 = load i32, ptr @test_count, align 4, !tbaa !5
  %20833 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20834 = load i32, ptr %20833, align 4, !tbaa !5
  %20835 = call ptr @s2n_strerror(i32 noundef %20834, ptr noundef @.str.5)
  %20836 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20837 = load i32, ptr %20836, align 4, !tbaa !5
  %20838 = call ptr @s2n_strerror_debug(i32 noundef %20837, ptr noundef @.str.5)
  %20839 = call ptr @__errno_location() #12
  %20840 = load i32, ptr %20839, align 4, !tbaa !5
  %20841 = call ptr @strerror(i32 noundef %20840) #11
  %20842 = call ptr @__errno_location() #12
  %20843 = load i32, ptr %20842, align 4, !tbaa !5
  %20844 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20831, ptr noundef @.str.6, i32 noundef %20832, ptr noundef @.str.12, ptr noundef @.str.2, i32 noundef 1042, ptr noundef %20835, ptr noundef %20838, ptr noundef %20841, i32 noundef %20843) #11
  br label %20845

20845:                                            ; preds = %20828, %20811
  call void @llvm.lifetime.end.p0(i64 4, ptr %653) #11
  br label %20846

20846:                                            ; preds = %20845
  br label %20847

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

20848:                                            ; No predecessors!
  br label %20849

20849:                                            ; preds = %20848
  br label %20850

20850:                                            ; preds = %20849, %20791
  br label %20851

20851:                                            ; preds = %20850
  br label %20852

20852:                                            ; preds = %20851
  br label %20853

20853:                                            ; preds = %20852
  %20854 = load i32, ptr @test_count, align 4, !tbaa !5
  %20855 = add nsw i32 %20854, 1
  store i32 %20855, ptr @test_count, align 4, !tbaa !5
  %20856 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20857 = load i32, ptr %20856, align 4, !tbaa !5
  %20858 = call ptr @s2n_strerror_debug(i32 noundef %20857, ptr noundef @.str.5)
  %20859 = icmp eq ptr %20858, null
  br i1 %20859, label %20860, label %20913

20860:                                            ; preds = %20853
  br label %20861

20861:                                            ; preds = %20860
  br label %20862

20862:                                            ; preds = %20861
  call void @llvm.lifetime.start.p0(i64 4, ptr %654) #11
  %20863 = call ptr @__errno_location() #12
  %20864 = load i32, ptr %20863, align 4, !tbaa !5
  store i32 %20864, ptr %654, align 4, !tbaa !5
  %20865 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20866 = call i32 @s2n_print_stacktrace(ptr noundef %20865)
  %20867 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20868 = trunc i8 %20867 to i1
  br i1 %20868, label %20869, label %20891

20869:                                            ; preds = %20862
  %20870 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20871 = call i32 @fileno(ptr noundef %20870) #11
  %20872 = call i32 @isatty(i32 noundef %20871) #11
  %20873 = icmp ne i32 %20872, 0
  br i1 %20873, label %20874, label %20891

20874:                                            ; preds = %20869
  %20875 = load i32, ptr %654, align 4, !tbaa !5
  %20876 = call ptr @__errno_location() #12
  store i32 %20875, ptr %20876, align 4, !tbaa !5
  %20877 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20878 = load i32, ptr @test_count, align 4, !tbaa !5
  %20879 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20880 = load i32, ptr %20879, align 4, !tbaa !5
  %20881 = call ptr @s2n_strerror(i32 noundef %20880, ptr noundef @.str.5)
  %20882 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20883 = load i32, ptr %20882, align 4, !tbaa !5
  %20884 = call ptr @s2n_strerror_debug(i32 noundef %20883, ptr noundef @.str.5)
  %20885 = call ptr @__errno_location() #12
  %20886 = load i32, ptr %20885, align 4, !tbaa !5
  %20887 = call ptr @strerror(i32 noundef %20886) #11
  %20888 = call ptr @__errno_location() #12
  %20889 = load i32, ptr %20888, align 4, !tbaa !5
  %20890 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20877, ptr noundef @.str.3, i32 noundef %20878, ptr noundef @.str.13, ptr noundef @.str.2, i32 noundef 1042, ptr noundef %20881, ptr noundef %20884, ptr noundef %20887, i32 noundef %20889) #11
  br label %20908

20891:                                            ; preds = %20869, %20862
  %20892 = load i32, ptr %654, align 4, !tbaa !5
  %20893 = call ptr @__errno_location() #12
  store i32 %20892, ptr %20893, align 4, !tbaa !5
  %20894 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20895 = load i32, ptr @test_count, align 4, !tbaa !5
  %20896 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20897 = load i32, ptr %20896, align 4, !tbaa !5
  %20898 = call ptr @s2n_strerror(i32 noundef %20897, ptr noundef @.str.5)
  %20899 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20900 = load i32, ptr %20899, align 4, !tbaa !5
  %20901 = call ptr @s2n_strerror_debug(i32 noundef %20900, ptr noundef @.str.5)
  %20902 = call ptr @__errno_location() #12
  %20903 = load i32, ptr %20902, align 4, !tbaa !5
  %20904 = call ptr @strerror(i32 noundef %20903) #11
  %20905 = call ptr @__errno_location() #12
  %20906 = load i32, ptr %20905, align 4, !tbaa !5
  %20907 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20894, ptr noundef @.str.6, i32 noundef %20895, ptr noundef @.str.13, ptr noundef @.str.2, i32 noundef 1042, ptr noundef %20898, ptr noundef %20901, ptr noundef %20904, i32 noundef %20906) #11
  br label %20908

20908:                                            ; preds = %20891, %20874
  call void @llvm.lifetime.end.p0(i64 4, ptr %654) #11
  br label %20909

20909:                                            ; preds = %20908
  br label %20910

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

20911:                                            ; No predecessors!
  br label %20912

20912:                                            ; preds = %20911
  br label %20913

20913:                                            ; preds = %20912, %20853
  br label %20914

20914:                                            ; preds = %20913
  br label %20915

20915:                                            ; preds = %20914
  br label %20916

20916:                                            ; preds = %20915
  br label %20917

20917:                                            ; preds = %20916
  br label %20918

20918:                                            ; preds = %20917
  %20919 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %20919, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %20920 = call ptr @__errno_location() #12
  store i32 0, ptr %20920, align 4, !tbaa !5
  br label %20921

20921:                                            ; preds = %20918
  br label %20922

20922:                                            ; preds = %20921
  br label %20923

20923:                                            ; preds = %20922
  br label %20924

20924:                                            ; preds = %20923
  br label %20925

20925:                                            ; preds = %20924
  br label %20926

20926:                                            ; preds = %20925
  br label %20927

20927:                                            ; preds = %20926
  %20928 = load i32, ptr @test_count, align 4, !tbaa !5
  %20929 = add nsw i32 %20928, 1
  store i32 %20929, ptr @test_count, align 4, !tbaa !5
  %20930 = load ptr, ptr %646, align 8, !tbaa !9
  %20931 = call i32 @s2n_ktls_record_writev(ptr noundef %20930, i8 noundef zeroext 0, ptr noundef %648, i32 noundef -1, i64 noundef 1, i64 noundef 1)
  %20932 = icmp eq i32 %20931, -1
  br i1 %20932, label %20986, label %20933

20933:                                            ; preds = %20927
  br label %20934

20934:                                            ; preds = %20933
  br label %20935

20935:                                            ; preds = %20934
  call void @llvm.lifetime.start.p0(i64 4, ptr %655) #11
  %20936 = call ptr @__errno_location() #12
  %20937 = load i32, ptr %20936, align 4, !tbaa !5
  store i32 %20937, ptr %655, align 4, !tbaa !5
  %20938 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20939 = call i32 @s2n_print_stacktrace(ptr noundef %20938)
  %20940 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20941 = trunc i8 %20940 to i1
  br i1 %20941, label %20942, label %20964

20942:                                            ; preds = %20935
  %20943 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20944 = call i32 @fileno(ptr noundef %20943) #11
  %20945 = call i32 @isatty(i32 noundef %20944) #11
  %20946 = icmp ne i32 %20945, 0
  br i1 %20946, label %20947, label %20964

20947:                                            ; preds = %20942
  %20948 = load i32, ptr %655, align 4, !tbaa !5
  %20949 = call ptr @__errno_location() #12
  store i32 %20948, ptr %20949, align 4, !tbaa !5
  %20950 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20951 = load i32, ptr @test_count, align 4, !tbaa !5
  %20952 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20953 = load i32, ptr %20952, align 4, !tbaa !5
  %20954 = call ptr @s2n_strerror(i32 noundef %20953, ptr noundef @.str.5)
  %20955 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20956 = load i32, ptr %20955, align 4, !tbaa !5
  %20957 = call ptr @s2n_strerror_debug(i32 noundef %20956, ptr noundef @.str.5)
  %20958 = call ptr @__errno_location() #12
  %20959 = load i32, ptr %20958, align 4, !tbaa !5
  %20960 = call ptr @strerror(i32 noundef %20959) #11
  %20961 = call ptr @__errno_location() #12
  %20962 = load i32, ptr %20961, align 4, !tbaa !5
  %20963 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20950, ptr noundef @.str.3, i32 noundef %20951, ptr noundef @.str.128, ptr noundef @.str.2, i32 noundef 1044, ptr noundef %20954, ptr noundef %20957, ptr noundef %20960, i32 noundef %20962) #11
  br label %20981

20964:                                            ; preds = %20942, %20935
  %20965 = load i32, ptr %655, align 4, !tbaa !5
  %20966 = call ptr @__errno_location() #12
  store i32 %20965, ptr %20966, align 4, !tbaa !5
  %20967 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20968 = load i32, ptr @test_count, align 4, !tbaa !5
  %20969 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20970 = load i32, ptr %20969, align 4, !tbaa !5
  %20971 = call ptr @s2n_strerror(i32 noundef %20970, ptr noundef @.str.5)
  %20972 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20973 = load i32, ptr %20972, align 4, !tbaa !5
  %20974 = call ptr @s2n_strerror_debug(i32 noundef %20973, ptr noundef @.str.5)
  %20975 = call ptr @__errno_location() #12
  %20976 = load i32, ptr %20975, align 4, !tbaa !5
  %20977 = call ptr @strerror(i32 noundef %20976) #11
  %20978 = call ptr @__errno_location() #12
  %20979 = load i32, ptr %20978, align 4, !tbaa !5
  %20980 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20967, ptr noundef @.str.6, i32 noundef %20968, ptr noundef @.str.128, ptr noundef @.str.2, i32 noundef 1044, ptr noundef %20971, ptr noundef %20974, ptr noundef %20977, i32 noundef %20979) #11
  br label %20981

20981:                                            ; preds = %20964, %20947
  call void @llvm.lifetime.end.p0(i64 4, ptr %655) #11
  br label %20982

20982:                                            ; preds = %20981
  br label %20983

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

20984:                                            ; No predecessors!
  br label %20985

20985:                                            ; preds = %20984
  br label %20986

20986:                                            ; preds = %20985, %20927
  br label %20987

20987:                                            ; preds = %20986
  br label %20988

20988:                                            ; preds = %20987
  br label %20989

20989:                                            ; preds = %20988
  %20990 = load i32, ptr @test_count, align 4, !tbaa !5
  %20991 = add nsw i32 %20990, 1
  store i32 %20991, ptr @test_count, align 4, !tbaa !5
  %20992 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20993 = load i32, ptr %20992, align 4, !tbaa !5
  %20994 = icmp eq i32 %20993, 469762089
  br i1 %20994, label %21048, label %20995

20995:                                            ; preds = %20989
  br label %20996

20996:                                            ; preds = %20995
  br label %20997

20997:                                            ; preds = %20996
  call void @llvm.lifetime.start.p0(i64 4, ptr %656) #11
  %20998 = call ptr @__errno_location() #12
  %20999 = load i32, ptr %20998, align 4, !tbaa !5
  store i32 %20999, ptr %656, align 4, !tbaa !5
  %21000 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21001 = call i32 @s2n_print_stacktrace(ptr noundef %21000)
  %21002 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21003 = trunc i8 %21002 to i1
  br i1 %21003, label %21004, label %21026

21004:                                            ; preds = %20997
  %21005 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21006 = call i32 @fileno(ptr noundef %21005) #11
  %21007 = call i32 @isatty(i32 noundef %21006) #11
  %21008 = icmp ne i32 %21007, 0
  br i1 %21008, label %21009, label %21026

21009:                                            ; preds = %21004
  %21010 = load i32, ptr %656, align 4, !tbaa !5
  %21011 = call ptr @__errno_location() #12
  store i32 %21010, ptr %21011, align 4, !tbaa !5
  %21012 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21013 = load i32, ptr @test_count, align 4, !tbaa !5
  %21014 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21015 = load i32, ptr %21014, align 4, !tbaa !5
  %21016 = call ptr @s2n_strerror(i32 noundef %21015, ptr noundef @.str.5)
  %21017 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21018 = load i32, ptr %21017, align 4, !tbaa !5
  %21019 = call ptr @s2n_strerror_debug(i32 noundef %21018, ptr noundef @.str.5)
  %21020 = call ptr @__errno_location() #12
  %21021 = load i32, ptr %21020, align 4, !tbaa !5
  %21022 = call ptr @strerror(i32 noundef %21021) #11
  %21023 = call ptr @__errno_location() #12
  %21024 = load i32, ptr %21023, align 4, !tbaa !5
  %21025 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21012, ptr noundef @.str.3, i32 noundef %21013, ptr noundef @.str.77, ptr noundef @.str.2, i32 noundef 1044, ptr noundef %21016, ptr noundef %21019, ptr noundef %21022, i32 noundef %21024) #11
  br label %21043

21026:                                            ; preds = %21004, %20997
  %21027 = load i32, ptr %656, align 4, !tbaa !5
  %21028 = call ptr @__errno_location() #12
  store i32 %21027, ptr %21028, align 4, !tbaa !5
  %21029 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21030 = load i32, ptr @test_count, align 4, !tbaa !5
  %21031 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21032 = load i32, ptr %21031, align 4, !tbaa !5
  %21033 = call ptr @s2n_strerror(i32 noundef %21032, ptr noundef @.str.5)
  %21034 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21035 = load i32, ptr %21034, align 4, !tbaa !5
  %21036 = call ptr @s2n_strerror_debug(i32 noundef %21035, ptr noundef @.str.5)
  %21037 = call ptr @__errno_location() #12
  %21038 = load i32, ptr %21037, align 4, !tbaa !5
  %21039 = call ptr @strerror(i32 noundef %21038) #11
  %21040 = call ptr @__errno_location() #12
  %21041 = load i32, ptr %21040, align 4, !tbaa !5
  %21042 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21029, ptr noundef @.str.6, i32 noundef %21030, ptr noundef @.str.77, ptr noundef @.str.2, i32 noundef 1044, ptr noundef %21033, ptr noundef %21036, ptr noundef %21039, i32 noundef %21041) #11
  br label %21043

21043:                                            ; preds = %21026, %21009
  call void @llvm.lifetime.end.p0(i64 4, ptr %656) #11
  br label %21044

21044:                                            ; preds = %21043
  br label %21045

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

21046:                                            ; No predecessors!
  br label %21047

21047:                                            ; preds = %21046
  br label %21048

21048:                                            ; preds = %21047, %20989
  br label %21049

21049:                                            ; preds = %21048
  br label %21050

21050:                                            ; preds = %21049
  br label %21051

21051:                                            ; preds = %21050
  %21052 = load i32, ptr @test_count, align 4, !tbaa !5
  %21053 = add nsw i32 %21052, 1
  store i32 %21053, ptr @test_count, align 4, !tbaa !5
  %21054 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21055 = load i32, ptr %21054, align 4, !tbaa !5
  %21056 = call ptr @s2n_strerror_debug(i32 noundef %21055, ptr noundef @.str.5)
  %21057 = icmp eq ptr %21056, null
  br i1 %21057, label %21058, label %21111

21058:                                            ; preds = %21051
  br label %21059

21059:                                            ; preds = %21058
  br label %21060

21060:                                            ; preds = %21059
  call void @llvm.lifetime.start.p0(i64 4, ptr %657) #11
  %21061 = call ptr @__errno_location() #12
  %21062 = load i32, ptr %21061, align 4, !tbaa !5
  store i32 %21062, ptr %657, align 4, !tbaa !5
  %21063 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21064 = call i32 @s2n_print_stacktrace(ptr noundef %21063)
  %21065 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21066 = trunc i8 %21065 to i1
  br i1 %21066, label %21067, label %21089

21067:                                            ; preds = %21060
  %21068 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21069 = call i32 @fileno(ptr noundef %21068) #11
  %21070 = call i32 @isatty(i32 noundef %21069) #11
  %21071 = icmp ne i32 %21070, 0
  br i1 %21071, label %21072, label %21089

21072:                                            ; preds = %21067
  %21073 = load i32, ptr %657, align 4, !tbaa !5
  %21074 = call ptr @__errno_location() #12
  store i32 %21073, ptr %21074, align 4, !tbaa !5
  %21075 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21076 = load i32, ptr @test_count, align 4, !tbaa !5
  %21077 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21078 = load i32, ptr %21077, align 4, !tbaa !5
  %21079 = call ptr @s2n_strerror(i32 noundef %21078, ptr noundef @.str.5)
  %21080 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21081 = load i32, ptr %21080, align 4, !tbaa !5
  %21082 = call ptr @s2n_strerror_debug(i32 noundef %21081, ptr noundef @.str.5)
  %21083 = call ptr @__errno_location() #12
  %21084 = load i32, ptr %21083, align 4, !tbaa !5
  %21085 = call ptr @strerror(i32 noundef %21084) #11
  %21086 = call ptr @__errno_location() #12
  %21087 = load i32, ptr %21086, align 4, !tbaa !5
  %21088 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21075, ptr noundef @.str.3, i32 noundef %21076, ptr noundef @.str.13, ptr noundef @.str.2, i32 noundef 1044, ptr noundef %21079, ptr noundef %21082, ptr noundef %21085, i32 noundef %21087) #11
  br label %21106

21089:                                            ; preds = %21067, %21060
  %21090 = load i32, ptr %657, align 4, !tbaa !5
  %21091 = call ptr @__errno_location() #12
  store i32 %21090, ptr %21091, align 4, !tbaa !5
  %21092 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21093 = load i32, ptr @test_count, align 4, !tbaa !5
  %21094 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21095 = load i32, ptr %21094, align 4, !tbaa !5
  %21096 = call ptr @s2n_strerror(i32 noundef %21095, ptr noundef @.str.5)
  %21097 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21098 = load i32, ptr %21097, align 4, !tbaa !5
  %21099 = call ptr @s2n_strerror_debug(i32 noundef %21098, ptr noundef @.str.5)
  %21100 = call ptr @__errno_location() #12
  %21101 = load i32, ptr %21100, align 4, !tbaa !5
  %21102 = call ptr @strerror(i32 noundef %21101) #11
  %21103 = call ptr @__errno_location() #12
  %21104 = load i32, ptr %21103, align 4, !tbaa !5
  %21105 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21092, ptr noundef @.str.6, i32 noundef %21093, ptr noundef @.str.13, ptr noundef @.str.2, i32 noundef 1044, ptr noundef %21096, ptr noundef %21099, ptr noundef %21102, i32 noundef %21104) #11
  br label %21106

21106:                                            ; preds = %21089, %21072
  call void @llvm.lifetime.end.p0(i64 4, ptr %657) #11
  br label %21107

21107:                                            ; preds = %21106
  br label %21108

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

21109:                                            ; No predecessors!
  br label %21110

21110:                                            ; preds = %21109
  br label %21111

21111:                                            ; preds = %21110, %21051
  br label %21112

21112:                                            ; preds = %21111
  br label %21113

21113:                                            ; preds = %21112
  br label %21114

21114:                                            ; preds = %21113
  br label %21115

21115:                                            ; preds = %21114
  br label %21116

21116:                                            ; preds = %21115
  %21117 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %21117, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %21118 = call ptr @__errno_location() #12
  store i32 0, ptr %21118, align 4, !tbaa !5
  br label %21119

21119:                                            ; preds = %21116
  br label %21120

21120:                                            ; preds = %21119
  br label %21121

21121:                                            ; preds = %21120
  br label %21122

21122:                                            ; preds = %21121
  call void @llvm.lifetime.end.p0(i64 16, ptr %648) #11
  %21123 = call i32 @s2n_connection_ptr_free(ptr noundef %646)
  %21124 = getelementptr inbounds %struct.s2n_result, ptr %658, i32 0, i32 0
  store i32 %21123, ptr %21124, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %646) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %659) #11
  %21125 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %21125, ptr %659, align 8, !tbaa !9
  br label %21126

21126:                                            ; preds = %21122
  %21127 = load i32, ptr @test_count, align 4, !tbaa !5
  %21128 = add nsw i32 %21127, 1
  store i32 %21128, ptr @test_count, align 4, !tbaa !5
  %21129 = load ptr, ptr %659, align 8, !tbaa !9
  %21130 = icmp eq ptr %21129, null
  br i1 %21130, label %21131, label %21184

21131:                                            ; preds = %21126
  br label %21132

21132:                                            ; preds = %21131
  br label %21133

21133:                                            ; preds = %21132
  call void @llvm.lifetime.start.p0(i64 4, ptr %660) #11
  %21134 = call ptr @__errno_location() #12
  %21135 = load i32, ptr %21134, align 4, !tbaa !5
  store i32 %21135, ptr %660, align 4, !tbaa !5
  %21136 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21137 = call i32 @s2n_print_stacktrace(ptr noundef %21136)
  %21138 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21139 = trunc i8 %21138 to i1
  br i1 %21139, label %21140, label %21162

21140:                                            ; preds = %21133
  %21141 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21142 = call i32 @fileno(ptr noundef %21141) #11
  %21143 = call i32 @isatty(i32 noundef %21142) #11
  %21144 = icmp ne i32 %21143, 0
  br i1 %21144, label %21145, label %21162

21145:                                            ; preds = %21140
  %21146 = load i32, ptr %660, align 4, !tbaa !5
  %21147 = call ptr @__errno_location() #12
  store i32 %21146, ptr %21147, align 4, !tbaa !5
  %21148 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21149 = load i32, ptr @test_count, align 4, !tbaa !5
  %21150 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21151 = load i32, ptr %21150, align 4, !tbaa !5
  %21152 = call ptr @s2n_strerror(i32 noundef %21151, ptr noundef @.str.5)
  %21153 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21154 = load i32, ptr %21153, align 4, !tbaa !5
  %21155 = call ptr @s2n_strerror_debug(i32 noundef %21154, ptr noundef @.str.5)
  %21156 = call ptr @__errno_location() #12
  %21157 = load i32, ptr %21156, align 4, !tbaa !5
  %21158 = call ptr @strerror(i32 noundef %21157) #11
  %21159 = call ptr @__errno_location() #12
  %21160 = load i32, ptr %21159, align 4, !tbaa !5
  %21161 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21148, ptr noundef @.str.3, i32 noundef %21149, ptr noundef @.str.79, ptr noundef @.str.2, i32 noundef 1051, ptr noundef %21152, ptr noundef %21155, ptr noundef %21158, i32 noundef %21160) #11
  br label %21179

21162:                                            ; preds = %21140, %21133
  %21163 = load i32, ptr %660, align 4, !tbaa !5
  %21164 = call ptr @__errno_location() #12
  store i32 %21163, ptr %21164, align 4, !tbaa !5
  %21165 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21166 = load i32, ptr @test_count, align 4, !tbaa !5
  %21167 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21168 = load i32, ptr %21167, align 4, !tbaa !5
  %21169 = call ptr @s2n_strerror(i32 noundef %21168, ptr noundef @.str.5)
  %21170 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21171 = load i32, ptr %21170, align 4, !tbaa !5
  %21172 = call ptr @s2n_strerror_debug(i32 noundef %21171, ptr noundef @.str.5)
  %21173 = call ptr @__errno_location() #12
  %21174 = load i32, ptr %21173, align 4, !tbaa !5
  %21175 = call ptr @strerror(i32 noundef %21174) #11
  %21176 = call ptr @__errno_location() #12
  %21177 = load i32, ptr %21176, align 4, !tbaa !5
  %21178 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21165, ptr noundef @.str.6, i32 noundef %21166, ptr noundef @.str.79, ptr noundef @.str.2, i32 noundef 1051, ptr noundef %21169, ptr noundef %21172, ptr noundef %21175, i32 noundef %21177) #11
  br label %21179

21179:                                            ; preds = %21162, %21145
  call void @llvm.lifetime.end.p0(i64 4, ptr %660) #11
  br label %21180

21180:                                            ; preds = %21179
  br label %21181

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

21182:                                            ; No predecessors!
  br label %21183

21183:                                            ; preds = %21182
  br label %21184

21184:                                            ; preds = %21183, %21126
  br label %21185

21185:                                            ; preds = %21184
  br label %21186

21186:                                            ; preds = %21185
  call void @llvm.lifetime.start.p0(i64 16, ptr %661) #11
  %21187 = getelementptr inbounds %struct.iovec, ptr %661, i32 0, i32 0
  %21188 = getelementptr inbounds [16384 x i8], ptr %10, i64 0, i64 0
  store ptr %21188, ptr %21187, align 8, !tbaa !16
  %21189 = getelementptr inbounds %struct.iovec, ptr %661, i32 0, i32 1
  store i64 16384, ptr %21189, align 8, !tbaa !19
  br label %21190

21190:                                            ; preds = %21186
  %21191 = load i32, ptr @test_count, align 4, !tbaa !5
  %21192 = add nsw i32 %21191, 1
  store i32 %21192, ptr @test_count, align 4, !tbaa !5
  %21193 = load ptr, ptr %659, align 8, !tbaa !9
  %21194 = call i32 @s2n_ktls_record_writev(ptr noundef %21193, i8 noundef zeroext 21, ptr noundef %661, i32 noundef 1, i64 noundef 0, i64 noundef 10)
  %21195 = sext i32 %21194 to i64
  %21196 = icmp eq i64 %21195, 10
  br i1 %21196, label %21250, label %21197

21197:                                            ; preds = %21190
  br label %21198

21198:                                            ; preds = %21197
  br label %21199

21199:                                            ; preds = %21198
  call void @llvm.lifetime.start.p0(i64 4, ptr %662) #11
  %21200 = call ptr @__errno_location() #12
  %21201 = load i32, ptr %21200, align 4, !tbaa !5
  store i32 %21201, ptr %662, align 4, !tbaa !5
  %21202 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21203 = call i32 @s2n_print_stacktrace(ptr noundef %21202)
  %21204 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21205 = trunc i8 %21204 to i1
  br i1 %21205, label %21206, label %21228

21206:                                            ; preds = %21199
  %21207 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21208 = call i32 @fileno(ptr noundef %21207) #11
  %21209 = call i32 @isatty(i32 noundef %21208) #11
  %21210 = icmp ne i32 %21209, 0
  br i1 %21210, label %21211, label %21228

21211:                                            ; preds = %21206
  %21212 = load i32, ptr %662, align 4, !tbaa !5
  %21213 = call ptr @__errno_location() #12
  store i32 %21212, ptr %21213, align 4, !tbaa !5
  %21214 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21215 = load i32, ptr @test_count, align 4, !tbaa !5
  %21216 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21217 = load i32, ptr %21216, align 4, !tbaa !5
  %21218 = call ptr @s2n_strerror(i32 noundef %21217, ptr noundef @.str.5)
  %21219 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21220 = load i32, ptr %21219, align 4, !tbaa !5
  %21221 = call ptr @s2n_strerror_debug(i32 noundef %21220, ptr noundef @.str.5)
  %21222 = call ptr @__errno_location() #12
  %21223 = load i32, ptr %21222, align 4, !tbaa !5
  %21224 = call ptr @strerror(i32 noundef %21223) #11
  %21225 = call ptr @__errno_location() #12
  %21226 = load i32, ptr %21225, align 4, !tbaa !5
  %21227 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21214, ptr noundef @.str.3, i32 noundef %21215, ptr noundef @.str.129, ptr noundef @.str.2, i32 noundef 1056, ptr noundef %21218, ptr noundef %21221, ptr noundef %21224, i32 noundef %21226) #11
  br label %21245

21228:                                            ; preds = %21206, %21199
  %21229 = load i32, ptr %662, align 4, !tbaa !5
  %21230 = call ptr @__errno_location() #12
  store i32 %21229, ptr %21230, align 4, !tbaa !5
  %21231 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21232 = load i32, ptr @test_count, align 4, !tbaa !5
  %21233 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21234 = load i32, ptr %21233, align 4, !tbaa !5
  %21235 = call ptr @s2n_strerror(i32 noundef %21234, ptr noundef @.str.5)
  %21236 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21237 = load i32, ptr %21236, align 4, !tbaa !5
  %21238 = call ptr @s2n_strerror_debug(i32 noundef %21237, ptr noundef @.str.5)
  %21239 = call ptr @__errno_location() #12
  %21240 = load i32, ptr %21239, align 4, !tbaa !5
  %21241 = call ptr @strerror(i32 noundef %21240) #11
  %21242 = call ptr @__errno_location() #12
  %21243 = load i32, ptr %21242, align 4, !tbaa !5
  %21244 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21231, ptr noundef @.str.6, i32 noundef %21232, ptr noundef @.str.129, ptr noundef @.str.2, i32 noundef 1056, ptr noundef %21235, ptr noundef %21238, ptr noundef %21241, i32 noundef %21243) #11
  br label %21245

21245:                                            ; preds = %21228, %21211
  call void @llvm.lifetime.end.p0(i64 4, ptr %662) #11
  br label %21246

21246:                                            ; preds = %21245
  br label %21247

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

21248:                                            ; No predecessors!
  br label %21249

21249:                                            ; preds = %21248
  br label %21250

21250:                                            ; preds = %21249, %21190
  br label %21251

21251:                                            ; preds = %21250
  br label %21252

21252:                                            ; preds = %21251
  br label %21253

21253:                                            ; preds = %21252
  %21254 = load i32, ptr @test_count, align 4, !tbaa !5
  %21255 = add nsw i32 %21254, 1
  store i32 %21255, ptr @test_count, align 4, !tbaa !5
  %21256 = load ptr, ptr %659, align 8, !tbaa !9
  %21257 = getelementptr inbounds %struct.s2n_connection, ptr %21256, i32 0, i32 41
  %21258 = getelementptr inbounds %struct.s2n_stuffer, ptr %21257, i32 0, i32 0
  %21259 = getelementptr inbounds %struct.s2n_blob, ptr %21258, i32 0, i32 2
  %21260 = load i32, ptr %21259, align 4, !tbaa !75
  %21261 = zext i32 %21260 to i64
  %21262 = icmp eq i64 %21261, 10
  br i1 %21262, label %21316, label %21263

21263:                                            ; preds = %21253
  br label %21264

21264:                                            ; preds = %21263
  br label %21265

21265:                                            ; preds = %21264
  call void @llvm.lifetime.start.p0(i64 4, ptr %663) #11
  %21266 = call ptr @__errno_location() #12
  %21267 = load i32, ptr %21266, align 4, !tbaa !5
  store i32 %21267, ptr %663, align 4, !tbaa !5
  %21268 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21269 = call i32 @s2n_print_stacktrace(ptr noundef %21268)
  %21270 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21271 = trunc i8 %21270 to i1
  br i1 %21271, label %21272, label %21294

21272:                                            ; preds = %21265
  %21273 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21274 = call i32 @fileno(ptr noundef %21273) #11
  %21275 = call i32 @isatty(i32 noundef %21274) #11
  %21276 = icmp ne i32 %21275, 0
  br i1 %21276, label %21277, label %21294

21277:                                            ; preds = %21272
  %21278 = load i32, ptr %663, align 4, !tbaa !5
  %21279 = call ptr @__errno_location() #12
  store i32 %21278, ptr %21279, align 4, !tbaa !5
  %21280 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21281 = load i32, ptr @test_count, align 4, !tbaa !5
  %21282 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21283 = load i32, ptr %21282, align 4, !tbaa !5
  %21284 = call ptr @s2n_strerror(i32 noundef %21283, ptr noundef @.str.5)
  %21285 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21286 = load i32, ptr %21285, align 4, !tbaa !5
  %21287 = call ptr @s2n_strerror_debug(i32 noundef %21286, ptr noundef @.str.5)
  %21288 = call ptr @__errno_location() #12
  %21289 = load i32, ptr %21288, align 4, !tbaa !5
  %21290 = call ptr @strerror(i32 noundef %21289) #11
  %21291 = call ptr @__errno_location() #12
  %21292 = load i32, ptr %21291, align 4, !tbaa !5
  %21293 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21280, ptr noundef @.str.3, i32 noundef %21281, ptr noundef @.str.130, ptr noundef @.str.2, i32 noundef 1057, ptr noundef %21284, ptr noundef %21287, ptr noundef %21290, i32 noundef %21292) #11
  br label %21311

21294:                                            ; preds = %21272, %21265
  %21295 = load i32, ptr %663, align 4, !tbaa !5
  %21296 = call ptr @__errno_location() #12
  store i32 %21295, ptr %21296, align 4, !tbaa !5
  %21297 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21298 = load i32, ptr @test_count, align 4, !tbaa !5
  %21299 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21300 = load i32, ptr %21299, align 4, !tbaa !5
  %21301 = call ptr @s2n_strerror(i32 noundef %21300, ptr noundef @.str.5)
  %21302 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21303 = load i32, ptr %21302, align 4, !tbaa !5
  %21304 = call ptr @s2n_strerror_debug(i32 noundef %21303, ptr noundef @.str.5)
  %21305 = call ptr @__errno_location() #12
  %21306 = load i32, ptr %21305, align 4, !tbaa !5
  %21307 = call ptr @strerror(i32 noundef %21306) #11
  %21308 = call ptr @__errno_location() #12
  %21309 = load i32, ptr %21308, align 4, !tbaa !5
  %21310 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21297, ptr noundef @.str.6, i32 noundef %21298, ptr noundef @.str.130, ptr noundef @.str.2, i32 noundef 1057, ptr noundef %21301, ptr noundef %21304, ptr noundef %21307, i32 noundef %21309) #11
  br label %21311

21311:                                            ; preds = %21294, %21277
  call void @llvm.lifetime.end.p0(i64 4, ptr %663) #11
  br label %21312

21312:                                            ; preds = %21311
  br label %21313

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

21314:                                            ; No predecessors!
  br label %21315

21315:                                            ; preds = %21314
  br label %21316

21316:                                            ; preds = %21315, %21253
  br label %21317

21317:                                            ; preds = %21316
  br label %21318

21318:                                            ; preds = %21317
  br label %21319

21319:                                            ; preds = %21318
  %21320 = load i32, ptr @test_count, align 4, !tbaa !5
  %21321 = add nsw i32 %21320, 1
  store i32 %21321, ptr @test_count, align 4, !tbaa !5
  %21322 = load ptr, ptr %659, align 8, !tbaa !9
  %21323 = getelementptr inbounds %struct.s2n_connection, ptr %21322, i32 0, i32 41
  %21324 = getelementptr inbounds %struct.s2n_stuffer, ptr %21323, i32 0, i32 2
  %21325 = load i32, ptr %21324, align 4, !tbaa !76
  %21326 = load ptr, ptr %659, align 8, !tbaa !9
  %21327 = getelementptr inbounds %struct.s2n_connection, ptr %21326, i32 0, i32 41
  %21328 = getelementptr inbounds %struct.s2n_stuffer, ptr %21327, i32 0, i32 1
  %21329 = load i32, ptr %21328, align 8, !tbaa !77
  %21330 = sub i32 %21325, %21329
  %21331 = zext i32 %21330 to i64
  %21332 = icmp eq i64 %21331, 10
  br i1 %21332, label %21386, label %21333

21333:                                            ; preds = %21319
  br label %21334

21334:                                            ; preds = %21333
  br label %21335

21335:                                            ; preds = %21334
  call void @llvm.lifetime.start.p0(i64 4, ptr %664) #11
  %21336 = call ptr @__errno_location() #12
  %21337 = load i32, ptr %21336, align 4, !tbaa !5
  store i32 %21337, ptr %664, align 4, !tbaa !5
  %21338 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21339 = call i32 @s2n_print_stacktrace(ptr noundef %21338)
  %21340 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21341 = trunc i8 %21340 to i1
  br i1 %21341, label %21342, label %21364

21342:                                            ; preds = %21335
  %21343 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21344 = call i32 @fileno(ptr noundef %21343) #11
  %21345 = call i32 @isatty(i32 noundef %21344) #11
  %21346 = icmp ne i32 %21345, 0
  br i1 %21346, label %21347, label %21364

21347:                                            ; preds = %21342
  %21348 = load i32, ptr %664, align 4, !tbaa !5
  %21349 = call ptr @__errno_location() #12
  store i32 %21348, ptr %21349, align 4, !tbaa !5
  %21350 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21351 = load i32, ptr @test_count, align 4, !tbaa !5
  %21352 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21353 = load i32, ptr %21352, align 4, !tbaa !5
  %21354 = call ptr @s2n_strerror(i32 noundef %21353, ptr noundef @.str.5)
  %21355 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21356 = load i32, ptr %21355, align 4, !tbaa !5
  %21357 = call ptr @s2n_strerror_debug(i32 noundef %21356, ptr noundef @.str.5)
  %21358 = call ptr @__errno_location() #12
  %21359 = load i32, ptr %21358, align 4, !tbaa !5
  %21360 = call ptr @strerror(i32 noundef %21359) #11
  %21361 = call ptr @__errno_location() #12
  %21362 = load i32, ptr %21361, align 4, !tbaa !5
  %21363 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21350, ptr noundef @.str.3, i32 noundef %21351, ptr noundef @.str.131, ptr noundef @.str.2, i32 noundef 1058, ptr noundef %21354, ptr noundef %21357, ptr noundef %21360, i32 noundef %21362) #11
  br label %21381

21364:                                            ; preds = %21342, %21335
  %21365 = load i32, ptr %664, align 4, !tbaa !5
  %21366 = call ptr @__errno_location() #12
  store i32 %21365, ptr %21366, align 4, !tbaa !5
  %21367 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21368 = load i32, ptr @test_count, align 4, !tbaa !5
  %21369 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21370 = load i32, ptr %21369, align 4, !tbaa !5
  %21371 = call ptr @s2n_strerror(i32 noundef %21370, ptr noundef @.str.5)
  %21372 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21373 = load i32, ptr %21372, align 4, !tbaa !5
  %21374 = call ptr @s2n_strerror_debug(i32 noundef %21373, ptr noundef @.str.5)
  %21375 = call ptr @__errno_location() #12
  %21376 = load i32, ptr %21375, align 4, !tbaa !5
  %21377 = call ptr @strerror(i32 noundef %21376) #11
  %21378 = call ptr @__errno_location() #12
  %21379 = load i32, ptr %21378, align 4, !tbaa !5
  %21380 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21367, ptr noundef @.str.6, i32 noundef %21368, ptr noundef @.str.131, ptr noundef @.str.2, i32 noundef 1058, ptr noundef %21371, ptr noundef %21374, ptr noundef %21377, i32 noundef %21379) #11
  br label %21381

21381:                                            ; preds = %21364, %21347
  call void @llvm.lifetime.end.p0(i64 4, ptr %664) #11
  br label %21382

21382:                                            ; preds = %21381
  br label %21383

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

21384:                                            ; No predecessors!
  br label %21385

21385:                                            ; preds = %21384
  br label %21386

21386:                                            ; preds = %21385, %21319
  br label %21387

21387:                                            ; preds = %21386
  br label %21388

21388:                                            ; preds = %21387
  call void @llvm.lifetime.start.p0(i64 8, ptr %665) #11
  %21389 = load ptr, ptr %659, align 8, !tbaa !9
  %21390 = getelementptr inbounds %struct.s2n_connection, ptr %21389, i32 0, i32 41
  %21391 = call ptr @s2n_stuffer_raw_read(ptr noundef %21390, i32 noundef 10)
  store ptr %21391, ptr %665, align 8, !tbaa !9
  br label %21392

21392:                                            ; preds = %21388
  br label %21393

21393:                                            ; preds = %21392
  %21394 = load i32, ptr @test_count, align 4, !tbaa !5
  %21395 = add nsw i32 %21394, 1
  store i32 %21395, ptr @test_count, align 4, !tbaa !5
  %21396 = load ptr, ptr %665, align 8, !tbaa !9
  %21397 = getelementptr inbounds [16384 x i8], ptr %10, i64 0, i64 0
  %21398 = call i32 @memcmp(ptr noundef %21396, ptr noundef %21397, i64 noundef 10) #14
  %21399 = icmp eq i32 %21398, 0
  br i1 %21399, label %21453, label %21400

21400:                                            ; preds = %21393
  br label %21401

21401:                                            ; preds = %21400
  br label %21402

21402:                                            ; preds = %21401
  call void @llvm.lifetime.start.p0(i64 4, ptr %666) #11
  %21403 = call ptr @__errno_location() #12
  %21404 = load i32, ptr %21403, align 4, !tbaa !5
  store i32 %21404, ptr %666, align 4, !tbaa !5
  %21405 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21406 = call i32 @s2n_print_stacktrace(ptr noundef %21405)
  %21407 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21408 = trunc i8 %21407 to i1
  br i1 %21408, label %21409, label %21431

21409:                                            ; preds = %21402
  %21410 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21411 = call i32 @fileno(ptr noundef %21410) #11
  %21412 = call i32 @isatty(i32 noundef %21411) #11
  %21413 = icmp ne i32 %21412, 0
  br i1 %21413, label %21414, label %21431

21414:                                            ; preds = %21409
  %21415 = load i32, ptr %666, align 4, !tbaa !5
  %21416 = call ptr @__errno_location() #12
  store i32 %21415, ptr %21416, align 4, !tbaa !5
  %21417 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21418 = load i32, ptr @test_count, align 4, !tbaa !5
  %21419 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21420 = load i32, ptr %21419, align 4, !tbaa !5
  %21421 = call ptr @s2n_strerror(i32 noundef %21420, ptr noundef @.str.5)
  %21422 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21423 = load i32, ptr %21422, align 4, !tbaa !5
  %21424 = call ptr @s2n_strerror_debug(i32 noundef %21423, ptr noundef @.str.5)
  %21425 = call ptr @__errno_location() #12
  %21426 = load i32, ptr %21425, align 4, !tbaa !5
  %21427 = call ptr @strerror(i32 noundef %21426) #11
  %21428 = call ptr @__errno_location() #12
  %21429 = load i32, ptr %21428, align 4, !tbaa !5
  %21430 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21417, ptr noundef @.str.3, i32 noundef %21418, ptr noundef @.str.132, ptr noundef @.str.2, i32 noundef 1060, ptr noundef %21421, ptr noundef %21424, ptr noundef %21427, i32 noundef %21429) #11
  br label %21448

21431:                                            ; preds = %21409, %21402
  %21432 = load i32, ptr %666, align 4, !tbaa !5
  %21433 = call ptr @__errno_location() #12
  store i32 %21432, ptr %21433, align 4, !tbaa !5
  %21434 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21435 = load i32, ptr @test_count, align 4, !tbaa !5
  %21436 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21437 = load i32, ptr %21436, align 4, !tbaa !5
  %21438 = call ptr @s2n_strerror(i32 noundef %21437, ptr noundef @.str.5)
  %21439 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21440 = load i32, ptr %21439, align 4, !tbaa !5
  %21441 = call ptr @s2n_strerror_debug(i32 noundef %21440, ptr noundef @.str.5)
  %21442 = call ptr @__errno_location() #12
  %21443 = load i32, ptr %21442, align 4, !tbaa !5
  %21444 = call ptr @strerror(i32 noundef %21443) #11
  %21445 = call ptr @__errno_location() #12
  %21446 = load i32, ptr %21445, align 4, !tbaa !5
  %21447 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21434, ptr noundef @.str.6, i32 noundef %21435, ptr noundef @.str.132, ptr noundef @.str.2, i32 noundef 1060, ptr noundef %21438, ptr noundef %21441, ptr noundef %21444, i32 noundef %21446) #11
  br label %21448

21448:                                            ; preds = %21431, %21414
  call void @llvm.lifetime.end.p0(i64 4, ptr %666) #11
  br label %21449

21449:                                            ; preds = %21448
  br label %21450

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

21451:                                            ; No predecessors!
  br label %21452

21452:                                            ; preds = %21451
  br label %21453

21453:                                            ; preds = %21452, %21393
  br label %21454

21454:                                            ; preds = %21453
  br label %21455

21455:                                            ; preds = %21454
  br label %21456

21456:                                            ; preds = %21455
  br label %21457

21457:                                            ; preds = %21456
  call void @llvm.lifetime.end.p0(i64 8, ptr %665) #11
  call void @llvm.lifetime.end.p0(i64 16, ptr %661) #11
  %21458 = call i32 @s2n_connection_ptr_free(ptr noundef %659)
  %21459 = getelementptr inbounds %struct.s2n_result, ptr %667, i32 0, i32 0
  store i32 %21458, ptr %21459, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %659) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %668) #11
  %21460 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %21460, ptr %668, align 8, !tbaa !9
  br label %21461

21461:                                            ; preds = %21457
  %21462 = load i32, ptr @test_count, align 4, !tbaa !5
  %21463 = add nsw i32 %21462, 1
  store i32 %21463, ptr @test_count, align 4, !tbaa !5
  %21464 = load ptr, ptr %668, align 8, !tbaa !9
  %21465 = icmp eq ptr %21464, null
  br i1 %21465, label %21466, label %21519

21466:                                            ; preds = %21461
  br label %21467

21467:                                            ; preds = %21466
  br label %21468

21468:                                            ; preds = %21467
  call void @llvm.lifetime.start.p0(i64 4, ptr %669) #11
  %21469 = call ptr @__errno_location() #12
  %21470 = load i32, ptr %21469, align 4, !tbaa !5
  store i32 %21470, ptr %669, align 4, !tbaa !5
  %21471 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21472 = call i32 @s2n_print_stacktrace(ptr noundef %21471)
  %21473 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21474 = trunc i8 %21473 to i1
  br i1 %21474, label %21475, label %21497

21475:                                            ; preds = %21468
  %21476 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21477 = call i32 @fileno(ptr noundef %21476) #11
  %21478 = call i32 @isatty(i32 noundef %21477) #11
  %21479 = icmp ne i32 %21478, 0
  br i1 %21479, label %21480, label %21497

21480:                                            ; preds = %21475
  %21481 = load i32, ptr %669, align 4, !tbaa !5
  %21482 = call ptr @__errno_location() #12
  store i32 %21481, ptr %21482, align 4, !tbaa !5
  %21483 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21484 = load i32, ptr @test_count, align 4, !tbaa !5
  %21485 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21486 = load i32, ptr %21485, align 4, !tbaa !5
  %21487 = call ptr @s2n_strerror(i32 noundef %21486, ptr noundef @.str.5)
  %21488 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21489 = load i32, ptr %21488, align 4, !tbaa !5
  %21490 = call ptr @s2n_strerror_debug(i32 noundef %21489, ptr noundef @.str.5)
  %21491 = call ptr @__errno_location() #12
  %21492 = load i32, ptr %21491, align 4, !tbaa !5
  %21493 = call ptr @strerror(i32 noundef %21492) #11
  %21494 = call ptr @__errno_location() #12
  %21495 = load i32, ptr %21494, align 4, !tbaa !5
  %21496 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21483, ptr noundef @.str.3, i32 noundef %21484, ptr noundef @.str.79, ptr noundef @.str.2, i32 noundef 1067, ptr noundef %21487, ptr noundef %21490, ptr noundef %21493, i32 noundef %21495) #11
  br label %21514

21497:                                            ; preds = %21475, %21468
  %21498 = load i32, ptr %669, align 4, !tbaa !5
  %21499 = call ptr @__errno_location() #12
  store i32 %21498, ptr %21499, align 4, !tbaa !5
  %21500 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21501 = load i32, ptr @test_count, align 4, !tbaa !5
  %21502 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21503 = load i32, ptr %21502, align 4, !tbaa !5
  %21504 = call ptr @s2n_strerror(i32 noundef %21503, ptr noundef @.str.5)
  %21505 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21506 = load i32, ptr %21505, align 4, !tbaa !5
  %21507 = call ptr @s2n_strerror_debug(i32 noundef %21506, ptr noundef @.str.5)
  %21508 = call ptr @__errno_location() #12
  %21509 = load i32, ptr %21508, align 4, !tbaa !5
  %21510 = call ptr @strerror(i32 noundef %21509) #11
  %21511 = call ptr @__errno_location() #12
  %21512 = load i32, ptr %21511, align 4, !tbaa !5
  %21513 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21500, ptr noundef @.str.6, i32 noundef %21501, ptr noundef @.str.79, ptr noundef @.str.2, i32 noundef 1067, ptr noundef %21504, ptr noundef %21507, ptr noundef %21510, i32 noundef %21512) #11
  br label %21514

21514:                                            ; preds = %21497, %21480
  call void @llvm.lifetime.end.p0(i64 4, ptr %669) #11
  br label %21515

21515:                                            ; preds = %21514
  br label %21516

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

21517:                                            ; No predecessors!
  br label %21518

21518:                                            ; preds = %21517
  br label %21519

21519:                                            ; preds = %21518, %21461
  br label %21520

21520:                                            ; preds = %21519
  br label %21521

21521:                                            ; preds = %21520
  call void @llvm.lifetime.start.p0(i64 16, ptr %670) #11
  %21522 = getelementptr inbounds %struct.iovec, ptr %670, i32 0, i32 0
  %21523 = getelementptr inbounds [16384 x i8], ptr %10, i64 0, i64 0
  store ptr %21523, ptr %21522, align 8, !tbaa !16
  %21524 = getelementptr inbounds %struct.iovec, ptr %670, i32 0, i32 1
  store i64 16384, ptr %21524, align 8, !tbaa !19
  br label %21525

21525:                                            ; preds = %21521
  br label %21526

21526:                                            ; preds = %21525
  br label %21527

21527:                                            ; preds = %21526
  %21528 = load i32, ptr @test_count, align 4, !tbaa !5
  %21529 = add nsw i32 %21528, 1
  store i32 %21529, ptr @test_count, align 4, !tbaa !5
  %21530 = load ptr, ptr %668, align 8, !tbaa !9
  %21531 = call i32 @s2n_ktls_record_writev(ptr noundef %21530, i8 noundef zeroext 22, ptr noundef %670, i32 noundef 1, i64 noundef 0, i64 noundef 10)
  %21532 = icmp eq i32 %21531, -1
  br i1 %21532, label %21586, label %21533

21533:                                            ; preds = %21527
  br label %21534

21534:                                            ; preds = %21533
  br label %21535

21535:                                            ; preds = %21534
  call void @llvm.lifetime.start.p0(i64 4, ptr %671) #11
  %21536 = call ptr @__errno_location() #12
  %21537 = load i32, ptr %21536, align 4, !tbaa !5
  store i32 %21537, ptr %671, align 4, !tbaa !5
  %21538 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21539 = call i32 @s2n_print_stacktrace(ptr noundef %21538)
  %21540 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21541 = trunc i8 %21540 to i1
  br i1 %21541, label %21542, label %21564

21542:                                            ; preds = %21535
  %21543 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21544 = call i32 @fileno(ptr noundef %21543) #11
  %21545 = call i32 @isatty(i32 noundef %21544) #11
  %21546 = icmp ne i32 %21545, 0
  br i1 %21546, label %21547, label %21564

21547:                                            ; preds = %21542
  %21548 = load i32, ptr %671, align 4, !tbaa !5
  %21549 = call ptr @__errno_location() #12
  store i32 %21548, ptr %21549, align 4, !tbaa !5
  %21550 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21551 = load i32, ptr @test_count, align 4, !tbaa !5
  %21552 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21553 = load i32, ptr %21552, align 4, !tbaa !5
  %21554 = call ptr @s2n_strerror(i32 noundef %21553, ptr noundef @.str.5)
  %21555 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21556 = load i32, ptr %21555, align 4, !tbaa !5
  %21557 = call ptr @s2n_strerror_debug(i32 noundef %21556, ptr noundef @.str.5)
  %21558 = call ptr @__errno_location() #12
  %21559 = load i32, ptr %21558, align 4, !tbaa !5
  %21560 = call ptr @strerror(i32 noundef %21559) #11
  %21561 = call ptr @__errno_location() #12
  %21562 = load i32, ptr %21561, align 4, !tbaa !5
  %21563 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21550, ptr noundef @.str.3, i32 noundef %21551, ptr noundef @.str.133, ptr noundef @.str.2, i32 noundef 1074, ptr noundef %21554, ptr noundef %21557, ptr noundef %21560, i32 noundef %21562) #11
  br label %21581

21564:                                            ; preds = %21542, %21535
  %21565 = load i32, ptr %671, align 4, !tbaa !5
  %21566 = call ptr @__errno_location() #12
  store i32 %21565, ptr %21566, align 4, !tbaa !5
  %21567 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21568 = load i32, ptr @test_count, align 4, !tbaa !5
  %21569 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21570 = load i32, ptr %21569, align 4, !tbaa !5
  %21571 = call ptr @s2n_strerror(i32 noundef %21570, ptr noundef @.str.5)
  %21572 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21573 = load i32, ptr %21572, align 4, !tbaa !5
  %21574 = call ptr @s2n_strerror_debug(i32 noundef %21573, ptr noundef @.str.5)
  %21575 = call ptr @__errno_location() #12
  %21576 = load i32, ptr %21575, align 4, !tbaa !5
  %21577 = call ptr @strerror(i32 noundef %21576) #11
  %21578 = call ptr @__errno_location() #12
  %21579 = load i32, ptr %21578, align 4, !tbaa !5
  %21580 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21567, ptr noundef @.str.6, i32 noundef %21568, ptr noundef @.str.133, ptr noundef @.str.2, i32 noundef 1074, ptr noundef %21571, ptr noundef %21574, ptr noundef %21577, i32 noundef %21579) #11
  br label %21581

21581:                                            ; preds = %21564, %21547
  call void @llvm.lifetime.end.p0(i64 4, ptr %671) #11
  br label %21582

21582:                                            ; preds = %21581
  br label %21583

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

21584:                                            ; No predecessors!
  br label %21585

21585:                                            ; preds = %21584
  br label %21586

21586:                                            ; preds = %21585, %21527
  br label %21587

21587:                                            ; preds = %21586
  br label %21588

21588:                                            ; preds = %21587
  br label %21589

21589:                                            ; preds = %21588
  %21590 = load i32, ptr @test_count, align 4, !tbaa !5
  %21591 = add nsw i32 %21590, 1
  store i32 %21591, ptr @test_count, align 4, !tbaa !5
  %21592 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21593 = load i32, ptr %21592, align 4, !tbaa !5
  %21594 = icmp eq i32 %21593, 402653231
  br i1 %21594, label %21648, label %21595

21595:                                            ; preds = %21589
  br label %21596

21596:                                            ; preds = %21595
  br label %21597

21597:                                            ; preds = %21596
  call void @llvm.lifetime.start.p0(i64 4, ptr %672) #11
  %21598 = call ptr @__errno_location() #12
  %21599 = load i32, ptr %21598, align 4, !tbaa !5
  store i32 %21599, ptr %672, align 4, !tbaa !5
  %21600 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21601 = call i32 @s2n_print_stacktrace(ptr noundef %21600)
  %21602 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21603 = trunc i8 %21602 to i1
  br i1 %21603, label %21604, label %21626

21604:                                            ; preds = %21597
  %21605 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21606 = call i32 @fileno(ptr noundef %21605) #11
  %21607 = call i32 @isatty(i32 noundef %21606) #11
  %21608 = icmp ne i32 %21607, 0
  br i1 %21608, label %21609, label %21626

21609:                                            ; preds = %21604
  %21610 = load i32, ptr %672, align 4, !tbaa !5
  %21611 = call ptr @__errno_location() #12
  store i32 %21610, ptr %21611, align 4, !tbaa !5
  %21612 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21613 = load i32, ptr @test_count, align 4, !tbaa !5
  %21614 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21615 = load i32, ptr %21614, align 4, !tbaa !5
  %21616 = call ptr @s2n_strerror(i32 noundef %21615, ptr noundef @.str.5)
  %21617 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21618 = load i32, ptr %21617, align 4, !tbaa !5
  %21619 = call ptr @s2n_strerror_debug(i32 noundef %21618, ptr noundef @.str.5)
  %21620 = call ptr @__errno_location() #12
  %21621 = load i32, ptr %21620, align 4, !tbaa !5
  %21622 = call ptr @strerror(i32 noundef %21621) #11
  %21623 = call ptr @__errno_location() #12
  %21624 = load i32, ptr %21623, align 4, !tbaa !5
  %21625 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21612, ptr noundef @.str.3, i32 noundef %21613, ptr noundef @.str.134, ptr noundef @.str.2, i32 noundef 1074, ptr noundef %21616, ptr noundef %21619, ptr noundef %21622, i32 noundef %21624) #11
  br label %21643

21626:                                            ; preds = %21604, %21597
  %21627 = load i32, ptr %672, align 4, !tbaa !5
  %21628 = call ptr @__errno_location() #12
  store i32 %21627, ptr %21628, align 4, !tbaa !5
  %21629 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21630 = load i32, ptr @test_count, align 4, !tbaa !5
  %21631 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21632 = load i32, ptr %21631, align 4, !tbaa !5
  %21633 = call ptr @s2n_strerror(i32 noundef %21632, ptr noundef @.str.5)
  %21634 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21635 = load i32, ptr %21634, align 4, !tbaa !5
  %21636 = call ptr @s2n_strerror_debug(i32 noundef %21635, ptr noundef @.str.5)
  %21637 = call ptr @__errno_location() #12
  %21638 = load i32, ptr %21637, align 4, !tbaa !5
  %21639 = call ptr @strerror(i32 noundef %21638) #11
  %21640 = call ptr @__errno_location() #12
  %21641 = load i32, ptr %21640, align 4, !tbaa !5
  %21642 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21629, ptr noundef @.str.6, i32 noundef %21630, ptr noundef @.str.134, ptr noundef @.str.2, i32 noundef 1074, ptr noundef %21633, ptr noundef %21636, ptr noundef %21639, i32 noundef %21641) #11
  br label %21643

21643:                                            ; preds = %21626, %21609
  call void @llvm.lifetime.end.p0(i64 4, ptr %672) #11
  br label %21644

21644:                                            ; preds = %21643
  br label %21645

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

21646:                                            ; No predecessors!
  br label %21647

21647:                                            ; preds = %21646
  br label %21648

21648:                                            ; preds = %21647, %21589
  br label %21649

21649:                                            ; preds = %21648
  br label %21650

21650:                                            ; preds = %21649
  br label %21651

21651:                                            ; preds = %21650
  %21652 = load i32, ptr @test_count, align 4, !tbaa !5
  %21653 = add nsw i32 %21652, 1
  store i32 %21653, ptr @test_count, align 4, !tbaa !5
  %21654 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21655 = load i32, ptr %21654, align 4, !tbaa !5
  %21656 = call ptr @s2n_strerror_debug(i32 noundef %21655, ptr noundef @.str.5)
  %21657 = icmp eq ptr %21656, null
  br i1 %21657, label %21658, label %21711

21658:                                            ; preds = %21651
  br label %21659

21659:                                            ; preds = %21658
  br label %21660

21660:                                            ; preds = %21659
  call void @llvm.lifetime.start.p0(i64 4, ptr %673) #11
  %21661 = call ptr @__errno_location() #12
  %21662 = load i32, ptr %21661, align 4, !tbaa !5
  store i32 %21662, ptr %673, align 4, !tbaa !5
  %21663 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21664 = call i32 @s2n_print_stacktrace(ptr noundef %21663)
  %21665 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21666 = trunc i8 %21665 to i1
  br i1 %21666, label %21667, label %21689

21667:                                            ; preds = %21660
  %21668 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21669 = call i32 @fileno(ptr noundef %21668) #11
  %21670 = call i32 @isatty(i32 noundef %21669) #11
  %21671 = icmp ne i32 %21670, 0
  br i1 %21671, label %21672, label %21689

21672:                                            ; preds = %21667
  %21673 = load i32, ptr %673, align 4, !tbaa !5
  %21674 = call ptr @__errno_location() #12
  store i32 %21673, ptr %21674, align 4, !tbaa !5
  %21675 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21676 = load i32, ptr @test_count, align 4, !tbaa !5
  %21677 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21678 = load i32, ptr %21677, align 4, !tbaa !5
  %21679 = call ptr @s2n_strerror(i32 noundef %21678, ptr noundef @.str.5)
  %21680 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21681 = load i32, ptr %21680, align 4, !tbaa !5
  %21682 = call ptr @s2n_strerror_debug(i32 noundef %21681, ptr noundef @.str.5)
  %21683 = call ptr @__errno_location() #12
  %21684 = load i32, ptr %21683, align 4, !tbaa !5
  %21685 = call ptr @strerror(i32 noundef %21684) #11
  %21686 = call ptr @__errno_location() #12
  %21687 = load i32, ptr %21686, align 4, !tbaa !5
  %21688 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21675, ptr noundef @.str.3, i32 noundef %21676, ptr noundef @.str.13, ptr noundef @.str.2, i32 noundef 1074, ptr noundef %21679, ptr noundef %21682, ptr noundef %21685, i32 noundef %21687) #11
  br label %21706

21689:                                            ; preds = %21667, %21660
  %21690 = load i32, ptr %673, align 4, !tbaa !5
  %21691 = call ptr @__errno_location() #12
  store i32 %21690, ptr %21691, align 4, !tbaa !5
  %21692 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21693 = load i32, ptr @test_count, align 4, !tbaa !5
  %21694 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21695 = load i32, ptr %21694, align 4, !tbaa !5
  %21696 = call ptr @s2n_strerror(i32 noundef %21695, ptr noundef @.str.5)
  %21697 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21698 = load i32, ptr %21697, align 4, !tbaa !5
  %21699 = call ptr @s2n_strerror_debug(i32 noundef %21698, ptr noundef @.str.5)
  %21700 = call ptr @__errno_location() #12
  %21701 = load i32, ptr %21700, align 4, !tbaa !5
  %21702 = call ptr @strerror(i32 noundef %21701) #11
  %21703 = call ptr @__errno_location() #12
  %21704 = load i32, ptr %21703, align 4, !tbaa !5
  %21705 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21692, ptr noundef @.str.6, i32 noundef %21693, ptr noundef @.str.13, ptr noundef @.str.2, i32 noundef 1074, ptr noundef %21696, ptr noundef %21699, ptr noundef %21702, i32 noundef %21704) #11
  br label %21706

21706:                                            ; preds = %21689, %21672
  call void @llvm.lifetime.end.p0(i64 4, ptr %673) #11
  br label %21707

21707:                                            ; preds = %21706
  br label %21708

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

21709:                                            ; No predecessors!
  br label %21710

21710:                                            ; preds = %21709
  br label %21711

21711:                                            ; preds = %21710, %21651
  br label %21712

21712:                                            ; preds = %21711
  br label %21713

21713:                                            ; preds = %21712
  br label %21714

21714:                                            ; preds = %21713
  br label %21715

21715:                                            ; preds = %21714
  br label %21716

21716:                                            ; preds = %21715
  %21717 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %21717, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %21718 = call ptr @__errno_location() #12
  store i32 0, ptr %21718, align 4, !tbaa !5
  br label %21719

21719:                                            ; preds = %21716
  br label %21720

21720:                                            ; preds = %21719
  br label %21721

21721:                                            ; preds = %21720
  br label %21722

21722:                                            ; preds = %21721
  call void @llvm.lifetime.end.p0(i64 16, ptr %670) #11
  %21723 = call i32 @s2n_connection_ptr_free(ptr noundef %668)
  %21724 = getelementptr inbounds %struct.s2n_result, ptr %674, i32 0, i32 0
  store i32 %21723, ptr %21724, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %668) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %645) #11
  call void @llvm.lifetime.start.p0(i64 16, ptr %675) #11
  %21725 = getelementptr inbounds %struct.iovec, ptr %675, i32 0, i32 0
  %21726 = getelementptr inbounds [16384 x i8], ptr %10, i64 0, i64 0
  store ptr %21726, ptr %21725, align 8, !tbaa !16
  %21727 = getelementptr inbounds %struct.iovec, ptr %675, i32 0, i32 1
  store i64 16384, ptr %21727, align 8, !tbaa !19
  call void @llvm.lifetime.start.p0(i64 4, ptr %676) #11
  store i32 0, ptr %676, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %677) #11
  store i64 8087, ptr %677, align 8, !tbaa !20
  br label %21728

21728:                                            ; preds = %21722
  %21729 = load i32, ptr @test_count, align 4, !tbaa !5
  %21730 = add nsw i32 %21729, 1
  store i32 %21730, ptr @test_count, align 4, !tbaa !5
  br label %21731

21731:                                            ; preds = %21728
  br label %21732

21732:                                            ; preds = %21731
  call void @llvm.lifetime.start.p0(i64 8, ptr %678) #11
  %21733 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %21733, ptr %678, align 8, !tbaa !9
  br label %21734

21734:                                            ; preds = %21732
  %21735 = load i32, ptr @test_count, align 4, !tbaa !5
  %21736 = add nsw i32 %21735, 1
  store i32 %21736, ptr @test_count, align 4, !tbaa !5
  %21737 = load ptr, ptr %678, align 8, !tbaa !9
  %21738 = icmp eq ptr %21737, null
  br i1 %21738, label %21739, label %21792

21739:                                            ; preds = %21734
  br label %21740

21740:                                            ; preds = %21739
  br label %21741

21741:                                            ; preds = %21740
  call void @llvm.lifetime.start.p0(i64 4, ptr %679) #11
  %21742 = call ptr @__errno_location() #12
  %21743 = load i32, ptr %21742, align 4, !tbaa !5
  store i32 %21743, ptr %679, align 4, !tbaa !5
  %21744 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21745 = call i32 @s2n_print_stacktrace(ptr noundef %21744)
  %21746 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21747 = trunc i8 %21746 to i1
  br i1 %21747, label %21748, label %21770

21748:                                            ; preds = %21741
  %21749 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21750 = call i32 @fileno(ptr noundef %21749) #11
  %21751 = call i32 @isatty(i32 noundef %21750) #11
  %21752 = icmp ne i32 %21751, 0
  br i1 %21752, label %21753, label %21770

21753:                                            ; preds = %21748
  %21754 = load i32, ptr %679, align 4, !tbaa !5
  %21755 = call ptr @__errno_location() #12
  store i32 %21754, ptr %21755, align 4, !tbaa !5
  %21756 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21757 = load i32, ptr @test_count, align 4, !tbaa !5
  %21758 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21759 = load i32, ptr %21758, align 4, !tbaa !5
  %21760 = call ptr @s2n_strerror(i32 noundef %21759, ptr noundef @.str.5)
  %21761 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21762 = load i32, ptr %21761, align 4, !tbaa !5
  %21763 = call ptr @s2n_strerror_debug(i32 noundef %21762, ptr noundef @.str.5)
  %21764 = call ptr @__errno_location() #12
  %21765 = load i32, ptr %21764, align 4, !tbaa !5
  %21766 = call ptr @strerror(i32 noundef %21765) #11
  %21767 = call ptr @__errno_location() #12
  %21768 = load i32, ptr %21767, align 4, !tbaa !5
  %21769 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21756, ptr noundef @.str.3, i32 noundef %21757, ptr noundef @.str.79, ptr noundef @.str.2, i32 noundef 1094, ptr noundef %21760, ptr noundef %21763, ptr noundef %21766, i32 noundef %21768) #11
  br label %21787

21770:                                            ; preds = %21748, %21741
  %21771 = load i32, ptr %679, align 4, !tbaa !5
  %21772 = call ptr @__errno_location() #12
  store i32 %21771, ptr %21772, align 4, !tbaa !5
  %21773 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21774 = load i32, ptr @test_count, align 4, !tbaa !5
  %21775 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21776 = load i32, ptr %21775, align 4, !tbaa !5
  %21777 = call ptr @s2n_strerror(i32 noundef %21776, ptr noundef @.str.5)
  %21778 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21779 = load i32, ptr %21778, align 4, !tbaa !5
  %21780 = call ptr @s2n_strerror_debug(i32 noundef %21779, ptr noundef @.str.5)
  %21781 = call ptr @__errno_location() #12
  %21782 = load i32, ptr %21781, align 4, !tbaa !5
  %21783 = call ptr @strerror(i32 noundef %21782) #11
  %21784 = call ptr @__errno_location() #12
  %21785 = load i32, ptr %21784, align 4, !tbaa !5
  %21786 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21773, ptr noundef @.str.6, i32 noundef %21774, ptr noundef @.str.79, ptr noundef @.str.2, i32 noundef 1094, ptr noundef %21777, ptr noundef %21780, ptr noundef %21783, i32 noundef %21785) #11
  br label %21787

21787:                                            ; preds = %21770, %21753
  call void @llvm.lifetime.end.p0(i64 4, ptr %679) #11
  br label %21788

21788:                                            ; preds = %21787
  br label %21789

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

21790:                                            ; No predecessors!
  br label %21791

21791:                                            ; preds = %21790
  br label %21792

21792:                                            ; preds = %21791, %21734
  br label %21793

21793:                                            ; preds = %21792
  br label %21794

21794:                                            ; preds = %21793
  call void @llvm.lifetime.start.p0(i64 1, ptr %680) #11
  store i8 0, ptr %680, align 1, !tbaa !15
  br label %21795

21795:                                            ; preds = %21794
  br label %21796

21796:                                            ; preds = %21795
  br label %21797

21797:                                            ; preds = %21796
  %21798 = load i32, ptr @test_count, align 4, !tbaa !5
  %21799 = add nsw i32 %21798, 1
  store i32 %21799, ptr @test_count, align 4, !tbaa !5
  %21800 = call i32 @s2n_ktls_read_full_record(ptr noundef null, ptr noundef %680)
  %21801 = icmp eq i32 %21800, -1
  br i1 %21801, label %21855, label %21802

21802:                                            ; preds = %21797
  br label %21803

21803:                                            ; preds = %21802
  br label %21804

21804:                                            ; preds = %21803
  call void @llvm.lifetime.start.p0(i64 4, ptr %681) #11
  %21805 = call ptr @__errno_location() #12
  %21806 = load i32, ptr %21805, align 4, !tbaa !5
  store i32 %21806, ptr %681, align 4, !tbaa !5
  %21807 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21808 = call i32 @s2n_print_stacktrace(ptr noundef %21807)
  %21809 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21810 = trunc i8 %21809 to i1
  br i1 %21810, label %21811, label %21833

21811:                                            ; preds = %21804
  %21812 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21813 = call i32 @fileno(ptr noundef %21812) #11
  %21814 = call i32 @isatty(i32 noundef %21813) #11
  %21815 = icmp ne i32 %21814, 0
  br i1 %21815, label %21816, label %21833

21816:                                            ; preds = %21811
  %21817 = load i32, ptr %681, align 4, !tbaa !5
  %21818 = call ptr @__errno_location() #12
  store i32 %21817, ptr %21818, align 4, !tbaa !5
  %21819 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21820 = load i32, ptr @test_count, align 4, !tbaa !5
  %21821 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21822 = load i32, ptr %21821, align 4, !tbaa !5
  %21823 = call ptr @s2n_strerror(i32 noundef %21822, ptr noundef @.str.5)
  %21824 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21825 = load i32, ptr %21824, align 4, !tbaa !5
  %21826 = call ptr @s2n_strerror_debug(i32 noundef %21825, ptr noundef @.str.5)
  %21827 = call ptr @__errno_location() #12
  %21828 = load i32, ptr %21827, align 4, !tbaa !5
  %21829 = call ptr @strerror(i32 noundef %21828) #11
  %21830 = call ptr @__errno_location() #12
  %21831 = load i32, ptr %21830, align 4, !tbaa !5
  %21832 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21819, ptr noundef @.str.3, i32 noundef %21820, ptr noundef @.str.135, ptr noundef @.str.2, i32 noundef 1097, ptr noundef %21823, ptr noundef %21826, ptr noundef %21829, i32 noundef %21831) #11
  br label %21850

21833:                                            ; preds = %21811, %21804
  %21834 = load i32, ptr %681, align 4, !tbaa !5
  %21835 = call ptr @__errno_location() #12
  store i32 %21834, ptr %21835, align 4, !tbaa !5
  %21836 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21837 = load i32, ptr @test_count, align 4, !tbaa !5
  %21838 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21839 = load i32, ptr %21838, align 4, !tbaa !5
  %21840 = call ptr @s2n_strerror(i32 noundef %21839, ptr noundef @.str.5)
  %21841 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21842 = load i32, ptr %21841, align 4, !tbaa !5
  %21843 = call ptr @s2n_strerror_debug(i32 noundef %21842, ptr noundef @.str.5)
  %21844 = call ptr @__errno_location() #12
  %21845 = load i32, ptr %21844, align 4, !tbaa !5
  %21846 = call ptr @strerror(i32 noundef %21845) #11
  %21847 = call ptr @__errno_location() #12
  %21848 = load i32, ptr %21847, align 4, !tbaa !5
  %21849 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21836, ptr noundef @.str.6, i32 noundef %21837, ptr noundef @.str.135, ptr noundef @.str.2, i32 noundef 1097, ptr noundef %21840, ptr noundef %21843, ptr noundef %21846, i32 noundef %21848) #11
  br label %21850

21850:                                            ; preds = %21833, %21816
  call void @llvm.lifetime.end.p0(i64 4, ptr %681) #11
  br label %21851

21851:                                            ; preds = %21850
  br label %21852

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

21853:                                            ; No predecessors!
  br label %21854

21854:                                            ; preds = %21853
  br label %21855

21855:                                            ; preds = %21854, %21797
  br label %21856

21856:                                            ; preds = %21855
  br label %21857

21857:                                            ; preds = %21856
  br label %21858

21858:                                            ; preds = %21857
  %21859 = load i32, ptr @test_count, align 4, !tbaa !5
  %21860 = add nsw i32 %21859, 1
  store i32 %21860, ptr @test_count, align 4, !tbaa !5
  %21861 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21862 = load i32, ptr %21861, align 4, !tbaa !5
  %21863 = icmp eq i32 %21862, 402653193
  br i1 %21863, label %21917, label %21864

21864:                                            ; preds = %21858
  br label %21865

21865:                                            ; preds = %21864
  br label %21866

21866:                                            ; preds = %21865
  call void @llvm.lifetime.start.p0(i64 4, ptr %682) #11
  %21867 = call ptr @__errno_location() #12
  %21868 = load i32, ptr %21867, align 4, !tbaa !5
  store i32 %21868, ptr %682, align 4, !tbaa !5
  %21869 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21870 = call i32 @s2n_print_stacktrace(ptr noundef %21869)
  %21871 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21872 = trunc i8 %21871 to i1
  br i1 %21872, label %21873, label %21895

21873:                                            ; preds = %21866
  %21874 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21875 = call i32 @fileno(ptr noundef %21874) #11
  %21876 = call i32 @isatty(i32 noundef %21875) #11
  %21877 = icmp ne i32 %21876, 0
  br i1 %21877, label %21878, label %21895

21878:                                            ; preds = %21873
  %21879 = load i32, ptr %682, align 4, !tbaa !5
  %21880 = call ptr @__errno_location() #12
  store i32 %21879, ptr %21880, align 4, !tbaa !5
  %21881 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21882 = load i32, ptr @test_count, align 4, !tbaa !5
  %21883 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21884 = load i32, ptr %21883, align 4, !tbaa !5
  %21885 = call ptr @s2n_strerror(i32 noundef %21884, ptr noundef @.str.5)
  %21886 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21887 = load i32, ptr %21886, align 4, !tbaa !5
  %21888 = call ptr @s2n_strerror_debug(i32 noundef %21887, ptr noundef @.str.5)
  %21889 = call ptr @__errno_location() #12
  %21890 = load i32, ptr %21889, align 4, !tbaa !5
  %21891 = call ptr @strerror(i32 noundef %21890) #11
  %21892 = call ptr @__errno_location() #12
  %21893 = load i32, ptr %21892, align 4, !tbaa !5
  %21894 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21881, ptr noundef @.str.3, i32 noundef %21882, ptr noundef @.str.12, ptr noundef @.str.2, i32 noundef 1097, ptr noundef %21885, ptr noundef %21888, ptr noundef %21891, i32 noundef %21893) #11
  br label %21912

21895:                                            ; preds = %21873, %21866
  %21896 = load i32, ptr %682, align 4, !tbaa !5
  %21897 = call ptr @__errno_location() #12
  store i32 %21896, ptr %21897, align 4, !tbaa !5
  %21898 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21899 = load i32, ptr @test_count, align 4, !tbaa !5
  %21900 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21901 = load i32, ptr %21900, align 4, !tbaa !5
  %21902 = call ptr @s2n_strerror(i32 noundef %21901, ptr noundef @.str.5)
  %21903 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21904 = load i32, ptr %21903, align 4, !tbaa !5
  %21905 = call ptr @s2n_strerror_debug(i32 noundef %21904, ptr noundef @.str.5)
  %21906 = call ptr @__errno_location() #12
  %21907 = load i32, ptr %21906, align 4, !tbaa !5
  %21908 = call ptr @strerror(i32 noundef %21907) #11
  %21909 = call ptr @__errno_location() #12
  %21910 = load i32, ptr %21909, align 4, !tbaa !5
  %21911 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21898, ptr noundef @.str.6, i32 noundef %21899, ptr noundef @.str.12, ptr noundef @.str.2, i32 noundef 1097, ptr noundef %21902, ptr noundef %21905, ptr noundef %21908, i32 noundef %21910) #11
  br label %21912

21912:                                            ; preds = %21895, %21878
  call void @llvm.lifetime.end.p0(i64 4, ptr %682) #11
  br label %21913

21913:                                            ; preds = %21912
  br label %21914

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

21915:                                            ; No predecessors!
  br label %21916

21916:                                            ; preds = %21915
  br label %21917

21917:                                            ; preds = %21916, %21858
  br label %21918

21918:                                            ; preds = %21917
  br label %21919

21919:                                            ; preds = %21918
  br label %21920

21920:                                            ; preds = %21919
  %21921 = load i32, ptr @test_count, align 4, !tbaa !5
  %21922 = add nsw i32 %21921, 1
  store i32 %21922, ptr @test_count, align 4, !tbaa !5
  %21923 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21924 = load i32, ptr %21923, align 4, !tbaa !5
  %21925 = call ptr @s2n_strerror_debug(i32 noundef %21924, ptr noundef @.str.5)
  %21926 = icmp eq ptr %21925, null
  br i1 %21926, label %21927, label %21980

21927:                                            ; preds = %21920
  br label %21928

21928:                                            ; preds = %21927
  br label %21929

21929:                                            ; preds = %21928
  call void @llvm.lifetime.start.p0(i64 4, ptr %683) #11
  %21930 = call ptr @__errno_location() #12
  %21931 = load i32, ptr %21930, align 4, !tbaa !5
  store i32 %21931, ptr %683, align 4, !tbaa !5
  %21932 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21933 = call i32 @s2n_print_stacktrace(ptr noundef %21932)
  %21934 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21935 = trunc i8 %21934 to i1
  br i1 %21935, label %21936, label %21958

21936:                                            ; preds = %21929
  %21937 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21938 = call i32 @fileno(ptr noundef %21937) #11
  %21939 = call i32 @isatty(i32 noundef %21938) #11
  %21940 = icmp ne i32 %21939, 0
  br i1 %21940, label %21941, label %21958

21941:                                            ; preds = %21936
  %21942 = load i32, ptr %683, align 4, !tbaa !5
  %21943 = call ptr @__errno_location() #12
  store i32 %21942, ptr %21943, align 4, !tbaa !5
  %21944 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21945 = load i32, ptr @test_count, align 4, !tbaa !5
  %21946 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21947 = load i32, ptr %21946, align 4, !tbaa !5
  %21948 = call ptr @s2n_strerror(i32 noundef %21947, ptr noundef @.str.5)
  %21949 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21950 = load i32, ptr %21949, align 4, !tbaa !5
  %21951 = call ptr @s2n_strerror_debug(i32 noundef %21950, ptr noundef @.str.5)
  %21952 = call ptr @__errno_location() #12
  %21953 = load i32, ptr %21952, align 4, !tbaa !5
  %21954 = call ptr @strerror(i32 noundef %21953) #11
  %21955 = call ptr @__errno_location() #12
  %21956 = load i32, ptr %21955, align 4, !tbaa !5
  %21957 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21944, ptr noundef @.str.3, i32 noundef %21945, ptr noundef @.str.13, ptr noundef @.str.2, i32 noundef 1097, ptr noundef %21948, ptr noundef %21951, ptr noundef %21954, i32 noundef %21956) #11
  br label %21975

21958:                                            ; preds = %21936, %21929
  %21959 = load i32, ptr %683, align 4, !tbaa !5
  %21960 = call ptr @__errno_location() #12
  store i32 %21959, ptr %21960, align 4, !tbaa !5
  %21961 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21962 = load i32, ptr @test_count, align 4, !tbaa !5
  %21963 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21964 = load i32, ptr %21963, align 4, !tbaa !5
  %21965 = call ptr @s2n_strerror(i32 noundef %21964, ptr noundef @.str.5)
  %21966 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21967 = load i32, ptr %21966, align 4, !tbaa !5
  %21968 = call ptr @s2n_strerror_debug(i32 noundef %21967, ptr noundef @.str.5)
  %21969 = call ptr @__errno_location() #12
  %21970 = load i32, ptr %21969, align 4, !tbaa !5
  %21971 = call ptr @strerror(i32 noundef %21970) #11
  %21972 = call ptr @__errno_location() #12
  %21973 = load i32, ptr %21972, align 4, !tbaa !5
  %21974 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21961, ptr noundef @.str.6, i32 noundef %21962, ptr noundef @.str.13, ptr noundef @.str.2, i32 noundef 1097, ptr noundef %21965, ptr noundef %21968, ptr noundef %21971, i32 noundef %21973) #11
  br label %21975

21975:                                            ; preds = %21958, %21941
  call void @llvm.lifetime.end.p0(i64 4, ptr %683) #11
  br label %21976

21976:                                            ; preds = %21975
  br label %21977

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

21978:                                            ; No predecessors!
  br label %21979

21979:                                            ; preds = %21978
  br label %21980

21980:                                            ; preds = %21979, %21920
  br label %21981

21981:                                            ; preds = %21980
  br label %21982

21982:                                            ; preds = %21981
  br label %21983

21983:                                            ; preds = %21982
  br label %21984

21984:                                            ; preds = %21983
  br label %21985

21985:                                            ; preds = %21984
  %21986 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %21986, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %21987 = call ptr @__errno_location() #12
  store i32 0, ptr %21987, align 4, !tbaa !5
  br label %21988

21988:                                            ; preds = %21985
  br label %21989

21989:                                            ; preds = %21988
  br label %21990

21990:                                            ; preds = %21989
  br label %21991

21991:                                            ; preds = %21990
  br label %21992

21992:                                            ; preds = %21991
  br label %21993

21993:                                            ; preds = %21992
  br label %21994

21994:                                            ; preds = %21993
  %21995 = load i32, ptr @test_count, align 4, !tbaa !5
  %21996 = add nsw i32 %21995, 1
  store i32 %21996, ptr @test_count, align 4, !tbaa !5
  %21997 = load ptr, ptr %678, align 8, !tbaa !9
  %21998 = call i32 @s2n_ktls_read_full_record(ptr noundef %21997, ptr noundef null)
  %21999 = icmp eq i32 %21998, -1
  br i1 %21999, label %22053, label %22000

22000:                                            ; preds = %21994
  br label %22001

22001:                                            ; preds = %22000
  br label %22002

22002:                                            ; preds = %22001
  call void @llvm.lifetime.start.p0(i64 4, ptr %684) #11
  %22003 = call ptr @__errno_location() #12
  %22004 = load i32, ptr %22003, align 4, !tbaa !5
  store i32 %22004, ptr %684, align 4, !tbaa !5
  %22005 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22006 = call i32 @s2n_print_stacktrace(ptr noundef %22005)
  %22007 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22008 = trunc i8 %22007 to i1
  br i1 %22008, label %22009, label %22031

22009:                                            ; preds = %22002
  %22010 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22011 = call i32 @fileno(ptr noundef %22010) #11
  %22012 = call i32 @isatty(i32 noundef %22011) #11
  %22013 = icmp ne i32 %22012, 0
  br i1 %22013, label %22014, label %22031

22014:                                            ; preds = %22009
  %22015 = load i32, ptr %684, align 4, !tbaa !5
  %22016 = call ptr @__errno_location() #12
  store i32 %22015, ptr %22016, align 4, !tbaa !5
  %22017 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22018 = load i32, ptr @test_count, align 4, !tbaa !5
  %22019 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22020 = load i32, ptr %22019, align 4, !tbaa !5
  %22021 = call ptr @s2n_strerror(i32 noundef %22020, ptr noundef @.str.5)
  %22022 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22023 = load i32, ptr %22022, align 4, !tbaa !5
  %22024 = call ptr @s2n_strerror_debug(i32 noundef %22023, ptr noundef @.str.5)
  %22025 = call ptr @__errno_location() #12
  %22026 = load i32, ptr %22025, align 4, !tbaa !5
  %22027 = call ptr @strerror(i32 noundef %22026) #11
  %22028 = call ptr @__errno_location() #12
  %22029 = load i32, ptr %22028, align 4, !tbaa !5
  %22030 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22017, ptr noundef @.str.3, i32 noundef %22018, ptr noundef @.str.136, ptr noundef @.str.2, i32 noundef 1099, ptr noundef %22021, ptr noundef %22024, ptr noundef %22027, i32 noundef %22029) #11
  br label %22048

22031:                                            ; preds = %22009, %22002
  %22032 = load i32, ptr %684, align 4, !tbaa !5
  %22033 = call ptr @__errno_location() #12
  store i32 %22032, ptr %22033, align 4, !tbaa !5
  %22034 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22035 = load i32, ptr @test_count, align 4, !tbaa !5
  %22036 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22037 = load i32, ptr %22036, align 4, !tbaa !5
  %22038 = call ptr @s2n_strerror(i32 noundef %22037, ptr noundef @.str.5)
  %22039 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22040 = load i32, ptr %22039, align 4, !tbaa !5
  %22041 = call ptr @s2n_strerror_debug(i32 noundef %22040, ptr noundef @.str.5)
  %22042 = call ptr @__errno_location() #12
  %22043 = load i32, ptr %22042, align 4, !tbaa !5
  %22044 = call ptr @strerror(i32 noundef %22043) #11
  %22045 = call ptr @__errno_location() #12
  %22046 = load i32, ptr %22045, align 4, !tbaa !5
  %22047 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22034, ptr noundef @.str.6, i32 noundef %22035, ptr noundef @.str.136, ptr noundef @.str.2, i32 noundef 1099, ptr noundef %22038, ptr noundef %22041, ptr noundef %22044, i32 noundef %22046) #11
  br label %22048

22048:                                            ; preds = %22031, %22014
  call void @llvm.lifetime.end.p0(i64 4, ptr %684) #11
  br label %22049

22049:                                            ; preds = %22048
  br label %22050

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

22051:                                            ; No predecessors!
  br label %22052

22052:                                            ; preds = %22051
  br label %22053

22053:                                            ; preds = %22052, %21994
  br label %22054

22054:                                            ; preds = %22053
  br label %22055

22055:                                            ; preds = %22054
  br label %22056

22056:                                            ; preds = %22055
  %22057 = load i32, ptr @test_count, align 4, !tbaa !5
  %22058 = add nsw i32 %22057, 1
  store i32 %22058, ptr @test_count, align 4, !tbaa !5
  %22059 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22060 = load i32, ptr %22059, align 4, !tbaa !5
  %22061 = icmp eq i32 %22060, 402653193
  br i1 %22061, label %22115, label %22062

22062:                                            ; preds = %22056
  br label %22063

22063:                                            ; preds = %22062
  br label %22064

22064:                                            ; preds = %22063
  call void @llvm.lifetime.start.p0(i64 4, ptr %685) #11
  %22065 = call ptr @__errno_location() #12
  %22066 = load i32, ptr %22065, align 4, !tbaa !5
  store i32 %22066, ptr %685, align 4, !tbaa !5
  %22067 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22068 = call i32 @s2n_print_stacktrace(ptr noundef %22067)
  %22069 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22070 = trunc i8 %22069 to i1
  br i1 %22070, label %22071, label %22093

22071:                                            ; preds = %22064
  %22072 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22073 = call i32 @fileno(ptr noundef %22072) #11
  %22074 = call i32 @isatty(i32 noundef %22073) #11
  %22075 = icmp ne i32 %22074, 0
  br i1 %22075, label %22076, label %22093

22076:                                            ; preds = %22071
  %22077 = load i32, ptr %685, align 4, !tbaa !5
  %22078 = call ptr @__errno_location() #12
  store i32 %22077, ptr %22078, align 4, !tbaa !5
  %22079 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22080 = load i32, ptr @test_count, align 4, !tbaa !5
  %22081 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22082 = load i32, ptr %22081, align 4, !tbaa !5
  %22083 = call ptr @s2n_strerror(i32 noundef %22082, ptr noundef @.str.5)
  %22084 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22085 = load i32, ptr %22084, align 4, !tbaa !5
  %22086 = call ptr @s2n_strerror_debug(i32 noundef %22085, ptr noundef @.str.5)
  %22087 = call ptr @__errno_location() #12
  %22088 = load i32, ptr %22087, align 4, !tbaa !5
  %22089 = call ptr @strerror(i32 noundef %22088) #11
  %22090 = call ptr @__errno_location() #12
  %22091 = load i32, ptr %22090, align 4, !tbaa !5
  %22092 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22079, ptr noundef @.str.3, i32 noundef %22080, ptr noundef @.str.12, ptr noundef @.str.2, i32 noundef 1099, ptr noundef %22083, ptr noundef %22086, ptr noundef %22089, i32 noundef %22091) #11
  br label %22110

22093:                                            ; preds = %22071, %22064
  %22094 = load i32, ptr %685, align 4, !tbaa !5
  %22095 = call ptr @__errno_location() #12
  store i32 %22094, ptr %22095, align 4, !tbaa !5
  %22096 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22097 = load i32, ptr @test_count, align 4, !tbaa !5
  %22098 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22099 = load i32, ptr %22098, align 4, !tbaa !5
  %22100 = call ptr @s2n_strerror(i32 noundef %22099, ptr noundef @.str.5)
  %22101 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22102 = load i32, ptr %22101, align 4, !tbaa !5
  %22103 = call ptr @s2n_strerror_debug(i32 noundef %22102, ptr noundef @.str.5)
  %22104 = call ptr @__errno_location() #12
  %22105 = load i32, ptr %22104, align 4, !tbaa !5
  %22106 = call ptr @strerror(i32 noundef %22105) #11
  %22107 = call ptr @__errno_location() #12
  %22108 = load i32, ptr %22107, align 4, !tbaa !5
  %22109 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22096, ptr noundef @.str.6, i32 noundef %22097, ptr noundef @.str.12, ptr noundef @.str.2, i32 noundef 1099, ptr noundef %22100, ptr noundef %22103, ptr noundef %22106, i32 noundef %22108) #11
  br label %22110

22110:                                            ; preds = %22093, %22076
  call void @llvm.lifetime.end.p0(i64 4, ptr %685) #11
  br label %22111

22111:                                            ; preds = %22110
  br label %22112

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

22113:                                            ; No predecessors!
  br label %22114

22114:                                            ; preds = %22113
  br label %22115

22115:                                            ; preds = %22114, %22056
  br label %22116

22116:                                            ; preds = %22115
  br label %22117

22117:                                            ; preds = %22116
  br label %22118

22118:                                            ; preds = %22117
  %22119 = load i32, ptr @test_count, align 4, !tbaa !5
  %22120 = add nsw i32 %22119, 1
  store i32 %22120, ptr @test_count, align 4, !tbaa !5
  %22121 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22122 = load i32, ptr %22121, align 4, !tbaa !5
  %22123 = call ptr @s2n_strerror_debug(i32 noundef %22122, ptr noundef @.str.5)
  %22124 = icmp eq ptr %22123, null
  br i1 %22124, label %22125, label %22178

22125:                                            ; preds = %22118
  br label %22126

22126:                                            ; preds = %22125
  br label %22127

22127:                                            ; preds = %22126
  call void @llvm.lifetime.start.p0(i64 4, ptr %686) #11
  %22128 = call ptr @__errno_location() #12
  %22129 = load i32, ptr %22128, align 4, !tbaa !5
  store i32 %22129, ptr %686, align 4, !tbaa !5
  %22130 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22131 = call i32 @s2n_print_stacktrace(ptr noundef %22130)
  %22132 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22133 = trunc i8 %22132 to i1
  br i1 %22133, label %22134, label %22156

22134:                                            ; preds = %22127
  %22135 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22136 = call i32 @fileno(ptr noundef %22135) #11
  %22137 = call i32 @isatty(i32 noundef %22136) #11
  %22138 = icmp ne i32 %22137, 0
  br i1 %22138, label %22139, label %22156

22139:                                            ; preds = %22134
  %22140 = load i32, ptr %686, align 4, !tbaa !5
  %22141 = call ptr @__errno_location() #12
  store i32 %22140, ptr %22141, align 4, !tbaa !5
  %22142 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22143 = load i32, ptr @test_count, align 4, !tbaa !5
  %22144 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22145 = load i32, ptr %22144, align 4, !tbaa !5
  %22146 = call ptr @s2n_strerror(i32 noundef %22145, ptr noundef @.str.5)
  %22147 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22148 = load i32, ptr %22147, align 4, !tbaa !5
  %22149 = call ptr @s2n_strerror_debug(i32 noundef %22148, ptr noundef @.str.5)
  %22150 = call ptr @__errno_location() #12
  %22151 = load i32, ptr %22150, align 4, !tbaa !5
  %22152 = call ptr @strerror(i32 noundef %22151) #11
  %22153 = call ptr @__errno_location() #12
  %22154 = load i32, ptr %22153, align 4, !tbaa !5
  %22155 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22142, ptr noundef @.str.3, i32 noundef %22143, ptr noundef @.str.13, ptr noundef @.str.2, i32 noundef 1099, ptr noundef %22146, ptr noundef %22149, ptr noundef %22152, i32 noundef %22154) #11
  br label %22173

22156:                                            ; preds = %22134, %22127
  %22157 = load i32, ptr %686, align 4, !tbaa !5
  %22158 = call ptr @__errno_location() #12
  store i32 %22157, ptr %22158, align 4, !tbaa !5
  %22159 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22160 = load i32, ptr @test_count, align 4, !tbaa !5
  %22161 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22162 = load i32, ptr %22161, align 4, !tbaa !5
  %22163 = call ptr @s2n_strerror(i32 noundef %22162, ptr noundef @.str.5)
  %22164 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22165 = load i32, ptr %22164, align 4, !tbaa !5
  %22166 = call ptr @s2n_strerror_debug(i32 noundef %22165, ptr noundef @.str.5)
  %22167 = call ptr @__errno_location() #12
  %22168 = load i32, ptr %22167, align 4, !tbaa !5
  %22169 = call ptr @strerror(i32 noundef %22168) #11
  %22170 = call ptr @__errno_location() #12
  %22171 = load i32, ptr %22170, align 4, !tbaa !5
  %22172 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22159, ptr noundef @.str.6, i32 noundef %22160, ptr noundef @.str.13, ptr noundef @.str.2, i32 noundef 1099, ptr noundef %22163, ptr noundef %22166, ptr noundef %22169, i32 noundef %22171) #11
  br label %22173

22173:                                            ; preds = %22156, %22139
  call void @llvm.lifetime.end.p0(i64 4, ptr %686) #11
  br label %22174

22174:                                            ; preds = %22173
  br label %22175

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

22176:                                            ; No predecessors!
  br label %22177

22177:                                            ; preds = %22176
  br label %22178

22178:                                            ; preds = %22177, %22118
  br label %22179

22179:                                            ; preds = %22178
  br label %22180

22180:                                            ; preds = %22179
  br label %22181

22181:                                            ; preds = %22180
  br label %22182

22182:                                            ; preds = %22181
  br label %22183

22183:                                            ; preds = %22182
  %22184 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %22184, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %22185 = call ptr @__errno_location() #12
  store i32 0, ptr %22185, align 4, !tbaa !5
  br label %22186

22186:                                            ; preds = %22183
  br label %22187

22187:                                            ; preds = %22186
  br label %22188

22188:                                            ; preds = %22187
  br label %22189

22189:                                            ; preds = %22188
  call void @llvm.lifetime.end.p0(i64 1, ptr %680) #11
  %22190 = call i32 @s2n_connection_ptr_free(ptr noundef %678)
  %22191 = getelementptr inbounds %struct.s2n_result, ptr %687, i32 0, i32 0
  store i32 %22190, ptr %22191, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %678) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %688) #11
  %22192 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %22192, ptr %688, align 8, !tbaa !9
  br label %22193

22193:                                            ; preds = %22189
  %22194 = load i32, ptr @test_count, align 4, !tbaa !5
  %22195 = add nsw i32 %22194, 1
  store i32 %22195, ptr @test_count, align 4, !tbaa !5
  %22196 = load ptr, ptr %688, align 8, !tbaa !9
  %22197 = icmp eq ptr %22196, null
  br i1 %22197, label %22198, label %22251

22198:                                            ; preds = %22193
  br label %22199

22199:                                            ; preds = %22198
  br label %22200

22200:                                            ; preds = %22199
  call void @llvm.lifetime.start.p0(i64 4, ptr %689) #11
  %22201 = call ptr @__errno_location() #12
  %22202 = load i32, ptr %22201, align 4, !tbaa !5
  store i32 %22202, ptr %689, align 4, !tbaa !5
  %22203 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22204 = call i32 @s2n_print_stacktrace(ptr noundef %22203)
  %22205 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22206 = trunc i8 %22205 to i1
  br i1 %22206, label %22207, label %22229

22207:                                            ; preds = %22200
  %22208 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22209 = call i32 @fileno(ptr noundef %22208) #11
  %22210 = call i32 @isatty(i32 noundef %22209) #11
  %22211 = icmp ne i32 %22210, 0
  br i1 %22211, label %22212, label %22229

22212:                                            ; preds = %22207
  %22213 = load i32, ptr %689, align 4, !tbaa !5
  %22214 = call ptr @__errno_location() #12
  store i32 %22213, ptr %22214, align 4, !tbaa !5
  %22215 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22216 = load i32, ptr @test_count, align 4, !tbaa !5
  %22217 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22218 = load i32, ptr %22217, align 4, !tbaa !5
  %22219 = call ptr @s2n_strerror(i32 noundef %22218, ptr noundef @.str.5)
  %22220 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22221 = load i32, ptr %22220, align 4, !tbaa !5
  %22222 = call ptr @s2n_strerror_debug(i32 noundef %22221, ptr noundef @.str.5)
  %22223 = call ptr @__errno_location() #12
  %22224 = load i32, ptr %22223, align 4, !tbaa !5
  %22225 = call ptr @strerror(i32 noundef %22224) #11
  %22226 = call ptr @__errno_location() #12
  %22227 = load i32, ptr %22226, align 4, !tbaa !5
  %22228 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22215, ptr noundef @.str.3, i32 noundef %22216, ptr noundef @.str.79, ptr noundef @.str.2, i32 noundef 1106, ptr noundef %22219, ptr noundef %22222, ptr noundef %22225, i32 noundef %22227) #11
  br label %22246

22229:                                            ; preds = %22207, %22200
  %22230 = load i32, ptr %689, align 4, !tbaa !5
  %22231 = call ptr @__errno_location() #12
  store i32 %22230, ptr %22231, align 4, !tbaa !5
  %22232 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22233 = load i32, ptr @test_count, align 4, !tbaa !5
  %22234 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22235 = load i32, ptr %22234, align 4, !tbaa !5
  %22236 = call ptr @s2n_strerror(i32 noundef %22235, ptr noundef @.str.5)
  %22237 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22238 = load i32, ptr %22237, align 4, !tbaa !5
  %22239 = call ptr @s2n_strerror_debug(i32 noundef %22238, ptr noundef @.str.5)
  %22240 = call ptr @__errno_location() #12
  %22241 = load i32, ptr %22240, align 4, !tbaa !5
  %22242 = call ptr @strerror(i32 noundef %22241) #11
  %22243 = call ptr @__errno_location() #12
  %22244 = load i32, ptr %22243, align 4, !tbaa !5
  %22245 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22232, ptr noundef @.str.6, i32 noundef %22233, ptr noundef @.str.79, ptr noundef @.str.2, i32 noundef 1106, ptr noundef %22236, ptr noundef %22239, ptr noundef %22242, i32 noundef %22244) #11
  br label %22246

22246:                                            ; preds = %22229, %22212
  call void @llvm.lifetime.end.p0(i64 4, ptr %689) #11
  br label %22247

22247:                                            ; preds = %22246
  br label %22248

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

22249:                                            ; No predecessors!
  br label %22250

22250:                                            ; preds = %22249
  br label %22251

22251:                                            ; preds = %22250, %22193
  br label %22252

22252:                                            ; preds = %22251
  br label %22253

22253:                                            ; preds = %22252
  call void @llvm.lifetime.start.p0(i64 192, ptr %690) #11
  call void @llvm.memset.p0.i64(ptr align 8 %690, i8 0, i64 192, i1 false)
  br label %22254

22254:                                            ; preds = %22253
  %22255 = load i32, ptr @test_count, align 4, !tbaa !5
  %22256 = add nsw i32 %22255, 1
  store i32 %22256, ptr @test_count, align 4, !tbaa !5
  %22257 = load ptr, ptr %688, align 8, !tbaa !9
  %22258 = load ptr, ptr %688, align 8, !tbaa !9
  %22259 = call i32 @s2n_test_init_ktls_io_stuffer(ptr noundef %22257, ptr noundef %22258, ptr noundef %690)
  %22260 = getelementptr inbounds %struct.s2n_result, ptr %691, i32 0, i32 0
  store i32 %22259, ptr %22260, align 4
  %22261 = getelementptr inbounds %struct.s2n_result, ptr %691, i32 0, i32 0
  %22262 = load i32, ptr %22261, align 4
  %22263 = call zeroext i1 @s2n_result_is_ok(i32 %22262)
  br i1 %22263, label %22317, label %22264

22264:                                            ; preds = %22254
  br label %22265

22265:                                            ; preds = %22264
  br label %22266

22266:                                            ; preds = %22265
  call void @llvm.lifetime.start.p0(i64 4, ptr %692) #11
  %22267 = call ptr @__errno_location() #12
  %22268 = load i32, ptr %22267, align 4, !tbaa !5
  store i32 %22268, ptr %692, align 4, !tbaa !5
  %22269 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22270 = call i32 @s2n_print_stacktrace(ptr noundef %22269)
  %22271 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22272 = trunc i8 %22271 to i1
  br i1 %22272, label %22273, label %22295

22273:                                            ; preds = %22266
  %22274 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22275 = call i32 @fileno(ptr noundef %22274) #11
  %22276 = call i32 @isatty(i32 noundef %22275) #11
  %22277 = icmp ne i32 %22276, 0
  br i1 %22277, label %22278, label %22295

22278:                                            ; preds = %22273
  %22279 = load i32, ptr %692, align 4, !tbaa !5
  %22280 = call ptr @__errno_location() #12
  store i32 %22279, ptr %22280, align 4, !tbaa !5
  %22281 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22282 = load i32, ptr @test_count, align 4, !tbaa !5
  %22283 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22284 = load i32, ptr %22283, align 4, !tbaa !5
  %22285 = call ptr @s2n_strerror(i32 noundef %22284, ptr noundef @.str.5)
  %22286 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22287 = load i32, ptr %22286, align 4, !tbaa !5
  %22288 = call ptr @s2n_strerror_debug(i32 noundef %22287, ptr noundef @.str.5)
  %22289 = call ptr @__errno_location() #12
  %22290 = load i32, ptr %22289, align 4, !tbaa !5
  %22291 = call ptr @strerror(i32 noundef %22290) #11
  %22292 = call ptr @__errno_location() #12
  %22293 = load i32, ptr %22292, align 4, !tbaa !5
  %22294 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22281, ptr noundef @.str.3, i32 noundef %22282, ptr noundef @.str.137, ptr noundef @.str.2, i32 noundef 1110, ptr noundef %22285, ptr noundef %22288, ptr noundef %22291, i32 noundef %22293) #11
  br label %22312

22295:                                            ; preds = %22273, %22266
  %22296 = load i32, ptr %692, align 4, !tbaa !5
  %22297 = call ptr @__errno_location() #12
  store i32 %22296, ptr %22297, align 4, !tbaa !5
  %22298 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22299 = load i32, ptr @test_count, align 4, !tbaa !5
  %22300 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22301 = load i32, ptr %22300, align 4, !tbaa !5
  %22302 = call ptr @s2n_strerror(i32 noundef %22301, ptr noundef @.str.5)
  %22303 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22304 = load i32, ptr %22303, align 4, !tbaa !5
  %22305 = call ptr @s2n_strerror_debug(i32 noundef %22304, ptr noundef @.str.5)
  %22306 = call ptr @__errno_location() #12
  %22307 = load i32, ptr %22306, align 4, !tbaa !5
  %22308 = call ptr @strerror(i32 noundef %22307) #11
  %22309 = call ptr @__errno_location() #12
  %22310 = load i32, ptr %22309, align 4, !tbaa !5
  %22311 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22298, ptr noundef @.str.6, i32 noundef %22299, ptr noundef @.str.137, ptr noundef @.str.2, i32 noundef 1110, ptr noundef %22302, ptr noundef %22305, ptr noundef %22308, i32 noundef %22310) #11
  br label %22312

22312:                                            ; preds = %22295, %22278
  call void @llvm.lifetime.end.p0(i64 4, ptr %692) #11
  br label %22313

22313:                                            ; preds = %22312
  br label %22314

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

22315:                                            ; No predecessors!
  br label %22316

22316:                                            ; preds = %22315
  br label %22317

22317:                                            ; preds = %22316, %22254
  br label %22318

22318:                                            ; preds = %22317
  br label %22319

22319:                                            ; preds = %22318
  call void @llvm.lifetime.start.p0(i64 8, ptr %693) #11
  %22320 = getelementptr inbounds %struct.s2n_test_ktls_io_stuffer_pair, ptr %690, i32 0, i32 0
  store ptr %22320, ptr %693, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %694) #11
  store i64 0, ptr %694, align 8, !tbaa !20
  br label %22321

22321:                                            ; preds = %22319
  %22322 = load i32, ptr @test_count, align 4, !tbaa !5
  %22323 = add nsw i32 %22322, 1
  store i32 %22323, ptr @test_count, align 4, !tbaa !5
  %22324 = load ptr, ptr %693, align 8, !tbaa !9
  %22325 = call i32 @s2n_ktls_sendmsg(ptr noundef %22324, i8 noundef zeroext 21, ptr noundef %675, i64 noundef 1, ptr noundef %676, ptr noundef %694)
  %22326 = getelementptr inbounds %struct.s2n_result, ptr %695, i32 0, i32 0
  store i32 %22325, ptr %22326, align 4
  %22327 = getelementptr inbounds %struct.s2n_result, ptr %695, i32 0, i32 0
  %22328 = load i32, ptr %22327, align 4
  %22329 = call zeroext i1 @s2n_result_is_ok(i32 %22328)
  br i1 %22329, label %22383, label %22330

22330:                                            ; preds = %22321
  br label %22331

22331:                                            ; preds = %22330
  br label %22332

22332:                                            ; preds = %22331
  call void @llvm.lifetime.start.p0(i64 4, ptr %696) #11
  %22333 = call ptr @__errno_location() #12
  %22334 = load i32, ptr %22333, align 4, !tbaa !5
  store i32 %22334, ptr %696, align 4, !tbaa !5
  %22335 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22336 = call i32 @s2n_print_stacktrace(ptr noundef %22335)
  %22337 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22338 = trunc i8 %22337 to i1
  br i1 %22338, label %22339, label %22361

22339:                                            ; preds = %22332
  %22340 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22341 = call i32 @fileno(ptr noundef %22340) #11
  %22342 = call i32 @isatty(i32 noundef %22341) #11
  %22343 = icmp ne i32 %22342, 0
  br i1 %22343, label %22344, label %22361

22344:                                            ; preds = %22339
  %22345 = load i32, ptr %696, align 4, !tbaa !5
  %22346 = call ptr @__errno_location() #12
  store i32 %22345, ptr %22346, align 4, !tbaa !5
  %22347 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22348 = load i32, ptr @test_count, align 4, !tbaa !5
  %22349 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22350 = load i32, ptr %22349, align 4, !tbaa !5
  %22351 = call ptr @s2n_strerror(i32 noundef %22350, ptr noundef @.str.5)
  %22352 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22353 = load i32, ptr %22352, align 4, !tbaa !5
  %22354 = call ptr @s2n_strerror_debug(i32 noundef %22353, ptr noundef @.str.5)
  %22355 = call ptr @__errno_location() #12
  %22356 = load i32, ptr %22355, align 4, !tbaa !5
  %22357 = call ptr @strerror(i32 noundef %22356) #11
  %22358 = call ptr @__errno_location() #12
  %22359 = load i32, ptr %22358, align 4, !tbaa !5
  %22360 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22347, ptr noundef @.str.3, i32 noundef %22348, ptr noundef @.str.138, ptr noundef @.str.2, i32 noundef 1114, ptr noundef %22351, ptr noundef %22354, ptr noundef %22357, i32 noundef %22359) #11
  br label %22378

22361:                                            ; preds = %22339, %22332
  %22362 = load i32, ptr %696, align 4, !tbaa !5
  %22363 = call ptr @__errno_location() #12
  store i32 %22362, ptr %22363, align 4, !tbaa !5
  %22364 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22365 = load i32, ptr @test_count, align 4, !tbaa !5
  %22366 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22367 = load i32, ptr %22366, align 4, !tbaa !5
  %22368 = call ptr @s2n_strerror(i32 noundef %22367, ptr noundef @.str.5)
  %22369 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22370 = load i32, ptr %22369, align 4, !tbaa !5
  %22371 = call ptr @s2n_strerror_debug(i32 noundef %22370, ptr noundef @.str.5)
  %22372 = call ptr @__errno_location() #12
  %22373 = load i32, ptr %22372, align 4, !tbaa !5
  %22374 = call ptr @strerror(i32 noundef %22373) #11
  %22375 = call ptr @__errno_location() #12
  %22376 = load i32, ptr %22375, align 4, !tbaa !5
  %22377 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22364, ptr noundef @.str.6, i32 noundef %22365, ptr noundef @.str.138, ptr noundef @.str.2, i32 noundef 1114, ptr noundef %22368, ptr noundef %22371, ptr noundef %22374, i32 noundef %22376) #11
  br label %22378

22378:                                            ; preds = %22361, %22344
  call void @llvm.lifetime.end.p0(i64 4, ptr %696) #11
  br label %22379

22379:                                            ; preds = %22378
  br label %22380

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

22381:                                            ; No predecessors!
  br label %22382

22382:                                            ; preds = %22381
  br label %22383

22383:                                            ; preds = %22382, %22321
  br label %22384

22384:                                            ; preds = %22383
  br label %22385

22385:                                            ; preds = %22384
  br label %22386

22386:                                            ; preds = %22385
  %22387 = load i32, ptr @test_count, align 4, !tbaa !5
  %22388 = add nsw i32 %22387, 1
  store i32 %22388, ptr @test_count, align 4, !tbaa !5
  %22389 = load i64, ptr %694, align 8, !tbaa !20
  %22390 = icmp eq i64 %22389, 16384
  br i1 %22390, label %22444, label %22391

22391:                                            ; preds = %22386
  br label %22392

22392:                                            ; preds = %22391
  br label %22393

22393:                                            ; preds = %22392
  call void @llvm.lifetime.start.p0(i64 4, ptr %697) #11
  %22394 = call ptr @__errno_location() #12
  %22395 = load i32, ptr %22394, align 4, !tbaa !5
  store i32 %22395, ptr %697, align 4, !tbaa !5
  %22396 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22397 = call i32 @s2n_print_stacktrace(ptr noundef %22396)
  %22398 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22399 = trunc i8 %22398 to i1
  br i1 %22399, label %22400, label %22422

22400:                                            ; preds = %22393
  %22401 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22402 = call i32 @fileno(ptr noundef %22401) #11
  %22403 = call i32 @isatty(i32 noundef %22402) #11
  %22404 = icmp ne i32 %22403, 0
  br i1 %22404, label %22405, label %22422

22405:                                            ; preds = %22400
  %22406 = load i32, ptr %697, align 4, !tbaa !5
  %22407 = call ptr @__errno_location() #12
  store i32 %22406, ptr %22407, align 4, !tbaa !5
  %22408 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22409 = load i32, ptr @test_count, align 4, !tbaa !5
  %22410 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22411 = load i32, ptr %22410, align 4, !tbaa !5
  %22412 = call ptr @s2n_strerror(i32 noundef %22411, ptr noundef @.str.5)
  %22413 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22414 = load i32, ptr %22413, align 4, !tbaa !5
  %22415 = call ptr @s2n_strerror_debug(i32 noundef %22414, ptr noundef @.str.5)
  %22416 = call ptr @__errno_location() #12
  %22417 = load i32, ptr %22416, align 4, !tbaa !5
  %22418 = call ptr @strerror(i32 noundef %22417) #11
  %22419 = call ptr @__errno_location() #12
  %22420 = load i32, ptr %22419, align 4, !tbaa !5
  %22421 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22408, ptr noundef @.str.3, i32 noundef %22409, ptr noundef @.str.139, ptr noundef @.str.2, i32 noundef 1115, ptr noundef %22412, ptr noundef %22415, ptr noundef %22418, i32 noundef %22420) #11
  br label %22439

22422:                                            ; preds = %22400, %22393
  %22423 = load i32, ptr %697, align 4, !tbaa !5
  %22424 = call ptr @__errno_location() #12
  store i32 %22423, ptr %22424, align 4, !tbaa !5
  %22425 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22426 = load i32, ptr @test_count, align 4, !tbaa !5
  %22427 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22428 = load i32, ptr %22427, align 4, !tbaa !5
  %22429 = call ptr @s2n_strerror(i32 noundef %22428, ptr noundef @.str.5)
  %22430 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22431 = load i32, ptr %22430, align 4, !tbaa !5
  %22432 = call ptr @s2n_strerror_debug(i32 noundef %22431, ptr noundef @.str.5)
  %22433 = call ptr @__errno_location() #12
  %22434 = load i32, ptr %22433, align 4, !tbaa !5
  %22435 = call ptr @strerror(i32 noundef %22434) #11
  %22436 = call ptr @__errno_location() #12
  %22437 = load i32, ptr %22436, align 4, !tbaa !5
  %22438 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22425, ptr noundef @.str.6, i32 noundef %22426, ptr noundef @.str.139, ptr noundef @.str.2, i32 noundef 1115, ptr noundef %22429, ptr noundef %22432, ptr noundef %22435, i32 noundef %22437) #11
  br label %22439

22439:                                            ; preds = %22422, %22405
  call void @llvm.lifetime.end.p0(i64 4, ptr %697) #11
  br label %22440

22440:                                            ; preds = %22439
  br label %22441

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

22442:                                            ; No predecessors!
  br label %22443

22443:                                            ; preds = %22442
  br label %22444

22444:                                            ; preds = %22443, %22386
  br label %22445

22445:                                            ; preds = %22444
  br label %22446

22446:                                            ; preds = %22445
  call void @llvm.lifetime.start.p0(i64 1, ptr %698) #11
  store i8 0, ptr %698, align 1, !tbaa !15
  br label %22447

22447:                                            ; preds = %22446
  %22448 = load i32, ptr @test_count, align 4, !tbaa !5
  %22449 = add nsw i32 %22448, 1
  store i32 %22449, ptr @test_count, align 4, !tbaa !5
  %22450 = load ptr, ptr %688, align 8, !tbaa !9
  %22451 = call i32 @s2n_ktls_read_full_record(ptr noundef %22450, ptr noundef %698)
  %22452 = icmp eq i32 %22451, -1
  br i1 %22452, label %22453, label %22506

22453:                                            ; preds = %22447
  br label %22454

22454:                                            ; preds = %22453
  br label %22455

22455:                                            ; preds = %22454
  call void @llvm.lifetime.start.p0(i64 4, ptr %699) #11
  %22456 = call ptr @__errno_location() #12
  %22457 = load i32, ptr %22456, align 4, !tbaa !5
  store i32 %22457, ptr %699, align 4, !tbaa !5
  %22458 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22459 = call i32 @s2n_print_stacktrace(ptr noundef %22458)
  %22460 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22461 = trunc i8 %22460 to i1
  br i1 %22461, label %22462, label %22484

22462:                                            ; preds = %22455
  %22463 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22464 = call i32 @fileno(ptr noundef %22463) #11
  %22465 = call i32 @isatty(i32 noundef %22464) #11
  %22466 = icmp ne i32 %22465, 0
  br i1 %22466, label %22467, label %22484

22467:                                            ; preds = %22462
  %22468 = load i32, ptr %699, align 4, !tbaa !5
  %22469 = call ptr @__errno_location() #12
  store i32 %22468, ptr %22469, align 4, !tbaa !5
  %22470 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22471 = load i32, ptr @test_count, align 4, !tbaa !5
  %22472 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22473 = load i32, ptr %22472, align 4, !tbaa !5
  %22474 = call ptr @s2n_strerror(i32 noundef %22473, ptr noundef @.str.5)
  %22475 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22476 = load i32, ptr %22475, align 4, !tbaa !5
  %22477 = call ptr @s2n_strerror_debug(i32 noundef %22476, ptr noundef @.str.5)
  %22478 = call ptr @__errno_location() #12
  %22479 = load i32, ptr %22478, align 4, !tbaa !5
  %22480 = call ptr @strerror(i32 noundef %22479) #11
  %22481 = call ptr @__errno_location() #12
  %22482 = load i32, ptr %22481, align 4, !tbaa !5
  %22483 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22470, ptr noundef @.str.3, i32 noundef %22471, ptr noundef @.str.140, ptr noundef @.str.2, i32 noundef 1118, ptr noundef %22474, ptr noundef %22477, ptr noundef %22480, i32 noundef %22482) #11
  br label %22501

22484:                                            ; preds = %22462, %22455
  %22485 = load i32, ptr %699, align 4, !tbaa !5
  %22486 = call ptr @__errno_location() #12
  store i32 %22485, ptr %22486, align 4, !tbaa !5
  %22487 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22488 = load i32, ptr @test_count, align 4, !tbaa !5
  %22489 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22490 = load i32, ptr %22489, align 4, !tbaa !5
  %22491 = call ptr @s2n_strerror(i32 noundef %22490, ptr noundef @.str.5)
  %22492 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22493 = load i32, ptr %22492, align 4, !tbaa !5
  %22494 = call ptr @s2n_strerror_debug(i32 noundef %22493, ptr noundef @.str.5)
  %22495 = call ptr @__errno_location() #12
  %22496 = load i32, ptr %22495, align 4, !tbaa !5
  %22497 = call ptr @strerror(i32 noundef %22496) #11
  %22498 = call ptr @__errno_location() #12
  %22499 = load i32, ptr %22498, align 4, !tbaa !5
  %22500 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22487, ptr noundef @.str.6, i32 noundef %22488, ptr noundef @.str.140, ptr noundef @.str.2, i32 noundef 1118, ptr noundef %22491, ptr noundef %22494, ptr noundef %22497, i32 noundef %22499) #11
  br label %22501

22501:                                            ; preds = %22484, %22467
  call void @llvm.lifetime.end.p0(i64 4, ptr %699) #11
  br label %22502

22502:                                            ; preds = %22501
  br label %22503

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

22504:                                            ; No predecessors!
  br label %22505

22505:                                            ; preds = %22504
  br label %22506

22506:                                            ; preds = %22505, %22447
  br label %22507

22507:                                            ; preds = %22506
  br label %22508

22508:                                            ; preds = %22507
  br label %22509

22509:                                            ; preds = %22508
  %22510 = load i32, ptr @test_count, align 4, !tbaa !5
  %22511 = add nsw i32 %22510, 1
  store i32 %22511, ptr @test_count, align 4, !tbaa !5
  %22512 = load i8, ptr %698, align 1, !tbaa !15
  %22513 = zext i8 %22512 to i32
  %22514 = icmp eq i32 %22513, 21
  br i1 %22514, label %22568, label %22515

22515:                                            ; preds = %22509
  br label %22516

22516:                                            ; preds = %22515
  br label %22517

22517:                                            ; preds = %22516
  call void @llvm.lifetime.start.p0(i64 4, ptr %700) #11
  %22518 = call ptr @__errno_location() #12
  %22519 = load i32, ptr %22518, align 4, !tbaa !5
  store i32 %22519, ptr %700, align 4, !tbaa !5
  %22520 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22521 = call i32 @s2n_print_stacktrace(ptr noundef %22520)
  %22522 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22523 = trunc i8 %22522 to i1
  br i1 %22523, label %22524, label %22546

22524:                                            ; preds = %22517
  %22525 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22526 = call i32 @fileno(ptr noundef %22525) #11
  %22527 = call i32 @isatty(i32 noundef %22526) #11
  %22528 = icmp ne i32 %22527, 0
  br i1 %22528, label %22529, label %22546

22529:                                            ; preds = %22524
  %22530 = load i32, ptr %700, align 4, !tbaa !5
  %22531 = call ptr @__errno_location() #12
  store i32 %22530, ptr %22531, align 4, !tbaa !5
  %22532 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22533 = load i32, ptr @test_count, align 4, !tbaa !5
  %22534 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22535 = load i32, ptr %22534, align 4, !tbaa !5
  %22536 = call ptr @s2n_strerror(i32 noundef %22535, ptr noundef @.str.5)
  %22537 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22538 = load i32, ptr %22537, align 4, !tbaa !5
  %22539 = call ptr @s2n_strerror_debug(i32 noundef %22538, ptr noundef @.str.5)
  %22540 = call ptr @__errno_location() #12
  %22541 = load i32, ptr %22540, align 4, !tbaa !5
  %22542 = call ptr @strerror(i32 noundef %22541) #11
  %22543 = call ptr @__errno_location() #12
  %22544 = load i32, ptr %22543, align 4, !tbaa !5
  %22545 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22532, ptr noundef @.str.3, i32 noundef %22533, ptr noundef @.str.141, ptr noundef @.str.2, i32 noundef 1119, ptr noundef %22536, ptr noundef %22539, ptr noundef %22542, i32 noundef %22544) #11
  br label %22563

22546:                                            ; preds = %22524, %22517
  %22547 = load i32, ptr %700, align 4, !tbaa !5
  %22548 = call ptr @__errno_location() #12
  store i32 %22547, ptr %22548, align 4, !tbaa !5
  %22549 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22550 = load i32, ptr @test_count, align 4, !tbaa !5
  %22551 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22552 = load i32, ptr %22551, align 4, !tbaa !5
  %22553 = call ptr @s2n_strerror(i32 noundef %22552, ptr noundef @.str.5)
  %22554 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22555 = load i32, ptr %22554, align 4, !tbaa !5
  %22556 = call ptr @s2n_strerror_debug(i32 noundef %22555, ptr noundef @.str.5)
  %22557 = call ptr @__errno_location() #12
  %22558 = load i32, ptr %22557, align 4, !tbaa !5
  %22559 = call ptr @strerror(i32 noundef %22558) #11
  %22560 = call ptr @__errno_location() #12
  %22561 = load i32, ptr %22560, align 4, !tbaa !5
  %22562 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22549, ptr noundef @.str.6, i32 noundef %22550, ptr noundef @.str.141, ptr noundef @.str.2, i32 noundef 1119, ptr noundef %22553, ptr noundef %22556, ptr noundef %22559, i32 noundef %22561) #11
  br label %22563

22563:                                            ; preds = %22546, %22529
  call void @llvm.lifetime.end.p0(i64 4, ptr %700) #11
  br label %22564

22564:                                            ; preds = %22563
  br label %22565

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

22566:                                            ; No predecessors!
  br label %22567

22567:                                            ; preds = %22566
  br label %22568

22568:                                            ; preds = %22567, %22509
  br label %22569

22569:                                            ; preds = %22568
  br label %22570

22570:                                            ; preds = %22569
  br label %22571

22571:                                            ; preds = %22570
  %22572 = load i32, ptr @test_count, align 4, !tbaa !5
  %22573 = add nsw i32 %22572, 1
  store i32 %22573, ptr @test_count, align 4, !tbaa !5
  %22574 = load ptr, ptr %688, align 8, !tbaa !9
  %22575 = getelementptr inbounds %struct.s2n_connection, ptr %22574, i32 0, i32 39
  %22576 = getelementptr inbounds %struct.s2n_stuffer, ptr %22575, i32 0, i32 0
  %22577 = getelementptr inbounds %struct.s2n_blob, ptr %22576, i32 0, i32 2
  %22578 = load i32, ptr %22577, align 4, !tbaa !78
  %22579 = zext i32 %22578 to i64
  %22580 = icmp eq i64 %22579, 8087
  br i1 %22580, label %22634, label %22581

22581:                                            ; preds = %22571
  br label %22582

22582:                                            ; preds = %22581
  br label %22583

22583:                                            ; preds = %22582
  call void @llvm.lifetime.start.p0(i64 4, ptr %701) #11
  %22584 = call ptr @__errno_location() #12
  %22585 = load i32, ptr %22584, align 4, !tbaa !5
  store i32 %22585, ptr %701, align 4, !tbaa !5
  %22586 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22587 = call i32 @s2n_print_stacktrace(ptr noundef %22586)
  %22588 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22589 = trunc i8 %22588 to i1
  br i1 %22589, label %22590, label %22612

22590:                                            ; preds = %22583
  %22591 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22592 = call i32 @fileno(ptr noundef %22591) #11
  %22593 = call i32 @isatty(i32 noundef %22592) #11
  %22594 = icmp ne i32 %22593, 0
  br i1 %22594, label %22595, label %22612

22595:                                            ; preds = %22590
  %22596 = load i32, ptr %701, align 4, !tbaa !5
  %22597 = call ptr @__errno_location() #12
  store i32 %22596, ptr %22597, align 4, !tbaa !5
  %22598 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22599 = load i32, ptr @test_count, align 4, !tbaa !5
  %22600 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22601 = load i32, ptr %22600, align 4, !tbaa !5
  %22602 = call ptr @s2n_strerror(i32 noundef %22601, ptr noundef @.str.5)
  %22603 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22604 = load i32, ptr %22603, align 4, !tbaa !5
  %22605 = call ptr @s2n_strerror_debug(i32 noundef %22604, ptr noundef @.str.5)
  %22606 = call ptr @__errno_location() #12
  %22607 = load i32, ptr %22606, align 4, !tbaa !5
  %22608 = call ptr @strerror(i32 noundef %22607) #11
  %22609 = call ptr @__errno_location() #12
  %22610 = load i32, ptr %22609, align 4, !tbaa !5
  %22611 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22598, ptr noundef @.str.3, i32 noundef %22599, ptr noundef @.str.142, ptr noundef @.str.2, i32 noundef 1121, ptr noundef %22602, ptr noundef %22605, ptr noundef %22608, i32 noundef %22610) #11
  br label %22629

22612:                                            ; preds = %22590, %22583
  %22613 = load i32, ptr %701, align 4, !tbaa !5
  %22614 = call ptr @__errno_location() #12
  store i32 %22613, ptr %22614, align 4, !tbaa !5
  %22615 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22616 = load i32, ptr @test_count, align 4, !tbaa !5
  %22617 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22618 = load i32, ptr %22617, align 4, !tbaa !5
  %22619 = call ptr @s2n_strerror(i32 noundef %22618, ptr noundef @.str.5)
  %22620 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22621 = load i32, ptr %22620, align 4, !tbaa !5
  %22622 = call ptr @s2n_strerror_debug(i32 noundef %22621, ptr noundef @.str.5)
  %22623 = call ptr @__errno_location() #12
  %22624 = load i32, ptr %22623, align 4, !tbaa !5
  %22625 = call ptr @strerror(i32 noundef %22624) #11
  %22626 = call ptr @__errno_location() #12
  %22627 = load i32, ptr %22626, align 4, !tbaa !5
  %22628 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22615, ptr noundef @.str.6, i32 noundef %22616, ptr noundef @.str.142, ptr noundef @.str.2, i32 noundef 1121, ptr noundef %22619, ptr noundef %22622, ptr noundef %22625, i32 noundef %22627) #11
  br label %22629

22629:                                            ; preds = %22612, %22595
  call void @llvm.lifetime.end.p0(i64 4, ptr %701) #11
  br label %22630

22630:                                            ; preds = %22629
  br label %22631

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

22632:                                            ; No predecessors!
  br label %22633

22633:                                            ; preds = %22632
  br label %22634

22634:                                            ; preds = %22633, %22571
  br label %22635

22635:                                            ; preds = %22634
  br label %22636

22636:                                            ; preds = %22635
  br label %22637

22637:                                            ; preds = %22636
  %22638 = load i32, ptr @test_count, align 4, !tbaa !5
  %22639 = add nsw i32 %22638, 1
  store i32 %22639, ptr @test_count, align 4, !tbaa !5
  %22640 = load ptr, ptr %688, align 8, !tbaa !9
  %22641 = getelementptr inbounds %struct.s2n_connection, ptr %22640, i32 0, i32 40
  %22642 = getelementptr inbounds %struct.s2n_stuffer, ptr %22641, i32 0, i32 0
  %22643 = getelementptr inbounds %struct.s2n_blob, ptr %22642, i32 0, i32 1
  %22644 = load i32, ptr %22643, align 8, !tbaa !79
  %22645 = zext i32 %22644 to i64
  %22646 = icmp eq i64 %22645, 8087
  br i1 %22646, label %22700, label %22647

22647:                                            ; preds = %22637
  br label %22648

22648:                                            ; preds = %22647
  br label %22649

22649:                                            ; preds = %22648
  call void @llvm.lifetime.start.p0(i64 4, ptr %702) #11
  %22650 = call ptr @__errno_location() #12
  %22651 = load i32, ptr %22650, align 4, !tbaa !5
  store i32 %22651, ptr %702, align 4, !tbaa !5
  %22652 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22653 = call i32 @s2n_print_stacktrace(ptr noundef %22652)
  %22654 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22655 = trunc i8 %22654 to i1
  br i1 %22655, label %22656, label %22678

22656:                                            ; preds = %22649
  %22657 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22658 = call i32 @fileno(ptr noundef %22657) #11
  %22659 = call i32 @isatty(i32 noundef %22658) #11
  %22660 = icmp ne i32 %22659, 0
  br i1 %22660, label %22661, label %22678

22661:                                            ; preds = %22656
  %22662 = load i32, ptr %702, align 4, !tbaa !5
  %22663 = call ptr @__errno_location() #12
  store i32 %22662, ptr %22663, align 4, !tbaa !5
  %22664 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22665 = load i32, ptr @test_count, align 4, !tbaa !5
  %22666 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22667 = load i32, ptr %22666, align 4, !tbaa !5
  %22668 = call ptr @s2n_strerror(i32 noundef %22667, ptr noundef @.str.5)
  %22669 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22670 = load i32, ptr %22669, align 4, !tbaa !5
  %22671 = call ptr @s2n_strerror_debug(i32 noundef %22670, ptr noundef @.str.5)
  %22672 = call ptr @__errno_location() #12
  %22673 = load i32, ptr %22672, align 4, !tbaa !5
  %22674 = call ptr @strerror(i32 noundef %22673) #11
  %22675 = call ptr @__errno_location() #12
  %22676 = load i32, ptr %22675, align 4, !tbaa !5
  %22677 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22664, ptr noundef @.str.3, i32 noundef %22665, ptr noundef @.str.143, ptr noundef @.str.2, i32 noundef 1122, ptr noundef %22668, ptr noundef %22671, ptr noundef %22674, i32 noundef %22676) #11
  br label %22695

22678:                                            ; preds = %22656, %22649
  %22679 = load i32, ptr %702, align 4, !tbaa !5
  %22680 = call ptr @__errno_location() #12
  store i32 %22679, ptr %22680, align 4, !tbaa !5
  %22681 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22682 = load i32, ptr @test_count, align 4, !tbaa !5
  %22683 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22684 = load i32, ptr %22683, align 4, !tbaa !5
  %22685 = call ptr @s2n_strerror(i32 noundef %22684, ptr noundef @.str.5)
  %22686 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22687 = load i32, ptr %22686, align 4, !tbaa !5
  %22688 = call ptr @s2n_strerror_debug(i32 noundef %22687, ptr noundef @.str.5)
  %22689 = call ptr @__errno_location() #12
  %22690 = load i32, ptr %22689, align 4, !tbaa !5
  %22691 = call ptr @strerror(i32 noundef %22690) #11
  %22692 = call ptr @__errno_location() #12
  %22693 = load i32, ptr %22692, align 4, !tbaa !5
  %22694 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22681, ptr noundef @.str.6, i32 noundef %22682, ptr noundef @.str.143, ptr noundef @.str.2, i32 noundef 1122, ptr noundef %22685, ptr noundef %22688, ptr noundef %22691, i32 noundef %22693) #11
  br label %22695

22695:                                            ; preds = %22678, %22661
  call void @llvm.lifetime.end.p0(i64 4, ptr %702) #11
  br label %22696

22696:                                            ; preds = %22695
  br label %22697

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

22698:                                            ; No predecessors!
  br label %22699

22699:                                            ; preds = %22698
  br label %22700

22700:                                            ; preds = %22699, %22637
  br label %22701

22701:                                            ; preds = %22700
  br label %22702

22702:                                            ; preds = %22701
  br label %22703

22703:                                            ; preds = %22702
  %22704 = load i32, ptr @test_count, align 4, !tbaa !5
  %22705 = add nsw i32 %22704, 1
  store i32 %22705, ptr @test_count, align 4, !tbaa !5
  %22706 = load ptr, ptr %688, align 8, !tbaa !9
  %22707 = getelementptr inbounds %struct.s2n_connection, ptr %22706, i32 0, i32 40
  %22708 = getelementptr inbounds %struct.s2n_stuffer, ptr %22707, i32 0, i32 2
  %22709 = load i32, ptr %22708, align 4, !tbaa !80
  %22710 = load ptr, ptr %688, align 8, !tbaa !9
  %22711 = getelementptr inbounds %struct.s2n_connection, ptr %22710, i32 0, i32 40
  %22712 = getelementptr inbounds %struct.s2n_stuffer, ptr %22711, i32 0, i32 1
  %22713 = load i32, ptr %22712, align 8, !tbaa !81
  %22714 = sub i32 %22709, %22713
  %22715 = zext i32 %22714 to i64
  %22716 = icmp eq i64 %22715, 8087
  br i1 %22716, label %22770, label %22717

22717:                                            ; preds = %22703
  br label %22718

22718:                                            ; preds = %22717
  br label %22719

22719:                                            ; preds = %22718
  call void @llvm.lifetime.start.p0(i64 4, ptr %703) #11
  %22720 = call ptr @__errno_location() #12
  %22721 = load i32, ptr %22720, align 4, !tbaa !5
  store i32 %22721, ptr %703, align 4, !tbaa !5
  %22722 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22723 = call i32 @s2n_print_stacktrace(ptr noundef %22722)
  %22724 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22725 = trunc i8 %22724 to i1
  br i1 %22725, label %22726, label %22748

22726:                                            ; preds = %22719
  %22727 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22728 = call i32 @fileno(ptr noundef %22727) #11
  %22729 = call i32 @isatty(i32 noundef %22728) #11
  %22730 = icmp ne i32 %22729, 0
  br i1 %22730, label %22731, label %22748

22731:                                            ; preds = %22726
  %22732 = load i32, ptr %703, align 4, !tbaa !5
  %22733 = call ptr @__errno_location() #12
  store i32 %22732, ptr %22733, align 4, !tbaa !5
  %22734 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22735 = load i32, ptr @test_count, align 4, !tbaa !5
  %22736 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22737 = load i32, ptr %22736, align 4, !tbaa !5
  %22738 = call ptr @s2n_strerror(i32 noundef %22737, ptr noundef @.str.5)
  %22739 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22740 = load i32, ptr %22739, align 4, !tbaa !5
  %22741 = call ptr @s2n_strerror_debug(i32 noundef %22740, ptr noundef @.str.5)
  %22742 = call ptr @__errno_location() #12
  %22743 = load i32, ptr %22742, align 4, !tbaa !5
  %22744 = call ptr @strerror(i32 noundef %22743) #11
  %22745 = call ptr @__errno_location() #12
  %22746 = load i32, ptr %22745, align 4, !tbaa !5
  %22747 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22734, ptr noundef @.str.3, i32 noundef %22735, ptr noundef @.str.144, ptr noundef @.str.2, i32 noundef 1123, ptr noundef %22738, ptr noundef %22741, ptr noundef %22744, i32 noundef %22746) #11
  br label %22765

22748:                                            ; preds = %22726, %22719
  %22749 = load i32, ptr %703, align 4, !tbaa !5
  %22750 = call ptr @__errno_location() #12
  store i32 %22749, ptr %22750, align 4, !tbaa !5
  %22751 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22752 = load i32, ptr @test_count, align 4, !tbaa !5
  %22753 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22754 = load i32, ptr %22753, align 4, !tbaa !5
  %22755 = call ptr @s2n_strerror(i32 noundef %22754, ptr noundef @.str.5)
  %22756 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22757 = load i32, ptr %22756, align 4, !tbaa !5
  %22758 = call ptr @s2n_strerror_debug(i32 noundef %22757, ptr noundef @.str.5)
  %22759 = call ptr @__errno_location() #12
  %22760 = load i32, ptr %22759, align 4, !tbaa !5
  %22761 = call ptr @strerror(i32 noundef %22760) #11
  %22762 = call ptr @__errno_location() #12
  %22763 = load i32, ptr %22762, align 4, !tbaa !5
  %22764 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22751, ptr noundef @.str.6, i32 noundef %22752, ptr noundef @.str.144, ptr noundef @.str.2, i32 noundef 1123, ptr noundef %22755, ptr noundef %22758, ptr noundef %22761, i32 noundef %22763) #11
  br label %22765

22765:                                            ; preds = %22748, %22731
  call void @llvm.lifetime.end.p0(i64 4, ptr %703) #11
  br label %22766

22766:                                            ; preds = %22765
  br label %22767

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

22768:                                            ; No predecessors!
  br label %22769

22769:                                            ; preds = %22768
  br label %22770

22770:                                            ; preds = %22769, %22703
  br label %22771

22771:                                            ; preds = %22770
  br label %22772

22772:                                            ; preds = %22771
  call void @llvm.lifetime.start.p0(i64 8, ptr %704) #11
  %22773 = load ptr, ptr %688, align 8, !tbaa !9
  %22774 = getelementptr inbounds %struct.s2n_connection, ptr %22773, i32 0, i32 40
  %22775 = call ptr @s2n_stuffer_raw_read(ptr noundef %22774, i32 noundef 8087)
  store ptr %22775, ptr %704, align 8, !tbaa !9
  br label %22776

22776:                                            ; preds = %22772
  br label %22777

22777:                                            ; preds = %22776
  %22778 = load i32, ptr @test_count, align 4, !tbaa !5
  %22779 = add nsw i32 %22778, 1
  store i32 %22779, ptr @test_count, align 4, !tbaa !5
  %22780 = load ptr, ptr %704, align 8, !tbaa !9
  %22781 = getelementptr inbounds [16384 x i8], ptr %10, i64 0, i64 0
  %22782 = call i32 @memcmp(ptr noundef %22780, ptr noundef %22781, i64 noundef 8087) #14
  %22783 = icmp eq i32 %22782, 0
  br i1 %22783, label %22837, label %22784

22784:                                            ; preds = %22777
  br label %22785

22785:                                            ; preds = %22784
  br label %22786

22786:                                            ; preds = %22785
  call void @llvm.lifetime.start.p0(i64 4, ptr %705) #11
  %22787 = call ptr @__errno_location() #12
  %22788 = load i32, ptr %22787, align 4, !tbaa !5
  store i32 %22788, ptr %705, align 4, !tbaa !5
  %22789 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22790 = call i32 @s2n_print_stacktrace(ptr noundef %22789)
  %22791 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22792 = trunc i8 %22791 to i1
  br i1 %22792, label %22793, label %22815

22793:                                            ; preds = %22786
  %22794 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22795 = call i32 @fileno(ptr noundef %22794) #11
  %22796 = call i32 @isatty(i32 noundef %22795) #11
  %22797 = icmp ne i32 %22796, 0
  br i1 %22797, label %22798, label %22815

22798:                                            ; preds = %22793
  %22799 = load i32, ptr %705, align 4, !tbaa !5
  %22800 = call ptr @__errno_location() #12
  store i32 %22799, ptr %22800, align 4, !tbaa !5
  %22801 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22802 = load i32, ptr @test_count, align 4, !tbaa !5
  %22803 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22804 = load i32, ptr %22803, align 4, !tbaa !5
  %22805 = call ptr @s2n_strerror(i32 noundef %22804, ptr noundef @.str.5)
  %22806 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22807 = load i32, ptr %22806, align 4, !tbaa !5
  %22808 = call ptr @s2n_strerror_debug(i32 noundef %22807, ptr noundef @.str.5)
  %22809 = call ptr @__errno_location() #12
  %22810 = load i32, ptr %22809, align 4, !tbaa !5
  %22811 = call ptr @strerror(i32 noundef %22810) #11
  %22812 = call ptr @__errno_location() #12
  %22813 = load i32, ptr %22812, align 4, !tbaa !5
  %22814 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22801, ptr noundef @.str.3, i32 noundef %22802, ptr noundef @.str.145, ptr noundef @.str.2, i32 noundef 1125, ptr noundef %22805, ptr noundef %22808, ptr noundef %22811, i32 noundef %22813) #11
  br label %22832

22815:                                            ; preds = %22793, %22786
  %22816 = load i32, ptr %705, align 4, !tbaa !5
  %22817 = call ptr @__errno_location() #12
  store i32 %22816, ptr %22817, align 4, !tbaa !5
  %22818 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22819 = load i32, ptr @test_count, align 4, !tbaa !5
  %22820 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22821 = load i32, ptr %22820, align 4, !tbaa !5
  %22822 = call ptr @s2n_strerror(i32 noundef %22821, ptr noundef @.str.5)
  %22823 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22824 = load i32, ptr %22823, align 4, !tbaa !5
  %22825 = call ptr @s2n_strerror_debug(i32 noundef %22824, ptr noundef @.str.5)
  %22826 = call ptr @__errno_location() #12
  %22827 = load i32, ptr %22826, align 4, !tbaa !5
  %22828 = call ptr @strerror(i32 noundef %22827) #11
  %22829 = call ptr @__errno_location() #12
  %22830 = load i32, ptr %22829, align 4, !tbaa !5
  %22831 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22818, ptr noundef @.str.6, i32 noundef %22819, ptr noundef @.str.145, ptr noundef @.str.2, i32 noundef 1125, ptr noundef %22822, ptr noundef %22825, ptr noundef %22828, i32 noundef %22830) #11
  br label %22832

22832:                                            ; preds = %22815, %22798
  call void @llvm.lifetime.end.p0(i64 4, ptr %705) #11
  br label %22833

22833:                                            ; preds = %22832
  br label %22834

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

22835:                                            ; No predecessors!
  br label %22836

22836:                                            ; preds = %22835
  br label %22837

22837:                                            ; preds = %22836, %22777
  br label %22838

22838:                                            ; preds = %22837
  br label %22839

22839:                                            ; preds = %22838
  br label %22840

22840:                                            ; preds = %22839
  br label %22841

22841:                                            ; preds = %22840
  call void @llvm.lifetime.end.p0(i64 8, ptr %704) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %698) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %694) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %693) #11
  %22842 = call i32 @s2n_ktls_io_stuffer_pair_free(ptr noundef %690)
  %22843 = getelementptr inbounds %struct.s2n_result, ptr %706, i32 0, i32 0
  store i32 %22842, ptr %22843, align 4
  call void @llvm.lifetime.end.p0(i64 192, ptr %690) #11
  %22844 = call i32 @s2n_connection_ptr_free(ptr noundef %688)
  %22845 = getelementptr inbounds %struct.s2n_result, ptr %707, i32 0, i32 0
  store i32 %22844, ptr %22845, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %688) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %708) #11
  store i64 10, ptr %708, align 8, !tbaa !20
  br label %22846

22846:                                            ; preds = %22841
  %22847 = load i32, ptr @test_count, align 4, !tbaa !5
  %22848 = add nsw i32 %22847, 1
  store i32 %22848, ptr @test_count, align 4, !tbaa !5
  br label %22849

22849:                                            ; preds = %22846
  br label %22850

22850:                                            ; preds = %22849
  br label %22851

22851:                                            ; preds = %22850
  %22852 = load i32, ptr @test_count, align 4, !tbaa !5
  %22853 = add nsw i32 %22852, 1
  store i32 %22853, ptr @test_count, align 4, !tbaa !5
  br label %22854

22854:                                            ; preds = %22851
  br label %22855

22855:                                            ; preds = %22854
  call void @llvm.lifetime.start.p0(i64 16, ptr %709) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %709, ptr align 8 %675, i64 16, i1 false), !tbaa.struct !82
  %22856 = getelementptr inbounds %struct.iovec, ptr %709, i32 0, i32 1
  store i64 10, ptr %22856, align 8, !tbaa !19
  call void @llvm.lifetime.start.p0(i64 8, ptr %710) #11
  %22857 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %22857, ptr %710, align 8, !tbaa !9
  br label %22858

22858:                                            ; preds = %22855
  %22859 = load i32, ptr @test_count, align 4, !tbaa !5
  %22860 = add nsw i32 %22859, 1
  store i32 %22860, ptr @test_count, align 4, !tbaa !5
  %22861 = load ptr, ptr %710, align 8, !tbaa !9
  %22862 = icmp eq ptr %22861, null
  br i1 %22862, label %22863, label %22916

22863:                                            ; preds = %22858
  br label %22864

22864:                                            ; preds = %22863
  br label %22865

22865:                                            ; preds = %22864
  call void @llvm.lifetime.start.p0(i64 4, ptr %711) #11
  %22866 = call ptr @__errno_location() #12
  %22867 = load i32, ptr %22866, align 4, !tbaa !5
  store i32 %22867, ptr %711, align 4, !tbaa !5
  %22868 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22869 = call i32 @s2n_print_stacktrace(ptr noundef %22868)
  %22870 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22871 = trunc i8 %22870 to i1
  br i1 %22871, label %22872, label %22894

22872:                                            ; preds = %22865
  %22873 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22874 = call i32 @fileno(ptr noundef %22873) #11
  %22875 = call i32 @isatty(i32 noundef %22874) #11
  %22876 = icmp ne i32 %22875, 0
  br i1 %22876, label %22877, label %22894

22877:                                            ; preds = %22872
  %22878 = load i32, ptr %711, align 4, !tbaa !5
  %22879 = call ptr @__errno_location() #12
  store i32 %22878, ptr %22879, align 4, !tbaa !5
  %22880 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22881 = load i32, ptr @test_count, align 4, !tbaa !5
  %22882 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22883 = load i32, ptr %22882, align 4, !tbaa !5
  %22884 = call ptr @s2n_strerror(i32 noundef %22883, ptr noundef @.str.5)
  %22885 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22886 = load i32, ptr %22885, align 4, !tbaa !5
  %22887 = call ptr @s2n_strerror_debug(i32 noundef %22886, ptr noundef @.str.5)
  %22888 = call ptr @__errno_location() #12
  %22889 = load i32, ptr %22888, align 4, !tbaa !5
  %22890 = call ptr @strerror(i32 noundef %22889) #11
  %22891 = call ptr @__errno_location() #12
  %22892 = load i32, ptr %22891, align 4, !tbaa !5
  %22893 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22880, ptr noundef @.str.3, i32 noundef %22881, ptr noundef @.str.79, ptr noundef @.str.2, i32 noundef 1138, ptr noundef %22884, ptr noundef %22887, ptr noundef %22890, i32 noundef %22892) #11
  br label %22911

22894:                                            ; preds = %22872, %22865
  %22895 = load i32, ptr %711, align 4, !tbaa !5
  %22896 = call ptr @__errno_location() #12
  store i32 %22895, ptr %22896, align 4, !tbaa !5
  %22897 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22898 = load i32, ptr @test_count, align 4, !tbaa !5
  %22899 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22900 = load i32, ptr %22899, align 4, !tbaa !5
  %22901 = call ptr @s2n_strerror(i32 noundef %22900, ptr noundef @.str.5)
  %22902 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22903 = load i32, ptr %22902, align 4, !tbaa !5
  %22904 = call ptr @s2n_strerror_debug(i32 noundef %22903, ptr noundef @.str.5)
  %22905 = call ptr @__errno_location() #12
  %22906 = load i32, ptr %22905, align 4, !tbaa !5
  %22907 = call ptr @strerror(i32 noundef %22906) #11
  %22908 = call ptr @__errno_location() #12
  %22909 = load i32, ptr %22908, align 4, !tbaa !5
  %22910 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22897, ptr noundef @.str.6, i32 noundef %22898, ptr noundef @.str.79, ptr noundef @.str.2, i32 noundef 1138, ptr noundef %22901, ptr noundef %22904, ptr noundef %22907, i32 noundef %22909) #11
  br label %22911

22911:                                            ; preds = %22894, %22877
  call void @llvm.lifetime.end.p0(i64 4, ptr %711) #11
  br label %22912

22912:                                            ; preds = %22911
  br label %22913

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

22914:                                            ; No predecessors!
  br label %22915

22915:                                            ; preds = %22914
  br label %22916

22916:                                            ; preds = %22915, %22858
  br label %22917

22917:                                            ; preds = %22916
  br label %22918

22918:                                            ; preds = %22917
  call void @llvm.lifetime.start.p0(i64 192, ptr %712) #11
  call void @llvm.memset.p0.i64(ptr align 8 %712, i8 0, i64 192, i1 false)
  br label %22919

22919:                                            ; preds = %22918
  %22920 = load i32, ptr @test_count, align 4, !tbaa !5
  %22921 = add nsw i32 %22920, 1
  store i32 %22921, ptr @test_count, align 4, !tbaa !5
  %22922 = load ptr, ptr %710, align 8, !tbaa !9
  %22923 = load ptr, ptr %710, align 8, !tbaa !9
  %22924 = call i32 @s2n_test_init_ktls_io_stuffer(ptr noundef %22922, ptr noundef %22923, ptr noundef %712)
  %22925 = getelementptr inbounds %struct.s2n_result, ptr %713, i32 0, i32 0
  store i32 %22924, ptr %22925, align 4
  %22926 = getelementptr inbounds %struct.s2n_result, ptr %713, i32 0, i32 0
  %22927 = load i32, ptr %22926, align 4
  %22928 = call zeroext i1 @s2n_result_is_ok(i32 %22927)
  br i1 %22928, label %22982, label %22929

22929:                                            ; preds = %22919
  br label %22930

22930:                                            ; preds = %22929
  br label %22931

22931:                                            ; preds = %22930
  call void @llvm.lifetime.start.p0(i64 4, ptr %714) #11
  %22932 = call ptr @__errno_location() #12
  %22933 = load i32, ptr %22932, align 4, !tbaa !5
  store i32 %22933, ptr %714, align 4, !tbaa !5
  %22934 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22935 = call i32 @s2n_print_stacktrace(ptr noundef %22934)
  %22936 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22937 = trunc i8 %22936 to i1
  br i1 %22937, label %22938, label %22960

22938:                                            ; preds = %22931
  %22939 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22940 = call i32 @fileno(ptr noundef %22939) #11
  %22941 = call i32 @isatty(i32 noundef %22940) #11
  %22942 = icmp ne i32 %22941, 0
  br i1 %22942, label %22943, label %22960

22943:                                            ; preds = %22938
  %22944 = load i32, ptr %714, align 4, !tbaa !5
  %22945 = call ptr @__errno_location() #12
  store i32 %22944, ptr %22945, align 4, !tbaa !5
  %22946 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22947 = load i32, ptr @test_count, align 4, !tbaa !5
  %22948 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22949 = load i32, ptr %22948, align 4, !tbaa !5
  %22950 = call ptr @s2n_strerror(i32 noundef %22949, ptr noundef @.str.5)
  %22951 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22952 = load i32, ptr %22951, align 4, !tbaa !5
  %22953 = call ptr @s2n_strerror_debug(i32 noundef %22952, ptr noundef @.str.5)
  %22954 = call ptr @__errno_location() #12
  %22955 = load i32, ptr %22954, align 4, !tbaa !5
  %22956 = call ptr @strerror(i32 noundef %22955) #11
  %22957 = call ptr @__errno_location() #12
  %22958 = load i32, ptr %22957, align 4, !tbaa !5
  %22959 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22946, ptr noundef @.str.3, i32 noundef %22947, ptr noundef @.str.137, ptr noundef @.str.2, i32 noundef 1142, ptr noundef %22950, ptr noundef %22953, ptr noundef %22956, i32 noundef %22958) #11
  br label %22977

22960:                                            ; preds = %22938, %22931
  %22961 = load i32, ptr %714, align 4, !tbaa !5
  %22962 = call ptr @__errno_location() #12
  store i32 %22961, ptr %22962, align 4, !tbaa !5
  %22963 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22964 = load i32, ptr @test_count, align 4, !tbaa !5
  %22965 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22966 = load i32, ptr %22965, align 4, !tbaa !5
  %22967 = call ptr @s2n_strerror(i32 noundef %22966, ptr noundef @.str.5)
  %22968 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22969 = load i32, ptr %22968, align 4, !tbaa !5
  %22970 = call ptr @s2n_strerror_debug(i32 noundef %22969, ptr noundef @.str.5)
  %22971 = call ptr @__errno_location() #12
  %22972 = load i32, ptr %22971, align 4, !tbaa !5
  %22973 = call ptr @strerror(i32 noundef %22972) #11
  %22974 = call ptr @__errno_location() #12
  %22975 = load i32, ptr %22974, align 4, !tbaa !5
  %22976 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22963, ptr noundef @.str.6, i32 noundef %22964, ptr noundef @.str.137, ptr noundef @.str.2, i32 noundef 1142, ptr noundef %22967, ptr noundef %22970, ptr noundef %22973, i32 noundef %22975) #11
  br label %22977

22977:                                            ; preds = %22960, %22943
  call void @llvm.lifetime.end.p0(i64 4, ptr %714) #11
  br label %22978

22978:                                            ; preds = %22977
  br label %22979

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

22980:                                            ; No predecessors!
  br label %22981

22981:                                            ; preds = %22980
  br label %22982

22982:                                            ; preds = %22981, %22919
  br label %22983

22983:                                            ; preds = %22982
  br label %22984

22984:                                            ; preds = %22983
  call void @llvm.lifetime.start.p0(i64 8, ptr %715) #11
  %22985 = getelementptr inbounds %struct.s2n_test_ktls_io_stuffer_pair, ptr %712, i32 0, i32 0
  store ptr %22985, ptr %715, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %716) #11
  store i64 0, ptr %716, align 8, !tbaa !20
  br label %22986

22986:                                            ; preds = %22984
  %22987 = load i32, ptr @test_count, align 4, !tbaa !5
  %22988 = add nsw i32 %22987, 1
  store i32 %22988, ptr @test_count, align 4, !tbaa !5
  %22989 = load ptr, ptr %715, align 8, !tbaa !9
  %22990 = call i32 @s2n_ktls_sendmsg(ptr noundef %22989, i8 noundef zeroext 21, ptr noundef %709, i64 noundef 1, ptr noundef %676, ptr noundef %716)
  %22991 = getelementptr inbounds %struct.s2n_result, ptr %717, i32 0, i32 0
  store i32 %22990, ptr %22991, align 4
  %22992 = getelementptr inbounds %struct.s2n_result, ptr %717, i32 0, i32 0
  %22993 = load i32, ptr %22992, align 4
  %22994 = call zeroext i1 @s2n_result_is_ok(i32 %22993)
  br i1 %22994, label %23048, label %22995

22995:                                            ; preds = %22986
  br label %22996

22996:                                            ; preds = %22995
  br label %22997

22997:                                            ; preds = %22996
  call void @llvm.lifetime.start.p0(i64 4, ptr %718) #11
  %22998 = call ptr @__errno_location() #12
  %22999 = load i32, ptr %22998, align 4, !tbaa !5
  store i32 %22999, ptr %718, align 4, !tbaa !5
  %23000 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23001 = call i32 @s2n_print_stacktrace(ptr noundef %23000)
  %23002 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23003 = trunc i8 %23002 to i1
  br i1 %23003, label %23004, label %23026

23004:                                            ; preds = %22997
  %23005 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23006 = call i32 @fileno(ptr noundef %23005) #11
  %23007 = call i32 @isatty(i32 noundef %23006) #11
  %23008 = icmp ne i32 %23007, 0
  br i1 %23008, label %23009, label %23026

23009:                                            ; preds = %23004
  %23010 = load i32, ptr %718, align 4, !tbaa !5
  %23011 = call ptr @__errno_location() #12
  store i32 %23010, ptr %23011, align 4, !tbaa !5
  %23012 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23013 = load i32, ptr @test_count, align 4, !tbaa !5
  %23014 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23015 = load i32, ptr %23014, align 4, !tbaa !5
  %23016 = call ptr @s2n_strerror(i32 noundef %23015, ptr noundef @.str.5)
  %23017 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23018 = load i32, ptr %23017, align 4, !tbaa !5
  %23019 = call ptr @s2n_strerror_debug(i32 noundef %23018, ptr noundef @.str.5)
  %23020 = call ptr @__errno_location() #12
  %23021 = load i32, ptr %23020, align 4, !tbaa !5
  %23022 = call ptr @strerror(i32 noundef %23021) #11
  %23023 = call ptr @__errno_location() #12
  %23024 = load i32, ptr %23023, align 4, !tbaa !5
  %23025 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23012, ptr noundef @.str.3, i32 noundef %23013, ptr noundef @.str.146, ptr noundef @.str.2, i32 noundef 1146, ptr noundef %23016, ptr noundef %23019, ptr noundef %23022, i32 noundef %23024) #11
  br label %23043

23026:                                            ; preds = %23004, %22997
  %23027 = load i32, ptr %718, align 4, !tbaa !5
  %23028 = call ptr @__errno_location() #12
  store i32 %23027, ptr %23028, align 4, !tbaa !5
  %23029 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23030 = load i32, ptr @test_count, align 4, !tbaa !5
  %23031 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23032 = load i32, ptr %23031, align 4, !tbaa !5
  %23033 = call ptr @s2n_strerror(i32 noundef %23032, ptr noundef @.str.5)
  %23034 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23035 = load i32, ptr %23034, align 4, !tbaa !5
  %23036 = call ptr @s2n_strerror_debug(i32 noundef %23035, ptr noundef @.str.5)
  %23037 = call ptr @__errno_location() #12
  %23038 = load i32, ptr %23037, align 4, !tbaa !5
  %23039 = call ptr @strerror(i32 noundef %23038) #11
  %23040 = call ptr @__errno_location() #12
  %23041 = load i32, ptr %23040, align 4, !tbaa !5
  %23042 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23029, ptr noundef @.str.6, i32 noundef %23030, ptr noundef @.str.146, ptr noundef @.str.2, i32 noundef 1146, ptr noundef %23033, ptr noundef %23036, ptr noundef %23039, i32 noundef %23041) #11
  br label %23043

23043:                                            ; preds = %23026, %23009
  call void @llvm.lifetime.end.p0(i64 4, ptr %718) #11
  br label %23044

23044:                                            ; preds = %23043
  br label %23045

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

23046:                                            ; No predecessors!
  br label %23047

23047:                                            ; preds = %23046
  br label %23048

23048:                                            ; preds = %23047, %22986
  br label %23049

23049:                                            ; preds = %23048
  br label %23050

23050:                                            ; preds = %23049
  br label %23051

23051:                                            ; preds = %23050
  %23052 = load i32, ptr @test_count, align 4, !tbaa !5
  %23053 = add nsw i32 %23052, 1
  store i32 %23053, ptr @test_count, align 4, !tbaa !5
  %23054 = load i64, ptr %716, align 8, !tbaa !20
  %23055 = icmp eq i64 %23054, 10
  br i1 %23055, label %23109, label %23056

23056:                                            ; preds = %23051
  br label %23057

23057:                                            ; preds = %23056
  br label %23058

23058:                                            ; preds = %23057
  call void @llvm.lifetime.start.p0(i64 4, ptr %719) #11
  %23059 = call ptr @__errno_location() #12
  %23060 = load i32, ptr %23059, align 4, !tbaa !5
  store i32 %23060, ptr %719, align 4, !tbaa !5
  %23061 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23062 = call i32 @s2n_print_stacktrace(ptr noundef %23061)
  %23063 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23064 = trunc i8 %23063 to i1
  br i1 %23064, label %23065, label %23087

23065:                                            ; preds = %23058
  %23066 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23067 = call i32 @fileno(ptr noundef %23066) #11
  %23068 = call i32 @isatty(i32 noundef %23067) #11
  %23069 = icmp ne i32 %23068, 0
  br i1 %23069, label %23070, label %23087

23070:                                            ; preds = %23065
  %23071 = load i32, ptr %719, align 4, !tbaa !5
  %23072 = call ptr @__errno_location() #12
  store i32 %23071, ptr %23072, align 4, !tbaa !5
  %23073 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23074 = load i32, ptr @test_count, align 4, !tbaa !5
  %23075 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23076 = load i32, ptr %23075, align 4, !tbaa !5
  %23077 = call ptr @s2n_strerror(i32 noundef %23076, ptr noundef @.str.5)
  %23078 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23079 = load i32, ptr %23078, align 4, !tbaa !5
  %23080 = call ptr @s2n_strerror_debug(i32 noundef %23079, ptr noundef @.str.5)
  %23081 = call ptr @__errno_location() #12
  %23082 = load i32, ptr %23081, align 4, !tbaa !5
  %23083 = call ptr @strerror(i32 noundef %23082) #11
  %23084 = call ptr @__errno_location() #12
  %23085 = load i32, ptr %23084, align 4, !tbaa !5
  %23086 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23073, ptr noundef @.str.3, i32 noundef %23074, ptr noundef @.str.147, ptr noundef @.str.2, i32 noundef 1147, ptr noundef %23077, ptr noundef %23080, ptr noundef %23083, i32 noundef %23085) #11
  br label %23104

23087:                                            ; preds = %23065, %23058
  %23088 = load i32, ptr %719, align 4, !tbaa !5
  %23089 = call ptr @__errno_location() #12
  store i32 %23088, ptr %23089, align 4, !tbaa !5
  %23090 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23091 = load i32, ptr @test_count, align 4, !tbaa !5
  %23092 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23093 = load i32, ptr %23092, align 4, !tbaa !5
  %23094 = call ptr @s2n_strerror(i32 noundef %23093, ptr noundef @.str.5)
  %23095 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23096 = load i32, ptr %23095, align 4, !tbaa !5
  %23097 = call ptr @s2n_strerror_debug(i32 noundef %23096, ptr noundef @.str.5)
  %23098 = call ptr @__errno_location() #12
  %23099 = load i32, ptr %23098, align 4, !tbaa !5
  %23100 = call ptr @strerror(i32 noundef %23099) #11
  %23101 = call ptr @__errno_location() #12
  %23102 = load i32, ptr %23101, align 4, !tbaa !5
  %23103 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23090, ptr noundef @.str.6, i32 noundef %23091, ptr noundef @.str.147, ptr noundef @.str.2, i32 noundef 1147, ptr noundef %23094, ptr noundef %23097, ptr noundef %23100, i32 noundef %23102) #11
  br label %23104

23104:                                            ; preds = %23087, %23070
  call void @llvm.lifetime.end.p0(i64 4, ptr %719) #11
  br label %23105

23105:                                            ; preds = %23104
  br label %23106

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

23107:                                            ; No predecessors!
  br label %23108

23108:                                            ; preds = %23107
  br label %23109

23109:                                            ; preds = %23108, %23051
  br label %23110

23110:                                            ; preds = %23109
  br label %23111

23111:                                            ; preds = %23110
  call void @llvm.lifetime.start.p0(i64 1, ptr %720) #11
  store i8 0, ptr %720, align 1, !tbaa !15
  br label %23112

23112:                                            ; preds = %23111
  %23113 = load i32, ptr @test_count, align 4, !tbaa !5
  %23114 = add nsw i32 %23113, 1
  store i32 %23114, ptr @test_count, align 4, !tbaa !5
  %23115 = load ptr, ptr %710, align 8, !tbaa !9
  %23116 = call i32 @s2n_ktls_read_full_record(ptr noundef %23115, ptr noundef %720)
  %23117 = icmp eq i32 %23116, -1
  br i1 %23117, label %23118, label %23171

23118:                                            ; preds = %23112
  br label %23119

23119:                                            ; preds = %23118
  br label %23120

23120:                                            ; preds = %23119
  call void @llvm.lifetime.start.p0(i64 4, ptr %721) #11
  %23121 = call ptr @__errno_location() #12
  %23122 = load i32, ptr %23121, align 4, !tbaa !5
  store i32 %23122, ptr %721, align 4, !tbaa !5
  %23123 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23124 = call i32 @s2n_print_stacktrace(ptr noundef %23123)
  %23125 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23126 = trunc i8 %23125 to i1
  br i1 %23126, label %23127, label %23149

23127:                                            ; preds = %23120
  %23128 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23129 = call i32 @fileno(ptr noundef %23128) #11
  %23130 = call i32 @isatty(i32 noundef %23129) #11
  %23131 = icmp ne i32 %23130, 0
  br i1 %23131, label %23132, label %23149

23132:                                            ; preds = %23127
  %23133 = load i32, ptr %721, align 4, !tbaa !5
  %23134 = call ptr @__errno_location() #12
  store i32 %23133, ptr %23134, align 4, !tbaa !5
  %23135 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23136 = load i32, ptr @test_count, align 4, !tbaa !5
  %23137 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23138 = load i32, ptr %23137, align 4, !tbaa !5
  %23139 = call ptr @s2n_strerror(i32 noundef %23138, ptr noundef @.str.5)
  %23140 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23141 = load i32, ptr %23140, align 4, !tbaa !5
  %23142 = call ptr @s2n_strerror_debug(i32 noundef %23141, ptr noundef @.str.5)
  %23143 = call ptr @__errno_location() #12
  %23144 = load i32, ptr %23143, align 4, !tbaa !5
  %23145 = call ptr @strerror(i32 noundef %23144) #11
  %23146 = call ptr @__errno_location() #12
  %23147 = load i32, ptr %23146, align 4, !tbaa !5
  %23148 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23135, ptr noundef @.str.3, i32 noundef %23136, ptr noundef @.str.140, ptr noundef @.str.2, i32 noundef 1150, ptr noundef %23139, ptr noundef %23142, ptr noundef %23145, i32 noundef %23147) #11
  br label %23166

23149:                                            ; preds = %23127, %23120
  %23150 = load i32, ptr %721, align 4, !tbaa !5
  %23151 = call ptr @__errno_location() #12
  store i32 %23150, ptr %23151, align 4, !tbaa !5
  %23152 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23153 = load i32, ptr @test_count, align 4, !tbaa !5
  %23154 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23155 = load i32, ptr %23154, align 4, !tbaa !5
  %23156 = call ptr @s2n_strerror(i32 noundef %23155, ptr noundef @.str.5)
  %23157 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23158 = load i32, ptr %23157, align 4, !tbaa !5
  %23159 = call ptr @s2n_strerror_debug(i32 noundef %23158, ptr noundef @.str.5)
  %23160 = call ptr @__errno_location() #12
  %23161 = load i32, ptr %23160, align 4, !tbaa !5
  %23162 = call ptr @strerror(i32 noundef %23161) #11
  %23163 = call ptr @__errno_location() #12
  %23164 = load i32, ptr %23163, align 4, !tbaa !5
  %23165 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23152, ptr noundef @.str.6, i32 noundef %23153, ptr noundef @.str.140, ptr noundef @.str.2, i32 noundef 1150, ptr noundef %23156, ptr noundef %23159, ptr noundef %23162, i32 noundef %23164) #11
  br label %23166

23166:                                            ; preds = %23149, %23132
  call void @llvm.lifetime.end.p0(i64 4, ptr %721) #11
  br label %23167

23167:                                            ; preds = %23166
  br label %23168

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

23169:                                            ; No predecessors!
  br label %23170

23170:                                            ; preds = %23169
  br label %23171

23171:                                            ; preds = %23170, %23112
  br label %23172

23172:                                            ; preds = %23171
  br label %23173

23173:                                            ; preds = %23172
  br label %23174

23174:                                            ; preds = %23173
  %23175 = load i32, ptr @test_count, align 4, !tbaa !5
  %23176 = add nsw i32 %23175, 1
  store i32 %23176, ptr @test_count, align 4, !tbaa !5
  %23177 = load i8, ptr %720, align 1, !tbaa !15
  %23178 = zext i8 %23177 to i32
  %23179 = icmp eq i32 %23178, 21
  br i1 %23179, label %23233, label %23180

23180:                                            ; preds = %23174
  br label %23181

23181:                                            ; preds = %23180
  br label %23182

23182:                                            ; preds = %23181
  call void @llvm.lifetime.start.p0(i64 4, ptr %722) #11
  %23183 = call ptr @__errno_location() #12
  %23184 = load i32, ptr %23183, align 4, !tbaa !5
  store i32 %23184, ptr %722, align 4, !tbaa !5
  %23185 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23186 = call i32 @s2n_print_stacktrace(ptr noundef %23185)
  %23187 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23188 = trunc i8 %23187 to i1
  br i1 %23188, label %23189, label %23211

23189:                                            ; preds = %23182
  %23190 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23191 = call i32 @fileno(ptr noundef %23190) #11
  %23192 = call i32 @isatty(i32 noundef %23191) #11
  %23193 = icmp ne i32 %23192, 0
  br i1 %23193, label %23194, label %23211

23194:                                            ; preds = %23189
  %23195 = load i32, ptr %722, align 4, !tbaa !5
  %23196 = call ptr @__errno_location() #12
  store i32 %23195, ptr %23196, align 4, !tbaa !5
  %23197 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23198 = load i32, ptr @test_count, align 4, !tbaa !5
  %23199 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23200 = load i32, ptr %23199, align 4, !tbaa !5
  %23201 = call ptr @s2n_strerror(i32 noundef %23200, ptr noundef @.str.5)
  %23202 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23203 = load i32, ptr %23202, align 4, !tbaa !5
  %23204 = call ptr @s2n_strerror_debug(i32 noundef %23203, ptr noundef @.str.5)
  %23205 = call ptr @__errno_location() #12
  %23206 = load i32, ptr %23205, align 4, !tbaa !5
  %23207 = call ptr @strerror(i32 noundef %23206) #11
  %23208 = call ptr @__errno_location() #12
  %23209 = load i32, ptr %23208, align 4, !tbaa !5
  %23210 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23197, ptr noundef @.str.3, i32 noundef %23198, ptr noundef @.str.141, ptr noundef @.str.2, i32 noundef 1151, ptr noundef %23201, ptr noundef %23204, ptr noundef %23207, i32 noundef %23209) #11
  br label %23228

23211:                                            ; preds = %23189, %23182
  %23212 = load i32, ptr %722, align 4, !tbaa !5
  %23213 = call ptr @__errno_location() #12
  store i32 %23212, ptr %23213, align 4, !tbaa !5
  %23214 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23215 = load i32, ptr @test_count, align 4, !tbaa !5
  %23216 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23217 = load i32, ptr %23216, align 4, !tbaa !5
  %23218 = call ptr @s2n_strerror(i32 noundef %23217, ptr noundef @.str.5)
  %23219 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23220 = load i32, ptr %23219, align 4, !tbaa !5
  %23221 = call ptr @s2n_strerror_debug(i32 noundef %23220, ptr noundef @.str.5)
  %23222 = call ptr @__errno_location() #12
  %23223 = load i32, ptr %23222, align 4, !tbaa !5
  %23224 = call ptr @strerror(i32 noundef %23223) #11
  %23225 = call ptr @__errno_location() #12
  %23226 = load i32, ptr %23225, align 4, !tbaa !5
  %23227 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23214, ptr noundef @.str.6, i32 noundef %23215, ptr noundef @.str.141, ptr noundef @.str.2, i32 noundef 1151, ptr noundef %23218, ptr noundef %23221, ptr noundef %23224, i32 noundef %23226) #11
  br label %23228

23228:                                            ; preds = %23211, %23194
  call void @llvm.lifetime.end.p0(i64 4, ptr %722) #11
  br label %23229

23229:                                            ; preds = %23228
  br label %23230

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

23231:                                            ; No predecessors!
  br label %23232

23232:                                            ; preds = %23231
  br label %23233

23233:                                            ; preds = %23232, %23174
  br label %23234

23234:                                            ; preds = %23233
  br label %23235

23235:                                            ; preds = %23234
  br label %23236

23236:                                            ; preds = %23235
  %23237 = load i32, ptr @test_count, align 4, !tbaa !5
  %23238 = add nsw i32 %23237, 1
  store i32 %23238, ptr @test_count, align 4, !tbaa !5
  %23239 = load ptr, ptr %710, align 8, !tbaa !9
  %23240 = getelementptr inbounds %struct.s2n_connection, ptr %23239, i32 0, i32 39
  %23241 = getelementptr inbounds %struct.s2n_stuffer, ptr %23240, i32 0, i32 0
  %23242 = getelementptr inbounds %struct.s2n_blob, ptr %23241, i32 0, i32 2
  %23243 = load i32, ptr %23242, align 4, !tbaa !78
  %23244 = zext i32 %23243 to i64
  %23245 = icmp eq i64 %23244, 8087
  br i1 %23245, label %23299, label %23246

23246:                                            ; preds = %23236
  br label %23247

23247:                                            ; preds = %23246
  br label %23248

23248:                                            ; preds = %23247
  call void @llvm.lifetime.start.p0(i64 4, ptr %723) #11
  %23249 = call ptr @__errno_location() #12
  %23250 = load i32, ptr %23249, align 4, !tbaa !5
  store i32 %23250, ptr %723, align 4, !tbaa !5
  %23251 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23252 = call i32 @s2n_print_stacktrace(ptr noundef %23251)
  %23253 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23254 = trunc i8 %23253 to i1
  br i1 %23254, label %23255, label %23277

23255:                                            ; preds = %23248
  %23256 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23257 = call i32 @fileno(ptr noundef %23256) #11
  %23258 = call i32 @isatty(i32 noundef %23257) #11
  %23259 = icmp ne i32 %23258, 0
  br i1 %23259, label %23260, label %23277

23260:                                            ; preds = %23255
  %23261 = load i32, ptr %723, align 4, !tbaa !5
  %23262 = call ptr @__errno_location() #12
  store i32 %23261, ptr %23262, align 4, !tbaa !5
  %23263 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23264 = load i32, ptr @test_count, align 4, !tbaa !5
  %23265 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23266 = load i32, ptr %23265, align 4, !tbaa !5
  %23267 = call ptr @s2n_strerror(i32 noundef %23266, ptr noundef @.str.5)
  %23268 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23269 = load i32, ptr %23268, align 4, !tbaa !5
  %23270 = call ptr @s2n_strerror_debug(i32 noundef %23269, ptr noundef @.str.5)
  %23271 = call ptr @__errno_location() #12
  %23272 = load i32, ptr %23271, align 4, !tbaa !5
  %23273 = call ptr @strerror(i32 noundef %23272) #11
  %23274 = call ptr @__errno_location() #12
  %23275 = load i32, ptr %23274, align 4, !tbaa !5
  %23276 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23263, ptr noundef @.str.3, i32 noundef %23264, ptr noundef @.str.142, ptr noundef @.str.2, i32 noundef 1156, ptr noundef %23267, ptr noundef %23270, ptr noundef %23273, i32 noundef %23275) #11
  br label %23294

23277:                                            ; preds = %23255, %23248
  %23278 = load i32, ptr %723, align 4, !tbaa !5
  %23279 = call ptr @__errno_location() #12
  store i32 %23278, ptr %23279, align 4, !tbaa !5
  %23280 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23281 = load i32, ptr @test_count, align 4, !tbaa !5
  %23282 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23283 = load i32, ptr %23282, align 4, !tbaa !5
  %23284 = call ptr @s2n_strerror(i32 noundef %23283, ptr noundef @.str.5)
  %23285 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23286 = load i32, ptr %23285, align 4, !tbaa !5
  %23287 = call ptr @s2n_strerror_debug(i32 noundef %23286, ptr noundef @.str.5)
  %23288 = call ptr @__errno_location() #12
  %23289 = load i32, ptr %23288, align 4, !tbaa !5
  %23290 = call ptr @strerror(i32 noundef %23289) #11
  %23291 = call ptr @__errno_location() #12
  %23292 = load i32, ptr %23291, align 4, !tbaa !5
  %23293 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23280, ptr noundef @.str.6, i32 noundef %23281, ptr noundef @.str.142, ptr noundef @.str.2, i32 noundef 1156, ptr noundef %23284, ptr noundef %23287, ptr noundef %23290, i32 noundef %23292) #11
  br label %23294

23294:                                            ; preds = %23277, %23260
  call void @llvm.lifetime.end.p0(i64 4, ptr %723) #11
  br label %23295

23295:                                            ; preds = %23294
  br label %23296

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

23297:                                            ; No predecessors!
  br label %23298

23298:                                            ; preds = %23297
  br label %23299

23299:                                            ; preds = %23298, %23236
  br label %23300

23300:                                            ; preds = %23299
  br label %23301

23301:                                            ; preds = %23300
  br label %23302

23302:                                            ; preds = %23301
  %23303 = load i32, ptr @test_count, align 4, !tbaa !5
  %23304 = add nsw i32 %23303, 1
  store i32 %23304, ptr @test_count, align 4, !tbaa !5
  %23305 = load ptr, ptr %710, align 8, !tbaa !9
  %23306 = getelementptr inbounds %struct.s2n_connection, ptr %23305, i32 0, i32 40
  %23307 = getelementptr inbounds %struct.s2n_stuffer, ptr %23306, i32 0, i32 0
  %23308 = getelementptr inbounds %struct.s2n_blob, ptr %23307, i32 0, i32 1
  %23309 = load i32, ptr %23308, align 8, !tbaa !79
  %23310 = zext i32 %23309 to i64
  %23311 = icmp eq i64 %23310, 10
  br i1 %23311, label %23365, label %23312

23312:                                            ; preds = %23302
  br label %23313

23313:                                            ; preds = %23312
  br label %23314

23314:                                            ; preds = %23313
  call void @llvm.lifetime.start.p0(i64 4, ptr %724) #11
  %23315 = call ptr @__errno_location() #12
  %23316 = load i32, ptr %23315, align 4, !tbaa !5
  store i32 %23316, ptr %724, align 4, !tbaa !5
  %23317 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23318 = call i32 @s2n_print_stacktrace(ptr noundef %23317)
  %23319 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23320 = trunc i8 %23319 to i1
  br i1 %23320, label %23321, label %23343

23321:                                            ; preds = %23314
  %23322 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23323 = call i32 @fileno(ptr noundef %23322) #11
  %23324 = call i32 @isatty(i32 noundef %23323) #11
  %23325 = icmp ne i32 %23324, 0
  br i1 %23325, label %23326, label %23343

23326:                                            ; preds = %23321
  %23327 = load i32, ptr %724, align 4, !tbaa !5
  %23328 = call ptr @__errno_location() #12
  store i32 %23327, ptr %23328, align 4, !tbaa !5
  %23329 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23330 = load i32, ptr @test_count, align 4, !tbaa !5
  %23331 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23332 = load i32, ptr %23331, align 4, !tbaa !5
  %23333 = call ptr @s2n_strerror(i32 noundef %23332, ptr noundef @.str.5)
  %23334 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23335 = load i32, ptr %23334, align 4, !tbaa !5
  %23336 = call ptr @s2n_strerror_debug(i32 noundef %23335, ptr noundef @.str.5)
  %23337 = call ptr @__errno_location() #12
  %23338 = load i32, ptr %23337, align 4, !tbaa !5
  %23339 = call ptr @strerror(i32 noundef %23338) #11
  %23340 = call ptr @__errno_location() #12
  %23341 = load i32, ptr %23340, align 4, !tbaa !5
  %23342 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23329, ptr noundef @.str.3, i32 noundef %23330, ptr noundef @.str.148, ptr noundef @.str.2, i32 noundef 1157, ptr noundef %23333, ptr noundef %23336, ptr noundef %23339, i32 noundef %23341) #11
  br label %23360

23343:                                            ; preds = %23321, %23314
  %23344 = load i32, ptr %724, align 4, !tbaa !5
  %23345 = call ptr @__errno_location() #12
  store i32 %23344, ptr %23345, align 4, !tbaa !5
  %23346 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23347 = load i32, ptr @test_count, align 4, !tbaa !5
  %23348 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23349 = load i32, ptr %23348, align 4, !tbaa !5
  %23350 = call ptr @s2n_strerror(i32 noundef %23349, ptr noundef @.str.5)
  %23351 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23352 = load i32, ptr %23351, align 4, !tbaa !5
  %23353 = call ptr @s2n_strerror_debug(i32 noundef %23352, ptr noundef @.str.5)
  %23354 = call ptr @__errno_location() #12
  %23355 = load i32, ptr %23354, align 4, !tbaa !5
  %23356 = call ptr @strerror(i32 noundef %23355) #11
  %23357 = call ptr @__errno_location() #12
  %23358 = load i32, ptr %23357, align 4, !tbaa !5
  %23359 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23346, ptr noundef @.str.6, i32 noundef %23347, ptr noundef @.str.148, ptr noundef @.str.2, i32 noundef 1157, ptr noundef %23350, ptr noundef %23353, ptr noundef %23356, i32 noundef %23358) #11
  br label %23360

23360:                                            ; preds = %23343, %23326
  call void @llvm.lifetime.end.p0(i64 4, ptr %724) #11
  br label %23361

23361:                                            ; preds = %23360
  br label %23362

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

23363:                                            ; No predecessors!
  br label %23364

23364:                                            ; preds = %23363
  br label %23365

23365:                                            ; preds = %23364, %23302
  br label %23366

23366:                                            ; preds = %23365
  br label %23367

23367:                                            ; preds = %23366
  br label %23368

23368:                                            ; preds = %23367
  %23369 = load i32, ptr @test_count, align 4, !tbaa !5
  %23370 = add nsw i32 %23369, 1
  store i32 %23370, ptr @test_count, align 4, !tbaa !5
  %23371 = load ptr, ptr %710, align 8, !tbaa !9
  %23372 = getelementptr inbounds %struct.s2n_connection, ptr %23371, i32 0, i32 40
  %23373 = getelementptr inbounds %struct.s2n_stuffer, ptr %23372, i32 0, i32 2
  %23374 = load i32, ptr %23373, align 4, !tbaa !80
  %23375 = load ptr, ptr %710, align 8, !tbaa !9
  %23376 = getelementptr inbounds %struct.s2n_connection, ptr %23375, i32 0, i32 40
  %23377 = getelementptr inbounds %struct.s2n_stuffer, ptr %23376, i32 0, i32 1
  %23378 = load i32, ptr %23377, align 8, !tbaa !81
  %23379 = sub i32 %23374, %23378
  %23380 = zext i32 %23379 to i64
  %23381 = icmp eq i64 %23380, 10
  br i1 %23381, label %23435, label %23382

23382:                                            ; preds = %23368
  br label %23383

23383:                                            ; preds = %23382
  br label %23384

23384:                                            ; preds = %23383
  call void @llvm.lifetime.start.p0(i64 4, ptr %725) #11
  %23385 = call ptr @__errno_location() #12
  %23386 = load i32, ptr %23385, align 4, !tbaa !5
  store i32 %23386, ptr %725, align 4, !tbaa !5
  %23387 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23388 = call i32 @s2n_print_stacktrace(ptr noundef %23387)
  %23389 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23390 = trunc i8 %23389 to i1
  br i1 %23390, label %23391, label %23413

23391:                                            ; preds = %23384
  %23392 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23393 = call i32 @fileno(ptr noundef %23392) #11
  %23394 = call i32 @isatty(i32 noundef %23393) #11
  %23395 = icmp ne i32 %23394, 0
  br i1 %23395, label %23396, label %23413

23396:                                            ; preds = %23391
  %23397 = load i32, ptr %725, align 4, !tbaa !5
  %23398 = call ptr @__errno_location() #12
  store i32 %23397, ptr %23398, align 4, !tbaa !5
  %23399 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23400 = load i32, ptr @test_count, align 4, !tbaa !5
  %23401 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23402 = load i32, ptr %23401, align 4, !tbaa !5
  %23403 = call ptr @s2n_strerror(i32 noundef %23402, ptr noundef @.str.5)
  %23404 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23405 = load i32, ptr %23404, align 4, !tbaa !5
  %23406 = call ptr @s2n_strerror_debug(i32 noundef %23405, ptr noundef @.str.5)
  %23407 = call ptr @__errno_location() #12
  %23408 = load i32, ptr %23407, align 4, !tbaa !5
  %23409 = call ptr @strerror(i32 noundef %23408) #11
  %23410 = call ptr @__errno_location() #12
  %23411 = load i32, ptr %23410, align 4, !tbaa !5
  %23412 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23399, ptr noundef @.str.3, i32 noundef %23400, ptr noundef @.str.149, ptr noundef @.str.2, i32 noundef 1158, ptr noundef %23403, ptr noundef %23406, ptr noundef %23409, i32 noundef %23411) #11
  br label %23430

23413:                                            ; preds = %23391, %23384
  %23414 = load i32, ptr %725, align 4, !tbaa !5
  %23415 = call ptr @__errno_location() #12
  store i32 %23414, ptr %23415, align 4, !tbaa !5
  %23416 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23417 = load i32, ptr @test_count, align 4, !tbaa !5
  %23418 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23419 = load i32, ptr %23418, align 4, !tbaa !5
  %23420 = call ptr @s2n_strerror(i32 noundef %23419, ptr noundef @.str.5)
  %23421 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23422 = load i32, ptr %23421, align 4, !tbaa !5
  %23423 = call ptr @s2n_strerror_debug(i32 noundef %23422, ptr noundef @.str.5)
  %23424 = call ptr @__errno_location() #12
  %23425 = load i32, ptr %23424, align 4, !tbaa !5
  %23426 = call ptr @strerror(i32 noundef %23425) #11
  %23427 = call ptr @__errno_location() #12
  %23428 = load i32, ptr %23427, align 4, !tbaa !5
  %23429 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23416, ptr noundef @.str.6, i32 noundef %23417, ptr noundef @.str.149, ptr noundef @.str.2, i32 noundef 1158, ptr noundef %23420, ptr noundef %23423, ptr noundef %23426, i32 noundef %23428) #11
  br label %23430

23430:                                            ; preds = %23413, %23396
  call void @llvm.lifetime.end.p0(i64 4, ptr %725) #11
  br label %23431

23431:                                            ; preds = %23430
  br label %23432

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

23433:                                            ; No predecessors!
  br label %23434

23434:                                            ; preds = %23433
  br label %23435

23435:                                            ; preds = %23434, %23368
  br label %23436

23436:                                            ; preds = %23435
  br label %23437

23437:                                            ; preds = %23436
  call void @llvm.lifetime.start.p0(i64 8, ptr %726) #11
  %23438 = load ptr, ptr %710, align 8, !tbaa !9
  %23439 = getelementptr inbounds %struct.s2n_connection, ptr %23438, i32 0, i32 40
  %23440 = call ptr @s2n_stuffer_raw_read(ptr noundef %23439, i32 noundef 10)
  store ptr %23440, ptr %726, align 8, !tbaa !9
  br label %23441

23441:                                            ; preds = %23437
  br label %23442

23442:                                            ; preds = %23441
  %23443 = load i32, ptr @test_count, align 4, !tbaa !5
  %23444 = add nsw i32 %23443, 1
  store i32 %23444, ptr @test_count, align 4, !tbaa !5
  %23445 = load ptr, ptr %726, align 8, !tbaa !9
  %23446 = getelementptr inbounds [16384 x i8], ptr %10, i64 0, i64 0
  %23447 = call i32 @memcmp(ptr noundef %23445, ptr noundef %23446, i64 noundef 10) #14
  %23448 = icmp eq i32 %23447, 0
  br i1 %23448, label %23502, label %23449

23449:                                            ; preds = %23442
  br label %23450

23450:                                            ; preds = %23449
  br label %23451

23451:                                            ; preds = %23450
  call void @llvm.lifetime.start.p0(i64 4, ptr %727) #11
  %23452 = call ptr @__errno_location() #12
  %23453 = load i32, ptr %23452, align 4, !tbaa !5
  store i32 %23453, ptr %727, align 4, !tbaa !5
  %23454 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23455 = call i32 @s2n_print_stacktrace(ptr noundef %23454)
  %23456 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23457 = trunc i8 %23456 to i1
  br i1 %23457, label %23458, label %23480

23458:                                            ; preds = %23451
  %23459 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23460 = call i32 @fileno(ptr noundef %23459) #11
  %23461 = call i32 @isatty(i32 noundef %23460) #11
  %23462 = icmp ne i32 %23461, 0
  br i1 %23462, label %23463, label %23480

23463:                                            ; preds = %23458
  %23464 = load i32, ptr %727, align 4, !tbaa !5
  %23465 = call ptr @__errno_location() #12
  store i32 %23464, ptr %23465, align 4, !tbaa !5
  %23466 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23467 = load i32, ptr @test_count, align 4, !tbaa !5
  %23468 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23469 = load i32, ptr %23468, align 4, !tbaa !5
  %23470 = call ptr @s2n_strerror(i32 noundef %23469, ptr noundef @.str.5)
  %23471 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23472 = load i32, ptr %23471, align 4, !tbaa !5
  %23473 = call ptr @s2n_strerror_debug(i32 noundef %23472, ptr noundef @.str.5)
  %23474 = call ptr @__errno_location() #12
  %23475 = load i32, ptr %23474, align 4, !tbaa !5
  %23476 = call ptr @strerror(i32 noundef %23475) #11
  %23477 = call ptr @__errno_location() #12
  %23478 = load i32, ptr %23477, align 4, !tbaa !5
  %23479 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23466, ptr noundef @.str.3, i32 noundef %23467, ptr noundef @.str.150, ptr noundef @.str.2, i32 noundef 1160, ptr noundef %23470, ptr noundef %23473, ptr noundef %23476, i32 noundef %23478) #11
  br label %23497

23480:                                            ; preds = %23458, %23451
  %23481 = load i32, ptr %727, align 4, !tbaa !5
  %23482 = call ptr @__errno_location() #12
  store i32 %23481, ptr %23482, align 4, !tbaa !5
  %23483 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23484 = load i32, ptr @test_count, align 4, !tbaa !5
  %23485 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23486 = load i32, ptr %23485, align 4, !tbaa !5
  %23487 = call ptr @s2n_strerror(i32 noundef %23486, ptr noundef @.str.5)
  %23488 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23489 = load i32, ptr %23488, align 4, !tbaa !5
  %23490 = call ptr @s2n_strerror_debug(i32 noundef %23489, ptr noundef @.str.5)
  %23491 = call ptr @__errno_location() #12
  %23492 = load i32, ptr %23491, align 4, !tbaa !5
  %23493 = call ptr @strerror(i32 noundef %23492) #11
  %23494 = call ptr @__errno_location() #12
  %23495 = load i32, ptr %23494, align 4, !tbaa !5
  %23496 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23483, ptr noundef @.str.6, i32 noundef %23484, ptr noundef @.str.150, ptr noundef @.str.2, i32 noundef 1160, ptr noundef %23487, ptr noundef %23490, ptr noundef %23493, i32 noundef %23495) #11
  br label %23497

23497:                                            ; preds = %23480, %23463
  call void @llvm.lifetime.end.p0(i64 4, ptr %727) #11
  br label %23498

23498:                                            ; preds = %23497
  br label %23499

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

23500:                                            ; No predecessors!
  br label %23501

23501:                                            ; preds = %23500
  br label %23502

23502:                                            ; preds = %23501, %23442
  br label %23503

23503:                                            ; preds = %23502
  br label %23504

23504:                                            ; preds = %23503
  br label %23505

23505:                                            ; preds = %23504
  br label %23506

23506:                                            ; preds = %23505
  call void @llvm.lifetime.end.p0(i64 8, ptr %726) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %720) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %716) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %715) #11
  %23507 = call i32 @s2n_ktls_io_stuffer_pair_free(ptr noundef %712)
  %23508 = getelementptr inbounds %struct.s2n_result, ptr %728, i32 0, i32 0
  store i32 %23507, ptr %23508, align 4
  call void @llvm.lifetime.end.p0(i64 192, ptr %712) #11
  %23509 = call i32 @s2n_connection_ptr_free(ptr noundef %710)
  %23510 = getelementptr inbounds %struct.s2n_result, ptr %729, i32 0, i32 0
  store i32 %23509, ptr %23510, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %710) #11
  call void @llvm.lifetime.end.p0(i64 16, ptr %709) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %708) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %730) #11
  %23511 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %23511, ptr %730, align 8, !tbaa !9
  br label %23512

23512:                                            ; preds = %23506
  %23513 = load i32, ptr @test_count, align 4, !tbaa !5
  %23514 = add nsw i32 %23513, 1
  store i32 %23514, ptr @test_count, align 4, !tbaa !5
  %23515 = load ptr, ptr %730, align 8, !tbaa !9
  %23516 = icmp eq ptr %23515, null
  br i1 %23516, label %23517, label %23570

23517:                                            ; preds = %23512
  br label %23518

23518:                                            ; preds = %23517
  br label %23519

23519:                                            ; preds = %23518
  call void @llvm.lifetime.start.p0(i64 4, ptr %731) #11
  %23520 = call ptr @__errno_location() #12
  %23521 = load i32, ptr %23520, align 4, !tbaa !5
  store i32 %23521, ptr %731, align 4, !tbaa !5
  %23522 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23523 = call i32 @s2n_print_stacktrace(ptr noundef %23522)
  %23524 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23525 = trunc i8 %23524 to i1
  br i1 %23525, label %23526, label %23548

23526:                                            ; preds = %23519
  %23527 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23528 = call i32 @fileno(ptr noundef %23527) #11
  %23529 = call i32 @isatty(i32 noundef %23528) #11
  %23530 = icmp ne i32 %23529, 0
  br i1 %23530, label %23531, label %23548

23531:                                            ; preds = %23526
  %23532 = load i32, ptr %731, align 4, !tbaa !5
  %23533 = call ptr @__errno_location() #12
  store i32 %23532, ptr %23533, align 4, !tbaa !5
  %23534 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23535 = load i32, ptr @test_count, align 4, !tbaa !5
  %23536 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23537 = load i32, ptr %23536, align 4, !tbaa !5
  %23538 = call ptr @s2n_strerror(i32 noundef %23537, ptr noundef @.str.5)
  %23539 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23540 = load i32, ptr %23539, align 4, !tbaa !5
  %23541 = call ptr @s2n_strerror_debug(i32 noundef %23540, ptr noundef @.str.5)
  %23542 = call ptr @__errno_location() #12
  %23543 = load i32, ptr %23542, align 4, !tbaa !5
  %23544 = call ptr @strerror(i32 noundef %23543) #11
  %23545 = call ptr @__errno_location() #12
  %23546 = load i32, ptr %23545, align 4, !tbaa !5
  %23547 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23534, ptr noundef @.str.3, i32 noundef %23535, ptr noundef @.str.79, ptr noundef @.str.2, i32 noundef 1167, ptr noundef %23538, ptr noundef %23541, ptr noundef %23544, i32 noundef %23546) #11
  br label %23565

23548:                                            ; preds = %23526, %23519
  %23549 = load i32, ptr %731, align 4, !tbaa !5
  %23550 = call ptr @__errno_location() #12
  store i32 %23549, ptr %23550, align 4, !tbaa !5
  %23551 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23552 = load i32, ptr @test_count, align 4, !tbaa !5
  %23553 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23554 = load i32, ptr %23553, align 4, !tbaa !5
  %23555 = call ptr @s2n_strerror(i32 noundef %23554, ptr noundef @.str.5)
  %23556 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23557 = load i32, ptr %23556, align 4, !tbaa !5
  %23558 = call ptr @s2n_strerror_debug(i32 noundef %23557, ptr noundef @.str.5)
  %23559 = call ptr @__errno_location() #12
  %23560 = load i32, ptr %23559, align 4, !tbaa !5
  %23561 = call ptr @strerror(i32 noundef %23560) #11
  %23562 = call ptr @__errno_location() #12
  %23563 = load i32, ptr %23562, align 4, !tbaa !5
  %23564 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23551, ptr noundef @.str.6, i32 noundef %23552, ptr noundef @.str.79, ptr noundef @.str.2, i32 noundef 1167, ptr noundef %23555, ptr noundef %23558, ptr noundef %23561, i32 noundef %23563) #11
  br label %23565

23565:                                            ; preds = %23548, %23531
  call void @llvm.lifetime.end.p0(i64 4, ptr %731) #11
  br label %23566

23566:                                            ; preds = %23565
  br label %23567

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

23568:                                            ; No predecessors!
  br label %23569

23569:                                            ; preds = %23568
  br label %23570

23570:                                            ; preds = %23569, %23512
  br label %23571

23571:                                            ; preds = %23570
  br label %23572

23572:                                            ; preds = %23571
  call void @llvm.lifetime.start.p0(i64 192, ptr %732) #11
  call void @llvm.memset.p0.i64(ptr align 8 %732, i8 0, i64 192, i1 false)
  br label %23573

23573:                                            ; preds = %23572
  %23574 = load i32, ptr @test_count, align 4, !tbaa !5
  %23575 = add nsw i32 %23574, 1
  store i32 %23575, ptr @test_count, align 4, !tbaa !5
  %23576 = load ptr, ptr %730, align 8, !tbaa !9
  %23577 = load ptr, ptr %730, align 8, !tbaa !9
  %23578 = call i32 @s2n_test_init_ktls_io_stuffer(ptr noundef %23576, ptr noundef %23577, ptr noundef %732)
  %23579 = getelementptr inbounds %struct.s2n_result, ptr %733, i32 0, i32 0
  store i32 %23578, ptr %23579, align 4
  %23580 = getelementptr inbounds %struct.s2n_result, ptr %733, i32 0, i32 0
  %23581 = load i32, ptr %23580, align 4
  %23582 = call zeroext i1 @s2n_result_is_ok(i32 %23581)
  br i1 %23582, label %23636, label %23583

23583:                                            ; preds = %23573
  br label %23584

23584:                                            ; preds = %23583
  br label %23585

23585:                                            ; preds = %23584
  call void @llvm.lifetime.start.p0(i64 4, ptr %734) #11
  %23586 = call ptr @__errno_location() #12
  %23587 = load i32, ptr %23586, align 4, !tbaa !5
  store i32 %23587, ptr %734, align 4, !tbaa !5
  %23588 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23589 = call i32 @s2n_print_stacktrace(ptr noundef %23588)
  %23590 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23591 = trunc i8 %23590 to i1
  br i1 %23591, label %23592, label %23614

23592:                                            ; preds = %23585
  %23593 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23594 = call i32 @fileno(ptr noundef %23593) #11
  %23595 = call i32 @isatty(i32 noundef %23594) #11
  %23596 = icmp ne i32 %23595, 0
  br i1 %23596, label %23597, label %23614

23597:                                            ; preds = %23592
  %23598 = load i32, ptr %734, align 4, !tbaa !5
  %23599 = call ptr @__errno_location() #12
  store i32 %23598, ptr %23599, align 4, !tbaa !5
  %23600 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23601 = load i32, ptr @test_count, align 4, !tbaa !5
  %23602 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23603 = load i32, ptr %23602, align 4, !tbaa !5
  %23604 = call ptr @s2n_strerror(i32 noundef %23603, ptr noundef @.str.5)
  %23605 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23606 = load i32, ptr %23605, align 4, !tbaa !5
  %23607 = call ptr @s2n_strerror_debug(i32 noundef %23606, ptr noundef @.str.5)
  %23608 = call ptr @__errno_location() #12
  %23609 = load i32, ptr %23608, align 4, !tbaa !5
  %23610 = call ptr @strerror(i32 noundef %23609) #11
  %23611 = call ptr @__errno_location() #12
  %23612 = load i32, ptr %23611, align 4, !tbaa !5
  %23613 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23600, ptr noundef @.str.3, i32 noundef %23601, ptr noundef @.str.137, ptr noundef @.str.2, i32 noundef 1171, ptr noundef %23604, ptr noundef %23607, ptr noundef %23610, i32 noundef %23612) #11
  br label %23631

23614:                                            ; preds = %23592, %23585
  %23615 = load i32, ptr %734, align 4, !tbaa !5
  %23616 = call ptr @__errno_location() #12
  store i32 %23615, ptr %23616, align 4, !tbaa !5
  %23617 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23618 = load i32, ptr @test_count, align 4, !tbaa !5
  %23619 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23620 = load i32, ptr %23619, align 4, !tbaa !5
  %23621 = call ptr @s2n_strerror(i32 noundef %23620, ptr noundef @.str.5)
  %23622 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23623 = load i32, ptr %23622, align 4, !tbaa !5
  %23624 = call ptr @s2n_strerror_debug(i32 noundef %23623, ptr noundef @.str.5)
  %23625 = call ptr @__errno_location() #12
  %23626 = load i32, ptr %23625, align 4, !tbaa !5
  %23627 = call ptr @strerror(i32 noundef %23626) #11
  %23628 = call ptr @__errno_location() #12
  %23629 = load i32, ptr %23628, align 4, !tbaa !5
  %23630 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23617, ptr noundef @.str.6, i32 noundef %23618, ptr noundef @.str.137, ptr noundef @.str.2, i32 noundef 1171, ptr noundef %23621, ptr noundef %23624, ptr noundef %23627, i32 noundef %23629) #11
  br label %23631

23631:                                            ; preds = %23614, %23597
  call void @llvm.lifetime.end.p0(i64 4, ptr %734) #11
  br label %23632

23632:                                            ; preds = %23631
  br label %23633

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

23634:                                            ; No predecessors!
  br label %23635

23635:                                            ; preds = %23634
  br label %23636

23636:                                            ; preds = %23635, %23573
  br label %23637

23637:                                            ; preds = %23636
  br label %23638

23638:                                            ; preds = %23637
  call void @llvm.lifetime.start.p0(i64 8, ptr %735) #11
  %23639 = getelementptr inbounds %struct.s2n_test_ktls_io_stuffer_pair, ptr %732, i32 0, i32 0
  store ptr %23639, ptr %735, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %736) #11
  store i64 8192, ptr %736, align 8, !tbaa !20
  br label %23640

23640:                                            ; preds = %23638
  %23641 = load i32, ptr @test_count, align 4, !tbaa !5
  %23642 = add nsw i32 %23641, 1
  store i32 %23642, ptr @test_count, align 4, !tbaa !5
  %23643 = load ptr, ptr %730, align 8, !tbaa !9
  %23644 = getelementptr inbounds %struct.s2n_connection, ptr %23643, i32 0, i32 40
  %23645 = getelementptr inbounds [16384 x i8], ptr %10, i64 0, i64 0
  %23646 = call i32 @s2n_stuffer_write_bytes(ptr noundef %23644, ptr noundef %23645, i32 noundef 8192)
  %23647 = icmp eq i32 %23646, -1
  br i1 %23647, label %23648, label %23701

23648:                                            ; preds = %23640
  br label %23649

23649:                                            ; preds = %23648
  br label %23650

23650:                                            ; preds = %23649
  call void @llvm.lifetime.start.p0(i64 4, ptr %737) #11
  %23651 = call ptr @__errno_location() #12
  %23652 = load i32, ptr %23651, align 4, !tbaa !5
  store i32 %23652, ptr %737, align 4, !tbaa !5
  %23653 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23654 = call i32 @s2n_print_stacktrace(ptr noundef %23653)
  %23655 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23656 = trunc i8 %23655 to i1
  br i1 %23656, label %23657, label %23679

23657:                                            ; preds = %23650
  %23658 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23659 = call i32 @fileno(ptr noundef %23658) #11
  %23660 = call i32 @isatty(i32 noundef %23659) #11
  %23661 = icmp ne i32 %23660, 0
  br i1 %23661, label %23662, label %23679

23662:                                            ; preds = %23657
  %23663 = load i32, ptr %737, align 4, !tbaa !5
  %23664 = call ptr @__errno_location() #12
  store i32 %23663, ptr %23664, align 4, !tbaa !5
  %23665 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23666 = load i32, ptr @test_count, align 4, !tbaa !5
  %23667 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23668 = load i32, ptr %23667, align 4, !tbaa !5
  %23669 = call ptr @s2n_strerror(i32 noundef %23668, ptr noundef @.str.5)
  %23670 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23671 = load i32, ptr %23670, align 4, !tbaa !5
  %23672 = call ptr @s2n_strerror_debug(i32 noundef %23671, ptr noundef @.str.5)
  %23673 = call ptr @__errno_location() #12
  %23674 = load i32, ptr %23673, align 4, !tbaa !5
  %23675 = call ptr @strerror(i32 noundef %23674) #11
  %23676 = call ptr @__errno_location() #12
  %23677 = load i32, ptr %23676, align 4, !tbaa !5
  %23678 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23665, ptr noundef @.str.3, i32 noundef %23666, ptr noundef @.str.151, ptr noundef @.str.2, i32 noundef 1176, ptr noundef %23669, ptr noundef %23672, ptr noundef %23675, i32 noundef %23677) #11
  br label %23696

23679:                                            ; preds = %23657, %23650
  %23680 = load i32, ptr %737, align 4, !tbaa !5
  %23681 = call ptr @__errno_location() #12
  store i32 %23680, ptr %23681, align 4, !tbaa !5
  %23682 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23683 = load i32, ptr @test_count, align 4, !tbaa !5
  %23684 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23685 = load i32, ptr %23684, align 4, !tbaa !5
  %23686 = call ptr @s2n_strerror(i32 noundef %23685, ptr noundef @.str.5)
  %23687 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23688 = load i32, ptr %23687, align 4, !tbaa !5
  %23689 = call ptr @s2n_strerror_debug(i32 noundef %23688, ptr noundef @.str.5)
  %23690 = call ptr @__errno_location() #12
  %23691 = load i32, ptr %23690, align 4, !tbaa !5
  %23692 = call ptr @strerror(i32 noundef %23691) #11
  %23693 = call ptr @__errno_location() #12
  %23694 = load i32, ptr %23693, align 4, !tbaa !5
  %23695 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23682, ptr noundef @.str.6, i32 noundef %23683, ptr noundef @.str.151, ptr noundef @.str.2, i32 noundef 1176, ptr noundef %23686, ptr noundef %23689, ptr noundef %23692, i32 noundef %23694) #11
  br label %23696

23696:                                            ; preds = %23679, %23662
  call void @llvm.lifetime.end.p0(i64 4, ptr %737) #11
  br label %23697

23697:                                            ; preds = %23696
  br label %23698

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

23699:                                            ; No predecessors!
  br label %23700

23700:                                            ; preds = %23699
  br label %23701

23701:                                            ; preds = %23700, %23640
  br label %23702

23702:                                            ; preds = %23701
  br label %23703

23703:                                            ; preds = %23702
  br label %23704

23704:                                            ; preds = %23703
  %23705 = load i32, ptr @test_count, align 4, !tbaa !5
  %23706 = add nsw i32 %23705, 1
  store i32 %23706, ptr @test_count, align 4, !tbaa !5
  %23707 = load ptr, ptr %730, align 8, !tbaa !9
  %23708 = getelementptr inbounds %struct.s2n_connection, ptr %23707, i32 0, i32 39
  %23709 = call i32 @s2n_stuffer_resize(ptr noundef %23708, i32 noundef 8192)
  %23710 = icmp eq i32 %23709, -1
  br i1 %23710, label %23711, label %23764

23711:                                            ; preds = %23704
  br label %23712

23712:                                            ; preds = %23711
  br label %23713

23713:                                            ; preds = %23712
  call void @llvm.lifetime.start.p0(i64 4, ptr %738) #11
  %23714 = call ptr @__errno_location() #12
  %23715 = load i32, ptr %23714, align 4, !tbaa !5
  store i32 %23715, ptr %738, align 4, !tbaa !5
  %23716 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23717 = call i32 @s2n_print_stacktrace(ptr noundef %23716)
  %23718 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23719 = trunc i8 %23718 to i1
  br i1 %23719, label %23720, label %23742

23720:                                            ; preds = %23713
  %23721 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23722 = call i32 @fileno(ptr noundef %23721) #11
  %23723 = call i32 @isatty(i32 noundef %23722) #11
  %23724 = icmp ne i32 %23723, 0
  br i1 %23724, label %23725, label %23742

23725:                                            ; preds = %23720
  %23726 = load i32, ptr %738, align 4, !tbaa !5
  %23727 = call ptr @__errno_location() #12
  store i32 %23726, ptr %23727, align 4, !tbaa !5
  %23728 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23729 = load i32, ptr @test_count, align 4, !tbaa !5
  %23730 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23731 = load i32, ptr %23730, align 4, !tbaa !5
  %23732 = call ptr @s2n_strerror(i32 noundef %23731, ptr noundef @.str.5)
  %23733 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23734 = load i32, ptr %23733, align 4, !tbaa !5
  %23735 = call ptr @s2n_strerror_debug(i32 noundef %23734, ptr noundef @.str.5)
  %23736 = call ptr @__errno_location() #12
  %23737 = load i32, ptr %23736, align 4, !tbaa !5
  %23738 = call ptr @strerror(i32 noundef %23737) #11
  %23739 = call ptr @__errno_location() #12
  %23740 = load i32, ptr %23739, align 4, !tbaa !5
  %23741 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23728, ptr noundef @.str.3, i32 noundef %23729, ptr noundef @.str.152, ptr noundef @.str.2, i32 noundef 1178, ptr noundef %23732, ptr noundef %23735, ptr noundef %23738, i32 noundef %23740) #11
  br label %23759

23742:                                            ; preds = %23720, %23713
  %23743 = load i32, ptr %738, align 4, !tbaa !5
  %23744 = call ptr @__errno_location() #12
  store i32 %23743, ptr %23744, align 4, !tbaa !5
  %23745 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23746 = load i32, ptr @test_count, align 4, !tbaa !5
  %23747 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23748 = load i32, ptr %23747, align 4, !tbaa !5
  %23749 = call ptr @s2n_strerror(i32 noundef %23748, ptr noundef @.str.5)
  %23750 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23751 = load i32, ptr %23750, align 4, !tbaa !5
  %23752 = call ptr @s2n_strerror_debug(i32 noundef %23751, ptr noundef @.str.5)
  %23753 = call ptr @__errno_location() #12
  %23754 = load i32, ptr %23753, align 4, !tbaa !5
  %23755 = call ptr @strerror(i32 noundef %23754) #11
  %23756 = call ptr @__errno_location() #12
  %23757 = load i32, ptr %23756, align 4, !tbaa !5
  %23758 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23745, ptr noundef @.str.6, i32 noundef %23746, ptr noundef @.str.152, ptr noundef @.str.2, i32 noundef 1178, ptr noundef %23749, ptr noundef %23752, ptr noundef %23755, i32 noundef %23757) #11
  br label %23759

23759:                                            ; preds = %23742, %23725
  call void @llvm.lifetime.end.p0(i64 4, ptr %738) #11
  br label %23760

23760:                                            ; preds = %23759
  br label %23761

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

23762:                                            ; No predecessors!
  br label %23763

23763:                                            ; preds = %23762
  br label %23764

23764:                                            ; preds = %23763, %23704
  br label %23765

23765:                                            ; preds = %23764
  br label %23766

23766:                                            ; preds = %23765
  call void @llvm.lifetime.start.p0(i64 8, ptr %739) #11
  store i64 0, ptr %739, align 8, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 16, ptr %740) #11
  %23767 = getelementptr inbounds %struct.iovec, ptr %740, i32 0, i32 0
  %23768 = getelementptr inbounds [16384 x i8], ptr %10, i64 0, i64 0
  %23769 = getelementptr inbounds i8, ptr %23768, i64 8192
  store ptr %23769, ptr %23767, align 8, !tbaa !16
  %23770 = getelementptr inbounds %struct.iovec, ptr %740, i32 0, i32 1
  store i64 8192, ptr %23770, align 8, !tbaa !19
  br label %23771

23771:                                            ; preds = %23766
  %23772 = load i32, ptr @test_count, align 4, !tbaa !5
  %23773 = add nsw i32 %23772, 1
  store i32 %23773, ptr @test_count, align 4, !tbaa !5
  %23774 = load ptr, ptr %735, align 8, !tbaa !9
  %23775 = call i32 @s2n_ktls_sendmsg(ptr noundef %23774, i8 noundef zeroext 21, ptr noundef %740, i64 noundef 1, ptr noundef %676, ptr noundef %739)
  %23776 = getelementptr inbounds %struct.s2n_result, ptr %741, i32 0, i32 0
  store i32 %23775, ptr %23776, align 4
  %23777 = getelementptr inbounds %struct.s2n_result, ptr %741, i32 0, i32 0
  %23778 = load i32, ptr %23777, align 4
  %23779 = call zeroext i1 @s2n_result_is_ok(i32 %23778)
  br i1 %23779, label %23833, label %23780

23780:                                            ; preds = %23771
  br label %23781

23781:                                            ; preds = %23780
  br label %23782

23782:                                            ; preds = %23781
  call void @llvm.lifetime.start.p0(i64 4, ptr %742) #11
  %23783 = call ptr @__errno_location() #12
  %23784 = load i32, ptr %23783, align 4, !tbaa !5
  store i32 %23784, ptr %742, align 4, !tbaa !5
  %23785 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23786 = call i32 @s2n_print_stacktrace(ptr noundef %23785)
  %23787 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23788 = trunc i8 %23787 to i1
  br i1 %23788, label %23789, label %23811

23789:                                            ; preds = %23782
  %23790 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23791 = call i32 @fileno(ptr noundef %23790) #11
  %23792 = call i32 @isatty(i32 noundef %23791) #11
  %23793 = icmp ne i32 %23792, 0
  br i1 %23793, label %23794, label %23811

23794:                                            ; preds = %23789
  %23795 = load i32, ptr %742, align 4, !tbaa !5
  %23796 = call ptr @__errno_location() #12
  store i32 %23795, ptr %23796, align 4, !tbaa !5
  %23797 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23798 = load i32, ptr @test_count, align 4, !tbaa !5
  %23799 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23800 = load i32, ptr %23799, align 4, !tbaa !5
  %23801 = call ptr @s2n_strerror(i32 noundef %23800, ptr noundef @.str.5)
  %23802 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23803 = load i32, ptr %23802, align 4, !tbaa !5
  %23804 = call ptr @s2n_strerror_debug(i32 noundef %23803, ptr noundef @.str.5)
  %23805 = call ptr @__errno_location() #12
  %23806 = load i32, ptr %23805, align 4, !tbaa !5
  %23807 = call ptr @strerror(i32 noundef %23806) #11
  %23808 = call ptr @__errno_location() #12
  %23809 = load i32, ptr %23808, align 4, !tbaa !5
  %23810 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23797, ptr noundef @.str.3, i32 noundef %23798, ptr noundef @.str.153, ptr noundef @.str.2, i32 noundef 1186, ptr noundef %23801, ptr noundef %23804, ptr noundef %23807, i32 noundef %23809) #11
  br label %23828

23811:                                            ; preds = %23789, %23782
  %23812 = load i32, ptr %742, align 4, !tbaa !5
  %23813 = call ptr @__errno_location() #12
  store i32 %23812, ptr %23813, align 4, !tbaa !5
  %23814 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23815 = load i32, ptr @test_count, align 4, !tbaa !5
  %23816 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23817 = load i32, ptr %23816, align 4, !tbaa !5
  %23818 = call ptr @s2n_strerror(i32 noundef %23817, ptr noundef @.str.5)
  %23819 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23820 = load i32, ptr %23819, align 4, !tbaa !5
  %23821 = call ptr @s2n_strerror_debug(i32 noundef %23820, ptr noundef @.str.5)
  %23822 = call ptr @__errno_location() #12
  %23823 = load i32, ptr %23822, align 4, !tbaa !5
  %23824 = call ptr @strerror(i32 noundef %23823) #11
  %23825 = call ptr @__errno_location() #12
  %23826 = load i32, ptr %23825, align 4, !tbaa !5
  %23827 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23814, ptr noundef @.str.6, i32 noundef %23815, ptr noundef @.str.153, ptr noundef @.str.2, i32 noundef 1186, ptr noundef %23818, ptr noundef %23821, ptr noundef %23824, i32 noundef %23826) #11
  br label %23828

23828:                                            ; preds = %23811, %23794
  call void @llvm.lifetime.end.p0(i64 4, ptr %742) #11
  br label %23829

23829:                                            ; preds = %23828
  br label %23830

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

23831:                                            ; No predecessors!
  br label %23832

23832:                                            ; preds = %23831
  br label %23833

23833:                                            ; preds = %23832, %23771
  br label %23834

23834:                                            ; preds = %23833
  br label %23835

23835:                                            ; preds = %23834
  br label %23836

23836:                                            ; preds = %23835
  %23837 = load i32, ptr @test_count, align 4, !tbaa !5
  %23838 = add nsw i32 %23837, 1
  store i32 %23838, ptr @test_count, align 4, !tbaa !5
  %23839 = load i64, ptr %739, align 8, !tbaa !20
  %23840 = getelementptr inbounds %struct.iovec, ptr %740, i32 0, i32 1
  %23841 = load i64, ptr %23840, align 8, !tbaa !19
  %23842 = icmp eq i64 %23839, %23841
  br i1 %23842, label %23896, label %23843

23843:                                            ; preds = %23836
  br label %23844

23844:                                            ; preds = %23843
  br label %23845

23845:                                            ; preds = %23844
  call void @llvm.lifetime.start.p0(i64 4, ptr %743) #11
  %23846 = call ptr @__errno_location() #12
  %23847 = load i32, ptr %23846, align 4, !tbaa !5
  store i32 %23847, ptr %743, align 4, !tbaa !5
  %23848 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23849 = call i32 @s2n_print_stacktrace(ptr noundef %23848)
  %23850 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23851 = trunc i8 %23850 to i1
  br i1 %23851, label %23852, label %23874

23852:                                            ; preds = %23845
  %23853 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23854 = call i32 @fileno(ptr noundef %23853) #11
  %23855 = call i32 @isatty(i32 noundef %23854) #11
  %23856 = icmp ne i32 %23855, 0
  br i1 %23856, label %23857, label %23874

23857:                                            ; preds = %23852
  %23858 = load i32, ptr %743, align 4, !tbaa !5
  %23859 = call ptr @__errno_location() #12
  store i32 %23858, ptr %23859, align 4, !tbaa !5
  %23860 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23861 = load i32, ptr @test_count, align 4, !tbaa !5
  %23862 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23863 = load i32, ptr %23862, align 4, !tbaa !5
  %23864 = call ptr @s2n_strerror(i32 noundef %23863, ptr noundef @.str.5)
  %23865 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23866 = load i32, ptr %23865, align 4, !tbaa !5
  %23867 = call ptr @s2n_strerror_debug(i32 noundef %23866, ptr noundef @.str.5)
  %23868 = call ptr @__errno_location() #12
  %23869 = load i32, ptr %23868, align 4, !tbaa !5
  %23870 = call ptr @strerror(i32 noundef %23869) #11
  %23871 = call ptr @__errno_location() #12
  %23872 = load i32, ptr %23871, align 4, !tbaa !5
  %23873 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23860, ptr noundef @.str.3, i32 noundef %23861, ptr noundef @.str.154, ptr noundef @.str.2, i32 noundef 1187, ptr noundef %23864, ptr noundef %23867, ptr noundef %23870, i32 noundef %23872) #11
  br label %23891

23874:                                            ; preds = %23852, %23845
  %23875 = load i32, ptr %743, align 4, !tbaa !5
  %23876 = call ptr @__errno_location() #12
  store i32 %23875, ptr %23876, align 4, !tbaa !5
  %23877 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23878 = load i32, ptr @test_count, align 4, !tbaa !5
  %23879 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23880 = load i32, ptr %23879, align 4, !tbaa !5
  %23881 = call ptr @s2n_strerror(i32 noundef %23880, ptr noundef @.str.5)
  %23882 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23883 = load i32, ptr %23882, align 4, !tbaa !5
  %23884 = call ptr @s2n_strerror_debug(i32 noundef %23883, ptr noundef @.str.5)
  %23885 = call ptr @__errno_location() #12
  %23886 = load i32, ptr %23885, align 4, !tbaa !5
  %23887 = call ptr @strerror(i32 noundef %23886) #11
  %23888 = call ptr @__errno_location() #12
  %23889 = load i32, ptr %23888, align 4, !tbaa !5
  %23890 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23877, ptr noundef @.str.6, i32 noundef %23878, ptr noundef @.str.154, ptr noundef @.str.2, i32 noundef 1187, ptr noundef %23881, ptr noundef %23884, ptr noundef %23887, i32 noundef %23889) #11
  br label %23891

23891:                                            ; preds = %23874, %23857
  call void @llvm.lifetime.end.p0(i64 4, ptr %743) #11
  br label %23892

23892:                                            ; preds = %23891
  br label %23893

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

23894:                                            ; No predecessors!
  br label %23895

23895:                                            ; preds = %23894
  br label %23896

23896:                                            ; preds = %23895, %23836
  br label %23897

23897:                                            ; preds = %23896
  br label %23898

23898:                                            ; preds = %23897
  call void @llvm.lifetime.start.p0(i64 1, ptr %744) #11
  store i8 0, ptr %744, align 1, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 8, ptr %745) #11
  store ptr null, ptr %745, align 8, !tbaa !9
  br label %23899

23899:                                            ; preds = %23898
  %23900 = load i32, ptr @test_count, align 4, !tbaa !5
  %23901 = add nsw i32 %23900, 1
  store i32 %23901, ptr @test_count, align 4, !tbaa !5
  %23902 = load ptr, ptr %730, align 8, !tbaa !9
  %23903 = call i32 @s2n_ktls_read_full_record(ptr noundef %23902, ptr noundef %744)
  %23904 = icmp eq i32 %23903, -1
  br i1 %23904, label %23905, label %23958

23905:                                            ; preds = %23899
  br label %23906

23906:                                            ; preds = %23905
  br label %23907

23907:                                            ; preds = %23906
  call void @llvm.lifetime.start.p0(i64 4, ptr %746) #11
  %23908 = call ptr @__errno_location() #12
  %23909 = load i32, ptr %23908, align 4, !tbaa !5
  store i32 %23909, ptr %746, align 4, !tbaa !5
  %23910 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23911 = call i32 @s2n_print_stacktrace(ptr noundef %23910)
  %23912 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23913 = trunc i8 %23912 to i1
  br i1 %23913, label %23914, label %23936

23914:                                            ; preds = %23907
  %23915 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23916 = call i32 @fileno(ptr noundef %23915) #11
  %23917 = call i32 @isatty(i32 noundef %23916) #11
  %23918 = icmp ne i32 %23917, 0
  br i1 %23918, label %23919, label %23936

23919:                                            ; preds = %23914
  %23920 = load i32, ptr %746, align 4, !tbaa !5
  %23921 = call ptr @__errno_location() #12
  store i32 %23920, ptr %23921, align 4, !tbaa !5
  %23922 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23923 = load i32, ptr @test_count, align 4, !tbaa !5
  %23924 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23925 = load i32, ptr %23924, align 4, !tbaa !5
  %23926 = call ptr @s2n_strerror(i32 noundef %23925, ptr noundef @.str.5)
  %23927 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23928 = load i32, ptr %23927, align 4, !tbaa !5
  %23929 = call ptr @s2n_strerror_debug(i32 noundef %23928, ptr noundef @.str.5)
  %23930 = call ptr @__errno_location() #12
  %23931 = load i32, ptr %23930, align 4, !tbaa !5
  %23932 = call ptr @strerror(i32 noundef %23931) #11
  %23933 = call ptr @__errno_location() #12
  %23934 = load i32, ptr %23933, align 4, !tbaa !5
  %23935 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23922, ptr noundef @.str.3, i32 noundef %23923, ptr noundef @.str.140, ptr noundef @.str.2, i32 noundef 1193, ptr noundef %23926, ptr noundef %23929, ptr noundef %23932, i32 noundef %23934) #11
  br label %23953

23936:                                            ; preds = %23914, %23907
  %23937 = load i32, ptr %746, align 4, !tbaa !5
  %23938 = call ptr @__errno_location() #12
  store i32 %23937, ptr %23938, align 4, !tbaa !5
  %23939 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23940 = load i32, ptr @test_count, align 4, !tbaa !5
  %23941 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23942 = load i32, ptr %23941, align 4, !tbaa !5
  %23943 = call ptr @s2n_strerror(i32 noundef %23942, ptr noundef @.str.5)
  %23944 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23945 = load i32, ptr %23944, align 4, !tbaa !5
  %23946 = call ptr @s2n_strerror_debug(i32 noundef %23945, ptr noundef @.str.5)
  %23947 = call ptr @__errno_location() #12
  %23948 = load i32, ptr %23947, align 4, !tbaa !5
  %23949 = call ptr @strerror(i32 noundef %23948) #11
  %23950 = call ptr @__errno_location() #12
  %23951 = load i32, ptr %23950, align 4, !tbaa !5
  %23952 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23939, ptr noundef @.str.6, i32 noundef %23940, ptr noundef @.str.140, ptr noundef @.str.2, i32 noundef 1193, ptr noundef %23943, ptr noundef %23946, ptr noundef %23949, i32 noundef %23951) #11
  br label %23953

23953:                                            ; preds = %23936, %23919
  call void @llvm.lifetime.end.p0(i64 4, ptr %746) #11
  br label %23954

23954:                                            ; preds = %23953
  br label %23955

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

23956:                                            ; No predecessors!
  br label %23957

23957:                                            ; preds = %23956
  br label %23958

23958:                                            ; preds = %23957, %23899
  br label %23959

23959:                                            ; preds = %23958
  br label %23960

23960:                                            ; preds = %23959
  br label %23961

23961:                                            ; preds = %23960
  %23962 = load i32, ptr @test_count, align 4, !tbaa !5
  %23963 = add nsw i32 %23962, 1
  store i32 %23963, ptr @test_count, align 4, !tbaa !5
  %23964 = load i8, ptr %744, align 1, !tbaa !15
  %23965 = zext i8 %23964 to i32
  %23966 = icmp eq i32 %23965, 23
  br i1 %23966, label %24020, label %23967

23967:                                            ; preds = %23961
  br label %23968

23968:                                            ; preds = %23967
  br label %23969

23969:                                            ; preds = %23968
  call void @llvm.lifetime.start.p0(i64 4, ptr %747) #11
  %23970 = call ptr @__errno_location() #12
  %23971 = load i32, ptr %23970, align 4, !tbaa !5
  store i32 %23971, ptr %747, align 4, !tbaa !5
  %23972 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23973 = call i32 @s2n_print_stacktrace(ptr noundef %23972)
  %23974 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23975 = trunc i8 %23974 to i1
  br i1 %23975, label %23976, label %23998

23976:                                            ; preds = %23969
  %23977 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23978 = call i32 @fileno(ptr noundef %23977) #11
  %23979 = call i32 @isatty(i32 noundef %23978) #11
  %23980 = icmp ne i32 %23979, 0
  br i1 %23980, label %23981, label %23998

23981:                                            ; preds = %23976
  %23982 = load i32, ptr %747, align 4, !tbaa !5
  %23983 = call ptr @__errno_location() #12
  store i32 %23982, ptr %23983, align 4, !tbaa !5
  %23984 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23985 = load i32, ptr @test_count, align 4, !tbaa !5
  %23986 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23987 = load i32, ptr %23986, align 4, !tbaa !5
  %23988 = call ptr @s2n_strerror(i32 noundef %23987, ptr noundef @.str.5)
  %23989 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23990 = load i32, ptr %23989, align 4, !tbaa !5
  %23991 = call ptr @s2n_strerror_debug(i32 noundef %23990, ptr noundef @.str.5)
  %23992 = call ptr @__errno_location() #12
  %23993 = load i32, ptr %23992, align 4, !tbaa !5
  %23994 = call ptr @strerror(i32 noundef %23993) #11
  %23995 = call ptr @__errno_location() #12
  %23996 = load i32, ptr %23995, align 4, !tbaa !5
  %23997 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23984, ptr noundef @.str.3, i32 noundef %23985, ptr noundef @.str.155, ptr noundef @.str.2, i32 noundef 1194, ptr noundef %23988, ptr noundef %23991, ptr noundef %23994, i32 noundef %23996) #11
  br label %24015

23998:                                            ; preds = %23976, %23969
  %23999 = load i32, ptr %747, align 4, !tbaa !5
  %24000 = call ptr @__errno_location() #12
  store i32 %23999, ptr %24000, align 4, !tbaa !5
  %24001 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24002 = load i32, ptr @test_count, align 4, !tbaa !5
  %24003 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24004 = load i32, ptr %24003, align 4, !tbaa !5
  %24005 = call ptr @s2n_strerror(i32 noundef %24004, ptr noundef @.str.5)
  %24006 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24007 = load i32, ptr %24006, align 4, !tbaa !5
  %24008 = call ptr @s2n_strerror_debug(i32 noundef %24007, ptr noundef @.str.5)
  %24009 = call ptr @__errno_location() #12
  %24010 = load i32, ptr %24009, align 4, !tbaa !5
  %24011 = call ptr @strerror(i32 noundef %24010) #11
  %24012 = call ptr @__errno_location() #12
  %24013 = load i32, ptr %24012, align 4, !tbaa !5
  %24014 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24001, ptr noundef @.str.6, i32 noundef %24002, ptr noundef @.str.155, ptr noundef @.str.2, i32 noundef 1194, ptr noundef %24005, ptr noundef %24008, ptr noundef %24011, i32 noundef %24013) #11
  br label %24015

24015:                                            ; preds = %23998, %23981
  call void @llvm.lifetime.end.p0(i64 4, ptr %747) #11
  br label %24016

24016:                                            ; preds = %24015
  br label %24017

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

24018:                                            ; No predecessors!
  br label %24019

24019:                                            ; preds = %24018
  br label %24020

24020:                                            ; preds = %24019, %23961
  br label %24021

24021:                                            ; preds = %24020
  br label %24022

24022:                                            ; preds = %24021
  br label %24023

24023:                                            ; preds = %24022
  %24024 = load i32, ptr @test_count, align 4, !tbaa !5
  %24025 = add nsw i32 %24024, 1
  store i32 %24025, ptr @test_count, align 4, !tbaa !5
  %24026 = load ptr, ptr %730, align 8, !tbaa !9
  %24027 = getelementptr inbounds %struct.s2n_connection, ptr %24026, i32 0, i32 40
  %24028 = getelementptr inbounds %struct.s2n_stuffer, ptr %24027, i32 0, i32 2
  %24029 = load i32, ptr %24028, align 4, !tbaa !80
  %24030 = load ptr, ptr %730, align 8, !tbaa !9
  %24031 = getelementptr inbounds %struct.s2n_connection, ptr %24030, i32 0, i32 40
  %24032 = getelementptr inbounds %struct.s2n_stuffer, ptr %24031, i32 0, i32 1
  %24033 = load i32, ptr %24032, align 8, !tbaa !81
  %24034 = sub i32 %24029, %24033
  %24035 = zext i32 %24034 to i64
  %24036 = icmp eq i64 %24035, 8192
  br i1 %24036, label %24090, label %24037

24037:                                            ; preds = %24023
  br label %24038

24038:                                            ; preds = %24037
  br label %24039

24039:                                            ; preds = %24038
  call void @llvm.lifetime.start.p0(i64 4, ptr %748) #11
  %24040 = call ptr @__errno_location() #12
  %24041 = load i32, ptr %24040, align 4, !tbaa !5
  store i32 %24041, ptr %748, align 4, !tbaa !5
  %24042 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24043 = call i32 @s2n_print_stacktrace(ptr noundef %24042)
  %24044 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24045 = trunc i8 %24044 to i1
  br i1 %24045, label %24046, label %24068

24046:                                            ; preds = %24039
  %24047 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24048 = call i32 @fileno(ptr noundef %24047) #11
  %24049 = call i32 @isatty(i32 noundef %24048) #11
  %24050 = icmp ne i32 %24049, 0
  br i1 %24050, label %24051, label %24068

24051:                                            ; preds = %24046
  %24052 = load i32, ptr %748, align 4, !tbaa !5
  %24053 = call ptr @__errno_location() #12
  store i32 %24052, ptr %24053, align 4, !tbaa !5
  %24054 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24055 = load i32, ptr @test_count, align 4, !tbaa !5
  %24056 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24057 = load i32, ptr %24056, align 4, !tbaa !5
  %24058 = call ptr @s2n_strerror(i32 noundef %24057, ptr noundef @.str.5)
  %24059 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24060 = load i32, ptr %24059, align 4, !tbaa !5
  %24061 = call ptr @s2n_strerror_debug(i32 noundef %24060, ptr noundef @.str.5)
  %24062 = call ptr @__errno_location() #12
  %24063 = load i32, ptr %24062, align 4, !tbaa !5
  %24064 = call ptr @strerror(i32 noundef %24063) #11
  %24065 = call ptr @__errno_location() #12
  %24066 = load i32, ptr %24065, align 4, !tbaa !5
  %24067 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24054, ptr noundef @.str.3, i32 noundef %24055, ptr noundef @.str.156, ptr noundef @.str.2, i32 noundef 1195, ptr noundef %24058, ptr noundef %24061, ptr noundef %24064, i32 noundef %24066) #11
  br label %24085

24068:                                            ; preds = %24046, %24039
  %24069 = load i32, ptr %748, align 4, !tbaa !5
  %24070 = call ptr @__errno_location() #12
  store i32 %24069, ptr %24070, align 4, !tbaa !5
  %24071 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24072 = load i32, ptr @test_count, align 4, !tbaa !5
  %24073 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24074 = load i32, ptr %24073, align 4, !tbaa !5
  %24075 = call ptr @s2n_strerror(i32 noundef %24074, ptr noundef @.str.5)
  %24076 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24077 = load i32, ptr %24076, align 4, !tbaa !5
  %24078 = call ptr @s2n_strerror_debug(i32 noundef %24077, ptr noundef @.str.5)
  %24079 = call ptr @__errno_location() #12
  %24080 = load i32, ptr %24079, align 4, !tbaa !5
  %24081 = call ptr @strerror(i32 noundef %24080) #11
  %24082 = call ptr @__errno_location() #12
  %24083 = load i32, ptr %24082, align 4, !tbaa !5
  %24084 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24071, ptr noundef @.str.6, i32 noundef %24072, ptr noundef @.str.156, ptr noundef @.str.2, i32 noundef 1195, ptr noundef %24075, ptr noundef %24078, ptr noundef %24081, i32 noundef %24083) #11
  br label %24085

24085:                                            ; preds = %24068, %24051
  call void @llvm.lifetime.end.p0(i64 4, ptr %748) #11
  br label %24086

24086:                                            ; preds = %24085
  br label %24087

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

24088:                                            ; No predecessors!
  br label %24089

24089:                                            ; preds = %24088
  br label %24090

24090:                                            ; preds = %24089, %24023
  br label %24091

24091:                                            ; preds = %24090
  br label %24092

24092:                                            ; preds = %24091
  %24093 = load ptr, ptr %730, align 8, !tbaa !9
  %24094 = getelementptr inbounds %struct.s2n_connection, ptr %24093, i32 0, i32 40
  %24095 = call ptr @s2n_stuffer_raw_read(ptr noundef %24094, i32 noundef 8192)
  store ptr %24095, ptr %745, align 8, !tbaa !9
  br label %24096

24096:                                            ; preds = %24092
  br label %24097

24097:                                            ; preds = %24096
  %24098 = load i32, ptr @test_count, align 4, !tbaa !5
  %24099 = add nsw i32 %24098, 1
  store i32 %24099, ptr @test_count, align 4, !tbaa !5
  %24100 = load ptr, ptr %745, align 8, !tbaa !9
  %24101 = getelementptr inbounds [16384 x i8], ptr %10, i64 0, i64 0
  %24102 = call i32 @memcmp(ptr noundef %24100, ptr noundef %24101, i64 noundef 8192) #14
  %24103 = icmp eq i32 %24102, 0
  br i1 %24103, label %24157, label %24104

24104:                                            ; preds = %24097
  br label %24105

24105:                                            ; preds = %24104
  br label %24106

24106:                                            ; preds = %24105
  call void @llvm.lifetime.start.p0(i64 4, ptr %749) #11
  %24107 = call ptr @__errno_location() #12
  %24108 = load i32, ptr %24107, align 4, !tbaa !5
  store i32 %24108, ptr %749, align 4, !tbaa !5
  %24109 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24110 = call i32 @s2n_print_stacktrace(ptr noundef %24109)
  %24111 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24112 = trunc i8 %24111 to i1
  br i1 %24112, label %24113, label %24135

24113:                                            ; preds = %24106
  %24114 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24115 = call i32 @fileno(ptr noundef %24114) #11
  %24116 = call i32 @isatty(i32 noundef %24115) #11
  %24117 = icmp ne i32 %24116, 0
  br i1 %24117, label %24118, label %24135

24118:                                            ; preds = %24113
  %24119 = load i32, ptr %749, align 4, !tbaa !5
  %24120 = call ptr @__errno_location() #12
  store i32 %24119, ptr %24120, align 4, !tbaa !5
  %24121 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24122 = load i32, ptr @test_count, align 4, !tbaa !5
  %24123 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24124 = load i32, ptr %24123, align 4, !tbaa !5
  %24125 = call ptr @s2n_strerror(i32 noundef %24124, ptr noundef @.str.5)
  %24126 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24127 = load i32, ptr %24126, align 4, !tbaa !5
  %24128 = call ptr @s2n_strerror_debug(i32 noundef %24127, ptr noundef @.str.5)
  %24129 = call ptr @__errno_location() #12
  %24130 = load i32, ptr %24129, align 4, !tbaa !5
  %24131 = call ptr @strerror(i32 noundef %24130) #11
  %24132 = call ptr @__errno_location() #12
  %24133 = load i32, ptr %24132, align 4, !tbaa !5
  %24134 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24121, ptr noundef @.str.3, i32 noundef %24122, ptr noundef @.str.157, ptr noundef @.str.2, i32 noundef 1197, ptr noundef %24125, ptr noundef %24128, ptr noundef %24131, i32 noundef %24133) #11
  br label %24152

24135:                                            ; preds = %24113, %24106
  %24136 = load i32, ptr %749, align 4, !tbaa !5
  %24137 = call ptr @__errno_location() #12
  store i32 %24136, ptr %24137, align 4, !tbaa !5
  %24138 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24139 = load i32, ptr @test_count, align 4, !tbaa !5
  %24140 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24141 = load i32, ptr %24140, align 4, !tbaa !5
  %24142 = call ptr @s2n_strerror(i32 noundef %24141, ptr noundef @.str.5)
  %24143 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24144 = load i32, ptr %24143, align 4, !tbaa !5
  %24145 = call ptr @s2n_strerror_debug(i32 noundef %24144, ptr noundef @.str.5)
  %24146 = call ptr @__errno_location() #12
  %24147 = load i32, ptr %24146, align 4, !tbaa !5
  %24148 = call ptr @strerror(i32 noundef %24147) #11
  %24149 = call ptr @__errno_location() #12
  %24150 = load i32, ptr %24149, align 4, !tbaa !5
  %24151 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24138, ptr noundef @.str.6, i32 noundef %24139, ptr noundef @.str.157, ptr noundef @.str.2, i32 noundef 1197, ptr noundef %24142, ptr noundef %24145, ptr noundef %24148, i32 noundef %24150) #11
  br label %24152

24152:                                            ; preds = %24135, %24118
  call void @llvm.lifetime.end.p0(i64 4, ptr %749) #11
  br label %24153

24153:                                            ; preds = %24152
  br label %24154

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

24155:                                            ; No predecessors!
  br label %24156

24156:                                            ; preds = %24155
  br label %24157

24157:                                            ; preds = %24156, %24097
  br label %24158

24158:                                            ; preds = %24157
  br label %24159

24159:                                            ; preds = %24158
  br label %24160

24160:                                            ; preds = %24159
  br label %24161

24161:                                            ; preds = %24160
  br label %24162

24162:                                            ; preds = %24161
  %24163 = load i32, ptr @test_count, align 4, !tbaa !5
  %24164 = add nsw i32 %24163, 1
  store i32 %24164, ptr @test_count, align 4, !tbaa !5
  %24165 = load ptr, ptr %730, align 8, !tbaa !9
  %24166 = getelementptr inbounds %struct.s2n_connection, ptr %24165, i32 0, i32 40
  %24167 = call i32 @s2n_stuffer_wipe(ptr noundef %24166)
  %24168 = icmp eq i32 %24167, -1
  br i1 %24168, label %24169, label %24222

24169:                                            ; preds = %24162
  br label %24170

24170:                                            ; preds = %24169
  br label %24171

24171:                                            ; preds = %24170
  call void @llvm.lifetime.start.p0(i64 4, ptr %750) #11
  %24172 = call ptr @__errno_location() #12
  %24173 = load i32, ptr %24172, align 4, !tbaa !5
  store i32 %24173, ptr %750, align 4, !tbaa !5
  %24174 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24175 = call i32 @s2n_print_stacktrace(ptr noundef %24174)
  %24176 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24177 = trunc i8 %24176 to i1
  br i1 %24177, label %24178, label %24200

24178:                                            ; preds = %24171
  %24179 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24180 = call i32 @fileno(ptr noundef %24179) #11
  %24181 = call i32 @isatty(i32 noundef %24180) #11
  %24182 = icmp ne i32 %24181, 0
  br i1 %24182, label %24183, label %24200

24183:                                            ; preds = %24178
  %24184 = load i32, ptr %750, align 4, !tbaa !5
  %24185 = call ptr @__errno_location() #12
  store i32 %24184, ptr %24185, align 4, !tbaa !5
  %24186 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24187 = load i32, ptr @test_count, align 4, !tbaa !5
  %24188 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24189 = load i32, ptr %24188, align 4, !tbaa !5
  %24190 = call ptr @s2n_strerror(i32 noundef %24189, ptr noundef @.str.5)
  %24191 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24192 = load i32, ptr %24191, align 4, !tbaa !5
  %24193 = call ptr @s2n_strerror_debug(i32 noundef %24192, ptr noundef @.str.5)
  %24194 = call ptr @__errno_location() #12
  %24195 = load i32, ptr %24194, align 4, !tbaa !5
  %24196 = call ptr @strerror(i32 noundef %24195) #11
  %24197 = call ptr @__errno_location() #12
  %24198 = load i32, ptr %24197, align 4, !tbaa !5
  %24199 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24186, ptr noundef @.str.3, i32 noundef %24187, ptr noundef @.str.158, ptr noundef @.str.2, i32 noundef 1199, ptr noundef %24190, ptr noundef %24193, ptr noundef %24196, i32 noundef %24198) #11
  br label %24217

24200:                                            ; preds = %24178, %24171
  %24201 = load i32, ptr %750, align 4, !tbaa !5
  %24202 = call ptr @__errno_location() #12
  store i32 %24201, ptr %24202, align 4, !tbaa !5
  %24203 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24204 = load i32, ptr @test_count, align 4, !tbaa !5
  %24205 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24206 = load i32, ptr %24205, align 4, !tbaa !5
  %24207 = call ptr @s2n_strerror(i32 noundef %24206, ptr noundef @.str.5)
  %24208 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24209 = load i32, ptr %24208, align 4, !tbaa !5
  %24210 = call ptr @s2n_strerror_debug(i32 noundef %24209, ptr noundef @.str.5)
  %24211 = call ptr @__errno_location() #12
  %24212 = load i32, ptr %24211, align 4, !tbaa !5
  %24213 = call ptr @strerror(i32 noundef %24212) #11
  %24214 = call ptr @__errno_location() #12
  %24215 = load i32, ptr %24214, align 4, !tbaa !5
  %24216 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24203, ptr noundef @.str.6, i32 noundef %24204, ptr noundef @.str.158, ptr noundef @.str.2, i32 noundef 1199, ptr noundef %24207, ptr noundef %24210, ptr noundef %24213, i32 noundef %24215) #11
  br label %24217

24217:                                            ; preds = %24200, %24183
  call void @llvm.lifetime.end.p0(i64 4, ptr %750) #11
  br label %24218

24218:                                            ; preds = %24217
  br label %24219

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

24220:                                            ; No predecessors!
  br label %24221

24221:                                            ; preds = %24220
  br label %24222

24222:                                            ; preds = %24221, %24162
  br label %24223

24223:                                            ; preds = %24222
  br label %24224

24224:                                            ; preds = %24223
  br label %24225

24225:                                            ; preds = %24224
  %24226 = load i32, ptr @test_count, align 4, !tbaa !5
  %24227 = add nsw i32 %24226, 1
  store i32 %24227, ptr @test_count, align 4, !tbaa !5
  %24228 = load ptr, ptr %730, align 8, !tbaa !9
  %24229 = call i32 @s2n_ktls_read_full_record(ptr noundef %24228, ptr noundef %744)
  %24230 = icmp eq i32 %24229, -1
  br i1 %24230, label %24231, label %24284

24231:                                            ; preds = %24225
  br label %24232

24232:                                            ; preds = %24231
  br label %24233

24233:                                            ; preds = %24232
  call void @llvm.lifetime.start.p0(i64 4, ptr %751) #11
  %24234 = call ptr @__errno_location() #12
  %24235 = load i32, ptr %24234, align 4, !tbaa !5
  store i32 %24235, ptr %751, align 4, !tbaa !5
  %24236 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24237 = call i32 @s2n_print_stacktrace(ptr noundef %24236)
  %24238 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24239 = trunc i8 %24238 to i1
  br i1 %24239, label %24240, label %24262

24240:                                            ; preds = %24233
  %24241 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24242 = call i32 @fileno(ptr noundef %24241) #11
  %24243 = call i32 @isatty(i32 noundef %24242) #11
  %24244 = icmp ne i32 %24243, 0
  br i1 %24244, label %24245, label %24262

24245:                                            ; preds = %24240
  %24246 = load i32, ptr %751, align 4, !tbaa !5
  %24247 = call ptr @__errno_location() #12
  store i32 %24246, ptr %24247, align 4, !tbaa !5
  %24248 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24249 = load i32, ptr @test_count, align 4, !tbaa !5
  %24250 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24251 = load i32, ptr %24250, align 4, !tbaa !5
  %24252 = call ptr @s2n_strerror(i32 noundef %24251, ptr noundef @.str.5)
  %24253 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24254 = load i32, ptr %24253, align 4, !tbaa !5
  %24255 = call ptr @s2n_strerror_debug(i32 noundef %24254, ptr noundef @.str.5)
  %24256 = call ptr @__errno_location() #12
  %24257 = load i32, ptr %24256, align 4, !tbaa !5
  %24258 = call ptr @strerror(i32 noundef %24257) #11
  %24259 = call ptr @__errno_location() #12
  %24260 = load i32, ptr %24259, align 4, !tbaa !5
  %24261 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24248, ptr noundef @.str.3, i32 noundef %24249, ptr noundef @.str.140, ptr noundef @.str.2, i32 noundef 1202, ptr noundef %24252, ptr noundef %24255, ptr noundef %24258, i32 noundef %24260) #11
  br label %24279

24262:                                            ; preds = %24240, %24233
  %24263 = load i32, ptr %751, align 4, !tbaa !5
  %24264 = call ptr @__errno_location() #12
  store i32 %24263, ptr %24264, align 4, !tbaa !5
  %24265 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24266 = load i32, ptr @test_count, align 4, !tbaa !5
  %24267 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24268 = load i32, ptr %24267, align 4, !tbaa !5
  %24269 = call ptr @s2n_strerror(i32 noundef %24268, ptr noundef @.str.5)
  %24270 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24271 = load i32, ptr %24270, align 4, !tbaa !5
  %24272 = call ptr @s2n_strerror_debug(i32 noundef %24271, ptr noundef @.str.5)
  %24273 = call ptr @__errno_location() #12
  %24274 = load i32, ptr %24273, align 4, !tbaa !5
  %24275 = call ptr @strerror(i32 noundef %24274) #11
  %24276 = call ptr @__errno_location() #12
  %24277 = load i32, ptr %24276, align 4, !tbaa !5
  %24278 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24265, ptr noundef @.str.6, i32 noundef %24266, ptr noundef @.str.140, ptr noundef @.str.2, i32 noundef 1202, ptr noundef %24269, ptr noundef %24272, ptr noundef %24275, i32 noundef %24277) #11
  br label %24279

24279:                                            ; preds = %24262, %24245
  call void @llvm.lifetime.end.p0(i64 4, ptr %751) #11
  br label %24280

24280:                                            ; preds = %24279
  br label %24281

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

24282:                                            ; No predecessors!
  br label %24283

24283:                                            ; preds = %24282
  br label %24284

24284:                                            ; preds = %24283, %24225
  br label %24285

24285:                                            ; preds = %24284
  br label %24286

24286:                                            ; preds = %24285
  br label %24287

24287:                                            ; preds = %24286
  %24288 = load i32, ptr @test_count, align 4, !tbaa !5
  %24289 = add nsw i32 %24288, 1
  store i32 %24289, ptr @test_count, align 4, !tbaa !5
  %24290 = load i8, ptr %744, align 1, !tbaa !15
  %24291 = zext i8 %24290 to i32
  %24292 = icmp eq i32 %24291, 21
  br i1 %24292, label %24346, label %24293

24293:                                            ; preds = %24287
  br label %24294

24294:                                            ; preds = %24293
  br label %24295

24295:                                            ; preds = %24294
  call void @llvm.lifetime.start.p0(i64 4, ptr %752) #11
  %24296 = call ptr @__errno_location() #12
  %24297 = load i32, ptr %24296, align 4, !tbaa !5
  store i32 %24297, ptr %752, align 4, !tbaa !5
  %24298 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24299 = call i32 @s2n_print_stacktrace(ptr noundef %24298)
  %24300 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24301 = trunc i8 %24300 to i1
  br i1 %24301, label %24302, label %24324

24302:                                            ; preds = %24295
  %24303 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24304 = call i32 @fileno(ptr noundef %24303) #11
  %24305 = call i32 @isatty(i32 noundef %24304) #11
  %24306 = icmp ne i32 %24305, 0
  br i1 %24306, label %24307, label %24324

24307:                                            ; preds = %24302
  %24308 = load i32, ptr %752, align 4, !tbaa !5
  %24309 = call ptr @__errno_location() #12
  store i32 %24308, ptr %24309, align 4, !tbaa !5
  %24310 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24311 = load i32, ptr @test_count, align 4, !tbaa !5
  %24312 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24313 = load i32, ptr %24312, align 4, !tbaa !5
  %24314 = call ptr @s2n_strerror(i32 noundef %24313, ptr noundef @.str.5)
  %24315 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24316 = load i32, ptr %24315, align 4, !tbaa !5
  %24317 = call ptr @s2n_strerror_debug(i32 noundef %24316, ptr noundef @.str.5)
  %24318 = call ptr @__errno_location() #12
  %24319 = load i32, ptr %24318, align 4, !tbaa !5
  %24320 = call ptr @strerror(i32 noundef %24319) #11
  %24321 = call ptr @__errno_location() #12
  %24322 = load i32, ptr %24321, align 4, !tbaa !5
  %24323 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24310, ptr noundef @.str.3, i32 noundef %24311, ptr noundef @.str.141, ptr noundef @.str.2, i32 noundef 1203, ptr noundef %24314, ptr noundef %24317, ptr noundef %24320, i32 noundef %24322) #11
  br label %24341

24324:                                            ; preds = %24302, %24295
  %24325 = load i32, ptr %752, align 4, !tbaa !5
  %24326 = call ptr @__errno_location() #12
  store i32 %24325, ptr %24326, align 4, !tbaa !5
  %24327 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24328 = load i32, ptr @test_count, align 4, !tbaa !5
  %24329 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24330 = load i32, ptr %24329, align 4, !tbaa !5
  %24331 = call ptr @s2n_strerror(i32 noundef %24330, ptr noundef @.str.5)
  %24332 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24333 = load i32, ptr %24332, align 4, !tbaa !5
  %24334 = call ptr @s2n_strerror_debug(i32 noundef %24333, ptr noundef @.str.5)
  %24335 = call ptr @__errno_location() #12
  %24336 = load i32, ptr %24335, align 4, !tbaa !5
  %24337 = call ptr @strerror(i32 noundef %24336) #11
  %24338 = call ptr @__errno_location() #12
  %24339 = load i32, ptr %24338, align 4, !tbaa !5
  %24340 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24327, ptr noundef @.str.6, i32 noundef %24328, ptr noundef @.str.141, ptr noundef @.str.2, i32 noundef 1203, ptr noundef %24331, ptr noundef %24334, ptr noundef %24337, i32 noundef %24339) #11
  br label %24341

24341:                                            ; preds = %24324, %24307
  call void @llvm.lifetime.end.p0(i64 4, ptr %752) #11
  br label %24342

24342:                                            ; preds = %24341
  br label %24343

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

24344:                                            ; No predecessors!
  br label %24345

24345:                                            ; preds = %24344
  br label %24346

24346:                                            ; preds = %24345, %24287
  br label %24347

24347:                                            ; preds = %24346
  br label %24348

24348:                                            ; preds = %24347
  br label %24349

24349:                                            ; preds = %24348
  %24350 = load i32, ptr @test_count, align 4, !tbaa !5
  %24351 = add nsw i32 %24350, 1
  store i32 %24351, ptr @test_count, align 4, !tbaa !5
  %24352 = load ptr, ptr %730, align 8, !tbaa !9
  %24353 = getelementptr inbounds %struct.s2n_connection, ptr %24352, i32 0, i32 40
  %24354 = getelementptr inbounds %struct.s2n_stuffer, ptr %24353, i32 0, i32 2
  %24355 = load i32, ptr %24354, align 4, !tbaa !80
  %24356 = load ptr, ptr %730, align 8, !tbaa !9
  %24357 = getelementptr inbounds %struct.s2n_connection, ptr %24356, i32 0, i32 40
  %24358 = getelementptr inbounds %struct.s2n_stuffer, ptr %24357, i32 0, i32 1
  %24359 = load i32, ptr %24358, align 8, !tbaa !81
  %24360 = sub i32 %24355, %24359
  %24361 = zext i32 %24360 to i64
  %24362 = getelementptr inbounds %struct.iovec, ptr %740, i32 0, i32 1
  %24363 = load i64, ptr %24362, align 8, !tbaa !19
  %24364 = icmp eq i64 %24361, %24363
  br i1 %24364, label %24418, label %24365

24365:                                            ; preds = %24349
  br label %24366

24366:                                            ; preds = %24365
  br label %24367

24367:                                            ; preds = %24366
  call void @llvm.lifetime.start.p0(i64 4, ptr %753) #11
  %24368 = call ptr @__errno_location() #12
  %24369 = load i32, ptr %24368, align 4, !tbaa !5
  store i32 %24369, ptr %753, align 4, !tbaa !5
  %24370 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24371 = call i32 @s2n_print_stacktrace(ptr noundef %24370)
  %24372 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24373 = trunc i8 %24372 to i1
  br i1 %24373, label %24374, label %24396

24374:                                            ; preds = %24367
  %24375 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24376 = call i32 @fileno(ptr noundef %24375) #11
  %24377 = call i32 @isatty(i32 noundef %24376) #11
  %24378 = icmp ne i32 %24377, 0
  br i1 %24378, label %24379, label %24396

24379:                                            ; preds = %24374
  %24380 = load i32, ptr %753, align 4, !tbaa !5
  %24381 = call ptr @__errno_location() #12
  store i32 %24380, ptr %24381, align 4, !tbaa !5
  %24382 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24383 = load i32, ptr @test_count, align 4, !tbaa !5
  %24384 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24385 = load i32, ptr %24384, align 4, !tbaa !5
  %24386 = call ptr @s2n_strerror(i32 noundef %24385, ptr noundef @.str.5)
  %24387 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24388 = load i32, ptr %24387, align 4, !tbaa !5
  %24389 = call ptr @s2n_strerror_debug(i32 noundef %24388, ptr noundef @.str.5)
  %24390 = call ptr @__errno_location() #12
  %24391 = load i32, ptr %24390, align 4, !tbaa !5
  %24392 = call ptr @strerror(i32 noundef %24391) #11
  %24393 = call ptr @__errno_location() #12
  %24394 = load i32, ptr %24393, align 4, !tbaa !5
  %24395 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24382, ptr noundef @.str.3, i32 noundef %24383, ptr noundef @.str.159, ptr noundef @.str.2, i32 noundef 1204, ptr noundef %24386, ptr noundef %24389, ptr noundef %24392, i32 noundef %24394) #11
  br label %24413

24396:                                            ; preds = %24374, %24367
  %24397 = load i32, ptr %753, align 4, !tbaa !5
  %24398 = call ptr @__errno_location() #12
  store i32 %24397, ptr %24398, align 4, !tbaa !5
  %24399 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24400 = load i32, ptr @test_count, align 4, !tbaa !5
  %24401 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24402 = load i32, ptr %24401, align 4, !tbaa !5
  %24403 = call ptr @s2n_strerror(i32 noundef %24402, ptr noundef @.str.5)
  %24404 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24405 = load i32, ptr %24404, align 4, !tbaa !5
  %24406 = call ptr @s2n_strerror_debug(i32 noundef %24405, ptr noundef @.str.5)
  %24407 = call ptr @__errno_location() #12
  %24408 = load i32, ptr %24407, align 4, !tbaa !5
  %24409 = call ptr @strerror(i32 noundef %24408) #11
  %24410 = call ptr @__errno_location() #12
  %24411 = load i32, ptr %24410, align 4, !tbaa !5
  %24412 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24399, ptr noundef @.str.6, i32 noundef %24400, ptr noundef @.str.159, ptr noundef @.str.2, i32 noundef 1204, ptr noundef %24403, ptr noundef %24406, ptr noundef %24409, i32 noundef %24411) #11
  br label %24413

24413:                                            ; preds = %24396, %24379
  call void @llvm.lifetime.end.p0(i64 4, ptr %753) #11
  br label %24414

24414:                                            ; preds = %24413
  br label %24415

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

24416:                                            ; No predecessors!
  br label %24417

24417:                                            ; preds = %24416
  br label %24418

24418:                                            ; preds = %24417, %24349
  br label %24419

24419:                                            ; preds = %24418
  br label %24420

24420:                                            ; preds = %24419
  %24421 = load ptr, ptr %730, align 8, !tbaa !9
  %24422 = getelementptr inbounds %struct.s2n_connection, ptr %24421, i32 0, i32 40
  %24423 = getelementptr inbounds %struct.iovec, ptr %740, i32 0, i32 1
  %24424 = load i64, ptr %24423, align 8, !tbaa !19
  %24425 = trunc i64 %24424 to i32
  %24426 = call ptr @s2n_stuffer_raw_read(ptr noundef %24422, i32 noundef %24425)
  store ptr %24426, ptr %745, align 8, !tbaa !9
  br label %24427

24427:                                            ; preds = %24420
  %24428 = getelementptr inbounds %struct.iovec, ptr %740, i32 0, i32 1
  %24429 = load i64, ptr %24428, align 8, !tbaa !19
  %24430 = icmp ne i64 %24429, 0
  br i1 %24430, label %24431, label %24498

24431:                                            ; preds = %24427
  br label %24432

24432:                                            ; preds = %24431
  %24433 = load i32, ptr @test_count, align 4, !tbaa !5
  %24434 = add nsw i32 %24433, 1
  store i32 %24434, ptr @test_count, align 4, !tbaa !5
  %24435 = load ptr, ptr %745, align 8, !tbaa !9
  %24436 = getelementptr inbounds %struct.iovec, ptr %740, i32 0, i32 0
  %24437 = load ptr, ptr %24436, align 8, !tbaa !16
  %24438 = getelementptr inbounds %struct.iovec, ptr %740, i32 0, i32 1
  %24439 = load i64, ptr %24438, align 8, !tbaa !19
  %24440 = call i32 @memcmp(ptr noundef %24435, ptr noundef %24437, i64 noundef %24439) #14
  %24441 = icmp eq i32 %24440, 0
  br i1 %24441, label %24495, label %24442

24442:                                            ; preds = %24432
  br label %24443

24443:                                            ; preds = %24442
  br label %24444

24444:                                            ; preds = %24443
  call void @llvm.lifetime.start.p0(i64 4, ptr %754) #11
  %24445 = call ptr @__errno_location() #12
  %24446 = load i32, ptr %24445, align 4, !tbaa !5
  store i32 %24446, ptr %754, align 4, !tbaa !5
  %24447 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24448 = call i32 @s2n_print_stacktrace(ptr noundef %24447)
  %24449 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24450 = trunc i8 %24449 to i1
  br i1 %24450, label %24451, label %24473

24451:                                            ; preds = %24444
  %24452 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24453 = call i32 @fileno(ptr noundef %24452) #11
  %24454 = call i32 @isatty(i32 noundef %24453) #11
  %24455 = icmp ne i32 %24454, 0
  br i1 %24455, label %24456, label %24473

24456:                                            ; preds = %24451
  %24457 = load i32, ptr %754, align 4, !tbaa !5
  %24458 = call ptr @__errno_location() #12
  store i32 %24457, ptr %24458, align 4, !tbaa !5
  %24459 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24460 = load i32, ptr @test_count, align 4, !tbaa !5
  %24461 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24462 = load i32, ptr %24461, align 4, !tbaa !5
  %24463 = call ptr @s2n_strerror(i32 noundef %24462, ptr noundef @.str.5)
  %24464 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24465 = load i32, ptr %24464, align 4, !tbaa !5
  %24466 = call ptr @s2n_strerror_debug(i32 noundef %24465, ptr noundef @.str.5)
  %24467 = call ptr @__errno_location() #12
  %24468 = load i32, ptr %24467, align 4, !tbaa !5
  %24469 = call ptr @strerror(i32 noundef %24468) #11
  %24470 = call ptr @__errno_location() #12
  %24471 = load i32, ptr %24470, align 4, !tbaa !5
  %24472 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24459, ptr noundef @.str.3, i32 noundef %24460, ptr noundef @.str.160, ptr noundef @.str.2, i32 noundef 1206, ptr noundef %24463, ptr noundef %24466, ptr noundef %24469, i32 noundef %24471) #11
  br label %24490

24473:                                            ; preds = %24451, %24444
  %24474 = load i32, ptr %754, align 4, !tbaa !5
  %24475 = call ptr @__errno_location() #12
  store i32 %24474, ptr %24475, align 4, !tbaa !5
  %24476 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24477 = load i32, ptr @test_count, align 4, !tbaa !5
  %24478 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24479 = load i32, ptr %24478, align 4, !tbaa !5
  %24480 = call ptr @s2n_strerror(i32 noundef %24479, ptr noundef @.str.5)
  %24481 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24482 = load i32, ptr %24481, align 4, !tbaa !5
  %24483 = call ptr @s2n_strerror_debug(i32 noundef %24482, ptr noundef @.str.5)
  %24484 = call ptr @__errno_location() #12
  %24485 = load i32, ptr %24484, align 4, !tbaa !5
  %24486 = call ptr @strerror(i32 noundef %24485) #11
  %24487 = call ptr @__errno_location() #12
  %24488 = load i32, ptr %24487, align 4, !tbaa !5
  %24489 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24476, ptr noundef @.str.6, i32 noundef %24477, ptr noundef @.str.160, ptr noundef @.str.2, i32 noundef 1206, ptr noundef %24480, ptr noundef %24483, ptr noundef %24486, i32 noundef %24488) #11
  br label %24490

24490:                                            ; preds = %24473, %24456
  call void @llvm.lifetime.end.p0(i64 4, ptr %754) #11
  br label %24491

24491:                                            ; preds = %24490
  br label %24492

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

24493:                                            ; No predecessors!
  br label %24494

24494:                                            ; preds = %24493
  br label %24495

24495:                                            ; preds = %24494, %24432
  br label %24496

24496:                                            ; preds = %24495
  br label %24497

24497:                                            ; preds = %24496
  br label %24498

24498:                                            ; preds = %24497, %24427
  br label %24499

24499:                                            ; preds = %24498
  br label %24500

24500:                                            ; preds = %24499
  call void @llvm.lifetime.end.p0(i64 8, ptr %745) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %744) #11
  call void @llvm.lifetime.end.p0(i64 16, ptr %740) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %739) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %736) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %735) #11
  %24501 = call i32 @s2n_ktls_io_stuffer_pair_free(ptr noundef %732)
  %24502 = getelementptr inbounds %struct.s2n_result, ptr %755, i32 0, i32 0
  store i32 %24501, ptr %24502, align 4
  call void @llvm.lifetime.end.p0(i64 192, ptr %732) #11
  %24503 = call i32 @s2n_connection_ptr_free(ptr noundef %730)
  %24504 = getelementptr inbounds %struct.s2n_result, ptr %756, i32 0, i32 0
  store i32 %24503, ptr %24504, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %730) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %757) #11
  store i64 10, ptr %757, align 8, !tbaa !20
  br label %24505

24505:                                            ; preds = %24500
  %24506 = load i32, ptr @test_count, align 4, !tbaa !5
  %24507 = add nsw i32 %24506, 1
  store i32 %24507, ptr @test_count, align 4, !tbaa !5
  br label %24508

24508:                                            ; preds = %24505
  br label %24509

24509:                                            ; preds = %24508
  br label %24510

24510:                                            ; preds = %24509
  %24511 = load i32, ptr @test_count, align 4, !tbaa !5
  %24512 = add nsw i32 %24511, 1
  store i32 %24512, ptr @test_count, align 4, !tbaa !5
  br label %24513

24513:                                            ; preds = %24510
  br label %24514

24514:                                            ; preds = %24513
  call void @llvm.lifetime.start.p0(i64 16, ptr %758) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %758, ptr align 8 %675, i64 16, i1 false), !tbaa.struct !82
  %24515 = getelementptr inbounds %struct.iovec, ptr %758, i32 0, i32 1
  store i64 10, ptr %24515, align 8, !tbaa !19
  call void @llvm.lifetime.start.p0(i64 8, ptr %759) #11
  %24516 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %24516, ptr %759, align 8, !tbaa !9
  br label %24517

24517:                                            ; preds = %24514
  %24518 = load i32, ptr @test_count, align 4, !tbaa !5
  %24519 = add nsw i32 %24518, 1
  store i32 %24519, ptr @test_count, align 4, !tbaa !5
  %24520 = load ptr, ptr %759, align 8, !tbaa !9
  %24521 = icmp eq ptr %24520, null
  br i1 %24521, label %24522, label %24575

24522:                                            ; preds = %24517
  br label %24523

24523:                                            ; preds = %24522
  br label %24524

24524:                                            ; preds = %24523
  call void @llvm.lifetime.start.p0(i64 4, ptr %760) #11
  %24525 = call ptr @__errno_location() #12
  %24526 = load i32, ptr %24525, align 4, !tbaa !5
  store i32 %24526, ptr %760, align 4, !tbaa !5
  %24527 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24528 = call i32 @s2n_print_stacktrace(ptr noundef %24527)
  %24529 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24530 = trunc i8 %24529 to i1
  br i1 %24530, label %24531, label %24553

24531:                                            ; preds = %24524
  %24532 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24533 = call i32 @fileno(ptr noundef %24532) #11
  %24534 = call i32 @isatty(i32 noundef %24533) #11
  %24535 = icmp ne i32 %24534, 0
  br i1 %24535, label %24536, label %24553

24536:                                            ; preds = %24531
  %24537 = load i32, ptr %760, align 4, !tbaa !5
  %24538 = call ptr @__errno_location() #12
  store i32 %24537, ptr %24538, align 4, !tbaa !5
  %24539 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24540 = load i32, ptr @test_count, align 4, !tbaa !5
  %24541 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24542 = load i32, ptr %24541, align 4, !tbaa !5
  %24543 = call ptr @s2n_strerror(i32 noundef %24542, ptr noundef @.str.5)
  %24544 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24545 = load i32, ptr %24544, align 4, !tbaa !5
  %24546 = call ptr @s2n_strerror_debug(i32 noundef %24545, ptr noundef @.str.5)
  %24547 = call ptr @__errno_location() #12
  %24548 = load i32, ptr %24547, align 4, !tbaa !5
  %24549 = call ptr @strerror(i32 noundef %24548) #11
  %24550 = call ptr @__errno_location() #12
  %24551 = load i32, ptr %24550, align 4, !tbaa !5
  %24552 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24539, ptr noundef @.str.3, i32 noundef %24540, ptr noundef @.str.79, ptr noundef @.str.2, i32 noundef 1219, ptr noundef %24543, ptr noundef %24546, ptr noundef %24549, i32 noundef %24551) #11
  br label %24570

24553:                                            ; preds = %24531, %24524
  %24554 = load i32, ptr %760, align 4, !tbaa !5
  %24555 = call ptr @__errno_location() #12
  store i32 %24554, ptr %24555, align 4, !tbaa !5
  %24556 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24557 = load i32, ptr @test_count, align 4, !tbaa !5
  %24558 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24559 = load i32, ptr %24558, align 4, !tbaa !5
  %24560 = call ptr @s2n_strerror(i32 noundef %24559, ptr noundef @.str.5)
  %24561 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24562 = load i32, ptr %24561, align 4, !tbaa !5
  %24563 = call ptr @s2n_strerror_debug(i32 noundef %24562, ptr noundef @.str.5)
  %24564 = call ptr @__errno_location() #12
  %24565 = load i32, ptr %24564, align 4, !tbaa !5
  %24566 = call ptr @strerror(i32 noundef %24565) #11
  %24567 = call ptr @__errno_location() #12
  %24568 = load i32, ptr %24567, align 4, !tbaa !5
  %24569 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24556, ptr noundef @.str.6, i32 noundef %24557, ptr noundef @.str.79, ptr noundef @.str.2, i32 noundef 1219, ptr noundef %24560, ptr noundef %24563, ptr noundef %24566, i32 noundef %24568) #11
  br label %24570

24570:                                            ; preds = %24553, %24536
  call void @llvm.lifetime.end.p0(i64 4, ptr %760) #11
  br label %24571

24571:                                            ; preds = %24570
  br label %24572

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

24573:                                            ; No predecessors!
  br label %24574

24574:                                            ; preds = %24573
  br label %24575

24575:                                            ; preds = %24574, %24517
  br label %24576

24576:                                            ; preds = %24575
  br label %24577

24577:                                            ; preds = %24576
  call void @llvm.lifetime.start.p0(i64 192, ptr %761) #11
  call void @llvm.memset.p0.i64(ptr align 8 %761, i8 0, i64 192, i1 false)
  br label %24578

24578:                                            ; preds = %24577
  %24579 = load i32, ptr @test_count, align 4, !tbaa !5
  %24580 = add nsw i32 %24579, 1
  store i32 %24580, ptr @test_count, align 4, !tbaa !5
  %24581 = load ptr, ptr %759, align 8, !tbaa !9
  %24582 = load ptr, ptr %759, align 8, !tbaa !9
  %24583 = call i32 @s2n_test_init_ktls_io_stuffer(ptr noundef %24581, ptr noundef %24582, ptr noundef %761)
  %24584 = getelementptr inbounds %struct.s2n_result, ptr %762, i32 0, i32 0
  store i32 %24583, ptr %24584, align 4
  %24585 = getelementptr inbounds %struct.s2n_result, ptr %762, i32 0, i32 0
  %24586 = load i32, ptr %24585, align 4
  %24587 = call zeroext i1 @s2n_result_is_ok(i32 %24586)
  br i1 %24587, label %24641, label %24588

24588:                                            ; preds = %24578
  br label %24589

24589:                                            ; preds = %24588
  br label %24590

24590:                                            ; preds = %24589
  call void @llvm.lifetime.start.p0(i64 4, ptr %763) #11
  %24591 = call ptr @__errno_location() #12
  %24592 = load i32, ptr %24591, align 4, !tbaa !5
  store i32 %24592, ptr %763, align 4, !tbaa !5
  %24593 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24594 = call i32 @s2n_print_stacktrace(ptr noundef %24593)
  %24595 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24596 = trunc i8 %24595 to i1
  br i1 %24596, label %24597, label %24619

24597:                                            ; preds = %24590
  %24598 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24599 = call i32 @fileno(ptr noundef %24598) #11
  %24600 = call i32 @isatty(i32 noundef %24599) #11
  %24601 = icmp ne i32 %24600, 0
  br i1 %24601, label %24602, label %24619

24602:                                            ; preds = %24597
  %24603 = load i32, ptr %763, align 4, !tbaa !5
  %24604 = call ptr @__errno_location() #12
  store i32 %24603, ptr %24604, align 4, !tbaa !5
  %24605 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24606 = load i32, ptr @test_count, align 4, !tbaa !5
  %24607 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24608 = load i32, ptr %24607, align 4, !tbaa !5
  %24609 = call ptr @s2n_strerror(i32 noundef %24608, ptr noundef @.str.5)
  %24610 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24611 = load i32, ptr %24610, align 4, !tbaa !5
  %24612 = call ptr @s2n_strerror_debug(i32 noundef %24611, ptr noundef @.str.5)
  %24613 = call ptr @__errno_location() #12
  %24614 = load i32, ptr %24613, align 4, !tbaa !5
  %24615 = call ptr @strerror(i32 noundef %24614) #11
  %24616 = call ptr @__errno_location() #12
  %24617 = load i32, ptr %24616, align 4, !tbaa !5
  %24618 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24605, ptr noundef @.str.3, i32 noundef %24606, ptr noundef @.str.137, ptr noundef @.str.2, i32 noundef 1223, ptr noundef %24609, ptr noundef %24612, ptr noundef %24615, i32 noundef %24617) #11
  br label %24636

24619:                                            ; preds = %24597, %24590
  %24620 = load i32, ptr %763, align 4, !tbaa !5
  %24621 = call ptr @__errno_location() #12
  store i32 %24620, ptr %24621, align 4, !tbaa !5
  %24622 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24623 = load i32, ptr @test_count, align 4, !tbaa !5
  %24624 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24625 = load i32, ptr %24624, align 4, !tbaa !5
  %24626 = call ptr @s2n_strerror(i32 noundef %24625, ptr noundef @.str.5)
  %24627 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24628 = load i32, ptr %24627, align 4, !tbaa !5
  %24629 = call ptr @s2n_strerror_debug(i32 noundef %24628, ptr noundef @.str.5)
  %24630 = call ptr @__errno_location() #12
  %24631 = load i32, ptr %24630, align 4, !tbaa !5
  %24632 = call ptr @strerror(i32 noundef %24631) #11
  %24633 = call ptr @__errno_location() #12
  %24634 = load i32, ptr %24633, align 4, !tbaa !5
  %24635 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24622, ptr noundef @.str.6, i32 noundef %24623, ptr noundef @.str.137, ptr noundef @.str.2, i32 noundef 1223, ptr noundef %24626, ptr noundef %24629, ptr noundef %24632, i32 noundef %24634) #11
  br label %24636

24636:                                            ; preds = %24619, %24602
  call void @llvm.lifetime.end.p0(i64 4, ptr %763) #11
  br label %24637

24637:                                            ; preds = %24636
  br label %24638

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

24639:                                            ; No predecessors!
  br label %24640

24640:                                            ; preds = %24639
  br label %24641

24641:                                            ; preds = %24640, %24578
  br label %24642

24642:                                            ; preds = %24641
  br label %24643

24643:                                            ; preds = %24642
  call void @llvm.lifetime.start.p0(i64 8, ptr %764) #11
  %24644 = getelementptr inbounds %struct.s2n_test_ktls_io_stuffer_pair, ptr %761, i32 0, i32 0
  store ptr %24644, ptr %764, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %765) #11
  store i64 0, ptr %765, align 8, !tbaa !20
  br label %24645

24645:                                            ; preds = %25177, %24643
  %24646 = load i64, ptr %765, align 8, !tbaa !20
  %24647 = icmp ult i64 %24646, 100
  br i1 %24647, label %24649, label %24648

24648:                                            ; preds = %24645
  call void @llvm.lifetime.end.p0(i64 8, ptr %765) #11
  br label %25180

24649:                                            ; preds = %24645
  call void @llvm.lifetime.start.p0(i64 8, ptr %766) #11
  store i64 0, ptr %766, align 8, !tbaa !20
  br label %24650

24650:                                            ; preds = %24649
  %24651 = load i32, ptr @test_count, align 4, !tbaa !5
  %24652 = add nsw i32 %24651, 1
  store i32 %24652, ptr @test_count, align 4, !tbaa !5
  %24653 = load ptr, ptr %764, align 8, !tbaa !9
  %24654 = call i32 @s2n_ktls_sendmsg(ptr noundef %24653, i8 noundef zeroext 21, ptr noundef %758, i64 noundef 1, ptr noundef %676, ptr noundef %766)
  %24655 = getelementptr inbounds %struct.s2n_result, ptr %767, i32 0, i32 0
  store i32 %24654, ptr %24655, align 4
  %24656 = getelementptr inbounds %struct.s2n_result, ptr %767, i32 0, i32 0
  %24657 = load i32, ptr %24656, align 4
  %24658 = call zeroext i1 @s2n_result_is_ok(i32 %24657)
  br i1 %24658, label %24712, label %24659

24659:                                            ; preds = %24650
  br label %24660

24660:                                            ; preds = %24659
  br label %24661

24661:                                            ; preds = %24660
  call void @llvm.lifetime.start.p0(i64 4, ptr %768) #11
  %24662 = call ptr @__errno_location() #12
  %24663 = load i32, ptr %24662, align 4, !tbaa !5
  store i32 %24663, ptr %768, align 4, !tbaa !5
  %24664 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24665 = call i32 @s2n_print_stacktrace(ptr noundef %24664)
  %24666 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24667 = trunc i8 %24666 to i1
  br i1 %24667, label %24668, label %24690

24668:                                            ; preds = %24661
  %24669 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24670 = call i32 @fileno(ptr noundef %24669) #11
  %24671 = call i32 @isatty(i32 noundef %24670) #11
  %24672 = icmp ne i32 %24671, 0
  br i1 %24672, label %24673, label %24690

24673:                                            ; preds = %24668
  %24674 = load i32, ptr %768, align 4, !tbaa !5
  %24675 = call ptr @__errno_location() #12
  store i32 %24674, ptr %24675, align 4, !tbaa !5
  %24676 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24677 = load i32, ptr @test_count, align 4, !tbaa !5
  %24678 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24679 = load i32, ptr %24678, align 4, !tbaa !5
  %24680 = call ptr @s2n_strerror(i32 noundef %24679, ptr noundef @.str.5)
  %24681 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24682 = load i32, ptr %24681, align 4, !tbaa !5
  %24683 = call ptr @s2n_strerror_debug(i32 noundef %24682, ptr noundef @.str.5)
  %24684 = call ptr @__errno_location() #12
  %24685 = load i32, ptr %24684, align 4, !tbaa !5
  %24686 = call ptr @strerror(i32 noundef %24685) #11
  %24687 = call ptr @__errno_location() #12
  %24688 = load i32, ptr %24687, align 4, !tbaa !5
  %24689 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24676, ptr noundef @.str.3, i32 noundef %24677, ptr noundef @.str.146, ptr noundef @.str.2, i32 noundef 1228, ptr noundef %24680, ptr noundef %24683, ptr noundef %24686, i32 noundef %24688) #11
  br label %24707

24690:                                            ; preds = %24668, %24661
  %24691 = load i32, ptr %768, align 4, !tbaa !5
  %24692 = call ptr @__errno_location() #12
  store i32 %24691, ptr %24692, align 4, !tbaa !5
  %24693 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24694 = load i32, ptr @test_count, align 4, !tbaa !5
  %24695 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24696 = load i32, ptr %24695, align 4, !tbaa !5
  %24697 = call ptr @s2n_strerror(i32 noundef %24696, ptr noundef @.str.5)
  %24698 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24699 = load i32, ptr %24698, align 4, !tbaa !5
  %24700 = call ptr @s2n_strerror_debug(i32 noundef %24699, ptr noundef @.str.5)
  %24701 = call ptr @__errno_location() #12
  %24702 = load i32, ptr %24701, align 4, !tbaa !5
  %24703 = call ptr @strerror(i32 noundef %24702) #11
  %24704 = call ptr @__errno_location() #12
  %24705 = load i32, ptr %24704, align 4, !tbaa !5
  %24706 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24693, ptr noundef @.str.6, i32 noundef %24694, ptr noundef @.str.146, ptr noundef @.str.2, i32 noundef 1228, ptr noundef %24697, ptr noundef %24700, ptr noundef %24703, i32 noundef %24705) #11
  br label %24707

24707:                                            ; preds = %24690, %24673
  call void @llvm.lifetime.end.p0(i64 4, ptr %768) #11
  br label %24708

24708:                                            ; preds = %24707
  br label %24709

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

24710:                                            ; No predecessors!
  br label %24711

24711:                                            ; preds = %24710
  br label %24712

24712:                                            ; preds = %24711, %24650
  br label %24713

24713:                                            ; preds = %24712
  br label %24714

24714:                                            ; preds = %24713
  br label %24715

24715:                                            ; preds = %24714
  %24716 = load i32, ptr @test_count, align 4, !tbaa !5
  %24717 = add nsw i32 %24716, 1
  store i32 %24717, ptr @test_count, align 4, !tbaa !5
  %24718 = load i64, ptr %766, align 8, !tbaa !20
  %24719 = icmp eq i64 %24718, 10
  br i1 %24719, label %24773, label %24720

24720:                                            ; preds = %24715
  br label %24721

24721:                                            ; preds = %24720
  br label %24722

24722:                                            ; preds = %24721
  call void @llvm.lifetime.start.p0(i64 4, ptr %769) #11
  %24723 = call ptr @__errno_location() #12
  %24724 = load i32, ptr %24723, align 4, !tbaa !5
  store i32 %24724, ptr %769, align 4, !tbaa !5
  %24725 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24726 = call i32 @s2n_print_stacktrace(ptr noundef %24725)
  %24727 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24728 = trunc i8 %24727 to i1
  br i1 %24728, label %24729, label %24751

24729:                                            ; preds = %24722
  %24730 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24731 = call i32 @fileno(ptr noundef %24730) #11
  %24732 = call i32 @isatty(i32 noundef %24731) #11
  %24733 = icmp ne i32 %24732, 0
  br i1 %24733, label %24734, label %24751

24734:                                            ; preds = %24729
  %24735 = load i32, ptr %769, align 4, !tbaa !5
  %24736 = call ptr @__errno_location() #12
  store i32 %24735, ptr %24736, align 4, !tbaa !5
  %24737 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24738 = load i32, ptr @test_count, align 4, !tbaa !5
  %24739 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24740 = load i32, ptr %24739, align 4, !tbaa !5
  %24741 = call ptr @s2n_strerror(i32 noundef %24740, ptr noundef @.str.5)
  %24742 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24743 = load i32, ptr %24742, align 4, !tbaa !5
  %24744 = call ptr @s2n_strerror_debug(i32 noundef %24743, ptr noundef @.str.5)
  %24745 = call ptr @__errno_location() #12
  %24746 = load i32, ptr %24745, align 4, !tbaa !5
  %24747 = call ptr @strerror(i32 noundef %24746) #11
  %24748 = call ptr @__errno_location() #12
  %24749 = load i32, ptr %24748, align 4, !tbaa !5
  %24750 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24737, ptr noundef @.str.3, i32 noundef %24738, ptr noundef @.str.147, ptr noundef @.str.2, i32 noundef 1229, ptr noundef %24741, ptr noundef %24744, ptr noundef %24747, i32 noundef %24749) #11
  br label %24768

24751:                                            ; preds = %24729, %24722
  %24752 = load i32, ptr %769, align 4, !tbaa !5
  %24753 = call ptr @__errno_location() #12
  store i32 %24752, ptr %24753, align 4, !tbaa !5
  %24754 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24755 = load i32, ptr @test_count, align 4, !tbaa !5
  %24756 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24757 = load i32, ptr %24756, align 4, !tbaa !5
  %24758 = call ptr @s2n_strerror(i32 noundef %24757, ptr noundef @.str.5)
  %24759 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24760 = load i32, ptr %24759, align 4, !tbaa !5
  %24761 = call ptr @s2n_strerror_debug(i32 noundef %24760, ptr noundef @.str.5)
  %24762 = call ptr @__errno_location() #12
  %24763 = load i32, ptr %24762, align 4, !tbaa !5
  %24764 = call ptr @strerror(i32 noundef %24763) #11
  %24765 = call ptr @__errno_location() #12
  %24766 = load i32, ptr %24765, align 4, !tbaa !5
  %24767 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24754, ptr noundef @.str.6, i32 noundef %24755, ptr noundef @.str.147, ptr noundef @.str.2, i32 noundef 1229, ptr noundef %24758, ptr noundef %24761, ptr noundef %24764, i32 noundef %24766) #11
  br label %24768

24768:                                            ; preds = %24751, %24734
  call void @llvm.lifetime.end.p0(i64 4, ptr %769) #11
  br label %24769

24769:                                            ; preds = %24768
  br label %24770

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

24771:                                            ; No predecessors!
  br label %24772

24772:                                            ; preds = %24771
  br label %24773

24773:                                            ; preds = %24772, %24715
  br label %24774

24774:                                            ; preds = %24773
  br label %24775

24775:                                            ; preds = %24774
  call void @llvm.lifetime.start.p0(i64 1, ptr %770) #11
  store i8 0, ptr %770, align 1, !tbaa !15
  br label %24776

24776:                                            ; preds = %24775
  %24777 = load i32, ptr @test_count, align 4, !tbaa !5
  %24778 = add nsw i32 %24777, 1
  store i32 %24778, ptr @test_count, align 4, !tbaa !5
  %24779 = load ptr, ptr %759, align 8, !tbaa !9
  %24780 = call i32 @s2n_ktls_read_full_record(ptr noundef %24779, ptr noundef %770)
  %24781 = icmp eq i32 %24780, -1
  br i1 %24781, label %24782, label %24835

24782:                                            ; preds = %24776
  br label %24783

24783:                                            ; preds = %24782
  br label %24784

24784:                                            ; preds = %24783
  call void @llvm.lifetime.start.p0(i64 4, ptr %771) #11
  %24785 = call ptr @__errno_location() #12
  %24786 = load i32, ptr %24785, align 4, !tbaa !5
  store i32 %24786, ptr %771, align 4, !tbaa !5
  %24787 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24788 = call i32 @s2n_print_stacktrace(ptr noundef %24787)
  %24789 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24790 = trunc i8 %24789 to i1
  br i1 %24790, label %24791, label %24813

24791:                                            ; preds = %24784
  %24792 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24793 = call i32 @fileno(ptr noundef %24792) #11
  %24794 = call i32 @isatty(i32 noundef %24793) #11
  %24795 = icmp ne i32 %24794, 0
  br i1 %24795, label %24796, label %24813

24796:                                            ; preds = %24791
  %24797 = load i32, ptr %771, align 4, !tbaa !5
  %24798 = call ptr @__errno_location() #12
  store i32 %24797, ptr %24798, align 4, !tbaa !5
  %24799 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24800 = load i32, ptr @test_count, align 4, !tbaa !5
  %24801 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24802 = load i32, ptr %24801, align 4, !tbaa !5
  %24803 = call ptr @s2n_strerror(i32 noundef %24802, ptr noundef @.str.5)
  %24804 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24805 = load i32, ptr %24804, align 4, !tbaa !5
  %24806 = call ptr @s2n_strerror_debug(i32 noundef %24805, ptr noundef @.str.5)
  %24807 = call ptr @__errno_location() #12
  %24808 = load i32, ptr %24807, align 4, !tbaa !5
  %24809 = call ptr @strerror(i32 noundef %24808) #11
  %24810 = call ptr @__errno_location() #12
  %24811 = load i32, ptr %24810, align 4, !tbaa !5
  %24812 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24799, ptr noundef @.str.3, i32 noundef %24800, ptr noundef @.str.140, ptr noundef @.str.2, i32 noundef 1232, ptr noundef %24803, ptr noundef %24806, ptr noundef %24809, i32 noundef %24811) #11
  br label %24830

24813:                                            ; preds = %24791, %24784
  %24814 = load i32, ptr %771, align 4, !tbaa !5
  %24815 = call ptr @__errno_location() #12
  store i32 %24814, ptr %24815, align 4, !tbaa !5
  %24816 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24817 = load i32, ptr @test_count, align 4, !tbaa !5
  %24818 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24819 = load i32, ptr %24818, align 4, !tbaa !5
  %24820 = call ptr @s2n_strerror(i32 noundef %24819, ptr noundef @.str.5)
  %24821 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24822 = load i32, ptr %24821, align 4, !tbaa !5
  %24823 = call ptr @s2n_strerror_debug(i32 noundef %24822, ptr noundef @.str.5)
  %24824 = call ptr @__errno_location() #12
  %24825 = load i32, ptr %24824, align 4, !tbaa !5
  %24826 = call ptr @strerror(i32 noundef %24825) #11
  %24827 = call ptr @__errno_location() #12
  %24828 = load i32, ptr %24827, align 4, !tbaa !5
  %24829 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24816, ptr noundef @.str.6, i32 noundef %24817, ptr noundef @.str.140, ptr noundef @.str.2, i32 noundef 1232, ptr noundef %24820, ptr noundef %24823, ptr noundef %24826, i32 noundef %24828) #11
  br label %24830

24830:                                            ; preds = %24813, %24796
  call void @llvm.lifetime.end.p0(i64 4, ptr %771) #11
  br label %24831

24831:                                            ; preds = %24830
  br label %24832

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

24833:                                            ; No predecessors!
  br label %24834

24834:                                            ; preds = %24833
  br label %24835

24835:                                            ; preds = %24834, %24776
  br label %24836

24836:                                            ; preds = %24835
  br label %24837

24837:                                            ; preds = %24836
  br label %24838

24838:                                            ; preds = %24837
  %24839 = load i32, ptr @test_count, align 4, !tbaa !5
  %24840 = add nsw i32 %24839, 1
  store i32 %24840, ptr @test_count, align 4, !tbaa !5
  %24841 = load i8, ptr %770, align 1, !tbaa !15
  %24842 = zext i8 %24841 to i32
  %24843 = icmp eq i32 %24842, 21
  br i1 %24843, label %24897, label %24844

24844:                                            ; preds = %24838
  br label %24845

24845:                                            ; preds = %24844
  br label %24846

24846:                                            ; preds = %24845
  call void @llvm.lifetime.start.p0(i64 4, ptr %772) #11
  %24847 = call ptr @__errno_location() #12
  %24848 = load i32, ptr %24847, align 4, !tbaa !5
  store i32 %24848, ptr %772, align 4, !tbaa !5
  %24849 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24850 = call i32 @s2n_print_stacktrace(ptr noundef %24849)
  %24851 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24852 = trunc i8 %24851 to i1
  br i1 %24852, label %24853, label %24875

24853:                                            ; preds = %24846
  %24854 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24855 = call i32 @fileno(ptr noundef %24854) #11
  %24856 = call i32 @isatty(i32 noundef %24855) #11
  %24857 = icmp ne i32 %24856, 0
  br i1 %24857, label %24858, label %24875

24858:                                            ; preds = %24853
  %24859 = load i32, ptr %772, align 4, !tbaa !5
  %24860 = call ptr @__errno_location() #12
  store i32 %24859, ptr %24860, align 4, !tbaa !5
  %24861 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24862 = load i32, ptr @test_count, align 4, !tbaa !5
  %24863 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24864 = load i32, ptr %24863, align 4, !tbaa !5
  %24865 = call ptr @s2n_strerror(i32 noundef %24864, ptr noundef @.str.5)
  %24866 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24867 = load i32, ptr %24866, align 4, !tbaa !5
  %24868 = call ptr @s2n_strerror_debug(i32 noundef %24867, ptr noundef @.str.5)
  %24869 = call ptr @__errno_location() #12
  %24870 = load i32, ptr %24869, align 4, !tbaa !5
  %24871 = call ptr @strerror(i32 noundef %24870) #11
  %24872 = call ptr @__errno_location() #12
  %24873 = load i32, ptr %24872, align 4, !tbaa !5
  %24874 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24861, ptr noundef @.str.3, i32 noundef %24862, ptr noundef @.str.141, ptr noundef @.str.2, i32 noundef 1233, ptr noundef %24865, ptr noundef %24868, ptr noundef %24871, i32 noundef %24873) #11
  br label %24892

24875:                                            ; preds = %24853, %24846
  %24876 = load i32, ptr %772, align 4, !tbaa !5
  %24877 = call ptr @__errno_location() #12
  store i32 %24876, ptr %24877, align 4, !tbaa !5
  %24878 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24879 = load i32, ptr @test_count, align 4, !tbaa !5
  %24880 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24881 = load i32, ptr %24880, align 4, !tbaa !5
  %24882 = call ptr @s2n_strerror(i32 noundef %24881, ptr noundef @.str.5)
  %24883 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24884 = load i32, ptr %24883, align 4, !tbaa !5
  %24885 = call ptr @s2n_strerror_debug(i32 noundef %24884, ptr noundef @.str.5)
  %24886 = call ptr @__errno_location() #12
  %24887 = load i32, ptr %24886, align 4, !tbaa !5
  %24888 = call ptr @strerror(i32 noundef %24887) #11
  %24889 = call ptr @__errno_location() #12
  %24890 = load i32, ptr %24889, align 4, !tbaa !5
  %24891 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24878, ptr noundef @.str.6, i32 noundef %24879, ptr noundef @.str.141, ptr noundef @.str.2, i32 noundef 1233, ptr noundef %24882, ptr noundef %24885, ptr noundef %24888, i32 noundef %24890) #11
  br label %24892

24892:                                            ; preds = %24875, %24858
  call void @llvm.lifetime.end.p0(i64 4, ptr %772) #11
  br label %24893

24893:                                            ; preds = %24892
  br label %24894

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

24895:                                            ; No predecessors!
  br label %24896

24896:                                            ; preds = %24895
  br label %24897

24897:                                            ; preds = %24896, %24838
  br label %24898

24898:                                            ; preds = %24897
  br label %24899

24899:                                            ; preds = %24898
  br label %24900

24900:                                            ; preds = %24899
  %24901 = load i32, ptr @test_count, align 4, !tbaa !5
  %24902 = add nsw i32 %24901, 1
  store i32 %24902, ptr @test_count, align 4, !tbaa !5
  %24903 = load ptr, ptr %759, align 8, !tbaa !9
  %24904 = getelementptr inbounds %struct.s2n_connection, ptr %24903, i32 0, i32 40
  %24905 = getelementptr inbounds %struct.s2n_stuffer, ptr %24904, i32 0, i32 2
  %24906 = load i32, ptr %24905, align 4, !tbaa !80
  %24907 = load ptr, ptr %759, align 8, !tbaa !9
  %24908 = getelementptr inbounds %struct.s2n_connection, ptr %24907, i32 0, i32 40
  %24909 = getelementptr inbounds %struct.s2n_stuffer, ptr %24908, i32 0, i32 1
  %24910 = load i32, ptr %24909, align 8, !tbaa !81
  %24911 = sub i32 %24906, %24910
  %24912 = zext i32 %24911 to i64
  %24913 = load i64, ptr %766, align 8, !tbaa !20
  %24914 = icmp eq i64 %24912, %24913
  br i1 %24914, label %24968, label %24915

24915:                                            ; preds = %24900
  br label %24916

24916:                                            ; preds = %24915
  br label %24917

24917:                                            ; preds = %24916
  call void @llvm.lifetime.start.p0(i64 4, ptr %773) #11
  %24918 = call ptr @__errno_location() #12
  %24919 = load i32, ptr %24918, align 4, !tbaa !5
  store i32 %24919, ptr %773, align 4, !tbaa !5
  %24920 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24921 = call i32 @s2n_print_stacktrace(ptr noundef %24920)
  %24922 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24923 = trunc i8 %24922 to i1
  br i1 %24923, label %24924, label %24946

24924:                                            ; preds = %24917
  %24925 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24926 = call i32 @fileno(ptr noundef %24925) #11
  %24927 = call i32 @isatty(i32 noundef %24926) #11
  %24928 = icmp ne i32 %24927, 0
  br i1 %24928, label %24929, label %24946

24929:                                            ; preds = %24924
  %24930 = load i32, ptr %773, align 4, !tbaa !5
  %24931 = call ptr @__errno_location() #12
  store i32 %24930, ptr %24931, align 4, !tbaa !5
  %24932 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24933 = load i32, ptr @test_count, align 4, !tbaa !5
  %24934 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24935 = load i32, ptr %24934, align 4, !tbaa !5
  %24936 = call ptr @s2n_strerror(i32 noundef %24935, ptr noundef @.str.5)
  %24937 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24938 = load i32, ptr %24937, align 4, !tbaa !5
  %24939 = call ptr @s2n_strerror_debug(i32 noundef %24938, ptr noundef @.str.5)
  %24940 = call ptr @__errno_location() #12
  %24941 = load i32, ptr %24940, align 4, !tbaa !5
  %24942 = call ptr @strerror(i32 noundef %24941) #11
  %24943 = call ptr @__errno_location() #12
  %24944 = load i32, ptr %24943, align 4, !tbaa !5
  %24945 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24932, ptr noundef @.str.3, i32 noundef %24933, ptr noundef @.str.161, ptr noundef @.str.2, i32 noundef 1234, ptr noundef %24936, ptr noundef %24939, ptr noundef %24942, i32 noundef %24944) #11
  br label %24963

24946:                                            ; preds = %24924, %24917
  %24947 = load i32, ptr %773, align 4, !tbaa !5
  %24948 = call ptr @__errno_location() #12
  store i32 %24947, ptr %24948, align 4, !tbaa !5
  %24949 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24950 = load i32, ptr @test_count, align 4, !tbaa !5
  %24951 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24952 = load i32, ptr %24951, align 4, !tbaa !5
  %24953 = call ptr @s2n_strerror(i32 noundef %24952, ptr noundef @.str.5)
  %24954 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24955 = load i32, ptr %24954, align 4, !tbaa !5
  %24956 = call ptr @s2n_strerror_debug(i32 noundef %24955, ptr noundef @.str.5)
  %24957 = call ptr @__errno_location() #12
  %24958 = load i32, ptr %24957, align 4, !tbaa !5
  %24959 = call ptr @strerror(i32 noundef %24958) #11
  %24960 = call ptr @__errno_location() #12
  %24961 = load i32, ptr %24960, align 4, !tbaa !5
  %24962 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24949, ptr noundef @.str.6, i32 noundef %24950, ptr noundef @.str.161, ptr noundef @.str.2, i32 noundef 1234, ptr noundef %24953, ptr noundef %24956, ptr noundef %24959, i32 noundef %24961) #11
  br label %24963

24963:                                            ; preds = %24946, %24929
  call void @llvm.lifetime.end.p0(i64 4, ptr %773) #11
  br label %24964

24964:                                            ; preds = %24963
  br label %24965

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

24966:                                            ; No predecessors!
  br label %24967

24967:                                            ; preds = %24966
  br label %24968

24968:                                            ; preds = %24967, %24900
  br label %24969

24969:                                            ; preds = %24968
  br label %24970

24970:                                            ; preds = %24969
  call void @llvm.lifetime.start.p0(i64 8, ptr %774) #11
  %24971 = load ptr, ptr %759, align 8, !tbaa !9
  %24972 = getelementptr inbounds %struct.s2n_connection, ptr %24971, i32 0, i32 40
  %24973 = call ptr @s2n_stuffer_raw_read(ptr noundef %24972, i32 noundef 10)
  store ptr %24973, ptr %774, align 8, !tbaa !9
  br label %24974

24974:                                            ; preds = %24970
  br label %24975

24975:                                            ; preds = %24974
  %24976 = load i32, ptr @test_count, align 4, !tbaa !5
  %24977 = add nsw i32 %24976, 1
  store i32 %24977, ptr @test_count, align 4, !tbaa !5
  %24978 = load ptr, ptr %774, align 8, !tbaa !9
  %24979 = getelementptr inbounds [16384 x i8], ptr %10, i64 0, i64 0
  %24980 = call i32 @memcmp(ptr noundef %24978, ptr noundef %24979, i64 noundef 10) #14
  %24981 = icmp eq i32 %24980, 0
  br i1 %24981, label %25035, label %24982

24982:                                            ; preds = %24975
  br label %24983

24983:                                            ; preds = %24982
  br label %24984

24984:                                            ; preds = %24983
  call void @llvm.lifetime.start.p0(i64 4, ptr %775) #11
  %24985 = call ptr @__errno_location() #12
  %24986 = load i32, ptr %24985, align 4, !tbaa !5
  store i32 %24986, ptr %775, align 4, !tbaa !5
  %24987 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24988 = call i32 @s2n_print_stacktrace(ptr noundef %24987)
  %24989 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24990 = trunc i8 %24989 to i1
  br i1 %24990, label %24991, label %25013

24991:                                            ; preds = %24984
  %24992 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24993 = call i32 @fileno(ptr noundef %24992) #11
  %24994 = call i32 @isatty(i32 noundef %24993) #11
  %24995 = icmp ne i32 %24994, 0
  br i1 %24995, label %24996, label %25013

24996:                                            ; preds = %24991
  %24997 = load i32, ptr %775, align 4, !tbaa !5
  %24998 = call ptr @__errno_location() #12
  store i32 %24997, ptr %24998, align 4, !tbaa !5
  %24999 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25000 = load i32, ptr @test_count, align 4, !tbaa !5
  %25001 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25002 = load i32, ptr %25001, align 4, !tbaa !5
  %25003 = call ptr @s2n_strerror(i32 noundef %25002, ptr noundef @.str.5)
  %25004 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25005 = load i32, ptr %25004, align 4, !tbaa !5
  %25006 = call ptr @s2n_strerror_debug(i32 noundef %25005, ptr noundef @.str.5)
  %25007 = call ptr @__errno_location() #12
  %25008 = load i32, ptr %25007, align 4, !tbaa !5
  %25009 = call ptr @strerror(i32 noundef %25008) #11
  %25010 = call ptr @__errno_location() #12
  %25011 = load i32, ptr %25010, align 4, !tbaa !5
  %25012 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24999, ptr noundef @.str.3, i32 noundef %25000, ptr noundef @.str.150, ptr noundef @.str.2, i32 noundef 1236, ptr noundef %25003, ptr noundef %25006, ptr noundef %25009, i32 noundef %25011) #11
  br label %25030

25013:                                            ; preds = %24991, %24984
  %25014 = load i32, ptr %775, align 4, !tbaa !5
  %25015 = call ptr @__errno_location() #12
  store i32 %25014, ptr %25015, align 4, !tbaa !5
  %25016 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25017 = load i32, ptr @test_count, align 4, !tbaa !5
  %25018 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25019 = load i32, ptr %25018, align 4, !tbaa !5
  %25020 = call ptr @s2n_strerror(i32 noundef %25019, ptr noundef @.str.5)
  %25021 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25022 = load i32, ptr %25021, align 4, !tbaa !5
  %25023 = call ptr @s2n_strerror_debug(i32 noundef %25022, ptr noundef @.str.5)
  %25024 = call ptr @__errno_location() #12
  %25025 = load i32, ptr %25024, align 4, !tbaa !5
  %25026 = call ptr @strerror(i32 noundef %25025) #11
  %25027 = call ptr @__errno_location() #12
  %25028 = load i32, ptr %25027, align 4, !tbaa !5
  %25029 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25016, ptr noundef @.str.6, i32 noundef %25017, ptr noundef @.str.150, ptr noundef @.str.2, i32 noundef 1236, ptr noundef %25020, ptr noundef %25023, ptr noundef %25026, i32 noundef %25028) #11
  br label %25030

25030:                                            ; preds = %25013, %24996
  call void @llvm.lifetime.end.p0(i64 4, ptr %775) #11
  br label %25031

25031:                                            ; preds = %25030
  br label %25032

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

25033:                                            ; No predecessors!
  br label %25034

25034:                                            ; preds = %25033
  br label %25035

25035:                                            ; preds = %25034, %24975
  br label %25036

25036:                                            ; preds = %25035
  br label %25037

25037:                                            ; preds = %25036
  br label %25038

25038:                                            ; preds = %25037
  br label %25039

25039:                                            ; preds = %25038
  br label %25040

25040:                                            ; preds = %25039
  %25041 = load i32, ptr @test_count, align 4, !tbaa !5
  %25042 = add nsw i32 %25041, 1
  store i32 %25042, ptr @test_count, align 4, !tbaa !5
  %25043 = load ptr, ptr %759, align 8, !tbaa !9
  %25044 = call i32 @s2n_record_wipe(ptr noundef %25043)
  %25045 = getelementptr inbounds %struct.s2n_result, ptr %776, i32 0, i32 0
  store i32 %25044, ptr %25045, align 4
  %25046 = getelementptr inbounds %struct.s2n_result, ptr %776, i32 0, i32 0
  %25047 = load i32, ptr %25046, align 4
  %25048 = call zeroext i1 @s2n_result_is_ok(i32 %25047)
  br i1 %25048, label %25102, label %25049

25049:                                            ; preds = %25040
  br label %25050

25050:                                            ; preds = %25049
  br label %25051

25051:                                            ; preds = %25050
  call void @llvm.lifetime.start.p0(i64 4, ptr %777) #11
  %25052 = call ptr @__errno_location() #12
  %25053 = load i32, ptr %25052, align 4, !tbaa !5
  store i32 %25053, ptr %777, align 4, !tbaa !5
  %25054 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25055 = call i32 @s2n_print_stacktrace(ptr noundef %25054)
  %25056 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25057 = trunc i8 %25056 to i1
  br i1 %25057, label %25058, label %25080

25058:                                            ; preds = %25051
  %25059 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25060 = call i32 @fileno(ptr noundef %25059) #11
  %25061 = call i32 @isatty(i32 noundef %25060) #11
  %25062 = icmp ne i32 %25061, 0
  br i1 %25062, label %25063, label %25080

25063:                                            ; preds = %25058
  %25064 = load i32, ptr %777, align 4, !tbaa !5
  %25065 = call ptr @__errno_location() #12
  store i32 %25064, ptr %25065, align 4, !tbaa !5
  %25066 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25067 = load i32, ptr @test_count, align 4, !tbaa !5
  %25068 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25069 = load i32, ptr %25068, align 4, !tbaa !5
  %25070 = call ptr @s2n_strerror(i32 noundef %25069, ptr noundef @.str.5)
  %25071 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25072 = load i32, ptr %25071, align 4, !tbaa !5
  %25073 = call ptr @s2n_strerror_debug(i32 noundef %25072, ptr noundef @.str.5)
  %25074 = call ptr @__errno_location() #12
  %25075 = load i32, ptr %25074, align 4, !tbaa !5
  %25076 = call ptr @strerror(i32 noundef %25075) #11
  %25077 = call ptr @__errno_location() #12
  %25078 = load i32, ptr %25077, align 4, !tbaa !5
  %25079 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25066, ptr noundef @.str.3, i32 noundef %25067, ptr noundef @.str.162, ptr noundef @.str.2, i32 noundef 1238, ptr noundef %25070, ptr noundef %25073, ptr noundef %25076, i32 noundef %25078) #11
  br label %25097

25080:                                            ; preds = %25058, %25051
  %25081 = load i32, ptr %777, align 4, !tbaa !5
  %25082 = call ptr @__errno_location() #12
  store i32 %25081, ptr %25082, align 4, !tbaa !5
  %25083 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25084 = load i32, ptr @test_count, align 4, !tbaa !5
  %25085 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25086 = load i32, ptr %25085, align 4, !tbaa !5
  %25087 = call ptr @s2n_strerror(i32 noundef %25086, ptr noundef @.str.5)
  %25088 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25089 = load i32, ptr %25088, align 4, !tbaa !5
  %25090 = call ptr @s2n_strerror_debug(i32 noundef %25089, ptr noundef @.str.5)
  %25091 = call ptr @__errno_location() #12
  %25092 = load i32, ptr %25091, align 4, !tbaa !5
  %25093 = call ptr @strerror(i32 noundef %25092) #11
  %25094 = call ptr @__errno_location() #12
  %25095 = load i32, ptr %25094, align 4, !tbaa !5
  %25096 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25083, ptr noundef @.str.6, i32 noundef %25084, ptr noundef @.str.162, ptr noundef @.str.2, i32 noundef 1238, ptr noundef %25087, ptr noundef %25090, ptr noundef %25093, i32 noundef %25095) #11
  br label %25097

25097:                                            ; preds = %25080, %25063
  call void @llvm.lifetime.end.p0(i64 4, ptr %777) #11
  br label %25098

25098:                                            ; preds = %25097
  br label %25099

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

25100:                                            ; No predecessors!
  br label %25101

25101:                                            ; preds = %25100
  br label %25102

25102:                                            ; preds = %25101, %25040
  br label %25103

25103:                                            ; preds = %25102
  br label %25104

25104:                                            ; preds = %25103
  call void @llvm.lifetime.start.p0(i64 8, ptr %778) #11
  %25105 = load ptr, ptr %759, align 8, !tbaa !9
  %25106 = getelementptr inbounds %struct.s2n_connection, ptr %25105, i32 0, i32 39
  %25107 = getelementptr inbounds %struct.s2n_stuffer, ptr %25106, i32 0, i32 0
  %25108 = getelementptr inbounds %struct.s2n_blob, ptr %25107, i32 0, i32 1
  %25109 = load i32, ptr %25108, align 8, !tbaa !83
  %25110 = load ptr, ptr %759, align 8, !tbaa !9
  %25111 = getelementptr inbounds %struct.s2n_connection, ptr %25110, i32 0, i32 39
  %25112 = getelementptr inbounds %struct.s2n_stuffer, ptr %25111, i32 0, i32 2
  %25113 = load i32, ptr %25112, align 4, !tbaa !84
  %25114 = sub i32 %25109, %25113
  %25115 = zext i32 %25114 to i64
  store i64 %25115, ptr %778, align 8, !tbaa !20
  br label %25116

25116:                                            ; preds = %25104
  %25117 = load i32, ptr @test_count, align 4, !tbaa !5
  %25118 = add nsw i32 %25117, 1
  store i32 %25118, ptr @test_count, align 4, !tbaa !5
  %25119 = load i64, ptr %778, align 8, !tbaa !20
  %25120 = icmp eq i64 %25119, 8087
  br i1 %25120, label %25174, label %25121

25121:                                            ; preds = %25116
  br label %25122

25122:                                            ; preds = %25121
  br label %25123

25123:                                            ; preds = %25122
  call void @llvm.lifetime.start.p0(i64 4, ptr %779) #11
  %25124 = call ptr @__errno_location() #12
  %25125 = load i32, ptr %25124, align 4, !tbaa !5
  store i32 %25125, ptr %779, align 4, !tbaa !5
  %25126 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25127 = call i32 @s2n_print_stacktrace(ptr noundef %25126)
  %25128 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25129 = trunc i8 %25128 to i1
  br i1 %25129, label %25130, label %25152

25130:                                            ; preds = %25123
  %25131 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25132 = call i32 @fileno(ptr noundef %25131) #11
  %25133 = call i32 @isatty(i32 noundef %25132) #11
  %25134 = icmp ne i32 %25133, 0
  br i1 %25134, label %25135, label %25152

25135:                                            ; preds = %25130
  %25136 = load i32, ptr %779, align 4, !tbaa !5
  %25137 = call ptr @__errno_location() #12
  store i32 %25136, ptr %25137, align 4, !tbaa !5
  %25138 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25139 = load i32, ptr @test_count, align 4, !tbaa !5
  %25140 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25141 = load i32, ptr %25140, align 4, !tbaa !5
  %25142 = call ptr @s2n_strerror(i32 noundef %25141, ptr noundef @.str.5)
  %25143 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25144 = load i32, ptr %25143, align 4, !tbaa !5
  %25145 = call ptr @s2n_strerror_debug(i32 noundef %25144, ptr noundef @.str.5)
  %25146 = call ptr @__errno_location() #12
  %25147 = load i32, ptr %25146, align 4, !tbaa !5
  %25148 = call ptr @strerror(i32 noundef %25147) #11
  %25149 = call ptr @__errno_location() #12
  %25150 = load i32, ptr %25149, align 4, !tbaa !5
  %25151 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25138, ptr noundef @.str.3, i32 noundef %25139, ptr noundef @.str.163, ptr noundef @.str.2, i32 noundef 1240, ptr noundef %25142, ptr noundef %25145, ptr noundef %25148, i32 noundef %25150) #11
  br label %25169

25152:                                            ; preds = %25130, %25123
  %25153 = load i32, ptr %779, align 4, !tbaa !5
  %25154 = call ptr @__errno_location() #12
  store i32 %25153, ptr %25154, align 4, !tbaa !5
  %25155 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25156 = load i32, ptr @test_count, align 4, !tbaa !5
  %25157 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25158 = load i32, ptr %25157, align 4, !tbaa !5
  %25159 = call ptr @s2n_strerror(i32 noundef %25158, ptr noundef @.str.5)
  %25160 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25161 = load i32, ptr %25160, align 4, !tbaa !5
  %25162 = call ptr @s2n_strerror_debug(i32 noundef %25161, ptr noundef @.str.5)
  %25163 = call ptr @__errno_location() #12
  %25164 = load i32, ptr %25163, align 4, !tbaa !5
  %25165 = call ptr @strerror(i32 noundef %25164) #11
  %25166 = call ptr @__errno_location() #12
  %25167 = load i32, ptr %25166, align 4, !tbaa !5
  %25168 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25155, ptr noundef @.str.6, i32 noundef %25156, ptr noundef @.str.163, ptr noundef @.str.2, i32 noundef 1240, ptr noundef %25159, ptr noundef %25162, ptr noundef %25165, i32 noundef %25167) #11
  br label %25169

25169:                                            ; preds = %25152, %25135
  call void @llvm.lifetime.end.p0(i64 4, ptr %779) #11
  br label %25170

25170:                                            ; preds = %25169
  br label %25171

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

25172:                                            ; No predecessors!
  br label %25173

25173:                                            ; preds = %25172
  br label %25174

25174:                                            ; preds = %25173, %25116
  br label %25175

25175:                                            ; preds = %25174
  br label %25176

25176:                                            ; preds = %25175
  call void @llvm.lifetime.end.p0(i64 8, ptr %778) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %774) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %770) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %766) #11
  br label %25177

25177:                                            ; preds = %25176
  %25178 = load i64, ptr %765, align 8, !tbaa !20
  %25179 = add i64 %25178, 1
  store i64 %25179, ptr %765, align 8, !tbaa !20
  br label %24645, !llvm.loop !85

25180:                                            ; preds = %24648
  call void @llvm.lifetime.end.p0(i64 8, ptr %764) #11
  %25181 = call i32 @s2n_ktls_io_stuffer_pair_free(ptr noundef %761)
  %25182 = getelementptr inbounds %struct.s2n_result, ptr %780, i32 0, i32 0
  store i32 %25181, ptr %25182, align 4
  call void @llvm.lifetime.end.p0(i64 192, ptr %761) #11
  %25183 = call i32 @s2n_connection_ptr_free(ptr noundef %759)
  %25184 = getelementptr inbounds %struct.s2n_result, ptr %781, i32 0, i32 0
  store i32 %25183, ptr %25184, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %759) #11
  call void @llvm.lifetime.end.p0(i64 16, ptr %758) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %757) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %677) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %676) #11
  call void @llvm.lifetime.end.p0(i64 16, ptr %675) #11
  call void @llvm.lifetime.start.p0(i64 163840, ptr %782) #11
  call void @llvm.memset.p0.i64(ptr align 16 %782, i8 0, i64 163840, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr %783) #11
  store i64 10, ptr %783, align 8, !tbaa !20
  br label %25185

25185:                                            ; preds = %25180
  %25186 = load i32, ptr @test_count, align 4, !tbaa !5
  %25187 = add nsw i32 %25186, 1
  store i32 %25187, ptr @test_count, align 4, !tbaa !5
  br label %25188

25188:                                            ; preds = %25185
  br label %25189

25189:                                            ; preds = %25188
  br label %25190

25190:                                            ; preds = %25189
  %25191 = load i32, ptr @test_count, align 4, !tbaa !5
  %25192 = add nsw i32 %25191, 1
  store i32 %25192, ptr @test_count, align 4, !tbaa !5
  br label %25193

25193:                                            ; preds = %25190
  br label %25194

25194:                                            ; preds = %25193
  call void @llvm.lifetime.start.p0(i64 8, ptr %784) #11
  store i64 10, ptr %784, align 8, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 24, ptr %785) #11
  %25195 = load ptr, ptr getelementptr inbounds (%struct.s2n_cipher_suite, ptr @s2n_tls13_aes_128_gcm_sha256, i32 0, i32 6), align 8, !tbaa !86
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %785, ptr align 8 %25195, i64 24, i1 false), !tbaa.struct !88
  %25196 = getelementptr inbounds %struct.s2n_record_algorithm, ptr %785, i32 0, i32 3
  store i64 10, ptr %25196, align 8, !tbaa !89
  call void @llvm.lifetime.start.p0(i64 104, ptr %786) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %786, ptr align 8 @s2n_tls13_aes_128_gcm_sha256, i64 104, i1 false), !tbaa.struct !91
  %25197 = getelementptr inbounds %struct.s2n_cipher_suite, ptr %786, i32 0, i32 6
  store ptr %785, ptr %25197, align 8, !tbaa !86
  call void @llvm.lifetime.start.p0(i64 4, ptr %787) #11
  store i32 0, ptr %787, align 4, !tbaa !5
  br label %25198

25198:                                            ; preds = %27384, %25194
  %25199 = load i32, ptr %787, align 4, !tbaa !5
  %25200 = icmp ule i32 %25199, 1
  br i1 %25200, label %25202, label %25201

25201:                                            ; preds = %25198
  store i32 2553, ptr %788, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %787) #11
  br label %27387

25202:                                            ; preds = %25198
  call void @llvm.lifetime.start.p0(i64 8, ptr %789) #11
  %25203 = load i32, ptr %787, align 4, !tbaa !5
  %25204 = call ptr @s2n_connection_new(i32 noundef %25203)
  store ptr %25204, ptr %789, align 8, !tbaa !9
  br label %25205

25205:                                            ; preds = %25202
  %25206 = load i32, ptr @test_count, align 4, !tbaa !5
  %25207 = add nsw i32 %25206, 1
  store i32 %25207, ptr @test_count, align 4, !tbaa !5
  %25208 = load ptr, ptr %789, align 8, !tbaa !9
  %25209 = icmp eq ptr %25208, null
  br i1 %25209, label %25210, label %25263

25210:                                            ; preds = %25205
  br label %25211

25211:                                            ; preds = %25210
  br label %25212

25212:                                            ; preds = %25211
  call void @llvm.lifetime.start.p0(i64 4, ptr %790) #11
  %25213 = call ptr @__errno_location() #12
  %25214 = load i32, ptr %25213, align 4, !tbaa !5
  store i32 %25214, ptr %790, align 4, !tbaa !5
  %25215 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25216 = call i32 @s2n_print_stacktrace(ptr noundef %25215)
  %25217 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25218 = trunc i8 %25217 to i1
  br i1 %25218, label %25219, label %25241

25219:                                            ; preds = %25212
  %25220 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25221 = call i32 @fileno(ptr noundef %25220) #11
  %25222 = call i32 @isatty(i32 noundef %25221) #11
  %25223 = icmp ne i32 %25222, 0
  br i1 %25223, label %25224, label %25241

25224:                                            ; preds = %25219
  %25225 = load i32, ptr %790, align 4, !tbaa !5
  %25226 = call ptr @__errno_location() #12
  store i32 %25225, ptr %25226, align 4, !tbaa !5
  %25227 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25228 = load i32, ptr @test_count, align 4, !tbaa !5
  %25229 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25230 = load i32, ptr %25229, align 4, !tbaa !5
  %25231 = call ptr @s2n_strerror(i32 noundef %25230, ptr noundef @.str.5)
  %25232 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25233 = load i32, ptr %25232, align 4, !tbaa !5
  %25234 = call ptr @s2n_strerror_debug(i32 noundef %25233, ptr noundef @.str.5)
  %25235 = call ptr @__errno_location() #12
  %25236 = load i32, ptr %25235, align 4, !tbaa !5
  %25237 = call ptr @strerror(i32 noundef %25236) #11
  %25238 = call ptr @__errno_location() #12
  %25239 = load i32, ptr %25238, align 4, !tbaa !5
  %25240 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25227, ptr noundef @.str.3, i32 noundef %25228, ptr noundef @.str.79, ptr noundef @.str.2, i32 noundef 1262, ptr noundef %25231, ptr noundef %25234, ptr noundef %25237, i32 noundef %25239) #11
  br label %25258

25241:                                            ; preds = %25219, %25212
  %25242 = load i32, ptr %790, align 4, !tbaa !5
  %25243 = call ptr @__errno_location() #12
  store i32 %25242, ptr %25243, align 4, !tbaa !5
  %25244 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25245 = load i32, ptr @test_count, align 4, !tbaa !5
  %25246 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25247 = load i32, ptr %25246, align 4, !tbaa !5
  %25248 = call ptr @s2n_strerror(i32 noundef %25247, ptr noundef @.str.5)
  %25249 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25250 = load i32, ptr %25249, align 4, !tbaa !5
  %25251 = call ptr @s2n_strerror_debug(i32 noundef %25250, ptr noundef @.str.5)
  %25252 = call ptr @__errno_location() #12
  %25253 = load i32, ptr %25252, align 4, !tbaa !5
  %25254 = call ptr @strerror(i32 noundef %25253) #11
  %25255 = call ptr @__errno_location() #12
  %25256 = load i32, ptr %25255, align 4, !tbaa !5
  %25257 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25244, ptr noundef @.str.6, i32 noundef %25245, ptr noundef @.str.79, ptr noundef @.str.2, i32 noundef 1262, ptr noundef %25248, ptr noundef %25251, ptr noundef %25254, i32 noundef %25256) #11
  br label %25258

25258:                                            ; preds = %25241, %25224
  call void @llvm.lifetime.end.p0(i64 4, ptr %790) #11
  br label %25259

25259:                                            ; preds = %25258
  br label %25260

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

25261:                                            ; No predecessors!
  br label %25262

25262:                                            ; preds = %25261
  br label %25263

25263:                                            ; preds = %25262, %25205
  br label %25264

25264:                                            ; preds = %25263
  br label %25265

25265:                                            ; preds = %25264
  br label %25266

25266:                                            ; preds = %25265
  %25267 = load i32, ptr @test_count, align 4, !tbaa !5
  %25268 = add nsw i32 %25267, 1
  store i32 %25268, ptr @test_count, align 4, !tbaa !5
  %25269 = load ptr, ptr %789, align 8, !tbaa !9
  %25270 = load ptr, ptr %789, align 8, !tbaa !9
  %25271 = call i32 @s2n_ktls_set_sendmsg_cb(ptr noundef %25269, ptr noundef @s2n_test_ktls_sendmsg_mark_all_sent, ptr noundef %25270)
  %25272 = getelementptr inbounds %struct.s2n_result, ptr %791, i32 0, i32 0
  store i32 %25271, ptr %25272, align 4
  %25273 = getelementptr inbounds %struct.s2n_result, ptr %791, i32 0, i32 0
  %25274 = load i32, ptr %25273, align 4
  %25275 = call zeroext i1 @s2n_result_is_ok(i32 %25274)
  br i1 %25275, label %25329, label %25276

25276:                                            ; preds = %25266
  br label %25277

25277:                                            ; preds = %25276
  br label %25278

25278:                                            ; preds = %25277
  call void @llvm.lifetime.start.p0(i64 4, ptr %792) #11
  %25279 = call ptr @__errno_location() #12
  %25280 = load i32, ptr %25279, align 4, !tbaa !5
  store i32 %25280, ptr %792, align 4, !tbaa !5
  %25281 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25282 = call i32 @s2n_print_stacktrace(ptr noundef %25281)
  %25283 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25284 = trunc i8 %25283 to i1
  br i1 %25284, label %25285, label %25307

25285:                                            ; preds = %25278
  %25286 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25287 = call i32 @fileno(ptr noundef %25286) #11
  %25288 = call i32 @isatty(i32 noundef %25287) #11
  %25289 = icmp ne i32 %25288, 0
  br i1 %25289, label %25290, label %25307

25290:                                            ; preds = %25285
  %25291 = load i32, ptr %792, align 4, !tbaa !5
  %25292 = call ptr @__errno_location() #12
  store i32 %25291, ptr %25292, align 4, !tbaa !5
  %25293 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25294 = load i32, ptr @test_count, align 4, !tbaa !5
  %25295 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25296 = load i32, ptr %25295, align 4, !tbaa !5
  %25297 = call ptr @s2n_strerror(i32 noundef %25296, ptr noundef @.str.5)
  %25298 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25299 = load i32, ptr %25298, align 4, !tbaa !5
  %25300 = call ptr @s2n_strerror_debug(i32 noundef %25299, ptr noundef @.str.5)
  %25301 = call ptr @__errno_location() #12
  %25302 = load i32, ptr %25301, align 4, !tbaa !5
  %25303 = call ptr @strerror(i32 noundef %25302) #11
  %25304 = call ptr @__errno_location() #12
  %25305 = load i32, ptr %25304, align 4, !tbaa !5
  %25306 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25293, ptr noundef @.str.3, i32 noundef %25294, ptr noundef @.str.164, ptr noundef @.str.2, i32 noundef 1263, ptr noundef %25297, ptr noundef %25300, ptr noundef %25303, i32 noundef %25305) #11
  br label %25324

25307:                                            ; preds = %25285, %25278
  %25308 = load i32, ptr %792, align 4, !tbaa !5
  %25309 = call ptr @__errno_location() #12
  store i32 %25308, ptr %25309, align 4, !tbaa !5
  %25310 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25311 = load i32, ptr @test_count, align 4, !tbaa !5
  %25312 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25313 = load i32, ptr %25312, align 4, !tbaa !5
  %25314 = call ptr @s2n_strerror(i32 noundef %25313, ptr noundef @.str.5)
  %25315 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25316 = load i32, ptr %25315, align 4, !tbaa !5
  %25317 = call ptr @s2n_strerror_debug(i32 noundef %25316, ptr noundef @.str.5)
  %25318 = call ptr @__errno_location() #12
  %25319 = load i32, ptr %25318, align 4, !tbaa !5
  %25320 = call ptr @strerror(i32 noundef %25319) #11
  %25321 = call ptr @__errno_location() #12
  %25322 = load i32, ptr %25321, align 4, !tbaa !5
  %25323 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25310, ptr noundef @.str.6, i32 noundef %25311, ptr noundef @.str.164, ptr noundef @.str.2, i32 noundef 1263, ptr noundef %25314, ptr noundef %25317, ptr noundef %25320, i32 noundef %25322) #11
  br label %25324

25324:                                            ; preds = %25307, %25290
  call void @llvm.lifetime.end.p0(i64 4, ptr %792) #11
  br label %25325

25325:                                            ; preds = %25324
  br label %25326

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

25327:                                            ; No predecessors!
  br label %25328

25328:                                            ; preds = %25327
  br label %25329

25329:                                            ; preds = %25328, %25266
  br label %25330

25330:                                            ; preds = %25329
  br label %25331

25331:                                            ; preds = %25330
  %25332 = load ptr, ptr %789, align 8, !tbaa !9
  %25333 = load i32, ptr %25332, align 8
  %25334 = and i32 %25333, -262145
  %25335 = or i32 %25334, 262144
  store i32 %25335, ptr %25332, align 8
  br label %25336

25336:                                            ; preds = %25331
  %25337 = load i32, ptr @test_count, align 4, !tbaa !5
  %25338 = add nsw i32 %25337, 1
  store i32 %25338, ptr @test_count, align 4, !tbaa !5
  %25339 = load ptr, ptr %789, align 8, !tbaa !9
  %25340 = getelementptr inbounds %struct.s2n_connection, ptr %25339, i32 0, i32 27
  %25341 = load ptr, ptr %25340, align 8, !tbaa !92
  %25342 = icmp eq ptr %25341, null
  br i1 %25342, label %25343, label %25396

25343:                                            ; preds = %25336
  br label %25344

25344:                                            ; preds = %25343
  br label %25345

25345:                                            ; preds = %25344
  call void @llvm.lifetime.start.p0(i64 4, ptr %793) #11
  %25346 = call ptr @__errno_location() #12
  %25347 = load i32, ptr %25346, align 4, !tbaa !5
  store i32 %25347, ptr %793, align 4, !tbaa !5
  %25348 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25349 = call i32 @s2n_print_stacktrace(ptr noundef %25348)
  %25350 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25351 = trunc i8 %25350 to i1
  br i1 %25351, label %25352, label %25374

25352:                                            ; preds = %25345
  %25353 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25354 = call i32 @fileno(ptr noundef %25353) #11
  %25355 = call i32 @isatty(i32 noundef %25354) #11
  %25356 = icmp ne i32 %25355, 0
  br i1 %25356, label %25357, label %25374

25357:                                            ; preds = %25352
  %25358 = load i32, ptr %793, align 4, !tbaa !5
  %25359 = call ptr @__errno_location() #12
  store i32 %25358, ptr %25359, align 4, !tbaa !5
  %25360 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25361 = load i32, ptr @test_count, align 4, !tbaa !5
  %25362 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25363 = load i32, ptr %25362, align 4, !tbaa !5
  %25364 = call ptr @s2n_strerror(i32 noundef %25363, ptr noundef @.str.5)
  %25365 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25366 = load i32, ptr %25365, align 4, !tbaa !5
  %25367 = call ptr @s2n_strerror_debug(i32 noundef %25366, ptr noundef @.str.5)
  %25368 = call ptr @__errno_location() #12
  %25369 = load i32, ptr %25368, align 4, !tbaa !5
  %25370 = call ptr @strerror(i32 noundef %25369) #11
  %25371 = call ptr @__errno_location() #12
  %25372 = load i32, ptr %25371, align 4, !tbaa !5
  %25373 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25360, ptr noundef @.str.3, i32 noundef %25361, ptr noundef @.str.165, ptr noundef @.str.2, i32 noundef 1265, ptr noundef %25364, ptr noundef %25367, ptr noundef %25370, i32 noundef %25372) #11
  br label %25391

25374:                                            ; preds = %25352, %25345
  %25375 = load i32, ptr %793, align 4, !tbaa !5
  %25376 = call ptr @__errno_location() #12
  store i32 %25375, ptr %25376, align 4, !tbaa !5
  %25377 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25378 = load i32, ptr @test_count, align 4, !tbaa !5
  %25379 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25380 = load i32, ptr %25379, align 4, !tbaa !5
  %25381 = call ptr @s2n_strerror(i32 noundef %25380, ptr noundef @.str.5)
  %25382 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25383 = load i32, ptr %25382, align 4, !tbaa !5
  %25384 = call ptr @s2n_strerror_debug(i32 noundef %25383, ptr noundef @.str.5)
  %25385 = call ptr @__errno_location() #12
  %25386 = load i32, ptr %25385, align 4, !tbaa !5
  %25387 = call ptr @strerror(i32 noundef %25386) #11
  %25388 = call ptr @__errno_location() #12
  %25389 = load i32, ptr %25388, align 4, !tbaa !5
  %25390 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25377, ptr noundef @.str.6, i32 noundef %25378, ptr noundef @.str.165, ptr noundef @.str.2, i32 noundef 1265, ptr noundef %25381, ptr noundef %25384, ptr noundef %25387, i32 noundef %25389) #11
  br label %25391

25391:                                            ; preds = %25374, %25357
  call void @llvm.lifetime.end.p0(i64 4, ptr %793) #11
  br label %25392

25392:                                            ; preds = %25391
  br label %25393

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

25394:                                            ; No predecessors!
  br label %25395

25395:                                            ; preds = %25394
  br label %25396

25396:                                            ; preds = %25395, %25336
  br label %25397

25397:                                            ; preds = %25396
  br label %25398

25398:                                            ; preds = %25397
  %25399 = load ptr, ptr %789, align 8, !tbaa !9
  %25400 = getelementptr inbounds %struct.s2n_connection, ptr %25399, i32 0, i32 27
  %25401 = load ptr, ptr %25400, align 8, !tbaa !92
  %25402 = getelementptr inbounds %struct.s2n_crypto_parameters, ptr %25401, i32 0, i32 0
  store ptr %786, ptr %25402, align 8, !tbaa !93
  %25403 = load ptr, ptr %789, align 8, !tbaa !9
  %25404 = getelementptr inbounds %struct.s2n_connection, ptr %25403, i32 0, i32 23
  store i8 34, ptr %25404, align 4, !tbaa !98
  call void @llvm.lifetime.start.p0(i64 4, ptr %794) #11
  store i32 0, ptr %794, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 24, ptr %795) #11
  call void @llvm.memset.p0.i64(ptr align 8 %795, i8 0, i64 24, i1 false)
  br label %25405

25405:                                            ; preds = %25398
  %25406 = load i32, ptr @test_count, align 4, !tbaa !5
  %25407 = add nsw i32 %25406, 1
  store i32 %25407, ptr @test_count, align 4, !tbaa !5
  %25408 = load ptr, ptr %789, align 8, !tbaa !9
  %25409 = load ptr, ptr %789, align 8, !tbaa !9
  %25410 = getelementptr inbounds %struct.s2n_connection, ptr %25409, i32 0, i32 13
  %25411 = load i32, ptr %25410, align 4, !tbaa !99
  %25412 = call i32 @s2n_connection_get_sequence_number(ptr noundef %25408, i32 noundef %25411, ptr noundef %795)
  %25413 = getelementptr inbounds %struct.s2n_result, ptr %796, i32 0, i32 0
  store i32 %25412, ptr %25413, align 4
  %25414 = getelementptr inbounds %struct.s2n_result, ptr %796, i32 0, i32 0
  %25415 = load i32, ptr %25414, align 4
  %25416 = call zeroext i1 @s2n_result_is_ok(i32 %25415)
  br i1 %25416, label %25470, label %25417

25417:                                            ; preds = %25405
  br label %25418

25418:                                            ; preds = %25417
  br label %25419

25419:                                            ; preds = %25418
  call void @llvm.lifetime.start.p0(i64 4, ptr %797) #11
  %25420 = call ptr @__errno_location() #12
  %25421 = load i32, ptr %25420, align 4, !tbaa !5
  store i32 %25421, ptr %797, align 4, !tbaa !5
  %25422 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25423 = call i32 @s2n_print_stacktrace(ptr noundef %25422)
  %25424 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25425 = trunc i8 %25424 to i1
  br i1 %25425, label %25426, label %25448

25426:                                            ; preds = %25419
  %25427 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25428 = call i32 @fileno(ptr noundef %25427) #11
  %25429 = call i32 @isatty(i32 noundef %25428) #11
  %25430 = icmp ne i32 %25429, 0
  br i1 %25430, label %25431, label %25448

25431:                                            ; preds = %25426
  %25432 = load i32, ptr %797, align 4, !tbaa !5
  %25433 = call ptr @__errno_location() #12
  store i32 %25432, ptr %25433, align 4, !tbaa !5
  %25434 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25435 = load i32, ptr @test_count, align 4, !tbaa !5
  %25436 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25437 = load i32, ptr %25436, align 4, !tbaa !5
  %25438 = call ptr @s2n_strerror(i32 noundef %25437, ptr noundef @.str.5)
  %25439 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25440 = load i32, ptr %25439, align 4, !tbaa !5
  %25441 = call ptr @s2n_strerror_debug(i32 noundef %25440, ptr noundef @.str.5)
  %25442 = call ptr @__errno_location() #12
  %25443 = load i32, ptr %25442, align 4, !tbaa !5
  %25444 = call ptr @strerror(i32 noundef %25443) #11
  %25445 = call ptr @__errno_location() #12
  %25446 = load i32, ptr %25445, align 4, !tbaa !5
  %25447 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25434, ptr noundef @.str.3, i32 noundef %25435, ptr noundef @.str.166, ptr noundef @.str.2, i32 noundef 1274, ptr noundef %25438, ptr noundef %25441, ptr noundef %25444, i32 noundef %25446) #11
  br label %25465

25448:                                            ; preds = %25426, %25419
  %25449 = load i32, ptr %797, align 4, !tbaa !5
  %25450 = call ptr @__errno_location() #12
  store i32 %25449, ptr %25450, align 4, !tbaa !5
  %25451 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25452 = load i32, ptr @test_count, align 4, !tbaa !5
  %25453 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25454 = load i32, ptr %25453, align 4, !tbaa !5
  %25455 = call ptr @s2n_strerror(i32 noundef %25454, ptr noundef @.str.5)
  %25456 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25457 = load i32, ptr %25456, align 4, !tbaa !5
  %25458 = call ptr @s2n_strerror_debug(i32 noundef %25457, ptr noundef @.str.5)
  %25459 = call ptr @__errno_location() #12
  %25460 = load i32, ptr %25459, align 4, !tbaa !5
  %25461 = call ptr @strerror(i32 noundef %25460) #11
  %25462 = call ptr @__errno_location() #12
  %25463 = load i32, ptr %25462, align 4, !tbaa !5
  %25464 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25451, ptr noundef @.str.6, i32 noundef %25452, ptr noundef @.str.166, ptr noundef @.str.2, i32 noundef 1274, ptr noundef %25455, ptr noundef %25458, ptr noundef %25461, i32 noundef %25463) #11
  br label %25465

25465:                                            ; preds = %25448, %25431
  call void @llvm.lifetime.end.p0(i64 4, ptr %797) #11
  br label %25466

25466:                                            ; preds = %25465
  br label %25467

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

25468:                                            ; No predecessors!
  br label %25469

25469:                                            ; preds = %25468
  br label %25470

25470:                                            ; preds = %25469, %25405
  br label %25471

25471:                                            ; preds = %25470
  br label %25472

25472:                                            ; preds = %25471
  call void @llvm.lifetime.start.p0(i64 8, ptr %798) #11
  store i64 0, ptr %798, align 8, !tbaa !20
  br label %25473

25473:                                            ; preds = %25472
  %25474 = load i32, ptr @test_count, align 4, !tbaa !5
  %25475 = add nsw i32 %25474, 1
  store i32 %25475, ptr @test_count, align 4, !tbaa !5
  %25476 = load i64, ptr %798, align 8, !tbaa !20
  %25477 = call i32 @s2n_assert_seq_num_equal(ptr noundef byval(%struct.s2n_blob) align 8 %795, i64 noundef %25476)
  %25478 = getelementptr inbounds %struct.s2n_result, ptr %799, i32 0, i32 0
  store i32 %25477, ptr %25478, align 4
  %25479 = getelementptr inbounds %struct.s2n_result, ptr %799, i32 0, i32 0
  %25480 = load i32, ptr %25479, align 4
  %25481 = call zeroext i1 @s2n_result_is_ok(i32 %25480)
  br i1 %25481, label %25535, label %25482

25482:                                            ; preds = %25473
  br label %25483

25483:                                            ; preds = %25482
  br label %25484

25484:                                            ; preds = %25483
  call void @llvm.lifetime.start.p0(i64 4, ptr %800) #11
  %25485 = call ptr @__errno_location() #12
  %25486 = load i32, ptr %25485, align 4, !tbaa !5
  store i32 %25486, ptr %800, align 4, !tbaa !5
  %25487 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25488 = call i32 @s2n_print_stacktrace(ptr noundef %25487)
  %25489 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25490 = trunc i8 %25489 to i1
  br i1 %25490, label %25491, label %25513

25491:                                            ; preds = %25484
  %25492 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25493 = call i32 @fileno(ptr noundef %25492) #11
  %25494 = call i32 @isatty(i32 noundef %25493) #11
  %25495 = icmp ne i32 %25494, 0
  br i1 %25495, label %25496, label %25513

25496:                                            ; preds = %25491
  %25497 = load i32, ptr %800, align 4, !tbaa !5
  %25498 = call ptr @__errno_location() #12
  store i32 %25497, ptr %25498, align 4, !tbaa !5
  %25499 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25500 = load i32, ptr @test_count, align 4, !tbaa !5
  %25501 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25502 = load i32, ptr %25501, align 4, !tbaa !5
  %25503 = call ptr @s2n_strerror(i32 noundef %25502, ptr noundef @.str.5)
  %25504 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25505 = load i32, ptr %25504, align 4, !tbaa !5
  %25506 = call ptr @s2n_strerror_debug(i32 noundef %25505, ptr noundef @.str.5)
  %25507 = call ptr @__errno_location() #12
  %25508 = load i32, ptr %25507, align 4, !tbaa !5
  %25509 = call ptr @strerror(i32 noundef %25508) #11
  %25510 = call ptr @__errno_location() #12
  %25511 = load i32, ptr %25510, align 4, !tbaa !5
  %25512 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25499, ptr noundef @.str.3, i32 noundef %25500, ptr noundef @.str.167, ptr noundef @.str.2, i32 noundef 1278, ptr noundef %25503, ptr noundef %25506, ptr noundef %25509, i32 noundef %25511) #11
  br label %25530

25513:                                            ; preds = %25491, %25484
  %25514 = load i32, ptr %800, align 4, !tbaa !5
  %25515 = call ptr @__errno_location() #12
  store i32 %25514, ptr %25515, align 4, !tbaa !5
  %25516 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25517 = load i32, ptr @test_count, align 4, !tbaa !5
  %25518 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25519 = load i32, ptr %25518, align 4, !tbaa !5
  %25520 = call ptr @s2n_strerror(i32 noundef %25519, ptr noundef @.str.5)
  %25521 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25522 = load i32, ptr %25521, align 4, !tbaa !5
  %25523 = call ptr @s2n_strerror_debug(i32 noundef %25522, ptr noundef @.str.5)
  %25524 = call ptr @__errno_location() #12
  %25525 = load i32, ptr %25524, align 4, !tbaa !5
  %25526 = call ptr @strerror(i32 noundef %25525) #11
  %25527 = call ptr @__errno_location() #12
  %25528 = load i32, ptr %25527, align 4, !tbaa !5
  %25529 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25516, ptr noundef @.str.6, i32 noundef %25517, ptr noundef @.str.167, ptr noundef @.str.2, i32 noundef 1278, ptr noundef %25520, ptr noundef %25523, ptr noundef %25526, i32 noundef %25528) #11
  br label %25530

25530:                                            ; preds = %25513, %25496
  call void @llvm.lifetime.end.p0(i64 4, ptr %800) #11
  br label %25531

25531:                                            ; preds = %25530
  br label %25532

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

25533:                                            ; No predecessors!
  br label %25534

25534:                                            ; preds = %25533
  br label %25535

25535:                                            ; preds = %25534, %25473
  br label %25536

25536:                                            ; preds = %25535
  br label %25537

25537:                                            ; preds = %25536
  br label %25538

25538:                                            ; preds = %25537
  %25539 = load i32, ptr @test_count, align 4, !tbaa !5
  %25540 = add nsw i32 %25539, 1
  store i32 %25540, ptr @test_count, align 4, !tbaa !5
  %25541 = load ptr, ptr %789, align 8, !tbaa !9
  %25542 = getelementptr inbounds [163840 x i8], ptr %782, i64 0, i64 0
  %25543 = call i64 @s2n_send(ptr noundef %25541, ptr noundef %25542, i64 noundef 0, ptr noundef %794)
  %25544 = icmp eq i64 %25543, 0
  br i1 %25544, label %25598, label %25545

25545:                                            ; preds = %25538
  br label %25546

25546:                                            ; preds = %25545
  br label %25547

25547:                                            ; preds = %25546
  call void @llvm.lifetime.start.p0(i64 4, ptr %801) #11
  %25548 = call ptr @__errno_location() #12
  %25549 = load i32, ptr %25548, align 4, !tbaa !5
  store i32 %25549, ptr %801, align 4, !tbaa !5
  %25550 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25551 = call i32 @s2n_print_stacktrace(ptr noundef %25550)
  %25552 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25553 = trunc i8 %25552 to i1
  br i1 %25553, label %25554, label %25576

25554:                                            ; preds = %25547
  %25555 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25556 = call i32 @fileno(ptr noundef %25555) #11
  %25557 = call i32 @isatty(i32 noundef %25556) #11
  %25558 = icmp ne i32 %25557, 0
  br i1 %25558, label %25559, label %25576

25559:                                            ; preds = %25554
  %25560 = load i32, ptr %801, align 4, !tbaa !5
  %25561 = call ptr @__errno_location() #12
  store i32 %25560, ptr %25561, align 4, !tbaa !5
  %25562 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25563 = load i32, ptr @test_count, align 4, !tbaa !5
  %25564 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25565 = load i32, ptr %25564, align 4, !tbaa !5
  %25566 = call ptr @s2n_strerror(i32 noundef %25565, ptr noundef @.str.5)
  %25567 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25568 = load i32, ptr %25567, align 4, !tbaa !5
  %25569 = call ptr @s2n_strerror_debug(i32 noundef %25568, ptr noundef @.str.5)
  %25570 = call ptr @__errno_location() #12
  %25571 = load i32, ptr %25570, align 4, !tbaa !5
  %25572 = call ptr @strerror(i32 noundef %25571) #11
  %25573 = call ptr @__errno_location() #12
  %25574 = load i32, ptr %25573, align 4, !tbaa !5
  %25575 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25562, ptr noundef @.str.3, i32 noundef %25563, ptr noundef @.str.168, ptr noundef @.str.2, i32 noundef 1281, ptr noundef %25566, ptr noundef %25569, ptr noundef %25572, i32 noundef %25574) #11
  br label %25593

25576:                                            ; preds = %25554, %25547
  %25577 = load i32, ptr %801, align 4, !tbaa !5
  %25578 = call ptr @__errno_location() #12
  store i32 %25577, ptr %25578, align 4, !tbaa !5
  %25579 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25580 = load i32, ptr @test_count, align 4, !tbaa !5
  %25581 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25582 = load i32, ptr %25581, align 4, !tbaa !5
  %25583 = call ptr @s2n_strerror(i32 noundef %25582, ptr noundef @.str.5)
  %25584 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25585 = load i32, ptr %25584, align 4, !tbaa !5
  %25586 = call ptr @s2n_strerror_debug(i32 noundef %25585, ptr noundef @.str.5)
  %25587 = call ptr @__errno_location() #12
  %25588 = load i32, ptr %25587, align 4, !tbaa !5
  %25589 = call ptr @strerror(i32 noundef %25588) #11
  %25590 = call ptr @__errno_location() #12
  %25591 = load i32, ptr %25590, align 4, !tbaa !5
  %25592 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25579, ptr noundef @.str.6, i32 noundef %25580, ptr noundef @.str.168, ptr noundef @.str.2, i32 noundef 1281, ptr noundef %25583, ptr noundef %25586, ptr noundef %25589, i32 noundef %25591) #11
  br label %25593

25593:                                            ; preds = %25576, %25559
  call void @llvm.lifetime.end.p0(i64 4, ptr %801) #11
  br label %25594

25594:                                            ; preds = %25593
  br label %25595

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

25596:                                            ; No predecessors!
  br label %25597

25597:                                            ; preds = %25596
  br label %25598

25598:                                            ; preds = %25597, %25538
  br label %25599

25599:                                            ; preds = %25598
  br label %25600

25600:                                            ; preds = %25599
  br label %25601

25601:                                            ; preds = %25600
  %25602 = load i32, ptr @test_count, align 4, !tbaa !5
  %25603 = add nsw i32 %25602, 1
  store i32 %25603, ptr @test_count, align 4, !tbaa !5
  %25604 = load i64, ptr %798, align 8, !tbaa !20
  %25605 = call i32 @s2n_assert_seq_num_equal(ptr noundef byval(%struct.s2n_blob) align 8 %795, i64 noundef %25604)
  %25606 = getelementptr inbounds %struct.s2n_result, ptr %802, i32 0, i32 0
  store i32 %25605, ptr %25606, align 4
  %25607 = getelementptr inbounds %struct.s2n_result, ptr %802, i32 0, i32 0
  %25608 = load i32, ptr %25607, align 4
  %25609 = call zeroext i1 @s2n_result_is_ok(i32 %25608)
  br i1 %25609, label %25663, label %25610

25610:                                            ; preds = %25601
  br label %25611

25611:                                            ; preds = %25610
  br label %25612

25612:                                            ; preds = %25611
  call void @llvm.lifetime.start.p0(i64 4, ptr %803) #11
  %25613 = call ptr @__errno_location() #12
  %25614 = load i32, ptr %25613, align 4, !tbaa !5
  store i32 %25614, ptr %803, align 4, !tbaa !5
  %25615 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25616 = call i32 @s2n_print_stacktrace(ptr noundef %25615)
  %25617 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25618 = trunc i8 %25617 to i1
  br i1 %25618, label %25619, label %25641

25619:                                            ; preds = %25612
  %25620 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25621 = call i32 @fileno(ptr noundef %25620) #11
  %25622 = call i32 @isatty(i32 noundef %25621) #11
  %25623 = icmp ne i32 %25622, 0
  br i1 %25623, label %25624, label %25641

25624:                                            ; preds = %25619
  %25625 = load i32, ptr %803, align 4, !tbaa !5
  %25626 = call ptr @__errno_location() #12
  store i32 %25625, ptr %25626, align 4, !tbaa !5
  %25627 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25628 = load i32, ptr @test_count, align 4, !tbaa !5
  %25629 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25630 = load i32, ptr %25629, align 4, !tbaa !5
  %25631 = call ptr @s2n_strerror(i32 noundef %25630, ptr noundef @.str.5)
  %25632 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25633 = load i32, ptr %25632, align 4, !tbaa !5
  %25634 = call ptr @s2n_strerror_debug(i32 noundef %25633, ptr noundef @.str.5)
  %25635 = call ptr @__errno_location() #12
  %25636 = load i32, ptr %25635, align 4, !tbaa !5
  %25637 = call ptr @strerror(i32 noundef %25636) #11
  %25638 = call ptr @__errno_location() #12
  %25639 = load i32, ptr %25638, align 4, !tbaa !5
  %25640 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25627, ptr noundef @.str.3, i32 noundef %25628, ptr noundef @.str.167, ptr noundef @.str.2, i32 noundef 1282, ptr noundef %25631, ptr noundef %25634, ptr noundef %25637, i32 noundef %25639) #11
  br label %25658

25641:                                            ; preds = %25619, %25612
  %25642 = load i32, ptr %803, align 4, !tbaa !5
  %25643 = call ptr @__errno_location() #12
  store i32 %25642, ptr %25643, align 4, !tbaa !5
  %25644 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25645 = load i32, ptr @test_count, align 4, !tbaa !5
  %25646 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25647 = load i32, ptr %25646, align 4, !tbaa !5
  %25648 = call ptr @s2n_strerror(i32 noundef %25647, ptr noundef @.str.5)
  %25649 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25650 = load i32, ptr %25649, align 4, !tbaa !5
  %25651 = call ptr @s2n_strerror_debug(i32 noundef %25650, ptr noundef @.str.5)
  %25652 = call ptr @__errno_location() #12
  %25653 = load i32, ptr %25652, align 4, !tbaa !5
  %25654 = call ptr @strerror(i32 noundef %25653) #11
  %25655 = call ptr @__errno_location() #12
  %25656 = load i32, ptr %25655, align 4, !tbaa !5
  %25657 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25644, ptr noundef @.str.6, i32 noundef %25645, ptr noundef @.str.167, ptr noundef @.str.2, i32 noundef 1282, ptr noundef %25648, ptr noundef %25651, ptr noundef %25654, i32 noundef %25656) #11
  br label %25658

25658:                                            ; preds = %25641, %25624
  call void @llvm.lifetime.end.p0(i64 4, ptr %803) #11
  br label %25659

25659:                                            ; preds = %25658
  br label %25660

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

25661:                                            ; No predecessors!
  br label %25662

25662:                                            ; preds = %25661
  br label %25663

25663:                                            ; preds = %25662, %25601
  br label %25664

25664:                                            ; preds = %25663
  br label %25665

25665:                                            ; preds = %25664
  %25666 = load i64, ptr %798, align 8, !tbaa !20
  %25667 = add i64 %25666, 1
  store i64 %25667, ptr %798, align 8, !tbaa !20
  br label %25668

25668:                                            ; preds = %25665
  %25669 = load i32, ptr @test_count, align 4, !tbaa !5
  %25670 = add nsw i32 %25669, 1
  store i32 %25670, ptr @test_count, align 4, !tbaa !5
  %25671 = load ptr, ptr %789, align 8, !tbaa !9
  %25672 = getelementptr inbounds [163840 x i8], ptr %782, i64 0, i64 0
  %25673 = call i64 @s2n_send(ptr noundef %25671, ptr noundef %25672, i64 noundef 1, ptr noundef %794)
  %25674 = icmp eq i64 %25673, 1
  br i1 %25674, label %25728, label %25675

25675:                                            ; preds = %25668
  br label %25676

25676:                                            ; preds = %25675
  br label %25677

25677:                                            ; preds = %25676
  call void @llvm.lifetime.start.p0(i64 4, ptr %804) #11
  %25678 = call ptr @__errno_location() #12
  %25679 = load i32, ptr %25678, align 4, !tbaa !5
  store i32 %25679, ptr %804, align 4, !tbaa !5
  %25680 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25681 = call i32 @s2n_print_stacktrace(ptr noundef %25680)
  %25682 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25683 = trunc i8 %25682 to i1
  br i1 %25683, label %25684, label %25706

25684:                                            ; preds = %25677
  %25685 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25686 = call i32 @fileno(ptr noundef %25685) #11
  %25687 = call i32 @isatty(i32 noundef %25686) #11
  %25688 = icmp ne i32 %25687, 0
  br i1 %25688, label %25689, label %25706

25689:                                            ; preds = %25684
  %25690 = load i32, ptr %804, align 4, !tbaa !5
  %25691 = call ptr @__errno_location() #12
  store i32 %25690, ptr %25691, align 4, !tbaa !5
  %25692 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25693 = load i32, ptr @test_count, align 4, !tbaa !5
  %25694 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25695 = load i32, ptr %25694, align 4, !tbaa !5
  %25696 = call ptr @s2n_strerror(i32 noundef %25695, ptr noundef @.str.5)
  %25697 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25698 = load i32, ptr %25697, align 4, !tbaa !5
  %25699 = call ptr @s2n_strerror_debug(i32 noundef %25698, ptr noundef @.str.5)
  %25700 = call ptr @__errno_location() #12
  %25701 = load i32, ptr %25700, align 4, !tbaa !5
  %25702 = call ptr @strerror(i32 noundef %25701) #11
  %25703 = call ptr @__errno_location() #12
  %25704 = load i32, ptr %25703, align 4, !tbaa !5
  %25705 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25692, ptr noundef @.str.3, i32 noundef %25693, ptr noundef @.str.169, ptr noundef @.str.2, i32 noundef 1286, ptr noundef %25696, ptr noundef %25699, ptr noundef %25702, i32 noundef %25704) #11
  br label %25723

25706:                                            ; preds = %25684, %25677
  %25707 = load i32, ptr %804, align 4, !tbaa !5
  %25708 = call ptr @__errno_location() #12
  store i32 %25707, ptr %25708, align 4, !tbaa !5
  %25709 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25710 = load i32, ptr @test_count, align 4, !tbaa !5
  %25711 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25712 = load i32, ptr %25711, align 4, !tbaa !5
  %25713 = call ptr @s2n_strerror(i32 noundef %25712, ptr noundef @.str.5)
  %25714 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25715 = load i32, ptr %25714, align 4, !tbaa !5
  %25716 = call ptr @s2n_strerror_debug(i32 noundef %25715, ptr noundef @.str.5)
  %25717 = call ptr @__errno_location() #12
  %25718 = load i32, ptr %25717, align 4, !tbaa !5
  %25719 = call ptr @strerror(i32 noundef %25718) #11
  %25720 = call ptr @__errno_location() #12
  %25721 = load i32, ptr %25720, align 4, !tbaa !5
  %25722 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25709, ptr noundef @.str.6, i32 noundef %25710, ptr noundef @.str.169, ptr noundef @.str.2, i32 noundef 1286, ptr noundef %25713, ptr noundef %25716, ptr noundef %25719, i32 noundef %25721) #11
  br label %25723

25723:                                            ; preds = %25706, %25689
  call void @llvm.lifetime.end.p0(i64 4, ptr %804) #11
  br label %25724

25724:                                            ; preds = %25723
  br label %25725

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

25726:                                            ; No predecessors!
  br label %25727

25727:                                            ; preds = %25726
  br label %25728

25728:                                            ; preds = %25727, %25668
  br label %25729

25729:                                            ; preds = %25728
  br label %25730

25730:                                            ; preds = %25729
  br label %25731

25731:                                            ; preds = %25730
  %25732 = load i32, ptr @test_count, align 4, !tbaa !5
  %25733 = add nsw i32 %25732, 1
  store i32 %25733, ptr @test_count, align 4, !tbaa !5
  %25734 = load i64, ptr %798, align 8, !tbaa !20
  %25735 = call i32 @s2n_assert_seq_num_equal(ptr noundef byval(%struct.s2n_blob) align 8 %795, i64 noundef %25734)
  %25736 = getelementptr inbounds %struct.s2n_result, ptr %805, i32 0, i32 0
  store i32 %25735, ptr %25736, align 4
  %25737 = getelementptr inbounds %struct.s2n_result, ptr %805, i32 0, i32 0
  %25738 = load i32, ptr %25737, align 4
  %25739 = call zeroext i1 @s2n_result_is_ok(i32 %25738)
  br i1 %25739, label %25793, label %25740

25740:                                            ; preds = %25731
  br label %25741

25741:                                            ; preds = %25740
  br label %25742

25742:                                            ; preds = %25741
  call void @llvm.lifetime.start.p0(i64 4, ptr %806) #11
  %25743 = call ptr @__errno_location() #12
  %25744 = load i32, ptr %25743, align 4, !tbaa !5
  store i32 %25744, ptr %806, align 4, !tbaa !5
  %25745 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25746 = call i32 @s2n_print_stacktrace(ptr noundef %25745)
  %25747 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25748 = trunc i8 %25747 to i1
  br i1 %25748, label %25749, label %25771

25749:                                            ; preds = %25742
  %25750 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25751 = call i32 @fileno(ptr noundef %25750) #11
  %25752 = call i32 @isatty(i32 noundef %25751) #11
  %25753 = icmp ne i32 %25752, 0
  br i1 %25753, label %25754, label %25771

25754:                                            ; preds = %25749
  %25755 = load i32, ptr %806, align 4, !tbaa !5
  %25756 = call ptr @__errno_location() #12
  store i32 %25755, ptr %25756, align 4, !tbaa !5
  %25757 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25758 = load i32, ptr @test_count, align 4, !tbaa !5
  %25759 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25760 = load i32, ptr %25759, align 4, !tbaa !5
  %25761 = call ptr @s2n_strerror(i32 noundef %25760, ptr noundef @.str.5)
  %25762 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25763 = load i32, ptr %25762, align 4, !tbaa !5
  %25764 = call ptr @s2n_strerror_debug(i32 noundef %25763, ptr noundef @.str.5)
  %25765 = call ptr @__errno_location() #12
  %25766 = load i32, ptr %25765, align 4, !tbaa !5
  %25767 = call ptr @strerror(i32 noundef %25766) #11
  %25768 = call ptr @__errno_location() #12
  %25769 = load i32, ptr %25768, align 4, !tbaa !5
  %25770 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25757, ptr noundef @.str.3, i32 noundef %25758, ptr noundef @.str.167, ptr noundef @.str.2, i32 noundef 1287, ptr noundef %25761, ptr noundef %25764, ptr noundef %25767, i32 noundef %25769) #11
  br label %25788

25771:                                            ; preds = %25749, %25742
  %25772 = load i32, ptr %806, align 4, !tbaa !5
  %25773 = call ptr @__errno_location() #12
  store i32 %25772, ptr %25773, align 4, !tbaa !5
  %25774 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25775 = load i32, ptr @test_count, align 4, !tbaa !5
  %25776 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25777 = load i32, ptr %25776, align 4, !tbaa !5
  %25778 = call ptr @s2n_strerror(i32 noundef %25777, ptr noundef @.str.5)
  %25779 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25780 = load i32, ptr %25779, align 4, !tbaa !5
  %25781 = call ptr @s2n_strerror_debug(i32 noundef %25780, ptr noundef @.str.5)
  %25782 = call ptr @__errno_location() #12
  %25783 = load i32, ptr %25782, align 4, !tbaa !5
  %25784 = call ptr @strerror(i32 noundef %25783) #11
  %25785 = call ptr @__errno_location() #12
  %25786 = load i32, ptr %25785, align 4, !tbaa !5
  %25787 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25774, ptr noundef @.str.6, i32 noundef %25775, ptr noundef @.str.167, ptr noundef @.str.2, i32 noundef 1287, ptr noundef %25778, ptr noundef %25781, ptr noundef %25784, i32 noundef %25786) #11
  br label %25788

25788:                                            ; preds = %25771, %25754
  call void @llvm.lifetime.end.p0(i64 4, ptr %806) #11
  br label %25789

25789:                                            ; preds = %25788
  br label %25790

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

25791:                                            ; No predecessors!
  br label %25792

25792:                                            ; preds = %25791
  br label %25793

25793:                                            ; preds = %25792, %25731
  br label %25794

25794:                                            ; preds = %25793
  br label %25795

25795:                                            ; preds = %25794
  %25796 = load i64, ptr %798, align 8, !tbaa !20
  %25797 = add i64 %25796, 1
  store i64 %25797, ptr %798, align 8, !tbaa !20
  br label %25798

25798:                                            ; preds = %25795
  %25799 = load i32, ptr @test_count, align 4, !tbaa !5
  %25800 = add nsw i32 %25799, 1
  store i32 %25800, ptr @test_count, align 4, !tbaa !5
  %25801 = load ptr, ptr %789, align 8, !tbaa !9
  %25802 = getelementptr inbounds [163840 x i8], ptr %782, i64 0, i64 0
  %25803 = call i64 @s2n_send(ptr noundef %25801, ptr noundef %25802, i64 noundef 16384, ptr noundef %794)
  %25804 = icmp eq i64 %25803, 16384
  br i1 %25804, label %25858, label %25805

25805:                                            ; preds = %25798
  br label %25806

25806:                                            ; preds = %25805
  br label %25807

25807:                                            ; preds = %25806
  call void @llvm.lifetime.start.p0(i64 4, ptr %807) #11
  %25808 = call ptr @__errno_location() #12
  %25809 = load i32, ptr %25808, align 4, !tbaa !5
  store i32 %25809, ptr %807, align 4, !tbaa !5
  %25810 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25811 = call i32 @s2n_print_stacktrace(ptr noundef %25810)
  %25812 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25813 = trunc i8 %25812 to i1
  br i1 %25813, label %25814, label %25836

25814:                                            ; preds = %25807
  %25815 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25816 = call i32 @fileno(ptr noundef %25815) #11
  %25817 = call i32 @isatty(i32 noundef %25816) #11
  %25818 = icmp ne i32 %25817, 0
  br i1 %25818, label %25819, label %25836

25819:                                            ; preds = %25814
  %25820 = load i32, ptr %807, align 4, !tbaa !5
  %25821 = call ptr @__errno_location() #12
  store i32 %25820, ptr %25821, align 4, !tbaa !5
  %25822 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25823 = load i32, ptr @test_count, align 4, !tbaa !5
  %25824 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25825 = load i32, ptr %25824, align 4, !tbaa !5
  %25826 = call ptr @s2n_strerror(i32 noundef %25825, ptr noundef @.str.5)
  %25827 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25828 = load i32, ptr %25827, align 4, !tbaa !5
  %25829 = call ptr @s2n_strerror_debug(i32 noundef %25828, ptr noundef @.str.5)
  %25830 = call ptr @__errno_location() #12
  %25831 = load i32, ptr %25830, align 4, !tbaa !5
  %25832 = call ptr @strerror(i32 noundef %25831) #11
  %25833 = call ptr @__errno_location() #12
  %25834 = load i32, ptr %25833, align 4, !tbaa !5
  %25835 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25822, ptr noundef @.str.3, i32 noundef %25823, ptr noundef @.str.170, ptr noundef @.str.2, i32 noundef 1293, ptr noundef %25826, ptr noundef %25829, ptr noundef %25832, i32 noundef %25834) #11
  br label %25853

25836:                                            ; preds = %25814, %25807
  %25837 = load i32, ptr %807, align 4, !tbaa !5
  %25838 = call ptr @__errno_location() #12
  store i32 %25837, ptr %25838, align 4, !tbaa !5
  %25839 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25840 = load i32, ptr @test_count, align 4, !tbaa !5
  %25841 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25842 = load i32, ptr %25841, align 4, !tbaa !5
  %25843 = call ptr @s2n_strerror(i32 noundef %25842, ptr noundef @.str.5)
  %25844 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25845 = load i32, ptr %25844, align 4, !tbaa !5
  %25846 = call ptr @s2n_strerror_debug(i32 noundef %25845, ptr noundef @.str.5)
  %25847 = call ptr @__errno_location() #12
  %25848 = load i32, ptr %25847, align 4, !tbaa !5
  %25849 = call ptr @strerror(i32 noundef %25848) #11
  %25850 = call ptr @__errno_location() #12
  %25851 = load i32, ptr %25850, align 4, !tbaa !5
  %25852 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25839, ptr noundef @.str.6, i32 noundef %25840, ptr noundef @.str.170, ptr noundef @.str.2, i32 noundef 1293, ptr noundef %25843, ptr noundef %25846, ptr noundef %25849, i32 noundef %25851) #11
  br label %25853

25853:                                            ; preds = %25836, %25819
  call void @llvm.lifetime.end.p0(i64 4, ptr %807) #11
  br label %25854

25854:                                            ; preds = %25853
  br label %25855

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

25856:                                            ; No predecessors!
  br label %25857

25857:                                            ; preds = %25856
  br label %25858

25858:                                            ; preds = %25857, %25798
  br label %25859

25859:                                            ; preds = %25858
  br label %25860

25860:                                            ; preds = %25859
  br label %25861

25861:                                            ; preds = %25860
  %25862 = load i32, ptr @test_count, align 4, !tbaa !5
  %25863 = add nsw i32 %25862, 1
  store i32 %25863, ptr @test_count, align 4, !tbaa !5
  %25864 = load i64, ptr %798, align 8, !tbaa !20
  %25865 = call i32 @s2n_assert_seq_num_equal(ptr noundef byval(%struct.s2n_blob) align 8 %795, i64 noundef %25864)
  %25866 = getelementptr inbounds %struct.s2n_result, ptr %808, i32 0, i32 0
  store i32 %25865, ptr %25866, align 4
  %25867 = getelementptr inbounds %struct.s2n_result, ptr %808, i32 0, i32 0
  %25868 = load i32, ptr %25867, align 4
  %25869 = call zeroext i1 @s2n_result_is_ok(i32 %25868)
  br i1 %25869, label %25923, label %25870

25870:                                            ; preds = %25861
  br label %25871

25871:                                            ; preds = %25870
  br label %25872

25872:                                            ; preds = %25871
  call void @llvm.lifetime.start.p0(i64 4, ptr %809) #11
  %25873 = call ptr @__errno_location() #12
  %25874 = load i32, ptr %25873, align 4, !tbaa !5
  store i32 %25874, ptr %809, align 4, !tbaa !5
  %25875 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25876 = call i32 @s2n_print_stacktrace(ptr noundef %25875)
  %25877 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25878 = trunc i8 %25877 to i1
  br i1 %25878, label %25879, label %25901

25879:                                            ; preds = %25872
  %25880 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25881 = call i32 @fileno(ptr noundef %25880) #11
  %25882 = call i32 @isatty(i32 noundef %25881) #11
  %25883 = icmp ne i32 %25882, 0
  br i1 %25883, label %25884, label %25901

25884:                                            ; preds = %25879
  %25885 = load i32, ptr %809, align 4, !tbaa !5
  %25886 = call ptr @__errno_location() #12
  store i32 %25885, ptr %25886, align 4, !tbaa !5
  %25887 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25888 = load i32, ptr @test_count, align 4, !tbaa !5
  %25889 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25890 = load i32, ptr %25889, align 4, !tbaa !5
  %25891 = call ptr @s2n_strerror(i32 noundef %25890, ptr noundef @.str.5)
  %25892 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25893 = load i32, ptr %25892, align 4, !tbaa !5
  %25894 = call ptr @s2n_strerror_debug(i32 noundef %25893, ptr noundef @.str.5)
  %25895 = call ptr @__errno_location() #12
  %25896 = load i32, ptr %25895, align 4, !tbaa !5
  %25897 = call ptr @strerror(i32 noundef %25896) #11
  %25898 = call ptr @__errno_location() #12
  %25899 = load i32, ptr %25898, align 4, !tbaa !5
  %25900 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25887, ptr noundef @.str.3, i32 noundef %25888, ptr noundef @.str.167, ptr noundef @.str.2, i32 noundef 1294, ptr noundef %25891, ptr noundef %25894, ptr noundef %25897, i32 noundef %25899) #11
  br label %25918

25901:                                            ; preds = %25879, %25872
  %25902 = load i32, ptr %809, align 4, !tbaa !5
  %25903 = call ptr @__errno_location() #12
  store i32 %25902, ptr %25903, align 4, !tbaa !5
  %25904 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25905 = load i32, ptr @test_count, align 4, !tbaa !5
  %25906 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25907 = load i32, ptr %25906, align 4, !tbaa !5
  %25908 = call ptr @s2n_strerror(i32 noundef %25907, ptr noundef @.str.5)
  %25909 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25910 = load i32, ptr %25909, align 4, !tbaa !5
  %25911 = call ptr @s2n_strerror_debug(i32 noundef %25910, ptr noundef @.str.5)
  %25912 = call ptr @__errno_location() #12
  %25913 = load i32, ptr %25912, align 4, !tbaa !5
  %25914 = call ptr @strerror(i32 noundef %25913) #11
  %25915 = call ptr @__errno_location() #12
  %25916 = load i32, ptr %25915, align 4, !tbaa !5
  %25917 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25904, ptr noundef @.str.6, i32 noundef %25905, ptr noundef @.str.167, ptr noundef @.str.2, i32 noundef 1294, ptr noundef %25908, ptr noundef %25911, ptr noundef %25914, i32 noundef %25916) #11
  br label %25918

25918:                                            ; preds = %25901, %25884
  call void @llvm.lifetime.end.p0(i64 4, ptr %809) #11
  br label %25919

25919:                                            ; preds = %25918
  br label %25920

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

25921:                                            ; No predecessors!
  br label %25922

25922:                                            ; preds = %25921
  br label %25923

25923:                                            ; preds = %25922, %25861
  br label %25924

25924:                                            ; preds = %25923
  br label %25925

25925:                                            ; preds = %25924
  %25926 = load i64, ptr %798, align 8, !tbaa !20
  %25927 = add i64 %25926, 2
  store i64 %25927, ptr %798, align 8, !tbaa !20
  br label %25928

25928:                                            ; preds = %25925
  %25929 = load i32, ptr @test_count, align 4, !tbaa !5
  %25930 = add nsw i32 %25929, 1
  store i32 %25930, ptr @test_count, align 4, !tbaa !5
  %25931 = load ptr, ptr %789, align 8, !tbaa !9
  %25932 = getelementptr inbounds [163840 x i8], ptr %782, i64 0, i64 0
  %25933 = call i64 @s2n_send(ptr noundef %25931, ptr noundef %25932, i64 noundef 16385, ptr noundef %794)
  %25934 = icmp eq i64 %25933, 16385
  br i1 %25934, label %25988, label %25935

25935:                                            ; preds = %25928
  br label %25936

25936:                                            ; preds = %25935
  br label %25937

25937:                                            ; preds = %25936
  call void @llvm.lifetime.start.p0(i64 4, ptr %810) #11
  %25938 = call ptr @__errno_location() #12
  %25939 = load i32, ptr %25938, align 4, !tbaa !5
  store i32 %25939, ptr %810, align 4, !tbaa !5
  %25940 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25941 = call i32 @s2n_print_stacktrace(ptr noundef %25940)
  %25942 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25943 = trunc i8 %25942 to i1
  br i1 %25943, label %25944, label %25966

25944:                                            ; preds = %25937
  %25945 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25946 = call i32 @fileno(ptr noundef %25945) #11
  %25947 = call i32 @isatty(i32 noundef %25946) #11
  %25948 = icmp ne i32 %25947, 0
  br i1 %25948, label %25949, label %25966

25949:                                            ; preds = %25944
  %25950 = load i32, ptr %810, align 4, !tbaa !5
  %25951 = call ptr @__errno_location() #12
  store i32 %25950, ptr %25951, align 4, !tbaa !5
  %25952 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25953 = load i32, ptr @test_count, align 4, !tbaa !5
  %25954 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25955 = load i32, ptr %25954, align 4, !tbaa !5
  %25956 = call ptr @s2n_strerror(i32 noundef %25955, ptr noundef @.str.5)
  %25957 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25958 = load i32, ptr %25957, align 4, !tbaa !5
  %25959 = call ptr @s2n_strerror_debug(i32 noundef %25958, ptr noundef @.str.5)
  %25960 = call ptr @__errno_location() #12
  %25961 = load i32, ptr %25960, align 4, !tbaa !5
  %25962 = call ptr @strerror(i32 noundef %25961) #11
  %25963 = call ptr @__errno_location() #12
  %25964 = load i32, ptr %25963, align 4, !tbaa !5
  %25965 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25952, ptr noundef @.str.3, i32 noundef %25953, ptr noundef @.str.171, ptr noundef @.str.2, i32 noundef 1300, ptr noundef %25956, ptr noundef %25959, ptr noundef %25962, i32 noundef %25964) #11
  br label %25983

25966:                                            ; preds = %25944, %25937
  %25967 = load i32, ptr %810, align 4, !tbaa !5
  %25968 = call ptr @__errno_location() #12
  store i32 %25967, ptr %25968, align 4, !tbaa !5
  %25969 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25970 = load i32, ptr @test_count, align 4, !tbaa !5
  %25971 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25972 = load i32, ptr %25971, align 4, !tbaa !5
  %25973 = call ptr @s2n_strerror(i32 noundef %25972, ptr noundef @.str.5)
  %25974 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25975 = load i32, ptr %25974, align 4, !tbaa !5
  %25976 = call ptr @s2n_strerror_debug(i32 noundef %25975, ptr noundef @.str.5)
  %25977 = call ptr @__errno_location() #12
  %25978 = load i32, ptr %25977, align 4, !tbaa !5
  %25979 = call ptr @strerror(i32 noundef %25978) #11
  %25980 = call ptr @__errno_location() #12
  %25981 = load i32, ptr %25980, align 4, !tbaa !5
  %25982 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25969, ptr noundef @.str.6, i32 noundef %25970, ptr noundef @.str.171, ptr noundef @.str.2, i32 noundef 1300, ptr noundef %25973, ptr noundef %25976, ptr noundef %25979, i32 noundef %25981) #11
  br label %25983

25983:                                            ; preds = %25966, %25949
  call void @llvm.lifetime.end.p0(i64 4, ptr %810) #11
  br label %25984

25984:                                            ; preds = %25983
  br label %25985

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

25986:                                            ; No predecessors!
  br label %25987

25987:                                            ; preds = %25986
  br label %25988

25988:                                            ; preds = %25987, %25928
  br label %25989

25989:                                            ; preds = %25988
  br label %25990

25990:                                            ; preds = %25989
  br label %25991

25991:                                            ; preds = %25990
  %25992 = load i32, ptr @test_count, align 4, !tbaa !5
  %25993 = add nsw i32 %25992, 1
  store i32 %25993, ptr @test_count, align 4, !tbaa !5
  %25994 = load i64, ptr %798, align 8, !tbaa !20
  %25995 = call i32 @s2n_assert_seq_num_equal(ptr noundef byval(%struct.s2n_blob) align 8 %795, i64 noundef %25994)
  %25996 = getelementptr inbounds %struct.s2n_result, ptr %811, i32 0, i32 0
  store i32 %25995, ptr %25996, align 4
  %25997 = getelementptr inbounds %struct.s2n_result, ptr %811, i32 0, i32 0
  %25998 = load i32, ptr %25997, align 4
  %25999 = call zeroext i1 @s2n_result_is_ok(i32 %25998)
  br i1 %25999, label %26053, label %26000

26000:                                            ; preds = %25991
  br label %26001

26001:                                            ; preds = %26000
  br label %26002

26002:                                            ; preds = %26001
  call void @llvm.lifetime.start.p0(i64 4, ptr %812) #11
  %26003 = call ptr @__errno_location() #12
  %26004 = load i32, ptr %26003, align 4, !tbaa !5
  store i32 %26004, ptr %812, align 4, !tbaa !5
  %26005 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26006 = call i32 @s2n_print_stacktrace(ptr noundef %26005)
  %26007 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26008 = trunc i8 %26007 to i1
  br i1 %26008, label %26009, label %26031

26009:                                            ; preds = %26002
  %26010 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26011 = call i32 @fileno(ptr noundef %26010) #11
  %26012 = call i32 @isatty(i32 noundef %26011) #11
  %26013 = icmp ne i32 %26012, 0
  br i1 %26013, label %26014, label %26031

26014:                                            ; preds = %26009
  %26015 = load i32, ptr %812, align 4, !tbaa !5
  %26016 = call ptr @__errno_location() #12
  store i32 %26015, ptr %26016, align 4, !tbaa !5
  %26017 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26018 = load i32, ptr @test_count, align 4, !tbaa !5
  %26019 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26020 = load i32, ptr %26019, align 4, !tbaa !5
  %26021 = call ptr @s2n_strerror(i32 noundef %26020, ptr noundef @.str.5)
  %26022 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26023 = load i32, ptr %26022, align 4, !tbaa !5
  %26024 = call ptr @s2n_strerror_debug(i32 noundef %26023, ptr noundef @.str.5)
  %26025 = call ptr @__errno_location() #12
  %26026 = load i32, ptr %26025, align 4, !tbaa !5
  %26027 = call ptr @strerror(i32 noundef %26026) #11
  %26028 = call ptr @__errno_location() #12
  %26029 = load i32, ptr %26028, align 4, !tbaa !5
  %26030 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26017, ptr noundef @.str.3, i32 noundef %26018, ptr noundef @.str.167, ptr noundef @.str.2, i32 noundef 1301, ptr noundef %26021, ptr noundef %26024, ptr noundef %26027, i32 noundef %26029) #11
  br label %26048

26031:                                            ; preds = %26009, %26002
  %26032 = load i32, ptr %812, align 4, !tbaa !5
  %26033 = call ptr @__errno_location() #12
  store i32 %26032, ptr %26033, align 4, !tbaa !5
  %26034 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26035 = load i32, ptr @test_count, align 4, !tbaa !5
  %26036 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26037 = load i32, ptr %26036, align 4, !tbaa !5
  %26038 = call ptr @s2n_strerror(i32 noundef %26037, ptr noundef @.str.5)
  %26039 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26040 = load i32, ptr %26039, align 4, !tbaa !5
  %26041 = call ptr @s2n_strerror_debug(i32 noundef %26040, ptr noundef @.str.5)
  %26042 = call ptr @__errno_location() #12
  %26043 = load i32, ptr %26042, align 4, !tbaa !5
  %26044 = call ptr @strerror(i32 noundef %26043) #11
  %26045 = call ptr @__errno_location() #12
  %26046 = load i32, ptr %26045, align 4, !tbaa !5
  %26047 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26034, ptr noundef @.str.6, i32 noundef %26035, ptr noundef @.str.167, ptr noundef @.str.2, i32 noundef 1301, ptr noundef %26038, ptr noundef %26041, ptr noundef %26044, i32 noundef %26046) #11
  br label %26048

26048:                                            ; preds = %26031, %26014
  call void @llvm.lifetime.end.p0(i64 4, ptr %812) #11
  br label %26049

26049:                                            ; preds = %26048
  br label %26050

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

26051:                                            ; No predecessors!
  br label %26052

26052:                                            ; preds = %26051
  br label %26053

26053:                                            ; preds = %26052, %25991
  br label %26054

26054:                                            ; preds = %26053
  br label %26055

26055:                                            ; preds = %26054
  br label %26056

26056:                                            ; preds = %26055
  br label %26057

26057:                                            ; preds = %26056
  br label %26058

26058:                                            ; preds = %26057
  %26059 = load i32, ptr @test_count, align 4, !tbaa !5
  %26060 = add nsw i32 %26059, 1
  store i32 %26060, ptr @test_count, align 4, !tbaa !5
  %26061 = load ptr, ptr %789, align 8, !tbaa !9
  %26062 = getelementptr inbounds [163840 x i8], ptr %782, i64 0, i64 0
  %26063 = call i64 @s2n_send(ptr noundef %26061, ptr noundef %26062, i64 noundef 163840, ptr noundef %794)
  %26064 = icmp eq i64 %26063, -1
  br i1 %26064, label %26118, label %26065

26065:                                            ; preds = %26058
  br label %26066

26066:                                            ; preds = %26065
  br label %26067

26067:                                            ; preds = %26066
  call void @llvm.lifetime.start.p0(i64 4, ptr %813) #11
  %26068 = call ptr @__errno_location() #12
  %26069 = load i32, ptr %26068, align 4, !tbaa !5
  store i32 %26069, ptr %813, align 4, !tbaa !5
  %26070 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26071 = call i32 @s2n_print_stacktrace(ptr noundef %26070)
  %26072 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26073 = trunc i8 %26072 to i1
  br i1 %26073, label %26074, label %26096

26074:                                            ; preds = %26067
  %26075 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26076 = call i32 @fileno(ptr noundef %26075) #11
  %26077 = call i32 @isatty(i32 noundef %26076) #11
  %26078 = icmp ne i32 %26077, 0
  br i1 %26078, label %26079, label %26096

26079:                                            ; preds = %26074
  %26080 = load i32, ptr %813, align 4, !tbaa !5
  %26081 = call ptr @__errno_location() #12
  store i32 %26080, ptr %26081, align 4, !tbaa !5
  %26082 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26083 = load i32, ptr @test_count, align 4, !tbaa !5
  %26084 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26085 = load i32, ptr %26084, align 4, !tbaa !5
  %26086 = call ptr @s2n_strerror(i32 noundef %26085, ptr noundef @.str.5)
  %26087 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26088 = load i32, ptr %26087, align 4, !tbaa !5
  %26089 = call ptr @s2n_strerror_debug(i32 noundef %26088, ptr noundef @.str.5)
  %26090 = call ptr @__errno_location() #12
  %26091 = load i32, ptr %26090, align 4, !tbaa !5
  %26092 = call ptr @strerror(i32 noundef %26091) #11
  %26093 = call ptr @__errno_location() #12
  %26094 = load i32, ptr %26093, align 4, !tbaa !5
  %26095 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26082, ptr noundef @.str.3, i32 noundef %26083, ptr noundef @.str.172, ptr noundef @.str.2, i32 noundef 1306, ptr noundef %26086, ptr noundef %26089, ptr noundef %26092, i32 noundef %26094) #11
  br label %26113

26096:                                            ; preds = %26074, %26067
  %26097 = load i32, ptr %813, align 4, !tbaa !5
  %26098 = call ptr @__errno_location() #12
  store i32 %26097, ptr %26098, align 4, !tbaa !5
  %26099 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26100 = load i32, ptr @test_count, align 4, !tbaa !5
  %26101 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26102 = load i32, ptr %26101, align 4, !tbaa !5
  %26103 = call ptr @s2n_strerror(i32 noundef %26102, ptr noundef @.str.5)
  %26104 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26105 = load i32, ptr %26104, align 4, !tbaa !5
  %26106 = call ptr @s2n_strerror_debug(i32 noundef %26105, ptr noundef @.str.5)
  %26107 = call ptr @__errno_location() #12
  %26108 = load i32, ptr %26107, align 4, !tbaa !5
  %26109 = call ptr @strerror(i32 noundef %26108) #11
  %26110 = call ptr @__errno_location() #12
  %26111 = load i32, ptr %26110, align 4, !tbaa !5
  %26112 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26099, ptr noundef @.str.6, i32 noundef %26100, ptr noundef @.str.172, ptr noundef @.str.2, i32 noundef 1306, ptr noundef %26103, ptr noundef %26106, ptr noundef %26109, i32 noundef %26111) #11
  br label %26113

26113:                                            ; preds = %26096, %26079
  call void @llvm.lifetime.end.p0(i64 4, ptr %813) #11
  br label %26114

26114:                                            ; preds = %26113
  br label %26115

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

26116:                                            ; No predecessors!
  br label %26117

26117:                                            ; preds = %26116
  br label %26118

26118:                                            ; preds = %26117, %26058
  br label %26119

26119:                                            ; preds = %26118
  br label %26120

26120:                                            ; preds = %26119
  br label %26121

26121:                                            ; preds = %26120
  %26122 = load i32, ptr @test_count, align 4, !tbaa !5
  %26123 = add nsw i32 %26122, 1
  store i32 %26123, ptr @test_count, align 4, !tbaa !5
  %26124 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26125 = load i32, ptr %26124, align 4, !tbaa !5
  %26126 = icmp eq i32 %26125, 469762132
  br i1 %26126, label %26180, label %26127

26127:                                            ; preds = %26121
  br label %26128

26128:                                            ; preds = %26127
  br label %26129

26129:                                            ; preds = %26128
  call void @llvm.lifetime.start.p0(i64 4, ptr %814) #11
  %26130 = call ptr @__errno_location() #12
  %26131 = load i32, ptr %26130, align 4, !tbaa !5
  store i32 %26131, ptr %814, align 4, !tbaa !5
  %26132 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26133 = call i32 @s2n_print_stacktrace(ptr noundef %26132)
  %26134 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26135 = trunc i8 %26134 to i1
  br i1 %26135, label %26136, label %26158

26136:                                            ; preds = %26129
  %26137 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26138 = call i32 @fileno(ptr noundef %26137) #11
  %26139 = call i32 @isatty(i32 noundef %26138) #11
  %26140 = icmp ne i32 %26139, 0
  br i1 %26140, label %26141, label %26158

26141:                                            ; preds = %26136
  %26142 = load i32, ptr %814, align 4, !tbaa !5
  %26143 = call ptr @__errno_location() #12
  store i32 %26142, ptr %26143, align 4, !tbaa !5
  %26144 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26145 = load i32, ptr @test_count, align 4, !tbaa !5
  %26146 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26147 = load i32, ptr %26146, align 4, !tbaa !5
  %26148 = call ptr @s2n_strerror(i32 noundef %26147, ptr noundef @.str.5)
  %26149 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26150 = load i32, ptr %26149, align 4, !tbaa !5
  %26151 = call ptr @s2n_strerror_debug(i32 noundef %26150, ptr noundef @.str.5)
  %26152 = call ptr @__errno_location() #12
  %26153 = load i32, ptr %26152, align 4, !tbaa !5
  %26154 = call ptr @strerror(i32 noundef %26153) #11
  %26155 = call ptr @__errno_location() #12
  %26156 = load i32, ptr %26155, align 4, !tbaa !5
  %26157 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26144, ptr noundef @.str.3, i32 noundef %26145, ptr noundef @.str.173, ptr noundef @.str.2, i32 noundef 1306, ptr noundef %26148, ptr noundef %26151, ptr noundef %26154, i32 noundef %26156) #11
  br label %26175

26158:                                            ; preds = %26136, %26129
  %26159 = load i32, ptr %814, align 4, !tbaa !5
  %26160 = call ptr @__errno_location() #12
  store i32 %26159, ptr %26160, align 4, !tbaa !5
  %26161 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26162 = load i32, ptr @test_count, align 4, !tbaa !5
  %26163 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26164 = load i32, ptr %26163, align 4, !tbaa !5
  %26165 = call ptr @s2n_strerror(i32 noundef %26164, ptr noundef @.str.5)
  %26166 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26167 = load i32, ptr %26166, align 4, !tbaa !5
  %26168 = call ptr @s2n_strerror_debug(i32 noundef %26167, ptr noundef @.str.5)
  %26169 = call ptr @__errno_location() #12
  %26170 = load i32, ptr %26169, align 4, !tbaa !5
  %26171 = call ptr @strerror(i32 noundef %26170) #11
  %26172 = call ptr @__errno_location() #12
  %26173 = load i32, ptr %26172, align 4, !tbaa !5
  %26174 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26161, ptr noundef @.str.6, i32 noundef %26162, ptr noundef @.str.173, ptr noundef @.str.2, i32 noundef 1306, ptr noundef %26165, ptr noundef %26168, ptr noundef %26171, i32 noundef %26173) #11
  br label %26175

26175:                                            ; preds = %26158, %26141
  call void @llvm.lifetime.end.p0(i64 4, ptr %814) #11
  br label %26176

26176:                                            ; preds = %26175
  br label %26177

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

26178:                                            ; No predecessors!
  br label %26179

26179:                                            ; preds = %26178
  br label %26180

26180:                                            ; preds = %26179, %26121
  br label %26181

26181:                                            ; preds = %26180
  br label %26182

26182:                                            ; preds = %26181
  br label %26183

26183:                                            ; preds = %26182
  %26184 = load i32, ptr @test_count, align 4, !tbaa !5
  %26185 = add nsw i32 %26184, 1
  store i32 %26185, ptr @test_count, align 4, !tbaa !5
  %26186 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26187 = load i32, ptr %26186, align 4, !tbaa !5
  %26188 = call ptr @s2n_strerror_debug(i32 noundef %26187, ptr noundef @.str.5)
  %26189 = icmp eq ptr %26188, null
  br i1 %26189, label %26190, label %26243

26190:                                            ; preds = %26183
  br label %26191

26191:                                            ; preds = %26190
  br label %26192

26192:                                            ; preds = %26191
  call void @llvm.lifetime.start.p0(i64 4, ptr %815) #11
  %26193 = call ptr @__errno_location() #12
  %26194 = load i32, ptr %26193, align 4, !tbaa !5
  store i32 %26194, ptr %815, align 4, !tbaa !5
  %26195 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26196 = call i32 @s2n_print_stacktrace(ptr noundef %26195)
  %26197 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26198 = trunc i8 %26197 to i1
  br i1 %26198, label %26199, label %26221

26199:                                            ; preds = %26192
  %26200 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26201 = call i32 @fileno(ptr noundef %26200) #11
  %26202 = call i32 @isatty(i32 noundef %26201) #11
  %26203 = icmp ne i32 %26202, 0
  br i1 %26203, label %26204, label %26221

26204:                                            ; preds = %26199
  %26205 = load i32, ptr %815, align 4, !tbaa !5
  %26206 = call ptr @__errno_location() #12
  store i32 %26205, ptr %26206, align 4, !tbaa !5
  %26207 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26208 = load i32, ptr @test_count, align 4, !tbaa !5
  %26209 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26210 = load i32, ptr %26209, align 4, !tbaa !5
  %26211 = call ptr @s2n_strerror(i32 noundef %26210, ptr noundef @.str.5)
  %26212 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26213 = load i32, ptr %26212, align 4, !tbaa !5
  %26214 = call ptr @s2n_strerror_debug(i32 noundef %26213, ptr noundef @.str.5)
  %26215 = call ptr @__errno_location() #12
  %26216 = load i32, ptr %26215, align 4, !tbaa !5
  %26217 = call ptr @strerror(i32 noundef %26216) #11
  %26218 = call ptr @__errno_location() #12
  %26219 = load i32, ptr %26218, align 4, !tbaa !5
  %26220 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26207, ptr noundef @.str.3, i32 noundef %26208, ptr noundef @.str.13, ptr noundef @.str.2, i32 noundef 1306, ptr noundef %26211, ptr noundef %26214, ptr noundef %26217, i32 noundef %26219) #11
  br label %26238

26221:                                            ; preds = %26199, %26192
  %26222 = load i32, ptr %815, align 4, !tbaa !5
  %26223 = call ptr @__errno_location() #12
  store i32 %26222, ptr %26223, align 4, !tbaa !5
  %26224 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26225 = load i32, ptr @test_count, align 4, !tbaa !5
  %26226 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26227 = load i32, ptr %26226, align 4, !tbaa !5
  %26228 = call ptr @s2n_strerror(i32 noundef %26227, ptr noundef @.str.5)
  %26229 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26230 = load i32, ptr %26229, align 4, !tbaa !5
  %26231 = call ptr @s2n_strerror_debug(i32 noundef %26230, ptr noundef @.str.5)
  %26232 = call ptr @__errno_location() #12
  %26233 = load i32, ptr %26232, align 4, !tbaa !5
  %26234 = call ptr @strerror(i32 noundef %26233) #11
  %26235 = call ptr @__errno_location() #12
  %26236 = load i32, ptr %26235, align 4, !tbaa !5
  %26237 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26224, ptr noundef @.str.6, i32 noundef %26225, ptr noundef @.str.13, ptr noundef @.str.2, i32 noundef 1306, ptr noundef %26228, ptr noundef %26231, ptr noundef %26234, i32 noundef %26236) #11
  br label %26238

26238:                                            ; preds = %26221, %26204
  call void @llvm.lifetime.end.p0(i64 4, ptr %815) #11
  br label %26239

26239:                                            ; preds = %26238
  br label %26240

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

26241:                                            ; No predecessors!
  br label %26242

26242:                                            ; preds = %26241
  br label %26243

26243:                                            ; preds = %26242, %26183
  br label %26244

26244:                                            ; preds = %26243
  br label %26245

26245:                                            ; preds = %26244
  br label %26246

26246:                                            ; preds = %26245
  br label %26247

26247:                                            ; preds = %26246
  br label %26248

26248:                                            ; preds = %26247
  %26249 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %26249, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %26250 = call ptr @__errno_location() #12
  store i32 0, ptr %26250, align 4, !tbaa !5
  br label %26251

26251:                                            ; preds = %26248
  br label %26252

26252:                                            ; preds = %26251
  br label %26253

26253:                                            ; preds = %26252
  br label %26254

26254:                                            ; preds = %26253
  br label %26255

26255:                                            ; preds = %26254
  %26256 = load i32, ptr @test_count, align 4, !tbaa !5
  %26257 = add nsw i32 %26256, 1
  store i32 %26257, ptr @test_count, align 4, !tbaa !5
  %26258 = load i64, ptr %798, align 8, !tbaa !20
  %26259 = call i32 @s2n_assert_seq_num_equal(ptr noundef byval(%struct.s2n_blob) align 8 %795, i64 noundef %26258)
  %26260 = getelementptr inbounds %struct.s2n_result, ptr %816, i32 0, i32 0
  store i32 %26259, ptr %26260, align 4
  %26261 = getelementptr inbounds %struct.s2n_result, ptr %816, i32 0, i32 0
  %26262 = load i32, ptr %26261, align 4
  %26263 = call zeroext i1 @s2n_result_is_ok(i32 %26262)
  br i1 %26263, label %26317, label %26264

26264:                                            ; preds = %26255
  br label %26265

26265:                                            ; preds = %26264
  br label %26266

26266:                                            ; preds = %26265
  call void @llvm.lifetime.start.p0(i64 4, ptr %817) #11
  %26267 = call ptr @__errno_location() #12
  %26268 = load i32, ptr %26267, align 4, !tbaa !5
  store i32 %26268, ptr %817, align 4, !tbaa !5
  %26269 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26270 = call i32 @s2n_print_stacktrace(ptr noundef %26269)
  %26271 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26272 = trunc i8 %26271 to i1
  br i1 %26272, label %26273, label %26295

26273:                                            ; preds = %26266
  %26274 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26275 = call i32 @fileno(ptr noundef %26274) #11
  %26276 = call i32 @isatty(i32 noundef %26275) #11
  %26277 = icmp ne i32 %26276, 0
  br i1 %26277, label %26278, label %26295

26278:                                            ; preds = %26273
  %26279 = load i32, ptr %817, align 4, !tbaa !5
  %26280 = call ptr @__errno_location() #12
  store i32 %26279, ptr %26280, align 4, !tbaa !5
  %26281 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26282 = load i32, ptr @test_count, align 4, !tbaa !5
  %26283 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26284 = load i32, ptr %26283, align 4, !tbaa !5
  %26285 = call ptr @s2n_strerror(i32 noundef %26284, ptr noundef @.str.5)
  %26286 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26287 = load i32, ptr %26286, align 4, !tbaa !5
  %26288 = call ptr @s2n_strerror_debug(i32 noundef %26287, ptr noundef @.str.5)
  %26289 = call ptr @__errno_location() #12
  %26290 = load i32, ptr %26289, align 4, !tbaa !5
  %26291 = call ptr @strerror(i32 noundef %26290) #11
  %26292 = call ptr @__errno_location() #12
  %26293 = load i32, ptr %26292, align 4, !tbaa !5
  %26294 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26281, ptr noundef @.str.3, i32 noundef %26282, ptr noundef @.str.167, ptr noundef @.str.2, i32 noundef 1307, ptr noundef %26285, ptr noundef %26288, ptr noundef %26291, i32 noundef %26293) #11
  br label %26312

26295:                                            ; preds = %26273, %26266
  %26296 = load i32, ptr %817, align 4, !tbaa !5
  %26297 = call ptr @__errno_location() #12
  store i32 %26296, ptr %26297, align 4, !tbaa !5
  %26298 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26299 = load i32, ptr @test_count, align 4, !tbaa !5
  %26300 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26301 = load i32, ptr %26300, align 4, !tbaa !5
  %26302 = call ptr @s2n_strerror(i32 noundef %26301, ptr noundef @.str.5)
  %26303 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26304 = load i32, ptr %26303, align 4, !tbaa !5
  %26305 = call ptr @s2n_strerror_debug(i32 noundef %26304, ptr noundef @.str.5)
  %26306 = call ptr @__errno_location() #12
  %26307 = load i32, ptr %26306, align 4, !tbaa !5
  %26308 = call ptr @strerror(i32 noundef %26307) #11
  %26309 = call ptr @__errno_location() #12
  %26310 = load i32, ptr %26309, align 4, !tbaa !5
  %26311 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26298, ptr noundef @.str.6, i32 noundef %26299, ptr noundef @.str.167, ptr noundef @.str.2, i32 noundef 1307, ptr noundef %26302, ptr noundef %26305, ptr noundef %26308, i32 noundef %26310) #11
  br label %26312

26312:                                            ; preds = %26295, %26278
  call void @llvm.lifetime.end.p0(i64 4, ptr %817) #11
  br label %26313

26313:                                            ; preds = %26312
  br label %26314

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

26315:                                            ; No predecessors!
  br label %26316

26316:                                            ; preds = %26315
  br label %26317

26317:                                            ; preds = %26316, %26255
  br label %26318

26318:                                            ; preds = %26317
  br label %26319

26319:                                            ; preds = %26318
  call void @llvm.lifetime.end.p0(i64 8, ptr %798) #11
  %26320 = call i32 @s2n_blob_zero(ptr noundef %795)
  call void @llvm.lifetime.end.p0(i64 24, ptr %795) #11
  call void @llvm.lifetime.start.p0(i64 24, ptr %818) #11
  call void @llvm.memset.p0.i64(ptr align 8 %818, i8 0, i64 24, i1 false)
  br label %26321

26321:                                            ; preds = %26319
  %26322 = load i32, ptr @test_count, align 4, !tbaa !5
  %26323 = add nsw i32 %26322, 1
  store i32 %26323, ptr @test_count, align 4, !tbaa !5
  %26324 = load ptr, ptr %789, align 8, !tbaa !9
  %26325 = load ptr, ptr %789, align 8, !tbaa !9
  %26326 = getelementptr inbounds %struct.s2n_connection, ptr %26325, i32 0, i32 13
  %26327 = load i32, ptr %26326, align 4, !tbaa !99
  %26328 = call i32 @s2n_connection_get_sequence_number(ptr noundef %26324, i32 noundef %26327, ptr noundef %818)
  %26329 = getelementptr inbounds %struct.s2n_result, ptr %819, i32 0, i32 0
  store i32 %26328, ptr %26329, align 4
  %26330 = getelementptr inbounds %struct.s2n_result, ptr %819, i32 0, i32 0
  %26331 = load i32, ptr %26330, align 4
  %26332 = call zeroext i1 @s2n_result_is_ok(i32 %26331)
  br i1 %26332, label %26386, label %26333

26333:                                            ; preds = %26321
  br label %26334

26334:                                            ; preds = %26333
  br label %26335

26335:                                            ; preds = %26334
  call void @llvm.lifetime.start.p0(i64 4, ptr %820) #11
  %26336 = call ptr @__errno_location() #12
  %26337 = load i32, ptr %26336, align 4, !tbaa !5
  store i32 %26337, ptr %820, align 4, !tbaa !5
  %26338 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26339 = call i32 @s2n_print_stacktrace(ptr noundef %26338)
  %26340 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26341 = trunc i8 %26340 to i1
  br i1 %26341, label %26342, label %26364

26342:                                            ; preds = %26335
  %26343 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26344 = call i32 @fileno(ptr noundef %26343) #11
  %26345 = call i32 @isatty(i32 noundef %26344) #11
  %26346 = icmp ne i32 %26345, 0
  br i1 %26346, label %26347, label %26364

26347:                                            ; preds = %26342
  %26348 = load i32, ptr %820, align 4, !tbaa !5
  %26349 = call ptr @__errno_location() #12
  store i32 %26348, ptr %26349, align 4, !tbaa !5
  %26350 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26351 = load i32, ptr @test_count, align 4, !tbaa !5
  %26352 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26353 = load i32, ptr %26352, align 4, !tbaa !5
  %26354 = call ptr @s2n_strerror(i32 noundef %26353, ptr noundef @.str.5)
  %26355 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26356 = load i32, ptr %26355, align 4, !tbaa !5
  %26357 = call ptr @s2n_strerror_debug(i32 noundef %26356, ptr noundef @.str.5)
  %26358 = call ptr @__errno_location() #12
  %26359 = load i32, ptr %26358, align 4, !tbaa !5
  %26360 = call ptr @strerror(i32 noundef %26359) #11
  %26361 = call ptr @__errno_location() #12
  %26362 = load i32, ptr %26361, align 4, !tbaa !5
  %26363 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26350, ptr noundef @.str.3, i32 noundef %26351, ptr noundef @.str.166, ptr noundef @.str.2, i32 noundef 1313, ptr noundef %26354, ptr noundef %26357, ptr noundef %26360, i32 noundef %26362) #11
  br label %26381

26364:                                            ; preds = %26342, %26335
  %26365 = load i32, ptr %820, align 4, !tbaa !5
  %26366 = call ptr @__errno_location() #12
  store i32 %26365, ptr %26366, align 4, !tbaa !5
  %26367 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26368 = load i32, ptr @test_count, align 4, !tbaa !5
  %26369 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26370 = load i32, ptr %26369, align 4, !tbaa !5
  %26371 = call ptr @s2n_strerror(i32 noundef %26370, ptr noundef @.str.5)
  %26372 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26373 = load i32, ptr %26372, align 4, !tbaa !5
  %26374 = call ptr @s2n_strerror_debug(i32 noundef %26373, ptr noundef @.str.5)
  %26375 = call ptr @__errno_location() #12
  %26376 = load i32, ptr %26375, align 4, !tbaa !5
  %26377 = call ptr @strerror(i32 noundef %26376) #11
  %26378 = call ptr @__errno_location() #12
  %26379 = load i32, ptr %26378, align 4, !tbaa !5
  %26380 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26367, ptr noundef @.str.6, i32 noundef %26368, ptr noundef @.str.166, ptr noundef @.str.2, i32 noundef 1313, ptr noundef %26371, ptr noundef %26374, ptr noundef %26377, i32 noundef %26379) #11
  br label %26381

26381:                                            ; preds = %26364, %26347
  call void @llvm.lifetime.end.p0(i64 4, ptr %820) #11
  br label %26382

26382:                                            ; preds = %26381
  br label %26383

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

26384:                                            ; No predecessors!
  br label %26385

26385:                                            ; preds = %26384
  br label %26386

26386:                                            ; preds = %26385, %26321
  br label %26387

26387:                                            ; preds = %26386
  br label %26388

26388:                                            ; preds = %26387
  call void @llvm.lifetime.start.p0(i64 8, ptr %821) #11
  store i64 0, ptr %821, align 8, !tbaa !20
  br label %26389

26389:                                            ; preds = %26457, %26388
  %26390 = load i64, ptr %821, align 8, !tbaa !20
  %26391 = icmp ult i64 %26390, 10
  br i1 %26391, label %26393, label %26392

26392:                                            ; preds = %26389
  store i32 2670, ptr %788, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %821) #11
  br label %26460

26393:                                            ; preds = %26389
  br label %26394

26394:                                            ; preds = %26393
  %26395 = load i32, ptr @test_count, align 4, !tbaa !5
  %26396 = add nsw i32 %26395, 1
  store i32 %26396, ptr @test_count, align 4, !tbaa !5
  %26397 = load ptr, ptr %789, align 8, !tbaa !9
  %26398 = getelementptr inbounds [163840 x i8], ptr %782, i64 0, i64 0
  %26399 = call i64 @s2n_send(ptr noundef %26397, ptr noundef %26398, i64 noundef 1, ptr noundef %794)
  %26400 = icmp eq i64 %26399, 1
  br i1 %26400, label %26454, label %26401

26401:                                            ; preds = %26394
  br label %26402

26402:                                            ; preds = %26401
  br label %26403

26403:                                            ; preds = %26402
  call void @llvm.lifetime.start.p0(i64 4, ptr %822) #11
  %26404 = call ptr @__errno_location() #12
  %26405 = load i32, ptr %26404, align 4, !tbaa !5
  store i32 %26405, ptr %822, align 4, !tbaa !5
  %26406 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26407 = call i32 @s2n_print_stacktrace(ptr noundef %26406)
  %26408 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26409 = trunc i8 %26408 to i1
  br i1 %26409, label %26410, label %26432

26410:                                            ; preds = %26403
  %26411 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26412 = call i32 @fileno(ptr noundef %26411) #11
  %26413 = call i32 @isatty(i32 noundef %26412) #11
  %26414 = icmp ne i32 %26413, 0
  br i1 %26414, label %26415, label %26432

26415:                                            ; preds = %26410
  %26416 = load i32, ptr %822, align 4, !tbaa !5
  %26417 = call ptr @__errno_location() #12
  store i32 %26416, ptr %26417, align 4, !tbaa !5
  %26418 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26419 = load i32, ptr @test_count, align 4, !tbaa !5
  %26420 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26421 = load i32, ptr %26420, align 4, !tbaa !5
  %26422 = call ptr @s2n_strerror(i32 noundef %26421, ptr noundef @.str.5)
  %26423 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26424 = load i32, ptr %26423, align 4, !tbaa !5
  %26425 = call ptr @s2n_strerror_debug(i32 noundef %26424, ptr noundef @.str.5)
  %26426 = call ptr @__errno_location() #12
  %26427 = load i32, ptr %26426, align 4, !tbaa !5
  %26428 = call ptr @strerror(i32 noundef %26427) #11
  %26429 = call ptr @__errno_location() #12
  %26430 = load i32, ptr %26429, align 4, !tbaa !5
  %26431 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26418, ptr noundef @.str.3, i32 noundef %26419, ptr noundef @.str.169, ptr noundef @.str.2, i32 noundef 1317, ptr noundef %26422, ptr noundef %26425, ptr noundef %26428, i32 noundef %26430) #11
  br label %26449

26432:                                            ; preds = %26410, %26403
  %26433 = load i32, ptr %822, align 4, !tbaa !5
  %26434 = call ptr @__errno_location() #12
  store i32 %26433, ptr %26434, align 4, !tbaa !5
  %26435 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26436 = load i32, ptr @test_count, align 4, !tbaa !5
  %26437 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26438 = load i32, ptr %26437, align 4, !tbaa !5
  %26439 = call ptr @s2n_strerror(i32 noundef %26438, ptr noundef @.str.5)
  %26440 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26441 = load i32, ptr %26440, align 4, !tbaa !5
  %26442 = call ptr @s2n_strerror_debug(i32 noundef %26441, ptr noundef @.str.5)
  %26443 = call ptr @__errno_location() #12
  %26444 = load i32, ptr %26443, align 4, !tbaa !5
  %26445 = call ptr @strerror(i32 noundef %26444) #11
  %26446 = call ptr @__errno_location() #12
  %26447 = load i32, ptr %26446, align 4, !tbaa !5
  %26448 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26435, ptr noundef @.str.6, i32 noundef %26436, ptr noundef @.str.169, ptr noundef @.str.2, i32 noundef 1317, ptr noundef %26439, ptr noundef %26442, ptr noundef %26445, i32 noundef %26447) #11
  br label %26449

26449:                                            ; preds = %26432, %26415
  call void @llvm.lifetime.end.p0(i64 4, ptr %822) #11
  br label %26450

26450:                                            ; preds = %26449
  br label %26451

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

26452:                                            ; No predecessors!
  br label %26453

26453:                                            ; preds = %26452
  br label %26454

26454:                                            ; preds = %26453, %26394
  br label %26455

26455:                                            ; preds = %26454
  br label %26456

26456:                                            ; preds = %26455
  br label %26457

26457:                                            ; preds = %26456
  %26458 = load i64, ptr %821, align 8, !tbaa !20
  %26459 = add i64 %26458, 1
  store i64 %26459, ptr %821, align 8, !tbaa !20
  br label %26389, !llvm.loop !100

26460:                                            ; preds = %26392
  br label %26461

26461:                                            ; preds = %26460
  %26462 = load i32, ptr @test_count, align 4, !tbaa !5
  %26463 = add nsw i32 %26462, 1
  store i32 %26463, ptr @test_count, align 4, !tbaa !5
  %26464 = call i32 @s2n_assert_seq_num_equal(ptr noundef byval(%struct.s2n_blob) align 8 %818, i64 noundef 10)
  %26465 = getelementptr inbounds %struct.s2n_result, ptr %823, i32 0, i32 0
  store i32 %26464, ptr %26465, align 4
  %26466 = getelementptr inbounds %struct.s2n_result, ptr %823, i32 0, i32 0
  %26467 = load i32, ptr %26466, align 4
  %26468 = call zeroext i1 @s2n_result_is_ok(i32 %26467)
  br i1 %26468, label %26522, label %26469

26469:                                            ; preds = %26461
  br label %26470

26470:                                            ; preds = %26469
  br label %26471

26471:                                            ; preds = %26470
  call void @llvm.lifetime.start.p0(i64 4, ptr %824) #11
  %26472 = call ptr @__errno_location() #12
  %26473 = load i32, ptr %26472, align 4, !tbaa !5
  store i32 %26473, ptr %824, align 4, !tbaa !5
  %26474 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26475 = call i32 @s2n_print_stacktrace(ptr noundef %26474)
  %26476 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26477 = trunc i8 %26476 to i1
  br i1 %26477, label %26478, label %26500

26478:                                            ; preds = %26471
  %26479 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26480 = call i32 @fileno(ptr noundef %26479) #11
  %26481 = call i32 @isatty(i32 noundef %26480) #11
  %26482 = icmp ne i32 %26481, 0
  br i1 %26482, label %26483, label %26500

26483:                                            ; preds = %26478
  %26484 = load i32, ptr %824, align 4, !tbaa !5
  %26485 = call ptr @__errno_location() #12
  store i32 %26484, ptr %26485, align 4, !tbaa !5
  %26486 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26487 = load i32, ptr @test_count, align 4, !tbaa !5
  %26488 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26489 = load i32, ptr %26488, align 4, !tbaa !5
  %26490 = call ptr @s2n_strerror(i32 noundef %26489, ptr noundef @.str.5)
  %26491 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26492 = load i32, ptr %26491, align 4, !tbaa !5
  %26493 = call ptr @s2n_strerror_debug(i32 noundef %26492, ptr noundef @.str.5)
  %26494 = call ptr @__errno_location() #12
  %26495 = load i32, ptr %26494, align 4, !tbaa !5
  %26496 = call ptr @strerror(i32 noundef %26495) #11
  %26497 = call ptr @__errno_location() #12
  %26498 = load i32, ptr %26497, align 4, !tbaa !5
  %26499 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26486, ptr noundef @.str.3, i32 noundef %26487, ptr noundef @.str.174, ptr noundef @.str.2, i32 noundef 1319, ptr noundef %26490, ptr noundef %26493, ptr noundef %26496, i32 noundef %26498) #11
  br label %26517

26500:                                            ; preds = %26478, %26471
  %26501 = load i32, ptr %824, align 4, !tbaa !5
  %26502 = call ptr @__errno_location() #12
  store i32 %26501, ptr %26502, align 4, !tbaa !5
  %26503 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26504 = load i32, ptr @test_count, align 4, !tbaa !5
  %26505 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26506 = load i32, ptr %26505, align 4, !tbaa !5
  %26507 = call ptr @s2n_strerror(i32 noundef %26506, ptr noundef @.str.5)
  %26508 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26509 = load i32, ptr %26508, align 4, !tbaa !5
  %26510 = call ptr @s2n_strerror_debug(i32 noundef %26509, ptr noundef @.str.5)
  %26511 = call ptr @__errno_location() #12
  %26512 = load i32, ptr %26511, align 4, !tbaa !5
  %26513 = call ptr @strerror(i32 noundef %26512) #11
  %26514 = call ptr @__errno_location() #12
  %26515 = load i32, ptr %26514, align 4, !tbaa !5
  %26516 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26503, ptr noundef @.str.6, i32 noundef %26504, ptr noundef @.str.174, ptr noundef @.str.2, i32 noundef 1319, ptr noundef %26507, ptr noundef %26510, ptr noundef %26513, i32 noundef %26515) #11
  br label %26517

26517:                                            ; preds = %26500, %26483
  call void @llvm.lifetime.end.p0(i64 4, ptr %824) #11
  br label %26518

26518:                                            ; preds = %26517
  br label %26519

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

26520:                                            ; No predecessors!
  br label %26521

26521:                                            ; preds = %26520
  br label %26522

26522:                                            ; preds = %26521, %26461
  br label %26523

26523:                                            ; preds = %26522
  br label %26524

26524:                                            ; preds = %26523
  br label %26525

26525:                                            ; preds = %26524
  br label %26526

26526:                                            ; preds = %26525
  br label %26527

26527:                                            ; preds = %26526
  %26528 = load i32, ptr @test_count, align 4, !tbaa !5
  %26529 = add nsw i32 %26528, 1
  store i32 %26529, ptr @test_count, align 4, !tbaa !5
  %26530 = load ptr, ptr %789, align 8, !tbaa !9
  %26531 = getelementptr inbounds [163840 x i8], ptr %782, i64 0, i64 0
  %26532 = call i64 @s2n_send(ptr noundef %26530, ptr noundef %26531, i64 noundef 1, ptr noundef %794)
  %26533 = icmp eq i64 %26532, -1
  br i1 %26533, label %26587, label %26534

26534:                                            ; preds = %26527
  br label %26535

26535:                                            ; preds = %26534
  br label %26536

26536:                                            ; preds = %26535
  call void @llvm.lifetime.start.p0(i64 4, ptr %825) #11
  %26537 = call ptr @__errno_location() #12
  %26538 = load i32, ptr %26537, align 4, !tbaa !5
  store i32 %26538, ptr %825, align 4, !tbaa !5
  %26539 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26540 = call i32 @s2n_print_stacktrace(ptr noundef %26539)
  %26541 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26542 = trunc i8 %26541 to i1
  br i1 %26542, label %26543, label %26565

26543:                                            ; preds = %26536
  %26544 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26545 = call i32 @fileno(ptr noundef %26544) #11
  %26546 = call i32 @isatty(i32 noundef %26545) #11
  %26547 = icmp ne i32 %26546, 0
  br i1 %26547, label %26548, label %26565

26548:                                            ; preds = %26543
  %26549 = load i32, ptr %825, align 4, !tbaa !5
  %26550 = call ptr @__errno_location() #12
  store i32 %26549, ptr %26550, align 4, !tbaa !5
  %26551 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26552 = load i32, ptr @test_count, align 4, !tbaa !5
  %26553 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26554 = load i32, ptr %26553, align 4, !tbaa !5
  %26555 = call ptr @s2n_strerror(i32 noundef %26554, ptr noundef @.str.5)
  %26556 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26557 = load i32, ptr %26556, align 4, !tbaa !5
  %26558 = call ptr @s2n_strerror_debug(i32 noundef %26557, ptr noundef @.str.5)
  %26559 = call ptr @__errno_location() #12
  %26560 = load i32, ptr %26559, align 4, !tbaa !5
  %26561 = call ptr @strerror(i32 noundef %26560) #11
  %26562 = call ptr @__errno_location() #12
  %26563 = load i32, ptr %26562, align 4, !tbaa !5
  %26564 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26551, ptr noundef @.str.3, i32 noundef %26552, ptr noundef @.str.175, ptr noundef @.str.2, i32 noundef 1324, ptr noundef %26555, ptr noundef %26558, ptr noundef %26561, i32 noundef %26563) #11
  br label %26582

26565:                                            ; preds = %26543, %26536
  %26566 = load i32, ptr %825, align 4, !tbaa !5
  %26567 = call ptr @__errno_location() #12
  store i32 %26566, ptr %26567, align 4, !tbaa !5
  %26568 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26569 = load i32, ptr @test_count, align 4, !tbaa !5
  %26570 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26571 = load i32, ptr %26570, align 4, !tbaa !5
  %26572 = call ptr @s2n_strerror(i32 noundef %26571, ptr noundef @.str.5)
  %26573 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26574 = load i32, ptr %26573, align 4, !tbaa !5
  %26575 = call ptr @s2n_strerror_debug(i32 noundef %26574, ptr noundef @.str.5)
  %26576 = call ptr @__errno_location() #12
  %26577 = load i32, ptr %26576, align 4, !tbaa !5
  %26578 = call ptr @strerror(i32 noundef %26577) #11
  %26579 = call ptr @__errno_location() #12
  %26580 = load i32, ptr %26579, align 4, !tbaa !5
  %26581 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26568, ptr noundef @.str.6, i32 noundef %26569, ptr noundef @.str.175, ptr noundef @.str.2, i32 noundef 1324, ptr noundef %26572, ptr noundef %26575, ptr noundef %26578, i32 noundef %26580) #11
  br label %26582

26582:                                            ; preds = %26565, %26548
  call void @llvm.lifetime.end.p0(i64 4, ptr %825) #11
  br label %26583

26583:                                            ; preds = %26582
  br label %26584

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

26585:                                            ; No predecessors!
  br label %26586

26586:                                            ; preds = %26585
  br label %26587

26587:                                            ; preds = %26586, %26527
  br label %26588

26588:                                            ; preds = %26587
  br label %26589

26589:                                            ; preds = %26588
  br label %26590

26590:                                            ; preds = %26589
  %26591 = load i32, ptr @test_count, align 4, !tbaa !5
  %26592 = add nsw i32 %26591, 1
  store i32 %26592, ptr @test_count, align 4, !tbaa !5
  %26593 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26594 = load i32, ptr %26593, align 4, !tbaa !5
  %26595 = icmp eq i32 %26594, 469762132
  br i1 %26595, label %26649, label %26596

26596:                                            ; preds = %26590
  br label %26597

26597:                                            ; preds = %26596
  br label %26598

26598:                                            ; preds = %26597
  call void @llvm.lifetime.start.p0(i64 4, ptr %826) #11
  %26599 = call ptr @__errno_location() #12
  %26600 = load i32, ptr %26599, align 4, !tbaa !5
  store i32 %26600, ptr %826, align 4, !tbaa !5
  %26601 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26602 = call i32 @s2n_print_stacktrace(ptr noundef %26601)
  %26603 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26604 = trunc i8 %26603 to i1
  br i1 %26604, label %26605, label %26627

26605:                                            ; preds = %26598
  %26606 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26607 = call i32 @fileno(ptr noundef %26606) #11
  %26608 = call i32 @isatty(i32 noundef %26607) #11
  %26609 = icmp ne i32 %26608, 0
  br i1 %26609, label %26610, label %26627

26610:                                            ; preds = %26605
  %26611 = load i32, ptr %826, align 4, !tbaa !5
  %26612 = call ptr @__errno_location() #12
  store i32 %26611, ptr %26612, align 4, !tbaa !5
  %26613 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26614 = load i32, ptr @test_count, align 4, !tbaa !5
  %26615 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26616 = load i32, ptr %26615, align 4, !tbaa !5
  %26617 = call ptr @s2n_strerror(i32 noundef %26616, ptr noundef @.str.5)
  %26618 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26619 = load i32, ptr %26618, align 4, !tbaa !5
  %26620 = call ptr @s2n_strerror_debug(i32 noundef %26619, ptr noundef @.str.5)
  %26621 = call ptr @__errno_location() #12
  %26622 = load i32, ptr %26621, align 4, !tbaa !5
  %26623 = call ptr @strerror(i32 noundef %26622) #11
  %26624 = call ptr @__errno_location() #12
  %26625 = load i32, ptr %26624, align 4, !tbaa !5
  %26626 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26613, ptr noundef @.str.3, i32 noundef %26614, ptr noundef @.str.173, ptr noundef @.str.2, i32 noundef 1324, ptr noundef %26617, ptr noundef %26620, ptr noundef %26623, i32 noundef %26625) #11
  br label %26644

26627:                                            ; preds = %26605, %26598
  %26628 = load i32, ptr %826, align 4, !tbaa !5
  %26629 = call ptr @__errno_location() #12
  store i32 %26628, ptr %26629, align 4, !tbaa !5
  %26630 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26631 = load i32, ptr @test_count, align 4, !tbaa !5
  %26632 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26633 = load i32, ptr %26632, align 4, !tbaa !5
  %26634 = call ptr @s2n_strerror(i32 noundef %26633, ptr noundef @.str.5)
  %26635 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26636 = load i32, ptr %26635, align 4, !tbaa !5
  %26637 = call ptr @s2n_strerror_debug(i32 noundef %26636, ptr noundef @.str.5)
  %26638 = call ptr @__errno_location() #12
  %26639 = load i32, ptr %26638, align 4, !tbaa !5
  %26640 = call ptr @strerror(i32 noundef %26639) #11
  %26641 = call ptr @__errno_location() #12
  %26642 = load i32, ptr %26641, align 4, !tbaa !5
  %26643 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26630, ptr noundef @.str.6, i32 noundef %26631, ptr noundef @.str.173, ptr noundef @.str.2, i32 noundef 1324, ptr noundef %26634, ptr noundef %26637, ptr noundef %26640, i32 noundef %26642) #11
  br label %26644

26644:                                            ; preds = %26627, %26610
  call void @llvm.lifetime.end.p0(i64 4, ptr %826) #11
  br label %26645

26645:                                            ; preds = %26644
  br label %26646

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

26647:                                            ; No predecessors!
  br label %26648

26648:                                            ; preds = %26647
  br label %26649

26649:                                            ; preds = %26648, %26590
  br label %26650

26650:                                            ; preds = %26649
  br label %26651

26651:                                            ; preds = %26650
  br label %26652

26652:                                            ; preds = %26651
  %26653 = load i32, ptr @test_count, align 4, !tbaa !5
  %26654 = add nsw i32 %26653, 1
  store i32 %26654, ptr @test_count, align 4, !tbaa !5
  %26655 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26656 = load i32, ptr %26655, align 4, !tbaa !5
  %26657 = call ptr @s2n_strerror_debug(i32 noundef %26656, ptr noundef @.str.5)
  %26658 = icmp eq ptr %26657, null
  br i1 %26658, label %26659, label %26712

26659:                                            ; preds = %26652
  br label %26660

26660:                                            ; preds = %26659
  br label %26661

26661:                                            ; preds = %26660
  call void @llvm.lifetime.start.p0(i64 4, ptr %827) #11
  %26662 = call ptr @__errno_location() #12
  %26663 = load i32, ptr %26662, align 4, !tbaa !5
  store i32 %26663, ptr %827, align 4, !tbaa !5
  %26664 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26665 = call i32 @s2n_print_stacktrace(ptr noundef %26664)
  %26666 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26667 = trunc i8 %26666 to i1
  br i1 %26667, label %26668, label %26690

26668:                                            ; preds = %26661
  %26669 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26670 = call i32 @fileno(ptr noundef %26669) #11
  %26671 = call i32 @isatty(i32 noundef %26670) #11
  %26672 = icmp ne i32 %26671, 0
  br i1 %26672, label %26673, label %26690

26673:                                            ; preds = %26668
  %26674 = load i32, ptr %827, align 4, !tbaa !5
  %26675 = call ptr @__errno_location() #12
  store i32 %26674, ptr %26675, align 4, !tbaa !5
  %26676 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26677 = load i32, ptr @test_count, align 4, !tbaa !5
  %26678 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26679 = load i32, ptr %26678, align 4, !tbaa !5
  %26680 = call ptr @s2n_strerror(i32 noundef %26679, ptr noundef @.str.5)
  %26681 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26682 = load i32, ptr %26681, align 4, !tbaa !5
  %26683 = call ptr @s2n_strerror_debug(i32 noundef %26682, ptr noundef @.str.5)
  %26684 = call ptr @__errno_location() #12
  %26685 = load i32, ptr %26684, align 4, !tbaa !5
  %26686 = call ptr @strerror(i32 noundef %26685) #11
  %26687 = call ptr @__errno_location() #12
  %26688 = load i32, ptr %26687, align 4, !tbaa !5
  %26689 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26676, ptr noundef @.str.3, i32 noundef %26677, ptr noundef @.str.13, ptr noundef @.str.2, i32 noundef 1324, ptr noundef %26680, ptr noundef %26683, ptr noundef %26686, i32 noundef %26688) #11
  br label %26707

26690:                                            ; preds = %26668, %26661
  %26691 = load i32, ptr %827, align 4, !tbaa !5
  %26692 = call ptr @__errno_location() #12
  store i32 %26691, ptr %26692, align 4, !tbaa !5
  %26693 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26694 = load i32, ptr @test_count, align 4, !tbaa !5
  %26695 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26696 = load i32, ptr %26695, align 4, !tbaa !5
  %26697 = call ptr @s2n_strerror(i32 noundef %26696, ptr noundef @.str.5)
  %26698 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26699 = load i32, ptr %26698, align 4, !tbaa !5
  %26700 = call ptr @s2n_strerror_debug(i32 noundef %26699, ptr noundef @.str.5)
  %26701 = call ptr @__errno_location() #12
  %26702 = load i32, ptr %26701, align 4, !tbaa !5
  %26703 = call ptr @strerror(i32 noundef %26702) #11
  %26704 = call ptr @__errno_location() #12
  %26705 = load i32, ptr %26704, align 4, !tbaa !5
  %26706 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26693, ptr noundef @.str.6, i32 noundef %26694, ptr noundef @.str.13, ptr noundef @.str.2, i32 noundef 1324, ptr noundef %26697, ptr noundef %26700, ptr noundef %26703, i32 noundef %26705) #11
  br label %26707

26707:                                            ; preds = %26690, %26673
  call void @llvm.lifetime.end.p0(i64 4, ptr %827) #11
  br label %26708

26708:                                            ; preds = %26707
  br label %26709

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

26710:                                            ; No predecessors!
  br label %26711

26711:                                            ; preds = %26710
  br label %26712

26712:                                            ; preds = %26711, %26652
  br label %26713

26713:                                            ; preds = %26712
  br label %26714

26714:                                            ; preds = %26713
  br label %26715

26715:                                            ; preds = %26714
  br label %26716

26716:                                            ; preds = %26715
  br label %26717

26717:                                            ; preds = %26716
  %26718 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %26718, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %26719 = call ptr @__errno_location() #12
  store i32 0, ptr %26719, align 4, !tbaa !5
  br label %26720

26720:                                            ; preds = %26717
  br label %26721

26721:                                            ; preds = %26720
  br label %26722

26722:                                            ; preds = %26721
  br label %26723

26723:                                            ; preds = %26722
  br label %26724

26724:                                            ; preds = %26723
  %26725 = load i32, ptr @test_count, align 4, !tbaa !5
  %26726 = add nsw i32 %26725, 1
  store i32 %26726, ptr @test_count, align 4, !tbaa !5
  %26727 = call i32 @s2n_assert_seq_num_equal(ptr noundef byval(%struct.s2n_blob) align 8 %818, i64 noundef 10)
  %26728 = getelementptr inbounds %struct.s2n_result, ptr %828, i32 0, i32 0
  store i32 %26727, ptr %26728, align 4
  %26729 = getelementptr inbounds %struct.s2n_result, ptr %828, i32 0, i32 0
  %26730 = load i32, ptr %26729, align 4
  %26731 = call zeroext i1 @s2n_result_is_ok(i32 %26730)
  br i1 %26731, label %26785, label %26732

26732:                                            ; preds = %26724
  br label %26733

26733:                                            ; preds = %26732
  br label %26734

26734:                                            ; preds = %26733
  call void @llvm.lifetime.start.p0(i64 4, ptr %829) #11
  %26735 = call ptr @__errno_location() #12
  %26736 = load i32, ptr %26735, align 4, !tbaa !5
  store i32 %26736, ptr %829, align 4, !tbaa !5
  %26737 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26738 = call i32 @s2n_print_stacktrace(ptr noundef %26737)
  %26739 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26740 = trunc i8 %26739 to i1
  br i1 %26740, label %26741, label %26763

26741:                                            ; preds = %26734
  %26742 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26743 = call i32 @fileno(ptr noundef %26742) #11
  %26744 = call i32 @isatty(i32 noundef %26743) #11
  %26745 = icmp ne i32 %26744, 0
  br i1 %26745, label %26746, label %26763

26746:                                            ; preds = %26741
  %26747 = load i32, ptr %829, align 4, !tbaa !5
  %26748 = call ptr @__errno_location() #12
  store i32 %26747, ptr %26748, align 4, !tbaa !5
  %26749 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26750 = load i32, ptr @test_count, align 4, !tbaa !5
  %26751 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26752 = load i32, ptr %26751, align 4, !tbaa !5
  %26753 = call ptr @s2n_strerror(i32 noundef %26752, ptr noundef @.str.5)
  %26754 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26755 = load i32, ptr %26754, align 4, !tbaa !5
  %26756 = call ptr @s2n_strerror_debug(i32 noundef %26755, ptr noundef @.str.5)
  %26757 = call ptr @__errno_location() #12
  %26758 = load i32, ptr %26757, align 4, !tbaa !5
  %26759 = call ptr @strerror(i32 noundef %26758) #11
  %26760 = call ptr @__errno_location() #12
  %26761 = load i32, ptr %26760, align 4, !tbaa !5
  %26762 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26749, ptr noundef @.str.3, i32 noundef %26750, ptr noundef @.str.174, ptr noundef @.str.2, i32 noundef 1325, ptr noundef %26753, ptr noundef %26756, ptr noundef %26759, i32 noundef %26761) #11
  br label %26780

26763:                                            ; preds = %26741, %26734
  %26764 = load i32, ptr %829, align 4, !tbaa !5
  %26765 = call ptr @__errno_location() #12
  store i32 %26764, ptr %26765, align 4, !tbaa !5
  %26766 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26767 = load i32, ptr @test_count, align 4, !tbaa !5
  %26768 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26769 = load i32, ptr %26768, align 4, !tbaa !5
  %26770 = call ptr @s2n_strerror(i32 noundef %26769, ptr noundef @.str.5)
  %26771 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26772 = load i32, ptr %26771, align 4, !tbaa !5
  %26773 = call ptr @s2n_strerror_debug(i32 noundef %26772, ptr noundef @.str.5)
  %26774 = call ptr @__errno_location() #12
  %26775 = load i32, ptr %26774, align 4, !tbaa !5
  %26776 = call ptr @strerror(i32 noundef %26775) #11
  %26777 = call ptr @__errno_location() #12
  %26778 = load i32, ptr %26777, align 4, !tbaa !5
  %26779 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26766, ptr noundef @.str.6, i32 noundef %26767, ptr noundef @.str.174, ptr noundef @.str.2, i32 noundef 1325, ptr noundef %26770, ptr noundef %26773, ptr noundef %26776, i32 noundef %26778) #11
  br label %26780

26780:                                            ; preds = %26763, %26746
  call void @llvm.lifetime.end.p0(i64 4, ptr %829) #11
  br label %26781

26781:                                            ; preds = %26780
  br label %26782

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

26783:                                            ; No predecessors!
  br label %26784

26784:                                            ; preds = %26783
  br label %26785

26785:                                            ; preds = %26784, %26724
  br label %26786

26786:                                            ; preds = %26785
  br label %26787

26787:                                            ; preds = %26786
  %26788 = call i32 @s2n_blob_zero(ptr noundef %818)
  call void @llvm.lifetime.end.p0(i64 24, ptr %818) #11
  call void @llvm.lifetime.start.p0(i64 24, ptr %830) #11
  call void @llvm.memset.p0.i64(ptr align 8 %830, i8 0, i64 24, i1 false)
  br label %26789

26789:                                            ; preds = %26787
  %26790 = load i32, ptr @test_count, align 4, !tbaa !5
  %26791 = add nsw i32 %26790, 1
  store i32 %26791, ptr @test_count, align 4, !tbaa !5
  %26792 = load ptr, ptr %789, align 8, !tbaa !9
  %26793 = load ptr, ptr %789, align 8, !tbaa !9
  %26794 = getelementptr inbounds %struct.s2n_connection, ptr %26793, i32 0, i32 13
  %26795 = load i32, ptr %26794, align 4, !tbaa !99
  %26796 = call i32 @s2n_connection_get_sequence_number(ptr noundef %26792, i32 noundef %26795, ptr noundef %830)
  %26797 = getelementptr inbounds %struct.s2n_result, ptr %831, i32 0, i32 0
  store i32 %26796, ptr %26797, align 4
  %26798 = getelementptr inbounds %struct.s2n_result, ptr %831, i32 0, i32 0
  %26799 = load i32, ptr %26798, align 4
  %26800 = call zeroext i1 @s2n_result_is_ok(i32 %26799)
  br i1 %26800, label %26854, label %26801

26801:                                            ; preds = %26789
  br label %26802

26802:                                            ; preds = %26801
  br label %26803

26803:                                            ; preds = %26802
  call void @llvm.lifetime.start.p0(i64 4, ptr %832) #11
  %26804 = call ptr @__errno_location() #12
  %26805 = load i32, ptr %26804, align 4, !tbaa !5
  store i32 %26805, ptr %832, align 4, !tbaa !5
  %26806 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26807 = call i32 @s2n_print_stacktrace(ptr noundef %26806)
  %26808 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26809 = trunc i8 %26808 to i1
  br i1 %26809, label %26810, label %26832

26810:                                            ; preds = %26803
  %26811 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26812 = call i32 @fileno(ptr noundef %26811) #11
  %26813 = call i32 @isatty(i32 noundef %26812) #11
  %26814 = icmp ne i32 %26813, 0
  br i1 %26814, label %26815, label %26832

26815:                                            ; preds = %26810
  %26816 = load i32, ptr %832, align 4, !tbaa !5
  %26817 = call ptr @__errno_location() #12
  store i32 %26816, ptr %26817, align 4, !tbaa !5
  %26818 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26819 = load i32, ptr @test_count, align 4, !tbaa !5
  %26820 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26821 = load i32, ptr %26820, align 4, !tbaa !5
  %26822 = call ptr @s2n_strerror(i32 noundef %26821, ptr noundef @.str.5)
  %26823 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26824 = load i32, ptr %26823, align 4, !tbaa !5
  %26825 = call ptr @s2n_strerror_debug(i32 noundef %26824, ptr noundef @.str.5)
  %26826 = call ptr @__errno_location() #12
  %26827 = load i32, ptr %26826, align 4, !tbaa !5
  %26828 = call ptr @strerror(i32 noundef %26827) #11
  %26829 = call ptr @__errno_location() #12
  %26830 = load i32, ptr %26829, align 4, !tbaa !5
  %26831 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26818, ptr noundef @.str.3, i32 noundef %26819, ptr noundef @.str.166, ptr noundef @.str.2, i32 noundef 1331, ptr noundef %26822, ptr noundef %26825, ptr noundef %26828, i32 noundef %26830) #11
  br label %26849

26832:                                            ; preds = %26810, %26803
  %26833 = load i32, ptr %832, align 4, !tbaa !5
  %26834 = call ptr @__errno_location() #12
  store i32 %26833, ptr %26834, align 4, !tbaa !5
  %26835 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26836 = load i32, ptr @test_count, align 4, !tbaa !5
  %26837 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26838 = load i32, ptr %26837, align 4, !tbaa !5
  %26839 = call ptr @s2n_strerror(i32 noundef %26838, ptr noundef @.str.5)
  %26840 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26841 = load i32, ptr %26840, align 4, !tbaa !5
  %26842 = call ptr @s2n_strerror_debug(i32 noundef %26841, ptr noundef @.str.5)
  %26843 = call ptr @__errno_location() #12
  %26844 = load i32, ptr %26843, align 4, !tbaa !5
  %26845 = call ptr @strerror(i32 noundef %26844) #11
  %26846 = call ptr @__errno_location() #12
  %26847 = load i32, ptr %26846, align 4, !tbaa !5
  %26848 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26835, ptr noundef @.str.6, i32 noundef %26836, ptr noundef @.str.166, ptr noundef @.str.2, i32 noundef 1331, ptr noundef %26839, ptr noundef %26842, ptr noundef %26845, i32 noundef %26847) #11
  br label %26849

26849:                                            ; preds = %26832, %26815
  call void @llvm.lifetime.end.p0(i64 4, ptr %832) #11
  br label %26850

26850:                                            ; preds = %26849
  br label %26851

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

26852:                                            ; No predecessors!
  br label %26853

26853:                                            ; preds = %26852
  br label %26854

26854:                                            ; preds = %26853, %26789
  br label %26855

26855:                                            ; preds = %26854
  br label %26856

26856:                                            ; preds = %26855
  %26857 = load ptr, ptr %789, align 8, !tbaa !9
  %26858 = getelementptr inbounds %struct.s2n_connection, ptr %26857, i32 0, i32 23
  store i8 33, ptr %26858, align 4, !tbaa !98
  br label %26859

26859:                                            ; preds = %26856
  %26860 = load i32, ptr @test_count, align 4, !tbaa !5
  %26861 = add nsw i32 %26860, 1
  store i32 %26861, ptr @test_count, align 4, !tbaa !5
  %26862 = load ptr, ptr %789, align 8, !tbaa !9
  %26863 = getelementptr inbounds [163840 x i8], ptr %782, i64 0, i64 0
  %26864 = call i64 @s2n_send(ptr noundef %26862, ptr noundef %26863, i64 noundef 163840, ptr noundef %794)
  %26865 = icmp eq i64 %26864, 163840
  br i1 %26865, label %26919, label %26866

26866:                                            ; preds = %26859
  br label %26867

26867:                                            ; preds = %26866
  br label %26868

26868:                                            ; preds = %26867
  call void @llvm.lifetime.start.p0(i64 4, ptr %833) #11
  %26869 = call ptr @__errno_location() #12
  %26870 = load i32, ptr %26869, align 4, !tbaa !5
  store i32 %26870, ptr %833, align 4, !tbaa !5
  %26871 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26872 = call i32 @s2n_print_stacktrace(ptr noundef %26871)
  %26873 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26874 = trunc i8 %26873 to i1
  br i1 %26874, label %26875, label %26897

26875:                                            ; preds = %26868
  %26876 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26877 = call i32 @fileno(ptr noundef %26876) #11
  %26878 = call i32 @isatty(i32 noundef %26877) #11
  %26879 = icmp ne i32 %26878, 0
  br i1 %26879, label %26880, label %26897

26880:                                            ; preds = %26875
  %26881 = load i32, ptr %833, align 4, !tbaa !5
  %26882 = call ptr @__errno_location() #12
  store i32 %26881, ptr %26882, align 4, !tbaa !5
  %26883 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26884 = load i32, ptr @test_count, align 4, !tbaa !5
  %26885 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26886 = load i32, ptr %26885, align 4, !tbaa !5
  %26887 = call ptr @s2n_strerror(i32 noundef %26886, ptr noundef @.str.5)
  %26888 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26889 = load i32, ptr %26888, align 4, !tbaa !5
  %26890 = call ptr @s2n_strerror_debug(i32 noundef %26889, ptr noundef @.str.5)
  %26891 = call ptr @__errno_location() #12
  %26892 = load i32, ptr %26891, align 4, !tbaa !5
  %26893 = call ptr @strerror(i32 noundef %26892) #11
  %26894 = call ptr @__errno_location() #12
  %26895 = load i32, ptr %26894, align 4, !tbaa !5
  %26896 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26883, ptr noundef @.str.3, i32 noundef %26884, ptr noundef @.str.176, ptr noundef @.str.2, i32 noundef 1337, ptr noundef %26887, ptr noundef %26890, ptr noundef %26893, i32 noundef %26895) #11
  br label %26914

26897:                                            ; preds = %26875, %26868
  %26898 = load i32, ptr %833, align 4, !tbaa !5
  %26899 = call ptr @__errno_location() #12
  store i32 %26898, ptr %26899, align 4, !tbaa !5
  %26900 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26901 = load i32, ptr @test_count, align 4, !tbaa !5
  %26902 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26903 = load i32, ptr %26902, align 4, !tbaa !5
  %26904 = call ptr @s2n_strerror(i32 noundef %26903, ptr noundef @.str.5)
  %26905 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26906 = load i32, ptr %26905, align 4, !tbaa !5
  %26907 = call ptr @s2n_strerror_debug(i32 noundef %26906, ptr noundef @.str.5)
  %26908 = call ptr @__errno_location() #12
  %26909 = load i32, ptr %26908, align 4, !tbaa !5
  %26910 = call ptr @strerror(i32 noundef %26909) #11
  %26911 = call ptr @__errno_location() #12
  %26912 = load i32, ptr %26911, align 4, !tbaa !5
  %26913 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26900, ptr noundef @.str.6, i32 noundef %26901, ptr noundef @.str.176, ptr noundef @.str.2, i32 noundef 1337, ptr noundef %26904, ptr noundef %26907, ptr noundef %26910, i32 noundef %26912) #11
  br label %26914

26914:                                            ; preds = %26897, %26880
  call void @llvm.lifetime.end.p0(i64 4, ptr %833) #11
  br label %26915

26915:                                            ; preds = %26914
  br label %26916

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

26917:                                            ; No predecessors!
  br label %26918

26918:                                            ; preds = %26917
  br label %26919

26919:                                            ; preds = %26918, %26859
  br label %26920

26920:                                            ; preds = %26919
  br label %26921

26921:                                            ; preds = %26920
  br label %26922

26922:                                            ; preds = %26921
  %26923 = load i32, ptr @test_count, align 4, !tbaa !5
  %26924 = add nsw i32 %26923, 1
  store i32 %26924, ptr @test_count, align 4, !tbaa !5
  %26925 = call i32 @s2n_assert_seq_num_equal(ptr noundef byval(%struct.s2n_blob) align 8 %830, i64 noundef 0)
  %26926 = getelementptr inbounds %struct.s2n_result, ptr %834, i32 0, i32 0
  store i32 %26925, ptr %26926, align 4
  %26927 = getelementptr inbounds %struct.s2n_result, ptr %834, i32 0, i32 0
  %26928 = load i32, ptr %26927, align 4
  %26929 = call zeroext i1 @s2n_result_is_ok(i32 %26928)
  br i1 %26929, label %26983, label %26930

26930:                                            ; preds = %26922
  br label %26931

26931:                                            ; preds = %26930
  br label %26932

26932:                                            ; preds = %26931
  call void @llvm.lifetime.start.p0(i64 4, ptr %835) #11
  %26933 = call ptr @__errno_location() #12
  %26934 = load i32, ptr %26933, align 4, !tbaa !5
  store i32 %26934, ptr %835, align 4, !tbaa !5
  %26935 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26936 = call i32 @s2n_print_stacktrace(ptr noundef %26935)
  %26937 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26938 = trunc i8 %26937 to i1
  br i1 %26938, label %26939, label %26961

26939:                                            ; preds = %26932
  %26940 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26941 = call i32 @fileno(ptr noundef %26940) #11
  %26942 = call i32 @isatty(i32 noundef %26941) #11
  %26943 = icmp ne i32 %26942, 0
  br i1 %26943, label %26944, label %26961

26944:                                            ; preds = %26939
  %26945 = load i32, ptr %835, align 4, !tbaa !5
  %26946 = call ptr @__errno_location() #12
  store i32 %26945, ptr %26946, align 4, !tbaa !5
  %26947 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26948 = load i32, ptr @test_count, align 4, !tbaa !5
  %26949 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26950 = load i32, ptr %26949, align 4, !tbaa !5
  %26951 = call ptr @s2n_strerror(i32 noundef %26950, ptr noundef @.str.5)
  %26952 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26953 = load i32, ptr %26952, align 4, !tbaa !5
  %26954 = call ptr @s2n_strerror_debug(i32 noundef %26953, ptr noundef @.str.5)
  %26955 = call ptr @__errno_location() #12
  %26956 = load i32, ptr %26955, align 4, !tbaa !5
  %26957 = call ptr @strerror(i32 noundef %26956) #11
  %26958 = call ptr @__errno_location() #12
  %26959 = load i32, ptr %26958, align 4, !tbaa !5
  %26960 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26947, ptr noundef @.str.3, i32 noundef %26948, ptr noundef @.str.177, ptr noundef @.str.2, i32 noundef 1338, ptr noundef %26951, ptr noundef %26954, ptr noundef %26957, i32 noundef %26959) #11
  br label %26978

26961:                                            ; preds = %26939, %26932
  %26962 = load i32, ptr %835, align 4, !tbaa !5
  %26963 = call ptr @__errno_location() #12
  store i32 %26962, ptr %26963, align 4, !tbaa !5
  %26964 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26965 = load i32, ptr @test_count, align 4, !tbaa !5
  %26966 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26967 = load i32, ptr %26966, align 4, !tbaa !5
  %26968 = call ptr @s2n_strerror(i32 noundef %26967, ptr noundef @.str.5)
  %26969 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26970 = load i32, ptr %26969, align 4, !tbaa !5
  %26971 = call ptr @s2n_strerror_debug(i32 noundef %26970, ptr noundef @.str.5)
  %26972 = call ptr @__errno_location() #12
  %26973 = load i32, ptr %26972, align 4, !tbaa !5
  %26974 = call ptr @strerror(i32 noundef %26973) #11
  %26975 = call ptr @__errno_location() #12
  %26976 = load i32, ptr %26975, align 4, !tbaa !5
  %26977 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26964, ptr noundef @.str.6, i32 noundef %26965, ptr noundef @.str.177, ptr noundef @.str.2, i32 noundef 1338, ptr noundef %26968, ptr noundef %26971, ptr noundef %26974, i32 noundef %26976) #11
  br label %26978

26978:                                            ; preds = %26961, %26944
  call void @llvm.lifetime.end.p0(i64 4, ptr %835) #11
  br label %26979

26979:                                            ; preds = %26978
  br label %26980

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

26981:                                            ; No predecessors!
  br label %26982

26982:                                            ; preds = %26981
  br label %26983

26983:                                            ; preds = %26982, %26922
  br label %26984

26984:                                            ; preds = %26983
  br label %26985

26985:                                            ; preds = %26984
  %26986 = load ptr, ptr %789, align 8, !tbaa !9
  %26987 = getelementptr inbounds %struct.s2n_connection, ptr %26986, i32 0, i32 23
  store i8 34, ptr %26987, align 4, !tbaa !98
  br label %26988

26988:                                            ; preds = %26985
  %26989 = load i32, ptr @test_count, align 4, !tbaa !5
  %26990 = add nsw i32 %26989, 1
  store i32 %26990, ptr @test_count, align 4, !tbaa !5
  %26991 = load ptr, ptr %789, align 8, !tbaa !9
  %26992 = getelementptr inbounds [163840 x i8], ptr %782, i64 0, i64 0
  %26993 = call i64 @s2n_send(ptr noundef %26991, ptr noundef %26992, i64 noundef 163840, ptr noundef %794)
  %26994 = icmp eq i64 %26993, 163840
  br i1 %26994, label %27048, label %26995

26995:                                            ; preds = %26988
  br label %26996

26996:                                            ; preds = %26995
  br label %26997

26997:                                            ; preds = %26996
  call void @llvm.lifetime.start.p0(i64 4, ptr %836) #11
  %26998 = call ptr @__errno_location() #12
  %26999 = load i32, ptr %26998, align 4, !tbaa !5
  store i32 %26999, ptr %836, align 4, !tbaa !5
  %27000 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27001 = call i32 @s2n_print_stacktrace(ptr noundef %27000)
  %27002 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27003 = trunc i8 %27002 to i1
  br i1 %27003, label %27004, label %27026

27004:                                            ; preds = %26997
  %27005 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27006 = call i32 @fileno(ptr noundef %27005) #11
  %27007 = call i32 @isatty(i32 noundef %27006) #11
  %27008 = icmp ne i32 %27007, 0
  br i1 %27008, label %27009, label %27026

27009:                                            ; preds = %27004
  %27010 = load i32, ptr %836, align 4, !tbaa !5
  %27011 = call ptr @__errno_location() #12
  store i32 %27010, ptr %27011, align 4, !tbaa !5
  %27012 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27013 = load i32, ptr @test_count, align 4, !tbaa !5
  %27014 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27015 = load i32, ptr %27014, align 4, !tbaa !5
  %27016 = call ptr @s2n_strerror(i32 noundef %27015, ptr noundef @.str.5)
  %27017 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27018 = load i32, ptr %27017, align 4, !tbaa !5
  %27019 = call ptr @s2n_strerror_debug(i32 noundef %27018, ptr noundef @.str.5)
  %27020 = call ptr @__errno_location() #12
  %27021 = load i32, ptr %27020, align 4, !tbaa !5
  %27022 = call ptr @strerror(i32 noundef %27021) #11
  %27023 = call ptr @__errno_location() #12
  %27024 = load i32, ptr %27023, align 4, !tbaa !5
  %27025 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27012, ptr noundef @.str.3, i32 noundef %27013, ptr noundef @.str.176, ptr noundef @.str.2, i32 noundef 1344, ptr noundef %27016, ptr noundef %27019, ptr noundef %27022, i32 noundef %27024) #11
  br label %27043

27026:                                            ; preds = %27004, %26997
  %27027 = load i32, ptr %836, align 4, !tbaa !5
  %27028 = call ptr @__errno_location() #12
  store i32 %27027, ptr %27028, align 4, !tbaa !5
  %27029 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27030 = load i32, ptr @test_count, align 4, !tbaa !5
  %27031 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27032 = load i32, ptr %27031, align 4, !tbaa !5
  %27033 = call ptr @s2n_strerror(i32 noundef %27032, ptr noundef @.str.5)
  %27034 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27035 = load i32, ptr %27034, align 4, !tbaa !5
  %27036 = call ptr @s2n_strerror_debug(i32 noundef %27035, ptr noundef @.str.5)
  %27037 = call ptr @__errno_location() #12
  %27038 = load i32, ptr %27037, align 4, !tbaa !5
  %27039 = call ptr @strerror(i32 noundef %27038) #11
  %27040 = call ptr @__errno_location() #12
  %27041 = load i32, ptr %27040, align 4, !tbaa !5
  %27042 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27029, ptr noundef @.str.6, i32 noundef %27030, ptr noundef @.str.176, ptr noundef @.str.2, i32 noundef 1344, ptr noundef %27033, ptr noundef %27036, ptr noundef %27039, i32 noundef %27041) #11
  br label %27043

27043:                                            ; preds = %27026, %27009
  call void @llvm.lifetime.end.p0(i64 4, ptr %836) #11
  br label %27044

27044:                                            ; preds = %27043
  br label %27045

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

27046:                                            ; No predecessors!
  br label %27047

27047:                                            ; preds = %27046
  br label %27048

27048:                                            ; preds = %27047, %26988
  br label %27049

27049:                                            ; preds = %27048
  br label %27050

27050:                                            ; preds = %27049
  br label %27051

27051:                                            ; preds = %27050
  %27052 = load i32, ptr @test_count, align 4, !tbaa !5
  %27053 = add nsw i32 %27052, 1
  store i32 %27053, ptr @test_count, align 4, !tbaa !5
  %27054 = call i32 @s2n_assert_seq_num_equal(ptr noundef byval(%struct.s2n_blob) align 8 %830, i64 noundef 10)
  %27055 = getelementptr inbounds %struct.s2n_result, ptr %837, i32 0, i32 0
  store i32 %27054, ptr %27055, align 4
  %27056 = getelementptr inbounds %struct.s2n_result, ptr %837, i32 0, i32 0
  %27057 = load i32, ptr %27056, align 4
  %27058 = call zeroext i1 @s2n_result_is_ok(i32 %27057)
  br i1 %27058, label %27112, label %27059

27059:                                            ; preds = %27051
  br label %27060

27060:                                            ; preds = %27059
  br label %27061

27061:                                            ; preds = %27060
  call void @llvm.lifetime.start.p0(i64 4, ptr %838) #11
  %27062 = call ptr @__errno_location() #12
  %27063 = load i32, ptr %27062, align 4, !tbaa !5
  store i32 %27063, ptr %838, align 4, !tbaa !5
  %27064 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27065 = call i32 @s2n_print_stacktrace(ptr noundef %27064)
  %27066 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27067 = trunc i8 %27066 to i1
  br i1 %27067, label %27068, label %27090

27068:                                            ; preds = %27061
  %27069 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27070 = call i32 @fileno(ptr noundef %27069) #11
  %27071 = call i32 @isatty(i32 noundef %27070) #11
  %27072 = icmp ne i32 %27071, 0
  br i1 %27072, label %27073, label %27090

27073:                                            ; preds = %27068
  %27074 = load i32, ptr %838, align 4, !tbaa !5
  %27075 = call ptr @__errno_location() #12
  store i32 %27074, ptr %27075, align 4, !tbaa !5
  %27076 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27077 = load i32, ptr @test_count, align 4, !tbaa !5
  %27078 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27079 = load i32, ptr %27078, align 4, !tbaa !5
  %27080 = call ptr @s2n_strerror(i32 noundef %27079, ptr noundef @.str.5)
  %27081 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27082 = load i32, ptr %27081, align 4, !tbaa !5
  %27083 = call ptr @s2n_strerror_debug(i32 noundef %27082, ptr noundef @.str.5)
  %27084 = call ptr @__errno_location() #12
  %27085 = load i32, ptr %27084, align 4, !tbaa !5
  %27086 = call ptr @strerror(i32 noundef %27085) #11
  %27087 = call ptr @__errno_location() #12
  %27088 = load i32, ptr %27087, align 4, !tbaa !5
  %27089 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27076, ptr noundef @.str.3, i32 noundef %27077, ptr noundef @.str.174, ptr noundef @.str.2, i32 noundef 1345, ptr noundef %27080, ptr noundef %27083, ptr noundef %27086, i32 noundef %27088) #11
  br label %27107

27090:                                            ; preds = %27068, %27061
  %27091 = load i32, ptr %838, align 4, !tbaa !5
  %27092 = call ptr @__errno_location() #12
  store i32 %27091, ptr %27092, align 4, !tbaa !5
  %27093 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27094 = load i32, ptr @test_count, align 4, !tbaa !5
  %27095 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27096 = load i32, ptr %27095, align 4, !tbaa !5
  %27097 = call ptr @s2n_strerror(i32 noundef %27096, ptr noundef @.str.5)
  %27098 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27099 = load i32, ptr %27098, align 4, !tbaa !5
  %27100 = call ptr @s2n_strerror_debug(i32 noundef %27099, ptr noundef @.str.5)
  %27101 = call ptr @__errno_location() #12
  %27102 = load i32, ptr %27101, align 4, !tbaa !5
  %27103 = call ptr @strerror(i32 noundef %27102) #11
  %27104 = call ptr @__errno_location() #12
  %27105 = load i32, ptr %27104, align 4, !tbaa !5
  %27106 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27093, ptr noundef @.str.6, i32 noundef %27094, ptr noundef @.str.174, ptr noundef @.str.2, i32 noundef 1345, ptr noundef %27097, ptr noundef %27100, ptr noundef %27103, i32 noundef %27105) #11
  br label %27107

27107:                                            ; preds = %27090, %27073
  call void @llvm.lifetime.end.p0(i64 4, ptr %838) #11
  br label %27108

27108:                                            ; preds = %27107
  br label %27109

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

27110:                                            ; No predecessors!
  br label %27111

27111:                                            ; preds = %27110
  br label %27112

27112:                                            ; preds = %27111, %27051
  br label %27113

27113:                                            ; preds = %27112
  br label %27114

27114:                                            ; preds = %27113
  %27115 = load ptr, ptr %789, align 8, !tbaa !9
  %27116 = getelementptr inbounds %struct.s2n_connection, ptr %27115, i32 0, i32 23
  store i8 34, ptr %27116, align 4, !tbaa !98
  br label %27117

27117:                                            ; preds = %27114
  br label %27118

27118:                                            ; preds = %27117
  br label %27119

27119:                                            ; preds = %27118
  %27120 = load i32, ptr @test_count, align 4, !tbaa !5
  %27121 = add nsw i32 %27120, 1
  store i32 %27121, ptr @test_count, align 4, !tbaa !5
  %27122 = load ptr, ptr %789, align 8, !tbaa !9
  %27123 = getelementptr inbounds [163840 x i8], ptr %782, i64 0, i64 0
  %27124 = call i64 @s2n_send(ptr noundef %27122, ptr noundef %27123, i64 noundef 1, ptr noundef %794)
  %27125 = icmp eq i64 %27124, -1
  br i1 %27125, label %27179, label %27126

27126:                                            ; preds = %27119
  br label %27127

27127:                                            ; preds = %27126
  br label %27128

27128:                                            ; preds = %27127
  call void @llvm.lifetime.start.p0(i64 4, ptr %839) #11
  %27129 = call ptr @__errno_location() #12
  %27130 = load i32, ptr %27129, align 4, !tbaa !5
  store i32 %27130, ptr %839, align 4, !tbaa !5
  %27131 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27132 = call i32 @s2n_print_stacktrace(ptr noundef %27131)
  %27133 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27134 = trunc i8 %27133 to i1
  br i1 %27134, label %27135, label %27157

27135:                                            ; preds = %27128
  %27136 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27137 = call i32 @fileno(ptr noundef %27136) #11
  %27138 = call i32 @isatty(i32 noundef %27137) #11
  %27139 = icmp ne i32 %27138, 0
  br i1 %27139, label %27140, label %27157

27140:                                            ; preds = %27135
  %27141 = load i32, ptr %839, align 4, !tbaa !5
  %27142 = call ptr @__errno_location() #12
  store i32 %27141, ptr %27142, align 4, !tbaa !5
  %27143 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27144 = load i32, ptr @test_count, align 4, !tbaa !5
  %27145 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27146 = load i32, ptr %27145, align 4, !tbaa !5
  %27147 = call ptr @s2n_strerror(i32 noundef %27146, ptr noundef @.str.5)
  %27148 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27149 = load i32, ptr %27148, align 4, !tbaa !5
  %27150 = call ptr @s2n_strerror_debug(i32 noundef %27149, ptr noundef @.str.5)
  %27151 = call ptr @__errno_location() #12
  %27152 = load i32, ptr %27151, align 4, !tbaa !5
  %27153 = call ptr @strerror(i32 noundef %27152) #11
  %27154 = call ptr @__errno_location() #12
  %27155 = load i32, ptr %27154, align 4, !tbaa !5
  %27156 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27143, ptr noundef @.str.3, i32 noundef %27144, ptr noundef @.str.175, ptr noundef @.str.2, i32 noundef 1351, ptr noundef %27147, ptr noundef %27150, ptr noundef %27153, i32 noundef %27155) #11
  br label %27174

27157:                                            ; preds = %27135, %27128
  %27158 = load i32, ptr %839, align 4, !tbaa !5
  %27159 = call ptr @__errno_location() #12
  store i32 %27158, ptr %27159, align 4, !tbaa !5
  %27160 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27161 = load i32, ptr @test_count, align 4, !tbaa !5
  %27162 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27163 = load i32, ptr %27162, align 4, !tbaa !5
  %27164 = call ptr @s2n_strerror(i32 noundef %27163, ptr noundef @.str.5)
  %27165 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27166 = load i32, ptr %27165, align 4, !tbaa !5
  %27167 = call ptr @s2n_strerror_debug(i32 noundef %27166, ptr noundef @.str.5)
  %27168 = call ptr @__errno_location() #12
  %27169 = load i32, ptr %27168, align 4, !tbaa !5
  %27170 = call ptr @strerror(i32 noundef %27169) #11
  %27171 = call ptr @__errno_location() #12
  %27172 = load i32, ptr %27171, align 4, !tbaa !5
  %27173 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27160, ptr noundef @.str.6, i32 noundef %27161, ptr noundef @.str.175, ptr noundef @.str.2, i32 noundef 1351, ptr noundef %27164, ptr noundef %27167, ptr noundef %27170, i32 noundef %27172) #11
  br label %27174

27174:                                            ; preds = %27157, %27140
  call void @llvm.lifetime.end.p0(i64 4, ptr %839) #11
  br label %27175

27175:                                            ; preds = %27174
  br label %27176

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

27177:                                            ; No predecessors!
  br label %27178

27178:                                            ; preds = %27177
  br label %27179

27179:                                            ; preds = %27178, %27119
  br label %27180

27180:                                            ; preds = %27179
  br label %27181

27181:                                            ; preds = %27180
  br label %27182

27182:                                            ; preds = %27181
  %27183 = load i32, ptr @test_count, align 4, !tbaa !5
  %27184 = add nsw i32 %27183, 1
  store i32 %27184, ptr @test_count, align 4, !tbaa !5
  %27185 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27186 = load i32, ptr %27185, align 4, !tbaa !5
  %27187 = icmp eq i32 %27186, 469762132
  br i1 %27187, label %27241, label %27188

27188:                                            ; preds = %27182
  br label %27189

27189:                                            ; preds = %27188
  br label %27190

27190:                                            ; preds = %27189
  call void @llvm.lifetime.start.p0(i64 4, ptr %840) #11
  %27191 = call ptr @__errno_location() #12
  %27192 = load i32, ptr %27191, align 4, !tbaa !5
  store i32 %27192, ptr %840, align 4, !tbaa !5
  %27193 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27194 = call i32 @s2n_print_stacktrace(ptr noundef %27193)
  %27195 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27196 = trunc i8 %27195 to i1
  br i1 %27196, label %27197, label %27219

27197:                                            ; preds = %27190
  %27198 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27199 = call i32 @fileno(ptr noundef %27198) #11
  %27200 = call i32 @isatty(i32 noundef %27199) #11
  %27201 = icmp ne i32 %27200, 0
  br i1 %27201, label %27202, label %27219

27202:                                            ; preds = %27197
  %27203 = load i32, ptr %840, align 4, !tbaa !5
  %27204 = call ptr @__errno_location() #12
  store i32 %27203, ptr %27204, align 4, !tbaa !5
  %27205 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27206 = load i32, ptr @test_count, align 4, !tbaa !5
  %27207 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27208 = load i32, ptr %27207, align 4, !tbaa !5
  %27209 = call ptr @s2n_strerror(i32 noundef %27208, ptr noundef @.str.5)
  %27210 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27211 = load i32, ptr %27210, align 4, !tbaa !5
  %27212 = call ptr @s2n_strerror_debug(i32 noundef %27211, ptr noundef @.str.5)
  %27213 = call ptr @__errno_location() #12
  %27214 = load i32, ptr %27213, align 4, !tbaa !5
  %27215 = call ptr @strerror(i32 noundef %27214) #11
  %27216 = call ptr @__errno_location() #12
  %27217 = load i32, ptr %27216, align 4, !tbaa !5
  %27218 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27205, ptr noundef @.str.3, i32 noundef %27206, ptr noundef @.str.173, ptr noundef @.str.2, i32 noundef 1351, ptr noundef %27209, ptr noundef %27212, ptr noundef %27215, i32 noundef %27217) #11
  br label %27236

27219:                                            ; preds = %27197, %27190
  %27220 = load i32, ptr %840, align 4, !tbaa !5
  %27221 = call ptr @__errno_location() #12
  store i32 %27220, ptr %27221, align 4, !tbaa !5
  %27222 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27223 = load i32, ptr @test_count, align 4, !tbaa !5
  %27224 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27225 = load i32, ptr %27224, align 4, !tbaa !5
  %27226 = call ptr @s2n_strerror(i32 noundef %27225, ptr noundef @.str.5)
  %27227 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27228 = load i32, ptr %27227, align 4, !tbaa !5
  %27229 = call ptr @s2n_strerror_debug(i32 noundef %27228, ptr noundef @.str.5)
  %27230 = call ptr @__errno_location() #12
  %27231 = load i32, ptr %27230, align 4, !tbaa !5
  %27232 = call ptr @strerror(i32 noundef %27231) #11
  %27233 = call ptr @__errno_location() #12
  %27234 = load i32, ptr %27233, align 4, !tbaa !5
  %27235 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27222, ptr noundef @.str.6, i32 noundef %27223, ptr noundef @.str.173, ptr noundef @.str.2, i32 noundef 1351, ptr noundef %27226, ptr noundef %27229, ptr noundef %27232, i32 noundef %27234) #11
  br label %27236

27236:                                            ; preds = %27219, %27202
  call void @llvm.lifetime.end.p0(i64 4, ptr %840) #11
  br label %27237

27237:                                            ; preds = %27236
  br label %27238

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

27239:                                            ; No predecessors!
  br label %27240

27240:                                            ; preds = %27239
  br label %27241

27241:                                            ; preds = %27240, %27182
  br label %27242

27242:                                            ; preds = %27241
  br label %27243

27243:                                            ; preds = %27242
  br label %27244

27244:                                            ; preds = %27243
  %27245 = load i32, ptr @test_count, align 4, !tbaa !5
  %27246 = add nsw i32 %27245, 1
  store i32 %27246, ptr @test_count, align 4, !tbaa !5
  %27247 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27248 = load i32, ptr %27247, align 4, !tbaa !5
  %27249 = call ptr @s2n_strerror_debug(i32 noundef %27248, ptr noundef @.str.5)
  %27250 = icmp eq ptr %27249, null
  br i1 %27250, label %27251, label %27304

27251:                                            ; preds = %27244
  br label %27252

27252:                                            ; preds = %27251
  br label %27253

27253:                                            ; preds = %27252
  call void @llvm.lifetime.start.p0(i64 4, ptr %841) #11
  %27254 = call ptr @__errno_location() #12
  %27255 = load i32, ptr %27254, align 4, !tbaa !5
  store i32 %27255, ptr %841, align 4, !tbaa !5
  %27256 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27257 = call i32 @s2n_print_stacktrace(ptr noundef %27256)
  %27258 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27259 = trunc i8 %27258 to i1
  br i1 %27259, label %27260, label %27282

27260:                                            ; preds = %27253
  %27261 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27262 = call i32 @fileno(ptr noundef %27261) #11
  %27263 = call i32 @isatty(i32 noundef %27262) #11
  %27264 = icmp ne i32 %27263, 0
  br i1 %27264, label %27265, label %27282

27265:                                            ; preds = %27260
  %27266 = load i32, ptr %841, align 4, !tbaa !5
  %27267 = call ptr @__errno_location() #12
  store i32 %27266, ptr %27267, align 4, !tbaa !5
  %27268 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27269 = load i32, ptr @test_count, align 4, !tbaa !5
  %27270 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27271 = load i32, ptr %27270, align 4, !tbaa !5
  %27272 = call ptr @s2n_strerror(i32 noundef %27271, ptr noundef @.str.5)
  %27273 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27274 = load i32, ptr %27273, align 4, !tbaa !5
  %27275 = call ptr @s2n_strerror_debug(i32 noundef %27274, ptr noundef @.str.5)
  %27276 = call ptr @__errno_location() #12
  %27277 = load i32, ptr %27276, align 4, !tbaa !5
  %27278 = call ptr @strerror(i32 noundef %27277) #11
  %27279 = call ptr @__errno_location() #12
  %27280 = load i32, ptr %27279, align 4, !tbaa !5
  %27281 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27268, ptr noundef @.str.3, i32 noundef %27269, ptr noundef @.str.13, ptr noundef @.str.2, i32 noundef 1351, ptr noundef %27272, ptr noundef %27275, ptr noundef %27278, i32 noundef %27280) #11
  br label %27299

27282:                                            ; preds = %27260, %27253
  %27283 = load i32, ptr %841, align 4, !tbaa !5
  %27284 = call ptr @__errno_location() #12
  store i32 %27283, ptr %27284, align 4, !tbaa !5
  %27285 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27286 = load i32, ptr @test_count, align 4, !tbaa !5
  %27287 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27288 = load i32, ptr %27287, align 4, !tbaa !5
  %27289 = call ptr @s2n_strerror(i32 noundef %27288, ptr noundef @.str.5)
  %27290 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27291 = load i32, ptr %27290, align 4, !tbaa !5
  %27292 = call ptr @s2n_strerror_debug(i32 noundef %27291, ptr noundef @.str.5)
  %27293 = call ptr @__errno_location() #12
  %27294 = load i32, ptr %27293, align 4, !tbaa !5
  %27295 = call ptr @strerror(i32 noundef %27294) #11
  %27296 = call ptr @__errno_location() #12
  %27297 = load i32, ptr %27296, align 4, !tbaa !5
  %27298 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27285, ptr noundef @.str.6, i32 noundef %27286, ptr noundef @.str.13, ptr noundef @.str.2, i32 noundef 1351, ptr noundef %27289, ptr noundef %27292, ptr noundef %27295, i32 noundef %27297) #11
  br label %27299

27299:                                            ; preds = %27282, %27265
  call void @llvm.lifetime.end.p0(i64 4, ptr %841) #11
  br label %27300

27300:                                            ; preds = %27299
  br label %27301

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

27302:                                            ; No predecessors!
  br label %27303

27303:                                            ; preds = %27302
  br label %27304

27304:                                            ; preds = %27303, %27244
  br label %27305

27305:                                            ; preds = %27304
  br label %27306

27306:                                            ; preds = %27305
  br label %27307

27307:                                            ; preds = %27306
  br label %27308

27308:                                            ; preds = %27307
  br label %27309

27309:                                            ; preds = %27308
  %27310 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %27310, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %27311 = call ptr @__errno_location() #12
  store i32 0, ptr %27311, align 4, !tbaa !5
  br label %27312

27312:                                            ; preds = %27309
  br label %27313

27313:                                            ; preds = %27312
  br label %27314

27314:                                            ; preds = %27313
  br label %27315

27315:                                            ; preds = %27314
  %27316 = load ptr, ptr %789, align 8, !tbaa !9
  %27317 = getelementptr inbounds %struct.s2n_connection, ptr %27316, i32 0, i32 23
  store i8 33, ptr %27317, align 4, !tbaa !98
  br label %27318

27318:                                            ; preds = %27315
  %27319 = load i32, ptr @test_count, align 4, !tbaa !5
  %27320 = add nsw i32 %27319, 1
  store i32 %27320, ptr @test_count, align 4, !tbaa !5
  %27321 = load ptr, ptr %789, align 8, !tbaa !9
  %27322 = getelementptr inbounds [163840 x i8], ptr %782, i64 0, i64 0
  %27323 = call i64 @s2n_send(ptr noundef %27321, ptr noundef %27322, i64 noundef 1, ptr noundef %794)
  %27324 = icmp eq i64 %27323, 1
  br i1 %27324, label %27378, label %27325

27325:                                            ; preds = %27318
  br label %27326

27326:                                            ; preds = %27325
  br label %27327

27327:                                            ; preds = %27326
  call void @llvm.lifetime.start.p0(i64 4, ptr %842) #11
  %27328 = call ptr @__errno_location() #12
  %27329 = load i32, ptr %27328, align 4, !tbaa !5
  store i32 %27329, ptr %842, align 4, !tbaa !5
  %27330 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27331 = call i32 @s2n_print_stacktrace(ptr noundef %27330)
  %27332 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27333 = trunc i8 %27332 to i1
  br i1 %27333, label %27334, label %27356

27334:                                            ; preds = %27327
  %27335 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27336 = call i32 @fileno(ptr noundef %27335) #11
  %27337 = call i32 @isatty(i32 noundef %27336) #11
  %27338 = icmp ne i32 %27337, 0
  br i1 %27338, label %27339, label %27356

27339:                                            ; preds = %27334
  %27340 = load i32, ptr %842, align 4, !tbaa !5
  %27341 = call ptr @__errno_location() #12
  store i32 %27340, ptr %27341, align 4, !tbaa !5
  %27342 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27343 = load i32, ptr @test_count, align 4, !tbaa !5
  %27344 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27345 = load i32, ptr %27344, align 4, !tbaa !5
  %27346 = call ptr @s2n_strerror(i32 noundef %27345, ptr noundef @.str.5)
  %27347 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27348 = load i32, ptr %27347, align 4, !tbaa !5
  %27349 = call ptr @s2n_strerror_debug(i32 noundef %27348, ptr noundef @.str.5)
  %27350 = call ptr @__errno_location() #12
  %27351 = load i32, ptr %27350, align 4, !tbaa !5
  %27352 = call ptr @strerror(i32 noundef %27351) #11
  %27353 = call ptr @__errno_location() #12
  %27354 = load i32, ptr %27353, align 4, !tbaa !5
  %27355 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27342, ptr noundef @.str.3, i32 noundef %27343, ptr noundef @.str.169, ptr noundef @.str.2, i32 noundef 1355, ptr noundef %27346, ptr noundef %27349, ptr noundef %27352, i32 noundef %27354) #11
  br label %27373

27356:                                            ; preds = %27334, %27327
  %27357 = load i32, ptr %842, align 4, !tbaa !5
  %27358 = call ptr @__errno_location() #12
  store i32 %27357, ptr %27358, align 4, !tbaa !5
  %27359 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27360 = load i32, ptr @test_count, align 4, !tbaa !5
  %27361 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27362 = load i32, ptr %27361, align 4, !tbaa !5
  %27363 = call ptr @s2n_strerror(i32 noundef %27362, ptr noundef @.str.5)
  %27364 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27365 = load i32, ptr %27364, align 4, !tbaa !5
  %27366 = call ptr @s2n_strerror_debug(i32 noundef %27365, ptr noundef @.str.5)
  %27367 = call ptr @__errno_location() #12
  %27368 = load i32, ptr %27367, align 4, !tbaa !5
  %27369 = call ptr @strerror(i32 noundef %27368) #11
  %27370 = call ptr @__errno_location() #12
  %27371 = load i32, ptr %27370, align 4, !tbaa !5
  %27372 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27359, ptr noundef @.str.6, i32 noundef %27360, ptr noundef @.str.169, ptr noundef @.str.2, i32 noundef 1355, ptr noundef %27363, ptr noundef %27366, ptr noundef %27369, i32 noundef %27371) #11
  br label %27373

27373:                                            ; preds = %27356, %27339
  call void @llvm.lifetime.end.p0(i64 4, ptr %842) #11
  br label %27374

27374:                                            ; preds = %27373
  br label %27375

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

27376:                                            ; No predecessors!
  br label %27377

27377:                                            ; preds = %27376
  br label %27378

27378:                                            ; preds = %27377, %27318
  br label %27379

27379:                                            ; preds = %27378
  br label %27380

27380:                                            ; preds = %27379
  %27381 = call i32 @s2n_blob_zero(ptr noundef %830)
  call void @llvm.lifetime.end.p0(i64 24, ptr %830) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %794) #11
  %27382 = call i32 @s2n_connection_ptr_free(ptr noundef %789)
  %27383 = getelementptr inbounds %struct.s2n_result, ptr %843, i32 0, i32 0
  store i32 %27382, ptr %27383, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %789) #11
  br label %27384

27384:                                            ; preds = %27380
  %27385 = load i32, ptr %787, align 4, !tbaa !5
  %27386 = add i32 %27385, 1
  store i32 %27386, ptr %787, align 4, !tbaa !5
  br label %25198, !llvm.loop !101

27387:                                            ; preds = %25201
  call void @llvm.lifetime.end.p0(i64 104, ptr %786) #11
  call void @llvm.lifetime.end.p0(i64 24, ptr %785) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %784) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %783) #11
  call void @llvm.lifetime.end.p0(i64 163840, ptr %782) #11
  br label %27388

27388:                                            ; preds = %27387
  br label %27389

27389:                                            ; preds = %27388
  %27390 = call i32 @s2n_cleanup()
  %27391 = icmp eq i32 %27390, -1
  br i1 %27391, label %27392, label %27445

27392:                                            ; preds = %27389
  br label %27393

27393:                                            ; preds = %27392
  br label %27394

27394:                                            ; preds = %27393
  call void @llvm.lifetime.start.p0(i64 4, ptr %844) #11
  %27395 = call ptr @__errno_location() #12
  %27396 = load i32, ptr %27395, align 4, !tbaa !5
  store i32 %27396, ptr %844, align 4, !tbaa !5
  %27397 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27398 = call i32 @s2n_print_stacktrace(ptr noundef %27397)
  %27399 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27400 = trunc i8 %27399 to i1
  br i1 %27400, label %27401, label %27423

27401:                                            ; preds = %27394
  %27402 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27403 = call i32 @fileno(ptr noundef %27402) #11
  %27404 = call i32 @isatty(i32 noundef %27403) #11
  %27405 = icmp ne i32 %27404, 0
  br i1 %27405, label %27406, label %27423

27406:                                            ; preds = %27401
  %27407 = load i32, ptr %844, align 4, !tbaa !5
  %27408 = call ptr @__errno_location() #12
  store i32 %27407, ptr %27408, align 4, !tbaa !5
  %27409 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27410 = load i32, ptr @test_count, align 4, !tbaa !5
  %27411 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27412 = load i32, ptr %27411, align 4, !tbaa !5
  %27413 = call ptr @s2n_strerror(i32 noundef %27412, ptr noundef @.str.5)
  %27414 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27415 = load i32, ptr %27414, align 4, !tbaa !5
  %27416 = call ptr @s2n_strerror_debug(i32 noundef %27415, ptr noundef @.str.5)
  %27417 = call ptr @__errno_location() #12
  %27418 = load i32, ptr %27417, align 4, !tbaa !5
  %27419 = call ptr @strerror(i32 noundef %27418) #11
  %27420 = call ptr @__errno_location() #12
  %27421 = load i32, ptr %27420, align 4, !tbaa !5
  %27422 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27409, ptr noundef @.str.3, i32 noundef %27410, ptr noundef @.str.178, ptr noundef @.str.2, i32 noundef 1360, ptr noundef %27413, ptr noundef %27416, ptr noundef %27419, i32 noundef %27421) #11
  br label %27440

27423:                                            ; preds = %27401, %27394
  %27424 = load i32, ptr %844, align 4, !tbaa !5
  %27425 = call ptr @__errno_location() #12
  store i32 %27424, ptr %27425, align 4, !tbaa !5
  %27426 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27427 = load i32, ptr @test_count, align 4, !tbaa !5
  %27428 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27429 = load i32, ptr %27428, align 4, !tbaa !5
  %27430 = call ptr @s2n_strerror(i32 noundef %27429, ptr noundef @.str.5)
  %27431 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27432 = load i32, ptr %27431, align 4, !tbaa !5
  %27433 = call ptr @s2n_strerror_debug(i32 noundef %27432, ptr noundef @.str.5)
  %27434 = call ptr @__errno_location() #12
  %27435 = load i32, ptr %27434, align 4, !tbaa !5
  %27436 = call ptr @strerror(i32 noundef %27435) #11
  %27437 = call ptr @__errno_location() #12
  %27438 = load i32, ptr %27437, align 4, !tbaa !5
  %27439 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27426, ptr noundef @.str.6, i32 noundef %27427, ptr noundef @.str.178, ptr noundef @.str.2, i32 noundef 1360, ptr noundef %27430, ptr noundef %27433, ptr noundef %27436, i32 noundef %27438) #11
  br label %27440

27440:                                            ; preds = %27423, %27406
  call void @llvm.lifetime.end.p0(i64 4, ptr %844) #11
  br label %27441

27441:                                            ; preds = %27440
  br label %27442

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

27443:                                            ; No predecessors!
  br label %27444

27444:                                            ; preds = %27443
  br label %27445

27445:                                            ; preds = %27444, %27389
  br label %27446

27446:                                            ; preds = %27445
  br label %27447

27447:                                            ; preds = %27446
  br label %27448

27448:                                            ; preds = %27447
  br label %27449

27449:                                            ; preds = %27448
  %27450 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext false)
  %27451 = icmp eq i32 %27450, -1
  br i1 %27451, label %27452, label %27505

27452:                                            ; preds = %27449
  br label %27453

27453:                                            ; preds = %27452
  br label %27454

27454:                                            ; preds = %27453
  call void @llvm.lifetime.start.p0(i64 4, ptr %845) #11
  %27455 = call ptr @__errno_location() #12
  %27456 = load i32, ptr %27455, align 4, !tbaa !5
  store i32 %27456, ptr %845, align 4, !tbaa !5
  %27457 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27458 = call i32 @s2n_print_stacktrace(ptr noundef %27457)
  %27459 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27460 = trunc i8 %27459 to i1
  br i1 %27460, label %27461, label %27483

27461:                                            ; preds = %27454
  %27462 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27463 = call i32 @fileno(ptr noundef %27462) #11
  %27464 = call i32 @isatty(i32 noundef %27463) #11
  %27465 = icmp ne i32 %27464, 0
  br i1 %27465, label %27466, label %27483

27466:                                            ; preds = %27461
  %27467 = load i32, ptr %845, align 4, !tbaa !5
  %27468 = call ptr @__errno_location() #12
  store i32 %27467, ptr %27468, align 4, !tbaa !5
  %27469 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27470 = load i32, ptr @test_count, align 4, !tbaa !5
  %27471 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27472 = load i32, ptr %27471, align 4, !tbaa !5
  %27473 = call ptr @s2n_strerror(i32 noundef %27472, ptr noundef @.str.5)
  %27474 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27475 = load i32, ptr %27474, align 4, !tbaa !5
  %27476 = call ptr @s2n_strerror_debug(i32 noundef %27475, ptr noundef @.str.5)
  %27477 = call ptr @__errno_location() #12
  %27478 = load i32, ptr %27477, align 4, !tbaa !5
  %27479 = call ptr @strerror(i32 noundef %27478) #11
  %27480 = call ptr @__errno_location() #12
  %27481 = load i32, ptr %27480, align 4, !tbaa !5
  %27482 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27469, ptr noundef @.str.3, i32 noundef %27470, ptr noundef @.str.179, ptr noundef @.str.2, i32 noundef 1360, ptr noundef %27473, ptr noundef %27476, ptr noundef %27479, i32 noundef %27481) #11
  br label %27500

27483:                                            ; preds = %27461, %27454
  %27484 = load i32, ptr %845, align 4, !tbaa !5
  %27485 = call ptr @__errno_location() #12
  store i32 %27484, ptr %27485, align 4, !tbaa !5
  %27486 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27487 = load i32, ptr @test_count, align 4, !tbaa !5
  %27488 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27489 = load i32, ptr %27488, align 4, !tbaa !5
  %27490 = call ptr @s2n_strerror(i32 noundef %27489, ptr noundef @.str.5)
  %27491 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27492 = load i32, ptr %27491, align 4, !tbaa !5
  %27493 = call ptr @s2n_strerror_debug(i32 noundef %27492, ptr noundef @.str.5)
  %27494 = call ptr @__errno_location() #12
  %27495 = load i32, ptr %27494, align 4, !tbaa !5
  %27496 = call ptr @strerror(i32 noundef %27495) #11
  %27497 = call ptr @__errno_location() #12
  %27498 = load i32, ptr %27497, align 4, !tbaa !5
  %27499 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27486, ptr noundef @.str.6, i32 noundef %27487, ptr noundef @.str.179, ptr noundef @.str.2, i32 noundef 1360, ptr noundef %27490, ptr noundef %27493, ptr noundef %27496, i32 noundef %27498) #11
  br label %27500

27500:                                            ; preds = %27483, %27466
  call void @llvm.lifetime.end.p0(i64 4, ptr %845) #11
  br label %27501

27501:                                            ; preds = %27500
  br label %27502

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

27503:                                            ; No predecessors!
  br label %27504

27504:                                            ; preds = %27503
  br label %27505

27505:                                            ; preds = %27504, %27449
  br label %27506

27506:                                            ; preds = %27505
  br label %27507

27507:                                            ; preds = %27506
  %27508 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27509 = trunc i8 %27508 to i1
  br i1 %27509, label %27510, label %27526

27510:                                            ; preds = %27507
  %27511 = load ptr, ptr @stdout, align 8, !tbaa !9
  %27512 = call i32 @fileno(ptr noundef %27511) #11
  %27513 = call i32 @isatty(i32 noundef %27512) #11
  %27514 = icmp ne i32 %27513, 0
  br i1 %27514, label %27515, label %27526

27515:                                            ; preds = %27510
  %27516 = load i32, ptr @test_count, align 4, !tbaa !5
  %27517 = icmp ne i32 %27516, 0
  br i1 %27517, label %27518, label %27522

27518:                                            ; preds = %27515
  %27519 = load ptr, ptr @stdout, align 8, !tbaa !9
  %27520 = load i32, ptr @test_count, align 4, !tbaa !5
  %27521 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27519, ptr noundef @.str.180, i32 noundef %27520) #11
  br label %27525

27522:                                            ; preds = %27515
  %27523 = load ptr, ptr @stdout, align 8, !tbaa !9
  %27524 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27523, ptr noundef @.str.181) #11
  br label %27525

27525:                                            ; preds = %27522, %27518
  br label %27537

27526:                                            ; preds = %27510, %27507
  %27527 = load i32, ptr @test_count, align 4, !tbaa !5
  %27528 = icmp ne i32 %27527, 0
  br i1 %27528, label %27529, label %27533

27529:                                            ; preds = %27526
  %27530 = load ptr, ptr @stdout, align 8, !tbaa !9
  %27531 = load i32, ptr @test_count, align 4, !tbaa !5
  %27532 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27530, ptr noundef @.str.182, i32 noundef %27531) #11
  br label %27536

27533:                                            ; preds = %27526
  %27534 = load ptr, ptr @stdout, align 8, !tbaa !9
  %27535 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27534, ptr noundef @.str.183) #11
  br label %27536

27536:                                            ; preds = %27533, %27529
  br label %27537

27537:                                            ; preds = %27536, %27525
  store i32 0, ptr %3, align 4
  store i32 1, ptr %788, align 4
  br label %27542

27538:                                            ; No predecessors!
  br label %27539

27539:                                            ; preds = %27538
  br label %27540

27540:                                            ; preds = %27539
  br label %27541

27541:                                            ; preds = %27540
  store i32 0, ptr %788, align 4
  br label %27542

27542:                                            ; preds = %27541, %27537
  call void @llvm.lifetime.end.p0(i64 24, ptr %11) #11
  call void @llvm.lifetime.end.p0(i64 16384, ptr %10) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %9) #11
  %27543 = load i32, ptr %788, align 4
  switch i32 %27543, label %27546 [
    i32 0, label %27544
    i32 1, label %27544
  ]

27544:                                            ; preds = %27542, %27542
  %27545 = load i32, ptr %3, align 4
  ret i32 %27545

27546:                                            ; preds = %27542
  unreachable
}

; Function Attrs: nounwind
declare i32 @fprintf(ptr noundef, ptr noundef, ...) #3

declare i32 @fflush(ptr noundef) #4

declare i32 @s2n_in_unit_test_set(i1 noundef zeroext) #4

; Function Attrs: nounwind willreturn memory(none)
declare ptr @__errno_location() #5

declare i32 @s2n_print_stacktrace(ptr noundef) #4

; Function Attrs: nounwind
declare i32 @isatty(i32 noundef) #3

; Function Attrs: nounwind
declare i32 @fileno(ptr noundef) #3

declare ptr @s2n_strerror(i32 noundef, ptr noundef) #4

declare ptr @s2n_strerror_debug(i32 noundef, ptr noundef) #4

; Function Attrs: nounwind
declare ptr @strerror(i32 noundef) #3

; Function Attrs: noreturn nounwind
declare void @exit(i32 noundef) #6

declare i32 @s2n_enable_atexit() #4

declare i32 @s2n_init() #4

; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: write)
declare void @llvm.memset.p0.i64(ptr nocapture writeonly, i8, i64, i1 immarg) #7

declare i32 @s2n_blob_init(ptr noundef, ptr noundef, i32 noundef) #4

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

declare i32 @s2n_get_public_random_data(ptr noundef) #4

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

declare i32 @s2n_ktls_set_control_data(ptr noundef, ptr noundef, i64 noundef, i32 noundef, i8 noundef zeroext) #4

declare void @s2n_debug_info_reset() #4

declare i32 @s2n_ktls_get_control_data(ptr noundef, i32 noundef, ptr noundef) #4

declare i32 @s2n_ktls_sendmsg(ptr noundef, i8 noundef zeroext, ptr noundef, i64 noundef, ptr noundef, ptr noundef) #4

declare ptr @s2n_connection_new(i32 noundef) #4

declare i32 @s2n_connection_ptr_free(ptr noundef) #4

declare i32 @s2n_ktls_io_stuffer_free(ptr noundef) #4

declare i32 @s2n_test_init_ktls_io_stuffer_send(ptr noundef, ptr noundef) #4

declare i32 @s2n_test_validate_ancillary(ptr noundef, i8 noundef zeroext, i16 noundef zeroext) #4

declare i32 @s2n_test_validate_data(ptr noundef, ptr noundef, i16 noundef zeroext) #4

declare i32 @s2n_ktls_set_sendmsg_cb(ptr noundef, ptr noundef, ptr noundef) #4

; Function Attrs: nounwind uwtable
declare hidden i64 @s2n_test_ktls_sendmsg_fail(ptr noundef, ptr noundef) #0

; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: readwrite)
declare void @llvm.memcpy.p0.p0.i64(ptr noalias nocapture writeonly, ptr noalias nocapture readonly, i64, i1 immarg) #9

declare i32 @s2n_ktls_recvmsg(ptr noundef, ptr noundef, ptr noundef, i64 noundef, ptr noundef, ptr noundef) #4

declare i32 @s2n_ktls_io_stuffer_pair_free(ptr noundef) #4

declare i32 @s2n_test_init_ktls_io_stuffer(ptr noundef, ptr noundef, ptr noundef) #4

; Function Attrs: nounwind willreturn memory(read)
declare i32 @memcmp(ptr noundef, ptr noundef, i64 noundef) #10

declare i32 @s2n_ktls_set_recvmsg_cb(ptr noundef, ptr noundef, ptr noundef) #4

; Function Attrs: nounwind uwtable
declare hidden i64 @s2n_test_ktls_recvmsg_fail(ptr noundef, ptr noundef) #0

; Function Attrs: nounwind uwtable
declare hidden i64 @s2n_test_ktls_recvmsg_eof(ptr noundef, ptr noundef) #0

declare i64 @s2n_ktls_sendv_with_offset(ptr noundef, ptr noundef, i64 noundef, i64 noundef, ptr noundef) #4

declare i32 @s2n_test_records_in_ancillary(ptr noundef, i16 noundef zeroext) #4

declare i32 @s2n_test_iovecs_free(ptr noundef) #4

declare i32 @s2n_test_new_iovecs(ptr noundef, ptr noundef, ptr noundef, i64 noundef) #4

; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: readwrite)
declare void @llvm.memmove.p0.p0.i64(ptr nocapture writeonly, ptr nocapture readonly, i64, i1 immarg) #9

declare i32 @s2n_stuffer_free(ptr noundef) #4

declare i32 @s2n_stuffer_alloc(ptr noundef, i32 noundef) #4

declare i32 @s2n_stuffer_resize(ptr noundef, i32 noundef) #4

declare i32 @s2n_mem_test_free_callbacks(ptr noundef) #4

declare i32 @s2n_mem_test_init_callbacks(ptr noundef) #4

declare i32 @s2n_mem_test_assert_malloc_count(i32 noundef) #4

declare i32 @s2n_mem_test_assert_malloc(i32 noundef) #4

declare i32 @s2n_mem_test_assert_all_freed(...) #4

declare i32 @s2n_ktls_send_cb(ptr noundef, ptr noundef, i32 noundef) #4

declare i32 @s2n_ktls_record_writev(ptr noundef, i8 noundef zeroext, ptr noundef, i32 noundef, i64 noundef, i64 noundef) #4

declare ptr @s2n_stuffer_raw_read(ptr noundef, i32 noundef) #4

declare i32 @s2n_ktls_read_full_record(ptr noundef, ptr noundef) #4

declare i32 @s2n_stuffer_write_bytes(ptr noundef, ptr noundef, i32 noundef) #4

declare i32 @s2n_stuffer_wipe(ptr noundef) #4

declare i32 @s2n_record_wipe(ptr noundef) #4

; Function Attrs: nounwind uwtable
declare hidden i64 @s2n_test_ktls_sendmsg_mark_all_sent(ptr noundef, ptr noundef) #0

declare i32 @s2n_blob_zero(ptr noundef) #4

declare i32 @s2n_connection_get_sequence_number(ptr noundef, i32 noundef, ptr noundef) #4

; Function Attrs: nounwind uwtable
declare hidden i32 @s2n_assert_seq_num_equal(ptr noundef byval(%struct.s2n_blob) align 8, i64 noundef) #0

declare i64 @s2n_send(ptr noundef, ptr noundef, i64 noundef, ptr noundef) #4

declare i32 @s2n_cleanup() #4

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 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) }
attributes #2 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #3 = { 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 #4 = { "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 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 #6 = { noreturn nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #7 = { nocallback nofree nounwind willreturn memory(argmem: write) }
attributes #8 = { 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 #9 = { nocallback nofree nounwind willreturn memory(argmem: readwrite) }
attributes #10 = { nounwind willreturn memory(read) "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #11 = { nounwind }
attributes #12 = { nounwind willreturn memory(none) }
attributes #13 = { noreturn nounwind }
attributes #14 = { nounwind willreturn memory(read) }

!llvm.module.flags = !{!0, !1, !2, !3}
!llvm.ident = !{!4}

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"int", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C/C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"any pointer", !7, i64 0}
!11 = !{!12, !12, i64 0}
!12 = !{!"_Bool", !7, i64 0}
!13 = !{i8 0, i8 2}
!14 = !{}
!15 = !{!7, !7, i64 0}
!16 = !{!17, !10, i64 0}
!17 = !{!"iovec", !10, i64 0, !18, i64 8}
!18 = !{!"long", !7, i64 0}
!19 = !{!17, !18, i64 8}
!20 = !{!18, !18, i64 0}
!21 = !{!22, !10, i64 64}
!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, !18, i64 168, !18, i64 176, !7, i64 184, !7, i64 216, !7, i64 217, !7, i64 218, !7, i64 219, !7, i64 220, !7, i64 221, !7, i64 222, !10, i64 224, !10, i64 232, !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, !18, 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, !18, i64 2224, !7, i64 2232, !18, i64 2240, !18, i64 2248, !18, 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", !18, 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 = !{!48, !18, i64 80}
!48 = !{!"s2n_test_ktls_io_stuffer", !37, i64 0, !37, i64 40, !18, i64 80, !18, i64 88}
!49 = distinct !{!49, !50}
!50 = !{!"llvm.loop.mustprogress"}
!51 = !{!48, !6, i64 28}
!52 = !{!48, !6, i64 24}
!53 = distinct !{!53, !50}
!54 = !{!55, !18, i64 0}
!55 = !{!"s2n_test_ktls_io_fail_ctx", !18, i64 0, !18, i64 8}
!56 = !{!55, !18, i64 8}
!57 = !{!22, !10, i64 72}
!58 = !{!59, !18, i64 80}
!59 = !{!"s2n_test_ktls_io_stuffer_pair", !48, i64 0, !48, i64 96}
!60 = !{!59, !18, i64 88}
!61 = distinct !{!61, !50}
!62 = distinct !{!62, !50}
!63 = !{!64, !10, i64 0}
!64 = !{!"s2n_test_iovecs", !10, i64 0, !18, i64 8}
!65 = !{!64, !18, i64 8}
!66 = distinct !{!66, !50}
!67 = distinct !{!67, !50}
!68 = distinct !{!68, !50}
!69 = !{!70, !10, i64 0}
!70 = !{!"", !10, i64 0, !18, i64 8, !6, i64 16, !6, i64 20}
!71 = !{!70, !18, i64 8}
!72 = !{!70, !6, i64 16}
!73 = !{!70, !6, i64 20}
!74 = distinct !{!74, !50}
!75 = !{!22, !6, i64 1908}
!76 = !{!22, !6, i64 1924}
!77 = !{!22, !6, i64 1920}
!78 = !{!22, !6, i64 1828}
!79 = !{!22, !6, i64 1864}
!80 = !{!22, !6, i64 1884}
!81 = !{!22, !6, i64 1880}
!82 = !{i64 0, i64 8, !9, i64 8, i64 8, !20}
!83 = !{!22, !6, i64 1824}
!84 = !{!22, !6, i64 1844}
!85 = distinct !{!85, !50}
!86 = !{!87, !10, i64 48}
!87 = !{!"s2n_cipher_suite", !6, i64 0, !10, i64 8, !10, i64 16, !7, i64 24, !10, i64 32, !6, i64 40, !10, i64 48, !7, i64 56, !7, i64 72, !10, i64 80, !10, i64 88, !6, i64 96, !7, i64 100}
!88 = !{i64 0, i64 8, !9, i64 8, i64 4, !5, i64 12, i64 4, !5, i64 16, i64 8, !20}
!89 = !{!90, !18, i64 16}
!90 = !{!"s2n_record_algorithm", !10, i64 0, !6, i64 8, !6, i64 12, !18, i64 16}
!91 = !{i64 0, i64 1, !15, i64 8, i64 8, !9, i64 16, i64 8, !9, i64 24, i64 2, !15, i64 32, i64 8, !9, i64 40, i64 4, !5, i64 48, i64 8, !9, i64 56, i64 16, !15, i64 72, i64 1, !15, i64 80, i64 8, !9, i64 88, i64 8, !9, i64 96, i64 4, !5, i64 100, i64 1, !15}
!92 = !{!22, !10, i64 232}
!93 = !{!94, !10, i64 0}
!94 = !{!"s2n_crypto_parameters", !10, i64 0, !95, i64 8, !95, i64 16, !96, i64 24, !96, i64 456, !7, i64 888, !7, i64 904, !7, i64 920, !7, i64 928}
!95 = !{!"s2n_session_key", !10, i64 0}
!96 = !{!"s2n_hmac_state", !6, i64 0, !36, i64 4, !6, i64 8, !36, i64 12, !7, i64 14, !97, i64 16, !97, i64 72, !97, i64 128, !97, i64 184, !7, i64 240, !7, i64 368}
!97 = !{!"s2n_hash_state", !10, i64 0, !6, i64 8, !7, i64 12, !18, i64 16, !7, i64 24}
!98 = !{!22, !7, i64 220}
!99 = !{!22, !6, i64 148}
!100 = distinct !{!100, !50}
!101 = distinct !{!101, !50}


; 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_ktls_io_fail_ctx = type { i64, i64 }
%struct.s2n_cipher_suite = type { i8, ptr, ptr, [2 x i8], ptr, i32, ptr, [2 x ptr], i8, ptr, ptr, i32, i8 }
%struct.s2n_blob = type { ptr, i32, i32, i8 }
%struct.msghdr = type { ptr, i32, ptr, i64, ptr, i64, i32 }
%struct.s2n_test_ktls_io_stuffer = type { %struct.s2n_stuffer, %struct.s2n_stuffer, i64, i64 }
%struct.s2n_stuffer = type { %struct.s2n_blob, i32, i32, i32, i8 }
%struct.iovec = type { ptr, i64 }
%struct.s2n_test_ktls_io_stuffer_pair = type { %struct.s2n_test_ktls_io_stuffer, %struct.s2n_test_ktls_io_stuffer }
%struct.s2n_connection = type { i32, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, [22 x i8], [22 x i8], [22 x i8], i32, i32, %struct.s2n_timer, i64, i64, [32 x i8], i8, i8, i8, i8, i8, i8, i8, ptr, ptr, %struct.s2n_secrets, ptr, ptr, %struct.s2n_kex_parameters, %struct.s2n_handshake_parameters, %struct.s2n_psk_parameters, ptr, i8, i32, [5 x i8], %struct.s2n_stuffer, %struct.s2n_stuffer, %struct.s2n_stuffer, %struct.s2n_stuffer, i32, i64, [2 x i8], %struct.s2n_stuffer, i8, i8, i8, i8, %struct.s2n_atomic_flag, %struct.s2n_atomic_flag, %struct.s2n_handshake, i16, i32, i16, i64, i8, i64, i64, i64, %struct.s2n_atomic_flag, %struct.s2n_atomic_flag, [256 x i8], [256 x i8], i32, %struct.s2n_blob, i32, %struct.s2n_blob, %struct.s2n_blob, %struct.s2n_blob, %struct.s2n_client_hello, %struct.s2n_x509_validator, ptr, ptr, i8, i32, %struct.s2n_blob, i32, %struct.s2n_ticket_fields, [138 x i8], %struct.s2n_stuffer, %struct.s2n_blob, %struct.s2n_blob, i8, i8, i8, i16, i16, i32, i32, %struct.s2n_blob, i32, %struct.s2n_post_handshake, %struct.s2n_atomic_flag, i8, i8 }
%struct.s2n_timer = type { i64 }
%struct.s2n_secrets = type { %union.anon, i32 }
%union.anon = type { %struct.s2n_tls13_secrets }
%struct.s2n_tls13_secrets = type { [48 x i8], [48 x i8], [48 x i8], [48 x i8], [48 x i8], [48 x i8], [48 x i8], [48 x i8], i32 }
%struct.s2n_kex_parameters = type { %struct.s2n_dh_params, %struct.s2n_ecc_evp_params, [4 x ptr], %struct.s2n_ecc_evp_params, %struct.s2n_kem_group_params, %struct.s2n_kem_group_params, [8 x ptr], %struct.s2n_kem_params, %struct.s2n_blob, %struct.s2n_blob }
%struct.s2n_dh_params = type { ptr }
%struct.s2n_ecc_evp_params = type { ptr, ptr }
%struct.s2n_kem_group_params = type { ptr, %struct.s2n_kem_params, %struct.s2n_ecc_evp_params }
%struct.s2n_kem_params = type { ptr, %struct.s2n_blob, %struct.s2n_blob, %struct.s2n_blob, i8 }
%struct.s2n_handshake_parameters = type { %struct.s2n_pkey, %struct.s2n_pkey, %struct.s2n_blob, i32, %struct.s2n_sig_scheme_list, ptr, ptr, ptr, [4 x ptr], [4 x ptr], i8, i8, [32 x i8], [32 x i8] }
%struct.s2n_pkey = type { ptr, ptr, ptr, ptr, ptr, ptr }
%struct.s2n_sig_scheme_list = type { [128 x i16], i8 }
%struct.s2n_psk_parameters = type { i32, %struct.s2n_array, i16, i16, ptr, i32 }
%struct.s2n_array = type { %struct.s2n_blob, i32, i32 }
%struct.s2n_handshake = type { %struct.s2n_stuffer, ptr, [8 x i8], [48 x i8], [48 x i8], i8, i32, i32, i32, i32, %struct.s2n_offered_early_data, i8, i32 }
%struct.s2n_offered_early_data = type { ptr }
%struct.s2n_client_hello = type { %struct.s2n_blob, %struct.s2n_parsed_extensions_list, %struct.s2n_blob, %struct.s2n_blob, %struct.s2n_blob, i8, i8, i8 }
%struct.s2n_parsed_extensions_list = type { [21 x %struct.s2n_parsed_extension], %struct.s2n_blob, i16 }
%struct.s2n_parsed_extension = type { %struct.s2n_blob, i16, i16, i8 }
%struct.s2n_x509_validator = type { ptr, ptr, i8, i8, i16, ptr, i32, ptr, %struct.s2n_cert_validation_info, i8 }
%struct.s2n_cert_validation_info = type { i8, [3 x i8] }
%struct.s2n_ticket_fields = type { %struct.s2n_blob, i32 }
%struct.s2n_post_handshake = type { %struct.s2n_stuffer, [4 x i8] }
%struct.s2n_atomic_flag = type { i32 }
%struct.s2n_test_iovecs = type { ptr, i64 }
%struct.anon = type { ptr, i64, i32, i32 }
%struct.s2n_mem_test_cb_scope = type { i8 }
%struct.s2n_record_algorithm = type { ptr, i32, i32, i64 }

@s2n_use_color_in_output = external dso_local local_unnamed_addr global i8, align 1
@s2n_errno = external thread_local local_unnamed_addr global i32, align 4
@test_count = external dso_local local_unnamed_addr global i32, align 4
@stdout = external local_unnamed_addr global ptr, align 8
@.str.1 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.2 = external hidden unnamed_addr constant [75 x i8], align 1
@stderr = external local_unnamed_addr global ptr, align 8
@.str.3 = external hidden unnamed_addr constant [101 x i8], align 1
@.str.4 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [90 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [89 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [96 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [43 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [97 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [80 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [89 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [81 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [109 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [92 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [99 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [126 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [41 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [116 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [122 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [116 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [86 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [130 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [37 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [44 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [93 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [81 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [129 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [45 x i8], align 1
@.str.37 = external hidden unnamed_addr constant [101 x i8], align 1
@.str.38 = external hidden unnamed_addr constant [89 x i8], align 1
@.str.39 = external hidden unnamed_addr constant [113 x i8], align 1
@.str.40 = external hidden unnamed_addr constant [133 x i8], align 1
@.str.41 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.42 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.43 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.44 = external hidden unnamed_addr constant [100 x i8], align 1
@.str.45 = external hidden unnamed_addr constant [43 x i8], align 1
@__const.main.io_ctx = external hidden unnamed_addr constant %struct.s2n_test_ktls_io_fail_ctx, align 8
@.str.46 = external hidden unnamed_addr constant [43 x i8], align 1
@.str.47 = external hidden unnamed_addr constant [140 x i8], align 1
@.str.48 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.49 = external hidden unnamed_addr constant [139 x i8], align 1
@.str.50 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.51 = external hidden unnamed_addr constant [119 x i8], align 1
@.str.52 = external hidden unnamed_addr constant [106 x i8], align 1
@.str.53 = external hidden unnamed_addr constant [115 x i8], align 1
@.str.54 = external hidden unnamed_addr constant [115 x i8], align 1
@.str.55 = external hidden unnamed_addr constant [112 x i8], align 1
@.str.56 = external hidden unnamed_addr constant [123 x i8], align 1
@.str.57 = external hidden unnamed_addr constant [45 x i8], align 1
@.str.58 = external hidden unnamed_addr constant [87 x i8], align 1
@.str.59 = external hidden unnamed_addr constant [129 x i8], align 1
@.str.60 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.61 = external hidden unnamed_addr constant [45 x i8], align 1
@.str.62 = external hidden unnamed_addr constant [62 x i8], align 1
@.str.63 = external hidden unnamed_addr constant [62 x i8], align 1
@.str.64 = external hidden unnamed_addr constant [132 x i8], align 1
@.str.65 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.66 = external hidden unnamed_addr constant [92 x i8], align 1
@.str.67 = external hidden unnamed_addr constant [100 x i8], align 1
@__const.main.io_ctx.68 = external hidden unnamed_addr constant %struct.s2n_test_ktls_io_fail_ctx, align 8
@.str.69 = external hidden unnamed_addr constant [99 x i8], align 1
@.str.70 = external hidden unnamed_addr constant [45 x i8], align 1
@.str.71 = external hidden unnamed_addr constant [128 x i8], align 1
@.str.72 = external hidden unnamed_addr constant [93 x i8], align 1
@.str.73 = external hidden unnamed_addr constant [87 x i8], align 1
@.str.74 = external hidden unnamed_addr constant [87 x i8], align 1
@.str.75 = external hidden unnamed_addr constant [90 x i8], align 1
@.str.76 = external hidden unnamed_addr constant [89 x i8], align 1
@.str.77 = external hidden unnamed_addr constant [55 x i8], align 1
@.str.78 = external hidden unnamed_addr constant [89 x i8], align 1
@.str.79 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.80 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.81 = external hidden unnamed_addr constant [100 x i8], align 1
@.str.82 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.83 = external hidden unnamed_addr constant [88 x i8], align 1
@.str.84 = external hidden unnamed_addr constant [90 x i8], align 1
@__const.main.io_ctx.85 = external hidden unnamed_addr constant %struct.s2n_test_ktls_io_fail_ctx, align 8
@.str.86 = external hidden unnamed_addr constant [98 x i8], align 1
@.str.87 = external hidden unnamed_addr constant [87 x i8], align 1
@.str.88 = external hidden unnamed_addr constant [83 x i8], align 1
@.str.89 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.90 = external hidden unnamed_addr constant [84 x i8], align 1
@.str.91 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.92 = external hidden unnamed_addr constant [149 x i8], align 1
@.str.93 = external hidden unnamed_addr constant [45 x i8], align 1
@.str.95 = external hidden unnamed_addr constant [173 x i8], align 1
@.str.96 = external hidden unnamed_addr constant [32 x i8], align 1
@.str.97 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.98 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.100 = external hidden unnamed_addr constant [41 x i8], align 1
@.str.101 = external hidden unnamed_addr constant [84 x i8], align 1
@.str.102 = external hidden unnamed_addr constant [95 x i8], align 1
@.str.103 = external hidden unnamed_addr constant [63 x i8], align 1
@.str.104 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.105 = external hidden unnamed_addr constant [32 x i8], align 1
@.str.106 = external hidden unnamed_addr constant [77 x i8], align 1
@__const.main.io_ctx.107 = external hidden unnamed_addr constant %struct.s2n_test_ktls_io_fail_ctx, align 8
@.str.108 = external hidden unnamed_addr constant [115 x i8], align 1
@.str.109 = external hidden unnamed_addr constant [115 x i8], align 1
@.str.110 = external hidden unnamed_addr constant [80 x i8], align 1
@.str.111 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.112 = external hidden unnamed_addr constant [67 x i8], align 1
@.str.113 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.114 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.115 = external hidden unnamed_addr constant [89 x i8], align 1
@.str.116 = external hidden unnamed_addr constant [63 x i8], align 1
@.str.117 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.118 = external hidden unnamed_addr constant [63 x i8], align 1
@.str.119 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.120 = external hidden unnamed_addr constant [81 x i8], align 1
@.str.121 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.122 = external hidden unnamed_addr constant [88 x i8], align 1
@.str.123 = external hidden unnamed_addr constant [90 x i8], align 1
@.str.124 = external hidden unnamed_addr constant [95 x i8], align 1
@.str.125 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.126 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.127 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.128 = external hidden unnamed_addr constant [73 x i8], align 1
@.str.129 = external hidden unnamed_addr constant [84 x i8], align 1
@.str.130 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.131 = external hidden unnamed_addr constant [86 x i8], align 1
@.str.132 = external hidden unnamed_addr constant [66 x i8], align 1
@.str.133 = external hidden unnamed_addr constant [80 x i8], align 1
@.str.134 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.135 = external hidden unnamed_addr constant [77 x i8], align 1
@.str.136 = external hidden unnamed_addr constant [69 x i8], align 1
@.str.137 = external hidden unnamed_addr constant [80 x i8], align 1
@.str.138 = external hidden unnamed_addr constant [93 x i8], align 1
@.str.139 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.140 = external hidden unnamed_addr constant [74 x i8], align 1
@.str.141 = external hidden unnamed_addr constant [35 x i8], align 1
@.str.142 = external hidden unnamed_addr constant [64 x i8], align 1
@.str.143 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.144 = external hidden unnamed_addr constant [88 x i8], align 1
@.str.145 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.146 = external hidden unnamed_addr constant [99 x i8], align 1
@.str.147 = external hidden unnamed_addr constant [43 x i8], align 1
@.str.148 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.149 = external hidden unnamed_addr constant [90 x i8], align 1
@.str.150 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.151 = external hidden unnamed_addr constant [82 x i8], align 1
@.str.152 = external hidden unnamed_addr constant [73 x i8], align 1
@.str.153 = external hidden unnamed_addr constant [95 x i8], align 1
@.str.154 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.155 = external hidden unnamed_addr constant [35 x i8], align 1
@.str.156 = external hidden unnamed_addr constant [82 x i8], align 1
@.str.157 = external hidden unnamed_addr constant [62 x i8], align 1
@.str.158 = external hidden unnamed_addr constant [56 x i8], align 1
@.str.159 = external hidden unnamed_addr constant [96 x i8], align 1
@.str.160 = external hidden unnamed_addr constant [88 x i8], align 1
@.str.161 = external hidden unnamed_addr constant [83 x i8], align 1
@.str.162 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.163 = external hidden unnamed_addr constant [49 x i8], align 1
@s2n_tls13_aes_128_gcm_sha256 = external local_unnamed_addr global %struct.s2n_cipher_suite, align 8
@.str.164 = external hidden unnamed_addr constant [104 x i8], align 1
@.str.165 = external hidden unnamed_addr constant [47 x i8], align 1
@.str.166 = external hidden unnamed_addr constant [94 x i8], align 1
@.str.167 = external hidden unnamed_addr constant [83 x i8], align 1
@.str.168 = external hidden unnamed_addr constant [67 x i8], align 1
@.str.169 = external hidden unnamed_addr constant [67 x i8], align 1
@.str.170 = external hidden unnamed_addr constant [83 x i8], align 1
@.str.171 = external hidden unnamed_addr constant [91 x i8], align 1
@.str.172 = external hidden unnamed_addr constant [92 x i8], align 1
@.str.173 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.174 = external hidden unnamed_addr constant [88 x i8], align 1
@.str.175 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.176 = external hidden unnamed_addr constant [111 x i8], align 1
@.str.177 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.178 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.179 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.180 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.181 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.182 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.183 = external hidden unnamed_addr constant [25 x i8], align 1

; Function Attrs: nounwind uwtable
declare dso_local i64 @s2n_test_ktls_recvmsg_io_stuffer_and_ctrunc(ptr noundef, ptr noundef) #0

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

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

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

; Function Attrs: nounwind uwtable
define dso_local noundef i32 @main(i32 noundef %0, ptr nocapture noundef readnone %1) local_unnamed_addr #0 {
  %3 = alloca [16384 x i8], align 16
  %4 = alloca %struct.s2n_blob, align 8
  %5 = alloca %struct.msghdr, align 8
  %6 = alloca [100 x i8], align 16
  %7 = alloca i8, align 1
  %8 = alloca %struct.msghdr, align 8
  %9 = alloca [100 x i8], align 16
  %10 = alloca i8, align 1
  %11 = alloca %struct.msghdr, align 8
  %12 = alloca [100 x i8], align 16
  %13 = alloca i8, align 1
  %14 = alloca %struct.s2n_test_ktls_io_stuffer, align 8
  %15 = alloca %struct.iovec, align 8
  %16 = alloca i32, align 4
  %17 = alloca i64, align 8
  %18 = alloca ptr, align 8
  %19 = alloca %struct.s2n_test_ktls_io_stuffer, align 8
  %20 = alloca %struct.iovec, align 8
  %21 = alloca i32, align 4
  %22 = alloca i64, align 8
  %23 = alloca ptr, align 8
  %24 = alloca %struct.s2n_test_ktls_io_stuffer, align 8
  %25 = alloca [5 x %struct.iovec], align 16
  %26 = alloca i32, align 4
  %27 = alloca i64, align 8
  %28 = alloca ptr, align 8
  %29 = alloca %struct.s2n_test_ktls_io_stuffer, align 8
  %30 = alloca %struct.iovec, align 8
  %31 = alloca i32, align 4
  %32 = alloca i64, align 8
  %33 = alloca ptr, align 8
  %34 = alloca %struct.s2n_test_ktls_io_fail_ctx, align 8
  %35 = alloca %struct.iovec, align 8
  %36 = alloca i32, align 4
  %37 = alloca i64, align 8
  %38 = alloca ptr, align 8
  %39 = alloca %struct.s2n_test_ktls_io_fail_ctx, align 8
  %40 = alloca %struct.iovec, align 8
  %41 = alloca i32, align 4
  %42 = alloca i64, align 8
  %43 = alloca ptr, align 8
  %44 = alloca %struct.s2n_test_ktls_io_stuffer, align 8
  %45 = alloca %struct.iovec, align 8
  %46 = alloca i32, align 4
  %47 = alloca i64, align 8
  %48 = alloca %struct.iovec, align 8
  %49 = alloca %struct.s2n_test_ktls_io_stuffer, align 8
  %50 = alloca [16384 x i8], align 16
  %51 = alloca i32, align 4
  %52 = alloca i8, align 1
  %53 = alloca i64, align 8
  %54 = alloca ptr, align 8
  %55 = alloca ptr, align 8
  %56 = alloca %struct.s2n_test_ktls_io_stuffer_pair, align 8
  %57 = alloca %struct.iovec, align 8
  %58 = alloca i32, align 4
  %59 = alloca i64, align 8
  %60 = alloca [16384 x i8], align 16
  %61 = alloca i8, align 1
  %62 = alloca i64, align 8
  %63 = alloca ptr, align 8
  %64 = alloca ptr, align 8
  %65 = alloca %struct.s2n_test_ktls_io_stuffer_pair, align 8
  %66 = alloca [16384 x i8], align 16
  %67 = alloca i32, align 4
  %68 = alloca i8, align 1
  %69 = alloca i64, align 8
  %70 = alloca %struct.iovec, align 8
  %71 = alloca i64, align 8
  %72 = alloca ptr, align 8
  %73 = alloca %struct.s2n_test_ktls_io_fail_ctx, align 8
  %74 = alloca [16384 x i8], align 16
  %75 = alloca i32, align 4
  %76 = alloca i8, align 1
  %77 = alloca i64, align 8
  %78 = alloca ptr, align 8
  %79 = alloca %struct.s2n_test_ktls_io_fail_ctx, align 8
  %80 = alloca [16384 x i8], align 16
  %81 = alloca i32, align 4
  %82 = alloca i8, align 1
  %83 = alloca i64, align 8
  %84 = alloca ptr, align 8
  %85 = alloca %struct.s2n_test_ktls_io_fail_ctx, align 8
  %86 = alloca [16384 x i8], align 16
  %87 = alloca i32, align 4
  %88 = alloca i8, align 1
  %89 = alloca i64, align 8
  %90 = alloca ptr, align 8
  %91 = alloca ptr, align 8
  %92 = alloca %struct.s2n_test_ktls_io_stuffer_pair, align 8
  %93 = alloca %struct.iovec, align 8
  %94 = alloca i32, align 4
  %95 = alloca i64, align 8
  %96 = alloca [16384 x i8], align 16
  %97 = alloca i8, align 1
  %98 = alloca i64, align 8
  %99 = alloca [7 x i64], align 16
  %100 = alloca %struct.s2n_connection, align 8
  %101 = alloca i32, align 4
  %102 = alloca %struct.iovec, align 8
  %103 = alloca ptr, align 8
  %104 = alloca %struct.s2n_test_ktls_io_stuffer, align 8
  %105 = alloca %struct.iovec, align 8
  %106 = alloca i32, align 4
  %107 = alloca ptr, align 8
  %108 = alloca %struct.s2n_test_ktls_io_fail_ctx, align 8
  %109 = alloca %struct.iovec, align 8
  %110 = alloca i32, align 4
  %111 = alloca ptr, align 8
  %112 = alloca %struct.s2n_test_ktls_io_stuffer, align 8
  %113 = alloca i32, align 4
  %114 = alloca %struct.iovec, align 8
  %115 = alloca ptr, align 8
  %116 = alloca %struct.s2n_test_ktls_io_stuffer, align 8
  %117 = alloca %struct.s2n_test_iovecs, align 8
  %118 = alloca i32, align 4
  %119 = alloca %struct.s2n_test_iovecs, align 8
  %120 = alloca [100 x i64], align 16
  %121 = alloca %struct.s2n_test_iovecs, align 8
  %122 = alloca ptr, align 8
  %123 = alloca %struct.s2n_test_ktls_io_stuffer, align 8
  %124 = alloca i32, align 4
  %125 = alloca ptr, align 8
  %126 = alloca %struct.s2n_test_ktls_io_stuffer, align 8
  %127 = alloca i32, align 4
  %128 = alloca ptr, align 8
  %129 = alloca %struct.s2n_test_ktls_io_stuffer, align 8
  %130 = alloca i32, align 4
  %131 = alloca ptr, align 8
  %132 = alloca %struct.s2n_test_ktls_io_stuffer, align 8
  %133 = alloca i32, align 4
  %134 = alloca %struct.s2n_test_iovecs, align 8
  %135 = alloca ptr, align 8
  %136 = alloca %struct.s2n_test_ktls_io_stuffer, align 8
  %137 = alloca i32, align 4
  %138 = alloca %struct.s2n_test_iovecs, align 8
  %139 = alloca ptr, align 8
  %140 = alloca %struct.s2n_test_ktls_io_fail_ctx, align 8
  %141 = alloca i32, align 4
  %142 = alloca [100 x i64], align 16
  %143 = alloca %struct.s2n_test_iovecs, align 8
  %144 = alloca %struct.s2n_test_iovecs, align 8
  %145 = alloca [9 x %struct.anon], align 16
  %146 = alloca ptr, align 8
  %147 = alloca %struct.s2n_test_ktls_io_stuffer, align 8
  %148 = alloca %struct.s2n_mem_test_cb_scope, align 1
  %149 = alloca i32, align 4
  %150 = alloca ptr, align 8
  %151 = alloca %struct.s2n_test_ktls_io_stuffer, align 8
  %152 = alloca %struct.s2n_test_ktls_io_stuffer, align 8
  %153 = alloca %struct.s2n_test_ktls_io_fail_ctx, align 8
  %154 = alloca ptr, align 8
  %155 = alloca %struct.iovec, align 8
  %156 = alloca ptr, align 8
  %157 = alloca %struct.iovec, align 8
  %158 = alloca ptr, align 8
  %159 = alloca %struct.iovec, align 8
  %160 = alloca %struct.iovec, align 8
  %161 = alloca i32, align 4
  %162 = alloca ptr, align 8
  %163 = alloca i8, align 1
  %164 = alloca ptr, align 8
  %165 = alloca %struct.s2n_test_ktls_io_stuffer_pair, align 8
  %166 = alloca i64, align 8
  %167 = alloca i8, align 1
  %168 = alloca %struct.iovec, align 8
  %169 = alloca ptr, align 8
  %170 = alloca %struct.s2n_test_ktls_io_stuffer_pair, align 8
  %171 = alloca i64, align 8
  %172 = alloca i8, align 1
  %173 = alloca ptr, align 8
  %174 = alloca %struct.s2n_test_ktls_io_stuffer_pair, align 8
  %175 = alloca i64, align 8
  %176 = alloca %struct.iovec, align 8
  %177 = alloca i8, align 1
  %178 = alloca %struct.iovec, align 8
  %179 = alloca ptr, align 8
  %180 = alloca %struct.s2n_test_ktls_io_stuffer_pair, align 8
  %181 = alloca i64, align 8
  %182 = alloca i8, align 1
  %183 = alloca [163840 x i8], align 16
  %184 = alloca %struct.s2n_record_algorithm, align 8
  %185 = alloca %struct.s2n_cipher_suite, align 8
  %186 = alloca ptr, align 8
  %187 = alloca i32, align 4
  %188 = alloca %struct.s2n_blob, align 8
  %189 = alloca %struct.s2n_blob, align 8
  %190 = alloca %struct.s2n_blob, align 8
  store i32 0, ptr @test_count, align 4, !tbaa !5
  %191 = load ptr, ptr @stdout, align 8, !tbaa !9
  %192 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %191, ptr noundef nonnull @.str.1, ptr noundef nonnull @.str.2) #12
  %193 = load ptr, ptr @stdout, align 8, !tbaa !9
  %194 = tail call i32 @fflush(ptr noundef %193)
  %195 = tail call i32 @s2n_in_unit_test_set(i1 noundef zeroext true) #12
  %196 = icmp eq i32 %195, -1
  br i1 %196, label %197, label %221

197:                                              ; preds = %2
  %198 = tail call ptr @__errno_location() #13
  %199 = load i32, ptr %198, align 4, !tbaa !5
  %200 = load ptr, ptr @stderr, align 8, !tbaa !9
  %201 = tail call i32 @s2n_print_stacktrace(ptr noundef %200) #12
  %202 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %203 = trunc nuw i8 %202 to i1
  br i1 %203, label %204, label %208

204:                                              ; preds = %197
  %205 = load ptr, ptr @stderr, align 8, !tbaa !9
  %206 = tail call i32 @fileno(ptr noundef %205) #12
  %207 = tail call i32 @isatty(i32 noundef %206) #12
  %.not1517 = icmp eq i32 %207, 0
  br i1 %.not1517, label %208, label %209

208:                                              ; preds = %204, %197
  br label %209

209:                                              ; preds = %204, %208
  %.str.6.sink = phi ptr [ @.str.6, %208 ], [ @.str.3, %204 ]
  store i32 %199, ptr %198, align 4, !tbaa !5
  %210 = load ptr, ptr @stderr, align 8, !tbaa !9
  %211 = load i32, ptr @test_count, align 4, !tbaa !5
  %212 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %213 = load i32, ptr %212, align 4, !tbaa !5
  %214 = tail call ptr @s2n_strerror(i32 noundef %213, ptr noundef nonnull @.str.5) #12
  %215 = load i32, ptr %212, align 4, !tbaa !5
  %216 = tail call ptr @s2n_strerror_debug(i32 noundef %215, ptr noundef nonnull @.str.5) #12
  %217 = load i32, ptr %198, align 4, !tbaa !5
  %218 = tail call ptr @strerror(i32 noundef %217) #12
  %219 = load i32, ptr %198, align 4, !tbaa !5
  %220 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %210, ptr noundef nonnull %.str.6.sink, i32 noundef %211, ptr noundef nonnull @.str.4, ptr noundef nonnull @.str.2, i32 noundef 97, ptr noundef %214, ptr noundef %216, ptr noundef %218, i32 noundef %219) #14
  tail call void @exit(i32 noundef 1) #15
  unreachable

221:                                              ; preds = %2
  %222 = load i32, ptr @test_count, align 4, !tbaa !5
  %223 = add nsw i32 %222, 1
  store i32 %223, ptr @test_count, align 4, !tbaa !5
  %224 = tail call i32 @s2n_enable_atexit() #12
  %225 = icmp eq i32 %224, -1
  br i1 %225, label %226, label %250

226:                                              ; preds = %221
  %227 = tail call ptr @__errno_location() #13
  %228 = load i32, ptr %227, align 4, !tbaa !5
  %229 = load ptr, ptr @stderr, align 8, !tbaa !9
  %230 = tail call i32 @s2n_print_stacktrace(ptr noundef %229) #12
  %231 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %232 = trunc nuw i8 %231 to i1
  br i1 %232, label %233, label %237

233:                                              ; preds = %226
  %234 = load ptr, ptr @stderr, align 8, !tbaa !9
  %235 = tail call i32 @fileno(ptr noundef %234) #12
  %236 = tail call i32 @isatty(i32 noundef %235) #12
  %.not1516 = icmp eq i32 %236, 0
  br i1 %.not1516, label %237, label %238

237:                                              ; preds = %233, %226
  br label %238

238:                                              ; preds = %233, %237
  %.str.6.sink1551 = phi ptr [ @.str.6, %237 ], [ @.str.3, %233 ]
  store i32 %228, ptr %227, align 4, !tbaa !5
  %239 = load ptr, ptr @stderr, align 8, !tbaa !9
  %240 = load i32, ptr @test_count, align 4, !tbaa !5
  %241 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %242 = load i32, ptr %241, align 4, !tbaa !5
  %243 = tail call ptr @s2n_strerror(i32 noundef %242, ptr noundef nonnull @.str.5) #12
  %244 = load i32, ptr %241, align 4, !tbaa !5
  %245 = tail call ptr @s2n_strerror_debug(i32 noundef %244, ptr noundef nonnull @.str.5) #12
  %246 = load i32, ptr %227, align 4, !tbaa !5
  %247 = tail call ptr @strerror(i32 noundef %246) #12
  %248 = load i32, ptr %227, align 4, !tbaa !5
  %249 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %239, ptr noundef nonnull %.str.6.sink1551, i32 noundef %240, ptr noundef nonnull @.str.7, ptr noundef nonnull @.str.2, i32 noundef 97, ptr noundef %243, ptr noundef %245, ptr noundef %247, i32 noundef %248) #14
  tail call void @exit(i32 noundef 1) #15
  unreachable

250:                                              ; preds = %221
  %251 = tail call i32 @s2n_init() #12
  %252 = icmp eq i32 %251, -1
  br i1 %252, label %253, label %277

253:                                              ; preds = %250
  %254 = tail call ptr @__errno_location() #13
  %255 = load i32, ptr %254, align 4, !tbaa !5
  %256 = load ptr, ptr @stderr, align 8, !tbaa !9
  %257 = tail call i32 @s2n_print_stacktrace(ptr noundef %256) #12
  %258 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %259 = trunc nuw i8 %258 to i1
  br i1 %259, label %260, label %264

260:                                              ; preds = %253
  %261 = load ptr, ptr @stderr, align 8, !tbaa !9
  %262 = tail call i32 @fileno(ptr noundef %261) #12
  %263 = tail call i32 @isatty(i32 noundef %262) #12
  %.not1515 = icmp eq i32 %263, 0
  br i1 %.not1515, label %264, label %265

264:                                              ; preds = %260, %253
  br label %265

265:                                              ; preds = %260, %264
  %.str.6.sink1562 = phi ptr [ @.str.6, %264 ], [ @.str.3, %260 ]
  store i32 %255, ptr %254, align 4, !tbaa !5
  %266 = load ptr, ptr @stderr, align 8, !tbaa !9
  %267 = load i32, ptr @test_count, align 4, !tbaa !5
  %268 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %269 = load i32, ptr %268, align 4, !tbaa !5
  %270 = tail call ptr @s2n_strerror(i32 noundef %269, ptr noundef nonnull @.str.5) #12
  %271 = load i32, ptr %268, align 4, !tbaa !5
  %272 = tail call ptr @s2n_strerror_debug(i32 noundef %271, ptr noundef nonnull @.str.5) #12
  %273 = load i32, ptr %254, align 4, !tbaa !5
  %274 = tail call ptr @strerror(i32 noundef %273) #12
  %275 = load i32, ptr %254, align 4, !tbaa !5
  %276 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %266, ptr noundef nonnull %.str.6.sink1562, i32 noundef %267, ptr noundef nonnull @.str.8, ptr noundef nonnull @.str.2, i32 noundef 97, ptr noundef %270, ptr noundef %272, ptr noundef %274, i32 noundef %275) #14
  tail call void @exit(i32 noundef 1) #15
  unreachable

277:                                              ; preds = %250
  call void @llvm.lifetime.start.p0(i64 16384, ptr nonnull %3) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(16384) %3, i8 0, i64 16384, i1 false)
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %4) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %4, i8 0, i64 24, i1 false)
  %278 = load i32, ptr @test_count, align 4, !tbaa !5
  %279 = add nsw i32 %278, 1
  store i32 %279, ptr @test_count, align 4, !tbaa !5
  %280 = call i32 @s2n_blob_init(ptr noundef nonnull %4, ptr noundef nonnull %3, i32 noundef 16384) #12
  %281 = icmp eq i32 %280, -1
  br i1 %281, label %282, label %306

282:                                              ; preds = %277
  %283 = tail call ptr @__errno_location() #13
  %284 = load i32, ptr %283, align 4, !tbaa !5
  %285 = load ptr, ptr @stderr, align 8, !tbaa !9
  %286 = call i32 @s2n_print_stacktrace(ptr noundef %285) #12
  %287 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %288 = trunc nuw i8 %287 to i1
  br i1 %288, label %289, label %293

289:                                              ; preds = %282
  %290 = load ptr, ptr @stderr, align 8, !tbaa !9
  %291 = call i32 @fileno(ptr noundef %290) #12
  %292 = call i32 @isatty(i32 noundef %291) #12
  %.not1514 = icmp eq i32 %292, 0
  br i1 %.not1514, label %293, label %294

293:                                              ; preds = %289, %282
  br label %294

294:                                              ; preds = %289, %293
  %.str.6.sink1573 = phi ptr [ @.str.6, %293 ], [ @.str.3, %289 ]
  store i32 %284, ptr %283, align 4, !tbaa !5
  %295 = load ptr, ptr @stderr, align 8, !tbaa !9
  %296 = load i32, ptr @test_count, align 4, !tbaa !5
  %297 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %298 = load i32, ptr %297, align 4, !tbaa !5
  %299 = call ptr @s2n_strerror(i32 noundef %298, ptr noundef nonnull @.str.5) #12
  %300 = load i32, ptr %297, align 4, !tbaa !5
  %301 = call ptr @s2n_strerror_debug(i32 noundef %300, ptr noundef nonnull @.str.5) #12
  %302 = load i32, ptr %283, align 4, !tbaa !5
  %303 = call ptr @strerror(i32 noundef %302) #12
  %304 = load i32, ptr %283, align 4, !tbaa !5
  %305 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %295, ptr noundef nonnull %.str.6.sink1573, i32 noundef %296, ptr noundef nonnull @.str.9, ptr noundef nonnull @.str.2, i32 noundef 103, ptr noundef %299, ptr noundef %301, ptr noundef %303, i32 noundef %304) #14
  call void @exit(i32 noundef 1) #15
  unreachable

306:                                              ; preds = %277
  %307 = load i32, ptr @test_count, align 4, !tbaa !5
  %308 = add nsw i32 %307, 1
  store i32 %308, ptr @test_count, align 4, !tbaa !5
  %309 = call i32 @s2n_get_public_random_data(ptr noundef nonnull %4) #12
  %310 = call zeroext i1 @s2n_result_is_ok(i32 %309)
  br i1 %310, label %335, label %311

311:                                              ; preds = %306
  %312 = tail call ptr @__errno_location() #13
  %313 = load i32, ptr %312, align 4, !tbaa !5
  %314 = load ptr, ptr @stderr, align 8, !tbaa !9
  %315 = call i32 @s2n_print_stacktrace(ptr noundef %314) #12
  %316 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %317 = trunc nuw i8 %316 to i1
  br i1 %317, label %318, label %322

318:                                              ; preds = %311
  %319 = load ptr, ptr @stderr, align 8, !tbaa !9
  %320 = call i32 @fileno(ptr noundef %319) #12
  %321 = call i32 @isatty(i32 noundef %320) #12
  %.not = icmp eq i32 %321, 0
  br i1 %.not, label %322, label %323

322:                                              ; preds = %318, %311
  br label %323

323:                                              ; preds = %318, %322
  %.str.6.sink1584 = phi ptr [ @.str.6, %322 ], [ @.str.3, %318 ]
  store i32 %313, ptr %312, align 4, !tbaa !5
  %324 = load ptr, ptr @stderr, align 8, !tbaa !9
  %325 = load i32, ptr @test_count, align 4, !tbaa !5
  %326 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %327 = load i32, ptr %326, align 4, !tbaa !5
  %328 = call ptr @s2n_strerror(i32 noundef %327, ptr noundef nonnull @.str.5) #12
  %329 = load i32, ptr %326, align 4, !tbaa !5
  %330 = call ptr @s2n_strerror_debug(i32 noundef %329, ptr noundef nonnull @.str.5) #12
  %331 = load i32, ptr %312, align 4, !tbaa !5
  %332 = call ptr @strerror(i32 noundef %331) #12
  %333 = load i32, ptr %312, align 4, !tbaa !5
  %334 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %324, ptr noundef nonnull %.str.6.sink1584, i32 noundef %325, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.2, i32 noundef 104, ptr noundef %328, ptr noundef %330, ptr noundef %332, i32 noundef %333) #14
  call void @exit(i32 noundef 1) #15
  unreachable

335:                                              ; preds = %306
  call void @llvm.lifetime.start.p0(i64 56, ptr nonnull %5) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(56) %5, i8 0, i64 56, i1 false)
  call void @llvm.lifetime.start.p0(i64 100, ptr nonnull %6) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(100) %6, i8 0, i64 100, i1 false)
  %336 = load i32, ptr @test_count, align 4, !tbaa !5
  %337 = add nsw i32 %336, 1
  store i32 %337, ptr @test_count, align 4, !tbaa !5
  %338 = call i32 @s2n_ktls_set_control_data(ptr noundef null, ptr noundef nonnull %6, i64 noundef 100, i32 noundef 0, i8 noundef zeroext 0) #12
  %339 = call zeroext i1 @s2n_result_is_error(i32 %338)
  br i1 %339, label %364, label %340

340:                                              ; preds = %335
  %341 = tail call ptr @__errno_location() #13
  %342 = load i32, ptr %341, align 4, !tbaa !5
  %343 = load ptr, ptr @stderr, align 8, !tbaa !9
  %344 = call i32 @s2n_print_stacktrace(ptr noundef %343) #12
  %345 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %346 = trunc nuw i8 %345 to i1
  br i1 %346, label %347, label %351

347:                                              ; preds = %340
  %348 = load ptr, ptr @stderr, align 8, !tbaa !9
  %349 = call i32 @fileno(ptr noundef %348) #12
  %350 = call i32 @isatty(i32 noundef %349) #12
  %.not1106 = icmp eq i32 %350, 0
  br i1 %.not1106, label %351, label %352

351:                                              ; preds = %347, %340
  br label %352

352:                                              ; preds = %347, %351
  %.str.6.sink1595 = phi ptr [ @.str.6, %351 ], [ @.str.3, %347 ]
  store i32 %342, ptr %341, align 4, !tbaa !5
  %353 = load ptr, ptr @stderr, align 8, !tbaa !9
  %354 = load i32, ptr @test_count, align 4, !tbaa !5
  %355 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %356 = load i32, ptr %355, align 4, !tbaa !5
  %357 = call ptr @s2n_strerror(i32 noundef %356, ptr noundef nonnull @.str.5) #12
  %358 = load i32, ptr %355, align 4, !tbaa !5
  %359 = call ptr @s2n_strerror_debug(i32 noundef %358, ptr noundef nonnull @.str.5) #12
  %360 = load i32, ptr %341, align 4, !tbaa !5
  %361 = call ptr @strerror(i32 noundef %360) #12
  %362 = load i32, ptr %341, align 4, !tbaa !5
  %363 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %353, ptr noundef nonnull %.str.6.sink1595, i32 noundef %354, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.2, i32 noundef 113, ptr noundef %357, ptr noundef %359, ptr noundef %361, i32 noundef %362) #14
  call void @exit(i32 noundef 1) #15
  unreachable

364:                                              ; preds = %335
  %365 = load i32, ptr @test_count, align 4, !tbaa !5
  %366 = add nsw i32 %365, 1
  store i32 %366, ptr @test_count, align 4, !tbaa !5
  %367 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %368 = load i32, ptr %367, align 4, !tbaa !5
  %369 = icmp eq i32 %368, 402653193
  br i1 %369, label %393, label %370

370:                                              ; preds = %364
  %371 = tail call ptr @__errno_location() #13
  %372 = load i32, ptr %371, align 4, !tbaa !5
  %373 = load ptr, ptr @stderr, align 8, !tbaa !9
  %374 = call i32 @s2n_print_stacktrace(ptr noundef %373) #12
  %375 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %376 = trunc nuw i8 %375 to i1
  br i1 %376, label %377, label %381

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

381:                                              ; preds = %377, %370
  br label %382

382:                                              ; preds = %377, %381
  %.str.6.sink1606 = phi ptr [ @.str.6, %381 ], [ @.str.3, %377 ]
  store i32 %372, ptr %371, align 4, !tbaa !5
  %383 = load ptr, ptr @stderr, align 8, !tbaa !9
  %384 = load i32, ptr @test_count, align 4, !tbaa !5
  %385 = load i32, ptr %367, align 4, !tbaa !5
  %386 = call ptr @s2n_strerror(i32 noundef %385, ptr noundef nonnull @.str.5) #12
  %387 = load i32, ptr %367, align 4, !tbaa !5
  %388 = call ptr @s2n_strerror_debug(i32 noundef %387, ptr noundef nonnull @.str.5) #12
  %389 = load i32, ptr %371, align 4, !tbaa !5
  %390 = call ptr @strerror(i32 noundef %389) #12
  %391 = load i32, ptr %371, align 4, !tbaa !5
  %392 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %383, ptr noundef nonnull %.str.6.sink1606, i32 noundef %384, ptr noundef nonnull @.str.12, ptr noundef nonnull @.str.2, i32 noundef 113, ptr noundef %386, ptr noundef %388, ptr noundef %390, i32 noundef %391) #14
  call void @exit(i32 noundef 1) #15
  unreachable

393:                                              ; preds = %364
  %394 = add nsw i32 %365, 2
  store i32 %394, ptr @test_count, align 4, !tbaa !5
  %395 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.5) #12
  %396 = icmp eq ptr %395, null
  br i1 %396, label %397, label %420

397:                                              ; preds = %393
  %398 = tail call ptr @__errno_location() #13
  %399 = load i32, ptr %398, align 4, !tbaa !5
  %400 = load ptr, ptr @stderr, align 8, !tbaa !9
  %401 = call i32 @s2n_print_stacktrace(ptr noundef %400) #12
  %402 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %403 = trunc nuw i8 %402 to i1
  br i1 %403, label %404, label %408

404:                                              ; preds = %397
  %405 = load ptr, ptr @stderr, align 8, !tbaa !9
  %406 = call i32 @fileno(ptr noundef %405) #12
  %407 = call i32 @isatty(i32 noundef %406) #12
  %.not1513 = icmp eq i32 %407, 0
  br i1 %.not1513, label %408, label %409

408:                                              ; preds = %404, %397
  br label %409

409:                                              ; preds = %404, %408
  %.str.6.sink1615 = phi ptr [ @.str.6, %408 ], [ @.str.3, %404 ]
  store i32 %399, ptr %398, align 4, !tbaa !5
  %410 = load ptr, ptr @stderr, align 8, !tbaa !9
  %411 = load i32, ptr @test_count, align 4, !tbaa !5
  %412 = load i32, ptr %367, align 4, !tbaa !5
  %413 = call ptr @s2n_strerror(i32 noundef %412, ptr noundef nonnull @.str.5) #12
  %414 = load i32, ptr %367, align 4, !tbaa !5
  %415 = call ptr @s2n_strerror_debug(i32 noundef %414, ptr noundef nonnull @.str.5) #12
  %416 = load i32, ptr %398, align 4, !tbaa !5
  %417 = call ptr @strerror(i32 noundef %416) #12
  %418 = load i32, ptr %398, align 4, !tbaa !5
  %419 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %410, ptr noundef nonnull %.str.6.sink1615, i32 noundef %411, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.2, i32 noundef 113, ptr noundef %413, ptr noundef %415, ptr noundef %417, i32 noundef %418) #14
  call void @exit(i32 noundef 1) #15
  unreachable

420:                                              ; preds = %393
  store i32 0, ptr %367, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  %421 = tail call ptr @__errno_location() #13
  store i32 0, ptr %421, align 4, !tbaa !5
  %422 = load i32, ptr @test_count, align 4, !tbaa !5
  %423 = add nsw i32 %422, 1
  store i32 %423, ptr @test_count, align 4, !tbaa !5
  %424 = call i32 @s2n_ktls_set_control_data(ptr noundef nonnull %5, ptr noundef null, i64 noundef 100, i32 noundef 0, i8 noundef zeroext 0) #12
  %425 = call zeroext i1 @s2n_result_is_error(i32 %424)
  br i1 %425, label %448, label %426

426:                                              ; preds = %420
  %427 = load i32, ptr %421, align 4, !tbaa !5
  %428 = load ptr, ptr @stderr, align 8, !tbaa !9
  %429 = call i32 @s2n_print_stacktrace(ptr noundef %428) #12
  %430 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %431 = trunc nuw i8 %430 to i1
  br i1 %431, label %432, label %436

432:                                              ; preds = %426
  %433 = load ptr, ptr @stderr, align 8, !tbaa !9
  %434 = call i32 @fileno(ptr noundef %433) #12
  %435 = call i32 @isatty(i32 noundef %434) #12
  %.not1108 = icmp eq i32 %435, 0
  br i1 %.not1108, label %436, label %437

436:                                              ; preds = %432, %426
  br label %437

437:                                              ; preds = %432, %436
  %.str.6.sink1624 = phi ptr [ @.str.6, %436 ], [ @.str.3, %432 ]
  store i32 %427, ptr %421, align 4, !tbaa !5
  %438 = load ptr, ptr @stderr, align 8, !tbaa !9
  %439 = load i32, ptr @test_count, align 4, !tbaa !5
  %440 = load i32, ptr %367, align 4, !tbaa !5
  %441 = call ptr @s2n_strerror(i32 noundef %440, ptr noundef nonnull @.str.5) #12
  %442 = load i32, ptr %367, align 4, !tbaa !5
  %443 = call ptr @s2n_strerror_debug(i32 noundef %442, ptr noundef nonnull @.str.5) #12
  %444 = load i32, ptr %421, align 4, !tbaa !5
  %445 = call ptr @strerror(i32 noundef %444) #12
  %446 = load i32, ptr %421, align 4, !tbaa !5
  %447 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %438, ptr noundef nonnull %.str.6.sink1624, i32 noundef %439, ptr noundef nonnull @.str.14, ptr noundef nonnull @.str.2, i32 noundef 115, ptr noundef %441, ptr noundef %443, ptr noundef %445, i32 noundef %446) #14
  call void @exit(i32 noundef 1) #15
  unreachable

448:                                              ; preds = %420
  %449 = load i32, ptr @test_count, align 4, !tbaa !5
  %450 = add nsw i32 %449, 1
  store i32 %450, ptr @test_count, align 4, !tbaa !5
  %451 = load i32, ptr %367, align 4, !tbaa !5
  %452 = icmp eq i32 %451, 402653193
  br i1 %452, label %475, label %453

453:                                              ; preds = %448
  %454 = load i32, ptr %421, align 4, !tbaa !5
  %455 = load ptr, ptr @stderr, align 8, !tbaa !9
  %456 = call i32 @s2n_print_stacktrace(ptr noundef %455) #12
  %457 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %458 = trunc nuw i8 %457 to i1
  br i1 %458, label %459, label %463

459:                                              ; preds = %453
  %460 = load ptr, ptr @stderr, align 8, !tbaa !9
  %461 = call i32 @fileno(ptr noundef %460) #12
  %462 = call i32 @isatty(i32 noundef %461) #12
  %.not1109 = icmp eq i32 %462, 0
  br i1 %.not1109, label %463, label %464

463:                                              ; preds = %459, %453
  br label %464

464:                                              ; preds = %459, %463
  %.str.6.sink1633 = phi ptr [ @.str.6, %463 ], [ @.str.3, %459 ]
  store i32 %454, ptr %421, align 4, !tbaa !5
  %465 = load ptr, ptr @stderr, align 8, !tbaa !9
  %466 = load i32, ptr @test_count, align 4, !tbaa !5
  %467 = load i32, ptr %367, align 4, !tbaa !5
  %468 = call ptr @s2n_strerror(i32 noundef %467, ptr noundef nonnull @.str.5) #12
  %469 = load i32, ptr %367, align 4, !tbaa !5
  %470 = call ptr @s2n_strerror_debug(i32 noundef %469, ptr noundef nonnull @.str.5) #12
  %471 = load i32, ptr %421, align 4, !tbaa !5
  %472 = call ptr @strerror(i32 noundef %471) #12
  %473 = load i32, ptr %421, align 4, !tbaa !5
  %474 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %465, ptr noundef nonnull %.str.6.sink1633, i32 noundef %466, ptr noundef nonnull @.str.12, ptr noundef nonnull @.str.2, i32 noundef 115, ptr noundef %468, ptr noundef %470, ptr noundef %472, i32 noundef %473) #14
  call void @exit(i32 noundef 1) #15
  unreachable

475:                                              ; preds = %448
  %476 = add nsw i32 %449, 2
  store i32 %476, ptr @test_count, align 4, !tbaa !5
  %477 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.5) #12
  %478 = icmp eq ptr %477, null
  br i1 %478, label %479, label %501

479:                                              ; preds = %475
  %480 = load i32, ptr %421, align 4, !tbaa !5
  %481 = load ptr, ptr @stderr, align 8, !tbaa !9
  %482 = call i32 @s2n_print_stacktrace(ptr noundef %481) #12
  %483 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %484 = trunc nuw i8 %483 to i1
  br i1 %484, label %485, label %489

485:                                              ; preds = %479
  %486 = load ptr, ptr @stderr, align 8, !tbaa !9
  %487 = call i32 @fileno(ptr noundef %486) #12
  %488 = call i32 @isatty(i32 noundef %487) #12
  %.not1512 = icmp eq i32 %488, 0
  br i1 %.not1512, label %489, label %490

489:                                              ; preds = %485, %479
  br label %490

490:                                              ; preds = %485, %489
  %.str.6.sink1642 = phi ptr [ @.str.6, %489 ], [ @.str.3, %485 ]
  store i32 %480, ptr %421, align 4, !tbaa !5
  %491 = load ptr, ptr @stderr, align 8, !tbaa !9
  %492 = load i32, ptr @test_count, align 4, !tbaa !5
  %493 = load i32, ptr %367, align 4, !tbaa !5
  %494 = call ptr @s2n_strerror(i32 noundef %493, ptr noundef nonnull @.str.5) #12
  %495 = load i32, ptr %367, align 4, !tbaa !5
  %496 = call ptr @s2n_strerror_debug(i32 noundef %495, ptr noundef nonnull @.str.5) #12
  %497 = load i32, ptr %421, align 4, !tbaa !5
  %498 = call ptr @strerror(i32 noundef %497) #12
  %499 = load i32, ptr %421, align 4, !tbaa !5
  %500 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %491, ptr noundef nonnull %.str.6.sink1642, i32 noundef %492, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.2, i32 noundef 115, ptr noundef %494, ptr noundef %496, ptr noundef %498, i32 noundef %499) #14
  call void @exit(i32 noundef 1) #15
  unreachable

501:                                              ; preds = %475
  store i32 0, ptr %367, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %421, align 4, !tbaa !5
  %502 = load i32, ptr @test_count, align 4, !tbaa !5
  %503 = add nsw i32 %502, 1
  store i32 %503, ptr @test_count, align 4, !tbaa !5
  %504 = call i32 @s2n_ktls_set_control_data(ptr noundef nonnull %5, ptr noundef nonnull %6, i64 noundef 0, i32 noundef 0, i8 noundef zeroext 0) #12
  %505 = call zeroext i1 @s2n_result_is_error(i32 %504)
  br i1 %505, label %528, label %506

506:                                              ; preds = %501
  %507 = load i32, ptr %421, align 4, !tbaa !5
  %508 = load ptr, ptr @stderr, align 8, !tbaa !9
  %509 = call i32 @s2n_print_stacktrace(ptr noundef %508) #12
  %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 = %506
  %513 = load ptr, ptr @stderr, align 8, !tbaa !9
  %514 = call i32 @fileno(ptr noundef %513) #12
  %515 = call i32 @isatty(i32 noundef %514) #12
  %.not1110 = icmp eq i32 %515, 0
  br i1 %.not1110, label %516, label %517

516:                                              ; preds = %512, %506
  br label %517

517:                                              ; preds = %512, %516
  %.str.6.sink1651 = phi ptr [ @.str.6, %516 ], [ @.str.3, %512 ]
  store i32 %507, ptr %421, 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 %367, align 4, !tbaa !5
  %521 = call ptr @s2n_strerror(i32 noundef %520, ptr noundef nonnull @.str.5) #12
  %522 = load i32, ptr %367, align 4, !tbaa !5
  %523 = call ptr @s2n_strerror_debug(i32 noundef %522, ptr noundef nonnull @.str.5) #12
  %524 = load i32, ptr %421, align 4, !tbaa !5
  %525 = call ptr @strerror(i32 noundef %524) #12
  %526 = load i32, ptr %421, align 4, !tbaa !5
  %527 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %518, ptr noundef nonnull %.str.6.sink1651, i32 noundef %519, ptr noundef nonnull @.str.15, ptr noundef nonnull @.str.2, i32 noundef 117, ptr noundef %521, ptr noundef %523, ptr noundef %525, i32 noundef %526) #14
  call void @exit(i32 noundef 1) #15
  unreachable

528:                                              ; preds = %501
  %529 = load i32, ptr @test_count, align 4, !tbaa !5
  %530 = add nsw i32 %529, 1
  store i32 %530, ptr @test_count, align 4, !tbaa !5
  %531 = load i32, ptr %367, align 4, !tbaa !5
  %532 = icmp eq i32 %531, 402653193
  br i1 %532, label %555, label %533

533:                                              ; preds = %528
  %534 = load i32, ptr %421, align 4, !tbaa !5
  %535 = load ptr, ptr @stderr, align 8, !tbaa !9
  %536 = call i32 @s2n_print_stacktrace(ptr noundef %535) #12
  %537 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %538 = trunc nuw i8 %537 to i1
  br i1 %538, label %539, label %543

539:                                              ; preds = %533
  %540 = load ptr, ptr @stderr, align 8, !tbaa !9
  %541 = call i32 @fileno(ptr noundef %540) #12
  %542 = call i32 @isatty(i32 noundef %541) #12
  %.not1111 = icmp eq i32 %542, 0
  br i1 %.not1111, label %543, label %544

543:                                              ; preds = %539, %533
  br label %544

544:                                              ; preds = %539, %543
  %.str.6.sink1660 = phi ptr [ @.str.6, %543 ], [ @.str.3, %539 ]
  store i32 %534, ptr %421, align 4, !tbaa !5
  %545 = load ptr, ptr @stderr, align 8, !tbaa !9
  %546 = load i32, ptr @test_count, align 4, !tbaa !5
  %547 = load i32, ptr %367, align 4, !tbaa !5
  %548 = call ptr @s2n_strerror(i32 noundef %547, ptr noundef nonnull @.str.5) #12
  %549 = load i32, ptr %367, align 4, !tbaa !5
  %550 = call ptr @s2n_strerror_debug(i32 noundef %549, ptr noundef nonnull @.str.5) #12
  %551 = load i32, ptr %421, align 4, !tbaa !5
  %552 = call ptr @strerror(i32 noundef %551) #12
  %553 = load i32, ptr %421, align 4, !tbaa !5
  %554 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %545, ptr noundef nonnull %.str.6.sink1660, i32 noundef %546, ptr noundef nonnull @.str.12, ptr noundef nonnull @.str.2, i32 noundef 117, ptr noundef %548, ptr noundef %550, ptr noundef %552, i32 noundef %553) #14
  call void @exit(i32 noundef 1) #15
  unreachable

555:                                              ; preds = %528
  %556 = add nsw i32 %529, 2
  store i32 %556, ptr @test_count, align 4, !tbaa !5
  %557 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.5) #12
  %558 = icmp eq ptr %557, null
  br i1 %558, label %559, label %581

559:                                              ; preds = %555
  %560 = load i32, ptr %421, align 4, !tbaa !5
  %561 = load ptr, ptr @stderr, align 8, !tbaa !9
  %562 = call i32 @s2n_print_stacktrace(ptr noundef %561) #12
  %563 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %564 = trunc nuw i8 %563 to i1
  br i1 %564, label %565, label %569

565:                                              ; preds = %559
  %566 = load ptr, ptr @stderr, align 8, !tbaa !9
  %567 = call i32 @fileno(ptr noundef %566) #12
  %568 = call i32 @isatty(i32 noundef %567) #12
  %.not1511 = icmp eq i32 %568, 0
  br i1 %.not1511, label %569, label %570

569:                                              ; preds = %565, %559
  br label %570

570:                                              ; preds = %565, %569
  %.str.6.sink1669 = phi ptr [ @.str.6, %569 ], [ @.str.3, %565 ]
  store i32 %560, ptr %421, align 4, !tbaa !5
  %571 = load ptr, ptr @stderr, align 8, !tbaa !9
  %572 = load i32, ptr @test_count, align 4, !tbaa !5
  %573 = load i32, ptr %367, align 4, !tbaa !5
  %574 = call ptr @s2n_strerror(i32 noundef %573, ptr noundef nonnull @.str.5) #12
  %575 = load i32, ptr %367, align 4, !tbaa !5
  %576 = call ptr @s2n_strerror_debug(i32 noundef %575, ptr noundef nonnull @.str.5) #12
  %577 = load i32, ptr %421, align 4, !tbaa !5
  %578 = call ptr @strerror(i32 noundef %577) #12
  %579 = load i32, ptr %421, align 4, !tbaa !5
  %580 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %571, ptr noundef nonnull %.str.6.sink1669, i32 noundef %572, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.2, i32 noundef 117, ptr noundef %574, ptr noundef %576, ptr noundef %578, i32 noundef %579) #14
  call void @exit(i32 noundef 1) #15
  unreachable

581:                                              ; preds = %555
  store i32 0, ptr %367, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %421, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %7) #12
  store i8 0, ptr %7, align 1, !tbaa !15
  %582 = load i32, ptr @test_count, align 4, !tbaa !5
  %583 = add nsw i32 %582, 1
  store i32 %583, ptr @test_count, align 4, !tbaa !5
  %584 = call i32 @s2n_ktls_get_control_data(ptr noundef null, i32 noundef 0, ptr noundef nonnull %7) #12
  %585 = call zeroext i1 @s2n_result_is_error(i32 %584)
  br i1 %585, label %608, label %586

586:                                              ; preds = %581
  %587 = load i32, ptr %421, align 4, !tbaa !5
  %588 = load ptr, ptr @stderr, align 8, !tbaa !9
  %589 = call i32 @s2n_print_stacktrace(ptr noundef %588) #12
  %590 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %591 = trunc nuw i8 %590 to i1
  br i1 %591, label %592, label %596

592:                                              ; preds = %586
  %593 = load ptr, ptr @stderr, align 8, !tbaa !9
  %594 = call i32 @fileno(ptr noundef %593) #12
  %595 = call i32 @isatty(i32 noundef %594) #12
  %.not1112 = icmp eq i32 %595, 0
  br i1 %.not1112, label %596, label %597

596:                                              ; preds = %592, %586
  br label %597

597:                                              ; preds = %592, %596
  %.str.6.sink1678 = phi ptr [ @.str.6, %596 ], [ @.str.3, %592 ]
  store i32 %587, ptr %421, align 4, !tbaa !5
  %598 = load ptr, ptr @stderr, align 8, !tbaa !9
  %599 = load i32, ptr @test_count, align 4, !tbaa !5
  %600 = load i32, ptr %367, align 4, !tbaa !5
  %601 = call ptr @s2n_strerror(i32 noundef %600, ptr noundef nonnull @.str.5) #12
  %602 = load i32, ptr %367, align 4, !tbaa !5
  %603 = call ptr @s2n_strerror_debug(i32 noundef %602, ptr noundef nonnull @.str.5) #12
  %604 = load i32, ptr %421, align 4, !tbaa !5
  %605 = call ptr @strerror(i32 noundef %604) #12
  %606 = load i32, ptr %421, align 4, !tbaa !5
  %607 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %598, ptr noundef nonnull %.str.6.sink1678, i32 noundef %599, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.2, i32 noundef 121, ptr noundef %601, ptr noundef %603, ptr noundef %605, i32 noundef %606) #14
  call void @exit(i32 noundef 1) #15
  unreachable

608:                                              ; preds = %581
  %609 = load i32, ptr @test_count, align 4, !tbaa !5
  %610 = add nsw i32 %609, 1
  store i32 %610, ptr @test_count, align 4, !tbaa !5
  %611 = load i32, ptr %367, align 4, !tbaa !5
  %612 = icmp eq i32 %611, 402653193
  br i1 %612, label %635, label %613

613:                                              ; preds = %608
  %614 = load i32, ptr %421, align 4, !tbaa !5
  %615 = load ptr, ptr @stderr, align 8, !tbaa !9
  %616 = call i32 @s2n_print_stacktrace(ptr noundef %615) #12
  %617 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %618 = trunc nuw i8 %617 to i1
  br i1 %618, label %619, label %623

619:                                              ; preds = %613
  %620 = load ptr, ptr @stderr, align 8, !tbaa !9
  %621 = call i32 @fileno(ptr noundef %620) #12
  %622 = call i32 @isatty(i32 noundef %621) #12
  %.not1113 = icmp eq i32 %622, 0
  br i1 %.not1113, label %623, label %624

623:                                              ; preds = %619, %613
  br label %624

624:                                              ; preds = %619, %623
  %.str.6.sink1687 = phi ptr [ @.str.6, %623 ], [ @.str.3, %619 ]
  store i32 %614, ptr %421, align 4, !tbaa !5
  %625 = load ptr, ptr @stderr, align 8, !tbaa !9
  %626 = load i32, ptr @test_count, align 4, !tbaa !5
  %627 = load i32, ptr %367, align 4, !tbaa !5
  %628 = call ptr @s2n_strerror(i32 noundef %627, ptr noundef nonnull @.str.5) #12
  %629 = load i32, ptr %367, align 4, !tbaa !5
  %630 = call ptr @s2n_strerror_debug(i32 noundef %629, ptr noundef nonnull @.str.5) #12
  %631 = load i32, ptr %421, align 4, !tbaa !5
  %632 = call ptr @strerror(i32 noundef %631) #12
  %633 = load i32, ptr %421, align 4, !tbaa !5
  %634 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %625, ptr noundef nonnull %.str.6.sink1687, i32 noundef %626, ptr noundef nonnull @.str.12, ptr noundef nonnull @.str.2, i32 noundef 121, ptr noundef %628, ptr noundef %630, ptr noundef %632, i32 noundef %633) #14
  call void @exit(i32 noundef 1) #15
  unreachable

635:                                              ; preds = %608
  %636 = add nsw i32 %609, 2
  store i32 %636, ptr @test_count, align 4, !tbaa !5
  %637 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.5) #12
  %638 = icmp eq ptr %637, null
  br i1 %638, label %639, label %661

639:                                              ; preds = %635
  %640 = load i32, ptr %421, align 4, !tbaa !5
  %641 = load ptr, ptr @stderr, align 8, !tbaa !9
  %642 = call i32 @s2n_print_stacktrace(ptr noundef %641) #12
  %643 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %644 = trunc nuw i8 %643 to i1
  br i1 %644, label %645, label %649

645:                                              ; preds = %639
  %646 = load ptr, ptr @stderr, align 8, !tbaa !9
  %647 = call i32 @fileno(ptr noundef %646) #12
  %648 = call i32 @isatty(i32 noundef %647) #12
  %.not1510 = icmp eq i32 %648, 0
  br i1 %.not1510, label %649, label %650

649:                                              ; preds = %645, %639
  br label %650

650:                                              ; preds = %645, %649
  %.str.6.sink1696 = phi ptr [ @.str.6, %649 ], [ @.str.3, %645 ]
  store i32 %640, ptr %421, align 4, !tbaa !5
  %651 = load ptr, ptr @stderr, align 8, !tbaa !9
  %652 = load i32, ptr @test_count, align 4, !tbaa !5
  %653 = load i32, ptr %367, align 4, !tbaa !5
  %654 = call ptr @s2n_strerror(i32 noundef %653, ptr noundef nonnull @.str.5) #12
  %655 = load i32, ptr %367, align 4, !tbaa !5
  %656 = call ptr @s2n_strerror_debug(i32 noundef %655, ptr noundef nonnull @.str.5) #12
  %657 = load i32, ptr %421, align 4, !tbaa !5
  %658 = call ptr @strerror(i32 noundef %657) #12
  %659 = load i32, ptr %421, align 4, !tbaa !5
  %660 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %651, ptr noundef nonnull %.str.6.sink1696, i32 noundef %652, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.2, i32 noundef 121, ptr noundef %654, ptr noundef %656, ptr noundef %658, i32 noundef %659) #14
  call void @exit(i32 noundef 1) #15
  unreachable

661:                                              ; preds = %635
  store i32 0, ptr %367, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %421, align 4, !tbaa !5
  %662 = load i32, ptr @test_count, align 4, !tbaa !5
  %663 = add nsw i32 %662, 1
  store i32 %663, ptr @test_count, align 4, !tbaa !5
  %664 = call i32 @s2n_ktls_get_control_data(ptr noundef nonnull %5, i32 noundef 0, ptr noundef null) #12
  %665 = call zeroext i1 @s2n_result_is_error(i32 %664)
  br i1 %665, label %688, label %666

666:                                              ; preds = %661
  %667 = load i32, ptr %421, align 4, !tbaa !5
  %668 = load ptr, ptr @stderr, align 8, !tbaa !9
  %669 = call i32 @s2n_print_stacktrace(ptr noundef %668) #12
  %670 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %671 = trunc nuw i8 %670 to i1
  br i1 %671, label %672, label %676

672:                                              ; preds = %666
  %673 = load ptr, ptr @stderr, align 8, !tbaa !9
  %674 = call i32 @fileno(ptr noundef %673) #12
  %675 = call i32 @isatty(i32 noundef %674) #12
  %.not1114 = icmp eq i32 %675, 0
  br i1 %.not1114, label %676, label %677

676:                                              ; preds = %672, %666
  br label %677

677:                                              ; preds = %672, %676
  %.str.6.sink1705 = phi ptr [ @.str.6, %676 ], [ @.str.3, %672 ]
  store i32 %667, ptr %421, align 4, !tbaa !5
  %678 = load ptr, ptr @stderr, align 8, !tbaa !9
  %679 = load i32, ptr @test_count, align 4, !tbaa !5
  %680 = load i32, ptr %367, align 4, !tbaa !5
  %681 = call ptr @s2n_strerror(i32 noundef %680, ptr noundef nonnull @.str.5) #12
  %682 = load i32, ptr %367, align 4, !tbaa !5
  %683 = call ptr @s2n_strerror_debug(i32 noundef %682, ptr noundef nonnull @.str.5) #12
  %684 = load i32, ptr %421, align 4, !tbaa !5
  %685 = call ptr @strerror(i32 noundef %684) #12
  %686 = load i32, ptr %421, align 4, !tbaa !5
  %687 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %678, ptr noundef nonnull %.str.6.sink1705, i32 noundef %679, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.2, i32 noundef 123, ptr noundef %681, ptr noundef %683, ptr noundef %685, i32 noundef %686) #14
  call void @exit(i32 noundef 1) #15
  unreachable

688:                                              ; preds = %661
  %689 = load i32, ptr @test_count, align 4, !tbaa !5
  %690 = add nsw i32 %689, 1
  store i32 %690, ptr @test_count, align 4, !tbaa !5
  %691 = load i32, ptr %367, align 4, !tbaa !5
  %692 = icmp eq i32 %691, 402653193
  br i1 %692, label %715, label %693

693:                                              ; preds = %688
  %694 = load i32, ptr %421, align 4, !tbaa !5
  %695 = load ptr, ptr @stderr, align 8, !tbaa !9
  %696 = call i32 @s2n_print_stacktrace(ptr noundef %695) #12
  %697 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %698 = trunc nuw i8 %697 to i1
  br i1 %698, label %699, label %703

699:                                              ; preds = %693
  %700 = load ptr, ptr @stderr, align 8, !tbaa !9
  %701 = call i32 @fileno(ptr noundef %700) #12
  %702 = call i32 @isatty(i32 noundef %701) #12
  %.not1115 = icmp eq i32 %702, 0
  br i1 %.not1115, label %703, label %704

703:                                              ; preds = %699, %693
  br label %704

704:                                              ; preds = %699, %703
  %.str.6.sink1714 = phi ptr [ @.str.6, %703 ], [ @.str.3, %699 ]
  store i32 %694, ptr %421, align 4, !tbaa !5
  %705 = load ptr, ptr @stderr, align 8, !tbaa !9
  %706 = load i32, ptr @test_count, align 4, !tbaa !5
  %707 = load i32, ptr %367, align 4, !tbaa !5
  %708 = call ptr @s2n_strerror(i32 noundef %707, ptr noundef nonnull @.str.5) #12
  %709 = load i32, ptr %367, align 4, !tbaa !5
  %710 = call ptr @s2n_strerror_debug(i32 noundef %709, ptr noundef nonnull @.str.5) #12
  %711 = load i32, ptr %421, align 4, !tbaa !5
  %712 = call ptr @strerror(i32 noundef %711) #12
  %713 = load i32, ptr %421, align 4, !tbaa !5
  %714 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %705, ptr noundef nonnull %.str.6.sink1714, i32 noundef %706, ptr noundef nonnull @.str.12, ptr noundef nonnull @.str.2, i32 noundef 123, ptr noundef %708, ptr noundef %710, ptr noundef %712, i32 noundef %713) #14
  call void @exit(i32 noundef 1) #15
  unreachable

715:                                              ; preds = %688
  %716 = add nsw i32 %689, 2
  store i32 %716, ptr @test_count, align 4, !tbaa !5
  %717 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.5) #12
  %718 = icmp eq ptr %717, null
  br i1 %718, label %719, label %741

719:                                              ; preds = %715
  %720 = load i32, ptr %421, align 4, !tbaa !5
  %721 = load ptr, ptr @stderr, align 8, !tbaa !9
  %722 = call i32 @s2n_print_stacktrace(ptr noundef %721) #12
  %723 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %724 = trunc nuw i8 %723 to i1
  br i1 %724, label %725, label %729

725:                                              ; preds = %719
  %726 = load ptr, ptr @stderr, align 8, !tbaa !9
  %727 = call i32 @fileno(ptr noundef %726) #12
  %728 = call i32 @isatty(i32 noundef %727) #12
  %.not1509 = icmp eq i32 %728, 0
  br i1 %.not1509, label %729, label %730

729:                                              ; preds = %725, %719
  br label %730

730:                                              ; preds = %725, %729
  %.str.6.sink1723 = phi ptr [ @.str.6, %729 ], [ @.str.3, %725 ]
  store i32 %720, ptr %421, align 4, !tbaa !5
  %731 = load ptr, ptr @stderr, align 8, !tbaa !9
  %732 = load i32, ptr @test_count, align 4, !tbaa !5
  %733 = load i32, ptr %367, align 4, !tbaa !5
  %734 = call ptr @s2n_strerror(i32 noundef %733, ptr noundef nonnull @.str.5) #12
  %735 = load i32, ptr %367, align 4, !tbaa !5
  %736 = call ptr @s2n_strerror_debug(i32 noundef %735, ptr noundef nonnull @.str.5) #12
  %737 = load i32, ptr %421, align 4, !tbaa !5
  %738 = call ptr @strerror(i32 noundef %737) #12
  %739 = load i32, ptr %421, align 4, !tbaa !5
  %740 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %731, ptr noundef nonnull %.str.6.sink1723, i32 noundef %732, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.2, i32 noundef 123, ptr noundef %734, ptr noundef %736, ptr noundef %738, i32 noundef %739) #14
  call void @exit(i32 noundef 1) #15
  unreachable

741:                                              ; preds = %715
  store i32 0, ptr %367, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %421, align 4, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %7) #12
  call void @llvm.lifetime.end.p0(i64 100, ptr nonnull %6) #12
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %5) #12
  call void @llvm.lifetime.start.p0(i64 56, ptr nonnull %8) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(56) %8, i8 0, i64 56, i1 false)
  call void @llvm.lifetime.start.p0(i64 100, ptr nonnull %9) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(100) %9, i8 0, i64 100, i1 false)
  %742 = load i32, ptr @test_count, align 4, !tbaa !5
  %743 = add nsw i32 %742, 1
  store i32 %743, ptr @test_count, align 4, !tbaa !5
  %744 = call i32 @s2n_ktls_set_control_data(ptr noundef nonnull %8, ptr noundef nonnull %9, i64 noundef 100, i32 noundef 11, i8 noundef zeroext 5) #12
  %745 = call zeroext i1 @s2n_result_is_ok(i32 %744)
  br i1 %745, label %768, label %746

746:                                              ; preds = %741
  %747 = load i32, ptr %421, align 4, !tbaa !5
  %748 = load ptr, ptr @stderr, align 8, !tbaa !9
  %749 = call i32 @s2n_print_stacktrace(ptr noundef %748) #12
  %750 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %751 = trunc nuw i8 %750 to i1
  br i1 %751, label %752, label %756

752:                                              ; preds = %746
  %753 = load ptr, ptr @stderr, align 8, !tbaa !9
  %754 = call i32 @fileno(ptr noundef %753) #12
  %755 = call i32 @isatty(i32 noundef %754) #12
  %.not1116 = icmp eq i32 %755, 0
  br i1 %.not1116, label %756, label %757

756:                                              ; preds = %752, %746
  br label %757

757:                                              ; preds = %752, %756
  %.str.6.sink1732 = phi ptr [ @.str.6, %756 ], [ @.str.3, %752 ]
  store i32 %747, ptr %421, align 4, !tbaa !5
  %758 = load ptr, ptr @stderr, align 8, !tbaa !9
  %759 = load i32, ptr @test_count, align 4, !tbaa !5
  %760 = load i32, ptr %367, align 4, !tbaa !5
  %761 = call ptr @s2n_strerror(i32 noundef %760, ptr noundef nonnull @.str.5) #12
  %762 = load i32, ptr %367, align 4, !tbaa !5
  %763 = call ptr @s2n_strerror_debug(i32 noundef %762, ptr noundef nonnull @.str.5) #12
  %764 = load i32, ptr %421, align 4, !tbaa !5
  %765 = call ptr @strerror(i32 noundef %764) #12
  %766 = load i32, ptr %421, align 4, !tbaa !5
  %767 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %758, ptr noundef nonnull %.str.6.sink1732, i32 noundef %759, ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.2, i32 noundef 132, ptr noundef %761, ptr noundef %763, ptr noundef %765, i32 noundef %766) #14
  call void @exit(i32 noundef 1) #15
  unreachable

768:                                              ; preds = %741
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %10) #12
  store i8 0, ptr %10, align 1, !tbaa !15
  %769 = load i32, ptr @test_count, align 4, !tbaa !5
  %770 = add nsw i32 %769, 1
  store i32 %770, ptr @test_count, align 4, !tbaa !5
  %771 = call i32 @s2n_ktls_get_control_data(ptr noundef nonnull %8, i32 noundef 11, ptr noundef nonnull %10) #12
  %772 = call zeroext i1 @s2n_result_is_ok(i32 %771)
  br i1 %772, label %795, label %773

773:                                              ; preds = %768
  %774 = load i32, ptr %421, align 4, !tbaa !5
  %775 = load ptr, ptr @stderr, align 8, !tbaa !9
  %776 = call i32 @s2n_print_stacktrace(ptr noundef %775) #12
  %777 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %778 = trunc nuw i8 %777 to i1
  br i1 %778, label %779, label %783

779:                                              ; preds = %773
  %780 = load ptr, ptr @stderr, align 8, !tbaa !9
  %781 = call i32 @fileno(ptr noundef %780) #12
  %782 = call i32 @isatty(i32 noundef %781) #12
  %.not1117 = icmp eq i32 %782, 0
  br i1 %.not1117, label %783, label %784

783:                                              ; preds = %779, %773
  br label %784

784:                                              ; preds = %779, %783
  %.str.6.sink1741 = phi ptr [ @.str.6, %783 ], [ @.str.3, %779 ]
  store i32 %774, ptr %421, align 4, !tbaa !5
  %785 = load ptr, ptr @stderr, align 8, !tbaa !9
  %786 = load i32, ptr @test_count, align 4, !tbaa !5
  %787 = load i32, ptr %367, align 4, !tbaa !5
  %788 = call ptr @s2n_strerror(i32 noundef %787, ptr noundef nonnull @.str.5) #12
  %789 = load i32, ptr %367, align 4, !tbaa !5
  %790 = call ptr @s2n_strerror_debug(i32 noundef %789, ptr noundef nonnull @.str.5) #12
  %791 = load i32, ptr %421, align 4, !tbaa !5
  %792 = call ptr @strerror(i32 noundef %791) #12
  %793 = load i32, ptr %421, align 4, !tbaa !5
  %794 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %785, ptr noundef nonnull %.str.6.sink1741, i32 noundef %786, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.2, i32 noundef 135, ptr noundef %788, ptr noundef %790, ptr noundef %792, i32 noundef %793) #14
  call void @exit(i32 noundef 1) #15
  unreachable

795:                                              ; preds = %768
  %796 = load i32, ptr @test_count, align 4, !tbaa !5
  %797 = add nsw i32 %796, 1
  store i32 %797, ptr @test_count, align 4, !tbaa !5
  %798 = load i8, ptr %10, align 1, !tbaa !15
  %799 = icmp eq i8 %798, 5
  br i1 %799, label %822, label %800

800:                                              ; preds = %795
  %801 = load i32, ptr %421, align 4, !tbaa !5
  %802 = load ptr, ptr @stderr, align 8, !tbaa !9
  %803 = call i32 @s2n_print_stacktrace(ptr noundef %802) #12
  %804 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %805 = trunc nuw i8 %804 to i1
  br i1 %805, label %806, label %810

806:                                              ; preds = %800
  %807 = load ptr, ptr @stderr, align 8, !tbaa !9
  %808 = call i32 @fileno(ptr noundef %807) #12
  %809 = call i32 @isatty(i32 noundef %808) #12
  %.not1118 = icmp eq i32 %809, 0
  br i1 %.not1118, label %810, label %811

810:                                              ; preds = %806, %800
  br label %811

811:                                              ; preds = %806, %810
  %.str.6.sink1750 = phi ptr [ @.str.6, %810 ], [ @.str.3, %806 ]
  store i32 %801, ptr %421, align 4, !tbaa !5
  %812 = load ptr, ptr @stderr, align 8, !tbaa !9
  %813 = load i32, ptr @test_count, align 4, !tbaa !5
  %814 = load i32, ptr %367, align 4, !tbaa !5
  %815 = call ptr @s2n_strerror(i32 noundef %814, ptr noundef nonnull @.str.5) #12
  %816 = load i32, ptr %367, align 4, !tbaa !5
  %817 = call ptr @s2n_strerror_debug(i32 noundef %816, ptr noundef nonnull @.str.5) #12
  %818 = load i32, ptr %421, align 4, !tbaa !5
  %819 = call ptr @strerror(i32 noundef %818) #12
  %820 = load i32, ptr %421, align 4, !tbaa !5
  %821 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %812, ptr noundef nonnull %.str.6.sink1750, i32 noundef %813, ptr noundef nonnull @.str.20, ptr noundef nonnull @.str.2, i32 noundef 137, ptr noundef %815, ptr noundef %817, ptr noundef %819, i32 noundef %820) #14
  call void @exit(i32 noundef 1) #15
  unreachable

822:                                              ; preds = %795
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %10) #12
  call void @llvm.lifetime.end.p0(i64 100, ptr nonnull %9) #12
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %8) #12
  call void @llvm.lifetime.start.p0(i64 56, ptr nonnull %11) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(56) %11, i8 0, i64 56, i1 false)
  call void @llvm.lifetime.start.p0(i64 100, ptr nonnull %12) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(100) %12, i8 0, i64 100, i1 false)
  %823 = add nsw i32 %796, 2
  store i32 %823, ptr @test_count, align 4, !tbaa !5
  %824 = call i32 @s2n_ktls_set_control_data(ptr noundef nonnull %11, ptr noundef nonnull %12, i64 noundef 100, i32 noundef 11, i8 noundef zeroext 5) #12
  %825 = call zeroext i1 @s2n_result_is_ok(i32 %824)
  br i1 %825, label %848, label %826

826:                                              ; preds = %822
  %827 = load i32, ptr %421, align 4, !tbaa !5
  %828 = load ptr, ptr @stderr, align 8, !tbaa !9
  %829 = call i32 @s2n_print_stacktrace(ptr noundef %828) #12
  %830 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %831 = trunc nuw i8 %830 to i1
  br i1 %831, label %832, label %836

832:                                              ; preds = %826
  %833 = load ptr, ptr @stderr, align 8, !tbaa !9
  %834 = call i32 @fileno(ptr noundef %833) #12
  %835 = call i32 @isatty(i32 noundef %834) #12
  %.not1119 = icmp eq i32 %835, 0
  br i1 %.not1119, label %836, label %837

836:                                              ; preds = %832, %826
  br label %837

837:                                              ; preds = %832, %836
  %.str.6.sink1759 = phi ptr [ @.str.6, %836 ], [ @.str.3, %832 ]
  store i32 %827, ptr %421, align 4, !tbaa !5
  %838 = load ptr, ptr @stderr, align 8, !tbaa !9
  %839 = load i32, ptr @test_count, align 4, !tbaa !5
  %840 = load i32, ptr %367, align 4, !tbaa !5
  %841 = call ptr @s2n_strerror(i32 noundef %840, ptr noundef nonnull @.str.5) #12
  %842 = load i32, ptr %367, align 4, !tbaa !5
  %843 = call ptr @s2n_strerror_debug(i32 noundef %842, ptr noundef nonnull @.str.5) #12
  %844 = load i32, ptr %421, align 4, !tbaa !5
  %845 = call ptr @strerror(i32 noundef %844) #12
  %846 = load i32, ptr %421, align 4, !tbaa !5
  %847 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %838, ptr noundef nonnull %.str.6.sink1759, i32 noundef %839, ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.2, i32 noundef 146, ptr noundef %841, ptr noundef %843, ptr noundef %845, i32 noundef %846) #14
  call void @exit(i32 noundef 1) #15
  unreachable

848:                                              ; preds = %822
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %13) #12
  store i8 0, ptr %13, align 1, !tbaa !15
  %849 = load i32, ptr @test_count, align 4, !tbaa !5
  %850 = add nsw i32 %849, 1
  store i32 %850, ptr @test_count, align 4, !tbaa !5
  %851 = call i32 @s2n_ktls_get_control_data(ptr noundef nonnull %11, i32 noundef 99, ptr noundef nonnull %13) #12
  %852 = call zeroext i1 @s2n_result_is_error(i32 %851)
  br i1 %852, label %875, label %853

853:                                              ; preds = %848
  %854 = load i32, ptr %421, align 4, !tbaa !5
  %855 = load ptr, ptr @stderr, align 8, !tbaa !9
  %856 = call i32 @s2n_print_stacktrace(ptr noundef %855) #12
  %857 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %858 = trunc nuw i8 %857 to i1
  br i1 %858, label %859, label %863

859:                                              ; preds = %853
  %860 = load ptr, ptr @stderr, align 8, !tbaa !9
  %861 = call i32 @fileno(ptr noundef %860) #12
  %862 = call i32 @isatty(i32 noundef %861) #12
  %.not1120 = icmp eq i32 %862, 0
  br i1 %.not1120, label %863, label %864

863:                                              ; preds = %859, %853
  br label %864

864:                                              ; preds = %859, %863
  %.str.6.sink1768 = phi ptr [ @.str.6, %863 ], [ @.str.3, %859 ]
  store i32 %854, ptr %421, align 4, !tbaa !5
  %865 = load ptr, ptr @stderr, align 8, !tbaa !9
  %866 = load i32, ptr @test_count, align 4, !tbaa !5
  %867 = load i32, ptr %367, align 4, !tbaa !5
  %868 = call ptr @s2n_strerror(i32 noundef %867, ptr noundef nonnull @.str.5) #12
  %869 = load i32, ptr %367, align 4, !tbaa !5
  %870 = call ptr @s2n_strerror_debug(i32 noundef %869, ptr noundef nonnull @.str.5) #12
  %871 = load i32, ptr %421, align 4, !tbaa !5
  %872 = call ptr @strerror(i32 noundef %871) #12
  %873 = load i32, ptr %421, align 4, !tbaa !5
  %874 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %865, ptr noundef nonnull %.str.6.sink1768, i32 noundef %866, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.2, i32 noundef 151, ptr noundef %868, ptr noundef %870, ptr noundef %872, i32 noundef %873) #14
  call void @exit(i32 noundef 1) #15
  unreachable

875:                                              ; preds = %848
  %876 = load i32, ptr @test_count, align 4, !tbaa !5
  %877 = add nsw i32 %876, 1
  store i32 %877, ptr @test_count, align 4, !tbaa !5
  %878 = load i32, ptr %367, align 4, !tbaa !5
  %879 = icmp eq i32 %878, 469762129
  br i1 %879, label %902, label %880

880:                                              ; preds = %875
  %881 = load i32, ptr %421, align 4, !tbaa !5
  %882 = load ptr, ptr @stderr, align 8, !tbaa !9
  %883 = call i32 @s2n_print_stacktrace(ptr noundef %882) #12
  %884 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %885 = trunc nuw i8 %884 to i1
  br i1 %885, label %886, label %890

886:                                              ; preds = %880
  %887 = load ptr, ptr @stderr, align 8, !tbaa !9
  %888 = call i32 @fileno(ptr noundef %887) #12
  %889 = call i32 @isatty(i32 noundef %888) #12
  %.not1121 = icmp eq i32 %889, 0
  br i1 %.not1121, label %890, label %891

890:                                              ; preds = %886, %880
  br label %891

891:                                              ; preds = %886, %890
  %.str.6.sink1777 = phi ptr [ @.str.6, %890 ], [ @.str.3, %886 ]
  store i32 %881, ptr %421, align 4, !tbaa !5
  %892 = load ptr, ptr @stderr, align 8, !tbaa !9
  %893 = load i32, ptr @test_count, align 4, !tbaa !5
  %894 = load i32, ptr %367, align 4, !tbaa !5
  %895 = call ptr @s2n_strerror(i32 noundef %894, ptr noundef nonnull @.str.5) #12
  %896 = load i32, ptr %367, align 4, !tbaa !5
  %897 = call ptr @s2n_strerror_debug(i32 noundef %896, ptr noundef nonnull @.str.5) #12
  %898 = load i32, ptr %421, align 4, !tbaa !5
  %899 = call ptr @strerror(i32 noundef %898) #12
  %900 = load i32, ptr %421, align 4, !tbaa !5
  %901 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %892, ptr noundef nonnull %.str.6.sink1777, i32 noundef %893, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.2, i32 noundef 151, ptr noundef %895, ptr noundef %897, ptr noundef %899, i32 noundef %900) #14
  call void @exit(i32 noundef 1) #15
  unreachable

902:                                              ; preds = %875
  %903 = add nsw i32 %876, 2
  store i32 %903, ptr @test_count, align 4, !tbaa !5
  %904 = call ptr @s2n_strerror_debug(i32 noundef 469762129, ptr noundef nonnull @.str.5) #12
  %905 = icmp eq ptr %904, null
  br i1 %905, label %906, label %928

906:                                              ; preds = %902
  %907 = load i32, ptr %421, align 4, !tbaa !5
  %908 = load ptr, ptr @stderr, align 8, !tbaa !9
  %909 = call i32 @s2n_print_stacktrace(ptr noundef %908) #12
  %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) #12
  %915 = call i32 @isatty(i32 noundef %914) #12
  %.not1508 = icmp eq i32 %915, 0
  br i1 %.not1508, label %916, label %917

916:                                              ; preds = %912, %906
  br label %917

917:                                              ; preds = %912, %916
  %.str.6.sink1786 = phi ptr [ @.str.6, %916 ], [ @.str.3, %912 ]
  store i32 %907, ptr %421, 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 %367, align 4, !tbaa !5
  %921 = call ptr @s2n_strerror(i32 noundef %920, ptr noundef nonnull @.str.5) #12
  %922 = load i32, ptr %367, align 4, !tbaa !5
  %923 = call ptr @s2n_strerror_debug(i32 noundef %922, ptr noundef nonnull @.str.5) #12
  %924 = load i32, ptr %421, align 4, !tbaa !5
  %925 = call ptr @strerror(i32 noundef %924) #12
  %926 = load i32, ptr %421, align 4, !tbaa !5
  %927 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %918, ptr noundef nonnull %.str.6.sink1786, i32 noundef %919, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.2, i32 noundef 151, ptr noundef %921, ptr noundef %923, ptr noundef %925, i32 noundef %926) #14
  call void @exit(i32 noundef 1) #15
  unreachable

928:                                              ; preds = %902
  store i32 0, ptr %367, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %421, align 4, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %13) #12
  call void @llvm.lifetime.end.p0(i64 100, ptr nonnull %12) #12
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %11) #12
  call void @llvm.lifetime.start.p0(i64 96, ptr nonnull %14) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(96) %14, i8 0, i64 96, i1 false)
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %15) #12
  store ptr %3, ptr %15, align 8, !tbaa !16
  %929 = getelementptr inbounds i8, ptr %15, i64 8
  store i64 10, ptr %929, align 8, !tbaa !19
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %16) #12
  store i32 0, ptr %16, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %17) #12
  store i64 0, ptr %17, align 8, !tbaa !20
  %930 = load i32, ptr @test_count, align 4, !tbaa !5
  %931 = add nsw i32 %930, 1
  store i32 %931, ptr @test_count, align 4, !tbaa !5
  %932 = call i32 @s2n_ktls_sendmsg(ptr noundef null, i8 noundef zeroext 43, ptr noundef nonnull %15, i64 noundef 1, ptr noundef nonnull %16, ptr noundef nonnull %17) #12
  %933 = call zeroext i1 @s2n_result_is_error(i32 %932)
  br i1 %933, label %956, label %934

934:                                              ; preds = %928
  %935 = load i32, ptr %421, align 4, !tbaa !5
  %936 = load ptr, ptr @stderr, align 8, !tbaa !9
  %937 = call i32 @s2n_print_stacktrace(ptr noundef %936) #12
  %938 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %939 = trunc nuw i8 %938 to i1
  br i1 %939, label %940, label %944

940:                                              ; preds = %934
  %941 = load ptr, ptr @stderr, align 8, !tbaa !9
  %942 = call i32 @fileno(ptr noundef %941) #12
  %943 = call i32 @isatty(i32 noundef %942) #12
  %.not1122 = icmp eq i32 %943, 0
  br i1 %.not1122, label %944, label %945

944:                                              ; preds = %940, %934
  br label %945

945:                                              ; preds = %940, %944
  %.str.6.sink1795 = phi ptr [ @.str.6, %944 ], [ @.str.3, %940 ]
  store i32 %935, ptr %421, align 4, !tbaa !5
  %946 = load ptr, ptr @stderr, align 8, !tbaa !9
  %947 = load i32, ptr @test_count, align 4, !tbaa !5
  %948 = load i32, ptr %367, align 4, !tbaa !5
  %949 = call ptr @s2n_strerror(i32 noundef %948, ptr noundef nonnull @.str.5) #12
  %950 = load i32, ptr %367, align 4, !tbaa !5
  %951 = call ptr @s2n_strerror_debug(i32 noundef %950, ptr noundef nonnull @.str.5) #12
  %952 = load i32, ptr %421, align 4, !tbaa !5
  %953 = call ptr @strerror(i32 noundef %952) #12
  %954 = load i32, ptr %421, align 4, !tbaa !5
  %955 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %946, ptr noundef nonnull %.str.6.sink1795, i32 noundef %947, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.2, i32 noundef 166, ptr noundef %949, ptr noundef %951, ptr noundef %953, i32 noundef %954) #14
  call void @exit(i32 noundef 1) #15
  unreachable

956:                                              ; preds = %928
  %957 = load i32, ptr @test_count, align 4, !tbaa !5
  %958 = add nsw i32 %957, 1
  store i32 %958, ptr @test_count, align 4, !tbaa !5
  %959 = load i32, ptr %367, align 4, !tbaa !5
  %960 = icmp eq i32 %959, 67108864
  br i1 %960, label %983, label %961

961:                                              ; preds = %956
  %962 = load i32, ptr %421, align 4, !tbaa !5
  %963 = load ptr, ptr @stderr, align 8, !tbaa !9
  %964 = call i32 @s2n_print_stacktrace(ptr noundef %963) #12
  %965 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %966 = trunc nuw i8 %965 to i1
  br i1 %966, label %967, label %971

967:                                              ; preds = %961
  %968 = load ptr, ptr @stderr, align 8, !tbaa !9
  %969 = call i32 @fileno(ptr noundef %968) #12
  %970 = call i32 @isatty(i32 noundef %969) #12
  %.not1123 = icmp eq i32 %970, 0
  br i1 %.not1123, label %971, label %972

971:                                              ; preds = %967, %961
  br label %972

972:                                              ; preds = %967, %971
  %.str.6.sink1804 = phi ptr [ @.str.6, %971 ], [ @.str.3, %967 ]
  store i32 %962, ptr %421, align 4, !tbaa !5
  %973 = load ptr, ptr @stderr, align 8, !tbaa !9
  %974 = load i32, ptr @test_count, align 4, !tbaa !5
  %975 = load i32, ptr %367, align 4, !tbaa !5
  %976 = call ptr @s2n_strerror(i32 noundef %975, ptr noundef nonnull @.str.5) #12
  %977 = load i32, ptr %367, align 4, !tbaa !5
  %978 = call ptr @s2n_strerror_debug(i32 noundef %977, ptr noundef nonnull @.str.5) #12
  %979 = load i32, ptr %421, align 4, !tbaa !5
  %980 = call ptr @strerror(i32 noundef %979) #12
  %981 = load i32, ptr %421, align 4, !tbaa !5
  %982 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %973, ptr noundef nonnull %.str.6.sink1804, i32 noundef %974, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.2, i32 noundef 166, ptr noundef %976, ptr noundef %978, ptr noundef %980, i32 noundef %981) #14
  call void @exit(i32 noundef 1) #15
  unreachable

983:                                              ; preds = %956
  %984 = add nsw i32 %957, 2
  store i32 %984, ptr @test_count, align 4, !tbaa !5
  %985 = call ptr @s2n_strerror_debug(i32 noundef 67108864, ptr noundef nonnull @.str.5) #12
  %986 = icmp eq ptr %985, null
  br i1 %986, label %987, label %1009

987:                                              ; preds = %983
  %988 = load i32, ptr %421, align 4, !tbaa !5
  %989 = load ptr, ptr @stderr, align 8, !tbaa !9
  %990 = call i32 @s2n_print_stacktrace(ptr noundef %989) #12
  %991 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %992 = trunc nuw i8 %991 to i1
  br i1 %992, label %993, label %997

993:                                              ; preds = %987
  %994 = load ptr, ptr @stderr, align 8, !tbaa !9
  %995 = call i32 @fileno(ptr noundef %994) #12
  %996 = call i32 @isatty(i32 noundef %995) #12
  %.not1507 = icmp eq i32 %996, 0
  br i1 %.not1507, label %997, label %998

997:                                              ; preds = %993, %987
  br label %998

998:                                              ; preds = %993, %997
  %.str.6.sink1813 = phi ptr [ @.str.6, %997 ], [ @.str.3, %993 ]
  store i32 %988, ptr %421, align 4, !tbaa !5
  %999 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1000 = load i32, ptr @test_count, align 4, !tbaa !5
  %1001 = load i32, ptr %367, align 4, !tbaa !5
  %1002 = call ptr @s2n_strerror(i32 noundef %1001, ptr noundef nonnull @.str.5) #12
  %1003 = load i32, ptr %367, align 4, !tbaa !5
  %1004 = call ptr @s2n_strerror_debug(i32 noundef %1003, ptr noundef nonnull @.str.5) #12
  %1005 = load i32, ptr %421, align 4, !tbaa !5
  %1006 = call ptr @strerror(i32 noundef %1005) #12
  %1007 = load i32, ptr %421, align 4, !tbaa !5
  %1008 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %999, ptr noundef nonnull %.str.6.sink1813, i32 noundef %1000, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.2, i32 noundef 166, ptr noundef %1002, ptr noundef %1004, ptr noundef %1006, i32 noundef %1007) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1009:                                             ; preds = %983
  store i32 0, ptr %367, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %421, align 4, !tbaa !5
  %1010 = load i32, ptr @test_count, align 4, !tbaa !5
  %1011 = add nsw i32 %1010, 1
  store i32 %1011, ptr @test_count, align 4, !tbaa !5
  %1012 = call i32 @s2n_ktls_sendmsg(ptr noundef nonnull %14, i8 noundef zeroext 43, ptr noundef null, i64 noundef 1, ptr noundef nonnull %16, ptr noundef nonnull %17) #12
  %1013 = call zeroext i1 @s2n_result_is_error(i32 %1012)
  br i1 %1013, label %1036, label %1014

1014:                                             ; preds = %1009
  %1015 = load i32, ptr %421, align 4, !tbaa !5
  %1016 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1017 = call i32 @s2n_print_stacktrace(ptr noundef %1016) #12
  %1018 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1019 = trunc nuw i8 %1018 to i1
  br i1 %1019, label %1020, label %1024

1020:                                             ; preds = %1014
  %1021 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1022 = call i32 @fileno(ptr noundef %1021) #12
  %1023 = call i32 @isatty(i32 noundef %1022) #12
  %.not1124 = icmp eq i32 %1023, 0
  br i1 %.not1124, label %1024, label %1025

1024:                                             ; preds = %1020, %1014
  br label %1025

1025:                                             ; preds = %1020, %1024
  %.str.6.sink1822 = phi ptr [ @.str.6, %1024 ], [ @.str.3, %1020 ]
  store i32 %1015, ptr %421, align 4, !tbaa !5
  %1026 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1027 = load i32, ptr @test_count, align 4, !tbaa !5
  %1028 = load i32, ptr %367, align 4, !tbaa !5
  %1029 = call ptr @s2n_strerror(i32 noundef %1028, ptr noundef nonnull @.str.5) #12
  %1030 = load i32, ptr %367, align 4, !tbaa !5
  %1031 = call ptr @s2n_strerror_debug(i32 noundef %1030, ptr noundef nonnull @.str.5) #12
  %1032 = load i32, ptr %421, align 4, !tbaa !5
  %1033 = call ptr @strerror(i32 noundef %1032) #12
  %1034 = load i32, ptr %421, align 4, !tbaa !5
  %1035 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1026, ptr noundef nonnull %.str.6.sink1822, i32 noundef %1027, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.2, i32 noundef 169, ptr noundef %1029, ptr noundef %1031, ptr noundef %1033, i32 noundef %1034) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1036:                                             ; preds = %1009
  %1037 = load i32, ptr @test_count, align 4, !tbaa !5
  %1038 = add nsw i32 %1037, 1
  store i32 %1038, ptr @test_count, align 4, !tbaa !5
  %1039 = load i32, ptr %367, align 4, !tbaa !5
  %1040 = icmp eq i32 %1039, 402653193
  br i1 %1040, label %1063, label %1041

1041:                                             ; preds = %1036
  %1042 = load i32, ptr %421, align 4, !tbaa !5
  %1043 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1044 = call i32 @s2n_print_stacktrace(ptr noundef %1043) #12
  %1045 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1046 = trunc nuw i8 %1045 to i1
  br i1 %1046, label %1047, label %1051

1047:                                             ; preds = %1041
  %1048 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1049 = call i32 @fileno(ptr noundef %1048) #12
  %1050 = call i32 @isatty(i32 noundef %1049) #12
  %.not1125 = icmp eq i32 %1050, 0
  br i1 %.not1125, label %1051, label %1052

1051:                                             ; preds = %1047, %1041
  br label %1052

1052:                                             ; preds = %1047, %1051
  %.str.6.sink1831 = phi ptr [ @.str.6, %1051 ], [ @.str.3, %1047 ]
  store i32 %1042, ptr %421, align 4, !tbaa !5
  %1053 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1054 = load i32, ptr @test_count, align 4, !tbaa !5
  %1055 = load i32, ptr %367, align 4, !tbaa !5
  %1056 = call ptr @s2n_strerror(i32 noundef %1055, ptr noundef nonnull @.str.5) #12
  %1057 = load i32, ptr %367, align 4, !tbaa !5
  %1058 = call ptr @s2n_strerror_debug(i32 noundef %1057, ptr noundef nonnull @.str.5) #12
  %1059 = load i32, ptr %421, align 4, !tbaa !5
  %1060 = call ptr @strerror(i32 noundef %1059) #12
  %1061 = load i32, ptr %421, align 4, !tbaa !5
  %1062 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1053, ptr noundef nonnull %.str.6.sink1831, i32 noundef %1054, ptr noundef nonnull @.str.12, ptr noundef nonnull @.str.2, i32 noundef 169, ptr noundef %1056, ptr noundef %1058, ptr noundef %1060, i32 noundef %1061) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1063:                                             ; preds = %1036
  %1064 = add nsw i32 %1037, 2
  store i32 %1064, ptr @test_count, align 4, !tbaa !5
  %1065 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.5) #12
  %1066 = icmp eq ptr %1065, null
  br i1 %1066, label %1067, label %1089

1067:                                             ; preds = %1063
  %1068 = load i32, ptr %421, align 4, !tbaa !5
  %1069 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1070 = call i32 @s2n_print_stacktrace(ptr noundef %1069) #12
  %1071 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1072 = trunc nuw i8 %1071 to i1
  br i1 %1072, label %1073, label %1077

1073:                                             ; preds = %1067
  %1074 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1075 = call i32 @fileno(ptr noundef %1074) #12
  %1076 = call i32 @isatty(i32 noundef %1075) #12
  %.not1506 = icmp eq i32 %1076, 0
  br i1 %.not1506, label %1077, label %1078

1077:                                             ; preds = %1073, %1067
  br label %1078

1078:                                             ; preds = %1073, %1077
  %.str.6.sink1840 = phi ptr [ @.str.6, %1077 ], [ @.str.3, %1073 ]
  store i32 %1068, ptr %421, align 4, !tbaa !5
  %1079 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1080 = load i32, ptr @test_count, align 4, !tbaa !5
  %1081 = load i32, ptr %367, align 4, !tbaa !5
  %1082 = call ptr @s2n_strerror(i32 noundef %1081, ptr noundef nonnull @.str.5) #12
  %1083 = load i32, ptr %367, align 4, !tbaa !5
  %1084 = call ptr @s2n_strerror_debug(i32 noundef %1083, ptr noundef nonnull @.str.5) #12
  %1085 = load i32, ptr %421, align 4, !tbaa !5
  %1086 = call ptr @strerror(i32 noundef %1085) #12
  %1087 = load i32, ptr %421, align 4, !tbaa !5
  %1088 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1079, ptr noundef nonnull %.str.6.sink1840, i32 noundef %1080, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.2, i32 noundef 169, ptr noundef %1082, ptr noundef %1084, ptr noundef %1086, i32 noundef %1087) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1089:                                             ; preds = %1063
  store i32 0, ptr %367, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %421, align 4, !tbaa !5
  %1090 = load i32, ptr @test_count, align 4, !tbaa !5
  %1091 = add nsw i32 %1090, 1
  store i32 %1091, ptr @test_count, align 4, !tbaa !5
  %1092 = call i32 @s2n_ktls_sendmsg(ptr noundef nonnull %14, i8 noundef zeroext 43, ptr noundef nonnull %15, i64 noundef 1, ptr noundef null, ptr noundef nonnull %17) #12
  %1093 = call zeroext i1 @s2n_result_is_error(i32 %1092)
  br i1 %1093, label %1116, label %1094

1094:                                             ; preds = %1089
  %1095 = load i32, ptr %421, align 4, !tbaa !5
  %1096 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1097 = call i32 @s2n_print_stacktrace(ptr noundef %1096) #12
  %1098 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1099 = trunc nuw i8 %1098 to i1
  br i1 %1099, label %1100, label %1104

1100:                                             ; preds = %1094
  %1101 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1102 = call i32 @fileno(ptr noundef %1101) #12
  %1103 = call i32 @isatty(i32 noundef %1102) #12
  %.not1126 = icmp eq i32 %1103, 0
  br i1 %.not1126, label %1104, label %1105

1104:                                             ; preds = %1100, %1094
  br label %1105

1105:                                             ; preds = %1100, %1104
  %.str.6.sink1849 = phi ptr [ @.str.6, %1104 ], [ @.str.3, %1100 ]
  store i32 %1095, ptr %421, align 4, !tbaa !5
  %1106 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1107 = load i32, ptr @test_count, align 4, !tbaa !5
  %1108 = load i32, ptr %367, align 4, !tbaa !5
  %1109 = call ptr @s2n_strerror(i32 noundef %1108, ptr noundef nonnull @.str.5) #12
  %1110 = load i32, ptr %367, align 4, !tbaa !5
  %1111 = call ptr @s2n_strerror_debug(i32 noundef %1110, ptr noundef nonnull @.str.5) #12
  %1112 = load i32, ptr %421, align 4, !tbaa !5
  %1113 = call ptr @strerror(i32 noundef %1112) #12
  %1114 = load i32, ptr %421, align 4, !tbaa !5
  %1115 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1106, ptr noundef nonnull %.str.6.sink1849, i32 noundef %1107, ptr noundef nonnull @.str.26, ptr noundef nonnull @.str.2, i32 noundef 172, ptr noundef %1109, ptr noundef %1111, ptr noundef %1113, i32 noundef %1114) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1116:                                             ; preds = %1089
  %1117 = load i32, ptr @test_count, align 4, !tbaa !5
  %1118 = add nsw i32 %1117, 1
  store i32 %1118, ptr @test_count, align 4, !tbaa !5
  %1119 = load i32, ptr %367, align 4, !tbaa !5
  %1120 = icmp eq i32 %1119, 402653193
  br i1 %1120, label %1143, label %1121

1121:                                             ; preds = %1116
  %1122 = load i32, ptr %421, align 4, !tbaa !5
  %1123 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1124 = call i32 @s2n_print_stacktrace(ptr noundef %1123) #12
  %1125 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1126 = trunc nuw i8 %1125 to i1
  br i1 %1126, label %1127, label %1131

1127:                                             ; preds = %1121
  %1128 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1129 = call i32 @fileno(ptr noundef %1128) #12
  %1130 = call i32 @isatty(i32 noundef %1129) #12
  %.not1127 = icmp eq i32 %1130, 0
  br i1 %.not1127, label %1131, label %1132

1131:                                             ; preds = %1127, %1121
  br label %1132

1132:                                             ; preds = %1127, %1131
  %.str.6.sink1858 = phi ptr [ @.str.6, %1131 ], [ @.str.3, %1127 ]
  store i32 %1122, ptr %421, 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 %367, align 4, !tbaa !5
  %1136 = call ptr @s2n_strerror(i32 noundef %1135, ptr noundef nonnull @.str.5) #12
  %1137 = load i32, ptr %367, align 4, !tbaa !5
  %1138 = call ptr @s2n_strerror_debug(i32 noundef %1137, ptr noundef nonnull @.str.5) #12
  %1139 = load i32, ptr %421, align 4, !tbaa !5
  %1140 = call ptr @strerror(i32 noundef %1139) #12
  %1141 = load i32, ptr %421, align 4, !tbaa !5
  %1142 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1133, ptr noundef nonnull %.str.6.sink1858, i32 noundef %1134, ptr noundef nonnull @.str.12, ptr noundef nonnull @.str.2, i32 noundef 172, ptr noundef %1136, ptr noundef %1138, ptr noundef %1140, i32 noundef %1141) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1143:                                             ; preds = %1116
  %1144 = add nsw i32 %1117, 2
  store i32 %1144, ptr @test_count, align 4, !tbaa !5
  %1145 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.5) #12
  %1146 = icmp eq ptr %1145, null
  br i1 %1146, label %1147, label %1169

1147:                                             ; preds = %1143
  %1148 = load i32, ptr %421, align 4, !tbaa !5
  %1149 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1150 = call i32 @s2n_print_stacktrace(ptr noundef %1149) #12
  %1151 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1152 = trunc nuw i8 %1151 to i1
  br i1 %1152, label %1153, label %1157

1153:                                             ; preds = %1147
  %1154 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1155 = call i32 @fileno(ptr noundef %1154) #12
  %1156 = call i32 @isatty(i32 noundef %1155) #12
  %.not1505 = icmp eq i32 %1156, 0
  br i1 %.not1505, label %1157, label %1158

1157:                                             ; preds = %1153, %1147
  br label %1158

1158:                                             ; preds = %1153, %1157
  %.str.6.sink1867 = phi ptr [ @.str.6, %1157 ], [ @.str.3, %1153 ]
  store i32 %1148, ptr %421, align 4, !tbaa !5
  %1159 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1160 = load i32, ptr @test_count, align 4, !tbaa !5
  %1161 = load i32, ptr %367, align 4, !tbaa !5
  %1162 = call ptr @s2n_strerror(i32 noundef %1161, ptr noundef nonnull @.str.5) #12
  %1163 = load i32, ptr %367, align 4, !tbaa !5
  %1164 = call ptr @s2n_strerror_debug(i32 noundef %1163, ptr noundef nonnull @.str.5) #12
  %1165 = load i32, ptr %421, align 4, !tbaa !5
  %1166 = call ptr @strerror(i32 noundef %1165) #12
  %1167 = load i32, ptr %421, align 4, !tbaa !5
  %1168 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1159, ptr noundef nonnull %.str.6.sink1867, i32 noundef %1160, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.2, i32 noundef 172, ptr noundef %1162, ptr noundef %1164, ptr noundef %1166, i32 noundef %1167) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1169:                                             ; preds = %1143
  store i32 0, ptr %367, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %421, align 4, !tbaa !5
  %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 = call i32 @s2n_ktls_sendmsg(ptr noundef nonnull %14, i8 noundef zeroext 43, ptr noundef nonnull %15, i64 noundef 1, ptr noundef nonnull %16, ptr noundef null) #12
  %1173 = call zeroext i1 @s2n_result_is_error(i32 %1172)
  br i1 %1173, label %1196, label %1174

1174:                                             ; preds = %1169
  %1175 = load i32, ptr %421, align 4, !tbaa !5
  %1176 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1177 = call i32 @s2n_print_stacktrace(ptr noundef %1176) #12
  %1178 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1179 = trunc nuw i8 %1178 to i1
  br i1 %1179, label %1180, label %1184

1180:                                             ; preds = %1174
  %1181 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1182 = call i32 @fileno(ptr noundef %1181) #12
  %1183 = call i32 @isatty(i32 noundef %1182) #12
  %.not1128 = icmp eq i32 %1183, 0
  br i1 %.not1128, label %1184, label %1185

1184:                                             ; preds = %1180, %1174
  br label %1185

1185:                                             ; preds = %1180, %1184
  %.str.6.sink1876 = phi ptr [ @.str.6, %1184 ], [ @.str.3, %1180 ]
  store i32 %1175, ptr %421, align 4, !tbaa !5
  %1186 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1187 = load i32, ptr @test_count, align 4, !tbaa !5
  %1188 = load i32, ptr %367, align 4, !tbaa !5
  %1189 = call ptr @s2n_strerror(i32 noundef %1188, ptr noundef nonnull @.str.5) #12
  %1190 = load i32, ptr %367, align 4, !tbaa !5
  %1191 = call ptr @s2n_strerror_debug(i32 noundef %1190, ptr noundef nonnull @.str.5) #12
  %1192 = load i32, ptr %421, align 4, !tbaa !5
  %1193 = call ptr @strerror(i32 noundef %1192) #12
  %1194 = load i32, ptr %421, align 4, !tbaa !5
  %1195 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1186, ptr noundef nonnull %.str.6.sink1876, i32 noundef %1187, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.2, i32 noundef 175, ptr noundef %1189, ptr noundef %1191, ptr noundef %1193, i32 noundef %1194) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1196:                                             ; preds = %1169
  %1197 = load i32, ptr @test_count, align 4, !tbaa !5
  %1198 = add nsw i32 %1197, 1
  store i32 %1198, ptr @test_count, align 4, !tbaa !5
  %1199 = load i32, ptr %367, align 4, !tbaa !5
  %1200 = icmp eq i32 %1199, 402653193
  br i1 %1200, label %1223, label %1201

1201:                                             ; preds = %1196
  %1202 = load i32, ptr %421, align 4, !tbaa !5
  %1203 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1204 = call i32 @s2n_print_stacktrace(ptr noundef %1203) #12
  %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) #12
  %1210 = call i32 @isatty(i32 noundef %1209) #12
  %.not1129 = icmp eq i32 %1210, 0
  br i1 %.not1129, label %1211, label %1212

1211:                                             ; preds = %1207, %1201
  br label %1212

1212:                                             ; preds = %1207, %1211
  %.str.6.sink1885 = phi ptr [ @.str.6, %1211 ], [ @.str.3, %1207 ]
  store i32 %1202, ptr %421, 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 %367, align 4, !tbaa !5
  %1216 = call ptr @s2n_strerror(i32 noundef %1215, ptr noundef nonnull @.str.5) #12
  %1217 = load i32, ptr %367, align 4, !tbaa !5
  %1218 = call ptr @s2n_strerror_debug(i32 noundef %1217, ptr noundef nonnull @.str.5) #12
  %1219 = load i32, ptr %421, align 4, !tbaa !5
  %1220 = call ptr @strerror(i32 noundef %1219) #12
  %1221 = load i32, ptr %421, align 4, !tbaa !5
  %1222 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1213, ptr noundef nonnull %.str.6.sink1885, i32 noundef %1214, ptr noundef nonnull @.str.12, ptr noundef nonnull @.str.2, i32 noundef 175, ptr noundef %1216, ptr noundef %1218, ptr noundef %1220, i32 noundef %1221) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1223:                                             ; preds = %1196
  %1224 = add nsw i32 %1197, 2
  store i32 %1224, ptr @test_count, align 4, !tbaa !5
  %1225 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.5) #12
  %1226 = icmp eq ptr %1225, null
  br i1 %1226, label %1227, label %1249

1227:                                             ; preds = %1223
  %1228 = load i32, ptr %421, align 4, !tbaa !5
  %1229 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1230 = call i32 @s2n_print_stacktrace(ptr noundef %1229) #12
  %1231 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1232 = trunc nuw i8 %1231 to i1
  br i1 %1232, label %1233, label %1237

1233:                                             ; preds = %1227
  %1234 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1235 = call i32 @fileno(ptr noundef %1234) #12
  %1236 = call i32 @isatty(i32 noundef %1235) #12
  %.not1504 = icmp eq i32 %1236, 0
  br i1 %.not1504, label %1237, label %1238

1237:                                             ; preds = %1233, %1227
  br label %1238

1238:                                             ; preds = %1233, %1237
  %.str.6.sink1894 = phi ptr [ @.str.6, %1237 ], [ @.str.3, %1233 ]
  store i32 %1228, ptr %421, align 4, !tbaa !5
  %1239 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1240 = load i32, ptr @test_count, align 4, !tbaa !5
  %1241 = load i32, ptr %367, align 4, !tbaa !5
  %1242 = call ptr @s2n_strerror(i32 noundef %1241, ptr noundef nonnull @.str.5) #12
  %1243 = load i32, ptr %367, align 4, !tbaa !5
  %1244 = call ptr @s2n_strerror_debug(i32 noundef %1243, ptr noundef nonnull @.str.5) #12
  %1245 = load i32, ptr %421, align 4, !tbaa !5
  %1246 = call ptr @strerror(i32 noundef %1245) #12
  %1247 = load i32, ptr %421, align 4, !tbaa !5
  %1248 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1239, ptr noundef nonnull %.str.6.sink1894, i32 noundef %1240, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.2, i32 noundef 175, ptr noundef %1242, ptr noundef %1244, ptr noundef %1246, i32 noundef %1247) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1249:                                             ; preds = %1223
  store i32 0, ptr %367, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %421, align 4, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %17) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %16) #12
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %15) #12
  call void @llvm.lifetime.end.p0(i64 96, ptr nonnull %14) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %18) #12
  %1250 = call ptr @s2n_connection_new(i32 noundef 0) #12
  store ptr %1250, ptr %18, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 96, ptr nonnull %19) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(96) %19, i8 0, i64 96, i1 false)
  %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 = call i32 @s2n_test_init_ktls_io_stuffer_send(ptr noundef %1250, ptr noundef nonnull %19) #12
  %1254 = call zeroext i1 @s2n_result_is_ok(i32 %1253)
  br i1 %1254, label %1277, label %1255

1255:                                             ; preds = %1249
  %1256 = load i32, ptr %421, align 4, !tbaa !5
  %1257 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1258 = call i32 @s2n_print_stacktrace(ptr noundef %1257) #12
  %1259 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1260 = trunc nuw i8 %1259 to i1
  br i1 %1260, label %1261, label %1265

1261:                                             ; preds = %1255
  %1262 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1263 = call i32 @fileno(ptr noundef %1262) #12
  %1264 = call i32 @isatty(i32 noundef %1263) #12
  %.not1130 = icmp eq i32 %1264, 0
  br i1 %.not1130, label %1265, label %1266

1265:                                             ; preds = %1261, %1255
  br label %1266

1266:                                             ; preds = %1261, %1265
  %.str.6.sink1903 = phi ptr [ @.str.6, %1265 ], [ @.str.3, %1261 ]
  store i32 %1256, ptr %421, align 4, !tbaa !5
  %1267 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1268 = load i32, ptr @test_count, align 4, !tbaa !5
  %1269 = load i32, ptr %367, align 4, !tbaa !5
  %1270 = call ptr @s2n_strerror(i32 noundef %1269, ptr noundef nonnull @.str.5) #12
  %1271 = load i32, ptr %367, align 4, !tbaa !5
  %1272 = call ptr @s2n_strerror_debug(i32 noundef %1271, ptr noundef nonnull @.str.5) #12
  %1273 = load i32, ptr %421, align 4, !tbaa !5
  %1274 = call ptr @strerror(i32 noundef %1273) #12
  %1275 = load i32, ptr %421, align 4, !tbaa !5
  %1276 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1267, ptr noundef nonnull %.str.6.sink1903, i32 noundef %1268, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.2, i32 noundef 184, ptr noundef %1270, ptr noundef %1272, ptr noundef %1274, i32 noundef %1275) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1277:                                             ; preds = %1249
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %20) #12
  store ptr %3, ptr %20, align 8, !tbaa !16
  %1278 = getelementptr inbounds i8, ptr %20, i64 8
  store i64 10, ptr %1278, align 8, !tbaa !19
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %21) #12
  store i32 0, ptr %21, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %22) #12
  store i64 0, ptr %22, align 8, !tbaa !20
  %1279 = load i32, ptr @test_count, align 4, !tbaa !5
  %1280 = add nsw i32 %1279, 1
  store i32 %1280, ptr @test_count, align 4, !tbaa !5
  %1281 = load ptr, ptr %18, align 8, !tbaa !9
  %1282 = getelementptr inbounds i8, ptr %1281, i64 64
  %1283 = load ptr, ptr %1282, align 8, !tbaa !21
  %1284 = call i32 @s2n_ktls_sendmsg(ptr noundef %1283, i8 noundef zeroext 43, ptr noundef nonnull %20, i64 noundef 1, ptr noundef nonnull %21, ptr noundef nonnull %22) #12
  %1285 = call zeroext i1 @s2n_result_is_ok(i32 %1284)
  br i1 %1285, label %1308, label %1286

1286:                                             ; preds = %1277
  %1287 = load i32, ptr %421, align 4, !tbaa !5
  %1288 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1289 = call i32 @s2n_print_stacktrace(ptr noundef %1288) #12
  %1290 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1291 = trunc nuw i8 %1290 to i1
  br i1 %1291, label %1292, label %1296

1292:                                             ; preds = %1286
  %1293 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1294 = call i32 @fileno(ptr noundef %1293) #12
  %1295 = call i32 @isatty(i32 noundef %1294) #12
  %.not1131 = icmp eq i32 %1295, 0
  br i1 %.not1131, label %1296, label %1297

1296:                                             ; preds = %1292, %1286
  br label %1297

1297:                                             ; preds = %1292, %1296
  %.str.6.sink1912 = phi ptr [ @.str.6, %1296 ], [ @.str.3, %1292 ]
  store i32 %1287, ptr %421, align 4, !tbaa !5
  %1298 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1299 = load i32, ptr @test_count, align 4, !tbaa !5
  %1300 = load i32, ptr %367, align 4, !tbaa !5
  %1301 = call ptr @s2n_strerror(i32 noundef %1300, ptr noundef nonnull @.str.5) #12
  %1302 = load i32, ptr %367, align 4, !tbaa !5
  %1303 = call ptr @s2n_strerror_debug(i32 noundef %1302, ptr noundef nonnull @.str.5) #12
  %1304 = load i32, ptr %421, align 4, !tbaa !5
  %1305 = call ptr @strerror(i32 noundef %1304) #12
  %1306 = load i32, ptr %421, align 4, !tbaa !5
  %1307 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1298, ptr noundef nonnull %.str.6.sink1912, i32 noundef %1299, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.2, i32 noundef 190, ptr noundef %1301, ptr noundef %1303, ptr noundef %1305, i32 noundef %1306) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1308:                                             ; preds = %1277
  %1309 = load i32, ptr @test_count, align 4, !tbaa !5
  %1310 = add nsw i32 %1309, 1
  store i32 %1310, ptr @test_count, align 4, !tbaa !5
  %1311 = load i64, ptr %22, align 8, !tbaa !20
  %1312 = icmp eq i64 %1311, 10
  br i1 %1312, label %1335, label %1313

1313:                                             ; preds = %1308
  %1314 = load i32, ptr %421, align 4, !tbaa !5
  %1315 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1316 = call i32 @s2n_print_stacktrace(ptr noundef %1315) #12
  %1317 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1318 = trunc nuw i8 %1317 to i1
  br i1 %1318, label %1319, label %1323

1319:                                             ; preds = %1313
  %1320 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1321 = call i32 @fileno(ptr noundef %1320) #12
  %1322 = call i32 @isatty(i32 noundef %1321) #12
  %.not1132 = icmp eq i32 %1322, 0
  br i1 %.not1132, label %1323, label %1324

1323:                                             ; preds = %1319, %1313
  br label %1324

1324:                                             ; preds = %1319, %1323
  %.str.6.sink1921 = phi ptr [ @.str.6, %1323 ], [ @.str.3, %1319 ]
  store i32 %1314, ptr %421, align 4, !tbaa !5
  %1325 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1326 = load i32, ptr @test_count, align 4, !tbaa !5
  %1327 = load i32, ptr %367, align 4, !tbaa !5
  %1328 = call ptr @s2n_strerror(i32 noundef %1327, ptr noundef nonnull @.str.5) #12
  %1329 = load i32, ptr %367, align 4, !tbaa !5
  %1330 = call ptr @s2n_strerror_debug(i32 noundef %1329, ptr noundef nonnull @.str.5) #12
  %1331 = load i32, ptr %421, align 4, !tbaa !5
  %1332 = call ptr @strerror(i32 noundef %1331) #12
  %1333 = load i32, ptr %421, align 4, !tbaa !5
  %1334 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1325, ptr noundef nonnull %.str.6.sink1921, i32 noundef %1326, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.2, i32 noundef 191, ptr noundef %1328, ptr noundef %1330, ptr noundef %1332, i32 noundef %1333) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1335:                                             ; preds = %1308
  %1336 = add nsw i32 %1309, 2
  store i32 %1336, ptr @test_count, align 4, !tbaa !5
  %1337 = load i32, ptr %21, align 4, !tbaa !5
  %1338 = icmp eq i32 %1337, 0
  br i1 %1338, label %1361, label %1339

1339:                                             ; preds = %1335
  %1340 = load i32, ptr %421, align 4, !tbaa !5
  %1341 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1342 = call i32 @s2n_print_stacktrace(ptr noundef %1341) #12
  %1343 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1344 = trunc nuw i8 %1343 to i1
  br i1 %1344, label %1345, label %1349

1345:                                             ; preds = %1339
  %1346 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1347 = call i32 @fileno(ptr noundef %1346) #12
  %1348 = call i32 @isatty(i32 noundef %1347) #12
  %.not1133 = icmp eq i32 %1348, 0
  br i1 %.not1133, label %1349, label %1350

1349:                                             ; preds = %1345, %1339
  br label %1350

1350:                                             ; preds = %1345, %1349
  %.str.6.sink1930 = phi ptr [ @.str.6, %1349 ], [ @.str.3, %1345 ]
  store i32 %1340, ptr %421, align 4, !tbaa !5
  %1351 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1352 = load i32, ptr @test_count, align 4, !tbaa !5
  %1353 = load i32, ptr %367, align 4, !tbaa !5
  %1354 = call ptr @s2n_strerror(i32 noundef %1353, ptr noundef nonnull @.str.5) #12
  %1355 = load i32, ptr %367, align 4, !tbaa !5
  %1356 = call ptr @s2n_strerror_debug(i32 noundef %1355, ptr noundef nonnull @.str.5) #12
  %1357 = load i32, ptr %421, align 4, !tbaa !5
  %1358 = call ptr @strerror(i32 noundef %1357) #12
  %1359 = load i32, ptr %421, align 4, !tbaa !5
  %1360 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1351, ptr noundef nonnull %.str.6.sink1930, i32 noundef %1352, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.2, i32 noundef 192, ptr noundef %1354, ptr noundef %1356, ptr noundef %1358, i32 noundef %1359) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1361:                                             ; preds = %1335
  %1362 = add nsw i32 %1309, 3
  store i32 %1362, ptr @test_count, align 4, !tbaa !5
  %1363 = call i32 @s2n_test_validate_ancillary(ptr noundef nonnull %19, i8 noundef zeroext 43, i16 noundef zeroext 10) #12
  %1364 = call zeroext i1 @s2n_result_is_ok(i32 %1363)
  br i1 %1364, label %1387, label %1365

1365:                                             ; preds = %1361
  %1366 = load i32, ptr %421, align 4, !tbaa !5
  %1367 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1368 = call i32 @s2n_print_stacktrace(ptr noundef %1367) #12
  %1369 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1370 = trunc nuw i8 %1369 to i1
  br i1 %1370, label %1371, label %1375

1371:                                             ; preds = %1365
  %1372 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1373 = call i32 @fileno(ptr noundef %1372) #12
  %1374 = call i32 @isatty(i32 noundef %1373) #12
  %.not1134 = icmp eq i32 %1374, 0
  br i1 %.not1134, label %1375, label %1376

1375:                                             ; preds = %1371, %1365
  br label %1376

1376:                                             ; preds = %1371, %1375
  %.str.6.sink1939 = phi ptr [ @.str.6, %1375 ], [ @.str.3, %1371 ]
  store i32 %1366, ptr %421, align 4, !tbaa !5
  %1377 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1378 = load i32, ptr @test_count, align 4, !tbaa !5
  %1379 = load i32, ptr %367, align 4, !tbaa !5
  %1380 = call ptr @s2n_strerror(i32 noundef %1379, ptr noundef nonnull @.str.5) #12
  %1381 = load i32, ptr %367, align 4, !tbaa !5
  %1382 = call ptr @s2n_strerror_debug(i32 noundef %1381, ptr noundef nonnull @.str.5) #12
  %1383 = load i32, ptr %421, align 4, !tbaa !5
  %1384 = call ptr @strerror(i32 noundef %1383) #12
  %1385 = load i32, ptr %421, align 4, !tbaa !5
  %1386 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1377, ptr noundef nonnull %.str.6.sink1939, i32 noundef %1378, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.2, i32 noundef 195, ptr noundef %1380, ptr noundef %1382, ptr noundef %1384, i32 noundef %1385) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1387:                                             ; preds = %1361
  %1388 = load i32, ptr @test_count, align 4, !tbaa !5
  %1389 = add nsw i32 %1388, 1
  store i32 %1389, ptr @test_count, align 4, !tbaa !5
  %1390 = call i32 @s2n_test_validate_data(ptr noundef nonnull %19, ptr noundef nonnull %3, i16 noundef zeroext 10) #12
  %1391 = call zeroext i1 @s2n_result_is_ok(i32 %1390)
  br i1 %1391, label %1414, label %1392

1392:                                             ; preds = %1387
  %1393 = load i32, ptr %421, align 4, !tbaa !5
  %1394 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1395 = call i32 @s2n_print_stacktrace(ptr noundef %1394) #12
  %1396 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1397 = trunc nuw i8 %1396 to i1
  br i1 %1397, label %1398, label %1402

1398:                                             ; preds = %1392
  %1399 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1400 = call i32 @fileno(ptr noundef %1399) #12
  %1401 = call i32 @isatty(i32 noundef %1400) #12
  %.not1135 = icmp eq i32 %1401, 0
  br i1 %.not1135, label %1402, label %1403

1402:                                             ; preds = %1398, %1392
  br label %1403

1403:                                             ; preds = %1398, %1402
  %.str.6.sink1948 = phi ptr [ @.str.6, %1402 ], [ @.str.3, %1398 ]
  store i32 %1393, ptr %421, align 4, !tbaa !5
  %1404 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1405 = load i32, ptr @test_count, align 4, !tbaa !5
  %1406 = load i32, ptr %367, align 4, !tbaa !5
  %1407 = call ptr @s2n_strerror(i32 noundef %1406, ptr noundef nonnull @.str.5) #12
  %1408 = load i32, ptr %367, align 4, !tbaa !5
  %1409 = call ptr @s2n_strerror_debug(i32 noundef %1408, ptr noundef nonnull @.str.5) #12
  %1410 = load i32, ptr %421, align 4, !tbaa !5
  %1411 = call ptr @strerror(i32 noundef %1410) #12
  %1412 = load i32, ptr %421, align 4, !tbaa !5
  %1413 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1404, ptr noundef nonnull %.str.6.sink1948, i32 noundef %1405, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.2, i32 noundef 196, ptr noundef %1407, ptr noundef %1409, ptr noundef %1411, i32 noundef %1412) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1414:                                             ; preds = %1387
  %1415 = load i32, ptr @test_count, align 4, !tbaa !5
  %1416 = add nsw i32 %1415, 1
  store i32 %1416, ptr @test_count, align 4, !tbaa !5
  %1417 = getelementptr inbounds i8, ptr %19, i64 80
  %1418 = load i64, ptr %1417, align 8, !tbaa !47
  %1419 = icmp eq i64 %1418, 1
  br i1 %1419, label %1442, label %1420

1420:                                             ; preds = %1414
  %1421 = load i32, ptr %421, align 4, !tbaa !5
  %1422 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1423 = call i32 @s2n_print_stacktrace(ptr noundef %1422) #12
  %1424 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1425 = trunc nuw i8 %1424 to i1
  br i1 %1425, label %1426, label %1430

1426:                                             ; preds = %1420
  %1427 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1428 = call i32 @fileno(ptr noundef %1427) #12
  %1429 = call i32 @isatty(i32 noundef %1428) #12
  %.not1136 = icmp eq i32 %1429, 0
  br i1 %.not1136, label %1430, label %1431

1430:                                             ; preds = %1426, %1420
  br label %1431

1431:                                             ; preds = %1426, %1430
  %.str.6.sink1957 = phi ptr [ @.str.6, %1430 ], [ @.str.3, %1426 ]
  store i32 %1421, ptr %421, align 4, !tbaa !5
  %1432 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1433 = load i32, ptr @test_count, align 4, !tbaa !5
  %1434 = load i32, ptr %367, align 4, !tbaa !5
  %1435 = call ptr @s2n_strerror(i32 noundef %1434, ptr noundef nonnull @.str.5) #12
  %1436 = load i32, ptr %367, align 4, !tbaa !5
  %1437 = call ptr @s2n_strerror_debug(i32 noundef %1436, ptr noundef nonnull @.str.5) #12
  %1438 = load i32, ptr %421, align 4, !tbaa !5
  %1439 = call ptr @strerror(i32 noundef %1438) #12
  %1440 = load i32, ptr %421, align 4, !tbaa !5
  %1441 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1432, ptr noundef nonnull %.str.6.sink1957, i32 noundef %1433, ptr noundef nonnull @.str.34, ptr noundef nonnull @.str.2, i32 noundef 198, ptr noundef %1435, ptr noundef %1437, ptr noundef %1439, i32 noundef %1440) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1442:                                             ; preds = %1414
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %22) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %21) #12
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %20) #12
  %1443 = call i32 @s2n_ktls_io_stuffer_free(ptr noundef nonnull %19) #12
  call void @llvm.lifetime.end.p0(i64 96, ptr nonnull %19) #12
  %1444 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %18) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %18) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %23) #12
  %1445 = call ptr @s2n_connection_new(i32 noundef 0) #12
  store ptr %1445, ptr %23, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 96, ptr nonnull %24) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(96) %24, i8 0, i64 96, i1 false)
  %1446 = load i32, ptr @test_count, align 4, !tbaa !5
  %1447 = add nsw i32 %1446, 1
  store i32 %1447, ptr @test_count, align 4, !tbaa !5
  %1448 = call i32 @s2n_test_init_ktls_io_stuffer_send(ptr noundef %1445, ptr noundef nonnull %24) #12
  %1449 = call zeroext i1 @s2n_result_is_ok(i32 %1448)
  br i1 %1449, label %1472, label %1450

1450:                                             ; preds = %1442
  %1451 = load i32, ptr %421, align 4, !tbaa !5
  %1452 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1453 = call i32 @s2n_print_stacktrace(ptr noundef %1452) #12
  %1454 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1455 = trunc nuw i8 %1454 to i1
  br i1 %1455, label %1456, label %1460

1456:                                             ; preds = %1450
  %1457 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1458 = call i32 @fileno(ptr noundef %1457) #12
  %1459 = call i32 @isatty(i32 noundef %1458) #12
  %.not1137 = icmp eq i32 %1459, 0
  br i1 %.not1137, label %1460, label %1461

1460:                                             ; preds = %1456, %1450
  br label %1461

1461:                                             ; preds = %1456, %1460
  %.str.6.sink1966 = phi ptr [ @.str.6, %1460 ], [ @.str.3, %1456 ]
  store i32 %1451, ptr %421, align 4, !tbaa !5
  %1462 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1463 = load i32, ptr @test_count, align 4, !tbaa !5
  %1464 = load i32, ptr %367, align 4, !tbaa !5
  %1465 = call ptr @s2n_strerror(i32 noundef %1464, ptr noundef nonnull @.str.5) #12
  %1466 = load i32, ptr %367, align 4, !tbaa !5
  %1467 = call ptr @s2n_strerror_debug(i32 noundef %1466, ptr noundef nonnull @.str.5) #12
  %1468 = load i32, ptr %421, align 4, !tbaa !5
  %1469 = call ptr @strerror(i32 noundef %1468) #12
  %1470 = load i32, ptr %421, align 4, !tbaa !5
  %1471 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1462, ptr noundef nonnull %.str.6.sink1966, i32 noundef %1463, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.2, i32 noundef 207, ptr noundef %1465, ptr noundef %1467, ptr noundef %1469, i32 noundef %1470) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1472:                                             ; preds = %1442
  call void @llvm.lifetime.start.p0(i64 80, ptr nonnull %25) #12
  store ptr %3, ptr %25, align 16, !tbaa !16
  %1473 = getelementptr inbounds i8, ptr %25, i64 8
  store i64 10, ptr %1473, align 8, !tbaa !19
  %1474 = getelementptr inbounds i8, ptr %3, i64 10
  %1475 = getelementptr inbounds i8, ptr %25, i64 16
  store ptr %1474, ptr %1475, align 16, !tbaa !16
  %1476 = getelementptr inbounds i8, ptr %25, i64 24
  store i64 10, ptr %1476, align 8, !tbaa !19
  %1477 = getelementptr inbounds i8, ptr %3, i64 20
  %1478 = getelementptr inbounds i8, ptr %25, i64 32
  store ptr %1477, ptr %1478, align 16, !tbaa !16
  %1479 = getelementptr inbounds i8, ptr %25, i64 40
  store i64 10, ptr %1479, align 8, !tbaa !19
  %1480 = getelementptr inbounds i8, ptr %3, i64 30
  %1481 = getelementptr inbounds i8, ptr %25, i64 48
  store ptr %1480, ptr %1481, align 16, !tbaa !16
  %1482 = getelementptr inbounds i8, ptr %25, i64 56
  store i64 10, ptr %1482, align 8, !tbaa !19
  %1483 = getelementptr inbounds i8, ptr %3, i64 40
  %1484 = getelementptr inbounds i8, ptr %25, i64 64
  store ptr %1483, ptr %1484, align 16, !tbaa !16
  %1485 = getelementptr inbounds i8, ptr %25, i64 72
  store i64 10, ptr %1485, align 8, !tbaa !19
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %26) #12
  store i32 0, ptr %26, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %27) #12
  store i64 0, ptr %27, align 8, !tbaa !20
  %1486 = load i32, ptr @test_count, align 4, !tbaa !5
  %1487 = add nsw i32 %1486, 1
  store i32 %1487, ptr @test_count, align 4, !tbaa !5
  %1488 = load ptr, ptr %23, align 8, !tbaa !9
  %1489 = getelementptr inbounds i8, ptr %1488, i64 64
  %1490 = load ptr, ptr %1489, align 8, !tbaa !21
  %1491 = call i32 @s2n_ktls_sendmsg(ptr noundef %1490, i8 noundef zeroext 43, ptr noundef nonnull %25, i64 noundef 5, ptr noundef nonnull %26, ptr noundef nonnull %27) #12
  %1492 = call zeroext i1 @s2n_result_is_ok(i32 %1491)
  br i1 %1492, label %1515, label %1493

1493:                                             ; preds = %1472
  %1494 = load i32, ptr %421, align 4, !tbaa !5
  %1495 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1496 = call i32 @s2n_print_stacktrace(ptr noundef %1495) #12
  %1497 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1498 = trunc nuw i8 %1497 to i1
  br i1 %1498, label %1499, label %1503

1499:                                             ; preds = %1493
  %1500 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1501 = call i32 @fileno(ptr noundef %1500) #12
  %1502 = call i32 @isatty(i32 noundef %1501) #12
  %.not1138 = icmp eq i32 %1502, 0
  br i1 %.not1138, label %1503, label %1504

1503:                                             ; preds = %1499, %1493
  br label %1504

1504:                                             ; preds = %1499, %1503
  %.str.6.sink1975 = phi ptr [ @.str.6, %1503 ], [ @.str.3, %1499 ]
  store i32 %1494, ptr %421, align 4, !tbaa !5
  %1505 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1506 = load i32, ptr @test_count, align 4, !tbaa !5
  %1507 = load i32, ptr %367, align 4, !tbaa !5
  %1508 = call ptr @s2n_strerror(i32 noundef %1507, ptr noundef nonnull @.str.5) #12
  %1509 = load i32, ptr %367, align 4, !tbaa !5
  %1510 = call ptr @s2n_strerror_debug(i32 noundef %1509, ptr noundef nonnull @.str.5) #12
  %1511 = load i32, ptr %421, align 4, !tbaa !5
  %1512 = call ptr @strerror(i32 noundef %1511) #12
  %1513 = load i32, ptr %421, align 4, !tbaa !5
  %1514 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1505, ptr noundef nonnull %.str.6.sink1975, i32 noundef %1506, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.2, i32 noundef 220, ptr noundef %1508, ptr noundef %1510, ptr noundef %1512, i32 noundef %1513) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1515:                                             ; preds = %1472
  %1516 = load i32, ptr @test_count, align 4, !tbaa !5
  %1517 = add nsw i32 %1516, 1
  store i32 %1517, ptr @test_count, align 4, !tbaa !5
  %1518 = load i64, ptr %27, align 8, !tbaa !20
  %1519 = icmp eq i64 %1518, 50
  br i1 %1519, label %1542, label %1520

1520:                                             ; preds = %1515
  %1521 = load i32, ptr %421, align 4, !tbaa !5
  %1522 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1523 = call i32 @s2n_print_stacktrace(ptr noundef %1522) #12
  %1524 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1525 = trunc nuw i8 %1524 to i1
  br i1 %1525, label %1526, label %1530

1526:                                             ; preds = %1520
  %1527 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1528 = call i32 @fileno(ptr noundef %1527) #12
  %1529 = call i32 @isatty(i32 noundef %1528) #12
  %.not1139 = icmp eq i32 %1529, 0
  br i1 %.not1139, label %1530, label %1531

1530:                                             ; preds = %1526, %1520
  br label %1531

1531:                                             ; preds = %1526, %1530
  %.str.6.sink1984 = phi ptr [ @.str.6, %1530 ], [ @.str.3, %1526 ]
  store i32 %1521, ptr %421, align 4, !tbaa !5
  %1532 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1533 = load i32, ptr @test_count, align 4, !tbaa !5
  %1534 = load i32, ptr %367, align 4, !tbaa !5
  %1535 = call ptr @s2n_strerror(i32 noundef %1534, ptr noundef nonnull @.str.5) #12
  %1536 = load i32, ptr %367, align 4, !tbaa !5
  %1537 = call ptr @s2n_strerror_debug(i32 noundef %1536, ptr noundef nonnull @.str.5) #12
  %1538 = load i32, ptr %421, align 4, !tbaa !5
  %1539 = call ptr @strerror(i32 noundef %1538) #12
  %1540 = load i32, ptr %421, align 4, !tbaa !5
  %1541 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1532, ptr noundef nonnull %.str.6.sink1984, i32 noundef %1533, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.2, i32 noundef 221, ptr noundef %1535, ptr noundef %1537, ptr noundef %1539, i32 noundef %1540) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1542:                                             ; preds = %1515
  %1543 = add nsw i32 %1516, 2
  store i32 %1543, ptr @test_count, align 4, !tbaa !5
  %1544 = load i32, ptr %26, align 4, !tbaa !5
  %1545 = icmp eq i32 %1544, 0
  br i1 %1545, label %1568, label %1546

1546:                                             ; preds = %1542
  %1547 = load i32, ptr %421, align 4, !tbaa !5
  %1548 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1549 = call i32 @s2n_print_stacktrace(ptr noundef %1548) #12
  %1550 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1551 = trunc nuw i8 %1550 to i1
  br i1 %1551, label %1552, label %1556

1552:                                             ; preds = %1546
  %1553 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1554 = call i32 @fileno(ptr noundef %1553) #12
  %1555 = call i32 @isatty(i32 noundef %1554) #12
  %.not1140 = icmp eq i32 %1555, 0
  br i1 %.not1140, label %1556, label %1557

1556:                                             ; preds = %1552, %1546
  br label %1557

1557:                                             ; preds = %1552, %1556
  %.str.6.sink1993 = phi ptr [ @.str.6, %1556 ], [ @.str.3, %1552 ]
  store i32 %1547, ptr %421, align 4, !tbaa !5
  %1558 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1559 = load i32, ptr @test_count, align 4, !tbaa !5
  %1560 = load i32, ptr %367, align 4, !tbaa !5
  %1561 = call ptr @s2n_strerror(i32 noundef %1560, ptr noundef nonnull @.str.5) #12
  %1562 = load i32, ptr %367, align 4, !tbaa !5
  %1563 = call ptr @s2n_strerror_debug(i32 noundef %1562, ptr noundef nonnull @.str.5) #12
  %1564 = load i32, ptr %421, align 4, !tbaa !5
  %1565 = call ptr @strerror(i32 noundef %1564) #12
  %1566 = load i32, ptr %421, align 4, !tbaa !5
  %1567 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1558, ptr noundef nonnull %.str.6.sink1993, i32 noundef %1559, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.2, i32 noundef 222, ptr noundef %1561, ptr noundef %1563, ptr noundef %1565, i32 noundef %1566) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1568:                                             ; preds = %1542
  %1569 = add nsw i32 %1516, 3
  store i32 %1569, ptr @test_count, align 4, !tbaa !5
  %1570 = call i32 @s2n_test_validate_ancillary(ptr noundef nonnull %24, i8 noundef zeroext 43, i16 noundef zeroext 50) #12
  %1571 = call zeroext i1 @s2n_result_is_ok(i32 %1570)
  br i1 %1571, label %1594, label %1572

1572:                                             ; preds = %1568
  %1573 = load i32, ptr %421, align 4, !tbaa !5
  %1574 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1575 = call i32 @s2n_print_stacktrace(ptr noundef %1574) #12
  %1576 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1577 = trunc nuw i8 %1576 to i1
  br i1 %1577, label %1578, label %1582

1578:                                             ; preds = %1572
  %1579 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1580 = call i32 @fileno(ptr noundef %1579) #12
  %1581 = call i32 @isatty(i32 noundef %1580) #12
  %.not1141 = icmp eq i32 %1581, 0
  br i1 %.not1141, label %1582, label %1583

1582:                                             ; preds = %1578, %1572
  br label %1583

1583:                                             ; preds = %1578, %1582
  %.str.6.sink2002 = phi ptr [ @.str.6, %1582 ], [ @.str.3, %1578 ]
  store i32 %1573, ptr %421, align 4, !tbaa !5
  %1584 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1585 = load i32, ptr @test_count, align 4, !tbaa !5
  %1586 = load i32, ptr %367, align 4, !tbaa !5
  %1587 = call ptr @s2n_strerror(i32 noundef %1586, ptr noundef nonnull @.str.5) #12
  %1588 = load i32, ptr %367, align 4, !tbaa !5
  %1589 = call ptr @s2n_strerror_debug(i32 noundef %1588, ptr noundef nonnull @.str.5) #12
  %1590 = load i32, ptr %421, align 4, !tbaa !5
  %1591 = call ptr @strerror(i32 noundef %1590) #12
  %1592 = load i32, ptr %421, align 4, !tbaa !5
  %1593 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1584, ptr noundef nonnull %.str.6.sink2002, i32 noundef %1585, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.2, i32 noundef 225, ptr noundef %1587, ptr noundef %1589, ptr noundef %1591, i32 noundef %1592) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1594:                                             ; preds = %1568
  %1595 = load i32, ptr @test_count, align 4, !tbaa !5
  %1596 = add nsw i32 %1595, 1
  store i32 %1596, ptr @test_count, align 4, !tbaa !5
  %1597 = call i32 @s2n_test_validate_data(ptr noundef nonnull %24, ptr noundef nonnull %3, i16 noundef zeroext 50) #12
  %1598 = call zeroext i1 @s2n_result_is_ok(i32 %1597)
  br i1 %1598, label %1621, label %1599

1599:                                             ; preds = %1594
  %1600 = load i32, ptr %421, align 4, !tbaa !5
  %1601 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1602 = call i32 @s2n_print_stacktrace(ptr noundef %1601) #12
  %1603 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1604 = trunc nuw i8 %1603 to i1
  br i1 %1604, label %1605, label %1609

1605:                                             ; preds = %1599
  %1606 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1607 = call i32 @fileno(ptr noundef %1606) #12
  %1608 = call i32 @isatty(i32 noundef %1607) #12
  %.not1142 = icmp eq i32 %1608, 0
  br i1 %.not1142, label %1609, label %1610

1609:                                             ; preds = %1605, %1599
  br label %1610

1610:                                             ; preds = %1605, %1609
  %.str.6.sink2011 = phi ptr [ @.str.6, %1609 ], [ @.str.3, %1605 ]
  store i32 %1600, ptr %421, align 4, !tbaa !5
  %1611 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1612 = load i32, ptr @test_count, align 4, !tbaa !5
  %1613 = load i32, ptr %367, align 4, !tbaa !5
  %1614 = call ptr @s2n_strerror(i32 noundef %1613, ptr noundef nonnull @.str.5) #12
  %1615 = load i32, ptr %367, align 4, !tbaa !5
  %1616 = call ptr @s2n_strerror_debug(i32 noundef %1615, ptr noundef nonnull @.str.5) #12
  %1617 = load i32, ptr %421, align 4, !tbaa !5
  %1618 = call ptr @strerror(i32 noundef %1617) #12
  %1619 = load i32, ptr %421, align 4, !tbaa !5
  %1620 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1611, ptr noundef nonnull %.str.6.sink2011, i32 noundef %1612, ptr noundef nonnull @.str.38, ptr noundef nonnull @.str.2, i32 noundef 226, ptr noundef %1614, ptr noundef %1616, ptr noundef %1618, i32 noundef %1619) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1621:                                             ; preds = %1594
  %1622 = load i32, ptr @test_count, align 4, !tbaa !5
  %1623 = add nsw i32 %1622, 1
  store i32 %1623, ptr @test_count, align 4, !tbaa !5
  %1624 = getelementptr inbounds i8, ptr %24, i64 28
  %1625 = load i32, ptr %1624, align 4, !tbaa !49
  %1626 = getelementptr inbounds i8, ptr %24, i64 24
  %1627 = load i32, ptr %1626, align 8, !tbaa !50
  %1628 = sub i32 %1625, %1627
  %1629 = icmp eq i32 %1628, 3
  br i1 %1629, label %1652, label %1630

1630:                                             ; preds = %1621
  %1631 = load i32, ptr %421, align 4, !tbaa !5
  %1632 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1633 = call i32 @s2n_print_stacktrace(ptr noundef %1632) #12
  %1634 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1635 = trunc nuw i8 %1634 to i1
  br i1 %1635, label %1636, label %1640

1636:                                             ; preds = %1630
  %1637 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1638 = call i32 @fileno(ptr noundef %1637) #12
  %1639 = call i32 @isatty(i32 noundef %1638) #12
  %.not1143 = icmp eq i32 %1639, 0
  br i1 %.not1143, label %1640, label %1641

1640:                                             ; preds = %1636, %1630
  br label %1641

1641:                                             ; preds = %1636, %1640
  %.str.6.sink2020 = phi ptr [ @.str.6, %1640 ], [ @.str.3, %1636 ]
  store i32 %1631, ptr %421, align 4, !tbaa !5
  %1642 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1643 = load i32, ptr @test_count, align 4, !tbaa !5
  %1644 = load i32, ptr %367, align 4, !tbaa !5
  %1645 = call ptr @s2n_strerror(i32 noundef %1644, ptr noundef nonnull @.str.5) #12
  %1646 = load i32, ptr %367, align 4, !tbaa !5
  %1647 = call ptr @s2n_strerror_debug(i32 noundef %1646, ptr noundef nonnull @.str.5) #12
  %1648 = load i32, ptr %421, align 4, !tbaa !5
  %1649 = call ptr @strerror(i32 noundef %1648) #12
  %1650 = load i32, ptr %421, align 4, !tbaa !5
  %1651 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1642, ptr noundef nonnull %.str.6.sink2020, i32 noundef %1643, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.2, i32 noundef 229, ptr noundef %1645, ptr noundef %1647, ptr noundef %1649, i32 noundef %1650) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1652:                                             ; preds = %1621
  %1653 = add nsw i32 %1622, 2
  store i32 %1653, ptr @test_count, align 4, !tbaa !5
  %1654 = getelementptr inbounds i8, ptr %24, i64 80
  %1655 = load i64, ptr %1654, align 8, !tbaa !47
  %1656 = icmp eq i64 %1655, 1
  br i1 %1656, label %1679, label %1657

1657:                                             ; preds = %1652
  %1658 = load i32, ptr %421, align 4, !tbaa !5
  %1659 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1660 = call i32 @s2n_print_stacktrace(ptr noundef %1659) #12
  %1661 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1662 = trunc nuw i8 %1661 to i1
  br i1 %1662, label %1663, label %1667

1663:                                             ; preds = %1657
  %1664 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1665 = call i32 @fileno(ptr noundef %1664) #12
  %1666 = call i32 @isatty(i32 noundef %1665) #12
  %.not1144 = icmp eq i32 %1666, 0
  br i1 %.not1144, label %1667, label %1668

1667:                                             ; preds = %1663, %1657
  br label %1668

1668:                                             ; preds = %1663, %1667
  %.str.6.sink2029 = phi ptr [ @.str.6, %1667 ], [ @.str.3, %1663 ]
  store i32 %1658, ptr %421, align 4, !tbaa !5
  %1669 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1670 = load i32, ptr @test_count, align 4, !tbaa !5
  %1671 = load i32, ptr %367, align 4, !tbaa !5
  %1672 = call ptr @s2n_strerror(i32 noundef %1671, ptr noundef nonnull @.str.5) #12
  %1673 = load i32, ptr %367, align 4, !tbaa !5
  %1674 = call ptr @s2n_strerror_debug(i32 noundef %1673, ptr noundef nonnull @.str.5) #12
  %1675 = load i32, ptr %421, align 4, !tbaa !5
  %1676 = call ptr @strerror(i32 noundef %1675) #12
  %1677 = load i32, ptr %421, align 4, !tbaa !5
  %1678 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1669, ptr noundef nonnull %.str.6.sink2029, i32 noundef %1670, ptr noundef nonnull @.str.34, ptr noundef nonnull @.str.2, i32 noundef 231, ptr noundef %1672, ptr noundef %1674, ptr noundef %1676, i32 noundef %1677) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1679:                                             ; preds = %1652
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %27) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %26) #12
  call void @llvm.lifetime.end.p0(i64 80, ptr nonnull %25) #12
  %1680 = call i32 @s2n_ktls_io_stuffer_free(ptr noundef nonnull %24) #12
  call void @llvm.lifetime.end.p0(i64 96, ptr nonnull %24) #12
  %1681 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %23) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %23) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %28) #12
  %1682 = call ptr @s2n_connection_new(i32 noundef 0) #12
  store ptr %1682, ptr %28, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 96, ptr nonnull %29) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(96) %29, i8 0, i64 96, i1 false)
  %1683 = load i32, ptr @test_count, align 4, !tbaa !5
  %1684 = add nsw i32 %1683, 1
  store i32 %1684, ptr @test_count, align 4, !tbaa !5
  %1685 = call i32 @s2n_test_init_ktls_io_stuffer_send(ptr noundef %1682, ptr noundef nonnull %29) #12
  %1686 = call zeroext i1 @s2n_result_is_ok(i32 %1685)
  br i1 %1686, label %1709, label %1687

1687:                                             ; preds = %1679
  %1688 = load i32, ptr %421, align 4, !tbaa !5
  %1689 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1690 = call i32 @s2n_print_stacktrace(ptr noundef %1689) #12
  %1691 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1692 = trunc nuw i8 %1691 to i1
  br i1 %1692, label %1693, label %1697

1693:                                             ; preds = %1687
  %1694 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1695 = call i32 @fileno(ptr noundef %1694) #12
  %1696 = call i32 @isatty(i32 noundef %1695) #12
  %.not1145 = icmp eq i32 %1696, 0
  br i1 %.not1145, label %1697, label %1698

1697:                                             ; preds = %1693, %1687
  br label %1698

1698:                                             ; preds = %1693, %1697
  %.str.6.sink2038 = phi ptr [ @.str.6, %1697 ], [ @.str.3, %1693 ]
  store i32 %1688, ptr %421, align 4, !tbaa !5
  %1699 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1700 = load i32, ptr @test_count, align 4, !tbaa !5
  %1701 = load i32, ptr %367, align 4, !tbaa !5
  %1702 = call ptr @s2n_strerror(i32 noundef %1701, ptr noundef nonnull @.str.5) #12
  %1703 = load i32, ptr %367, align 4, !tbaa !5
  %1704 = call ptr @s2n_strerror_debug(i32 noundef %1703, ptr noundef nonnull @.str.5) #12
  %1705 = load i32, ptr %421, align 4, !tbaa !5
  %1706 = call ptr @strerror(i32 noundef %1705) #12
  %1707 = load i32, ptr %421, align 4, !tbaa !5
  %1708 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1699, ptr noundef nonnull %.str.6.sink2038, i32 noundef %1700, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.2, i32 noundef 240, ptr noundef %1702, ptr noundef %1704, ptr noundef %1706, i32 noundef %1707) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1709:                                             ; preds = %1679
  %1710 = getelementptr inbounds i8, ptr %29, i64 76
  %1711 = load i8, ptr %1710, align 4
  %1712 = and i8 %1711, -3
  store i8 %1712, ptr %1710, align 4
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %30) #12
  store ptr %3, ptr %30, align 8, !tbaa !16
  %1713 = getelementptr inbounds i8, ptr %30, i64 8
  store i64 10, ptr %1713, align 8, !tbaa !19
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %31) #12
  store i32 0, ptr %31, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %32) #12
  store i64 0, ptr %32, align 8, !tbaa !20
  %1714 = load i32, ptr @test_count, align 4, !tbaa !5
  %1715 = add nsw i32 %1714, 1
  store i32 %1715, ptr @test_count, align 4, !tbaa !5
  %1716 = load ptr, ptr %28, align 8, !tbaa !9
  %1717 = getelementptr inbounds i8, ptr %1716, i64 64
  %1718 = load ptr, ptr %1717, align 8, !tbaa !21
  %1719 = call i32 @s2n_ktls_sendmsg(ptr noundef %1718, i8 noundef zeroext 43, ptr noundef nonnull %30, i64 noundef 1, ptr noundef nonnull %31, ptr noundef nonnull %32) #12
  %1720 = call zeroext i1 @s2n_result_is_error(i32 %1719)
  br i1 %1720, label %1836, label %1814

1721:                                             ; preds = %1889
  %1722 = add nsw i32 %1890, 2
  store i32 %1722, ptr @test_count, align 4, !tbaa !5
  %1723 = load ptr, ptr %28, align 8, !tbaa !9
  %1724 = getelementptr inbounds i8, ptr %1723, i64 64
  %1725 = load ptr, ptr %1724, align 8, !tbaa !21
  %1726 = call i32 @s2n_ktls_sendmsg(ptr noundef %1725, i8 noundef zeroext 43, ptr noundef nonnull %30, i64 noundef 1, ptr noundef nonnull %31, ptr noundef nonnull %32) #12
  %1727 = call zeroext i1 @s2n_result_is_error(i32 %1726)
  br i1 %1727, label %1728, label %1814

1728:                                             ; preds = %1721
  %1729 = load i32, ptr @test_count, align 4, !tbaa !5
  %1730 = add nsw i32 %1729, 1
  store i32 %1730, ptr @test_count, align 4, !tbaa !5
  %1731 = load i32, ptr %367, align 4, !tbaa !5
  %1732 = icmp eq i32 %1731, 201326592
  br i1 %1732, label %1733, label %1841

1733:                                             ; preds = %1728
  %1734 = add nsw i32 %1729, 2
  store i32 %1734, ptr @test_count, align 4, !tbaa !5
  %1735 = call ptr @s2n_strerror_debug(i32 noundef 201326592, ptr noundef nonnull @.str.5) #12
  %1736 = icmp eq ptr %1735, null
  br i1 %1736, label %1867, label %1737

1737:                                             ; preds = %1733
  store i32 0, ptr %367, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %421, align 4, !tbaa !5
  %1738 = load i32, ptr @test_count, align 4, !tbaa !5
  %1739 = add nsw i32 %1738, 1
  store i32 %1739, ptr @test_count, align 4, !tbaa !5
  %1740 = load i32, ptr %31, align 4, !tbaa !5
  %1741 = icmp eq i32 %1740, 2
  br i1 %1741, label %1742, label %1894

1742:                                             ; preds = %1737
  %1743 = add nsw i32 %1738, 2
  store i32 %1743, ptr @test_count, align 4, !tbaa !5
  %1744 = load ptr, ptr %28, align 8, !tbaa !9
  %1745 = getelementptr inbounds i8, ptr %1744, i64 64
  %1746 = load ptr, ptr %1745, align 8, !tbaa !21
  %1747 = call i32 @s2n_ktls_sendmsg(ptr noundef %1746, i8 noundef zeroext 43, ptr noundef nonnull %30, i64 noundef 1, ptr noundef nonnull %31, ptr noundef nonnull %32) #12
  %1748 = call zeroext i1 @s2n_result_is_error(i32 %1747)
  br i1 %1748, label %1749, label %1814

1749:                                             ; preds = %1742
  %1750 = load i32, ptr @test_count, align 4, !tbaa !5
  %1751 = add nsw i32 %1750, 1
  store i32 %1751, ptr @test_count, align 4, !tbaa !5
  %1752 = load i32, ptr %367, align 4, !tbaa !5
  %1753 = icmp eq i32 %1752, 201326592
  br i1 %1753, label %1754, label %1841

1754:                                             ; preds = %1749
  %1755 = add nsw i32 %1750, 2
  store i32 %1755, ptr @test_count, align 4, !tbaa !5
  %1756 = call ptr @s2n_strerror_debug(i32 noundef 201326592, ptr noundef nonnull @.str.5) #12
  %1757 = icmp eq ptr %1756, null
  br i1 %1757, label %1867, label %1758

1758:                                             ; preds = %1754
  store i32 0, ptr %367, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %421, align 4, !tbaa !5
  %1759 = load i32, ptr @test_count, align 4, !tbaa !5
  %1760 = add nsw i32 %1759, 1
  store i32 %1760, ptr @test_count, align 4, !tbaa !5
  %1761 = load i32, ptr %31, align 4, !tbaa !5
  %1762 = icmp eq i32 %1761, 2
  br i1 %1762, label %1763, label %1894

1763:                                             ; preds = %1758
  %1764 = add nsw i32 %1759, 2
  store i32 %1764, ptr @test_count, align 4, !tbaa !5
  %1765 = load ptr, ptr %28, align 8, !tbaa !9
  %1766 = getelementptr inbounds i8, ptr %1765, i64 64
  %1767 = load ptr, ptr %1766, align 8, !tbaa !21
  %1768 = call i32 @s2n_ktls_sendmsg(ptr noundef %1767, i8 noundef zeroext 43, ptr noundef nonnull %30, i64 noundef 1, ptr noundef nonnull %31, ptr noundef nonnull %32) #12
  %1769 = call zeroext i1 @s2n_result_is_error(i32 %1768)
  br i1 %1769, label %1770, label %1814

1770:                                             ; preds = %1763
  %1771 = load i32, ptr @test_count, align 4, !tbaa !5
  %1772 = add nsw i32 %1771, 1
  store i32 %1772, ptr @test_count, align 4, !tbaa !5
  %1773 = load i32, ptr %367, align 4, !tbaa !5
  %1774 = icmp eq i32 %1773, 201326592
  br i1 %1774, label %1775, label %1841

1775:                                             ; preds = %1770
  %1776 = add nsw i32 %1771, 2
  store i32 %1776, ptr @test_count, align 4, !tbaa !5
  %1777 = call ptr @s2n_strerror_debug(i32 noundef 201326592, ptr noundef nonnull @.str.5) #12
  %1778 = icmp eq ptr %1777, null
  br i1 %1778, label %1867, label %1779

1779:                                             ; preds = %1775
  store i32 0, ptr %367, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %421, align 4, !tbaa !5
  %1780 = load i32, ptr @test_count, align 4, !tbaa !5
  %1781 = add nsw i32 %1780, 1
  store i32 %1781, ptr @test_count, align 4, !tbaa !5
  %1782 = load i32, ptr %31, align 4, !tbaa !5
  %1783 = icmp eq i32 %1782, 2
  br i1 %1783, label %1784, label %1894

1784:                                             ; preds = %1779
  %1785 = add nsw i32 %1780, 2
  store i32 %1785, ptr @test_count, align 4, !tbaa !5
  %1786 = load ptr, ptr %28, align 8, !tbaa !9
  %1787 = getelementptr inbounds i8, ptr %1786, i64 64
  %1788 = load ptr, ptr %1787, align 8, !tbaa !21
  %1789 = call i32 @s2n_ktls_sendmsg(ptr noundef %1788, i8 noundef zeroext 43, ptr noundef nonnull %30, i64 noundef 1, ptr noundef nonnull %31, ptr noundef nonnull %32) #12
  %1790 = call zeroext i1 @s2n_result_is_error(i32 %1789)
  br i1 %1790, label %1791, label %1814

1791:                                             ; preds = %1784
  %1792 = load i32, ptr @test_count, align 4, !tbaa !5
  %1793 = add nsw i32 %1792, 1
  store i32 %1793, ptr @test_count, align 4, !tbaa !5
  %1794 = load i32, ptr %367, align 4, !tbaa !5
  %1795 = icmp eq i32 %1794, 201326592
  br i1 %1795, label %1796, label %1841

1796:                                             ; preds = %1791
  %1797 = add nsw i32 %1792, 2
  store i32 %1797, ptr @test_count, align 4, !tbaa !5
  %1798 = call ptr @s2n_strerror_debug(i32 noundef 201326592, ptr noundef nonnull @.str.5) #12
  %1799 = icmp eq ptr %1798, null
  br i1 %1799, label %1867, label %1800

1800:                                             ; preds = %1796
  store i32 0, ptr %367, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %421, align 4, !tbaa !5
  %1801 = load i32, ptr @test_count, align 4, !tbaa !5
  %1802 = add nsw i32 %1801, 1
  store i32 %1802, ptr @test_count, align 4, !tbaa !5
  %1803 = load i32, ptr %31, align 4, !tbaa !5
  %1804 = icmp eq i32 %1803, 2
  br i1 %1804, label %1805, label %1894

1805:                                             ; preds = %1800
  %1806 = load i8, ptr %1710, align 4
  %1807 = or i8 %1806, 2
  store i8 %1807, ptr %1710, align 4
  %1808 = add nsw i32 %1801, 2
  store i32 %1808, ptr @test_count, align 4, !tbaa !5
  %1809 = load ptr, ptr %28, align 8, !tbaa !9
  %1810 = getelementptr inbounds i8, ptr %1809, i64 64
  %1811 = load ptr, ptr %1810, align 8, !tbaa !21
  %1812 = call i32 @s2n_ktls_sendmsg(ptr noundef %1811, i8 noundef zeroext 43, ptr noundef nonnull %30, i64 noundef 1, ptr noundef nonnull %31, ptr noundef nonnull %32) #12
  %1813 = call zeroext i1 @s2n_result_is_ok(i32 %1812)
  br i1 %1813, label %1938, label %1916

1814:                                             ; preds = %1784, %1763, %1742, %1721, %1709
  %1815 = load i32, ptr %421, align 4, !tbaa !5
  %1816 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1817 = call i32 @s2n_print_stacktrace(ptr noundef %1816) #12
  %1818 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1819 = trunc nuw i8 %1818 to i1
  br i1 %1819, label %1820, label %1824

1820:                                             ; preds = %1814
  %1821 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1822 = call i32 @fileno(ptr noundef %1821) #12
  %1823 = call i32 @isatty(i32 noundef %1822) #12
  %.not1500 = icmp eq i32 %1823, 0
  br i1 %.not1500, label %1824, label %1825

1824:                                             ; preds = %1820, %1814
  br label %1825

1825:                                             ; preds = %1820, %1824
  %.str.6.sink2047 = phi ptr [ @.str.6, %1824 ], [ @.str.3, %1820 ]
  store i32 %1815, ptr %421, align 4, !tbaa !5
  %1826 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1827 = load i32, ptr @test_count, align 4, !tbaa !5
  %1828 = load i32, ptr %367, align 4, !tbaa !5
  %1829 = call ptr @s2n_strerror(i32 noundef %1828, ptr noundef nonnull @.str.5) #12
  %1830 = load i32, ptr %367, align 4, !tbaa !5
  %1831 = call ptr @s2n_strerror_debug(i32 noundef %1830, ptr noundef nonnull @.str.5) #12
  %1832 = load i32, ptr %421, align 4, !tbaa !5
  %1833 = call ptr @strerror(i32 noundef %1832) #12
  %1834 = load i32, ptr %421, align 4, !tbaa !5
  %1835 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1826, ptr noundef nonnull %.str.6.sink2047, i32 noundef %1827, ptr noundef nonnull @.str.40, ptr noundef nonnull @.str.2, i32 noundef 252, ptr noundef %1829, ptr noundef %1831, ptr noundef %1833, i32 noundef %1834) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1836:                                             ; preds = %1709
  %1837 = load i32, ptr @test_count, align 4, !tbaa !5
  %1838 = add nsw i32 %1837, 1
  store i32 %1838, ptr @test_count, align 4, !tbaa !5
  %1839 = load i32, ptr %367, align 4, !tbaa !5
  %1840 = icmp eq i32 %1839, 201326592
  br i1 %1840, label %1863, label %1841

1841:                                             ; preds = %1791, %1770, %1749, %1728, %1836
  %1842 = load i32, ptr %421, align 4, !tbaa !5
  %1843 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1844 = call i32 @s2n_print_stacktrace(ptr noundef %1843) #12
  %1845 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1846 = trunc nuw i8 %1845 to i1
  br i1 %1846, label %1847, label %1851

1847:                                             ; preds = %1841
  %1848 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1849 = call i32 @fileno(ptr noundef %1848) #12
  %1850 = call i32 @isatty(i32 noundef %1849) #12
  %.not1501 = icmp eq i32 %1850, 0
  br i1 %.not1501, label %1851, label %1852

1851:                                             ; preds = %1847, %1841
  br label %1852

1852:                                             ; preds = %1847, %1851
  %.str.6.sink2056 = phi ptr [ @.str.6, %1851 ], [ @.str.3, %1847 ]
  store i32 %1842, ptr %421, align 4, !tbaa !5
  %1853 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1854 = load i32, ptr @test_count, align 4, !tbaa !5
  %1855 = load i32, ptr %367, align 4, !tbaa !5
  %1856 = call ptr @s2n_strerror(i32 noundef %1855, ptr noundef nonnull @.str.5) #12
  %1857 = load i32, ptr %367, align 4, !tbaa !5
  %1858 = call ptr @s2n_strerror_debug(i32 noundef %1857, ptr noundef nonnull @.str.5) #12
  %1859 = load i32, ptr %421, align 4, !tbaa !5
  %1860 = call ptr @strerror(i32 noundef %1859) #12
  %1861 = load i32, ptr %421, align 4, !tbaa !5
  %1862 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1853, ptr noundef nonnull %.str.6.sink2056, i32 noundef %1854, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.2, i32 noundef 252, ptr noundef %1856, ptr noundef %1858, ptr noundef %1860, i32 noundef %1861) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1863:                                             ; preds = %1836
  %1864 = add nsw i32 %1837, 2
  store i32 %1864, ptr @test_count, align 4, !tbaa !5
  %1865 = call ptr @s2n_strerror_debug(i32 noundef 201326592, ptr noundef nonnull @.str.5) #12
  %1866 = icmp eq ptr %1865, null
  br i1 %1866, label %1867, label %1889

1867:                                             ; preds = %1796, %1775, %1754, %1733, %1863
  %1868 = load i32, ptr %421, align 4, !tbaa !5
  %1869 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1870 = call i32 @s2n_print_stacktrace(ptr noundef %1869) #12
  %1871 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1872 = trunc nuw i8 %1871 to i1
  br i1 %1872, label %1873, label %1877

1873:                                             ; preds = %1867
  %1874 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1875 = call i32 @fileno(ptr noundef %1874) #12
  %1876 = call i32 @isatty(i32 noundef %1875) #12
  %.not1503 = icmp eq i32 %1876, 0
  br i1 %.not1503, label %1877, label %1878

1877:                                             ; preds = %1873, %1867
  br label %1878

1878:                                             ; preds = %1873, %1877
  %.str.6.sink2065 = phi ptr [ @.str.6, %1877 ], [ @.str.3, %1873 ]
  store i32 %1868, ptr %421, align 4, !tbaa !5
  %1879 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1880 = load i32, ptr @test_count, align 4, !tbaa !5
  %1881 = load i32, ptr %367, align 4, !tbaa !5
  %1882 = call ptr @s2n_strerror(i32 noundef %1881, ptr noundef nonnull @.str.5) #12
  %1883 = load i32, ptr %367, align 4, !tbaa !5
  %1884 = call ptr @s2n_strerror_debug(i32 noundef %1883, ptr noundef nonnull @.str.5) #12
  %1885 = load i32, ptr %421, align 4, !tbaa !5
  %1886 = call ptr @strerror(i32 noundef %1885) #12
  %1887 = load i32, ptr %421, align 4, !tbaa !5
  %1888 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1879, ptr noundef nonnull %.str.6.sink2065, i32 noundef %1880, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.2, i32 noundef 252, ptr noundef %1882, ptr noundef %1884, ptr noundef %1886, i32 noundef %1887) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1889:                                             ; preds = %1863
  store i32 0, ptr %367, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %421, align 4, !tbaa !5
  %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 = load i32, ptr %31, align 4, !tbaa !5
  %1893 = icmp eq i32 %1892, 2
  br i1 %1893, label %1721, label %1894

1894:                                             ; preds = %1800, %1779, %1758, %1737, %1889
  %1895 = load i32, ptr %421, align 4, !tbaa !5
  %1896 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1897 = call i32 @s2n_print_stacktrace(ptr noundef %1896) #12
  %1898 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1899 = trunc nuw i8 %1898 to i1
  br i1 %1899, label %1900, label %1904

1900:                                             ; preds = %1894
  %1901 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1902 = call i32 @fileno(ptr noundef %1901) #12
  %1903 = call i32 @isatty(i32 noundef %1902) #12
  %.not1502 = icmp eq i32 %1903, 0
  br i1 %.not1502, label %1904, label %1905

1904:                                             ; preds = %1900, %1894
  br label %1905

1905:                                             ; preds = %1900, %1904
  %.str.6.sink2074 = phi ptr [ @.str.6, %1904 ], [ @.str.3, %1900 ]
  store i32 %1895, ptr %421, align 4, !tbaa !5
  %1906 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1907 = load i32, ptr @test_count, align 4, !tbaa !5
  %1908 = load i32, ptr %367, align 4, !tbaa !5
  %1909 = call ptr @s2n_strerror(i32 noundef %1908, ptr noundef nonnull @.str.5) #12
  %1910 = load i32, ptr %367, align 4, !tbaa !5
  %1911 = call ptr @s2n_strerror_debug(i32 noundef %1910, ptr noundef nonnull @.str.5) #12
  %1912 = load i32, ptr %421, align 4, !tbaa !5
  %1913 = call ptr @strerror(i32 noundef %1912) #12
  %1914 = load i32, ptr %421, align 4, !tbaa !5
  %1915 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1906, ptr noundef nonnull %.str.6.sink2074, i32 noundef %1907, ptr noundef nonnull @.str.42, ptr noundef nonnull @.str.2, i32 noundef 253, ptr noundef %1909, ptr noundef %1911, ptr noundef %1913, i32 noundef %1914) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1916:                                             ; preds = %1805
  %1917 = load i32, ptr %421, align 4, !tbaa !5
  %1918 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1919 = call i32 @s2n_print_stacktrace(ptr noundef %1918) #12
  %1920 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1921 = trunc nuw i8 %1920 to i1
  br i1 %1921, label %1922, label %1926

1922:                                             ; preds = %1916
  %1923 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1924 = call i32 @fileno(ptr noundef %1923) #12
  %1925 = call i32 @isatty(i32 noundef %1924) #12
  %.not1146 = icmp eq i32 %1925, 0
  br i1 %.not1146, label %1926, label %1927

1926:                                             ; preds = %1922, %1916
  br label %1927

1927:                                             ; preds = %1922, %1926
  %.str.6.sink2083 = phi ptr [ @.str.6, %1926 ], [ @.str.3, %1922 ]
  store i32 %1917, ptr %421, align 4, !tbaa !5
  %1928 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1929 = load i32, ptr @test_count, align 4, !tbaa !5
  %1930 = load i32, ptr %367, align 4, !tbaa !5
  %1931 = call ptr @s2n_strerror(i32 noundef %1930, ptr noundef nonnull @.str.5) #12
  %1932 = load i32, ptr %367, align 4, !tbaa !5
  %1933 = call ptr @s2n_strerror_debug(i32 noundef %1932, ptr noundef nonnull @.str.5) #12
  %1934 = load i32, ptr %421, align 4, !tbaa !5
  %1935 = call ptr @strerror(i32 noundef %1934) #12
  %1936 = load i32, ptr %421, align 4, !tbaa !5
  %1937 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1928, ptr noundef nonnull %.str.6.sink2083, i32 noundef %1929, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.2, i32 noundef 260, ptr noundef %1931, ptr noundef %1933, ptr noundef %1935, i32 noundef %1936) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1938:                                             ; preds = %1805
  %1939 = load i32, ptr @test_count, align 4, !tbaa !5
  %1940 = add nsw i32 %1939, 1
  store i32 %1940, ptr @test_count, align 4, !tbaa !5
  %1941 = load i64, ptr %32, align 8, !tbaa !20
  %1942 = icmp eq i64 %1941, 10
  br i1 %1942, label %1965, label %1943

1943:                                             ; preds = %1938
  %1944 = load i32, ptr %421, align 4, !tbaa !5
  %1945 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1946 = call i32 @s2n_print_stacktrace(ptr noundef %1945) #12
  %1947 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1948 = trunc nuw i8 %1947 to i1
  br i1 %1948, label %1949, label %1953

1949:                                             ; preds = %1943
  %1950 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1951 = call i32 @fileno(ptr noundef %1950) #12
  %1952 = call i32 @isatty(i32 noundef %1951) #12
  %.not1147 = icmp eq i32 %1952, 0
  br i1 %.not1147, label %1953, label %1954

1953:                                             ; preds = %1949, %1943
  br label %1954

1954:                                             ; preds = %1949, %1953
  %.str.6.sink2092 = phi ptr [ @.str.6, %1953 ], [ @.str.3, %1949 ]
  store i32 %1944, ptr %421, align 4, !tbaa !5
  %1955 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1956 = load i32, ptr @test_count, align 4, !tbaa !5
  %1957 = load i32, ptr %367, align 4, !tbaa !5
  %1958 = call ptr @s2n_strerror(i32 noundef %1957, ptr noundef nonnull @.str.5) #12
  %1959 = load i32, ptr %367, align 4, !tbaa !5
  %1960 = call ptr @s2n_strerror_debug(i32 noundef %1959, ptr noundef nonnull @.str.5) #12
  %1961 = load i32, ptr %421, align 4, !tbaa !5
  %1962 = call ptr @strerror(i32 noundef %1961) #12
  %1963 = load i32, ptr %421, align 4, !tbaa !5
  %1964 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1955, ptr noundef nonnull %.str.6.sink2092, i32 noundef %1956, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.2, i32 noundef 261, ptr noundef %1958, ptr noundef %1960, ptr noundef %1962, i32 noundef %1963) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1965:                                             ; preds = %1938
  %1966 = add nsw i32 %1939, 2
  store i32 %1966, ptr @test_count, align 4, !tbaa !5
  %1967 = call i32 @s2n_test_validate_ancillary(ptr noundef nonnull %29, i8 noundef zeroext 43, i16 noundef zeroext 10) #12
  %1968 = call zeroext i1 @s2n_result_is_ok(i32 %1967)
  br i1 %1968, label %1991, label %1969

1969:                                             ; preds = %1965
  %1970 = load i32, ptr %421, align 4, !tbaa !5
  %1971 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1972 = call i32 @s2n_print_stacktrace(ptr noundef %1971) #12
  %1973 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1974 = trunc nuw i8 %1973 to i1
  br i1 %1974, label %1975, label %1979

1975:                                             ; preds = %1969
  %1976 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1977 = call i32 @fileno(ptr noundef %1976) #12
  %1978 = call i32 @isatty(i32 noundef %1977) #12
  %.not1148 = icmp eq i32 %1978, 0
  br i1 %.not1148, label %1979, label %1980

1979:                                             ; preds = %1975, %1969
  br label %1980

1980:                                             ; preds = %1975, %1979
  %.str.6.sink2101 = phi ptr [ @.str.6, %1979 ], [ @.str.3, %1975 ]
  store i32 %1970, ptr %421, align 4, !tbaa !5
  %1981 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1982 = load i32, ptr @test_count, align 4, !tbaa !5
  %1983 = load i32, ptr %367, align 4, !tbaa !5
  %1984 = call ptr @s2n_strerror(i32 noundef %1983, ptr noundef nonnull @.str.5) #12
  %1985 = load i32, ptr %367, align 4, !tbaa !5
  %1986 = call ptr @s2n_strerror_debug(i32 noundef %1985, ptr noundef nonnull @.str.5) #12
  %1987 = load i32, ptr %421, align 4, !tbaa !5
  %1988 = call ptr @strerror(i32 noundef %1987) #12
  %1989 = load i32, ptr %421, align 4, !tbaa !5
  %1990 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1981, ptr noundef nonnull %.str.6.sink2101, i32 noundef %1982, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.2, i32 noundef 264, ptr noundef %1984, ptr noundef %1986, ptr noundef %1988, i32 noundef %1989) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1991:                                             ; preds = %1965
  %1992 = load i32, ptr @test_count, align 4, !tbaa !5
  %1993 = add nsw i32 %1992, 1
  store i32 %1993, ptr @test_count, align 4, !tbaa !5
  %1994 = call i32 @s2n_test_validate_data(ptr noundef nonnull %29, ptr noundef nonnull %3, i16 noundef zeroext 10) #12
  %1995 = call zeroext i1 @s2n_result_is_ok(i32 %1994)
  br i1 %1995, label %2018, label %1996

1996:                                             ; preds = %1991
  %1997 = load i32, ptr %421, align 4, !tbaa !5
  %1998 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1999 = call i32 @s2n_print_stacktrace(ptr noundef %1998) #12
  %2000 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2001 = trunc nuw i8 %2000 to i1
  br i1 %2001, label %2002, label %2006

2002:                                             ; preds = %1996
  %2003 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2004 = call i32 @fileno(ptr noundef %2003) #12
  %2005 = call i32 @isatty(i32 noundef %2004) #12
  %.not1149 = icmp eq i32 %2005, 0
  br i1 %.not1149, label %2006, label %2007

2006:                                             ; preds = %2002, %1996
  br label %2007

2007:                                             ; preds = %2002, %2006
  %.str.6.sink2110 = phi ptr [ @.str.6, %2006 ], [ @.str.3, %2002 ]
  store i32 %1997, ptr %421, align 4, !tbaa !5
  %2008 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2009 = load i32, ptr @test_count, align 4, !tbaa !5
  %2010 = load i32, ptr %367, align 4, !tbaa !5
  %2011 = call ptr @s2n_strerror(i32 noundef %2010, ptr noundef nonnull @.str.5) #12
  %2012 = load i32, ptr %367, align 4, !tbaa !5
  %2013 = call ptr @s2n_strerror_debug(i32 noundef %2012, ptr noundef nonnull @.str.5) #12
  %2014 = load i32, ptr %421, align 4, !tbaa !5
  %2015 = call ptr @strerror(i32 noundef %2014) #12
  %2016 = load i32, ptr %421, align 4, !tbaa !5
  %2017 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2008, ptr noundef nonnull %.str.6.sink2110, i32 noundef %2009, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.2, i32 noundef 265, ptr noundef %2011, ptr noundef %2013, ptr noundef %2015, i32 noundef %2016) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2018:                                             ; preds = %1991
  %2019 = load i32, ptr @test_count, align 4, !tbaa !5
  %2020 = add nsw i32 %2019, 1
  store i32 %2020, ptr @test_count, align 4, !tbaa !5
  %2021 = getelementptr inbounds i8, ptr %29, i64 80
  %2022 = load i64, ptr %2021, align 8, !tbaa !47
  %2023 = icmp eq i64 %2022, 6
  br i1 %2023, label %2046, label %2024

2024:                                             ; preds = %2018
  %2025 = load i32, ptr %421, align 4, !tbaa !5
  %2026 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2027 = call i32 @s2n_print_stacktrace(ptr noundef %2026) #12
  %2028 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2029 = trunc nuw i8 %2028 to i1
  br i1 %2029, label %2030, label %2034

2030:                                             ; preds = %2024
  %2031 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2032 = call i32 @fileno(ptr noundef %2031) #12
  %2033 = call i32 @isatty(i32 noundef %2032) #12
  %.not1150 = icmp eq i32 %2033, 0
  br i1 %.not1150, label %2034, label %2035

2034:                                             ; preds = %2030, %2024
  br label %2035

2035:                                             ; preds = %2030, %2034
  %.str.6.sink2119 = phi ptr [ @.str.6, %2034 ], [ @.str.3, %2030 ]
  store i32 %2025, ptr %421, align 4, !tbaa !5
  %2036 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2037 = load i32, ptr @test_count, align 4, !tbaa !5
  %2038 = load i32, ptr %367, align 4, !tbaa !5
  %2039 = call ptr @s2n_strerror(i32 noundef %2038, ptr noundef nonnull @.str.5) #12
  %2040 = load i32, ptr %367, align 4, !tbaa !5
  %2041 = call ptr @s2n_strerror_debug(i32 noundef %2040, ptr noundef nonnull @.str.5) #12
  %2042 = load i32, ptr %421, align 4, !tbaa !5
  %2043 = call ptr @strerror(i32 noundef %2042) #12
  %2044 = load i32, ptr %421, align 4, !tbaa !5
  %2045 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2036, ptr noundef nonnull %.str.6.sink2119, i32 noundef %2037, ptr noundef nonnull @.str.43, ptr noundef nonnull @.str.2, i32 noundef 267, ptr noundef %2039, ptr noundef %2041, ptr noundef %2043, i32 noundef %2044) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2046:                                             ; preds = %2018
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %32) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %31) #12
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %30) #12
  %2047 = call i32 @s2n_ktls_io_stuffer_free(ptr noundef nonnull %29) #12
  call void @llvm.lifetime.end.p0(i64 96, ptr nonnull %29) #12
  %2048 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %28) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %28) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %33) #12
  %2049 = call ptr @s2n_connection_new(i32 noundef 0) #12
  store ptr %2049, ptr %33, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %34) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %34, i8 0, i64 16, i1 false)
  %2050 = load i32, ptr @test_count, align 4, !tbaa !5
  %2051 = add nsw i32 %2050, 1
  store i32 %2051, ptr @test_count, align 4, !tbaa !5
  %2052 = call i32 @s2n_ktls_set_sendmsg_cb(ptr noundef %2049, ptr noundef nonnull @s2n_test_ktls_sendmsg_fail, ptr noundef nonnull %34) #12
  %2053 = call zeroext i1 @s2n_result_is_ok(i32 %2052)
  br i1 %2053, label %2076, label %2054

2054:                                             ; preds = %2046
  %2055 = load i32, ptr %421, align 4, !tbaa !5
  %2056 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2057 = call i32 @s2n_print_stacktrace(ptr noundef %2056) #12
  %2058 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2059 = trunc nuw i8 %2058 to i1
  br i1 %2059, label %2060, label %2064

2060:                                             ; preds = %2054
  %2061 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2062 = call i32 @fileno(ptr noundef %2061) #12
  %2063 = call i32 @isatty(i32 noundef %2062) #12
  %.not1151 = icmp eq i32 %2063, 0
  br i1 %.not1151, label %2064, label %2065

2064:                                             ; preds = %2060, %2054
  br label %2065

2065:                                             ; preds = %2060, %2064
  %.str.6.sink2128 = phi ptr [ @.str.6, %2064 ], [ @.str.3, %2060 ]
  store i32 %2055, ptr %421, align 4, !tbaa !5
  %2066 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2067 = load i32, ptr @test_count, align 4, !tbaa !5
  %2068 = load i32, ptr %367, align 4, !tbaa !5
  %2069 = call ptr @s2n_strerror(i32 noundef %2068, ptr noundef nonnull @.str.5) #12
  %2070 = load i32, ptr %367, align 4, !tbaa !5
  %2071 = call ptr @s2n_strerror_debug(i32 noundef %2070, ptr noundef nonnull @.str.5) #12
  %2072 = load i32, ptr %421, align 4, !tbaa !5
  %2073 = call ptr @strerror(i32 noundef %2072) #12
  %2074 = load i32, ptr %421, align 4, !tbaa !5
  %2075 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2066, ptr noundef nonnull %.str.6.sink2128, i32 noundef %2067, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.2, i32 noundef 275, ptr noundef %2069, ptr noundef %2071, ptr noundef %2073, i32 noundef %2074) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2076:                                             ; preds = %2046
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %35) #12
  store ptr %3, ptr %35, align 8, !tbaa !16
  %2077 = getelementptr inbounds i8, ptr %35, i64 8
  store i64 10, ptr %2077, align 8, !tbaa !19
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %36) #12
  store i32 0, ptr %36, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %37) #12
  store i64 0, ptr %37, align 8, !tbaa !20
  store i64 11, ptr %34, align 8, !tbaa !51
  %2078 = load i32, ptr @test_count, align 4, !tbaa !5
  %2079 = add nsw i32 %2078, 1
  store i32 %2079, ptr @test_count, align 4, !tbaa !5
  %2080 = load ptr, ptr %33, align 8, !tbaa !9
  %2081 = getelementptr inbounds i8, ptr %2080, i64 64
  %2082 = load ptr, ptr %2081, align 8, !tbaa !21
  %2083 = call i32 @s2n_ktls_sendmsg(ptr noundef %2082, i8 noundef zeroext 43, ptr noundef nonnull %35, i64 noundef 1, ptr noundef nonnull %36, ptr noundef nonnull %37) #12
  %2084 = call zeroext i1 @s2n_result_is_error(i32 %2083)
  br i1 %2084, label %2107, label %2085

2085:                                             ; preds = %2076
  %2086 = load i32, ptr %421, align 4, !tbaa !5
  %2087 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2088 = call i32 @s2n_print_stacktrace(ptr noundef %2087) #12
  %2089 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2090 = trunc nuw i8 %2089 to i1
  br i1 %2090, label %2091, label %2095

2091:                                             ; preds = %2085
  %2092 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2093 = call i32 @fileno(ptr noundef %2092) #12
  %2094 = call i32 @isatty(i32 noundef %2093) #12
  %.not1152 = icmp eq i32 %2094, 0
  br i1 %.not1152, label %2095, label %2096

2095:                                             ; preds = %2091, %2085
  br label %2096

2096:                                             ; preds = %2091, %2095
  %.str.6.sink2137 = phi ptr [ @.str.6, %2095 ], [ @.str.3, %2091 ]
  store i32 %2086, ptr %421, align 4, !tbaa !5
  %2097 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2098 = load i32, ptr @test_count, align 4, !tbaa !5
  %2099 = load i32, ptr %367, align 4, !tbaa !5
  %2100 = call ptr @s2n_strerror(i32 noundef %2099, ptr noundef nonnull @.str.5) #12
  %2101 = load i32, ptr %367, align 4, !tbaa !5
  %2102 = call ptr @s2n_strerror_debug(i32 noundef %2101, ptr noundef nonnull @.str.5) #12
  %2103 = load i32, ptr %421, align 4, !tbaa !5
  %2104 = call ptr @strerror(i32 noundef %2103) #12
  %2105 = load i32, ptr %421, align 4, !tbaa !5
  %2106 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2097, ptr noundef nonnull %.str.6.sink2137, i32 noundef %2098, ptr noundef nonnull @.str.40, ptr noundef nonnull @.str.2, i32 noundef 285, ptr noundef %2100, ptr noundef %2102, ptr noundef %2104, i32 noundef %2105) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2107:                                             ; preds = %2076
  %2108 = load i32, ptr @test_count, align 4, !tbaa !5
  %2109 = add nsw i32 %2108, 1
  store i32 %2109, ptr @test_count, align 4, !tbaa !5
  %2110 = load i32, ptr %367, align 4, !tbaa !5
  %2111 = icmp eq i32 %2110, 201326592
  br i1 %2111, label %2134, label %2112

2112:                                             ; preds = %2107
  %2113 = load i32, ptr %421, align 4, !tbaa !5
  %2114 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2115 = call i32 @s2n_print_stacktrace(ptr noundef %2114) #12
  %2116 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2117 = trunc nuw i8 %2116 to i1
  br i1 %2117, label %2118, label %2122

2118:                                             ; preds = %2112
  %2119 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2120 = call i32 @fileno(ptr noundef %2119) #12
  %2121 = call i32 @isatty(i32 noundef %2120) #12
  %.not1153 = icmp eq i32 %2121, 0
  br i1 %.not1153, label %2122, label %2123

2122:                                             ; preds = %2118, %2112
  br label %2123

2123:                                             ; preds = %2118, %2122
  %.str.6.sink2146 = phi ptr [ @.str.6, %2122 ], [ @.str.3, %2118 ]
  store i32 %2113, ptr %421, align 4, !tbaa !5
  %2124 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2125 = load i32, ptr @test_count, align 4, !tbaa !5
  %2126 = load i32, ptr %367, align 4, !tbaa !5
  %2127 = call ptr @s2n_strerror(i32 noundef %2126, ptr noundef nonnull @.str.5) #12
  %2128 = load i32, ptr %367, align 4, !tbaa !5
  %2129 = call ptr @s2n_strerror_debug(i32 noundef %2128, ptr noundef nonnull @.str.5) #12
  %2130 = load i32, ptr %421, align 4, !tbaa !5
  %2131 = call ptr @strerror(i32 noundef %2130) #12
  %2132 = load i32, ptr %421, align 4, !tbaa !5
  %2133 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2124, ptr noundef nonnull %.str.6.sink2146, i32 noundef %2125, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.2, i32 noundef 285, ptr noundef %2127, ptr noundef %2129, ptr noundef %2131, i32 noundef %2132) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2134:                                             ; preds = %2107
  %2135 = add nsw i32 %2108, 2
  store i32 %2135, ptr @test_count, align 4, !tbaa !5
  %2136 = call ptr @s2n_strerror_debug(i32 noundef 201326592, ptr noundef nonnull @.str.5) #12
  %2137 = icmp eq ptr %2136, null
  br i1 %2137, label %2138, label %2160

2138:                                             ; preds = %2134
  %2139 = load i32, ptr %421, align 4, !tbaa !5
  %2140 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2141 = call i32 @s2n_print_stacktrace(ptr noundef %2140) #12
  %2142 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2143 = trunc nuw i8 %2142 to i1
  br i1 %2143, label %2144, label %2148

2144:                                             ; preds = %2138
  %2145 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2146 = call i32 @fileno(ptr noundef %2145) #12
  %2147 = call i32 @isatty(i32 noundef %2146) #12
  %.not1499 = icmp eq i32 %2147, 0
  br i1 %.not1499, label %2148, label %2149

2148:                                             ; preds = %2144, %2138
  br label %2149

2149:                                             ; preds = %2144, %2148
  %.str.6.sink2155 = phi ptr [ @.str.6, %2148 ], [ @.str.3, %2144 ]
  store i32 %2139, ptr %421, align 4, !tbaa !5
  %2150 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2151 = load i32, ptr @test_count, align 4, !tbaa !5
  %2152 = load i32, ptr %367, align 4, !tbaa !5
  %2153 = call ptr @s2n_strerror(i32 noundef %2152, ptr noundef nonnull @.str.5) #12
  %2154 = load i32, ptr %367, align 4, !tbaa !5
  %2155 = call ptr @s2n_strerror_debug(i32 noundef %2154, ptr noundef nonnull @.str.5) #12
  %2156 = load i32, ptr %421, align 4, !tbaa !5
  %2157 = call ptr @strerror(i32 noundef %2156) #12
  %2158 = load i32, ptr %421, align 4, !tbaa !5
  %2159 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2150, ptr noundef nonnull %.str.6.sink2155, i32 noundef %2151, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.2, i32 noundef 285, ptr noundef %2153, ptr noundef %2155, ptr noundef %2157, i32 noundef %2158) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2160:                                             ; preds = %2134
  store i32 0, ptr %367, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %421, align 4, !tbaa !5
  store i64 11, ptr %34, align 8, !tbaa !51
  %2161 = load i32, ptr @test_count, align 4, !tbaa !5
  %2162 = add nsw i32 %2161, 1
  store i32 %2162, ptr @test_count, align 4, !tbaa !5
  %2163 = load ptr, ptr %33, align 8, !tbaa !9
  %2164 = getelementptr inbounds i8, ptr %2163, i64 64
  %2165 = load ptr, ptr %2164, align 8, !tbaa !21
  %2166 = call i32 @s2n_ktls_sendmsg(ptr noundef %2165, i8 noundef zeroext 43, ptr noundef nonnull %35, i64 noundef 1, ptr noundef nonnull %36, ptr noundef nonnull %37) #12
  %2167 = call zeroext i1 @s2n_result_is_error(i32 %2166)
  br i1 %2167, label %2190, label %2168

2168:                                             ; preds = %2160
  %2169 = load i32, ptr %421, align 4, !tbaa !5
  %2170 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2171 = call i32 @s2n_print_stacktrace(ptr noundef %2170) #12
  %2172 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2173 = trunc nuw i8 %2172 to i1
  br i1 %2173, label %2174, label %2178

2174:                                             ; preds = %2168
  %2175 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2176 = call i32 @fileno(ptr noundef %2175) #12
  %2177 = call i32 @isatty(i32 noundef %2176) #12
  %.not1154 = icmp eq i32 %2177, 0
  br i1 %.not1154, label %2178, label %2179

2178:                                             ; preds = %2174, %2168
  br label %2179

2179:                                             ; preds = %2174, %2178
  %.str.6.sink2164 = phi ptr [ @.str.6, %2178 ], [ @.str.3, %2174 ]
  store i32 %2169, ptr %421, align 4, !tbaa !5
  %2180 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2181 = load i32, ptr @test_count, align 4, !tbaa !5
  %2182 = load i32, ptr %367, align 4, !tbaa !5
  %2183 = call ptr @s2n_strerror(i32 noundef %2182, ptr noundef nonnull @.str.5) #12
  %2184 = load i32, ptr %367, align 4, !tbaa !5
  %2185 = call ptr @s2n_strerror_debug(i32 noundef %2184, ptr noundef nonnull @.str.5) #12
  %2186 = load i32, ptr %421, align 4, !tbaa !5
  %2187 = call ptr @strerror(i32 noundef %2186) #12
  %2188 = load i32, ptr %421, align 4, !tbaa !5
  %2189 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2180, ptr noundef nonnull %.str.6.sink2164, i32 noundef %2181, ptr noundef nonnull @.str.40, ptr noundef nonnull @.str.2, i32 noundef 292, ptr noundef %2183, ptr noundef %2185, ptr noundef %2187, i32 noundef %2188) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2190:                                             ; preds = %2160
  %2191 = load i32, ptr @test_count, align 4, !tbaa !5
  %2192 = add nsw i32 %2191, 1
  store i32 %2192, ptr @test_count, align 4, !tbaa !5
  %2193 = load i32, ptr %367, align 4, !tbaa !5
  %2194 = icmp eq i32 %2193, 201326592
  br i1 %2194, label %2217, label %2195

2195:                                             ; preds = %2190
  %2196 = load i32, ptr %421, align 4, !tbaa !5
  %2197 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2198 = call i32 @s2n_print_stacktrace(ptr noundef %2197) #12
  %2199 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2200 = trunc nuw i8 %2199 to i1
  br i1 %2200, label %2201, label %2205

2201:                                             ; preds = %2195
  %2202 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2203 = call i32 @fileno(ptr noundef %2202) #12
  %2204 = call i32 @isatty(i32 noundef %2203) #12
  %.not1155 = icmp eq i32 %2204, 0
  br i1 %.not1155, label %2205, label %2206

2205:                                             ; preds = %2201, %2195
  br label %2206

2206:                                             ; preds = %2201, %2205
  %.str.6.sink2173 = phi ptr [ @.str.6, %2205 ], [ @.str.3, %2201 ]
  store i32 %2196, ptr %421, align 4, !tbaa !5
  %2207 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2208 = load i32, ptr @test_count, align 4, !tbaa !5
  %2209 = load i32, ptr %367, align 4, !tbaa !5
  %2210 = call ptr @s2n_strerror(i32 noundef %2209, ptr noundef nonnull @.str.5) #12
  %2211 = load i32, ptr %367, align 4, !tbaa !5
  %2212 = call ptr @s2n_strerror_debug(i32 noundef %2211, ptr noundef nonnull @.str.5) #12
  %2213 = load i32, ptr %421, align 4, !tbaa !5
  %2214 = call ptr @strerror(i32 noundef %2213) #12
  %2215 = load i32, ptr %421, align 4, !tbaa !5
  %2216 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2207, ptr noundef nonnull %.str.6.sink2173, i32 noundef %2208, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.2, i32 noundef 292, ptr noundef %2210, ptr noundef %2212, ptr noundef %2214, i32 noundef %2215) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2217:                                             ; preds = %2190
  %2218 = add nsw i32 %2191, 2
  store i32 %2218, ptr @test_count, align 4, !tbaa !5
  %2219 = call ptr @s2n_strerror_debug(i32 noundef 201326592, ptr noundef nonnull @.str.5) #12
  %2220 = icmp eq ptr %2219, null
  br i1 %2220, label %2221, label %2243

2221:                                             ; preds = %2217
  %2222 = load i32, ptr %421, align 4, !tbaa !5
  %2223 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2224 = call i32 @s2n_print_stacktrace(ptr noundef %2223) #12
  %2225 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2226 = trunc nuw i8 %2225 to i1
  br i1 %2226, label %2227, label %2231

2227:                                             ; preds = %2221
  %2228 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2229 = call i32 @fileno(ptr noundef %2228) #12
  %2230 = call i32 @isatty(i32 noundef %2229) #12
  %.not1498 = icmp eq i32 %2230, 0
  br i1 %.not1498, label %2231, label %2232

2231:                                             ; preds = %2227, %2221
  br label %2232

2232:                                             ; preds = %2227, %2231
  %.str.6.sink2182 = phi ptr [ @.str.6, %2231 ], [ @.str.3, %2227 ]
  store i32 %2222, ptr %421, align 4, !tbaa !5
  %2233 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2234 = load i32, ptr @test_count, align 4, !tbaa !5
  %2235 = load i32, ptr %367, align 4, !tbaa !5
  %2236 = call ptr @s2n_strerror(i32 noundef %2235, ptr noundef nonnull @.str.5) #12
  %2237 = load i32, ptr %367, align 4, !tbaa !5
  %2238 = call ptr @s2n_strerror_debug(i32 noundef %2237, ptr noundef nonnull @.str.5) #12
  %2239 = load i32, ptr %421, align 4, !tbaa !5
  %2240 = call ptr @strerror(i32 noundef %2239) #12
  %2241 = load i32, ptr %421, align 4, !tbaa !5
  %2242 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2233, ptr noundef nonnull %.str.6.sink2182, i32 noundef %2234, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.2, i32 noundef 292, ptr noundef %2236, ptr noundef %2238, ptr noundef %2240, i32 noundef %2241) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2243:                                             ; preds = %2217
  store i32 0, ptr %367, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %421, align 4, !tbaa !5
  %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 = getelementptr inbounds i8, ptr %34, i64 8
  %2247 = load i64, ptr %2246, align 8, !tbaa !53
  %2248 = icmp eq i64 %2247, 2
  br i1 %2248, label %2271, label %2249

2249:                                             ; preds = %2243
  %2250 = load i32, ptr %421, align 4, !tbaa !5
  %2251 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2252 = call i32 @s2n_print_stacktrace(ptr noundef %2251) #12
  %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 = %2249
  %2256 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2257 = call i32 @fileno(ptr noundef %2256) #12
  %2258 = call i32 @isatty(i32 noundef %2257) #12
  %.not1156 = icmp eq i32 %2258, 0
  br i1 %.not1156, label %2259, label %2260

2259:                                             ; preds = %2255, %2249
  br label %2260

2260:                                             ; preds = %2255, %2259
  %.str.6.sink2191 = phi ptr [ @.str.6, %2259 ], [ @.str.3, %2255 ]
  store i32 %2250, ptr %421, 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 %367, align 4, !tbaa !5
  %2264 = call ptr @s2n_strerror(i32 noundef %2263, ptr noundef nonnull @.str.5) #12
  %2265 = load i32, ptr %367, align 4, !tbaa !5
  %2266 = call ptr @s2n_strerror_debug(i32 noundef %2265, ptr noundef nonnull @.str.5) #12
  %2267 = load i32, ptr %421, align 4, !tbaa !5
  %2268 = call ptr @strerror(i32 noundef %2267) #12
  %2269 = load i32, ptr %421, align 4, !tbaa !5
  %2270 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2261, ptr noundef nonnull %.str.6.sink2191, i32 noundef %2262, ptr noundef nonnull @.str.45, ptr noundef nonnull @.str.2, i32 noundef 294, ptr noundef %2264, ptr noundef %2266, ptr noundef %2268, i32 noundef %2269) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2271:                                             ; preds = %2243
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %37) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %36) #12
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %35) #12
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %34) #12
  %2272 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %33) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %33) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %38) #12
  %2273 = call ptr @s2n_connection_new(i32 noundef 0) #12
  store ptr %2273, ptr %38, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %39) #12
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %39, ptr noundef nonnull align 8 dereferenceable(16) @__const.main.io_ctx, i64 16, i1 false)
  %2274 = load i32, ptr @test_count, align 4, !tbaa !5
  %2275 = add nsw i32 %2274, 1
  store i32 %2275, ptr @test_count, align 4, !tbaa !5
  %2276 = call i32 @s2n_ktls_set_sendmsg_cb(ptr noundef %2273, ptr noundef nonnull @s2n_test_ktls_sendmsg_fail, ptr noundef nonnull %39) #12
  %2277 = call zeroext i1 @s2n_result_is_ok(i32 %2276)
  br i1 %2277, label %2300, label %2278

2278:                                             ; preds = %2271
  %2279 = load i32, ptr %421, align 4, !tbaa !5
  %2280 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2281 = call i32 @s2n_print_stacktrace(ptr noundef %2280) #12
  %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 = %2278
  %2285 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2286 = call i32 @fileno(ptr noundef %2285) #12
  %2287 = call i32 @isatty(i32 noundef %2286) #12
  %.not1157 = icmp eq i32 %2287, 0
  br i1 %.not1157, label %2288, label %2289

2288:                                             ; preds = %2284, %2278
  br label %2289

2289:                                             ; preds = %2284, %2288
  %.str.6.sink2200 = phi ptr [ @.str.6, %2288 ], [ @.str.3, %2284 ]
  store i32 %2279, ptr %421, 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 %367, align 4, !tbaa !5
  %2293 = call ptr @s2n_strerror(i32 noundef %2292, ptr noundef nonnull @.str.5) #12
  %2294 = load i32, ptr %367, align 4, !tbaa !5
  %2295 = call ptr @s2n_strerror_debug(i32 noundef %2294, ptr noundef nonnull @.str.5) #12
  %2296 = load i32, ptr %421, align 4, !tbaa !5
  %2297 = call ptr @strerror(i32 noundef %2296) #12
  %2298 = load i32, ptr %421, align 4, !tbaa !5
  %2299 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2290, ptr noundef nonnull %.str.6.sink2200, i32 noundef %2291, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.2, i32 noundef 304, ptr noundef %2293, ptr noundef %2295, ptr noundef %2297, i32 noundef %2298) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2300:                                             ; preds = %2271
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %40) #12
  store ptr %3, ptr %40, align 8, !tbaa !16
  %2301 = getelementptr inbounds i8, ptr %40, i64 8
  store i64 10, ptr %2301, align 8, !tbaa !19
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %41) #12
  store i32 0, ptr %41, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %42) #12
  store i64 0, ptr %42, align 8, !tbaa !20
  %2302 = load i32, ptr @test_count, align 4, !tbaa !5
  %2303 = add nsw i32 %2302, 1
  store i32 %2303, ptr @test_count, align 4, !tbaa !5
  %2304 = load ptr, ptr %38, align 8, !tbaa !9
  %2305 = getelementptr inbounds i8, ptr %2304, i64 64
  %2306 = load ptr, ptr %2305, align 8, !tbaa !21
  %2307 = call i32 @s2n_ktls_sendmsg(ptr noundef %2306, i8 noundef zeroext 43, ptr noundef nonnull %40, i64 noundef 1, ptr noundef nonnull %41, ptr noundef nonnull %42) #12
  %2308 = call zeroext i1 @s2n_result_is_error(i32 %2307)
  br i1 %2308, label %2331, label %2309

2309:                                             ; preds = %2300
  %2310 = load i32, ptr %421, align 4, !tbaa !5
  %2311 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2312 = call i32 @s2n_print_stacktrace(ptr noundef %2311) #12
  %2313 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2314 = trunc nuw i8 %2313 to i1
  br i1 %2314, label %2315, label %2319

2315:                                             ; preds = %2309
  %2316 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2317 = call i32 @fileno(ptr noundef %2316) #12
  %2318 = call i32 @isatty(i32 noundef %2317) #12
  %.not1158 = icmp eq i32 %2318, 0
  br i1 %.not1158, label %2319, label %2320

2319:                                             ; preds = %2315, %2309
  br label %2320

2320:                                             ; preds = %2315, %2319
  %.str.6.sink2209 = phi ptr [ @.str.6, %2319 ], [ @.str.3, %2315 ]
  store i32 %2310, ptr %421, align 4, !tbaa !5
  %2321 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2322 = load i32, ptr @test_count, align 4, !tbaa !5
  %2323 = load i32, ptr %367, align 4, !tbaa !5
  %2324 = call ptr @s2n_strerror(i32 noundef %2323, ptr noundef nonnull @.str.5) #12
  %2325 = load i32, ptr %367, align 4, !tbaa !5
  %2326 = call ptr @s2n_strerror_debug(i32 noundef %2325, ptr noundef nonnull @.str.5) #12
  %2327 = load i32, ptr %421, align 4, !tbaa !5
  %2328 = call ptr @strerror(i32 noundef %2327) #12
  %2329 = load i32, ptr %421, align 4, !tbaa !5
  %2330 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2321, ptr noundef nonnull %.str.6.sink2209, i32 noundef %2322, ptr noundef nonnull @.str.40, ptr noundef nonnull @.str.2, i32 noundef 312, ptr noundef %2324, ptr noundef %2326, ptr noundef %2328, i32 noundef %2329) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2331:                                             ; preds = %2300
  %2332 = load i32, ptr @test_count, align 4, !tbaa !5
  %2333 = add nsw i32 %2332, 1
  store i32 %2333, ptr @test_count, align 4, !tbaa !5
  %2334 = load i32, ptr %367, align 4, !tbaa !5
  %2335 = icmp eq i32 %2334, 67108864
  br i1 %2335, label %2358, label %2336

2336:                                             ; preds = %2331
  %2337 = load i32, ptr %421, align 4, !tbaa !5
  %2338 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2339 = call i32 @s2n_print_stacktrace(ptr noundef %2338) #12
  %2340 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2341 = trunc nuw i8 %2340 to i1
  br i1 %2341, label %2342, label %2346

2342:                                             ; preds = %2336
  %2343 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2344 = call i32 @fileno(ptr noundef %2343) #12
  %2345 = call i32 @isatty(i32 noundef %2344) #12
  %.not1159 = icmp eq i32 %2345, 0
  br i1 %.not1159, label %2346, label %2347

2346:                                             ; preds = %2342, %2336
  br label %2347

2347:                                             ; preds = %2342, %2346
  %.str.6.sink2218 = phi ptr [ @.str.6, %2346 ], [ @.str.3, %2342 ]
  store i32 %2337, ptr %421, align 4, !tbaa !5
  %2348 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2349 = load i32, ptr @test_count, align 4, !tbaa !5
  %2350 = load i32, ptr %367, align 4, !tbaa !5
  %2351 = call ptr @s2n_strerror(i32 noundef %2350, ptr noundef nonnull @.str.5) #12
  %2352 = load i32, ptr %367, align 4, !tbaa !5
  %2353 = call ptr @s2n_strerror_debug(i32 noundef %2352, ptr noundef nonnull @.str.5) #12
  %2354 = load i32, ptr %421, align 4, !tbaa !5
  %2355 = call ptr @strerror(i32 noundef %2354) #12
  %2356 = load i32, ptr %421, align 4, !tbaa !5
  %2357 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2348, ptr noundef nonnull %.str.6.sink2218, i32 noundef %2349, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.2, i32 noundef 312, ptr noundef %2351, ptr noundef %2353, ptr noundef %2355, i32 noundef %2356) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2358:                                             ; preds = %2331
  %2359 = add nsw i32 %2332, 2
  store i32 %2359, ptr @test_count, align 4, !tbaa !5
  %2360 = call ptr @s2n_strerror_debug(i32 noundef 67108864, ptr noundef nonnull @.str.5) #12
  %2361 = icmp eq ptr %2360, null
  br i1 %2361, label %2362, label %2384

2362:                                             ; preds = %2358
  %2363 = load i32, ptr %421, align 4, !tbaa !5
  %2364 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2365 = call i32 @s2n_print_stacktrace(ptr noundef %2364) #12
  %2366 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2367 = trunc nuw i8 %2366 to i1
  br i1 %2367, label %2368, label %2372

2368:                                             ; preds = %2362
  %2369 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2370 = call i32 @fileno(ptr noundef %2369) #12
  %2371 = call i32 @isatty(i32 noundef %2370) #12
  %.not1497 = icmp eq i32 %2371, 0
  br i1 %.not1497, label %2372, label %2373

2372:                                             ; preds = %2368, %2362
  br label %2373

2373:                                             ; preds = %2368, %2372
  %.str.6.sink2227 = phi ptr [ @.str.6, %2372 ], [ @.str.3, %2368 ]
  store i32 %2363, ptr %421, align 4, !tbaa !5
  %2374 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2375 = load i32, ptr @test_count, align 4, !tbaa !5
  %2376 = load i32, ptr %367, align 4, !tbaa !5
  %2377 = call ptr @s2n_strerror(i32 noundef %2376, ptr noundef nonnull @.str.5) #12
  %2378 = load i32, ptr %367, align 4, !tbaa !5
  %2379 = call ptr @s2n_strerror_debug(i32 noundef %2378, ptr noundef nonnull @.str.5) #12
  %2380 = load i32, ptr %421, align 4, !tbaa !5
  %2381 = call ptr @strerror(i32 noundef %2380) #12
  %2382 = load i32, ptr %421, align 4, !tbaa !5
  %2383 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2374, ptr noundef nonnull %.str.6.sink2227, i32 noundef %2375, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.2, i32 noundef 312, ptr noundef %2377, ptr noundef %2379, ptr noundef %2381, i32 noundef %2382) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2384:                                             ; preds = %2358
  store i32 0, ptr %367, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %421, align 4, !tbaa !5
  %2385 = load i32, ptr @test_count, align 4, !tbaa !5
  %2386 = add nsw i32 %2385, 1
  store i32 %2386, ptr @test_count, align 4, !tbaa !5
  %2387 = load i32, ptr %41, align 4, !tbaa !5
  %2388 = icmp eq i32 %2387, 2
  br i1 %2388, label %2411, label %2389

2389:                                             ; preds = %2384
  %2390 = load i32, ptr %421, align 4, !tbaa !5
  %2391 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2392 = call i32 @s2n_print_stacktrace(ptr noundef %2391) #12
  %2393 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2394 = trunc nuw i8 %2393 to i1
  br i1 %2394, label %2395, label %2399

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

2399:                                             ; preds = %2395, %2389
  br label %2400

2400:                                             ; preds = %2395, %2399
  %.str.6.sink2236 = phi ptr [ @.str.6, %2399 ], [ @.str.3, %2395 ]
  store i32 %2390, ptr %421, align 4, !tbaa !5
  %2401 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2402 = load i32, ptr @test_count, align 4, !tbaa !5
  %2403 = load i32, ptr %367, align 4, !tbaa !5
  %2404 = call ptr @s2n_strerror(i32 noundef %2403, ptr noundef nonnull @.str.5) #12
  %2405 = load i32, ptr %367, align 4, !tbaa !5
  %2406 = call ptr @s2n_strerror_debug(i32 noundef %2405, ptr noundef nonnull @.str.5) #12
  %2407 = load i32, ptr %421, align 4, !tbaa !5
  %2408 = call ptr @strerror(i32 noundef %2407) #12
  %2409 = load i32, ptr %421, align 4, !tbaa !5
  %2410 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2401, ptr noundef nonnull %.str.6.sink2236, i32 noundef %2402, ptr noundef nonnull @.str.42, ptr noundef nonnull @.str.2, i32 noundef 314, ptr noundef %2404, ptr noundef %2406, ptr noundef %2408, i32 noundef %2409) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2411:                                             ; preds = %2384
  %2412 = add nsw i32 %2385, 2
  store i32 %2412, ptr @test_count, align 4, !tbaa !5
  %2413 = getelementptr inbounds i8, ptr %39, i64 8
  %2414 = load i64, ptr %2413, align 8, !tbaa !53
  %2415 = icmp eq i64 %2414, 1
  br i1 %2415, label %2438, label %2416

2416:                                             ; preds = %2411
  %2417 = load i32, ptr %421, align 4, !tbaa !5
  %2418 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2419 = call i32 @s2n_print_stacktrace(ptr noundef %2418) #12
  %2420 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2421 = trunc nuw i8 %2420 to i1
  br i1 %2421, label %2422, label %2426

2422:                                             ; preds = %2416
  %2423 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2424 = call i32 @fileno(ptr noundef %2423) #12
  %2425 = call i32 @isatty(i32 noundef %2424) #12
  %.not1161 = icmp eq i32 %2425, 0
  br i1 %.not1161, label %2426, label %2427

2426:                                             ; preds = %2422, %2416
  br label %2427

2427:                                             ; preds = %2422, %2426
  %.str.6.sink2245 = phi ptr [ @.str.6, %2426 ], [ @.str.3, %2422 ]
  store i32 %2417, ptr %421, align 4, !tbaa !5
  %2428 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2429 = load i32, ptr @test_count, align 4, !tbaa !5
  %2430 = load i32, ptr %367, align 4, !tbaa !5
  %2431 = call ptr @s2n_strerror(i32 noundef %2430, ptr noundef nonnull @.str.5) #12
  %2432 = load i32, ptr %367, align 4, !tbaa !5
  %2433 = call ptr @s2n_strerror_debug(i32 noundef %2432, ptr noundef nonnull @.str.5) #12
  %2434 = load i32, ptr %421, align 4, !tbaa !5
  %2435 = call ptr @strerror(i32 noundef %2434) #12
  %2436 = load i32, ptr %421, align 4, !tbaa !5
  %2437 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2428, ptr noundef nonnull %.str.6.sink2245, i32 noundef %2429, ptr noundef nonnull @.str.46, ptr noundef nonnull @.str.2, i32 noundef 316, ptr noundef %2431, ptr noundef %2433, ptr noundef %2435, i32 noundef %2436) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2438:                                             ; preds = %2411
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %42) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %41) #12
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %40) #12
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %39) #12
  %2439 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %38) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %38) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %43) #12
  %2440 = call ptr @s2n_connection_new(i32 noundef 0) #12
  store ptr %2440, ptr %43, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 96, ptr nonnull %44) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(96) %44, i8 0, i64 96, i1 false)
  %2441 = load i32, ptr @test_count, align 4, !tbaa !5
  %2442 = add nsw i32 %2441, 1
  store i32 %2442, ptr @test_count, align 4, !tbaa !5
  %2443 = call i32 @s2n_test_init_ktls_io_stuffer_send(ptr noundef %2440, ptr noundef nonnull %44) #12
  %2444 = call zeroext i1 @s2n_result_is_ok(i32 %2443)
  br i1 %2444, label %2467, label %2445

2445:                                             ; preds = %2438
  %2446 = load i32, ptr %421, align 4, !tbaa !5
  %2447 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2448 = call i32 @s2n_print_stacktrace(ptr noundef %2447) #12
  %2449 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2450 = trunc nuw i8 %2449 to i1
  br i1 %2450, label %2451, label %2455

2451:                                             ; preds = %2445
  %2452 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2453 = call i32 @fileno(ptr noundef %2452) #12
  %2454 = call i32 @isatty(i32 noundef %2453) #12
  %.not1162 = icmp eq i32 %2454, 0
  br i1 %.not1162, label %2455, label %2456

2455:                                             ; preds = %2451, %2445
  br label %2456

2456:                                             ; preds = %2451, %2455
  %.str.6.sink2254 = phi ptr [ @.str.6, %2455 ], [ @.str.3, %2451 ]
  store i32 %2446, ptr %421, align 4, !tbaa !5
  %2457 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2458 = load i32, ptr @test_count, align 4, !tbaa !5
  %2459 = load i32, ptr %367, align 4, !tbaa !5
  %2460 = call ptr @s2n_strerror(i32 noundef %2459, ptr noundef nonnull @.str.5) #12
  %2461 = load i32, ptr %367, align 4, !tbaa !5
  %2462 = call ptr @s2n_strerror_debug(i32 noundef %2461, ptr noundef nonnull @.str.5) #12
  %2463 = load i32, ptr %421, align 4, !tbaa !5
  %2464 = call ptr @strerror(i32 noundef %2463) #12
  %2465 = load i32, ptr %421, align 4, !tbaa !5
  %2466 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2457, ptr noundef nonnull %.str.6.sink2254, i32 noundef %2458, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.2, i32 noundef 325, ptr noundef %2460, ptr noundef %2462, ptr noundef %2464, i32 noundef %2465) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2467:                                             ; preds = %2438
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %45) #12
  store ptr %3, ptr %45, align 8, !tbaa !16
  %2468 = getelementptr inbounds i8, ptr %45, i64 8
  store i64 10, ptr %2468, align 8, !tbaa !19
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %46) #12
  store i32 0, ptr %46, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %47) #12
  store i64 0, ptr %47, align 8, !tbaa !20
  %2469 = load i32, ptr @test_count, align 4, !tbaa !5
  %2470 = add nsw i32 %2469, 1
  store i32 %2470, ptr @test_count, align 4, !tbaa !5
  %2471 = load ptr, ptr %43, align 8, !tbaa !9
  %2472 = getelementptr inbounds i8, ptr %2471, i64 64
  %2473 = load ptr, ptr %2472, align 8, !tbaa !21
  %2474 = call i32 @s2n_ktls_sendmsg(ptr noundef %2473, i8 noundef zeroext 43, ptr noundef nonnull %45, i64 noundef 0, ptr noundef nonnull %46, ptr noundef nonnull %47) #12
  %2475 = call zeroext i1 @s2n_result_is_ok(i32 %2474)
  br i1 %2475, label %2498, label %2476

2476:                                             ; preds = %2467
  %2477 = load i32, ptr %421, align 4, !tbaa !5
  %2478 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2479 = call i32 @s2n_print_stacktrace(ptr noundef %2478) #12
  %2480 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2481 = trunc nuw i8 %2480 to i1
  br i1 %2481, label %2482, label %2486

2482:                                             ; preds = %2476
  %2483 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2484 = call i32 @fileno(ptr noundef %2483) #12
  %2485 = call i32 @isatty(i32 noundef %2484) #12
  %.not1163 = icmp eq i32 %2485, 0
  br i1 %.not1163, label %2486, label %2487

2486:                                             ; preds = %2482, %2476
  br label %2487

2487:                                             ; preds = %2482, %2486
  %.str.6.sink2263 = phi ptr [ @.str.6, %2486 ], [ @.str.3, %2482 ]
  store i32 %2477, ptr %421, align 4, !tbaa !5
  %2488 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2489 = load i32, ptr @test_count, align 4, !tbaa !5
  %2490 = load i32, ptr %367, align 4, !tbaa !5
  %2491 = call ptr @s2n_strerror(i32 noundef %2490, ptr noundef nonnull @.str.5) #12
  %2492 = load i32, ptr %367, align 4, !tbaa !5
  %2493 = call ptr @s2n_strerror_debug(i32 noundef %2492, ptr noundef nonnull @.str.5) #12
  %2494 = load i32, ptr %421, align 4, !tbaa !5
  %2495 = call ptr @strerror(i32 noundef %2494) #12
  %2496 = load i32, ptr %421, align 4, !tbaa !5
  %2497 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2488, ptr noundef nonnull %.str.6.sink2263, i32 noundef %2489, ptr noundef nonnull @.str.47, ptr noundef nonnull @.str.2, i32 noundef 333, ptr noundef %2491, ptr noundef %2493, ptr noundef %2495, i32 noundef %2496) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2498:                                             ; preds = %2467
  %2499 = load i32, ptr @test_count, align 4, !tbaa !5
  %2500 = add nsw i32 %2499, 1
  store i32 %2500, ptr @test_count, align 4, !tbaa !5
  %2501 = load i32, ptr %46, align 4, !tbaa !5
  %2502 = icmp eq i32 %2501, 0
  br i1 %2502, label %2525, label %2503

2503:                                             ; preds = %2498
  %2504 = load i32, ptr %421, align 4, !tbaa !5
  %2505 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2506 = call i32 @s2n_print_stacktrace(ptr noundef %2505) #12
  %2507 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2508 = trunc nuw i8 %2507 to i1
  br i1 %2508, label %2509, label %2513

2509:                                             ; preds = %2503
  %2510 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2511 = call i32 @fileno(ptr noundef %2510) #12
  %2512 = call i32 @isatty(i32 noundef %2511) #12
  %.not1164 = icmp eq i32 %2512, 0
  br i1 %.not1164, label %2513, label %2514

2513:                                             ; preds = %2509, %2503
  br label %2514

2514:                                             ; preds = %2509, %2513
  %.str.6.sink2272 = phi ptr [ @.str.6, %2513 ], [ @.str.3, %2509 ]
  store i32 %2504, ptr %421, align 4, !tbaa !5
  %2515 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2516 = load i32, ptr @test_count, align 4, !tbaa !5
  %2517 = load i32, ptr %367, align 4, !tbaa !5
  %2518 = call ptr @s2n_strerror(i32 noundef %2517, ptr noundef nonnull @.str.5) #12
  %2519 = load i32, ptr %367, align 4, !tbaa !5
  %2520 = call ptr @s2n_strerror_debug(i32 noundef %2519, ptr noundef nonnull @.str.5) #12
  %2521 = load i32, ptr %421, align 4, !tbaa !5
  %2522 = call ptr @strerror(i32 noundef %2521) #12
  %2523 = load i32, ptr %421, align 4, !tbaa !5
  %2524 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2515, ptr noundef nonnull %.str.6.sink2272, i32 noundef %2516, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.2, i32 noundef 334, ptr noundef %2518, ptr noundef %2520, ptr noundef %2522, i32 noundef %2523) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2525:                                             ; preds = %2498
  %2526 = add nsw i32 %2499, 2
  store i32 %2526, ptr @test_count, align 4, !tbaa !5
  %2527 = load i64, ptr %47, align 8, !tbaa !20
  %2528 = icmp eq i64 %2527, 0
  br i1 %2528, label %2551, label %2529

2529:                                             ; preds = %2525
  %2530 = load i32, ptr %421, align 4, !tbaa !5
  %2531 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2532 = call i32 @s2n_print_stacktrace(ptr noundef %2531) #12
  %2533 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2534 = trunc nuw i8 %2533 to i1
  br i1 %2534, label %2535, label %2539

2535:                                             ; preds = %2529
  %2536 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2537 = call i32 @fileno(ptr noundef %2536) #12
  %2538 = call i32 @isatty(i32 noundef %2537) #12
  %.not1165 = icmp eq i32 %2538, 0
  br i1 %.not1165, label %2539, label %2540

2539:                                             ; preds = %2535, %2529
  br label %2540

2540:                                             ; preds = %2535, %2539
  %.str.6.sink2281 = phi ptr [ @.str.6, %2539 ], [ @.str.3, %2535 ]
  store i32 %2530, ptr %421, align 4, !tbaa !5
  %2541 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2542 = load i32, ptr @test_count, align 4, !tbaa !5
  %2543 = load i32, ptr %367, align 4, !tbaa !5
  %2544 = call ptr @s2n_strerror(i32 noundef %2543, ptr noundef nonnull @.str.5) #12
  %2545 = load i32, ptr %367, align 4, !tbaa !5
  %2546 = call ptr @s2n_strerror_debug(i32 noundef %2545, ptr noundef nonnull @.str.5) #12
  %2547 = load i32, ptr %421, align 4, !tbaa !5
  %2548 = call ptr @strerror(i32 noundef %2547) #12
  %2549 = load i32, ptr %421, align 4, !tbaa !5
  %2550 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2541, ptr noundef nonnull %.str.6.sink2281, i32 noundef %2542, ptr noundef nonnull @.str.48, ptr noundef nonnull @.str.2, i32 noundef 335, ptr noundef %2544, ptr noundef %2546, ptr noundef %2548, i32 noundef %2549) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2551:                                             ; preds = %2525
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %48) #12
  store ptr %3, ptr %48, align 8, !tbaa !16
  %2552 = getelementptr inbounds i8, ptr %48, i64 8
  store i64 0, ptr %2552, align 8, !tbaa !19
  %2553 = add nsw i32 %2499, 3
  store i32 %2553, ptr @test_count, align 4, !tbaa !5
  %2554 = load ptr, ptr %43, align 8, !tbaa !9
  %2555 = getelementptr inbounds i8, ptr %2554, i64 64
  %2556 = load ptr, ptr %2555, align 8, !tbaa !21
  %2557 = call i32 @s2n_ktls_sendmsg(ptr noundef %2556, i8 noundef zeroext 43, ptr noundef nonnull %48, i64 noundef 1, ptr noundef nonnull %46, ptr noundef nonnull %47) #12
  %2558 = call zeroext i1 @s2n_result_is_ok(i32 %2557)
  br i1 %2558, label %2581, label %2559

2559:                                             ; preds = %2551
  %2560 = load i32, ptr %421, align 4, !tbaa !5
  %2561 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2562 = call i32 @s2n_print_stacktrace(ptr noundef %2561) #12
  %2563 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2564 = trunc nuw i8 %2563 to i1
  br i1 %2564, label %2565, label %2569

2565:                                             ; preds = %2559
  %2566 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2567 = call i32 @fileno(ptr noundef %2566) #12
  %2568 = call i32 @isatty(i32 noundef %2567) #12
  %.not1166 = icmp eq i32 %2568, 0
  br i1 %.not1166, label %2569, label %2570

2569:                                             ; preds = %2565, %2559
  br label %2570

2570:                                             ; preds = %2565, %2569
  %.str.6.sink2290 = phi ptr [ @.str.6, %2569 ], [ @.str.3, %2565 ]
  store i32 %2560, ptr %421, align 4, !tbaa !5
  %2571 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2572 = load i32, ptr @test_count, align 4, !tbaa !5
  %2573 = load i32, ptr %367, align 4, !tbaa !5
  %2574 = call ptr @s2n_strerror(i32 noundef %2573, ptr noundef nonnull @.str.5) #12
  %2575 = load i32, ptr %367, align 4, !tbaa !5
  %2576 = call ptr @s2n_strerror_debug(i32 noundef %2575, ptr noundef nonnull @.str.5) #12
  %2577 = load i32, ptr %421, align 4, !tbaa !5
  %2578 = call ptr @strerror(i32 noundef %2577) #12
  %2579 = load i32, ptr %421, align 4, !tbaa !5
  %2580 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2571, ptr noundef nonnull %.str.6.sink2290, i32 noundef %2572, ptr noundef nonnull @.str.49, ptr noundef nonnull @.str.2, i32 noundef 339, ptr noundef %2574, ptr noundef %2576, ptr noundef %2578, i32 noundef %2579) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2581:                                             ; preds = %2551
  %2582 = load i32, ptr @test_count, align 4, !tbaa !5
  %2583 = add nsw i32 %2582, 1
  store i32 %2583, ptr @test_count, align 4, !tbaa !5
  %2584 = load i32, ptr %46, align 4, !tbaa !5
  %2585 = icmp eq i32 %2584, 0
  br i1 %2585, label %2608, label %2586

2586:                                             ; preds = %2581
  %2587 = load i32, ptr %421, align 4, !tbaa !5
  %2588 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2589 = call i32 @s2n_print_stacktrace(ptr noundef %2588) #12
  %2590 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2591 = trunc nuw i8 %2590 to i1
  br i1 %2591, label %2592, label %2596

2592:                                             ; preds = %2586
  %2593 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2594 = call i32 @fileno(ptr noundef %2593) #12
  %2595 = call i32 @isatty(i32 noundef %2594) #12
  %.not1167 = icmp eq i32 %2595, 0
  br i1 %.not1167, label %2596, label %2597

2596:                                             ; preds = %2592, %2586
  br label %2597

2597:                                             ; preds = %2592, %2596
  %.str.6.sink2299 = phi ptr [ @.str.6, %2596 ], [ @.str.3, %2592 ]
  store i32 %2587, ptr %421, align 4, !tbaa !5
  %2598 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2599 = load i32, ptr @test_count, align 4, !tbaa !5
  %2600 = load i32, ptr %367, align 4, !tbaa !5
  %2601 = call ptr @s2n_strerror(i32 noundef %2600, ptr noundef nonnull @.str.5) #12
  %2602 = load i32, ptr %367, align 4, !tbaa !5
  %2603 = call ptr @s2n_strerror_debug(i32 noundef %2602, ptr noundef nonnull @.str.5) #12
  %2604 = load i32, ptr %421, align 4, !tbaa !5
  %2605 = call ptr @strerror(i32 noundef %2604) #12
  %2606 = load i32, ptr %421, align 4, !tbaa !5
  %2607 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2598, ptr noundef nonnull %.str.6.sink2299, i32 noundef %2599, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.2, i32 noundef 340, ptr noundef %2601, ptr noundef %2603, ptr noundef %2605, i32 noundef %2606) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2608:                                             ; preds = %2581
  %2609 = add nsw i32 %2582, 2
  store i32 %2609, ptr @test_count, align 4, !tbaa !5
  %2610 = load i64, ptr %47, align 8, !tbaa !20
  %2611 = icmp eq i64 %2610, 0
  br i1 %2611, label %2634, label %2612

2612:                                             ; preds = %2608
  %2613 = load i32, ptr %421, align 4, !tbaa !5
  %2614 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2615 = call i32 @s2n_print_stacktrace(ptr noundef %2614) #12
  %2616 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2617 = trunc nuw i8 %2616 to i1
  br i1 %2617, label %2618, label %2622

2618:                                             ; preds = %2612
  %2619 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2620 = call i32 @fileno(ptr noundef %2619) #12
  %2621 = call i32 @isatty(i32 noundef %2620) #12
  %.not1168 = icmp eq i32 %2621, 0
  br i1 %.not1168, label %2622, label %2623

2622:                                             ; preds = %2618, %2612
  br label %2623

2623:                                             ; preds = %2618, %2622
  %.str.6.sink2308 = phi ptr [ @.str.6, %2622 ], [ @.str.3, %2618 ]
  store i32 %2613, ptr %421, align 4, !tbaa !5
  %2624 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2625 = load i32, ptr @test_count, align 4, !tbaa !5
  %2626 = load i32, ptr %367, align 4, !tbaa !5
  %2627 = call ptr @s2n_strerror(i32 noundef %2626, ptr noundef nonnull @.str.5) #12
  %2628 = load i32, ptr %367, align 4, !tbaa !5
  %2629 = call ptr @s2n_strerror_debug(i32 noundef %2628, ptr noundef nonnull @.str.5) #12
  %2630 = load i32, ptr %421, align 4, !tbaa !5
  %2631 = call ptr @strerror(i32 noundef %2630) #12
  %2632 = load i32, ptr %421, align 4, !tbaa !5
  %2633 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2624, ptr noundef nonnull %.str.6.sink2308, i32 noundef %2625, ptr noundef nonnull @.str.48, ptr noundef nonnull @.str.2, i32 noundef 341, ptr noundef %2627, ptr noundef %2629, ptr noundef %2631, i32 noundef %2632) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2634:                                             ; preds = %2608
  %2635 = add nsw i32 %2582, 3
  store i32 %2635, ptr @test_count, align 4, !tbaa !5
  %2636 = getelementptr inbounds i8, ptr %44, i64 80
  %2637 = load i64, ptr %2636, align 8, !tbaa !47
  %2638 = icmp eq i64 %2637, 2
  br i1 %2638, label %2661, label %2639

2639:                                             ; preds = %2634
  %2640 = load i32, ptr %421, align 4, !tbaa !5
  %2641 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2642 = call i32 @s2n_print_stacktrace(ptr noundef %2641) #12
  %2643 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2644 = trunc nuw i8 %2643 to i1
  br i1 %2644, label %2645, label %2649

2645:                                             ; preds = %2639
  %2646 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2647 = call i32 @fileno(ptr noundef %2646) #12
  %2648 = call i32 @isatty(i32 noundef %2647) #12
  %.not1169 = icmp eq i32 %2648, 0
  br i1 %.not1169, label %2649, label %2650

2649:                                             ; preds = %2645, %2639
  br label %2650

2650:                                             ; preds = %2645, %2649
  %.str.6.sink2317 = phi ptr [ @.str.6, %2649 ], [ @.str.3, %2645 ]
  store i32 %2640, ptr %421, align 4, !tbaa !5
  %2651 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2652 = load i32, ptr @test_count, align 4, !tbaa !5
  %2653 = load i32, ptr %367, align 4, !tbaa !5
  %2654 = call ptr @s2n_strerror(i32 noundef %2653, ptr noundef nonnull @.str.5) #12
  %2655 = load i32, ptr %367, align 4, !tbaa !5
  %2656 = call ptr @s2n_strerror_debug(i32 noundef %2655, ptr noundef nonnull @.str.5) #12
  %2657 = load i32, ptr %421, align 4, !tbaa !5
  %2658 = call ptr @strerror(i32 noundef %2657) #12
  %2659 = load i32, ptr %421, align 4, !tbaa !5
  %2660 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2651, ptr noundef nonnull %.str.6.sink2317, i32 noundef %2652, ptr noundef nonnull @.str.50, ptr noundef nonnull @.str.2, i32 noundef 343, ptr noundef %2654, ptr noundef %2656, ptr noundef %2658, i32 noundef %2659) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2661:                                             ; preds = %2634
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %48) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %47) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %46) #12
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %45) #12
  %2662 = call i32 @s2n_ktls_io_stuffer_free(ptr noundef nonnull %44) #12
  call void @llvm.lifetime.end.p0(i64 96, ptr nonnull %44) #12
  %2663 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %43) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %43) #12
  call void @llvm.lifetime.start.p0(i64 96, ptr nonnull %49) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(96) %49, i8 0, i64 96, i1 false)
  call void @llvm.lifetime.start.p0(i64 16384, ptr nonnull %50) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(16384) %50, i8 0, i64 16384, i1 false)
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %51) #12
  store i32 0, ptr %51, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %52) #12
  store i8 0, ptr %52, align 1, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %53) #12
  store i64 0, ptr %53, align 8, !tbaa !20
  %2664 = load i32, ptr @test_count, align 4, !tbaa !5
  %2665 = add nsw i32 %2664, 1
  store i32 %2665, ptr @test_count, align 4, !tbaa !5
  %2666 = call i32 @s2n_ktls_recvmsg(ptr noundef null, ptr noundef nonnull %52, ptr noundef nonnull %50, i64 noundef 10, ptr noundef nonnull %51, ptr noundef nonnull %53) #12
  %2667 = call zeroext i1 @s2n_result_is_error(i32 %2666)
  br i1 %2667, label %2690, label %2668

2668:                                             ; preds = %2661
  %2669 = load i32, ptr %421, align 4, !tbaa !5
  %2670 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2671 = call i32 @s2n_print_stacktrace(ptr noundef %2670) #12
  %2672 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2673 = trunc nuw i8 %2672 to i1
  br i1 %2673, label %2674, label %2678

2674:                                             ; preds = %2668
  %2675 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2676 = call i32 @fileno(ptr noundef %2675) #12
  %2677 = call i32 @isatty(i32 noundef %2676) #12
  %.not1170 = icmp eq i32 %2677, 0
  br i1 %.not1170, label %2678, label %2679

2678:                                             ; preds = %2674, %2668
  br label %2679

2679:                                             ; preds = %2674, %2678
  %.str.6.sink2326 = phi ptr [ @.str.6, %2678 ], [ @.str.3, %2674 ]
  store i32 %2669, ptr %421, align 4, !tbaa !5
  %2680 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2681 = load i32, ptr @test_count, align 4, !tbaa !5
  %2682 = load i32, ptr %367, align 4, !tbaa !5
  %2683 = call ptr @s2n_strerror(i32 noundef %2682, ptr noundef nonnull @.str.5) #12
  %2684 = load i32, ptr %367, align 4, !tbaa !5
  %2685 = call ptr @s2n_strerror_debug(i32 noundef %2684, ptr noundef nonnull @.str.5) #12
  %2686 = load i32, ptr %421, align 4, !tbaa !5
  %2687 = call ptr @strerror(i32 noundef %2686) #12
  %2688 = load i32, ptr %421, align 4, !tbaa !5
  %2689 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2680, ptr noundef nonnull %.str.6.sink2326, i32 noundef %2681, ptr noundef nonnull @.str.51, ptr noundef nonnull @.str.2, i32 noundef 359, ptr noundef %2683, ptr noundef %2685, ptr noundef %2687, i32 noundef %2688) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2690:                                             ; preds = %2661
  %2691 = load i32, ptr @test_count, align 4, !tbaa !5
  %2692 = add nsw i32 %2691, 1
  store i32 %2692, ptr @test_count, align 4, !tbaa !5
  %2693 = load i32, ptr %367, align 4, !tbaa !5
  %2694 = icmp eq i32 %2693, 67108864
  br i1 %2694, label %2717, label %2695

2695:                                             ; preds = %2690
  %2696 = load i32, ptr %421, align 4, !tbaa !5
  %2697 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2698 = call i32 @s2n_print_stacktrace(ptr noundef %2697) #12
  %2699 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2700 = trunc nuw i8 %2699 to i1
  br i1 %2700, label %2701, label %2705

2701:                                             ; preds = %2695
  %2702 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2703 = call i32 @fileno(ptr noundef %2702) #12
  %2704 = call i32 @isatty(i32 noundef %2703) #12
  %.not1171 = icmp eq i32 %2704, 0
  br i1 %.not1171, label %2705, label %2706

2705:                                             ; preds = %2701, %2695
  br label %2706

2706:                                             ; preds = %2701, %2705
  %.str.6.sink2335 = phi ptr [ @.str.6, %2705 ], [ @.str.3, %2701 ]
  store i32 %2696, ptr %421, align 4, !tbaa !5
  %2707 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2708 = load i32, ptr @test_count, align 4, !tbaa !5
  %2709 = load i32, ptr %367, align 4, !tbaa !5
  %2710 = call ptr @s2n_strerror(i32 noundef %2709, ptr noundef nonnull @.str.5) #12
  %2711 = load i32, ptr %367, align 4, !tbaa !5
  %2712 = call ptr @s2n_strerror_debug(i32 noundef %2711, ptr noundef nonnull @.str.5) #12
  %2713 = load i32, ptr %421, align 4, !tbaa !5
  %2714 = call ptr @strerror(i32 noundef %2713) #12
  %2715 = load i32, ptr %421, align 4, !tbaa !5
  %2716 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2707, ptr noundef nonnull %.str.6.sink2335, i32 noundef %2708, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.2, i32 noundef 359, ptr noundef %2710, ptr noundef %2712, ptr noundef %2714, i32 noundef %2715) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2717:                                             ; preds = %2690
  %2718 = add nsw i32 %2691, 2
  store i32 %2718, ptr @test_count, align 4, !tbaa !5
  %2719 = call ptr @s2n_strerror_debug(i32 noundef 67108864, ptr noundef nonnull @.str.5) #12
  %2720 = icmp eq ptr %2719, null
  br i1 %2720, label %2721, label %2743

2721:                                             ; preds = %2717
  %2722 = load i32, ptr %421, align 4, !tbaa !5
  %2723 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2724 = call i32 @s2n_print_stacktrace(ptr noundef %2723) #12
  %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) #12
  %2730 = call i32 @isatty(i32 noundef %2729) #12
  %.not1496 = icmp eq i32 %2730, 0
  br i1 %.not1496, label %2731, label %2732

2731:                                             ; preds = %2727, %2721
  br label %2732

2732:                                             ; preds = %2727, %2731
  %.str.6.sink2344 = phi ptr [ @.str.6, %2731 ], [ @.str.3, %2727 ]
  store i32 %2722, ptr %421, 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 %367, align 4, !tbaa !5
  %2736 = call ptr @s2n_strerror(i32 noundef %2735, ptr noundef nonnull @.str.5) #12
  %2737 = load i32, ptr %367, align 4, !tbaa !5
  %2738 = call ptr @s2n_strerror_debug(i32 noundef %2737, ptr noundef nonnull @.str.5) #12
  %2739 = load i32, ptr %421, align 4, !tbaa !5
  %2740 = call ptr @strerror(i32 noundef %2739) #12
  %2741 = load i32, ptr %421, align 4, !tbaa !5
  %2742 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2733, ptr noundef nonnull %.str.6.sink2344, i32 noundef %2734, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.2, i32 noundef 359, ptr noundef %2736, ptr noundef %2738, ptr noundef %2740, i32 noundef %2741) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2743:                                             ; preds = %2717
  store i32 0, ptr %367, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %421, align 4, !tbaa !5
  %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 = call i32 @s2n_ktls_recvmsg(ptr noundef nonnull %49, ptr noundef null, ptr noundef nonnull %50, i64 noundef 10, ptr noundef nonnull %51, ptr noundef nonnull %53) #12
  %2747 = call zeroext i1 @s2n_result_is_error(i32 %2746)
  br i1 %2747, label %2770, label %2748

2748:                                             ; preds = %2743
  %2749 = load i32, ptr %421, align 4, !tbaa !5
  %2750 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2751 = call i32 @s2n_print_stacktrace(ptr noundef %2750) #12
  %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) #12
  %2757 = call i32 @isatty(i32 noundef %2756) #12
  %.not1172 = icmp eq i32 %2757, 0
  br i1 %.not1172, label %2758, label %2759

2758:                                             ; preds = %2754, %2748
  br label %2759

2759:                                             ; preds = %2754, %2758
  %.str.6.sink2353 = phi ptr [ @.str.6, %2758 ], [ @.str.3, %2754 ]
  store i32 %2749, ptr %421, 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 %367, align 4, !tbaa !5
  %2763 = call ptr @s2n_strerror(i32 noundef %2762, ptr noundef nonnull @.str.5) #12
  %2764 = load i32, ptr %367, align 4, !tbaa !5
  %2765 = call ptr @s2n_strerror_debug(i32 noundef %2764, ptr noundef nonnull @.str.5) #12
  %2766 = load i32, ptr %421, align 4, !tbaa !5
  %2767 = call ptr @strerror(i32 noundef %2766) #12
  %2768 = load i32, ptr %421, align 4, !tbaa !5
  %2769 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2760, ptr noundef nonnull %.str.6.sink2353, i32 noundef %2761, ptr noundef nonnull @.str.52, ptr noundef nonnull @.str.2, i32 noundef 362, ptr noundef %2763, ptr noundef %2765, ptr noundef %2767, i32 noundef %2768) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2770:                                             ; preds = %2743
  %2771 = load i32, ptr @test_count, align 4, !tbaa !5
  %2772 = add nsw i32 %2771, 1
  store i32 %2772, ptr @test_count, align 4, !tbaa !5
  %2773 = load i32, ptr %367, align 4, !tbaa !5
  %2774 = icmp eq i32 %2773, 402653193
  br i1 %2774, label %2797, label %2775

2775:                                             ; preds = %2770
  %2776 = load i32, ptr %421, align 4, !tbaa !5
  %2777 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2778 = call i32 @s2n_print_stacktrace(ptr noundef %2777) #12
  %2779 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2780 = trunc nuw i8 %2779 to i1
  br i1 %2780, label %2781, label %2785

2781:                                             ; preds = %2775
  %2782 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2783 = call i32 @fileno(ptr noundef %2782) #12
  %2784 = call i32 @isatty(i32 noundef %2783) #12
  %.not1173 = icmp eq i32 %2784, 0
  br i1 %.not1173, label %2785, label %2786

2785:                                             ; preds = %2781, %2775
  br label %2786

2786:                                             ; preds = %2781, %2785
  %.str.6.sink2362 = phi ptr [ @.str.6, %2785 ], [ @.str.3, %2781 ]
  store i32 %2776, ptr %421, align 4, !tbaa !5
  %2787 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2788 = load i32, ptr @test_count, align 4, !tbaa !5
  %2789 = load i32, ptr %367, align 4, !tbaa !5
  %2790 = call ptr @s2n_strerror(i32 noundef %2789, ptr noundef nonnull @.str.5) #12
  %2791 = load i32, ptr %367, align 4, !tbaa !5
  %2792 = call ptr @s2n_strerror_debug(i32 noundef %2791, ptr noundef nonnull @.str.5) #12
  %2793 = load i32, ptr %421, align 4, !tbaa !5
  %2794 = call ptr @strerror(i32 noundef %2793) #12
  %2795 = load i32, ptr %421, align 4, !tbaa !5
  %2796 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2787, ptr noundef nonnull %.str.6.sink2362, i32 noundef %2788, ptr noundef nonnull @.str.12, ptr noundef nonnull @.str.2, i32 noundef 362, ptr noundef %2790, ptr noundef %2792, ptr noundef %2794, i32 noundef %2795) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2797:                                             ; preds = %2770
  %2798 = add nsw i32 %2771, 2
  store i32 %2798, ptr @test_count, align 4, !tbaa !5
  %2799 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.5) #12
  %2800 = icmp eq ptr %2799, null
  br i1 %2800, label %2801, label %2823

2801:                                             ; preds = %2797
  %2802 = load i32, ptr %421, align 4, !tbaa !5
  %2803 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2804 = call i32 @s2n_print_stacktrace(ptr noundef %2803) #12
  %2805 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2806 = trunc nuw i8 %2805 to i1
  br i1 %2806, label %2807, label %2811

2807:                                             ; preds = %2801
  %2808 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2809 = call i32 @fileno(ptr noundef %2808) #12
  %2810 = call i32 @isatty(i32 noundef %2809) #12
  %.not1495 = icmp eq i32 %2810, 0
  br i1 %.not1495, label %2811, label %2812

2811:                                             ; preds = %2807, %2801
  br label %2812

2812:                                             ; preds = %2807, %2811
  %.str.6.sink2371 = phi ptr [ @.str.6, %2811 ], [ @.str.3, %2807 ]
  store i32 %2802, ptr %421, align 4, !tbaa !5
  %2813 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2814 = load i32, ptr @test_count, align 4, !tbaa !5
  %2815 = load i32, ptr %367, align 4, !tbaa !5
  %2816 = call ptr @s2n_strerror(i32 noundef %2815, ptr noundef nonnull @.str.5) #12
  %2817 = load i32, ptr %367, align 4, !tbaa !5
  %2818 = call ptr @s2n_strerror_debug(i32 noundef %2817, ptr noundef nonnull @.str.5) #12
  %2819 = load i32, ptr %421, align 4, !tbaa !5
  %2820 = call ptr @strerror(i32 noundef %2819) #12
  %2821 = load i32, ptr %421, align 4, !tbaa !5
  %2822 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2813, ptr noundef nonnull %.str.6.sink2371, i32 noundef %2814, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.2, i32 noundef 362, ptr noundef %2816, ptr noundef %2818, ptr noundef %2820, i32 noundef %2821) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2823:                                             ; preds = %2797
  store i32 0, ptr %367, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %421, align 4, !tbaa !5
  %2824 = load i32, ptr @test_count, align 4, !tbaa !5
  %2825 = add nsw i32 %2824, 1
  store i32 %2825, ptr @test_count, align 4, !tbaa !5
  %2826 = call i32 @s2n_ktls_recvmsg(ptr noundef nonnull %49, ptr noundef nonnull %52, ptr noundef null, i64 noundef 10, ptr noundef nonnull %51, ptr noundef nonnull %53) #12
  %2827 = call zeroext i1 @s2n_result_is_error(i32 %2826)
  br i1 %2827, label %2850, label %2828

2828:                                             ; preds = %2823
  %2829 = load i32, ptr %421, align 4, !tbaa !5
  %2830 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2831 = call i32 @s2n_print_stacktrace(ptr noundef %2830) #12
  %2832 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2833 = trunc nuw i8 %2832 to i1
  br i1 %2833, label %2834, label %2838

2834:                                             ; preds = %2828
  %2835 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2836 = call i32 @fileno(ptr noundef %2835) #12
  %2837 = call i32 @isatty(i32 noundef %2836) #12
  %.not1174 = icmp eq i32 %2837, 0
  br i1 %.not1174, label %2838, label %2839

2838:                                             ; preds = %2834, %2828
  br label %2839

2839:                                             ; preds = %2834, %2838
  %.str.6.sink2380 = phi ptr [ @.str.6, %2838 ], [ @.str.3, %2834 ]
  store i32 %2829, ptr %421, align 4, !tbaa !5
  %2840 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2841 = load i32, ptr @test_count, align 4, !tbaa !5
  %2842 = load i32, ptr %367, align 4, !tbaa !5
  %2843 = call ptr @s2n_strerror(i32 noundef %2842, ptr noundef nonnull @.str.5) #12
  %2844 = load i32, ptr %367, align 4, !tbaa !5
  %2845 = call ptr @s2n_strerror_debug(i32 noundef %2844, ptr noundef nonnull @.str.5) #12
  %2846 = load i32, ptr %421, align 4, !tbaa !5
  %2847 = call ptr @strerror(i32 noundef %2846) #12
  %2848 = load i32, ptr %421, align 4, !tbaa !5
  %2849 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2840, ptr noundef nonnull %.str.6.sink2380, i32 noundef %2841, ptr noundef nonnull @.str.53, ptr noundef nonnull @.str.2, i32 noundef 365, ptr noundef %2843, ptr noundef %2845, ptr noundef %2847, i32 noundef %2848) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2850:                                             ; preds = %2823
  %2851 = load i32, ptr @test_count, align 4, !tbaa !5
  %2852 = add nsw i32 %2851, 1
  store i32 %2852, ptr @test_count, align 4, !tbaa !5
  %2853 = load i32, ptr %367, align 4, !tbaa !5
  %2854 = icmp eq i32 %2853, 402653193
  br i1 %2854, label %2877, label %2855

2855:                                             ; preds = %2850
  %2856 = load i32, ptr %421, align 4, !tbaa !5
  %2857 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2858 = call i32 @s2n_print_stacktrace(ptr noundef %2857) #12
  %2859 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2860 = trunc nuw i8 %2859 to i1
  br i1 %2860, label %2861, label %2865

2861:                                             ; preds = %2855
  %2862 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2863 = call i32 @fileno(ptr noundef %2862) #12
  %2864 = call i32 @isatty(i32 noundef %2863) #12
  %.not1175 = icmp eq i32 %2864, 0
  br i1 %.not1175, label %2865, label %2866

2865:                                             ; preds = %2861, %2855
  br label %2866

2866:                                             ; preds = %2861, %2865
  %.str.6.sink2389 = phi ptr [ @.str.6, %2865 ], [ @.str.3, %2861 ]
  store i32 %2856, ptr %421, align 4, !tbaa !5
  %2867 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2868 = load i32, ptr @test_count, align 4, !tbaa !5
  %2869 = load i32, ptr %367, align 4, !tbaa !5
  %2870 = call ptr @s2n_strerror(i32 noundef %2869, ptr noundef nonnull @.str.5) #12
  %2871 = load i32, ptr %367, align 4, !tbaa !5
  %2872 = call ptr @s2n_strerror_debug(i32 noundef %2871, ptr noundef nonnull @.str.5) #12
  %2873 = load i32, ptr %421, align 4, !tbaa !5
  %2874 = call ptr @strerror(i32 noundef %2873) #12
  %2875 = load i32, ptr %421, align 4, !tbaa !5
  %2876 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2867, ptr noundef nonnull %.str.6.sink2389, i32 noundef %2868, ptr noundef nonnull @.str.12, ptr noundef nonnull @.str.2, i32 noundef 365, ptr noundef %2870, ptr noundef %2872, ptr noundef %2874, i32 noundef %2875) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2877:                                             ; preds = %2850
  %2878 = add nsw i32 %2851, 2
  store i32 %2878, ptr @test_count, align 4, !tbaa !5
  %2879 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.5) #12
  %2880 = icmp eq ptr %2879, null
  br i1 %2880, label %2881, label %2903

2881:                                             ; preds = %2877
  %2882 = load i32, ptr %421, align 4, !tbaa !5
  %2883 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2884 = call i32 @s2n_print_stacktrace(ptr noundef %2883) #12
  %2885 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2886 = trunc nuw i8 %2885 to i1
  br i1 %2886, label %2887, label %2891

2887:                                             ; preds = %2881
  %2888 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2889 = call i32 @fileno(ptr noundef %2888) #12
  %2890 = call i32 @isatty(i32 noundef %2889) #12
  %.not1494 = icmp eq i32 %2890, 0
  br i1 %.not1494, label %2891, label %2892

2891:                                             ; preds = %2887, %2881
  br label %2892

2892:                                             ; preds = %2887, %2891
  %.str.6.sink2398 = phi ptr [ @.str.6, %2891 ], [ @.str.3, %2887 ]
  store i32 %2882, ptr %421, align 4, !tbaa !5
  %2893 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2894 = load i32, ptr @test_count, align 4, !tbaa !5
  %2895 = load i32, ptr %367, align 4, !tbaa !5
  %2896 = call ptr @s2n_strerror(i32 noundef %2895, ptr noundef nonnull @.str.5) #12
  %2897 = load i32, ptr %367, align 4, !tbaa !5
  %2898 = call ptr @s2n_strerror_debug(i32 noundef %2897, ptr noundef nonnull @.str.5) #12
  %2899 = load i32, ptr %421, align 4, !tbaa !5
  %2900 = call ptr @strerror(i32 noundef %2899) #12
  %2901 = load i32, ptr %421, align 4, !tbaa !5
  %2902 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2893, ptr noundef nonnull %.str.6.sink2398, i32 noundef %2894, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.2, i32 noundef 365, ptr noundef %2896, ptr noundef %2898, ptr noundef %2900, i32 noundef %2901) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2903:                                             ; preds = %2877
  store i32 0, ptr %367, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %421, align 4, !tbaa !5
  %2904 = load i32, ptr @test_count, align 4, !tbaa !5
  %2905 = add nsw i32 %2904, 1
  store i32 %2905, ptr @test_count, align 4, !tbaa !5
  %2906 = call i32 @s2n_ktls_recvmsg(ptr noundef nonnull %49, ptr noundef nonnull %52, ptr noundef nonnull %50, i64 noundef 10, ptr noundef null, ptr noundef nonnull %53) #12
  %2907 = call zeroext i1 @s2n_result_is_error(i32 %2906)
  br i1 %2907, label %2930, label %2908

2908:                                             ; preds = %2903
  %2909 = load i32, ptr %421, align 4, !tbaa !5
  %2910 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2911 = call i32 @s2n_print_stacktrace(ptr noundef %2910) #12
  %2912 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2913 = trunc nuw i8 %2912 to i1
  br i1 %2913, label %2914, label %2918

2914:                                             ; preds = %2908
  %2915 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2916 = call i32 @fileno(ptr noundef %2915) #12
  %2917 = call i32 @isatty(i32 noundef %2916) #12
  %.not1176 = icmp eq i32 %2917, 0
  br i1 %.not1176, label %2918, label %2919

2918:                                             ; preds = %2914, %2908
  br label %2919

2919:                                             ; preds = %2914, %2918
  %.str.6.sink2407 = phi ptr [ @.str.6, %2918 ], [ @.str.3, %2914 ]
  store i32 %2909, ptr %421, align 4, !tbaa !5
  %2920 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2921 = load i32, ptr @test_count, align 4, !tbaa !5
  %2922 = load i32, ptr %367, align 4, !tbaa !5
  %2923 = call ptr @s2n_strerror(i32 noundef %2922, ptr noundef nonnull @.str.5) #12
  %2924 = load i32, ptr %367, align 4, !tbaa !5
  %2925 = call ptr @s2n_strerror_debug(i32 noundef %2924, ptr noundef nonnull @.str.5) #12
  %2926 = load i32, ptr %421, align 4, !tbaa !5
  %2927 = call ptr @strerror(i32 noundef %2926) #12
  %2928 = load i32, ptr %421, align 4, !tbaa !5
  %2929 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2920, ptr noundef nonnull %.str.6.sink2407, i32 noundef %2921, ptr noundef nonnull @.str.54, ptr noundef nonnull @.str.2, i32 noundef 368, ptr noundef %2923, ptr noundef %2925, ptr noundef %2927, i32 noundef %2928) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2930:                                             ; preds = %2903
  %2931 = load i32, ptr @test_count, align 4, !tbaa !5
  %2932 = add nsw i32 %2931, 1
  store i32 %2932, ptr @test_count, align 4, !tbaa !5
  %2933 = load i32, ptr %367, align 4, !tbaa !5
  %2934 = icmp eq i32 %2933, 402653193
  br i1 %2934, label %2957, label %2935

2935:                                             ; preds = %2930
  %2936 = load i32, ptr %421, align 4, !tbaa !5
  %2937 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2938 = call i32 @s2n_print_stacktrace(ptr noundef %2937) #12
  %2939 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2940 = trunc nuw i8 %2939 to i1
  br i1 %2940, label %2941, label %2945

2941:                                             ; preds = %2935
  %2942 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2943 = call i32 @fileno(ptr noundef %2942) #12
  %2944 = call i32 @isatty(i32 noundef %2943) #12
  %.not1177 = icmp eq i32 %2944, 0
  br i1 %.not1177, label %2945, label %2946

2945:                                             ; preds = %2941, %2935
  br label %2946

2946:                                             ; preds = %2941, %2945
  %.str.6.sink2416 = phi ptr [ @.str.6, %2945 ], [ @.str.3, %2941 ]
  store i32 %2936, ptr %421, align 4, !tbaa !5
  %2947 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2948 = load i32, ptr @test_count, align 4, !tbaa !5
  %2949 = load i32, ptr %367, align 4, !tbaa !5
  %2950 = call ptr @s2n_strerror(i32 noundef %2949, ptr noundef nonnull @.str.5) #12
  %2951 = load i32, ptr %367, align 4, !tbaa !5
  %2952 = call ptr @s2n_strerror_debug(i32 noundef %2951, ptr noundef nonnull @.str.5) #12
  %2953 = load i32, ptr %421, align 4, !tbaa !5
  %2954 = call ptr @strerror(i32 noundef %2953) #12
  %2955 = load i32, ptr %421, align 4, !tbaa !5
  %2956 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2947, ptr noundef nonnull %.str.6.sink2416, i32 noundef %2948, ptr noundef nonnull @.str.12, ptr noundef nonnull @.str.2, i32 noundef 368, ptr noundef %2950, ptr noundef %2952, ptr noundef %2954, i32 noundef %2955) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2957:                                             ; preds = %2930
  %2958 = add nsw i32 %2931, 2
  store i32 %2958, ptr @test_count, align 4, !tbaa !5
  %2959 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.5) #12
  %2960 = icmp eq ptr %2959, null
  br i1 %2960, label %2961, label %2983

2961:                                             ; preds = %2957
  %2962 = load i32, ptr %421, align 4, !tbaa !5
  %2963 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2964 = call i32 @s2n_print_stacktrace(ptr noundef %2963) #12
  %2965 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2966 = trunc nuw i8 %2965 to i1
  br i1 %2966, label %2967, label %2971

2967:                                             ; preds = %2961
  %2968 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2969 = call i32 @fileno(ptr noundef %2968) #12
  %2970 = call i32 @isatty(i32 noundef %2969) #12
  %.not1493 = icmp eq i32 %2970, 0
  br i1 %.not1493, label %2971, label %2972

2971:                                             ; preds = %2967, %2961
  br label %2972

2972:                                             ; preds = %2967, %2971
  %.str.6.sink2425 = phi ptr [ @.str.6, %2971 ], [ @.str.3, %2967 ]
  store i32 %2962, ptr %421, align 4, !tbaa !5
  %2973 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2974 = load i32, ptr @test_count, align 4, !tbaa !5
  %2975 = load i32, ptr %367, align 4, !tbaa !5
  %2976 = call ptr @s2n_strerror(i32 noundef %2975, ptr noundef nonnull @.str.5) #12
  %2977 = load i32, ptr %367, align 4, !tbaa !5
  %2978 = call ptr @s2n_strerror_debug(i32 noundef %2977, ptr noundef nonnull @.str.5) #12
  %2979 = load i32, ptr %421, align 4, !tbaa !5
  %2980 = call ptr @strerror(i32 noundef %2979) #12
  %2981 = load i32, ptr %421, align 4, !tbaa !5
  %2982 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2973, ptr noundef nonnull %.str.6.sink2425, i32 noundef %2974, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.2, i32 noundef 368, ptr noundef %2976, ptr noundef %2978, ptr noundef %2980, i32 noundef %2981) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2983:                                             ; preds = %2957
  store i32 0, ptr %367, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %421, align 4, !tbaa !5
  %2984 = load i32, ptr @test_count, align 4, !tbaa !5
  %2985 = add nsw i32 %2984, 1
  store i32 %2985, ptr @test_count, align 4, !tbaa !5
  %2986 = call i32 @s2n_ktls_recvmsg(ptr noundef nonnull %49, ptr noundef nonnull %52, ptr noundef nonnull %50, i64 noundef 10, ptr noundef nonnull %51, ptr noundef null) #12
  %2987 = call zeroext i1 @s2n_result_is_error(i32 %2986)
  br i1 %2987, label %3010, label %2988

2988:                                             ; preds = %2983
  %2989 = load i32, ptr %421, align 4, !tbaa !5
  %2990 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2991 = call i32 @s2n_print_stacktrace(ptr noundef %2990) #12
  %2992 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2993 = trunc nuw i8 %2992 to i1
  br i1 %2993, label %2994, label %2998

2994:                                             ; preds = %2988
  %2995 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2996 = call i32 @fileno(ptr noundef %2995) #12
  %2997 = call i32 @isatty(i32 noundef %2996) #12
  %.not1178 = icmp eq i32 %2997, 0
  br i1 %.not1178, label %2998, label %2999

2998:                                             ; preds = %2994, %2988
  br label %2999

2999:                                             ; preds = %2994, %2998
  %.str.6.sink2434 = phi ptr [ @.str.6, %2998 ], [ @.str.3, %2994 ]
  store i32 %2989, ptr %421, align 4, !tbaa !5
  %3000 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3001 = load i32, ptr @test_count, align 4, !tbaa !5
  %3002 = load i32, ptr %367, align 4, !tbaa !5
  %3003 = call ptr @s2n_strerror(i32 noundef %3002, ptr noundef nonnull @.str.5) #12
  %3004 = load i32, ptr %367, align 4, !tbaa !5
  %3005 = call ptr @s2n_strerror_debug(i32 noundef %3004, ptr noundef nonnull @.str.5) #12
  %3006 = load i32, ptr %421, align 4, !tbaa !5
  %3007 = call ptr @strerror(i32 noundef %3006) #12
  %3008 = load i32, ptr %421, align 4, !tbaa !5
  %3009 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3000, ptr noundef nonnull %.str.6.sink2434, i32 noundef %3001, ptr noundef nonnull @.str.55, ptr noundef nonnull @.str.2, i32 noundef 371, ptr noundef %3003, ptr noundef %3005, ptr noundef %3007, i32 noundef %3008) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3010:                                             ; preds = %2983
  %3011 = load i32, ptr @test_count, align 4, !tbaa !5
  %3012 = add nsw i32 %3011, 1
  store i32 %3012, ptr @test_count, align 4, !tbaa !5
  %3013 = load i32, ptr %367, align 4, !tbaa !5
  %3014 = icmp eq i32 %3013, 402653193
  br i1 %3014, label %3037, label %3015

3015:                                             ; preds = %3010
  %3016 = load i32, ptr %421, align 4, !tbaa !5
  %3017 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3018 = call i32 @s2n_print_stacktrace(ptr noundef %3017) #12
  %3019 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3020 = trunc nuw i8 %3019 to i1
  br i1 %3020, label %3021, label %3025

3021:                                             ; preds = %3015
  %3022 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3023 = call i32 @fileno(ptr noundef %3022) #12
  %3024 = call i32 @isatty(i32 noundef %3023) #12
  %.not1179 = icmp eq i32 %3024, 0
  br i1 %.not1179, label %3025, label %3026

3025:                                             ; preds = %3021, %3015
  br label %3026

3026:                                             ; preds = %3021, %3025
  %.str.6.sink2443 = phi ptr [ @.str.6, %3025 ], [ @.str.3, %3021 ]
  store i32 %3016, ptr %421, align 4, !tbaa !5
  %3027 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3028 = load i32, ptr @test_count, align 4, !tbaa !5
  %3029 = load i32, ptr %367, align 4, !tbaa !5
  %3030 = call ptr @s2n_strerror(i32 noundef %3029, ptr noundef nonnull @.str.5) #12
  %3031 = load i32, ptr %367, align 4, !tbaa !5
  %3032 = call ptr @s2n_strerror_debug(i32 noundef %3031, ptr noundef nonnull @.str.5) #12
  %3033 = load i32, ptr %421, align 4, !tbaa !5
  %3034 = call ptr @strerror(i32 noundef %3033) #12
  %3035 = load i32, ptr %421, align 4, !tbaa !5
  %3036 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3027, ptr noundef nonnull %.str.6.sink2443, i32 noundef %3028, ptr noundef nonnull @.str.12, ptr noundef nonnull @.str.2, i32 noundef 371, ptr noundef %3030, ptr noundef %3032, ptr noundef %3034, i32 noundef %3035) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3037:                                             ; preds = %3010
  %3038 = add nsw i32 %3011, 2
  store i32 %3038, ptr @test_count, align 4, !tbaa !5
  %3039 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.5) #12
  %3040 = icmp eq ptr %3039, null
  br i1 %3040, label %3041, label %3063

3041:                                             ; preds = %3037
  %3042 = load i32, ptr %421, align 4, !tbaa !5
  %3043 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3044 = call i32 @s2n_print_stacktrace(ptr noundef %3043) #12
  %3045 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3046 = trunc nuw i8 %3045 to i1
  br i1 %3046, label %3047, label %3051

3047:                                             ; preds = %3041
  %3048 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3049 = call i32 @fileno(ptr noundef %3048) #12
  %3050 = call i32 @isatty(i32 noundef %3049) #12
  %.not1492 = icmp eq i32 %3050, 0
  br i1 %.not1492, label %3051, label %3052

3051:                                             ; preds = %3047, %3041
  br label %3052

3052:                                             ; preds = %3047, %3051
  %.str.6.sink2452 = phi ptr [ @.str.6, %3051 ], [ @.str.3, %3047 ]
  store i32 %3042, ptr %421, align 4, !tbaa !5
  %3053 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3054 = load i32, ptr @test_count, align 4, !tbaa !5
  %3055 = load i32, ptr %367, align 4, !tbaa !5
  %3056 = call ptr @s2n_strerror(i32 noundef %3055, ptr noundef nonnull @.str.5) #12
  %3057 = load i32, ptr %367, align 4, !tbaa !5
  %3058 = call ptr @s2n_strerror_debug(i32 noundef %3057, ptr noundef nonnull @.str.5) #12
  %3059 = load i32, ptr %421, align 4, !tbaa !5
  %3060 = call ptr @strerror(i32 noundef %3059) #12
  %3061 = load i32, ptr %421, align 4, !tbaa !5
  %3062 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3053, ptr noundef nonnull %.str.6.sink2452, i32 noundef %3054, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.2, i32 noundef 371, ptr noundef %3056, ptr noundef %3058, ptr noundef %3060, i32 noundef %3061) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3063:                                             ; preds = %3037
  store i32 0, ptr %367, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %421, align 4, !tbaa !5
  %3064 = load i32, ptr @test_count, align 4, !tbaa !5
  %3065 = add nsw i32 %3064, 1
  store i32 %3065, ptr @test_count, align 4, !tbaa !5
  %3066 = call i32 @s2n_ktls_recvmsg(ptr noundef nonnull %49, ptr noundef nonnull %52, ptr noundef nonnull %50, i64 noundef 0, ptr noundef nonnull %51, ptr noundef nonnull %53) #12
  %3067 = call zeroext i1 @s2n_result_is_error(i32 %3066)
  br i1 %3067, label %3090, label %3068

3068:                                             ; preds = %3063
  %3069 = load i32, ptr %421, align 4, !tbaa !5
  %3070 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3071 = call i32 @s2n_print_stacktrace(ptr noundef %3070) #12
  %3072 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3073 = trunc nuw i8 %3072 to i1
  br i1 %3073, label %3074, label %3078

3074:                                             ; preds = %3068
  %3075 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3076 = call i32 @fileno(ptr noundef %3075) #12
  %3077 = call i32 @isatty(i32 noundef %3076) #12
  %.not1180 = icmp eq i32 %3077, 0
  br i1 %.not1180, label %3078, label %3079

3078:                                             ; preds = %3074, %3068
  br label %3079

3079:                                             ; preds = %3074, %3078
  %.str.6.sink2461 = phi ptr [ @.str.6, %3078 ], [ @.str.3, %3074 ]
  store i32 %3069, ptr %421, align 4, !tbaa !5
  %3080 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3081 = load i32, ptr @test_count, align 4, !tbaa !5
  %3082 = load i32, ptr %367, align 4, !tbaa !5
  %3083 = call ptr @s2n_strerror(i32 noundef %3082, ptr noundef nonnull @.str.5) #12
  %3084 = load i32, ptr %367, align 4, !tbaa !5
  %3085 = call ptr @s2n_strerror_debug(i32 noundef %3084, ptr noundef nonnull @.str.5) #12
  %3086 = load i32, ptr %421, align 4, !tbaa !5
  %3087 = call ptr @strerror(i32 noundef %3086) #12
  %3088 = load i32, ptr %421, align 4, !tbaa !5
  %3089 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3080, ptr noundef nonnull %.str.6.sink2461, i32 noundef %3081, ptr noundef nonnull @.str.56, ptr noundef nonnull @.str.2, i32 noundef 376, ptr noundef %3083, ptr noundef %3085, ptr noundef %3087, i32 noundef %3088) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3090:                                             ; preds = %3063
  %3091 = load i32, ptr @test_count, align 4, !tbaa !5
  %3092 = add nsw i32 %3091, 1
  store i32 %3092, ptr @test_count, align 4, !tbaa !5
  %3093 = load i32, ptr %367, align 4, !tbaa !5
  %3094 = icmp eq i32 %3093, 402653194
  br i1 %3094, label %3117, label %3095

3095:                                             ; preds = %3090
  %3096 = load i32, ptr %421, align 4, !tbaa !5
  %3097 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3098 = call i32 @s2n_print_stacktrace(ptr noundef %3097) #12
  %3099 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3100 = trunc nuw i8 %3099 to i1
  br i1 %3100, label %3101, label %3105

3101:                                             ; preds = %3095
  %3102 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3103 = call i32 @fileno(ptr noundef %3102) #12
  %3104 = call i32 @isatty(i32 noundef %3103) #12
  %.not1181 = icmp eq i32 %3104, 0
  br i1 %.not1181, label %3105, label %3106

3105:                                             ; preds = %3101, %3095
  br label %3106

3106:                                             ; preds = %3101, %3105
  %.str.6.sink2470 = phi ptr [ @.str.6, %3105 ], [ @.str.3, %3101 ]
  store i32 %3096, ptr %421, align 4, !tbaa !5
  %3107 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3108 = load i32, ptr @test_count, align 4, !tbaa !5
  %3109 = load i32, ptr %367, align 4, !tbaa !5
  %3110 = call ptr @s2n_strerror(i32 noundef %3109, ptr noundef nonnull @.str.5) #12
  %3111 = load i32, ptr %367, align 4, !tbaa !5
  %3112 = call ptr @s2n_strerror_debug(i32 noundef %3111, ptr noundef nonnull @.str.5) #12
  %3113 = load i32, ptr %421, align 4, !tbaa !5
  %3114 = call ptr @strerror(i32 noundef %3113) #12
  %3115 = load i32, ptr %421, align 4, !tbaa !5
  %3116 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3107, ptr noundef nonnull %.str.6.sink2470, i32 noundef %3108, ptr noundef nonnull @.str.57, ptr noundef nonnull @.str.2, i32 noundef 376, ptr noundef %3110, ptr noundef %3112, ptr noundef %3114, i32 noundef %3115) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3117:                                             ; preds = %3090
  %3118 = add nsw i32 %3091, 2
  store i32 %3118, ptr @test_count, align 4, !tbaa !5
  %3119 = call ptr @s2n_strerror_debug(i32 noundef 402653194, ptr noundef nonnull @.str.5) #12
  %3120 = icmp eq ptr %3119, null
  br i1 %3120, label %3121, label %3143

3121:                                             ; preds = %3117
  %3122 = load i32, ptr %421, align 4, !tbaa !5
  %3123 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3124 = call i32 @s2n_print_stacktrace(ptr noundef %3123) #12
  %3125 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3126 = trunc nuw i8 %3125 to i1
  br i1 %3126, label %3127, label %3131

3127:                                             ; preds = %3121
  %3128 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3129 = call i32 @fileno(ptr noundef %3128) #12
  %3130 = call i32 @isatty(i32 noundef %3129) #12
  %.not1491 = icmp eq i32 %3130, 0
  br i1 %.not1491, label %3131, label %3132

3131:                                             ; preds = %3127, %3121
  br label %3132

3132:                                             ; preds = %3127, %3131
  %.str.6.sink2479 = phi ptr [ @.str.6, %3131 ], [ @.str.3, %3127 ]
  store i32 %3122, ptr %421, align 4, !tbaa !5
  %3133 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3134 = load i32, ptr @test_count, align 4, !tbaa !5
  %3135 = load i32, ptr %367, align 4, !tbaa !5
  %3136 = call ptr @s2n_strerror(i32 noundef %3135, ptr noundef nonnull @.str.5) #12
  %3137 = load i32, ptr %367, align 4, !tbaa !5
  %3138 = call ptr @s2n_strerror_debug(i32 noundef %3137, ptr noundef nonnull @.str.5) #12
  %3139 = load i32, ptr %421, align 4, !tbaa !5
  %3140 = call ptr @strerror(i32 noundef %3139) #12
  %3141 = load i32, ptr %421, align 4, !tbaa !5
  %3142 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3133, ptr noundef nonnull %.str.6.sink2479, i32 noundef %3134, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.2, i32 noundef 376, ptr noundef %3136, ptr noundef %3138, ptr noundef %3140, i32 noundef %3141) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3143:                                             ; preds = %3117
  store i32 0, ptr %367, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %421, align 4, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %53) #12
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %52) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %51) #12
  call void @llvm.lifetime.end.p0(i64 16384, ptr nonnull %50) #12
  call void @llvm.lifetime.end.p0(i64 96, ptr nonnull %49) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %54) #12
  %3144 = call ptr @s2n_connection_new(i32 noundef 0) #12
  store ptr %3144, ptr %54, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %55) #12
  %3145 = call ptr @s2n_connection_new(i32 noundef 1) #12
  store ptr %3145, ptr %55, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 192, ptr nonnull %56) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(192) %56, i8 0, i64 192, i1 false)
  %3146 = load i32, ptr @test_count, align 4, !tbaa !5
  %3147 = add nsw i32 %3146, 1
  store i32 %3147, ptr @test_count, align 4, !tbaa !5
  %3148 = load ptr, ptr %54, align 8, !tbaa !9
  %3149 = call i32 @s2n_test_init_ktls_io_stuffer(ptr noundef %3148, ptr noundef %3145, ptr noundef nonnull %56) #12
  %3150 = call zeroext i1 @s2n_result_is_ok(i32 %3149)
  br i1 %3150, label %3173, label %3151

3151:                                             ; preds = %3143
  %3152 = load i32, ptr %421, align 4, !tbaa !5
  %3153 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3154 = call i32 @s2n_print_stacktrace(ptr noundef %3153) #12
  %3155 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3156 = trunc nuw i8 %3155 to i1
  br i1 %3156, label %3157, label %3161

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

3161:                                             ; preds = %3157, %3151
  br label %3162

3162:                                             ; preds = %3157, %3161
  %.str.6.sink2488 = phi ptr [ @.str.6, %3161 ], [ @.str.3, %3157 ]
  store i32 %3152, ptr %421, align 4, !tbaa !5
  %3163 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3164 = load i32, ptr @test_count, align 4, !tbaa !5
  %3165 = load i32, ptr %367, align 4, !tbaa !5
  %3166 = call ptr @s2n_strerror(i32 noundef %3165, ptr noundef nonnull @.str.5) #12
  %3167 = load i32, ptr %367, align 4, !tbaa !5
  %3168 = call ptr @s2n_strerror_debug(i32 noundef %3167, ptr noundef nonnull @.str.5) #12
  %3169 = load i32, ptr %421, align 4, !tbaa !5
  %3170 = call ptr @strerror(i32 noundef %3169) #12
  %3171 = load i32, ptr %421, align 4, !tbaa !5
  %3172 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3163, ptr noundef nonnull %.str.6.sink2488, i32 noundef %3164, ptr noundef nonnull @.str.58, ptr noundef nonnull @.str.2, i32 noundef 387, ptr noundef %3166, ptr noundef %3168, ptr noundef %3170, i32 noundef %3171) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3173:                                             ; preds = %3143
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %57) #12
  store ptr %3, ptr %57, align 8, !tbaa !16
  %3174 = getelementptr inbounds i8, ptr %57, i64 8
  store i64 10, ptr %3174, align 8, !tbaa !19
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %58) #12
  store i32 0, ptr %58, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %59) #12
  store i64 0, ptr %59, align 8, !tbaa !20
  %3175 = load i32, ptr @test_count, align 4, !tbaa !5
  %3176 = add nsw i32 %3175, 1
  store i32 %3176, ptr @test_count, align 4, !tbaa !5
  %3177 = load ptr, ptr %54, align 8, !tbaa !9
  %3178 = getelementptr inbounds i8, ptr %3177, i64 64
  %3179 = load ptr, ptr %3178, align 8, !tbaa !21
  %3180 = call i32 @s2n_ktls_sendmsg(ptr noundef %3179, i8 noundef zeroext 43, ptr noundef nonnull %57, i64 noundef 1, ptr noundef nonnull %58, ptr noundef nonnull %59) #12
  %3181 = call zeroext i1 @s2n_result_is_ok(i32 %3180)
  br i1 %3181, label %3204, label %3182

3182:                                             ; preds = %3173
  %3183 = load i32, ptr %421, align 4, !tbaa !5
  %3184 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3185 = call i32 @s2n_print_stacktrace(ptr noundef %3184) #12
  %3186 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3187 = trunc nuw i8 %3186 to i1
  br i1 %3187, label %3188, label %3192

3188:                                             ; preds = %3182
  %3189 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3190 = call i32 @fileno(ptr noundef %3189) #12
  %3191 = call i32 @isatty(i32 noundef %3190) #12
  %.not1183 = icmp eq i32 %3191, 0
  br i1 %.not1183, label %3192, label %3193

3192:                                             ; preds = %3188, %3182
  br label %3193

3193:                                             ; preds = %3188, %3192
  %.str.6.sink2497 = phi ptr [ @.str.6, %3192 ], [ @.str.3, %3188 ]
  store i32 %3183, ptr %421, align 4, !tbaa !5
  %3194 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3195 = load i32, ptr @test_count, align 4, !tbaa !5
  %3196 = load i32, ptr %367, align 4, !tbaa !5
  %3197 = call ptr @s2n_strerror(i32 noundef %3196, ptr noundef nonnull @.str.5) #12
  %3198 = load i32, ptr %367, align 4, !tbaa !5
  %3199 = call ptr @s2n_strerror_debug(i32 noundef %3198, ptr noundef nonnull @.str.5) #12
  %3200 = load i32, ptr %421, align 4, !tbaa !5
  %3201 = call ptr @strerror(i32 noundef %3200) #12
  %3202 = load i32, ptr %421, align 4, !tbaa !5
  %3203 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3194, ptr noundef nonnull %.str.6.sink2497, i32 noundef %3195, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.2, i32 noundef 393, ptr noundef %3197, ptr noundef %3199, ptr noundef %3201, i32 noundef %3202) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3204:                                             ; preds = %3173
  %3205 = load i32, ptr @test_count, align 4, !tbaa !5
  %3206 = add nsw i32 %3205, 1
  store i32 %3206, ptr @test_count, align 4, !tbaa !5
  %3207 = load i64, ptr %59, align 8, !tbaa !20
  %3208 = icmp eq i64 %3207, 10
  br i1 %3208, label %3231, label %3209

3209:                                             ; preds = %3204
  %3210 = load i32, ptr %421, align 4, !tbaa !5
  %3211 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3212 = call i32 @s2n_print_stacktrace(ptr noundef %3211) #12
  %3213 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3214 = trunc nuw i8 %3213 to i1
  br i1 %3214, label %3215, label %3219

3215:                                             ; preds = %3209
  %3216 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3217 = call i32 @fileno(ptr noundef %3216) #12
  %3218 = call i32 @isatty(i32 noundef %3217) #12
  %.not1184 = icmp eq i32 %3218, 0
  br i1 %.not1184, label %3219, label %3220

3219:                                             ; preds = %3215, %3209
  br label %3220

3220:                                             ; preds = %3215, %3219
  %.str.6.sink2506 = phi ptr [ @.str.6, %3219 ], [ @.str.3, %3215 ]
  store i32 %3210, ptr %421, align 4, !tbaa !5
  %3221 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3222 = load i32, ptr @test_count, align 4, !tbaa !5
  %3223 = load i32, ptr %367, align 4, !tbaa !5
  %3224 = call ptr @s2n_strerror(i32 noundef %3223, ptr noundef nonnull @.str.5) #12
  %3225 = load i32, ptr %367, align 4, !tbaa !5
  %3226 = call ptr @s2n_strerror_debug(i32 noundef %3225, ptr noundef nonnull @.str.5) #12
  %3227 = load i32, ptr %421, align 4, !tbaa !5
  %3228 = call ptr @strerror(i32 noundef %3227) #12
  %3229 = load i32, ptr %421, align 4, !tbaa !5
  %3230 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3221, ptr noundef nonnull %.str.6.sink2506, i32 noundef %3222, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.2, i32 noundef 394, ptr noundef %3224, ptr noundef %3226, ptr noundef %3228, i32 noundef %3229) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3231:                                             ; preds = %3204
  call void @llvm.lifetime.start.p0(i64 16384, ptr nonnull %60) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(16384) %60, i8 0, i64 16384, i1 false)
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %61) #12
  store i8 0, ptr %61, align 1, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %62) #12
  store i64 0, ptr %62, align 8, !tbaa !20
  %3232 = add nsw i32 %3205, 2
  store i32 %3232, ptr @test_count, align 4, !tbaa !5
  %3233 = load ptr, ptr %55, align 8, !tbaa !9
  %3234 = getelementptr inbounds i8, ptr %3233, i64 72
  %3235 = load ptr, ptr %3234, align 8, !tbaa !54
  %3236 = call i32 @s2n_ktls_recvmsg(ptr noundef %3235, ptr noundef nonnull %61, ptr noundef nonnull %60, i64 noundef 10, ptr noundef nonnull %58, ptr noundef nonnull %62) #12
  %3237 = call zeroext i1 @s2n_result_is_ok(i32 %3236)
  br i1 %3237, label %3260, label %3238

3238:                                             ; preds = %3231
  %3239 = load i32, ptr %421, align 4, !tbaa !5
  %3240 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3241 = call i32 @s2n_print_stacktrace(ptr noundef %3240) #12
  %3242 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3243 = trunc nuw i8 %3242 to i1
  br i1 %3243, label %3244, label %3248

3244:                                             ; preds = %3238
  %3245 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3246 = call i32 @fileno(ptr noundef %3245) #12
  %3247 = call i32 @isatty(i32 noundef %3246) #12
  %.not1185 = icmp eq i32 %3247, 0
  br i1 %.not1185, label %3248, label %3249

3248:                                             ; preds = %3244, %3238
  br label %3249

3249:                                             ; preds = %3244, %3248
  %.str.6.sink2515 = phi ptr [ @.str.6, %3248 ], [ @.str.3, %3244 ]
  store i32 %3239, ptr %421, align 4, !tbaa !5
  %3250 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3251 = load i32, ptr @test_count, align 4, !tbaa !5
  %3252 = load i32, ptr %367, align 4, !tbaa !5
  %3253 = call ptr @s2n_strerror(i32 noundef %3252, ptr noundef nonnull @.str.5) #12
  %3254 = load i32, ptr %367, align 4, !tbaa !5
  %3255 = call ptr @s2n_strerror_debug(i32 noundef %3254, ptr noundef nonnull @.str.5) #12
  %3256 = load i32, ptr %421, align 4, !tbaa !5
  %3257 = call ptr @strerror(i32 noundef %3256) #12
  %3258 = load i32, ptr %421, align 4, !tbaa !5
  %3259 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3250, ptr noundef nonnull %.str.6.sink2515, i32 noundef %3251, ptr noundef nonnull @.str.59, ptr noundef nonnull @.str.2, i32 noundef 400, ptr noundef %3253, ptr noundef %3255, ptr noundef %3257, i32 noundef %3258) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3260:                                             ; preds = %3231
  %3261 = load i64, ptr %62, align 8, !tbaa !20
  %.not1186 = icmp eq i64 %3261, 0
  %.pre = load i32, ptr @test_count, align 4, !tbaa !5
  br i1 %.not1186, label %3287, label %3262

3262:                                             ; preds = %3260
  %3263 = add nsw i32 %.pre, 1
  store i32 %3263, ptr @test_count, align 4, !tbaa !5
  %bcmp = call i32 @bcmp(ptr nonnull %3, ptr nonnull %60, i64 %3261)
  %3264 = icmp eq i32 %bcmp, 0
  br i1 %3264, label %3287, label %3265

3265:                                             ; preds = %3262
  %3266 = load i32, ptr %421, align 4, !tbaa !5
  %3267 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3268 = call i32 @s2n_print_stacktrace(ptr noundef %3267) #12
  %3269 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3270 = trunc nuw i8 %3269 to i1
  br i1 %3270, label %3271, label %3275

3271:                                             ; preds = %3265
  %3272 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3273 = call i32 @fileno(ptr noundef %3272) #12
  %3274 = call i32 @isatty(i32 noundef %3273) #12
  %.not1187 = icmp eq i32 %3274, 0
  br i1 %.not1187, label %3275, label %3276

3275:                                             ; preds = %3271, %3265
  br label %3276

3276:                                             ; preds = %3271, %3275
  %.str.6.sink2524 = phi ptr [ @.str.6, %3275 ], [ @.str.3, %3271 ]
  store i32 %3266, ptr %421, align 4, !tbaa !5
  %3277 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3278 = load i32, ptr @test_count, align 4, !tbaa !5
  %3279 = load i32, ptr %367, align 4, !tbaa !5
  %3280 = call ptr @s2n_strerror(i32 noundef %3279, ptr noundef nonnull @.str.5) #12
  %3281 = load i32, ptr %367, align 4, !tbaa !5
  %3282 = call ptr @s2n_strerror_debug(i32 noundef %3281, ptr noundef nonnull @.str.5) #12
  %3283 = load i32, ptr %421, align 4, !tbaa !5
  %3284 = call ptr @strerror(i32 noundef %3283) #12
  %3285 = load i32, ptr %421, align 4, !tbaa !5
  %3286 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3277, ptr noundef nonnull %.str.6.sink2524, i32 noundef %3278, ptr noundef nonnull @.str.60, ptr noundef nonnull @.str.2, i32 noundef 401, ptr noundef %3280, ptr noundef %3282, ptr noundef %3284, i32 noundef %3285) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3287:                                             ; preds = %3260, %3262
  %3288 = phi i32 [ %.pre, %3260 ], [ %3263, %3262 ]
  %3289 = add nsw i32 %3288, 1
  store i32 %3289, ptr @test_count, align 4, !tbaa !5
  %3290 = load i64, ptr %59, align 8, !tbaa !20
  %3291 = icmp eq i64 %3261, %3290
  br i1 %3291, label %3314, label %3292

3292:                                             ; preds = %3287
  %3293 = load i32, ptr %421, align 4, !tbaa !5
  %3294 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3295 = call i32 @s2n_print_stacktrace(ptr noundef %3294) #12
  %3296 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3297 = trunc nuw i8 %3296 to i1
  br i1 %3297, label %3298, label %3302

3298:                                             ; preds = %3292
  %3299 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3300 = call i32 @fileno(ptr noundef %3299) #12
  %3301 = call i32 @isatty(i32 noundef %3300) #12
  %.not1188 = icmp eq i32 %3301, 0
  br i1 %.not1188, label %3302, label %3303

3302:                                             ; preds = %3298, %3292
  br label %3303

3303:                                             ; preds = %3298, %3302
  %.str.6.sink2533 = phi ptr [ @.str.6, %3302 ], [ @.str.3, %3298 ]
  store i32 %3293, ptr %421, align 4, !tbaa !5
  %3304 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3305 = load i32, ptr @test_count, align 4, !tbaa !5
  %3306 = load i32, ptr %367, align 4, !tbaa !5
  %3307 = call ptr @s2n_strerror(i32 noundef %3306, ptr noundef nonnull @.str.5) #12
  %3308 = load i32, ptr %367, align 4, !tbaa !5
  %3309 = call ptr @s2n_strerror_debug(i32 noundef %3308, ptr noundef nonnull @.str.5) #12
  %3310 = load i32, ptr %421, align 4, !tbaa !5
  %3311 = call ptr @strerror(i32 noundef %3310) #12
  %3312 = load i32, ptr %421, align 4, !tbaa !5
  %3313 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3304, ptr noundef nonnull %.str.6.sink2533, i32 noundef %3305, ptr noundef nonnull @.str.61, ptr noundef nonnull @.str.2, i32 noundef 402, ptr noundef %3307, ptr noundef %3309, ptr noundef %3311, i32 noundef %3312) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3314:                                             ; preds = %3287
  %3315 = add nsw i32 %3288, 2
  store i32 %3315, ptr @test_count, align 4, !tbaa !5
  %3316 = getelementptr inbounds i8, ptr %56, i64 80
  %3317 = load i64, ptr %3316, align 8, !tbaa !55
  %3318 = icmp eq i64 %3317, 1
  br i1 %3318, label %3341, label %3319

3319:                                             ; preds = %3314
  %3320 = load i32, ptr %421, align 4, !tbaa !5
  %3321 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3322 = call i32 @s2n_print_stacktrace(ptr noundef %3321) #12
  %3323 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3324 = trunc nuw i8 %3323 to i1
  br i1 %3324, label %3325, label %3329

3325:                                             ; preds = %3319
  %3326 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3327 = call i32 @fileno(ptr noundef %3326) #12
  %3328 = call i32 @isatty(i32 noundef %3327) #12
  %.not1189 = icmp eq i32 %3328, 0
  br i1 %.not1189, label %3329, label %3330

3329:                                             ; preds = %3325, %3319
  br label %3330

3330:                                             ; preds = %3325, %3329
  %.str.6.sink2542 = phi ptr [ @.str.6, %3329 ], [ @.str.3, %3325 ]
  store i32 %3320, ptr %421, align 4, !tbaa !5
  %3331 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3332 = load i32, ptr @test_count, align 4, !tbaa !5
  %3333 = load i32, ptr %367, align 4, !tbaa !5
  %3334 = call ptr @s2n_strerror(i32 noundef %3333, ptr noundef nonnull @.str.5) #12
  %3335 = load i32, ptr %367, align 4, !tbaa !5
  %3336 = call ptr @s2n_strerror_debug(i32 noundef %3335, ptr noundef nonnull @.str.5) #12
  %3337 = load i32, ptr %421, align 4, !tbaa !5
  %3338 = call ptr @strerror(i32 noundef %3337) #12
  %3339 = load i32, ptr %421, align 4, !tbaa !5
  %3340 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3331, ptr noundef nonnull %.str.6.sink2542, i32 noundef %3332, ptr noundef nonnull @.str.62, ptr noundef nonnull @.str.2, i32 noundef 404, ptr noundef %3334, ptr noundef %3336, ptr noundef %3338, i32 noundef %3339) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3341:                                             ; preds = %3314
  %3342 = add nsw i32 %3288, 3
  store i32 %3342, ptr @test_count, align 4, !tbaa !5
  %3343 = getelementptr inbounds i8, ptr %56, i64 88
  %3344 = load i64, ptr %3343, align 8, !tbaa !57
  %3345 = icmp eq i64 %3344, 1
  br i1 %3345, label %3368, label %3346

3346:                                             ; preds = %3341
  %3347 = load i32, ptr %421, align 4, !tbaa !5
  %3348 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3349 = call i32 @s2n_print_stacktrace(ptr noundef %3348) #12
  %3350 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3351 = trunc nuw i8 %3350 to i1
  br i1 %3351, label %3352, label %3356

3352:                                             ; preds = %3346
  %3353 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3354 = call i32 @fileno(ptr noundef %3353) #12
  %3355 = call i32 @isatty(i32 noundef %3354) #12
  %.not1190 = icmp eq i32 %3355, 0
  br i1 %.not1190, label %3356, label %3357

3356:                                             ; preds = %3352, %3346
  br label %3357

3357:                                             ; preds = %3352, %3356
  %.str.6.sink2551 = phi ptr [ @.str.6, %3356 ], [ @.str.3, %3352 ]
  store i32 %3347, ptr %421, align 4, !tbaa !5
  %3358 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3359 = load i32, ptr @test_count, align 4, !tbaa !5
  %3360 = load i32, ptr %367, align 4, !tbaa !5
  %3361 = call ptr @s2n_strerror(i32 noundef %3360, ptr noundef nonnull @.str.5) #12
  %3362 = load i32, ptr %367, align 4, !tbaa !5
  %3363 = call ptr @s2n_strerror_debug(i32 noundef %3362, ptr noundef nonnull @.str.5) #12
  %3364 = load i32, ptr %421, align 4, !tbaa !5
  %3365 = call ptr @strerror(i32 noundef %3364) #12
  %3366 = load i32, ptr %421, align 4, !tbaa !5
  %3367 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3358, ptr noundef nonnull %.str.6.sink2551, i32 noundef %3359, ptr noundef nonnull @.str.63, ptr noundef nonnull @.str.2, i32 noundef 405, ptr noundef %3361, ptr noundef %3363, ptr noundef %3365, i32 noundef %3366) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3368:                                             ; preds = %3341
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %62) #12
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %61) #12
  call void @llvm.lifetime.end.p0(i64 16384, ptr nonnull %60) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %59) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %58) #12
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %57) #12
  %3369 = call i32 @s2n_ktls_io_stuffer_pair_free(ptr noundef nonnull %56) #12
  call void @llvm.lifetime.end.p0(i64 192, ptr nonnull %56) #12
  %3370 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %55) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %55) #12
  %3371 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %54) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %54) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %63) #12
  %3372 = call ptr @s2n_connection_new(i32 noundef 0) #12
  store ptr %3372, ptr %63, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %64) #12
  %3373 = call ptr @s2n_connection_new(i32 noundef 1) #12
  store ptr %3373, ptr %64, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 192, ptr nonnull %65) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(192) %65, i8 0, i64 192, i1 false)
  %3374 = load i32, ptr @test_count, align 4, !tbaa !5
  %3375 = add nsw i32 %3374, 1
  store i32 %3375, ptr @test_count, align 4, !tbaa !5
  %3376 = load ptr, ptr %63, align 8, !tbaa !9
  %3377 = call i32 @s2n_test_init_ktls_io_stuffer(ptr noundef %3376, ptr noundef %3373, ptr noundef nonnull %65) #12
  %3378 = call zeroext i1 @s2n_result_is_ok(i32 %3377)
  br i1 %3378, label %3401, label %3379

3379:                                             ; preds = %3368
  %3380 = load i32, ptr %421, align 4, !tbaa !5
  %3381 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3382 = call i32 @s2n_print_stacktrace(ptr noundef %3381) #12
  %3383 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3384 = trunc nuw i8 %3383 to i1
  br i1 %3384, label %3385, label %3389

3385:                                             ; preds = %3379
  %3386 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3387 = call i32 @fileno(ptr noundef %3386) #12
  %3388 = call i32 @isatty(i32 noundef %3387) #12
  %.not1191 = icmp eq i32 %3388, 0
  br i1 %.not1191, label %3389, label %3390

3389:                                             ; preds = %3385, %3379
  br label %3390

3390:                                             ; preds = %3385, %3389
  %.str.6.sink2560 = phi ptr [ @.str.6, %3389 ], [ @.str.3, %3385 ]
  store i32 %3380, ptr %421, align 4, !tbaa !5
  %3391 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3392 = load i32, ptr @test_count, align 4, !tbaa !5
  %3393 = load i32, ptr %367, align 4, !tbaa !5
  %3394 = call ptr @s2n_strerror(i32 noundef %3393, ptr noundef nonnull @.str.5) #12
  %3395 = load i32, ptr %367, align 4, !tbaa !5
  %3396 = call ptr @s2n_strerror_debug(i32 noundef %3395, ptr noundef nonnull @.str.5) #12
  %3397 = load i32, ptr %421, align 4, !tbaa !5
  %3398 = call ptr @strerror(i32 noundef %3397) #12
  %3399 = load i32, ptr %421, align 4, !tbaa !5
  %3400 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3391, ptr noundef nonnull %.str.6.sink2560, i32 noundef %3392, ptr noundef nonnull @.str.58, ptr noundef nonnull @.str.2, i32 noundef 416, ptr noundef %3394, ptr noundef %3396, ptr noundef %3398, i32 noundef %3399) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3401:                                             ; preds = %3368
  call void @llvm.lifetime.start.p0(i64 16384, ptr nonnull %66) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(16384) %66, i8 0, i64 16384, i1 false)
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %67) #12
  store i32 0, ptr %67, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %68) #12
  store i8 0, ptr %68, align 1, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %69) #12
  store i64 0, ptr %69, align 8, !tbaa !20
  %3402 = load i32, ptr @test_count, align 4, !tbaa !5
  %3403 = add nsw i32 %3402, 1
  store i32 %3403, ptr @test_count, align 4, !tbaa !5
  %3404 = load ptr, ptr %64, align 8, !tbaa !9
  %3405 = getelementptr inbounds i8, ptr %3404, i64 72
  %3406 = load ptr, ptr %3405, align 8, !tbaa !54
  %3407 = call i32 @s2n_ktls_recvmsg(ptr noundef %3406, ptr noundef nonnull %68, ptr noundef nonnull %66, i64 noundef 10, ptr noundef nonnull %67, ptr noundef nonnull %69) #12
  %3408 = call zeroext i1 @s2n_result_is_error(i32 %3407)
  br i1 %3408, label %3523, label %3501

3409:                                             ; preds = %3576
  %3410 = add nsw i32 %3577, 2
  store i32 %3410, ptr @test_count, align 4, !tbaa !5
  %3411 = load ptr, ptr %64, align 8, !tbaa !9
  %3412 = getelementptr inbounds i8, ptr %3411, i64 72
  %3413 = load ptr, ptr %3412, align 8, !tbaa !54
  %3414 = call i32 @s2n_ktls_recvmsg(ptr noundef %3413, ptr noundef nonnull %68, ptr noundef nonnull %66, i64 noundef 10, ptr noundef nonnull %67, ptr noundef nonnull %69) #12
  %3415 = call zeroext i1 @s2n_result_is_error(i32 %3414)
  br i1 %3415, label %3416, label %3501

3416:                                             ; preds = %3409
  %3417 = load i32, ptr @test_count, align 4, !tbaa !5
  %3418 = add nsw i32 %3417, 1
  store i32 %3418, ptr @test_count, align 4, !tbaa !5
  %3419 = load i32, ptr %367, align 4, !tbaa !5
  %3420 = icmp eq i32 %3419, 201326592
  br i1 %3420, label %3421, label %3528

3421:                                             ; preds = %3416
  %3422 = add nsw i32 %3417, 2
  store i32 %3422, ptr @test_count, align 4, !tbaa !5
  %3423 = call ptr @s2n_strerror_debug(i32 noundef 201326592, ptr noundef nonnull @.str.5) #12
  %3424 = icmp eq ptr %3423, null
  br i1 %3424, label %3554, label %3425

3425:                                             ; preds = %3421
  store i32 0, ptr %367, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %421, align 4, !tbaa !5
  %3426 = load i32, ptr @test_count, align 4, !tbaa !5
  %3427 = add nsw i32 %3426, 1
  store i32 %3427, ptr @test_count, align 4, !tbaa !5
  %3428 = load i32, ptr %67, align 4, !tbaa !5
  %3429 = icmp eq i32 %3428, 1
  br i1 %3429, label %3430, label %3581

3430:                                             ; preds = %3425
  %3431 = add nsw i32 %3426, 2
  store i32 %3431, ptr @test_count, align 4, !tbaa !5
  %3432 = load ptr, ptr %64, align 8, !tbaa !9
  %3433 = getelementptr inbounds i8, ptr %3432, i64 72
  %3434 = load ptr, ptr %3433, align 8, !tbaa !54
  %3435 = call i32 @s2n_ktls_recvmsg(ptr noundef %3434, ptr noundef nonnull %68, ptr noundef nonnull %66, i64 noundef 10, ptr noundef nonnull %67, ptr noundef nonnull %69) #12
  %3436 = call zeroext i1 @s2n_result_is_error(i32 %3435)
  br i1 %3436, label %3437, label %3501

3437:                                             ; preds = %3430
  %3438 = load i32, ptr @test_count, align 4, !tbaa !5
  %3439 = add nsw i32 %3438, 1
  store i32 %3439, ptr @test_count, align 4, !tbaa !5
  %3440 = load i32, ptr %367, align 4, !tbaa !5
  %3441 = icmp eq i32 %3440, 201326592
  br i1 %3441, label %3442, label %3528

3442:                                             ; preds = %3437
  %3443 = add nsw i32 %3438, 2
  store i32 %3443, ptr @test_count, align 4, !tbaa !5
  %3444 = call ptr @s2n_strerror_debug(i32 noundef 201326592, ptr noundef nonnull @.str.5) #12
  %3445 = icmp eq ptr %3444, null
  br i1 %3445, label %3554, label %3446

3446:                                             ; preds = %3442
  store i32 0, ptr %367, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %421, align 4, !tbaa !5
  %3447 = load i32, ptr @test_count, align 4, !tbaa !5
  %3448 = add nsw i32 %3447, 1
  store i32 %3448, ptr @test_count, align 4, !tbaa !5
  %3449 = load i32, ptr %67, align 4, !tbaa !5
  %3450 = icmp eq i32 %3449, 1
  br i1 %3450, label %3451, label %3581

3451:                                             ; preds = %3446
  %3452 = add nsw i32 %3447, 2
  store i32 %3452, ptr @test_count, align 4, !tbaa !5
  %3453 = load ptr, ptr %64, align 8, !tbaa !9
  %3454 = getelementptr inbounds i8, ptr %3453, i64 72
  %3455 = load ptr, ptr %3454, align 8, !tbaa !54
  %3456 = call i32 @s2n_ktls_recvmsg(ptr noundef %3455, ptr noundef nonnull %68, ptr noundef nonnull %66, i64 noundef 10, ptr noundef nonnull %67, ptr noundef nonnull %69) #12
  %3457 = call zeroext i1 @s2n_result_is_error(i32 %3456)
  br i1 %3457, label %3458, label %3501

3458:                                             ; preds = %3451
  %3459 = load i32, ptr @test_count, align 4, !tbaa !5
  %3460 = add nsw i32 %3459, 1
  store i32 %3460, ptr @test_count, align 4, !tbaa !5
  %3461 = load i32, ptr %367, align 4, !tbaa !5
  %3462 = icmp eq i32 %3461, 201326592
  br i1 %3462, label %3463, label %3528

3463:                                             ; preds = %3458
  %3464 = add nsw i32 %3459, 2
  store i32 %3464, ptr @test_count, align 4, !tbaa !5
  %3465 = call ptr @s2n_strerror_debug(i32 noundef 201326592, ptr noundef nonnull @.str.5) #12
  %3466 = icmp eq ptr %3465, null
  br i1 %3466, label %3554, label %3467

3467:                                             ; preds = %3463
  store i32 0, ptr %367, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %421, align 4, !tbaa !5
  %3468 = load i32, ptr @test_count, align 4, !tbaa !5
  %3469 = add nsw i32 %3468, 1
  store i32 %3469, ptr @test_count, align 4, !tbaa !5
  %3470 = load i32, ptr %67, align 4, !tbaa !5
  %3471 = icmp eq i32 %3470, 1
  br i1 %3471, label %3472, label %3581

3472:                                             ; preds = %3467
  %3473 = add nsw i32 %3468, 2
  store i32 %3473, ptr @test_count, align 4, !tbaa !5
  %3474 = load ptr, ptr %64, align 8, !tbaa !9
  %3475 = getelementptr inbounds i8, ptr %3474, i64 72
  %3476 = load ptr, ptr %3475, align 8, !tbaa !54
  %3477 = call i32 @s2n_ktls_recvmsg(ptr noundef %3476, ptr noundef nonnull %68, ptr noundef nonnull %66, i64 noundef 10, ptr noundef nonnull %67, ptr noundef nonnull %69) #12
  %3478 = call zeroext i1 @s2n_result_is_error(i32 %3477)
  br i1 %3478, label %3479, label %3501

3479:                                             ; preds = %3472
  %3480 = load i32, ptr @test_count, align 4, !tbaa !5
  %3481 = add nsw i32 %3480, 1
  store i32 %3481, ptr @test_count, align 4, !tbaa !5
  %3482 = load i32, ptr %367, align 4, !tbaa !5
  %3483 = icmp eq i32 %3482, 201326592
  br i1 %3483, label %3484, label %3528

3484:                                             ; preds = %3479
  %3485 = add nsw i32 %3480, 2
  store i32 %3485, ptr @test_count, align 4, !tbaa !5
  %3486 = call ptr @s2n_strerror_debug(i32 noundef 201326592, ptr noundef nonnull @.str.5) #12
  %3487 = icmp eq ptr %3486, null
  br i1 %3487, label %3554, label %3488

3488:                                             ; preds = %3484
  store i32 0, ptr %367, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %421, align 4, !tbaa !5
  %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 i32, ptr %67, align 4, !tbaa !5
  %3492 = icmp eq i32 %3491, 1
  br i1 %3492, label %3493, label %3581

3493:                                             ; preds = %3488
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %70) #12
  store ptr %3, ptr %70, align 8, !tbaa !16
  %3494 = getelementptr inbounds i8, ptr %70, i64 8
  store i64 10, ptr %3494, align 8, !tbaa !19
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %71) #12
  store i64 0, ptr %71, align 8, !tbaa !20
  %3495 = add nsw i32 %3489, 2
  store i32 %3495, ptr @test_count, align 4, !tbaa !5
  %3496 = load ptr, ptr %63, align 8, !tbaa !9
  %3497 = getelementptr inbounds i8, ptr %3496, i64 64
  %3498 = load ptr, ptr %3497, align 8, !tbaa !21
  %3499 = call i32 @s2n_ktls_sendmsg(ptr noundef %3498, i8 noundef zeroext 43, ptr noundef nonnull %70, i64 noundef 1, ptr noundef nonnull %67, ptr noundef nonnull %71) #12
  %3500 = call zeroext i1 @s2n_result_is_ok(i32 %3499)
  br i1 %3500, label %3625, label %3603

3501:                                             ; preds = %3472, %3451, %3430, %3409, %3401
  %3502 = load i32, ptr %421, align 4, !tbaa !5
  %3503 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3504 = call i32 @s2n_print_stacktrace(ptr noundef %3503) #12
  %3505 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3506 = trunc nuw i8 %3505 to i1
  br i1 %3506, label %3507, label %3511

3507:                                             ; preds = %3501
  %3508 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3509 = call i32 @fileno(ptr noundef %3508) #12
  %3510 = call i32 @isatty(i32 noundef %3509) #12
  %.not1487 = icmp eq i32 %3510, 0
  br i1 %.not1487, label %3511, label %3512

3511:                                             ; preds = %3507, %3501
  br label %3512

3512:                                             ; preds = %3507, %3511
  %.str.6.sink2569 = phi ptr [ @.str.6, %3511 ], [ @.str.3, %3507 ]
  store i32 %3502, ptr %421, 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 %367, align 4, !tbaa !5
  %3516 = call ptr @s2n_strerror(i32 noundef %3515, ptr noundef nonnull @.str.5) #12
  %3517 = load i32, ptr %367, align 4, !tbaa !5
  %3518 = call ptr @s2n_strerror_debug(i32 noundef %3517, ptr noundef nonnull @.str.5) #12
  %3519 = load i32, ptr %421, align 4, !tbaa !5
  %3520 = call ptr @strerror(i32 noundef %3519) #12
  %3521 = load i32, ptr %421, align 4, !tbaa !5
  %3522 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3513, ptr noundef nonnull %.str.6.sink2569, i32 noundef %3514, ptr noundef nonnull @.str.64, ptr noundef nonnull @.str.2, i32 noundef 428, ptr noundef %3516, ptr noundef %3518, ptr noundef %3520, i32 noundef %3521) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3523:                                             ; preds = %3401
  %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 = load i32, ptr %367, align 4, !tbaa !5
  %3527 = icmp eq i32 %3526, 201326592
  br i1 %3527, label %3550, label %3528

3528:                                             ; preds = %3479, %3458, %3437, %3416, %3523
  %3529 = load i32, ptr %421, align 4, !tbaa !5
  %3530 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3531 = call i32 @s2n_print_stacktrace(ptr noundef %3530) #12
  %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) #12
  %3537 = call i32 @isatty(i32 noundef %3536) #12
  %.not1488 = icmp eq i32 %3537, 0
  br i1 %.not1488, label %3538, label %3539

3538:                                             ; preds = %3534, %3528
  br label %3539

3539:                                             ; preds = %3534, %3538
  %.str.6.sink2578 = phi ptr [ @.str.6, %3538 ], [ @.str.3, %3534 ]
  store i32 %3529, ptr %421, 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 %367, align 4, !tbaa !5
  %3543 = call ptr @s2n_strerror(i32 noundef %3542, ptr noundef nonnull @.str.5) #12
  %3544 = load i32, ptr %367, align 4, !tbaa !5
  %3545 = call ptr @s2n_strerror_debug(i32 noundef %3544, ptr noundef nonnull @.str.5) #12
  %3546 = load i32, ptr %421, align 4, !tbaa !5
  %3547 = call ptr @strerror(i32 noundef %3546) #12
  %3548 = load i32, ptr %421, align 4, !tbaa !5
  %3549 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3540, ptr noundef nonnull %.str.6.sink2578, i32 noundef %3541, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.2, i32 noundef 428, ptr noundef %3543, ptr noundef %3545, ptr noundef %3547, i32 noundef %3548) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3550:                                             ; preds = %3523
  %3551 = add nsw i32 %3524, 2
  store i32 %3551, ptr @test_count, align 4, !tbaa !5
  %3552 = call ptr @s2n_strerror_debug(i32 noundef 201326592, ptr noundef nonnull @.str.5) #12
  %3553 = icmp eq ptr %3552, null
  br i1 %3553, label %3554, label %3576

3554:                                             ; preds = %3484, %3463, %3442, %3421, %3550
  %3555 = load i32, ptr %421, align 4, !tbaa !5
  %3556 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3557 = call i32 @s2n_print_stacktrace(ptr noundef %3556) #12
  %3558 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3559 = trunc nuw i8 %3558 to i1
  br i1 %3559, label %3560, label %3564

3560:                                             ; preds = %3554
  %3561 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3562 = call i32 @fileno(ptr noundef %3561) #12
  %3563 = call i32 @isatty(i32 noundef %3562) #12
  %.not1490 = icmp eq i32 %3563, 0
  br i1 %.not1490, label %3564, label %3565

3564:                                             ; preds = %3560, %3554
  br label %3565

3565:                                             ; preds = %3560, %3564
  %.str.6.sink2587 = phi ptr [ @.str.6, %3564 ], [ @.str.3, %3560 ]
  store i32 %3555, ptr %421, align 4, !tbaa !5
  %3566 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3567 = load i32, ptr @test_count, align 4, !tbaa !5
  %3568 = load i32, ptr %367, align 4, !tbaa !5
  %3569 = call ptr @s2n_strerror(i32 noundef %3568, ptr noundef nonnull @.str.5) #12
  %3570 = load i32, ptr %367, align 4, !tbaa !5
  %3571 = call ptr @s2n_strerror_debug(i32 noundef %3570, ptr noundef nonnull @.str.5) #12
  %3572 = load i32, ptr %421, align 4, !tbaa !5
  %3573 = call ptr @strerror(i32 noundef %3572) #12
  %3574 = load i32, ptr %421, align 4, !tbaa !5
  %3575 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3566, ptr noundef nonnull %.str.6.sink2587, i32 noundef %3567, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.2, i32 noundef 428, ptr noundef %3569, ptr noundef %3571, ptr noundef %3573, i32 noundef %3574) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3576:                                             ; preds = %3550
  store i32 0, ptr %367, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %421, align 4, !tbaa !5
  %3577 = load i32, ptr @test_count, align 4, !tbaa !5
  %3578 = add nsw i32 %3577, 1
  store i32 %3578, ptr @test_count, align 4, !tbaa !5
  %3579 = load i32, ptr %67, align 4, !tbaa !5
  %3580 = icmp eq i32 %3579, 1
  br i1 %3580, label %3409, label %3581

3581:                                             ; preds = %3488, %3467, %3446, %3425, %3576
  %3582 = load i32, ptr %421, align 4, !tbaa !5
  %3583 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3584 = call i32 @s2n_print_stacktrace(ptr noundef %3583) #12
  %3585 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3586 = trunc nuw i8 %3585 to i1
  br i1 %3586, label %3587, label %3591

3587:                                             ; preds = %3581
  %3588 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3589 = call i32 @fileno(ptr noundef %3588) #12
  %3590 = call i32 @isatty(i32 noundef %3589) #12
  %.not1489 = icmp eq i32 %3590, 0
  br i1 %.not1489, label %3591, label %3592

3591:                                             ; preds = %3587, %3581
  br label %3592

3592:                                             ; preds = %3587, %3591
  %.str.6.sink2596 = phi ptr [ @.str.6, %3591 ], [ @.str.3, %3587 ]
  store i32 %3582, ptr %421, align 4, !tbaa !5
  %3593 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3594 = load i32, ptr @test_count, align 4, !tbaa !5
  %3595 = load i32, ptr %367, align 4, !tbaa !5
  %3596 = call ptr @s2n_strerror(i32 noundef %3595, ptr noundef nonnull @.str.5) #12
  %3597 = load i32, ptr %367, align 4, !tbaa !5
  %3598 = call ptr @s2n_strerror_debug(i32 noundef %3597, ptr noundef nonnull @.str.5) #12
  %3599 = load i32, ptr %421, align 4, !tbaa !5
  %3600 = call ptr @strerror(i32 noundef %3599) #12
  %3601 = load i32, ptr %421, align 4, !tbaa !5
  %3602 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3593, ptr noundef nonnull %.str.6.sink2596, i32 noundef %3594, ptr noundef nonnull @.str.65, ptr noundef nonnull @.str.2, i32 noundef 429, ptr noundef %3596, ptr noundef %3598, ptr noundef %3600, i32 noundef %3601) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3603:                                             ; preds = %3493
  %3604 = load i32, ptr %421, align 4, !tbaa !5
  %3605 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3606 = call i32 @s2n_print_stacktrace(ptr noundef %3605) #12
  %3607 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3608 = trunc nuw i8 %3607 to i1
  br i1 %3608, label %3609, label %3613

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

3613:                                             ; preds = %3609, %3603
  br label %3614

3614:                                             ; preds = %3609, %3613
  %.str.6.sink2605 = phi ptr [ @.str.6, %3613 ], [ @.str.3, %3609 ]
  store i32 %3604, ptr %421, align 4, !tbaa !5
  %3615 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3616 = load i32, ptr @test_count, align 4, !tbaa !5
  %3617 = load i32, ptr %367, align 4, !tbaa !5
  %3618 = call ptr @s2n_strerror(i32 noundef %3617, ptr noundef nonnull @.str.5) #12
  %3619 = load i32, ptr %367, align 4, !tbaa !5
  %3620 = call ptr @s2n_strerror_debug(i32 noundef %3619, ptr noundef nonnull @.str.5) #12
  %3621 = load i32, ptr %421, align 4, !tbaa !5
  %3622 = call ptr @strerror(i32 noundef %3621) #12
  %3623 = load i32, ptr %421, align 4, !tbaa !5
  %3624 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3615, ptr noundef nonnull %.str.6.sink2605, i32 noundef %3616, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.2, i32 noundef 436, ptr noundef %3618, ptr noundef %3620, ptr noundef %3622, i32 noundef %3623) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3625:                                             ; preds = %3493
  %3626 = load i32, ptr @test_count, align 4, !tbaa !5
  %3627 = add nsw i32 %3626, 1
  store i32 %3627, ptr @test_count, align 4, !tbaa !5
  %3628 = load i64, ptr %71, align 8, !tbaa !20
  %3629 = icmp eq i64 %3628, 10
  br i1 %3629, label %3652, label %3630

3630:                                             ; preds = %3625
  %3631 = load i32, ptr %421, align 4, !tbaa !5
  %3632 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3633 = call i32 @s2n_print_stacktrace(ptr noundef %3632) #12
  %3634 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3635 = trunc nuw i8 %3634 to i1
  br i1 %3635, label %3636, label %3640

3636:                                             ; preds = %3630
  %3637 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3638 = call i32 @fileno(ptr noundef %3637) #12
  %3639 = call i32 @isatty(i32 noundef %3638) #12
  %.not1193 = icmp eq i32 %3639, 0
  br i1 %.not1193, label %3640, label %3641

3640:                                             ; preds = %3636, %3630
  br label %3641

3641:                                             ; preds = %3636, %3640
  %.str.6.sink2614 = phi ptr [ @.str.6, %3640 ], [ @.str.3, %3636 ]
  store i32 %3631, ptr %421, align 4, !tbaa !5
  %3642 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3643 = load i32, ptr @test_count, align 4, !tbaa !5
  %3644 = load i32, ptr %367, align 4, !tbaa !5
  %3645 = call ptr @s2n_strerror(i32 noundef %3644, ptr noundef nonnull @.str.5) #12
  %3646 = load i32, ptr %367, align 4, !tbaa !5
  %3647 = call ptr @s2n_strerror_debug(i32 noundef %3646, ptr noundef nonnull @.str.5) #12
  %3648 = load i32, ptr %421, align 4, !tbaa !5
  %3649 = call ptr @strerror(i32 noundef %3648) #12
  %3650 = load i32, ptr %421, align 4, !tbaa !5
  %3651 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3642, ptr noundef nonnull %.str.6.sink2614, i32 noundef %3643, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.2, i32 noundef 437, ptr noundef %3645, ptr noundef %3647, ptr noundef %3649, i32 noundef %3650) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3652:                                             ; preds = %3625
  %3653 = add nsw i32 %3626, 2
  store i32 %3653, ptr @test_count, align 4, !tbaa !5
  %3654 = load ptr, ptr %64, align 8, !tbaa !9
  %3655 = getelementptr inbounds i8, ptr %3654, i64 72
  %3656 = load ptr, ptr %3655, align 8, !tbaa !54
  %3657 = call i32 @s2n_ktls_recvmsg(ptr noundef %3656, ptr noundef nonnull %68, ptr noundef nonnull %66, i64 noundef 10, ptr noundef nonnull %67, ptr noundef nonnull %69) #12
  %3658 = call zeroext i1 @s2n_result_is_ok(i32 %3657)
  br i1 %3658, label %3681, label %3659

3659:                                             ; preds = %3652
  %3660 = load i32, ptr %421, align 4, !tbaa !5
  %3661 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3662 = call i32 @s2n_print_stacktrace(ptr noundef %3661) #12
  %3663 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3664 = trunc nuw i8 %3663 to i1
  br i1 %3664, label %3665, label %3669

3665:                                             ; preds = %3659
  %3666 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3667 = call i32 @fileno(ptr noundef %3666) #12
  %3668 = call i32 @isatty(i32 noundef %3667) #12
  %.not1194 = icmp eq i32 %3668, 0
  br i1 %.not1194, label %3669, label %3670

3669:                                             ; preds = %3665, %3659
  br label %3670

3670:                                             ; preds = %3665, %3669
  %.str.6.sink2623 = phi ptr [ @.str.6, %3669 ], [ @.str.3, %3665 ]
  store i32 %3660, ptr %421, align 4, !tbaa !5
  %3671 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3672 = load i32, ptr @test_count, align 4, !tbaa !5
  %3673 = load i32, ptr %367, align 4, !tbaa !5
  %3674 = call ptr @s2n_strerror(i32 noundef %3673, ptr noundef nonnull @.str.5) #12
  %3675 = load i32, ptr %367, align 4, !tbaa !5
  %3676 = call ptr @s2n_strerror_debug(i32 noundef %3675, ptr noundef nonnull @.str.5) #12
  %3677 = load i32, ptr %421, align 4, !tbaa !5
  %3678 = call ptr @strerror(i32 noundef %3677) #12
  %3679 = load i32, ptr %421, align 4, !tbaa !5
  %3680 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3671, ptr noundef nonnull %.str.6.sink2623, i32 noundef %3672, ptr noundef nonnull @.str.59, ptr noundef nonnull @.str.2, i32 noundef 440, ptr noundef %3674, ptr noundef %3676, ptr noundef %3678, i32 noundef %3679) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3681:                                             ; preds = %3652
  %3682 = load i64, ptr %69, align 8, !tbaa !20
  %.not1195 = icmp eq i64 %3682, 0
  %.pre1539 = load i32, ptr @test_count, align 4, !tbaa !5
  br i1 %.not1195, label %3708, label %3683

3683:                                             ; preds = %3681
  %3684 = add nsw i32 %.pre1539, 1
  store i32 %3684, ptr @test_count, align 4, !tbaa !5
  %bcmp1196 = call i32 @bcmp(ptr nonnull %3, ptr nonnull %66, i64 %3682)
  %3685 = icmp eq i32 %bcmp1196, 0
  br i1 %3685, label %3708, label %3686

3686:                                             ; preds = %3683
  %3687 = load i32, ptr %421, align 4, !tbaa !5
  %3688 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3689 = call i32 @s2n_print_stacktrace(ptr noundef %3688) #12
  %3690 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3691 = trunc nuw i8 %3690 to i1
  br i1 %3691, label %3692, label %3696

3692:                                             ; preds = %3686
  %3693 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3694 = call i32 @fileno(ptr noundef %3693) #12
  %3695 = call i32 @isatty(i32 noundef %3694) #12
  %.not1197 = icmp eq i32 %3695, 0
  br i1 %.not1197, label %3696, label %3697

3696:                                             ; preds = %3692, %3686
  br label %3697

3697:                                             ; preds = %3692, %3696
  %.str.6.sink2632 = phi ptr [ @.str.6, %3696 ], [ @.str.3, %3692 ]
  store i32 %3687, ptr %421, align 4, !tbaa !5
  %3698 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3699 = load i32, ptr @test_count, align 4, !tbaa !5
  %3700 = load i32, ptr %367, align 4, !tbaa !5
  %3701 = call ptr @s2n_strerror(i32 noundef %3700, ptr noundef nonnull @.str.5) #12
  %3702 = load i32, ptr %367, align 4, !tbaa !5
  %3703 = call ptr @s2n_strerror_debug(i32 noundef %3702, ptr noundef nonnull @.str.5) #12
  %3704 = load i32, ptr %421, align 4, !tbaa !5
  %3705 = call ptr @strerror(i32 noundef %3704) #12
  %3706 = load i32, ptr %421, align 4, !tbaa !5
  %3707 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3698, ptr noundef nonnull %.str.6.sink2632, i32 noundef %3699, ptr noundef nonnull @.str.60, ptr noundef nonnull @.str.2, i32 noundef 441, ptr noundef %3701, ptr noundef %3703, ptr noundef %3705, i32 noundef %3706) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3708:                                             ; preds = %3681, %3683
  %3709 = phi i32 [ %.pre1539, %3681 ], [ %3684, %3683 ]
  %3710 = add nsw i32 %3709, 1
  store i32 %3710, ptr @test_count, align 4, !tbaa !5
  %3711 = load i64, ptr %71, align 8, !tbaa !20
  %3712 = icmp eq i64 %3682, %3711
  br i1 %3712, label %.preheader1521.preheader, label %3719

.preheader1521.preheader:                         ; preds = %3708
  %3713 = add nsw i32 %3709, 2
  store i32 %3713, ptr @test_count, align 4, !tbaa !5
  %3714 = load ptr, ptr %64, align 8, !tbaa !9
  %3715 = getelementptr inbounds i8, ptr %3714, i64 72
  %3716 = load ptr, ptr %3715, align 8, !tbaa !54
  %3717 = call i32 @s2n_ktls_recvmsg(ptr noundef %3716, ptr noundef nonnull %68, ptr noundef nonnull %66, i64 noundef 10, ptr noundef nonnull %67, ptr noundef nonnull %69) #12
  %3718 = call zeroext i1 @s2n_result_is_error(i32 %3717)
  br i1 %3718, label %3848, label %3826

3719:                                             ; preds = %3708
  %3720 = load i32, ptr %421, align 4, !tbaa !5
  %3721 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3722 = call i32 @s2n_print_stacktrace(ptr noundef %3721) #12
  %3723 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3724 = trunc nuw i8 %3723 to i1
  br i1 %3724, label %3725, label %3729

3725:                                             ; preds = %3719
  %3726 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3727 = call i32 @fileno(ptr noundef %3726) #12
  %3728 = call i32 @isatty(i32 noundef %3727) #12
  %.not1198 = icmp eq i32 %3728, 0
  br i1 %.not1198, label %3729, label %3730

3729:                                             ; preds = %3725, %3719
  br label %3730

3730:                                             ; preds = %3725, %3729
  %.str.6.sink2641 = phi ptr [ @.str.6, %3729 ], [ @.str.3, %3725 ]
  store i32 %3720, ptr %421, align 4, !tbaa !5
  %3731 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3732 = load i32, ptr @test_count, align 4, !tbaa !5
  %3733 = load i32, ptr %367, align 4, !tbaa !5
  %3734 = call ptr @s2n_strerror(i32 noundef %3733, ptr noundef nonnull @.str.5) #12
  %3735 = load i32, ptr %367, align 4, !tbaa !5
  %3736 = call ptr @s2n_strerror_debug(i32 noundef %3735, ptr noundef nonnull @.str.5) #12
  %3737 = load i32, ptr %421, align 4, !tbaa !5
  %3738 = call ptr @strerror(i32 noundef %3737) #12
  %3739 = load i32, ptr %421, align 4, !tbaa !5
  %3740 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3731, ptr noundef nonnull %.str.6.sink2641, i32 noundef %3732, ptr noundef nonnull @.str.61, ptr noundef nonnull @.str.2, i32 noundef 442, ptr noundef %3734, ptr noundef %3736, ptr noundef %3738, i32 noundef %3739) #14
  call void @exit(i32 noundef 1) #15
  unreachable

.preheader1521.1:                                 ; preds = %3901
  %3741 = add nsw i32 %3902, 2
  store i32 %3741, ptr @test_count, align 4, !tbaa !5
  %3742 = load ptr, ptr %64, align 8, !tbaa !9
  %3743 = getelementptr inbounds i8, ptr %3742, i64 72
  %3744 = load ptr, ptr %3743, align 8, !tbaa !54
  %3745 = call i32 @s2n_ktls_recvmsg(ptr noundef %3744, ptr noundef nonnull %68, ptr noundef nonnull %66, i64 noundef 10, ptr noundef nonnull %67, ptr noundef nonnull %69) #12
  %3746 = call zeroext i1 @s2n_result_is_error(i32 %3745)
  br i1 %3746, label %3747, label %3826

3747:                                             ; preds = %.preheader1521.1
  %3748 = load i32, ptr @test_count, align 4, !tbaa !5
  %3749 = add nsw i32 %3748, 1
  store i32 %3749, ptr @test_count, align 4, !tbaa !5
  %3750 = load i32, ptr %367, align 4, !tbaa !5
  %3751 = icmp eq i32 %3750, 201326592
  br i1 %3751, label %3752, label %3853

3752:                                             ; preds = %3747
  %3753 = add nsw i32 %3748, 2
  store i32 %3753, ptr @test_count, align 4, !tbaa !5
  %3754 = call ptr @s2n_strerror_debug(i32 noundef 201326592, ptr noundef nonnull @.str.5) #12
  %3755 = icmp eq ptr %3754, null
  br i1 %3755, label %3879, label %3756

3756:                                             ; preds = %3752
  store i32 0, ptr %367, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %421, align 4, !tbaa !5
  %3757 = load i32, ptr @test_count, align 4, !tbaa !5
  %3758 = add nsw i32 %3757, 1
  store i32 %3758, ptr @test_count, align 4, !tbaa !5
  %3759 = load i32, ptr %67, align 4, !tbaa !5
  %3760 = icmp eq i32 %3759, 1
  br i1 %3760, label %.preheader1521.2, label %3906

.preheader1521.2:                                 ; preds = %3756
  %3761 = add nsw i32 %3757, 2
  store i32 %3761, ptr @test_count, align 4, !tbaa !5
  %3762 = load ptr, ptr %64, align 8, !tbaa !9
  %3763 = getelementptr inbounds i8, ptr %3762, i64 72
  %3764 = load ptr, ptr %3763, align 8, !tbaa !54
  %3765 = call i32 @s2n_ktls_recvmsg(ptr noundef %3764, ptr noundef nonnull %68, ptr noundef nonnull %66, i64 noundef 10, ptr noundef nonnull %67, ptr noundef nonnull %69) #12
  %3766 = call zeroext i1 @s2n_result_is_error(i32 %3765)
  br i1 %3766, label %3767, label %3826

3767:                                             ; preds = %.preheader1521.2
  %3768 = load i32, ptr @test_count, align 4, !tbaa !5
  %3769 = add nsw i32 %3768, 1
  store i32 %3769, ptr @test_count, align 4, !tbaa !5
  %3770 = load i32, ptr %367, align 4, !tbaa !5
  %3771 = icmp eq i32 %3770, 201326592
  br i1 %3771, label %3772, label %3853

3772:                                             ; preds = %3767
  %3773 = add nsw i32 %3768, 2
  store i32 %3773, ptr @test_count, align 4, !tbaa !5
  %3774 = call ptr @s2n_strerror_debug(i32 noundef 201326592, ptr noundef nonnull @.str.5) #12
  %3775 = icmp eq ptr %3774, null
  br i1 %3775, label %3879, label %3776

3776:                                             ; preds = %3772
  store i32 0, ptr %367, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %421, align 4, !tbaa !5
  %3777 = load i32, ptr @test_count, align 4, !tbaa !5
  %3778 = add nsw i32 %3777, 1
  store i32 %3778, ptr @test_count, align 4, !tbaa !5
  %3779 = load i32, ptr %67, align 4, !tbaa !5
  %3780 = icmp eq i32 %3779, 1
  br i1 %3780, label %.preheader1521.3, label %3906

.preheader1521.3:                                 ; preds = %3776
  %3781 = add nsw i32 %3777, 2
  store i32 %3781, ptr @test_count, align 4, !tbaa !5
  %3782 = load ptr, ptr %64, align 8, !tbaa !9
  %3783 = getelementptr inbounds i8, ptr %3782, i64 72
  %3784 = load ptr, ptr %3783, align 8, !tbaa !54
  %3785 = call i32 @s2n_ktls_recvmsg(ptr noundef %3784, ptr noundef nonnull %68, ptr noundef nonnull %66, i64 noundef 10, ptr noundef nonnull %67, ptr noundef nonnull %69) #12
  %3786 = call zeroext i1 @s2n_result_is_error(i32 %3785)
  br i1 %3786, label %3787, label %3826

3787:                                             ; preds = %.preheader1521.3
  %3788 = load i32, ptr @test_count, align 4, !tbaa !5
  %3789 = add nsw i32 %3788, 1
  store i32 %3789, ptr @test_count, align 4, !tbaa !5
  %3790 = load i32, ptr %367, align 4, !tbaa !5
  %3791 = icmp eq i32 %3790, 201326592
  br i1 %3791, label %3792, label %3853

3792:                                             ; preds = %3787
  %3793 = add nsw i32 %3788, 2
  store i32 %3793, ptr @test_count, align 4, !tbaa !5
  %3794 = call ptr @s2n_strerror_debug(i32 noundef 201326592, ptr noundef nonnull @.str.5) #12
  %3795 = icmp eq ptr %3794, null
  br i1 %3795, label %3879, label %3796

3796:                                             ; preds = %3792
  store i32 0, ptr %367, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %421, align 4, !tbaa !5
  %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 %67, align 4, !tbaa !5
  %3800 = icmp eq i32 %3799, 1
  br i1 %3800, label %.preheader1521.4, label %3906

.preheader1521.4:                                 ; preds = %3796
  %3801 = add nsw i32 %3797, 2
  store i32 %3801, ptr @test_count, align 4, !tbaa !5
  %3802 = load ptr, ptr %64, align 8, !tbaa !9
  %3803 = getelementptr inbounds i8, ptr %3802, i64 72
  %3804 = load ptr, ptr %3803, align 8, !tbaa !54
  %3805 = call i32 @s2n_ktls_recvmsg(ptr noundef %3804, ptr noundef nonnull %68, ptr noundef nonnull %66, i64 noundef 10, ptr noundef nonnull %67, ptr noundef nonnull %69) #12
  %3806 = call zeroext i1 @s2n_result_is_error(i32 %3805)
  br i1 %3806, label %3807, label %3826

3807:                                             ; preds = %.preheader1521.4
  %3808 = load i32, ptr @test_count, align 4, !tbaa !5
  %3809 = add nsw i32 %3808, 1
  store i32 %3809, ptr @test_count, align 4, !tbaa !5
  %3810 = load i32, ptr %367, align 4, !tbaa !5
  %3811 = icmp eq i32 %3810, 201326592
  br i1 %3811, label %3812, label %3853

3812:                                             ; preds = %3807
  %3813 = add nsw i32 %3808, 2
  store i32 %3813, ptr @test_count, align 4, !tbaa !5
  %3814 = call ptr @s2n_strerror_debug(i32 noundef 201326592, ptr noundef nonnull @.str.5) #12
  %3815 = icmp eq ptr %3814, null
  br i1 %3815, label %3879, label %3816

3816:                                             ; preds = %3812
  store i32 0, ptr %367, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %421, align 4, !tbaa !5
  %3817 = load i32, ptr @test_count, align 4, !tbaa !5
  %3818 = add nsw i32 %3817, 1
  store i32 %3818, ptr @test_count, align 4, !tbaa !5
  %3819 = load i32, ptr %67, align 4, !tbaa !5
  %3820 = icmp eq i32 %3819, 1
  br i1 %3820, label %3821, label %3906

3821:                                             ; preds = %3816
  %3822 = add nsw i32 %3817, 2
  store i32 %3822, ptr @test_count, align 4, !tbaa !5
  %3823 = getelementptr inbounds i8, ptr %65, i64 88
  %3824 = load i64, ptr %3823, align 8, !tbaa !57
  %3825 = icmp eq i64 %3824, 11
  br i1 %3825, label %3950, label %3928

3826:                                             ; preds = %.preheader1521.4, %.preheader1521.3, %.preheader1521.2, %.preheader1521.1, %.preheader1521.preheader
  %3827 = load i32, ptr %421, align 4, !tbaa !5
  %3828 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3829 = call i32 @s2n_print_stacktrace(ptr noundef %3828) #12
  %3830 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3831 = trunc nuw i8 %3830 to i1
  br i1 %3831, label %3832, label %3836

3832:                                             ; preds = %3826
  %3833 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3834 = call i32 @fileno(ptr noundef %3833) #12
  %3835 = call i32 @isatty(i32 noundef %3834) #12
  %.not1483 = icmp eq i32 %3835, 0
  br i1 %.not1483, label %3836, label %3837

3836:                                             ; preds = %3832, %3826
  br label %3837

3837:                                             ; preds = %3832, %3836
  %.str.6.sink2650 = phi ptr [ @.str.6, %3836 ], [ @.str.3, %3832 ]
  store i32 %3827, ptr %421, align 4, !tbaa !5
  %3838 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3839 = load i32, ptr @test_count, align 4, !tbaa !5
  %3840 = load i32, ptr %367, align 4, !tbaa !5
  %3841 = call ptr @s2n_strerror(i32 noundef %3840, ptr noundef nonnull @.str.5) #12
  %3842 = load i32, ptr %367, align 4, !tbaa !5
  %3843 = call ptr @s2n_strerror_debug(i32 noundef %3842, ptr noundef nonnull @.str.5) #12
  %3844 = load i32, ptr %421, align 4, !tbaa !5
  %3845 = call ptr @strerror(i32 noundef %3844) #12
  %3846 = load i32, ptr %421, align 4, !tbaa !5
  %3847 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3838, ptr noundef nonnull %.str.6.sink2650, i32 noundef %3839, ptr noundef nonnull @.str.64, ptr noundef nonnull @.str.2, i32 noundef 449, ptr noundef %3841, ptr noundef %3843, ptr noundef %3845, i32 noundef %3846) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3848:                                             ; preds = %.preheader1521.preheader
  %3849 = load i32, ptr @test_count, align 4, !tbaa !5
  %3850 = add nsw i32 %3849, 1
  store i32 %3850, ptr @test_count, align 4, !tbaa !5
  %3851 = load i32, ptr %367, align 4, !tbaa !5
  %3852 = icmp eq i32 %3851, 201326592
  br i1 %3852, label %3875, label %3853

3853:                                             ; preds = %3807, %3787, %3767, %3747, %3848
  %3854 = load i32, ptr %421, align 4, !tbaa !5
  %3855 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3856 = call i32 @s2n_print_stacktrace(ptr noundef %3855) #12
  %3857 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3858 = trunc nuw i8 %3857 to i1
  br i1 %3858, label %3859, label %3863

3859:                                             ; preds = %3853
  %3860 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3861 = call i32 @fileno(ptr noundef %3860) #12
  %3862 = call i32 @isatty(i32 noundef %3861) #12
  %.not1484 = icmp eq i32 %3862, 0
  br i1 %.not1484, label %3863, label %3864

3863:                                             ; preds = %3859, %3853
  br label %3864

3864:                                             ; preds = %3859, %3863
  %.str.6.sink2659 = phi ptr [ @.str.6, %3863 ], [ @.str.3, %3859 ]
  store i32 %3854, ptr %421, align 4, !tbaa !5
  %3865 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3866 = load i32, ptr @test_count, align 4, !tbaa !5
  %3867 = load i32, ptr %367, align 4, !tbaa !5
  %3868 = call ptr @s2n_strerror(i32 noundef %3867, ptr noundef nonnull @.str.5) #12
  %3869 = load i32, ptr %367, align 4, !tbaa !5
  %3870 = call ptr @s2n_strerror_debug(i32 noundef %3869, ptr noundef nonnull @.str.5) #12
  %3871 = load i32, ptr %421, align 4, !tbaa !5
  %3872 = call ptr @strerror(i32 noundef %3871) #12
  %3873 = load i32, ptr %421, align 4, !tbaa !5
  %3874 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3865, ptr noundef nonnull %.str.6.sink2659, i32 noundef %3866, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.2, i32 noundef 449, ptr noundef %3868, ptr noundef %3870, ptr noundef %3872, i32 noundef %3873) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3875:                                             ; preds = %3848
  %3876 = add nsw i32 %3849, 2
  store i32 %3876, ptr @test_count, align 4, !tbaa !5
  %3877 = call ptr @s2n_strerror_debug(i32 noundef 201326592, ptr noundef nonnull @.str.5) #12
  %3878 = icmp eq ptr %3877, null
  br i1 %3878, label %3879, label %3901

3879:                                             ; preds = %3812, %3792, %3772, %3752, %3875
  %3880 = load i32, ptr %421, align 4, !tbaa !5
  %3881 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3882 = call i32 @s2n_print_stacktrace(ptr noundef %3881) #12
  %3883 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3884 = trunc nuw i8 %3883 to i1
  br i1 %3884, label %3885, label %3889

3885:                                             ; preds = %3879
  %3886 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3887 = call i32 @fileno(ptr noundef %3886) #12
  %3888 = call i32 @isatty(i32 noundef %3887) #12
  %.not1486 = icmp eq i32 %3888, 0
  br i1 %.not1486, label %3889, label %3890

3889:                                             ; preds = %3885, %3879
  br label %3890

3890:                                             ; preds = %3885, %3889
  %.str.6.sink2668 = phi ptr [ @.str.6, %3889 ], [ @.str.3, %3885 ]
  store i32 %3880, ptr %421, align 4, !tbaa !5
  %3891 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3892 = load i32, ptr @test_count, align 4, !tbaa !5
  %3893 = load i32, ptr %367, align 4, !tbaa !5
  %3894 = call ptr @s2n_strerror(i32 noundef %3893, ptr noundef nonnull @.str.5) #12
  %3895 = load i32, ptr %367, align 4, !tbaa !5
  %3896 = call ptr @s2n_strerror_debug(i32 noundef %3895, ptr noundef nonnull @.str.5) #12
  %3897 = load i32, ptr %421, align 4, !tbaa !5
  %3898 = call ptr @strerror(i32 noundef %3897) #12
  %3899 = load i32, ptr %421, align 4, !tbaa !5
  %3900 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3891, ptr noundef nonnull %.str.6.sink2668, i32 noundef %3892, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.2, i32 noundef 449, ptr noundef %3894, ptr noundef %3896, ptr noundef %3898, i32 noundef %3899) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3901:                                             ; preds = %3875
  store i32 0, ptr %367, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %421, align 4, !tbaa !5
  %3902 = load i32, ptr @test_count, align 4, !tbaa !5
  %3903 = add nsw i32 %3902, 1
  store i32 %3903, ptr @test_count, align 4, !tbaa !5
  %3904 = load i32, ptr %67, align 4, !tbaa !5
  %3905 = icmp eq i32 %3904, 1
  br i1 %3905, label %.preheader1521.1, label %3906

3906:                                             ; preds = %3816, %3796, %3776, %3756, %3901
  %3907 = load i32, ptr %421, align 4, !tbaa !5
  %3908 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3909 = call i32 @s2n_print_stacktrace(ptr noundef %3908) #12
  %3910 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3911 = trunc nuw i8 %3910 to i1
  br i1 %3911, label %3912, label %3916

3912:                                             ; preds = %3906
  %3913 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3914 = call i32 @fileno(ptr noundef %3913) #12
  %3915 = call i32 @isatty(i32 noundef %3914) #12
  %.not1485 = icmp eq i32 %3915, 0
  br i1 %.not1485, label %3916, label %3917

3916:                                             ; preds = %3912, %3906
  br label %3917

3917:                                             ; preds = %3912, %3916
  %.str.6.sink2677 = phi ptr [ @.str.6, %3916 ], [ @.str.3, %3912 ]
  store i32 %3907, ptr %421, align 4, !tbaa !5
  %3918 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3919 = load i32, ptr @test_count, align 4, !tbaa !5
  %3920 = load i32, ptr %367, align 4, !tbaa !5
  %3921 = call ptr @s2n_strerror(i32 noundef %3920, ptr noundef nonnull @.str.5) #12
  %3922 = load i32, ptr %367, align 4, !tbaa !5
  %3923 = call ptr @s2n_strerror_debug(i32 noundef %3922, ptr noundef nonnull @.str.5) #12
  %3924 = load i32, ptr %421, align 4, !tbaa !5
  %3925 = call ptr @strerror(i32 noundef %3924) #12
  %3926 = load i32, ptr %421, align 4, !tbaa !5
  %3927 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3918, ptr noundef nonnull %.str.6.sink2677, i32 noundef %3919, ptr noundef nonnull @.str.65, ptr noundef nonnull @.str.2, i32 noundef 450, ptr noundef %3921, ptr noundef %3923, ptr noundef %3925, i32 noundef %3926) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3928:                                             ; preds = %3821
  %3929 = load i32, ptr %421, align 4, !tbaa !5
  %3930 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3931 = call i32 @s2n_print_stacktrace(ptr noundef %3930) #12
  %3932 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3933 = trunc nuw i8 %3932 to i1
  br i1 %3933, label %3934, label %3938

3934:                                             ; preds = %3928
  %3935 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3936 = call i32 @fileno(ptr noundef %3935) #12
  %3937 = call i32 @isatty(i32 noundef %3936) #12
  %.not1199 = icmp eq i32 %3937, 0
  br i1 %.not1199, label %3938, label %3939

3938:                                             ; preds = %3934, %3928
  br label %3939

3939:                                             ; preds = %3934, %3938
  %.str.6.sink2686 = phi ptr [ @.str.6, %3938 ], [ @.str.3, %3934 ]
  store i32 %3929, ptr %421, align 4, !tbaa !5
  %3940 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3941 = load i32, ptr @test_count, align 4, !tbaa !5
  %3942 = load i32, ptr %367, align 4, !tbaa !5
  %3943 = call ptr @s2n_strerror(i32 noundef %3942, ptr noundef nonnull @.str.5) #12
  %3944 = load i32, ptr %367, align 4, !tbaa !5
  %3945 = call ptr @s2n_strerror_debug(i32 noundef %3944, ptr noundef nonnull @.str.5) #12
  %3946 = load i32, ptr %421, align 4, !tbaa !5
  %3947 = call ptr @strerror(i32 noundef %3946) #12
  %3948 = load i32, ptr %421, align 4, !tbaa !5
  %3949 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3940, ptr noundef nonnull %.str.6.sink2686, i32 noundef %3941, ptr noundef nonnull @.str.66, ptr noundef nonnull @.str.2, i32 noundef 453, ptr noundef %3943, ptr noundef %3945, ptr noundef %3947, i32 noundef %3948) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3950:                                             ; preds = %3821
  %3951 = add nsw i32 %3817, 3
  store i32 %3951, ptr @test_count, align 4, !tbaa !5
  %3952 = getelementptr inbounds i8, ptr %65, i64 80
  %3953 = load i64, ptr %3952, align 8, !tbaa !55
  %3954 = icmp eq i64 %3953, 1
  br i1 %3954, label %3977, label %3955

3955:                                             ; preds = %3950
  %3956 = load i32, ptr %421, align 4, !tbaa !5
  %3957 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3958 = call i32 @s2n_print_stacktrace(ptr noundef %3957) #12
  %3959 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3960 = trunc nuw i8 %3959 to i1
  br i1 %3960, label %3961, label %3965

3961:                                             ; preds = %3955
  %3962 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3963 = call i32 @fileno(ptr noundef %3962) #12
  %3964 = call i32 @isatty(i32 noundef %3963) #12
  %.not1200 = icmp eq i32 %3964, 0
  br i1 %.not1200, label %3965, label %3966

3965:                                             ; preds = %3961, %3955
  br label %3966

3966:                                             ; preds = %3961, %3965
  %.str.6.sink2695 = phi ptr [ @.str.6, %3965 ], [ @.str.3, %3961 ]
  store i32 %3956, ptr %421, align 4, !tbaa !5
  %3967 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3968 = load i32, ptr @test_count, align 4, !tbaa !5
  %3969 = load i32, ptr %367, align 4, !tbaa !5
  %3970 = call ptr @s2n_strerror(i32 noundef %3969, ptr noundef nonnull @.str.5) #12
  %3971 = load i32, ptr %367, align 4, !tbaa !5
  %3972 = call ptr @s2n_strerror_debug(i32 noundef %3971, ptr noundef nonnull @.str.5) #12
  %3973 = load i32, ptr %421, align 4, !tbaa !5
  %3974 = call ptr @strerror(i32 noundef %3973) #12
  %3975 = load i32, ptr %421, align 4, !tbaa !5
  %3976 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3967, ptr noundef nonnull %.str.6.sink2695, i32 noundef %3968, ptr noundef nonnull @.str.62, ptr noundef nonnull @.str.2, i32 noundef 454, ptr noundef %3970, ptr noundef %3972, ptr noundef %3974, i32 noundef %3975) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3977:                                             ; preds = %3950
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %71) #12
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %70) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %69) #12
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %68) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %67) #12
  call void @llvm.lifetime.end.p0(i64 16384, ptr nonnull %66) #12
  %3978 = call i32 @s2n_ktls_io_stuffer_pair_free(ptr noundef nonnull %65) #12
  call void @llvm.lifetime.end.p0(i64 192, ptr nonnull %65) #12
  %3979 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %64) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %64) #12
  %3980 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %63) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %63) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %72) #12
  %3981 = call ptr @s2n_connection_new(i32 noundef 1) #12
  store ptr %3981, ptr %72, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %73) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %73, i8 0, i64 16, i1 false)
  %3982 = load i32, ptr @test_count, align 4, !tbaa !5
  %3983 = add nsw i32 %3982, 1
  store i32 %3983, ptr @test_count, align 4, !tbaa !5
  %3984 = call i32 @s2n_ktls_set_recvmsg_cb(ptr noundef %3981, ptr noundef nonnull @s2n_test_ktls_recvmsg_fail, ptr noundef nonnull %73) #12
  %3985 = call zeroext i1 @s2n_result_is_ok(i32 %3984)
  br i1 %3985, label %4008, label %3986

3986:                                             ; preds = %3977
  %3987 = load i32, ptr %421, align 4, !tbaa !5
  %3988 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3989 = call i32 @s2n_print_stacktrace(ptr noundef %3988) #12
  %3990 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3991 = trunc nuw i8 %3990 to i1
  br i1 %3991, label %3992, label %3996

3992:                                             ; preds = %3986
  %3993 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3994 = call i32 @fileno(ptr noundef %3993) #12
  %3995 = call i32 @isatty(i32 noundef %3994) #12
  %.not1201 = icmp eq i32 %3995, 0
  br i1 %.not1201, label %3996, label %3997

3996:                                             ; preds = %3992, %3986
  br label %3997

3997:                                             ; preds = %3992, %3996
  %.str.6.sink2704 = phi ptr [ @.str.6, %3996 ], [ @.str.3, %3992 ]
  store i32 %3987, ptr %421, align 4, !tbaa !5
  %3998 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3999 = load i32, ptr @test_count, align 4, !tbaa !5
  %4000 = load i32, ptr %367, align 4, !tbaa !5
  %4001 = call ptr @s2n_strerror(i32 noundef %4000, ptr noundef nonnull @.str.5) #12
  %4002 = load i32, ptr %367, align 4, !tbaa !5
  %4003 = call ptr @s2n_strerror_debug(i32 noundef %4002, ptr noundef nonnull @.str.5) #12
  %4004 = load i32, ptr %421, align 4, !tbaa !5
  %4005 = call ptr @strerror(i32 noundef %4004) #12
  %4006 = load i32, ptr %421, align 4, !tbaa !5
  %4007 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3998, ptr noundef nonnull %.str.6.sink2704, i32 noundef %3999, ptr noundef nonnull @.str.67, ptr noundef nonnull @.str.2, i32 noundef 462, ptr noundef %4001, ptr noundef %4003, ptr noundef %4005, i32 noundef %4006) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4008:                                             ; preds = %3977
  call void @llvm.lifetime.start.p0(i64 16384, ptr nonnull %74) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(16384) %74, i8 0, i64 16384, i1 false)
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %75) #12
  store i32 0, ptr %75, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %76) #12
  store i8 0, ptr %76, align 1, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %77) #12
  store i64 0, ptr %77, align 8, !tbaa !20
  store i64 11, ptr %73, align 8, !tbaa !51
  %4009 = load i32, ptr @test_count, align 4, !tbaa !5
  %4010 = add nsw i32 %4009, 1
  store i32 %4010, ptr @test_count, align 4, !tbaa !5
  %4011 = load ptr, ptr %72, align 8, !tbaa !9
  %4012 = getelementptr inbounds i8, ptr %4011, i64 72
  %4013 = load ptr, ptr %4012, align 8, !tbaa !54
  %4014 = call i32 @s2n_ktls_recvmsg(ptr noundef %4013, ptr noundef nonnull %76, ptr noundef nonnull %74, i64 noundef 10, ptr noundef nonnull %75, ptr noundef nonnull %77) #12
  %4015 = call zeroext i1 @s2n_result_is_error(i32 %4014)
  br i1 %4015, label %4038, label %4016

4016:                                             ; preds = %4008
  %4017 = load i32, ptr %421, align 4, !tbaa !5
  %4018 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4019 = call i32 @s2n_print_stacktrace(ptr noundef %4018) #12
  %4020 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4021 = trunc nuw i8 %4020 to i1
  br i1 %4021, label %4022, label %4026

4022:                                             ; preds = %4016
  %4023 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4024 = call i32 @fileno(ptr noundef %4023) #12
  %4025 = call i32 @isatty(i32 noundef %4024) #12
  %.not1202 = icmp eq i32 %4025, 0
  br i1 %.not1202, label %4026, label %4027

4026:                                             ; preds = %4022, %4016
  br label %4027

4027:                                             ; preds = %4022, %4026
  %.str.6.sink2713 = phi ptr [ @.str.6, %4026 ], [ @.str.3, %4022 ]
  store i32 %4017, ptr %421, align 4, !tbaa !5
  %4028 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4029 = load i32, ptr @test_count, align 4, !tbaa !5
  %4030 = load i32, ptr %367, align 4, !tbaa !5
  %4031 = call ptr @s2n_strerror(i32 noundef %4030, ptr noundef nonnull @.str.5) #12
  %4032 = load i32, ptr %367, align 4, !tbaa !5
  %4033 = call ptr @s2n_strerror_debug(i32 noundef %4032, ptr noundef nonnull @.str.5) #12
  %4034 = load i32, ptr %421, align 4, !tbaa !5
  %4035 = call ptr @strerror(i32 noundef %4034) #12
  %4036 = load i32, ptr %421, align 4, !tbaa !5
  %4037 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4028, ptr noundef nonnull %.str.6.sink2713, i32 noundef %4029, ptr noundef nonnull @.str.64, ptr noundef nonnull @.str.2, i32 noundef 473, ptr noundef %4031, ptr noundef %4033, ptr noundef %4035, i32 noundef %4036) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4038:                                             ; preds = %4008
  %4039 = load i32, ptr @test_count, align 4, !tbaa !5
  %4040 = add nsw i32 %4039, 1
  store i32 %4040, ptr @test_count, align 4, !tbaa !5
  %4041 = load i32, ptr %367, align 4, !tbaa !5
  %4042 = icmp eq i32 %4041, 201326592
  br i1 %4042, label %4065, label %4043

4043:                                             ; preds = %4038
  %4044 = load i32, ptr %421, align 4, !tbaa !5
  %4045 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4046 = call i32 @s2n_print_stacktrace(ptr noundef %4045) #12
  %4047 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4048 = trunc nuw i8 %4047 to i1
  br i1 %4048, label %4049, label %4053

4049:                                             ; preds = %4043
  %4050 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4051 = call i32 @fileno(ptr noundef %4050) #12
  %4052 = call i32 @isatty(i32 noundef %4051) #12
  %.not1203 = icmp eq i32 %4052, 0
  br i1 %.not1203, label %4053, label %4054

4053:                                             ; preds = %4049, %4043
  br label %4054

4054:                                             ; preds = %4049, %4053
  %.str.6.sink2722 = phi ptr [ @.str.6, %4053 ], [ @.str.3, %4049 ]
  store i32 %4044, ptr %421, align 4, !tbaa !5
  %4055 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4056 = load i32, ptr @test_count, align 4, !tbaa !5
  %4057 = load i32, ptr %367, align 4, !tbaa !5
  %4058 = call ptr @s2n_strerror(i32 noundef %4057, ptr noundef nonnull @.str.5) #12
  %4059 = load i32, ptr %367, align 4, !tbaa !5
  %4060 = call ptr @s2n_strerror_debug(i32 noundef %4059, ptr noundef nonnull @.str.5) #12
  %4061 = load i32, ptr %421, align 4, !tbaa !5
  %4062 = call ptr @strerror(i32 noundef %4061) #12
  %4063 = load i32, ptr %421, align 4, !tbaa !5
  %4064 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4055, ptr noundef nonnull %.str.6.sink2722, i32 noundef %4056, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.2, i32 noundef 473, ptr noundef %4058, ptr noundef %4060, ptr noundef %4062, i32 noundef %4063) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4065:                                             ; preds = %4038
  %4066 = add nsw i32 %4039, 2
  store i32 %4066, ptr @test_count, align 4, !tbaa !5
  %4067 = call ptr @s2n_strerror_debug(i32 noundef 201326592, ptr noundef nonnull @.str.5) #12
  %4068 = icmp eq ptr %4067, null
  br i1 %4068, label %4069, label %4091

4069:                                             ; preds = %4065
  %4070 = load i32, ptr %421, align 4, !tbaa !5
  %4071 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4072 = call i32 @s2n_print_stacktrace(ptr noundef %4071) #12
  %4073 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4074 = trunc nuw i8 %4073 to i1
  br i1 %4074, label %4075, label %4079

4075:                                             ; preds = %4069
  %4076 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4077 = call i32 @fileno(ptr noundef %4076) #12
  %4078 = call i32 @isatty(i32 noundef %4077) #12
  %.not1482 = icmp eq i32 %4078, 0
  br i1 %.not1482, label %4079, label %4080

4079:                                             ; preds = %4075, %4069
  br label %4080

4080:                                             ; preds = %4075, %4079
  %.str.6.sink2731 = phi ptr [ @.str.6, %4079 ], [ @.str.3, %4075 ]
  store i32 %4070, ptr %421, align 4, !tbaa !5
  %4081 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4082 = load i32, ptr @test_count, align 4, !tbaa !5
  %4083 = load i32, ptr %367, align 4, !tbaa !5
  %4084 = call ptr @s2n_strerror(i32 noundef %4083, ptr noundef nonnull @.str.5) #12
  %4085 = load i32, ptr %367, align 4, !tbaa !5
  %4086 = call ptr @s2n_strerror_debug(i32 noundef %4085, ptr noundef nonnull @.str.5) #12
  %4087 = load i32, ptr %421, align 4, !tbaa !5
  %4088 = call ptr @strerror(i32 noundef %4087) #12
  %4089 = load i32, ptr %421, align 4, !tbaa !5
  %4090 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4081, ptr noundef nonnull %.str.6.sink2731, i32 noundef %4082, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.2, i32 noundef 473, ptr noundef %4084, ptr noundef %4086, ptr noundef %4088, i32 noundef %4089) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4091:                                             ; preds = %4065
  store i32 0, ptr %367, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %421, align 4, !tbaa !5
  %4092 = load i32, ptr @test_count, align 4, !tbaa !5
  %4093 = add nsw i32 %4092, 1
  store i32 %4093, ptr @test_count, align 4, !tbaa !5
  %4094 = load i32, ptr %75, align 4, !tbaa !5
  %4095 = icmp eq i32 %4094, 1
  br i1 %4095, label %4118, label %4096

4096:                                             ; preds = %4091
  %4097 = load i32, ptr %421, align 4, !tbaa !5
  %4098 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4099 = call i32 @s2n_print_stacktrace(ptr noundef %4098) #12
  %4100 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4101 = trunc nuw i8 %4100 to i1
  br i1 %4101, label %4102, label %4106

4102:                                             ; preds = %4096
  %4103 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4104 = call i32 @fileno(ptr noundef %4103) #12
  %4105 = call i32 @isatty(i32 noundef %4104) #12
  %.not1204 = icmp eq i32 %4105, 0
  br i1 %.not1204, label %4106, label %4107

4106:                                             ; preds = %4102, %4096
  br label %4107

4107:                                             ; preds = %4102, %4106
  %.str.6.sink2740 = phi ptr [ @.str.6, %4106 ], [ @.str.3, %4102 ]
  store i32 %4097, ptr %421, align 4, !tbaa !5
  %4108 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4109 = load i32, ptr @test_count, align 4, !tbaa !5
  %4110 = load i32, ptr %367, align 4, !tbaa !5
  %4111 = call ptr @s2n_strerror(i32 noundef %4110, ptr noundef nonnull @.str.5) #12
  %4112 = load i32, ptr %367, align 4, !tbaa !5
  %4113 = call ptr @s2n_strerror_debug(i32 noundef %4112, ptr noundef nonnull @.str.5) #12
  %4114 = load i32, ptr %421, align 4, !tbaa !5
  %4115 = call ptr @strerror(i32 noundef %4114) #12
  %4116 = load i32, ptr %421, align 4, !tbaa !5
  %4117 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4108, ptr noundef nonnull %.str.6.sink2740, i32 noundef %4109, ptr noundef nonnull @.str.65, ptr noundef nonnull @.str.2, i32 noundef 474, ptr noundef %4111, ptr noundef %4113, ptr noundef %4115, i32 noundef %4116) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4118:                                             ; preds = %4091
  store i64 11, ptr %73, align 8, !tbaa !51
  %4119 = add nsw i32 %4092, 2
  store i32 %4119, ptr @test_count, align 4, !tbaa !5
  %4120 = load ptr, ptr %72, align 8, !tbaa !9
  %4121 = getelementptr inbounds i8, ptr %4120, i64 72
  %4122 = load ptr, ptr %4121, align 8, !tbaa !54
  %4123 = call i32 @s2n_ktls_recvmsg(ptr noundef %4122, ptr noundef nonnull %76, ptr noundef nonnull %74, i64 noundef 10, ptr noundef nonnull %75, ptr noundef nonnull %77) #12
  %4124 = call zeroext i1 @s2n_result_is_error(i32 %4123)
  br i1 %4124, label %4147, label %4125

4125:                                             ; preds = %4118
  %4126 = load i32, ptr %421, align 4, !tbaa !5
  %4127 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4128 = call i32 @s2n_print_stacktrace(ptr noundef %4127) #12
  %4129 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4130 = trunc nuw i8 %4129 to i1
  br i1 %4130, label %4131, label %4135

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

4135:                                             ; preds = %4131, %4125
  br label %4136

4136:                                             ; preds = %4131, %4135
  %.str.6.sink2749 = phi ptr [ @.str.6, %4135 ], [ @.str.3, %4131 ]
  store i32 %4126, ptr %421, align 4, !tbaa !5
  %4137 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4138 = load i32, ptr @test_count, align 4, !tbaa !5
  %4139 = load i32, ptr %367, align 4, !tbaa !5
  %4140 = call ptr @s2n_strerror(i32 noundef %4139, ptr noundef nonnull @.str.5) #12
  %4141 = load i32, ptr %367, align 4, !tbaa !5
  %4142 = call ptr @s2n_strerror_debug(i32 noundef %4141, ptr noundef nonnull @.str.5) #12
  %4143 = load i32, ptr %421, align 4, !tbaa !5
  %4144 = call ptr @strerror(i32 noundef %4143) #12
  %4145 = load i32, ptr %421, align 4, !tbaa !5
  %4146 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4137, ptr noundef nonnull %.str.6.sink2749, i32 noundef %4138, ptr noundef nonnull @.str.64, ptr noundef nonnull @.str.2, i32 noundef 481, ptr noundef %4140, ptr noundef %4142, ptr noundef %4144, i32 noundef %4145) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4147:                                             ; preds = %4118
  %4148 = load i32, ptr @test_count, align 4, !tbaa !5
  %4149 = add nsw i32 %4148, 1
  store i32 %4149, ptr @test_count, align 4, !tbaa !5
  %4150 = load i32, ptr %367, align 4, !tbaa !5
  %4151 = icmp eq i32 %4150, 201326592
  br i1 %4151, label %4174, label %4152

4152:                                             ; preds = %4147
  %4153 = load i32, ptr %421, align 4, !tbaa !5
  %4154 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4155 = call i32 @s2n_print_stacktrace(ptr noundef %4154) #12
  %4156 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4157 = trunc nuw i8 %4156 to i1
  br i1 %4157, label %4158, label %4162

4158:                                             ; preds = %4152
  %4159 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4160 = call i32 @fileno(ptr noundef %4159) #12
  %4161 = call i32 @isatty(i32 noundef %4160) #12
  %.not1206 = icmp eq i32 %4161, 0
  br i1 %.not1206, label %4162, label %4163

4162:                                             ; preds = %4158, %4152
  br label %4163

4163:                                             ; preds = %4158, %4162
  %.str.6.sink2758 = phi ptr [ @.str.6, %4162 ], [ @.str.3, %4158 ]
  store i32 %4153, ptr %421, align 4, !tbaa !5
  %4164 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4165 = load i32, ptr @test_count, align 4, !tbaa !5
  %4166 = load i32, ptr %367, align 4, !tbaa !5
  %4167 = call ptr @s2n_strerror(i32 noundef %4166, ptr noundef nonnull @.str.5) #12
  %4168 = load i32, ptr %367, align 4, !tbaa !5
  %4169 = call ptr @s2n_strerror_debug(i32 noundef %4168, ptr noundef nonnull @.str.5) #12
  %4170 = load i32, ptr %421, align 4, !tbaa !5
  %4171 = call ptr @strerror(i32 noundef %4170) #12
  %4172 = load i32, ptr %421, align 4, !tbaa !5
  %4173 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4164, ptr noundef nonnull %.str.6.sink2758, i32 noundef %4165, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.2, i32 noundef 481, ptr noundef %4167, ptr noundef %4169, ptr noundef %4171, i32 noundef %4172) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4174:                                             ; preds = %4147
  %4175 = add nsw i32 %4148, 2
  store i32 %4175, ptr @test_count, align 4, !tbaa !5
  %4176 = call ptr @s2n_strerror_debug(i32 noundef 201326592, ptr noundef nonnull @.str.5) #12
  %4177 = icmp eq ptr %4176, null
  br i1 %4177, label %4178, label %4200

4178:                                             ; preds = %4174
  %4179 = load i32, ptr %421, align 4, !tbaa !5
  %4180 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4181 = call i32 @s2n_print_stacktrace(ptr noundef %4180) #12
  %4182 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4183 = trunc nuw i8 %4182 to i1
  br i1 %4183, label %4184, label %4188

4184:                                             ; preds = %4178
  %4185 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4186 = call i32 @fileno(ptr noundef %4185) #12
  %4187 = call i32 @isatty(i32 noundef %4186) #12
  %.not1481 = icmp eq i32 %4187, 0
  br i1 %.not1481, label %4188, label %4189

4188:                                             ; preds = %4184, %4178
  br label %4189

4189:                                             ; preds = %4184, %4188
  %.str.6.sink2767 = phi ptr [ @.str.6, %4188 ], [ @.str.3, %4184 ]
  store i32 %4179, ptr %421, align 4, !tbaa !5
  %4190 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4191 = load i32, ptr @test_count, align 4, !tbaa !5
  %4192 = load i32, ptr %367, align 4, !tbaa !5
  %4193 = call ptr @s2n_strerror(i32 noundef %4192, ptr noundef nonnull @.str.5) #12
  %4194 = load i32, ptr %367, align 4, !tbaa !5
  %4195 = call ptr @s2n_strerror_debug(i32 noundef %4194, ptr noundef nonnull @.str.5) #12
  %4196 = load i32, ptr %421, align 4, !tbaa !5
  %4197 = call ptr @strerror(i32 noundef %4196) #12
  %4198 = load i32, ptr %421, align 4, !tbaa !5
  %4199 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4190, ptr noundef nonnull %.str.6.sink2767, i32 noundef %4191, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.2, i32 noundef 481, ptr noundef %4193, ptr noundef %4195, ptr noundef %4197, i32 noundef %4198) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4200:                                             ; preds = %4174
  store i32 0, ptr %367, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %421, align 4, !tbaa !5
  %4201 = load i32, ptr @test_count, align 4, !tbaa !5
  %4202 = add nsw i32 %4201, 1
  store i32 %4202, ptr @test_count, align 4, !tbaa !5
  %4203 = load i32, ptr %75, align 4, !tbaa !5
  %4204 = icmp eq i32 %4203, 1
  br i1 %4204, label %4227, label %4205

4205:                                             ; preds = %4200
  %4206 = load i32, ptr %421, align 4, !tbaa !5
  %4207 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4208 = call i32 @s2n_print_stacktrace(ptr noundef %4207) #12
  %4209 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4210 = trunc nuw i8 %4209 to i1
  br i1 %4210, label %4211, label %4215

4211:                                             ; preds = %4205
  %4212 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4213 = call i32 @fileno(ptr noundef %4212) #12
  %4214 = call i32 @isatty(i32 noundef %4213) #12
  %.not1207 = icmp eq i32 %4214, 0
  br i1 %.not1207, label %4215, label %4216

4215:                                             ; preds = %4211, %4205
  br label %4216

4216:                                             ; preds = %4211, %4215
  %.str.6.sink2776 = phi ptr [ @.str.6, %4215 ], [ @.str.3, %4211 ]
  store i32 %4206, ptr %421, align 4, !tbaa !5
  %4217 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4218 = load i32, ptr @test_count, align 4, !tbaa !5
  %4219 = load i32, ptr %367, align 4, !tbaa !5
  %4220 = call ptr @s2n_strerror(i32 noundef %4219, ptr noundef nonnull @.str.5) #12
  %4221 = load i32, ptr %367, align 4, !tbaa !5
  %4222 = call ptr @s2n_strerror_debug(i32 noundef %4221, ptr noundef nonnull @.str.5) #12
  %4223 = load i32, ptr %421, align 4, !tbaa !5
  %4224 = call ptr @strerror(i32 noundef %4223) #12
  %4225 = load i32, ptr %421, align 4, !tbaa !5
  %4226 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4217, ptr noundef nonnull %.str.6.sink2776, i32 noundef %4218, ptr noundef nonnull @.str.65, ptr noundef nonnull @.str.2, i32 noundef 482, ptr noundef %4220, ptr noundef %4222, ptr noundef %4224, i32 noundef %4225) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4227:                                             ; preds = %4200
  %4228 = add nsw i32 %4201, 2
  store i32 %4228, ptr @test_count, align 4, !tbaa !5
  %4229 = getelementptr inbounds i8, ptr %73, i64 8
  %4230 = load i64, ptr %4229, align 8, !tbaa !53
  %4231 = icmp eq i64 %4230, 2
  br i1 %4231, label %4254, label %4232

4232:                                             ; preds = %4227
  %4233 = load i32, ptr %421, align 4, !tbaa !5
  %4234 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4235 = call i32 @s2n_print_stacktrace(ptr noundef %4234) #12
  %4236 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4237 = trunc nuw i8 %4236 to i1
  br i1 %4237, label %4238, label %4242

4238:                                             ; preds = %4232
  %4239 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4240 = call i32 @fileno(ptr noundef %4239) #12
  %4241 = call i32 @isatty(i32 noundef %4240) #12
  %.not1208 = icmp eq i32 %4241, 0
  br i1 %.not1208, label %4242, label %4243

4242:                                             ; preds = %4238, %4232
  br label %4243

4243:                                             ; preds = %4238, %4242
  %.str.6.sink2785 = phi ptr [ @.str.6, %4242 ], [ @.str.3, %4238 ]
  store i32 %4233, ptr %421, align 4, !tbaa !5
  %4244 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4245 = load i32, ptr @test_count, align 4, !tbaa !5
  %4246 = load i32, ptr %367, align 4, !tbaa !5
  %4247 = call ptr @s2n_strerror(i32 noundef %4246, ptr noundef nonnull @.str.5) #12
  %4248 = load i32, ptr %367, align 4, !tbaa !5
  %4249 = call ptr @s2n_strerror_debug(i32 noundef %4248, ptr noundef nonnull @.str.5) #12
  %4250 = load i32, ptr %421, align 4, !tbaa !5
  %4251 = call ptr @strerror(i32 noundef %4250) #12
  %4252 = load i32, ptr %421, align 4, !tbaa !5
  %4253 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4244, ptr noundef nonnull %.str.6.sink2785, i32 noundef %4245, ptr noundef nonnull @.str.45, ptr noundef nonnull @.str.2, i32 noundef 484, ptr noundef %4247, ptr noundef %4249, ptr noundef %4251, i32 noundef %4252) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4254:                                             ; preds = %4227
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %77) #12
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %76) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %75) #12
  call void @llvm.lifetime.end.p0(i64 16384, ptr nonnull %74) #12
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %73) #12
  %4255 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %72) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %72) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %78) #12
  %4256 = call ptr @s2n_connection_new(i32 noundef 1) #12
  store ptr %4256, ptr %78, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %79) #12
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %79, ptr noundef nonnull align 8 dereferenceable(16) @__const.main.io_ctx.68, i64 16, i1 false)
  %4257 = load i32, ptr @test_count, align 4, !tbaa !5
  %4258 = add nsw i32 %4257, 1
  store i32 %4258, ptr @test_count, align 4, !tbaa !5
  %4259 = call i32 @s2n_ktls_set_recvmsg_cb(ptr noundef %4256, ptr noundef nonnull @s2n_test_ktls_recvmsg_fail, ptr noundef nonnull %79) #12
  %4260 = call zeroext i1 @s2n_result_is_ok(i32 %4259)
  br i1 %4260, label %4283, label %4261

4261:                                             ; preds = %4254
  %4262 = load i32, ptr %421, align 4, !tbaa !5
  %4263 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4264 = call i32 @s2n_print_stacktrace(ptr noundef %4263) #12
  %4265 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4266 = trunc nuw i8 %4265 to i1
  br i1 %4266, label %4267, label %4271

4267:                                             ; preds = %4261
  %4268 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4269 = call i32 @fileno(ptr noundef %4268) #12
  %4270 = call i32 @isatty(i32 noundef %4269) #12
  %.not1209 = icmp eq i32 %4270, 0
  br i1 %.not1209, label %4271, label %4272

4271:                                             ; preds = %4267, %4261
  br label %4272

4272:                                             ; preds = %4267, %4271
  %.str.6.sink2794 = phi ptr [ @.str.6, %4271 ], [ @.str.3, %4267 ]
  store i32 %4262, ptr %421, align 4, !tbaa !5
  %4273 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4274 = load i32, ptr @test_count, align 4, !tbaa !5
  %4275 = load i32, ptr %367, align 4, !tbaa !5
  %4276 = call ptr @s2n_strerror(i32 noundef %4275, ptr noundef nonnull @.str.5) #12
  %4277 = load i32, ptr %367, align 4, !tbaa !5
  %4278 = call ptr @s2n_strerror_debug(i32 noundef %4277, ptr noundef nonnull @.str.5) #12
  %4279 = load i32, ptr %421, align 4, !tbaa !5
  %4280 = call ptr @strerror(i32 noundef %4279) #12
  %4281 = load i32, ptr %421, align 4, !tbaa !5
  %4282 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4273, ptr noundef nonnull %.str.6.sink2794, i32 noundef %4274, ptr noundef nonnull @.str.67, ptr noundef nonnull @.str.2, i32 noundef 494, ptr noundef %4276, ptr noundef %4278, ptr noundef %4280, i32 noundef %4281) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4283:                                             ; preds = %4254
  call void @llvm.lifetime.start.p0(i64 16384, ptr nonnull %80) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(16384) %80, i8 0, i64 16384, i1 false)
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %81) #12
  store i32 0, ptr %81, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %82) #12
  store i8 0, ptr %82, align 1, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %83) #12
  store i64 0, ptr %83, align 8, !tbaa !20
  %4284 = load i32, ptr @test_count, align 4, !tbaa !5
  %4285 = add nsw i32 %4284, 1
  store i32 %4285, ptr @test_count, align 4, !tbaa !5
  %4286 = load ptr, ptr %78, align 8, !tbaa !9
  %4287 = getelementptr inbounds i8, ptr %4286, i64 72
  %4288 = load ptr, ptr %4287, align 8, !tbaa !54
  %4289 = call i32 @s2n_ktls_recvmsg(ptr noundef %4288, ptr noundef nonnull %82, ptr noundef nonnull %80, i64 noundef 10, ptr noundef nonnull %81, ptr noundef nonnull %83) #12
  %4290 = call zeroext i1 @s2n_result_is_error(i32 %4289)
  br i1 %4290, label %4313, label %4291

4291:                                             ; preds = %4283
  %4292 = load i32, ptr %421, align 4, !tbaa !5
  %4293 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4294 = call i32 @s2n_print_stacktrace(ptr noundef %4293) #12
  %4295 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4296 = trunc nuw i8 %4295 to i1
  br i1 %4296, label %4297, label %4301

4297:                                             ; preds = %4291
  %4298 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4299 = call i32 @fileno(ptr noundef %4298) #12
  %4300 = call i32 @isatty(i32 noundef %4299) #12
  %.not1210 = icmp eq i32 %4300, 0
  br i1 %.not1210, label %4301, label %4302

4301:                                             ; preds = %4297, %4291
  br label %4302

4302:                                             ; preds = %4297, %4301
  %.str.6.sink2803 = phi ptr [ @.str.6, %4301 ], [ @.str.3, %4297 ]
  store i32 %4292, ptr %421, align 4, !tbaa !5
  %4303 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4304 = load i32, ptr @test_count, align 4, !tbaa !5
  %4305 = load i32, ptr %367, align 4, !tbaa !5
  %4306 = call ptr @s2n_strerror(i32 noundef %4305, ptr noundef nonnull @.str.5) #12
  %4307 = load i32, ptr %367, align 4, !tbaa !5
  %4308 = call ptr @s2n_strerror_debug(i32 noundef %4307, ptr noundef nonnull @.str.5) #12
  %4309 = load i32, ptr %421, align 4, !tbaa !5
  %4310 = call ptr @strerror(i32 noundef %4309) #12
  %4311 = load i32, ptr %421, align 4, !tbaa !5
  %4312 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4303, ptr noundef nonnull %.str.6.sink2803, i32 noundef %4304, ptr noundef nonnull @.str.64, ptr noundef nonnull @.str.2, i32 noundef 503, ptr noundef %4306, ptr noundef %4308, ptr noundef %4310, i32 noundef %4311) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4313:                                             ; preds = %4283
  %4314 = load i32, ptr @test_count, align 4, !tbaa !5
  %4315 = add nsw i32 %4314, 1
  store i32 %4315, ptr @test_count, align 4, !tbaa !5
  %4316 = load i32, ptr %367, align 4, !tbaa !5
  %4317 = icmp eq i32 %4316, 67108864
  br i1 %4317, label %4340, label %4318

4318:                                             ; preds = %4313
  %4319 = load i32, ptr %421, align 4, !tbaa !5
  %4320 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4321 = call i32 @s2n_print_stacktrace(ptr noundef %4320) #12
  %4322 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4323 = trunc nuw i8 %4322 to i1
  br i1 %4323, label %4324, label %4328

4324:                                             ; preds = %4318
  %4325 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4326 = call i32 @fileno(ptr noundef %4325) #12
  %4327 = call i32 @isatty(i32 noundef %4326) #12
  %.not1211 = icmp eq i32 %4327, 0
  br i1 %.not1211, label %4328, label %4329

4328:                                             ; preds = %4324, %4318
  br label %4329

4329:                                             ; preds = %4324, %4328
  %.str.6.sink2812 = phi ptr [ @.str.6, %4328 ], [ @.str.3, %4324 ]
  store i32 %4319, ptr %421, align 4, !tbaa !5
  %4330 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4331 = load i32, ptr @test_count, align 4, !tbaa !5
  %4332 = load i32, ptr %367, align 4, !tbaa !5
  %4333 = call ptr @s2n_strerror(i32 noundef %4332, ptr noundef nonnull @.str.5) #12
  %4334 = load i32, ptr %367, align 4, !tbaa !5
  %4335 = call ptr @s2n_strerror_debug(i32 noundef %4334, ptr noundef nonnull @.str.5) #12
  %4336 = load i32, ptr %421, align 4, !tbaa !5
  %4337 = call ptr @strerror(i32 noundef %4336) #12
  %4338 = load i32, ptr %421, align 4, !tbaa !5
  %4339 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4330, ptr noundef nonnull %.str.6.sink2812, i32 noundef %4331, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.2, i32 noundef 503, ptr noundef %4333, ptr noundef %4335, ptr noundef %4337, i32 noundef %4338) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4340:                                             ; preds = %4313
  %4341 = add nsw i32 %4314, 2
  store i32 %4341, ptr @test_count, align 4, !tbaa !5
  %4342 = call ptr @s2n_strerror_debug(i32 noundef 67108864, ptr noundef nonnull @.str.5) #12
  %4343 = icmp eq ptr %4342, null
  br i1 %4343, label %4344, label %4366

4344:                                             ; preds = %4340
  %4345 = load i32, ptr %421, align 4, !tbaa !5
  %4346 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4347 = call i32 @s2n_print_stacktrace(ptr noundef %4346) #12
  %4348 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4349 = trunc nuw i8 %4348 to i1
  br i1 %4349, label %4350, label %4354

4350:                                             ; preds = %4344
  %4351 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4352 = call i32 @fileno(ptr noundef %4351) #12
  %4353 = call i32 @isatty(i32 noundef %4352) #12
  %.not1480 = icmp eq i32 %4353, 0
  br i1 %.not1480, label %4354, label %4355

4354:                                             ; preds = %4350, %4344
  br label %4355

4355:                                             ; preds = %4350, %4354
  %.str.6.sink2821 = phi ptr [ @.str.6, %4354 ], [ @.str.3, %4350 ]
  store i32 %4345, ptr %421, align 4, !tbaa !5
  %4356 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4357 = load i32, ptr @test_count, align 4, !tbaa !5
  %4358 = load i32, ptr %367, align 4, !tbaa !5
  %4359 = call ptr @s2n_strerror(i32 noundef %4358, ptr noundef nonnull @.str.5) #12
  %4360 = load i32, ptr %367, align 4, !tbaa !5
  %4361 = call ptr @s2n_strerror_debug(i32 noundef %4360, ptr noundef nonnull @.str.5) #12
  %4362 = load i32, ptr %421, align 4, !tbaa !5
  %4363 = call ptr @strerror(i32 noundef %4362) #12
  %4364 = load i32, ptr %421, align 4, !tbaa !5
  %4365 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4356, ptr noundef nonnull %.str.6.sink2821, i32 noundef %4357, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.2, i32 noundef 503, ptr noundef %4359, ptr noundef %4361, ptr noundef %4363, i32 noundef %4364) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4366:                                             ; preds = %4340
  store i32 0, ptr %367, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %421, align 4, !tbaa !5
  %4367 = load i32, ptr @test_count, align 4, !tbaa !5
  %4368 = add nsw i32 %4367, 1
  store i32 %4368, ptr @test_count, align 4, !tbaa !5
  %4369 = load i32, ptr %81, align 4, !tbaa !5
  %4370 = icmp eq i32 %4369, 1
  br i1 %4370, label %4393, label %4371

4371:                                             ; preds = %4366
  %4372 = load i32, ptr %421, align 4, !tbaa !5
  %4373 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4374 = call i32 @s2n_print_stacktrace(ptr noundef %4373) #12
  %4375 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4376 = trunc nuw i8 %4375 to i1
  br i1 %4376, label %4377, label %4381

4377:                                             ; preds = %4371
  %4378 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4379 = call i32 @fileno(ptr noundef %4378) #12
  %4380 = call i32 @isatty(i32 noundef %4379) #12
  %.not1212 = icmp eq i32 %4380, 0
  br i1 %.not1212, label %4381, label %4382

4381:                                             ; preds = %4377, %4371
  br label %4382

4382:                                             ; preds = %4377, %4381
  %.str.6.sink2830 = phi ptr [ @.str.6, %4381 ], [ @.str.3, %4377 ]
  store i32 %4372, ptr %421, align 4, !tbaa !5
  %4383 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4384 = load i32, ptr @test_count, align 4, !tbaa !5
  %4385 = load i32, ptr %367, align 4, !tbaa !5
  %4386 = call ptr @s2n_strerror(i32 noundef %4385, ptr noundef nonnull @.str.5) #12
  %4387 = load i32, ptr %367, align 4, !tbaa !5
  %4388 = call ptr @s2n_strerror_debug(i32 noundef %4387, ptr noundef nonnull @.str.5) #12
  %4389 = load i32, ptr %421, align 4, !tbaa !5
  %4390 = call ptr @strerror(i32 noundef %4389) #12
  %4391 = load i32, ptr %421, align 4, !tbaa !5
  %4392 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4383, ptr noundef nonnull %.str.6.sink2830, i32 noundef %4384, ptr noundef nonnull @.str.65, ptr noundef nonnull @.str.2, i32 noundef 505, ptr noundef %4386, ptr noundef %4388, ptr noundef %4390, i32 noundef %4391) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4393:                                             ; preds = %4366
  %4394 = add nsw i32 %4367, 2
  store i32 %4394, ptr @test_count, align 4, !tbaa !5
  %4395 = getelementptr inbounds i8, ptr %79, i64 8
  %4396 = load i64, ptr %4395, align 8, !tbaa !53
  %4397 = icmp eq i64 %4396, 1
  br i1 %4397, label %4420, label %4398

4398:                                             ; preds = %4393
  %4399 = load i32, ptr %421, align 4, !tbaa !5
  %4400 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4401 = call i32 @s2n_print_stacktrace(ptr noundef %4400) #12
  %4402 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4403 = trunc nuw i8 %4402 to i1
  br i1 %4403, label %4404, label %4408

4404:                                             ; preds = %4398
  %4405 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4406 = call i32 @fileno(ptr noundef %4405) #12
  %4407 = call i32 @isatty(i32 noundef %4406) #12
  %.not1213 = icmp eq i32 %4407, 0
  br i1 %.not1213, label %4408, label %4409

4408:                                             ; preds = %4404, %4398
  br label %4409

4409:                                             ; preds = %4404, %4408
  %.str.6.sink2839 = phi ptr [ @.str.6, %4408 ], [ @.str.3, %4404 ]
  store i32 %4399, ptr %421, align 4, !tbaa !5
  %4410 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4411 = load i32, ptr @test_count, align 4, !tbaa !5
  %4412 = load i32, ptr %367, align 4, !tbaa !5
  %4413 = call ptr @s2n_strerror(i32 noundef %4412, ptr noundef nonnull @.str.5) #12
  %4414 = load i32, ptr %367, align 4, !tbaa !5
  %4415 = call ptr @s2n_strerror_debug(i32 noundef %4414, ptr noundef nonnull @.str.5) #12
  %4416 = load i32, ptr %421, align 4, !tbaa !5
  %4417 = call ptr @strerror(i32 noundef %4416) #12
  %4418 = load i32, ptr %421, align 4, !tbaa !5
  %4419 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4410, ptr noundef nonnull %.str.6.sink2839, i32 noundef %4411, ptr noundef nonnull @.str.46, ptr noundef nonnull @.str.2, i32 noundef 507, ptr noundef %4413, ptr noundef %4415, ptr noundef %4417, i32 noundef %4418) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4420:                                             ; preds = %4393
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %83) #12
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %82) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %81) #12
  call void @llvm.lifetime.end.p0(i64 16384, ptr nonnull %80) #12
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %79) #12
  %4421 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %78) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %78) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %84) #12
  %4422 = call ptr @s2n_connection_new(i32 noundef 1) #12
  store ptr %4422, ptr %84, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %85) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %85, i8 0, i64 16, i1 false)
  %4423 = load i32, ptr @test_count, align 4, !tbaa !5
  %4424 = add nsw i32 %4423, 1
  store i32 %4424, ptr @test_count, align 4, !tbaa !5
  %4425 = call i32 @s2n_ktls_set_recvmsg_cb(ptr noundef %4422, ptr noundef nonnull @s2n_test_ktls_recvmsg_eof, ptr noundef nonnull %85) #12
  %4426 = call zeroext i1 @s2n_result_is_ok(i32 %4425)
  br i1 %4426, label %4449, label %4427

4427:                                             ; preds = %4420
  %4428 = load i32, ptr %421, align 4, !tbaa !5
  %4429 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4430 = call i32 @s2n_print_stacktrace(ptr noundef %4429) #12
  %4431 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4432 = trunc nuw i8 %4431 to i1
  br i1 %4432, label %4433, label %4437

4433:                                             ; preds = %4427
  %4434 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4435 = call i32 @fileno(ptr noundef %4434) #12
  %4436 = call i32 @isatty(i32 noundef %4435) #12
  %.not1214 = icmp eq i32 %4436, 0
  br i1 %.not1214, label %4437, label %4438

4437:                                             ; preds = %4433, %4427
  br label %4438

4438:                                             ; preds = %4433, %4437
  %.str.6.sink2848 = phi ptr [ @.str.6, %4437 ], [ @.str.3, %4433 ]
  store i32 %4428, ptr %421, align 4, !tbaa !5
  %4439 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4440 = load i32, ptr @test_count, align 4, !tbaa !5
  %4441 = load i32, ptr %367, align 4, !tbaa !5
  %4442 = call ptr @s2n_strerror(i32 noundef %4441, ptr noundef nonnull @.str.5) #12
  %4443 = load i32, ptr %367, align 4, !tbaa !5
  %4444 = call ptr @s2n_strerror_debug(i32 noundef %4443, ptr noundef nonnull @.str.5) #12
  %4445 = load i32, ptr %421, align 4, !tbaa !5
  %4446 = call ptr @strerror(i32 noundef %4445) #12
  %4447 = load i32, ptr %421, align 4, !tbaa !5
  %4448 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4439, ptr noundef nonnull %.str.6.sink2848, i32 noundef %4440, ptr noundef nonnull @.str.69, ptr noundef nonnull @.str.2, i32 noundef 515, ptr noundef %4442, ptr noundef %4444, ptr noundef %4446, i32 noundef %4447) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4449:                                             ; preds = %4420
  call void @llvm.lifetime.start.p0(i64 16384, ptr nonnull %86) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(16384) %86, i8 0, i64 16384, i1 false)
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %87) #12
  store i32 0, ptr %87, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %88) #12
  store i8 0, ptr %88, align 1, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %89) #12
  store i64 0, ptr %89, align 8, !tbaa !20
  %4450 = load i32, ptr @test_count, align 4, !tbaa !5
  %4451 = add nsw i32 %4450, 1
  store i32 %4451, ptr @test_count, align 4, !tbaa !5
  %4452 = load ptr, ptr %84, align 8, !tbaa !9
  %4453 = getelementptr inbounds i8, ptr %4452, i64 72
  %4454 = load ptr, ptr %4453, align 8, !tbaa !54
  %4455 = call i32 @s2n_ktls_recvmsg(ptr noundef %4454, ptr noundef nonnull %88, ptr noundef nonnull %86, i64 noundef 10, ptr noundef nonnull %87, ptr noundef nonnull %89) #12
  %4456 = call zeroext i1 @s2n_result_is_error(i32 %4455)
  br i1 %4456, label %4479, label %4457

4457:                                             ; preds = %4449
  %4458 = load i32, ptr %421, align 4, !tbaa !5
  %4459 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4460 = call i32 @s2n_print_stacktrace(ptr noundef %4459) #12
  %4461 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4462 = trunc nuw i8 %4461 to i1
  br i1 %4462, label %4463, label %4467

4463:                                             ; preds = %4457
  %4464 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4465 = call i32 @fileno(ptr noundef %4464) #12
  %4466 = call i32 @isatty(i32 noundef %4465) #12
  %.not1215 = icmp eq i32 %4466, 0
  br i1 %.not1215, label %4467, label %4468

4467:                                             ; preds = %4463, %4457
  br label %4468

4468:                                             ; preds = %4463, %4467
  %.str.6.sink2857 = phi ptr [ @.str.6, %4467 ], [ @.str.3, %4463 ]
  store i32 %4458, ptr %421, align 4, !tbaa !5
  %4469 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4470 = load i32, ptr @test_count, align 4, !tbaa !5
  %4471 = load i32, ptr %367, align 4, !tbaa !5
  %4472 = call ptr @s2n_strerror(i32 noundef %4471, ptr noundef nonnull @.str.5) #12
  %4473 = load i32, ptr %367, align 4, !tbaa !5
  %4474 = call ptr @s2n_strerror_debug(i32 noundef %4473, ptr noundef nonnull @.str.5) #12
  %4475 = load i32, ptr %421, align 4, !tbaa !5
  %4476 = call ptr @strerror(i32 noundef %4475) #12
  %4477 = load i32, ptr %421, align 4, !tbaa !5
  %4478 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4469, ptr noundef nonnull %.str.6.sink2857, i32 noundef %4470, ptr noundef nonnull @.str.64, ptr noundef nonnull @.str.2, i32 noundef 524, ptr noundef %4472, ptr noundef %4474, ptr noundef %4476, i32 noundef %4477) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4479:                                             ; preds = %4449
  %4480 = load i32, ptr @test_count, align 4, !tbaa !5
  %4481 = add nsw i32 %4480, 1
  store i32 %4481, ptr @test_count, align 4, !tbaa !5
  %4482 = load i32, ptr %367, align 4, !tbaa !5
  %4483 = icmp eq i32 %4482, 134217728
  br i1 %4483, label %4506, label %4484

4484:                                             ; preds = %4479
  %4485 = load i32, ptr %421, align 4, !tbaa !5
  %4486 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4487 = call i32 @s2n_print_stacktrace(ptr noundef %4486) #12
  %4488 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4489 = trunc nuw i8 %4488 to i1
  br i1 %4489, label %4490, label %4494

4490:                                             ; preds = %4484
  %4491 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4492 = call i32 @fileno(ptr noundef %4491) #12
  %4493 = call i32 @isatty(i32 noundef %4492) #12
  %.not1216 = icmp eq i32 %4493, 0
  br i1 %.not1216, label %4494, label %4495

4494:                                             ; preds = %4490, %4484
  br label %4495

4495:                                             ; preds = %4490, %4494
  %.str.6.sink2866 = phi ptr [ @.str.6, %4494 ], [ @.str.3, %4490 ]
  store i32 %4485, ptr %421, align 4, !tbaa !5
  %4496 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4497 = load i32, ptr @test_count, align 4, !tbaa !5
  %4498 = load i32, ptr %367, align 4, !tbaa !5
  %4499 = call ptr @s2n_strerror(i32 noundef %4498, ptr noundef nonnull @.str.5) #12
  %4500 = load i32, ptr %367, align 4, !tbaa !5
  %4501 = call ptr @s2n_strerror_debug(i32 noundef %4500, ptr noundef nonnull @.str.5) #12
  %4502 = load i32, ptr %421, align 4, !tbaa !5
  %4503 = call ptr @strerror(i32 noundef %4502) #12
  %4504 = load i32, ptr %421, align 4, !tbaa !5
  %4505 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4496, ptr noundef nonnull %.str.6.sink2866, i32 noundef %4497, ptr noundef nonnull @.str.70, ptr noundef nonnull @.str.2, i32 noundef 524, ptr noundef %4499, ptr noundef %4501, ptr noundef %4503, i32 noundef %4504) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4506:                                             ; preds = %4479
  %4507 = add nsw i32 %4480, 2
  store i32 %4507, ptr @test_count, align 4, !tbaa !5
  %4508 = call ptr @s2n_strerror_debug(i32 noundef 134217728, ptr noundef nonnull @.str.5) #12
  %4509 = icmp eq ptr %4508, null
  br i1 %4509, label %4510, label %4532

4510:                                             ; preds = %4506
  %4511 = load i32, ptr %421, align 4, !tbaa !5
  %4512 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4513 = call i32 @s2n_print_stacktrace(ptr noundef %4512) #12
  %4514 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4515 = trunc nuw i8 %4514 to i1
  br i1 %4515, label %4516, label %4520

4516:                                             ; preds = %4510
  %4517 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4518 = call i32 @fileno(ptr noundef %4517) #12
  %4519 = call i32 @isatty(i32 noundef %4518) #12
  %.not1479 = icmp eq i32 %4519, 0
  br i1 %.not1479, label %4520, label %4521

4520:                                             ; preds = %4516, %4510
  br label %4521

4521:                                             ; preds = %4516, %4520
  %.str.6.sink2875 = phi ptr [ @.str.6, %4520 ], [ @.str.3, %4516 ]
  store i32 %4511, ptr %421, align 4, !tbaa !5
  %4522 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4523 = load i32, ptr @test_count, align 4, !tbaa !5
  %4524 = load i32, ptr %367, align 4, !tbaa !5
  %4525 = call ptr @s2n_strerror(i32 noundef %4524, ptr noundef nonnull @.str.5) #12
  %4526 = load i32, ptr %367, align 4, !tbaa !5
  %4527 = call ptr @s2n_strerror_debug(i32 noundef %4526, ptr noundef nonnull @.str.5) #12
  %4528 = load i32, ptr %421, align 4, !tbaa !5
  %4529 = call ptr @strerror(i32 noundef %4528) #12
  %4530 = load i32, ptr %421, align 4, !tbaa !5
  %4531 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4522, ptr noundef nonnull %.str.6.sink2875, i32 noundef %4523, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.2, i32 noundef 524, ptr noundef %4525, ptr noundef %4527, ptr noundef %4529, i32 noundef %4530) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4532:                                             ; preds = %4506
  store i32 0, ptr %367, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %421, align 4, !tbaa !5
  %4533 = load i32, ptr @test_count, align 4, !tbaa !5
  %4534 = add nsw i32 %4533, 1
  store i32 %4534, ptr @test_count, align 4, !tbaa !5
  %4535 = load i32, ptr %87, align 4, !tbaa !5
  %4536 = icmp eq i32 %4535, 1
  br i1 %4536, label %4559, label %4537

4537:                                             ; preds = %4532
  %4538 = load i32, ptr %421, align 4, !tbaa !5
  %4539 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4540 = call i32 @s2n_print_stacktrace(ptr noundef %4539) #12
  %4541 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4542 = trunc nuw i8 %4541 to i1
  br i1 %4542, label %4543, label %4547

4543:                                             ; preds = %4537
  %4544 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4545 = call i32 @fileno(ptr noundef %4544) #12
  %4546 = call i32 @isatty(i32 noundef %4545) #12
  %.not1217 = icmp eq i32 %4546, 0
  br i1 %.not1217, label %4547, label %4548

4547:                                             ; preds = %4543, %4537
  br label %4548

4548:                                             ; preds = %4543, %4547
  %.str.6.sink2884 = phi ptr [ @.str.6, %4547 ], [ @.str.3, %4543 ]
  store i32 %4538, ptr %421, align 4, !tbaa !5
  %4549 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4550 = load i32, ptr @test_count, align 4, !tbaa !5
  %4551 = load i32, ptr %367, align 4, !tbaa !5
  %4552 = call ptr @s2n_strerror(i32 noundef %4551, ptr noundef nonnull @.str.5) #12
  %4553 = load i32, ptr %367, align 4, !tbaa !5
  %4554 = call ptr @s2n_strerror_debug(i32 noundef %4553, ptr noundef nonnull @.str.5) #12
  %4555 = load i32, ptr %421, align 4, !tbaa !5
  %4556 = call ptr @strerror(i32 noundef %4555) #12
  %4557 = load i32, ptr %421, align 4, !tbaa !5
  %4558 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4549, ptr noundef nonnull %.str.6.sink2884, i32 noundef %4550, ptr noundef nonnull @.str.65, ptr noundef nonnull @.str.2, i32 noundef 526, ptr noundef %4552, ptr noundef %4554, ptr noundef %4556, i32 noundef %4557) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4559:                                             ; preds = %4532
  %4560 = add nsw i32 %4533, 2
  store i32 %4560, ptr @test_count, align 4, !tbaa !5
  %4561 = getelementptr inbounds i8, ptr %85, i64 8
  %4562 = load i64, ptr %4561, align 8, !tbaa !53
  %4563 = icmp eq i64 %4562, 1
  br i1 %4563, label %4586, label %4564

4564:                                             ; preds = %4559
  %4565 = load i32, ptr %421, align 4, !tbaa !5
  %4566 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4567 = call i32 @s2n_print_stacktrace(ptr noundef %4566) #12
  %4568 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4569 = trunc nuw i8 %4568 to i1
  br i1 %4569, label %4570, label %4574

4570:                                             ; preds = %4564
  %4571 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4572 = call i32 @fileno(ptr noundef %4571) #12
  %4573 = call i32 @isatty(i32 noundef %4572) #12
  %.not1218 = icmp eq i32 %4573, 0
  br i1 %.not1218, label %4574, label %4575

4574:                                             ; preds = %4570, %4564
  br label %4575

4575:                                             ; preds = %4570, %4574
  %.str.6.sink2893 = phi ptr [ @.str.6, %4574 ], [ @.str.3, %4570 ]
  store i32 %4565, ptr %421, align 4, !tbaa !5
  %4576 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4577 = load i32, ptr @test_count, align 4, !tbaa !5
  %4578 = load i32, ptr %367, align 4, !tbaa !5
  %4579 = call ptr @s2n_strerror(i32 noundef %4578, ptr noundef nonnull @.str.5) #12
  %4580 = load i32, ptr %367, align 4, !tbaa !5
  %4581 = call ptr @s2n_strerror_debug(i32 noundef %4580, ptr noundef nonnull @.str.5) #12
  %4582 = load i32, ptr %421, align 4, !tbaa !5
  %4583 = call ptr @strerror(i32 noundef %4582) #12
  %4584 = load i32, ptr %421, align 4, !tbaa !5
  %4585 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4576, ptr noundef nonnull %.str.6.sink2893, i32 noundef %4577, ptr noundef nonnull @.str.46, ptr noundef nonnull @.str.2, i32 noundef 528, ptr noundef %4579, ptr noundef %4581, ptr noundef %4583, i32 noundef %4584) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4586:                                             ; preds = %4559
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %89) #12
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %88) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %87) #12
  call void @llvm.lifetime.end.p0(i64 16384, ptr nonnull %86) #12
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %85) #12
  %4587 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %84) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %84) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %90) #12
  %4588 = call ptr @s2n_connection_new(i32 noundef 0) #12
  store ptr %4588, ptr %90, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %91) #12
  %4589 = call ptr @s2n_connection_new(i32 noundef 1) #12
  store ptr %4589, ptr %91, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 192, ptr nonnull %92) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(192) %92, i8 0, i64 192, i1 false)
  %4590 = load i32, ptr @test_count, align 4, !tbaa !5
  %4591 = add nsw i32 %4590, 1
  store i32 %4591, ptr @test_count, align 4, !tbaa !5
  %4592 = load ptr, ptr %90, align 8, !tbaa !9
  %4593 = call i32 @s2n_test_init_ktls_io_stuffer(ptr noundef %4592, ptr noundef %4589, ptr noundef nonnull %92) #12
  %4594 = call zeroext i1 @s2n_result_is_ok(i32 %4593)
  br i1 %4594, label %4617, label %4595

4595:                                             ; preds = %4586
  %4596 = load i32, ptr %421, align 4, !tbaa !5
  %4597 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4598 = call i32 @s2n_print_stacktrace(ptr noundef %4597) #12
  %4599 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4600 = trunc nuw i8 %4599 to i1
  br i1 %4600, label %4601, label %4605

4601:                                             ; preds = %4595
  %4602 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4603 = call i32 @fileno(ptr noundef %4602) #12
  %4604 = call i32 @isatty(i32 noundef %4603) #12
  %.not1219 = icmp eq i32 %4604, 0
  br i1 %.not1219, label %4605, label %4606

4605:                                             ; preds = %4601, %4595
  br label %4606

4606:                                             ; preds = %4601, %4605
  %.str.6.sink2902 = phi ptr [ @.str.6, %4605 ], [ @.str.3, %4601 ]
  store i32 %4596, ptr %421, align 4, !tbaa !5
  %4607 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4608 = load i32, ptr @test_count, align 4, !tbaa !5
  %4609 = load i32, ptr %367, align 4, !tbaa !5
  %4610 = call ptr @s2n_strerror(i32 noundef %4609, ptr noundef nonnull @.str.5) #12
  %4611 = load i32, ptr %367, align 4, !tbaa !5
  %4612 = call ptr @s2n_strerror_debug(i32 noundef %4611, ptr noundef nonnull @.str.5) #12
  %4613 = load i32, ptr %421, align 4, !tbaa !5
  %4614 = call ptr @strerror(i32 noundef %4613) #12
  %4615 = load i32, ptr %421, align 4, !tbaa !5
  %4616 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4607, ptr noundef nonnull %.str.6.sink2902, i32 noundef %4608, ptr noundef nonnull @.str.58, ptr noundef nonnull @.str.2, i32 noundef 539, ptr noundef %4610, ptr noundef %4612, ptr noundef %4614, i32 noundef %4615) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4617:                                             ; preds = %4586
  %4618 = load i32, ptr @test_count, align 4, !tbaa !5
  %4619 = add nsw i32 %4618, 1
  store i32 %4619, ptr @test_count, align 4, !tbaa !5
  %4620 = load ptr, ptr %91, align 8, !tbaa !9
  %4621 = call i32 @s2n_ktls_set_recvmsg_cb(ptr noundef %4620, ptr noundef nonnull @s2n_test_ktls_recvmsg_io_stuffer_and_ctrunc, ptr noundef nonnull %92) #12
  %4622 = call zeroext i1 @s2n_result_is_ok(i32 %4621)
  br i1 %4622, label %4645, label %4623

4623:                                             ; preds = %4617
  %4624 = load i32, ptr %421, align 4, !tbaa !5
  %4625 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4626 = call i32 @s2n_print_stacktrace(ptr noundef %4625) #12
  %4627 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4628 = trunc nuw i8 %4627 to i1
  br i1 %4628, label %4629, label %4633

4629:                                             ; preds = %4623
  %4630 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4631 = call i32 @fileno(ptr noundef %4630) #12
  %4632 = call i32 @isatty(i32 noundef %4631) #12
  %.not1220 = icmp eq i32 %4632, 0
  br i1 %.not1220, label %4633, label %4634

4633:                                             ; preds = %4629, %4623
  br label %4634

4634:                                             ; preds = %4629, %4633
  %.str.6.sink2911 = phi ptr [ @.str.6, %4633 ], [ @.str.3, %4629 ]
  store i32 %4624, ptr %421, align 4, !tbaa !5
  %4635 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4636 = load i32, ptr @test_count, align 4, !tbaa !5
  %4637 = load i32, ptr %367, align 4, !tbaa !5
  %4638 = call ptr @s2n_strerror(i32 noundef %4637, ptr noundef nonnull @.str.5) #12
  %4639 = load i32, ptr %367, align 4, !tbaa !5
  %4640 = call ptr @s2n_strerror_debug(i32 noundef %4639, ptr noundef nonnull @.str.5) #12
  %4641 = load i32, ptr %421, align 4, !tbaa !5
  %4642 = call ptr @strerror(i32 noundef %4641) #12
  %4643 = load i32, ptr %421, align 4, !tbaa !5
  %4644 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4635, ptr noundef nonnull %.str.6.sink2911, i32 noundef %4636, ptr noundef nonnull @.str.71, ptr noundef nonnull @.str.2, i32 noundef 541, ptr noundef %4638, ptr noundef %4640, ptr noundef %4642, i32 noundef %4643) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4645:                                             ; preds = %4617
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %93) #12
  store ptr %3, ptr %93, align 8, !tbaa !16
  %4646 = getelementptr inbounds i8, ptr %93, i64 8
  store i64 10, ptr %4646, align 8, !tbaa !19
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %94) #12
  store i32 0, ptr %94, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %95) #12
  store i64 0, ptr %95, align 8, !tbaa !20
  %4647 = load i32, ptr @test_count, align 4, !tbaa !5
  %4648 = add nsw i32 %4647, 1
  store i32 %4648, ptr @test_count, align 4, !tbaa !5
  %4649 = load ptr, ptr %90, align 8, !tbaa !9
  %4650 = getelementptr inbounds i8, ptr %4649, i64 64
  %4651 = load ptr, ptr %4650, align 8, !tbaa !21
  %4652 = call i32 @s2n_ktls_sendmsg(ptr noundef %4651, i8 noundef zeroext 43, ptr noundef nonnull %93, i64 noundef 1, ptr noundef nonnull %94, ptr noundef nonnull %95) #12
  %4653 = call zeroext i1 @s2n_result_is_ok(i32 %4652)
  br i1 %4653, label %4676, label %4654

4654:                                             ; preds = %4645
  %4655 = load i32, ptr %421, align 4, !tbaa !5
  %4656 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4657 = call i32 @s2n_print_stacktrace(ptr noundef %4656) #12
  %4658 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4659 = trunc nuw i8 %4658 to i1
  br i1 %4659, label %4660, label %4664

4660:                                             ; preds = %4654
  %4661 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4662 = call i32 @fileno(ptr noundef %4661) #12
  %4663 = call i32 @isatty(i32 noundef %4662) #12
  %.not1221 = icmp eq i32 %4663, 0
  br i1 %.not1221, label %4664, label %4665

4664:                                             ; preds = %4660, %4654
  br label %4665

4665:                                             ; preds = %4660, %4664
  %.str.6.sink2920 = phi ptr [ @.str.6, %4664 ], [ @.str.3, %4660 ]
  store i32 %4655, ptr %421, align 4, !tbaa !5
  %4666 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4667 = load i32, ptr @test_count, align 4, !tbaa !5
  %4668 = load i32, ptr %367, align 4, !tbaa !5
  %4669 = call ptr @s2n_strerror(i32 noundef %4668, ptr noundef nonnull @.str.5) #12
  %4670 = load i32, ptr %367, align 4, !tbaa !5
  %4671 = call ptr @s2n_strerror_debug(i32 noundef %4670, ptr noundef nonnull @.str.5) #12
  %4672 = load i32, ptr %421, align 4, !tbaa !5
  %4673 = call ptr @strerror(i32 noundef %4672) #12
  %4674 = load i32, ptr %421, align 4, !tbaa !5
  %4675 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4666, ptr noundef nonnull %.str.6.sink2920, i32 noundef %4667, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.2, i32 noundef 547, ptr noundef %4669, ptr noundef %4671, ptr noundef %4673, i32 noundef %4674) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4676:                                             ; preds = %4645
  %4677 = load i32, ptr @test_count, align 4, !tbaa !5
  %4678 = add nsw i32 %4677, 1
  store i32 %4678, ptr @test_count, align 4, !tbaa !5
  %4679 = load i64, ptr %95, align 8, !tbaa !20
  %4680 = icmp eq i64 %4679, 10
  br i1 %4680, label %4703, label %4681

4681:                                             ; preds = %4676
  %4682 = load i32, ptr %421, align 4, !tbaa !5
  %4683 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4684 = call i32 @s2n_print_stacktrace(ptr noundef %4683) #12
  %4685 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4686 = trunc nuw i8 %4685 to i1
  br i1 %4686, label %4687, label %4691

4687:                                             ; preds = %4681
  %4688 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4689 = call i32 @fileno(ptr noundef %4688) #12
  %4690 = call i32 @isatty(i32 noundef %4689) #12
  %.not1222 = icmp eq i32 %4690, 0
  br i1 %.not1222, label %4691, label %4692

4691:                                             ; preds = %4687, %4681
  br label %4692

4692:                                             ; preds = %4687, %4691
  %.str.6.sink2929 = phi ptr [ @.str.6, %4691 ], [ @.str.3, %4687 ]
  store i32 %4682, ptr %421, align 4, !tbaa !5
  %4693 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4694 = load i32, ptr @test_count, align 4, !tbaa !5
  %4695 = load i32, ptr %367, align 4, !tbaa !5
  %4696 = call ptr @s2n_strerror(i32 noundef %4695, ptr noundef nonnull @.str.5) #12
  %4697 = load i32, ptr %367, align 4, !tbaa !5
  %4698 = call ptr @s2n_strerror_debug(i32 noundef %4697, ptr noundef nonnull @.str.5) #12
  %4699 = load i32, ptr %421, align 4, !tbaa !5
  %4700 = call ptr @strerror(i32 noundef %4699) #12
  %4701 = load i32, ptr %421, align 4, !tbaa !5
  %4702 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4693, ptr noundef nonnull %.str.6.sink2929, i32 noundef %4694, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.2, i32 noundef 548, ptr noundef %4696, ptr noundef %4698, ptr noundef %4700, i32 noundef %4701) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4703:                                             ; preds = %4676
  call void @llvm.lifetime.start.p0(i64 16384, ptr nonnull %96) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(16384) %96, i8 0, i64 16384, i1 false)
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %97) #12
  store i8 0, ptr %97, align 1, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %98) #12
  store i64 0, ptr %98, align 8, !tbaa !20
  %4704 = add nsw i32 %4677, 2
  store i32 %4704, ptr @test_count, align 4, !tbaa !5
  %4705 = load ptr, ptr %91, align 8, !tbaa !9
  %4706 = getelementptr inbounds i8, ptr %4705, i64 72
  %4707 = load ptr, ptr %4706, align 8, !tbaa !54
  %4708 = call i32 @s2n_ktls_recvmsg(ptr noundef %4707, ptr noundef nonnull %97, ptr noundef nonnull %96, i64 noundef 10, ptr noundef nonnull %94, ptr noundef nonnull %98) #12
  %4709 = call zeroext i1 @s2n_result_is_error(i32 %4708)
  br i1 %4709, label %4732, label %4710

4710:                                             ; preds = %4703
  %4711 = load i32, ptr %421, align 4, !tbaa !5
  %4712 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4713 = call i32 @s2n_print_stacktrace(ptr noundef %4712) #12
  %4714 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4715 = trunc nuw i8 %4714 to i1
  br i1 %4715, label %4716, label %4720

4716:                                             ; preds = %4710
  %4717 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4718 = call i32 @fileno(ptr noundef %4717) #12
  %4719 = call i32 @isatty(i32 noundef %4718) #12
  %.not1223 = icmp eq i32 %4719, 0
  br i1 %.not1223, label %4720, label %4721

4720:                                             ; preds = %4716, %4710
  br label %4721

4721:                                             ; preds = %4716, %4720
  %.str.6.sink2938 = phi ptr [ @.str.6, %4720 ], [ @.str.3, %4716 ]
  store i32 %4711, ptr %421, align 4, !tbaa !5
  %4722 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4723 = load i32, ptr @test_count, align 4, !tbaa !5
  %4724 = load i32, ptr %367, align 4, !tbaa !5
  %4725 = call ptr @s2n_strerror(i32 noundef %4724, ptr noundef nonnull @.str.5) #12
  %4726 = load i32, ptr %367, align 4, !tbaa !5
  %4727 = call ptr @s2n_strerror_debug(i32 noundef %4726, ptr noundef nonnull @.str.5) #12
  %4728 = load i32, ptr %421, align 4, !tbaa !5
  %4729 = call ptr @strerror(i32 noundef %4728) #12
  %4730 = load i32, ptr %421, align 4, !tbaa !5
  %4731 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4722, ptr noundef nonnull %.str.6.sink2938, i32 noundef %4723, ptr noundef nonnull @.str.64, ptr noundef nonnull @.str.2, i32 noundef 556, ptr noundef %4725, ptr noundef %4727, ptr noundef %4729, i32 noundef %4730) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4732:                                             ; preds = %4703
  %4733 = load i32, ptr @test_count, align 4, !tbaa !5
  %4734 = add nsw i32 %4733, 1
  store i32 %4734, ptr @test_count, align 4, !tbaa !5
  %4735 = load i32, ptr %367, align 4, !tbaa !5
  %4736 = icmp eq i32 %4735, 469762129
  br i1 %4736, label %4759, label %4737

4737:                                             ; preds = %4732
  %4738 = load i32, ptr %421, align 4, !tbaa !5
  %4739 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4740 = call i32 @s2n_print_stacktrace(ptr noundef %4739) #12
  %4741 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4742 = trunc nuw i8 %4741 to i1
  br i1 %4742, label %4743, label %4747

4743:                                             ; preds = %4737
  %4744 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4745 = call i32 @fileno(ptr noundef %4744) #12
  %4746 = call i32 @isatty(i32 noundef %4745) #12
  %.not1224 = icmp eq i32 %4746, 0
  br i1 %.not1224, label %4747, label %4748

4747:                                             ; preds = %4743, %4737
  br label %4748

4748:                                             ; preds = %4743, %4747
  %.str.6.sink2947 = phi ptr [ @.str.6, %4747 ], [ @.str.3, %4743 ]
  store i32 %4738, ptr %421, align 4, !tbaa !5
  %4749 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4750 = load i32, ptr @test_count, align 4, !tbaa !5
  %4751 = load i32, ptr %367, align 4, !tbaa !5
  %4752 = call ptr @s2n_strerror(i32 noundef %4751, ptr noundef nonnull @.str.5) #12
  %4753 = load i32, ptr %367, align 4, !tbaa !5
  %4754 = call ptr @s2n_strerror_debug(i32 noundef %4753, ptr noundef nonnull @.str.5) #12
  %4755 = load i32, ptr %421, align 4, !tbaa !5
  %4756 = call ptr @strerror(i32 noundef %4755) #12
  %4757 = load i32, ptr %421, align 4, !tbaa !5
  %4758 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4749, ptr noundef nonnull %.str.6.sink2947, i32 noundef %4750, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.2, i32 noundef 556, ptr noundef %4752, ptr noundef %4754, ptr noundef %4756, i32 noundef %4757) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4759:                                             ; preds = %4732
  %4760 = add nsw i32 %4733, 2
  store i32 %4760, ptr @test_count, align 4, !tbaa !5
  %4761 = call ptr @s2n_strerror_debug(i32 noundef 469762129, ptr noundef nonnull @.str.5) #12
  %4762 = icmp eq ptr %4761, null
  br i1 %4762, label %4763, label %4785

4763:                                             ; preds = %4759
  %4764 = load i32, ptr %421, align 4, !tbaa !5
  %4765 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4766 = call i32 @s2n_print_stacktrace(ptr noundef %4765) #12
  %4767 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4768 = trunc nuw i8 %4767 to i1
  br i1 %4768, label %4769, label %4773

4769:                                             ; preds = %4763
  %4770 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4771 = call i32 @fileno(ptr noundef %4770) #12
  %4772 = call i32 @isatty(i32 noundef %4771) #12
  %.not1478 = icmp eq i32 %4772, 0
  br i1 %.not1478, label %4773, label %4774

4773:                                             ; preds = %4769, %4763
  br label %4774

4774:                                             ; preds = %4769, %4773
  %.str.6.sink2956 = phi ptr [ @.str.6, %4773 ], [ @.str.3, %4769 ]
  store i32 %4764, ptr %421, align 4, !tbaa !5
  %4775 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4776 = load i32, ptr @test_count, align 4, !tbaa !5
  %4777 = load i32, ptr %367, align 4, !tbaa !5
  %4778 = call ptr @s2n_strerror(i32 noundef %4777, ptr noundef nonnull @.str.5) #12
  %4779 = load i32, ptr %367, align 4, !tbaa !5
  %4780 = call ptr @s2n_strerror_debug(i32 noundef %4779, ptr noundef nonnull @.str.5) #12
  %4781 = load i32, ptr %421, align 4, !tbaa !5
  %4782 = call ptr @strerror(i32 noundef %4781) #12
  %4783 = load i32, ptr %421, align 4, !tbaa !5
  %4784 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4775, ptr noundef nonnull %.str.6.sink2956, i32 noundef %4776, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.2, i32 noundef 556, ptr noundef %4778, ptr noundef %4780, ptr noundef %4782, i32 noundef %4783) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4785:                                             ; preds = %4759
  store i32 0, ptr %367, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %421, align 4, !tbaa !5
  %4786 = load i32, ptr @test_count, align 4, !tbaa !5
  %4787 = add nsw i32 %4786, 1
  store i32 %4787, ptr @test_count, align 4, !tbaa !5
  %4788 = load i32, ptr %94, align 4, !tbaa !5
  %4789 = icmp eq i32 %4788, 1
  br i1 %4789, label %4812, label %4790

4790:                                             ; preds = %4785
  %4791 = load i32, ptr %421, align 4, !tbaa !5
  %4792 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4793 = call i32 @s2n_print_stacktrace(ptr noundef %4792) #12
  %4794 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4795 = trunc nuw i8 %4794 to i1
  br i1 %4795, label %4796, label %4800

4796:                                             ; preds = %4790
  %4797 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4798 = call i32 @fileno(ptr noundef %4797) #12
  %4799 = call i32 @isatty(i32 noundef %4798) #12
  %.not1225 = icmp eq i32 %4799, 0
  br i1 %.not1225, label %4800, label %4801

4800:                                             ; preds = %4796, %4790
  br label %4801

4801:                                             ; preds = %4796, %4800
  %.str.6.sink2965 = phi ptr [ @.str.6, %4800 ], [ @.str.3, %4796 ]
  store i32 %4791, ptr %421, align 4, !tbaa !5
  %4802 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4803 = load i32, ptr @test_count, align 4, !tbaa !5
  %4804 = load i32, ptr %367, align 4, !tbaa !5
  %4805 = call ptr @s2n_strerror(i32 noundef %4804, ptr noundef nonnull @.str.5) #12
  %4806 = load i32, ptr %367, align 4, !tbaa !5
  %4807 = call ptr @s2n_strerror_debug(i32 noundef %4806, ptr noundef nonnull @.str.5) #12
  %4808 = load i32, ptr %421, align 4, !tbaa !5
  %4809 = call ptr @strerror(i32 noundef %4808) #12
  %4810 = load i32, ptr %421, align 4, !tbaa !5
  %4811 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4802, ptr noundef nonnull %.str.6.sink2965, i32 noundef %4803, ptr noundef nonnull @.str.65, ptr noundef nonnull @.str.2, i32 noundef 558, ptr noundef %4805, ptr noundef %4807, ptr noundef %4809, i32 noundef %4810) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4812:                                             ; preds = %4785
  %4813 = add nsw i32 %4786, 2
  store i32 %4813, ptr @test_count, align 4, !tbaa !5
  %4814 = getelementptr inbounds i8, ptr %92, i64 80
  %4815 = load i64, ptr %4814, align 8, !tbaa !55
  %4816 = icmp eq i64 %4815, 1
  br i1 %4816, label %4839, label %4817

4817:                                             ; preds = %4812
  %4818 = load i32, ptr %421, align 4, !tbaa !5
  %4819 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4820 = call i32 @s2n_print_stacktrace(ptr noundef %4819) #12
  %4821 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4822 = trunc nuw i8 %4821 to i1
  br i1 %4822, label %4823, label %4827

4823:                                             ; preds = %4817
  %4824 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4825 = call i32 @fileno(ptr noundef %4824) #12
  %4826 = call i32 @isatty(i32 noundef %4825) #12
  %.not1226 = icmp eq i32 %4826, 0
  br i1 %.not1226, label %4827, label %4828

4827:                                             ; preds = %4823, %4817
  br label %4828

4828:                                             ; preds = %4823, %4827
  %.str.6.sink2974 = phi ptr [ @.str.6, %4827 ], [ @.str.3, %4823 ]
  store i32 %4818, ptr %421, align 4, !tbaa !5
  %4829 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4830 = load i32, ptr @test_count, align 4, !tbaa !5
  %4831 = load i32, ptr %367, align 4, !tbaa !5
  %4832 = call ptr @s2n_strerror(i32 noundef %4831, ptr noundef nonnull @.str.5) #12
  %4833 = load i32, ptr %367, align 4, !tbaa !5
  %4834 = call ptr @s2n_strerror_debug(i32 noundef %4833, ptr noundef nonnull @.str.5) #12
  %4835 = load i32, ptr %421, align 4, !tbaa !5
  %4836 = call ptr @strerror(i32 noundef %4835) #12
  %4837 = load i32, ptr %421, align 4, !tbaa !5
  %4838 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4829, ptr noundef nonnull %.str.6.sink2974, i32 noundef %4830, ptr noundef nonnull @.str.62, ptr noundef nonnull @.str.2, i32 noundef 560, ptr noundef %4832, ptr noundef %4834, ptr noundef %4836, i32 noundef %4837) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4839:                                             ; preds = %4812
  %4840 = add nsw i32 %4786, 3
  store i32 %4840, ptr @test_count, align 4, !tbaa !5
  %4841 = getelementptr inbounds i8, ptr %92, i64 88
  %4842 = load i64, ptr %4841, align 8, !tbaa !57
  %4843 = icmp eq i64 %4842, 1
  br i1 %4843, label %4866, label %4844

4844:                                             ; preds = %4839
  %4845 = load i32, ptr %421, align 4, !tbaa !5
  %4846 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4847 = call i32 @s2n_print_stacktrace(ptr noundef %4846) #12
  %4848 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4849 = trunc nuw i8 %4848 to i1
  br i1 %4849, label %4850, label %4854

4850:                                             ; preds = %4844
  %4851 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4852 = call i32 @fileno(ptr noundef %4851) #12
  %4853 = call i32 @isatty(i32 noundef %4852) #12
  %.not1227 = icmp eq i32 %4853, 0
  br i1 %.not1227, label %4854, label %4855

4854:                                             ; preds = %4850, %4844
  br label %4855

4855:                                             ; preds = %4850, %4854
  %.str.6.sink2983 = phi ptr [ @.str.6, %4854 ], [ @.str.3, %4850 ]
  store i32 %4845, ptr %421, align 4, !tbaa !5
  %4856 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4857 = load i32, ptr @test_count, align 4, !tbaa !5
  %4858 = load i32, ptr %367, align 4, !tbaa !5
  %4859 = call ptr @s2n_strerror(i32 noundef %4858, ptr noundef nonnull @.str.5) #12
  %4860 = load i32, ptr %367, align 4, !tbaa !5
  %4861 = call ptr @s2n_strerror_debug(i32 noundef %4860, ptr noundef nonnull @.str.5) #12
  %4862 = load i32, ptr %421, align 4, !tbaa !5
  %4863 = call ptr @strerror(i32 noundef %4862) #12
  %4864 = load i32, ptr %421, align 4, !tbaa !5
  %4865 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4856, ptr noundef nonnull %.str.6.sink2983, i32 noundef %4857, ptr noundef nonnull @.str.63, ptr noundef nonnull @.str.2, i32 noundef 561, ptr noundef %4859, ptr noundef %4861, ptr noundef %4863, i32 noundef %4864) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4866:                                             ; preds = %4839
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %98) #12
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %97) #12
  call void @llvm.lifetime.end.p0(i64 16384, ptr nonnull %96) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %95) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %94) #12
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %93) #12
  %4867 = call i32 @s2n_ktls_io_stuffer_pair_free(ptr noundef nonnull %92) #12
  call void @llvm.lifetime.end.p0(i64 192, ptr nonnull %92) #12
  %4868 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %91) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %91) #12
  %4869 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %90) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %90) #12
  call void @llvm.lifetime.start.p0(i64 56, ptr nonnull %99) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(56) %99, i8 0, i64 16, i1 false)
  store i64 10, ptr %99, align 16
  %4870 = getelementptr inbounds i8, ptr %99, i64 16
  store i64 1, ptr %4870, align 16
  %4871 = getelementptr inbounds i8, ptr %99, i64 24
  store i64 5, ptr %4871, align 8
  %4872 = getelementptr inbounds i8, ptr %99, i64 32
  store i64 100, ptr %4872, align 16
  %4873 = getelementptr inbounds i8, ptr %99, i64 40
  store i64 100, ptr %4873, align 8
  %4874 = getelementptr inbounds i8, ptr %99, i64 48
  store i64 10, ptr %4874, align 16
  call void @llvm.lifetime.start.p0(i64 4184, ptr nonnull %100) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(4184) %100, i8 0, i64 4184, i1 false)
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %101) #12
  store i32 0, ptr %101, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %102) #12
  store ptr %101, ptr %102, align 8, !tbaa !16
  %4875 = getelementptr inbounds i8, ptr %102, i64 8
  store i64 1, ptr %4875, align 8, !tbaa !19
  %4876 = load i32, ptr @test_count, align 4, !tbaa !5
  %4877 = add nsw i32 %4876, 1
  store i32 %4877, ptr @test_count, align 4, !tbaa !5
  %4878 = call i64 @s2n_ktls_sendv_with_offset(ptr noundef null, ptr noundef nonnull %102, i64 noundef 1, i64 noundef 0, ptr noundef nonnull %101) #12
  %4879 = icmp eq i64 %4878, -1
  br i1 %4879, label %4902, label %4880

4880:                                             ; preds = %4866
  %4881 = load i32, ptr %421, align 4, !tbaa !5
  %4882 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4883 = call i32 @s2n_print_stacktrace(ptr noundef %4882) #12
  %4884 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4885 = trunc nuw i8 %4884 to i1
  br i1 %4885, label %4886, label %4890

4886:                                             ; preds = %4880
  %4887 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4888 = call i32 @fileno(ptr noundef %4887) #12
  %4889 = call i32 @isatty(i32 noundef %4888) #12
  %.not1228 = icmp eq i32 %4889, 0
  br i1 %.not1228, label %4890, label %4891

4890:                                             ; preds = %4886, %4880
  br label %4891

4891:                                             ; preds = %4886, %4890
  %.str.6.sink2992 = phi ptr [ @.str.6, %4890 ], [ @.str.3, %4886 ]
  store i32 %4881, ptr %421, align 4, !tbaa !5
  %4892 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4893 = load i32, ptr @test_count, align 4, !tbaa !5
  %4894 = load i32, ptr %367, align 4, !tbaa !5
  %4895 = call ptr @s2n_strerror(i32 noundef %4894, ptr noundef nonnull @.str.5) #12
  %4896 = load i32, ptr %367, align 4, !tbaa !5
  %4897 = call ptr @s2n_strerror_debug(i32 noundef %4896, ptr noundef nonnull @.str.5) #12
  %4898 = load i32, ptr %421, align 4, !tbaa !5
  %4899 = call ptr @strerror(i32 noundef %4898) #12
  %4900 = load i32, ptr %421, align 4, !tbaa !5
  %4901 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4892, ptr noundef nonnull %.str.6.sink2992, i32 noundef %4893, ptr noundef nonnull @.str.72, ptr noundef nonnull @.str.2, i32 noundef 577, ptr noundef %4895, ptr noundef %4897, ptr noundef %4899, i32 noundef %4900) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4902:                                             ; preds = %4866
  %4903 = load i32, ptr @test_count, align 4, !tbaa !5
  %4904 = add nsw i32 %4903, 1
  store i32 %4904, ptr @test_count, align 4, !tbaa !5
  %4905 = load i32, ptr %367, align 4, !tbaa !5
  %4906 = icmp eq i32 %4905, 402653193
  br i1 %4906, label %4929, label %4907

4907:                                             ; preds = %4902
  %4908 = load i32, ptr %421, align 4, !tbaa !5
  %4909 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4910 = call i32 @s2n_print_stacktrace(ptr noundef %4909) #12
  %4911 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4912 = trunc nuw i8 %4911 to i1
  br i1 %4912, label %4913, label %4917

4913:                                             ; preds = %4907
  %4914 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4915 = call i32 @fileno(ptr noundef %4914) #12
  %4916 = call i32 @isatty(i32 noundef %4915) #12
  %.not1229 = icmp eq i32 %4916, 0
  br i1 %.not1229, label %4917, label %4918

4917:                                             ; preds = %4913, %4907
  br label %4918

4918:                                             ; preds = %4913, %4917
  %.str.6.sink3001 = phi ptr [ @.str.6, %4917 ], [ @.str.3, %4913 ]
  store i32 %4908, ptr %421, align 4, !tbaa !5
  %4919 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4920 = load i32, ptr @test_count, align 4, !tbaa !5
  %4921 = load i32, ptr %367, align 4, !tbaa !5
  %4922 = call ptr @s2n_strerror(i32 noundef %4921, ptr noundef nonnull @.str.5) #12
  %4923 = load i32, ptr %367, align 4, !tbaa !5
  %4924 = call ptr @s2n_strerror_debug(i32 noundef %4923, ptr noundef nonnull @.str.5) #12
  %4925 = load i32, ptr %421, align 4, !tbaa !5
  %4926 = call ptr @strerror(i32 noundef %4925) #12
  %4927 = load i32, ptr %421, align 4, !tbaa !5
  %4928 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4919, ptr noundef nonnull %.str.6.sink3001, i32 noundef %4920, ptr noundef nonnull @.str.12, ptr noundef nonnull @.str.2, i32 noundef 577, ptr noundef %4922, ptr noundef %4924, ptr noundef %4926, i32 noundef %4927) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4929:                                             ; preds = %4902
  %4930 = add nsw i32 %4903, 2
  store i32 %4930, ptr @test_count, align 4, !tbaa !5
  %4931 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.5) #12
  %4932 = icmp eq ptr %4931, null
  br i1 %4932, label %4933, label %4955

4933:                                             ; preds = %4929
  %4934 = load i32, ptr %421, align 4, !tbaa !5
  %4935 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4936 = call i32 @s2n_print_stacktrace(ptr noundef %4935) #12
  %4937 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4938 = trunc nuw i8 %4937 to i1
  br i1 %4938, label %4939, label %4943

4939:                                             ; preds = %4933
  %4940 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4941 = call i32 @fileno(ptr noundef %4940) #12
  %4942 = call i32 @isatty(i32 noundef %4941) #12
  %.not1477 = icmp eq i32 %4942, 0
  br i1 %.not1477, label %4943, label %4944

4943:                                             ; preds = %4939, %4933
  br label %4944

4944:                                             ; preds = %4939, %4943
  %.str.6.sink3010 = phi ptr [ @.str.6, %4943 ], [ @.str.3, %4939 ]
  store i32 %4934, ptr %421, align 4, !tbaa !5
  %4945 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4946 = load i32, ptr @test_count, align 4, !tbaa !5
  %4947 = load i32, ptr %367, align 4, !tbaa !5
  %4948 = call ptr @s2n_strerror(i32 noundef %4947, ptr noundef nonnull @.str.5) #12
  %4949 = load i32, ptr %367, align 4, !tbaa !5
  %4950 = call ptr @s2n_strerror_debug(i32 noundef %4949, ptr noundef nonnull @.str.5) #12
  %4951 = load i32, ptr %421, align 4, !tbaa !5
  %4952 = call ptr @strerror(i32 noundef %4951) #12
  %4953 = load i32, ptr %421, align 4, !tbaa !5
  %4954 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4945, ptr noundef nonnull %.str.6.sink3010, i32 noundef %4946, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.2, i32 noundef 577, ptr noundef %4948, ptr noundef %4950, ptr noundef %4952, i32 noundef %4953) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4955:                                             ; preds = %4929
  store i32 0, ptr %367, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %421, align 4, !tbaa !5
  %4956 = load i32, ptr @test_count, align 4, !tbaa !5
  %4957 = add nsw i32 %4956, 1
  store i32 %4957, ptr @test_count, align 4, !tbaa !5
  %4958 = call i64 @s2n_ktls_sendv_with_offset(ptr noundef nonnull %100, ptr noundef null, i64 noundef 1, i64 noundef 0, ptr noundef nonnull %101) #12
  %4959 = icmp eq i64 %4958, -1
  br i1 %4959, label %4982, label %4960

4960:                                             ; preds = %4955
  %4961 = load i32, ptr %421, align 4, !tbaa !5
  %4962 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4963 = call i32 @s2n_print_stacktrace(ptr noundef %4962) #12
  %4964 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4965 = trunc nuw i8 %4964 to i1
  br i1 %4965, label %4966, label %4970

4966:                                             ; preds = %4960
  %4967 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4968 = call i32 @fileno(ptr noundef %4967) #12
  %4969 = call i32 @isatty(i32 noundef %4968) #12
  %.not1230 = icmp eq i32 %4969, 0
  br i1 %.not1230, label %4970, label %4971

4970:                                             ; preds = %4966, %4960
  br label %4971

4971:                                             ; preds = %4966, %4970
  %.str.6.sink3019 = phi ptr [ @.str.6, %4970 ], [ @.str.3, %4966 ]
  store i32 %4961, ptr %421, align 4, !tbaa !5
  %4972 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4973 = load i32, ptr @test_count, align 4, !tbaa !5
  %4974 = load i32, ptr %367, align 4, !tbaa !5
  %4975 = call ptr @s2n_strerror(i32 noundef %4974, ptr noundef nonnull @.str.5) #12
  %4976 = load i32, ptr %367, align 4, !tbaa !5
  %4977 = call ptr @s2n_strerror_debug(i32 noundef %4976, ptr noundef nonnull @.str.5) #12
  %4978 = load i32, ptr %421, align 4, !tbaa !5
  %4979 = call ptr @strerror(i32 noundef %4978) #12
  %4980 = load i32, ptr %421, align 4, !tbaa !5
  %4981 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4972, ptr noundef nonnull %.str.6.sink3019, i32 noundef %4973, ptr noundef nonnull @.str.73, ptr noundef nonnull @.str.2, i32 noundef 580, ptr noundef %4975, ptr noundef %4977, ptr noundef %4979, i32 noundef %4980) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4982:                                             ; preds = %4955
  %4983 = load i32, ptr @test_count, align 4, !tbaa !5
  %4984 = add nsw i32 %4983, 1
  store i32 %4984, ptr @test_count, align 4, !tbaa !5
  %4985 = load i32, ptr %367, align 4, !tbaa !5
  %4986 = icmp eq i32 %4985, 402653193
  br i1 %4986, label %5009, label %4987

4987:                                             ; preds = %4982
  %4988 = load i32, ptr %421, align 4, !tbaa !5
  %4989 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4990 = call i32 @s2n_print_stacktrace(ptr noundef %4989) #12
  %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) #12
  %4996 = call i32 @isatty(i32 noundef %4995) #12
  %.not1231 = icmp eq i32 %4996, 0
  br i1 %.not1231, label %4997, label %4998

4997:                                             ; preds = %4993, %4987
  br label %4998

4998:                                             ; preds = %4993, %4997
  %.str.6.sink3028 = phi ptr [ @.str.6, %4997 ], [ @.str.3, %4993 ]
  store i32 %4988, ptr %421, 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 %367, align 4, !tbaa !5
  %5002 = call ptr @s2n_strerror(i32 noundef %5001, ptr noundef nonnull @.str.5) #12
  %5003 = load i32, ptr %367, align 4, !tbaa !5
  %5004 = call ptr @s2n_strerror_debug(i32 noundef %5003, ptr noundef nonnull @.str.5) #12
  %5005 = load i32, ptr %421, align 4, !tbaa !5
  %5006 = call ptr @strerror(i32 noundef %5005) #12
  %5007 = load i32, ptr %421, align 4, !tbaa !5
  %5008 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4999, ptr noundef nonnull %.str.6.sink3028, i32 noundef %5000, ptr noundef nonnull @.str.12, ptr noundef nonnull @.str.2, i32 noundef 580, ptr noundef %5002, ptr noundef %5004, ptr noundef %5006, i32 noundef %5007) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5009:                                             ; preds = %4982
  %5010 = add nsw i32 %4983, 2
  store i32 %5010, ptr @test_count, align 4, !tbaa !5
  %5011 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.5) #12
  %5012 = icmp eq ptr %5011, null
  br i1 %5012, label %5013, label %5035

5013:                                             ; preds = %5009
  %5014 = load i32, ptr %421, align 4, !tbaa !5
  %5015 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5016 = call i32 @s2n_print_stacktrace(ptr noundef %5015) #12
  %5017 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5018 = trunc nuw i8 %5017 to i1
  br i1 %5018, label %5019, label %5023

5019:                                             ; preds = %5013
  %5020 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5021 = call i32 @fileno(ptr noundef %5020) #12
  %5022 = call i32 @isatty(i32 noundef %5021) #12
  %.not1476 = icmp eq i32 %5022, 0
  br i1 %.not1476, label %5023, label %5024

5023:                                             ; preds = %5019, %5013
  br label %5024

5024:                                             ; preds = %5019, %5023
  %.str.6.sink3037 = phi ptr [ @.str.6, %5023 ], [ @.str.3, %5019 ]
  store i32 %5014, ptr %421, align 4, !tbaa !5
  %5025 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5026 = load i32, ptr @test_count, align 4, !tbaa !5
  %5027 = load i32, ptr %367, align 4, !tbaa !5
  %5028 = call ptr @s2n_strerror(i32 noundef %5027, ptr noundef nonnull @.str.5) #12
  %5029 = load i32, ptr %367, align 4, !tbaa !5
  %5030 = call ptr @s2n_strerror_debug(i32 noundef %5029, ptr noundef nonnull @.str.5) #12
  %5031 = load i32, ptr %421, align 4, !tbaa !5
  %5032 = call ptr @strerror(i32 noundef %5031) #12
  %5033 = load i32, ptr %421, align 4, !tbaa !5
  %5034 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5025, ptr noundef nonnull %.str.6.sink3037, i32 noundef %5026, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.2, i32 noundef 580, ptr noundef %5028, ptr noundef %5030, ptr noundef %5032, i32 noundef %5033) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5035:                                             ; preds = %5009
  store i32 0, ptr %367, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %421, align 4, !tbaa !5
  %5036 = load i32, ptr @test_count, align 4, !tbaa !5
  %5037 = add nsw i32 %5036, 1
  store i32 %5037, ptr @test_count, align 4, !tbaa !5
  %5038 = call i64 @s2n_ktls_sendv_with_offset(ptr noundef nonnull %100, ptr noundef null, i64 noundef 1, i64 noundef 1, ptr noundef nonnull %101) #12
  %5039 = icmp eq i64 %5038, -1
  br i1 %5039, label %5062, label %5040

5040:                                             ; preds = %5035
  %5041 = load i32, ptr %421, align 4, !tbaa !5
  %5042 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5043 = call i32 @s2n_print_stacktrace(ptr noundef %5042) #12
  %5044 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5045 = trunc nuw i8 %5044 to i1
  br i1 %5045, label %5046, label %5050

5046:                                             ; preds = %5040
  %5047 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5048 = call i32 @fileno(ptr noundef %5047) #12
  %5049 = call i32 @isatty(i32 noundef %5048) #12
  %.not1232 = icmp eq i32 %5049, 0
  br i1 %.not1232, label %5050, label %5051

5050:                                             ; preds = %5046, %5040
  br label %5051

5051:                                             ; preds = %5046, %5050
  %.str.6.sink3046 = phi ptr [ @.str.6, %5050 ], [ @.str.3, %5046 ]
  store i32 %5041, ptr %421, align 4, !tbaa !5
  %5052 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5053 = load i32, ptr @test_count, align 4, !tbaa !5
  %5054 = load i32, ptr %367, align 4, !tbaa !5
  %5055 = call ptr @s2n_strerror(i32 noundef %5054, ptr noundef nonnull @.str.5) #12
  %5056 = load i32, ptr %367, align 4, !tbaa !5
  %5057 = call ptr @s2n_strerror_debug(i32 noundef %5056, ptr noundef nonnull @.str.5) #12
  %5058 = load i32, ptr %421, align 4, !tbaa !5
  %5059 = call ptr @strerror(i32 noundef %5058) #12
  %5060 = load i32, ptr %421, align 4, !tbaa !5
  %5061 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5052, ptr noundef nonnull %.str.6.sink3046, i32 noundef %5053, ptr noundef nonnull @.str.74, ptr noundef nonnull @.str.2, i32 noundef 583, ptr noundef %5055, ptr noundef %5057, ptr noundef %5059, i32 noundef %5060) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5062:                                             ; preds = %5035
  %5063 = load i32, ptr @test_count, align 4, !tbaa !5
  %5064 = add nsw i32 %5063, 1
  store i32 %5064, ptr @test_count, align 4, !tbaa !5
  %5065 = load i32, ptr %367, align 4, !tbaa !5
  %5066 = icmp eq i32 %5065, 402653193
  br i1 %5066, label %5089, label %5067

5067:                                             ; preds = %5062
  %5068 = load i32, ptr %421, align 4, !tbaa !5
  %5069 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5070 = call i32 @s2n_print_stacktrace(ptr noundef %5069) #12
  %5071 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5072 = trunc nuw i8 %5071 to i1
  br i1 %5072, label %5073, label %5077

5073:                                             ; preds = %5067
  %5074 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5075 = call i32 @fileno(ptr noundef %5074) #12
  %5076 = call i32 @isatty(i32 noundef %5075) #12
  %.not1233 = icmp eq i32 %5076, 0
  br i1 %.not1233, label %5077, label %5078

5077:                                             ; preds = %5073, %5067
  br label %5078

5078:                                             ; preds = %5073, %5077
  %.str.6.sink3055 = phi ptr [ @.str.6, %5077 ], [ @.str.3, %5073 ]
  store i32 %5068, ptr %421, align 4, !tbaa !5
  %5079 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5080 = load i32, ptr @test_count, align 4, !tbaa !5
  %5081 = load i32, ptr %367, align 4, !tbaa !5
  %5082 = call ptr @s2n_strerror(i32 noundef %5081, ptr noundef nonnull @.str.5) #12
  %5083 = load i32, ptr %367, align 4, !tbaa !5
  %5084 = call ptr @s2n_strerror_debug(i32 noundef %5083, ptr noundef nonnull @.str.5) #12
  %5085 = load i32, ptr %421, align 4, !tbaa !5
  %5086 = call ptr @strerror(i32 noundef %5085) #12
  %5087 = load i32, ptr %421, align 4, !tbaa !5
  %5088 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5079, ptr noundef nonnull %.str.6.sink3055, i32 noundef %5080, ptr noundef nonnull @.str.12, ptr noundef nonnull @.str.2, i32 noundef 583, ptr noundef %5082, ptr noundef %5084, ptr noundef %5086, i32 noundef %5087) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5089:                                             ; preds = %5062
  %5090 = add nsw i32 %5063, 2
  store i32 %5090, ptr @test_count, align 4, !tbaa !5
  %5091 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.5) #12
  %5092 = icmp eq ptr %5091, null
  br i1 %5092, label %5093, label %5115

5093:                                             ; preds = %5089
  %5094 = load i32, ptr %421, align 4, !tbaa !5
  %5095 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5096 = call i32 @s2n_print_stacktrace(ptr noundef %5095) #12
  %5097 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5098 = trunc nuw i8 %5097 to i1
  br i1 %5098, label %5099, label %5103

5099:                                             ; preds = %5093
  %5100 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5101 = call i32 @fileno(ptr noundef %5100) #12
  %5102 = call i32 @isatty(i32 noundef %5101) #12
  %.not1475 = icmp eq i32 %5102, 0
  br i1 %.not1475, label %5103, label %5104

5103:                                             ; preds = %5099, %5093
  br label %5104

5104:                                             ; preds = %5099, %5103
  %.str.6.sink3064 = phi ptr [ @.str.6, %5103 ], [ @.str.3, %5099 ]
  store i32 %5094, ptr %421, align 4, !tbaa !5
  %5105 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5106 = load i32, ptr @test_count, align 4, !tbaa !5
  %5107 = load i32, ptr %367, align 4, !tbaa !5
  %5108 = call ptr @s2n_strerror(i32 noundef %5107, ptr noundef nonnull @.str.5) #12
  %5109 = load i32, ptr %367, align 4, !tbaa !5
  %5110 = call ptr @s2n_strerror_debug(i32 noundef %5109, ptr noundef nonnull @.str.5) #12
  %5111 = load i32, ptr %421, align 4, !tbaa !5
  %5112 = call ptr @strerror(i32 noundef %5111) #12
  %5113 = load i32, ptr %421, align 4, !tbaa !5
  %5114 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5105, ptr noundef nonnull %.str.6.sink3064, i32 noundef %5106, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.2, i32 noundef 583, ptr noundef %5108, ptr noundef %5110, ptr noundef %5112, i32 noundef %5113) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5115:                                             ; preds = %5089
  store i32 0, ptr %367, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %421, align 4, !tbaa !5
  %5116 = load i32, ptr @test_count, align 4, !tbaa !5
  %5117 = add nsw i32 %5116, 1
  store i32 %5117, ptr @test_count, align 4, !tbaa !5
  %5118 = call i64 @s2n_ktls_sendv_with_offset(ptr noundef nonnull %100, ptr noundef nonnull %102, i64 noundef 1, i64 noundef 0, ptr noundef null) #12
  %5119 = icmp eq i64 %5118, -1
  br i1 %5119, label %5142, label %5120

5120:                                             ; preds = %5115
  %5121 = load i32, ptr %421, align 4, !tbaa !5
  %5122 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5123 = call i32 @s2n_print_stacktrace(ptr noundef %5122) #12
  %5124 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5125 = trunc nuw i8 %5124 to i1
  br i1 %5125, label %5126, label %5130

5126:                                             ; preds = %5120
  %5127 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5128 = call i32 @fileno(ptr noundef %5127) #12
  %5129 = call i32 @isatty(i32 noundef %5128) #12
  %.not1234 = icmp eq i32 %5129, 0
  br i1 %.not1234, label %5130, label %5131

5130:                                             ; preds = %5126, %5120
  br label %5131

5131:                                             ; preds = %5126, %5130
  %.str.6.sink3073 = phi ptr [ @.str.6, %5130 ], [ @.str.3, %5126 ]
  store i32 %5121, ptr %421, align 4, !tbaa !5
  %5132 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5133 = load i32, ptr @test_count, align 4, !tbaa !5
  %5134 = load i32, ptr %367, align 4, !tbaa !5
  %5135 = call ptr @s2n_strerror(i32 noundef %5134, ptr noundef nonnull @.str.5) #12
  %5136 = load i32, ptr %367, align 4, !tbaa !5
  %5137 = call ptr @s2n_strerror_debug(i32 noundef %5136, ptr noundef nonnull @.str.5) #12
  %5138 = load i32, ptr %421, align 4, !tbaa !5
  %5139 = call ptr @strerror(i32 noundef %5138) #12
  %5140 = load i32, ptr %421, align 4, !tbaa !5
  %5141 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5132, ptr noundef nonnull %.str.6.sink3073, i32 noundef %5133, ptr noundef nonnull @.str.75, ptr noundef nonnull @.str.2, i32 noundef 586, ptr noundef %5135, ptr noundef %5137, ptr noundef %5139, i32 noundef %5140) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5142:                                             ; preds = %5115
  %5143 = load i32, ptr @test_count, align 4, !tbaa !5
  %5144 = add nsw i32 %5143, 1
  store i32 %5144, ptr @test_count, align 4, !tbaa !5
  %5145 = load i32, ptr %367, align 4, !tbaa !5
  %5146 = icmp eq i32 %5145, 402653193
  br i1 %5146, label %5169, label %5147

5147:                                             ; preds = %5142
  %5148 = load i32, ptr %421, align 4, !tbaa !5
  %5149 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5150 = call i32 @s2n_print_stacktrace(ptr noundef %5149) #12
  %5151 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5152 = trunc nuw i8 %5151 to i1
  br i1 %5152, label %5153, label %5157

5153:                                             ; preds = %5147
  %5154 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5155 = call i32 @fileno(ptr noundef %5154) #12
  %5156 = call i32 @isatty(i32 noundef %5155) #12
  %.not1235 = icmp eq i32 %5156, 0
  br i1 %.not1235, label %5157, label %5158

5157:                                             ; preds = %5153, %5147
  br label %5158

5158:                                             ; preds = %5153, %5157
  %.str.6.sink3082 = phi ptr [ @.str.6, %5157 ], [ @.str.3, %5153 ]
  store i32 %5148, ptr %421, align 4, !tbaa !5
  %5159 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5160 = load i32, ptr @test_count, align 4, !tbaa !5
  %5161 = load i32, ptr %367, align 4, !tbaa !5
  %5162 = call ptr @s2n_strerror(i32 noundef %5161, ptr noundef nonnull @.str.5) #12
  %5163 = load i32, ptr %367, align 4, !tbaa !5
  %5164 = call ptr @s2n_strerror_debug(i32 noundef %5163, ptr noundef nonnull @.str.5) #12
  %5165 = load i32, ptr %421, align 4, !tbaa !5
  %5166 = call ptr @strerror(i32 noundef %5165) #12
  %5167 = load i32, ptr %421, align 4, !tbaa !5
  %5168 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5159, ptr noundef nonnull %.str.6.sink3082, i32 noundef %5160, ptr noundef nonnull @.str.12, ptr noundef nonnull @.str.2, i32 noundef 586, ptr noundef %5162, ptr noundef %5164, ptr noundef %5166, i32 noundef %5167) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5169:                                             ; preds = %5142
  %5170 = add nsw i32 %5143, 2
  store i32 %5170, ptr @test_count, align 4, !tbaa !5
  %5171 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.5) #12
  %5172 = icmp eq ptr %5171, null
  br i1 %5172, label %5173, label %5195

5173:                                             ; preds = %5169
  %5174 = load i32, ptr %421, align 4, !tbaa !5
  %5175 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5176 = call i32 @s2n_print_stacktrace(ptr noundef %5175) #12
  %5177 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5178 = trunc nuw i8 %5177 to i1
  br i1 %5178, label %5179, label %5183

5179:                                             ; preds = %5173
  %5180 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5181 = call i32 @fileno(ptr noundef %5180) #12
  %5182 = call i32 @isatty(i32 noundef %5181) #12
  %.not1474 = icmp eq i32 %5182, 0
  br i1 %.not1474, label %5183, label %5184

5183:                                             ; preds = %5179, %5173
  br label %5184

5184:                                             ; preds = %5179, %5183
  %.str.6.sink3091 = phi ptr [ @.str.6, %5183 ], [ @.str.3, %5179 ]
  store i32 %5174, ptr %421, align 4, !tbaa !5
  %5185 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5186 = load i32, ptr @test_count, align 4, !tbaa !5
  %5187 = load i32, ptr %367, align 4, !tbaa !5
  %5188 = call ptr @s2n_strerror(i32 noundef %5187, ptr noundef nonnull @.str.5) #12
  %5189 = load i32, ptr %367, align 4, !tbaa !5
  %5190 = call ptr @s2n_strerror_debug(i32 noundef %5189, ptr noundef nonnull @.str.5) #12
  %5191 = load i32, ptr %421, align 4, !tbaa !5
  %5192 = call ptr @strerror(i32 noundef %5191) #12
  %5193 = load i32, ptr %421, align 4, !tbaa !5
  %5194 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5185, ptr noundef nonnull %.str.6.sink3091, i32 noundef %5186, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.2, i32 noundef 586, ptr noundef %5188, ptr noundef %5190, ptr noundef %5192, i32 noundef %5193) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5195:                                             ; preds = %5169
  store i32 0, ptr %367, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %421, align 4, !tbaa !5
  %5196 = load i32, ptr @test_count, align 4, !tbaa !5
  %5197 = add nsw i32 %5196, 1
  store i32 %5197, ptr @test_count, align 4, !tbaa !5
  %5198 = call i64 @s2n_ktls_sendv_with_offset(ptr noundef nonnull %100, ptr noundef nonnull %102, i64 noundef -1, i64 noundef 0, ptr noundef nonnull %101) #12
  %5199 = icmp eq i64 %5198, -1
  br i1 %5199, label %5222, label %5200

5200:                                             ; preds = %5195
  %5201 = load i32, ptr %421, align 4, !tbaa !5
  %5202 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5203 = call i32 @s2n_print_stacktrace(ptr noundef %5202) #12
  %5204 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5205 = trunc nuw i8 %5204 to i1
  br i1 %5205, label %5206, label %5210

5206:                                             ; preds = %5200
  %5207 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5208 = call i32 @fileno(ptr noundef %5207) #12
  %5209 = call i32 @isatty(i32 noundef %5208) #12
  %.not1236 = icmp eq i32 %5209, 0
  br i1 %.not1236, label %5210, label %5211

5210:                                             ; preds = %5206, %5200
  br label %5211

5211:                                             ; preds = %5206, %5210
  %.str.6.sink3100 = phi ptr [ @.str.6, %5210 ], [ @.str.3, %5206 ]
  store i32 %5201, ptr %421, align 4, !tbaa !5
  %5212 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5213 = load i32, ptr @test_count, align 4, !tbaa !5
  %5214 = load i32, ptr %367, align 4, !tbaa !5
  %5215 = call ptr @s2n_strerror(i32 noundef %5214, ptr noundef nonnull @.str.5) #12
  %5216 = load i32, ptr %367, align 4, !tbaa !5
  %5217 = call ptr @s2n_strerror_debug(i32 noundef %5216, ptr noundef nonnull @.str.5) #12
  %5218 = load i32, ptr %421, align 4, !tbaa !5
  %5219 = call ptr @strerror(i32 noundef %5218) #12
  %5220 = load i32, ptr %421, align 4, !tbaa !5
  %5221 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5212, ptr noundef nonnull %.str.6.sink3100, i32 noundef %5213, ptr noundef nonnull @.str.76, ptr noundef nonnull @.str.2, i32 noundef 589, ptr noundef %5215, ptr noundef %5217, ptr noundef %5219, i32 noundef %5220) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5222:                                             ; preds = %5195
  %5223 = load i32, ptr @test_count, align 4, !tbaa !5
  %5224 = add nsw i32 %5223, 1
  store i32 %5224, ptr @test_count, align 4, !tbaa !5
  %5225 = load i32, ptr %367, align 4, !tbaa !5
  %5226 = icmp eq i32 %5225, 469762089
  br i1 %5226, label %5249, label %5227

5227:                                             ; preds = %5222
  %5228 = load i32, ptr %421, align 4, !tbaa !5
  %5229 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5230 = call i32 @s2n_print_stacktrace(ptr noundef %5229) #12
  %5231 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5232 = trunc nuw i8 %5231 to i1
  br i1 %5232, label %5233, label %5237

5233:                                             ; preds = %5227
  %5234 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5235 = call i32 @fileno(ptr noundef %5234) #12
  %5236 = call i32 @isatty(i32 noundef %5235) #12
  %.not1237 = icmp eq i32 %5236, 0
  br i1 %.not1237, label %5237, label %5238

5237:                                             ; preds = %5233, %5227
  br label %5238

5238:                                             ; preds = %5233, %5237
  %.str.6.sink3109 = phi ptr [ @.str.6, %5237 ], [ @.str.3, %5233 ]
  store i32 %5228, ptr %421, align 4, !tbaa !5
  %5239 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5240 = load i32, ptr @test_count, align 4, !tbaa !5
  %5241 = load i32, ptr %367, align 4, !tbaa !5
  %5242 = call ptr @s2n_strerror(i32 noundef %5241, ptr noundef nonnull @.str.5) #12
  %5243 = load i32, ptr %367, align 4, !tbaa !5
  %5244 = call ptr @s2n_strerror_debug(i32 noundef %5243, ptr noundef nonnull @.str.5) #12
  %5245 = load i32, ptr %421, align 4, !tbaa !5
  %5246 = call ptr @strerror(i32 noundef %5245) #12
  %5247 = load i32, ptr %421, align 4, !tbaa !5
  %5248 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5239, ptr noundef nonnull %.str.6.sink3109, i32 noundef %5240, ptr noundef nonnull @.str.77, ptr noundef nonnull @.str.2, i32 noundef 589, ptr noundef %5242, ptr noundef %5244, ptr noundef %5246, i32 noundef %5247) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5249:                                             ; preds = %5222
  %5250 = add nsw i32 %5223, 2
  store i32 %5250, ptr @test_count, align 4, !tbaa !5
  %5251 = call ptr @s2n_strerror_debug(i32 noundef 469762089, ptr noundef nonnull @.str.5) #12
  %5252 = icmp eq ptr %5251, null
  br i1 %5252, label %5253, label %5275

5253:                                             ; preds = %5249
  %5254 = load i32, ptr %421, align 4, !tbaa !5
  %5255 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5256 = call i32 @s2n_print_stacktrace(ptr noundef %5255) #12
  %5257 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5258 = trunc nuw i8 %5257 to i1
  br i1 %5258, label %5259, label %5263

5259:                                             ; preds = %5253
  %5260 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5261 = call i32 @fileno(ptr noundef %5260) #12
  %5262 = call i32 @isatty(i32 noundef %5261) #12
  %.not1473 = icmp eq i32 %5262, 0
  br i1 %.not1473, label %5263, label %5264

5263:                                             ; preds = %5259, %5253
  br label %5264

5264:                                             ; preds = %5259, %5263
  %.str.6.sink3118 = phi ptr [ @.str.6, %5263 ], [ @.str.3, %5259 ]
  store i32 %5254, ptr %421, align 4, !tbaa !5
  %5265 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5266 = load i32, ptr @test_count, align 4, !tbaa !5
  %5267 = load i32, ptr %367, align 4, !tbaa !5
  %5268 = call ptr @s2n_strerror(i32 noundef %5267, ptr noundef nonnull @.str.5) #12
  %5269 = load i32, ptr %367, align 4, !tbaa !5
  %5270 = call ptr @s2n_strerror_debug(i32 noundef %5269, ptr noundef nonnull @.str.5) #12
  %5271 = load i32, ptr %421, align 4, !tbaa !5
  %5272 = call ptr @strerror(i32 noundef %5271) #12
  %5273 = load i32, ptr %421, align 4, !tbaa !5
  %5274 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5265, ptr noundef nonnull %.str.6.sink3118, i32 noundef %5266, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.2, i32 noundef 589, ptr noundef %5268, ptr noundef %5270, ptr noundef %5272, i32 noundef %5273) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5275:                                             ; preds = %5249
  store i32 0, ptr %367, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %421, align 4, !tbaa !5
  %5276 = load i32, ptr @test_count, align 4, !tbaa !5
  %5277 = add nsw i32 %5276, 1
  store i32 %5277, ptr @test_count, align 4, !tbaa !5
  %5278 = call i64 @s2n_ktls_sendv_with_offset(ptr noundef nonnull %100, ptr noundef nonnull %102, i64 noundef 1, i64 noundef -1, ptr noundef nonnull %101) #12
  %5279 = icmp eq i64 %5278, -1
  br i1 %5279, label %5302, label %5280

5280:                                             ; preds = %5275
  %5281 = load i32, ptr %421, align 4, !tbaa !5
  %5282 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5283 = call i32 @s2n_print_stacktrace(ptr noundef %5282) #12
  %5284 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5285 = trunc nuw i8 %5284 to i1
  br i1 %5285, label %5286, label %5290

5286:                                             ; preds = %5280
  %5287 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5288 = call i32 @fileno(ptr noundef %5287) #12
  %5289 = call i32 @isatty(i32 noundef %5288) #12
  %.not1238 = icmp eq i32 %5289, 0
  br i1 %.not1238, label %5290, label %5291

5290:                                             ; preds = %5286, %5280
  br label %5291

5291:                                             ; preds = %5286, %5290
  %.str.6.sink3127 = phi ptr [ @.str.6, %5290 ], [ @.str.3, %5286 ]
  store i32 %5281, ptr %421, align 4, !tbaa !5
  %5292 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5293 = load i32, ptr @test_count, align 4, !tbaa !5
  %5294 = load i32, ptr %367, align 4, !tbaa !5
  %5295 = call ptr @s2n_strerror(i32 noundef %5294, ptr noundef nonnull @.str.5) #12
  %5296 = load i32, ptr %367, align 4, !tbaa !5
  %5297 = call ptr @s2n_strerror_debug(i32 noundef %5296, ptr noundef nonnull @.str.5) #12
  %5298 = load i32, ptr %421, align 4, !tbaa !5
  %5299 = call ptr @strerror(i32 noundef %5298) #12
  %5300 = load i32, ptr %421, align 4, !tbaa !5
  %5301 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5292, ptr noundef nonnull %.str.6.sink3127, i32 noundef %5293, ptr noundef nonnull @.str.78, ptr noundef nonnull @.str.2, i32 noundef 592, ptr noundef %5295, ptr noundef %5297, ptr noundef %5299, i32 noundef %5300) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5302:                                             ; preds = %5275
  %5303 = load i32, ptr @test_count, align 4, !tbaa !5
  %5304 = add nsw i32 %5303, 1
  store i32 %5304, ptr @test_count, align 4, !tbaa !5
  %5305 = load i32, ptr %367, align 4, !tbaa !5
  %5306 = icmp eq i32 %5305, 469762089
  br i1 %5306, label %5329, label %5307

5307:                                             ; preds = %5302
  %5308 = load i32, ptr %421, align 4, !tbaa !5
  %5309 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5310 = call i32 @s2n_print_stacktrace(ptr noundef %5309) #12
  %5311 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5312 = trunc nuw i8 %5311 to i1
  br i1 %5312, label %5313, label %5317

5313:                                             ; preds = %5307
  %5314 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5315 = call i32 @fileno(ptr noundef %5314) #12
  %5316 = call i32 @isatty(i32 noundef %5315) #12
  %.not1239 = icmp eq i32 %5316, 0
  br i1 %.not1239, label %5317, label %5318

5317:                                             ; preds = %5313, %5307
  br label %5318

5318:                                             ; preds = %5313, %5317
  %.str.6.sink3136 = phi ptr [ @.str.6, %5317 ], [ @.str.3, %5313 ]
  store i32 %5308, ptr %421, align 4, !tbaa !5
  %5319 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5320 = load i32, ptr @test_count, align 4, !tbaa !5
  %5321 = load i32, ptr %367, align 4, !tbaa !5
  %5322 = call ptr @s2n_strerror(i32 noundef %5321, ptr noundef nonnull @.str.5) #12
  %5323 = load i32, ptr %367, align 4, !tbaa !5
  %5324 = call ptr @s2n_strerror_debug(i32 noundef %5323, ptr noundef nonnull @.str.5) #12
  %5325 = load i32, ptr %421, align 4, !tbaa !5
  %5326 = call ptr @strerror(i32 noundef %5325) #12
  %5327 = load i32, ptr %421, align 4, !tbaa !5
  %5328 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5319, ptr noundef nonnull %.str.6.sink3136, i32 noundef %5320, ptr noundef nonnull @.str.77, ptr noundef nonnull @.str.2, i32 noundef 592, ptr noundef %5322, ptr noundef %5324, ptr noundef %5326, i32 noundef %5327) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5329:                                             ; preds = %5302
  %5330 = add nsw i32 %5303, 2
  store i32 %5330, ptr @test_count, align 4, !tbaa !5
  %5331 = call ptr @s2n_strerror_debug(i32 noundef 469762089, ptr noundef nonnull @.str.5) #12
  %5332 = icmp eq ptr %5331, null
  br i1 %5332, label %5333, label %5355

5333:                                             ; preds = %5329
  %5334 = load i32, ptr %421, align 4, !tbaa !5
  %5335 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5336 = call i32 @s2n_print_stacktrace(ptr noundef %5335) #12
  %5337 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5338 = trunc nuw i8 %5337 to i1
  br i1 %5338, label %5339, label %5343

5339:                                             ; preds = %5333
  %5340 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5341 = call i32 @fileno(ptr noundef %5340) #12
  %5342 = call i32 @isatty(i32 noundef %5341) #12
  %.not1472 = icmp eq i32 %5342, 0
  br i1 %.not1472, label %5343, label %5344

5343:                                             ; preds = %5339, %5333
  br label %5344

5344:                                             ; preds = %5339, %5343
  %.str.6.sink3145 = phi ptr [ @.str.6, %5343 ], [ @.str.3, %5339 ]
  store i32 %5334, ptr %421, align 4, !tbaa !5
  %5345 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5346 = load i32, ptr @test_count, align 4, !tbaa !5
  %5347 = load i32, ptr %367, align 4, !tbaa !5
  %5348 = call ptr @s2n_strerror(i32 noundef %5347, ptr noundef nonnull @.str.5) #12
  %5349 = load i32, ptr %367, align 4, !tbaa !5
  %5350 = call ptr @s2n_strerror_debug(i32 noundef %5349, ptr noundef nonnull @.str.5) #12
  %5351 = load i32, ptr %421, align 4, !tbaa !5
  %5352 = call ptr @strerror(i32 noundef %5351) #12
  %5353 = load i32, ptr %421, align 4, !tbaa !5
  %5354 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5345, ptr noundef nonnull %.str.6.sink3145, i32 noundef %5346, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.2, i32 noundef 592, ptr noundef %5348, ptr noundef %5350, ptr noundef %5352, i32 noundef %5353) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5355:                                             ; preds = %5329
  store i32 0, ptr %367, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %421, align 4, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %102) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %101) #12
  call void @llvm.lifetime.end.p0(i64 4184, ptr nonnull %100) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %103) #12
  %5356 = call ptr @s2n_connection_new(i32 noundef 0) #12
  store ptr %5356, ptr %103, align 8, !tbaa !9
  %5357 = load i32, ptr @test_count, align 4, !tbaa !5
  %5358 = add nsw i32 %5357, 1
  store i32 %5358, ptr @test_count, align 4, !tbaa !5
  %5359 = icmp eq ptr %5356, null
  br i1 %5359, label %5360, label %5382

5360:                                             ; preds = %5355
  %5361 = load i32, ptr %421, align 4, !tbaa !5
  %5362 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5363 = call i32 @s2n_print_stacktrace(ptr noundef %5362) #12
  %5364 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5365 = trunc nuw i8 %5364 to i1
  br i1 %5365, label %5366, label %5370

5366:                                             ; preds = %5360
  %5367 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5368 = call i32 @fileno(ptr noundef %5367) #12
  %5369 = call i32 @isatty(i32 noundef %5368) #12
  %.not1471 = icmp eq i32 %5369, 0
  br i1 %.not1471, label %5370, label %5371

5370:                                             ; preds = %5366, %5360
  br label %5371

5371:                                             ; preds = %5366, %5370
  %.str.6.sink3154 = phi ptr [ @.str.6, %5370 ], [ @.str.3, %5366 ]
  store i32 %5361, ptr %421, align 4, !tbaa !5
  %5372 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5373 = load i32, ptr @test_count, align 4, !tbaa !5
  %5374 = load i32, ptr %367, align 4, !tbaa !5
  %5375 = call ptr @s2n_strerror(i32 noundef %5374, ptr noundef nonnull @.str.5) #12
  %5376 = load i32, ptr %367, align 4, !tbaa !5
  %5377 = call ptr @s2n_strerror_debug(i32 noundef %5376, ptr noundef nonnull @.str.5) #12
  %5378 = load i32, ptr %421, align 4, !tbaa !5
  %5379 = call ptr @strerror(i32 noundef %5378) #12
  %5380 = load i32, ptr %421, align 4, !tbaa !5
  %5381 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5372, ptr noundef nonnull %.str.6.sink3154, i32 noundef %5373, ptr noundef nonnull @.str.79, ptr noundef nonnull @.str.2, i32 noundef 599, ptr noundef %5375, ptr noundef %5377, ptr noundef %5379, i32 noundef %5380) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5382:                                             ; preds = %5355
  call void @llvm.lifetime.start.p0(i64 96, ptr nonnull %104) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(96) %104, i8 0, i64 96, i1 false)
  %5383 = add nsw i32 %5357, 2
  store i32 %5383, ptr @test_count, align 4, !tbaa !5
  %5384 = call i32 @s2n_test_init_ktls_io_stuffer_send(ptr noundef nonnull %5356, ptr noundef nonnull %104) #12
  %5385 = call zeroext i1 @s2n_result_is_ok(i32 %5384)
  br i1 %5385, label %5408, label %5386

5386:                                             ; preds = %5382
  %5387 = load i32, ptr %421, align 4, !tbaa !5
  %5388 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5389 = call i32 @s2n_print_stacktrace(ptr noundef %5388) #12
  %5390 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5391 = trunc nuw i8 %5390 to i1
  br i1 %5391, label %5392, label %5396

5392:                                             ; preds = %5386
  %5393 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5394 = call i32 @fileno(ptr noundef %5393) #12
  %5395 = call i32 @isatty(i32 noundef %5394) #12
  %.not1240 = icmp eq i32 %5395, 0
  br i1 %.not1240, label %5396, label %5397

5396:                                             ; preds = %5392, %5386
  br label %5397

5397:                                             ; preds = %5392, %5396
  %.str.6.sink3163 = phi ptr [ @.str.6, %5396 ], [ @.str.3, %5392 ]
  store i32 %5387, ptr %421, align 4, !tbaa !5
  %5398 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5399 = load i32, ptr @test_count, align 4, !tbaa !5
  %5400 = load i32, ptr %367, align 4, !tbaa !5
  %5401 = call ptr @s2n_strerror(i32 noundef %5400, ptr noundef nonnull @.str.5) #12
  %5402 = load i32, ptr %367, align 4, !tbaa !5
  %5403 = call ptr @s2n_strerror_debug(i32 noundef %5402, ptr noundef nonnull @.str.5) #12
  %5404 = load i32, ptr %421, align 4, !tbaa !5
  %5405 = call ptr @strerror(i32 noundef %5404) #12
  %5406 = load i32, ptr %421, align 4, !tbaa !5
  %5407 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5398, ptr noundef nonnull %.str.6.sink3163, i32 noundef %5399, ptr noundef nonnull @.str.80, ptr noundef nonnull @.str.2, i32 noundef 603, ptr noundef %5401, ptr noundef %5403, ptr noundef %5405, i32 noundef %5406) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5408:                                             ; preds = %5382
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %105) #12
  store ptr %3, ptr %105, align 8, !tbaa !16
  %5409 = getelementptr inbounds i8, ptr %105, i64 8
  store i64 16384, ptr %5409, align 8, !tbaa !19
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %106) #12
  store i32 0, ptr %106, align 4, !tbaa !5
  %5410 = load i32, ptr @test_count, align 4, !tbaa !5
  %5411 = add nsw i32 %5410, 1
  store i32 %5411, ptr @test_count, align 4, !tbaa !5
  %5412 = load ptr, ptr %103, align 8, !tbaa !9
  %5413 = call i64 @s2n_ktls_sendv_with_offset(ptr noundef %5412, ptr noundef nonnull %105, i64 noundef 1, i64 noundef 0, ptr noundef nonnull %106) #12
  %5414 = icmp eq i64 %5413, 16384
  br i1 %5414, label %5437, label %5415

5415:                                             ; preds = %5408
  %5416 = load i32, ptr %421, align 4, !tbaa !5
  %5417 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5418 = call i32 @s2n_print_stacktrace(ptr noundef %5417) #12
  %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) #12
  %5424 = call i32 @isatty(i32 noundef %5423) #12
  %.not1241 = icmp eq i32 %5424, 0
  br i1 %.not1241, label %5425, label %5426

5425:                                             ; preds = %5421, %5415
  br label %5426

5426:                                             ; preds = %5421, %5425
  %.str.6.sink3172 = phi ptr [ @.str.6, %5425 ], [ @.str.3, %5421 ]
  store i32 %5416, ptr %421, 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 %367, align 4, !tbaa !5
  %5430 = call ptr @s2n_strerror(i32 noundef %5429, ptr noundef nonnull @.str.5) #12
  %5431 = load i32, ptr %367, align 4, !tbaa !5
  %5432 = call ptr @s2n_strerror_debug(i32 noundef %5431, ptr noundef nonnull @.str.5) #12
  %5433 = load i32, ptr %421, align 4, !tbaa !5
  %5434 = call ptr @strerror(i32 noundef %5433) #12
  %5435 = load i32, ptr %421, align 4, !tbaa !5
  %5436 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5427, ptr noundef nonnull %.str.6.sink3172, i32 noundef %5428, ptr noundef nonnull @.str.81, ptr noundef nonnull @.str.2, i32 noundef 613, ptr noundef %5430, ptr noundef %5432, ptr noundef %5434, i32 noundef %5435) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5437:                                             ; preds = %5408
  %5438 = load i32, ptr @test_count, align 4, !tbaa !5
  %5439 = add nsw i32 %5438, 1
  store i32 %5439, ptr @test_count, align 4, !tbaa !5
  %5440 = getelementptr inbounds i8, ptr %104, i64 80
  %5441 = load i64, ptr %5440, align 8, !tbaa !47
  %5442 = icmp eq i64 %5441, 1
  br i1 %5442, label %5465, label %5443

5443:                                             ; preds = %5437
  %5444 = load i32, ptr %421, align 4, !tbaa !5
  %5445 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5446 = call i32 @s2n_print_stacktrace(ptr noundef %5445) #12
  %5447 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5448 = trunc nuw i8 %5447 to i1
  br i1 %5448, label %5449, label %5453

5449:                                             ; preds = %5443
  %5450 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5451 = call i32 @fileno(ptr noundef %5450) #12
  %5452 = call i32 @isatty(i32 noundef %5451) #12
  %.not1242 = icmp eq i32 %5452, 0
  br i1 %.not1242, label %5453, label %5454

5453:                                             ; preds = %5449, %5443
  br label %5454

5454:                                             ; preds = %5449, %5453
  %.str.6.sink3181 = phi ptr [ @.str.6, %5453 ], [ @.str.3, %5449 ]
  store i32 %5444, ptr %421, align 4, !tbaa !5
  %5455 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5456 = load i32, ptr @test_count, align 4, !tbaa !5
  %5457 = load i32, ptr %367, align 4, !tbaa !5
  %5458 = call ptr @s2n_strerror(i32 noundef %5457, ptr noundef nonnull @.str.5) #12
  %5459 = load i32, ptr %367, align 4, !tbaa !5
  %5460 = call ptr @s2n_strerror_debug(i32 noundef %5459, ptr noundef nonnull @.str.5) #12
  %5461 = load i32, ptr %421, align 4, !tbaa !5
  %5462 = call ptr @strerror(i32 noundef %5461) #12
  %5463 = load i32, ptr %421, align 4, !tbaa !5
  %5464 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5455, ptr noundef nonnull %.str.6.sink3181, i32 noundef %5456, ptr noundef nonnull @.str.82, ptr noundef nonnull @.str.2, i32 noundef 615, ptr noundef %5458, ptr noundef %5460, ptr noundef %5462, i32 noundef %5463) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5465:                                             ; preds = %5437
  %5466 = add nsw i32 %5438, 2
  store i32 %5466, ptr @test_count, align 4, !tbaa !5
  %5467 = load i32, ptr %106, align 4, !tbaa !5
  %5468 = icmp eq i32 %5467, 0
  br i1 %5468, label %5491, label %5469

5469:                                             ; preds = %5465
  %5470 = load i32, ptr %421, align 4, !tbaa !5
  %5471 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5472 = call i32 @s2n_print_stacktrace(ptr noundef %5471) #12
  %5473 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5474 = trunc nuw i8 %5473 to i1
  br i1 %5474, label %5475, label %5479

5475:                                             ; preds = %5469
  %5476 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5477 = call i32 @fileno(ptr noundef %5476) #12
  %5478 = call i32 @isatty(i32 noundef %5477) #12
  %.not1243 = icmp eq i32 %5478, 0
  br i1 %.not1243, label %5479, label %5480

5479:                                             ; preds = %5475, %5469
  br label %5480

5480:                                             ; preds = %5475, %5479
  %.str.6.sink3190 = phi ptr [ @.str.6, %5479 ], [ @.str.3, %5475 ]
  store i32 %5470, ptr %421, align 4, !tbaa !5
  %5481 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5482 = load i32, ptr @test_count, align 4, !tbaa !5
  %5483 = load i32, ptr %367, align 4, !tbaa !5
  %5484 = call ptr @s2n_strerror(i32 noundef %5483, ptr noundef nonnull @.str.5) #12
  %5485 = load i32, ptr %367, align 4, !tbaa !5
  %5486 = call ptr @s2n_strerror_debug(i32 noundef %5485, ptr noundef nonnull @.str.5) #12
  %5487 = load i32, ptr %421, align 4, !tbaa !5
  %5488 = call ptr @strerror(i32 noundef %5487) #12
  %5489 = load i32, ptr %421, align 4, !tbaa !5
  %5490 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5481, ptr noundef nonnull %.str.6.sink3190, i32 noundef %5482, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.2, i32 noundef 616, ptr noundef %5484, ptr noundef %5486, ptr noundef %5488, i32 noundef %5489) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5491:                                             ; preds = %5465
  %5492 = add nsw i32 %5438, 3
  store i32 %5492, ptr @test_count, align 4, !tbaa !5
  %5493 = call i32 @s2n_test_validate_ancillary(ptr noundef nonnull %104, i8 noundef zeroext 23, i16 noundef zeroext 16384) #12
  %5494 = call zeroext i1 @s2n_result_is_ok(i32 %5493)
  br i1 %5494, label %5517, label %5495

5495:                                             ; preds = %5491
  %5496 = load i32, ptr %421, align 4, !tbaa !5
  %5497 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5498 = call i32 @s2n_print_stacktrace(ptr noundef %5497) #12
  %5499 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5500 = trunc nuw i8 %5499 to i1
  br i1 %5500, label %5501, label %5505

5501:                                             ; preds = %5495
  %5502 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5503 = call i32 @fileno(ptr noundef %5502) #12
  %5504 = call i32 @isatty(i32 noundef %5503) #12
  %.not1244 = icmp eq i32 %5504, 0
  br i1 %.not1244, label %5505, label %5506

5505:                                             ; preds = %5501, %5495
  br label %5506

5506:                                             ; preds = %5501, %5505
  %.str.6.sink3199 = phi ptr [ @.str.6, %5505 ], [ @.str.3, %5501 ]
  store i32 %5496, ptr %421, align 4, !tbaa !5
  %5507 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5508 = load i32, ptr @test_count, align 4, !tbaa !5
  %5509 = load i32, ptr %367, align 4, !tbaa !5
  %5510 = call ptr @s2n_strerror(i32 noundef %5509, ptr noundef nonnull @.str.5) #12
  %5511 = load i32, ptr %367, align 4, !tbaa !5
  %5512 = call ptr @s2n_strerror_debug(i32 noundef %5511, ptr noundef nonnull @.str.5) #12
  %5513 = load i32, ptr %421, align 4, !tbaa !5
  %5514 = call ptr @strerror(i32 noundef %5513) #12
  %5515 = load i32, ptr %421, align 4, !tbaa !5
  %5516 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5507, ptr noundef nonnull %.str.6.sink3199, i32 noundef %5508, ptr noundef nonnull @.str.83, ptr noundef nonnull @.str.2, i32 noundef 617, ptr noundef %5510, ptr noundef %5512, ptr noundef %5514, i32 noundef %5515) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5517:                                             ; preds = %5491
  %5518 = load i32, ptr @test_count, align 4, !tbaa !5
  %5519 = add nsw i32 %5518, 1
  store i32 %5519, ptr @test_count, align 4, !tbaa !5
  %5520 = call i32 @s2n_test_validate_data(ptr noundef nonnull %104, ptr noundef nonnull %3, i16 noundef zeroext 16384) #12
  %5521 = call zeroext i1 @s2n_result_is_ok(i32 %5520)
  br i1 %5521, label %5544, label %5522

5522:                                             ; preds = %5517
  %5523 = load i32, ptr %421, align 4, !tbaa !5
  %5524 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5525 = call i32 @s2n_print_stacktrace(ptr noundef %5524) #12
  %5526 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5527 = trunc nuw i8 %5526 to i1
  br i1 %5527, label %5528, label %5532

5528:                                             ; preds = %5522
  %5529 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5530 = call i32 @fileno(ptr noundef %5529) #12
  %5531 = call i32 @isatty(i32 noundef %5530) #12
  %.not1245 = icmp eq i32 %5531, 0
  br i1 %.not1245, label %5532, label %5533

5532:                                             ; preds = %5528, %5522
  br label %5533

5533:                                             ; preds = %5528, %5532
  %.str.6.sink3208 = phi ptr [ @.str.6, %5532 ], [ @.str.3, %5528 ]
  store i32 %5523, ptr %421, align 4, !tbaa !5
  %5534 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5535 = load i32, ptr @test_count, align 4, !tbaa !5
  %5536 = load i32, ptr %367, align 4, !tbaa !5
  %5537 = call ptr @s2n_strerror(i32 noundef %5536, ptr noundef nonnull @.str.5) #12
  %5538 = load i32, ptr %367, align 4, !tbaa !5
  %5539 = call ptr @s2n_strerror_debug(i32 noundef %5538, ptr noundef nonnull @.str.5) #12
  %5540 = load i32, ptr %421, align 4, !tbaa !5
  %5541 = call ptr @strerror(i32 noundef %5540) #12
  %5542 = load i32, ptr %421, align 4, !tbaa !5
  %5543 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5534, ptr noundef nonnull %.str.6.sink3208, i32 noundef %5535, ptr noundef nonnull @.str.84, ptr noundef nonnull @.str.2, i32 noundef 618, ptr noundef %5537, ptr noundef %5539, ptr noundef %5541, i32 noundef %5542) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5544:                                             ; preds = %5517
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %106) #12
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %105) #12
  %5545 = call i32 @s2n_ktls_io_stuffer_free(ptr noundef nonnull %104) #12
  call void @llvm.lifetime.end.p0(i64 96, ptr nonnull %104) #12
  %5546 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %103) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %103) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %107) #12
  %5547 = call ptr @s2n_connection_new(i32 noundef 0) #12
  store ptr %5547, ptr %107, align 8, !tbaa !9
  %5548 = load i32, ptr @test_count, align 4, !tbaa !5
  %5549 = add nsw i32 %5548, 1
  store i32 %5549, ptr @test_count, align 4, !tbaa !5
  %5550 = icmp eq ptr %5547, null
  br i1 %5550, label %5551, label %5573

5551:                                             ; preds = %5544
  %5552 = load i32, ptr %421, align 4, !tbaa !5
  %5553 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5554 = call i32 @s2n_print_stacktrace(ptr noundef %5553) #12
  %5555 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5556 = trunc nuw i8 %5555 to i1
  br i1 %5556, label %5557, label %5561

5557:                                             ; preds = %5551
  %5558 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5559 = call i32 @fileno(ptr noundef %5558) #12
  %5560 = call i32 @isatty(i32 noundef %5559) #12
  %.not1470 = icmp eq i32 %5560, 0
  br i1 %.not1470, label %5561, label %5562

5561:                                             ; preds = %5557, %5551
  br label %5562

5562:                                             ; preds = %5557, %5561
  %.str.6.sink3217 = phi ptr [ @.str.6, %5561 ], [ @.str.3, %5557 ]
  store i32 %5552, ptr %421, align 4, !tbaa !5
  %5563 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5564 = load i32, ptr @test_count, align 4, !tbaa !5
  %5565 = load i32, ptr %367, align 4, !tbaa !5
  %5566 = call ptr @s2n_strerror(i32 noundef %5565, ptr noundef nonnull @.str.5) #12
  %5567 = load i32, ptr %367, align 4, !tbaa !5
  %5568 = call ptr @s2n_strerror_debug(i32 noundef %5567, ptr noundef nonnull @.str.5) #12
  %5569 = load i32, ptr %421, align 4, !tbaa !5
  %5570 = call ptr @strerror(i32 noundef %5569) #12
  %5571 = load i32, ptr %421, align 4, !tbaa !5
  %5572 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5563, ptr noundef nonnull %.str.6.sink3217, i32 noundef %5564, ptr noundef nonnull @.str.79, ptr noundef nonnull @.str.2, i32 noundef 625, ptr noundef %5566, ptr noundef %5568, ptr noundef %5570, i32 noundef %5571) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5573:                                             ; preds = %5544
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %108) #12
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %108, ptr noundef nonnull align 8 dereferenceable(16) @__const.main.io_ctx.85, i64 16, i1 false)
  %5574 = add nsw i32 %5548, 2
  store i32 %5574, ptr @test_count, align 4, !tbaa !5
  %5575 = call i32 @s2n_ktls_set_sendmsg_cb(ptr noundef nonnull %5547, ptr noundef nonnull @s2n_test_ktls_sendmsg_fail, ptr noundef nonnull %108) #12
  %5576 = call zeroext i1 @s2n_result_is_ok(i32 %5575)
  br i1 %5576, label %5599, label %5577

5577:                                             ; preds = %5573
  %5578 = load i32, ptr %421, align 4, !tbaa !5
  %5579 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5580 = call i32 @s2n_print_stacktrace(ptr noundef %5579) #12
  %5581 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5582 = trunc nuw i8 %5581 to i1
  br i1 %5582, label %5583, label %5587

5583:                                             ; preds = %5577
  %5584 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5585 = call i32 @fileno(ptr noundef %5584) #12
  %5586 = call i32 @isatty(i32 noundef %5585) #12
  %.not1246 = icmp eq i32 %5586, 0
  br i1 %.not1246, label %5587, label %5588

5587:                                             ; preds = %5583, %5577
  br label %5588

5588:                                             ; preds = %5583, %5587
  %.str.6.sink3226 = phi ptr [ @.str.6, %5587 ], [ @.str.3, %5583 ]
  store i32 %5578, ptr %421, align 4, !tbaa !5
  %5589 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5590 = load i32, ptr @test_count, align 4, !tbaa !5
  %5591 = load i32, ptr %367, align 4, !tbaa !5
  %5592 = call ptr @s2n_strerror(i32 noundef %5591, ptr noundef nonnull @.str.5) #12
  %5593 = load i32, ptr %367, align 4, !tbaa !5
  %5594 = call ptr @s2n_strerror_debug(i32 noundef %5593, ptr noundef nonnull @.str.5) #12
  %5595 = load i32, ptr %421, align 4, !tbaa !5
  %5596 = call ptr @strerror(i32 noundef %5595) #12
  %5597 = load i32, ptr %421, align 4, !tbaa !5
  %5598 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5589, ptr noundef nonnull %.str.6.sink3226, i32 noundef %5590, ptr noundef nonnull @.str.86, ptr noundef nonnull @.str.2, i32 noundef 628, ptr noundef %5592, ptr noundef %5594, ptr noundef %5596, i32 noundef %5597) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5599:                                             ; preds = %5573
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %109) #12
  store ptr %3, ptr %109, align 8, !tbaa !16
  %5600 = getelementptr inbounds i8, ptr %109, i64 8
  store i64 16384, ptr %5600, align 8, !tbaa !19
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %110) #12
  store i32 0, ptr %110, align 4, !tbaa !5
  %5601 = load i32, ptr @test_count, align 4, !tbaa !5
  %5602 = add nsw i32 %5601, 1
  store i32 %5602, ptr @test_count, align 4, !tbaa !5
  %5603 = load ptr, ptr %107, align 8, !tbaa !9
  %5604 = call i64 @s2n_ktls_sendv_with_offset(ptr noundef %5603, ptr noundef nonnull %109, i64 noundef 1, i64 noundef 0, ptr noundef nonnull %110) #12
  %5605 = icmp eq i64 %5604, -1
  br i1 %5605, label %5628, label %5606

5606:                                             ; preds = %5599
  %5607 = load i32, ptr %421, align 4, !tbaa !5
  %5608 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5609 = call i32 @s2n_print_stacktrace(ptr noundef %5608) #12
  %5610 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5611 = trunc nuw i8 %5610 to i1
  br i1 %5611, label %5612, label %5616

5612:                                             ; preds = %5606
  %5613 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5614 = call i32 @fileno(ptr noundef %5613) #12
  %5615 = call i32 @isatty(i32 noundef %5614) #12
  %.not1247 = icmp eq i32 %5615, 0
  br i1 %.not1247, label %5616, label %5617

5616:                                             ; preds = %5612, %5606
  br label %5617

5617:                                             ; preds = %5612, %5616
  %.str.6.sink3235 = phi ptr [ @.str.6, %5616 ], [ @.str.3, %5612 ]
  store i32 %5607, ptr %421, align 4, !tbaa !5
  %5618 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5619 = load i32, ptr @test_count, align 4, !tbaa !5
  %5620 = load i32, ptr %367, align 4, !tbaa !5
  %5621 = call ptr @s2n_strerror(i32 noundef %5620, ptr noundef nonnull @.str.5) #12
  %5622 = load i32, ptr %367, align 4, !tbaa !5
  %5623 = call ptr @s2n_strerror_debug(i32 noundef %5622, ptr noundef nonnull @.str.5) #12
  %5624 = load i32, ptr %421, align 4, !tbaa !5
  %5625 = call ptr @strerror(i32 noundef %5624) #12
  %5626 = load i32, ptr %421, align 4, !tbaa !5
  %5627 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5618, ptr noundef nonnull %.str.6.sink3235, i32 noundef %5619, ptr noundef nonnull @.str.87, ptr noundef nonnull @.str.2, i32 noundef 638, ptr noundef %5621, ptr noundef %5623, ptr noundef %5625, i32 noundef %5626) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5628:                                             ; preds = %5599
  %5629 = load i32, ptr @test_count, align 4, !tbaa !5
  %5630 = add nsw i32 %5629, 1
  store i32 %5630, ptr @test_count, align 4, !tbaa !5
  %5631 = load i32, ptr %367, align 4, !tbaa !5
  %5632 = icmp eq i32 %5631, 67108864
  br i1 %5632, label %5655, label %5633

5633:                                             ; preds = %5628
  %5634 = load i32, ptr %421, align 4, !tbaa !5
  %5635 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5636 = call i32 @s2n_print_stacktrace(ptr noundef %5635) #12
  %5637 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5638 = trunc nuw i8 %5637 to i1
  br i1 %5638, label %5639, label %5643

5639:                                             ; preds = %5633
  %5640 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5641 = call i32 @fileno(ptr noundef %5640) #12
  %5642 = call i32 @isatty(i32 noundef %5641) #12
  %.not1248 = icmp eq i32 %5642, 0
  br i1 %.not1248, label %5643, label %5644

5643:                                             ; preds = %5639, %5633
  br label %5644

5644:                                             ; preds = %5639, %5643
  %.str.6.sink3244 = phi ptr [ @.str.6, %5643 ], [ @.str.3, %5639 ]
  store i32 %5634, ptr %421, align 4, !tbaa !5
  %5645 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5646 = load i32, ptr @test_count, align 4, !tbaa !5
  %5647 = load i32, ptr %367, align 4, !tbaa !5
  %5648 = call ptr @s2n_strerror(i32 noundef %5647, ptr noundef nonnull @.str.5) #12
  %5649 = load i32, ptr %367, align 4, !tbaa !5
  %5650 = call ptr @s2n_strerror_debug(i32 noundef %5649, ptr noundef nonnull @.str.5) #12
  %5651 = load i32, ptr %421, align 4, !tbaa !5
  %5652 = call ptr @strerror(i32 noundef %5651) #12
  %5653 = load i32, ptr %421, align 4, !tbaa !5
  %5654 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5645, ptr noundef nonnull %.str.6.sink3244, i32 noundef %5646, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.2, i32 noundef 638, ptr noundef %5648, ptr noundef %5650, ptr noundef %5652, i32 noundef %5653) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5655:                                             ; preds = %5628
  %5656 = add nsw i32 %5629, 2
  store i32 %5656, ptr @test_count, align 4, !tbaa !5
  %5657 = call ptr @s2n_strerror_debug(i32 noundef 67108864, ptr noundef nonnull @.str.5) #12
  %5658 = icmp eq ptr %5657, null
  br i1 %5658, label %5659, label %5681

5659:                                             ; preds = %5655
  %5660 = load i32, ptr %421, align 4, !tbaa !5
  %5661 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5662 = call i32 @s2n_print_stacktrace(ptr noundef %5661) #12
  %5663 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5664 = trunc nuw i8 %5663 to i1
  br i1 %5664, label %5665, label %5669

5665:                                             ; preds = %5659
  %5666 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5667 = call i32 @fileno(ptr noundef %5666) #12
  %5668 = call i32 @isatty(i32 noundef %5667) #12
  %.not1469 = icmp eq i32 %5668, 0
  br i1 %.not1469, label %5669, label %5670

5669:                                             ; preds = %5665, %5659
  br label %5670

5670:                                             ; preds = %5665, %5669
  %.str.6.sink3253 = phi ptr [ @.str.6, %5669 ], [ @.str.3, %5665 ]
  store i32 %5660, ptr %421, align 4, !tbaa !5
  %5671 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5672 = load i32, ptr @test_count, align 4, !tbaa !5
  %5673 = load i32, ptr %367, align 4, !tbaa !5
  %5674 = call ptr @s2n_strerror(i32 noundef %5673, ptr noundef nonnull @.str.5) #12
  %5675 = load i32, ptr %367, align 4, !tbaa !5
  %5676 = call ptr @s2n_strerror_debug(i32 noundef %5675, ptr noundef nonnull @.str.5) #12
  %5677 = load i32, ptr %421, align 4, !tbaa !5
  %5678 = call ptr @strerror(i32 noundef %5677) #12
  %5679 = load i32, ptr %421, align 4, !tbaa !5
  %5680 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5671, ptr noundef nonnull %.str.6.sink3253, i32 noundef %5672, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.2, i32 noundef 638, ptr noundef %5674, ptr noundef %5676, ptr noundef %5678, i32 noundef %5679) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5681:                                             ; preds = %5655
  store i32 0, ptr %367, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %421, align 4, !tbaa !5
  %5682 = load i32, ptr @test_count, align 4, !tbaa !5
  %5683 = add nsw i32 %5682, 1
  store i32 %5683, ptr @test_count, align 4, !tbaa !5
  %5684 = getelementptr inbounds i8, ptr %108, i64 8
  %5685 = load i64, ptr %5684, align 8, !tbaa !53
  %5686 = icmp eq i64 %5685, 1
  br i1 %5686, label %5709, label %5687

5687:                                             ; preds = %5681
  %5688 = load i32, ptr %421, align 4, !tbaa !5
  %5689 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5690 = call i32 @s2n_print_stacktrace(ptr noundef %5689) #12
  %5691 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5692 = trunc nuw i8 %5691 to i1
  br i1 %5692, label %5693, label %5697

5693:                                             ; preds = %5687
  %5694 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5695 = call i32 @fileno(ptr noundef %5694) #12
  %5696 = call i32 @isatty(i32 noundef %5695) #12
  %.not1249 = icmp eq i32 %5696, 0
  br i1 %.not1249, label %5697, label %5698

5697:                                             ; preds = %5693, %5687
  br label %5698

5698:                                             ; preds = %5693, %5697
  %.str.6.sink3262 = phi ptr [ @.str.6, %5697 ], [ @.str.3, %5693 ]
  store i32 %5688, ptr %421, align 4, !tbaa !5
  %5699 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5700 = load i32, ptr @test_count, align 4, !tbaa !5
  %5701 = load i32, ptr %367, align 4, !tbaa !5
  %5702 = call ptr @s2n_strerror(i32 noundef %5701, ptr noundef nonnull @.str.5) #12
  %5703 = load i32, ptr %367, align 4, !tbaa !5
  %5704 = call ptr @s2n_strerror_debug(i32 noundef %5703, ptr noundef nonnull @.str.5) #12
  %5705 = load i32, ptr %421, align 4, !tbaa !5
  %5706 = call ptr @strerror(i32 noundef %5705) #12
  %5707 = load i32, ptr %421, align 4, !tbaa !5
  %5708 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5699, ptr noundef nonnull %.str.6.sink3262, i32 noundef %5700, ptr noundef nonnull @.str.46, ptr noundef nonnull @.str.2, i32 noundef 639, ptr noundef %5702, ptr noundef %5704, ptr noundef %5706, i32 noundef %5707) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5709:                                             ; preds = %5681
  %5710 = add nsw i32 %5682, 2
  store i32 %5710, ptr @test_count, align 4, !tbaa !5
  %5711 = load i32, ptr %110, align 4, !tbaa !5
  %5712 = icmp eq i32 %5711, 2
  br i1 %5712, label %5735, label %5713

5713:                                             ; preds = %5709
  %5714 = load i32, ptr %421, align 4, !tbaa !5
  %5715 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5716 = call i32 @s2n_print_stacktrace(ptr noundef %5715) #12
  %5717 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5718 = trunc nuw i8 %5717 to i1
  br i1 %5718, label %5719, label %5723

5719:                                             ; preds = %5713
  %5720 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5721 = call i32 @fileno(ptr noundef %5720) #12
  %5722 = call i32 @isatty(i32 noundef %5721) #12
  %.not1250 = icmp eq i32 %5722, 0
  br i1 %.not1250, label %5723, label %5724

5723:                                             ; preds = %5719, %5713
  br label %5724

5724:                                             ; preds = %5719, %5723
  %.str.6.sink3271 = phi ptr [ @.str.6, %5723 ], [ @.str.3, %5719 ]
  store i32 %5714, ptr %421, align 4, !tbaa !5
  %5725 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5726 = load i32, ptr @test_count, align 4, !tbaa !5
  %5727 = load i32, ptr %367, align 4, !tbaa !5
  %5728 = call ptr @s2n_strerror(i32 noundef %5727, ptr noundef nonnull @.str.5) #12
  %5729 = load i32, ptr %367, align 4, !tbaa !5
  %5730 = call ptr @s2n_strerror_debug(i32 noundef %5729, ptr noundef nonnull @.str.5) #12
  %5731 = load i32, ptr %421, align 4, !tbaa !5
  %5732 = call ptr @strerror(i32 noundef %5731) #12
  %5733 = load i32, ptr %421, align 4, !tbaa !5
  %5734 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5725, ptr noundef nonnull %.str.6.sink3271, i32 noundef %5726, ptr noundef nonnull @.str.42, ptr noundef nonnull @.str.2, i32 noundef 640, ptr noundef %5728, ptr noundef %5730, ptr noundef %5732, i32 noundef %5733) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5735:                                             ; preds = %5709
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %110) #12
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %109) #12
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %108) #12
  %5736 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %107) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %107) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %111) #12
  %5737 = call ptr @s2n_connection_new(i32 noundef 0) #12
  store ptr %5737, ptr %111, align 8, !tbaa !9
  %5738 = load i32, ptr @test_count, align 4, !tbaa !5
  %5739 = add nsw i32 %5738, 1
  store i32 %5739, ptr @test_count, align 4, !tbaa !5
  %5740 = icmp eq ptr %5737, null
  br i1 %5740, label %5741, label %5763

5741:                                             ; preds = %5735
  %5742 = load i32, ptr %421, align 4, !tbaa !5
  %5743 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5744 = call i32 @s2n_print_stacktrace(ptr noundef %5743) #12
  %5745 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5746 = trunc nuw i8 %5745 to i1
  br i1 %5746, label %5747, label %5751

5747:                                             ; preds = %5741
  %5748 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5749 = call i32 @fileno(ptr noundef %5748) #12
  %5750 = call i32 @isatty(i32 noundef %5749) #12
  %.not1468 = icmp eq i32 %5750, 0
  br i1 %.not1468, label %5751, label %5752

5751:                                             ; preds = %5747, %5741
  br label %5752

5752:                                             ; preds = %5747, %5751
  %.str.6.sink3280 = phi ptr [ @.str.6, %5751 ], [ @.str.3, %5747 ]
  store i32 %5742, ptr %421, align 4, !tbaa !5
  %5753 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5754 = load i32, ptr @test_count, align 4, !tbaa !5
  %5755 = load i32, ptr %367, align 4, !tbaa !5
  %5756 = call ptr @s2n_strerror(i32 noundef %5755, ptr noundef nonnull @.str.5) #12
  %5757 = load i32, ptr %367, align 4, !tbaa !5
  %5758 = call ptr @s2n_strerror_debug(i32 noundef %5757, ptr noundef nonnull @.str.5) #12
  %5759 = load i32, ptr %421, align 4, !tbaa !5
  %5760 = call ptr @strerror(i32 noundef %5759) #12
  %5761 = load i32, ptr %421, align 4, !tbaa !5
  %5762 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5753, ptr noundef nonnull %.str.6.sink3280, i32 noundef %5754, ptr noundef nonnull @.str.79, ptr noundef nonnull @.str.2, i32 noundef 647, ptr noundef %5756, ptr noundef %5758, ptr noundef %5760, i32 noundef %5761) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5763:                                             ; preds = %5735
  call void @llvm.lifetime.start.p0(i64 96, ptr nonnull %112) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(96) %112, i8 0, i64 96, i1 false)
  %5764 = add nsw i32 %5738, 2
  store i32 %5764, ptr @test_count, align 4, !tbaa !5
  %5765 = call i32 @s2n_test_init_ktls_io_stuffer_send(ptr noundef nonnull %5737, ptr noundef nonnull %112) #12
  %5766 = call zeroext i1 @s2n_result_is_ok(i32 %5765)
  br i1 %5766, label %5789, label %5767

5767:                                             ; preds = %5763
  %5768 = load i32, ptr %421, align 4, !tbaa !5
  %5769 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5770 = call i32 @s2n_print_stacktrace(ptr noundef %5769) #12
  %5771 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5772 = trunc nuw i8 %5771 to i1
  br i1 %5772, label %5773, label %5777

5773:                                             ; preds = %5767
  %5774 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5775 = call i32 @fileno(ptr noundef %5774) #12
  %5776 = call i32 @isatty(i32 noundef %5775) #12
  %.not1251 = icmp eq i32 %5776, 0
  br i1 %.not1251, label %5777, label %5778

5777:                                             ; preds = %5773, %5767
  br label %5778

5778:                                             ; preds = %5773, %5777
  %.str.6.sink3289 = phi ptr [ @.str.6, %5777 ], [ @.str.3, %5773 ]
  store i32 %5768, ptr %421, align 4, !tbaa !5
  %5779 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5780 = load i32, ptr @test_count, align 4, !tbaa !5
  %5781 = load i32, ptr %367, align 4, !tbaa !5
  %5782 = call ptr @s2n_strerror(i32 noundef %5781, ptr noundef nonnull @.str.5) #12
  %5783 = load i32, ptr %367, align 4, !tbaa !5
  %5784 = call ptr @s2n_strerror_debug(i32 noundef %5783, ptr noundef nonnull @.str.5) #12
  %5785 = load i32, ptr %421, align 4, !tbaa !5
  %5786 = call ptr @strerror(i32 noundef %5785) #12
  %5787 = load i32, ptr %421, align 4, !tbaa !5
  %5788 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5779, ptr noundef nonnull %.str.6.sink3289, i32 noundef %5780, ptr noundef nonnull @.str.80, ptr noundef nonnull @.str.2, i32 noundef 651, ptr noundef %5782, ptr noundef %5784, ptr noundef %5786, i32 noundef %5787) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5789:                                             ; preds = %5763
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %113) #12
  store i32 0, ptr %113, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %114) #12
  store ptr %3, ptr %114, align 8, !tbaa !16
  %5790 = getelementptr inbounds i8, ptr %114, i64 8
  store i64 0, ptr %5790, align 8, !tbaa !19
  %5791 = load i32, ptr @test_count, align 4, !tbaa !5
  %5792 = add nsw i32 %5791, 1
  store i32 %5792, ptr @test_count, align 4, !tbaa !5
  %5793 = load ptr, ptr %111, align 8, !tbaa !9
  %5794 = call i64 @s2n_ktls_sendv_with_offset(ptr noundef %5793, ptr noundef null, i64 noundef 0, i64 noundef 0, ptr noundef nonnull %113) #12
  %5795 = icmp eq i64 %5794, 0
  br i1 %5795, label %5818, label %5796

5796:                                             ; preds = %5789
  %5797 = load i32, ptr %421, align 4, !tbaa !5
  %5798 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5799 = call i32 @s2n_print_stacktrace(ptr noundef %5798) #12
  %5800 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5801 = trunc nuw i8 %5800 to i1
  br i1 %5801, label %5802, label %5806

5802:                                             ; preds = %5796
  %5803 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5804 = call i32 @fileno(ptr noundef %5803) #12
  %5805 = call i32 @isatty(i32 noundef %5804) #12
  %.not1252 = icmp eq i32 %5805, 0
  br i1 %.not1252, label %5806, label %5807

5806:                                             ; preds = %5802, %5796
  br label %5807

5807:                                             ; preds = %5802, %5806
  %.str.6.sink3298 = phi ptr [ @.str.6, %5806 ], [ @.str.3, %5802 ]
  store i32 %5797, ptr %421, align 4, !tbaa !5
  %5808 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5809 = load i32, ptr @test_count, align 4, !tbaa !5
  %5810 = load i32, ptr %367, align 4, !tbaa !5
  %5811 = call ptr @s2n_strerror(i32 noundef %5810, ptr noundef nonnull @.str.5) #12
  %5812 = load i32, ptr %367, align 4, !tbaa !5
  %5813 = call ptr @s2n_strerror_debug(i32 noundef %5812, ptr noundef nonnull @.str.5) #12
  %5814 = load i32, ptr %421, align 4, !tbaa !5
  %5815 = call ptr @strerror(i32 noundef %5814) #12
  %5816 = load i32, ptr %421, align 4, !tbaa !5
  %5817 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5808, ptr noundef nonnull %.str.6.sink3298, i32 noundef %5809, ptr noundef nonnull @.str.88, ptr noundef nonnull @.str.2, i32 noundef 660, ptr noundef %5811, ptr noundef %5813, ptr noundef %5815, i32 noundef %5816) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5818:                                             ; preds = %5789
  %5819 = load i32, ptr @test_count, align 4, !tbaa !5
  %5820 = add nsw i32 %5819, 1
  store i32 %5820, ptr @test_count, align 4, !tbaa !5
  %5821 = getelementptr inbounds i8, ptr %112, i64 80
  %5822 = load i64, ptr %5821, align 8, !tbaa !47
  %5823 = icmp eq i64 %5822, 1
  br i1 %5823, label %5846, label %5824

5824:                                             ; preds = %5818
  %5825 = load i32, ptr %421, align 4, !tbaa !5
  %5826 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5827 = call i32 @s2n_print_stacktrace(ptr noundef %5826) #12
  %5828 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5829 = trunc nuw i8 %5828 to i1
  br i1 %5829, label %5830, label %5834

5830:                                             ; preds = %5824
  %5831 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5832 = call i32 @fileno(ptr noundef %5831) #12
  %5833 = call i32 @isatty(i32 noundef %5832) #12
  %.not1253 = icmp eq i32 %5833, 0
  br i1 %.not1253, label %5834, label %5835

5834:                                             ; preds = %5830, %5824
  br label %5835

5835:                                             ; preds = %5830, %5834
  %.str.6.sink3307 = phi ptr [ @.str.6, %5834 ], [ @.str.3, %5830 ]
  store i32 %5825, ptr %421, align 4, !tbaa !5
  %5836 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5837 = load i32, ptr @test_count, align 4, !tbaa !5
  %5838 = load i32, ptr %367, align 4, !tbaa !5
  %5839 = call ptr @s2n_strerror(i32 noundef %5838, ptr noundef nonnull @.str.5) #12
  %5840 = load i32, ptr %367, align 4, !tbaa !5
  %5841 = call ptr @s2n_strerror_debug(i32 noundef %5840, ptr noundef nonnull @.str.5) #12
  %5842 = load i32, ptr %421, align 4, !tbaa !5
  %5843 = call ptr @strerror(i32 noundef %5842) #12
  %5844 = load i32, ptr %421, align 4, !tbaa !5
  %5845 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5836, ptr noundef nonnull %.str.6.sink3307, i32 noundef %5837, ptr noundef nonnull @.str.82, ptr noundef nonnull @.str.2, i32 noundef 661, ptr noundef %5839, ptr noundef %5841, ptr noundef %5843, i32 noundef %5844) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5846:                                             ; preds = %5818
  %5847 = add nsw i32 %5819, 2
  store i32 %5847, ptr @test_count, align 4, !tbaa !5
  %5848 = load i32, ptr %113, align 4, !tbaa !5
  %5849 = icmp eq i32 %5848, 0
  br i1 %5849, label %5872, label %5850

5850:                                             ; preds = %5846
  %5851 = load i32, ptr %421, align 4, !tbaa !5
  %5852 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5853 = call i32 @s2n_print_stacktrace(ptr noundef %5852) #12
  %5854 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5855 = trunc nuw i8 %5854 to i1
  br i1 %5855, label %5856, label %5860

5856:                                             ; preds = %5850
  %5857 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5858 = call i32 @fileno(ptr noundef %5857) #12
  %5859 = call i32 @isatty(i32 noundef %5858) #12
  %.not1254 = icmp eq i32 %5859, 0
  br i1 %.not1254, label %5860, label %5861

5860:                                             ; preds = %5856, %5850
  br label %5861

5861:                                             ; preds = %5856, %5860
  %.str.6.sink3316 = phi ptr [ @.str.6, %5860 ], [ @.str.3, %5856 ]
  store i32 %5851, ptr %421, align 4, !tbaa !5
  %5862 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5863 = load i32, ptr @test_count, align 4, !tbaa !5
  %5864 = load i32, ptr %367, align 4, !tbaa !5
  %5865 = call ptr @s2n_strerror(i32 noundef %5864, ptr noundef nonnull @.str.5) #12
  %5866 = load i32, ptr %367, align 4, !tbaa !5
  %5867 = call ptr @s2n_strerror_debug(i32 noundef %5866, ptr noundef nonnull @.str.5) #12
  %5868 = load i32, ptr %421, align 4, !tbaa !5
  %5869 = call ptr @strerror(i32 noundef %5868) #12
  %5870 = load i32, ptr %421, align 4, !tbaa !5
  %5871 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5862, ptr noundef nonnull %.str.6.sink3316, i32 noundef %5863, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.2, i32 noundef 662, ptr noundef %5865, ptr noundef %5867, ptr noundef %5869, i32 noundef %5870) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5872:                                             ; preds = %5846
  %5873 = add nsw i32 %5819, 3
  store i32 %5873, ptr @test_count, align 4, !tbaa !5
  %5874 = call i32 @s2n_test_records_in_ancillary(ptr noundef nonnull %112, i16 noundef zeroext 0) #12
  %5875 = call zeroext i1 @s2n_result_is_ok(i32 %5874)
  br i1 %5875, label %5898, label %5876

5876:                                             ; preds = %5872
  %5877 = load i32, ptr %421, align 4, !tbaa !5
  %5878 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5879 = call i32 @s2n_print_stacktrace(ptr noundef %5878) #12
  %5880 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5881 = trunc nuw i8 %5880 to i1
  br i1 %5881, label %5882, label %5886

5882:                                             ; preds = %5876
  %5883 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5884 = call i32 @fileno(ptr noundef %5883) #12
  %5885 = call i32 @isatty(i32 noundef %5884) #12
  %.not1255 = icmp eq i32 %5885, 0
  br i1 %.not1255, label %5886, label %5887

5886:                                             ; preds = %5882, %5876
  br label %5887

5887:                                             ; preds = %5882, %5886
  %.str.6.sink3325 = phi ptr [ @.str.6, %5886 ], [ @.str.3, %5882 ]
  store i32 %5877, ptr %421, align 4, !tbaa !5
  %5888 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5889 = load i32, ptr @test_count, align 4, !tbaa !5
  %5890 = load i32, ptr %367, align 4, !tbaa !5
  %5891 = call ptr @s2n_strerror(i32 noundef %5890, ptr noundef nonnull @.str.5) #12
  %5892 = load i32, ptr %367, align 4, !tbaa !5
  %5893 = call ptr @s2n_strerror_debug(i32 noundef %5892, ptr noundef nonnull @.str.5) #12
  %5894 = load i32, ptr %421, align 4, !tbaa !5
  %5895 = call ptr @strerror(i32 noundef %5894) #12
  %5896 = load i32, ptr %421, align 4, !tbaa !5
  %5897 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5888, ptr noundef nonnull %.str.6.sink3325, i32 noundef %5889, ptr noundef nonnull @.str.89, ptr noundef nonnull @.str.2, i32 noundef 663, ptr noundef %5891, ptr noundef %5893, ptr noundef %5895, i32 noundef %5896) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5898:                                             ; preds = %5872
  %5899 = load i32, ptr @test_count, align 4, !tbaa !5
  %5900 = add nsw i32 %5899, 1
  store i32 %5900, ptr @test_count, align 4, !tbaa !5
  %5901 = load ptr, ptr %111, align 8, !tbaa !9
  %5902 = call i64 @s2n_ktls_sendv_with_offset(ptr noundef %5901, ptr noundef nonnull %114, i64 noundef 1, i64 noundef 0, ptr noundef nonnull %113) #12
  %5903 = icmp eq i64 %5902, 0
  br i1 %5903, label %5926, label %5904

5904:                                             ; preds = %5898
  %5905 = load i32, ptr %421, align 4, !tbaa !5
  %5906 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5907 = call i32 @s2n_print_stacktrace(ptr noundef %5906) #12
  %5908 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5909 = trunc nuw i8 %5908 to i1
  br i1 %5909, label %5910, label %5914

5910:                                             ; preds = %5904
  %5911 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5912 = call i32 @fileno(ptr noundef %5911) #12
  %5913 = call i32 @isatty(i32 noundef %5912) #12
  %.not1256 = icmp eq i32 %5913, 0
  br i1 %.not1256, label %5914, label %5915

5914:                                             ; preds = %5910, %5904
  br label %5915

5915:                                             ; preds = %5910, %5914
  %.str.6.sink3334 = phi ptr [ @.str.6, %5914 ], [ @.str.3, %5910 ]
  store i32 %5905, ptr %421, align 4, !tbaa !5
  %5916 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5917 = load i32, ptr @test_count, align 4, !tbaa !5
  %5918 = load i32, ptr %367, align 4, !tbaa !5
  %5919 = call ptr @s2n_strerror(i32 noundef %5918, ptr noundef nonnull @.str.5) #12
  %5920 = load i32, ptr %367, align 4, !tbaa !5
  %5921 = call ptr @s2n_strerror_debug(i32 noundef %5920, ptr noundef nonnull @.str.5) #12
  %5922 = load i32, ptr %421, align 4, !tbaa !5
  %5923 = call ptr @strerror(i32 noundef %5922) #12
  %5924 = load i32, ptr %421, align 4, !tbaa !5
  %5925 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5916, ptr noundef nonnull %.str.6.sink3334, i32 noundef %5917, ptr noundef nonnull @.str.90, ptr noundef nonnull @.str.2, i32 noundef 666, ptr noundef %5919, ptr noundef %5921, ptr noundef %5923, i32 noundef %5924) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5926:                                             ; preds = %5898
  %5927 = load i32, ptr @test_count, align 4, !tbaa !5
  %5928 = add nsw i32 %5927, 1
  store i32 %5928, ptr @test_count, align 4, !tbaa !5
  %5929 = load i64, ptr %5821, align 8, !tbaa !47
  %5930 = icmp eq i64 %5929, 2
  br i1 %5930, label %5953, label %5931

5931:                                             ; preds = %5926
  %5932 = load i32, ptr %421, align 4, !tbaa !5
  %5933 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5934 = call i32 @s2n_print_stacktrace(ptr noundef %5933) #12
  %5935 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5936 = trunc nuw i8 %5935 to i1
  br i1 %5936, label %5937, label %5941

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

5941:                                             ; preds = %5937, %5931
  br label %5942

5942:                                             ; preds = %5937, %5941
  %.str.6.sink3343 = phi ptr [ @.str.6, %5941 ], [ @.str.3, %5937 ]
  store i32 %5932, ptr %421, align 4, !tbaa !5
  %5943 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5944 = load i32, ptr @test_count, align 4, !tbaa !5
  %5945 = load i32, ptr %367, align 4, !tbaa !5
  %5946 = call ptr @s2n_strerror(i32 noundef %5945, ptr noundef nonnull @.str.5) #12
  %5947 = load i32, ptr %367, align 4, !tbaa !5
  %5948 = call ptr @s2n_strerror_debug(i32 noundef %5947, ptr noundef nonnull @.str.5) #12
  %5949 = load i32, ptr %421, align 4, !tbaa !5
  %5950 = call ptr @strerror(i32 noundef %5949) #12
  %5951 = load i32, ptr %421, align 4, !tbaa !5
  %5952 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5943, ptr noundef nonnull %.str.6.sink3343, i32 noundef %5944, ptr noundef nonnull @.str.91, ptr noundef nonnull @.str.2, i32 noundef 667, ptr noundef %5946, ptr noundef %5948, ptr noundef %5950, i32 noundef %5951) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5953:                                             ; preds = %5926
  %5954 = add nsw i32 %5927, 2
  store i32 %5954, ptr @test_count, align 4, !tbaa !5
  %5955 = load i32, ptr %113, align 4, !tbaa !5
  %5956 = icmp eq i32 %5955, 0
  br i1 %5956, label %5979, label %5957

5957:                                             ; preds = %5953
  %5958 = load i32, ptr %421, align 4, !tbaa !5
  %5959 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5960 = call i32 @s2n_print_stacktrace(ptr noundef %5959) #12
  %5961 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5962 = trunc nuw i8 %5961 to i1
  br i1 %5962, label %5963, label %5967

5963:                                             ; preds = %5957
  %5964 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5965 = call i32 @fileno(ptr noundef %5964) #12
  %5966 = call i32 @isatty(i32 noundef %5965) #12
  %.not1258 = icmp eq i32 %5966, 0
  br i1 %.not1258, label %5967, label %5968

5967:                                             ; preds = %5963, %5957
  br label %5968

5968:                                             ; preds = %5963, %5967
  %.str.6.sink3352 = phi ptr [ @.str.6, %5967 ], [ @.str.3, %5963 ]
  store i32 %5958, ptr %421, align 4, !tbaa !5
  %5969 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5970 = load i32, ptr @test_count, align 4, !tbaa !5
  %5971 = load i32, ptr %367, align 4, !tbaa !5
  %5972 = call ptr @s2n_strerror(i32 noundef %5971, ptr noundef nonnull @.str.5) #12
  %5973 = load i32, ptr %367, align 4, !tbaa !5
  %5974 = call ptr @s2n_strerror_debug(i32 noundef %5973, ptr noundef nonnull @.str.5) #12
  %5975 = load i32, ptr %421, align 4, !tbaa !5
  %5976 = call ptr @strerror(i32 noundef %5975) #12
  %5977 = load i32, ptr %421, align 4, !tbaa !5
  %5978 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5969, ptr noundef nonnull %.str.6.sink3352, i32 noundef %5970, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.2, i32 noundef 668, ptr noundef %5972, ptr noundef %5974, ptr noundef %5976, i32 noundef %5977) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5979:                                             ; preds = %5953
  %5980 = add nsw i32 %5927, 3
  store i32 %5980, ptr @test_count, align 4, !tbaa !5
  %5981 = call i32 @s2n_test_records_in_ancillary(ptr noundef nonnull %112, i16 noundef zeroext 0) #12
  %5982 = call zeroext i1 @s2n_result_is_ok(i32 %5981)
  br i1 %5982, label %6005, label %5983

5983:                                             ; preds = %5979
  %5984 = load i32, ptr %421, align 4, !tbaa !5
  %5985 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5986 = call i32 @s2n_print_stacktrace(ptr noundef %5985) #12
  %5987 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5988 = trunc nuw i8 %5987 to i1
  br i1 %5988, label %5989, label %5993

5989:                                             ; preds = %5983
  %5990 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5991 = call i32 @fileno(ptr noundef %5990) #12
  %5992 = call i32 @isatty(i32 noundef %5991) #12
  %.not1259 = icmp eq i32 %5992, 0
  br i1 %.not1259, label %5993, label %5994

5993:                                             ; preds = %5989, %5983
  br label %5994

5994:                                             ; preds = %5989, %5993
  %.str.6.sink3361 = phi ptr [ @.str.6, %5993 ], [ @.str.3, %5989 ]
  store i32 %5984, ptr %421, align 4, !tbaa !5
  %5995 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5996 = load i32, ptr @test_count, align 4, !tbaa !5
  %5997 = load i32, ptr %367, align 4, !tbaa !5
  %5998 = call ptr @s2n_strerror(i32 noundef %5997, ptr noundef nonnull @.str.5) #12
  %5999 = load i32, ptr %367, align 4, !tbaa !5
  %6000 = call ptr @s2n_strerror_debug(i32 noundef %5999, ptr noundef nonnull @.str.5) #12
  %6001 = load i32, ptr %421, align 4, !tbaa !5
  %6002 = call ptr @strerror(i32 noundef %6001) #12
  %6003 = load i32, ptr %421, align 4, !tbaa !5
  %6004 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5995, ptr noundef nonnull %.str.6.sink3361, i32 noundef %5996, ptr noundef nonnull @.str.89, ptr noundef nonnull @.str.2, i32 noundef 669, ptr noundef %5998, ptr noundef %6000, ptr noundef %6002, i32 noundef %6003) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6005:                                             ; preds = %5979
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %114) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %113) #12
  %6006 = call i32 @s2n_ktls_io_stuffer_free(ptr noundef nonnull %112) #12
  call void @llvm.lifetime.end.p0(i64 96, ptr nonnull %112) #12
  %6007 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %111) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %111) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %115) #12
  %6008 = call ptr @s2n_connection_new(i32 noundef 0) #12
  store ptr %6008, ptr %115, align 8, !tbaa !9
  %6009 = load i32, ptr @test_count, align 4, !tbaa !5
  %6010 = add nsw i32 %6009, 1
  store i32 %6010, ptr @test_count, align 4, !tbaa !5
  %6011 = icmp eq ptr %6008, null
  br i1 %6011, label %6012, label %6034

6012:                                             ; preds = %6005
  %6013 = load i32, ptr %421, align 4, !tbaa !5
  %6014 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6015 = call i32 @s2n_print_stacktrace(ptr noundef %6014) #12
  %6016 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6017 = trunc nuw i8 %6016 to i1
  br i1 %6017, label %6018, label %6022

6018:                                             ; preds = %6012
  %6019 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6020 = call i32 @fileno(ptr noundef %6019) #12
  %6021 = call i32 @isatty(i32 noundef %6020) #12
  %.not1467 = icmp eq i32 %6021, 0
  br i1 %.not1467, label %6022, label %6023

6022:                                             ; preds = %6018, %6012
  br label %6023

6023:                                             ; preds = %6018, %6022
  %.str.6.sink3370 = phi ptr [ @.str.6, %6022 ], [ @.str.3, %6018 ]
  store i32 %6013, ptr %421, align 4, !tbaa !5
  %6024 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6025 = load i32, ptr @test_count, align 4, !tbaa !5
  %6026 = load i32, ptr %367, align 4, !tbaa !5
  %6027 = call ptr @s2n_strerror(i32 noundef %6026, ptr noundef nonnull @.str.5) #12
  %6028 = load i32, ptr %367, align 4, !tbaa !5
  %6029 = call ptr @s2n_strerror_debug(i32 noundef %6028, ptr noundef nonnull @.str.5) #12
  %6030 = load i32, ptr %421, align 4, !tbaa !5
  %6031 = call ptr @strerror(i32 noundef %6030) #12
  %6032 = load i32, ptr %421, align 4, !tbaa !5
  %6033 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6024, ptr noundef nonnull %.str.6.sink3370, i32 noundef %6025, ptr noundef nonnull @.str.79, ptr noundef nonnull @.str.2, i32 noundef 676, ptr noundef %6027, ptr noundef %6029, ptr noundef %6031, i32 noundef %6032) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6034:                                             ; preds = %6005
  call void @llvm.lifetime.start.p0(i64 96, ptr nonnull %116) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(96) %116, i8 0, i64 96, i1 false)
  %6035 = add nsw i32 %6009, 2
  store i32 %6035, ptr @test_count, align 4, !tbaa !5
  %6036 = call i32 @s2n_test_init_ktls_io_stuffer_send(ptr noundef nonnull %6008, ptr noundef nonnull %116) #12
  %6037 = call zeroext i1 @s2n_result_is_ok(i32 %6036)
  br i1 %6037, label %6060, label %6038

6038:                                             ; preds = %6034
  %6039 = load i32, ptr %421, align 4, !tbaa !5
  %6040 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6041 = call i32 @s2n_print_stacktrace(ptr noundef %6040) #12
  %6042 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6043 = trunc nuw i8 %6042 to i1
  br i1 %6043, label %6044, label %6048

6044:                                             ; preds = %6038
  %6045 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6046 = call i32 @fileno(ptr noundef %6045) #12
  %6047 = call i32 @isatty(i32 noundef %6046) #12
  %.not1260 = icmp eq i32 %6047, 0
  br i1 %.not1260, label %6048, label %6049

6048:                                             ; preds = %6044, %6038
  br label %6049

6049:                                             ; preds = %6044, %6048
  %.str.6.sink3379 = phi ptr [ @.str.6, %6048 ], [ @.str.3, %6044 ]
  store i32 %6039, ptr %421, align 4, !tbaa !5
  %6050 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6051 = load i32, ptr @test_count, align 4, !tbaa !5
  %6052 = load i32, ptr %367, align 4, !tbaa !5
  %6053 = call ptr @s2n_strerror(i32 noundef %6052, ptr noundef nonnull @.str.5) #12
  %6054 = load i32, ptr %367, align 4, !tbaa !5
  %6055 = call ptr @s2n_strerror_debug(i32 noundef %6054, ptr noundef nonnull @.str.5) #12
  %6056 = load i32, ptr %421, align 4, !tbaa !5
  %6057 = call ptr @strerror(i32 noundef %6056) #12
  %6058 = load i32, ptr %421, align 4, !tbaa !5
  %6059 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6050, ptr noundef nonnull %.str.6.sink3379, i32 noundef %6051, ptr noundef nonnull @.str.80, ptr noundef nonnull @.str.2, i32 noundef 680, ptr noundef %6053, ptr noundef %6055, ptr noundef %6057, i32 noundef %6058) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6060:                                             ; preds = %6034
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %117) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %117, i8 0, i64 16, i1 false)
  %6061 = load i32, ptr @test_count, align 4, !tbaa !5
  %6062 = add nsw i32 %6061, 1
  store i32 %6062, ptr @test_count, align 4, !tbaa !5
  %6063 = call i32 @s2n_test_new_iovecs(ptr noundef nonnull %117, ptr noundef nonnull %4, ptr noundef nonnull %99, i64 noundef 7) #12
  %6064 = call zeroext i1 @s2n_result_is_ok(i32 %6063)
  br i1 %6064, label %6087, label %6065

6065:                                             ; preds = %6060
  %6066 = load i32, ptr %421, align 4, !tbaa !5
  %6067 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6068 = call i32 @s2n_print_stacktrace(ptr noundef %6067) #12
  %6069 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6070 = trunc nuw i8 %6069 to i1
  br i1 %6070, label %6071, label %6075

6071:                                             ; preds = %6065
  %6072 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6073 = call i32 @fileno(ptr noundef %6072) #12
  %6074 = call i32 @isatty(i32 noundef %6073) #12
  %.not1261 = icmp eq i32 %6074, 0
  br i1 %.not1261, label %6075, label %6076

6075:                                             ; preds = %6071, %6065
  br label %6076

6076:                                             ; preds = %6071, %6075
  %.str.6.sink3388 = phi ptr [ @.str.6, %6075 ], [ @.str.3, %6071 ]
  store i32 %6066, ptr %421, align 4, !tbaa !5
  %6077 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6078 = load i32, ptr @test_count, align 4, !tbaa !5
  %6079 = load i32, ptr %367, align 4, !tbaa !5
  %6080 = call ptr @s2n_strerror(i32 noundef %6079, ptr noundef nonnull @.str.5) #12
  %6081 = load i32, ptr %367, align 4, !tbaa !5
  %6082 = call ptr @s2n_strerror_debug(i32 noundef %6081, ptr noundef nonnull @.str.5) #12
  %6083 = load i32, ptr %421, align 4, !tbaa !5
  %6084 = call ptr @strerror(i32 noundef %6083) #12
  %6085 = load i32, ptr %421, align 4, !tbaa !5
  %6086 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6077, ptr noundef nonnull %.str.6.sink3388, i32 noundef %6078, ptr noundef nonnull @.str.92, ptr noundef nonnull @.str.2, i32 noundef 684, ptr noundef %6080, ptr noundef %6082, ptr noundef %6084, i32 noundef %6085) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6087:                                             ; preds = %6060
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %118) #12
  store i32 0, ptr %118, align 4, !tbaa !5
  %6088 = load ptr, ptr %115, align 8, !tbaa !9
  %6089 = load ptr, ptr %117, align 8, !tbaa !58
  %6090 = getelementptr inbounds i8, ptr %117, i64 8
  %6091 = load i64, ptr %6090, align 8, !tbaa !60
  %6092 = call i64 @s2n_ktls_sendv_with_offset(ptr noundef %6088, ptr noundef %6089, i64 noundef %6091, i64 noundef 0, ptr noundef nonnull %118) #12
  %6093 = load i32, ptr @test_count, align 4, !tbaa !5
  %6094 = add nsw i32 %6093, 1
  store i32 %6094, ptr @test_count, align 4, !tbaa !5
  %6095 = icmp eq i64 %6092, 16384
  br i1 %6095, label %6118, label %6096

6096:                                             ; preds = %6087
  %6097 = load i32, ptr %421, align 4, !tbaa !5
  %6098 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6099 = call i32 @s2n_print_stacktrace(ptr noundef %6098) #12
  %6100 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6101 = trunc nuw i8 %6100 to i1
  br i1 %6101, label %6102, label %6106

6102:                                             ; preds = %6096
  %6103 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6104 = call i32 @fileno(ptr noundef %6103) #12
  %6105 = call i32 @isatty(i32 noundef %6104) #12
  %.not1262 = icmp eq i32 %6105, 0
  br i1 %.not1262, label %6106, label %6107

6106:                                             ; preds = %6102, %6096
  br label %6107

6107:                                             ; preds = %6102, %6106
  %.str.6.sink3397 = phi ptr [ @.str.6, %6106 ], [ @.str.3, %6102 ]
  store i32 %6097, ptr %421, align 4, !tbaa !5
  %6108 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6109 = load i32, ptr @test_count, align 4, !tbaa !5
  %6110 = load i32, ptr %367, align 4, !tbaa !5
  %6111 = call ptr @s2n_strerror(i32 noundef %6110, ptr noundef nonnull @.str.5) #12
  %6112 = load i32, ptr %367, align 4, !tbaa !5
  %6113 = call ptr @s2n_strerror_debug(i32 noundef %6112, ptr noundef nonnull @.str.5) #12
  %6114 = load i32, ptr %421, align 4, !tbaa !5
  %6115 = call ptr @strerror(i32 noundef %6114) #12
  %6116 = load i32, ptr %421, align 4, !tbaa !5
  %6117 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6108, ptr noundef nonnull %.str.6.sink3397, i32 noundef %6109, ptr noundef nonnull @.str.93, ptr noundef nonnull @.str.2, i32 noundef 689, ptr noundef %6111, ptr noundef %6113, ptr noundef %6115, i32 noundef %6116) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6118:                                             ; preds = %6087
  %6119 = add nsw i32 %6093, 2
  store i32 %6119, ptr @test_count, align 4, !tbaa !5
  %6120 = getelementptr inbounds i8, ptr %116, i64 80
  %6121 = load i64, ptr %6120, align 8, !tbaa !47
  %6122 = icmp eq i64 %6121, 1
  br i1 %6122, label %6145, label %6123

6123:                                             ; preds = %6118
  %6124 = load i32, ptr %421, align 4, !tbaa !5
  %6125 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6126 = call i32 @s2n_print_stacktrace(ptr noundef %6125) #12
  %6127 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6128 = trunc nuw i8 %6127 to i1
  br i1 %6128, label %6129, label %6133

6129:                                             ; preds = %6123
  %6130 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6131 = call i32 @fileno(ptr noundef %6130) #12
  %6132 = call i32 @isatty(i32 noundef %6131) #12
  %.not1263 = icmp eq i32 %6132, 0
  br i1 %.not1263, label %6133, label %6134

6133:                                             ; preds = %6129, %6123
  br label %6134

6134:                                             ; preds = %6129, %6133
  %.str.6.sink3406 = phi ptr [ @.str.6, %6133 ], [ @.str.3, %6129 ]
  store i32 %6124, ptr %421, align 4, !tbaa !5
  %6135 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6136 = load i32, ptr @test_count, align 4, !tbaa !5
  %6137 = load i32, ptr %367, align 4, !tbaa !5
  %6138 = call ptr @s2n_strerror(i32 noundef %6137, ptr noundef nonnull @.str.5) #12
  %6139 = load i32, ptr %367, align 4, !tbaa !5
  %6140 = call ptr @s2n_strerror_debug(i32 noundef %6139, ptr noundef nonnull @.str.5) #12
  %6141 = load i32, ptr %421, align 4, !tbaa !5
  %6142 = call ptr @strerror(i32 noundef %6141) #12
  %6143 = load i32, ptr %421, align 4, !tbaa !5
  %6144 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6135, ptr noundef nonnull %.str.6.sink3406, i32 noundef %6136, ptr noundef nonnull @.str.82, ptr noundef nonnull @.str.2, i32 noundef 691, ptr noundef %6138, ptr noundef %6140, ptr noundef %6142, i32 noundef %6143) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6145:                                             ; preds = %6118
  %6146 = add nsw i32 %6093, 3
  store i32 %6146, ptr @test_count, align 4, !tbaa !5
  %6147 = load i32, ptr %118, align 4, !tbaa !5
  %6148 = icmp eq i32 %6147, 0
  br i1 %6148, label %6171, label %6149

6149:                                             ; preds = %6145
  %6150 = load i32, ptr %421, align 4, !tbaa !5
  %6151 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6152 = call i32 @s2n_print_stacktrace(ptr noundef %6151) #12
  %6153 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6154 = trunc nuw i8 %6153 to i1
  br i1 %6154, label %6155, label %6159

6155:                                             ; preds = %6149
  %6156 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6157 = call i32 @fileno(ptr noundef %6156) #12
  %6158 = call i32 @isatty(i32 noundef %6157) #12
  %.not1264 = icmp eq i32 %6158, 0
  br i1 %.not1264, label %6159, label %6160

6159:                                             ; preds = %6155, %6149
  br label %6160

6160:                                             ; preds = %6155, %6159
  %.str.6.sink3415 = phi ptr [ @.str.6, %6159 ], [ @.str.3, %6155 ]
  store i32 %6150, ptr %421, align 4, !tbaa !5
  %6161 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6162 = load i32, ptr @test_count, align 4, !tbaa !5
  %6163 = load i32, ptr %367, align 4, !tbaa !5
  %6164 = call ptr @s2n_strerror(i32 noundef %6163, ptr noundef nonnull @.str.5) #12
  %6165 = load i32, ptr %367, align 4, !tbaa !5
  %6166 = call ptr @s2n_strerror_debug(i32 noundef %6165, ptr noundef nonnull @.str.5) #12
  %6167 = load i32, ptr %421, align 4, !tbaa !5
  %6168 = call ptr @strerror(i32 noundef %6167) #12
  %6169 = load i32, ptr %421, align 4, !tbaa !5
  %6170 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6161, ptr noundef nonnull %.str.6.sink3415, i32 noundef %6162, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.2, i32 noundef 692, ptr noundef %6164, ptr noundef %6166, ptr noundef %6168, i32 noundef %6169) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6171:                                             ; preds = %6145
  %6172 = add nsw i32 %6093, 4
  store i32 %6172, ptr @test_count, align 4, !tbaa !5
  %6173 = call i32 @s2n_test_validate_ancillary(ptr noundef nonnull %116, i8 noundef zeroext 23, i16 noundef zeroext 16384) #12
  %6174 = call zeroext i1 @s2n_result_is_ok(i32 %6173)
  br i1 %6174, label %6197, label %6175

6175:                                             ; preds = %6171
  %6176 = load i32, ptr %421, align 4, !tbaa !5
  %6177 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6178 = call i32 @s2n_print_stacktrace(ptr noundef %6177) #12
  %6179 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6180 = trunc nuw i8 %6179 to i1
  br i1 %6180, label %6181, label %6185

6181:                                             ; preds = %6175
  %6182 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6183 = call i32 @fileno(ptr noundef %6182) #12
  %6184 = call i32 @isatty(i32 noundef %6183) #12
  %.not1265 = icmp eq i32 %6184, 0
  br i1 %.not1265, label %6185, label %6186

6185:                                             ; preds = %6181, %6175
  br label %6186

6186:                                             ; preds = %6181, %6185
  %.str.6.sink3424 = phi ptr [ @.str.6, %6185 ], [ @.str.3, %6181 ]
  store i32 %6176, ptr %421, align 4, !tbaa !5
  %6187 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6188 = load i32, ptr @test_count, align 4, !tbaa !5
  %6189 = load i32, ptr %367, align 4, !tbaa !5
  %6190 = call ptr @s2n_strerror(i32 noundef %6189, ptr noundef nonnull @.str.5) #12
  %6191 = load i32, ptr %367, align 4, !tbaa !5
  %6192 = call ptr @s2n_strerror_debug(i32 noundef %6191, ptr noundef nonnull @.str.5) #12
  %6193 = load i32, ptr %421, align 4, !tbaa !5
  %6194 = call ptr @strerror(i32 noundef %6193) #12
  %6195 = load i32, ptr %421, align 4, !tbaa !5
  %6196 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6187, ptr noundef nonnull %.str.6.sink3424, i32 noundef %6188, ptr noundef nonnull @.str.83, ptr noundef nonnull @.str.2, i32 noundef 693, ptr noundef %6190, ptr noundef %6192, ptr noundef %6194, i32 noundef %6195) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6197:                                             ; preds = %6171
  %6198 = load i32, ptr @test_count, align 4, !tbaa !5
  %6199 = add nsw i32 %6198, 1
  store i32 %6199, ptr @test_count, align 4, !tbaa !5
  %6200 = call i32 @s2n_test_validate_data(ptr noundef nonnull %116, ptr noundef nonnull %3, i16 noundef zeroext 16384) #12
  %6201 = call zeroext i1 @s2n_result_is_ok(i32 %6200)
  br i1 %6201, label %6224, label %6202

6202:                                             ; preds = %6197
  %6203 = load i32, ptr %421, align 4, !tbaa !5
  %6204 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6205 = call i32 @s2n_print_stacktrace(ptr noundef %6204) #12
  %6206 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6207 = trunc nuw i8 %6206 to i1
  br i1 %6207, label %6208, label %6212

6208:                                             ; preds = %6202
  %6209 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6210 = call i32 @fileno(ptr noundef %6209) #12
  %6211 = call i32 @isatty(i32 noundef %6210) #12
  %.not1266 = icmp eq i32 %6211, 0
  br i1 %.not1266, label %6212, label %6213

6212:                                             ; preds = %6208, %6202
  br label %6213

6213:                                             ; preds = %6208, %6212
  %.str.6.sink3433 = phi ptr [ @.str.6, %6212 ], [ @.str.3, %6208 ]
  store i32 %6203, ptr %421, align 4, !tbaa !5
  %6214 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6215 = load i32, ptr @test_count, align 4, !tbaa !5
  %6216 = load i32, ptr %367, align 4, !tbaa !5
  %6217 = call ptr @s2n_strerror(i32 noundef %6216, ptr noundef nonnull @.str.5) #12
  %6218 = load i32, ptr %367, align 4, !tbaa !5
  %6219 = call ptr @s2n_strerror_debug(i32 noundef %6218, ptr noundef nonnull @.str.5) #12
  %6220 = load i32, ptr %421, align 4, !tbaa !5
  %6221 = call ptr @strerror(i32 noundef %6220) #12
  %6222 = load i32, ptr %421, align 4, !tbaa !5
  %6223 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6214, ptr noundef nonnull %.str.6.sink3433, i32 noundef %6215, ptr noundef nonnull @.str.84, ptr noundef nonnull @.str.2, i32 noundef 694, ptr noundef %6217, ptr noundef %6219, ptr noundef %6221, i32 noundef %6222) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6224:                                             ; preds = %6197
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %118) #12
  %6225 = call i32 @s2n_test_iovecs_free(ptr noundef nonnull %117) #12
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %117) #12
  %6226 = call i32 @s2n_ktls_io_stuffer_free(ptr noundef nonnull %116) #12
  call void @llvm.lifetime.end.p0(i64 96, ptr nonnull %116) #12
  %6227 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %115) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %115) #12
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %119) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %119, i8 0, i64 16, i1 false)
  %6228 = load i32, ptr @test_count, align 4, !tbaa !5
  %6229 = add nsw i32 %6228, 1
  store i32 %6229, ptr @test_count, align 4, !tbaa !5
  %6230 = call i32 @s2n_test_new_iovecs(ptr noundef nonnull %119, ptr noundef nonnull %4, ptr noundef nonnull %99, i64 noundef 7) #12
  %6231 = call zeroext i1 @s2n_result_is_ok(i32 %6230)
  br i1 %6231, label %6254, label %6232

6232:                                             ; preds = %6224
  %6233 = load i32, ptr %421, align 4, !tbaa !5
  %6234 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6235 = call i32 @s2n_print_stacktrace(ptr noundef %6234) #12
  %6236 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6237 = trunc nuw i8 %6236 to i1
  br i1 %6237, label %6238, label %6242

6238:                                             ; preds = %6232
  %6239 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6240 = call i32 @fileno(ptr noundef %6239) #12
  %6241 = call i32 @isatty(i32 noundef %6240) #12
  %.not1267 = icmp eq i32 %6241, 0
  br i1 %.not1267, label %6242, label %6243

6242:                                             ; preds = %6238, %6232
  br label %6243

6243:                                             ; preds = %6238, %6242
  %.str.6.sink3442 = phi ptr [ @.str.6, %6242 ], [ @.str.3, %6238 ]
  store i32 %6233, ptr %421, align 4, !tbaa !5
  %6244 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6245 = load i32, ptr @test_count, align 4, !tbaa !5
  %6246 = load i32, ptr %367, align 4, !tbaa !5
  %6247 = call ptr @s2n_strerror(i32 noundef %6246, ptr noundef nonnull @.str.5) #12
  %6248 = load i32, ptr %367, align 4, !tbaa !5
  %6249 = call ptr @s2n_strerror_debug(i32 noundef %6248, ptr noundef nonnull @.str.5) #12
  %6250 = load i32, ptr %421, align 4, !tbaa !5
  %6251 = call ptr @strerror(i32 noundef %6250) #12
  %6252 = load i32, ptr %421, align 4, !tbaa !5
  %6253 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6244, ptr noundef nonnull %.str.6.sink3442, i32 noundef %6245, ptr noundef nonnull @.str.92, ptr noundef nonnull @.str.2, i32 noundef 701, ptr noundef %6247, ptr noundef %6249, ptr noundef %6251, i32 noundef %6252) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6254:                                             ; preds = %6224
  call void @llvm.lifetime.start.p0(i64 800, ptr nonnull %120) #12
  %6255 = getelementptr inbounds i8, ptr %120, i64 56
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(744) %6255, i8 0, i64 744, i1 false)
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(56) %120, ptr noundef nonnull align 16 dereferenceable(56) %99, i64 56, i1 false)
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %121) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %121, i8 0, i64 16, i1 false)
  %6256 = load i32, ptr @test_count, align 4, !tbaa !5
  %6257 = add nsw i32 %6256, 1
  store i32 %6257, ptr @test_count, align 4, !tbaa !5
  %6258 = call i32 @s2n_test_new_iovecs(ptr noundef nonnull %121, ptr noundef nonnull %4, ptr noundef nonnull %120, i64 noundef 100) #12
  %6259 = call zeroext i1 @s2n_result_is_ok(i32 %6258)
  br i1 %6259, label %6282, label %6260

6260:                                             ; preds = %6254
  %6261 = load i32, ptr %421, align 4, !tbaa !5
  %6262 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6263 = call i32 @s2n_print_stacktrace(ptr noundef %6262) #12
  %6264 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6265 = trunc nuw i8 %6264 to i1
  br i1 %6265, label %6266, label %6270

6266:                                             ; preds = %6260
  %6267 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6268 = call i32 @fileno(ptr noundef %6267) #12
  %6269 = call i32 @isatty(i32 noundef %6268) #12
  %.not1268 = icmp eq i32 %6269, 0
  br i1 %.not1268, label %6270, label %6271

6270:                                             ; preds = %6266, %6260
  br label %6271

6271:                                             ; preds = %6266, %6270
  %.str.6.sink3451 = phi ptr [ @.str.6, %6270 ], [ @.str.3, %6266 ]
  store i32 %6261, ptr %421, align 4, !tbaa !5
  %6272 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6273 = load i32, ptr @test_count, align 4, !tbaa !5
  %6274 = load i32, ptr %367, align 4, !tbaa !5
  %6275 = call ptr @s2n_strerror(i32 noundef %6274, ptr noundef nonnull @.str.5) #12
  %6276 = load i32, ptr %367, align 4, !tbaa !5
  %6277 = call ptr @s2n_strerror_debug(i32 noundef %6276, ptr noundef nonnull @.str.5) #12
  %6278 = load i32, ptr %421, align 4, !tbaa !5
  %6279 = call ptr @strerror(i32 noundef %6278) #12
  %6280 = load i32, ptr %421, align 4, !tbaa !5
  %6281 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6272, ptr noundef nonnull %.str.6.sink3451, i32 noundef %6273, ptr noundef nonnull @.str.95, ptr noundef nonnull @.str.2, i32 noundef 709, ptr noundef %6275, ptr noundef %6277, ptr noundef %6279, i32 noundef %6280) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6282:                                             ; preds = %6254
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %122) #12
  %6283 = call ptr @s2n_connection_new(i32 noundef 0) #12
  store ptr %6283, ptr %122, align 8, !tbaa !9
  %6284 = load i32, ptr @test_count, align 4, !tbaa !5
  %6285 = add nsw i32 %6284, 1
  store i32 %6285, ptr @test_count, align 4, !tbaa !5
  %6286 = icmp eq ptr %6283, null
  br i1 %6286, label %6287, label %6309

6287:                                             ; preds = %6282
  %6288 = load i32, ptr %421, align 4, !tbaa !5
  %6289 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6290 = call i32 @s2n_print_stacktrace(ptr noundef %6289) #12
  %6291 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6292 = trunc nuw i8 %6291 to i1
  br i1 %6292, label %6293, label %6297

6293:                                             ; preds = %6287
  %6294 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6295 = call i32 @fileno(ptr noundef %6294) #12
  %6296 = call i32 @isatty(i32 noundef %6295) #12
  %.not1466 = icmp eq i32 %6296, 0
  br i1 %.not1466, label %6297, label %6298

6297:                                             ; preds = %6293, %6287
  br label %6298

6298:                                             ; preds = %6293, %6297
  %.str.6.sink3460 = phi ptr [ @.str.6, %6297 ], [ @.str.3, %6293 ]
  store i32 %6288, ptr %421, align 4, !tbaa !5
  %6299 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6300 = load i32, ptr @test_count, align 4, !tbaa !5
  %6301 = load i32, ptr %367, align 4, !tbaa !5
  %6302 = call ptr @s2n_strerror(i32 noundef %6301, ptr noundef nonnull @.str.5) #12
  %6303 = load i32, ptr %367, align 4, !tbaa !5
  %6304 = call ptr @s2n_strerror_debug(i32 noundef %6303, ptr noundef nonnull @.str.5) #12
  %6305 = load i32, ptr %421, align 4, !tbaa !5
  %6306 = call ptr @strerror(i32 noundef %6305) #12
  %6307 = load i32, ptr %421, align 4, !tbaa !5
  %6308 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6299, ptr noundef nonnull %.str.6.sink3460, i32 noundef %6300, ptr noundef nonnull @.str.79, ptr noundef nonnull @.str.2, i32 noundef 717, ptr noundef %6302, ptr noundef %6304, ptr noundef %6306, i32 noundef %6307) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6309:                                             ; preds = %6282
  call void @llvm.lifetime.start.p0(i64 96, ptr nonnull %123) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(96) %123, i8 0, i64 96, i1 false)
  %6310 = add nsw i32 %6284, 2
  store i32 %6310, ptr @test_count, align 4, !tbaa !5
  %6311 = call i32 @s2n_test_init_ktls_io_stuffer_send(ptr noundef nonnull %6283, ptr noundef nonnull %123) #12
  %6312 = call zeroext i1 @s2n_result_is_ok(i32 %6311)
  br i1 %6312, label %6335, label %6313

6313:                                             ; preds = %6309
  %6314 = load i32, ptr %421, align 4, !tbaa !5
  %6315 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6316 = call i32 @s2n_print_stacktrace(ptr noundef %6315) #12
  %6317 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6318 = trunc nuw i8 %6317 to i1
  br i1 %6318, label %6319, label %6323

6319:                                             ; preds = %6313
  %6320 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6321 = call i32 @fileno(ptr noundef %6320) #12
  %6322 = call i32 @isatty(i32 noundef %6321) #12
  %.not1269 = icmp eq i32 %6322, 0
  br i1 %.not1269, label %6323, label %6324

6323:                                             ; preds = %6319, %6313
  br label %6324

6324:                                             ; preds = %6319, %6323
  %.str.6.sink3469 = phi ptr [ @.str.6, %6323 ], [ @.str.3, %6319 ]
  store i32 %6314, ptr %421, align 4, !tbaa !5
  %6325 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6326 = load i32, ptr @test_count, align 4, !tbaa !5
  %6327 = load i32, ptr %367, align 4, !tbaa !5
  %6328 = call ptr @s2n_strerror(i32 noundef %6327, ptr noundef nonnull @.str.5) #12
  %6329 = load i32, ptr %367, align 4, !tbaa !5
  %6330 = call ptr @s2n_strerror_debug(i32 noundef %6329, ptr noundef nonnull @.str.5) #12
  %6331 = load i32, ptr %421, align 4, !tbaa !5
  %6332 = call ptr @strerror(i32 noundef %6331) #12
  %6333 = load i32, ptr %421, align 4, !tbaa !5
  %6334 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6325, ptr noundef nonnull %.str.6.sink3469, i32 noundef %6326, ptr noundef nonnull @.str.80, ptr noundef nonnull @.str.2, i32 noundef 721, ptr noundef %6328, ptr noundef %6330, ptr noundef %6332, i32 noundef %6333) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6335:                                             ; preds = %6309
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %124) #12
  store i32 0, ptr %124, align 4, !tbaa !5
  %6336 = load ptr, ptr %122, align 8, !tbaa !9
  %6337 = load ptr, ptr %121, align 8, !tbaa !58
  %6338 = getelementptr inbounds i8, ptr %121, i64 8
  %6339 = load i64, ptr %6338, align 8, !tbaa !60
  %6340 = call i64 @s2n_ktls_sendv_with_offset(ptr noundef %6336, ptr noundef %6337, i64 noundef %6339, i64 noundef 16385, ptr noundef nonnull %124) #12
  %6341 = load i32, ptr @test_count, align 4, !tbaa !5
  %6342 = add nsw i32 %6341, 1
  store i32 %6342, ptr @test_count, align 4, !tbaa !5
  %6343 = icmp eq i64 %6340, -1
  br i1 %6343, label %6366, label %6344

6344:                                             ; preds = %6335
  %6345 = load i32, ptr %421, align 4, !tbaa !5
  %6346 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6347 = call i32 @s2n_print_stacktrace(ptr noundef %6346) #12
  %6348 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6349 = trunc nuw i8 %6348 to i1
  br i1 %6349, label %6350, label %6354

6350:                                             ; preds = %6344
  %6351 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6352 = call i32 @fileno(ptr noundef %6351) #12
  %6353 = call i32 @isatty(i32 noundef %6352) #12
  %.not1270 = icmp eq i32 %6353, 0
  br i1 %.not1270, label %6354, label %6355

6354:                                             ; preds = %6350, %6344
  br label %6355

6355:                                             ; preds = %6350, %6354
  %.str.6.sink3478 = phi ptr [ @.str.6, %6354 ], [ @.str.3, %6350 ]
  store i32 %6345, ptr %421, align 4, !tbaa !5
  %6356 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6357 = load i32, ptr @test_count, align 4, !tbaa !5
  %6358 = load i32, ptr %367, align 4, !tbaa !5
  %6359 = call ptr @s2n_strerror(i32 noundef %6358, ptr noundef nonnull @.str.5) #12
  %6360 = load i32, ptr %367, align 4, !tbaa !5
  %6361 = call ptr @s2n_strerror_debug(i32 noundef %6360, ptr noundef nonnull @.str.5) #12
  %6362 = load i32, ptr %421, align 4, !tbaa !5
  %6363 = call ptr @strerror(i32 noundef %6362) #12
  %6364 = load i32, ptr %421, align 4, !tbaa !5
  %6365 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6356, ptr noundef nonnull %.str.6.sink3478, i32 noundef %6357, ptr noundef nonnull @.str.96, ptr noundef nonnull @.str.2, i32 noundef 726, ptr noundef %6359, ptr noundef %6361, ptr noundef %6363, i32 noundef %6364) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6366:                                             ; preds = %6335
  %6367 = add nsw i32 %6341, 2
  store i32 %6367, ptr @test_count, align 4, !tbaa !5
  %6368 = load i32, ptr %367, align 4, !tbaa !5
  %6369 = icmp eq i32 %6368, 469762089
  br i1 %6369, label %6392, label %6370

6370:                                             ; preds = %6366
  %6371 = load i32, ptr %421, align 4, !tbaa !5
  %6372 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6373 = call i32 @s2n_print_stacktrace(ptr noundef %6372) #12
  %6374 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6375 = trunc nuw i8 %6374 to i1
  br i1 %6375, label %6376, label %6380

6376:                                             ; preds = %6370
  %6377 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6378 = call i32 @fileno(ptr noundef %6377) #12
  %6379 = call i32 @isatty(i32 noundef %6378) #12
  %.not1271 = icmp eq i32 %6379, 0
  br i1 %.not1271, label %6380, label %6381

6380:                                             ; preds = %6376, %6370
  br label %6381

6381:                                             ; preds = %6376, %6380
  %.str.6.sink3487 = phi ptr [ @.str.6, %6380 ], [ @.str.3, %6376 ]
  store i32 %6371, ptr %421, align 4, !tbaa !5
  %6382 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6383 = load i32, ptr @test_count, align 4, !tbaa !5
  %6384 = load i32, ptr %367, align 4, !tbaa !5
  %6385 = call ptr @s2n_strerror(i32 noundef %6384, ptr noundef nonnull @.str.5) #12
  %6386 = load i32, ptr %367, align 4, !tbaa !5
  %6387 = call ptr @s2n_strerror_debug(i32 noundef %6386, ptr noundef nonnull @.str.5) #12
  %6388 = load i32, ptr %421, align 4, !tbaa !5
  %6389 = call ptr @strerror(i32 noundef %6388) #12
  %6390 = load i32, ptr %421, align 4, !tbaa !5
  %6391 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6382, ptr noundef nonnull %.str.6.sink3487, i32 noundef %6383, ptr noundef nonnull @.str.77, ptr noundef nonnull @.str.2, i32 noundef 726, ptr noundef %6385, ptr noundef %6387, ptr noundef %6389, i32 noundef %6390) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6392:                                             ; preds = %6366
  %6393 = add nsw i32 %6341, 3
  store i32 %6393, ptr @test_count, align 4, !tbaa !5
  %6394 = call ptr @s2n_strerror_debug(i32 noundef 469762089, ptr noundef nonnull @.str.5) #12
  %6395 = icmp eq ptr %6394, null
  br i1 %6395, label %6396, label %6418

6396:                                             ; preds = %6392
  %6397 = load i32, ptr %421, align 4, !tbaa !5
  %6398 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6399 = call i32 @s2n_print_stacktrace(ptr noundef %6398) #12
  %6400 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6401 = trunc nuw i8 %6400 to i1
  br i1 %6401, label %6402, label %6406

6402:                                             ; preds = %6396
  %6403 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6404 = call i32 @fileno(ptr noundef %6403) #12
  %6405 = call i32 @isatty(i32 noundef %6404) #12
  %.not1465 = icmp eq i32 %6405, 0
  br i1 %.not1465, label %6406, label %6407

6406:                                             ; preds = %6402, %6396
  br label %6407

6407:                                             ; preds = %6402, %6406
  %.str.6.sink3496 = phi ptr [ @.str.6, %6406 ], [ @.str.3, %6402 ]
  store i32 %6397, ptr %421, align 4, !tbaa !5
  %6408 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6409 = load i32, ptr @test_count, align 4, !tbaa !5
  %6410 = load i32, ptr %367, align 4, !tbaa !5
  %6411 = call ptr @s2n_strerror(i32 noundef %6410, ptr noundef nonnull @.str.5) #12
  %6412 = load i32, ptr %367, align 4, !tbaa !5
  %6413 = call ptr @s2n_strerror_debug(i32 noundef %6412, ptr noundef nonnull @.str.5) #12
  %6414 = load i32, ptr %421, align 4, !tbaa !5
  %6415 = call ptr @strerror(i32 noundef %6414) #12
  %6416 = load i32, ptr %421, align 4, !tbaa !5
  %6417 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6408, ptr noundef nonnull %.str.6.sink3496, i32 noundef %6409, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.2, i32 noundef 726, ptr noundef %6411, ptr noundef %6413, ptr noundef %6415, i32 noundef %6416) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6418:                                             ; preds = %6392
  store i32 0, ptr %367, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %421, align 4, !tbaa !5
  %6419 = load i32, ptr @test_count, align 4, !tbaa !5
  %6420 = add nsw i32 %6419, 1
  store i32 %6420, ptr @test_count, align 4, !tbaa !5
  %6421 = getelementptr inbounds i8, ptr %123, i64 80
  %6422 = load i64, ptr %6421, align 8, !tbaa !47
  %6423 = icmp eq i64 %6422, 0
  br i1 %6423, label %6446, label %6424

6424:                                             ; preds = %6418
  %6425 = load i32, ptr %421, align 4, !tbaa !5
  %6426 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6427 = call i32 @s2n_print_stacktrace(ptr noundef %6426) #12
  %6428 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6429 = trunc nuw i8 %6428 to i1
  br i1 %6429, label %6430, label %6434

6430:                                             ; preds = %6424
  %6431 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6432 = call i32 @fileno(ptr noundef %6431) #12
  %6433 = call i32 @isatty(i32 noundef %6432) #12
  %.not1272 = icmp eq i32 %6433, 0
  br i1 %.not1272, label %6434, label %6435

6434:                                             ; preds = %6430, %6424
  br label %6435

6435:                                             ; preds = %6430, %6434
  %.str.6.sink3505 = phi ptr [ @.str.6, %6434 ], [ @.str.3, %6430 ]
  store i32 %6425, ptr %421, align 4, !tbaa !5
  %6436 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6437 = load i32, ptr @test_count, align 4, !tbaa !5
  %6438 = load i32, ptr %367, align 4, !tbaa !5
  %6439 = call ptr @s2n_strerror(i32 noundef %6438, ptr noundef nonnull @.str.5) #12
  %6440 = load i32, ptr %367, align 4, !tbaa !5
  %6441 = call ptr @s2n_strerror_debug(i32 noundef %6440, ptr noundef nonnull @.str.5) #12
  %6442 = load i32, ptr %421, align 4, !tbaa !5
  %6443 = call ptr @strerror(i32 noundef %6442) #12
  %6444 = load i32, ptr %421, align 4, !tbaa !5
  %6445 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6436, ptr noundef nonnull %.str.6.sink3505, i32 noundef %6437, ptr noundef nonnull @.str.97, ptr noundef nonnull @.str.2, i32 noundef 728, ptr noundef %6439, ptr noundef %6441, ptr noundef %6443, i32 noundef %6444) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6446:                                             ; preds = %6418
  %6447 = add nsw i32 %6419, 2
  store i32 %6447, ptr @test_count, align 4, !tbaa !5
  %6448 = load i32, ptr %124, align 4, !tbaa !5
  %6449 = icmp eq i32 %6448, 0
  br i1 %6449, label %6472, label %6450

6450:                                             ; preds = %6446
  %6451 = load i32, ptr %421, align 4, !tbaa !5
  %6452 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6453 = call i32 @s2n_print_stacktrace(ptr noundef %6452) #12
  %6454 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6455 = trunc nuw i8 %6454 to i1
  br i1 %6455, label %6456, label %6460

6456:                                             ; preds = %6450
  %6457 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6458 = call i32 @fileno(ptr noundef %6457) #12
  %6459 = call i32 @isatty(i32 noundef %6458) #12
  %.not1273 = icmp eq i32 %6459, 0
  br i1 %.not1273, label %6460, label %6461

6460:                                             ; preds = %6456, %6450
  br label %6461

6461:                                             ; preds = %6456, %6460
  %.str.6.sink3514 = phi ptr [ @.str.6, %6460 ], [ @.str.3, %6456 ]
  store i32 %6451, ptr %421, align 4, !tbaa !5
  %6462 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6463 = load i32, ptr @test_count, align 4, !tbaa !5
  %6464 = load i32, ptr %367, align 4, !tbaa !5
  %6465 = call ptr @s2n_strerror(i32 noundef %6464, ptr noundef nonnull @.str.5) #12
  %6466 = load i32, ptr %367, align 4, !tbaa !5
  %6467 = call ptr @s2n_strerror_debug(i32 noundef %6466, ptr noundef nonnull @.str.5) #12
  %6468 = load i32, ptr %421, align 4, !tbaa !5
  %6469 = call ptr @strerror(i32 noundef %6468) #12
  %6470 = load i32, ptr %421, align 4, !tbaa !5
  %6471 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6462, ptr noundef nonnull %.str.6.sink3514, i32 noundef %6463, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.2, i32 noundef 729, ptr noundef %6465, ptr noundef %6467, ptr noundef %6469, i32 noundef %6470) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6472:                                             ; preds = %6446
  %6473 = add nsw i32 %6419, 3
  store i32 %6473, ptr @test_count, align 4, !tbaa !5
  %6474 = call i32 @s2n_test_records_in_ancillary(ptr noundef nonnull %123, i16 noundef zeroext 0) #12
  %6475 = call zeroext i1 @s2n_result_is_ok(i32 %6474)
  br i1 %6475, label %6498, label %6476

6476:                                             ; preds = %6472
  %6477 = load i32, ptr %421, align 4, !tbaa !5
  %6478 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6479 = call i32 @s2n_print_stacktrace(ptr noundef %6478) #12
  %6480 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6481 = trunc nuw i8 %6480 to i1
  br i1 %6481, label %6482, label %6486

6482:                                             ; preds = %6476
  %6483 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6484 = call i32 @fileno(ptr noundef %6483) #12
  %6485 = call i32 @isatty(i32 noundef %6484) #12
  %.not1274 = icmp eq i32 %6485, 0
  br i1 %.not1274, label %6486, label %6487

6486:                                             ; preds = %6482, %6476
  br label %6487

6487:                                             ; preds = %6482, %6486
  %.str.6.sink3523 = phi ptr [ @.str.6, %6486 ], [ @.str.3, %6482 ]
  store i32 %6477, ptr %421, align 4, !tbaa !5
  %6488 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6489 = load i32, ptr @test_count, align 4, !tbaa !5
  %6490 = load i32, ptr %367, align 4, !tbaa !5
  %6491 = call ptr @s2n_strerror(i32 noundef %6490, ptr noundef nonnull @.str.5) #12
  %6492 = load i32, ptr %367, align 4, !tbaa !5
  %6493 = call ptr @s2n_strerror_debug(i32 noundef %6492, ptr noundef nonnull @.str.5) #12
  %6494 = load i32, ptr %421, align 4, !tbaa !5
  %6495 = call ptr @strerror(i32 noundef %6494) #12
  %6496 = load i32, ptr %421, align 4, !tbaa !5
  %6497 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6488, ptr noundef nonnull %.str.6.sink3523, i32 noundef %6489, ptr noundef nonnull @.str.89, ptr noundef nonnull @.str.2, i32 noundef 730, ptr noundef %6491, ptr noundef %6493, ptr noundef %6495, i32 noundef %6496) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6498:                                             ; preds = %6472
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %124) #12
  %6499 = call i32 @s2n_ktls_io_stuffer_free(ptr noundef nonnull %123) #12
  call void @llvm.lifetime.end.p0(i64 96, ptr nonnull %123) #12
  %6500 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %122) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %122) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %125) #12
  %6501 = call ptr @s2n_connection_new(i32 noundef 0) #12
  store ptr %6501, ptr %125, align 8, !tbaa !9
  %6502 = load i32, ptr @test_count, align 4, !tbaa !5
  %6503 = add nsw i32 %6502, 1
  store i32 %6503, ptr @test_count, align 4, !tbaa !5
  %6504 = icmp eq ptr %6501, null
  br i1 %6504, label %6505, label %6527

6505:                                             ; preds = %6498
  %6506 = load i32, ptr %421, align 4, !tbaa !5
  %6507 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6508 = call i32 @s2n_print_stacktrace(ptr noundef %6507) #12
  %6509 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6510 = trunc nuw i8 %6509 to i1
  br i1 %6510, label %6511, label %6515

6511:                                             ; preds = %6505
  %6512 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6513 = call i32 @fileno(ptr noundef %6512) #12
  %6514 = call i32 @isatty(i32 noundef %6513) #12
  %.not1464 = icmp eq i32 %6514, 0
  br i1 %.not1464, label %6515, label %6516

6515:                                             ; preds = %6511, %6505
  br label %6516

6516:                                             ; preds = %6511, %6515
  %.str.6.sink3532 = phi ptr [ @.str.6, %6515 ], [ @.str.3, %6511 ]
  store i32 %6506, ptr %421, align 4, !tbaa !5
  %6517 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6518 = load i32, ptr @test_count, align 4, !tbaa !5
  %6519 = load i32, ptr %367, align 4, !tbaa !5
  %6520 = call ptr @s2n_strerror(i32 noundef %6519, ptr noundef nonnull @.str.5) #12
  %6521 = load i32, ptr %367, align 4, !tbaa !5
  %6522 = call ptr @s2n_strerror_debug(i32 noundef %6521, ptr noundef nonnull @.str.5) #12
  %6523 = load i32, ptr %421, align 4, !tbaa !5
  %6524 = call ptr @strerror(i32 noundef %6523) #12
  %6525 = load i32, ptr %421, align 4, !tbaa !5
  %6526 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6517, ptr noundef nonnull %.str.6.sink3532, i32 noundef %6518, ptr noundef nonnull @.str.79, ptr noundef nonnull @.str.2, i32 noundef 739, ptr noundef %6520, ptr noundef %6522, ptr noundef %6524, i32 noundef %6525) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6527:                                             ; preds = %6498
  call void @llvm.lifetime.start.p0(i64 96, ptr nonnull %126) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(96) %126, i8 0, i64 96, i1 false)
  %6528 = add nsw i32 %6502, 2
  store i32 %6528, ptr @test_count, align 4, !tbaa !5
  %6529 = call i32 @s2n_test_init_ktls_io_stuffer_send(ptr noundef nonnull %6501, ptr noundef nonnull %126) #12
  %6530 = call zeroext i1 @s2n_result_is_ok(i32 %6529)
  br i1 %6530, label %6553, label %6531

6531:                                             ; preds = %6527
  %6532 = load i32, ptr %421, align 4, !tbaa !5
  %6533 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6534 = call i32 @s2n_print_stacktrace(ptr noundef %6533) #12
  %6535 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6536 = trunc nuw i8 %6535 to i1
  br i1 %6536, label %6537, label %6541

6537:                                             ; preds = %6531
  %6538 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6539 = call i32 @fileno(ptr noundef %6538) #12
  %6540 = call i32 @isatty(i32 noundef %6539) #12
  %.not1275 = icmp eq i32 %6540, 0
  br i1 %.not1275, label %6541, label %6542

6541:                                             ; preds = %6537, %6531
  br label %6542

6542:                                             ; preds = %6537, %6541
  %.str.6.sink3541 = phi ptr [ @.str.6, %6541 ], [ @.str.3, %6537 ]
  store i32 %6532, ptr %421, align 4, !tbaa !5
  %6543 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6544 = load i32, ptr @test_count, align 4, !tbaa !5
  %6545 = load i32, ptr %367, align 4, !tbaa !5
  %6546 = call ptr @s2n_strerror(i32 noundef %6545, ptr noundef nonnull @.str.5) #12
  %6547 = load i32, ptr %367, align 4, !tbaa !5
  %6548 = call ptr @s2n_strerror_debug(i32 noundef %6547, ptr noundef nonnull @.str.5) #12
  %6549 = load i32, ptr %421, align 4, !tbaa !5
  %6550 = call ptr @strerror(i32 noundef %6549) #12
  %6551 = load i32, ptr %421, align 4, !tbaa !5
  %6552 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6543, ptr noundef nonnull %.str.6.sink3541, i32 noundef %6544, ptr noundef nonnull @.str.80, ptr noundef nonnull @.str.2, i32 noundef 743, ptr noundef %6546, ptr noundef %6548, ptr noundef %6550, i32 noundef %6551) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6553:                                             ; preds = %6527
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %127) #12
  store i32 0, ptr %127, align 4, !tbaa !5
  %6554 = load ptr, ptr %125, align 8, !tbaa !9
  %6555 = load ptr, ptr %121, align 8, !tbaa !58
  %6556 = load i64, ptr %6338, align 8, !tbaa !60
  %6557 = call i64 @s2n_ktls_sendv_with_offset(ptr noundef %6554, ptr noundef %6555, i64 noundef %6556, i64 noundef 16384, ptr noundef nonnull %127) #12
  %6558 = load i32, ptr @test_count, align 4, !tbaa !5
  %6559 = add nsw i32 %6558, 1
  store i32 %6559, ptr @test_count, align 4, !tbaa !5
  %6560 = and i64 %6557, 4294967295
  %6561 = icmp eq i64 %6560, 0
  br i1 %6561, label %6584, label %6562

6562:                                             ; preds = %6553
  %6563 = load i32, ptr %421, align 4, !tbaa !5
  %6564 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6565 = call i32 @s2n_print_stacktrace(ptr noundef %6564) #12
  %6566 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6567 = trunc nuw i8 %6566 to i1
  br i1 %6567, label %6568, label %6572

6568:                                             ; preds = %6562
  %6569 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6570 = call i32 @fileno(ptr noundef %6569) #12
  %6571 = call i32 @isatty(i32 noundef %6570) #12
  %.not1276 = icmp eq i32 %6571, 0
  br i1 %.not1276, label %6572, label %6573

6572:                                             ; preds = %6568, %6562
  br label %6573

6573:                                             ; preds = %6568, %6572
  %.str.6.sink3550 = phi ptr [ @.str.6, %6572 ], [ @.str.3, %6568 ]
  store i32 %6563, ptr %421, align 4, !tbaa !5
  %6574 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6575 = load i32, ptr @test_count, align 4, !tbaa !5
  %6576 = load i32, ptr %367, align 4, !tbaa !5
  %6577 = call ptr @s2n_strerror(i32 noundef %6576, ptr noundef nonnull @.str.5) #12
  %6578 = load i32, ptr %367, align 4, !tbaa !5
  %6579 = call ptr @s2n_strerror_debug(i32 noundef %6578, ptr noundef nonnull @.str.5) #12
  %6580 = load i32, ptr %421, align 4, !tbaa !5
  %6581 = call ptr @strerror(i32 noundef %6580) #12
  %6582 = load i32, ptr %421, align 4, !tbaa !5
  %6583 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6574, ptr noundef nonnull %.str.6.sink3550, i32 noundef %6575, ptr noundef nonnull @.str.98, ptr noundef nonnull @.str.2, i32 noundef 748, ptr noundef %6577, ptr noundef %6579, ptr noundef %6581, i32 noundef %6582) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6584:                                             ; preds = %6553
  %6585 = add nsw i32 %6558, 2
  store i32 %6585, ptr @test_count, align 4, !tbaa !5
  %6586 = getelementptr inbounds i8, ptr %126, i64 80
  %6587 = load i64, ptr %6586, align 8, !tbaa !47
  %6588 = icmp eq i64 %6587, 1
  br i1 %6588, label %6611, label %6589

6589:                                             ; preds = %6584
  %6590 = load i32, ptr %421, align 4, !tbaa !5
  %6591 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6592 = call i32 @s2n_print_stacktrace(ptr noundef %6591) #12
  %6593 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6594 = trunc nuw i8 %6593 to i1
  br i1 %6594, label %6595, label %6599

6595:                                             ; preds = %6589
  %6596 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6597 = call i32 @fileno(ptr noundef %6596) #12
  %6598 = call i32 @isatty(i32 noundef %6597) #12
  %.not1277 = icmp eq i32 %6598, 0
  br i1 %.not1277, label %6599, label %6600

6599:                                             ; preds = %6595, %6589
  br label %6600

6600:                                             ; preds = %6595, %6599
  %.str.6.sink3559 = phi ptr [ @.str.6, %6599 ], [ @.str.3, %6595 ]
  store i32 %6590, ptr %421, align 4, !tbaa !5
  %6601 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6602 = load i32, ptr @test_count, align 4, !tbaa !5
  %6603 = load i32, ptr %367, align 4, !tbaa !5
  %6604 = call ptr @s2n_strerror(i32 noundef %6603, ptr noundef nonnull @.str.5) #12
  %6605 = load i32, ptr %367, align 4, !tbaa !5
  %6606 = call ptr @s2n_strerror_debug(i32 noundef %6605, ptr noundef nonnull @.str.5) #12
  %6607 = load i32, ptr %421, align 4, !tbaa !5
  %6608 = call ptr @strerror(i32 noundef %6607) #12
  %6609 = load i32, ptr %421, align 4, !tbaa !5
  %6610 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6601, ptr noundef nonnull %.str.6.sink3559, i32 noundef %6602, ptr noundef nonnull @.str.82, ptr noundef nonnull @.str.2, i32 noundef 750, ptr noundef %6604, ptr noundef %6606, ptr noundef %6608, i32 noundef %6609) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6611:                                             ; preds = %6584
  %6612 = add nsw i32 %6558, 3
  store i32 %6612, ptr @test_count, align 4, !tbaa !5
  %6613 = load i32, ptr %127, align 4, !tbaa !5
  %6614 = icmp eq i32 %6613, 0
  br i1 %6614, label %6637, label %6615

6615:                                             ; preds = %6611
  %6616 = load i32, ptr %421, align 4, !tbaa !5
  %6617 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6618 = call i32 @s2n_print_stacktrace(ptr noundef %6617) #12
  %6619 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6620 = trunc nuw i8 %6619 to i1
  br i1 %6620, label %6621, label %6625

6621:                                             ; preds = %6615
  %6622 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6623 = call i32 @fileno(ptr noundef %6622) #12
  %6624 = call i32 @isatty(i32 noundef %6623) #12
  %.not1278 = icmp eq i32 %6624, 0
  br i1 %.not1278, label %6625, label %6626

6625:                                             ; preds = %6621, %6615
  br label %6626

6626:                                             ; preds = %6621, %6625
  %.str.6.sink3568 = phi ptr [ @.str.6, %6625 ], [ @.str.3, %6621 ]
  store i32 %6616, ptr %421, align 4, !tbaa !5
  %6627 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6628 = load i32, ptr @test_count, align 4, !tbaa !5
  %6629 = load i32, ptr %367, align 4, !tbaa !5
  %6630 = call ptr @s2n_strerror(i32 noundef %6629, ptr noundef nonnull @.str.5) #12
  %6631 = load i32, ptr %367, align 4, !tbaa !5
  %6632 = call ptr @s2n_strerror_debug(i32 noundef %6631, ptr noundef nonnull @.str.5) #12
  %6633 = load i32, ptr %421, align 4, !tbaa !5
  %6634 = call ptr @strerror(i32 noundef %6633) #12
  %6635 = load i32, ptr %421, align 4, !tbaa !5
  %6636 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6627, ptr noundef nonnull %.str.6.sink3568, i32 noundef %6628, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.2, i32 noundef 751, ptr noundef %6630, ptr noundef %6632, ptr noundef %6634, i32 noundef %6635) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6637:                                             ; preds = %6611
  %6638 = add nsw i32 %6558, 4
  store i32 %6638, ptr @test_count, align 4, !tbaa !5
  %6639 = call i32 @s2n_test_records_in_ancillary(ptr noundef nonnull %126, i16 noundef zeroext 0) #12
  %6640 = call zeroext i1 @s2n_result_is_ok(i32 %6639)
  br i1 %6640, label %6663, label %6641

6641:                                             ; preds = %6637
  %6642 = load i32, ptr %421, align 4, !tbaa !5
  %6643 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6644 = call i32 @s2n_print_stacktrace(ptr noundef %6643) #12
  %6645 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6646 = trunc nuw i8 %6645 to i1
  br i1 %6646, label %6647, label %6651

6647:                                             ; preds = %6641
  %6648 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6649 = call i32 @fileno(ptr noundef %6648) #12
  %6650 = call i32 @isatty(i32 noundef %6649) #12
  %.not1279 = icmp eq i32 %6650, 0
  br i1 %.not1279, label %6651, label %6652

6651:                                             ; preds = %6647, %6641
  br label %6652

6652:                                             ; preds = %6647, %6651
  %.str.6.sink3577 = phi ptr [ @.str.6, %6651 ], [ @.str.3, %6647 ]
  store i32 %6642, ptr %421, align 4, !tbaa !5
  %6653 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6654 = load i32, ptr @test_count, align 4, !tbaa !5
  %6655 = load i32, ptr %367, align 4, !tbaa !5
  %6656 = call ptr @s2n_strerror(i32 noundef %6655, ptr noundef nonnull @.str.5) #12
  %6657 = load i32, ptr %367, align 4, !tbaa !5
  %6658 = call ptr @s2n_strerror_debug(i32 noundef %6657, ptr noundef nonnull @.str.5) #12
  %6659 = load i32, ptr %421, align 4, !tbaa !5
  %6660 = call ptr @strerror(i32 noundef %6659) #12
  %6661 = load i32, ptr %421, align 4, !tbaa !5
  %6662 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6653, ptr noundef nonnull %.str.6.sink3577, i32 noundef %6654, ptr noundef nonnull @.str.89, ptr noundef nonnull @.str.2, i32 noundef 752, ptr noundef %6656, ptr noundef %6658, ptr noundef %6660, i32 noundef %6661) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6663:                                             ; preds = %6637
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %127) #12
  %6664 = call i32 @s2n_ktls_io_stuffer_free(ptr noundef nonnull %126) #12
  call void @llvm.lifetime.end.p0(i64 96, ptr nonnull %126) #12
  %6665 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %125) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %125) #12
  %6666 = getelementptr inbounds i8, ptr %119, i64 8
  %6667 = getelementptr inbounds i8, ptr %129, i64 80
  br label %6669

.preheader1520:                                   ; preds = %6862
  %6668 = getelementptr inbounds i8, ptr %132, i64 80
  br label %6876

6669:                                             ; preds = %6663, %6862
  %.010931527 = phi i64 [ 0, %6663 ], [ %6865, %6862 ]
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %128) #12
  %6670 = call ptr @s2n_connection_new(i32 noundef 0) #12
  store ptr %6670, ptr %128, align 8, !tbaa !9
  %6671 = load i32, ptr @test_count, align 4, !tbaa !5
  %6672 = add nsw i32 %6671, 1
  store i32 %6672, ptr @test_count, align 4, !tbaa !5
  %6673 = icmp eq ptr %6670, null
  br i1 %6673, label %6674, label %6696

6674:                                             ; preds = %6669
  %6675 = load i32, ptr %421, align 4, !tbaa !5
  %6676 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6677 = call i32 @s2n_print_stacktrace(ptr noundef %6676) #12
  %6678 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6679 = trunc nuw i8 %6678 to i1
  br i1 %6679, label %6680, label %6684

6680:                                             ; preds = %6674
  %6681 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6682 = call i32 @fileno(ptr noundef %6681) #12
  %6683 = call i32 @isatty(i32 noundef %6682) #12
  %.not1463 = icmp eq i32 %6683, 0
  br i1 %.not1463, label %6684, label %6685

6684:                                             ; preds = %6680, %6674
  br label %6685

6685:                                             ; preds = %6680, %6684
  %.str.6.sink3586 = phi ptr [ @.str.6, %6684 ], [ @.str.3, %6680 ]
  store i32 %6675, ptr %421, align 4, !tbaa !5
  %6686 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6687 = load i32, ptr @test_count, align 4, !tbaa !5
  %6688 = load i32, ptr %367, align 4, !tbaa !5
  %6689 = call ptr @s2n_strerror(i32 noundef %6688, ptr noundef nonnull @.str.5) #12
  %6690 = load i32, ptr %367, align 4, !tbaa !5
  %6691 = call ptr @s2n_strerror_debug(i32 noundef %6690, ptr noundef nonnull @.str.5) #12
  %6692 = load i32, ptr %421, align 4, !tbaa !5
  %6693 = call ptr @strerror(i32 noundef %6692) #12
  %6694 = load i32, ptr %421, align 4, !tbaa !5
  %6695 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6686, ptr noundef nonnull %.str.6.sink3586, i32 noundef %6687, ptr noundef nonnull @.str.79, ptr noundef nonnull @.str.2, i32 noundef 759, ptr noundef %6689, ptr noundef %6691, ptr noundef %6693, i32 noundef %6694) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6696:                                             ; preds = %6669
  call void @llvm.lifetime.start.p0(i64 96, ptr nonnull %129) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(96) %129, i8 0, i64 96, i1 false)
  %6697 = add nsw i32 %6671, 2
  store i32 %6697, ptr @test_count, align 4, !tbaa !5
  %6698 = call i32 @s2n_test_init_ktls_io_stuffer_send(ptr noundef nonnull %6670, ptr noundef nonnull %129) #12
  %6699 = call zeroext i1 @s2n_result_is_ok(i32 %6698)
  br i1 %6699, label %6722, label %6700

6700:                                             ; preds = %6696
  %6701 = load i32, ptr %421, align 4, !tbaa !5
  %6702 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6703 = call i32 @s2n_print_stacktrace(ptr noundef %6702) #12
  %6704 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6705 = trunc nuw i8 %6704 to i1
  br i1 %6705, label %6706, label %6710

6706:                                             ; preds = %6700
  %6707 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6708 = call i32 @fileno(ptr noundef %6707) #12
  %6709 = call i32 @isatty(i32 noundef %6708) #12
  %.not1457 = icmp eq i32 %6709, 0
  br i1 %.not1457, label %6710, label %6711

6710:                                             ; preds = %6706, %6700
  br label %6711

6711:                                             ; preds = %6706, %6710
  %.str.6.sink3595 = phi ptr [ @.str.6, %6710 ], [ @.str.3, %6706 ]
  store i32 %6701, ptr %421, align 4, !tbaa !5
  %6712 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6713 = load i32, ptr @test_count, align 4, !tbaa !5
  %6714 = load i32, ptr %367, align 4, !tbaa !5
  %6715 = call ptr @s2n_strerror(i32 noundef %6714, ptr noundef nonnull @.str.5) #12
  %6716 = load i32, ptr %367, align 4, !tbaa !5
  %6717 = call ptr @s2n_strerror_debug(i32 noundef %6716, ptr noundef nonnull @.str.5) #12
  %6718 = load i32, ptr %421, align 4, !tbaa !5
  %6719 = call ptr @strerror(i32 noundef %6718) #12
  %6720 = load i32, ptr %421, align 4, !tbaa !5
  %6721 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6712, ptr noundef nonnull %.str.6.sink3595, i32 noundef %6713, ptr noundef nonnull @.str.80, ptr noundef nonnull @.str.2, i32 noundef 763, ptr noundef %6715, ptr noundef %6717, ptr noundef %6719, i32 noundef %6720) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6722:                                             ; preds = %6696
  %6723 = sub nuw nsw i64 16384, %.010931527
  %6724 = load i32, ptr @test_count, align 4, !tbaa !5
  %6725 = add nsw i32 %6724, 1
  store i32 %6725, ptr @test_count, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %130) #12
  store i32 0, ptr %130, align 4, !tbaa !5
  %6726 = load ptr, ptr %128, align 8, !tbaa !9
  %6727 = load ptr, ptr %119, align 8, !tbaa !58
  %6728 = load i64, ptr %6666, align 8, !tbaa !60
  %6729 = call i64 @s2n_ktls_sendv_with_offset(ptr noundef %6726, ptr noundef %6727, i64 noundef %6728, i64 noundef %.010931527, ptr noundef nonnull %130) #12
  %6730 = load i32, ptr @test_count, align 4, !tbaa !5
  %6731 = add nsw i32 %6730, 1
  store i32 %6731, ptr @test_count, align 4, !tbaa !5
  %6732 = icmp eq i64 %6729, %6723
  br i1 %6732, label %6755, label %6733

6733:                                             ; preds = %6722
  %6734 = load i32, ptr %421, align 4, !tbaa !5
  %6735 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6736 = call i32 @s2n_print_stacktrace(ptr noundef %6735) #12
  %6737 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6738 = trunc nuw i8 %6737 to i1
  br i1 %6738, label %6739, label %6743

6739:                                             ; preds = %6733
  %6740 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6741 = call i32 @fileno(ptr noundef %6740) #12
  %6742 = call i32 @isatty(i32 noundef %6741) #12
  %.not1458 = icmp eq i32 %6742, 0
  br i1 %.not1458, label %6743, label %6744

6743:                                             ; preds = %6739, %6733
  br label %6744

6744:                                             ; preds = %6739, %6743
  %.str.6.sink3604 = phi ptr [ @.str.6, %6743 ], [ @.str.3, %6739 ]
  store i32 %6734, ptr %421, align 4, !tbaa !5
  %6745 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6746 = load i32, ptr @test_count, align 4, !tbaa !5
  %6747 = load i32, ptr %367, align 4, !tbaa !5
  %6748 = call ptr @s2n_strerror(i32 noundef %6747, ptr noundef nonnull @.str.5) #12
  %6749 = load i32, ptr %367, align 4, !tbaa !5
  %6750 = call ptr @s2n_strerror_debug(i32 noundef %6749, ptr noundef nonnull @.str.5) #12
  %6751 = load i32, ptr %421, align 4, !tbaa !5
  %6752 = call ptr @strerror(i32 noundef %6751) #12
  %6753 = load i32, ptr %421, align 4, !tbaa !5
  %6754 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6745, ptr noundef nonnull %.str.6.sink3604, i32 noundef %6746, ptr noundef nonnull @.str.100, ptr noundef nonnull @.str.2, i32 noundef 771, ptr noundef %6748, ptr noundef %6750, ptr noundef %6752, i32 noundef %6753) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6755:                                             ; preds = %6722
  %6756 = add nsw i32 %6730, 2
  store i32 %6756, ptr @test_count, align 4, !tbaa !5
  %6757 = load i64, ptr %6667, align 8, !tbaa !47
  %6758 = icmp eq i64 %6757, 1
  br i1 %6758, label %6781, label %6759

6759:                                             ; preds = %6755
  %6760 = load i32, ptr %421, align 4, !tbaa !5
  %6761 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6762 = call i32 @s2n_print_stacktrace(ptr noundef %6761) #12
  %6763 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6764 = trunc nuw i8 %6763 to i1
  br i1 %6764, label %6765, label %6769

6765:                                             ; preds = %6759
  %6766 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6767 = call i32 @fileno(ptr noundef %6766) #12
  %6768 = call i32 @isatty(i32 noundef %6767) #12
  %.not1459 = icmp eq i32 %6768, 0
  br i1 %.not1459, label %6769, label %6770

6769:                                             ; preds = %6765, %6759
  br label %6770

6770:                                             ; preds = %6765, %6769
  %.str.6.sink3613 = phi ptr [ @.str.6, %6769 ], [ @.str.3, %6765 ]
  store i32 %6760, ptr %421, align 4, !tbaa !5
  %6771 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6772 = load i32, ptr @test_count, align 4, !tbaa !5
  %6773 = load i32, ptr %367, align 4, !tbaa !5
  %6774 = call ptr @s2n_strerror(i32 noundef %6773, ptr noundef nonnull @.str.5) #12
  %6775 = load i32, ptr %367, align 4, !tbaa !5
  %6776 = call ptr @s2n_strerror_debug(i32 noundef %6775, ptr noundef nonnull @.str.5) #12
  %6777 = load i32, ptr %421, align 4, !tbaa !5
  %6778 = call ptr @strerror(i32 noundef %6777) #12
  %6779 = load i32, ptr %421, align 4, !tbaa !5
  %6780 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6771, ptr noundef nonnull %.str.6.sink3613, i32 noundef %6772, ptr noundef nonnull @.str.82, ptr noundef nonnull @.str.2, i32 noundef 773, ptr noundef %6774, ptr noundef %6776, ptr noundef %6778, i32 noundef %6779) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6781:                                             ; preds = %6755
  %6782 = add nsw i32 %6730, 3
  store i32 %6782, ptr @test_count, align 4, !tbaa !5
  %6783 = load i32, ptr %130, align 4, !tbaa !5
  %6784 = icmp eq i32 %6783, 0
  br i1 %6784, label %6807, label %6785

6785:                                             ; preds = %6781
  %6786 = load i32, ptr %421, align 4, !tbaa !5
  %6787 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6788 = call i32 @s2n_print_stacktrace(ptr noundef %6787) #12
  %6789 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6790 = trunc nuw i8 %6789 to i1
  br i1 %6790, label %6791, label %6795

6791:                                             ; preds = %6785
  %6792 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6793 = call i32 @fileno(ptr noundef %6792) #12
  %6794 = call i32 @isatty(i32 noundef %6793) #12
  %.not1460 = icmp eq i32 %6794, 0
  br i1 %.not1460, label %6795, label %6796

6795:                                             ; preds = %6791, %6785
  br label %6796

6796:                                             ; preds = %6791, %6795
  %.str.6.sink3622 = phi ptr [ @.str.6, %6795 ], [ @.str.3, %6791 ]
  store i32 %6786, ptr %421, align 4, !tbaa !5
  %6797 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6798 = load i32, ptr @test_count, align 4, !tbaa !5
  %6799 = load i32, ptr %367, align 4, !tbaa !5
  %6800 = call ptr @s2n_strerror(i32 noundef %6799, ptr noundef nonnull @.str.5) #12
  %6801 = load i32, ptr %367, align 4, !tbaa !5
  %6802 = call ptr @s2n_strerror_debug(i32 noundef %6801, ptr noundef nonnull @.str.5) #12
  %6803 = load i32, ptr %421, align 4, !tbaa !5
  %6804 = call ptr @strerror(i32 noundef %6803) #12
  %6805 = load i32, ptr %421, align 4, !tbaa !5
  %6806 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6797, ptr noundef nonnull %.str.6.sink3622, i32 noundef %6798, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.2, i32 noundef 774, ptr noundef %6800, ptr noundef %6802, ptr noundef %6804, i32 noundef %6805) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6807:                                             ; preds = %6781
  %6808 = add nsw i32 %6730, 4
  store i32 %6808, ptr @test_count, align 4, !tbaa !5
  %6809 = trunc nuw nsw i64 %6723 to i16
  %6810 = call i32 @s2n_test_validate_ancillary(ptr noundef nonnull %129, i8 noundef zeroext 23, i16 noundef zeroext %6809) #12
  %6811 = call zeroext i1 @s2n_result_is_ok(i32 %6810)
  br i1 %6811, label %6834, label %6812

6812:                                             ; preds = %6807
  %6813 = load i32, ptr %421, align 4, !tbaa !5
  %6814 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6815 = call i32 @s2n_print_stacktrace(ptr noundef %6814) #12
  %6816 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6817 = trunc nuw i8 %6816 to i1
  br i1 %6817, label %6818, label %6822

6818:                                             ; preds = %6812
  %6819 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6820 = call i32 @fileno(ptr noundef %6819) #12
  %6821 = call i32 @isatty(i32 noundef %6820) #12
  %.not1461 = icmp eq i32 %6821, 0
  br i1 %.not1461, label %6822, label %6823

6822:                                             ; preds = %6818, %6812
  br label %6823

6823:                                             ; preds = %6818, %6822
  %.str.6.sink3631 = phi ptr [ @.str.6, %6822 ], [ @.str.3, %6818 ]
  store i32 %6813, ptr %421, align 4, !tbaa !5
  %6824 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6825 = load i32, ptr @test_count, align 4, !tbaa !5
  %6826 = load i32, ptr %367, align 4, !tbaa !5
  %6827 = call ptr @s2n_strerror(i32 noundef %6826, ptr noundef nonnull @.str.5) #12
  %6828 = load i32, ptr %367, align 4, !tbaa !5
  %6829 = call ptr @s2n_strerror_debug(i32 noundef %6828, ptr noundef nonnull @.str.5) #12
  %6830 = load i32, ptr %421, align 4, !tbaa !5
  %6831 = call ptr @strerror(i32 noundef %6830) #12
  %6832 = load i32, ptr %421, align 4, !tbaa !5
  %6833 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6824, ptr noundef nonnull %.str.6.sink3631, i32 noundef %6825, ptr noundef nonnull @.str.101, ptr noundef nonnull @.str.2, i32 noundef 775, ptr noundef %6827, ptr noundef %6829, ptr noundef %6831, i32 noundef %6832) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6834:                                             ; preds = %6807
  %6835 = load i32, ptr @test_count, align 4, !tbaa !5
  %6836 = add nsw i32 %6835, 1
  store i32 %6836, ptr @test_count, align 4, !tbaa !5
  %6837 = getelementptr inbounds i8, ptr %3, i64 %.010931527
  %6838 = call i32 @s2n_test_validate_data(ptr noundef nonnull %129, ptr noundef nonnull %6837, i16 noundef zeroext %6809) #12
  %6839 = call zeroext i1 @s2n_result_is_ok(i32 %6838)
  br i1 %6839, label %6862, label %6840

6840:                                             ; preds = %6834
  %6841 = load i32, ptr %421, align 4, !tbaa !5
  %6842 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6843 = call i32 @s2n_print_stacktrace(ptr noundef %6842) #12
  %6844 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6845 = trunc nuw i8 %6844 to i1
  br i1 %6845, label %6846, label %6850

6846:                                             ; preds = %6840
  %6847 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6848 = call i32 @fileno(ptr noundef %6847) #12
  %6849 = call i32 @isatty(i32 noundef %6848) #12
  %.not1462 = icmp eq i32 %6849, 0
  br i1 %.not1462, label %6850, label %6851

6850:                                             ; preds = %6846, %6840
  br label %6851

6851:                                             ; preds = %6846, %6850
  %.str.6.sink3640 = phi ptr [ @.str.6, %6850 ], [ @.str.3, %6846 ]
  store i32 %6841, ptr %421, align 4, !tbaa !5
  %6852 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6853 = load i32, ptr @test_count, align 4, !tbaa !5
  %6854 = load i32, ptr %367, align 4, !tbaa !5
  %6855 = call ptr @s2n_strerror(i32 noundef %6854, ptr noundef nonnull @.str.5) #12
  %6856 = load i32, ptr %367, align 4, !tbaa !5
  %6857 = call ptr @s2n_strerror_debug(i32 noundef %6856, ptr noundef nonnull @.str.5) #12
  %6858 = load i32, ptr %421, align 4, !tbaa !5
  %6859 = call ptr @strerror(i32 noundef %6858) #12
  %6860 = load i32, ptr %421, align 4, !tbaa !5
  %6861 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6852, ptr noundef nonnull %.str.6.sink3640, i32 noundef %6853, ptr noundef nonnull @.str.102, ptr noundef nonnull @.str.2, i32 noundef 776, ptr noundef %6855, ptr noundef %6857, ptr noundef %6859, i32 noundef %6860) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6862:                                             ; preds = %6834
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %130) #12
  %6863 = call i32 @s2n_ktls_io_stuffer_free(ptr noundef nonnull %129) #12
  call void @llvm.lifetime.end.p0(i64 96, ptr nonnull %129) #12
  %6864 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %128) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %128) #12
  %6865 = add nuw nsw i64 %.010931527, 1
  %exitcond.not = icmp eq i64 %6865, 16384
  br i1 %exitcond.not, label %.preheader1520, label %6669, !llvm.loop !61

6866:                                             ; preds = %7069
  %6867 = call i32 @s2n_test_iovecs_free(ptr noundef nonnull %121) #12
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %121) #12
  call void @llvm.lifetime.end.p0(i64 800, ptr nonnull %120) #12
  %6868 = call i32 @s2n_test_iovecs_free(ptr noundef nonnull %119) #12
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %119) #12
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %134) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %134, i8 0, i64 16, i1 false)
  %6869 = load i32, ptr @test_count, align 4, !tbaa !5
  %6870 = add nsw i32 %6869, 1
  store i32 %6870, ptr @test_count, align 4, !tbaa !5
  %6871 = call i32 @s2n_test_new_iovecs(ptr noundef nonnull %134, ptr noundef nonnull %4, ptr noundef nonnull %99, i64 noundef 7) #12
  %6872 = call zeroext i1 @s2n_result_is_ok(i32 %6871)
  br i1 %6872, label %.preheader1519, label %7073

.preheader1519:                                   ; preds = %6866
  %6873 = getelementptr inbounds i8, ptr %136, i64 40
  %6874 = getelementptr inbounds i8, ptr %134, i64 8
  %6875 = getelementptr inbounds i8, ptr %136, i64 80
  br label %7101

6876:                                             ; preds = %.preheader1520, %7069
  %.010941528 = phi i64 [ 0, %.preheader1520 ], [ %7072, %7069 ]
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %131) #12
  %6877 = call ptr @s2n_connection_new(i32 noundef 0) #12
  store ptr %6877, ptr %131, align 8, !tbaa !9
  %6878 = load i32, ptr @test_count, align 4, !tbaa !5
  %6879 = add nsw i32 %6878, 1
  store i32 %6879, ptr @test_count, align 4, !tbaa !5
  %6880 = icmp eq ptr %6877, null
  br i1 %6880, label %6881, label %6903

6881:                                             ; preds = %6876
  %6882 = load i32, ptr %421, align 4, !tbaa !5
  %6883 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6884 = call i32 @s2n_print_stacktrace(ptr noundef %6883) #12
  %6885 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6886 = trunc nuw i8 %6885 to i1
  br i1 %6886, label %6887, label %6891

6887:                                             ; preds = %6881
  %6888 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6889 = call i32 @fileno(ptr noundef %6888) #12
  %6890 = call i32 @isatty(i32 noundef %6889) #12
  %.not1456 = icmp eq i32 %6890, 0
  br i1 %.not1456, label %6891, label %6892

6891:                                             ; preds = %6887, %6881
  br label %6892

6892:                                             ; preds = %6887, %6891
  %.str.6.sink3649 = phi ptr [ @.str.6, %6891 ], [ @.str.3, %6887 ]
  store i32 %6882, ptr %421, align 4, !tbaa !5
  %6893 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6894 = load i32, ptr @test_count, align 4, !tbaa !5
  %6895 = load i32, ptr %367, align 4, !tbaa !5
  %6896 = call ptr @s2n_strerror(i32 noundef %6895, ptr noundef nonnull @.str.5) #12
  %6897 = load i32, ptr %367, align 4, !tbaa !5
  %6898 = call ptr @s2n_strerror_debug(i32 noundef %6897, ptr noundef nonnull @.str.5) #12
  %6899 = load i32, ptr %421, align 4, !tbaa !5
  %6900 = call ptr @strerror(i32 noundef %6899) #12
  %6901 = load i32, ptr %421, align 4, !tbaa !5
  %6902 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6893, ptr noundef nonnull %.str.6.sink3649, i32 noundef %6894, ptr noundef nonnull @.str.79, ptr noundef nonnull @.str.2, i32 noundef 783, ptr noundef %6896, ptr noundef %6898, ptr noundef %6900, i32 noundef %6901) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6903:                                             ; preds = %6876
  call void @llvm.lifetime.start.p0(i64 96, ptr nonnull %132) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(96) %132, i8 0, i64 96, i1 false)
  %6904 = add nsw i32 %6878, 2
  store i32 %6904, ptr @test_count, align 4, !tbaa !5
  %6905 = call i32 @s2n_test_init_ktls_io_stuffer_send(ptr noundef nonnull %6877, ptr noundef nonnull %132) #12
  %6906 = call zeroext i1 @s2n_result_is_ok(i32 %6905)
  br i1 %6906, label %6929, label %6907

6907:                                             ; preds = %6903
  %6908 = load i32, ptr %421, align 4, !tbaa !5
  %6909 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6910 = call i32 @s2n_print_stacktrace(ptr noundef %6909) #12
  %6911 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6912 = trunc nuw i8 %6911 to i1
  br i1 %6912, label %6913, label %6917

6913:                                             ; preds = %6907
  %6914 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6915 = call i32 @fileno(ptr noundef %6914) #12
  %6916 = call i32 @isatty(i32 noundef %6915) #12
  %.not1450 = icmp eq i32 %6916, 0
  br i1 %.not1450, label %6917, label %6918

6917:                                             ; preds = %6913, %6907
  br label %6918

6918:                                             ; preds = %6913, %6917
  %.str.6.sink3658 = phi ptr [ @.str.6, %6917 ], [ @.str.3, %6913 ]
  store i32 %6908, ptr %421, align 4, !tbaa !5
  %6919 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6920 = load i32, ptr @test_count, align 4, !tbaa !5
  %6921 = load i32, ptr %367, align 4, !tbaa !5
  %6922 = call ptr @s2n_strerror(i32 noundef %6921, ptr noundef nonnull @.str.5) #12
  %6923 = load i32, ptr %367, align 4, !tbaa !5
  %6924 = call ptr @s2n_strerror_debug(i32 noundef %6923, ptr noundef nonnull @.str.5) #12
  %6925 = load i32, ptr %421, align 4, !tbaa !5
  %6926 = call ptr @strerror(i32 noundef %6925) #12
  %6927 = load i32, ptr %421, align 4, !tbaa !5
  %6928 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6919, ptr noundef nonnull %.str.6.sink3658, i32 noundef %6920, ptr noundef nonnull @.str.80, ptr noundef nonnull @.str.2, i32 noundef 787, ptr noundef %6922, ptr noundef %6924, ptr noundef %6926, i32 noundef %6927) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6929:                                             ; preds = %6903
  %6930 = sub nuw nsw i64 16384, %.010941528
  %6931 = load i32, ptr @test_count, align 4, !tbaa !5
  %6932 = add nsw i32 %6931, 1
  store i32 %6932, ptr @test_count, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %133) #12
  store i32 0, ptr %133, align 4, !tbaa !5
  %6933 = load ptr, ptr %131, align 8, !tbaa !9
  %6934 = load ptr, ptr %121, align 8, !tbaa !58
  %6935 = load i64, ptr %6338, align 8, !tbaa !60
  %6936 = call i64 @s2n_ktls_sendv_with_offset(ptr noundef %6933, ptr noundef %6934, i64 noundef %6935, i64 noundef %.010941528, ptr noundef nonnull %133) #12
  %6937 = load i32, ptr @test_count, align 4, !tbaa !5
  %6938 = add nsw i32 %6937, 1
  store i32 %6938, ptr @test_count, align 4, !tbaa !5
  %6939 = icmp eq i64 %6936, %6930
  br i1 %6939, label %6962, label %6940

6940:                                             ; preds = %6929
  %6941 = load i32, ptr %421, align 4, !tbaa !5
  %6942 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6943 = call i32 @s2n_print_stacktrace(ptr noundef %6942) #12
  %6944 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6945 = trunc nuw i8 %6944 to i1
  br i1 %6945, label %6946, label %6950

6946:                                             ; preds = %6940
  %6947 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6948 = call i32 @fileno(ptr noundef %6947) #12
  %6949 = call i32 @isatty(i32 noundef %6948) #12
  %.not1451 = icmp eq i32 %6949, 0
  br i1 %.not1451, label %6950, label %6951

6950:                                             ; preds = %6946, %6940
  br label %6951

6951:                                             ; preds = %6946, %6950
  %.str.6.sink3667 = phi ptr [ @.str.6, %6950 ], [ @.str.3, %6946 ]
  store i32 %6941, ptr %421, align 4, !tbaa !5
  %6952 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6953 = load i32, ptr @test_count, align 4, !tbaa !5
  %6954 = load i32, ptr %367, align 4, !tbaa !5
  %6955 = call ptr @s2n_strerror(i32 noundef %6954, ptr noundef nonnull @.str.5) #12
  %6956 = load i32, ptr %367, align 4, !tbaa !5
  %6957 = call ptr @s2n_strerror_debug(i32 noundef %6956, ptr noundef nonnull @.str.5) #12
  %6958 = load i32, ptr %421, align 4, !tbaa !5
  %6959 = call ptr @strerror(i32 noundef %6958) #12
  %6960 = load i32, ptr %421, align 4, !tbaa !5
  %6961 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6952, ptr noundef nonnull %.str.6.sink3667, i32 noundef %6953, ptr noundef nonnull @.str.100, ptr noundef nonnull @.str.2, i32 noundef 795, ptr noundef %6955, ptr noundef %6957, ptr noundef %6959, i32 noundef %6960) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6962:                                             ; preds = %6929
  %6963 = add nsw i32 %6937, 2
  store i32 %6963, ptr @test_count, align 4, !tbaa !5
  %6964 = load i64, ptr %6668, align 8, !tbaa !47
  %6965 = icmp eq i64 %6964, 1
  br i1 %6965, label %6988, label %6966

6966:                                             ; preds = %6962
  %6967 = load i32, ptr %421, align 4, !tbaa !5
  %6968 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6969 = call i32 @s2n_print_stacktrace(ptr noundef %6968) #12
  %6970 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6971 = trunc nuw i8 %6970 to i1
  br i1 %6971, label %6972, label %6976

6972:                                             ; preds = %6966
  %6973 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6974 = call i32 @fileno(ptr noundef %6973) #12
  %6975 = call i32 @isatty(i32 noundef %6974) #12
  %.not1452 = icmp eq i32 %6975, 0
  br i1 %.not1452, label %6976, label %6977

6976:                                             ; preds = %6972, %6966
  br label %6977

6977:                                             ; preds = %6972, %6976
  %.str.6.sink3676 = phi ptr [ @.str.6, %6976 ], [ @.str.3, %6972 ]
  store i32 %6967, ptr %421, align 4, !tbaa !5
  %6978 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6979 = load i32, ptr @test_count, align 4, !tbaa !5
  %6980 = load i32, ptr %367, align 4, !tbaa !5
  %6981 = call ptr @s2n_strerror(i32 noundef %6980, ptr noundef nonnull @.str.5) #12
  %6982 = load i32, ptr %367, align 4, !tbaa !5
  %6983 = call ptr @s2n_strerror_debug(i32 noundef %6982, ptr noundef nonnull @.str.5) #12
  %6984 = load i32, ptr %421, align 4, !tbaa !5
  %6985 = call ptr @strerror(i32 noundef %6984) #12
  %6986 = load i32, ptr %421, align 4, !tbaa !5
  %6987 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6978, ptr noundef nonnull %.str.6.sink3676, i32 noundef %6979, ptr noundef nonnull @.str.82, ptr noundef nonnull @.str.2, i32 noundef 797, ptr noundef %6981, ptr noundef %6983, ptr noundef %6985, i32 noundef %6986) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6988:                                             ; preds = %6962
  %6989 = add nsw i32 %6937, 3
  store i32 %6989, ptr @test_count, align 4, !tbaa !5
  %6990 = load i32, ptr %133, align 4, !tbaa !5
  %6991 = icmp eq i32 %6990, 0
  br i1 %6991, label %7014, label %6992

6992:                                             ; preds = %6988
  %6993 = load i32, ptr %421, align 4, !tbaa !5
  %6994 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6995 = call i32 @s2n_print_stacktrace(ptr noundef %6994) #12
  %6996 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6997 = trunc nuw i8 %6996 to i1
  br i1 %6997, label %6998, label %7002

6998:                                             ; preds = %6992
  %6999 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7000 = call i32 @fileno(ptr noundef %6999) #12
  %7001 = call i32 @isatty(i32 noundef %7000) #12
  %.not1453 = icmp eq i32 %7001, 0
  br i1 %.not1453, label %7002, label %7003

7002:                                             ; preds = %6998, %6992
  br label %7003

7003:                                             ; preds = %6998, %7002
  %.str.6.sink3685 = phi ptr [ @.str.6, %7002 ], [ @.str.3, %6998 ]
  store i32 %6993, ptr %421, align 4, !tbaa !5
  %7004 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7005 = load i32, ptr @test_count, align 4, !tbaa !5
  %7006 = load i32, ptr %367, align 4, !tbaa !5
  %7007 = call ptr @s2n_strerror(i32 noundef %7006, ptr noundef nonnull @.str.5) #12
  %7008 = load i32, ptr %367, align 4, !tbaa !5
  %7009 = call ptr @s2n_strerror_debug(i32 noundef %7008, ptr noundef nonnull @.str.5) #12
  %7010 = load i32, ptr %421, align 4, !tbaa !5
  %7011 = call ptr @strerror(i32 noundef %7010) #12
  %7012 = load i32, ptr %421, align 4, !tbaa !5
  %7013 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7004, ptr noundef nonnull %.str.6.sink3685, i32 noundef %7005, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.2, i32 noundef 798, ptr noundef %7007, ptr noundef %7009, ptr noundef %7011, i32 noundef %7012) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7014:                                             ; preds = %6988
  %7015 = add nsw i32 %6937, 4
  store i32 %7015, ptr @test_count, align 4, !tbaa !5
  %7016 = trunc nuw nsw i64 %6930 to i16
  %7017 = call i32 @s2n_test_validate_ancillary(ptr noundef nonnull %132, i8 noundef zeroext 23, i16 noundef zeroext %7016) #12
  %7018 = call zeroext i1 @s2n_result_is_ok(i32 %7017)
  br i1 %7018, label %7041, label %7019

7019:                                             ; preds = %7014
  %7020 = load i32, ptr %421, align 4, !tbaa !5
  %7021 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7022 = call i32 @s2n_print_stacktrace(ptr noundef %7021) #12
  %7023 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7024 = trunc nuw i8 %7023 to i1
  br i1 %7024, label %7025, label %7029

7025:                                             ; preds = %7019
  %7026 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7027 = call i32 @fileno(ptr noundef %7026) #12
  %7028 = call i32 @isatty(i32 noundef %7027) #12
  %.not1454 = icmp eq i32 %7028, 0
  br i1 %.not1454, label %7029, label %7030

7029:                                             ; preds = %7025, %7019
  br label %7030

7030:                                             ; preds = %7025, %7029
  %.str.6.sink3694 = phi ptr [ @.str.6, %7029 ], [ @.str.3, %7025 ]
  store i32 %7020, ptr %421, align 4, !tbaa !5
  %7031 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7032 = load i32, ptr @test_count, align 4, !tbaa !5
  %7033 = load i32, ptr %367, align 4, !tbaa !5
  %7034 = call ptr @s2n_strerror(i32 noundef %7033, ptr noundef nonnull @.str.5) #12
  %7035 = load i32, ptr %367, align 4, !tbaa !5
  %7036 = call ptr @s2n_strerror_debug(i32 noundef %7035, ptr noundef nonnull @.str.5) #12
  %7037 = load i32, ptr %421, align 4, !tbaa !5
  %7038 = call ptr @strerror(i32 noundef %7037) #12
  %7039 = load i32, ptr %421, align 4, !tbaa !5
  %7040 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7031, ptr noundef nonnull %.str.6.sink3694, i32 noundef %7032, ptr noundef nonnull @.str.101, ptr noundef nonnull @.str.2, i32 noundef 799, ptr noundef %7034, ptr noundef %7036, ptr noundef %7038, i32 noundef %7039) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7041:                                             ; preds = %7014
  %7042 = load i32, ptr @test_count, align 4, !tbaa !5
  %7043 = add nsw i32 %7042, 1
  store i32 %7043, ptr @test_count, align 4, !tbaa !5
  %7044 = getelementptr inbounds i8, ptr %3, i64 %.010941528
  %7045 = call i32 @s2n_test_validate_data(ptr noundef nonnull %132, ptr noundef nonnull %7044, i16 noundef zeroext %7016) #12
  %7046 = call zeroext i1 @s2n_result_is_ok(i32 %7045)
  br i1 %7046, label %7069, label %7047

7047:                                             ; preds = %7041
  %7048 = load i32, ptr %421, align 4, !tbaa !5
  %7049 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7050 = call i32 @s2n_print_stacktrace(ptr noundef %7049) #12
  %7051 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7052 = trunc nuw i8 %7051 to i1
  br i1 %7052, label %7053, label %7057

7053:                                             ; preds = %7047
  %7054 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7055 = call i32 @fileno(ptr noundef %7054) #12
  %7056 = call i32 @isatty(i32 noundef %7055) #12
  %.not1455 = icmp eq i32 %7056, 0
  br i1 %.not1455, label %7057, label %7058

7057:                                             ; preds = %7053, %7047
  br label %7058

7058:                                             ; preds = %7053, %7057
  %.str.6.sink3703 = phi ptr [ @.str.6, %7057 ], [ @.str.3, %7053 ]
  store i32 %7048, ptr %421, align 4, !tbaa !5
  %7059 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7060 = load i32, ptr @test_count, align 4, !tbaa !5
  %7061 = load i32, ptr %367, align 4, !tbaa !5
  %7062 = call ptr @s2n_strerror(i32 noundef %7061, ptr noundef nonnull @.str.5) #12
  %7063 = load i32, ptr %367, align 4, !tbaa !5
  %7064 = call ptr @s2n_strerror_debug(i32 noundef %7063, ptr noundef nonnull @.str.5) #12
  %7065 = load i32, ptr %421, align 4, !tbaa !5
  %7066 = call ptr @strerror(i32 noundef %7065) #12
  %7067 = load i32, ptr %421, align 4, !tbaa !5
  %7068 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7059, ptr noundef nonnull %.str.6.sink3703, i32 noundef %7060, ptr noundef nonnull @.str.102, ptr noundef nonnull @.str.2, i32 noundef 800, ptr noundef %7062, ptr noundef %7064, ptr noundef %7066, i32 noundef %7067) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7069:                                             ; preds = %7041
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %133) #12
  %7070 = call i32 @s2n_ktls_io_stuffer_free(ptr noundef nonnull %132) #12
  call void @llvm.lifetime.end.p0(i64 96, ptr nonnull %132) #12
  %7071 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %131) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %131) #12
  %7072 = add nuw nsw i64 %.010941528, 1
  %exitcond1534.not = icmp eq i64 %7072, 16384
  br i1 %exitcond1534.not, label %6866, label %6876, !llvm.loop !63

7073:                                             ; preds = %6866
  %7074 = load i32, ptr %421, align 4, !tbaa !5
  %7075 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7076 = call i32 @s2n_print_stacktrace(ptr noundef %7075) #12
  %7077 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7078 = trunc nuw i8 %7077 to i1
  br i1 %7078, label %7079, label %7083

7079:                                             ; preds = %7073
  %7080 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7081 = call i32 @fileno(ptr noundef %7080) #12
  %7082 = call i32 @isatty(i32 noundef %7081) #12
  %.not1280 = icmp eq i32 %7082, 0
  br i1 %.not1280, label %7083, label %7084

7083:                                             ; preds = %7079, %7073
  br label %7084

7084:                                             ; preds = %7079, %7083
  %.str.6.sink3712 = phi ptr [ @.str.6, %7083 ], [ @.str.3, %7079 ]
  store i32 %7074, ptr %421, align 4, !tbaa !5
  %7085 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7086 = load i32, ptr @test_count, align 4, !tbaa !5
  %7087 = load i32, ptr %367, align 4, !tbaa !5
  %7088 = call ptr @s2n_strerror(i32 noundef %7087, ptr noundef nonnull @.str.5) #12
  %7089 = load i32, ptr %367, align 4, !tbaa !5
  %7090 = call ptr @s2n_strerror_debug(i32 noundef %7089, ptr noundef nonnull @.str.5) #12
  %7091 = load i32, ptr %421, align 4, !tbaa !5
  %7092 = call ptr @strerror(i32 noundef %7091) #12
  %7093 = load i32, ptr %421, align 4, !tbaa !5
  %7094 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7085, ptr noundef nonnull %.str.6.sink3712, i32 noundef %7086, ptr noundef nonnull @.str.92, ptr noundef nonnull @.str.2, i32 noundef 808, ptr noundef %7088, ptr noundef %7090, ptr noundef %7092, i32 noundef %7093) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7095:                                             ; preds = %7318
  %7096 = call i32 @s2n_test_iovecs_free(ptr noundef nonnull %134) #12
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %134) #12
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %138) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %138, i8 0, i64 16, i1 false)
  %7097 = load i32, ptr @test_count, align 4, !tbaa !5
  %7098 = add nsw i32 %7097, 1
  store i32 %7098, ptr @test_count, align 4, !tbaa !5
  %7099 = call i32 @s2n_test_new_iovecs(ptr noundef nonnull %138, ptr noundef nonnull %4, ptr noundef nonnull %99, i64 noundef 7) #12
  %7100 = call zeroext i1 @s2n_result_is_ok(i32 %7099)
  br i1 %7100, label %7344, label %7322

7101:                                             ; preds = %.preheader1519, %7318
  %.010951529 = phi i64 [ 1, %.preheader1519 ], [ %7321, %7318 ]
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %135) #12
  %7102 = call ptr @s2n_connection_new(i32 noundef 0) #12
  store ptr %7102, ptr %135, align 8, !tbaa !9
  %7103 = load i32, ptr @test_count, align 4, !tbaa !5
  %7104 = add nsw i32 %7103, 1
  store i32 %7104, ptr @test_count, align 4, !tbaa !5
  %7105 = icmp eq ptr %7102, null
  br i1 %7105, label %7106, label %7128

7106:                                             ; preds = %7101
  %7107 = load i32, ptr %421, align 4, !tbaa !5
  %7108 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7109 = call i32 @s2n_print_stacktrace(ptr noundef %7108) #12
  %7110 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7111 = trunc nuw i8 %7110 to i1
  br i1 %7111, label %7112, label %7116

7112:                                             ; preds = %7106
  %7113 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7114 = call i32 @fileno(ptr noundef %7113) #12
  %7115 = call i32 @isatty(i32 noundef %7114) #12
  %.not1449 = icmp eq i32 %7115, 0
  br i1 %.not1449, label %7116, label %7117

7116:                                             ; preds = %7112, %7106
  br label %7117

7117:                                             ; preds = %7112, %7116
  %.str.6.sink3721 = phi ptr [ @.str.6, %7116 ], [ @.str.3, %7112 ]
  store i32 %7107, ptr %421, align 4, !tbaa !5
  %7118 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7119 = load i32, ptr @test_count, align 4, !tbaa !5
  %7120 = load i32, ptr %367, align 4, !tbaa !5
  %7121 = call ptr @s2n_strerror(i32 noundef %7120, ptr noundef nonnull @.str.5) #12
  %7122 = load i32, ptr %367, align 4, !tbaa !5
  %7123 = call ptr @s2n_strerror_debug(i32 noundef %7122, ptr noundef nonnull @.str.5) #12
  %7124 = load i32, ptr %421, align 4, !tbaa !5
  %7125 = call ptr @strerror(i32 noundef %7124) #12
  %7126 = load i32, ptr %421, align 4, !tbaa !5
  %7127 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7118, ptr noundef nonnull %.str.6.sink3721, i32 noundef %7119, ptr noundef nonnull @.str.79, ptr noundef nonnull @.str.2, i32 noundef 814, ptr noundef %7121, ptr noundef %7123, ptr noundef %7125, i32 noundef %7126) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7128:                                             ; preds = %7101
  call void @llvm.lifetime.start.p0(i64 96, ptr nonnull %136) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(96) %136, i8 0, i64 96, i1 false)
  %7129 = add nsw i32 %7103, 2
  store i32 %7129, ptr @test_count, align 4, !tbaa !5
  %7130 = call i32 @s2n_test_init_ktls_io_stuffer_send(ptr noundef nonnull %7102, ptr noundef nonnull %136) #12
  %7131 = call zeroext i1 @s2n_result_is_ok(i32 %7130)
  br i1 %7131, label %7154, label %7132

7132:                                             ; preds = %7128
  %7133 = load i32, ptr %421, align 4, !tbaa !5
  %7134 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7135 = call i32 @s2n_print_stacktrace(ptr noundef %7134) #12
  %7136 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7137 = trunc nuw i8 %7136 to i1
  br i1 %7137, label %7138, label %7142

7138:                                             ; preds = %7132
  %7139 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7140 = call i32 @fileno(ptr noundef %7139) #12
  %7141 = call i32 @isatty(i32 noundef %7140) #12
  %.not1442 = icmp eq i32 %7141, 0
  br i1 %.not1442, label %7142, label %7143

7142:                                             ; preds = %7138, %7132
  br label %7143

7143:                                             ; preds = %7138, %7142
  %.str.6.sink3730 = phi ptr [ @.str.6, %7142 ], [ @.str.3, %7138 ]
  store i32 %7133, ptr %421, align 4, !tbaa !5
  %7144 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7145 = load i32, ptr @test_count, align 4, !tbaa !5
  %7146 = load i32, ptr %367, align 4, !tbaa !5
  %7147 = call ptr @s2n_strerror(i32 noundef %7146, ptr noundef nonnull @.str.5) #12
  %7148 = load i32, ptr %367, align 4, !tbaa !5
  %7149 = call ptr @s2n_strerror_debug(i32 noundef %7148, ptr noundef nonnull @.str.5) #12
  %7150 = load i32, ptr %421, align 4, !tbaa !5
  %7151 = call ptr @strerror(i32 noundef %7150) #12
  %7152 = load i32, ptr %421, align 4, !tbaa !5
  %7153 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7144, ptr noundef nonnull %.str.6.sink3730, i32 noundef %7145, ptr noundef nonnull @.str.80, ptr noundef nonnull @.str.2, i32 noundef 818, ptr noundef %7147, ptr noundef %7149, ptr noundef %7151, i32 noundef %7152) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7154:                                             ; preds = %7128
  %7155 = load i32, ptr @test_count, align 4, !tbaa !5
  %7156 = add nsw i32 %7155, 1
  store i32 %7156, ptr @test_count, align 4, !tbaa !5
  %7157 = call i32 @s2n_stuffer_free(ptr noundef nonnull %6873) #12
  %7158 = icmp eq i32 %7157, -1
  br i1 %7158, label %7159, label %7181

7159:                                             ; preds = %7154
  %7160 = load i32, ptr %421, align 4, !tbaa !5
  %7161 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7162 = call i32 @s2n_print_stacktrace(ptr noundef %7161) #12
  %7163 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7164 = trunc nuw i8 %7163 to i1
  br i1 %7164, label %7165, label %7169

7165:                                             ; preds = %7159
  %7166 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7167 = call i32 @fileno(ptr noundef %7166) #12
  %7168 = call i32 @isatty(i32 noundef %7167) #12
  %.not1448 = icmp eq i32 %7168, 0
  br i1 %.not1448, label %7169, label %7170

7169:                                             ; preds = %7165, %7159
  br label %7170

7170:                                             ; preds = %7165, %7169
  %.str.6.sink3739 = phi ptr [ @.str.6, %7169 ], [ @.str.3, %7165 ]
  store i32 %7160, ptr %421, align 4, !tbaa !5
  %7171 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7172 = load i32, ptr @test_count, align 4, !tbaa !5
  %7173 = load i32, ptr %367, align 4, !tbaa !5
  %7174 = call ptr @s2n_strerror(i32 noundef %7173, ptr noundef nonnull @.str.5) #12
  %7175 = load i32, ptr %367, align 4, !tbaa !5
  %7176 = call ptr @s2n_strerror_debug(i32 noundef %7175, ptr noundef nonnull @.str.5) #12
  %7177 = load i32, ptr %421, align 4, !tbaa !5
  %7178 = call ptr @strerror(i32 noundef %7177) #12
  %7179 = load i32, ptr %421, align 4, !tbaa !5
  %7180 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7171, ptr noundef nonnull %.str.6.sink3739, i32 noundef %7172, ptr noundef nonnull @.str.103, ptr noundef nonnull @.str.2, i32 noundef 819, ptr noundef %7174, ptr noundef %7176, ptr noundef %7178, i32 noundef %7179) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7181:                                             ; preds = %7154
  %7182 = load i32, ptr @test_count, align 4, !tbaa !5
  %7183 = add nsw i32 %7182, 1
  store i32 %7183, ptr @test_count, align 4, !tbaa !5
  %7184 = trunc nuw nsw i64 %.010951529 to i32
  %7185 = call i32 @s2n_stuffer_alloc(ptr noundef nonnull %6873, i32 noundef %7184) #12
  %7186 = icmp eq i32 %7185, -1
  br i1 %7186, label %7187, label %7209

7187:                                             ; preds = %7181
  %7188 = load i32, ptr %421, align 4, !tbaa !5
  %7189 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7190 = call i32 @s2n_print_stacktrace(ptr noundef %7189) #12
  %7191 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7192 = trunc nuw i8 %7191 to i1
  br i1 %7192, label %7193, label %7197

7193:                                             ; preds = %7187
  %7194 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7195 = call i32 @fileno(ptr noundef %7194) #12
  %7196 = call i32 @isatty(i32 noundef %7195) #12
  %.not1447 = icmp eq i32 %7196, 0
  br i1 %.not1447, label %7197, label %7198

7197:                                             ; preds = %7193, %7187
  br label %7198

7198:                                             ; preds = %7193, %7197
  %.str.6.sink3748 = phi ptr [ @.str.6, %7197 ], [ @.str.3, %7193 ]
  store i32 %7188, ptr %421, align 4, !tbaa !5
  %7199 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7200 = load i32, ptr @test_count, align 4, !tbaa !5
  %7201 = load i32, ptr %367, align 4, !tbaa !5
  %7202 = call ptr @s2n_strerror(i32 noundef %7201, ptr noundef nonnull @.str.5) #12
  %7203 = load i32, ptr %367, align 4, !tbaa !5
  %7204 = call ptr @s2n_strerror_debug(i32 noundef %7203, ptr noundef nonnull @.str.5) #12
  %7205 = load i32, ptr %421, align 4, !tbaa !5
  %7206 = call ptr @strerror(i32 noundef %7205) #12
  %7207 = load i32, ptr %421, align 4, !tbaa !5
  %7208 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7199, ptr noundef nonnull %.str.6.sink3748, i32 noundef %7200, ptr noundef nonnull @.str.104, ptr noundef nonnull @.str.2, i32 noundef 820, ptr noundef %7202, ptr noundef %7204, ptr noundef %7206, i32 noundef %7207) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7209:                                             ; preds = %7181
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %137) #12
  store i32 0, ptr %137, align 4, !tbaa !5
  %7210 = load ptr, ptr %135, align 8, !tbaa !9
  %7211 = load ptr, ptr %134, align 8, !tbaa !58
  %7212 = load i64, ptr %6874, align 8, !tbaa !60
  %7213 = call i64 @s2n_ktls_sendv_with_offset(ptr noundef %7210, ptr noundef %7211, i64 noundef %7212, i64 noundef 0, ptr noundef nonnull %137) #12
  %7214 = load i32, ptr @test_count, align 4, !tbaa !5
  %7215 = add nsw i32 %7214, 1
  store i32 %7215, ptr @test_count, align 4, !tbaa !5
  %7216 = icmp eq i64 %7213, %.010951529
  br i1 %7216, label %7239, label %7217

7217:                                             ; preds = %7209
  %7218 = load i32, ptr %421, align 4, !tbaa !5
  %7219 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7220 = call i32 @s2n_print_stacktrace(ptr noundef %7219) #12
  %7221 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7222 = trunc nuw i8 %7221 to i1
  br i1 %7222, label %7223, label %7227

7223:                                             ; preds = %7217
  %7224 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7225 = call i32 @fileno(ptr noundef %7224) #12
  %7226 = call i32 @isatty(i32 noundef %7225) #12
  %.not1443 = icmp eq i32 %7226, 0
  br i1 %.not1443, label %7227, label %7228

7227:                                             ; preds = %7223, %7217
  br label %7228

7228:                                             ; preds = %7223, %7227
  %.str.6.sink3757 = phi ptr [ @.str.6, %7227 ], [ @.str.3, %7223 ]
  store i32 %7218, ptr %421, align 4, !tbaa !5
  %7229 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7230 = load i32, ptr @test_count, align 4, !tbaa !5
  %7231 = load i32, ptr %367, align 4, !tbaa !5
  %7232 = call ptr @s2n_strerror(i32 noundef %7231, ptr noundef nonnull @.str.5) #12
  %7233 = load i32, ptr %367, align 4, !tbaa !5
  %7234 = call ptr @s2n_strerror_debug(i32 noundef %7233, ptr noundef nonnull @.str.5) #12
  %7235 = load i32, ptr %421, align 4, !tbaa !5
  %7236 = call ptr @strerror(i32 noundef %7235) #12
  %7237 = load i32, ptr %421, align 4, !tbaa !5
  %7238 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7229, ptr noundef nonnull %.str.6.sink3757, i32 noundef %7230, ptr noundef nonnull @.str.105, ptr noundef nonnull @.str.2, i32 noundef 825, ptr noundef %7232, ptr noundef %7234, ptr noundef %7236, i32 noundef %7237) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7239:                                             ; preds = %7209
  %7240 = add nsw i32 %7214, 2
  store i32 %7240, ptr @test_count, align 4, !tbaa !5
  %7241 = load i32, ptr %137, align 4, !tbaa !5
  %7242 = icmp eq i32 %7241, 0
  br i1 %7242, label %7265, label %7243

7243:                                             ; preds = %7239
  %7244 = load i32, ptr %421, align 4, !tbaa !5
  %7245 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7246 = call i32 @s2n_print_stacktrace(ptr noundef %7245) #12
  %7247 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7248 = trunc nuw i8 %7247 to i1
  br i1 %7248, label %7249, label %7253

7249:                                             ; preds = %7243
  %7250 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7251 = call i32 @fileno(ptr noundef %7250) #12
  %7252 = call i32 @isatty(i32 noundef %7251) #12
  %.not1444 = icmp eq i32 %7252, 0
  br i1 %.not1444, label %7253, label %7254

7253:                                             ; preds = %7249, %7243
  br label %7254

7254:                                             ; preds = %7249, %7253
  %.str.6.sink3766 = phi ptr [ @.str.6, %7253 ], [ @.str.3, %7249 ]
  store i32 %7244, ptr %421, align 4, !tbaa !5
  %7255 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7256 = load i32, ptr @test_count, align 4, !tbaa !5
  %7257 = load i32, ptr %367, align 4, !tbaa !5
  %7258 = call ptr @s2n_strerror(i32 noundef %7257, ptr noundef nonnull @.str.5) #12
  %7259 = load i32, ptr %367, align 4, !tbaa !5
  %7260 = call ptr @s2n_strerror_debug(i32 noundef %7259, ptr noundef nonnull @.str.5) #12
  %7261 = load i32, ptr %421, align 4, !tbaa !5
  %7262 = call ptr @strerror(i32 noundef %7261) #12
  %7263 = load i32, ptr %421, align 4, !tbaa !5
  %7264 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7255, ptr noundef nonnull %.str.6.sink3766, i32 noundef %7256, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.2, i32 noundef 826, ptr noundef %7258, ptr noundef %7260, ptr noundef %7262, i32 noundef %7263) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7265:                                             ; preds = %7239
  %7266 = add nsw i32 %7214, 3
  store i32 %7266, ptr @test_count, align 4, !tbaa !5
  %7267 = load i64, ptr %6875, align 8, !tbaa !47
  %7268 = icmp eq i64 %7267, 1
  br i1 %7268, label %7291, label %7269

7269:                                             ; preds = %7265
  %7270 = load i32, ptr %421, align 4, !tbaa !5
  %7271 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7272 = call i32 @s2n_print_stacktrace(ptr noundef %7271) #12
  %7273 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7274 = trunc nuw i8 %7273 to i1
  br i1 %7274, label %7275, label %7279

7275:                                             ; preds = %7269
  %7276 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7277 = call i32 @fileno(ptr noundef %7276) #12
  %7278 = call i32 @isatty(i32 noundef %7277) #12
  %.not1445 = icmp eq i32 %7278, 0
  br i1 %.not1445, label %7279, label %7280

7279:                                             ; preds = %7275, %7269
  br label %7280

7280:                                             ; preds = %7275, %7279
  %.str.6.sink3775 = phi ptr [ @.str.6, %7279 ], [ @.str.3, %7275 ]
  store i32 %7270, ptr %421, align 4, !tbaa !5
  %7281 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7282 = load i32, ptr @test_count, align 4, !tbaa !5
  %7283 = load i32, ptr %367, align 4, !tbaa !5
  %7284 = call ptr @s2n_strerror(i32 noundef %7283, ptr noundef nonnull @.str.5) #12
  %7285 = load i32, ptr %367, align 4, !tbaa !5
  %7286 = call ptr @s2n_strerror_debug(i32 noundef %7285, ptr noundef nonnull @.str.5) #12
  %7287 = load i32, ptr %421, align 4, !tbaa !5
  %7288 = call ptr @strerror(i32 noundef %7287) #12
  %7289 = load i32, ptr %421, align 4, !tbaa !5
  %7290 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7281, ptr noundef nonnull %.str.6.sink3775, i32 noundef %7282, ptr noundef nonnull @.str.82, ptr noundef nonnull @.str.2, i32 noundef 828, ptr noundef %7284, ptr noundef %7286, ptr noundef %7288, i32 noundef %7289) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7291:                                             ; preds = %7265
  %7292 = add nsw i32 %7214, 4
  store i32 %7292, ptr @test_count, align 4, !tbaa !5
  %7293 = trunc nuw nsw i64 %.010951529 to i16
  %7294 = call i32 @s2n_test_validate_data(ptr noundef nonnull %136, ptr noundef nonnull %3, i16 noundef zeroext %7293) #12
  %7295 = call zeroext i1 @s2n_result_is_ok(i32 %7294)
  br i1 %7295, label %7318, label %7296

7296:                                             ; preds = %7291
  %7297 = load i32, ptr %421, align 4, !tbaa !5
  %7298 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7299 = call i32 @s2n_print_stacktrace(ptr noundef %7298) #12
  %7300 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7301 = trunc nuw i8 %7300 to i1
  br i1 %7301, label %7302, label %7306

7302:                                             ; preds = %7296
  %7303 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7304 = call i32 @fileno(ptr noundef %7303) #12
  %7305 = call i32 @isatty(i32 noundef %7304) #12
  %.not1446 = icmp eq i32 %7305, 0
  br i1 %.not1446, label %7306, label %7307

7306:                                             ; preds = %7302, %7296
  br label %7307

7307:                                             ; preds = %7302, %7306
  %.str.6.sink3784 = phi ptr [ @.str.6, %7306 ], [ @.str.3, %7302 ]
  store i32 %7297, ptr %421, align 4, !tbaa !5
  %7308 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7309 = load i32, ptr @test_count, align 4, !tbaa !5
  %7310 = load i32, ptr %367, align 4, !tbaa !5
  %7311 = call ptr @s2n_strerror(i32 noundef %7310, ptr noundef nonnull @.str.5) #12
  %7312 = load i32, ptr %367, align 4, !tbaa !5
  %7313 = call ptr @s2n_strerror_debug(i32 noundef %7312, ptr noundef nonnull @.str.5) #12
  %7314 = load i32, ptr %421, align 4, !tbaa !5
  %7315 = call ptr @strerror(i32 noundef %7314) #12
  %7316 = load i32, ptr %421, align 4, !tbaa !5
  %7317 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7308, ptr noundef nonnull %.str.6.sink3784, i32 noundef %7309, ptr noundef nonnull @.str.106, ptr noundef nonnull @.str.2, i32 noundef 829, ptr noundef %7311, ptr noundef %7313, ptr noundef %7315, i32 noundef %7316) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7318:                                             ; preds = %7291
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %137) #12
  %7319 = call i32 @s2n_ktls_io_stuffer_free(ptr noundef nonnull %136) #12
  call void @llvm.lifetime.end.p0(i64 96, ptr nonnull %136) #12
  %7320 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %135) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %135) #12
  %7321 = add nuw nsw i64 %.010951529, 1
  %exitcond1535.not = icmp eq i64 %7321, 16384
  br i1 %exitcond1535.not, label %7095, label %7101, !llvm.loop !64

7322:                                             ; preds = %7095
  %7323 = load i32, ptr %421, align 4, !tbaa !5
  %7324 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7325 = call i32 @s2n_print_stacktrace(ptr noundef %7324) #12
  %7326 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7327 = trunc nuw i8 %7326 to i1
  br i1 %7327, label %7328, label %7332

7328:                                             ; preds = %7322
  %7329 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7330 = call i32 @fileno(ptr noundef %7329) #12
  %7331 = call i32 @isatty(i32 noundef %7330) #12
  %.not1281 = icmp eq i32 %7331, 0
  br i1 %.not1281, label %7332, label %7333

7332:                                             ; preds = %7328, %7322
  br label %7333

7333:                                             ; preds = %7328, %7332
  %.str.6.sink3793 = phi ptr [ @.str.6, %7332 ], [ @.str.3, %7328 ]
  store i32 %7323, ptr %421, align 4, !tbaa !5
  %7334 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7335 = load i32, ptr @test_count, align 4, !tbaa !5
  %7336 = load i32, ptr %367, align 4, !tbaa !5
  %7337 = call ptr @s2n_strerror(i32 noundef %7336, ptr noundef nonnull @.str.5) #12
  %7338 = load i32, ptr %367, align 4, !tbaa !5
  %7339 = call ptr @s2n_strerror_debug(i32 noundef %7338, ptr noundef nonnull @.str.5) #12
  %7340 = load i32, ptr %421, align 4, !tbaa !5
  %7341 = call ptr @strerror(i32 noundef %7340) #12
  %7342 = load i32, ptr %421, align 4, !tbaa !5
  %7343 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7334, ptr noundef nonnull %.str.6.sink3793, i32 noundef %7335, ptr noundef nonnull @.str.92, ptr noundef nonnull @.str.2, i32 noundef 837, ptr noundef %7337, ptr noundef %7339, ptr noundef %7341, i32 noundef %7342) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7344:                                             ; preds = %7095
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %139) #12
  %7345 = call ptr @s2n_connection_new(i32 noundef 0) #12
  store ptr %7345, ptr %139, align 8, !tbaa !9
  %7346 = load i32, ptr @test_count, align 4, !tbaa !5
  %7347 = add nsw i32 %7346, 1
  store i32 %7347, ptr @test_count, align 4, !tbaa !5
  %7348 = icmp eq ptr %7345, null
  br i1 %7348, label %7349, label %7371

7349:                                             ; preds = %7344
  %7350 = load i32, ptr %421, align 4, !tbaa !5
  %7351 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7352 = call i32 @s2n_print_stacktrace(ptr noundef %7351) #12
  %7353 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7354 = trunc nuw i8 %7353 to i1
  br i1 %7354, label %7355, label %7359

7355:                                             ; preds = %7349
  %7356 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7357 = call i32 @fileno(ptr noundef %7356) #12
  %7358 = call i32 @isatty(i32 noundef %7357) #12
  %.not1441 = icmp eq i32 %7358, 0
  br i1 %.not1441, label %7359, label %7360

7359:                                             ; preds = %7355, %7349
  br label %7360

7360:                                             ; preds = %7355, %7359
  %.str.6.sink3802 = phi ptr [ @.str.6, %7359 ], [ @.str.3, %7355 ]
  store i32 %7350, ptr %421, align 4, !tbaa !5
  %7361 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7362 = load i32, ptr @test_count, align 4, !tbaa !5
  %7363 = load i32, ptr %367, align 4, !tbaa !5
  %7364 = call ptr @s2n_strerror(i32 noundef %7363, ptr noundef nonnull @.str.5) #12
  %7365 = load i32, ptr %367, align 4, !tbaa !5
  %7366 = call ptr @s2n_strerror_debug(i32 noundef %7365, ptr noundef nonnull @.str.5) #12
  %7367 = load i32, ptr %421, align 4, !tbaa !5
  %7368 = call ptr @strerror(i32 noundef %7367) #12
  %7369 = load i32, ptr %421, align 4, !tbaa !5
  %7370 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7361, ptr noundef nonnull %.str.6.sink3802, i32 noundef %7362, ptr noundef nonnull @.str.79, ptr noundef nonnull @.str.2, i32 noundef 841, ptr noundef %7364, ptr noundef %7366, ptr noundef %7368, i32 noundef %7369) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7371:                                             ; preds = %7344
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %140) #12
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %140, ptr noundef nonnull align 8 dereferenceable(16) @__const.main.io_ctx.107, i64 16, i1 false)
  %7372 = add nsw i32 %7346, 2
  store i32 %7372, ptr @test_count, align 4, !tbaa !5
  %7373 = call i32 @s2n_ktls_set_sendmsg_cb(ptr noundef nonnull %7345, ptr noundef nonnull @s2n_test_ktls_sendmsg_fail, ptr noundef nonnull %140) #12
  %7374 = call zeroext i1 @s2n_result_is_ok(i32 %7373)
  br i1 %7374, label %7397, label %7375

7375:                                             ; preds = %7371
  %7376 = load i32, ptr %421, align 4, !tbaa !5
  %7377 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7378 = call i32 @s2n_print_stacktrace(ptr noundef %7377) #12
  %7379 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7380 = trunc nuw i8 %7379 to i1
  br i1 %7380, label %7381, label %7385

7381:                                             ; preds = %7375
  %7382 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7383 = call i32 @fileno(ptr noundef %7382) #12
  %7384 = call i32 @isatty(i32 noundef %7383) #12
  %.not1282 = icmp eq i32 %7384, 0
  br i1 %.not1282, label %7385, label %7386

7385:                                             ; preds = %7381, %7375
  br label %7386

7386:                                             ; preds = %7381, %7385
  %.str.6.sink3811 = phi ptr [ @.str.6, %7385 ], [ @.str.3, %7381 ]
  store i32 %7376, ptr %421, align 4, !tbaa !5
  %7387 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7388 = load i32, ptr @test_count, align 4, !tbaa !5
  %7389 = load i32, ptr %367, align 4, !tbaa !5
  %7390 = call ptr @s2n_strerror(i32 noundef %7389, ptr noundef nonnull @.str.5) #12
  %7391 = load i32, ptr %367, align 4, !tbaa !5
  %7392 = call ptr @s2n_strerror_debug(i32 noundef %7391, ptr noundef nonnull @.str.5) #12
  %7393 = load i32, ptr %421, align 4, !tbaa !5
  %7394 = call ptr @strerror(i32 noundef %7393) #12
  %7395 = load i32, ptr %421, align 4, !tbaa !5
  %7396 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7387, ptr noundef nonnull %.str.6.sink3811, i32 noundef %7388, ptr noundef nonnull @.str.86, ptr noundef nonnull @.str.2, i32 noundef 844, ptr noundef %7390, ptr noundef %7392, ptr noundef %7394, i32 noundef %7395) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7397:                                             ; preds = %7371
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %141) #12
  store i32 0, ptr %141, align 4, !tbaa !5
  %7398 = load ptr, ptr %139, align 8, !tbaa !9
  %7399 = load ptr, ptr %138, align 8, !tbaa !58
  %7400 = getelementptr inbounds i8, ptr %138, i64 8
  %7401 = load i64, ptr %7400, align 8, !tbaa !60
  %7402 = call i64 @s2n_ktls_sendv_with_offset(ptr noundef %7398, ptr noundef %7399, i64 noundef %7401, i64 noundef 0, ptr noundef nonnull %141) #12
  %7403 = load i32, ptr @test_count, align 4, !tbaa !5
  %7404 = add nsw i32 %7403, 1
  store i32 %7404, ptr @test_count, align 4, !tbaa !5
  %7405 = icmp eq i64 %7402, -1
  br i1 %7405, label %7428, label %7406

7406:                                             ; preds = %7397
  %7407 = load i32, ptr %421, align 4, !tbaa !5
  %7408 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7409 = call i32 @s2n_print_stacktrace(ptr noundef %7408) #12
  %7410 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7411 = trunc nuw i8 %7410 to i1
  br i1 %7411, label %7412, label %7416

7412:                                             ; preds = %7406
  %7413 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7414 = call i32 @fileno(ptr noundef %7413) #12
  %7415 = call i32 @isatty(i32 noundef %7414) #12
  %.not1283 = icmp eq i32 %7415, 0
  br i1 %.not1283, label %7416, label %7417

7416:                                             ; preds = %7412, %7406
  br label %7417

7417:                                             ; preds = %7412, %7416
  %.str.6.sink3820 = phi ptr [ @.str.6, %7416 ], [ @.str.3, %7412 ]
  store i32 %7407, ptr %421, align 4, !tbaa !5
  %7418 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7419 = load i32, ptr @test_count, align 4, !tbaa !5
  %7420 = load i32, ptr %367, align 4, !tbaa !5
  %7421 = call ptr @s2n_strerror(i32 noundef %7420, ptr noundef nonnull @.str.5) #12
  %7422 = load i32, ptr %367, align 4, !tbaa !5
  %7423 = call ptr @s2n_strerror_debug(i32 noundef %7422, ptr noundef nonnull @.str.5) #12
  %7424 = load i32, ptr %421, align 4, !tbaa !5
  %7425 = call ptr @strerror(i32 noundef %7424) #12
  %7426 = load i32, ptr %421, align 4, !tbaa !5
  %7427 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7418, ptr noundef nonnull %.str.6.sink3820, i32 noundef %7419, ptr noundef nonnull @.str.96, ptr noundef nonnull @.str.2, i32 noundef 849, ptr noundef %7421, ptr noundef %7423, ptr noundef %7425, i32 noundef %7426) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7428:                                             ; preds = %7397
  %7429 = add nsw i32 %7403, 2
  store i32 %7429, ptr @test_count, align 4, !tbaa !5
  %7430 = load i32, ptr %367, align 4, !tbaa !5
  %7431 = icmp eq i32 %7430, 201326592
  br i1 %7431, label %7454, label %7432

7432:                                             ; preds = %7428
  %7433 = load i32, ptr %421, align 4, !tbaa !5
  %7434 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7435 = call i32 @s2n_print_stacktrace(ptr noundef %7434) #12
  %7436 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7437 = trunc nuw i8 %7436 to i1
  br i1 %7437, label %7438, label %7442

7438:                                             ; preds = %7432
  %7439 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7440 = call i32 @fileno(ptr noundef %7439) #12
  %7441 = call i32 @isatty(i32 noundef %7440) #12
  %.not1284 = icmp eq i32 %7441, 0
  br i1 %.not1284, label %7442, label %7443

7442:                                             ; preds = %7438, %7432
  br label %7443

7443:                                             ; preds = %7438, %7442
  %.str.6.sink3829 = phi ptr [ @.str.6, %7442 ], [ @.str.3, %7438 ]
  store i32 %7433, ptr %421, align 4, !tbaa !5
  %7444 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7445 = load i32, ptr @test_count, align 4, !tbaa !5
  %7446 = load i32, ptr %367, align 4, !tbaa !5
  %7447 = call ptr @s2n_strerror(i32 noundef %7446, ptr noundef nonnull @.str.5) #12
  %7448 = load i32, ptr %367, align 4, !tbaa !5
  %7449 = call ptr @s2n_strerror_debug(i32 noundef %7448, ptr noundef nonnull @.str.5) #12
  %7450 = load i32, ptr %421, align 4, !tbaa !5
  %7451 = call ptr @strerror(i32 noundef %7450) #12
  %7452 = load i32, ptr %421, align 4, !tbaa !5
  %7453 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7444, ptr noundef nonnull %.str.6.sink3829, i32 noundef %7445, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.2, i32 noundef 849, ptr noundef %7447, ptr noundef %7449, ptr noundef %7451, i32 noundef %7452) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7454:                                             ; preds = %7428
  %7455 = add nsw i32 %7403, 3
  store i32 %7455, ptr @test_count, align 4, !tbaa !5
  %7456 = call ptr @s2n_strerror_debug(i32 noundef 201326592, ptr noundef nonnull @.str.5) #12
  %7457 = icmp eq ptr %7456, null
  br i1 %7457, label %7458, label %7480

7458:                                             ; preds = %7454
  %7459 = load i32, ptr %421, align 4, !tbaa !5
  %7460 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7461 = call i32 @s2n_print_stacktrace(ptr noundef %7460) #12
  %7462 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7463 = trunc nuw i8 %7462 to i1
  br i1 %7463, label %7464, label %7468

7464:                                             ; preds = %7458
  %7465 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7466 = call i32 @fileno(ptr noundef %7465) #12
  %7467 = call i32 @isatty(i32 noundef %7466) #12
  %.not1440 = icmp eq i32 %7467, 0
  br i1 %.not1440, label %7468, label %7469

7468:                                             ; preds = %7464, %7458
  br label %7469

7469:                                             ; preds = %7464, %7468
  %.str.6.sink3838 = phi ptr [ @.str.6, %7468 ], [ @.str.3, %7464 ]
  store i32 %7459, ptr %421, align 4, !tbaa !5
  %7470 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7471 = load i32, ptr @test_count, align 4, !tbaa !5
  %7472 = load i32, ptr %367, align 4, !tbaa !5
  %7473 = call ptr @s2n_strerror(i32 noundef %7472, ptr noundef nonnull @.str.5) #12
  %7474 = load i32, ptr %367, align 4, !tbaa !5
  %7475 = call ptr @s2n_strerror_debug(i32 noundef %7474, ptr noundef nonnull @.str.5) #12
  %7476 = load i32, ptr %421, align 4, !tbaa !5
  %7477 = call ptr @strerror(i32 noundef %7476) #12
  %7478 = load i32, ptr %421, align 4, !tbaa !5
  %7479 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7470, ptr noundef nonnull %.str.6.sink3838, i32 noundef %7471, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.2, i32 noundef 849, ptr noundef %7473, ptr noundef %7475, ptr noundef %7477, i32 noundef %7478) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7480:                                             ; preds = %7454
  store i32 0, ptr %367, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %421, align 4, !tbaa !5
  %7481 = load i32, ptr @test_count, align 4, !tbaa !5
  %7482 = add nsw i32 %7481, 1
  store i32 %7482, ptr @test_count, align 4, !tbaa !5
  %7483 = getelementptr inbounds i8, ptr %140, i64 8
  %7484 = load i64, ptr %7483, align 8, !tbaa !53
  %7485 = icmp eq i64 %7484, 1
  br i1 %7485, label %7508, label %7486

7486:                                             ; preds = %7480
  %7487 = load i32, ptr %421, align 4, !tbaa !5
  %7488 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7489 = call i32 @s2n_print_stacktrace(ptr noundef %7488) #12
  %7490 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7491 = trunc nuw i8 %7490 to i1
  br i1 %7491, label %7492, label %7496

7492:                                             ; preds = %7486
  %7493 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7494 = call i32 @fileno(ptr noundef %7493) #12
  %7495 = call i32 @isatty(i32 noundef %7494) #12
  %.not1285 = icmp eq i32 %7495, 0
  br i1 %.not1285, label %7496, label %7497

7496:                                             ; preds = %7492, %7486
  br label %7497

7497:                                             ; preds = %7492, %7496
  %.str.6.sink3847 = phi ptr [ @.str.6, %7496 ], [ @.str.3, %7492 ]
  store i32 %7487, ptr %421, align 4, !tbaa !5
  %7498 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7499 = load i32, ptr @test_count, align 4, !tbaa !5
  %7500 = load i32, ptr %367, align 4, !tbaa !5
  %7501 = call ptr @s2n_strerror(i32 noundef %7500, ptr noundef nonnull @.str.5) #12
  %7502 = load i32, ptr %367, align 4, !tbaa !5
  %7503 = call ptr @s2n_strerror_debug(i32 noundef %7502, ptr noundef nonnull @.str.5) #12
  %7504 = load i32, ptr %421, align 4, !tbaa !5
  %7505 = call ptr @strerror(i32 noundef %7504) #12
  %7506 = load i32, ptr %421, align 4, !tbaa !5
  %7507 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7498, ptr noundef nonnull %.str.6.sink3847, i32 noundef %7499, ptr noundef nonnull @.str.46, ptr noundef nonnull @.str.2, i32 noundef 850, ptr noundef %7501, ptr noundef %7503, ptr noundef %7505, i32 noundef %7506) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7508:                                             ; preds = %7480
  %7509 = add nsw i32 %7481, 2
  store i32 %7509, ptr @test_count, align 4, !tbaa !5
  %7510 = load i32, ptr %141, align 4, !tbaa !5
  %7511 = icmp eq i32 %7510, 2
  br i1 %7511, label %7534, label %7512

7512:                                             ; preds = %7508
  %7513 = load i32, ptr %421, align 4, !tbaa !5
  %7514 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7515 = call i32 @s2n_print_stacktrace(ptr noundef %7514) #12
  %7516 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7517 = trunc nuw i8 %7516 to i1
  br i1 %7517, label %7518, label %7522

7518:                                             ; preds = %7512
  %7519 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7520 = call i32 @fileno(ptr noundef %7519) #12
  %7521 = call i32 @isatty(i32 noundef %7520) #12
  %.not1286 = icmp eq i32 %7521, 0
  br i1 %.not1286, label %7522, label %7523

7522:                                             ; preds = %7518, %7512
  br label %7523

7523:                                             ; preds = %7518, %7522
  %.str.6.sink3856 = phi ptr [ @.str.6, %7522 ], [ @.str.3, %7518 ]
  store i32 %7513, ptr %421, align 4, !tbaa !5
  %7524 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7525 = load i32, ptr @test_count, align 4, !tbaa !5
  %7526 = load i32, ptr %367, align 4, !tbaa !5
  %7527 = call ptr @s2n_strerror(i32 noundef %7526, ptr noundef nonnull @.str.5) #12
  %7528 = load i32, ptr %367, align 4, !tbaa !5
  %7529 = call ptr @s2n_strerror_debug(i32 noundef %7528, ptr noundef nonnull @.str.5) #12
  %7530 = load i32, ptr %421, align 4, !tbaa !5
  %7531 = call ptr @strerror(i32 noundef %7530) #12
  %7532 = load i32, ptr %421, align 4, !tbaa !5
  %7533 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7524, ptr noundef nonnull %.str.6.sink3856, i32 noundef %7525, ptr noundef nonnull @.str.42, ptr noundef nonnull @.str.2, i32 noundef 851, ptr noundef %7527, ptr noundef %7529, ptr noundef %7531, i32 noundef %7532) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7534:                                             ; preds = %7508
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %141) #12
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %140) #12
  %7535 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %139) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %139) #12
  %7536 = call i32 @s2n_test_iovecs_free(ptr noundef nonnull %138) #12
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %138) #12
  call void @llvm.lifetime.start.p0(i64 800, ptr nonnull %142) #12
  %7537 = getelementptr inbounds i8, ptr %142, i64 16
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(800) %7537, i8 0, i64 784, i1 false)
  store i64 10, ptr %142, align 16
  %7538 = getelementptr inbounds i8, ptr %142, i64 8
  store i64 5, ptr %7538, align 8
  %7539 = getelementptr inbounds i8, ptr %142, i64 24
  store i64 1, ptr %7539, align 8
  %7540 = getelementptr inbounds i8, ptr %142, i64 32
  store i64 100, ptr %7540, align 16
  %7541 = getelementptr inbounds i8, ptr %142, i64 40
  store i64 100, ptr %7541, align 8
  %7542 = getelementptr inbounds i8, ptr %142, i64 48
  store i64 10, ptr %7542, align 16
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %143) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %143, i8 0, i64 16, i1 false)
  %7543 = load i32, ptr @test_count, align 4, !tbaa !5
  %7544 = add nsw i32 %7543, 1
  store i32 %7544, ptr @test_count, align 4, !tbaa !5
  %7545 = call i32 @s2n_test_new_iovecs(ptr noundef nonnull %143, ptr noundef nonnull %4, ptr noundef nonnull %142, i64 noundef 10) #12
  %7546 = call zeroext i1 @s2n_result_is_ok(i32 %7545)
  br i1 %7546, label %7569, label %7547

7547:                                             ; preds = %7534
  %7548 = load i32, ptr %421, align 4, !tbaa !5
  %7549 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7550 = call i32 @s2n_print_stacktrace(ptr noundef %7549) #12
  %7551 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7552 = trunc nuw i8 %7551 to i1
  br i1 %7552, label %7553, label %7557

7553:                                             ; preds = %7547
  %7554 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7555 = call i32 @fileno(ptr noundef %7554) #12
  %7556 = call i32 @isatty(i32 noundef %7555) #12
  %.not1287 = icmp eq i32 %7556, 0
  br i1 %.not1287, label %7557, label %7558

7557:                                             ; preds = %7553, %7547
  br label %7558

7558:                                             ; preds = %7553, %7557
  %.str.6.sink3865 = phi ptr [ @.str.6, %7557 ], [ @.str.3, %7553 ]
  store i32 %7548, ptr %421, align 4, !tbaa !5
  %7559 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7560 = load i32, ptr @test_count, align 4, !tbaa !5
  %7561 = load i32, ptr %367, align 4, !tbaa !5
  %7562 = call ptr @s2n_strerror(i32 noundef %7561, ptr noundef nonnull @.str.5) #12
  %7563 = load i32, ptr %367, align 4, !tbaa !5
  %7564 = call ptr @s2n_strerror_debug(i32 noundef %7563, ptr noundef nonnull @.str.5) #12
  %7565 = load i32, ptr %421, align 4, !tbaa !5
  %7566 = call ptr @strerror(i32 noundef %7565) #12
  %7567 = load i32, ptr %421, align 4, !tbaa !5
  %7568 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7559, ptr noundef nonnull %.str.6.sink3865, i32 noundef %7560, ptr noundef nonnull @.str.108, ptr noundef nonnull @.str.2, i32 noundef 862, ptr noundef %7562, ptr noundef %7564, ptr noundef %7566, i32 noundef %7567) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7569:                                             ; preds = %7534
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %144) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %144, i8 0, i64 16, i1 false)
  %7570 = load i32, ptr @test_count, align 4, !tbaa !5
  %7571 = add nsw i32 %7570, 1
  store i32 %7571, ptr @test_count, align 4, !tbaa !5
  %7572 = call i32 @s2n_test_new_iovecs(ptr noundef nonnull %144, ptr noundef nonnull %4, ptr noundef nonnull %142, i64 noundef 100) #12
  %7573 = call zeroext i1 @s2n_result_is_ok(i32 %7572)
  br i1 %7573, label %7596, label %7574

7574:                                             ; preds = %7569
  %7575 = load i32, ptr %421, align 4, !tbaa !5
  %7576 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7577 = call i32 @s2n_print_stacktrace(ptr noundef %7576) #12
  %7578 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7579 = trunc nuw i8 %7578 to i1
  br i1 %7579, label %7580, label %7584

7580:                                             ; preds = %7574
  %7581 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7582 = call i32 @fileno(ptr noundef %7581) #12
  %7583 = call i32 @isatty(i32 noundef %7582) #12
  %.not1288 = icmp eq i32 %7583, 0
  br i1 %.not1288, label %7584, label %7585

7584:                                             ; preds = %7580, %7574
  br label %7585

7585:                                             ; preds = %7580, %7584
  %.str.6.sink3874 = phi ptr [ @.str.6, %7584 ], [ @.str.3, %7580 ]
  store i32 %7575, ptr %421, align 4, !tbaa !5
  %7586 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7587 = load i32, ptr @test_count, align 4, !tbaa !5
  %7588 = load i32, ptr %367, align 4, !tbaa !5
  %7589 = call ptr @s2n_strerror(i32 noundef %7588, ptr noundef nonnull @.str.5) #12
  %7590 = load i32, ptr %367, align 4, !tbaa !5
  %7591 = call ptr @s2n_strerror_debug(i32 noundef %7590, ptr noundef nonnull @.str.5) #12
  %7592 = load i32, ptr %421, align 4, !tbaa !5
  %7593 = call ptr @strerror(i32 noundef %7592) #12
  %7594 = load i32, ptr %421, align 4, !tbaa !5
  %7595 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7586, ptr noundef nonnull %.str.6.sink3874, i32 noundef %7587, ptr noundef nonnull @.str.109, ptr noundef nonnull @.str.2, i32 noundef 866, ptr noundef %7589, ptr noundef %7591, ptr noundef %7593, i32 noundef %7594) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7596:                                             ; preds = %7569
  %7597 = getelementptr inbounds i8, ptr %144, i64 8
  %7598 = load i64, ptr %7597, align 8, !tbaa !60
  call void @llvm.lifetime.start.p0(i64 216, ptr nonnull %145) #12
  store ptr %143, ptr %145, align 16, !tbaa !65
  %7599 = getelementptr inbounds i8, ptr %145, i64 8
  store i64 1, ptr %7599, align 8, !tbaa !67
  %7600 = getelementptr inbounds i8, ptr %145, i64 16
  store i32 0, ptr %7600, align 16, !tbaa !68
  %7601 = getelementptr inbounds i8, ptr %145, i64 20
  store i32 0, ptr %7601, align 4, !tbaa !69
  %7602 = getelementptr inbounds i8, ptr %145, i64 24
  store ptr %143, ptr %7602, align 8, !tbaa !65
  %7603 = getelementptr inbounds i8, ptr %145, i64 32
  %7604 = load i64, ptr %142, align 16, !tbaa !20
  store i64 %7604, ptr %7603, align 16, !tbaa !67
  %7605 = getelementptr inbounds i8, ptr %145, i64 40
  store i32 0, ptr %7605, align 8, !tbaa !68
  %7606 = getelementptr inbounds i8, ptr %145, i64 44
  store i32 0, ptr %7606, align 4, !tbaa !69
  %7607 = getelementptr inbounds i8, ptr %145, i64 48
  store ptr %143, ptr %7607, align 16, !tbaa !65
  %7608 = getelementptr inbounds i8, ptr %145, i64 56
  %7609 = add i64 %7604, 1
  store i64 %7609, ptr %7608, align 8, !tbaa !67
  %7610 = getelementptr inbounds i8, ptr %145, i64 64
  store i32 0, ptr %7610, align 16, !tbaa !68
  %7611 = getelementptr inbounds i8, ptr %145, i64 68
  store i32 0, ptr %7611, align 4, !tbaa !69
  %7612 = getelementptr inbounds i8, ptr %145, i64 72
  store ptr %144, ptr %7612, align 8, !tbaa !65
  %7613 = getelementptr inbounds i8, ptr %145, i64 80
  store i64 %7604, ptr %7613, align 16, !tbaa !67
  %7614 = getelementptr inbounds i8, ptr %145, i64 88
  store i32 0, ptr %7614, align 8, !tbaa !68
  %7615 = getelementptr inbounds i8, ptr %145, i64 92
  store i32 0, ptr %7615, align 4, !tbaa !69
  %7616 = getelementptr inbounds i8, ptr %145, i64 96
  store ptr %144, ptr %7616, align 16, !tbaa !65
  %7617 = getelementptr inbounds i8, ptr %145, i64 104
  %7618 = load i64, ptr %7538, align 8, !tbaa !20
  %7619 = add i64 %7618, %7604
  store i64 %7619, ptr %7617, align 8, !tbaa !67
  %7620 = getelementptr inbounds i8, ptr %145, i64 112
  store i32 0, ptr %7620, align 16, !tbaa !68
  %7621 = getelementptr inbounds i8, ptr %145, i64 116
  store i32 0, ptr %7621, align 4, !tbaa !69
  %7622 = getelementptr inbounds i8, ptr %145, i64 120
  store ptr %144, ptr %7622, align 8, !tbaa !65
  %7623 = getelementptr inbounds i8, ptr %145, i64 128
  store i64 1, ptr %7623, align 16, !tbaa !67
  %7624 = getelementptr inbounds i8, ptr %145, i64 136
  %.tr = trunc i64 %7598 to i32
  %7625 = shl i32 %.tr, 4
  store i32 %7625, ptr %7624, align 8, !tbaa !68
  %7626 = getelementptr inbounds i8, ptr %145, i64 140
  store i32 1, ptr %7626, align 4, !tbaa !69
  %7627 = getelementptr inbounds i8, ptr %145, i64 144
  store ptr %144, ptr %7627, align 16, !tbaa !65
  %7628 = getelementptr inbounds i8, ptr %145, i64 152
  store i64 %7609, ptr %7628, align 8, !tbaa !67
  %7629 = getelementptr inbounds i8, ptr %145, i64 160
  %7630 = add i32 %7625, -16
  store i32 %7630, ptr %7629, align 16, !tbaa !68
  %7631 = getelementptr inbounds i8, ptr %145, i64 164
  store i32 1, ptr %7631, align 4, !tbaa !69
  %7632 = getelementptr inbounds i8, ptr %145, i64 168
  store ptr %144, ptr %7632, align 8, !tbaa !65
  %7633 = getelementptr inbounds i8, ptr %145, i64 176
  store i64 16383, ptr %7633, align 16, !tbaa !67
  %7634 = getelementptr inbounds i8, ptr %145, i64 184
  store i32 0, ptr %7634, align 8, !tbaa !68
  %7635 = getelementptr inbounds i8, ptr %145, i64 188
  store i32 0, ptr %7635, align 4, !tbaa !69
  %7636 = getelementptr inbounds i8, ptr %145, i64 192
  store ptr %144, ptr %7636, align 16, !tbaa !65
  %7637 = getelementptr inbounds i8, ptr %145, i64 200
  store i64 16384, ptr %7637, align 8, !tbaa !67
  %7638 = getelementptr inbounds i8, ptr %145, i64 208
  store i32 0, ptr %7638, align 16, !tbaa !68
  %7639 = getelementptr inbounds i8, ptr %145, i64 212
  store i32 0, ptr %7639, align 4, !tbaa !69
  %7640 = getelementptr inbounds i8, ptr %147, i64 40
  br label %7648

7641:                                             ; preds = %7904
  call void @llvm.lifetime.end.p0(i64 216, ptr nonnull %145) #12
  %7642 = call i32 @s2n_test_iovecs_free(ptr noundef nonnull %144) #12
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %144) #12
  %7643 = call i32 @s2n_test_iovecs_free(ptr noundef nonnull %143) #12
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %143) #12
  call void @llvm.lifetime.end.p0(i64 800, ptr nonnull %142) #12
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %99) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %150) #12
  %7644 = call ptr @s2n_connection_new(i32 noundef 0) #12
  store ptr %7644, ptr %150, align 8, !tbaa !9
  %7645 = load i32, ptr @test_count, align 4, !tbaa !5
  %7646 = add nsw i32 %7645, 1
  store i32 %7646, ptr @test_count, align 4, !tbaa !5
  %7647 = icmp eq ptr %7644, null
  br i1 %7647, label %7909, label %7931

7648:                                             ; preds = %7596, %7904
  %.010961530 = phi i64 [ 0, %7596 ], [ %7908, %7904 ]
  %7649 = getelementptr inbounds [9 x %struct.anon], ptr %145, i64 0, i64 %.010961530
  %7650 = load ptr, ptr %7649, align 8, !tbaa !65
  %7651 = load ptr, ptr %7650, align 8, !tbaa !58
  %7652 = getelementptr inbounds i8, ptr %7650, i64 8
  %7653 = load i64, ptr %7652, align 8, !tbaa !60
  %7654 = getelementptr inbounds i8, ptr %7649, i64 8
  %7655 = load i64, ptr %7654, align 8, !tbaa !67
  %7656 = sub i64 16384, %7655
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %146) #12
  %7657 = call ptr @s2n_connection_new(i32 noundef 0) #12
  store ptr %7657, ptr %146, align 8, !tbaa !9
  %7658 = load i32, ptr @test_count, align 4, !tbaa !5
  %7659 = add nsw i32 %7658, 1
  store i32 %7659, ptr @test_count, align 4, !tbaa !5
  %7660 = icmp eq ptr %7657, null
  br i1 %7660, label %7661, label %7683

7661:                                             ; preds = %7648
  %7662 = load i32, ptr %421, align 4, !tbaa !5
  %7663 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7664 = call i32 @s2n_print_stacktrace(ptr noundef %7663) #12
  %7665 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7666 = trunc nuw i8 %7665 to i1
  br i1 %7666, label %7667, label %7671

7667:                                             ; preds = %7661
  %7668 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7669 = call i32 @fileno(ptr noundef %7668) #12
  %7670 = call i32 @isatty(i32 noundef %7669) #12
  %.not1439 = icmp eq i32 %7670, 0
  br i1 %.not1439, label %7671, label %7672

7671:                                             ; preds = %7667, %7661
  br label %7672

7672:                                             ; preds = %7667, %7671
  %.str.6.sink3883 = phi ptr [ @.str.6, %7671 ], [ @.str.3, %7667 ]
  store i32 %7662, ptr %421, align 4, !tbaa !5
  %7673 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7674 = load i32, ptr @test_count, align 4, !tbaa !5
  %7675 = load i32, ptr %367, align 4, !tbaa !5
  %7676 = call ptr @s2n_strerror(i32 noundef %7675, ptr noundef nonnull @.str.5) #12
  %7677 = load i32, ptr %367, align 4, !tbaa !5
  %7678 = call ptr @s2n_strerror_debug(i32 noundef %7677, ptr noundef nonnull @.str.5) #12
  %7679 = load i32, ptr %421, align 4, !tbaa !5
  %7680 = call ptr @strerror(i32 noundef %7679) #12
  %7681 = load i32, ptr %421, align 4, !tbaa !5
  %7682 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7673, ptr noundef nonnull %.str.6.sink3883, i32 noundef %7674, ptr noundef nonnull @.str.79, ptr noundef nonnull @.str.2, i32 noundef 948, ptr noundef %7676, ptr noundef %7678, ptr noundef %7680, i32 noundef %7681) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7683:                                             ; preds = %7648
  call void @llvm.lifetime.start.p0(i64 96, ptr nonnull %147) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(96) %147, i8 0, i64 96, i1 false)
  %7684 = add nsw i32 %7658, 2
  store i32 %7684, ptr @test_count, align 4, !tbaa !5
  %7685 = call i32 @s2n_test_init_ktls_io_stuffer_send(ptr noundef nonnull %7657, ptr noundef nonnull %147) #12
  %7686 = call zeroext i1 @s2n_result_is_ok(i32 %7685)
  br i1 %7686, label %7709, label %7687

7687:                                             ; preds = %7683
  %7688 = load i32, ptr %421, align 4, !tbaa !5
  %7689 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7690 = call i32 @s2n_print_stacktrace(ptr noundef %7689) #12
  %7691 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7692 = trunc nuw i8 %7691 to i1
  br i1 %7692, label %7693, label %7697

7693:                                             ; preds = %7687
  %7694 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7695 = call i32 @fileno(ptr noundef %7694) #12
  %7696 = call i32 @isatty(i32 noundef %7695) #12
  %.not1430 = icmp eq i32 %7696, 0
  br i1 %.not1430, label %7697, label %7698

7697:                                             ; preds = %7693, %7687
  br label %7698

7698:                                             ; preds = %7693, %7697
  %.str.6.sink3892 = phi ptr [ @.str.6, %7697 ], [ @.str.3, %7693 ]
  store i32 %7688, ptr %421, align 4, !tbaa !5
  %7699 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7700 = load i32, ptr @test_count, align 4, !tbaa !5
  %7701 = load i32, ptr %367, align 4, !tbaa !5
  %7702 = call ptr @s2n_strerror(i32 noundef %7701, ptr noundef nonnull @.str.5) #12
  %7703 = load i32, ptr %367, align 4, !tbaa !5
  %7704 = call ptr @s2n_strerror_debug(i32 noundef %7703, ptr noundef nonnull @.str.5) #12
  %7705 = load i32, ptr %421, align 4, !tbaa !5
  %7706 = call ptr @strerror(i32 noundef %7705) #12
  %7707 = load i32, ptr %421, align 4, !tbaa !5
  %7708 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7699, ptr noundef nonnull %.str.6.sink3892, i32 noundef %7700, ptr noundef nonnull @.str.80, ptr noundef nonnull @.str.2, i32 noundef 952, ptr noundef %7702, ptr noundef %7704, ptr noundef %7706, i32 noundef %7707) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7709:                                             ; preds = %7683
  %7710 = load i32, ptr @test_count, align 4, !tbaa !5
  %7711 = add nsw i32 %7710, 1
  store i32 %7711, ptr @test_count, align 4, !tbaa !5
  %7712 = trunc i64 %7656 to i32
  %7713 = call i32 @s2n_stuffer_resize(ptr noundef nonnull %7640, i32 noundef %7712) #12
  %7714 = icmp eq i32 %7713, -1
  br i1 %7714, label %7715, label %7737

7715:                                             ; preds = %7709
  %7716 = load i32, ptr %421, align 4, !tbaa !5
  %7717 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7718 = call i32 @s2n_print_stacktrace(ptr noundef %7717) #12
  %7719 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7720 = trunc nuw i8 %7719 to i1
  br i1 %7720, label %7721, label %7725

7721:                                             ; preds = %7715
  %7722 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7723 = call i32 @fileno(ptr noundef %7722) #12
  %7724 = call i32 @isatty(i32 noundef %7723) #12
  %.not1438 = icmp eq i32 %7724, 0
  br i1 %.not1438, label %7725, label %7726

7725:                                             ; preds = %7721, %7715
  br label %7726

7726:                                             ; preds = %7721, %7725
  %.str.6.sink3901 = phi ptr [ @.str.6, %7725 ], [ @.str.3, %7721 ]
  store i32 %7716, ptr %421, align 4, !tbaa !5
  %7727 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7728 = load i32, ptr @test_count, align 4, !tbaa !5
  %7729 = load i32, ptr %367, align 4, !tbaa !5
  %7730 = call ptr @s2n_strerror(i32 noundef %7729, ptr noundef nonnull @.str.5) #12
  %7731 = load i32, ptr %367, align 4, !tbaa !5
  %7732 = call ptr @s2n_strerror_debug(i32 noundef %7731, ptr noundef nonnull @.str.5) #12
  %7733 = load i32, ptr %421, align 4, !tbaa !5
  %7734 = call ptr @strerror(i32 noundef %7733) #12
  %7735 = load i32, ptr %421, align 4, !tbaa !5
  %7736 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7727, ptr noundef nonnull %.str.6.sink3901, i32 noundef %7728, ptr noundef nonnull @.str.110, ptr noundef nonnull @.str.2, i32 noundef 955, ptr noundef %7730, ptr noundef %7732, ptr noundef %7734, i32 noundef %7735) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7737:                                             ; preds = %7709
  %7738 = load i32, ptr @test_count, align 4, !tbaa !5
  %7739 = add nsw i32 %7738, 1
  store i32 %7739, ptr @test_count, align 4, !tbaa !5
  %7740 = call i32 @s2n_stuffer_resize(ptr noundef nonnull %147, i32 noundef 100) #12
  %7741 = icmp eq i32 %7740, -1
  br i1 %7741, label %7742, label %7764

7742:                                             ; preds = %7737
  %7743 = load i32, ptr %421, align 4, !tbaa !5
  %7744 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7745 = call i32 @s2n_print_stacktrace(ptr noundef %7744) #12
  %7746 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7747 = trunc nuw i8 %7746 to i1
  br i1 %7747, label %7748, label %7752

7748:                                             ; preds = %7742
  %7749 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7750 = call i32 @fileno(ptr noundef %7749) #12
  %7751 = call i32 @isatty(i32 noundef %7750) #12
  %.not1437 = icmp eq i32 %7751, 0
  br i1 %.not1437, label %7752, label %7753

7752:                                             ; preds = %7748, %7742
  br label %7753

7753:                                             ; preds = %7748, %7752
  %.str.6.sink3910 = phi ptr [ @.str.6, %7752 ], [ @.str.3, %7748 ]
  store i32 %7743, ptr %421, align 4, !tbaa !5
  %7754 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7755 = load i32, ptr @test_count, align 4, !tbaa !5
  %7756 = load i32, ptr %367, align 4, !tbaa !5
  %7757 = call ptr @s2n_strerror(i32 noundef %7756, ptr noundef nonnull @.str.5) #12
  %7758 = load i32, ptr %367, align 4, !tbaa !5
  %7759 = call ptr @s2n_strerror_debug(i32 noundef %7758, ptr noundef nonnull @.str.5) #12
  %7760 = load i32, ptr %421, align 4, !tbaa !5
  %7761 = call ptr @strerror(i32 noundef %7760) #12
  %7762 = load i32, ptr %421, align 4, !tbaa !5
  %7763 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7754, ptr noundef nonnull %.str.6.sink3910, i32 noundef %7755, ptr noundef nonnull @.str.111, ptr noundef nonnull @.str.2, i32 noundef 956, ptr noundef %7757, ptr noundef %7759, ptr noundef %7761, i32 noundef %7762) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7764:                                             ; preds = %7737
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %148) #12
  store i8 0, ptr %148, align 1
  %7765 = load i32, ptr @test_count, align 4, !tbaa !5
  %7766 = add nsw i32 %7765, 1
  store i32 %7766, ptr @test_count, align 4, !tbaa !5
  %7767 = call i32 @s2n_mem_test_init_callbacks(ptr noundef nonnull %148) #12
  %7768 = call zeroext i1 @s2n_result_is_ok(i32 %7767)
  br i1 %7768, label %7791, label %7769

7769:                                             ; preds = %7764
  %7770 = load i32, ptr %421, align 4, !tbaa !5
  %7771 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7772 = call i32 @s2n_print_stacktrace(ptr noundef %7771) #12
  %7773 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7774 = trunc nuw i8 %7773 to i1
  br i1 %7774, label %7775, label %7779

7775:                                             ; preds = %7769
  %7776 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7777 = call i32 @fileno(ptr noundef %7776) #12
  %7778 = call i32 @isatty(i32 noundef %7777) #12
  %.not1431 = icmp eq i32 %7778, 0
  br i1 %.not1431, label %7779, label %7780

7779:                                             ; preds = %7775, %7769
  br label %7780

7780:                                             ; preds = %7775, %7779
  %.str.6.sink3919 = phi ptr [ @.str.6, %7779 ], [ @.str.3, %7775 ]
  store i32 %7770, ptr %421, align 4, !tbaa !5
  %7781 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7782 = load i32, ptr @test_count, align 4, !tbaa !5
  %7783 = load i32, ptr %367, align 4, !tbaa !5
  %7784 = call ptr @s2n_strerror(i32 noundef %7783, ptr noundef nonnull @.str.5) #12
  %7785 = load i32, ptr %367, align 4, !tbaa !5
  %7786 = call ptr @s2n_strerror_debug(i32 noundef %7785, ptr noundef nonnull @.str.5) #12
  %7787 = load i32, ptr %421, align 4, !tbaa !5
  %7788 = call ptr @strerror(i32 noundef %7787) #12
  %7789 = load i32, ptr %421, align 4, !tbaa !5
  %7790 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7781, ptr noundef nonnull %.str.6.sink3919, i32 noundef %7782, ptr noundef nonnull @.str.112, ptr noundef nonnull @.str.2, i32 noundef 960, ptr noundef %7784, ptr noundef %7786, ptr noundef %7788, i32 noundef %7789) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7791:                                             ; preds = %7764
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %149) #12
  store i32 0, ptr %149, align 4, !tbaa !5
  %7792 = load ptr, ptr %146, align 8, !tbaa !9
  %7793 = call i64 @s2n_ktls_sendv_with_offset(ptr noundef %7792, ptr noundef %7651, i64 noundef %7653, i64 noundef %7655, ptr noundef nonnull %149) #12
  %7794 = load i32, ptr @test_count, align 4, !tbaa !5
  %7795 = add nsw i32 %7794, 1
  store i32 %7795, ptr @test_count, align 4, !tbaa !5
  %7796 = icmp eq i64 %7793, %7656
  br i1 %7796, label %7819, label %7797

7797:                                             ; preds = %7791
  %7798 = load i32, ptr %421, align 4, !tbaa !5
  %7799 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7800 = call i32 @s2n_print_stacktrace(ptr noundef %7799) #12
  %7801 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7802 = trunc nuw i8 %7801 to i1
  br i1 %7802, label %7803, label %7807

7803:                                             ; preds = %7797
  %7804 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7805 = call i32 @fileno(ptr noundef %7804) #12
  %7806 = call i32 @isatty(i32 noundef %7805) #12
  %.not1432 = icmp eq i32 %7806, 0
  br i1 %.not1432, label %7807, label %7808

7807:                                             ; preds = %7803, %7797
  br label %7808

7808:                                             ; preds = %7803, %7807
  %.str.6.sink3928 = phi ptr [ @.str.6, %7807 ], [ @.str.3, %7803 ]
  store i32 %7798, ptr %421, align 4, !tbaa !5
  %7809 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7810 = load i32, ptr @test_count, align 4, !tbaa !5
  %7811 = load i32, ptr %367, align 4, !tbaa !5
  %7812 = call ptr @s2n_strerror(i32 noundef %7811, ptr noundef nonnull @.str.5) #12
  %7813 = load i32, ptr %367, align 4, !tbaa !5
  %7814 = call ptr @s2n_strerror_debug(i32 noundef %7813, ptr noundef nonnull @.str.5) #12
  %7815 = load i32, ptr %421, align 4, !tbaa !5
  %7816 = call ptr @strerror(i32 noundef %7815) #12
  %7817 = load i32, ptr %421, align 4, !tbaa !5
  %7818 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7809, ptr noundef nonnull %.str.6.sink3928, i32 noundef %7810, ptr noundef nonnull @.str.113, ptr noundef nonnull @.str.2, i32 noundef 965, ptr noundef %7812, ptr noundef %7814, ptr noundef %7816, i32 noundef %7817) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7819:                                             ; preds = %7791
  %7820 = getelementptr inbounds i8, ptr %7649, i64 20
  %7821 = load i32, ptr %7820, align 4, !tbaa !69
  %7822 = add nsw i32 %7794, 2
  store i32 %7822, ptr @test_count, align 4, !tbaa !5
  %7823 = call i32 @s2n_mem_test_assert_malloc_count(i32 noundef %7821) #12
  %7824 = call zeroext i1 @s2n_result_is_ok(i32 %7823)
  br i1 %7824, label %7847, label %7825

7825:                                             ; preds = %7819
  %7826 = load i32, ptr %421, align 4, !tbaa !5
  %7827 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7828 = call i32 @s2n_print_stacktrace(ptr noundef %7827) #12
  %7829 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7830 = trunc nuw i8 %7829 to i1
  br i1 %7830, label %7831, label %7835

7831:                                             ; preds = %7825
  %7832 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7833 = call i32 @fileno(ptr noundef %7832) #12
  %7834 = call i32 @isatty(i32 noundef %7833) #12
  %.not1433 = icmp eq i32 %7834, 0
  br i1 %.not1433, label %7835, label %7836

7835:                                             ; preds = %7831, %7825
  br label %7836

7836:                                             ; preds = %7831, %7835
  %.str.6.sink3937 = phi ptr [ @.str.6, %7835 ], [ @.str.3, %7831 ]
  store i32 %7826, ptr %421, align 4, !tbaa !5
  %7837 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7838 = load i32, ptr @test_count, align 4, !tbaa !5
  %7839 = load i32, ptr %367, align 4, !tbaa !5
  %7840 = call ptr @s2n_strerror(i32 noundef %7839, ptr noundef nonnull @.str.5) #12
  %7841 = load i32, ptr %367, align 4, !tbaa !5
  %7842 = call ptr @s2n_strerror_debug(i32 noundef %7841, ptr noundef nonnull @.str.5) #12
  %7843 = load i32, ptr %421, align 4, !tbaa !5
  %7844 = call ptr @strerror(i32 noundef %7843) #12
  %7845 = load i32, ptr %421, align 4, !tbaa !5
  %7846 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7837, ptr noundef nonnull %.str.6.sink3937, i32 noundef %7838, ptr noundef nonnull @.str.114, ptr noundef nonnull @.str.2, i32 noundef 968, ptr noundef %7840, ptr noundef %7842, ptr noundef %7844, i32 noundef %7845) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7847:                                             ; preds = %7819
  %.not1434 = icmp eq i32 %7821, 0
  br i1 %.not1434, label %7877, label %7848

7848:                                             ; preds = %7847
  %7849 = load i32, ptr @test_count, align 4, !tbaa !5
  %7850 = add nsw i32 %7849, 1
  store i32 %7850, ptr @test_count, align 4, !tbaa !5
  %7851 = getelementptr inbounds i8, ptr %7649, i64 16
  %7852 = load i32, ptr %7851, align 8, !tbaa !68
  %7853 = call i32 @s2n_mem_test_assert_malloc(i32 noundef %7852) #12
  %7854 = call zeroext i1 @s2n_result_is_ok(i32 %7853)
  br i1 %7854, label %7877, label %7855

7855:                                             ; preds = %7848
  %7856 = load i32, ptr %421, align 4, !tbaa !5
  %7857 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7858 = call i32 @s2n_print_stacktrace(ptr noundef %7857) #12
  %7859 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7860 = trunc nuw i8 %7859 to i1
  br i1 %7860, label %7861, label %7865

7861:                                             ; preds = %7855
  %7862 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7863 = call i32 @fileno(ptr noundef %7862) #12
  %7864 = call i32 @isatty(i32 noundef %7863) #12
  %.not1435 = icmp eq i32 %7864, 0
  br i1 %.not1435, label %7865, label %7866

7865:                                             ; preds = %7861, %7855
  br label %7866

7866:                                             ; preds = %7861, %7865
  %.str.6.sink3946 = phi ptr [ @.str.6, %7865 ], [ @.str.3, %7861 ]
  store i32 %7856, ptr %421, align 4, !tbaa !5
  %7867 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7868 = load i32, ptr @test_count, align 4, !tbaa !5
  %7869 = load i32, ptr %367, align 4, !tbaa !5
  %7870 = call ptr @s2n_strerror(i32 noundef %7869, ptr noundef nonnull @.str.5) #12
  %7871 = load i32, ptr %367, align 4, !tbaa !5
  %7872 = call ptr @s2n_strerror_debug(i32 noundef %7871, ptr noundef nonnull @.str.5) #12
  %7873 = load i32, ptr %421, align 4, !tbaa !5
  %7874 = call ptr @strerror(i32 noundef %7873) #12
  %7875 = load i32, ptr %421, align 4, !tbaa !5
  %7876 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7867, ptr noundef nonnull %.str.6.sink3946, i32 noundef %7868, ptr noundef nonnull @.str.115, ptr noundef nonnull @.str.2, i32 noundef 970, ptr noundef %7870, ptr noundef %7872, ptr noundef %7874, i32 noundef %7875) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7877:                                             ; preds = %7847, %7848
  %7878 = load i32, ptr @test_count, align 4, !tbaa !5
  %7879 = add nsw i32 %7878, 1
  store i32 %7879, ptr @test_count, align 4, !tbaa !5
  %7880 = call i32 (...) @s2n_mem_test_assert_all_freed() #12
  %7881 = call zeroext i1 @s2n_result_is_ok(i32 %7880)
  br i1 %7881, label %7904, label %7882

7882:                                             ; preds = %7877
  %7883 = load i32, ptr %421, align 4, !tbaa !5
  %7884 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7885 = call i32 @s2n_print_stacktrace(ptr noundef %7884) #12
  %7886 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7887 = trunc nuw i8 %7886 to i1
  br i1 %7887, label %7888, label %7892

7888:                                             ; preds = %7882
  %7889 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7890 = call i32 @fileno(ptr noundef %7889) #12
  %7891 = call i32 @isatty(i32 noundef %7890) #12
  %.not1436 = icmp eq i32 %7891, 0
  br i1 %.not1436, label %7892, label %7893

7892:                                             ; preds = %7888, %7882
  br label %7893

7893:                                             ; preds = %7888, %7892
  %.str.6.sink3955 = phi ptr [ @.str.6, %7892 ], [ @.str.3, %7888 ]
  store i32 %7883, ptr %421, align 4, !tbaa !5
  %7894 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7895 = load i32, ptr @test_count, align 4, !tbaa !5
  %7896 = load i32, ptr %367, align 4, !tbaa !5
  %7897 = call ptr @s2n_strerror(i32 noundef %7896, ptr noundef nonnull @.str.5) #12
  %7898 = load i32, ptr %367, align 4, !tbaa !5
  %7899 = call ptr @s2n_strerror_debug(i32 noundef %7898, ptr noundef nonnull @.str.5) #12
  %7900 = load i32, ptr %421, align 4, !tbaa !5
  %7901 = call ptr @strerror(i32 noundef %7900) #12
  %7902 = load i32, ptr %421, align 4, !tbaa !5
  %7903 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7894, ptr noundef nonnull %.str.6.sink3955, i32 noundef %7895, ptr noundef nonnull @.str.116, ptr noundef nonnull @.str.2, i32 noundef 972, ptr noundef %7897, ptr noundef %7899, ptr noundef %7901, i32 noundef %7902) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7904:                                             ; preds = %7877
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %149) #12
  %7905 = call i32 @s2n_mem_test_free_callbacks(ptr noundef nonnull %148) #12
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %148) #12
  %7906 = call i32 @s2n_ktls_io_stuffer_free(ptr noundef nonnull %147) #12
  call void @llvm.lifetime.end.p0(i64 96, ptr nonnull %147) #12
  %7907 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %146) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %146) #12
  %7908 = add nuw nsw i64 %.010961530, 1
  %exitcond1536.not = icmp eq i64 %7908, 9
  br i1 %exitcond1536.not, label %7641, label %7648, !llvm.loop !70

7909:                                             ; preds = %7641
  %7910 = load i32, ptr %421, align 4, !tbaa !5
  %7911 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7912 = call i32 @s2n_print_stacktrace(ptr noundef %7911) #12
  %7913 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7914 = trunc nuw i8 %7913 to i1
  br i1 %7914, label %7915, label %7919

7915:                                             ; preds = %7909
  %7916 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7917 = call i32 @fileno(ptr noundef %7916) #12
  %7918 = call i32 @isatty(i32 noundef %7917) #12
  %.not1429 = icmp eq i32 %7918, 0
  br i1 %.not1429, label %7919, label %7920

7919:                                             ; preds = %7915, %7909
  br label %7920

7920:                                             ; preds = %7915, %7919
  %.str.6.sink3964 = phi ptr [ @.str.6, %7919 ], [ @.str.3, %7915 ]
  store i32 %7910, ptr %421, align 4, !tbaa !5
  %7921 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7922 = load i32, ptr @test_count, align 4, !tbaa !5
  %7923 = load i32, ptr %367, align 4, !tbaa !5
  %7924 = call ptr @s2n_strerror(i32 noundef %7923, ptr noundef nonnull @.str.5) #12
  %7925 = load i32, ptr %367, align 4, !tbaa !5
  %7926 = call ptr @s2n_strerror_debug(i32 noundef %7925, ptr noundef nonnull @.str.5) #12
  %7927 = load i32, ptr %421, align 4, !tbaa !5
  %7928 = call ptr @strerror(i32 noundef %7927) #12
  %7929 = load i32, ptr %421, align 4, !tbaa !5
  %7930 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7921, ptr noundef nonnull %.str.6.sink3964, i32 noundef %7922, ptr noundef nonnull @.str.79, ptr noundef nonnull @.str.2, i32 noundef 985, ptr noundef %7924, ptr noundef %7926, ptr noundef %7928, i32 noundef %7929) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7931:                                             ; preds = %7641
  call void @llvm.lifetime.start.p0(i64 96, ptr nonnull %151) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(96) %151, i8 0, i64 96, i1 false)
  %7932 = add nsw i32 %7645, 2
  store i32 %7932, ptr @test_count, align 4, !tbaa !5
  %7933 = call i32 @s2n_ktls_send_cb(ptr noundef null, ptr noundef nonnull %3, i32 noundef 1) #12
  %7934 = icmp eq i32 %7933, -1
  br i1 %7934, label %7957, label %7935

7935:                                             ; preds = %7931
  %7936 = load i32, ptr %421, align 4, !tbaa !5
  %7937 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7938 = call i32 @s2n_print_stacktrace(ptr noundef %7937) #12
  %7939 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7940 = trunc nuw i8 %7939 to i1
  br i1 %7940, label %7941, label %7945

7941:                                             ; preds = %7935
  %7942 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7943 = call i32 @fileno(ptr noundef %7942) #12
  %7944 = call i32 @isatty(i32 noundef %7943) #12
  %.not1289 = icmp eq i32 %7944, 0
  br i1 %.not1289, label %7945, label %7946

7945:                                             ; preds = %7941, %7935
  br label %7946

7946:                                             ; preds = %7941, %7945
  %.str.6.sink3973 = phi ptr [ @.str.6, %7945 ], [ @.str.3, %7941 ]
  store i32 %7936, ptr %421, align 4, !tbaa !5
  %7947 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7948 = load i32, ptr @test_count, align 4, !tbaa !5
  %7949 = load i32, ptr %367, align 4, !tbaa !5
  %7950 = call ptr @s2n_strerror(i32 noundef %7949, ptr noundef nonnull @.str.5) #12
  %7951 = load i32, ptr %367, align 4, !tbaa !5
  %7952 = call ptr @s2n_strerror_debug(i32 noundef %7951, ptr noundef nonnull @.str.5) #12
  %7953 = load i32, ptr %421, align 4, !tbaa !5
  %7954 = call ptr @strerror(i32 noundef %7953) #12
  %7955 = load i32, ptr %421, align 4, !tbaa !5
  %7956 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7947, ptr noundef nonnull %.str.6.sink3973, i32 noundef %7948, ptr noundef nonnull @.str.117, ptr noundef nonnull @.str.2, i32 noundef 990, ptr noundef %7950, ptr noundef %7952, ptr noundef %7954, i32 noundef %7955) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7957:                                             ; preds = %7931
  %7958 = load i32, ptr @test_count, align 4, !tbaa !5
  %7959 = add nsw i32 %7958, 1
  store i32 %7959, ptr @test_count, align 4, !tbaa !5
  %7960 = load i32, ptr %367, align 4, !tbaa !5
  %7961 = icmp eq i32 %7960, 402653193
  br i1 %7961, label %7984, label %7962

7962:                                             ; preds = %7957
  %7963 = load i32, ptr %421, align 4, !tbaa !5
  %7964 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7965 = call i32 @s2n_print_stacktrace(ptr noundef %7964) #12
  %7966 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7967 = trunc nuw i8 %7966 to i1
  br i1 %7967, label %7968, label %7972

7968:                                             ; preds = %7962
  %7969 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7970 = call i32 @fileno(ptr noundef %7969) #12
  %7971 = call i32 @isatty(i32 noundef %7970) #12
  %.not1290 = icmp eq i32 %7971, 0
  br i1 %.not1290, label %7972, label %7973

7972:                                             ; preds = %7968, %7962
  br label %7973

7973:                                             ; preds = %7968, %7972
  %.str.6.sink3982 = phi ptr [ @.str.6, %7972 ], [ @.str.3, %7968 ]
  store i32 %7963, ptr %421, align 4, !tbaa !5
  %7974 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7975 = load i32, ptr @test_count, align 4, !tbaa !5
  %7976 = load i32, ptr %367, align 4, !tbaa !5
  %7977 = call ptr @s2n_strerror(i32 noundef %7976, ptr noundef nonnull @.str.5) #12
  %7978 = load i32, ptr %367, align 4, !tbaa !5
  %7979 = call ptr @s2n_strerror_debug(i32 noundef %7978, ptr noundef nonnull @.str.5) #12
  %7980 = load i32, ptr %421, align 4, !tbaa !5
  %7981 = call ptr @strerror(i32 noundef %7980) #12
  %7982 = load i32, ptr %421, align 4, !tbaa !5
  %7983 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7974, ptr noundef nonnull %.str.6.sink3982, i32 noundef %7975, ptr noundef nonnull @.str.12, ptr noundef nonnull @.str.2, i32 noundef 990, ptr noundef %7977, ptr noundef %7979, ptr noundef %7981, i32 noundef %7982) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7984:                                             ; preds = %7957
  %7985 = add nsw i32 %7958, 2
  store i32 %7985, ptr @test_count, align 4, !tbaa !5
  %7986 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.5) #12
  %7987 = icmp eq ptr %7986, null
  br i1 %7987, label %7988, label %8010

7988:                                             ; preds = %7984
  %7989 = load i32, ptr %421, align 4, !tbaa !5
  %7990 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7991 = call i32 @s2n_print_stacktrace(ptr noundef %7990) #12
  %7992 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7993 = trunc nuw i8 %7992 to i1
  br i1 %7993, label %7994, label %7998

7994:                                             ; preds = %7988
  %7995 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7996 = call i32 @fileno(ptr noundef %7995) #12
  %7997 = call i32 @isatty(i32 noundef %7996) #12
  %.not1428 = icmp eq i32 %7997, 0
  br i1 %.not1428, label %7998, label %7999

7998:                                             ; preds = %7994, %7988
  br label %7999

7999:                                             ; preds = %7994, %7998
  %.str.6.sink3991 = phi ptr [ @.str.6, %7998 ], [ @.str.3, %7994 ]
  store i32 %7989, ptr %421, align 4, !tbaa !5
  %8000 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8001 = load i32, ptr @test_count, align 4, !tbaa !5
  %8002 = load i32, ptr %367, align 4, !tbaa !5
  %8003 = call ptr @s2n_strerror(i32 noundef %8002, ptr noundef nonnull @.str.5) #12
  %8004 = load i32, ptr %367, align 4, !tbaa !5
  %8005 = call ptr @s2n_strerror_debug(i32 noundef %8004, ptr noundef nonnull @.str.5) #12
  %8006 = load i32, ptr %421, align 4, !tbaa !5
  %8007 = call ptr @strerror(i32 noundef %8006) #12
  %8008 = load i32, ptr %421, align 4, !tbaa !5
  %8009 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8000, ptr noundef nonnull %.str.6.sink3991, i32 noundef %8001, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.2, i32 noundef 990, ptr noundef %8003, ptr noundef %8005, ptr noundef %8007, i32 noundef %8008) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8010:                                             ; preds = %7984
  store i32 0, ptr %367, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %421, align 4, !tbaa !5
  %8011 = load i32, ptr @test_count, align 4, !tbaa !5
  %8012 = add nsw i32 %8011, 1
  store i32 %8012, ptr @test_count, align 4, !tbaa !5
  %8013 = call i32 @s2n_ktls_send_cb(ptr noundef nonnull %151, ptr noundef null, i32 noundef 1) #12
  %8014 = icmp eq i32 %8013, -1
  br i1 %8014, label %8037, label %8015

8015:                                             ; preds = %8010
  %8016 = load i32, ptr %421, align 4, !tbaa !5
  %8017 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8018 = call i32 @s2n_print_stacktrace(ptr noundef %8017) #12
  %8019 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8020 = trunc nuw i8 %8019 to i1
  br i1 %8020, label %8021, label %8025

8021:                                             ; preds = %8015
  %8022 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8023 = call i32 @fileno(ptr noundef %8022) #12
  %8024 = call i32 @isatty(i32 noundef %8023) #12
  %.not1291 = icmp eq i32 %8024, 0
  br i1 %.not1291, label %8025, label %8026

8025:                                             ; preds = %8021, %8015
  br label %8026

8026:                                             ; preds = %8021, %8025
  %.str.6.sink4000 = phi ptr [ @.str.6, %8025 ], [ @.str.3, %8021 ]
  store i32 %8016, ptr %421, align 4, !tbaa !5
  %8027 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8028 = load i32, ptr @test_count, align 4, !tbaa !5
  %8029 = load i32, ptr %367, align 4, !tbaa !5
  %8030 = call ptr @s2n_strerror(i32 noundef %8029, ptr noundef nonnull @.str.5) #12
  %8031 = load i32, ptr %367, align 4, !tbaa !5
  %8032 = call ptr @s2n_strerror_debug(i32 noundef %8031, ptr noundef nonnull @.str.5) #12
  %8033 = load i32, ptr %421, align 4, !tbaa !5
  %8034 = call ptr @strerror(i32 noundef %8033) #12
  %8035 = load i32, ptr %421, align 4, !tbaa !5
  %8036 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8027, ptr noundef nonnull %.str.6.sink4000, i32 noundef %8028, ptr noundef nonnull @.str.118, ptr noundef nonnull @.str.2, i32 noundef 991, ptr noundef %8030, ptr noundef %8032, ptr noundef %8034, i32 noundef %8035) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8037:                                             ; preds = %8010
  %8038 = load i32, ptr @test_count, align 4, !tbaa !5
  %8039 = add nsw i32 %8038, 1
  store i32 %8039, ptr @test_count, align 4, !tbaa !5
  %8040 = load i32, ptr %367, align 4, !tbaa !5
  %8041 = icmp eq i32 %8040, 402653193
  br i1 %8041, label %8064, label %8042

8042:                                             ; preds = %8037
  %8043 = load i32, ptr %421, align 4, !tbaa !5
  %8044 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8045 = call i32 @s2n_print_stacktrace(ptr noundef %8044) #12
  %8046 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8047 = trunc nuw i8 %8046 to i1
  br i1 %8047, label %8048, label %8052

8048:                                             ; preds = %8042
  %8049 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8050 = call i32 @fileno(ptr noundef %8049) #12
  %8051 = call i32 @isatty(i32 noundef %8050) #12
  %.not1292 = icmp eq i32 %8051, 0
  br i1 %.not1292, label %8052, label %8053

8052:                                             ; preds = %8048, %8042
  br label %8053

8053:                                             ; preds = %8048, %8052
  %.str.6.sink4009 = phi ptr [ @.str.6, %8052 ], [ @.str.3, %8048 ]
  store i32 %8043, ptr %421, align 4, !tbaa !5
  %8054 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8055 = load i32, ptr @test_count, align 4, !tbaa !5
  %8056 = load i32, ptr %367, align 4, !tbaa !5
  %8057 = call ptr @s2n_strerror(i32 noundef %8056, ptr noundef nonnull @.str.5) #12
  %8058 = load i32, ptr %367, align 4, !tbaa !5
  %8059 = call ptr @s2n_strerror_debug(i32 noundef %8058, ptr noundef nonnull @.str.5) #12
  %8060 = load i32, ptr %421, align 4, !tbaa !5
  %8061 = call ptr @strerror(i32 noundef %8060) #12
  %8062 = load i32, ptr %421, align 4, !tbaa !5
  %8063 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8054, ptr noundef nonnull %.str.6.sink4009, i32 noundef %8055, ptr noundef nonnull @.str.12, ptr noundef nonnull @.str.2, i32 noundef 991, ptr noundef %8057, ptr noundef %8059, ptr noundef %8061, i32 noundef %8062) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8064:                                             ; preds = %8037
  %8065 = add nsw i32 %8038, 2
  store i32 %8065, ptr @test_count, align 4, !tbaa !5
  %8066 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.5) #12
  %8067 = icmp eq ptr %8066, null
  br i1 %8067, label %8068, label %8090

8068:                                             ; preds = %8064
  %8069 = load i32, ptr %421, align 4, !tbaa !5
  %8070 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8071 = call i32 @s2n_print_stacktrace(ptr noundef %8070) #12
  %8072 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8073 = trunc nuw i8 %8072 to i1
  br i1 %8073, label %8074, label %8078

8074:                                             ; preds = %8068
  %8075 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8076 = call i32 @fileno(ptr noundef %8075) #12
  %8077 = call i32 @isatty(i32 noundef %8076) #12
  %.not1427 = icmp eq i32 %8077, 0
  br i1 %.not1427, label %8078, label %8079

8078:                                             ; preds = %8074, %8068
  br label %8079

8079:                                             ; preds = %8074, %8078
  %.str.6.sink4018 = phi ptr [ @.str.6, %8078 ], [ @.str.3, %8074 ]
  store i32 %8069, ptr %421, align 4, !tbaa !5
  %8080 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8081 = load i32, ptr @test_count, align 4, !tbaa !5
  %8082 = load i32, ptr %367, align 4, !tbaa !5
  %8083 = call ptr @s2n_strerror(i32 noundef %8082, ptr noundef nonnull @.str.5) #12
  %8084 = load i32, ptr %367, align 4, !tbaa !5
  %8085 = call ptr @s2n_strerror_debug(i32 noundef %8084, ptr noundef nonnull @.str.5) #12
  %8086 = load i32, ptr %421, align 4, !tbaa !5
  %8087 = call ptr @strerror(i32 noundef %8086) #12
  %8088 = load i32, ptr %421, align 4, !tbaa !5
  %8089 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8080, ptr noundef nonnull %.str.6.sink4018, i32 noundef %8081, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.2, i32 noundef 991, ptr noundef %8083, ptr noundef %8085, ptr noundef %8087, i32 noundef %8088) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8090:                                             ; preds = %8064
  store i32 0, ptr %367, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %421, align 4, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 96, ptr nonnull %151) #12
  call void @llvm.lifetime.start.p0(i64 96, ptr nonnull %152) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(96) %152, i8 0, i64 96, i1 false)
  %8091 = load i32, ptr @test_count, align 4, !tbaa !5
  %8092 = add nsw i32 %8091, 1
  store i32 %8092, ptr @test_count, align 4, !tbaa !5
  %8093 = load ptr, ptr %150, align 8, !tbaa !9
  %8094 = call i32 @s2n_test_init_ktls_io_stuffer_send(ptr noundef %8093, ptr noundef nonnull %152) #12
  %8095 = call zeroext i1 @s2n_result_is_ok(i32 %8094)
  br i1 %8095, label %8118, label %8096

8096:                                             ; preds = %8090
  %8097 = load i32, ptr %421, align 4, !tbaa !5
  %8098 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8099 = call i32 @s2n_print_stacktrace(ptr noundef %8098) #12
  %8100 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8101 = trunc nuw i8 %8100 to i1
  br i1 %8101, label %8102, label %8106

8102:                                             ; preds = %8096
  %8103 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8104 = call i32 @fileno(ptr noundef %8103) #12
  %8105 = call i32 @isatty(i32 noundef %8104) #12
  %.not1293 = icmp eq i32 %8105, 0
  br i1 %.not1293, label %8106, label %8107

8106:                                             ; preds = %8102, %8096
  br label %8107

8107:                                             ; preds = %8102, %8106
  %.str.6.sink4027 = phi ptr [ @.str.6, %8106 ], [ @.str.3, %8102 ]
  store i32 %8097, ptr %421, align 4, !tbaa !5
  %8108 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8109 = load i32, ptr @test_count, align 4, !tbaa !5
  %8110 = load i32, ptr %367, align 4, !tbaa !5
  %8111 = call ptr @s2n_strerror(i32 noundef %8110, ptr noundef nonnull @.str.5) #12
  %8112 = load i32, ptr %367, align 4, !tbaa !5
  %8113 = call ptr @s2n_strerror_debug(i32 noundef %8112, ptr noundef nonnull @.str.5) #12
  %8114 = load i32, ptr %421, align 4, !tbaa !5
  %8115 = call ptr @strerror(i32 noundef %8114) #12
  %8116 = load i32, ptr %421, align 4, !tbaa !5
  %8117 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8108, ptr noundef nonnull %.str.6.sink4027, i32 noundef %8109, ptr noundef nonnull @.str.119, ptr noundef nonnull @.str.2, i32 noundef 998, ptr noundef %8111, ptr noundef %8113, ptr noundef %8115, i32 noundef %8116) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8118:                                             ; preds = %8090
  %8119 = load i32, ptr @test_count, align 4, !tbaa !5
  %8120 = add nsw i32 %8119, 1
  store i32 %8120, ptr @test_count, align 4, !tbaa !5
  %8121 = call i32 @s2n_ktls_send_cb(ptr noundef nonnull %152, ptr noundef nonnull %3, i32 noundef 16384) #12
  %8122 = icmp eq i32 %8121, -1
  br i1 %8122, label %8123, label %8145

8123:                                             ; preds = %8118
  %8124 = load i32, ptr %421, align 4, !tbaa !5
  %8125 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8126 = call i32 @s2n_print_stacktrace(ptr noundef %8125) #12
  %8127 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8128 = trunc nuw i8 %8127 to i1
  br i1 %8128, label %8129, label %8133

8129:                                             ; preds = %8123
  %8130 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8131 = call i32 @fileno(ptr noundef %8130) #12
  %8132 = call i32 @isatty(i32 noundef %8131) #12
  %.not1426 = icmp eq i32 %8132, 0
  br i1 %.not1426, label %8133, label %8134

8133:                                             ; preds = %8129, %8123
  br label %8134

8134:                                             ; preds = %8129, %8133
  %.str.6.sink4036 = phi ptr [ @.str.6, %8133 ], [ @.str.3, %8129 ]
  store i32 %8124, ptr %421, align 4, !tbaa !5
  %8135 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8136 = load i32, ptr @test_count, align 4, !tbaa !5
  %8137 = load i32, ptr %367, align 4, !tbaa !5
  %8138 = call ptr @s2n_strerror(i32 noundef %8137, ptr noundef nonnull @.str.5) #12
  %8139 = load i32, ptr %367, align 4, !tbaa !5
  %8140 = call ptr @s2n_strerror_debug(i32 noundef %8139, ptr noundef nonnull @.str.5) #12
  %8141 = load i32, ptr %421, align 4, !tbaa !5
  %8142 = call ptr @strerror(i32 noundef %8141) #12
  %8143 = load i32, ptr %421, align 4, !tbaa !5
  %8144 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8135, ptr noundef nonnull %.str.6.sink4036, i32 noundef %8136, ptr noundef nonnull @.str.120, ptr noundef nonnull @.str.2, i32 noundef 1000, ptr noundef %8138, ptr noundef %8140, ptr noundef %8142, i32 noundef %8143) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8145:                                             ; preds = %8118
  %8146 = load i32, ptr @test_count, align 4, !tbaa !5
  %8147 = add nsw i32 %8146, 1
  store i32 %8147, ptr @test_count, align 4, !tbaa !5
  %8148 = getelementptr inbounds i8, ptr %152, i64 80
  %8149 = load i64, ptr %8148, align 8, !tbaa !47
  %8150 = icmp eq i64 %8149, 1
  br i1 %8150, label %8173, label %8151

8151:                                             ; preds = %8145
  %8152 = load i32, ptr %421, align 4, !tbaa !5
  %8153 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8154 = call i32 @s2n_print_stacktrace(ptr noundef %8153) #12
  %8155 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8156 = trunc nuw i8 %8155 to i1
  br i1 %8156, label %8157, label %8161

8157:                                             ; preds = %8151
  %8158 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8159 = call i32 @fileno(ptr noundef %8158) #12
  %8160 = call i32 @isatty(i32 noundef %8159) #12
  %.not1294 = icmp eq i32 %8160, 0
  br i1 %.not1294, label %8161, label %8162

8161:                                             ; preds = %8157, %8151
  br label %8162

8162:                                             ; preds = %8157, %8161
  %.str.6.sink4045 = phi ptr [ @.str.6, %8161 ], [ @.str.3, %8157 ]
  store i32 %8152, ptr %421, align 4, !tbaa !5
  %8163 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8164 = load i32, ptr @test_count, align 4, !tbaa !5
  %8165 = load i32, ptr %367, align 4, !tbaa !5
  %8166 = call ptr @s2n_strerror(i32 noundef %8165, ptr noundef nonnull @.str.5) #12
  %8167 = load i32, ptr %367, align 4, !tbaa !5
  %8168 = call ptr @s2n_strerror_debug(i32 noundef %8167, ptr noundef nonnull @.str.5) #12
  %8169 = load i32, ptr %421, align 4, !tbaa !5
  %8170 = call ptr @strerror(i32 noundef %8169) #12
  %8171 = load i32, ptr %421, align 4, !tbaa !5
  %8172 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8163, ptr noundef nonnull %.str.6.sink4045, i32 noundef %8164, ptr noundef nonnull @.str.121, ptr noundef nonnull @.str.2, i32 noundef 1001, ptr noundef %8166, ptr noundef %8168, ptr noundef %8170, i32 noundef %8171) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8173:                                             ; preds = %8145
  %8174 = add nsw i32 %8146, 2
  store i32 %8174, ptr @test_count, align 4, !tbaa !5
  %8175 = call i32 @s2n_test_validate_ancillary(ptr noundef nonnull %152, i8 noundef zeroext 21, i16 noundef zeroext 16384) #12
  %8176 = call zeroext i1 @s2n_result_is_ok(i32 %8175)
  br i1 %8176, label %8199, label %8177

8177:                                             ; preds = %8173
  %8178 = load i32, ptr %421, align 4, !tbaa !5
  %8179 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8180 = call i32 @s2n_print_stacktrace(ptr noundef %8179) #12
  %8181 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8182 = trunc nuw i8 %8181 to i1
  br i1 %8182, label %8183, label %8187

8183:                                             ; preds = %8177
  %8184 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8185 = call i32 @fileno(ptr noundef %8184) #12
  %8186 = call i32 @isatty(i32 noundef %8185) #12
  %.not1295 = icmp eq i32 %8186, 0
  br i1 %.not1295, label %8187, label %8188

8187:                                             ; preds = %8183, %8177
  br label %8188

8188:                                             ; preds = %8183, %8187
  %.str.6.sink4054 = phi ptr [ @.str.6, %8187 ], [ @.str.3, %8183 ]
  store i32 %8178, ptr %421, align 4, !tbaa !5
  %8189 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8190 = load i32, ptr @test_count, align 4, !tbaa !5
  %8191 = load i32, ptr %367, align 4, !tbaa !5
  %8192 = call ptr @s2n_strerror(i32 noundef %8191, ptr noundef nonnull @.str.5) #12
  %8193 = load i32, ptr %367, align 4, !tbaa !5
  %8194 = call ptr @s2n_strerror_debug(i32 noundef %8193, ptr noundef nonnull @.str.5) #12
  %8195 = load i32, ptr %421, align 4, !tbaa !5
  %8196 = call ptr @strerror(i32 noundef %8195) #12
  %8197 = load i32, ptr %421, align 4, !tbaa !5
  %8198 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8189, ptr noundef nonnull %.str.6.sink4054, i32 noundef %8190, ptr noundef nonnull @.str.122, ptr noundef nonnull @.str.2, i32 noundef 1002, ptr noundef %8192, ptr noundef %8194, ptr noundef %8196, i32 noundef %8197) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8199:                                             ; preds = %8173
  %8200 = load i32, ptr @test_count, align 4, !tbaa !5
  %8201 = add nsw i32 %8200, 1
  store i32 %8201, ptr @test_count, align 4, !tbaa !5
  %8202 = call i32 @s2n_test_validate_data(ptr noundef nonnull %152, ptr noundef nonnull %3, i16 noundef zeroext 16384) #12
  %8203 = call zeroext i1 @s2n_result_is_ok(i32 %8202)
  br i1 %8203, label %8226, label %8204

8204:                                             ; preds = %8199
  %8205 = load i32, ptr %421, align 4, !tbaa !5
  %8206 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8207 = call i32 @s2n_print_stacktrace(ptr noundef %8206) #12
  %8208 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8209 = trunc nuw i8 %8208 to i1
  br i1 %8209, label %8210, label %8214

8210:                                             ; preds = %8204
  %8211 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8212 = call i32 @fileno(ptr noundef %8211) #12
  %8213 = call i32 @isatty(i32 noundef %8212) #12
  %.not1296 = icmp eq i32 %8213, 0
  br i1 %.not1296, label %8214, label %8215

8214:                                             ; preds = %8210, %8204
  br label %8215

8215:                                             ; preds = %8210, %8214
  %.str.6.sink4063 = phi ptr [ @.str.6, %8214 ], [ @.str.3, %8210 ]
  store i32 %8205, ptr %421, align 4, !tbaa !5
  %8216 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8217 = load i32, ptr @test_count, align 4, !tbaa !5
  %8218 = load i32, ptr %367, align 4, !tbaa !5
  %8219 = call ptr @s2n_strerror(i32 noundef %8218, ptr noundef nonnull @.str.5) #12
  %8220 = load i32, ptr %367, align 4, !tbaa !5
  %8221 = call ptr @s2n_strerror_debug(i32 noundef %8220, ptr noundef nonnull @.str.5) #12
  %8222 = load i32, ptr %421, align 4, !tbaa !5
  %8223 = call ptr @strerror(i32 noundef %8222) #12
  %8224 = load i32, ptr %421, align 4, !tbaa !5
  %8225 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8216, ptr noundef nonnull %.str.6.sink4063, i32 noundef %8217, ptr noundef nonnull @.str.123, ptr noundef nonnull @.str.2, i32 noundef 1003, ptr noundef %8219, ptr noundef %8221, ptr noundef %8223, i32 noundef %8224) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8226:                                             ; preds = %8199
  %8227 = call i32 @s2n_ktls_io_stuffer_free(ptr noundef nonnull %152) #12
  call void @llvm.lifetime.end.p0(i64 96, ptr nonnull %152) #12
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %153) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %153, i8 0, i64 16, i1 false)
  %8228 = load i32, ptr @test_count, align 4, !tbaa !5
  %8229 = add nsw i32 %8228, 1
  store i32 %8229, ptr @test_count, align 4, !tbaa !5
  %8230 = load ptr, ptr %150, align 8, !tbaa !9
  %8231 = call i32 @s2n_ktls_set_sendmsg_cb(ptr noundef %8230, ptr noundef nonnull @s2n_test_ktls_sendmsg_fail, ptr noundef nonnull %153) #12
  %8232 = call zeroext i1 @s2n_result_is_ok(i32 %8231)
  br i1 %8232, label %8255, label %8233

8233:                                             ; preds = %8226
  %8234 = load i32, ptr %421, align 4, !tbaa !5
  %8235 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8236 = call i32 @s2n_print_stacktrace(ptr noundef %8235) #12
  %8237 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8238 = trunc nuw i8 %8237 to i1
  br i1 %8238, label %8239, label %8243

8239:                                             ; preds = %8233
  %8240 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8241 = call i32 @fileno(ptr noundef %8240) #12
  %8242 = call i32 @isatty(i32 noundef %8241) #12
  %.not1297 = icmp eq i32 %8242, 0
  br i1 %.not1297, label %8243, label %8244

8243:                                             ; preds = %8239, %8233
  br label %8244

8244:                                             ; preds = %8239, %8243
  %.str.6.sink4072 = phi ptr [ @.str.6, %8243 ], [ @.str.3, %8239 ]
  store i32 %8234, ptr %421, align 4, !tbaa !5
  %8245 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8246 = load i32, ptr @test_count, align 4, !tbaa !5
  %8247 = load i32, ptr %367, align 4, !tbaa !5
  %8248 = call ptr @s2n_strerror(i32 noundef %8247, ptr noundef nonnull @.str.5) #12
  %8249 = load i32, ptr %367, align 4, !tbaa !5
  %8250 = call ptr @s2n_strerror_debug(i32 noundef %8249, ptr noundef nonnull @.str.5) #12
  %8251 = load i32, ptr %421, align 4, !tbaa !5
  %8252 = call ptr @strerror(i32 noundef %8251) #12
  %8253 = load i32, ptr %421, align 4, !tbaa !5
  %8254 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8245, ptr noundef nonnull %.str.6.sink4072, i32 noundef %8246, ptr noundef nonnull @.str.124, ptr noundef nonnull @.str.2, i32 noundef 1009, ptr noundef %8248, ptr noundef %8250, ptr noundef %8252, i32 noundef %8253) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8255:                                             ; preds = %8226
  store i64 1, ptr %153, align 8, !tbaa !51
  %8256 = load i32, ptr @test_count, align 4, !tbaa !5
  %8257 = add nsw i32 %8256, 1
  store i32 %8257, ptr @test_count, align 4, !tbaa !5
  %8258 = call i32 @s2n_ktls_send_cb(ptr noundef nonnull %153, ptr noundef nonnull %3, i32 noundef 16384) #12
  %8259 = icmp eq i32 %8258, -1
  br i1 %8259, label %8282, label %8260

8260:                                             ; preds = %8255
  %8261 = load i32, ptr %421, align 4, !tbaa !5
  %8262 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8263 = call i32 @s2n_print_stacktrace(ptr noundef %8262) #12
  %8264 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8265 = trunc nuw i8 %8264 to i1
  br i1 %8265, label %8266, label %8270

8266:                                             ; preds = %8260
  %8267 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8268 = call i32 @fileno(ptr noundef %8267) #12
  %8269 = call i32 @isatty(i32 noundef %8268) #12
  %.not1298 = icmp eq i32 %8269, 0
  br i1 %.not1298, label %8270, label %8271

8270:                                             ; preds = %8266, %8260
  br label %8271

8271:                                             ; preds = %8266, %8270
  %.str.6.sink4081 = phi ptr [ @.str.6, %8270 ], [ @.str.3, %8266 ]
  store i32 %8261, ptr %421, align 4, !tbaa !5
  %8272 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8273 = load i32, ptr @test_count, align 4, !tbaa !5
  %8274 = load i32, ptr %367, align 4, !tbaa !5
  %8275 = call ptr @s2n_strerror(i32 noundef %8274, ptr noundef nonnull @.str.5) #12
  %8276 = load i32, ptr %367, align 4, !tbaa !5
  %8277 = call ptr @s2n_strerror_debug(i32 noundef %8276, ptr noundef nonnull @.str.5) #12
  %8278 = load i32, ptr %421, align 4, !tbaa !5
  %8279 = call ptr @strerror(i32 noundef %8278) #12
  %8280 = load i32, ptr %421, align 4, !tbaa !5
  %8281 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8272, ptr noundef nonnull %.str.6.sink4081, i32 noundef %8273, ptr noundef nonnull @.str.125, ptr noundef nonnull @.str.2, i32 noundef 1013, ptr noundef %8275, ptr noundef %8277, ptr noundef %8279, i32 noundef %8280) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8282:                                             ; preds = %8255
  %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 i32, ptr %367, align 4, !tbaa !5
  %8286 = icmp eq i32 %8285, 67108864
  br i1 %8286, label %8309, label %8287

8287:                                             ; preds = %8282
  %8288 = load i32, ptr %421, align 4, !tbaa !5
  %8289 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8290 = call i32 @s2n_print_stacktrace(ptr noundef %8289) #12
  %8291 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8292 = trunc nuw i8 %8291 to i1
  br i1 %8292, label %8293, label %8297

8293:                                             ; preds = %8287
  %8294 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8295 = call i32 @fileno(ptr noundef %8294) #12
  %8296 = call i32 @isatty(i32 noundef %8295) #12
  %.not1299 = icmp eq i32 %8296, 0
  br i1 %.not1299, label %8297, label %8298

8297:                                             ; preds = %8293, %8287
  br label %8298

8298:                                             ; preds = %8293, %8297
  %.str.6.sink4090 = phi ptr [ @.str.6, %8297 ], [ @.str.3, %8293 ]
  store i32 %8288, ptr %421, align 4, !tbaa !5
  %8299 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8300 = load i32, ptr @test_count, align 4, !tbaa !5
  %8301 = load i32, ptr %367, align 4, !tbaa !5
  %8302 = call ptr @s2n_strerror(i32 noundef %8301, ptr noundef nonnull @.str.5) #12
  %8303 = load i32, ptr %367, align 4, !tbaa !5
  %8304 = call ptr @s2n_strerror_debug(i32 noundef %8303, ptr noundef nonnull @.str.5) #12
  %8305 = load i32, ptr %421, align 4, !tbaa !5
  %8306 = call ptr @strerror(i32 noundef %8305) #12
  %8307 = load i32, ptr %421, align 4, !tbaa !5
  %8308 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8299, ptr noundef nonnull %.str.6.sink4090, i32 noundef %8300, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.2, i32 noundef 1013, ptr noundef %8302, ptr noundef %8304, ptr noundef %8306, i32 noundef %8307) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8309:                                             ; preds = %8282
  %8310 = add nsw i32 %8283, 2
  store i32 %8310, ptr @test_count, align 4, !tbaa !5
  %8311 = call ptr @s2n_strerror_debug(i32 noundef 67108864, ptr noundef nonnull @.str.5) #12
  %8312 = icmp eq ptr %8311, null
  br i1 %8312, label %8313, label %8335

8313:                                             ; preds = %8309
  %8314 = load i32, ptr %421, align 4, !tbaa !5
  %8315 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8316 = call i32 @s2n_print_stacktrace(ptr noundef %8315) #12
  %8317 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8318 = trunc nuw i8 %8317 to i1
  br i1 %8318, label %8319, label %8323

8319:                                             ; preds = %8313
  %8320 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8321 = call i32 @fileno(ptr noundef %8320) #12
  %8322 = call i32 @isatty(i32 noundef %8321) #12
  %.not1425 = icmp eq i32 %8322, 0
  br i1 %.not1425, label %8323, label %8324

8323:                                             ; preds = %8319, %8313
  br label %8324

8324:                                             ; preds = %8319, %8323
  %.str.6.sink4099 = phi ptr [ @.str.6, %8323 ], [ @.str.3, %8319 ]
  store i32 %8314, ptr %421, align 4, !tbaa !5
  %8325 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8326 = load i32, ptr @test_count, align 4, !tbaa !5
  %8327 = load i32, ptr %367, align 4, !tbaa !5
  %8328 = call ptr @s2n_strerror(i32 noundef %8327, ptr noundef nonnull @.str.5) #12
  %8329 = load i32, ptr %367, align 4, !tbaa !5
  %8330 = call ptr @s2n_strerror_debug(i32 noundef %8329, ptr noundef nonnull @.str.5) #12
  %8331 = load i32, ptr %421, align 4, !tbaa !5
  %8332 = call ptr @strerror(i32 noundef %8331) #12
  %8333 = load i32, ptr %421, align 4, !tbaa !5
  %8334 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8325, ptr noundef nonnull %.str.6.sink4099, i32 noundef %8326, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.2, i32 noundef 1013, ptr noundef %8328, ptr noundef %8330, ptr noundef %8332, i32 noundef %8333) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8335:                                             ; preds = %8309
  store i32 0, ptr %367, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %421, align 4, !tbaa !5
  store i64 22, ptr %153, align 8, !tbaa !51
  %8336 = load i32, ptr @test_count, align 4, !tbaa !5
  %8337 = add nsw i32 %8336, 1
  store i32 %8337, ptr @test_count, align 4, !tbaa !5
  %8338 = call i32 @s2n_ktls_send_cb(ptr noundef nonnull %153, ptr noundef nonnull %3, i32 noundef 16384) #12
  %8339 = icmp eq i32 %8338, -1
  br i1 %8339, label %8362, label %8340

8340:                                             ; preds = %8335
  %8341 = load i32, ptr %421, align 4, !tbaa !5
  %8342 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8343 = call i32 @s2n_print_stacktrace(ptr noundef %8342) #12
  %8344 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8345 = trunc nuw i8 %8344 to i1
  br i1 %8345, label %8346, label %8350

8346:                                             ; preds = %8340
  %8347 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8348 = call i32 @fileno(ptr noundef %8347) #12
  %8349 = call i32 @isatty(i32 noundef %8348) #12
  %.not1300 = icmp eq i32 %8349, 0
  br i1 %.not1300, label %8350, label %8351

8350:                                             ; preds = %8346, %8340
  br label %8351

8351:                                             ; preds = %8346, %8350
  %.str.6.sink4108 = phi ptr [ @.str.6, %8350 ], [ @.str.3, %8346 ]
  store i32 %8341, ptr %421, align 4, !tbaa !5
  %8352 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8353 = load i32, ptr @test_count, align 4, !tbaa !5
  %8354 = load i32, ptr %367, align 4, !tbaa !5
  %8355 = call ptr @s2n_strerror(i32 noundef %8354, ptr noundef nonnull @.str.5) #12
  %8356 = load i32, ptr %367, align 4, !tbaa !5
  %8357 = call ptr @s2n_strerror_debug(i32 noundef %8356, ptr noundef nonnull @.str.5) #12
  %8358 = load i32, ptr %421, align 4, !tbaa !5
  %8359 = call ptr @strerror(i32 noundef %8358) #12
  %8360 = load i32, ptr %421, align 4, !tbaa !5
  %8361 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8352, ptr noundef nonnull %.str.6.sink4108, i32 noundef %8353, ptr noundef nonnull @.str.125, ptr noundef nonnull @.str.2, i32 noundef 1017, ptr noundef %8355, ptr noundef %8357, ptr noundef %8359, i32 noundef %8360) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8362:                                             ; preds = %8335
  %8363 = load i32, ptr @test_count, align 4, !tbaa !5
  %8364 = add nsw i32 %8363, 1
  store i32 %8364, ptr @test_count, align 4, !tbaa !5
  %8365 = load i32, ptr %367, align 4, !tbaa !5
  %8366 = icmp eq i32 %8365, 67108864
  br i1 %8366, label %8389, label %8367

8367:                                             ; preds = %8362
  %8368 = load i32, ptr %421, align 4, !tbaa !5
  %8369 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8370 = call i32 @s2n_print_stacktrace(ptr noundef %8369) #12
  %8371 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8372 = trunc nuw i8 %8371 to i1
  br i1 %8372, label %8373, label %8377

8373:                                             ; preds = %8367
  %8374 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8375 = call i32 @fileno(ptr noundef %8374) #12
  %8376 = call i32 @isatty(i32 noundef %8375) #12
  %.not1301 = icmp eq i32 %8376, 0
  br i1 %.not1301, label %8377, label %8378

8377:                                             ; preds = %8373, %8367
  br label %8378

8378:                                             ; preds = %8373, %8377
  %.str.6.sink4117 = phi ptr [ @.str.6, %8377 ], [ @.str.3, %8373 ]
  store i32 %8368, ptr %421, align 4, !tbaa !5
  %8379 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8380 = load i32, ptr @test_count, align 4, !tbaa !5
  %8381 = load i32, ptr %367, align 4, !tbaa !5
  %8382 = call ptr @s2n_strerror(i32 noundef %8381, ptr noundef nonnull @.str.5) #12
  %8383 = load i32, ptr %367, align 4, !tbaa !5
  %8384 = call ptr @s2n_strerror_debug(i32 noundef %8383, ptr noundef nonnull @.str.5) #12
  %8385 = load i32, ptr %421, align 4, !tbaa !5
  %8386 = call ptr @strerror(i32 noundef %8385) #12
  %8387 = load i32, ptr %421, align 4, !tbaa !5
  %8388 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8379, ptr noundef nonnull %.str.6.sink4117, i32 noundef %8380, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.2, i32 noundef 1017, ptr noundef %8382, ptr noundef %8384, ptr noundef %8386, i32 noundef %8387) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8389:                                             ; preds = %8362
  %8390 = add nsw i32 %8363, 2
  store i32 %8390, ptr @test_count, align 4, !tbaa !5
  %8391 = call ptr @s2n_strerror_debug(i32 noundef 67108864, ptr noundef nonnull @.str.5) #12
  %8392 = icmp eq ptr %8391, null
  br i1 %8392, label %8393, label %8415

8393:                                             ; preds = %8389
  %8394 = load i32, ptr %421, align 4, !tbaa !5
  %8395 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8396 = call i32 @s2n_print_stacktrace(ptr noundef %8395) #12
  %8397 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8398 = trunc nuw i8 %8397 to i1
  br i1 %8398, label %8399, label %8403

8399:                                             ; preds = %8393
  %8400 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8401 = call i32 @fileno(ptr noundef %8400) #12
  %8402 = call i32 @isatty(i32 noundef %8401) #12
  %.not1424 = icmp eq i32 %8402, 0
  br i1 %.not1424, label %8403, label %8404

8403:                                             ; preds = %8399, %8393
  br label %8404

8404:                                             ; preds = %8399, %8403
  %.str.6.sink4126 = phi ptr [ @.str.6, %8403 ], [ @.str.3, %8399 ]
  store i32 %8394, ptr %421, align 4, !tbaa !5
  %8405 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8406 = load i32, ptr @test_count, align 4, !tbaa !5
  %8407 = load i32, ptr %367, align 4, !tbaa !5
  %8408 = call ptr @s2n_strerror(i32 noundef %8407, ptr noundef nonnull @.str.5) #12
  %8409 = load i32, ptr %367, align 4, !tbaa !5
  %8410 = call ptr @s2n_strerror_debug(i32 noundef %8409, ptr noundef nonnull @.str.5) #12
  %8411 = load i32, ptr %421, align 4, !tbaa !5
  %8412 = call ptr @strerror(i32 noundef %8411) #12
  %8413 = load i32, ptr %421, align 4, !tbaa !5
  %8414 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8405, ptr noundef nonnull %.str.6.sink4126, i32 noundef %8406, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.2, i32 noundef 1017, ptr noundef %8408, ptr noundef %8410, ptr noundef %8412, i32 noundef %8413) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8415:                                             ; preds = %8389
  store i32 0, ptr %367, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %421, align 4, !tbaa !5
  store i64 11, ptr %153, align 8, !tbaa !51
  %8416 = load i32, ptr @test_count, align 4, !tbaa !5
  %8417 = add nsw i32 %8416, 1
  store i32 %8417, ptr @test_count, align 4, !tbaa !5
  %8418 = call i32 @s2n_ktls_send_cb(ptr noundef nonnull %153, ptr noundef nonnull %3, i32 noundef 16384) #12
  %8419 = icmp eq i32 %8418, -1
  br i1 %8419, label %8442, label %8420

8420:                                             ; preds = %8415
  %8421 = load i32, ptr %421, align 4, !tbaa !5
  %8422 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8423 = call i32 @s2n_print_stacktrace(ptr noundef %8422) #12
  %8424 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8425 = trunc nuw i8 %8424 to i1
  br i1 %8425, label %8426, label %8430

8426:                                             ; preds = %8420
  %8427 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8428 = call i32 @fileno(ptr noundef %8427) #12
  %8429 = call i32 @isatty(i32 noundef %8428) #12
  %.not1302 = icmp eq i32 %8429, 0
  br i1 %.not1302, label %8430, label %8431

8430:                                             ; preds = %8426, %8420
  br label %8431

8431:                                             ; preds = %8426, %8430
  %.str.6.sink4135 = phi ptr [ @.str.6, %8430 ], [ @.str.3, %8426 ]
  store i32 %8421, ptr %421, align 4, !tbaa !5
  %8432 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8433 = load i32, ptr @test_count, align 4, !tbaa !5
  %8434 = load i32, ptr %367, align 4, !tbaa !5
  %8435 = call ptr @s2n_strerror(i32 noundef %8434, ptr noundef nonnull @.str.5) #12
  %8436 = load i32, ptr %367, align 4, !tbaa !5
  %8437 = call ptr @s2n_strerror_debug(i32 noundef %8436, ptr noundef nonnull @.str.5) #12
  %8438 = load i32, ptr %421, align 4, !tbaa !5
  %8439 = call ptr @strerror(i32 noundef %8438) #12
  %8440 = load i32, ptr %421, align 4, !tbaa !5
  %8441 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8432, ptr noundef nonnull %.str.6.sink4135, i32 noundef %8433, ptr noundef nonnull @.str.125, ptr noundef nonnull @.str.2, i32 noundef 1021, ptr noundef %8435, ptr noundef %8437, ptr noundef %8439, i32 noundef %8440) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8442:                                             ; preds = %8415
  %8443 = load i32, ptr @test_count, align 4, !tbaa !5
  %8444 = add nsw i32 %8443, 1
  store i32 %8444, ptr @test_count, align 4, !tbaa !5
  %8445 = load i32, ptr %367, align 4, !tbaa !5
  %8446 = icmp eq i32 %8445, 201326592
  br i1 %8446, label %8469, label %8447

8447:                                             ; preds = %8442
  %8448 = load i32, ptr %421, align 4, !tbaa !5
  %8449 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8450 = call i32 @s2n_print_stacktrace(ptr noundef %8449) #12
  %8451 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8452 = trunc nuw i8 %8451 to i1
  br i1 %8452, label %8453, label %8457

8453:                                             ; preds = %8447
  %8454 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8455 = call i32 @fileno(ptr noundef %8454) #12
  %8456 = call i32 @isatty(i32 noundef %8455) #12
  %.not1303 = icmp eq i32 %8456, 0
  br i1 %.not1303, label %8457, label %8458

8457:                                             ; preds = %8453, %8447
  br label %8458

8458:                                             ; preds = %8453, %8457
  %.str.6.sink4144 = phi ptr [ @.str.6, %8457 ], [ @.str.3, %8453 ]
  store i32 %8448, ptr %421, align 4, !tbaa !5
  %8459 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8460 = load i32, ptr @test_count, align 4, !tbaa !5
  %8461 = load i32, ptr %367, align 4, !tbaa !5
  %8462 = call ptr @s2n_strerror(i32 noundef %8461, ptr noundef nonnull @.str.5) #12
  %8463 = load i32, ptr %367, align 4, !tbaa !5
  %8464 = call ptr @s2n_strerror_debug(i32 noundef %8463, ptr noundef nonnull @.str.5) #12
  %8465 = load i32, ptr %421, align 4, !tbaa !5
  %8466 = call ptr @strerror(i32 noundef %8465) #12
  %8467 = load i32, ptr %421, align 4, !tbaa !5
  %8468 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8459, ptr noundef nonnull %.str.6.sink4144, i32 noundef %8460, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.2, i32 noundef 1021, ptr noundef %8462, ptr noundef %8464, ptr noundef %8466, i32 noundef %8467) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8469:                                             ; preds = %8442
  %8470 = add nsw i32 %8443, 2
  store i32 %8470, ptr @test_count, align 4, !tbaa !5
  %8471 = call ptr @s2n_strerror_debug(i32 noundef 201326592, ptr noundef nonnull @.str.5) #12
  %8472 = icmp eq ptr %8471, null
  br i1 %8472, label %8473, label %8495

8473:                                             ; preds = %8469
  %8474 = load i32, ptr %421, align 4, !tbaa !5
  %8475 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8476 = call i32 @s2n_print_stacktrace(ptr noundef %8475) #12
  %8477 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8478 = trunc nuw i8 %8477 to i1
  br i1 %8478, label %8479, label %8483

8479:                                             ; preds = %8473
  %8480 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8481 = call i32 @fileno(ptr noundef %8480) #12
  %8482 = call i32 @isatty(i32 noundef %8481) #12
  %.not1423 = icmp eq i32 %8482, 0
  br i1 %.not1423, label %8483, label %8484

8483:                                             ; preds = %8479, %8473
  br label %8484

8484:                                             ; preds = %8479, %8483
  %.str.6.sink4153 = phi ptr [ @.str.6, %8483 ], [ @.str.3, %8479 ]
  store i32 %8474, ptr %421, align 4, !tbaa !5
  %8485 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8486 = load i32, ptr @test_count, align 4, !tbaa !5
  %8487 = load i32, ptr %367, align 4, !tbaa !5
  %8488 = call ptr @s2n_strerror(i32 noundef %8487, ptr noundef nonnull @.str.5) #12
  %8489 = load i32, ptr %367, align 4, !tbaa !5
  %8490 = call ptr @s2n_strerror_debug(i32 noundef %8489, ptr noundef nonnull @.str.5) #12
  %8491 = load i32, ptr %421, align 4, !tbaa !5
  %8492 = call ptr @strerror(i32 noundef %8491) #12
  %8493 = load i32, ptr %421, align 4, !tbaa !5
  %8494 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8485, ptr noundef nonnull %.str.6.sink4153, i32 noundef %8486, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.2, i32 noundef 1021, ptr noundef %8488, ptr noundef %8490, ptr noundef %8492, i32 noundef %8493) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8495:                                             ; preds = %8469
  store i32 0, ptr %367, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %421, align 4, !tbaa !5
  store i64 11, ptr %153, align 8, !tbaa !51
  %8496 = load i32, ptr @test_count, align 4, !tbaa !5
  %8497 = add nsw i32 %8496, 1
  store i32 %8497, ptr @test_count, align 4, !tbaa !5
  %8498 = call i32 @s2n_ktls_send_cb(ptr noundef nonnull %153, ptr noundef nonnull %3, i32 noundef 16384) #12
  %8499 = icmp eq i32 %8498, -1
  br i1 %8499, label %8522, label %8500

8500:                                             ; preds = %8495
  %8501 = load i32, ptr %421, align 4, !tbaa !5
  %8502 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8503 = call i32 @s2n_print_stacktrace(ptr noundef %8502) #12
  %8504 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8505 = trunc nuw i8 %8504 to i1
  br i1 %8505, label %8506, label %8510

8506:                                             ; preds = %8500
  %8507 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8508 = call i32 @fileno(ptr noundef %8507) #12
  %8509 = call i32 @isatty(i32 noundef %8508) #12
  %.not1304 = icmp eq i32 %8509, 0
  br i1 %.not1304, label %8510, label %8511

8510:                                             ; preds = %8506, %8500
  br label %8511

8511:                                             ; preds = %8506, %8510
  %.str.6.sink4162 = phi ptr [ @.str.6, %8510 ], [ @.str.3, %8506 ]
  store i32 %8501, ptr %421, align 4, !tbaa !5
  %8512 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8513 = load i32, ptr @test_count, align 4, !tbaa !5
  %8514 = load i32, ptr %367, align 4, !tbaa !5
  %8515 = call ptr @s2n_strerror(i32 noundef %8514, ptr noundef nonnull @.str.5) #12
  %8516 = load i32, ptr %367, align 4, !tbaa !5
  %8517 = call ptr @s2n_strerror_debug(i32 noundef %8516, ptr noundef nonnull @.str.5) #12
  %8518 = load i32, ptr %421, align 4, !tbaa !5
  %8519 = call ptr @strerror(i32 noundef %8518) #12
  %8520 = load i32, ptr %421, align 4, !tbaa !5
  %8521 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8512, ptr noundef nonnull %.str.6.sink4162, i32 noundef %8513, ptr noundef nonnull @.str.125, ptr noundef nonnull @.str.2, i32 noundef 1025, ptr noundef %8515, ptr noundef %8517, ptr noundef %8519, i32 noundef %8520) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8522:                                             ; preds = %8495
  %8523 = load i32, ptr @test_count, align 4, !tbaa !5
  %8524 = add nsw i32 %8523, 1
  store i32 %8524, ptr @test_count, align 4, !tbaa !5
  %8525 = load i32, ptr %367, align 4, !tbaa !5
  %8526 = icmp eq i32 %8525, 201326592
  br i1 %8526, label %8549, label %8527

8527:                                             ; preds = %8522
  %8528 = load i32, ptr %421, align 4, !tbaa !5
  %8529 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8530 = call i32 @s2n_print_stacktrace(ptr noundef %8529) #12
  %8531 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8532 = trunc nuw i8 %8531 to i1
  br i1 %8532, label %8533, label %8537

8533:                                             ; preds = %8527
  %8534 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8535 = call i32 @fileno(ptr noundef %8534) #12
  %8536 = call i32 @isatty(i32 noundef %8535) #12
  %.not1305 = icmp eq i32 %8536, 0
  br i1 %.not1305, label %8537, label %8538

8537:                                             ; preds = %8533, %8527
  br label %8538

8538:                                             ; preds = %8533, %8537
  %.str.6.sink4171 = phi ptr [ @.str.6, %8537 ], [ @.str.3, %8533 ]
  store i32 %8528, ptr %421, align 4, !tbaa !5
  %8539 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8540 = load i32, ptr @test_count, align 4, !tbaa !5
  %8541 = load i32, ptr %367, align 4, !tbaa !5
  %8542 = call ptr @s2n_strerror(i32 noundef %8541, ptr noundef nonnull @.str.5) #12
  %8543 = load i32, ptr %367, align 4, !tbaa !5
  %8544 = call ptr @s2n_strerror_debug(i32 noundef %8543, ptr noundef nonnull @.str.5) #12
  %8545 = load i32, ptr %421, align 4, !tbaa !5
  %8546 = call ptr @strerror(i32 noundef %8545) #12
  %8547 = load i32, ptr %421, align 4, !tbaa !5
  %8548 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8539, ptr noundef nonnull %.str.6.sink4171, i32 noundef %8540, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.2, i32 noundef 1025, ptr noundef %8542, ptr noundef %8544, ptr noundef %8546, i32 noundef %8547) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8549:                                             ; preds = %8522
  %8550 = add nsw i32 %8523, 2
  store i32 %8550, ptr @test_count, align 4, !tbaa !5
  %8551 = call ptr @s2n_strerror_debug(i32 noundef 201326592, ptr noundef nonnull @.str.5) #12
  %8552 = icmp eq ptr %8551, null
  br i1 %8552, label %8553, label %8575

8553:                                             ; preds = %8549
  %8554 = load i32, ptr %421, align 4, !tbaa !5
  %8555 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8556 = call i32 @s2n_print_stacktrace(ptr noundef %8555) #12
  %8557 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8558 = trunc nuw i8 %8557 to i1
  br i1 %8558, label %8559, label %8563

8559:                                             ; preds = %8553
  %8560 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8561 = call i32 @fileno(ptr noundef %8560) #12
  %8562 = call i32 @isatty(i32 noundef %8561) #12
  %.not1422 = icmp eq i32 %8562, 0
  br i1 %.not1422, label %8563, label %8564

8563:                                             ; preds = %8559, %8553
  br label %8564

8564:                                             ; preds = %8559, %8563
  %.str.6.sink4180 = phi ptr [ @.str.6, %8563 ], [ @.str.3, %8559 ]
  store i32 %8554, ptr %421, align 4, !tbaa !5
  %8565 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8566 = load i32, ptr @test_count, align 4, !tbaa !5
  %8567 = load i32, ptr %367, align 4, !tbaa !5
  %8568 = call ptr @s2n_strerror(i32 noundef %8567, ptr noundef nonnull @.str.5) #12
  %8569 = load i32, ptr %367, align 4, !tbaa !5
  %8570 = call ptr @s2n_strerror_debug(i32 noundef %8569, ptr noundef nonnull @.str.5) #12
  %8571 = load i32, ptr %421, align 4, !tbaa !5
  %8572 = call ptr @strerror(i32 noundef %8571) #12
  %8573 = load i32, ptr %421, align 4, !tbaa !5
  %8574 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8565, ptr noundef nonnull %.str.6.sink4180, i32 noundef %8566, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.2, i32 noundef 1025, ptr noundef %8568, ptr noundef %8570, ptr noundef %8572, i32 noundef %8573) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8575:                                             ; preds = %8549
  store i32 0, ptr %367, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %421, align 4, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %153) #12
  %8576 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %150) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %150) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %154) #12
  %8577 = call ptr @s2n_connection_new(i32 noundef 0) #12
  store ptr %8577, ptr %154, align 8, !tbaa !9
  %8578 = load i32, ptr @test_count, align 4, !tbaa !5
  %8579 = add nsw i32 %8578, 1
  store i32 %8579, ptr @test_count, align 4, !tbaa !5
  %8580 = icmp eq ptr %8577, null
  br i1 %8580, label %8581, label %8603

8581:                                             ; preds = %8575
  %8582 = load i32, ptr %421, align 4, !tbaa !5
  %8583 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8584 = call i32 @s2n_print_stacktrace(ptr noundef %8583) #12
  %8585 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8586 = trunc nuw i8 %8585 to i1
  br i1 %8586, label %8587, label %8591

8587:                                             ; preds = %8581
  %8588 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8589 = call i32 @fileno(ptr noundef %8588) #12
  %8590 = call i32 @isatty(i32 noundef %8589) #12
  %.not1421 = icmp eq i32 %8590, 0
  br i1 %.not1421, label %8591, label %8592

8591:                                             ; preds = %8587, %8581
  br label %8592

8592:                                             ; preds = %8587, %8591
  %.str.6.sink4189 = phi ptr [ @.str.6, %8591 ], [ @.str.3, %8587 ]
  store i32 %8582, ptr %421, align 4, !tbaa !5
  %8593 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8594 = load i32, ptr @test_count, align 4, !tbaa !5
  %8595 = load i32, ptr %367, align 4, !tbaa !5
  %8596 = call ptr @s2n_strerror(i32 noundef %8595, ptr noundef nonnull @.str.5) #12
  %8597 = load i32, ptr %367, align 4, !tbaa !5
  %8598 = call ptr @s2n_strerror_debug(i32 noundef %8597, ptr noundef nonnull @.str.5) #12
  %8599 = load i32, ptr %421, align 4, !tbaa !5
  %8600 = call ptr @strerror(i32 noundef %8599) #12
  %8601 = load i32, ptr %421, align 4, !tbaa !5
  %8602 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8593, ptr noundef nonnull %.str.6.sink4189, i32 noundef %8594, ptr noundef nonnull @.str.79, ptr noundef nonnull @.str.2, i32 noundef 1037, ptr noundef %8596, ptr noundef %8598, ptr noundef %8600, i32 noundef %8601) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8603:                                             ; preds = %8575
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %155) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %155, i8 0, i64 16, i1 false)
  %8604 = add nsw i32 %8578, 2
  store i32 %8604, ptr @test_count, align 4, !tbaa !5
  %8605 = call i32 @s2n_ktls_record_writev(ptr noundef null, i8 noundef zeroext 0, ptr noundef nonnull %155, i32 noundef 1, i64 noundef 1, i64 noundef 1) #12
  %8606 = icmp eq i32 %8605, -1
  br i1 %8606, label %8629, label %8607

8607:                                             ; preds = %8603
  %8608 = load i32, ptr %421, align 4, !tbaa !5
  %8609 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8610 = call i32 @s2n_print_stacktrace(ptr noundef %8609) #12
  %8611 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8612 = trunc nuw i8 %8611 to i1
  br i1 %8612, label %8613, label %8617

8613:                                             ; preds = %8607
  %8614 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8615 = call i32 @fileno(ptr noundef %8614) #12
  %8616 = call i32 @isatty(i32 noundef %8615) #12
  %.not1306 = icmp eq i32 %8616, 0
  br i1 %.not1306, label %8617, label %8618

8617:                                             ; preds = %8613, %8607
  br label %8618

8618:                                             ; preds = %8613, %8617
  %.str.6.sink4198 = phi ptr [ @.str.6, %8617 ], [ @.str.3, %8613 ]
  store i32 %8608, ptr %421, align 4, !tbaa !5
  %8619 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8620 = load i32, ptr @test_count, align 4, !tbaa !5
  %8621 = load i32, ptr %367, align 4, !tbaa !5
  %8622 = call ptr @s2n_strerror(i32 noundef %8621, ptr noundef nonnull @.str.5) #12
  %8623 = load i32, ptr %367, align 4, !tbaa !5
  %8624 = call ptr @s2n_strerror_debug(i32 noundef %8623, ptr noundef nonnull @.str.5) #12
  %8625 = load i32, ptr %421, align 4, !tbaa !5
  %8626 = call ptr @strerror(i32 noundef %8625) #12
  %8627 = load i32, ptr %421, align 4, !tbaa !5
  %8628 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8619, ptr noundef nonnull %.str.6.sink4198, i32 noundef %8620, ptr noundef nonnull @.str.126, ptr noundef nonnull @.str.2, i32 noundef 1040, ptr noundef %8622, ptr noundef %8624, ptr noundef %8626, i32 noundef %8627) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8629:                                             ; preds = %8603
  %8630 = load i32, ptr @test_count, align 4, !tbaa !5
  %8631 = add nsw i32 %8630, 1
  store i32 %8631, ptr @test_count, align 4, !tbaa !5
  %8632 = load i32, ptr %367, align 4, !tbaa !5
  %8633 = icmp eq i32 %8632, 402653193
  br i1 %8633, label %8656, label %8634

8634:                                             ; preds = %8629
  %8635 = load i32, ptr %421, align 4, !tbaa !5
  %8636 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8637 = call i32 @s2n_print_stacktrace(ptr noundef %8636) #12
  %8638 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8639 = trunc nuw i8 %8638 to i1
  br i1 %8639, label %8640, label %8644

8640:                                             ; preds = %8634
  %8641 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8642 = call i32 @fileno(ptr noundef %8641) #12
  %8643 = call i32 @isatty(i32 noundef %8642) #12
  %.not1307 = icmp eq i32 %8643, 0
  br i1 %.not1307, label %8644, label %8645

8644:                                             ; preds = %8640, %8634
  br label %8645

8645:                                             ; preds = %8640, %8644
  %.str.6.sink4207 = phi ptr [ @.str.6, %8644 ], [ @.str.3, %8640 ]
  store i32 %8635, ptr %421, align 4, !tbaa !5
  %8646 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8647 = load i32, ptr @test_count, align 4, !tbaa !5
  %8648 = load i32, ptr %367, align 4, !tbaa !5
  %8649 = call ptr @s2n_strerror(i32 noundef %8648, ptr noundef nonnull @.str.5) #12
  %8650 = load i32, ptr %367, align 4, !tbaa !5
  %8651 = call ptr @s2n_strerror_debug(i32 noundef %8650, ptr noundef nonnull @.str.5) #12
  %8652 = load i32, ptr %421, align 4, !tbaa !5
  %8653 = call ptr @strerror(i32 noundef %8652) #12
  %8654 = load i32, ptr %421, align 4, !tbaa !5
  %8655 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8646, ptr noundef nonnull %.str.6.sink4207, i32 noundef %8647, ptr noundef nonnull @.str.12, ptr noundef nonnull @.str.2, i32 noundef 1040, ptr noundef %8649, ptr noundef %8651, ptr noundef %8653, i32 noundef %8654) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8656:                                             ; preds = %8629
  %8657 = add nsw i32 %8630, 2
  store i32 %8657, ptr @test_count, align 4, !tbaa !5
  %8658 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.5) #12
  %8659 = icmp eq ptr %8658, null
  br i1 %8659, label %8660, label %8682

8660:                                             ; preds = %8656
  %8661 = load i32, ptr %421, align 4, !tbaa !5
  %8662 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8663 = call i32 @s2n_print_stacktrace(ptr noundef %8662) #12
  %8664 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8665 = trunc nuw i8 %8664 to i1
  br i1 %8665, label %8666, label %8670

8666:                                             ; preds = %8660
  %8667 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8668 = call i32 @fileno(ptr noundef %8667) #12
  %8669 = call i32 @isatty(i32 noundef %8668) #12
  %.not1420 = icmp eq i32 %8669, 0
  br i1 %.not1420, label %8670, label %8671

8670:                                             ; preds = %8666, %8660
  br label %8671

8671:                                             ; preds = %8666, %8670
  %.str.6.sink4216 = phi ptr [ @.str.6, %8670 ], [ @.str.3, %8666 ]
  store i32 %8661, ptr %421, align 4, !tbaa !5
  %8672 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8673 = load i32, ptr @test_count, align 4, !tbaa !5
  %8674 = load i32, ptr %367, align 4, !tbaa !5
  %8675 = call ptr @s2n_strerror(i32 noundef %8674, ptr noundef nonnull @.str.5) #12
  %8676 = load i32, ptr %367, align 4, !tbaa !5
  %8677 = call ptr @s2n_strerror_debug(i32 noundef %8676, ptr noundef nonnull @.str.5) #12
  %8678 = load i32, ptr %421, align 4, !tbaa !5
  %8679 = call ptr @strerror(i32 noundef %8678) #12
  %8680 = load i32, ptr %421, align 4, !tbaa !5
  %8681 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8672, ptr noundef nonnull %.str.6.sink4216, i32 noundef %8673, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.2, i32 noundef 1040, ptr noundef %8675, ptr noundef %8677, ptr noundef %8679, i32 noundef %8680) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8682:                                             ; preds = %8656
  store i32 0, ptr %367, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %421, align 4, !tbaa !5
  %8683 = load i32, ptr @test_count, align 4, !tbaa !5
  %8684 = add nsw i32 %8683, 1
  store i32 %8684, ptr @test_count, align 4, !tbaa !5
  %8685 = load ptr, ptr %154, align 8, !tbaa !9
  %8686 = call i32 @s2n_ktls_record_writev(ptr noundef %8685, i8 noundef zeroext 0, ptr noundef null, i32 noundef 1, i64 noundef 1, i64 noundef 1) #12
  %8687 = icmp eq i32 %8686, -1
  br i1 %8687, label %8710, label %8688

8688:                                             ; preds = %8682
  %8689 = load i32, ptr %421, align 4, !tbaa !5
  %8690 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8691 = call i32 @s2n_print_stacktrace(ptr noundef %8690) #12
  %8692 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8693 = trunc nuw i8 %8692 to i1
  br i1 %8693, label %8694, label %8698

8694:                                             ; preds = %8688
  %8695 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8696 = call i32 @fileno(ptr noundef %8695) #12
  %8697 = call i32 @isatty(i32 noundef %8696) #12
  %.not1308 = icmp eq i32 %8697, 0
  br i1 %.not1308, label %8698, label %8699

8698:                                             ; preds = %8694, %8688
  br label %8699

8699:                                             ; preds = %8694, %8698
  %.str.6.sink4225 = phi ptr [ @.str.6, %8698 ], [ @.str.3, %8694 ]
  store i32 %8689, ptr %421, align 4, !tbaa !5
  %8700 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8701 = load i32, ptr @test_count, align 4, !tbaa !5
  %8702 = load i32, ptr %367, align 4, !tbaa !5
  %8703 = call ptr @s2n_strerror(i32 noundef %8702, ptr noundef nonnull @.str.5) #12
  %8704 = load i32, ptr %367, align 4, !tbaa !5
  %8705 = call ptr @s2n_strerror_debug(i32 noundef %8704, ptr noundef nonnull @.str.5) #12
  %8706 = load i32, ptr %421, align 4, !tbaa !5
  %8707 = call ptr @strerror(i32 noundef %8706) #12
  %8708 = load i32, ptr %421, align 4, !tbaa !5
  %8709 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8700, ptr noundef nonnull %.str.6.sink4225, i32 noundef %8701, ptr noundef nonnull @.str.127, ptr noundef nonnull @.str.2, i32 noundef 1042, ptr noundef %8703, ptr noundef %8705, ptr noundef %8707, i32 noundef %8708) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8710:                                             ; preds = %8682
  %8711 = load i32, ptr @test_count, align 4, !tbaa !5
  %8712 = add nsw i32 %8711, 1
  store i32 %8712, ptr @test_count, align 4, !tbaa !5
  %8713 = load i32, ptr %367, align 4, !tbaa !5
  %8714 = icmp eq i32 %8713, 402653193
  br i1 %8714, label %8737, label %8715

8715:                                             ; preds = %8710
  %8716 = load i32, ptr %421, align 4, !tbaa !5
  %8717 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8718 = call i32 @s2n_print_stacktrace(ptr noundef %8717) #12
  %8719 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8720 = trunc nuw i8 %8719 to i1
  br i1 %8720, label %8721, label %8725

8721:                                             ; preds = %8715
  %8722 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8723 = call i32 @fileno(ptr noundef %8722) #12
  %8724 = call i32 @isatty(i32 noundef %8723) #12
  %.not1309 = icmp eq i32 %8724, 0
  br i1 %.not1309, label %8725, label %8726

8725:                                             ; preds = %8721, %8715
  br label %8726

8726:                                             ; preds = %8721, %8725
  %.str.6.sink4234 = phi ptr [ @.str.6, %8725 ], [ @.str.3, %8721 ]
  store i32 %8716, ptr %421, align 4, !tbaa !5
  %8727 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8728 = load i32, ptr @test_count, align 4, !tbaa !5
  %8729 = load i32, ptr %367, align 4, !tbaa !5
  %8730 = call ptr @s2n_strerror(i32 noundef %8729, ptr noundef nonnull @.str.5) #12
  %8731 = load i32, ptr %367, align 4, !tbaa !5
  %8732 = call ptr @s2n_strerror_debug(i32 noundef %8731, ptr noundef nonnull @.str.5) #12
  %8733 = load i32, ptr %421, align 4, !tbaa !5
  %8734 = call ptr @strerror(i32 noundef %8733) #12
  %8735 = load i32, ptr %421, align 4, !tbaa !5
  %8736 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8727, ptr noundef nonnull %.str.6.sink4234, i32 noundef %8728, ptr noundef nonnull @.str.12, ptr noundef nonnull @.str.2, i32 noundef 1042, ptr noundef %8730, ptr noundef %8732, ptr noundef %8734, i32 noundef %8735) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8737:                                             ; preds = %8710
  %8738 = add nsw i32 %8711, 2
  store i32 %8738, ptr @test_count, align 4, !tbaa !5
  %8739 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.5) #12
  %8740 = icmp eq ptr %8739, null
  br i1 %8740, label %8741, label %8763

8741:                                             ; preds = %8737
  %8742 = load i32, ptr %421, align 4, !tbaa !5
  %8743 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8744 = call i32 @s2n_print_stacktrace(ptr noundef %8743) #12
  %8745 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8746 = trunc nuw i8 %8745 to i1
  br i1 %8746, label %8747, label %8751

8747:                                             ; preds = %8741
  %8748 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8749 = call i32 @fileno(ptr noundef %8748) #12
  %8750 = call i32 @isatty(i32 noundef %8749) #12
  %.not1419 = icmp eq i32 %8750, 0
  br i1 %.not1419, label %8751, label %8752

8751:                                             ; preds = %8747, %8741
  br label %8752

8752:                                             ; preds = %8747, %8751
  %.str.6.sink4243 = phi ptr [ @.str.6, %8751 ], [ @.str.3, %8747 ]
  store i32 %8742, ptr %421, align 4, !tbaa !5
  %8753 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8754 = load i32, ptr @test_count, align 4, !tbaa !5
  %8755 = load i32, ptr %367, align 4, !tbaa !5
  %8756 = call ptr @s2n_strerror(i32 noundef %8755, ptr noundef nonnull @.str.5) #12
  %8757 = load i32, ptr %367, align 4, !tbaa !5
  %8758 = call ptr @s2n_strerror_debug(i32 noundef %8757, ptr noundef nonnull @.str.5) #12
  %8759 = load i32, ptr %421, align 4, !tbaa !5
  %8760 = call ptr @strerror(i32 noundef %8759) #12
  %8761 = load i32, ptr %421, align 4, !tbaa !5
  %8762 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8753, ptr noundef nonnull %.str.6.sink4243, i32 noundef %8754, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.2, i32 noundef 1042, ptr noundef %8756, ptr noundef %8758, ptr noundef %8760, i32 noundef %8761) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8763:                                             ; preds = %8737
  store i32 0, ptr %367, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %421, align 4, !tbaa !5
  %8764 = load i32, ptr @test_count, align 4, !tbaa !5
  %8765 = add nsw i32 %8764, 1
  store i32 %8765, ptr @test_count, align 4, !tbaa !5
  %8766 = load ptr, ptr %154, align 8, !tbaa !9
  %8767 = call i32 @s2n_ktls_record_writev(ptr noundef %8766, i8 noundef zeroext 0, ptr noundef nonnull %155, i32 noundef -1, i64 noundef 1, i64 noundef 1) #12
  %8768 = icmp eq i32 %8767, -1
  br i1 %8768, label %8791, label %8769

8769:                                             ; preds = %8763
  %8770 = load i32, ptr %421, align 4, !tbaa !5
  %8771 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8772 = call i32 @s2n_print_stacktrace(ptr noundef %8771) #12
  %8773 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8774 = trunc nuw i8 %8773 to i1
  br i1 %8774, label %8775, label %8779

8775:                                             ; preds = %8769
  %8776 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8777 = call i32 @fileno(ptr noundef %8776) #12
  %8778 = call i32 @isatty(i32 noundef %8777) #12
  %.not1310 = icmp eq i32 %8778, 0
  br i1 %.not1310, label %8779, label %8780

8779:                                             ; preds = %8775, %8769
  br label %8780

8780:                                             ; preds = %8775, %8779
  %.str.6.sink4252 = phi ptr [ @.str.6, %8779 ], [ @.str.3, %8775 ]
  store i32 %8770, ptr %421, align 4, !tbaa !5
  %8781 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8782 = load i32, ptr @test_count, align 4, !tbaa !5
  %8783 = load i32, ptr %367, align 4, !tbaa !5
  %8784 = call ptr @s2n_strerror(i32 noundef %8783, ptr noundef nonnull @.str.5) #12
  %8785 = load i32, ptr %367, align 4, !tbaa !5
  %8786 = call ptr @s2n_strerror_debug(i32 noundef %8785, ptr noundef nonnull @.str.5) #12
  %8787 = load i32, ptr %421, align 4, !tbaa !5
  %8788 = call ptr @strerror(i32 noundef %8787) #12
  %8789 = load i32, ptr %421, align 4, !tbaa !5
  %8790 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8781, ptr noundef nonnull %.str.6.sink4252, i32 noundef %8782, ptr noundef nonnull @.str.128, ptr noundef nonnull @.str.2, i32 noundef 1044, ptr noundef %8784, ptr noundef %8786, ptr noundef %8788, i32 noundef %8789) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8791:                                             ; preds = %8763
  %8792 = load i32, ptr @test_count, align 4, !tbaa !5
  %8793 = add nsw i32 %8792, 1
  store i32 %8793, ptr @test_count, align 4, !tbaa !5
  %8794 = load i32, ptr %367, align 4, !tbaa !5
  %8795 = icmp eq i32 %8794, 469762089
  br i1 %8795, label %8818, label %8796

8796:                                             ; preds = %8791
  %8797 = load i32, ptr %421, align 4, !tbaa !5
  %8798 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8799 = call i32 @s2n_print_stacktrace(ptr noundef %8798) #12
  %8800 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8801 = trunc nuw i8 %8800 to i1
  br i1 %8801, label %8802, label %8806

8802:                                             ; preds = %8796
  %8803 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8804 = call i32 @fileno(ptr noundef %8803) #12
  %8805 = call i32 @isatty(i32 noundef %8804) #12
  %.not1311 = icmp eq i32 %8805, 0
  br i1 %.not1311, label %8806, label %8807

8806:                                             ; preds = %8802, %8796
  br label %8807

8807:                                             ; preds = %8802, %8806
  %.str.6.sink4261 = phi ptr [ @.str.6, %8806 ], [ @.str.3, %8802 ]
  store i32 %8797, ptr %421, align 4, !tbaa !5
  %8808 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8809 = load i32, ptr @test_count, align 4, !tbaa !5
  %8810 = load i32, ptr %367, align 4, !tbaa !5
  %8811 = call ptr @s2n_strerror(i32 noundef %8810, ptr noundef nonnull @.str.5) #12
  %8812 = load i32, ptr %367, align 4, !tbaa !5
  %8813 = call ptr @s2n_strerror_debug(i32 noundef %8812, ptr noundef nonnull @.str.5) #12
  %8814 = load i32, ptr %421, align 4, !tbaa !5
  %8815 = call ptr @strerror(i32 noundef %8814) #12
  %8816 = load i32, ptr %421, align 4, !tbaa !5
  %8817 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8808, ptr noundef nonnull %.str.6.sink4261, i32 noundef %8809, ptr noundef nonnull @.str.77, ptr noundef nonnull @.str.2, i32 noundef 1044, ptr noundef %8811, ptr noundef %8813, ptr noundef %8815, i32 noundef %8816) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8818:                                             ; preds = %8791
  %8819 = add nsw i32 %8792, 2
  store i32 %8819, ptr @test_count, align 4, !tbaa !5
  %8820 = call ptr @s2n_strerror_debug(i32 noundef 469762089, ptr noundef nonnull @.str.5) #12
  %8821 = icmp eq ptr %8820, null
  br i1 %8821, label %8822, label %8844

8822:                                             ; preds = %8818
  %8823 = load i32, ptr %421, align 4, !tbaa !5
  %8824 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8825 = call i32 @s2n_print_stacktrace(ptr noundef %8824) #12
  %8826 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8827 = trunc nuw i8 %8826 to i1
  br i1 %8827, label %8828, label %8832

8828:                                             ; preds = %8822
  %8829 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8830 = call i32 @fileno(ptr noundef %8829) #12
  %8831 = call i32 @isatty(i32 noundef %8830) #12
  %.not1418 = icmp eq i32 %8831, 0
  br i1 %.not1418, label %8832, label %8833

8832:                                             ; preds = %8828, %8822
  br label %8833

8833:                                             ; preds = %8828, %8832
  %.str.6.sink4270 = phi ptr [ @.str.6, %8832 ], [ @.str.3, %8828 ]
  store i32 %8823, ptr %421, align 4, !tbaa !5
  %8834 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8835 = load i32, ptr @test_count, align 4, !tbaa !5
  %8836 = load i32, ptr %367, align 4, !tbaa !5
  %8837 = call ptr @s2n_strerror(i32 noundef %8836, ptr noundef nonnull @.str.5) #12
  %8838 = load i32, ptr %367, align 4, !tbaa !5
  %8839 = call ptr @s2n_strerror_debug(i32 noundef %8838, ptr noundef nonnull @.str.5) #12
  %8840 = load i32, ptr %421, align 4, !tbaa !5
  %8841 = call ptr @strerror(i32 noundef %8840) #12
  %8842 = load i32, ptr %421, align 4, !tbaa !5
  %8843 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8834, ptr noundef nonnull %.str.6.sink4270, i32 noundef %8835, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.2, i32 noundef 1044, ptr noundef %8837, ptr noundef %8839, ptr noundef %8841, i32 noundef %8842) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8844:                                             ; preds = %8818
  store i32 0, ptr %367, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %421, align 4, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %155) #12
  %8845 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %154) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %154) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %156) #12
  %8846 = call ptr @s2n_connection_new(i32 noundef 0) #12
  store ptr %8846, ptr %156, align 8, !tbaa !9
  %8847 = load i32, ptr @test_count, align 4, !tbaa !5
  %8848 = add nsw i32 %8847, 1
  store i32 %8848, ptr @test_count, align 4, !tbaa !5
  %8849 = icmp eq ptr %8846, null
  br i1 %8849, label %8850, label %8872

8850:                                             ; preds = %8844
  %8851 = load i32, ptr %421, align 4, !tbaa !5
  %8852 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8853 = call i32 @s2n_print_stacktrace(ptr noundef %8852) #12
  %8854 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8855 = trunc nuw i8 %8854 to i1
  br i1 %8855, label %8856, label %8860

8856:                                             ; preds = %8850
  %8857 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8858 = call i32 @fileno(ptr noundef %8857) #12
  %8859 = call i32 @isatty(i32 noundef %8858) #12
  %.not1417 = icmp eq i32 %8859, 0
  br i1 %.not1417, label %8860, label %8861

8860:                                             ; preds = %8856, %8850
  br label %8861

8861:                                             ; preds = %8856, %8860
  %.str.6.sink4279 = phi ptr [ @.str.6, %8860 ], [ @.str.3, %8856 ]
  store i32 %8851, ptr %421, align 4, !tbaa !5
  %8862 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8863 = load i32, ptr @test_count, align 4, !tbaa !5
  %8864 = load i32, ptr %367, align 4, !tbaa !5
  %8865 = call ptr @s2n_strerror(i32 noundef %8864, ptr noundef nonnull @.str.5) #12
  %8866 = load i32, ptr %367, align 4, !tbaa !5
  %8867 = call ptr @s2n_strerror_debug(i32 noundef %8866, ptr noundef nonnull @.str.5) #12
  %8868 = load i32, ptr %421, align 4, !tbaa !5
  %8869 = call ptr @strerror(i32 noundef %8868) #12
  %8870 = load i32, ptr %421, align 4, !tbaa !5
  %8871 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8862, ptr noundef nonnull %.str.6.sink4279, i32 noundef %8863, ptr noundef nonnull @.str.79, ptr noundef nonnull @.str.2, i32 noundef 1051, ptr noundef %8865, ptr noundef %8867, ptr noundef %8869, i32 noundef %8870) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8872:                                             ; preds = %8844
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %157) #12
  store ptr %3, ptr %157, align 8, !tbaa !16
  %8873 = getelementptr inbounds i8, ptr %157, i64 8
  store i64 16384, ptr %8873, align 8, !tbaa !19
  %8874 = add nsw i32 %8847, 2
  store i32 %8874, ptr @test_count, align 4, !tbaa !5
  %8875 = call i32 @s2n_ktls_record_writev(ptr noundef nonnull %8846, i8 noundef zeroext 21, ptr noundef nonnull %157, i32 noundef 1, i64 noundef 0, i64 noundef 10) #12
  %8876 = icmp eq i32 %8875, 10
  br i1 %8876, label %8899, label %8877

8877:                                             ; preds = %8872
  %8878 = load i32, ptr %421, align 4, !tbaa !5
  %8879 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8880 = call i32 @s2n_print_stacktrace(ptr noundef %8879) #12
  %8881 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8882 = trunc nuw i8 %8881 to i1
  br i1 %8882, label %8883, label %8887

8883:                                             ; preds = %8877
  %8884 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8885 = call i32 @fileno(ptr noundef %8884) #12
  %8886 = call i32 @isatty(i32 noundef %8885) #12
  %.not1312 = icmp eq i32 %8886, 0
  br i1 %.not1312, label %8887, label %8888

8887:                                             ; preds = %8883, %8877
  br label %8888

8888:                                             ; preds = %8883, %8887
  %.str.6.sink4288 = phi ptr [ @.str.6, %8887 ], [ @.str.3, %8883 ]
  store i32 %8878, ptr %421, align 4, !tbaa !5
  %8889 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8890 = load i32, ptr @test_count, align 4, !tbaa !5
  %8891 = load i32, ptr %367, align 4, !tbaa !5
  %8892 = call ptr @s2n_strerror(i32 noundef %8891, ptr noundef nonnull @.str.5) #12
  %8893 = load i32, ptr %367, align 4, !tbaa !5
  %8894 = call ptr @s2n_strerror_debug(i32 noundef %8893, ptr noundef nonnull @.str.5) #12
  %8895 = load i32, ptr %421, align 4, !tbaa !5
  %8896 = call ptr @strerror(i32 noundef %8895) #12
  %8897 = load i32, ptr %421, align 4, !tbaa !5
  %8898 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8889, ptr noundef nonnull %.str.6.sink4288, i32 noundef %8890, ptr noundef nonnull @.str.129, ptr noundef nonnull @.str.2, i32 noundef 1056, ptr noundef %8892, ptr noundef %8894, ptr noundef %8896, i32 noundef %8897) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8899:                                             ; preds = %8872
  %8900 = load i32, ptr @test_count, align 4, !tbaa !5
  %8901 = add nsw i32 %8900, 1
  store i32 %8901, ptr @test_count, align 4, !tbaa !5
  %8902 = load ptr, ptr %156, align 8, !tbaa !9
  %8903 = getelementptr inbounds i8, ptr %8902, i64 1908
  %8904 = load i32, ptr %8903, align 4, !tbaa !71
  %8905 = icmp eq i32 %8904, 10
  br i1 %8905, label %8928, label %8906

8906:                                             ; preds = %8899
  %8907 = load i32, ptr %421, align 4, !tbaa !5
  %8908 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8909 = call i32 @s2n_print_stacktrace(ptr noundef %8908) #12
  %8910 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8911 = trunc nuw i8 %8910 to i1
  br i1 %8911, label %8912, label %8916

8912:                                             ; preds = %8906
  %8913 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8914 = call i32 @fileno(ptr noundef %8913) #12
  %8915 = call i32 @isatty(i32 noundef %8914) #12
  %.not1313 = icmp eq i32 %8915, 0
  br i1 %.not1313, label %8916, label %8917

8916:                                             ; preds = %8912, %8906
  br label %8917

8917:                                             ; preds = %8912, %8916
  %.str.6.sink4297 = phi ptr [ @.str.6, %8916 ], [ @.str.3, %8912 ]
  store i32 %8907, ptr %421, align 4, !tbaa !5
  %8918 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8919 = load i32, ptr @test_count, align 4, !tbaa !5
  %8920 = load i32, ptr %367, align 4, !tbaa !5
  %8921 = call ptr @s2n_strerror(i32 noundef %8920, ptr noundef nonnull @.str.5) #12
  %8922 = load i32, ptr %367, align 4, !tbaa !5
  %8923 = call ptr @s2n_strerror_debug(i32 noundef %8922, ptr noundef nonnull @.str.5) #12
  %8924 = load i32, ptr %421, align 4, !tbaa !5
  %8925 = call ptr @strerror(i32 noundef %8924) #12
  %8926 = load i32, ptr %421, align 4, !tbaa !5
  %8927 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8918, ptr noundef nonnull %.str.6.sink4297, i32 noundef %8919, ptr noundef nonnull @.str.130, ptr noundef nonnull @.str.2, i32 noundef 1057, ptr noundef %8921, ptr noundef %8923, ptr noundef %8925, i32 noundef %8926) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8928:                                             ; preds = %8899
  %8929 = add nsw i32 %8900, 2
  store i32 %8929, ptr @test_count, align 4, !tbaa !5
  %8930 = getelementptr inbounds i8, ptr %8902, i64 1924
  %8931 = load i32, ptr %8930, align 4, !tbaa !72
  %8932 = getelementptr inbounds i8, ptr %8902, i64 1920
  %8933 = load i32, ptr %8932, align 8, !tbaa !73
  %8934 = sub i32 %8931, %8933
  %8935 = icmp eq i32 %8934, 10
  br i1 %8935, label %8958, label %8936

8936:                                             ; preds = %8928
  %8937 = load i32, ptr %421, align 4, !tbaa !5
  %8938 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8939 = call i32 @s2n_print_stacktrace(ptr noundef %8938) #12
  %8940 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8941 = trunc nuw i8 %8940 to i1
  br i1 %8941, label %8942, label %8946

8942:                                             ; preds = %8936
  %8943 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8944 = call i32 @fileno(ptr noundef %8943) #12
  %8945 = call i32 @isatty(i32 noundef %8944) #12
  %.not1314 = icmp eq i32 %8945, 0
  br i1 %.not1314, label %8946, label %8947

8946:                                             ; preds = %8942, %8936
  br label %8947

8947:                                             ; preds = %8942, %8946
  %.str.6.sink4306 = phi ptr [ @.str.6, %8946 ], [ @.str.3, %8942 ]
  store i32 %8937, ptr %421, align 4, !tbaa !5
  %8948 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8949 = load i32, ptr @test_count, align 4, !tbaa !5
  %8950 = load i32, ptr %367, align 4, !tbaa !5
  %8951 = call ptr @s2n_strerror(i32 noundef %8950, ptr noundef nonnull @.str.5) #12
  %8952 = load i32, ptr %367, align 4, !tbaa !5
  %8953 = call ptr @s2n_strerror_debug(i32 noundef %8952, ptr noundef nonnull @.str.5) #12
  %8954 = load i32, ptr %421, align 4, !tbaa !5
  %8955 = call ptr @strerror(i32 noundef %8954) #12
  %8956 = load i32, ptr %421, align 4, !tbaa !5
  %8957 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8948, ptr noundef nonnull %.str.6.sink4306, i32 noundef %8949, ptr noundef nonnull @.str.131, ptr noundef nonnull @.str.2, i32 noundef 1058, ptr noundef %8951, ptr noundef %8953, ptr noundef %8955, i32 noundef %8956) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8958:                                             ; preds = %8928
  %8959 = getelementptr inbounds i8, ptr %8902, i64 1896
  %8960 = call ptr @s2n_stuffer_raw_read(ptr noundef nonnull %8959, i32 noundef 10) #12
  %8961 = load i32, ptr @test_count, align 4, !tbaa !5
  %8962 = add nsw i32 %8961, 1
  store i32 %8962, ptr @test_count, align 4, !tbaa !5
  %bcmp1315 = call i32 @bcmp(ptr noundef nonnull dereferenceable(10) %8960, ptr noundef nonnull dereferenceable(10) %3, i64 10)
  %8963 = icmp eq i32 %bcmp1315, 0
  br i1 %8963, label %8986, label %8964

8964:                                             ; preds = %8958
  %8965 = load i32, ptr %421, align 4, !tbaa !5
  %8966 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8967 = call i32 @s2n_print_stacktrace(ptr noundef %8966) #12
  %8968 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8969 = trunc nuw i8 %8968 to i1
  br i1 %8969, label %8970, label %8974

8970:                                             ; preds = %8964
  %8971 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8972 = call i32 @fileno(ptr noundef %8971) #12
  %8973 = call i32 @isatty(i32 noundef %8972) #12
  %.not1316 = icmp eq i32 %8973, 0
  br i1 %.not1316, label %8974, label %8975

8974:                                             ; preds = %8970, %8964
  br label %8975

8975:                                             ; preds = %8970, %8974
  %.str.6.sink4315 = phi ptr [ @.str.6, %8974 ], [ @.str.3, %8970 ]
  store i32 %8965, ptr %421, align 4, !tbaa !5
  %8976 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8977 = load i32, ptr @test_count, align 4, !tbaa !5
  %8978 = load i32, ptr %367, align 4, !tbaa !5
  %8979 = call ptr @s2n_strerror(i32 noundef %8978, ptr noundef nonnull @.str.5) #12
  %8980 = load i32, ptr %367, align 4, !tbaa !5
  %8981 = call ptr @s2n_strerror_debug(i32 noundef %8980, ptr noundef nonnull @.str.5) #12
  %8982 = load i32, ptr %421, align 4, !tbaa !5
  %8983 = call ptr @strerror(i32 noundef %8982) #12
  %8984 = load i32, ptr %421, align 4, !tbaa !5
  %8985 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8976, ptr noundef nonnull %.str.6.sink4315, i32 noundef %8977, ptr noundef nonnull @.str.132, ptr noundef nonnull @.str.2, i32 noundef 1060, ptr noundef %8979, ptr noundef %8981, ptr noundef %8983, i32 noundef %8984) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8986:                                             ; preds = %8958
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %157) #12
  %8987 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %156) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %156) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %158) #12
  %8988 = call ptr @s2n_connection_new(i32 noundef 0) #12
  store ptr %8988, ptr %158, align 8, !tbaa !9
  %8989 = load i32, ptr @test_count, align 4, !tbaa !5
  %8990 = add nsw i32 %8989, 1
  store i32 %8990, ptr @test_count, align 4, !tbaa !5
  %8991 = icmp eq ptr %8988, null
  br i1 %8991, label %8992, label %9014

8992:                                             ; preds = %8986
  %8993 = load i32, ptr %421, align 4, !tbaa !5
  %8994 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8995 = call i32 @s2n_print_stacktrace(ptr noundef %8994) #12
  %8996 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8997 = trunc nuw i8 %8996 to i1
  br i1 %8997, label %8998, label %9002

8998:                                             ; preds = %8992
  %8999 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9000 = call i32 @fileno(ptr noundef %8999) #12
  %9001 = call i32 @isatty(i32 noundef %9000) #12
  %.not1416 = icmp eq i32 %9001, 0
  br i1 %.not1416, label %9002, label %9003

9002:                                             ; preds = %8998, %8992
  br label %9003

9003:                                             ; preds = %8998, %9002
  %.str.6.sink4324 = phi ptr [ @.str.6, %9002 ], [ @.str.3, %8998 ]
  store i32 %8993, ptr %421, align 4, !tbaa !5
  %9004 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9005 = load i32, ptr @test_count, align 4, !tbaa !5
  %9006 = load i32, ptr %367, align 4, !tbaa !5
  %9007 = call ptr @s2n_strerror(i32 noundef %9006, ptr noundef nonnull @.str.5) #12
  %9008 = load i32, ptr %367, align 4, !tbaa !5
  %9009 = call ptr @s2n_strerror_debug(i32 noundef %9008, ptr noundef nonnull @.str.5) #12
  %9010 = load i32, ptr %421, align 4, !tbaa !5
  %9011 = call ptr @strerror(i32 noundef %9010) #12
  %9012 = load i32, ptr %421, align 4, !tbaa !5
  %9013 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9004, ptr noundef nonnull %.str.6.sink4324, i32 noundef %9005, ptr noundef nonnull @.str.79, ptr noundef nonnull @.str.2, i32 noundef 1067, ptr noundef %9007, ptr noundef %9009, ptr noundef %9011, i32 noundef %9012) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9014:                                             ; preds = %8986
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %159) #12
  store ptr %3, ptr %159, align 8, !tbaa !16
  %9015 = getelementptr inbounds i8, ptr %159, i64 8
  store i64 16384, ptr %9015, align 8, !tbaa !19
  %9016 = add nsw i32 %8989, 2
  store i32 %9016, ptr @test_count, align 4, !tbaa !5
  %9017 = call i32 @s2n_ktls_record_writev(ptr noundef nonnull %8988, i8 noundef zeroext 22, ptr noundef nonnull %159, i32 noundef 1, i64 noundef 0, i64 noundef 10) #12
  %9018 = icmp eq i32 %9017, -1
  br i1 %9018, label %9041, label %9019

9019:                                             ; preds = %9014
  %9020 = load i32, ptr %421, align 4, !tbaa !5
  %9021 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9022 = call i32 @s2n_print_stacktrace(ptr noundef %9021) #12
  %9023 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9024 = trunc nuw i8 %9023 to i1
  br i1 %9024, label %9025, label %9029

9025:                                             ; preds = %9019
  %9026 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9027 = call i32 @fileno(ptr noundef %9026) #12
  %9028 = call i32 @isatty(i32 noundef %9027) #12
  %.not1317 = icmp eq i32 %9028, 0
  br i1 %.not1317, label %9029, label %9030

9029:                                             ; preds = %9025, %9019
  br label %9030

9030:                                             ; preds = %9025, %9029
  %.str.6.sink4333 = phi ptr [ @.str.6, %9029 ], [ @.str.3, %9025 ]
  store i32 %9020, ptr %421, align 4, !tbaa !5
  %9031 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9032 = load i32, ptr @test_count, align 4, !tbaa !5
  %9033 = load i32, ptr %367, align 4, !tbaa !5
  %9034 = call ptr @s2n_strerror(i32 noundef %9033, ptr noundef nonnull @.str.5) #12
  %9035 = load i32, ptr %367, align 4, !tbaa !5
  %9036 = call ptr @s2n_strerror_debug(i32 noundef %9035, ptr noundef nonnull @.str.5) #12
  %9037 = load i32, ptr %421, align 4, !tbaa !5
  %9038 = call ptr @strerror(i32 noundef %9037) #12
  %9039 = load i32, ptr %421, align 4, !tbaa !5
  %9040 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9031, ptr noundef nonnull %.str.6.sink4333, i32 noundef %9032, ptr noundef nonnull @.str.133, ptr noundef nonnull @.str.2, i32 noundef 1074, ptr noundef %9034, ptr noundef %9036, ptr noundef %9038, i32 noundef %9039) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9041:                                             ; preds = %9014
  %9042 = load i32, ptr @test_count, align 4, !tbaa !5
  %9043 = add nsw i32 %9042, 1
  store i32 %9043, ptr @test_count, align 4, !tbaa !5
  %9044 = load i32, ptr %367, align 4, !tbaa !5
  %9045 = icmp eq i32 %9044, 402653231
  br i1 %9045, label %9068, label %9046

9046:                                             ; preds = %9041
  %9047 = load i32, ptr %421, align 4, !tbaa !5
  %9048 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9049 = call i32 @s2n_print_stacktrace(ptr noundef %9048) #12
  %9050 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9051 = trunc nuw i8 %9050 to i1
  br i1 %9051, label %9052, label %9056

9052:                                             ; preds = %9046
  %9053 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9054 = call i32 @fileno(ptr noundef %9053) #12
  %9055 = call i32 @isatty(i32 noundef %9054) #12
  %.not1318 = icmp eq i32 %9055, 0
  br i1 %.not1318, label %9056, label %9057

9056:                                             ; preds = %9052, %9046
  br label %9057

9057:                                             ; preds = %9052, %9056
  %.str.6.sink4342 = phi ptr [ @.str.6, %9056 ], [ @.str.3, %9052 ]
  store i32 %9047, ptr %421, align 4, !tbaa !5
  %9058 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9059 = load i32, ptr @test_count, align 4, !tbaa !5
  %9060 = load i32, ptr %367, align 4, !tbaa !5
  %9061 = call ptr @s2n_strerror(i32 noundef %9060, ptr noundef nonnull @.str.5) #12
  %9062 = load i32, ptr %367, align 4, !tbaa !5
  %9063 = call ptr @s2n_strerror_debug(i32 noundef %9062, ptr noundef nonnull @.str.5) #12
  %9064 = load i32, ptr %421, align 4, !tbaa !5
  %9065 = call ptr @strerror(i32 noundef %9064) #12
  %9066 = load i32, ptr %421, align 4, !tbaa !5
  %9067 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9058, ptr noundef nonnull %.str.6.sink4342, i32 noundef %9059, ptr noundef nonnull @.str.134, ptr noundef nonnull @.str.2, i32 noundef 1074, ptr noundef %9061, ptr noundef %9063, ptr noundef %9065, i32 noundef %9066) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9068:                                             ; preds = %9041
  %9069 = add nsw i32 %9042, 2
  store i32 %9069, ptr @test_count, align 4, !tbaa !5
  %9070 = call ptr @s2n_strerror_debug(i32 noundef 402653231, ptr noundef nonnull @.str.5) #12
  %9071 = icmp eq ptr %9070, null
  br i1 %9071, label %9072, label %9094

9072:                                             ; preds = %9068
  %9073 = load i32, ptr %421, align 4, !tbaa !5
  %9074 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9075 = call i32 @s2n_print_stacktrace(ptr noundef %9074) #12
  %9076 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9077 = trunc nuw i8 %9076 to i1
  br i1 %9077, label %9078, label %9082

9078:                                             ; preds = %9072
  %9079 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9080 = call i32 @fileno(ptr noundef %9079) #12
  %9081 = call i32 @isatty(i32 noundef %9080) #12
  %.not1415 = icmp eq i32 %9081, 0
  br i1 %.not1415, label %9082, label %9083

9082:                                             ; preds = %9078, %9072
  br label %9083

9083:                                             ; preds = %9078, %9082
  %.str.6.sink4351 = phi ptr [ @.str.6, %9082 ], [ @.str.3, %9078 ]
  store i32 %9073, ptr %421, align 4, !tbaa !5
  %9084 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9085 = load i32, ptr @test_count, align 4, !tbaa !5
  %9086 = load i32, ptr %367, align 4, !tbaa !5
  %9087 = call ptr @s2n_strerror(i32 noundef %9086, ptr noundef nonnull @.str.5) #12
  %9088 = load i32, ptr %367, align 4, !tbaa !5
  %9089 = call ptr @s2n_strerror_debug(i32 noundef %9088, ptr noundef nonnull @.str.5) #12
  %9090 = load i32, ptr %421, align 4, !tbaa !5
  %9091 = call ptr @strerror(i32 noundef %9090) #12
  %9092 = load i32, ptr %421, align 4, !tbaa !5
  %9093 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9084, ptr noundef nonnull %.str.6.sink4351, i32 noundef %9085, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.2, i32 noundef 1074, ptr noundef %9087, ptr noundef %9089, ptr noundef %9091, i32 noundef %9092) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9094:                                             ; preds = %9068
  store i32 0, ptr %367, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %421, align 4, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %159) #12
  %9095 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %158) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %158) #12
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %160) #12
  store ptr %3, ptr %160, align 8, !tbaa !16
  %9096 = getelementptr inbounds i8, ptr %160, i64 8
  store i64 16384, ptr %9096, align 8, !tbaa !19
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %161) #12
  store i32 0, ptr %161, align 4, !tbaa !5
  %9097 = load i32, ptr @test_count, align 4, !tbaa !5
  %9098 = add nsw i32 %9097, 1
  store i32 %9098, ptr @test_count, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %162) #12
  %9099 = call ptr @s2n_connection_new(i32 noundef 0) #12
  store ptr %9099, ptr %162, align 8, !tbaa !9
  %9100 = load i32, ptr @test_count, align 4, !tbaa !5
  %9101 = add nsw i32 %9100, 1
  store i32 %9101, ptr @test_count, align 4, !tbaa !5
  %9102 = icmp eq ptr %9099, null
  br i1 %9102, label %9103, label %9125

9103:                                             ; preds = %9094
  %9104 = load i32, ptr %421, align 4, !tbaa !5
  %9105 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9106 = call i32 @s2n_print_stacktrace(ptr noundef %9105) #12
  %9107 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9108 = trunc nuw i8 %9107 to i1
  br i1 %9108, label %9109, label %9113

9109:                                             ; preds = %9103
  %9110 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9111 = call i32 @fileno(ptr noundef %9110) #12
  %9112 = call i32 @isatty(i32 noundef %9111) #12
  %.not1414 = icmp eq i32 %9112, 0
  br i1 %.not1414, label %9113, label %9114

9113:                                             ; preds = %9109, %9103
  br label %9114

9114:                                             ; preds = %9109, %9113
  %.str.6.sink4360 = phi ptr [ @.str.6, %9113 ], [ @.str.3, %9109 ]
  store i32 %9104, ptr %421, align 4, !tbaa !5
  %9115 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9116 = load i32, ptr @test_count, align 4, !tbaa !5
  %9117 = load i32, ptr %367, align 4, !tbaa !5
  %9118 = call ptr @s2n_strerror(i32 noundef %9117, ptr noundef nonnull @.str.5) #12
  %9119 = load i32, ptr %367, align 4, !tbaa !5
  %9120 = call ptr @s2n_strerror_debug(i32 noundef %9119, ptr noundef nonnull @.str.5) #12
  %9121 = load i32, ptr %421, align 4, !tbaa !5
  %9122 = call ptr @strerror(i32 noundef %9121) #12
  %9123 = load i32, ptr %421, align 4, !tbaa !5
  %9124 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9115, ptr noundef nonnull %.str.6.sink4360, i32 noundef %9116, ptr noundef nonnull @.str.79, ptr noundef nonnull @.str.2, i32 noundef 1094, ptr noundef %9118, ptr noundef %9120, ptr noundef %9122, i32 noundef %9123) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9125:                                             ; preds = %9094
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %163) #12
  store i8 0, ptr %163, align 1, !tbaa !15
  %9126 = add nsw i32 %9100, 2
  store i32 %9126, ptr @test_count, align 4, !tbaa !5
  %9127 = call i32 @s2n_ktls_read_full_record(ptr noundef null, ptr noundef nonnull %163) #12
  %9128 = icmp eq i32 %9127, -1
  br i1 %9128, label %9151, label %9129

9129:                                             ; preds = %9125
  %9130 = load i32, ptr %421, align 4, !tbaa !5
  %9131 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9132 = call i32 @s2n_print_stacktrace(ptr noundef %9131) #12
  %9133 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9134 = trunc nuw i8 %9133 to i1
  br i1 %9134, label %9135, label %9139

9135:                                             ; preds = %9129
  %9136 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9137 = call i32 @fileno(ptr noundef %9136) #12
  %9138 = call i32 @isatty(i32 noundef %9137) #12
  %.not1319 = icmp eq i32 %9138, 0
  br i1 %.not1319, label %9139, label %9140

9139:                                             ; preds = %9135, %9129
  br label %9140

9140:                                             ; preds = %9135, %9139
  %.str.6.sink4369 = phi ptr [ @.str.6, %9139 ], [ @.str.3, %9135 ]
  store i32 %9130, ptr %421, align 4, !tbaa !5
  %9141 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9142 = load i32, ptr @test_count, align 4, !tbaa !5
  %9143 = load i32, ptr %367, align 4, !tbaa !5
  %9144 = call ptr @s2n_strerror(i32 noundef %9143, ptr noundef nonnull @.str.5) #12
  %9145 = load i32, ptr %367, align 4, !tbaa !5
  %9146 = call ptr @s2n_strerror_debug(i32 noundef %9145, ptr noundef nonnull @.str.5) #12
  %9147 = load i32, ptr %421, align 4, !tbaa !5
  %9148 = call ptr @strerror(i32 noundef %9147) #12
  %9149 = load i32, ptr %421, align 4, !tbaa !5
  %9150 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9141, ptr noundef nonnull %.str.6.sink4369, i32 noundef %9142, ptr noundef nonnull @.str.135, ptr noundef nonnull @.str.2, i32 noundef 1097, ptr noundef %9144, ptr noundef %9146, ptr noundef %9148, i32 noundef %9149) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9151:                                             ; preds = %9125
  %9152 = load i32, ptr @test_count, align 4, !tbaa !5
  %9153 = add nsw i32 %9152, 1
  store i32 %9153, ptr @test_count, align 4, !tbaa !5
  %9154 = load i32, ptr %367, align 4, !tbaa !5
  %9155 = icmp eq i32 %9154, 402653193
  br i1 %9155, label %9178, label %9156

9156:                                             ; preds = %9151
  %9157 = load i32, ptr %421, align 4, !tbaa !5
  %9158 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9159 = call i32 @s2n_print_stacktrace(ptr noundef %9158) #12
  %9160 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9161 = trunc nuw i8 %9160 to i1
  br i1 %9161, label %9162, label %9166

9162:                                             ; preds = %9156
  %9163 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9164 = call i32 @fileno(ptr noundef %9163) #12
  %9165 = call i32 @isatty(i32 noundef %9164) #12
  %.not1320 = icmp eq i32 %9165, 0
  br i1 %.not1320, label %9166, label %9167

9166:                                             ; preds = %9162, %9156
  br label %9167

9167:                                             ; preds = %9162, %9166
  %.str.6.sink4378 = phi ptr [ @.str.6, %9166 ], [ @.str.3, %9162 ]
  store i32 %9157, ptr %421, align 4, !tbaa !5
  %9168 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9169 = load i32, ptr @test_count, align 4, !tbaa !5
  %9170 = load i32, ptr %367, align 4, !tbaa !5
  %9171 = call ptr @s2n_strerror(i32 noundef %9170, ptr noundef nonnull @.str.5) #12
  %9172 = load i32, ptr %367, align 4, !tbaa !5
  %9173 = call ptr @s2n_strerror_debug(i32 noundef %9172, ptr noundef nonnull @.str.5) #12
  %9174 = load i32, ptr %421, align 4, !tbaa !5
  %9175 = call ptr @strerror(i32 noundef %9174) #12
  %9176 = load i32, ptr %421, align 4, !tbaa !5
  %9177 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9168, ptr noundef nonnull %.str.6.sink4378, i32 noundef %9169, ptr noundef nonnull @.str.12, ptr noundef nonnull @.str.2, i32 noundef 1097, ptr noundef %9171, ptr noundef %9173, ptr noundef %9175, i32 noundef %9176) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9178:                                             ; preds = %9151
  %9179 = add nsw i32 %9152, 2
  store i32 %9179, ptr @test_count, align 4, !tbaa !5
  %9180 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.5) #12
  %9181 = icmp eq ptr %9180, null
  br i1 %9181, label %9182, label %9204

9182:                                             ; preds = %9178
  %9183 = load i32, ptr %421, align 4, !tbaa !5
  %9184 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9185 = call i32 @s2n_print_stacktrace(ptr noundef %9184) #12
  %9186 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9187 = trunc nuw i8 %9186 to i1
  br i1 %9187, label %9188, label %9192

9188:                                             ; preds = %9182
  %9189 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9190 = call i32 @fileno(ptr noundef %9189) #12
  %9191 = call i32 @isatty(i32 noundef %9190) #12
  %.not1413 = icmp eq i32 %9191, 0
  br i1 %.not1413, label %9192, label %9193

9192:                                             ; preds = %9188, %9182
  br label %9193

9193:                                             ; preds = %9188, %9192
  %.str.6.sink4387 = phi ptr [ @.str.6, %9192 ], [ @.str.3, %9188 ]
  store i32 %9183, ptr %421, align 4, !tbaa !5
  %9194 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9195 = load i32, ptr @test_count, align 4, !tbaa !5
  %9196 = load i32, ptr %367, align 4, !tbaa !5
  %9197 = call ptr @s2n_strerror(i32 noundef %9196, ptr noundef nonnull @.str.5) #12
  %9198 = load i32, ptr %367, align 4, !tbaa !5
  %9199 = call ptr @s2n_strerror_debug(i32 noundef %9198, ptr noundef nonnull @.str.5) #12
  %9200 = load i32, ptr %421, align 4, !tbaa !5
  %9201 = call ptr @strerror(i32 noundef %9200) #12
  %9202 = load i32, ptr %421, align 4, !tbaa !5
  %9203 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9194, ptr noundef nonnull %.str.6.sink4387, i32 noundef %9195, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.2, i32 noundef 1097, ptr noundef %9197, ptr noundef %9199, ptr noundef %9201, i32 noundef %9202) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9204:                                             ; preds = %9178
  store i32 0, ptr %367, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %421, align 4, !tbaa !5
  %9205 = load i32, ptr @test_count, align 4, !tbaa !5
  %9206 = add nsw i32 %9205, 1
  store i32 %9206, ptr @test_count, align 4, !tbaa !5
  %9207 = load ptr, ptr %162, align 8, !tbaa !9
  %9208 = call i32 @s2n_ktls_read_full_record(ptr noundef %9207, ptr noundef null) #12
  %9209 = icmp eq i32 %9208, -1
  br i1 %9209, label %9232, label %9210

9210:                                             ; preds = %9204
  %9211 = load i32, ptr %421, align 4, !tbaa !5
  %9212 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9213 = call i32 @s2n_print_stacktrace(ptr noundef %9212) #12
  %9214 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9215 = trunc nuw i8 %9214 to i1
  br i1 %9215, label %9216, label %9220

9216:                                             ; preds = %9210
  %9217 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9218 = call i32 @fileno(ptr noundef %9217) #12
  %9219 = call i32 @isatty(i32 noundef %9218) #12
  %.not1321 = icmp eq i32 %9219, 0
  br i1 %.not1321, label %9220, label %9221

9220:                                             ; preds = %9216, %9210
  br label %9221

9221:                                             ; preds = %9216, %9220
  %.str.6.sink4396 = phi ptr [ @.str.6, %9220 ], [ @.str.3, %9216 ]
  store i32 %9211, ptr %421, align 4, !tbaa !5
  %9222 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9223 = load i32, ptr @test_count, align 4, !tbaa !5
  %9224 = load i32, ptr %367, align 4, !tbaa !5
  %9225 = call ptr @s2n_strerror(i32 noundef %9224, ptr noundef nonnull @.str.5) #12
  %9226 = load i32, ptr %367, align 4, !tbaa !5
  %9227 = call ptr @s2n_strerror_debug(i32 noundef %9226, ptr noundef nonnull @.str.5) #12
  %9228 = load i32, ptr %421, align 4, !tbaa !5
  %9229 = call ptr @strerror(i32 noundef %9228) #12
  %9230 = load i32, ptr %421, align 4, !tbaa !5
  %9231 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9222, ptr noundef nonnull %.str.6.sink4396, i32 noundef %9223, ptr noundef nonnull @.str.136, ptr noundef nonnull @.str.2, i32 noundef 1099, ptr noundef %9225, ptr noundef %9227, ptr noundef %9229, i32 noundef %9230) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9232:                                             ; preds = %9204
  %9233 = load i32, ptr @test_count, align 4, !tbaa !5
  %9234 = add nsw i32 %9233, 1
  store i32 %9234, ptr @test_count, align 4, !tbaa !5
  %9235 = load i32, ptr %367, align 4, !tbaa !5
  %9236 = icmp eq i32 %9235, 402653193
  br i1 %9236, label %9259, label %9237

9237:                                             ; preds = %9232
  %9238 = load i32, ptr %421, align 4, !tbaa !5
  %9239 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9240 = call i32 @s2n_print_stacktrace(ptr noundef %9239) #12
  %9241 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9242 = trunc nuw i8 %9241 to i1
  br i1 %9242, label %9243, label %9247

9243:                                             ; preds = %9237
  %9244 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9245 = call i32 @fileno(ptr noundef %9244) #12
  %9246 = call i32 @isatty(i32 noundef %9245) #12
  %.not1322 = icmp eq i32 %9246, 0
  br i1 %.not1322, label %9247, label %9248

9247:                                             ; preds = %9243, %9237
  br label %9248

9248:                                             ; preds = %9243, %9247
  %.str.6.sink4405 = phi ptr [ @.str.6, %9247 ], [ @.str.3, %9243 ]
  store i32 %9238, ptr %421, align 4, !tbaa !5
  %9249 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9250 = load i32, ptr @test_count, align 4, !tbaa !5
  %9251 = load i32, ptr %367, align 4, !tbaa !5
  %9252 = call ptr @s2n_strerror(i32 noundef %9251, ptr noundef nonnull @.str.5) #12
  %9253 = load i32, ptr %367, align 4, !tbaa !5
  %9254 = call ptr @s2n_strerror_debug(i32 noundef %9253, ptr noundef nonnull @.str.5) #12
  %9255 = load i32, ptr %421, align 4, !tbaa !5
  %9256 = call ptr @strerror(i32 noundef %9255) #12
  %9257 = load i32, ptr %421, align 4, !tbaa !5
  %9258 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9249, ptr noundef nonnull %.str.6.sink4405, i32 noundef %9250, ptr noundef nonnull @.str.12, ptr noundef nonnull @.str.2, i32 noundef 1099, ptr noundef %9252, ptr noundef %9254, ptr noundef %9256, i32 noundef %9257) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9259:                                             ; preds = %9232
  %9260 = add nsw i32 %9233, 2
  store i32 %9260, ptr @test_count, align 4, !tbaa !5
  %9261 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.5) #12
  %9262 = icmp eq ptr %9261, null
  br i1 %9262, label %9263, label %9285

9263:                                             ; preds = %9259
  %9264 = load i32, ptr %421, align 4, !tbaa !5
  %9265 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9266 = call i32 @s2n_print_stacktrace(ptr noundef %9265) #12
  %9267 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9268 = trunc nuw i8 %9267 to i1
  br i1 %9268, label %9269, label %9273

9269:                                             ; preds = %9263
  %9270 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9271 = call i32 @fileno(ptr noundef %9270) #12
  %9272 = call i32 @isatty(i32 noundef %9271) #12
  %.not1412 = icmp eq i32 %9272, 0
  br i1 %.not1412, label %9273, label %9274

9273:                                             ; preds = %9269, %9263
  br label %9274

9274:                                             ; preds = %9269, %9273
  %.str.6.sink4414 = phi ptr [ @.str.6, %9273 ], [ @.str.3, %9269 ]
  store i32 %9264, ptr %421, align 4, !tbaa !5
  %9275 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9276 = load i32, ptr @test_count, align 4, !tbaa !5
  %9277 = load i32, ptr %367, align 4, !tbaa !5
  %9278 = call ptr @s2n_strerror(i32 noundef %9277, ptr noundef nonnull @.str.5) #12
  %9279 = load i32, ptr %367, align 4, !tbaa !5
  %9280 = call ptr @s2n_strerror_debug(i32 noundef %9279, ptr noundef nonnull @.str.5) #12
  %9281 = load i32, ptr %421, align 4, !tbaa !5
  %9282 = call ptr @strerror(i32 noundef %9281) #12
  %9283 = load i32, ptr %421, align 4, !tbaa !5
  %9284 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9275, ptr noundef nonnull %.str.6.sink4414, i32 noundef %9276, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.2, i32 noundef 1099, ptr noundef %9278, ptr noundef %9280, ptr noundef %9282, i32 noundef %9283) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9285:                                             ; preds = %9259
  store i32 0, ptr %367, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %421, align 4, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %163) #12
  %9286 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %162) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %162) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %164) #12
  %9287 = call ptr @s2n_connection_new(i32 noundef 1) #12
  store ptr %9287, ptr %164, align 8, !tbaa !9
  %9288 = load i32, ptr @test_count, align 4, !tbaa !5
  %9289 = add nsw i32 %9288, 1
  store i32 %9289, ptr @test_count, align 4, !tbaa !5
  %9290 = icmp eq ptr %9287, null
  br i1 %9290, label %9291, label %9313

9291:                                             ; preds = %9285
  %9292 = load i32, ptr %421, align 4, !tbaa !5
  %9293 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9294 = call i32 @s2n_print_stacktrace(ptr noundef %9293) #12
  %9295 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9296 = trunc nuw i8 %9295 to i1
  br i1 %9296, label %9297, label %9301

9297:                                             ; preds = %9291
  %9298 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9299 = call i32 @fileno(ptr noundef %9298) #12
  %9300 = call i32 @isatty(i32 noundef %9299) #12
  %.not1411 = icmp eq i32 %9300, 0
  br i1 %.not1411, label %9301, label %9302

9301:                                             ; preds = %9297, %9291
  br label %9302

9302:                                             ; preds = %9297, %9301
  %.str.6.sink4423 = phi ptr [ @.str.6, %9301 ], [ @.str.3, %9297 ]
  store i32 %9292, ptr %421, align 4, !tbaa !5
  %9303 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9304 = load i32, ptr @test_count, align 4, !tbaa !5
  %9305 = load i32, ptr %367, align 4, !tbaa !5
  %9306 = call ptr @s2n_strerror(i32 noundef %9305, ptr noundef nonnull @.str.5) #12
  %9307 = load i32, ptr %367, align 4, !tbaa !5
  %9308 = call ptr @s2n_strerror_debug(i32 noundef %9307, ptr noundef nonnull @.str.5) #12
  %9309 = load i32, ptr %421, align 4, !tbaa !5
  %9310 = call ptr @strerror(i32 noundef %9309) #12
  %9311 = load i32, ptr %421, align 4, !tbaa !5
  %9312 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9303, ptr noundef nonnull %.str.6.sink4423, i32 noundef %9304, ptr noundef nonnull @.str.79, ptr noundef nonnull @.str.2, i32 noundef 1106, ptr noundef %9306, ptr noundef %9308, ptr noundef %9310, i32 noundef %9311) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9313:                                             ; preds = %9285
  call void @llvm.lifetime.start.p0(i64 192, ptr nonnull %165) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(192) %165, i8 0, i64 192, i1 false)
  %9314 = add nsw i32 %9288, 2
  store i32 %9314, ptr @test_count, align 4, !tbaa !5
  %9315 = call i32 @s2n_test_init_ktls_io_stuffer(ptr noundef nonnull %9287, ptr noundef nonnull %9287, ptr noundef nonnull %165) #12
  %9316 = call zeroext i1 @s2n_result_is_ok(i32 %9315)
  br i1 %9316, label %9339, label %9317

9317:                                             ; preds = %9313
  %9318 = load i32, ptr %421, align 4, !tbaa !5
  %9319 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9320 = call i32 @s2n_print_stacktrace(ptr noundef %9319) #12
  %9321 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9322 = trunc nuw i8 %9321 to i1
  br i1 %9322, label %9323, label %9327

9323:                                             ; preds = %9317
  %9324 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9325 = call i32 @fileno(ptr noundef %9324) #12
  %9326 = call i32 @isatty(i32 noundef %9325) #12
  %.not1323 = icmp eq i32 %9326, 0
  br i1 %.not1323, label %9327, label %9328

9327:                                             ; preds = %9323, %9317
  br label %9328

9328:                                             ; preds = %9323, %9327
  %.str.6.sink4432 = phi ptr [ @.str.6, %9327 ], [ @.str.3, %9323 ]
  store i32 %9318, ptr %421, align 4, !tbaa !5
  %9329 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9330 = load i32, ptr @test_count, align 4, !tbaa !5
  %9331 = load i32, ptr %367, align 4, !tbaa !5
  %9332 = call ptr @s2n_strerror(i32 noundef %9331, ptr noundef nonnull @.str.5) #12
  %9333 = load i32, ptr %367, align 4, !tbaa !5
  %9334 = call ptr @s2n_strerror_debug(i32 noundef %9333, ptr noundef nonnull @.str.5) #12
  %9335 = load i32, ptr %421, align 4, !tbaa !5
  %9336 = call ptr @strerror(i32 noundef %9335) #12
  %9337 = load i32, ptr %421, align 4, !tbaa !5
  %9338 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9329, ptr noundef nonnull %.str.6.sink4432, i32 noundef %9330, ptr noundef nonnull @.str.137, ptr noundef nonnull @.str.2, i32 noundef 1110, ptr noundef %9332, ptr noundef %9334, ptr noundef %9336, i32 noundef %9337) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9339:                                             ; preds = %9313
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %166) #12
  store i64 0, ptr %166, align 8, !tbaa !20
  %9340 = load i32, ptr @test_count, align 4, !tbaa !5
  %9341 = add nsw i32 %9340, 1
  store i32 %9341, ptr @test_count, align 4, !tbaa !5
  %9342 = call i32 @s2n_ktls_sendmsg(ptr noundef nonnull %165, i8 noundef zeroext 21, ptr noundef nonnull %160, i64 noundef 1, ptr noundef nonnull %161, ptr noundef nonnull %166) #12
  %9343 = call zeroext i1 @s2n_result_is_ok(i32 %9342)
  br i1 %9343, label %9366, label %9344

9344:                                             ; preds = %9339
  %9345 = load i32, ptr %421, align 4, !tbaa !5
  %9346 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9347 = call i32 @s2n_print_stacktrace(ptr noundef %9346) #12
  %9348 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9349 = trunc nuw i8 %9348 to i1
  br i1 %9349, label %9350, label %9354

9350:                                             ; preds = %9344
  %9351 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9352 = call i32 @fileno(ptr noundef %9351) #12
  %9353 = call i32 @isatty(i32 noundef %9352) #12
  %.not1324 = icmp eq i32 %9353, 0
  br i1 %.not1324, label %9354, label %9355

9354:                                             ; preds = %9350, %9344
  br label %9355

9355:                                             ; preds = %9350, %9354
  %.str.6.sink4441 = phi ptr [ @.str.6, %9354 ], [ @.str.3, %9350 ]
  store i32 %9345, ptr %421, align 4, !tbaa !5
  %9356 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9357 = load i32, ptr @test_count, align 4, !tbaa !5
  %9358 = load i32, ptr %367, align 4, !tbaa !5
  %9359 = call ptr @s2n_strerror(i32 noundef %9358, ptr noundef nonnull @.str.5) #12
  %9360 = load i32, ptr %367, align 4, !tbaa !5
  %9361 = call ptr @s2n_strerror_debug(i32 noundef %9360, ptr noundef nonnull @.str.5) #12
  %9362 = load i32, ptr %421, align 4, !tbaa !5
  %9363 = call ptr @strerror(i32 noundef %9362) #12
  %9364 = load i32, ptr %421, align 4, !tbaa !5
  %9365 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9356, ptr noundef nonnull %.str.6.sink4441, i32 noundef %9357, ptr noundef nonnull @.str.138, ptr noundef nonnull @.str.2, i32 noundef 1114, ptr noundef %9359, ptr noundef %9361, ptr noundef %9363, i32 noundef %9364) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9366:                                             ; preds = %9339
  %9367 = load i32, ptr @test_count, align 4, !tbaa !5
  %9368 = add nsw i32 %9367, 1
  store i32 %9368, ptr @test_count, align 4, !tbaa !5
  %9369 = load i64, ptr %166, align 8, !tbaa !20
  %9370 = icmp eq i64 %9369, 16384
  br i1 %9370, label %9393, label %9371

9371:                                             ; preds = %9366
  %9372 = load i32, ptr %421, align 4, !tbaa !5
  %9373 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9374 = call i32 @s2n_print_stacktrace(ptr noundef %9373) #12
  %9375 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9376 = trunc nuw i8 %9375 to i1
  br i1 %9376, label %9377, label %9381

9377:                                             ; preds = %9371
  %9378 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9379 = call i32 @fileno(ptr noundef %9378) #12
  %9380 = call i32 @isatty(i32 noundef %9379) #12
  %.not1325 = icmp eq i32 %9380, 0
  br i1 %.not1325, label %9381, label %9382

9381:                                             ; preds = %9377, %9371
  br label %9382

9382:                                             ; preds = %9377, %9381
  %.str.6.sink4450 = phi ptr [ @.str.6, %9381 ], [ @.str.3, %9377 ]
  store i32 %9372, ptr %421, align 4, !tbaa !5
  %9383 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9384 = load i32, ptr @test_count, align 4, !tbaa !5
  %9385 = load i32, ptr %367, align 4, !tbaa !5
  %9386 = call ptr @s2n_strerror(i32 noundef %9385, ptr noundef nonnull @.str.5) #12
  %9387 = load i32, ptr %367, align 4, !tbaa !5
  %9388 = call ptr @s2n_strerror_debug(i32 noundef %9387, ptr noundef nonnull @.str.5) #12
  %9389 = load i32, ptr %421, align 4, !tbaa !5
  %9390 = call ptr @strerror(i32 noundef %9389) #12
  %9391 = load i32, ptr %421, align 4, !tbaa !5
  %9392 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9383, ptr noundef nonnull %.str.6.sink4450, i32 noundef %9384, ptr noundef nonnull @.str.139, ptr noundef nonnull @.str.2, i32 noundef 1115, ptr noundef %9386, ptr noundef %9388, ptr noundef %9390, i32 noundef %9391) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9393:                                             ; preds = %9366
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %167) #12
  store i8 0, ptr %167, align 1, !tbaa !15
  %9394 = add nsw i32 %9367, 2
  store i32 %9394, ptr @test_count, align 4, !tbaa !5
  %9395 = load ptr, ptr %164, align 8, !tbaa !9
  %9396 = call i32 @s2n_ktls_read_full_record(ptr noundef %9395, ptr noundef nonnull %167) #12
  %9397 = icmp eq i32 %9396, -1
  br i1 %9397, label %9398, label %9420

9398:                                             ; preds = %9393
  %9399 = load i32, ptr %421, align 4, !tbaa !5
  %9400 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9401 = call i32 @s2n_print_stacktrace(ptr noundef %9400) #12
  %9402 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9403 = trunc nuw i8 %9402 to i1
  br i1 %9403, label %9404, label %9408

9404:                                             ; preds = %9398
  %9405 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9406 = call i32 @fileno(ptr noundef %9405) #12
  %9407 = call i32 @isatty(i32 noundef %9406) #12
  %.not1410 = icmp eq i32 %9407, 0
  br i1 %.not1410, label %9408, label %9409

9408:                                             ; preds = %9404, %9398
  br label %9409

9409:                                             ; preds = %9404, %9408
  %.str.6.sink4459 = phi ptr [ @.str.6, %9408 ], [ @.str.3, %9404 ]
  store i32 %9399, ptr %421, align 4, !tbaa !5
  %9410 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9411 = load i32, ptr @test_count, align 4, !tbaa !5
  %9412 = load i32, ptr %367, align 4, !tbaa !5
  %9413 = call ptr @s2n_strerror(i32 noundef %9412, ptr noundef nonnull @.str.5) #12
  %9414 = load i32, ptr %367, align 4, !tbaa !5
  %9415 = call ptr @s2n_strerror_debug(i32 noundef %9414, ptr noundef nonnull @.str.5) #12
  %9416 = load i32, ptr %421, align 4, !tbaa !5
  %9417 = call ptr @strerror(i32 noundef %9416) #12
  %9418 = load i32, ptr %421, align 4, !tbaa !5
  %9419 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9410, ptr noundef nonnull %.str.6.sink4459, i32 noundef %9411, ptr noundef nonnull @.str.140, ptr noundef nonnull @.str.2, i32 noundef 1118, ptr noundef %9413, ptr noundef %9415, ptr noundef %9417, i32 noundef %9418) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9420:                                             ; preds = %9393
  %9421 = load i32, ptr @test_count, align 4, !tbaa !5
  %9422 = add nsw i32 %9421, 1
  store i32 %9422, ptr @test_count, align 4, !tbaa !5
  %9423 = load i8, ptr %167, align 1, !tbaa !15
  %9424 = icmp eq i8 %9423, 21
  br i1 %9424, label %9447, label %9425

9425:                                             ; preds = %9420
  %9426 = load i32, ptr %421, align 4, !tbaa !5
  %9427 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9428 = call i32 @s2n_print_stacktrace(ptr noundef %9427) #12
  %9429 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9430 = trunc nuw i8 %9429 to i1
  br i1 %9430, label %9431, label %9435

9431:                                             ; preds = %9425
  %9432 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9433 = call i32 @fileno(ptr noundef %9432) #12
  %9434 = call i32 @isatty(i32 noundef %9433) #12
  %.not1326 = icmp eq i32 %9434, 0
  br i1 %.not1326, label %9435, label %9436

9435:                                             ; preds = %9431, %9425
  br label %9436

9436:                                             ; preds = %9431, %9435
  %.str.6.sink4468 = phi ptr [ @.str.6, %9435 ], [ @.str.3, %9431 ]
  store i32 %9426, ptr %421, align 4, !tbaa !5
  %9437 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9438 = load i32, ptr @test_count, align 4, !tbaa !5
  %9439 = load i32, ptr %367, align 4, !tbaa !5
  %9440 = call ptr @s2n_strerror(i32 noundef %9439, ptr noundef nonnull @.str.5) #12
  %9441 = load i32, ptr %367, align 4, !tbaa !5
  %9442 = call ptr @s2n_strerror_debug(i32 noundef %9441, ptr noundef nonnull @.str.5) #12
  %9443 = load i32, ptr %421, align 4, !tbaa !5
  %9444 = call ptr @strerror(i32 noundef %9443) #12
  %9445 = load i32, ptr %421, align 4, !tbaa !5
  %9446 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9437, ptr noundef nonnull %.str.6.sink4468, i32 noundef %9438, ptr noundef nonnull @.str.141, ptr noundef nonnull @.str.2, i32 noundef 1119, ptr noundef %9440, ptr noundef %9442, ptr noundef %9444, i32 noundef %9445) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9447:                                             ; preds = %9420
  %9448 = add nsw i32 %9421, 2
  store i32 %9448, ptr @test_count, align 4, !tbaa !5
  %9449 = load ptr, ptr %164, align 8, !tbaa !9
  %9450 = getelementptr inbounds i8, ptr %9449, i64 1828
  %9451 = load i32, ptr %9450, align 4, !tbaa !74
  %9452 = icmp eq i32 %9451, 8087
  br i1 %9452, label %9475, label %9453

9453:                                             ; preds = %9447
  %9454 = load i32, ptr %421, align 4, !tbaa !5
  %9455 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9456 = call i32 @s2n_print_stacktrace(ptr noundef %9455) #12
  %9457 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9458 = trunc nuw i8 %9457 to i1
  br i1 %9458, label %9459, label %9463

9459:                                             ; preds = %9453
  %9460 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9461 = call i32 @fileno(ptr noundef %9460) #12
  %9462 = call i32 @isatty(i32 noundef %9461) #12
  %.not1327 = icmp eq i32 %9462, 0
  br i1 %.not1327, label %9463, label %9464

9463:                                             ; preds = %9459, %9453
  br label %9464

9464:                                             ; preds = %9459, %9463
  %.str.6.sink4477 = phi ptr [ @.str.6, %9463 ], [ @.str.3, %9459 ]
  store i32 %9454, ptr %421, align 4, !tbaa !5
  %9465 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9466 = load i32, ptr @test_count, align 4, !tbaa !5
  %9467 = load i32, ptr %367, align 4, !tbaa !5
  %9468 = call ptr @s2n_strerror(i32 noundef %9467, ptr noundef nonnull @.str.5) #12
  %9469 = load i32, ptr %367, align 4, !tbaa !5
  %9470 = call ptr @s2n_strerror_debug(i32 noundef %9469, ptr noundef nonnull @.str.5) #12
  %9471 = load i32, ptr %421, align 4, !tbaa !5
  %9472 = call ptr @strerror(i32 noundef %9471) #12
  %9473 = load i32, ptr %421, align 4, !tbaa !5
  %9474 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9465, ptr noundef nonnull %.str.6.sink4477, i32 noundef %9466, ptr noundef nonnull @.str.142, ptr noundef nonnull @.str.2, i32 noundef 1121, ptr noundef %9468, ptr noundef %9470, ptr noundef %9472, i32 noundef %9473) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9475:                                             ; preds = %9447
  %9476 = add nsw i32 %9421, 3
  store i32 %9476, ptr @test_count, align 4, !tbaa !5
  %9477 = getelementptr inbounds i8, ptr %9449, i64 1864
  %9478 = load i32, ptr %9477, align 8, !tbaa !75
  %9479 = icmp eq i32 %9478, 8087
  br i1 %9479, label %9502, label %9480

9480:                                             ; preds = %9475
  %9481 = load i32, ptr %421, align 4, !tbaa !5
  %9482 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9483 = call i32 @s2n_print_stacktrace(ptr noundef %9482) #12
  %9484 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9485 = trunc nuw i8 %9484 to i1
  br i1 %9485, label %9486, label %9490

9486:                                             ; preds = %9480
  %9487 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9488 = call i32 @fileno(ptr noundef %9487) #12
  %9489 = call i32 @isatty(i32 noundef %9488) #12
  %.not1328 = icmp eq i32 %9489, 0
  br i1 %.not1328, label %9490, label %9491

9490:                                             ; preds = %9486, %9480
  br label %9491

9491:                                             ; preds = %9486, %9490
  %.str.6.sink4486 = phi ptr [ @.str.6, %9490 ], [ @.str.3, %9486 ]
  store i32 %9481, ptr %421, align 4, !tbaa !5
  %9492 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9493 = load i32, ptr @test_count, align 4, !tbaa !5
  %9494 = load i32, ptr %367, align 4, !tbaa !5
  %9495 = call ptr @s2n_strerror(i32 noundef %9494, ptr noundef nonnull @.str.5) #12
  %9496 = load i32, ptr %367, align 4, !tbaa !5
  %9497 = call ptr @s2n_strerror_debug(i32 noundef %9496, ptr noundef nonnull @.str.5) #12
  %9498 = load i32, ptr %421, align 4, !tbaa !5
  %9499 = call ptr @strerror(i32 noundef %9498) #12
  %9500 = load i32, ptr %421, align 4, !tbaa !5
  %9501 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9492, ptr noundef nonnull %.str.6.sink4486, i32 noundef %9493, ptr noundef nonnull @.str.143, ptr noundef nonnull @.str.2, i32 noundef 1122, ptr noundef %9495, ptr noundef %9497, ptr noundef %9499, i32 noundef %9500) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9502:                                             ; preds = %9475
  %9503 = add nsw i32 %9421, 4
  store i32 %9503, ptr @test_count, align 4, !tbaa !5
  %9504 = getelementptr inbounds i8, ptr %9449, i64 1884
  %9505 = load i32, ptr %9504, align 4, !tbaa !76
  %9506 = getelementptr inbounds i8, ptr %9449, i64 1880
  %9507 = load i32, ptr %9506, align 8, !tbaa !77
  %9508 = sub i32 %9505, %9507
  %9509 = icmp eq i32 %9508, 8087
  br i1 %9509, label %9532, label %9510

9510:                                             ; preds = %9502
  %9511 = load i32, ptr %421, align 4, !tbaa !5
  %9512 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9513 = call i32 @s2n_print_stacktrace(ptr noundef %9512) #12
  %9514 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9515 = trunc nuw i8 %9514 to i1
  br i1 %9515, label %9516, label %9520

9516:                                             ; preds = %9510
  %9517 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9518 = call i32 @fileno(ptr noundef %9517) #12
  %9519 = call i32 @isatty(i32 noundef %9518) #12
  %.not1329 = icmp eq i32 %9519, 0
  br i1 %.not1329, label %9520, label %9521

9520:                                             ; preds = %9516, %9510
  br label %9521

9521:                                             ; preds = %9516, %9520
  %.str.6.sink4495 = phi ptr [ @.str.6, %9520 ], [ @.str.3, %9516 ]
  store i32 %9511, ptr %421, align 4, !tbaa !5
  %9522 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9523 = load i32, ptr @test_count, align 4, !tbaa !5
  %9524 = load i32, ptr %367, align 4, !tbaa !5
  %9525 = call ptr @s2n_strerror(i32 noundef %9524, ptr noundef nonnull @.str.5) #12
  %9526 = load i32, ptr %367, align 4, !tbaa !5
  %9527 = call ptr @s2n_strerror_debug(i32 noundef %9526, ptr noundef nonnull @.str.5) #12
  %9528 = load i32, ptr %421, align 4, !tbaa !5
  %9529 = call ptr @strerror(i32 noundef %9528) #12
  %9530 = load i32, ptr %421, align 4, !tbaa !5
  %9531 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9522, ptr noundef nonnull %.str.6.sink4495, i32 noundef %9523, ptr noundef nonnull @.str.144, ptr noundef nonnull @.str.2, i32 noundef 1123, ptr noundef %9525, ptr noundef %9527, ptr noundef %9529, i32 noundef %9530) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9532:                                             ; preds = %9502
  %9533 = getelementptr inbounds i8, ptr %9449, i64 1856
  %9534 = call ptr @s2n_stuffer_raw_read(ptr noundef nonnull %9533, i32 noundef 8087) #12
  %9535 = load i32, ptr @test_count, align 4, !tbaa !5
  %9536 = add nsw i32 %9535, 1
  store i32 %9536, ptr @test_count, align 4, !tbaa !5
  %bcmp1330 = call i32 @bcmp(ptr noundef nonnull dereferenceable(8087) %9534, ptr noundef nonnull dereferenceable(8087) %3, i64 8087)
  %9537 = icmp eq i32 %bcmp1330, 0
  br i1 %9537, label %9560, label %9538

9538:                                             ; preds = %9532
  %9539 = load i32, ptr %421, align 4, !tbaa !5
  %9540 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9541 = call i32 @s2n_print_stacktrace(ptr noundef %9540) #12
  %9542 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9543 = trunc nuw i8 %9542 to i1
  br i1 %9543, label %9544, label %9548

9544:                                             ; preds = %9538
  %9545 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9546 = call i32 @fileno(ptr noundef %9545) #12
  %9547 = call i32 @isatty(i32 noundef %9546) #12
  %.not1331 = icmp eq i32 %9547, 0
  br i1 %.not1331, label %9548, label %9549

9548:                                             ; preds = %9544, %9538
  br label %9549

9549:                                             ; preds = %9544, %9548
  %.str.6.sink4504 = phi ptr [ @.str.6, %9548 ], [ @.str.3, %9544 ]
  store i32 %9539, ptr %421, align 4, !tbaa !5
  %9550 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9551 = load i32, ptr @test_count, align 4, !tbaa !5
  %9552 = load i32, ptr %367, align 4, !tbaa !5
  %9553 = call ptr @s2n_strerror(i32 noundef %9552, ptr noundef nonnull @.str.5) #12
  %9554 = load i32, ptr %367, align 4, !tbaa !5
  %9555 = call ptr @s2n_strerror_debug(i32 noundef %9554, ptr noundef nonnull @.str.5) #12
  %9556 = load i32, ptr %421, align 4, !tbaa !5
  %9557 = call ptr @strerror(i32 noundef %9556) #12
  %9558 = load i32, ptr %421, align 4, !tbaa !5
  %9559 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9550, ptr noundef nonnull %.str.6.sink4504, i32 noundef %9551, ptr noundef nonnull @.str.145, ptr noundef nonnull @.str.2, i32 noundef 1125, ptr noundef %9553, ptr noundef %9555, ptr noundef %9557, i32 noundef %9558) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9560:                                             ; preds = %9532
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %167) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %166) #12
  %9561 = call i32 @s2n_ktls_io_stuffer_pair_free(ptr noundef nonnull %165) #12
  call void @llvm.lifetime.end.p0(i64 192, ptr nonnull %165) #12
  %9562 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %164) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %164) #12
  %9563 = load i32, ptr @test_count, align 4, !tbaa !5
  %9564 = add nsw i32 %9563, 2
  store i32 %9564, ptr @test_count, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %168) #12
  %9565 = load i64, ptr %160, align 8, !tbaa !9
  store i64 %9565, ptr %168, align 8, !tbaa !9
  %9566 = getelementptr inbounds i8, ptr %168, i64 8
  store i64 10, ptr %9566, align 8, !tbaa !19
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %169) #12
  %9567 = call ptr @s2n_connection_new(i32 noundef 1) #12
  store ptr %9567, ptr %169, align 8, !tbaa !9
  %9568 = load i32, ptr @test_count, align 4, !tbaa !5
  %9569 = add nsw i32 %9568, 1
  store i32 %9569, ptr @test_count, align 4, !tbaa !5
  %9570 = icmp eq ptr %9567, null
  br i1 %9570, label %9571, label %9593

9571:                                             ; preds = %9560
  %9572 = load i32, ptr %421, align 4, !tbaa !5
  %9573 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9574 = call i32 @s2n_print_stacktrace(ptr noundef %9573) #12
  %9575 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9576 = trunc nuw i8 %9575 to i1
  br i1 %9576, label %9577, label %9581

9577:                                             ; preds = %9571
  %9578 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9579 = call i32 @fileno(ptr noundef %9578) #12
  %9580 = call i32 @isatty(i32 noundef %9579) #12
  %.not1409 = icmp eq i32 %9580, 0
  br i1 %.not1409, label %9581, label %9582

9581:                                             ; preds = %9577, %9571
  br label %9582

9582:                                             ; preds = %9577, %9581
  %.str.6.sink4513 = phi ptr [ @.str.6, %9581 ], [ @.str.3, %9577 ]
  store i32 %9572, ptr %421, align 4, !tbaa !5
  %9583 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9584 = load i32, ptr @test_count, align 4, !tbaa !5
  %9585 = load i32, ptr %367, align 4, !tbaa !5
  %9586 = call ptr @s2n_strerror(i32 noundef %9585, ptr noundef nonnull @.str.5) #12
  %9587 = load i32, ptr %367, align 4, !tbaa !5
  %9588 = call ptr @s2n_strerror_debug(i32 noundef %9587, ptr noundef nonnull @.str.5) #12
  %9589 = load i32, ptr %421, align 4, !tbaa !5
  %9590 = call ptr @strerror(i32 noundef %9589) #12
  %9591 = load i32, ptr %421, align 4, !tbaa !5
  %9592 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9583, ptr noundef nonnull %.str.6.sink4513, i32 noundef %9584, ptr noundef nonnull @.str.79, ptr noundef nonnull @.str.2, i32 noundef 1138, ptr noundef %9586, ptr noundef %9588, ptr noundef %9590, i32 noundef %9591) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9593:                                             ; preds = %9560
  call void @llvm.lifetime.start.p0(i64 192, ptr nonnull %170) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(192) %170, i8 0, i64 192, i1 false)
  %9594 = add nsw i32 %9568, 2
  store i32 %9594, ptr @test_count, align 4, !tbaa !5
  %9595 = call i32 @s2n_test_init_ktls_io_stuffer(ptr noundef nonnull %9567, ptr noundef nonnull %9567, ptr noundef nonnull %170) #12
  %9596 = call zeroext i1 @s2n_result_is_ok(i32 %9595)
  br i1 %9596, label %9619, label %9597

9597:                                             ; preds = %9593
  %9598 = load i32, ptr %421, align 4, !tbaa !5
  %9599 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9600 = call i32 @s2n_print_stacktrace(ptr noundef %9599) #12
  %9601 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9602 = trunc nuw i8 %9601 to i1
  br i1 %9602, label %9603, label %9607

9603:                                             ; preds = %9597
  %9604 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9605 = call i32 @fileno(ptr noundef %9604) #12
  %9606 = call i32 @isatty(i32 noundef %9605) #12
  %.not1332 = icmp eq i32 %9606, 0
  br i1 %.not1332, label %9607, label %9608

9607:                                             ; preds = %9603, %9597
  br label %9608

9608:                                             ; preds = %9603, %9607
  %.str.6.sink4522 = phi ptr [ @.str.6, %9607 ], [ @.str.3, %9603 ]
  store i32 %9598, ptr %421, align 4, !tbaa !5
  %9609 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9610 = load i32, ptr @test_count, align 4, !tbaa !5
  %9611 = load i32, ptr %367, align 4, !tbaa !5
  %9612 = call ptr @s2n_strerror(i32 noundef %9611, ptr noundef nonnull @.str.5) #12
  %9613 = load i32, ptr %367, align 4, !tbaa !5
  %9614 = call ptr @s2n_strerror_debug(i32 noundef %9613, ptr noundef nonnull @.str.5) #12
  %9615 = load i32, ptr %421, align 4, !tbaa !5
  %9616 = call ptr @strerror(i32 noundef %9615) #12
  %9617 = load i32, ptr %421, align 4, !tbaa !5
  %9618 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9609, ptr noundef nonnull %.str.6.sink4522, i32 noundef %9610, ptr noundef nonnull @.str.137, ptr noundef nonnull @.str.2, i32 noundef 1142, ptr noundef %9612, ptr noundef %9614, ptr noundef %9616, i32 noundef %9617) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9619:                                             ; preds = %9593
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %171) #12
  store i64 0, ptr %171, align 8, !tbaa !20
  %9620 = load i32, ptr @test_count, align 4, !tbaa !5
  %9621 = add nsw i32 %9620, 1
  store i32 %9621, ptr @test_count, align 4, !tbaa !5
  %9622 = call i32 @s2n_ktls_sendmsg(ptr noundef nonnull %170, i8 noundef zeroext 21, ptr noundef nonnull %168, i64 noundef 1, ptr noundef nonnull %161, ptr noundef nonnull %171) #12
  %9623 = call zeroext i1 @s2n_result_is_ok(i32 %9622)
  br i1 %9623, label %9646, label %9624

9624:                                             ; preds = %9619
  %9625 = load i32, ptr %421, align 4, !tbaa !5
  %9626 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9627 = call i32 @s2n_print_stacktrace(ptr noundef %9626) #12
  %9628 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9629 = trunc nuw i8 %9628 to i1
  br i1 %9629, label %9630, label %9634

9630:                                             ; preds = %9624
  %9631 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9632 = call i32 @fileno(ptr noundef %9631) #12
  %9633 = call i32 @isatty(i32 noundef %9632) #12
  %.not1333 = icmp eq i32 %9633, 0
  br i1 %.not1333, label %9634, label %9635

9634:                                             ; preds = %9630, %9624
  br label %9635

9635:                                             ; preds = %9630, %9634
  %.str.6.sink4531 = phi ptr [ @.str.6, %9634 ], [ @.str.3, %9630 ]
  store i32 %9625, ptr %421, align 4, !tbaa !5
  %9636 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9637 = load i32, ptr @test_count, align 4, !tbaa !5
  %9638 = load i32, ptr %367, align 4, !tbaa !5
  %9639 = call ptr @s2n_strerror(i32 noundef %9638, ptr noundef nonnull @.str.5) #12
  %9640 = load i32, ptr %367, align 4, !tbaa !5
  %9641 = call ptr @s2n_strerror_debug(i32 noundef %9640, ptr noundef nonnull @.str.5) #12
  %9642 = load i32, ptr %421, align 4, !tbaa !5
  %9643 = call ptr @strerror(i32 noundef %9642) #12
  %9644 = load i32, ptr %421, align 4, !tbaa !5
  %9645 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9636, ptr noundef nonnull %.str.6.sink4531, i32 noundef %9637, ptr noundef nonnull @.str.146, ptr noundef nonnull @.str.2, i32 noundef 1146, ptr noundef %9639, ptr noundef %9641, ptr noundef %9643, i32 noundef %9644) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9646:                                             ; preds = %9619
  %9647 = load i32, ptr @test_count, align 4, !tbaa !5
  %9648 = add nsw i32 %9647, 1
  store i32 %9648, ptr @test_count, align 4, !tbaa !5
  %9649 = load i64, ptr %171, align 8, !tbaa !20
  %9650 = icmp eq i64 %9649, 10
  br i1 %9650, label %9673, label %9651

9651:                                             ; preds = %9646
  %9652 = load i32, ptr %421, align 4, !tbaa !5
  %9653 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9654 = call i32 @s2n_print_stacktrace(ptr noundef %9653) #12
  %9655 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9656 = trunc nuw i8 %9655 to i1
  br i1 %9656, label %9657, label %9661

9657:                                             ; preds = %9651
  %9658 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9659 = call i32 @fileno(ptr noundef %9658) #12
  %9660 = call i32 @isatty(i32 noundef %9659) #12
  %.not1334 = icmp eq i32 %9660, 0
  br i1 %.not1334, label %9661, label %9662

9661:                                             ; preds = %9657, %9651
  br label %9662

9662:                                             ; preds = %9657, %9661
  %.str.6.sink4540 = phi ptr [ @.str.6, %9661 ], [ @.str.3, %9657 ]
  store i32 %9652, ptr %421, align 4, !tbaa !5
  %9663 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9664 = load i32, ptr @test_count, align 4, !tbaa !5
  %9665 = load i32, ptr %367, align 4, !tbaa !5
  %9666 = call ptr @s2n_strerror(i32 noundef %9665, ptr noundef nonnull @.str.5) #12
  %9667 = load i32, ptr %367, align 4, !tbaa !5
  %9668 = call ptr @s2n_strerror_debug(i32 noundef %9667, ptr noundef nonnull @.str.5) #12
  %9669 = load i32, ptr %421, align 4, !tbaa !5
  %9670 = call ptr @strerror(i32 noundef %9669) #12
  %9671 = load i32, ptr %421, align 4, !tbaa !5
  %9672 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9663, ptr noundef nonnull %.str.6.sink4540, i32 noundef %9664, ptr noundef nonnull @.str.147, ptr noundef nonnull @.str.2, i32 noundef 1147, ptr noundef %9666, ptr noundef %9668, ptr noundef %9670, i32 noundef %9671) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9673:                                             ; preds = %9646
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %172) #12
  store i8 0, ptr %172, align 1, !tbaa !15
  %9674 = add nsw i32 %9647, 2
  store i32 %9674, ptr @test_count, align 4, !tbaa !5
  %9675 = load ptr, ptr %169, align 8, !tbaa !9
  %9676 = call i32 @s2n_ktls_read_full_record(ptr noundef %9675, ptr noundef nonnull %172) #12
  %9677 = icmp eq i32 %9676, -1
  br i1 %9677, label %9678, label %9700

9678:                                             ; preds = %9673
  %9679 = load i32, ptr %421, align 4, !tbaa !5
  %9680 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9681 = call i32 @s2n_print_stacktrace(ptr noundef %9680) #12
  %9682 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9683 = trunc nuw i8 %9682 to i1
  br i1 %9683, label %9684, label %9688

9684:                                             ; preds = %9678
  %9685 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9686 = call i32 @fileno(ptr noundef %9685) #12
  %9687 = call i32 @isatty(i32 noundef %9686) #12
  %.not1408 = icmp eq i32 %9687, 0
  br i1 %.not1408, label %9688, label %9689

9688:                                             ; preds = %9684, %9678
  br label %9689

9689:                                             ; preds = %9684, %9688
  %.str.6.sink4549 = phi ptr [ @.str.6, %9688 ], [ @.str.3, %9684 ]
  store i32 %9679, ptr %421, align 4, !tbaa !5
  %9690 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9691 = load i32, ptr @test_count, align 4, !tbaa !5
  %9692 = load i32, ptr %367, align 4, !tbaa !5
  %9693 = call ptr @s2n_strerror(i32 noundef %9692, ptr noundef nonnull @.str.5) #12
  %9694 = load i32, ptr %367, align 4, !tbaa !5
  %9695 = call ptr @s2n_strerror_debug(i32 noundef %9694, ptr noundef nonnull @.str.5) #12
  %9696 = load i32, ptr %421, align 4, !tbaa !5
  %9697 = call ptr @strerror(i32 noundef %9696) #12
  %9698 = load i32, ptr %421, align 4, !tbaa !5
  %9699 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9690, ptr noundef nonnull %.str.6.sink4549, i32 noundef %9691, ptr noundef nonnull @.str.140, ptr noundef nonnull @.str.2, i32 noundef 1150, ptr noundef %9693, ptr noundef %9695, ptr noundef %9697, i32 noundef %9698) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9700:                                             ; preds = %9673
  %9701 = load i32, ptr @test_count, align 4, !tbaa !5
  %9702 = add nsw i32 %9701, 1
  store i32 %9702, ptr @test_count, align 4, !tbaa !5
  %9703 = load i8, ptr %172, align 1, !tbaa !15
  %9704 = icmp eq i8 %9703, 21
  br i1 %9704, label %9727, label %9705

9705:                                             ; preds = %9700
  %9706 = load i32, ptr %421, align 4, !tbaa !5
  %9707 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9708 = call i32 @s2n_print_stacktrace(ptr noundef %9707) #12
  %9709 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9710 = trunc nuw i8 %9709 to i1
  br i1 %9710, label %9711, label %9715

9711:                                             ; preds = %9705
  %9712 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9713 = call i32 @fileno(ptr noundef %9712) #12
  %9714 = call i32 @isatty(i32 noundef %9713) #12
  %.not1335 = icmp eq i32 %9714, 0
  br i1 %.not1335, label %9715, label %9716

9715:                                             ; preds = %9711, %9705
  br label %9716

9716:                                             ; preds = %9711, %9715
  %.str.6.sink4558 = phi ptr [ @.str.6, %9715 ], [ @.str.3, %9711 ]
  store i32 %9706, ptr %421, align 4, !tbaa !5
  %9717 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9718 = load i32, ptr @test_count, align 4, !tbaa !5
  %9719 = load i32, ptr %367, align 4, !tbaa !5
  %9720 = call ptr @s2n_strerror(i32 noundef %9719, ptr noundef nonnull @.str.5) #12
  %9721 = load i32, ptr %367, align 4, !tbaa !5
  %9722 = call ptr @s2n_strerror_debug(i32 noundef %9721, ptr noundef nonnull @.str.5) #12
  %9723 = load i32, ptr %421, align 4, !tbaa !5
  %9724 = call ptr @strerror(i32 noundef %9723) #12
  %9725 = load i32, ptr %421, align 4, !tbaa !5
  %9726 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9717, ptr noundef nonnull %.str.6.sink4558, i32 noundef %9718, ptr noundef nonnull @.str.141, ptr noundef nonnull @.str.2, i32 noundef 1151, ptr noundef %9720, ptr noundef %9722, ptr noundef %9724, i32 noundef %9725) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9727:                                             ; preds = %9700
  %9728 = add nsw i32 %9701, 2
  store i32 %9728, ptr @test_count, align 4, !tbaa !5
  %9729 = load ptr, ptr %169, align 8, !tbaa !9
  %9730 = getelementptr inbounds i8, ptr %9729, i64 1828
  %9731 = load i32, ptr %9730, align 4, !tbaa !74
  %9732 = icmp eq i32 %9731, 8087
  br i1 %9732, label %9755, label %9733

9733:                                             ; preds = %9727
  %9734 = load i32, ptr %421, align 4, !tbaa !5
  %9735 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9736 = call i32 @s2n_print_stacktrace(ptr noundef %9735) #12
  %9737 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9738 = trunc nuw i8 %9737 to i1
  br i1 %9738, label %9739, label %9743

9739:                                             ; preds = %9733
  %9740 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9741 = call i32 @fileno(ptr noundef %9740) #12
  %9742 = call i32 @isatty(i32 noundef %9741) #12
  %.not1336 = icmp eq i32 %9742, 0
  br i1 %.not1336, label %9743, label %9744

9743:                                             ; preds = %9739, %9733
  br label %9744

9744:                                             ; preds = %9739, %9743
  %.str.6.sink4567 = phi ptr [ @.str.6, %9743 ], [ @.str.3, %9739 ]
  store i32 %9734, ptr %421, align 4, !tbaa !5
  %9745 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9746 = load i32, ptr @test_count, align 4, !tbaa !5
  %9747 = load i32, ptr %367, align 4, !tbaa !5
  %9748 = call ptr @s2n_strerror(i32 noundef %9747, ptr noundef nonnull @.str.5) #12
  %9749 = load i32, ptr %367, align 4, !tbaa !5
  %9750 = call ptr @s2n_strerror_debug(i32 noundef %9749, ptr noundef nonnull @.str.5) #12
  %9751 = load i32, ptr %421, align 4, !tbaa !5
  %9752 = call ptr @strerror(i32 noundef %9751) #12
  %9753 = load i32, ptr %421, align 4, !tbaa !5
  %9754 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9745, ptr noundef nonnull %.str.6.sink4567, i32 noundef %9746, ptr noundef nonnull @.str.142, ptr noundef nonnull @.str.2, i32 noundef 1156, ptr noundef %9748, ptr noundef %9750, ptr noundef %9752, i32 noundef %9753) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9755:                                             ; preds = %9727
  %9756 = add nsw i32 %9701, 3
  store i32 %9756, ptr @test_count, align 4, !tbaa !5
  %9757 = getelementptr inbounds i8, ptr %9729, i64 1864
  %9758 = load i32, ptr %9757, align 8, !tbaa !75
  %9759 = icmp eq i32 %9758, 10
  br i1 %9759, label %9782, label %9760

9760:                                             ; preds = %9755
  %9761 = load i32, ptr %421, align 4, !tbaa !5
  %9762 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9763 = call i32 @s2n_print_stacktrace(ptr noundef %9762) #12
  %9764 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9765 = trunc nuw i8 %9764 to i1
  br i1 %9765, label %9766, label %9770

9766:                                             ; preds = %9760
  %9767 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9768 = call i32 @fileno(ptr noundef %9767) #12
  %9769 = call i32 @isatty(i32 noundef %9768) #12
  %.not1337 = icmp eq i32 %9769, 0
  br i1 %.not1337, label %9770, label %9771

9770:                                             ; preds = %9766, %9760
  br label %9771

9771:                                             ; preds = %9766, %9770
  %.str.6.sink4576 = phi ptr [ @.str.6, %9770 ], [ @.str.3, %9766 ]
  store i32 %9761, ptr %421, align 4, !tbaa !5
  %9772 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9773 = load i32, ptr @test_count, align 4, !tbaa !5
  %9774 = load i32, ptr %367, align 4, !tbaa !5
  %9775 = call ptr @s2n_strerror(i32 noundef %9774, ptr noundef nonnull @.str.5) #12
  %9776 = load i32, ptr %367, align 4, !tbaa !5
  %9777 = call ptr @s2n_strerror_debug(i32 noundef %9776, ptr noundef nonnull @.str.5) #12
  %9778 = load i32, ptr %421, align 4, !tbaa !5
  %9779 = call ptr @strerror(i32 noundef %9778) #12
  %9780 = load i32, ptr %421, align 4, !tbaa !5
  %9781 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9772, ptr noundef nonnull %.str.6.sink4576, i32 noundef %9773, ptr noundef nonnull @.str.148, ptr noundef nonnull @.str.2, i32 noundef 1157, ptr noundef %9775, ptr noundef %9777, ptr noundef %9779, i32 noundef %9780) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9782:                                             ; preds = %9755
  %9783 = add nsw i32 %9701, 4
  store i32 %9783, ptr @test_count, align 4, !tbaa !5
  %9784 = getelementptr inbounds i8, ptr %9729, i64 1884
  %9785 = load i32, ptr %9784, align 4, !tbaa !76
  %9786 = getelementptr inbounds i8, ptr %9729, i64 1880
  %9787 = load i32, ptr %9786, align 8, !tbaa !77
  %9788 = sub i32 %9785, %9787
  %9789 = icmp eq i32 %9788, 10
  br i1 %9789, label %9812, label %9790

9790:                                             ; preds = %9782
  %9791 = load i32, ptr %421, align 4, !tbaa !5
  %9792 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9793 = call i32 @s2n_print_stacktrace(ptr noundef %9792) #12
  %9794 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9795 = trunc nuw i8 %9794 to i1
  br i1 %9795, label %9796, label %9800

9796:                                             ; preds = %9790
  %9797 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9798 = call i32 @fileno(ptr noundef %9797) #12
  %9799 = call i32 @isatty(i32 noundef %9798) #12
  %.not1338 = icmp eq i32 %9799, 0
  br i1 %.not1338, label %9800, label %9801

9800:                                             ; preds = %9796, %9790
  br label %9801

9801:                                             ; preds = %9796, %9800
  %.str.6.sink4585 = phi ptr [ @.str.6, %9800 ], [ @.str.3, %9796 ]
  store i32 %9791, ptr %421, align 4, !tbaa !5
  %9802 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9803 = load i32, ptr @test_count, align 4, !tbaa !5
  %9804 = load i32, ptr %367, align 4, !tbaa !5
  %9805 = call ptr @s2n_strerror(i32 noundef %9804, ptr noundef nonnull @.str.5) #12
  %9806 = load i32, ptr %367, align 4, !tbaa !5
  %9807 = call ptr @s2n_strerror_debug(i32 noundef %9806, ptr noundef nonnull @.str.5) #12
  %9808 = load i32, ptr %421, align 4, !tbaa !5
  %9809 = call ptr @strerror(i32 noundef %9808) #12
  %9810 = load i32, ptr %421, align 4, !tbaa !5
  %9811 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9802, ptr noundef nonnull %.str.6.sink4585, i32 noundef %9803, ptr noundef nonnull @.str.149, ptr noundef nonnull @.str.2, i32 noundef 1158, ptr noundef %9805, ptr noundef %9807, ptr noundef %9809, i32 noundef %9810) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9812:                                             ; preds = %9782
  %9813 = getelementptr inbounds i8, ptr %9729, i64 1856
  %9814 = call ptr @s2n_stuffer_raw_read(ptr noundef nonnull %9813, i32 noundef 10) #12
  %9815 = load i32, ptr @test_count, align 4, !tbaa !5
  %9816 = add nsw i32 %9815, 1
  store i32 %9816, ptr @test_count, align 4, !tbaa !5
  %bcmp1339 = call i32 @bcmp(ptr noundef nonnull dereferenceable(10) %9814, ptr noundef nonnull dereferenceable(10) %3, i64 10)
  %9817 = icmp eq i32 %bcmp1339, 0
  br i1 %9817, label %9840, label %9818

9818:                                             ; preds = %9812
  %9819 = load i32, ptr %421, align 4, !tbaa !5
  %9820 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9821 = call i32 @s2n_print_stacktrace(ptr noundef %9820) #12
  %9822 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9823 = trunc nuw i8 %9822 to i1
  br i1 %9823, label %9824, label %9828

9824:                                             ; preds = %9818
  %9825 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9826 = call i32 @fileno(ptr noundef %9825) #12
  %9827 = call i32 @isatty(i32 noundef %9826) #12
  %.not1340 = icmp eq i32 %9827, 0
  br i1 %.not1340, label %9828, label %9829

9828:                                             ; preds = %9824, %9818
  br label %9829

9829:                                             ; preds = %9824, %9828
  %.str.6.sink4594 = phi ptr [ @.str.6, %9828 ], [ @.str.3, %9824 ]
  store i32 %9819, ptr %421, align 4, !tbaa !5
  %9830 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9831 = load i32, ptr @test_count, align 4, !tbaa !5
  %9832 = load i32, ptr %367, align 4, !tbaa !5
  %9833 = call ptr @s2n_strerror(i32 noundef %9832, ptr noundef nonnull @.str.5) #12
  %9834 = load i32, ptr %367, align 4, !tbaa !5
  %9835 = call ptr @s2n_strerror_debug(i32 noundef %9834, ptr noundef nonnull @.str.5) #12
  %9836 = load i32, ptr %421, align 4, !tbaa !5
  %9837 = call ptr @strerror(i32 noundef %9836) #12
  %9838 = load i32, ptr %421, align 4, !tbaa !5
  %9839 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9830, ptr noundef nonnull %.str.6.sink4594, i32 noundef %9831, ptr noundef nonnull @.str.150, ptr noundef nonnull @.str.2, i32 noundef 1160, ptr noundef %9833, ptr noundef %9835, ptr noundef %9837, i32 noundef %9838) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9840:                                             ; preds = %9812
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %172) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %171) #12
  %9841 = call i32 @s2n_ktls_io_stuffer_pair_free(ptr noundef nonnull %170) #12
  call void @llvm.lifetime.end.p0(i64 192, ptr nonnull %170) #12
  %9842 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %169) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %169) #12
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %168) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %173) #12
  %9843 = call ptr @s2n_connection_new(i32 noundef 1) #12
  store ptr %9843, ptr %173, align 8, !tbaa !9
  %9844 = load i32, ptr @test_count, align 4, !tbaa !5
  %9845 = add nsw i32 %9844, 1
  store i32 %9845, ptr @test_count, align 4, !tbaa !5
  %9846 = icmp eq ptr %9843, null
  br i1 %9846, label %9847, label %9869

9847:                                             ; preds = %9840
  %9848 = load i32, ptr %421, align 4, !tbaa !5
  %9849 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9850 = call i32 @s2n_print_stacktrace(ptr noundef %9849) #12
  %9851 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9852 = trunc nuw i8 %9851 to i1
  br i1 %9852, label %9853, label %9857

9853:                                             ; preds = %9847
  %9854 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9855 = call i32 @fileno(ptr noundef %9854) #12
  %9856 = call i32 @isatty(i32 noundef %9855) #12
  %.not1407 = icmp eq i32 %9856, 0
  br i1 %.not1407, label %9857, label %9858

9857:                                             ; preds = %9853, %9847
  br label %9858

9858:                                             ; preds = %9853, %9857
  %.str.6.sink4603 = phi ptr [ @.str.6, %9857 ], [ @.str.3, %9853 ]
  store i32 %9848, ptr %421, align 4, !tbaa !5
  %9859 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9860 = load i32, ptr @test_count, align 4, !tbaa !5
  %9861 = load i32, ptr %367, align 4, !tbaa !5
  %9862 = call ptr @s2n_strerror(i32 noundef %9861, ptr noundef nonnull @.str.5) #12
  %9863 = load i32, ptr %367, align 4, !tbaa !5
  %9864 = call ptr @s2n_strerror_debug(i32 noundef %9863, ptr noundef nonnull @.str.5) #12
  %9865 = load i32, ptr %421, align 4, !tbaa !5
  %9866 = call ptr @strerror(i32 noundef %9865) #12
  %9867 = load i32, ptr %421, align 4, !tbaa !5
  %9868 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9859, ptr noundef nonnull %.str.6.sink4603, i32 noundef %9860, ptr noundef nonnull @.str.79, ptr noundef nonnull @.str.2, i32 noundef 1167, ptr noundef %9862, ptr noundef %9864, ptr noundef %9866, i32 noundef %9867) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9869:                                             ; preds = %9840
  call void @llvm.lifetime.start.p0(i64 192, ptr nonnull %174) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(192) %174, i8 0, i64 192, i1 false)
  %9870 = add nsw i32 %9844, 2
  store i32 %9870, ptr @test_count, align 4, !tbaa !5
  %9871 = call i32 @s2n_test_init_ktls_io_stuffer(ptr noundef nonnull %9843, ptr noundef nonnull %9843, ptr noundef nonnull %174) #12
  %9872 = call zeroext i1 @s2n_result_is_ok(i32 %9871)
  br i1 %9872, label %9895, label %9873

9873:                                             ; preds = %9869
  %9874 = load i32, ptr %421, align 4, !tbaa !5
  %9875 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9876 = call i32 @s2n_print_stacktrace(ptr noundef %9875) #12
  %9877 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9878 = trunc nuw i8 %9877 to i1
  br i1 %9878, label %9879, label %9883

9879:                                             ; preds = %9873
  %9880 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9881 = call i32 @fileno(ptr noundef %9880) #12
  %9882 = call i32 @isatty(i32 noundef %9881) #12
  %.not1341 = icmp eq i32 %9882, 0
  br i1 %.not1341, label %9883, label %9884

9883:                                             ; preds = %9879, %9873
  br label %9884

9884:                                             ; preds = %9879, %9883
  %.str.6.sink4612 = phi ptr [ @.str.6, %9883 ], [ @.str.3, %9879 ]
  store i32 %9874, ptr %421, align 4, !tbaa !5
  %9885 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9886 = load i32, ptr @test_count, align 4, !tbaa !5
  %9887 = load i32, ptr %367, align 4, !tbaa !5
  %9888 = call ptr @s2n_strerror(i32 noundef %9887, ptr noundef nonnull @.str.5) #12
  %9889 = load i32, ptr %367, align 4, !tbaa !5
  %9890 = call ptr @s2n_strerror_debug(i32 noundef %9889, ptr noundef nonnull @.str.5) #12
  %9891 = load i32, ptr %421, align 4, !tbaa !5
  %9892 = call ptr @strerror(i32 noundef %9891) #12
  %9893 = load i32, ptr %421, align 4, !tbaa !5
  %9894 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9885, ptr noundef nonnull %.str.6.sink4612, i32 noundef %9886, ptr noundef nonnull @.str.137, ptr noundef nonnull @.str.2, i32 noundef 1171, ptr noundef %9888, ptr noundef %9890, ptr noundef %9892, i32 noundef %9893) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9895:                                             ; preds = %9869
  %9896 = load i32, ptr @test_count, align 4, !tbaa !5
  %9897 = add nsw i32 %9896, 1
  store i32 %9897, ptr @test_count, align 4, !tbaa !5
  %9898 = load ptr, ptr %173, align 8, !tbaa !9
  %9899 = getelementptr inbounds i8, ptr %9898, i64 1856
  %9900 = call i32 @s2n_stuffer_write_bytes(ptr noundef nonnull %9899, ptr noundef nonnull %3, i32 noundef 8192) #12
  %9901 = icmp eq i32 %9900, -1
  br i1 %9901, label %9902, label %9924

9902:                                             ; preds = %9895
  %9903 = load i32, ptr %421, align 4, !tbaa !5
  %9904 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9905 = call i32 @s2n_print_stacktrace(ptr noundef %9904) #12
  %9906 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9907 = trunc nuw i8 %9906 to i1
  br i1 %9907, label %9908, label %9912

9908:                                             ; preds = %9902
  %9909 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9910 = call i32 @fileno(ptr noundef %9909) #12
  %9911 = call i32 @isatty(i32 noundef %9910) #12
  %.not1406 = icmp eq i32 %9911, 0
  br i1 %.not1406, label %9912, label %9913

9912:                                             ; preds = %9908, %9902
  br label %9913

9913:                                             ; preds = %9908, %9912
  %.str.6.sink4621 = phi ptr [ @.str.6, %9912 ], [ @.str.3, %9908 ]
  store i32 %9903, ptr %421, align 4, !tbaa !5
  %9914 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9915 = load i32, ptr @test_count, align 4, !tbaa !5
  %9916 = load i32, ptr %367, align 4, !tbaa !5
  %9917 = call ptr @s2n_strerror(i32 noundef %9916, ptr noundef nonnull @.str.5) #12
  %9918 = load i32, ptr %367, align 4, !tbaa !5
  %9919 = call ptr @s2n_strerror_debug(i32 noundef %9918, ptr noundef nonnull @.str.5) #12
  %9920 = load i32, ptr %421, align 4, !tbaa !5
  %9921 = call ptr @strerror(i32 noundef %9920) #12
  %9922 = load i32, ptr %421, align 4, !tbaa !5
  %9923 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9914, ptr noundef nonnull %.str.6.sink4621, i32 noundef %9915, ptr noundef nonnull @.str.151, ptr noundef nonnull @.str.2, i32 noundef 1176, ptr noundef %9917, ptr noundef %9919, ptr noundef %9921, i32 noundef %9922) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9924:                                             ; preds = %9895
  %9925 = load i32, ptr @test_count, align 4, !tbaa !5
  %9926 = add nsw i32 %9925, 1
  store i32 %9926, ptr @test_count, align 4, !tbaa !5
  %9927 = load ptr, ptr %173, align 8, !tbaa !9
  %9928 = getelementptr inbounds i8, ptr %9927, i64 1816
  %9929 = call i32 @s2n_stuffer_resize(ptr noundef nonnull %9928, i32 noundef 8192) #12
  %9930 = icmp eq i32 %9929, -1
  br i1 %9930, label %9931, label %9953

9931:                                             ; preds = %9924
  %9932 = load i32, ptr %421, align 4, !tbaa !5
  %9933 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9934 = call i32 @s2n_print_stacktrace(ptr noundef %9933) #12
  %9935 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9936 = trunc nuw i8 %9935 to i1
  br i1 %9936, label %9937, label %9941

9937:                                             ; preds = %9931
  %9938 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9939 = call i32 @fileno(ptr noundef %9938) #12
  %9940 = call i32 @isatty(i32 noundef %9939) #12
  %.not1405 = icmp eq i32 %9940, 0
  br i1 %.not1405, label %9941, label %9942

9941:                                             ; preds = %9937, %9931
  br label %9942

9942:                                             ; preds = %9937, %9941
  %.str.6.sink4630 = phi ptr [ @.str.6, %9941 ], [ @.str.3, %9937 ]
  store i32 %9932, ptr %421, align 4, !tbaa !5
  %9943 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9944 = load i32, ptr @test_count, align 4, !tbaa !5
  %9945 = load i32, ptr %367, align 4, !tbaa !5
  %9946 = call ptr @s2n_strerror(i32 noundef %9945, ptr noundef nonnull @.str.5) #12
  %9947 = load i32, ptr %367, align 4, !tbaa !5
  %9948 = call ptr @s2n_strerror_debug(i32 noundef %9947, ptr noundef nonnull @.str.5) #12
  %9949 = load i32, ptr %421, align 4, !tbaa !5
  %9950 = call ptr @strerror(i32 noundef %9949) #12
  %9951 = load i32, ptr %421, align 4, !tbaa !5
  %9952 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9943, ptr noundef nonnull %.str.6.sink4630, i32 noundef %9944, ptr noundef nonnull @.str.152, ptr noundef nonnull @.str.2, i32 noundef 1178, ptr noundef %9946, ptr noundef %9948, ptr noundef %9950, i32 noundef %9951) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9953:                                             ; preds = %9924
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %175) #12
  store i64 0, ptr %175, align 8, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %176) #12
  %9954 = getelementptr inbounds i8, ptr %3, i64 8192
  store ptr %9954, ptr %176, align 8, !tbaa !16
  %9955 = getelementptr inbounds i8, ptr %176, i64 8
  store i64 8192, ptr %9955, align 8, !tbaa !19
  %9956 = load i32, ptr @test_count, align 4, !tbaa !5
  %9957 = add nsw i32 %9956, 1
  store i32 %9957, ptr @test_count, align 4, !tbaa !5
  %9958 = call i32 @s2n_ktls_sendmsg(ptr noundef nonnull %174, i8 noundef zeroext 21, ptr noundef nonnull %176, i64 noundef 1, ptr noundef nonnull %161, ptr noundef nonnull %175) #12
  %9959 = call zeroext i1 @s2n_result_is_ok(i32 %9958)
  br i1 %9959, label %9982, label %9960

9960:                                             ; preds = %9953
  %9961 = load i32, ptr %421, align 4, !tbaa !5
  %9962 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9963 = call i32 @s2n_print_stacktrace(ptr noundef %9962) #12
  %9964 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9965 = trunc nuw i8 %9964 to i1
  br i1 %9965, label %9966, label %9970

9966:                                             ; preds = %9960
  %9967 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9968 = call i32 @fileno(ptr noundef %9967) #12
  %9969 = call i32 @isatty(i32 noundef %9968) #12
  %.not1342 = icmp eq i32 %9969, 0
  br i1 %.not1342, label %9970, label %9971

9970:                                             ; preds = %9966, %9960
  br label %9971

9971:                                             ; preds = %9966, %9970
  %.str.6.sink4639 = phi ptr [ @.str.6, %9970 ], [ @.str.3, %9966 ]
  store i32 %9961, ptr %421, align 4, !tbaa !5
  %9972 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9973 = load i32, ptr @test_count, align 4, !tbaa !5
  %9974 = load i32, ptr %367, align 4, !tbaa !5
  %9975 = call ptr @s2n_strerror(i32 noundef %9974, ptr noundef nonnull @.str.5) #12
  %9976 = load i32, ptr %367, align 4, !tbaa !5
  %9977 = call ptr @s2n_strerror_debug(i32 noundef %9976, ptr noundef nonnull @.str.5) #12
  %9978 = load i32, ptr %421, align 4, !tbaa !5
  %9979 = call ptr @strerror(i32 noundef %9978) #12
  %9980 = load i32, ptr %421, align 4, !tbaa !5
  %9981 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9972, ptr noundef nonnull %.str.6.sink4639, i32 noundef %9973, ptr noundef nonnull @.str.153, ptr noundef nonnull @.str.2, i32 noundef 1186, ptr noundef %9975, ptr noundef %9977, ptr noundef %9979, i32 noundef %9980) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9982:                                             ; preds = %9953
  %9983 = load i32, ptr @test_count, align 4, !tbaa !5
  %9984 = add nsw i32 %9983, 1
  store i32 %9984, ptr @test_count, align 4, !tbaa !5
  %9985 = load i64, ptr %175, align 8, !tbaa !20
  %9986 = load i64, ptr %9955, align 8, !tbaa !19
  %9987 = icmp eq i64 %9985, %9986
  br i1 %9987, label %10010, label %9988

9988:                                             ; preds = %9982
  %9989 = load i32, ptr %421, align 4, !tbaa !5
  %9990 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9991 = call i32 @s2n_print_stacktrace(ptr noundef %9990) #12
  %9992 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9993 = trunc nuw i8 %9992 to i1
  br i1 %9993, label %9994, label %9998

9994:                                             ; preds = %9988
  %9995 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9996 = call i32 @fileno(ptr noundef %9995) #12
  %9997 = call i32 @isatty(i32 noundef %9996) #12
  %.not1343 = icmp eq i32 %9997, 0
  br i1 %.not1343, label %9998, label %9999

9998:                                             ; preds = %9994, %9988
  br label %9999

9999:                                             ; preds = %9994, %9998
  %.str.6.sink4648 = phi ptr [ @.str.6, %9998 ], [ @.str.3, %9994 ]
  store i32 %9989, ptr %421, align 4, !tbaa !5
  %10000 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10001 = load i32, ptr @test_count, align 4, !tbaa !5
  %10002 = load i32, ptr %367, align 4, !tbaa !5
  %10003 = call ptr @s2n_strerror(i32 noundef %10002, ptr noundef nonnull @.str.5) #12
  %10004 = load i32, ptr %367, align 4, !tbaa !5
  %10005 = call ptr @s2n_strerror_debug(i32 noundef %10004, ptr noundef nonnull @.str.5) #12
  %10006 = load i32, ptr %421, align 4, !tbaa !5
  %10007 = call ptr @strerror(i32 noundef %10006) #12
  %10008 = load i32, ptr %421, align 4, !tbaa !5
  %10009 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10000, ptr noundef nonnull %.str.6.sink4648, i32 noundef %10001, ptr noundef nonnull @.str.154, ptr noundef nonnull @.str.2, i32 noundef 1187, ptr noundef %10003, ptr noundef %10005, ptr noundef %10007, i32 noundef %10008) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10010:                                            ; preds = %9982
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %177) #12
  store i8 0, ptr %177, align 1, !tbaa !15
  %10011 = add nsw i32 %9983, 2
  store i32 %10011, ptr @test_count, align 4, !tbaa !5
  %10012 = load ptr, ptr %173, align 8, !tbaa !9
  %10013 = call i32 @s2n_ktls_read_full_record(ptr noundef %10012, ptr noundef nonnull %177) #12
  %10014 = icmp eq i32 %10013, -1
  br i1 %10014, label %10015, label %10037

10015:                                            ; preds = %10010
  %10016 = load i32, ptr %421, align 4, !tbaa !5
  %10017 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10018 = call i32 @s2n_print_stacktrace(ptr noundef %10017) #12
  %10019 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10020 = trunc nuw i8 %10019 to i1
  br i1 %10020, label %10021, label %10025

10021:                                            ; preds = %10015
  %10022 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10023 = call i32 @fileno(ptr noundef %10022) #12
  %10024 = call i32 @isatty(i32 noundef %10023) #12
  %.not1404 = icmp eq i32 %10024, 0
  br i1 %.not1404, label %10025, label %10026

10025:                                            ; preds = %10021, %10015
  br label %10026

10026:                                            ; preds = %10021, %10025
  %.str.6.sink4657 = phi ptr [ @.str.6, %10025 ], [ @.str.3, %10021 ]
  store i32 %10016, ptr %421, align 4, !tbaa !5
  %10027 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10028 = load i32, ptr @test_count, align 4, !tbaa !5
  %10029 = load i32, ptr %367, align 4, !tbaa !5
  %10030 = call ptr @s2n_strerror(i32 noundef %10029, ptr noundef nonnull @.str.5) #12
  %10031 = load i32, ptr %367, align 4, !tbaa !5
  %10032 = call ptr @s2n_strerror_debug(i32 noundef %10031, ptr noundef nonnull @.str.5) #12
  %10033 = load i32, ptr %421, align 4, !tbaa !5
  %10034 = call ptr @strerror(i32 noundef %10033) #12
  %10035 = load i32, ptr %421, align 4, !tbaa !5
  %10036 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10027, ptr noundef nonnull %.str.6.sink4657, i32 noundef %10028, ptr noundef nonnull @.str.140, ptr noundef nonnull @.str.2, i32 noundef 1193, ptr noundef %10030, ptr noundef %10032, ptr noundef %10034, i32 noundef %10035) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10037:                                            ; preds = %10010
  %10038 = load i32, ptr @test_count, align 4, !tbaa !5
  %10039 = add nsw i32 %10038, 1
  store i32 %10039, ptr @test_count, align 4, !tbaa !5
  %10040 = load i8, ptr %177, align 1, !tbaa !15
  %10041 = icmp eq i8 %10040, 23
  br i1 %10041, label %10064, label %10042

10042:                                            ; preds = %10037
  %10043 = load i32, ptr %421, align 4, !tbaa !5
  %10044 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10045 = call i32 @s2n_print_stacktrace(ptr noundef %10044) #12
  %10046 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10047 = trunc nuw i8 %10046 to i1
  br i1 %10047, label %10048, label %10052

10048:                                            ; preds = %10042
  %10049 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10050 = call i32 @fileno(ptr noundef %10049) #12
  %10051 = call i32 @isatty(i32 noundef %10050) #12
  %.not1344 = icmp eq i32 %10051, 0
  br i1 %.not1344, label %10052, label %10053

10052:                                            ; preds = %10048, %10042
  br label %10053

10053:                                            ; preds = %10048, %10052
  %.str.6.sink4666 = phi ptr [ @.str.6, %10052 ], [ @.str.3, %10048 ]
  store i32 %10043, ptr %421, align 4, !tbaa !5
  %10054 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10055 = load i32, ptr @test_count, align 4, !tbaa !5
  %10056 = load i32, ptr %367, align 4, !tbaa !5
  %10057 = call ptr @s2n_strerror(i32 noundef %10056, ptr noundef nonnull @.str.5) #12
  %10058 = load i32, ptr %367, align 4, !tbaa !5
  %10059 = call ptr @s2n_strerror_debug(i32 noundef %10058, ptr noundef nonnull @.str.5) #12
  %10060 = load i32, ptr %421, align 4, !tbaa !5
  %10061 = call ptr @strerror(i32 noundef %10060) #12
  %10062 = load i32, ptr %421, align 4, !tbaa !5
  %10063 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10054, ptr noundef nonnull %.str.6.sink4666, i32 noundef %10055, ptr noundef nonnull @.str.155, ptr noundef nonnull @.str.2, i32 noundef 1194, ptr noundef %10057, ptr noundef %10059, ptr noundef %10061, i32 noundef %10062) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10064:                                            ; preds = %10037
  %10065 = add nsw i32 %10038, 2
  store i32 %10065, ptr @test_count, align 4, !tbaa !5
  %10066 = load ptr, ptr %173, align 8, !tbaa !9
  %10067 = getelementptr inbounds i8, ptr %10066, i64 1884
  %10068 = load i32, ptr %10067, align 4, !tbaa !76
  %10069 = getelementptr inbounds i8, ptr %10066, i64 1880
  %10070 = load i32, ptr %10069, align 8, !tbaa !77
  %10071 = sub i32 %10068, %10070
  %10072 = icmp eq i32 %10071, 8192
  br i1 %10072, label %10095, label %10073

10073:                                            ; preds = %10064
  %10074 = load i32, ptr %421, align 4, !tbaa !5
  %10075 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10076 = call i32 @s2n_print_stacktrace(ptr noundef %10075) #12
  %10077 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10078 = trunc nuw i8 %10077 to i1
  br i1 %10078, label %10079, label %10083

10079:                                            ; preds = %10073
  %10080 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10081 = call i32 @fileno(ptr noundef %10080) #12
  %10082 = call i32 @isatty(i32 noundef %10081) #12
  %.not1345 = icmp eq i32 %10082, 0
  br i1 %.not1345, label %10083, label %10084

10083:                                            ; preds = %10079, %10073
  br label %10084

10084:                                            ; preds = %10079, %10083
  %.str.6.sink4675 = phi ptr [ @.str.6, %10083 ], [ @.str.3, %10079 ]
  store i32 %10074, ptr %421, align 4, !tbaa !5
  %10085 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10086 = load i32, ptr @test_count, align 4, !tbaa !5
  %10087 = load i32, ptr %367, align 4, !tbaa !5
  %10088 = call ptr @s2n_strerror(i32 noundef %10087, ptr noundef nonnull @.str.5) #12
  %10089 = load i32, ptr %367, align 4, !tbaa !5
  %10090 = call ptr @s2n_strerror_debug(i32 noundef %10089, ptr noundef nonnull @.str.5) #12
  %10091 = load i32, ptr %421, align 4, !tbaa !5
  %10092 = call ptr @strerror(i32 noundef %10091) #12
  %10093 = load i32, ptr %421, align 4, !tbaa !5
  %10094 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10085, ptr noundef nonnull %.str.6.sink4675, i32 noundef %10086, ptr noundef nonnull @.str.156, ptr noundef nonnull @.str.2, i32 noundef 1195, ptr noundef %10088, ptr noundef %10090, ptr noundef %10092, i32 noundef %10093) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10095:                                            ; preds = %10064
  %10096 = getelementptr inbounds i8, ptr %10066, i64 1856
  %10097 = call ptr @s2n_stuffer_raw_read(ptr noundef nonnull %10096, i32 noundef 8192) #12
  %10098 = load i32, ptr @test_count, align 4, !tbaa !5
  %10099 = add nsw i32 %10098, 1
  store i32 %10099, ptr @test_count, align 4, !tbaa !5
  %bcmp1346 = call i32 @bcmp(ptr noundef nonnull dereferenceable(8192) %10097, ptr noundef nonnull dereferenceable(8192) %3, i64 8192)
  %10100 = icmp eq i32 %bcmp1346, 0
  br i1 %10100, label %10123, label %10101

10101:                                            ; preds = %10095
  %10102 = load i32, ptr %421, align 4, !tbaa !5
  %10103 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10104 = call i32 @s2n_print_stacktrace(ptr noundef %10103) #12
  %10105 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10106 = trunc nuw i8 %10105 to i1
  br i1 %10106, label %10107, label %10111

10107:                                            ; preds = %10101
  %10108 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10109 = call i32 @fileno(ptr noundef %10108) #12
  %10110 = call i32 @isatty(i32 noundef %10109) #12
  %.not1347 = icmp eq i32 %10110, 0
  br i1 %.not1347, label %10111, label %10112

10111:                                            ; preds = %10107, %10101
  br label %10112

10112:                                            ; preds = %10107, %10111
  %.str.6.sink4684 = phi ptr [ @.str.6, %10111 ], [ @.str.3, %10107 ]
  store i32 %10102, ptr %421, align 4, !tbaa !5
  %10113 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10114 = load i32, ptr @test_count, align 4, !tbaa !5
  %10115 = load i32, ptr %367, align 4, !tbaa !5
  %10116 = call ptr @s2n_strerror(i32 noundef %10115, ptr noundef nonnull @.str.5) #12
  %10117 = load i32, ptr %367, align 4, !tbaa !5
  %10118 = call ptr @s2n_strerror_debug(i32 noundef %10117, ptr noundef nonnull @.str.5) #12
  %10119 = load i32, ptr %421, align 4, !tbaa !5
  %10120 = call ptr @strerror(i32 noundef %10119) #12
  %10121 = load i32, ptr %421, align 4, !tbaa !5
  %10122 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10113, ptr noundef nonnull %.str.6.sink4684, i32 noundef %10114, ptr noundef nonnull @.str.157, ptr noundef nonnull @.str.2, i32 noundef 1197, ptr noundef %10116, ptr noundef %10118, ptr noundef %10120, i32 noundef %10121) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10123:                                            ; preds = %10095
  %10124 = add nsw i32 %10098, 2
  store i32 %10124, ptr @test_count, align 4, !tbaa !5
  %10125 = load ptr, ptr %173, align 8, !tbaa !9
  %10126 = getelementptr inbounds i8, ptr %10125, i64 1856
  %10127 = call i32 @s2n_stuffer_wipe(ptr noundef nonnull %10126) #12
  %10128 = icmp eq i32 %10127, -1
  br i1 %10128, label %10129, label %10151

10129:                                            ; preds = %10123
  %10130 = load i32, ptr %421, align 4, !tbaa !5
  %10131 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10132 = call i32 @s2n_print_stacktrace(ptr noundef %10131) #12
  %10133 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10134 = trunc nuw i8 %10133 to i1
  br i1 %10134, label %10135, label %10139

10135:                                            ; preds = %10129
  %10136 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10137 = call i32 @fileno(ptr noundef %10136) #12
  %10138 = call i32 @isatty(i32 noundef %10137) #12
  %.not1403 = icmp eq i32 %10138, 0
  br i1 %.not1403, label %10139, label %10140

10139:                                            ; preds = %10135, %10129
  br label %10140

10140:                                            ; preds = %10135, %10139
  %.str.6.sink4693 = phi ptr [ @.str.6, %10139 ], [ @.str.3, %10135 ]
  store i32 %10130, ptr %421, align 4, !tbaa !5
  %10141 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10142 = load i32, ptr @test_count, align 4, !tbaa !5
  %10143 = load i32, ptr %367, align 4, !tbaa !5
  %10144 = call ptr @s2n_strerror(i32 noundef %10143, ptr noundef nonnull @.str.5) #12
  %10145 = load i32, ptr %367, align 4, !tbaa !5
  %10146 = call ptr @s2n_strerror_debug(i32 noundef %10145, ptr noundef nonnull @.str.5) #12
  %10147 = load i32, ptr %421, align 4, !tbaa !5
  %10148 = call ptr @strerror(i32 noundef %10147) #12
  %10149 = load i32, ptr %421, align 4, !tbaa !5
  %10150 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10141, ptr noundef nonnull %.str.6.sink4693, i32 noundef %10142, ptr noundef nonnull @.str.158, ptr noundef nonnull @.str.2, i32 noundef 1199, ptr noundef %10144, ptr noundef %10146, ptr noundef %10148, i32 noundef %10149) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10151:                                            ; preds = %10123
  %10152 = load i32, ptr @test_count, align 4, !tbaa !5
  %10153 = add nsw i32 %10152, 1
  store i32 %10153, ptr @test_count, align 4, !tbaa !5
  %10154 = load ptr, ptr %173, align 8, !tbaa !9
  %10155 = call i32 @s2n_ktls_read_full_record(ptr noundef %10154, ptr noundef nonnull %177) #12
  %10156 = icmp eq i32 %10155, -1
  br i1 %10156, label %10157, label %10179

10157:                                            ; preds = %10151
  %10158 = load i32, ptr %421, align 4, !tbaa !5
  %10159 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10160 = call i32 @s2n_print_stacktrace(ptr noundef %10159) #12
  %10161 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10162 = trunc nuw i8 %10161 to i1
  br i1 %10162, label %10163, label %10167

10163:                                            ; preds = %10157
  %10164 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10165 = call i32 @fileno(ptr noundef %10164) #12
  %10166 = call i32 @isatty(i32 noundef %10165) #12
  %.not1402 = icmp eq i32 %10166, 0
  br i1 %.not1402, label %10167, label %10168

10167:                                            ; preds = %10163, %10157
  br label %10168

10168:                                            ; preds = %10163, %10167
  %.str.6.sink4702 = phi ptr [ @.str.6, %10167 ], [ @.str.3, %10163 ]
  store i32 %10158, ptr %421, align 4, !tbaa !5
  %10169 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10170 = load i32, ptr @test_count, align 4, !tbaa !5
  %10171 = load i32, ptr %367, align 4, !tbaa !5
  %10172 = call ptr @s2n_strerror(i32 noundef %10171, ptr noundef nonnull @.str.5) #12
  %10173 = load i32, ptr %367, align 4, !tbaa !5
  %10174 = call ptr @s2n_strerror_debug(i32 noundef %10173, ptr noundef nonnull @.str.5) #12
  %10175 = load i32, ptr %421, align 4, !tbaa !5
  %10176 = call ptr @strerror(i32 noundef %10175) #12
  %10177 = load i32, ptr %421, align 4, !tbaa !5
  %10178 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10169, ptr noundef nonnull %.str.6.sink4702, i32 noundef %10170, ptr noundef nonnull @.str.140, ptr noundef nonnull @.str.2, i32 noundef 1202, ptr noundef %10172, ptr noundef %10174, ptr noundef %10176, i32 noundef %10177) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10179:                                            ; preds = %10151
  %10180 = load i32, ptr @test_count, align 4, !tbaa !5
  %10181 = add nsw i32 %10180, 1
  store i32 %10181, ptr @test_count, align 4, !tbaa !5
  %10182 = load i8, ptr %177, align 1, !tbaa !15
  %10183 = icmp eq i8 %10182, 21
  br i1 %10183, label %10206, label %10184

10184:                                            ; preds = %10179
  %10185 = load i32, ptr %421, align 4, !tbaa !5
  %10186 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10187 = call i32 @s2n_print_stacktrace(ptr noundef %10186) #12
  %10188 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10189 = trunc nuw i8 %10188 to i1
  br i1 %10189, label %10190, label %10194

10190:                                            ; preds = %10184
  %10191 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10192 = call i32 @fileno(ptr noundef %10191) #12
  %10193 = call i32 @isatty(i32 noundef %10192) #12
  %.not1348 = icmp eq i32 %10193, 0
  br i1 %.not1348, label %10194, label %10195

10194:                                            ; preds = %10190, %10184
  br label %10195

10195:                                            ; preds = %10190, %10194
  %.str.6.sink4711 = phi ptr [ @.str.6, %10194 ], [ @.str.3, %10190 ]
  store i32 %10185, ptr %421, align 4, !tbaa !5
  %10196 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10197 = load i32, ptr @test_count, align 4, !tbaa !5
  %10198 = load i32, ptr %367, align 4, !tbaa !5
  %10199 = call ptr @s2n_strerror(i32 noundef %10198, ptr noundef nonnull @.str.5) #12
  %10200 = load i32, ptr %367, align 4, !tbaa !5
  %10201 = call ptr @s2n_strerror_debug(i32 noundef %10200, ptr noundef nonnull @.str.5) #12
  %10202 = load i32, ptr %421, align 4, !tbaa !5
  %10203 = call ptr @strerror(i32 noundef %10202) #12
  %10204 = load i32, ptr %421, align 4, !tbaa !5
  %10205 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10196, ptr noundef nonnull %.str.6.sink4711, i32 noundef %10197, ptr noundef nonnull @.str.141, ptr noundef nonnull @.str.2, i32 noundef 1203, ptr noundef %10199, ptr noundef %10201, ptr noundef %10203, i32 noundef %10204) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10206:                                            ; preds = %10179
  %10207 = add nsw i32 %10180, 2
  store i32 %10207, ptr @test_count, align 4, !tbaa !5
  %10208 = load ptr, ptr %173, align 8, !tbaa !9
  %10209 = getelementptr inbounds i8, ptr %10208, i64 1884
  %10210 = load i32, ptr %10209, align 4, !tbaa !76
  %10211 = getelementptr inbounds i8, ptr %10208, i64 1880
  %10212 = load i32, ptr %10211, align 8, !tbaa !77
  %10213 = sub i32 %10210, %10212
  %10214 = zext i32 %10213 to i64
  %10215 = load i64, ptr %9955, align 8, !tbaa !19
  %10216 = icmp eq i64 %10215, %10214
  br i1 %10216, label %10239, label %10217

10217:                                            ; preds = %10206
  %10218 = load i32, ptr %421, align 4, !tbaa !5
  %10219 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10220 = call i32 @s2n_print_stacktrace(ptr noundef %10219) #12
  %10221 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10222 = trunc nuw i8 %10221 to i1
  br i1 %10222, label %10223, label %10227

10223:                                            ; preds = %10217
  %10224 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10225 = call i32 @fileno(ptr noundef %10224) #12
  %10226 = call i32 @isatty(i32 noundef %10225) #12
  %.not1349 = icmp eq i32 %10226, 0
  br i1 %.not1349, label %10227, label %10228

10227:                                            ; preds = %10223, %10217
  br label %10228

10228:                                            ; preds = %10223, %10227
  %.str.6.sink4720 = phi ptr [ @.str.6, %10227 ], [ @.str.3, %10223 ]
  store i32 %10218, ptr %421, align 4, !tbaa !5
  %10229 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10230 = load i32, ptr @test_count, align 4, !tbaa !5
  %10231 = load i32, ptr %367, align 4, !tbaa !5
  %10232 = call ptr @s2n_strerror(i32 noundef %10231, ptr noundef nonnull @.str.5) #12
  %10233 = load i32, ptr %367, align 4, !tbaa !5
  %10234 = call ptr @s2n_strerror_debug(i32 noundef %10233, ptr noundef nonnull @.str.5) #12
  %10235 = load i32, ptr %421, align 4, !tbaa !5
  %10236 = call ptr @strerror(i32 noundef %10235) #12
  %10237 = load i32, ptr %421, align 4, !tbaa !5
  %10238 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10229, ptr noundef nonnull %.str.6.sink4720, i32 noundef %10230, ptr noundef nonnull @.str.159, ptr noundef nonnull @.str.2, i32 noundef 1204, ptr noundef %10232, ptr noundef %10234, ptr noundef %10236, i32 noundef %10237) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10239:                                            ; preds = %10206
  %10240 = getelementptr inbounds i8, ptr %10208, i64 1856
  %10241 = call ptr @s2n_stuffer_raw_read(ptr noundef nonnull %10240, i32 noundef %10213) #12
  %10242 = load i64, ptr %9955, align 8, !tbaa !19
  %.not1350 = icmp eq i64 %10242, 0
  br i1 %.not1350, label %10270, label %10243

10243:                                            ; preds = %10239
  %10244 = load i32, ptr @test_count, align 4, !tbaa !5
  %10245 = add nsw i32 %10244, 1
  store i32 %10245, ptr @test_count, align 4, !tbaa !5
  %10246 = load ptr, ptr %176, align 8, !tbaa !16
  %bcmp1351 = call i32 @bcmp(ptr %10241, ptr %10246, i64 %10242)
  %10247 = icmp eq i32 %bcmp1351, 0
  br i1 %10247, label %10270, label %10248

10248:                                            ; preds = %10243
  %10249 = load i32, ptr %421, align 4, !tbaa !5
  %10250 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10251 = call i32 @s2n_print_stacktrace(ptr noundef %10250) #12
  %10252 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10253 = trunc nuw i8 %10252 to i1
  br i1 %10253, label %10254, label %10258

10254:                                            ; preds = %10248
  %10255 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10256 = call i32 @fileno(ptr noundef %10255) #12
  %10257 = call i32 @isatty(i32 noundef %10256) #12
  %.not1352 = icmp eq i32 %10257, 0
  br i1 %.not1352, label %10258, label %10259

10258:                                            ; preds = %10254, %10248
  br label %10259

10259:                                            ; preds = %10254, %10258
  %.str.6.sink4729 = phi ptr [ @.str.6, %10258 ], [ @.str.3, %10254 ]
  store i32 %10249, ptr %421, align 4, !tbaa !5
  %10260 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10261 = load i32, ptr @test_count, align 4, !tbaa !5
  %10262 = load i32, ptr %367, align 4, !tbaa !5
  %10263 = call ptr @s2n_strerror(i32 noundef %10262, ptr noundef nonnull @.str.5) #12
  %10264 = load i32, ptr %367, align 4, !tbaa !5
  %10265 = call ptr @s2n_strerror_debug(i32 noundef %10264, ptr noundef nonnull @.str.5) #12
  %10266 = load i32, ptr %421, align 4, !tbaa !5
  %10267 = call ptr @strerror(i32 noundef %10266) #12
  %10268 = load i32, ptr %421, align 4, !tbaa !5
  %10269 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10260, ptr noundef nonnull %.str.6.sink4729, i32 noundef %10261, ptr noundef nonnull @.str.160, ptr noundef nonnull @.str.2, i32 noundef 1206, ptr noundef %10263, ptr noundef %10265, ptr noundef %10267, i32 noundef %10268) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10270:                                            ; preds = %10243, %10239
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %177) #12
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %176) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %175) #12
  %10271 = call i32 @s2n_ktls_io_stuffer_pair_free(ptr noundef nonnull %174) #12
  call void @llvm.lifetime.end.p0(i64 192, ptr nonnull %174) #12
  %10272 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %173) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %173) #12
  %10273 = load i32, ptr @test_count, align 4, !tbaa !5
  %10274 = add nsw i32 %10273, 2
  store i32 %10274, ptr @test_count, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %178) #12
  %10275 = load i64, ptr %160, align 8, !tbaa !9
  store i64 %10275, ptr %178, align 8, !tbaa !9
  %10276 = getelementptr inbounds i8, ptr %178, i64 8
  store i64 10, ptr %10276, align 8, !tbaa !19
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %179) #12
  %10277 = call ptr @s2n_connection_new(i32 noundef 1) #12
  store ptr %10277, ptr %179, align 8, !tbaa !9
  %10278 = load i32, ptr @test_count, align 4, !tbaa !5
  %10279 = add nsw i32 %10278, 1
  store i32 %10279, ptr @test_count, align 4, !tbaa !5
  %10280 = icmp eq ptr %10277, null
  br i1 %10280, label %10281, label %10303

10281:                                            ; preds = %10270
  %10282 = load i32, ptr %421, align 4, !tbaa !5
  %10283 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10284 = call i32 @s2n_print_stacktrace(ptr noundef %10283) #12
  %10285 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10286 = trunc nuw i8 %10285 to i1
  br i1 %10286, label %10287, label %10291

10287:                                            ; preds = %10281
  %10288 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10289 = call i32 @fileno(ptr noundef %10288) #12
  %10290 = call i32 @isatty(i32 noundef %10289) #12
  %.not1401 = icmp eq i32 %10290, 0
  br i1 %.not1401, label %10291, label %10292

10291:                                            ; preds = %10287, %10281
  br label %10292

10292:                                            ; preds = %10287, %10291
  %.str.6.sink4738 = phi ptr [ @.str.6, %10291 ], [ @.str.3, %10287 ]
  store i32 %10282, ptr %421, align 4, !tbaa !5
  %10293 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10294 = load i32, ptr @test_count, align 4, !tbaa !5
  %10295 = load i32, ptr %367, align 4, !tbaa !5
  %10296 = call ptr @s2n_strerror(i32 noundef %10295, ptr noundef nonnull @.str.5) #12
  %10297 = load i32, ptr %367, align 4, !tbaa !5
  %10298 = call ptr @s2n_strerror_debug(i32 noundef %10297, ptr noundef nonnull @.str.5) #12
  %10299 = load i32, ptr %421, align 4, !tbaa !5
  %10300 = call ptr @strerror(i32 noundef %10299) #12
  %10301 = load i32, ptr %421, align 4, !tbaa !5
  %10302 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10293, ptr noundef nonnull %.str.6.sink4738, i32 noundef %10294, ptr noundef nonnull @.str.79, ptr noundef nonnull @.str.2, i32 noundef 1219, ptr noundef %10296, ptr noundef %10298, ptr noundef %10300, i32 noundef %10301) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10303:                                            ; preds = %10270
  call void @llvm.lifetime.start.p0(i64 192, ptr nonnull %180) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(192) %180, i8 0, i64 192, i1 false)
  %10304 = add nsw i32 %10278, 2
  store i32 %10304, ptr @test_count, align 4, !tbaa !5
  %10305 = call i32 @s2n_test_init_ktls_io_stuffer(ptr noundef nonnull %10277, ptr noundef nonnull %10277, ptr noundef nonnull %180) #12
  %10306 = call zeroext i1 @s2n_result_is_ok(i32 %10305)
  br i1 %10306, label %.preheader1518.preheader, label %10307

.preheader1518.preheader:                         ; preds = %10303
  %.pre1540 = load i32, ptr @test_count, align 4, !tbaa !5
  br label %.preheader1518

10307:                                            ; preds = %10303
  %10308 = load i32, ptr %421, align 4, !tbaa !5
  %10309 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10310 = call i32 @s2n_print_stacktrace(ptr noundef %10309) #12
  %10311 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10312 = trunc nuw i8 %10311 to i1
  br i1 %10312, label %10313, label %10317

10313:                                            ; preds = %10307
  %10314 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10315 = call i32 @fileno(ptr noundef %10314) #12
  %10316 = call i32 @isatty(i32 noundef %10315) #12
  %.not1353 = icmp eq i32 %10316, 0
  br i1 %.not1353, label %10317, label %10318

10317:                                            ; preds = %10313, %10307
  br label %10318

10318:                                            ; preds = %10313, %10317
  %.str.6.sink4747 = phi ptr [ @.str.6, %10317 ], [ @.str.3, %10313 ]
  store i32 %10308, ptr %421, align 4, !tbaa !5
  %10319 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10320 = load i32, ptr @test_count, align 4, !tbaa !5
  %10321 = load i32, ptr %367, align 4, !tbaa !5
  %10322 = call ptr @s2n_strerror(i32 noundef %10321, ptr noundef nonnull @.str.5) #12
  %10323 = load i32, ptr %367, align 4, !tbaa !5
  %10324 = call ptr @s2n_strerror_debug(i32 noundef %10323, ptr noundef nonnull @.str.5) #12
  %10325 = load i32, ptr %421, align 4, !tbaa !5
  %10326 = call ptr @strerror(i32 noundef %10325) #12
  %10327 = load i32, ptr %421, align 4, !tbaa !5
  %10328 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10319, ptr noundef nonnull %.str.6.sink4747, i32 noundef %10320, ptr noundef nonnull @.str.137, ptr noundef nonnull @.str.2, i32 noundef 1223, ptr noundef %10322, ptr noundef %10324, ptr noundef %10326, i32 noundef %10327) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10329:                                            ; preds = %10564
  %10330 = call i32 @s2n_ktls_io_stuffer_pair_free(ptr noundef nonnull %180) #12
  call void @llvm.lifetime.end.p0(i64 192, ptr nonnull %180) #12
  %10331 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %179) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %179) #12
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %178) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %161) #12
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %160) #12
  call void @llvm.lifetime.start.p0(i64 163840, ptr nonnull %183) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(163840) %183, i8 0, i64 163840, i1 false)
  %10332 = load i32, ptr @test_count, align 4, !tbaa !5
  %10333 = add nsw i32 %10332, 2
  store i32 %10333, ptr @test_count, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %184) #12
  %10334 = load ptr, ptr getelementptr inbounds (i8, ptr @s2n_tls13_aes_128_gcm_sha256, i64 48), align 8, !tbaa !78
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %184, ptr noundef nonnull align 8 dereferenceable(24) %10334, i64 16, i1 false), !tbaa.struct !80
  %10335 = getelementptr inbounds i8, ptr %184, i64 16
  store i64 10, ptr %10335, align 8, !tbaa !81
  call void @llvm.lifetime.start.p0(i64 104, ptr nonnull %185) #12
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(104) %185, ptr noundef nonnull align 8 dereferenceable(104) @s2n_tls13_aes_128_gcm_sha256, i64 104, i1 false), !tbaa.struct !83
  %10336 = getelementptr inbounds i8, ptr %185, i64 48
  store ptr %184, ptr %10336, align 8, !tbaa !78
  br label %10569

.preheader1518:                                   ; preds = %.preheader1518.preheader, %10564
  %10337 = phi i32 [ %10540, %10564 ], [ %.pre1540, %.preheader1518.preheader ]
  %.010971531 = phi i64 [ %10565, %10564 ], [ 0, %.preheader1518.preheader ]
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %181) #12
  store i64 0, ptr %181, align 8, !tbaa !20
  %10338 = add nsw i32 %10337, 1
  store i32 %10338, ptr @test_count, align 4, !tbaa !5
  %10339 = call i32 @s2n_ktls_sendmsg(ptr noundef nonnull %180, i8 noundef zeroext 21, ptr noundef nonnull %178, i64 noundef 1, ptr noundef nonnull %161, ptr noundef nonnull %181) #12
  %10340 = call zeroext i1 @s2n_result_is_ok(i32 %10339)
  br i1 %10340, label %10363, label %10341

10341:                                            ; preds = %.preheader1518
  %10342 = load i32, ptr %421, align 4, !tbaa !5
  %10343 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10344 = call i32 @s2n_print_stacktrace(ptr noundef %10343) #12
  %10345 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10346 = trunc nuw i8 %10345 to i1
  br i1 %10346, label %10347, label %10351

10347:                                            ; preds = %10341
  %10348 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10349 = call i32 @fileno(ptr noundef %10348) #12
  %10350 = call i32 @isatty(i32 noundef %10349) #12
  %.not1392 = icmp eq i32 %10350, 0
  br i1 %.not1392, label %10351, label %10352

10351:                                            ; preds = %10347, %10341
  br label %10352

10352:                                            ; preds = %10347, %10351
  %.str.6.sink4756 = phi ptr [ @.str.6, %10351 ], [ @.str.3, %10347 ]
  store i32 %10342, ptr %421, align 4, !tbaa !5
  %10353 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10354 = load i32, ptr @test_count, align 4, !tbaa !5
  %10355 = load i32, ptr %367, align 4, !tbaa !5
  %10356 = call ptr @s2n_strerror(i32 noundef %10355, ptr noundef nonnull @.str.5) #12
  %10357 = load i32, ptr %367, align 4, !tbaa !5
  %10358 = call ptr @s2n_strerror_debug(i32 noundef %10357, ptr noundef nonnull @.str.5) #12
  %10359 = load i32, ptr %421, align 4, !tbaa !5
  %10360 = call ptr @strerror(i32 noundef %10359) #12
  %10361 = load i32, ptr %421, align 4, !tbaa !5
  %10362 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10353, ptr noundef nonnull %.str.6.sink4756, i32 noundef %10354, ptr noundef nonnull @.str.146, ptr noundef nonnull @.str.2, i32 noundef 1228, ptr noundef %10356, ptr noundef %10358, ptr noundef %10360, i32 noundef %10361) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10363:                                            ; preds = %.preheader1518
  %10364 = load i32, ptr @test_count, align 4, !tbaa !5
  %10365 = add nsw i32 %10364, 1
  store i32 %10365, ptr @test_count, align 4, !tbaa !5
  %10366 = load i64, ptr %181, align 8, !tbaa !20
  %10367 = icmp eq i64 %10366, 10
  br i1 %10367, label %10390, label %10368

10368:                                            ; preds = %10363
  %10369 = load i32, ptr %421, align 4, !tbaa !5
  %10370 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10371 = call i32 @s2n_print_stacktrace(ptr noundef %10370) #12
  %10372 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10373 = trunc nuw i8 %10372 to i1
  br i1 %10373, label %10374, label %10378

10374:                                            ; preds = %10368
  %10375 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10376 = call i32 @fileno(ptr noundef %10375) #12
  %10377 = call i32 @isatty(i32 noundef %10376) #12
  %.not1393 = icmp eq i32 %10377, 0
  br i1 %.not1393, label %10378, label %10379

10378:                                            ; preds = %10374, %10368
  br label %10379

10379:                                            ; preds = %10374, %10378
  %.str.6.sink4765 = phi ptr [ @.str.6, %10378 ], [ @.str.3, %10374 ]
  store i32 %10369, ptr %421, align 4, !tbaa !5
  %10380 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10381 = load i32, ptr @test_count, align 4, !tbaa !5
  %10382 = load i32, ptr %367, align 4, !tbaa !5
  %10383 = call ptr @s2n_strerror(i32 noundef %10382, ptr noundef nonnull @.str.5) #12
  %10384 = load i32, ptr %367, align 4, !tbaa !5
  %10385 = call ptr @s2n_strerror_debug(i32 noundef %10384, ptr noundef nonnull @.str.5) #12
  %10386 = load i32, ptr %421, align 4, !tbaa !5
  %10387 = call ptr @strerror(i32 noundef %10386) #12
  %10388 = load i32, ptr %421, align 4, !tbaa !5
  %10389 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10380, ptr noundef nonnull %.str.6.sink4765, i32 noundef %10381, ptr noundef nonnull @.str.147, ptr noundef nonnull @.str.2, i32 noundef 1229, ptr noundef %10383, ptr noundef %10385, ptr noundef %10387, i32 noundef %10388) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10390:                                            ; preds = %10363
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %182) #12
  store i8 0, ptr %182, align 1, !tbaa !15
  %10391 = add nsw i32 %10364, 2
  store i32 %10391, ptr @test_count, align 4, !tbaa !5
  %10392 = load ptr, ptr %179, align 8, !tbaa !9
  %10393 = call i32 @s2n_ktls_read_full_record(ptr noundef %10392, ptr noundef nonnull %182) #12
  %10394 = icmp eq i32 %10393, -1
  br i1 %10394, label %10395, label %10417

10395:                                            ; preds = %10390
  %10396 = load i32, ptr %421, align 4, !tbaa !5
  %10397 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10398 = call i32 @s2n_print_stacktrace(ptr noundef %10397) #12
  %10399 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10400 = trunc nuw i8 %10399 to i1
  br i1 %10400, label %10401, label %10405

10401:                                            ; preds = %10395
  %10402 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10403 = call i32 @fileno(ptr noundef %10402) #12
  %10404 = call i32 @isatty(i32 noundef %10403) #12
  %.not1400 = icmp eq i32 %10404, 0
  br i1 %.not1400, label %10405, label %10406

10405:                                            ; preds = %10401, %10395
  br label %10406

10406:                                            ; preds = %10401, %10405
  %.str.6.sink4774 = phi ptr [ @.str.6, %10405 ], [ @.str.3, %10401 ]
  store i32 %10396, ptr %421, align 4, !tbaa !5
  %10407 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10408 = load i32, ptr @test_count, align 4, !tbaa !5
  %10409 = load i32, ptr %367, align 4, !tbaa !5
  %10410 = call ptr @s2n_strerror(i32 noundef %10409, ptr noundef nonnull @.str.5) #12
  %10411 = load i32, ptr %367, align 4, !tbaa !5
  %10412 = call ptr @s2n_strerror_debug(i32 noundef %10411, ptr noundef nonnull @.str.5) #12
  %10413 = load i32, ptr %421, align 4, !tbaa !5
  %10414 = call ptr @strerror(i32 noundef %10413) #12
  %10415 = load i32, ptr %421, align 4, !tbaa !5
  %10416 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10407, ptr noundef nonnull %.str.6.sink4774, i32 noundef %10408, ptr noundef nonnull @.str.140, ptr noundef nonnull @.str.2, i32 noundef 1232, ptr noundef %10410, ptr noundef %10412, ptr noundef %10414, i32 noundef %10415) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10417:                                            ; preds = %10390
  %10418 = load i32, ptr @test_count, align 4, !tbaa !5
  %10419 = add nsw i32 %10418, 1
  store i32 %10419, ptr @test_count, align 4, !tbaa !5
  %10420 = load i8, ptr %182, align 1, !tbaa !15
  %10421 = icmp eq i8 %10420, 21
  br i1 %10421, label %10444, label %10422

10422:                                            ; preds = %10417
  %10423 = load i32, ptr %421, align 4, !tbaa !5
  %10424 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10425 = call i32 @s2n_print_stacktrace(ptr noundef %10424) #12
  %10426 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10427 = trunc nuw i8 %10426 to i1
  br i1 %10427, label %10428, label %10432

10428:                                            ; preds = %10422
  %10429 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10430 = call i32 @fileno(ptr noundef %10429) #12
  %10431 = call i32 @isatty(i32 noundef %10430) #12
  %.not1394 = icmp eq i32 %10431, 0
  br i1 %.not1394, label %10432, label %10433

10432:                                            ; preds = %10428, %10422
  br label %10433

10433:                                            ; preds = %10428, %10432
  %.str.6.sink4783 = phi ptr [ @.str.6, %10432 ], [ @.str.3, %10428 ]
  store i32 %10423, ptr %421, align 4, !tbaa !5
  %10434 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10435 = load i32, ptr @test_count, align 4, !tbaa !5
  %10436 = load i32, ptr %367, align 4, !tbaa !5
  %10437 = call ptr @s2n_strerror(i32 noundef %10436, ptr noundef nonnull @.str.5) #12
  %10438 = load i32, ptr %367, align 4, !tbaa !5
  %10439 = call ptr @s2n_strerror_debug(i32 noundef %10438, ptr noundef nonnull @.str.5) #12
  %10440 = load i32, ptr %421, align 4, !tbaa !5
  %10441 = call ptr @strerror(i32 noundef %10440) #12
  %10442 = load i32, ptr %421, align 4, !tbaa !5
  %10443 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10434, ptr noundef nonnull %.str.6.sink4783, i32 noundef %10435, ptr noundef nonnull @.str.141, ptr noundef nonnull @.str.2, i32 noundef 1233, ptr noundef %10437, ptr noundef %10439, ptr noundef %10441, i32 noundef %10442) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10444:                                            ; preds = %10417
  %10445 = add nsw i32 %10418, 2
  store i32 %10445, ptr @test_count, align 4, !tbaa !5
  %10446 = load ptr, ptr %179, align 8, !tbaa !9
  %10447 = getelementptr inbounds i8, ptr %10446, i64 1884
  %10448 = load i32, ptr %10447, align 4, !tbaa !76
  %10449 = getelementptr inbounds i8, ptr %10446, i64 1880
  %10450 = load i32, ptr %10449, align 8, !tbaa !77
  %10451 = sub i32 %10448, %10450
  %10452 = zext i32 %10451 to i64
  %10453 = load i64, ptr %181, align 8, !tbaa !20
  %10454 = icmp eq i64 %10453, %10452
  br i1 %10454, label %10477, label %10455

10455:                                            ; preds = %10444
  %10456 = load i32, ptr %421, align 4, !tbaa !5
  %10457 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10458 = call i32 @s2n_print_stacktrace(ptr noundef %10457) #12
  %10459 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10460 = trunc nuw i8 %10459 to i1
  br i1 %10460, label %10461, label %10465

10461:                                            ; preds = %10455
  %10462 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10463 = call i32 @fileno(ptr noundef %10462) #12
  %10464 = call i32 @isatty(i32 noundef %10463) #12
  %.not1395 = icmp eq i32 %10464, 0
  br i1 %.not1395, label %10465, label %10466

10465:                                            ; preds = %10461, %10455
  br label %10466

10466:                                            ; preds = %10461, %10465
  %.str.6.sink4792 = phi ptr [ @.str.6, %10465 ], [ @.str.3, %10461 ]
  store i32 %10456, ptr %421, align 4, !tbaa !5
  %10467 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10468 = load i32, ptr @test_count, align 4, !tbaa !5
  %10469 = load i32, ptr %367, align 4, !tbaa !5
  %10470 = call ptr @s2n_strerror(i32 noundef %10469, ptr noundef nonnull @.str.5) #12
  %10471 = load i32, ptr %367, align 4, !tbaa !5
  %10472 = call ptr @s2n_strerror_debug(i32 noundef %10471, ptr noundef nonnull @.str.5) #12
  %10473 = load i32, ptr %421, align 4, !tbaa !5
  %10474 = call ptr @strerror(i32 noundef %10473) #12
  %10475 = load i32, ptr %421, align 4, !tbaa !5
  %10476 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10467, ptr noundef nonnull %.str.6.sink4792, i32 noundef %10468, ptr noundef nonnull @.str.161, ptr noundef nonnull @.str.2, i32 noundef 1234, ptr noundef %10470, ptr noundef %10472, ptr noundef %10474, i32 noundef %10475) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10477:                                            ; preds = %10444
  %10478 = getelementptr inbounds i8, ptr %10446, i64 1856
  %10479 = call ptr @s2n_stuffer_raw_read(ptr noundef nonnull %10478, i32 noundef 10) #12
  %10480 = load i32, ptr @test_count, align 4, !tbaa !5
  %10481 = add nsw i32 %10480, 1
  store i32 %10481, ptr @test_count, align 4, !tbaa !5
  %bcmp1396 = call i32 @bcmp(ptr noundef nonnull dereferenceable(10) %10479, ptr noundef nonnull dereferenceable(10) %3, i64 10)
  %10482 = icmp eq i32 %bcmp1396, 0
  br i1 %10482, label %10505, label %10483

10483:                                            ; preds = %10477
  %10484 = load i32, ptr %421, align 4, !tbaa !5
  %10485 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10486 = call i32 @s2n_print_stacktrace(ptr noundef %10485) #12
  %10487 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10488 = trunc nuw i8 %10487 to i1
  br i1 %10488, label %10489, label %10493

10489:                                            ; preds = %10483
  %10490 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10491 = call i32 @fileno(ptr noundef %10490) #12
  %10492 = call i32 @isatty(i32 noundef %10491) #12
  %.not1397 = icmp eq i32 %10492, 0
  br i1 %.not1397, label %10493, label %10494

10493:                                            ; preds = %10489, %10483
  br label %10494

10494:                                            ; preds = %10489, %10493
  %.str.6.sink4801 = phi ptr [ @.str.6, %10493 ], [ @.str.3, %10489 ]
  store i32 %10484, ptr %421, align 4, !tbaa !5
  %10495 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10496 = load i32, ptr @test_count, align 4, !tbaa !5
  %10497 = load i32, ptr %367, align 4, !tbaa !5
  %10498 = call ptr @s2n_strerror(i32 noundef %10497, ptr noundef nonnull @.str.5) #12
  %10499 = load i32, ptr %367, align 4, !tbaa !5
  %10500 = call ptr @s2n_strerror_debug(i32 noundef %10499, ptr noundef nonnull @.str.5) #12
  %10501 = load i32, ptr %421, align 4, !tbaa !5
  %10502 = call ptr @strerror(i32 noundef %10501) #12
  %10503 = load i32, ptr %421, align 4, !tbaa !5
  %10504 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10495, ptr noundef nonnull %.str.6.sink4801, i32 noundef %10496, ptr noundef nonnull @.str.150, ptr noundef nonnull @.str.2, i32 noundef 1236, ptr noundef %10498, ptr noundef %10500, ptr noundef %10502, i32 noundef %10503) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10505:                                            ; preds = %10477
  %10506 = add nsw i32 %10480, 2
  store i32 %10506, ptr @test_count, align 4, !tbaa !5
  %10507 = load ptr, ptr %179, align 8, !tbaa !9
  %10508 = call i32 @s2n_record_wipe(ptr noundef %10507) #12
  %10509 = call zeroext i1 @s2n_result_is_ok(i32 %10508)
  br i1 %10509, label %10532, label %10510

10510:                                            ; preds = %10505
  %10511 = load i32, ptr %421, align 4, !tbaa !5
  %10512 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10513 = call i32 @s2n_print_stacktrace(ptr noundef %10512) #12
  %10514 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10515 = trunc nuw i8 %10514 to i1
  br i1 %10515, label %10516, label %10520

10516:                                            ; preds = %10510
  %10517 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10518 = call i32 @fileno(ptr noundef %10517) #12
  %10519 = call i32 @isatty(i32 noundef %10518) #12
  %.not1398 = icmp eq i32 %10519, 0
  br i1 %.not1398, label %10520, label %10521

10520:                                            ; preds = %10516, %10510
  br label %10521

10521:                                            ; preds = %10516, %10520
  %.str.6.sink4810 = phi ptr [ @.str.6, %10520 ], [ @.str.3, %10516 ]
  store i32 %10511, ptr %421, align 4, !tbaa !5
  %10522 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10523 = load i32, ptr @test_count, align 4, !tbaa !5
  %10524 = load i32, ptr %367, align 4, !tbaa !5
  %10525 = call ptr @s2n_strerror(i32 noundef %10524, ptr noundef nonnull @.str.5) #12
  %10526 = load i32, ptr %367, align 4, !tbaa !5
  %10527 = call ptr @s2n_strerror_debug(i32 noundef %10526, ptr noundef nonnull @.str.5) #12
  %10528 = load i32, ptr %421, align 4, !tbaa !5
  %10529 = call ptr @strerror(i32 noundef %10528) #12
  %10530 = load i32, ptr %421, align 4, !tbaa !5
  %10531 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10522, ptr noundef nonnull %.str.6.sink4810, i32 noundef %10523, ptr noundef nonnull @.str.162, ptr noundef nonnull @.str.2, i32 noundef 1238, ptr noundef %10525, ptr noundef %10527, ptr noundef %10529, i32 noundef %10530) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10532:                                            ; preds = %10505
  %10533 = load ptr, ptr %179, align 8, !tbaa !9
  %10534 = getelementptr inbounds i8, ptr %10533, i64 1824
  %10535 = load i32, ptr %10534, align 8, !tbaa !84
  %10536 = getelementptr inbounds i8, ptr %10533, i64 1844
  %10537 = load i32, ptr %10536, align 4, !tbaa !85
  %10538 = sub i32 %10535, %10537
  %10539 = load i32, ptr @test_count, align 4, !tbaa !5
  %10540 = add nsw i32 %10539, 1
  store i32 %10540, ptr @test_count, align 4, !tbaa !5
  %10541 = icmp eq i32 %10538, 8087
  br i1 %10541, label %10564, label %10542

10542:                                            ; preds = %10532
  %10543 = load i32, ptr %421, align 4, !tbaa !5
  %10544 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10545 = call i32 @s2n_print_stacktrace(ptr noundef %10544) #12
  %10546 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10547 = trunc nuw i8 %10546 to i1
  br i1 %10547, label %10548, label %10552

10548:                                            ; preds = %10542
  %10549 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10550 = call i32 @fileno(ptr noundef %10549) #12
  %10551 = call i32 @isatty(i32 noundef %10550) #12
  %.not1399 = icmp eq i32 %10551, 0
  br i1 %.not1399, label %10552, label %10553

10552:                                            ; preds = %10548, %10542
  br label %10553

10553:                                            ; preds = %10548, %10552
  %.str.6.sink4819 = phi ptr [ @.str.6, %10552 ], [ @.str.3, %10548 ]
  store i32 %10543, ptr %421, align 4, !tbaa !5
  %10554 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10555 = load i32, ptr @test_count, align 4, !tbaa !5
  %10556 = load i32, ptr %367, align 4, !tbaa !5
  %10557 = call ptr @s2n_strerror(i32 noundef %10556, ptr noundef nonnull @.str.5) #12
  %10558 = load i32, ptr %367, align 4, !tbaa !5
  %10559 = call ptr @s2n_strerror_debug(i32 noundef %10558, ptr noundef nonnull @.str.5) #12
  %10560 = load i32, ptr %421, align 4, !tbaa !5
  %10561 = call ptr @strerror(i32 noundef %10560) #12
  %10562 = load i32, ptr %421, align 4, !tbaa !5
  %10563 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10554, ptr noundef nonnull %.str.6.sink4819, i32 noundef %10555, ptr noundef nonnull @.str.163, ptr noundef nonnull @.str.2, i32 noundef 1240, ptr noundef %10557, ptr noundef %10559, ptr noundef %10561, i32 noundef %10562) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10564:                                            ; preds = %10532
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %182) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %181) #12
  %10565 = add nuw nsw i64 %.010971531, 1
  %exitcond1537.not = icmp eq i64 %10565, 100
  br i1 %exitcond1537.not, label %10329, label %.preheader1518, !llvm.loop !86

10566:                                            ; preds = %11532
  call void @llvm.lifetime.end.p0(i64 104, ptr nonnull %185) #12
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %184) #12
  call void @llvm.lifetime.end.p0(i64 163840, ptr nonnull %183) #12
  %10567 = call i32 @s2n_cleanup() #12
  %10568 = icmp eq i32 %10567, -1
  br i1 %10568, label %11535, label %11557

10569:                                            ; preds = %10329, %11532
  %10570 = phi i1 [ true, %10329 ], [ false, %11532 ]
  %.010981533 = phi i32 [ 0, %10329 ], [ 1, %11532 ]
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %186) #12
  %10571 = call ptr @s2n_connection_new(i32 noundef %.010981533) #12
  store ptr %10571, ptr %186, align 8, !tbaa !9
  %10572 = load i32, ptr @test_count, align 4, !tbaa !5
  %10573 = add nsw i32 %10572, 1
  store i32 %10573, ptr @test_count, align 4, !tbaa !5
  %10574 = icmp eq ptr %10571, null
  br i1 %10574, label %10575, label %10597

10575:                                            ; preds = %10569
  %10576 = load i32, ptr %421, align 4, !tbaa !5
  %10577 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10578 = call i32 @s2n_print_stacktrace(ptr noundef %10577) #12
  %10579 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10580 = trunc nuw i8 %10579 to i1
  br i1 %10580, label %10581, label %10585

10581:                                            ; preds = %10575
  %10582 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10583 = call i32 @fileno(ptr noundef %10582) #12
  %10584 = call i32 @isatty(i32 noundef %10583) #12
  %.not1391 = icmp eq i32 %10584, 0
  br i1 %.not1391, label %10585, label %10586

10585:                                            ; preds = %10581, %10575
  br label %10586

10586:                                            ; preds = %10581, %10585
  %.str.6.sink4828 = phi ptr [ @.str.6, %10585 ], [ @.str.3, %10581 ]
  store i32 %10576, ptr %421, align 4, !tbaa !5
  %10587 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10588 = load i32, ptr @test_count, align 4, !tbaa !5
  %10589 = load i32, ptr %367, align 4, !tbaa !5
  %10590 = call ptr @s2n_strerror(i32 noundef %10589, ptr noundef nonnull @.str.5) #12
  %10591 = load i32, ptr %367, align 4, !tbaa !5
  %10592 = call ptr @s2n_strerror_debug(i32 noundef %10591, ptr noundef nonnull @.str.5) #12
  %10593 = load i32, ptr %421, align 4, !tbaa !5
  %10594 = call ptr @strerror(i32 noundef %10593) #12
  %10595 = load i32, ptr %421, align 4, !tbaa !5
  %10596 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10587, ptr noundef nonnull %.str.6.sink4828, i32 noundef %10588, ptr noundef nonnull @.str.79, ptr noundef nonnull @.str.2, i32 noundef 1262, ptr noundef %10590, ptr noundef %10592, ptr noundef %10594, i32 noundef %10595) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10597:                                            ; preds = %10569
  %10598 = add nsw i32 %10572, 2
  store i32 %10598, ptr @test_count, align 4, !tbaa !5
  %10599 = call i32 @s2n_ktls_set_sendmsg_cb(ptr noundef nonnull %10571, ptr noundef nonnull @s2n_test_ktls_sendmsg_mark_all_sent, ptr noundef nonnull %10571) #12
  %10600 = call zeroext i1 @s2n_result_is_ok(i32 %10599)
  br i1 %10600, label %10623, label %10601

10601:                                            ; preds = %10597
  %10602 = load i32, ptr %421, align 4, !tbaa !5
  %10603 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10604 = call i32 @s2n_print_stacktrace(ptr noundef %10603) #12
  %10605 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10606 = trunc nuw i8 %10605 to i1
  br i1 %10606, label %10607, label %10611

10607:                                            ; preds = %10601
  %10608 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10609 = call i32 @fileno(ptr noundef %10608) #12
  %10610 = call i32 @isatty(i32 noundef %10609) #12
  %.not1359 = icmp eq i32 %10610, 0
  br i1 %.not1359, label %10611, label %10612

10611:                                            ; preds = %10607, %10601
  br label %10612

10612:                                            ; preds = %10607, %10611
  %.str.6.sink4837 = phi ptr [ @.str.6, %10611 ], [ @.str.3, %10607 ]
  store i32 %10602, ptr %421, align 4, !tbaa !5
  %10613 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10614 = load i32, ptr @test_count, align 4, !tbaa !5
  %10615 = load i32, ptr %367, align 4, !tbaa !5
  %10616 = call ptr @s2n_strerror(i32 noundef %10615, ptr noundef nonnull @.str.5) #12
  %10617 = load i32, ptr %367, align 4, !tbaa !5
  %10618 = call ptr @s2n_strerror_debug(i32 noundef %10617, ptr noundef nonnull @.str.5) #12
  %10619 = load i32, ptr %421, align 4, !tbaa !5
  %10620 = call ptr @strerror(i32 noundef %10619) #12
  %10621 = load i32, ptr %421, align 4, !tbaa !5
  %10622 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10613, ptr noundef nonnull %.str.6.sink4837, i32 noundef %10614, ptr noundef nonnull @.str.164, ptr noundef nonnull @.str.2, i32 noundef 1263, ptr noundef %10616, ptr noundef %10618, ptr noundef %10620, i32 noundef %10621) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10623:                                            ; preds = %10597
  %10624 = load ptr, ptr %186, align 8, !tbaa !9
  %10625 = load i32, ptr %10624, align 8
  %10626 = or i32 %10625, 262144
  store i32 %10626, ptr %10624, align 8
  %10627 = load i32, ptr @test_count, align 4, !tbaa !5
  %10628 = add nsw i32 %10627, 1
  store i32 %10628, ptr @test_count, align 4, !tbaa !5
  %10629 = load ptr, ptr %186, align 8, !tbaa !9
  %10630 = getelementptr inbounds i8, ptr %10629, i64 232
  %10631 = load ptr, ptr %10630, align 8, !tbaa !87
  %10632 = icmp eq ptr %10631, null
  br i1 %10632, label %10633, label %10655

10633:                                            ; preds = %10623
  %10634 = load i32, ptr %421, align 4, !tbaa !5
  %10635 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10636 = call i32 @s2n_print_stacktrace(ptr noundef %10635) #12
  %10637 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10638 = trunc nuw i8 %10637 to i1
  br i1 %10638, label %10639, label %10643

10639:                                            ; preds = %10633
  %10640 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10641 = call i32 @fileno(ptr noundef %10640) #12
  %10642 = call i32 @isatty(i32 noundef %10641) #12
  %.not1390 = icmp eq i32 %10642, 0
  br i1 %.not1390, label %10643, label %10644

10643:                                            ; preds = %10639, %10633
  br label %10644

10644:                                            ; preds = %10639, %10643
  %.str.6.sink4846 = phi ptr [ @.str.6, %10643 ], [ @.str.3, %10639 ]
  store i32 %10634, ptr %421, align 4, !tbaa !5
  %10645 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10646 = load i32, ptr @test_count, align 4, !tbaa !5
  %10647 = load i32, ptr %367, align 4, !tbaa !5
  %10648 = call ptr @s2n_strerror(i32 noundef %10647, ptr noundef nonnull @.str.5) #12
  %10649 = load i32, ptr %367, align 4, !tbaa !5
  %10650 = call ptr @s2n_strerror_debug(i32 noundef %10649, ptr noundef nonnull @.str.5) #12
  %10651 = load i32, ptr %421, align 4, !tbaa !5
  %10652 = call ptr @strerror(i32 noundef %10651) #12
  %10653 = load i32, ptr %421, align 4, !tbaa !5
  %10654 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10645, ptr noundef nonnull %.str.6.sink4846, i32 noundef %10646, ptr noundef nonnull @.str.165, ptr noundef nonnull @.str.2, i32 noundef 1265, ptr noundef %10648, ptr noundef %10650, ptr noundef %10652, i32 noundef %10653) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10655:                                            ; preds = %10623
  store ptr %185, ptr %10631, align 8, !tbaa !88
  %10656 = load ptr, ptr %186, align 8, !tbaa !9
  %10657 = getelementptr inbounds i8, ptr %10656, i64 220
  store i8 34, ptr %10657, align 4, !tbaa !93
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %187) #12
  store i32 0, ptr %187, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %188) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %188, i8 0, i64 24, i1 false)
  %10658 = add nsw i32 %10627, 2
  store i32 %10658, ptr @test_count, align 4, !tbaa !5
  %10659 = getelementptr inbounds i8, ptr %10656, i64 148
  %10660 = load i32, ptr %10659, align 4, !tbaa !94
  %10661 = call i32 @s2n_connection_get_sequence_number(ptr noundef %10656, i32 noundef %10660, ptr noundef nonnull %188) #12
  %10662 = call zeroext i1 @s2n_result_is_ok(i32 %10661)
  br i1 %10662, label %10685, label %10663

10663:                                            ; preds = %10655
  %10664 = load i32, ptr %421, align 4, !tbaa !5
  %10665 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10666 = call i32 @s2n_print_stacktrace(ptr noundef %10665) #12
  %10667 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10668 = trunc nuw i8 %10667 to i1
  br i1 %10668, label %10669, label %10673

10669:                                            ; preds = %10663
  %10670 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10671 = call i32 @fileno(ptr noundef %10670) #12
  %10672 = call i32 @isatty(i32 noundef %10671) #12
  %.not1360 = icmp eq i32 %10672, 0
  br i1 %.not1360, label %10673, label %10674

10673:                                            ; preds = %10669, %10663
  br label %10674

10674:                                            ; preds = %10669, %10673
  %.str.6.sink4855 = phi ptr [ @.str.6, %10673 ], [ @.str.3, %10669 ]
  store i32 %10664, ptr %421, align 4, !tbaa !5
  %10675 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10676 = load i32, ptr @test_count, align 4, !tbaa !5
  %10677 = load i32, ptr %367, align 4, !tbaa !5
  %10678 = call ptr @s2n_strerror(i32 noundef %10677, ptr noundef nonnull @.str.5) #12
  %10679 = load i32, ptr %367, align 4, !tbaa !5
  %10680 = call ptr @s2n_strerror_debug(i32 noundef %10679, ptr noundef nonnull @.str.5) #12
  %10681 = load i32, ptr %421, align 4, !tbaa !5
  %10682 = call ptr @strerror(i32 noundef %10681) #12
  %10683 = load i32, ptr %421, align 4, !tbaa !5
  %10684 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10675, ptr noundef nonnull %.str.6.sink4855, i32 noundef %10676, ptr noundef nonnull @.str.166, ptr noundef nonnull @.str.2, i32 noundef 1274, ptr noundef %10678, ptr noundef %10680, ptr noundef %10682, i32 noundef %10683) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10685:                                            ; preds = %10655
  %10686 = load i32, ptr @test_count, align 4, !tbaa !5
  %10687 = add nsw i32 %10686, 1
  store i32 %10687, ptr @test_count, align 4, !tbaa !5
  %10688 = call i32 @s2n_assert_seq_num_equal(ptr noundef nonnull byval(%struct.s2n_blob) align 8 %188, i64 noundef 0)
  %10689 = call zeroext i1 @s2n_result_is_ok(i32 %10688)
  br i1 %10689, label %10712, label %10690

10690:                                            ; preds = %10685
  %10691 = load i32, ptr %421, align 4, !tbaa !5
  %10692 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10693 = call i32 @s2n_print_stacktrace(ptr noundef %10692) #12
  %10694 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10695 = trunc nuw i8 %10694 to i1
  br i1 %10695, label %10696, label %10700

10696:                                            ; preds = %10690
  %10697 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10698 = call i32 @fileno(ptr noundef %10697) #12
  %10699 = call i32 @isatty(i32 noundef %10698) #12
  %.not1361 = icmp eq i32 %10699, 0
  br i1 %.not1361, label %10700, label %10701

10700:                                            ; preds = %10696, %10690
  br label %10701

10701:                                            ; preds = %10696, %10700
  %.str.6.sink4864 = phi ptr [ @.str.6, %10700 ], [ @.str.3, %10696 ]
  store i32 %10691, ptr %421, align 4, !tbaa !5
  %10702 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10703 = load i32, ptr @test_count, align 4, !tbaa !5
  %10704 = load i32, ptr %367, align 4, !tbaa !5
  %10705 = call ptr @s2n_strerror(i32 noundef %10704, ptr noundef nonnull @.str.5) #12
  %10706 = load i32, ptr %367, align 4, !tbaa !5
  %10707 = call ptr @s2n_strerror_debug(i32 noundef %10706, ptr noundef nonnull @.str.5) #12
  %10708 = load i32, ptr %421, align 4, !tbaa !5
  %10709 = call ptr @strerror(i32 noundef %10708) #12
  %10710 = load i32, ptr %421, align 4, !tbaa !5
  %10711 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10702, ptr noundef nonnull %.str.6.sink4864, i32 noundef %10703, ptr noundef nonnull @.str.167, ptr noundef nonnull @.str.2, i32 noundef 1278, ptr noundef %10705, ptr noundef %10707, ptr noundef %10709, i32 noundef %10710) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10712:                                            ; preds = %10685
  %10713 = load i32, ptr @test_count, align 4, !tbaa !5
  %10714 = add nsw i32 %10713, 1
  store i32 %10714, ptr @test_count, align 4, !tbaa !5
  %10715 = load ptr, ptr %186, align 8, !tbaa !9
  %10716 = call i64 @s2n_send(ptr noundef %10715, ptr noundef nonnull %183, i64 noundef 0, ptr noundef nonnull %187) #12
  %10717 = icmp eq i64 %10716, 0
  br i1 %10717, label %10740, label %10718

10718:                                            ; preds = %10712
  %10719 = load i32, ptr %421, align 4, !tbaa !5
  %10720 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10721 = call i32 @s2n_print_stacktrace(ptr noundef %10720) #12
  %10722 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10723 = trunc nuw i8 %10722 to i1
  br i1 %10723, label %10724, label %10728

10724:                                            ; preds = %10718
  %10725 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10726 = call i32 @fileno(ptr noundef %10725) #12
  %10727 = call i32 @isatty(i32 noundef %10726) #12
  %.not1362 = icmp eq i32 %10727, 0
  br i1 %.not1362, label %10728, label %10729

10728:                                            ; preds = %10724, %10718
  br label %10729

10729:                                            ; preds = %10724, %10728
  %.str.6.sink4873 = phi ptr [ @.str.6, %10728 ], [ @.str.3, %10724 ]
  store i32 %10719, ptr %421, align 4, !tbaa !5
  %10730 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10731 = load i32, ptr @test_count, align 4, !tbaa !5
  %10732 = load i32, ptr %367, align 4, !tbaa !5
  %10733 = call ptr @s2n_strerror(i32 noundef %10732, ptr noundef nonnull @.str.5) #12
  %10734 = load i32, ptr %367, align 4, !tbaa !5
  %10735 = call ptr @s2n_strerror_debug(i32 noundef %10734, ptr noundef nonnull @.str.5) #12
  %10736 = load i32, ptr %421, align 4, !tbaa !5
  %10737 = call ptr @strerror(i32 noundef %10736) #12
  %10738 = load i32, ptr %421, align 4, !tbaa !5
  %10739 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10730, ptr noundef nonnull %.str.6.sink4873, i32 noundef %10731, ptr noundef nonnull @.str.168, ptr noundef nonnull @.str.2, i32 noundef 1281, ptr noundef %10733, ptr noundef %10735, ptr noundef %10737, i32 noundef %10738) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10740:                                            ; preds = %10712
  %10741 = load i32, ptr @test_count, align 4, !tbaa !5
  %10742 = add nsw i32 %10741, 1
  store i32 %10742, ptr @test_count, align 4, !tbaa !5
  %10743 = call i32 @s2n_assert_seq_num_equal(ptr noundef nonnull byval(%struct.s2n_blob) align 8 %188, i64 noundef 0)
  %10744 = call zeroext i1 @s2n_result_is_ok(i32 %10743)
  br i1 %10744, label %10767, label %10745

10745:                                            ; preds = %10740
  %10746 = load i32, ptr %421, align 4, !tbaa !5
  %10747 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10748 = call i32 @s2n_print_stacktrace(ptr noundef %10747) #12
  %10749 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10750 = trunc nuw i8 %10749 to i1
  br i1 %10750, label %10751, label %10755

10751:                                            ; preds = %10745
  %10752 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10753 = call i32 @fileno(ptr noundef %10752) #12
  %10754 = call i32 @isatty(i32 noundef %10753) #12
  %.not1363 = icmp eq i32 %10754, 0
  br i1 %.not1363, label %10755, label %10756

10755:                                            ; preds = %10751, %10745
  br label %10756

10756:                                            ; preds = %10751, %10755
  %.str.6.sink4882 = phi ptr [ @.str.6, %10755 ], [ @.str.3, %10751 ]
  store i32 %10746, ptr %421, align 4, !tbaa !5
  %10757 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10758 = load i32, ptr @test_count, align 4, !tbaa !5
  %10759 = load i32, ptr %367, align 4, !tbaa !5
  %10760 = call ptr @s2n_strerror(i32 noundef %10759, ptr noundef nonnull @.str.5) #12
  %10761 = load i32, ptr %367, align 4, !tbaa !5
  %10762 = call ptr @s2n_strerror_debug(i32 noundef %10761, ptr noundef nonnull @.str.5) #12
  %10763 = load i32, ptr %421, align 4, !tbaa !5
  %10764 = call ptr @strerror(i32 noundef %10763) #12
  %10765 = load i32, ptr %421, align 4, !tbaa !5
  %10766 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10757, ptr noundef nonnull %.str.6.sink4882, i32 noundef %10758, ptr noundef nonnull @.str.167, ptr noundef nonnull @.str.2, i32 noundef 1282, ptr noundef %10760, ptr noundef %10762, ptr noundef %10764, i32 noundef %10765) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10767:                                            ; preds = %10740
  %10768 = load i32, ptr @test_count, align 4, !tbaa !5
  %10769 = add nsw i32 %10768, 1
  store i32 %10769, ptr @test_count, align 4, !tbaa !5
  %10770 = load ptr, ptr %186, align 8, !tbaa !9
  %10771 = call i64 @s2n_send(ptr noundef %10770, ptr noundef nonnull %183, i64 noundef 1, ptr noundef nonnull %187) #12
  %10772 = icmp eq i64 %10771, 1
  br i1 %10772, label %10795, label %10773

10773:                                            ; preds = %10767
  %10774 = load i32, ptr %421, align 4, !tbaa !5
  %10775 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10776 = call i32 @s2n_print_stacktrace(ptr noundef %10775) #12
  %10777 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10778 = trunc nuw i8 %10777 to i1
  br i1 %10778, label %10779, label %10783

10779:                                            ; preds = %10773
  %10780 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10781 = call i32 @fileno(ptr noundef %10780) #12
  %10782 = call i32 @isatty(i32 noundef %10781) #12
  %.not1364 = icmp eq i32 %10782, 0
  br i1 %.not1364, label %10783, label %10784

10783:                                            ; preds = %10779, %10773
  br label %10784

10784:                                            ; preds = %10779, %10783
  %.str.6.sink4891 = phi ptr [ @.str.6, %10783 ], [ @.str.3, %10779 ]
  store i32 %10774, ptr %421, align 4, !tbaa !5
  %10785 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10786 = load i32, ptr @test_count, align 4, !tbaa !5
  %10787 = load i32, ptr %367, align 4, !tbaa !5
  %10788 = call ptr @s2n_strerror(i32 noundef %10787, ptr noundef nonnull @.str.5) #12
  %10789 = load i32, ptr %367, align 4, !tbaa !5
  %10790 = call ptr @s2n_strerror_debug(i32 noundef %10789, ptr noundef nonnull @.str.5) #12
  %10791 = load i32, ptr %421, align 4, !tbaa !5
  %10792 = call ptr @strerror(i32 noundef %10791) #12
  %10793 = load i32, ptr %421, align 4, !tbaa !5
  %10794 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10785, ptr noundef nonnull %.str.6.sink4891, i32 noundef %10786, ptr noundef nonnull @.str.169, ptr noundef nonnull @.str.2, i32 noundef 1286, ptr noundef %10788, ptr noundef %10790, ptr noundef %10792, i32 noundef %10793) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10795:                                            ; preds = %10767
  %10796 = load i32, ptr @test_count, align 4, !tbaa !5
  %10797 = add nsw i32 %10796, 1
  store i32 %10797, ptr @test_count, align 4, !tbaa !5
  %10798 = call i32 @s2n_assert_seq_num_equal(ptr noundef nonnull byval(%struct.s2n_blob) align 8 %188, i64 noundef 1)
  %10799 = call zeroext i1 @s2n_result_is_ok(i32 %10798)
  br i1 %10799, label %10822, label %10800

10800:                                            ; preds = %10795
  %10801 = load i32, ptr %421, align 4, !tbaa !5
  %10802 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10803 = call i32 @s2n_print_stacktrace(ptr noundef %10802) #12
  %10804 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10805 = trunc nuw i8 %10804 to i1
  br i1 %10805, label %10806, label %10810

10806:                                            ; preds = %10800
  %10807 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10808 = call i32 @fileno(ptr noundef %10807) #12
  %10809 = call i32 @isatty(i32 noundef %10808) #12
  %.not1365 = icmp eq i32 %10809, 0
  br i1 %.not1365, label %10810, label %10811

10810:                                            ; preds = %10806, %10800
  br label %10811

10811:                                            ; preds = %10806, %10810
  %.str.6.sink4900 = phi ptr [ @.str.6, %10810 ], [ @.str.3, %10806 ]
  store i32 %10801, ptr %421, align 4, !tbaa !5
  %10812 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10813 = load i32, ptr @test_count, align 4, !tbaa !5
  %10814 = load i32, ptr %367, align 4, !tbaa !5
  %10815 = call ptr @s2n_strerror(i32 noundef %10814, ptr noundef nonnull @.str.5) #12
  %10816 = load i32, ptr %367, align 4, !tbaa !5
  %10817 = call ptr @s2n_strerror_debug(i32 noundef %10816, ptr noundef nonnull @.str.5) #12
  %10818 = load i32, ptr %421, align 4, !tbaa !5
  %10819 = call ptr @strerror(i32 noundef %10818) #12
  %10820 = load i32, ptr %421, align 4, !tbaa !5
  %10821 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10812, ptr noundef nonnull %.str.6.sink4900, i32 noundef %10813, ptr noundef nonnull @.str.167, ptr noundef nonnull @.str.2, i32 noundef 1287, ptr noundef %10815, ptr noundef %10817, ptr noundef %10819, i32 noundef %10820) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10822:                                            ; preds = %10795
  %10823 = load i32, ptr @test_count, align 4, !tbaa !5
  %10824 = add nsw i32 %10823, 1
  store i32 %10824, ptr @test_count, align 4, !tbaa !5
  %10825 = load ptr, ptr %186, align 8, !tbaa !9
  %10826 = call i64 @s2n_send(ptr noundef %10825, ptr noundef nonnull %183, i64 noundef 16384, ptr noundef nonnull %187) #12
  %10827 = icmp eq i64 %10826, 16384
  br i1 %10827, label %10850, label %10828

10828:                                            ; preds = %10822
  %10829 = load i32, ptr %421, align 4, !tbaa !5
  %10830 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10831 = call i32 @s2n_print_stacktrace(ptr noundef %10830) #12
  %10832 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10833 = trunc nuw i8 %10832 to i1
  br i1 %10833, label %10834, label %10838

10834:                                            ; preds = %10828
  %10835 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10836 = call i32 @fileno(ptr noundef %10835) #12
  %10837 = call i32 @isatty(i32 noundef %10836) #12
  %.not1366 = icmp eq i32 %10837, 0
  br i1 %.not1366, label %10838, label %10839

10838:                                            ; preds = %10834, %10828
  br label %10839

10839:                                            ; preds = %10834, %10838
  %.str.6.sink4909 = phi ptr [ @.str.6, %10838 ], [ @.str.3, %10834 ]
  store i32 %10829, ptr %421, align 4, !tbaa !5
  %10840 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10841 = load i32, ptr @test_count, align 4, !tbaa !5
  %10842 = load i32, ptr %367, align 4, !tbaa !5
  %10843 = call ptr @s2n_strerror(i32 noundef %10842, ptr noundef nonnull @.str.5) #12
  %10844 = load i32, ptr %367, align 4, !tbaa !5
  %10845 = call ptr @s2n_strerror_debug(i32 noundef %10844, ptr noundef nonnull @.str.5) #12
  %10846 = load i32, ptr %421, align 4, !tbaa !5
  %10847 = call ptr @strerror(i32 noundef %10846) #12
  %10848 = load i32, ptr %421, align 4, !tbaa !5
  %10849 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10840, ptr noundef nonnull %.str.6.sink4909, i32 noundef %10841, ptr noundef nonnull @.str.170, ptr noundef nonnull @.str.2, i32 noundef 1293, ptr noundef %10843, ptr noundef %10845, ptr noundef %10847, i32 noundef %10848) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10850:                                            ; preds = %10822
  %10851 = load i32, ptr @test_count, align 4, !tbaa !5
  %10852 = add nsw i32 %10851, 1
  store i32 %10852, ptr @test_count, align 4, !tbaa !5
  %10853 = call i32 @s2n_assert_seq_num_equal(ptr noundef nonnull byval(%struct.s2n_blob) align 8 %188, i64 noundef 2)
  %10854 = call zeroext i1 @s2n_result_is_ok(i32 %10853)
  br i1 %10854, label %10877, label %10855

10855:                                            ; preds = %10850
  %10856 = load i32, ptr %421, align 4, !tbaa !5
  %10857 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10858 = call i32 @s2n_print_stacktrace(ptr noundef %10857) #12
  %10859 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10860 = trunc nuw i8 %10859 to i1
  br i1 %10860, label %10861, label %10865

10861:                                            ; preds = %10855
  %10862 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10863 = call i32 @fileno(ptr noundef %10862) #12
  %10864 = call i32 @isatty(i32 noundef %10863) #12
  %.not1367 = icmp eq i32 %10864, 0
  br i1 %.not1367, label %10865, label %10866

10865:                                            ; preds = %10861, %10855
  br label %10866

10866:                                            ; preds = %10861, %10865
  %.str.6.sink4918 = phi ptr [ @.str.6, %10865 ], [ @.str.3, %10861 ]
  store i32 %10856, ptr %421, align 4, !tbaa !5
  %10867 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10868 = load i32, ptr @test_count, align 4, !tbaa !5
  %10869 = load i32, ptr %367, align 4, !tbaa !5
  %10870 = call ptr @s2n_strerror(i32 noundef %10869, ptr noundef nonnull @.str.5) #12
  %10871 = load i32, ptr %367, align 4, !tbaa !5
  %10872 = call ptr @s2n_strerror_debug(i32 noundef %10871, ptr noundef nonnull @.str.5) #12
  %10873 = load i32, ptr %421, align 4, !tbaa !5
  %10874 = call ptr @strerror(i32 noundef %10873) #12
  %10875 = load i32, ptr %421, align 4, !tbaa !5
  %10876 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10867, ptr noundef nonnull %.str.6.sink4918, i32 noundef %10868, ptr noundef nonnull @.str.167, ptr noundef nonnull @.str.2, i32 noundef 1294, ptr noundef %10870, ptr noundef %10872, ptr noundef %10874, i32 noundef %10875) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10877:                                            ; preds = %10850
  %10878 = load i32, ptr @test_count, align 4, !tbaa !5
  %10879 = add nsw i32 %10878, 1
  store i32 %10879, ptr @test_count, align 4, !tbaa !5
  %10880 = load ptr, ptr %186, align 8, !tbaa !9
  %10881 = call i64 @s2n_send(ptr noundef %10880, ptr noundef nonnull %183, i64 noundef 16385, ptr noundef nonnull %187) #12
  %10882 = icmp eq i64 %10881, 16385
  br i1 %10882, label %10905, label %10883

10883:                                            ; preds = %10877
  %10884 = load i32, ptr %421, align 4, !tbaa !5
  %10885 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10886 = call i32 @s2n_print_stacktrace(ptr noundef %10885) #12
  %10887 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10888 = trunc nuw i8 %10887 to i1
  br i1 %10888, label %10889, label %10893

10889:                                            ; preds = %10883
  %10890 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10891 = call i32 @fileno(ptr noundef %10890) #12
  %10892 = call i32 @isatty(i32 noundef %10891) #12
  %.not1368 = icmp eq i32 %10892, 0
  br i1 %.not1368, label %10893, label %10894

10893:                                            ; preds = %10889, %10883
  br label %10894

10894:                                            ; preds = %10889, %10893
  %.str.6.sink4927 = phi ptr [ @.str.6, %10893 ], [ @.str.3, %10889 ]
  store i32 %10884, ptr %421, align 4, !tbaa !5
  %10895 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10896 = load i32, ptr @test_count, align 4, !tbaa !5
  %10897 = load i32, ptr %367, align 4, !tbaa !5
  %10898 = call ptr @s2n_strerror(i32 noundef %10897, ptr noundef nonnull @.str.5) #12
  %10899 = load i32, ptr %367, align 4, !tbaa !5
  %10900 = call ptr @s2n_strerror_debug(i32 noundef %10899, ptr noundef nonnull @.str.5) #12
  %10901 = load i32, ptr %421, align 4, !tbaa !5
  %10902 = call ptr @strerror(i32 noundef %10901) #12
  %10903 = load i32, ptr %421, align 4, !tbaa !5
  %10904 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10895, ptr noundef nonnull %.str.6.sink4927, i32 noundef %10896, ptr noundef nonnull @.str.171, ptr noundef nonnull @.str.2, i32 noundef 1300, ptr noundef %10898, ptr noundef %10900, ptr noundef %10902, i32 noundef %10903) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10905:                                            ; preds = %10877
  %10906 = load i32, ptr @test_count, align 4, !tbaa !5
  %10907 = add nsw i32 %10906, 1
  store i32 %10907, ptr @test_count, align 4, !tbaa !5
  %10908 = call i32 @s2n_assert_seq_num_equal(ptr noundef nonnull byval(%struct.s2n_blob) align 8 %188, i64 noundef 4)
  %10909 = call zeroext i1 @s2n_result_is_ok(i32 %10908)
  br i1 %10909, label %10932, label %10910

10910:                                            ; preds = %10905
  %10911 = load i32, ptr %421, align 4, !tbaa !5
  %10912 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10913 = call i32 @s2n_print_stacktrace(ptr noundef %10912) #12
  %10914 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10915 = trunc nuw i8 %10914 to i1
  br i1 %10915, label %10916, label %10920

10916:                                            ; preds = %10910
  %10917 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10918 = call i32 @fileno(ptr noundef %10917) #12
  %10919 = call i32 @isatty(i32 noundef %10918) #12
  %.not1369 = icmp eq i32 %10919, 0
  br i1 %.not1369, label %10920, label %10921

10920:                                            ; preds = %10916, %10910
  br label %10921

10921:                                            ; preds = %10916, %10920
  %.str.6.sink4936 = phi ptr [ @.str.6, %10920 ], [ @.str.3, %10916 ]
  store i32 %10911, ptr %421, align 4, !tbaa !5
  %10922 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10923 = load i32, ptr @test_count, align 4, !tbaa !5
  %10924 = load i32, ptr %367, align 4, !tbaa !5
  %10925 = call ptr @s2n_strerror(i32 noundef %10924, ptr noundef nonnull @.str.5) #12
  %10926 = load i32, ptr %367, align 4, !tbaa !5
  %10927 = call ptr @s2n_strerror_debug(i32 noundef %10926, ptr noundef nonnull @.str.5) #12
  %10928 = load i32, ptr %421, align 4, !tbaa !5
  %10929 = call ptr @strerror(i32 noundef %10928) #12
  %10930 = load i32, ptr %421, align 4, !tbaa !5
  %10931 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10922, ptr noundef nonnull %.str.6.sink4936, i32 noundef %10923, ptr noundef nonnull @.str.167, ptr noundef nonnull @.str.2, i32 noundef 1301, ptr noundef %10925, ptr noundef %10927, ptr noundef %10929, i32 noundef %10930) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10932:                                            ; preds = %10905
  %10933 = load i32, ptr @test_count, align 4, !tbaa !5
  %10934 = add nsw i32 %10933, 1
  store i32 %10934, ptr @test_count, align 4, !tbaa !5
  %10935 = load ptr, ptr %186, align 8, !tbaa !9
  %10936 = call i64 @s2n_send(ptr noundef %10935, ptr noundef nonnull %183, i64 noundef 163840, ptr noundef nonnull %187) #12
  %10937 = icmp eq i64 %10936, -1
  br i1 %10937, label %10960, label %10938

10938:                                            ; preds = %10932
  %10939 = load i32, ptr %421, align 4, !tbaa !5
  %10940 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10941 = call i32 @s2n_print_stacktrace(ptr noundef %10940) #12
  %10942 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10943 = trunc nuw i8 %10942 to i1
  br i1 %10943, label %10944, label %10948

10944:                                            ; preds = %10938
  %10945 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10946 = call i32 @fileno(ptr noundef %10945) #12
  %10947 = call i32 @isatty(i32 noundef %10946) #12
  %.not1370 = icmp eq i32 %10947, 0
  br i1 %.not1370, label %10948, label %10949

10948:                                            ; preds = %10944, %10938
  br label %10949

10949:                                            ; preds = %10944, %10948
  %.str.6.sink4945 = phi ptr [ @.str.6, %10948 ], [ @.str.3, %10944 ]
  store i32 %10939, ptr %421, align 4, !tbaa !5
  %10950 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10951 = load i32, ptr @test_count, align 4, !tbaa !5
  %10952 = load i32, ptr %367, align 4, !tbaa !5
  %10953 = call ptr @s2n_strerror(i32 noundef %10952, ptr noundef nonnull @.str.5) #12
  %10954 = load i32, ptr %367, align 4, !tbaa !5
  %10955 = call ptr @s2n_strerror_debug(i32 noundef %10954, ptr noundef nonnull @.str.5) #12
  %10956 = load i32, ptr %421, align 4, !tbaa !5
  %10957 = call ptr @strerror(i32 noundef %10956) #12
  %10958 = load i32, ptr %421, align 4, !tbaa !5
  %10959 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10950, ptr noundef nonnull %.str.6.sink4945, i32 noundef %10951, ptr noundef nonnull @.str.172, ptr noundef nonnull @.str.2, i32 noundef 1306, ptr noundef %10953, ptr noundef %10955, ptr noundef %10957, i32 noundef %10958) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10960:                                            ; preds = %10932
  %10961 = load i32, ptr @test_count, align 4, !tbaa !5
  %10962 = add nsw i32 %10961, 1
  store i32 %10962, ptr @test_count, align 4, !tbaa !5
  %10963 = load i32, ptr %367, align 4, !tbaa !5
  %10964 = icmp eq i32 %10963, 469762132
  br i1 %10964, label %10987, label %10965

10965:                                            ; preds = %10960
  %10966 = load i32, ptr %421, align 4, !tbaa !5
  %10967 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10968 = call i32 @s2n_print_stacktrace(ptr noundef %10967) #12
  %10969 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10970 = trunc nuw i8 %10969 to i1
  br i1 %10970, label %10971, label %10975

10971:                                            ; preds = %10965
  %10972 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10973 = call i32 @fileno(ptr noundef %10972) #12
  %10974 = call i32 @isatty(i32 noundef %10973) #12
  %.not1371 = icmp eq i32 %10974, 0
  br i1 %.not1371, label %10975, label %10976

10975:                                            ; preds = %10971, %10965
  br label %10976

10976:                                            ; preds = %10971, %10975
  %.str.6.sink4954 = phi ptr [ @.str.6, %10975 ], [ @.str.3, %10971 ]
  store i32 %10966, ptr %421, align 4, !tbaa !5
  %10977 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10978 = load i32, ptr @test_count, align 4, !tbaa !5
  %10979 = load i32, ptr %367, align 4, !tbaa !5
  %10980 = call ptr @s2n_strerror(i32 noundef %10979, ptr noundef nonnull @.str.5) #12
  %10981 = load i32, ptr %367, align 4, !tbaa !5
  %10982 = call ptr @s2n_strerror_debug(i32 noundef %10981, ptr noundef nonnull @.str.5) #12
  %10983 = load i32, ptr %421, align 4, !tbaa !5
  %10984 = call ptr @strerror(i32 noundef %10983) #12
  %10985 = load i32, ptr %421, align 4, !tbaa !5
  %10986 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10977, ptr noundef nonnull %.str.6.sink4954, i32 noundef %10978, ptr noundef nonnull @.str.173, ptr noundef nonnull @.str.2, i32 noundef 1306, ptr noundef %10980, ptr noundef %10982, ptr noundef %10984, i32 noundef %10985) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10987:                                            ; preds = %10960
  %10988 = add nsw i32 %10961, 2
  store i32 %10988, ptr @test_count, align 4, !tbaa !5
  %10989 = call ptr @s2n_strerror_debug(i32 noundef 469762132, ptr noundef nonnull @.str.5) #12
  %10990 = icmp eq ptr %10989, null
  br i1 %10990, label %10991, label %11013

10991:                                            ; preds = %10987
  %10992 = load i32, ptr %421, align 4, !tbaa !5
  %10993 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10994 = call i32 @s2n_print_stacktrace(ptr noundef %10993) #12
  %10995 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10996 = trunc nuw i8 %10995 to i1
  br i1 %10996, label %10997, label %11001

10997:                                            ; preds = %10991
  %10998 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10999 = call i32 @fileno(ptr noundef %10998) #12
  %11000 = call i32 @isatty(i32 noundef %10999) #12
  %.not1389 = icmp eq i32 %11000, 0
  br i1 %.not1389, label %11001, label %11002

11001:                                            ; preds = %10997, %10991
  br label %11002

11002:                                            ; preds = %10997, %11001
  %.str.6.sink4963 = phi ptr [ @.str.6, %11001 ], [ @.str.3, %10997 ]
  store i32 %10992, ptr %421, align 4, !tbaa !5
  %11003 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11004 = load i32, ptr @test_count, align 4, !tbaa !5
  %11005 = load i32, ptr %367, align 4, !tbaa !5
  %11006 = call ptr @s2n_strerror(i32 noundef %11005, ptr noundef nonnull @.str.5) #12
  %11007 = load i32, ptr %367, align 4, !tbaa !5
  %11008 = call ptr @s2n_strerror_debug(i32 noundef %11007, ptr noundef nonnull @.str.5) #12
  %11009 = load i32, ptr %421, align 4, !tbaa !5
  %11010 = call ptr @strerror(i32 noundef %11009) #12
  %11011 = load i32, ptr %421, align 4, !tbaa !5
  %11012 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11003, ptr noundef nonnull %.str.6.sink4963, i32 noundef %11004, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.2, i32 noundef 1306, ptr noundef %11006, ptr noundef %11008, ptr noundef %11010, i32 noundef %11011) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11013:                                            ; preds = %10987
  store i32 0, ptr %367, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %421, align 4, !tbaa !5
  %11014 = load i32, ptr @test_count, align 4, !tbaa !5
  %11015 = add nsw i32 %11014, 1
  store i32 %11015, ptr @test_count, align 4, !tbaa !5
  %11016 = call i32 @s2n_assert_seq_num_equal(ptr noundef nonnull byval(%struct.s2n_blob) align 8 %188, i64 noundef 4)
  %11017 = call zeroext i1 @s2n_result_is_ok(i32 %11016)
  br i1 %11017, label %11040, label %11018

11018:                                            ; preds = %11013
  %11019 = load i32, ptr %421, align 4, !tbaa !5
  %11020 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11021 = call i32 @s2n_print_stacktrace(ptr noundef %11020) #12
  %11022 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11023 = trunc nuw i8 %11022 to i1
  br i1 %11023, label %11024, label %11028

11024:                                            ; preds = %11018
  %11025 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11026 = call i32 @fileno(ptr noundef %11025) #12
  %11027 = call i32 @isatty(i32 noundef %11026) #12
  %.not1372 = icmp eq i32 %11027, 0
  br i1 %.not1372, label %11028, label %11029

11028:                                            ; preds = %11024, %11018
  br label %11029

11029:                                            ; preds = %11024, %11028
  %.str.6.sink4972 = phi ptr [ @.str.6, %11028 ], [ @.str.3, %11024 ]
  store i32 %11019, ptr %421, align 4, !tbaa !5
  %11030 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11031 = load i32, ptr @test_count, align 4, !tbaa !5
  %11032 = load i32, ptr %367, align 4, !tbaa !5
  %11033 = call ptr @s2n_strerror(i32 noundef %11032, ptr noundef nonnull @.str.5) #12
  %11034 = load i32, ptr %367, align 4, !tbaa !5
  %11035 = call ptr @s2n_strerror_debug(i32 noundef %11034, ptr noundef nonnull @.str.5) #12
  %11036 = load i32, ptr %421, align 4, !tbaa !5
  %11037 = call ptr @strerror(i32 noundef %11036) #12
  %11038 = load i32, ptr %421, align 4, !tbaa !5
  %11039 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11030, ptr noundef nonnull %.str.6.sink4972, i32 noundef %11031, ptr noundef nonnull @.str.167, ptr noundef nonnull @.str.2, i32 noundef 1307, ptr noundef %11033, ptr noundef %11035, ptr noundef %11037, i32 noundef %11038) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11040:                                            ; preds = %11013
  %11041 = call i32 @s2n_blob_zero(ptr noundef nonnull %188) #12
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %188) #12
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %189) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %189, i8 0, i64 24, i1 false)
  %11042 = load i32, ptr @test_count, align 4, !tbaa !5
  %11043 = add nsw i32 %11042, 1
  store i32 %11043, ptr @test_count, align 4, !tbaa !5
  %11044 = load ptr, ptr %186, align 8, !tbaa !9
  %11045 = getelementptr inbounds i8, ptr %11044, i64 148
  %11046 = load i32, ptr %11045, align 4, !tbaa !94
  %11047 = call i32 @s2n_connection_get_sequence_number(ptr noundef %11044, i32 noundef %11046, ptr noundef nonnull %189) #12
  %11048 = call zeroext i1 @s2n_result_is_ok(i32 %11047)
  br i1 %11048, label %.preheader.preheader, label %11054

.preheader.preheader:                             ; preds = %11040
  %11049 = load i32, ptr @test_count, align 4, !tbaa !5
  %11050 = add nsw i32 %11049, 1
  store i32 %11050, ptr @test_count, align 4, !tbaa !5
  %11051 = load ptr, ptr %186, align 8, !tbaa !9
  %11052 = call i64 @s2n_send(ptr noundef %11051, ptr noundef nonnull %183, i64 noundef 1, ptr noundef nonnull %187) #12
  %11053 = icmp eq i64 %11052, 1
  br i1 %11053, label %.preheader.1, label %11126

11054:                                            ; preds = %11040
  %11055 = load i32, ptr %421, align 4, !tbaa !5
  %11056 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11057 = call i32 @s2n_print_stacktrace(ptr noundef %11056) #12
  %11058 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11059 = trunc nuw i8 %11058 to i1
  br i1 %11059, label %11060, label %11064

11060:                                            ; preds = %11054
  %11061 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11062 = call i32 @fileno(ptr noundef %11061) #12
  %11063 = call i32 @isatty(i32 noundef %11062) #12
  %.not1373 = icmp eq i32 %11063, 0
  br i1 %.not1373, label %11064, label %11065

11064:                                            ; preds = %11060, %11054
  br label %11065

11065:                                            ; preds = %11060, %11064
  %.str.6.sink4981 = phi ptr [ @.str.6, %11064 ], [ @.str.3, %11060 ]
  store i32 %11055, ptr %421, align 4, !tbaa !5
  %11066 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11067 = load i32, ptr @test_count, align 4, !tbaa !5
  %11068 = load i32, ptr %367, align 4, !tbaa !5
  %11069 = call ptr @s2n_strerror(i32 noundef %11068, ptr noundef nonnull @.str.5) #12
  %11070 = load i32, ptr %367, align 4, !tbaa !5
  %11071 = call ptr @s2n_strerror_debug(i32 noundef %11070, ptr noundef nonnull @.str.5) #12
  %11072 = load i32, ptr %421, align 4, !tbaa !5
  %11073 = call ptr @strerror(i32 noundef %11072) #12
  %11074 = load i32, ptr %421, align 4, !tbaa !5
  %11075 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11066, ptr noundef nonnull %.str.6.sink4981, i32 noundef %11067, ptr noundef nonnull @.str.166, ptr noundef nonnull @.str.2, i32 noundef 1313, ptr noundef %11069, ptr noundef %11071, ptr noundef %11073, i32 noundef %11074) #14
  call void @exit(i32 noundef 1) #15
  unreachable

.preheader.1:                                     ; preds = %.preheader.preheader
  %11076 = load i32, ptr @test_count, align 4, !tbaa !5
  %11077 = add nsw i32 %11076, 1
  store i32 %11077, ptr @test_count, align 4, !tbaa !5
  %11078 = load ptr, ptr %186, align 8, !tbaa !9
  %11079 = call i64 @s2n_send(ptr noundef %11078, ptr noundef nonnull %183, i64 noundef 1, ptr noundef nonnull %187) #12
  %11080 = icmp eq i64 %11079, 1
  br i1 %11080, label %.preheader.2, label %11126

.preheader.2:                                     ; preds = %.preheader.1
  %11081 = load i32, ptr @test_count, align 4, !tbaa !5
  %11082 = add nsw i32 %11081, 1
  store i32 %11082, ptr @test_count, align 4, !tbaa !5
  %11083 = load ptr, ptr %186, align 8, !tbaa !9
  %11084 = call i64 @s2n_send(ptr noundef %11083, ptr noundef nonnull %183, i64 noundef 1, ptr noundef nonnull %187) #12
  %11085 = icmp eq i64 %11084, 1
  br i1 %11085, label %.preheader.3, label %11126

.preheader.3:                                     ; preds = %.preheader.2
  %11086 = load i32, ptr @test_count, align 4, !tbaa !5
  %11087 = add nsw i32 %11086, 1
  store i32 %11087, ptr @test_count, align 4, !tbaa !5
  %11088 = load ptr, ptr %186, align 8, !tbaa !9
  %11089 = call i64 @s2n_send(ptr noundef %11088, ptr noundef nonnull %183, i64 noundef 1, ptr noundef nonnull %187) #12
  %11090 = icmp eq i64 %11089, 1
  br i1 %11090, label %.preheader.4, label %11126

.preheader.4:                                     ; preds = %.preheader.3
  %11091 = load i32, ptr @test_count, align 4, !tbaa !5
  %11092 = add nsw i32 %11091, 1
  store i32 %11092, ptr @test_count, align 4, !tbaa !5
  %11093 = load ptr, ptr %186, align 8, !tbaa !9
  %11094 = call i64 @s2n_send(ptr noundef %11093, ptr noundef nonnull %183, i64 noundef 1, ptr noundef nonnull %187) #12
  %11095 = icmp eq i64 %11094, 1
  br i1 %11095, label %.preheader.5, label %11126

.preheader.5:                                     ; preds = %.preheader.4
  %11096 = load i32, ptr @test_count, align 4, !tbaa !5
  %11097 = add nsw i32 %11096, 1
  store i32 %11097, ptr @test_count, align 4, !tbaa !5
  %11098 = load ptr, ptr %186, align 8, !tbaa !9
  %11099 = call i64 @s2n_send(ptr noundef %11098, ptr noundef nonnull %183, i64 noundef 1, ptr noundef nonnull %187) #12
  %11100 = icmp eq i64 %11099, 1
  br i1 %11100, label %.preheader.6, label %11126

.preheader.6:                                     ; preds = %.preheader.5
  %11101 = load i32, ptr @test_count, align 4, !tbaa !5
  %11102 = add nsw i32 %11101, 1
  store i32 %11102, ptr @test_count, align 4, !tbaa !5
  %11103 = load ptr, ptr %186, align 8, !tbaa !9
  %11104 = call i64 @s2n_send(ptr noundef %11103, ptr noundef nonnull %183, i64 noundef 1, ptr noundef nonnull %187) #12
  %11105 = icmp eq i64 %11104, 1
  br i1 %11105, label %.preheader.7, label %11126

.preheader.7:                                     ; preds = %.preheader.6
  %11106 = load i32, ptr @test_count, align 4, !tbaa !5
  %11107 = add nsw i32 %11106, 1
  store i32 %11107, ptr @test_count, align 4, !tbaa !5
  %11108 = load ptr, ptr %186, align 8, !tbaa !9
  %11109 = call i64 @s2n_send(ptr noundef %11108, ptr noundef nonnull %183, i64 noundef 1, ptr noundef nonnull %187) #12
  %11110 = icmp eq i64 %11109, 1
  br i1 %11110, label %.preheader.8, label %11126

.preheader.8:                                     ; preds = %.preheader.7
  %11111 = load i32, ptr @test_count, align 4, !tbaa !5
  %11112 = add nsw i32 %11111, 1
  store i32 %11112, ptr @test_count, align 4, !tbaa !5
  %11113 = load ptr, ptr %186, align 8, !tbaa !9
  %11114 = call i64 @s2n_send(ptr noundef %11113, ptr noundef nonnull %183, i64 noundef 1, ptr noundef nonnull %187) #12
  %11115 = icmp eq i64 %11114, 1
  br i1 %11115, label %.preheader.9, label %11126

.preheader.9:                                     ; preds = %.preheader.8
  %11116 = load i32, ptr @test_count, align 4, !tbaa !5
  %11117 = add nsw i32 %11116, 1
  store i32 %11117, ptr @test_count, align 4, !tbaa !5
  %11118 = load ptr, ptr %186, align 8, !tbaa !9
  %11119 = call i64 @s2n_send(ptr noundef %11118, ptr noundef nonnull %183, i64 noundef 1, ptr noundef nonnull %187) #12
  %11120 = icmp eq i64 %11119, 1
  br i1 %11120, label %11121, label %11126

11121:                                            ; preds = %.preheader.9
  %11122 = load i32, ptr @test_count, align 4, !tbaa !5
  %11123 = add nsw i32 %11122, 1
  store i32 %11123, ptr @test_count, align 4, !tbaa !5
  %11124 = call i32 @s2n_assert_seq_num_equal(ptr noundef nonnull byval(%struct.s2n_blob) align 8 %189, i64 noundef 10)
  %11125 = call zeroext i1 @s2n_result_is_ok(i32 %11124)
  br i1 %11125, label %11170, label %11148

11126:                                            ; preds = %.preheader.9, %.preheader.8, %.preheader.7, %.preheader.6, %.preheader.5, %.preheader.4, %.preheader.3, %.preheader.2, %.preheader.1, %.preheader.preheader
  %11127 = load i32, ptr %421, align 4, !tbaa !5
  %11128 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11129 = call i32 @s2n_print_stacktrace(ptr noundef %11128) #12
  %11130 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11131 = trunc nuw i8 %11130 to i1
  br i1 %11131, label %11132, label %11136

11132:                                            ; preds = %11126
  %11133 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11134 = call i32 @fileno(ptr noundef %11133) #12
  %11135 = call i32 @isatty(i32 noundef %11134) #12
  %.not1388 = icmp eq i32 %11135, 0
  br i1 %.not1388, label %11136, label %11137

11136:                                            ; preds = %11132, %11126
  br label %11137

11137:                                            ; preds = %11132, %11136
  %.str.6.sink4990 = phi ptr [ @.str.6, %11136 ], [ @.str.3, %11132 ]
  store i32 %11127, ptr %421, align 4, !tbaa !5
  %11138 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11139 = load i32, ptr @test_count, align 4, !tbaa !5
  %11140 = load i32, ptr %367, align 4, !tbaa !5
  %11141 = call ptr @s2n_strerror(i32 noundef %11140, ptr noundef nonnull @.str.5) #12
  %11142 = load i32, ptr %367, align 4, !tbaa !5
  %11143 = call ptr @s2n_strerror_debug(i32 noundef %11142, ptr noundef nonnull @.str.5) #12
  %11144 = load i32, ptr %421, align 4, !tbaa !5
  %11145 = call ptr @strerror(i32 noundef %11144) #12
  %11146 = load i32, ptr %421, align 4, !tbaa !5
  %11147 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11138, ptr noundef nonnull %.str.6.sink4990, i32 noundef %11139, ptr noundef nonnull @.str.169, ptr noundef nonnull @.str.2, i32 noundef 1317, ptr noundef %11141, ptr noundef %11143, ptr noundef %11145, i32 noundef %11146) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11148:                                            ; preds = %11121
  %11149 = load i32, ptr %421, align 4, !tbaa !5
  %11150 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11151 = call i32 @s2n_print_stacktrace(ptr noundef %11150) #12
  %11152 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11153 = trunc nuw i8 %11152 to i1
  br i1 %11153, label %11154, label %11158

11154:                                            ; preds = %11148
  %11155 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11156 = call i32 @fileno(ptr noundef %11155) #12
  %11157 = call i32 @isatty(i32 noundef %11156) #12
  %.not1374 = icmp eq i32 %11157, 0
  br i1 %.not1374, label %11158, label %11159

11158:                                            ; preds = %11154, %11148
  br label %11159

11159:                                            ; preds = %11154, %11158
  %.str.6.sink4999 = phi ptr [ @.str.6, %11158 ], [ @.str.3, %11154 ]
  store i32 %11149, ptr %421, align 4, !tbaa !5
  %11160 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11161 = load i32, ptr @test_count, align 4, !tbaa !5
  %11162 = load i32, ptr %367, align 4, !tbaa !5
  %11163 = call ptr @s2n_strerror(i32 noundef %11162, ptr noundef nonnull @.str.5) #12
  %11164 = load i32, ptr %367, align 4, !tbaa !5
  %11165 = call ptr @s2n_strerror_debug(i32 noundef %11164, ptr noundef nonnull @.str.5) #12
  %11166 = load i32, ptr %421, align 4, !tbaa !5
  %11167 = call ptr @strerror(i32 noundef %11166) #12
  %11168 = load i32, ptr %421, align 4, !tbaa !5
  %11169 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11160, ptr noundef nonnull %.str.6.sink4999, i32 noundef %11161, ptr noundef nonnull @.str.174, ptr noundef nonnull @.str.2, i32 noundef 1319, ptr noundef %11163, ptr noundef %11165, ptr noundef %11167, i32 noundef %11168) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11170:                                            ; preds = %11121
  %11171 = load i32, ptr @test_count, align 4, !tbaa !5
  %11172 = add nsw i32 %11171, 1
  store i32 %11172, ptr @test_count, align 4, !tbaa !5
  %11173 = load ptr, ptr %186, align 8, !tbaa !9
  %11174 = call i64 @s2n_send(ptr noundef %11173, ptr noundef nonnull %183, i64 noundef 1, ptr noundef nonnull %187) #12
  %11175 = icmp eq i64 %11174, -1
  br i1 %11175, label %11198, label %11176

11176:                                            ; preds = %11170
  %11177 = load i32, ptr %421, align 4, !tbaa !5
  %11178 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11179 = call i32 @s2n_print_stacktrace(ptr noundef %11178) #12
  %11180 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11181 = trunc nuw i8 %11180 to i1
  br i1 %11181, label %11182, label %11186

11182:                                            ; preds = %11176
  %11183 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11184 = call i32 @fileno(ptr noundef %11183) #12
  %11185 = call i32 @isatty(i32 noundef %11184) #12
  %.not1375 = icmp eq i32 %11185, 0
  br i1 %.not1375, label %11186, label %11187

11186:                                            ; preds = %11182, %11176
  br label %11187

11187:                                            ; preds = %11182, %11186
  %.str.6.sink5008 = phi ptr [ @.str.6, %11186 ], [ @.str.3, %11182 ]
  store i32 %11177, ptr %421, align 4, !tbaa !5
  %11188 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11189 = load i32, ptr @test_count, align 4, !tbaa !5
  %11190 = load i32, ptr %367, align 4, !tbaa !5
  %11191 = call ptr @s2n_strerror(i32 noundef %11190, ptr noundef nonnull @.str.5) #12
  %11192 = load i32, ptr %367, align 4, !tbaa !5
  %11193 = call ptr @s2n_strerror_debug(i32 noundef %11192, ptr noundef nonnull @.str.5) #12
  %11194 = load i32, ptr %421, align 4, !tbaa !5
  %11195 = call ptr @strerror(i32 noundef %11194) #12
  %11196 = load i32, ptr %421, align 4, !tbaa !5
  %11197 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11188, ptr noundef nonnull %.str.6.sink5008, i32 noundef %11189, ptr noundef nonnull @.str.175, ptr noundef nonnull @.str.2, i32 noundef 1324, ptr noundef %11191, ptr noundef %11193, ptr noundef %11195, i32 noundef %11196) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11198:                                            ; preds = %11170
  %11199 = load i32, ptr @test_count, align 4, !tbaa !5
  %11200 = add nsw i32 %11199, 1
  store i32 %11200, ptr @test_count, align 4, !tbaa !5
  %11201 = load i32, ptr %367, align 4, !tbaa !5
  %11202 = icmp eq i32 %11201, 469762132
  br i1 %11202, label %11225, label %11203

11203:                                            ; preds = %11198
  %11204 = load i32, ptr %421, align 4, !tbaa !5
  %11205 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11206 = call i32 @s2n_print_stacktrace(ptr noundef %11205) #12
  %11207 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11208 = trunc nuw i8 %11207 to i1
  br i1 %11208, label %11209, label %11213

11209:                                            ; preds = %11203
  %11210 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11211 = call i32 @fileno(ptr noundef %11210) #12
  %11212 = call i32 @isatty(i32 noundef %11211) #12
  %.not1376 = icmp eq i32 %11212, 0
  br i1 %.not1376, label %11213, label %11214

11213:                                            ; preds = %11209, %11203
  br label %11214

11214:                                            ; preds = %11209, %11213
  %.str.6.sink5017 = phi ptr [ @.str.6, %11213 ], [ @.str.3, %11209 ]
  store i32 %11204, ptr %421, align 4, !tbaa !5
  %11215 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11216 = load i32, ptr @test_count, align 4, !tbaa !5
  %11217 = load i32, ptr %367, align 4, !tbaa !5
  %11218 = call ptr @s2n_strerror(i32 noundef %11217, ptr noundef nonnull @.str.5) #12
  %11219 = load i32, ptr %367, align 4, !tbaa !5
  %11220 = call ptr @s2n_strerror_debug(i32 noundef %11219, ptr noundef nonnull @.str.5) #12
  %11221 = load i32, ptr %421, align 4, !tbaa !5
  %11222 = call ptr @strerror(i32 noundef %11221) #12
  %11223 = load i32, ptr %421, align 4, !tbaa !5
  %11224 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11215, ptr noundef nonnull %.str.6.sink5017, i32 noundef %11216, ptr noundef nonnull @.str.173, ptr noundef nonnull @.str.2, i32 noundef 1324, ptr noundef %11218, ptr noundef %11220, ptr noundef %11222, i32 noundef %11223) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11225:                                            ; preds = %11198
  %11226 = add nsw i32 %11199, 2
  store i32 %11226, ptr @test_count, align 4, !tbaa !5
  %11227 = call ptr @s2n_strerror_debug(i32 noundef 469762132, ptr noundef nonnull @.str.5) #12
  %11228 = icmp eq ptr %11227, null
  br i1 %11228, label %11229, label %11251

11229:                                            ; preds = %11225
  %11230 = load i32, ptr %421, align 4, !tbaa !5
  %11231 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11232 = call i32 @s2n_print_stacktrace(ptr noundef %11231) #12
  %11233 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11234 = trunc nuw i8 %11233 to i1
  br i1 %11234, label %11235, label %11239

11235:                                            ; preds = %11229
  %11236 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11237 = call i32 @fileno(ptr noundef %11236) #12
  %11238 = call i32 @isatty(i32 noundef %11237) #12
  %.not1387 = icmp eq i32 %11238, 0
  br i1 %.not1387, label %11239, label %11240

11239:                                            ; preds = %11235, %11229
  br label %11240

11240:                                            ; preds = %11235, %11239
  %.str.6.sink5026 = phi ptr [ @.str.6, %11239 ], [ @.str.3, %11235 ]
  store i32 %11230, ptr %421, align 4, !tbaa !5
  %11241 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11242 = load i32, ptr @test_count, align 4, !tbaa !5
  %11243 = load i32, ptr %367, align 4, !tbaa !5
  %11244 = call ptr @s2n_strerror(i32 noundef %11243, ptr noundef nonnull @.str.5) #12
  %11245 = load i32, ptr %367, align 4, !tbaa !5
  %11246 = call ptr @s2n_strerror_debug(i32 noundef %11245, ptr noundef nonnull @.str.5) #12
  %11247 = load i32, ptr %421, align 4, !tbaa !5
  %11248 = call ptr @strerror(i32 noundef %11247) #12
  %11249 = load i32, ptr %421, align 4, !tbaa !5
  %11250 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11241, ptr noundef nonnull %.str.6.sink5026, i32 noundef %11242, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.2, i32 noundef 1324, ptr noundef %11244, ptr noundef %11246, ptr noundef %11248, i32 noundef %11249) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11251:                                            ; preds = %11225
  store i32 0, ptr %367, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %421, align 4, !tbaa !5
  %11252 = load i32, ptr @test_count, align 4, !tbaa !5
  %11253 = add nsw i32 %11252, 1
  store i32 %11253, ptr @test_count, align 4, !tbaa !5
  %11254 = call i32 @s2n_assert_seq_num_equal(ptr noundef nonnull byval(%struct.s2n_blob) align 8 %189, i64 noundef 10)
  %11255 = call zeroext i1 @s2n_result_is_ok(i32 %11254)
  br i1 %11255, label %11278, label %11256

11256:                                            ; preds = %11251
  %11257 = load i32, ptr %421, align 4, !tbaa !5
  %11258 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11259 = call i32 @s2n_print_stacktrace(ptr noundef %11258) #12
  %11260 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11261 = trunc nuw i8 %11260 to i1
  br i1 %11261, label %11262, label %11266

11262:                                            ; preds = %11256
  %11263 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11264 = call i32 @fileno(ptr noundef %11263) #12
  %11265 = call i32 @isatty(i32 noundef %11264) #12
  %.not1377 = icmp eq i32 %11265, 0
  br i1 %.not1377, label %11266, label %11267

11266:                                            ; preds = %11262, %11256
  br label %11267

11267:                                            ; preds = %11262, %11266
  %.str.6.sink5035 = phi ptr [ @.str.6, %11266 ], [ @.str.3, %11262 ]
  store i32 %11257, ptr %421, align 4, !tbaa !5
  %11268 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11269 = load i32, ptr @test_count, align 4, !tbaa !5
  %11270 = load i32, ptr %367, align 4, !tbaa !5
  %11271 = call ptr @s2n_strerror(i32 noundef %11270, ptr noundef nonnull @.str.5) #12
  %11272 = load i32, ptr %367, align 4, !tbaa !5
  %11273 = call ptr @s2n_strerror_debug(i32 noundef %11272, ptr noundef nonnull @.str.5) #12
  %11274 = load i32, ptr %421, align 4, !tbaa !5
  %11275 = call ptr @strerror(i32 noundef %11274) #12
  %11276 = load i32, ptr %421, align 4, !tbaa !5
  %11277 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11268, ptr noundef nonnull %.str.6.sink5035, i32 noundef %11269, ptr noundef nonnull @.str.174, ptr noundef nonnull @.str.2, i32 noundef 1325, ptr noundef %11271, ptr noundef %11273, ptr noundef %11275, i32 noundef %11276) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11278:                                            ; preds = %11251
  %11279 = call i32 @s2n_blob_zero(ptr noundef nonnull %189) #12
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %189) #12
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %190) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %190, i8 0, i64 24, i1 false)
  %11280 = load i32, ptr @test_count, align 4, !tbaa !5
  %11281 = add nsw i32 %11280, 1
  store i32 %11281, ptr @test_count, align 4, !tbaa !5
  %11282 = load ptr, ptr %186, align 8, !tbaa !9
  %11283 = getelementptr inbounds i8, ptr %11282, i64 148
  %11284 = load i32, ptr %11283, align 4, !tbaa !94
  %11285 = call i32 @s2n_connection_get_sequence_number(ptr noundef %11282, i32 noundef %11284, ptr noundef nonnull %190) #12
  %11286 = call zeroext i1 @s2n_result_is_ok(i32 %11285)
  br i1 %11286, label %11309, label %11287

11287:                                            ; preds = %11278
  %11288 = load i32, ptr %421, align 4, !tbaa !5
  %11289 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11290 = call i32 @s2n_print_stacktrace(ptr noundef %11289) #12
  %11291 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11292 = trunc nuw i8 %11291 to i1
  br i1 %11292, label %11293, label %11297

11293:                                            ; preds = %11287
  %11294 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11295 = call i32 @fileno(ptr noundef %11294) #12
  %11296 = call i32 @isatty(i32 noundef %11295) #12
  %.not1378 = icmp eq i32 %11296, 0
  br i1 %.not1378, label %11297, label %11298

11297:                                            ; preds = %11293, %11287
  br label %11298

11298:                                            ; preds = %11293, %11297
  %.str.6.sink5044 = phi ptr [ @.str.6, %11297 ], [ @.str.3, %11293 ]
  store i32 %11288, ptr %421, align 4, !tbaa !5
  %11299 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11300 = load i32, ptr @test_count, align 4, !tbaa !5
  %11301 = load i32, ptr %367, align 4, !tbaa !5
  %11302 = call ptr @s2n_strerror(i32 noundef %11301, ptr noundef nonnull @.str.5) #12
  %11303 = load i32, ptr %367, align 4, !tbaa !5
  %11304 = call ptr @s2n_strerror_debug(i32 noundef %11303, ptr noundef nonnull @.str.5) #12
  %11305 = load i32, ptr %421, align 4, !tbaa !5
  %11306 = call ptr @strerror(i32 noundef %11305) #12
  %11307 = load i32, ptr %421, align 4, !tbaa !5
  %11308 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11299, ptr noundef nonnull %.str.6.sink5044, i32 noundef %11300, ptr noundef nonnull @.str.166, ptr noundef nonnull @.str.2, i32 noundef 1331, ptr noundef %11302, ptr noundef %11304, ptr noundef %11306, i32 noundef %11307) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11309:                                            ; preds = %11278
  %11310 = load ptr, ptr %186, align 8, !tbaa !9
  %11311 = getelementptr inbounds i8, ptr %11310, i64 220
  store i8 33, ptr %11311, align 4, !tbaa !93
  %11312 = load i32, ptr @test_count, align 4, !tbaa !5
  %11313 = add nsw i32 %11312, 1
  store i32 %11313, ptr @test_count, align 4, !tbaa !5
  %11314 = call i64 @s2n_send(ptr noundef %11310, ptr noundef nonnull %183, i64 noundef 163840, ptr noundef nonnull %187) #12
  %11315 = icmp eq i64 %11314, 163840
  br i1 %11315, label %11338, label %11316

11316:                                            ; preds = %11309
  %11317 = load i32, ptr %421, align 4, !tbaa !5
  %11318 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11319 = call i32 @s2n_print_stacktrace(ptr noundef %11318) #12
  %11320 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11321 = trunc nuw i8 %11320 to i1
  br i1 %11321, label %11322, label %11326

11322:                                            ; preds = %11316
  %11323 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11324 = call i32 @fileno(ptr noundef %11323) #12
  %11325 = call i32 @isatty(i32 noundef %11324) #12
  %.not1379 = icmp eq i32 %11325, 0
  br i1 %.not1379, label %11326, label %11327

11326:                                            ; preds = %11322, %11316
  br label %11327

11327:                                            ; preds = %11322, %11326
  %.str.6.sink5053 = phi ptr [ @.str.6, %11326 ], [ @.str.3, %11322 ]
  store i32 %11317, ptr %421, align 4, !tbaa !5
  %11328 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11329 = load i32, ptr @test_count, align 4, !tbaa !5
  %11330 = load i32, ptr %367, align 4, !tbaa !5
  %11331 = call ptr @s2n_strerror(i32 noundef %11330, ptr noundef nonnull @.str.5) #12
  %11332 = load i32, ptr %367, align 4, !tbaa !5
  %11333 = call ptr @s2n_strerror_debug(i32 noundef %11332, ptr noundef nonnull @.str.5) #12
  %11334 = load i32, ptr %421, align 4, !tbaa !5
  %11335 = call ptr @strerror(i32 noundef %11334) #12
  %11336 = load i32, ptr %421, align 4, !tbaa !5
  %11337 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11328, ptr noundef nonnull %.str.6.sink5053, i32 noundef %11329, ptr noundef nonnull @.str.176, ptr noundef nonnull @.str.2, i32 noundef 1337, ptr noundef %11331, ptr noundef %11333, ptr noundef %11335, i32 noundef %11336) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11338:                                            ; preds = %11309
  %11339 = load i32, ptr @test_count, align 4, !tbaa !5
  %11340 = add nsw i32 %11339, 1
  store i32 %11340, ptr @test_count, align 4, !tbaa !5
  %11341 = call i32 @s2n_assert_seq_num_equal(ptr noundef nonnull byval(%struct.s2n_blob) align 8 %190, i64 noundef 0)
  %11342 = call zeroext i1 @s2n_result_is_ok(i32 %11341)
  br i1 %11342, label %11365, label %11343

11343:                                            ; preds = %11338
  %11344 = load i32, ptr %421, align 4, !tbaa !5
  %11345 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11346 = call i32 @s2n_print_stacktrace(ptr noundef %11345) #12
  %11347 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11348 = trunc nuw i8 %11347 to i1
  br i1 %11348, label %11349, label %11353

11349:                                            ; preds = %11343
  %11350 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11351 = call i32 @fileno(ptr noundef %11350) #12
  %11352 = call i32 @isatty(i32 noundef %11351) #12
  %.not1380 = icmp eq i32 %11352, 0
  br i1 %.not1380, label %11353, label %11354

11353:                                            ; preds = %11349, %11343
  br label %11354

11354:                                            ; preds = %11349, %11353
  %.str.6.sink5062 = phi ptr [ @.str.6, %11353 ], [ @.str.3, %11349 ]
  store i32 %11344, ptr %421, align 4, !tbaa !5
  %11355 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11356 = load i32, ptr @test_count, align 4, !tbaa !5
  %11357 = load i32, ptr %367, align 4, !tbaa !5
  %11358 = call ptr @s2n_strerror(i32 noundef %11357, ptr noundef nonnull @.str.5) #12
  %11359 = load i32, ptr %367, align 4, !tbaa !5
  %11360 = call ptr @s2n_strerror_debug(i32 noundef %11359, ptr noundef nonnull @.str.5) #12
  %11361 = load i32, ptr %421, align 4, !tbaa !5
  %11362 = call ptr @strerror(i32 noundef %11361) #12
  %11363 = load i32, ptr %421, align 4, !tbaa !5
  %11364 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11355, ptr noundef nonnull %.str.6.sink5062, i32 noundef %11356, ptr noundef nonnull @.str.177, ptr noundef nonnull @.str.2, i32 noundef 1338, ptr noundef %11358, ptr noundef %11360, ptr noundef %11362, i32 noundef %11363) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11365:                                            ; preds = %11338
  %11366 = load ptr, ptr %186, align 8, !tbaa !9
  %11367 = getelementptr inbounds i8, ptr %11366, i64 220
  store i8 34, ptr %11367, align 4, !tbaa !93
  %11368 = load i32, ptr @test_count, align 4, !tbaa !5
  %11369 = add nsw i32 %11368, 1
  store i32 %11369, ptr @test_count, align 4, !tbaa !5
  %11370 = call i64 @s2n_send(ptr noundef %11366, ptr noundef nonnull %183, i64 noundef 163840, ptr noundef nonnull %187) #12
  %11371 = icmp eq i64 %11370, 163840
  br i1 %11371, label %11394, label %11372

11372:                                            ; preds = %11365
  %11373 = load i32, ptr %421, align 4, !tbaa !5
  %11374 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11375 = call i32 @s2n_print_stacktrace(ptr noundef %11374) #12
  %11376 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11377 = trunc nuw i8 %11376 to i1
  br i1 %11377, label %11378, label %11382

11378:                                            ; preds = %11372
  %11379 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11380 = call i32 @fileno(ptr noundef %11379) #12
  %11381 = call i32 @isatty(i32 noundef %11380) #12
  %.not1381 = icmp eq i32 %11381, 0
  br i1 %.not1381, label %11382, label %11383

11382:                                            ; preds = %11378, %11372
  br label %11383

11383:                                            ; preds = %11378, %11382
  %.str.6.sink5071 = phi ptr [ @.str.6, %11382 ], [ @.str.3, %11378 ]
  store i32 %11373, ptr %421, align 4, !tbaa !5
  %11384 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11385 = load i32, ptr @test_count, align 4, !tbaa !5
  %11386 = load i32, ptr %367, align 4, !tbaa !5
  %11387 = call ptr @s2n_strerror(i32 noundef %11386, ptr noundef nonnull @.str.5) #12
  %11388 = load i32, ptr %367, align 4, !tbaa !5
  %11389 = call ptr @s2n_strerror_debug(i32 noundef %11388, ptr noundef nonnull @.str.5) #12
  %11390 = load i32, ptr %421, align 4, !tbaa !5
  %11391 = call ptr @strerror(i32 noundef %11390) #12
  %11392 = load i32, ptr %421, align 4, !tbaa !5
  %11393 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11384, ptr noundef nonnull %.str.6.sink5071, i32 noundef %11385, ptr noundef nonnull @.str.176, ptr noundef nonnull @.str.2, i32 noundef 1344, ptr noundef %11387, ptr noundef %11389, ptr noundef %11391, i32 noundef %11392) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11394:                                            ; preds = %11365
  %11395 = load i32, ptr @test_count, align 4, !tbaa !5
  %11396 = add nsw i32 %11395, 1
  store i32 %11396, ptr @test_count, align 4, !tbaa !5
  %11397 = call i32 @s2n_assert_seq_num_equal(ptr noundef nonnull byval(%struct.s2n_blob) align 8 %190, i64 noundef 10)
  %11398 = call zeroext i1 @s2n_result_is_ok(i32 %11397)
  br i1 %11398, label %11421, label %11399

11399:                                            ; preds = %11394
  %11400 = load i32, ptr %421, align 4, !tbaa !5
  %11401 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11402 = call i32 @s2n_print_stacktrace(ptr noundef %11401) #12
  %11403 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11404 = trunc nuw i8 %11403 to i1
  br i1 %11404, label %11405, label %11409

11405:                                            ; preds = %11399
  %11406 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11407 = call i32 @fileno(ptr noundef %11406) #12
  %11408 = call i32 @isatty(i32 noundef %11407) #12
  %.not1382 = icmp eq i32 %11408, 0
  br i1 %.not1382, label %11409, label %11410

11409:                                            ; preds = %11405, %11399
  br label %11410

11410:                                            ; preds = %11405, %11409
  %.str.6.sink5080 = phi ptr [ @.str.6, %11409 ], [ @.str.3, %11405 ]
  store i32 %11400, ptr %421, align 4, !tbaa !5
  %11411 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11412 = load i32, ptr @test_count, align 4, !tbaa !5
  %11413 = load i32, ptr %367, align 4, !tbaa !5
  %11414 = call ptr @s2n_strerror(i32 noundef %11413, ptr noundef nonnull @.str.5) #12
  %11415 = load i32, ptr %367, align 4, !tbaa !5
  %11416 = call ptr @s2n_strerror_debug(i32 noundef %11415, ptr noundef nonnull @.str.5) #12
  %11417 = load i32, ptr %421, align 4, !tbaa !5
  %11418 = call ptr @strerror(i32 noundef %11417) #12
  %11419 = load i32, ptr %421, align 4, !tbaa !5
  %11420 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11411, ptr noundef nonnull %.str.6.sink5080, i32 noundef %11412, ptr noundef nonnull @.str.174, ptr noundef nonnull @.str.2, i32 noundef 1345, ptr noundef %11414, ptr noundef %11416, ptr noundef %11418, i32 noundef %11419) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11421:                                            ; preds = %11394
  %11422 = load ptr, ptr %186, align 8, !tbaa !9
  %11423 = getelementptr inbounds i8, ptr %11422, i64 220
  store i8 34, ptr %11423, align 4, !tbaa !93
  %11424 = load i32, ptr @test_count, align 4, !tbaa !5
  %11425 = add nsw i32 %11424, 1
  store i32 %11425, ptr @test_count, align 4, !tbaa !5
  %11426 = call i64 @s2n_send(ptr noundef %11422, ptr noundef nonnull %183, i64 noundef 1, ptr noundef nonnull %187) #12
  %11427 = icmp eq i64 %11426, -1
  br i1 %11427, label %11450, label %11428

11428:                                            ; preds = %11421
  %11429 = load i32, ptr %421, align 4, !tbaa !5
  %11430 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11431 = call i32 @s2n_print_stacktrace(ptr noundef %11430) #12
  %11432 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11433 = trunc nuw i8 %11432 to i1
  br i1 %11433, label %11434, label %11438

11434:                                            ; preds = %11428
  %11435 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11436 = call i32 @fileno(ptr noundef %11435) #12
  %11437 = call i32 @isatty(i32 noundef %11436) #12
  %.not1383 = icmp eq i32 %11437, 0
  br i1 %.not1383, label %11438, label %11439

11438:                                            ; preds = %11434, %11428
  br label %11439

11439:                                            ; preds = %11434, %11438
  %.str.6.sink5089 = phi ptr [ @.str.6, %11438 ], [ @.str.3, %11434 ]
  store i32 %11429, ptr %421, align 4, !tbaa !5
  %11440 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11441 = load i32, ptr @test_count, align 4, !tbaa !5
  %11442 = load i32, ptr %367, align 4, !tbaa !5
  %11443 = call ptr @s2n_strerror(i32 noundef %11442, ptr noundef nonnull @.str.5) #12
  %11444 = load i32, ptr %367, align 4, !tbaa !5
  %11445 = call ptr @s2n_strerror_debug(i32 noundef %11444, ptr noundef nonnull @.str.5) #12
  %11446 = load i32, ptr %421, align 4, !tbaa !5
  %11447 = call ptr @strerror(i32 noundef %11446) #12
  %11448 = load i32, ptr %421, align 4, !tbaa !5
  %11449 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11440, ptr noundef nonnull %.str.6.sink5089, i32 noundef %11441, ptr noundef nonnull @.str.175, ptr noundef nonnull @.str.2, i32 noundef 1351, ptr noundef %11443, ptr noundef %11445, ptr noundef %11447, i32 noundef %11448) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11450:                                            ; preds = %11421
  %11451 = load i32, ptr @test_count, align 4, !tbaa !5
  %11452 = add nsw i32 %11451, 1
  store i32 %11452, ptr @test_count, align 4, !tbaa !5
  %11453 = load i32, ptr %367, align 4, !tbaa !5
  %11454 = icmp eq i32 %11453, 469762132
  br i1 %11454, label %11477, label %11455

11455:                                            ; preds = %11450
  %11456 = load i32, ptr %421, align 4, !tbaa !5
  %11457 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11458 = call i32 @s2n_print_stacktrace(ptr noundef %11457) #12
  %11459 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11460 = trunc nuw i8 %11459 to i1
  br i1 %11460, label %11461, label %11465

11461:                                            ; preds = %11455
  %11462 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11463 = call i32 @fileno(ptr noundef %11462) #12
  %11464 = call i32 @isatty(i32 noundef %11463) #12
  %.not1384 = icmp eq i32 %11464, 0
  br i1 %.not1384, label %11465, label %11466

11465:                                            ; preds = %11461, %11455
  br label %11466

11466:                                            ; preds = %11461, %11465
  %.str.6.sink5098 = phi ptr [ @.str.6, %11465 ], [ @.str.3, %11461 ]
  store i32 %11456, ptr %421, align 4, !tbaa !5
  %11467 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11468 = load i32, ptr @test_count, align 4, !tbaa !5
  %11469 = load i32, ptr %367, align 4, !tbaa !5
  %11470 = call ptr @s2n_strerror(i32 noundef %11469, ptr noundef nonnull @.str.5) #12
  %11471 = load i32, ptr %367, align 4, !tbaa !5
  %11472 = call ptr @s2n_strerror_debug(i32 noundef %11471, ptr noundef nonnull @.str.5) #12
  %11473 = load i32, ptr %421, align 4, !tbaa !5
  %11474 = call ptr @strerror(i32 noundef %11473) #12
  %11475 = load i32, ptr %421, align 4, !tbaa !5
  %11476 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11467, ptr noundef nonnull %.str.6.sink5098, i32 noundef %11468, ptr noundef nonnull @.str.173, ptr noundef nonnull @.str.2, i32 noundef 1351, ptr noundef %11470, ptr noundef %11472, ptr noundef %11474, i32 noundef %11475) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11477:                                            ; preds = %11450
  %11478 = add nsw i32 %11451, 2
  store i32 %11478, ptr @test_count, align 4, !tbaa !5
  %11479 = call ptr @s2n_strerror_debug(i32 noundef 469762132, ptr noundef nonnull @.str.5) #12
  %11480 = icmp eq ptr %11479, null
  br i1 %11480, label %11481, label %11503

11481:                                            ; preds = %11477
  %11482 = load i32, ptr %421, align 4, !tbaa !5
  %11483 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11484 = call i32 @s2n_print_stacktrace(ptr noundef %11483) #12
  %11485 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11486 = trunc nuw i8 %11485 to i1
  br i1 %11486, label %11487, label %11491

11487:                                            ; preds = %11481
  %11488 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11489 = call i32 @fileno(ptr noundef %11488) #12
  %11490 = call i32 @isatty(i32 noundef %11489) #12
  %.not1386 = icmp eq i32 %11490, 0
  br i1 %.not1386, label %11491, label %11492

11491:                                            ; preds = %11487, %11481
  br label %11492

11492:                                            ; preds = %11487, %11491
  %.str.6.sink5107 = phi ptr [ @.str.6, %11491 ], [ @.str.3, %11487 ]
  store i32 %11482, ptr %421, align 4, !tbaa !5
  %11493 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11494 = load i32, ptr @test_count, align 4, !tbaa !5
  %11495 = load i32, ptr %367, align 4, !tbaa !5
  %11496 = call ptr @s2n_strerror(i32 noundef %11495, ptr noundef nonnull @.str.5) #12
  %11497 = load i32, ptr %367, align 4, !tbaa !5
  %11498 = call ptr @s2n_strerror_debug(i32 noundef %11497, ptr noundef nonnull @.str.5) #12
  %11499 = load i32, ptr %421, align 4, !tbaa !5
  %11500 = call ptr @strerror(i32 noundef %11499) #12
  %11501 = load i32, ptr %421, align 4, !tbaa !5
  %11502 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11493, ptr noundef nonnull %.str.6.sink5107, i32 noundef %11494, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.2, i32 noundef 1351, ptr noundef %11496, ptr noundef %11498, ptr noundef %11500, i32 noundef %11501) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11503:                                            ; preds = %11477
  store i32 0, ptr %367, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %421, align 4, !tbaa !5
  %11504 = load ptr, ptr %186, align 8, !tbaa !9
  %11505 = getelementptr inbounds i8, ptr %11504, i64 220
  store i8 33, ptr %11505, align 4, !tbaa !93
  %11506 = load i32, ptr @test_count, align 4, !tbaa !5
  %11507 = add nsw i32 %11506, 1
  store i32 %11507, ptr @test_count, align 4, !tbaa !5
  %11508 = call i64 @s2n_send(ptr noundef %11504, ptr noundef nonnull %183, i64 noundef 1, ptr noundef nonnull %187) #12
  %11509 = icmp eq i64 %11508, 1
  br i1 %11509, label %11532, label %11510

11510:                                            ; preds = %11503
  %11511 = load i32, ptr %421, align 4, !tbaa !5
  %11512 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11513 = call i32 @s2n_print_stacktrace(ptr noundef %11512) #12
  %11514 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11515 = trunc nuw i8 %11514 to i1
  br i1 %11515, label %11516, label %11520

11516:                                            ; preds = %11510
  %11517 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11518 = call i32 @fileno(ptr noundef %11517) #12
  %11519 = call i32 @isatty(i32 noundef %11518) #12
  %.not1385 = icmp eq i32 %11519, 0
  br i1 %.not1385, label %11520, label %11521

11520:                                            ; preds = %11516, %11510
  br label %11521

11521:                                            ; preds = %11516, %11520
  %.str.6.sink5116 = phi ptr [ @.str.6, %11520 ], [ @.str.3, %11516 ]
  store i32 %11511, ptr %421, align 4, !tbaa !5
  %11522 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11523 = load i32, ptr @test_count, align 4, !tbaa !5
  %11524 = load i32, ptr %367, align 4, !tbaa !5
  %11525 = call ptr @s2n_strerror(i32 noundef %11524, ptr noundef nonnull @.str.5) #12
  %11526 = load i32, ptr %367, align 4, !tbaa !5
  %11527 = call ptr @s2n_strerror_debug(i32 noundef %11526, ptr noundef nonnull @.str.5) #12
  %11528 = load i32, ptr %421, align 4, !tbaa !5
  %11529 = call ptr @strerror(i32 noundef %11528) #12
  %11530 = load i32, ptr %421, align 4, !tbaa !5
  %11531 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11522, ptr noundef nonnull %.str.6.sink5116, i32 noundef %11523, ptr noundef nonnull @.str.169, ptr noundef nonnull @.str.2, i32 noundef 1355, ptr noundef %11525, ptr noundef %11527, ptr noundef %11529, i32 noundef %11530) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11532:                                            ; preds = %11503
  %11533 = call i32 @s2n_blob_zero(ptr noundef nonnull %190) #12
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %190) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %187) #12
  %11534 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %186) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %186) #12
  br i1 %10570, label %10569, label %10566, !llvm.loop !95

11535:                                            ; preds = %10566
  %11536 = load i32, ptr %421, align 4, !tbaa !5
  %11537 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11538 = call i32 @s2n_print_stacktrace(ptr noundef %11537) #12
  %11539 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11540 = trunc nuw i8 %11539 to i1
  br i1 %11540, label %11541, label %11545

11541:                                            ; preds = %11535
  %11542 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11543 = call i32 @fileno(ptr noundef %11542) #12
  %11544 = call i32 @isatty(i32 noundef %11543) #12
  %.not1358 = icmp eq i32 %11544, 0
  br i1 %.not1358, label %11545, label %11546

11545:                                            ; preds = %11541, %11535
  br label %11546

11546:                                            ; preds = %11541, %11545
  %.str.6.sink5125 = phi ptr [ @.str.6, %11545 ], [ @.str.3, %11541 ]
  store i32 %11536, ptr %421, align 4, !tbaa !5
  %11547 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11548 = load i32, ptr @test_count, align 4, !tbaa !5
  %11549 = load i32, ptr %367, align 4, !tbaa !5
  %11550 = call ptr @s2n_strerror(i32 noundef %11549, ptr noundef nonnull @.str.5) #12
  %11551 = load i32, ptr %367, align 4, !tbaa !5
  %11552 = call ptr @s2n_strerror_debug(i32 noundef %11551, ptr noundef nonnull @.str.5) #12
  %11553 = load i32, ptr %421, align 4, !tbaa !5
  %11554 = call ptr @strerror(i32 noundef %11553) #12
  %11555 = load i32, ptr %421, align 4, !tbaa !5
  %11556 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11547, ptr noundef nonnull %.str.6.sink5125, i32 noundef %11548, ptr noundef nonnull @.str.178, ptr noundef nonnull @.str.2, i32 noundef 1360, ptr noundef %11550, ptr noundef %11552, ptr noundef %11554, i32 noundef %11555) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11557:                                            ; preds = %10566
  %11558 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext false) #12
  %11559 = icmp eq i32 %11558, -1
  br i1 %11559, label %11560, label %11582

11560:                                            ; preds = %11557
  %11561 = load i32, ptr %421, align 4, !tbaa !5
  %11562 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11563 = call i32 @s2n_print_stacktrace(ptr noundef %11562) #12
  %11564 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11565 = trunc nuw i8 %11564 to i1
  br i1 %11565, label %11566, label %11570

11566:                                            ; preds = %11560
  %11567 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11568 = call i32 @fileno(ptr noundef %11567) #12
  %11569 = call i32 @isatty(i32 noundef %11568) #12
  %.not1357 = icmp eq i32 %11569, 0
  br i1 %.not1357, label %11570, label %11571

11570:                                            ; preds = %11566, %11560
  br label %11571

11571:                                            ; preds = %11566, %11570
  %.str.6.sink5134 = phi ptr [ @.str.6, %11570 ], [ @.str.3, %11566 ]
  store i32 %11561, ptr %421, align 4, !tbaa !5
  %11572 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11573 = load i32, ptr @test_count, align 4, !tbaa !5
  %11574 = load i32, ptr %367, align 4, !tbaa !5
  %11575 = call ptr @s2n_strerror(i32 noundef %11574, ptr noundef nonnull @.str.5) #12
  %11576 = load i32, ptr %367, align 4, !tbaa !5
  %11577 = call ptr @s2n_strerror_debug(i32 noundef %11576, ptr noundef nonnull @.str.5) #12
  %11578 = load i32, ptr %421, align 4, !tbaa !5
  %11579 = call ptr @strerror(i32 noundef %11578) #12
  %11580 = load i32, ptr %421, align 4, !tbaa !5
  %11581 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11572, ptr noundef nonnull %.str.6.sink5134, i32 noundef %11573, ptr noundef nonnull @.str.179, ptr noundef nonnull @.str.2, i32 noundef 1360, ptr noundef %11575, ptr noundef %11577, ptr noundef %11579, i32 noundef %11580) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11582:                                            ; preds = %11557
  %11583 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11584 = trunc nuw i8 %11583 to i1
  br i1 %11584, label %11585, label %11596

11585:                                            ; preds = %11582
  %11586 = load ptr, ptr @stdout, align 8, !tbaa !9
  %11587 = call i32 @fileno(ptr noundef %11586) #12
  %11588 = call i32 @isatty(i32 noundef %11587) #12
  %.not1354 = icmp eq i32 %11588, 0
  br i1 %.not1354, label %11596, label %11589

11589:                                            ; preds = %11585
  %11590 = load i32, ptr @test_count, align 4, !tbaa !5
  %.not1356 = icmp eq i32 %11590, 0
  %11591 = load ptr, ptr @stdout, align 8, !tbaa !9
  br i1 %.not1356, label %11594, label %11592

11592:                                            ; preds = %11589
  %11593 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11591, ptr noundef nonnull @.str.180, i32 noundef %11590) #12
  br label %11603

11594:                                            ; preds = %11589
  %11595 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11591, ptr noundef nonnull @.str.181) #12
  br label %11603

11596:                                            ; preds = %11585, %11582
  %11597 = load i32, ptr @test_count, align 4, !tbaa !5
  %.not1355 = icmp eq i32 %11597, 0
  %11598 = load ptr, ptr @stdout, align 8, !tbaa !9
  br i1 %.not1355, label %11601, label %11599

11599:                                            ; preds = %11596
  %11600 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11598, ptr noundef nonnull @.str.182, i32 noundef %11597) #12
  br label %11603

11601:                                            ; preds = %11596
  %11602 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11598, ptr noundef nonnull @.str.183) #12
  br label %11603

11603:                                            ; preds = %11599, %11601, %11592, %11594
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %4) #12
  call void @llvm.lifetime.end.p0(i64 16384, ptr nonnull %3) #12
  ret i32 0
}

; Function Attrs: nofree nounwind
declare noundef i32 @fprintf(ptr nocapture noundef, ptr nocapture noundef readonly, ...) local_unnamed_addr #3

; Function Attrs: nofree nounwind
declare noundef i32 @fflush(ptr nocapture noundef) local_unnamed_addr #3

declare i32 @s2n_in_unit_test_set(i1 noundef zeroext) local_unnamed_addr #4

; Function Attrs: mustprogress nofree nosync nounwind willreturn memory(none)
declare ptr @__errno_location() local_unnamed_addr #5

declare i32 @s2n_print_stacktrace(ptr noundef) local_unnamed_addr #4

; Function Attrs: nounwind
declare i32 @isatty(i32 noundef) local_unnamed_addr #6

; Function Attrs: nofree nounwind
declare noundef i32 @fileno(ptr nocapture noundef) local_unnamed_addr #3

declare ptr @s2n_strerror(i32 noundef, ptr noundef) local_unnamed_addr #4

declare ptr @s2n_strerror_debug(i32 noundef, ptr noundef) local_unnamed_addr #4

; Function Attrs: nounwind
declare ptr @strerror(i32 noundef) local_unnamed_addr #6

; Function Attrs: noreturn nounwind
declare void @exit(i32 noundef) local_unnamed_addr #7

declare i32 @s2n_enable_atexit() local_unnamed_addr #4

declare i32 @s2n_init() local_unnamed_addr #4

; Function Attrs: mustprogress nocallback nofree nounwind willreturn memory(argmem: write)
declare void @llvm.memset.p0.i64(ptr nocapture writeonly, i8, i64, i1 immarg) #8

declare i32 @s2n_blob_init(ptr noundef, ptr noundef, i32 noundef) local_unnamed_addr #4

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

declare i32 @s2n_get_public_random_data(ptr noundef) local_unnamed_addr #4

; Function Attrs: inlinehint nounwind uwtable
declare hidden zeroext i1 @s2n_result_is_error(i32) local_unnamed_addr #9

declare i32 @s2n_ktls_set_control_data(ptr noundef, ptr noundef, i64 noundef, i32 noundef, i8 noundef zeroext) local_unnamed_addr #4

declare void @s2n_debug_info_reset() local_unnamed_addr #4

declare i32 @s2n_ktls_get_control_data(ptr noundef, i32 noundef, ptr noundef) local_unnamed_addr #4

declare i32 @s2n_ktls_sendmsg(ptr noundef, i8 noundef zeroext, ptr noundef, i64 noundef, ptr noundef, ptr noundef) local_unnamed_addr #4

declare ptr @s2n_connection_new(i32 noundef) local_unnamed_addr #4

declare i32 @s2n_connection_ptr_free(ptr noundef) local_unnamed_addr #4

declare i32 @s2n_ktls_io_stuffer_free(ptr noundef) local_unnamed_addr #4

declare i32 @s2n_test_init_ktls_io_stuffer_send(ptr noundef, ptr noundef) local_unnamed_addr #4

declare i32 @s2n_test_validate_ancillary(ptr noundef, i8 noundef zeroext, i16 noundef zeroext) local_unnamed_addr #4

declare i32 @s2n_test_validate_data(ptr noundef, ptr noundef, i16 noundef zeroext) local_unnamed_addr #4

declare i32 @s2n_ktls_set_sendmsg_cb(ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #4

; Function Attrs: nounwind uwtable
declare hidden i64 @s2n_test_ktls_sendmsg_fail(ptr noundef, ptr noundef) #0

; Function Attrs: mustprogress nocallback nofree nounwind willreturn memory(argmem: readwrite)
declare void @llvm.memcpy.p0.p0.i64(ptr noalias nocapture writeonly, ptr noalias nocapture readonly, i64, i1 immarg) #10

declare i32 @s2n_ktls_recvmsg(ptr noundef, ptr noundef, ptr noundef, i64 noundef, ptr noundef, ptr noundef) local_unnamed_addr #4

declare i32 @s2n_ktls_io_stuffer_pair_free(ptr noundef) local_unnamed_addr #4

declare i32 @s2n_test_init_ktls_io_stuffer(ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #4

declare i32 @s2n_ktls_set_recvmsg_cb(ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #4

; Function Attrs: nounwind uwtable
declare hidden i64 @s2n_test_ktls_recvmsg_fail(ptr noundef, ptr noundef) #0

; Function Attrs: nounwind uwtable
declare hidden i64 @s2n_test_ktls_recvmsg_eof(ptr noundef, ptr noundef) #0

declare i64 @s2n_ktls_sendv_with_offset(ptr noundef, ptr noundef, i64 noundef, i64 noundef, ptr noundef) local_unnamed_addr #4

declare i32 @s2n_test_records_in_ancillary(ptr noundef, i16 noundef zeroext) local_unnamed_addr #4

declare i32 @s2n_test_iovecs_free(ptr noundef) local_unnamed_addr #4

declare i32 @s2n_test_new_iovecs(ptr noundef, ptr noundef, ptr noundef, i64 noundef) local_unnamed_addr #4

declare i32 @s2n_stuffer_free(ptr noundef) local_unnamed_addr #4

declare i32 @s2n_stuffer_alloc(ptr noundef, i32 noundef) local_unnamed_addr #4

declare i32 @s2n_stuffer_resize(ptr noundef, i32 noundef) local_unnamed_addr #4

declare i32 @s2n_mem_test_free_callbacks(ptr noundef) local_unnamed_addr #4

declare i32 @s2n_mem_test_init_callbacks(ptr noundef) local_unnamed_addr #4

declare i32 @s2n_mem_test_assert_malloc_count(i32 noundef) local_unnamed_addr #4

declare i32 @s2n_mem_test_assert_malloc(i32 noundef) local_unnamed_addr #4

declare i32 @s2n_mem_test_assert_all_freed(...) local_unnamed_addr #4

declare i32 @s2n_ktls_send_cb(ptr noundef, ptr noundef, i32 noundef) local_unnamed_addr #4

declare i32 @s2n_ktls_record_writev(ptr noundef, i8 noundef zeroext, ptr noundef, i32 noundef, i64 noundef, i64 noundef) local_unnamed_addr #4

declare ptr @s2n_stuffer_raw_read(ptr noundef, i32 noundef) local_unnamed_addr #4

declare i32 @s2n_ktls_read_full_record(ptr noundef, ptr noundef) local_unnamed_addr #4

declare i32 @s2n_stuffer_write_bytes(ptr noundef, ptr noundef, i32 noundef) local_unnamed_addr #4

declare i32 @s2n_stuffer_wipe(ptr noundef) local_unnamed_addr #4

declare i32 @s2n_record_wipe(ptr noundef) local_unnamed_addr #4

; Function Attrs: nounwind uwtable
declare hidden i64 @s2n_test_ktls_sendmsg_mark_all_sent(ptr noundef, ptr noundef) #0

declare i32 @s2n_blob_zero(ptr noundef) local_unnamed_addr #4

declare i32 @s2n_connection_get_sequence_number(ptr noundef, i32 noundef, ptr noundef) local_unnamed_addr #4

; Function Attrs: nounwind uwtable
declare hidden i32 @s2n_assert_seq_num_equal(ptr noundef byval(%struct.s2n_blob) align 8, i64 noundef) local_unnamed_addr #0

declare i64 @s2n_send(ptr noundef, ptr noundef, i64 noundef, ptr noundef) local_unnamed_addr #4

declare i32 @s2n_cleanup() local_unnamed_addr #4

; Function Attrs: nofree nounwind willreturn memory(argmem: read)
declare i32 @bcmp(ptr nocapture, ptr nocapture, i64) local_unnamed_addr #11

attributes #0 = { nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #1 = { mustprogress nocallback nofree nosync nounwind speculatable willreturn memory(none) }
attributes #2 = { mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #3 = { 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 #4 = { "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 = { 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 #6 = { nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #7 = { noreturn nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #8 = { mustprogress nocallback nofree nounwind willreturn memory(argmem: write) }
attributes #9 = { inlinehint nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #10 = { mustprogress nocallback nofree nounwind willreturn memory(argmem: readwrite) }
attributes #11 = { nofree nounwind willreturn memory(argmem: read) }
attributes #12 = { nounwind }
attributes #13 = { nounwind willreturn memory(none) }
attributes #14 = { cold nounwind }
attributes #15 = { noreturn nounwind }

!llvm.module.flags = !{!0, !1, !2, !3}
!llvm.ident = !{!4}

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"int", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C/C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"any pointer", !7, i64 0}
!11 = !{!12, !12, i64 0}
!12 = !{!"_Bool", !7, i64 0}
!13 = !{i8 0, i8 2}
!14 = !{}
!15 = !{!7, !7, i64 0}
!16 = !{!17, !10, i64 0}
!17 = !{!"iovec", !10, i64 0, !18, i64 8}
!18 = !{!"long", !7, i64 0}
!19 = !{!17, !18, i64 8}
!20 = !{!18, !18, i64 0}
!21 = !{!22, !10, i64 64}
!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, !18, i64 168, !18, i64 176, !7, i64 184, !7, i64 216, !7, i64 217, !7, i64 218, !7, i64 219, !7, i64 220, !7, i64 221, !7, i64 222, !10, i64 224, !10, i64 232, !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, !18, 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, !18, i64 2224, !7, i64 2232, !18, i64 2240, !18, i64 2248, !18, 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", !18, 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 = !{!48, !18, i64 80}
!48 = !{!"s2n_test_ktls_io_stuffer", !37, i64 0, !37, i64 40, !18, i64 80, !18, i64 88}
!49 = !{!48, !6, i64 28}
!50 = !{!48, !6, i64 24}
!51 = !{!52, !18, i64 0}
!52 = !{!"s2n_test_ktls_io_fail_ctx", !18, i64 0, !18, i64 8}
!53 = !{!52, !18, i64 8}
!54 = !{!22, !10, i64 72}
!55 = !{!56, !18, i64 80}
!56 = !{!"s2n_test_ktls_io_stuffer_pair", !48, i64 0, !48, i64 96}
!57 = !{!56, !18, i64 88}
!58 = !{!59, !10, i64 0}
!59 = !{!"s2n_test_iovecs", !10, i64 0, !18, i64 8}
!60 = !{!59, !18, i64 8}
!61 = distinct !{!61, !62}
!62 = !{!"llvm.loop.mustprogress"}
!63 = distinct !{!63, !62}
!64 = distinct !{!64, !62}
!65 = !{!66, !10, i64 0}
!66 = !{!"", !10, i64 0, !18, i64 8, !6, i64 16, !6, i64 20}
!67 = !{!66, !18, i64 8}
!68 = !{!66, !6, i64 16}
!69 = !{!66, !6, i64 20}
!70 = distinct !{!70, !62}
!71 = !{!22, !6, i64 1908}
!72 = !{!22, !6, i64 1924}
!73 = !{!22, !6, i64 1920}
!74 = !{!22, !6, i64 1828}
!75 = !{!22, !6, i64 1864}
!76 = !{!22, !6, i64 1884}
!77 = !{!22, !6, i64 1880}
!78 = !{!79, !10, i64 48}
!79 = !{!"s2n_cipher_suite", !6, i64 0, !10, i64 8, !10, i64 16, !7, i64 24, !10, i64 32, !6, i64 40, !10, i64 48, !7, i64 56, !7, i64 72, !10, i64 80, !10, i64 88, !6, i64 96, !7, i64 100}
!80 = !{i64 0, i64 8, !9, i64 8, i64 4, !5, i64 12, i64 4, !5, i64 16, i64 8, !20}
!81 = !{!82, !18, i64 16}
!82 = !{!"s2n_record_algorithm", !10, i64 0, !6, i64 8, !6, i64 12, !18, i64 16}
!83 = !{i64 0, i64 1, !15, i64 8, i64 8, !9, i64 16, i64 8, !9, i64 24, i64 2, !15, i64 32, i64 8, !9, i64 40, i64 4, !5, i64 48, i64 8, !9, i64 56, i64 16, !15, i64 72, i64 1, !15, i64 80, i64 8, !9, i64 88, i64 8, !9, i64 96, i64 4, !5, i64 100, i64 1, !15}
!84 = !{!22, !6, i64 1824}
!85 = !{!22, !6, i64 1844}
!86 = distinct !{!86, !62}
!87 = !{!22, !10, i64 232}
!88 = !{!89, !10, i64 0}
!89 = !{!"s2n_crypto_parameters", !10, i64 0, !90, i64 8, !90, i64 16, !91, i64 24, !91, i64 456, !7, i64 888, !7, i64 904, !7, i64 920, !7, i64 928}
!90 = !{!"s2n_session_key", !10, i64 0}
!91 = !{!"s2n_hmac_state", !6, i64 0, !36, i64 4, !6, i64 8, !36, i64 12, !7, i64 14, !92, i64 16, !92, i64 72, !92, i64 128, !92, i64 184, !7, i64 240, !7, i64 368}
!92 = !{!"s2n_hash_state", !10, i64 0, !6, i64 8, !7, i64 12, !18, i64 16, !7, i64 24}
!93 = !{!22, !7, i64 220}
!94 = !{!22, !6, i64 148}
!95 = distinct !{!95, !62}


; Effective O3 passes: ADCEPass,CorrelatedValuePropagationPass,DSEPass,EarlyCSEPass,GVNPass,GlobalOptPass,IPSCCPPass,IndVarSimplifyPass,InferAlignmentPass,InferFunctionAttrsPass,InstCombinePass,LCSSAPass,LICMPass,LoopInstSimplifyPass,LoopRotatePass,LoopSimplifyPass,MemCpyOptPass,PostOrderFunctionAttrsPass,ReassociatePass,SROAPass,SimplifyCFGPass,TailCallElimPass