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

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

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

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

; Function Attrs: nounwind uwtable
define dso_local i32 @main(i32 noundef %0, ptr noundef %1) #0 {
  %3 = alloca i32, align 4
  %4 = alloca i32, align 4
  %5 = alloca ptr, align 8
  %6 = alloca i32, align 4
  %7 = alloca i32, align 4
  %8 = alloca i32, align 4
  %9 = alloca ptr, align 8
  %10 = alloca i32, align 4
  %11 = alloca ptr, align 8
  %12 = alloca i32, align 4
  %13 = alloca i32, align 4
  %14 = alloca i32, align 4
  %15 = alloca i32, align 4
  %16 = alloca ptr, align 8
  %17 = alloca i32, align 4
  %18 = alloca i32, align 4
  %19 = alloca i32, align 4
  %20 = alloca i32, align 4
  %21 = alloca ptr, align 8
  %22 = alloca i32, align 4
  %23 = alloca i32, align 4
  %24 = alloca i32, align 4
  %25 = alloca i32, align 4
  %26 = alloca i32, align 4
  %27 = alloca i32, align 4
  %28 = alloca i32, align 4
  %29 = alloca i32, align 4
  %30 = alloca %struct.s2n_result, align 4
  %31 = alloca ptr, align 8
  %32 = alloca i32, align 4
  %33 = alloca i32, align 4
  %34 = alloca i64, align 8
  %35 = alloca ptr, align 8
  %36 = alloca i8, align 1
  %37 = alloca i32, align 4
  %38 = alloca i32, align 4
  %39 = alloca i32, align 4
  %40 = alloca i32, align 4
  %41 = alloca %struct.s2n_result, align 4
  %42 = alloca ptr, align 8
  %43 = alloca i32, align 4
  %44 = alloca i32, align 4
  %45 = alloca i32, align 4
  %46 = alloca i32, align 4
  %47 = alloca i32, align 4
  %48 = alloca %struct.s2n_result, align 4
  %49 = alloca ptr, align 8
  %50 = alloca i32, align 4
  %51 = alloca i8, align 1
  %52 = alloca i32, align 4
  %53 = alloca i32, align 4
  %54 = alloca i32, align 4
  %55 = alloca i32, align 4
  %56 = alloca i32, align 4
  %57 = alloca i32, align 4
  %58 = alloca i32, align 4
  %59 = alloca %struct.s2n_result, align 4
  %60 = alloca ptr, align 8
  %61 = alloca i32, align 4
  %62 = alloca ptr, align 8
  %63 = alloca i32, align 4
  %64 = alloca i32, align 4
  %65 = alloca [10 x i8], align 1
  %66 = alloca i32, align 4
  %67 = alloca i32, align 4
  %68 = alloca i32, align 4
  %69 = alloca i32, align 4
  %70 = alloca i32, align 4
  %71 = alloca i32, align 4
  %72 = alloca i32, align 4
  %73 = alloca i32, align 4
  %74 = alloca %struct.s2n_result, align 4
  %75 = alloca i32, align 4
  %76 = alloca i32, align 4
  %77 = alloca i32, align 4
  %78 = alloca i32, align 4
  %79 = alloca %struct.s2n_result, align 4
  %80 = alloca %struct.s2n_result, align 4
  %81 = alloca ptr, align 8
  %82 = alloca i32, align 4
  %83 = alloca ptr, align 8
  %84 = alloca i32, align 4
  %85 = alloca i32, align 4
  %86 = alloca i32, align 4
  %87 = alloca %struct.s2n_test_io_stuffer_pair, align 8
  %88 = alloca %struct.s2n_result, align 4
  %89 = alloca i32, align 4
  %90 = alloca %struct.s2n_result, align 4
  %91 = alloca i32, align 4
  %92 = alloca i32, align 4
  %93 = alloca i32, align 4
  %94 = alloca [2 x i8], align 1
  %95 = alloca i32, align 4
  %96 = alloca i32, align 4
  %97 = alloca i32, align 4
  %98 = alloca [142 x i8], align 16
  %99 = alloca i32, align 4
  %100 = alloca %struct.s2n_blob, align 8
  %101 = alloca i32, align 4
  %102 = alloca %struct.s2n_stuffer, align 8
  %103 = alloca i32, align 4
  %104 = alloca i32, align 4
  %105 = alloca i64, align 8
  %106 = alloca i32, align 4
  %107 = alloca i32, align 4
  %108 = alloca [2 x i8], align 1
  %109 = alloca i32, align 4
  %110 = alloca i32, align 4
  %111 = alloca [2 x i8], align 1
  %112 = alloca i32, align 4
  %113 = alloca i32, align 4
  %114 = alloca [8 x i8], align 1
  %115 = alloca i32, align 4
  %116 = alloca [8 x i8], align 1
  %117 = alloca i32, align 4
  %118 = alloca [8 x i8], align 1
  %119 = alloca i32, align 4
  %120 = alloca i32, align 4
  %121 = alloca i16, align 2
  %122 = alloca i32, align 4
  %123 = alloca i32, align 4
  %124 = alloca [48 x i8], align 16
  %125 = alloca i32, align 4
  %126 = alloca i32, align 4
  %127 = alloca [32 x i8], align 16
  %128 = alloca i32, align 4
  %129 = alloca i32, align 4
  %130 = alloca [32 x i8], align 16
  %131 = alloca i32, align 4
  %132 = alloca i32, align 4
  %133 = alloca i32, align 4
  %134 = alloca %struct.s2n_result, align 4
  %135 = alloca %struct.s2n_result, align 4
  %136 = alloca %struct.s2n_result, align 4
  %137 = alloca ptr, align 8
  %138 = alloca i32, align 4
  %139 = alloca ptr, align 8
  %140 = alloca i32, align 4
  %141 = alloca i32, align 4
  %142 = alloca i32, align 4
  %143 = alloca %struct.s2n_test_io_stuffer_pair, align 8
  %144 = alloca %struct.s2n_result, align 4
  %145 = alloca i32, align 4
  %146 = alloca %struct.s2n_result, align 4
  %147 = alloca i32, align 4
  %148 = alloca i32, align 4
  %149 = alloca i32, align 4
  %150 = alloca [2 x i8], align 1
  %151 = alloca i32, align 4
  %152 = alloca i32, align 4
  %153 = alloca i32, align 4
  %154 = alloca [126 x i8], align 16
  %155 = alloca i32, align 4
  %156 = alloca %struct.s2n_blob, align 8
  %157 = alloca i32, align 4
  %158 = alloca %struct.s2n_stuffer, align 8
  %159 = alloca i32, align 4
  %160 = alloca i32, align 4
  %161 = alloca i64, align 8
  %162 = alloca i32, align 4
  %163 = alloca i32, align 4
  %164 = alloca [2 x i8], align 1
  %165 = alloca i32, align 4
  %166 = alloca i32, align 4
  %167 = alloca [2 x i8], align 1
  %168 = alloca i32, align 4
  %169 = alloca i32, align 4
  %170 = alloca [8 x i8], align 1
  %171 = alloca i32, align 4
  %172 = alloca [8 x i8], align 1
  %173 = alloca i32, align 4
  %174 = alloca [8 x i8], align 1
  %175 = alloca i32, align 4
  %176 = alloca i32, align 4
  %177 = alloca i16, align 2
  %178 = alloca i32, align 4
  %179 = alloca i32, align 4
  %180 = alloca [32 x i8], align 16
  %181 = alloca i32, align 4
  %182 = alloca i32, align 4
  %183 = alloca [32 x i8], align 16
  %184 = alloca i32, align 4
  %185 = alloca i32, align 4
  %186 = alloca [32 x i8], align 16
  %187 = alloca i32, align 4
  %188 = alloca i32, align 4
  %189 = alloca i32, align 4
  %190 = alloca %struct.s2n_result, align 4
  %191 = alloca %struct.s2n_result, align 4
  %192 = alloca %struct.s2n_result, align 4
  %193 = alloca ptr, align 8
  %194 = alloca i32, align 4
  %195 = alloca ptr, align 8
  %196 = alloca i32, align 4
  %197 = alloca i32, align 4
  %198 = alloca i32, align 4
  %199 = alloca %struct.s2n_test_io_stuffer_pair, align 8
  %200 = alloca %struct.s2n_result, align 4
  %201 = alloca i32, align 4
  %202 = alloca %struct.s2n_result, align 4
  %203 = alloca i32, align 4
  %204 = alloca i32, align 4
  %205 = alloca [6 x i8], align 1
  %206 = alloca i32, align 4
  %207 = alloca i32, align 4
  %208 = alloca [10 x i8], align 1
  %209 = alloca i32, align 4
  %210 = alloca [142 x i8], align 16
  %211 = alloca i32, align 4
  %212 = alloca i32, align 4
  %213 = alloca i32, align 4
  %214 = alloca i32, align 4
  %215 = alloca i32, align 4
  %216 = alloca %struct.s2n_result, align 4
  %217 = alloca %struct.s2n_result, align 4
  %218 = alloca %struct.s2n_result, align 4
  %219 = alloca ptr, align 8
  %220 = alloca i32, align 4
  %221 = alloca ptr, align 8
  %222 = alloca i32, align 4
  %223 = alloca i32, align 4
  %224 = alloca i32, align 4
  %225 = alloca %struct.s2n_test_io_stuffer_pair, align 8
  %226 = alloca %struct.s2n_result, align 4
  %227 = alloca i32, align 4
  %228 = alloca %struct.s2n_result, align 4
  %229 = alloca i32, align 4
  %230 = alloca i32, align 4
  %231 = alloca [142 x i8], align 16
  %232 = alloca i32, align 4
  %233 = alloca i32, align 4
  %234 = alloca [12 x i8], align 1
  %235 = alloca i32, align 4
  %236 = alloca i32, align 4
  %237 = alloca i32, align 4
  %238 = alloca i8, align 1
  %239 = alloca i32, align 4
  %240 = alloca i32, align 4
  %241 = alloca i32, align 4
  %242 = alloca i32, align 4
  %243 = alloca [7 x i8], align 1
  %244 = alloca [7 x i8], align 1
  %245 = alloca i32, align 4
  %246 = alloca i32, align 4
  %247 = alloca %struct.s2n_result, align 4
  %248 = alloca %struct.s2n_result, align 4
  %249 = alloca %struct.s2n_result, align 4
  %250 = alloca ptr, align 8
  %251 = alloca i32, align 4
  %252 = alloca ptr, align 8
  %253 = alloca i32, align 4
  %254 = alloca i32, align 4
  %255 = alloca i32, align 4
  %256 = alloca %struct.s2n_test_io_stuffer_pair, align 8
  %257 = alloca %struct.s2n_result, align 4
  %258 = alloca i32, align 4
  %259 = alloca %struct.s2n_result, align 4
  %260 = alloca i32, align 4
  %261 = alloca i32, align 4
  %262 = alloca i32, align 4
  %263 = alloca i32, align 4
  %264 = alloca [142 x i8], align 16
  %265 = alloca i32, align 4
  %266 = alloca i32, align 4
  %267 = alloca i32, align 4
  %268 = alloca %struct.s2n_result, align 4
  %269 = alloca %struct.s2n_result, align 4
  %270 = alloca %struct.s2n_result, align 4
  %271 = alloca ptr, align 8
  %272 = alloca i32, align 4
  %273 = alloca i8, align 1
  %274 = alloca i32, align 4
  %275 = alloca i32, align 4
  %276 = alloca i32, align 4
  %277 = alloca i32, align 4
  %278 = alloca i32, align 4
  %279 = alloca i32, align 4
  %280 = alloca i32, align 4
  %281 = alloca %struct.s2n_result, align 4
  %282 = alloca [126 x i8], align 16
  %283 = alloca ptr, align 8
  %284 = alloca i32, align 4
  %285 = alloca i32, align 4
  %286 = alloca i32, align 4
  %287 = alloca i32, align 4
  %288 = alloca %struct.s2n_result, align 4
  %289 = alloca [126 x i8], align 16
  %290 = alloca ptr, align 8
  %291 = alloca i32, align 4
  %292 = alloca i32, align 4
  %293 = alloca %struct.s2n_result, align 4
  %294 = alloca [2 x ptr], align 16
  %295 = alloca i64, align 8
  %296 = alloca i32, align 4
  %297 = alloca ptr, align 8
  %298 = alloca i32, align 4
  %299 = alloca ptr, align 8
  %300 = alloca i32, align 4
  %301 = alloca i32, align 4
  %302 = alloca i32, align 4
  %303 = alloca %struct.s2n_test_io_stuffer_pair, align 8
  %304 = alloca %struct.s2n_result, align 4
  %305 = alloca i32, align 4
  %306 = alloca %struct.s2n_result, align 4
  %307 = alloca i32, align 4
  %308 = alloca i32, align 4
  %309 = alloca %struct.s2n_result, align 4
  %310 = alloca i32, align 4
  %311 = alloca %struct.s2n_result, align 4
  %312 = alloca i32, align 4
  %313 = alloca [142 x i8], align 16
  %314 = alloca i32, align 4
  %315 = alloca ptr, align 8
  %316 = alloca i32, align 4
  %317 = alloca i32, align 4
  %318 = alloca i32, align 4
  %319 = alloca i32, align 4
  %320 = alloca %struct.s2n_result, align 4
  %321 = alloca i32, align 4
  %322 = alloca i64, align 8
  %323 = alloca %struct.s2n_result, align 4
  %324 = alloca i32, align 4
  %325 = alloca %struct.s2n_result, align 4
  %326 = alloca i32, align 4
  %327 = alloca %struct.s2n_result, align 4
  %328 = alloca %struct.s2n_result, align 4
  %329 = alloca %struct.s2n_result, align 4
  %330 = alloca %struct.s2n_result, align 4
  %331 = alloca i64, align 8
  %332 = alloca ptr, align 8
  %333 = alloca i32, align 4
  %334 = alloca ptr, align 8
  %335 = alloca i32, align 4
  %336 = alloca i32, align 4
  %337 = alloca i32, align 4
  %338 = alloca %struct.s2n_test_io_stuffer_pair, align 8
  %339 = alloca %struct.s2n_result, align 4
  %340 = alloca i32, align 4
  %341 = alloca %struct.s2n_result, align 4
  %342 = alloca i32, align 4
  %343 = alloca i32, align 4
  %344 = alloca %struct.s2n_result, align 4
  %345 = alloca i32, align 4
  %346 = alloca %struct.s2n_result, align 4
  %347 = alloca i32, align 4
  %348 = alloca [142 x i8], align 16
  %349 = alloca i32, align 4
  %350 = alloca ptr, align 8
  %351 = alloca i32, align 4
  %352 = alloca i32, align 4
  %353 = alloca i32, align 4
  %354 = alloca i32, align 4
  %355 = alloca %struct.s2n_result, align 4
  %356 = alloca i32, align 4
  %357 = alloca i64, align 8
  %358 = alloca %struct.s2n_result, align 4
  %359 = alloca i32, align 4
  %360 = alloca %struct.s2n_result, align 4
  %361 = alloca i32, align 4
  %362 = alloca %struct.s2n_result, align 4
  %363 = alloca %struct.s2n_result, align 4
  %364 = alloca %struct.s2n_result, align 4
  %365 = alloca %struct.s2n_result, align 4
  %366 = alloca ptr, align 8
  %367 = alloca i32, align 4
  %368 = alloca i32, align 4
  %369 = alloca i32, align 4
  %370 = alloca i32, align 4
  %371 = alloca %struct.s2n_result, align 4
  %372 = alloca i32, align 4
  %373 = alloca [142 x i8], align 16
  %374 = alloca ptr, align 8
  %375 = alloca i32, align 4
  %376 = alloca ptr, align 8
  %377 = alloca i32, align 4
  %378 = alloca i32, align 4
  %379 = alloca i32, align 4
  %380 = alloca %struct.s2n_test_io_stuffer_pair, align 8
  %381 = alloca %struct.s2n_result, align 4
  %382 = alloca i32, align 4
  %383 = alloca %struct.s2n_result, align 4
  %384 = alloca i32, align 4
  %385 = alloca i32, align 4
  %386 = alloca i32, align 4
  %387 = alloca i32, align 4
  %388 = alloca i32, align 4
  %389 = alloca %struct.s2n_result, align 4
  %390 = alloca %struct.s2n_result, align 4
  %391 = alloca %struct.s2n_result, align 4
  %392 = alloca ptr, align 8
  %393 = alloca i32, align 4
  %394 = alloca i32, align 4
  %395 = alloca i32, align 4
  %396 = alloca %struct.s2n_result, align 4
  %397 = alloca %struct.s2n_result, align 4
  %398 = alloca ptr, align 8
  %399 = alloca i32, align 4
  %400 = alloca i32, align 4
  %401 = alloca i32, align 4
  %402 = alloca i32, align 4
  %403 = alloca %struct.s2n_result, align 4
  %404 = alloca i32, align 4
  %405 = alloca [142 x i8], align 16
  %406 = alloca %struct.s2n_blob, align 8
  %407 = alloca %struct.s2n_blob, align 8
  %408 = alloca ptr, align 8
  %409 = alloca i32, align 4
  %410 = alloca i32, align 4
  %411 = alloca ptr, align 8
  %412 = alloca i32, align 4
  %413 = alloca i32, align 4
  %414 = alloca %struct.s2n_test_io_stuffer_pair, align 8
  %415 = alloca %struct.s2n_result, align 4
  %416 = alloca i32, align 4
  %417 = alloca %struct.s2n_result, align 4
  %418 = alloca i32, align 4
  %419 = alloca i32, align 4
  %420 = alloca i32, align 4
  %421 = alloca %struct.s2n_result, align 4
  %422 = alloca i32, align 4
  %423 = alloca %struct.s2n_result, align 4
  %424 = alloca i32, align 4
  %425 = alloca i32, align 4
  %426 = alloca %struct.s2n_result, align 4
  %427 = alloca %struct.s2n_result, align 4
  %428 = alloca ptr, align 8
  %429 = alloca i32, align 4
  %430 = alloca i32, align 4
  %431 = alloca i32, align 4
  %432 = alloca %struct.s2n_test_io_stuffer_pair, align 8
  %433 = alloca %struct.s2n_result, align 4
  %434 = alloca i32, align 4
  %435 = alloca %struct.s2n_result, align 4
  %436 = alloca i32, align 4
  %437 = alloca i32, align 4
  %438 = alloca %struct.s2n_result, align 4
  %439 = alloca i32, align 4
  %440 = alloca %struct.s2n_result, align 4
  %441 = alloca i32, align 4
  %442 = alloca %struct.s2n_result, align 4
  %443 = alloca %struct.s2n_result, align 4
  %444 = alloca ptr, align 8
  %445 = alloca i32, align 4
  %446 = alloca i32, align 4
  %447 = alloca i32, align 4
  %448 = alloca i32, align 4
  %449 = alloca %struct.s2n_test_io_stuffer_pair, align 8
  %450 = alloca %struct.s2n_result, align 4
  %451 = alloca i32, align 4
  %452 = alloca %struct.s2n_result, align 4
  %453 = alloca i32, align 4
  %454 = alloca i32, align 4
  %455 = alloca i32, align 4
  %456 = alloca i32, align 4
  %457 = alloca %struct.s2n_result, align 4
  %458 = alloca %struct.s2n_result, align 4
  %459 = alloca ptr, align 8
  %460 = alloca i32, align 4
  %461 = alloca i32, align 4
  %462 = alloca i32, align 4
  %463 = alloca i32, align 4
  %464 = alloca %struct.s2n_test_io_stuffer_pair, align 8
  %465 = alloca %struct.s2n_result, align 4
  %466 = alloca i32, align 4
  %467 = alloca %struct.s2n_result, align 4
  %468 = alloca i32, align 4
  %469 = alloca i32, align 4
  %470 = alloca i32, align 4
  %471 = alloca i32, align 4
  %472 = alloca %struct.s2n_result, align 4
  %473 = alloca %struct.s2n_result, align 4
  %474 = alloca %struct.s2n_result, align 4
  %475 = alloca [142 x i8], align 16
  %476 = alloca %struct.s2n_blob, align 8
  %477 = alloca %struct.s2n_blob, align 8
  %478 = alloca ptr, align 8
  %479 = alloca i32, align 4
  %480 = alloca i32, align 4
  %481 = alloca ptr, align 8
  %482 = alloca i32, align 4
  %483 = alloca i32, align 4
  %484 = alloca %struct.s2n_test_io_stuffer_pair, align 8
  %485 = alloca %struct.s2n_result, align 4
  %486 = alloca i32, align 4
  %487 = alloca %struct.s2n_result, align 4
  %488 = alloca i32, align 4
  %489 = alloca i32, align 4
  %490 = alloca i32, align 4
  %491 = alloca %struct.s2n_result, align 4
  %492 = alloca i32, align 4
  %493 = alloca %struct.s2n_result, align 4
  %494 = alloca i32, align 4
  %495 = alloca i32, align 4
  %496 = alloca %struct.s2n_result, align 4
  %497 = alloca %struct.s2n_result, align 4
  %498 = alloca ptr, align 8
  %499 = alloca i32, align 4
  %500 = alloca i32, align 4
  %501 = alloca i32, align 4
  %502 = alloca %struct.s2n_test_io_stuffer_pair, align 8
  %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 i32, align 4
  %509 = alloca %struct.s2n_result, align 4
  %510 = alloca i32, align 4
  %511 = alloca %struct.s2n_result, align 4
  %512 = alloca %struct.s2n_result, align 4
  %513 = alloca ptr, align 8
  %514 = alloca i32, align 4
  %515 = alloca i32, align 4
  %516 = alloca i32, align 4
  %517 = alloca i32, align 4
  %518 = alloca %struct.s2n_test_io_stuffer_pair, align 8
  %519 = alloca %struct.s2n_result, align 4
  %520 = alloca i32, align 4
  %521 = alloca %struct.s2n_result, align 4
  %522 = alloca i32, align 4
  %523 = alloca i32, align 4
  %524 = alloca i32, align 4
  %525 = alloca i32, align 4
  %526 = alloca %struct.s2n_result, align 4
  %527 = alloca %struct.s2n_result, align 4
  %528 = alloca ptr, align 8
  %529 = alloca i32, align 4
  %530 = alloca i32, align 4
  %531 = alloca i32, align 4
  %532 = alloca i32, align 4
  %533 = alloca %struct.s2n_test_io_stuffer_pair, align 8
  %534 = alloca %struct.s2n_result, align 4
  %535 = alloca i32, align 4
  %536 = alloca %struct.s2n_result, align 4
  %537 = alloca i32, align 4
  %538 = alloca i32, align 4
  %539 = alloca i32, align 4
  %540 = alloca i32, align 4
  %541 = alloca %struct.s2n_result, align 4
  %542 = alloca %struct.s2n_result, align 4
  %543 = alloca %struct.s2n_result, align 4
  %544 = alloca %struct.s2n_result, align 4
  %545 = alloca ptr, align 8
  %546 = alloca i32, align 4
  %547 = alloca i32, align 4
  %548 = alloca [142 x i8], align 16
  %549 = alloca ptr, align 8
  %550 = alloca i32, align 4
  %551 = alloca i32, align 4
  %552 = alloca %struct.s2n_test_io_stuffer_pair, align 8
  %553 = alloca %struct.s2n_result, align 4
  %554 = alloca i32, align 4
  %555 = alloca %struct.s2n_result, align 4
  %556 = alloca i32, align 4
  %557 = alloca i32, align 4
  %558 = alloca i32, align 4
  %559 = alloca %struct.s2n_result, align 4
  %560 = alloca i32, align 4
  %561 = alloca %struct.s2n_result, align 4
  %562 = alloca i32, align 4
  %563 = alloca i32, align 4
  %564 = alloca %struct.s2n_result, align 4
  %565 = alloca %struct.s2n_result, align 4
  %566 = alloca ptr, align 8
  %567 = alloca i32, align 4
  %568 = alloca i32, align 4
  %569 = alloca %struct.s2n_test_io_stuffer_pair, align 8
  %570 = alloca %struct.s2n_result, align 4
  %571 = alloca i32, align 4
  %572 = alloca %struct.s2n_result, align 4
  %573 = alloca i32, align 4
  %574 = alloca %struct.s2n_result, align 4
  %575 = alloca i32, align 4
  %576 = alloca %struct.s2n_result, align 4
  %577 = alloca %struct.s2n_result, align 4
  %578 = alloca %struct.s2n_result, align 4
  %579 = alloca ptr, align 8
  %580 = alloca i32, align 4
  %581 = alloca i32, align 4
  %582 = alloca [142 x i8], align 16
  %583 = alloca ptr, align 8
  %584 = alloca i32, align 4
  %585 = alloca i32, align 4
  %586 = alloca %struct.s2n_test_io_stuffer_pair, align 8
  %587 = alloca %struct.s2n_result, align 4
  %588 = alloca i32, align 4
  %589 = alloca %struct.s2n_result, align 4
  %590 = alloca i32, align 4
  %591 = alloca i32, align 4
  %592 = alloca i32, align 4
  %593 = alloca %struct.s2n_result, align 4
  %594 = alloca i32, align 4
  %595 = alloca %struct.s2n_result, align 4
  %596 = alloca i32, align 4
  %597 = alloca i32, align 4
  %598 = alloca %struct.s2n_result, align 4
  %599 = alloca %struct.s2n_result, align 4
  %600 = alloca ptr, align 8
  %601 = alloca i32, align 4
  %602 = alloca i32, align 4
  %603 = alloca %struct.s2n_test_io_stuffer_pair, align 8
  %604 = alloca %struct.s2n_result, align 4
  %605 = alloca i32, align 4
  %606 = alloca %struct.s2n_result, align 4
  %607 = alloca i32, align 4
  %608 = alloca %struct.s2n_result, align 4
  %609 = alloca i32, align 4
  %610 = alloca %struct.s2n_result, align 4
  %611 = alloca %struct.s2n_result, align 4
  %612 = alloca %struct.s2n_result, align 4
  %613 = alloca ptr, align 8
  %614 = alloca ptr, align 8
  %615 = alloca i32, align 4
  %616 = alloca i32, align 4
  %617 = alloca i32, align 4
  %618 = alloca i32, align 4
  %619 = alloca i32, align 4
  %620 = alloca i32, align 4
  %621 = alloca i32, align 4
  %622 = alloca i32, align 4
  %623 = alloca i32, align 4
  %624 = alloca i32, align 4
  %625 = alloca %struct.s2n_result, align 4
  %626 = alloca %struct.s2n_result, align 4
  %627 = alloca i32, align 4
  %628 = alloca i32, align 4
  %629 = alloca %struct.s2n_result, align 4
  %630 = alloca %struct.s2n_result, align 4
  %631 = alloca %struct.s2n_result, align 4
  store i32 0, ptr %3, align 4
  store i32 %0, ptr %4, align 4, !tbaa !5
  store ptr %1, ptr %5, align 8, !tbaa !9
  br label %632

632:                                              ; preds = %2
  br label %633

633:                                              ; preds = %632
  store i32 0, ptr @test_count, align 4, !tbaa !5
  %634 = load ptr, ptr @stdout, align 8, !tbaa !9
  %635 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %634, ptr noundef @.str, ptr noundef @.str.1) #11
  %636 = load ptr, ptr @stdout, align 8, !tbaa !9
  %637 = call i32 @fflush(ptr noundef %636)
  br label %638

638:                                              ; preds = %633
  %639 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext true)
  %640 = icmp eq i32 %639, -1
  br i1 %640, label %641, label %692

641:                                              ; preds = %638
  br label %642

642:                                              ; preds = %641
  br label %643

643:                                              ; preds = %642
  call void @llvm.lifetime.start.p0(i64 4, ptr %6) #11
  %644 = call ptr @__errno_location() #12
  %645 = load i32, ptr %644, align 4, !tbaa !5
  store i32 %645, ptr %6, align 4, !tbaa !5
  %646 = load ptr, ptr @stderr, align 8, !tbaa !9
  %647 = call i32 @s2n_print_stacktrace(ptr noundef %646)
  %648 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %649 = trunc i8 %648 to i1
  br i1 %649, label %650, label %672

650:                                              ; preds = %643
  %651 = load ptr, ptr @stderr, align 8, !tbaa !9
  %652 = call i32 @fileno(ptr noundef %651) #11
  %653 = call i32 @isatty(i32 noundef %652) #11
  %654 = icmp ne i32 %653, 0
  br i1 %654, label %655, label %672

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

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

689:                                              ; preds = %672, %655
  call void @llvm.lifetime.end.p0(i64 4, ptr %6) #11
  br label %690

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

691:                                              ; No predecessors!
  br label %692

692:                                              ; preds = %691, %638
  br label %693

693:                                              ; preds = %692
  br label %694

694:                                              ; preds = %693
  %695 = load i32, ptr @test_count, align 4, !tbaa !5
  %696 = add nsw i32 %695, 1
  store i32 %696, ptr @test_count, align 4, !tbaa !5
  %697 = call i32 @s2n_enable_atexit()
  %698 = icmp eq i32 %697, -1
  br i1 %698, label %699, label %750

699:                                              ; preds = %694
  br label %700

700:                                              ; preds = %699
  br label %701

701:                                              ; preds = %700
  call void @llvm.lifetime.start.p0(i64 4, ptr %7) #11
  %702 = call ptr @__errno_location() #12
  %703 = load i32, ptr %702, align 4, !tbaa !5
  store i32 %703, ptr %7, align 4, !tbaa !5
  %704 = load ptr, ptr @stderr, align 8, !tbaa !9
  %705 = call i32 @s2n_print_stacktrace(ptr noundef %704)
  %706 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %707 = trunc i8 %706 to i1
  br i1 %707, label %708, label %730

708:                                              ; preds = %701
  %709 = load ptr, ptr @stderr, align 8, !tbaa !9
  %710 = call i32 @fileno(ptr noundef %709) #11
  %711 = call i32 @isatty(i32 noundef %710) #11
  %712 = icmp ne i32 %711, 0
  br i1 %712, label %713, label %730

713:                                              ; preds = %708
  %714 = load i32, ptr %7, align 4, !tbaa !5
  %715 = call ptr @__errno_location() #12
  store i32 %714, ptr %715, align 4, !tbaa !5
  %716 = load ptr, ptr @stderr, align 8, !tbaa !9
  %717 = load i32, ptr @test_count, align 4, !tbaa !5
  %718 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %719 = load i32, ptr %718, align 4, !tbaa !5
  %720 = call ptr @s2n_strerror(i32 noundef %719, ptr noundef @.str.4)
  %721 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %722 = load i32, ptr %721, align 4, !tbaa !5
  %723 = call ptr @s2n_strerror_debug(i32 noundef %722, ptr noundef @.str.4)
  %724 = call ptr @__errno_location() #12
  %725 = load i32, ptr %724, align 4, !tbaa !5
  %726 = call ptr @strerror(i32 noundef %725) #11
  %727 = call ptr @__errno_location() #12
  %728 = load i32, ptr %727, align 4, !tbaa !5
  %729 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %716, ptr noundef @.str.2, i32 noundef %717, ptr noundef @.str.6, ptr noundef @.str.1, i32 noundef 73, ptr noundef %720, ptr noundef %723, ptr noundef %726, i32 noundef %728) #11
  br label %747

730:                                              ; preds = %708, %701
  %731 = load i32, ptr %7, align 4, !tbaa !5
  %732 = call ptr @__errno_location() #12
  store i32 %731, ptr %732, align 4, !tbaa !5
  %733 = load ptr, ptr @stderr, align 8, !tbaa !9
  %734 = load i32, ptr @test_count, align 4, !tbaa !5
  %735 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %736 = load i32, ptr %735, align 4, !tbaa !5
  %737 = call ptr @s2n_strerror(i32 noundef %736, ptr noundef @.str.4)
  %738 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %739 = load i32, ptr %738, align 4, !tbaa !5
  %740 = call ptr @s2n_strerror_debug(i32 noundef %739, ptr noundef @.str.4)
  %741 = call ptr @__errno_location() #12
  %742 = load i32, ptr %741, align 4, !tbaa !5
  %743 = call ptr @strerror(i32 noundef %742) #11
  %744 = call ptr @__errno_location() #12
  %745 = load i32, ptr %744, align 4, !tbaa !5
  %746 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %733, ptr noundef @.str.5, i32 noundef %734, ptr noundef @.str.6, ptr noundef @.str.1, i32 noundef 73, ptr noundef %737, ptr noundef %740, ptr noundef %743, i32 noundef %745) #11
  br label %747

747:                                              ; preds = %730, %713
  call void @llvm.lifetime.end.p0(i64 4, ptr %7) #11
  br label %748

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

749:                                              ; No predecessors!
  br label %750

750:                                              ; preds = %749, %694
  br label %751

751:                                              ; preds = %750
  br label %752

752:                                              ; preds = %751
  br label %753

753:                                              ; preds = %752
  %754 = call i32 @s2n_init()
  %755 = icmp eq i32 %754, -1
  br i1 %755, label %756, label %807

756:                                              ; preds = %753
  br label %757

757:                                              ; preds = %756
  br label %758

758:                                              ; preds = %757
  call void @llvm.lifetime.start.p0(i64 4, ptr %8) #11
  %759 = call ptr @__errno_location() #12
  %760 = load i32, ptr %759, align 4, !tbaa !5
  store i32 %760, ptr %8, align 4, !tbaa !5
  %761 = load ptr, ptr @stderr, align 8, !tbaa !9
  %762 = call i32 @s2n_print_stacktrace(ptr noundef %761)
  %763 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %764 = trunc i8 %763 to i1
  br i1 %764, label %765, label %787

765:                                              ; preds = %758
  %766 = load ptr, ptr @stderr, align 8, !tbaa !9
  %767 = call i32 @fileno(ptr noundef %766) #11
  %768 = call i32 @isatty(i32 noundef %767) #11
  %769 = icmp ne i32 %768, 0
  br i1 %769, label %770, label %787

770:                                              ; preds = %765
  %771 = load i32, ptr %8, align 4, !tbaa !5
  %772 = call ptr @__errno_location() #12
  store i32 %771, ptr %772, align 4, !tbaa !5
  %773 = load ptr, ptr @stderr, align 8, !tbaa !9
  %774 = load i32, ptr @test_count, align 4, !tbaa !5
  %775 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %776 = load i32, ptr %775, align 4, !tbaa !5
  %777 = call ptr @s2n_strerror(i32 noundef %776, ptr noundef @.str.4)
  %778 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %779 = load i32, ptr %778, align 4, !tbaa !5
  %780 = call ptr @s2n_strerror_debug(i32 noundef %779, ptr noundef @.str.4)
  %781 = call ptr @__errno_location() #12
  %782 = load i32, ptr %781, align 4, !tbaa !5
  %783 = call ptr @strerror(i32 noundef %782) #11
  %784 = call ptr @__errno_location() #12
  %785 = load i32, ptr %784, align 4, !tbaa !5
  %786 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %773, ptr noundef @.str.2, i32 noundef %774, ptr noundef @.str.7, ptr noundef @.str.1, i32 noundef 73, ptr noundef %777, ptr noundef %780, ptr noundef %783, i32 noundef %785) #11
  br label %804

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

804:                                              ; preds = %787, %770
  call void @llvm.lifetime.end.p0(i64 4, ptr %8) #11
  br label %805

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

806:                                              ; No predecessors!
  br label %807

807:                                              ; preds = %806, %753
  br label %808

808:                                              ; preds = %807
  br label %809

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

810:                                              ; preds = %809
  %811 = load i32, ptr @test_count, align 4, !tbaa !5
  %812 = add nsw i32 %811, 1
  store i32 %812, ptr @test_count, align 4, !tbaa !5
  %813 = call i32 @s2n_test_cert_chain_and_key_new(ptr noundef %9, ptr noundef @.str.8, ptr noundef @.str.9)
  %814 = icmp eq i32 %813, -1
  br i1 %814, label %815, label %868

815:                                              ; preds = %810
  br label %816

816:                                              ; preds = %815
  br label %817

817:                                              ; preds = %816
  call void @llvm.lifetime.start.p0(i64 4, ptr %10) #11
  %818 = call ptr @__errno_location() #12
  %819 = load i32, ptr %818, align 4, !tbaa !5
  store i32 %819, ptr %10, align 4, !tbaa !5
  %820 = load ptr, ptr @stderr, align 8, !tbaa !9
  %821 = call i32 @s2n_print_stacktrace(ptr noundef %820)
  %822 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %823 = trunc i8 %822 to i1
  br i1 %823, label %824, label %846

824:                                              ; preds = %817
  %825 = load ptr, ptr @stderr, align 8, !tbaa !9
  %826 = call i32 @fileno(ptr noundef %825) #11
  %827 = call i32 @isatty(i32 noundef %826) #11
  %828 = icmp ne i32 %827, 0
  br i1 %828, label %829, label %846

829:                                              ; preds = %824
  %830 = load i32, ptr %10, align 4, !tbaa !5
  %831 = call ptr @__errno_location() #12
  store i32 %830, ptr %831, align 4, !tbaa !5
  %832 = load ptr, ptr @stderr, align 8, !tbaa !9
  %833 = load i32, ptr @test_count, align 4, !tbaa !5
  %834 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %835 = load i32, ptr %834, align 4, !tbaa !5
  %836 = call ptr @s2n_strerror(i32 noundef %835, ptr noundef @.str.4)
  %837 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %838 = load i32, ptr %837, align 4, !tbaa !5
  %839 = call ptr @s2n_strerror_debug(i32 noundef %838, ptr noundef @.str.4)
  %840 = call ptr @__errno_location() #12
  %841 = load i32, ptr %840, align 4, !tbaa !5
  %842 = call ptr @strerror(i32 noundef %841) #11
  %843 = call ptr @__errno_location() #12
  %844 = load i32, ptr %843, align 4, !tbaa !5
  %845 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %832, ptr noundef @.str.2, i32 noundef %833, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 78, ptr noundef %836, ptr noundef %839, ptr noundef %842, i32 noundef %844) #11
  br label %863

846:                                              ; preds = %824, %817
  %847 = load i32, ptr %10, align 4, !tbaa !5
  %848 = call ptr @__errno_location() #12
  store i32 %847, ptr %848, align 4, !tbaa !5
  %849 = load ptr, ptr @stderr, align 8, !tbaa !9
  %850 = load i32, ptr @test_count, align 4, !tbaa !5
  %851 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %852 = load i32, ptr %851, align 4, !tbaa !5
  %853 = call ptr @s2n_strerror(i32 noundef %852, ptr noundef @.str.4)
  %854 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %855 = load i32, ptr %854, align 4, !tbaa !5
  %856 = call ptr @s2n_strerror_debug(i32 noundef %855, ptr noundef @.str.4)
  %857 = call ptr @__errno_location() #12
  %858 = load i32, ptr %857, align 4, !tbaa !5
  %859 = call ptr @strerror(i32 noundef %858) #11
  %860 = call ptr @__errno_location() #12
  %861 = load i32, ptr %860, align 4, !tbaa !5
  %862 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %849, ptr noundef @.str.5, i32 noundef %850, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 78, ptr noundef %853, ptr noundef %856, ptr noundef %859, i32 noundef %861) #11
  br label %863

863:                                              ; preds = %846, %829
  call void @llvm.lifetime.end.p0(i64 4, ptr %10) #11
  br label %864

864:                                              ; preds = %863
  br label %865

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

866:                                              ; No predecessors!
  br label %867

867:                                              ; preds = %866
  br label %868

868:                                              ; preds = %867, %810
  br label %869

869:                                              ; preds = %868
  br label %870

870:                                              ; preds = %869
  call void @llvm.lifetime.start.p0(i64 8, ptr %11) #11
  %871 = call ptr @s2n_config_new()
  store ptr %871, ptr %11, align 8, !tbaa !9
  br label %872

872:                                              ; preds = %870
  %873 = load i32, ptr @test_count, align 4, !tbaa !5
  %874 = add nsw i32 %873, 1
  store i32 %874, ptr @test_count, align 4, !tbaa !5
  %875 = load ptr, ptr %11, align 8, !tbaa !9
  %876 = call i32 @s2n_config_set_cipher_preferences(ptr noundef %875, ptr noundef @.str.11)
  %877 = icmp eq i32 %876, -1
  br i1 %877, label %878, label %931

878:                                              ; preds = %872
  br label %879

879:                                              ; preds = %878
  br label %880

880:                                              ; preds = %879
  call void @llvm.lifetime.start.p0(i64 4, ptr %12) #11
  %881 = call ptr @__errno_location() #12
  %882 = load i32, ptr %881, align 4, !tbaa !5
  store i32 %882, ptr %12, align 4, !tbaa !5
  %883 = load ptr, ptr @stderr, align 8, !tbaa !9
  %884 = call i32 @s2n_print_stacktrace(ptr noundef %883)
  %885 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %886 = trunc i8 %885 to i1
  br i1 %886, label %887, label %909

887:                                              ; preds = %880
  %888 = load ptr, ptr @stderr, align 8, !tbaa !9
  %889 = call i32 @fileno(ptr noundef %888) #11
  %890 = call i32 @isatty(i32 noundef %889) #11
  %891 = icmp ne i32 %890, 0
  br i1 %891, label %892, label %909

892:                                              ; preds = %887
  %893 = load i32, ptr %12, align 4, !tbaa !5
  %894 = call ptr @__errno_location() #12
  store i32 %893, ptr %894, align 4, !tbaa !5
  %895 = load ptr, ptr @stderr, align 8, !tbaa !9
  %896 = load i32, ptr @test_count, align 4, !tbaa !5
  %897 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %898 = load i32, ptr %897, align 4, !tbaa !5
  %899 = call ptr @s2n_strerror(i32 noundef %898, ptr noundef @.str.4)
  %900 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %901 = load i32, ptr %900, align 4, !tbaa !5
  %902 = call ptr @s2n_strerror_debug(i32 noundef %901, ptr noundef @.str.4)
  %903 = call ptr @__errno_location() #12
  %904 = load i32, ptr %903, align 4, !tbaa !5
  %905 = call ptr @strerror(i32 noundef %904) #11
  %906 = call ptr @__errno_location() #12
  %907 = load i32, ptr %906, align 4, !tbaa !5
  %908 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %895, ptr noundef @.str.2, i32 noundef %896, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 81, ptr noundef %899, ptr noundef %902, ptr noundef %905, i32 noundef %907) #11
  br label %926

909:                                              ; preds = %887, %880
  %910 = load i32, ptr %12, align 4, !tbaa !5
  %911 = call ptr @__errno_location() #12
  store i32 %910, ptr %911, align 4, !tbaa !5
  %912 = load ptr, ptr @stderr, align 8, !tbaa !9
  %913 = load i32, ptr @test_count, align 4, !tbaa !5
  %914 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %915 = load i32, ptr %914, align 4, !tbaa !5
  %916 = call ptr @s2n_strerror(i32 noundef %915, ptr noundef @.str.4)
  %917 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %918 = load i32, ptr %917, align 4, !tbaa !5
  %919 = call ptr @s2n_strerror_debug(i32 noundef %918, ptr noundef @.str.4)
  %920 = call ptr @__errno_location() #12
  %921 = load i32, ptr %920, align 4, !tbaa !5
  %922 = call ptr @strerror(i32 noundef %921) #11
  %923 = call ptr @__errno_location() #12
  %924 = load i32, ptr %923, align 4, !tbaa !5
  %925 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %912, ptr noundef @.str.5, i32 noundef %913, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 81, ptr noundef %916, ptr noundef %919, ptr noundef %922, i32 noundef %924) #11
  br label %926

926:                                              ; preds = %909, %892
  call void @llvm.lifetime.end.p0(i64 4, ptr %12) #11
  br label %927

927:                                              ; preds = %926
  br label %928

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

929:                                              ; No predecessors!
  br label %930

930:                                              ; preds = %929
  br label %931

931:                                              ; preds = %930, %872
  br label %932

932:                                              ; preds = %931
  br label %933

933:                                              ; preds = %932
  br label %934

934:                                              ; preds = %933
  %935 = load i32, ptr @test_count, align 4, !tbaa !5
  %936 = add nsw i32 %935, 1
  store i32 %936, ptr @test_count, align 4, !tbaa !5
  %937 = load ptr, ptr %11, align 8, !tbaa !9
  %938 = load ptr, ptr %9, align 8, !tbaa !9
  %939 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef %937, ptr noundef %938)
  %940 = icmp eq i32 %939, -1
  br i1 %940, label %941, label %994

941:                                              ; preds = %934
  br label %942

942:                                              ; preds = %941
  br label %943

943:                                              ; preds = %942
  call void @llvm.lifetime.start.p0(i64 4, ptr %13) #11
  %944 = call ptr @__errno_location() #12
  %945 = load i32, ptr %944, align 4, !tbaa !5
  store i32 %945, ptr %13, align 4, !tbaa !5
  %946 = load ptr, ptr @stderr, align 8, !tbaa !9
  %947 = call i32 @s2n_print_stacktrace(ptr noundef %946)
  %948 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %949 = trunc i8 %948 to i1
  br i1 %949, label %950, label %972

950:                                              ; preds = %943
  %951 = load ptr, ptr @stderr, align 8, !tbaa !9
  %952 = call i32 @fileno(ptr noundef %951) #11
  %953 = call i32 @isatty(i32 noundef %952) #11
  %954 = icmp ne i32 %953, 0
  br i1 %954, label %955, label %972

955:                                              ; preds = %950
  %956 = load i32, ptr %13, align 4, !tbaa !5
  %957 = call ptr @__errno_location() #12
  store i32 %956, ptr %957, align 4, !tbaa !5
  %958 = load ptr, ptr @stderr, align 8, !tbaa !9
  %959 = load i32, ptr @test_count, align 4, !tbaa !5
  %960 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %961 = load i32, ptr %960, align 4, !tbaa !5
  %962 = call ptr @s2n_strerror(i32 noundef %961, ptr noundef @.str.4)
  %963 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %964 = load i32, ptr %963, align 4, !tbaa !5
  %965 = call ptr @s2n_strerror_debug(i32 noundef %964, ptr noundef @.str.4)
  %966 = call ptr @__errno_location() #12
  %967 = load i32, ptr %966, align 4, !tbaa !5
  %968 = call ptr @strerror(i32 noundef %967) #11
  %969 = call ptr @__errno_location() #12
  %970 = load i32, ptr %969, align 4, !tbaa !5
  %971 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %958, ptr noundef @.str.2, i32 noundef %959, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 82, ptr noundef %962, ptr noundef %965, ptr noundef %968, i32 noundef %970) #11
  br label %989

972:                                              ; preds = %950, %943
  %973 = load i32, ptr %13, align 4, !tbaa !5
  %974 = call ptr @__errno_location() #12
  store i32 %973, ptr %974, align 4, !tbaa !5
  %975 = load ptr, ptr @stderr, align 8, !tbaa !9
  %976 = load i32, ptr @test_count, align 4, !tbaa !5
  %977 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %978 = load i32, ptr %977, align 4, !tbaa !5
  %979 = call ptr @s2n_strerror(i32 noundef %978, ptr noundef @.str.4)
  %980 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %981 = load i32, ptr %980, align 4, !tbaa !5
  %982 = call ptr @s2n_strerror_debug(i32 noundef %981, ptr noundef @.str.4)
  %983 = call ptr @__errno_location() #12
  %984 = load i32, ptr %983, align 4, !tbaa !5
  %985 = call ptr @strerror(i32 noundef %984) #11
  %986 = call ptr @__errno_location() #12
  %987 = load i32, ptr %986, align 4, !tbaa !5
  %988 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %975, ptr noundef @.str.5, i32 noundef %976, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 82, ptr noundef %979, ptr noundef %982, ptr noundef %985, i32 noundef %987) #11
  br label %989

989:                                              ; preds = %972, %955
  call void @llvm.lifetime.end.p0(i64 4, ptr %13) #11
  br label %990

990:                                              ; preds = %989
  br label %991

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

992:                                              ; No predecessors!
  br label %993

993:                                              ; preds = %992
  br label %994

994:                                              ; preds = %993, %934
  br label %995

995:                                              ; preds = %994
  br label %996

996:                                              ; preds = %995
  br label %997

997:                                              ; preds = %996
  %998 = load i32, ptr @test_count, align 4, !tbaa !5
  %999 = add nsw i32 %998, 1
  store i32 %999, ptr @test_count, align 4, !tbaa !5
  %1000 = load ptr, ptr %11, align 8, !tbaa !9
  %1001 = call i32 @s2n_config_disable_x509_verification(ptr noundef %1000)
  %1002 = icmp eq i32 %1001, -1
  br i1 %1002, label %1003, label %1056

1003:                                             ; preds = %997
  br label %1004

1004:                                             ; preds = %1003
  br label %1005

1005:                                             ; preds = %1004
  call void @llvm.lifetime.start.p0(i64 4, ptr %14) #11
  %1006 = call ptr @__errno_location() #12
  %1007 = load i32, ptr %1006, align 4, !tbaa !5
  store i32 %1007, ptr %14, align 4, !tbaa !5
  %1008 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1009 = call i32 @s2n_print_stacktrace(ptr noundef %1008)
  %1010 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1011 = trunc i8 %1010 to i1
  br i1 %1011, label %1012, label %1034

1012:                                             ; preds = %1005
  %1013 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1014 = call i32 @fileno(ptr noundef %1013) #11
  %1015 = call i32 @isatty(i32 noundef %1014) #11
  %1016 = icmp ne i32 %1015, 0
  br i1 %1016, label %1017, label %1034

1017:                                             ; preds = %1012
  %1018 = load i32, ptr %14, align 4, !tbaa !5
  %1019 = call ptr @__errno_location() #12
  store i32 %1018, ptr %1019, align 4, !tbaa !5
  %1020 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1021 = load i32, ptr @test_count, align 4, !tbaa !5
  %1022 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1023 = load i32, ptr %1022, align 4, !tbaa !5
  %1024 = call ptr @s2n_strerror(i32 noundef %1023, ptr noundef @.str.4)
  %1025 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1026 = load i32, ptr %1025, align 4, !tbaa !5
  %1027 = call ptr @s2n_strerror_debug(i32 noundef %1026, ptr noundef @.str.4)
  %1028 = call ptr @__errno_location() #12
  %1029 = load i32, ptr %1028, align 4, !tbaa !5
  %1030 = call ptr @strerror(i32 noundef %1029) #11
  %1031 = call ptr @__errno_location() #12
  %1032 = load i32, ptr %1031, align 4, !tbaa !5
  %1033 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1020, ptr noundef @.str.2, i32 noundef %1021, ptr noundef @.str.14, ptr noundef @.str.1, i32 noundef 83, ptr noundef %1024, ptr noundef %1027, ptr noundef %1030, i32 noundef %1032) #11
  br label %1051

1034:                                             ; preds = %1012, %1005
  %1035 = load i32, ptr %14, align 4, !tbaa !5
  %1036 = call ptr @__errno_location() #12
  store i32 %1035, ptr %1036, align 4, !tbaa !5
  %1037 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1038 = load i32, ptr @test_count, align 4, !tbaa !5
  %1039 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1040 = load i32, ptr %1039, align 4, !tbaa !5
  %1041 = call ptr @s2n_strerror(i32 noundef %1040, ptr noundef @.str.4)
  %1042 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1043 = load i32, ptr %1042, align 4, !tbaa !5
  %1044 = call ptr @s2n_strerror_debug(i32 noundef %1043, ptr noundef @.str.4)
  %1045 = call ptr @__errno_location() #12
  %1046 = load i32, ptr %1045, align 4, !tbaa !5
  %1047 = call ptr @strerror(i32 noundef %1046) #11
  %1048 = call ptr @__errno_location() #12
  %1049 = load i32, ptr %1048, align 4, !tbaa !5
  %1050 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1037, ptr noundef @.str.5, i32 noundef %1038, ptr noundef @.str.14, ptr noundef @.str.1, i32 noundef 83, ptr noundef %1041, ptr noundef %1044, ptr noundef %1047, i32 noundef %1049) #11
  br label %1051

1051:                                             ; preds = %1034, %1017
  call void @llvm.lifetime.end.p0(i64 4, ptr %14) #11
  br label %1052

1052:                                             ; preds = %1051
  br label %1053

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

1054:                                             ; No predecessors!
  br label %1055

1055:                                             ; preds = %1054
  br label %1056

1056:                                             ; preds = %1055, %997
  br label %1057

1057:                                             ; preds = %1056
  br label %1058

1058:                                             ; preds = %1057
  br label %1059

1059:                                             ; preds = %1058
  %1060 = load i32, ptr @test_count, align 4, !tbaa !5
  %1061 = add nsw i32 %1060, 1
  store i32 %1061, ptr @test_count, align 4, !tbaa !5
  %1062 = load ptr, ptr %11, align 8, !tbaa !9
  %1063 = call i32 @s2n_config_set_serialization_version(ptr noundef %1062, i32 noundef 1)
  %1064 = icmp eq i32 %1063, -1
  br i1 %1064, label %1065, label %1118

1065:                                             ; preds = %1059
  br label %1066

1066:                                             ; preds = %1065
  br label %1067

1067:                                             ; preds = %1066
  call void @llvm.lifetime.start.p0(i64 4, ptr %15) #11
  %1068 = call ptr @__errno_location() #12
  %1069 = load i32, ptr %1068, align 4, !tbaa !5
  store i32 %1069, ptr %15, align 4, !tbaa !5
  %1070 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1071 = call i32 @s2n_print_stacktrace(ptr noundef %1070)
  %1072 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1073 = trunc i8 %1072 to i1
  br i1 %1073, label %1074, label %1096

1074:                                             ; preds = %1067
  %1075 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1076 = call i32 @fileno(ptr noundef %1075) #11
  %1077 = call i32 @isatty(i32 noundef %1076) #11
  %1078 = icmp ne i32 %1077, 0
  br i1 %1078, label %1079, label %1096

1079:                                             ; preds = %1074
  %1080 = load i32, ptr %15, align 4, !tbaa !5
  %1081 = call ptr @__errno_location() #12
  store i32 %1080, ptr %1081, align 4, !tbaa !5
  %1082 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1083 = load i32, ptr @test_count, align 4, !tbaa !5
  %1084 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1085 = load i32, ptr %1084, align 4, !tbaa !5
  %1086 = call ptr @s2n_strerror(i32 noundef %1085, ptr noundef @.str.4)
  %1087 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1088 = load i32, ptr %1087, align 4, !tbaa !5
  %1089 = call ptr @s2n_strerror_debug(i32 noundef %1088, ptr noundef @.str.4)
  %1090 = call ptr @__errno_location() #12
  %1091 = load i32, ptr %1090, align 4, !tbaa !5
  %1092 = call ptr @strerror(i32 noundef %1091) #11
  %1093 = call ptr @__errno_location() #12
  %1094 = load i32, ptr %1093, align 4, !tbaa !5
  %1095 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1082, ptr noundef @.str.2, i32 noundef %1083, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 84, ptr noundef %1086, ptr noundef %1089, ptr noundef %1092, i32 noundef %1094) #11
  br label %1113

1096:                                             ; preds = %1074, %1067
  %1097 = load i32, ptr %15, align 4, !tbaa !5
  %1098 = call ptr @__errno_location() #12
  store i32 %1097, ptr %1098, align 4, !tbaa !5
  %1099 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1100 = load i32, ptr @test_count, align 4, !tbaa !5
  %1101 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1102 = load i32, ptr %1101, align 4, !tbaa !5
  %1103 = call ptr @s2n_strerror(i32 noundef %1102, ptr noundef @.str.4)
  %1104 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1105 = load i32, ptr %1104, align 4, !tbaa !5
  %1106 = call ptr @s2n_strerror_debug(i32 noundef %1105, ptr noundef @.str.4)
  %1107 = call ptr @__errno_location() #12
  %1108 = load i32, ptr %1107, align 4, !tbaa !5
  %1109 = call ptr @strerror(i32 noundef %1108) #11
  %1110 = call ptr @__errno_location() #12
  %1111 = load i32, ptr %1110, align 4, !tbaa !5
  %1112 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1099, ptr noundef @.str.5, i32 noundef %1100, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 84, ptr noundef %1103, ptr noundef %1106, ptr noundef %1109, i32 noundef %1111) #11
  br label %1113

1113:                                             ; preds = %1096, %1079
  call void @llvm.lifetime.end.p0(i64 4, ptr %15) #11
  br label %1114

1114:                                             ; preds = %1113
  br label %1115

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

1116:                                             ; No predecessors!
  br label %1117

1117:                                             ; preds = %1116
  br label %1118

1118:                                             ; preds = %1117, %1059
  br label %1119

1119:                                             ; preds = %1118
  br label %1120

1120:                                             ; preds = %1119
  call void @llvm.lifetime.start.p0(i64 8, ptr %16) #11
  %1121 = call ptr @s2n_config_new()
  store ptr %1121, ptr %16, align 8, !tbaa !9
  br label %1122

1122:                                             ; preds = %1120
  %1123 = load i32, ptr @test_count, align 4, !tbaa !5
  %1124 = add nsw i32 %1123, 1
  store i32 %1124, ptr @test_count, align 4, !tbaa !5
  %1125 = load ptr, ptr %16, align 8, !tbaa !9
  %1126 = load ptr, ptr %9, align 8, !tbaa !9
  %1127 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef %1125, ptr noundef %1126)
  %1128 = icmp eq i32 %1127, -1
  br i1 %1128, label %1129, label %1182

1129:                                             ; preds = %1122
  br label %1130

1130:                                             ; preds = %1129
  br label %1131

1131:                                             ; preds = %1130
  call void @llvm.lifetime.start.p0(i64 4, ptr %17) #11
  %1132 = call ptr @__errno_location() #12
  %1133 = load i32, ptr %1132, align 4, !tbaa !5
  store i32 %1133, ptr %17, align 4, !tbaa !5
  %1134 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1135 = call i32 @s2n_print_stacktrace(ptr noundef %1134)
  %1136 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1137 = trunc i8 %1136 to i1
  br i1 %1137, label %1138, label %1160

1138:                                             ; preds = %1131
  %1139 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1140 = call i32 @fileno(ptr noundef %1139) #11
  %1141 = call i32 @isatty(i32 noundef %1140) #11
  %1142 = icmp ne i32 %1141, 0
  br i1 %1142, label %1143, label %1160

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

1160:                                             ; preds = %1138, %1131
  %1161 = load i32, ptr %17, align 4, !tbaa !5
  %1162 = call ptr @__errno_location() #12
  store i32 %1161, ptr %1162, align 4, !tbaa !5
  %1163 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1164 = load i32, ptr @test_count, align 4, !tbaa !5
  %1165 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1166 = load i32, ptr %1165, align 4, !tbaa !5
  %1167 = call ptr @s2n_strerror(i32 noundef %1166, ptr noundef @.str.4)
  %1168 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1169 = load i32, ptr %1168, align 4, !tbaa !5
  %1170 = call ptr @s2n_strerror_debug(i32 noundef %1169, ptr noundef @.str.4)
  %1171 = call ptr @__errno_location() #12
  %1172 = load i32, ptr %1171, align 4, !tbaa !5
  %1173 = call ptr @strerror(i32 noundef %1172) #11
  %1174 = call ptr @__errno_location() #12
  %1175 = load i32, ptr %1174, align 4, !tbaa !5
  %1176 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1163, ptr noundef @.str.5, i32 noundef %1164, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 87, ptr noundef %1167, ptr noundef %1170, ptr noundef %1173, i32 noundef %1175) #11
  br label %1177

1177:                                             ; preds = %1160, %1143
  call void @llvm.lifetime.end.p0(i64 4, ptr %17) #11
  br label %1178

1178:                                             ; preds = %1177
  br label %1179

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

1180:                                             ; No predecessors!
  br label %1181

1181:                                             ; preds = %1180
  br label %1182

1182:                                             ; preds = %1181, %1122
  br label %1183

1183:                                             ; preds = %1182
  br label %1184

1184:                                             ; preds = %1183
  br label %1185

1185:                                             ; preds = %1184
  %1186 = load i32, ptr @test_count, align 4, !tbaa !5
  %1187 = add nsw i32 %1186, 1
  store i32 %1187, ptr @test_count, align 4, !tbaa !5
  %1188 = load ptr, ptr %16, align 8, !tbaa !9
  %1189 = call i32 @s2n_config_disable_x509_verification(ptr noundef %1188)
  %1190 = icmp eq i32 %1189, -1
  br i1 %1190, label %1191, label %1244

1191:                                             ; preds = %1185
  br label %1192

1192:                                             ; preds = %1191
  br label %1193

1193:                                             ; preds = %1192
  call void @llvm.lifetime.start.p0(i64 4, ptr %18) #11
  %1194 = call ptr @__errno_location() #12
  %1195 = load i32, ptr %1194, align 4, !tbaa !5
  store i32 %1195, ptr %18, align 4, !tbaa !5
  %1196 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1197 = call i32 @s2n_print_stacktrace(ptr noundef %1196)
  %1198 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1199 = trunc i8 %1198 to i1
  br i1 %1199, label %1200, label %1222

1200:                                             ; preds = %1193
  %1201 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1202 = call i32 @fileno(ptr noundef %1201) #11
  %1203 = call i32 @isatty(i32 noundef %1202) #11
  %1204 = icmp ne i32 %1203, 0
  br i1 %1204, label %1205, label %1222

1205:                                             ; preds = %1200
  %1206 = load i32, ptr %18, align 4, !tbaa !5
  %1207 = call ptr @__errno_location() #12
  store i32 %1206, ptr %1207, align 4, !tbaa !5
  %1208 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1209 = load i32, ptr @test_count, align 4, !tbaa !5
  %1210 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1211 = load i32, ptr %1210, align 4, !tbaa !5
  %1212 = call ptr @s2n_strerror(i32 noundef %1211, ptr noundef @.str.4)
  %1213 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1214 = load i32, ptr %1213, align 4, !tbaa !5
  %1215 = call ptr @s2n_strerror_debug(i32 noundef %1214, ptr noundef @.str.4)
  %1216 = call ptr @__errno_location() #12
  %1217 = load i32, ptr %1216, align 4, !tbaa !5
  %1218 = call ptr @strerror(i32 noundef %1217) #11
  %1219 = call ptr @__errno_location() #12
  %1220 = load i32, ptr %1219, align 4, !tbaa !5
  %1221 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1208, ptr noundef @.str.2, i32 noundef %1209, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 88, ptr noundef %1212, ptr noundef %1215, ptr noundef %1218, i32 noundef %1220) #11
  br label %1239

1222:                                             ; preds = %1200, %1193
  %1223 = load i32, ptr %18, align 4, !tbaa !5
  %1224 = call ptr @__errno_location() #12
  store i32 %1223, ptr %1224, align 4, !tbaa !5
  %1225 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1226 = load i32, ptr @test_count, align 4, !tbaa !5
  %1227 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1228 = load i32, ptr %1227, align 4, !tbaa !5
  %1229 = call ptr @s2n_strerror(i32 noundef %1228, ptr noundef @.str.4)
  %1230 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1231 = load i32, ptr %1230, align 4, !tbaa !5
  %1232 = call ptr @s2n_strerror_debug(i32 noundef %1231, ptr noundef @.str.4)
  %1233 = call ptr @__errno_location() #12
  %1234 = load i32, ptr %1233, align 4, !tbaa !5
  %1235 = call ptr @strerror(i32 noundef %1234) #11
  %1236 = call ptr @__errno_location() #12
  %1237 = load i32, ptr %1236, align 4, !tbaa !5
  %1238 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1225, ptr noundef @.str.5, i32 noundef %1226, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 88, ptr noundef %1229, ptr noundef %1232, ptr noundef %1235, i32 noundef %1237) #11
  br label %1239

1239:                                             ; preds = %1222, %1205
  call void @llvm.lifetime.end.p0(i64 4, ptr %18) #11
  br label %1240

1240:                                             ; preds = %1239
  br label %1241

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

1242:                                             ; No predecessors!
  br label %1243

1243:                                             ; preds = %1242
  br label %1244

1244:                                             ; preds = %1243, %1185
  br label %1245

1245:                                             ; preds = %1244
  br label %1246

1246:                                             ; preds = %1245
  br label %1247

1247:                                             ; preds = %1246
  %1248 = load i32, ptr @test_count, align 4, !tbaa !5
  %1249 = add nsw i32 %1248, 1
  store i32 %1249, ptr @test_count, align 4, !tbaa !5
  %1250 = load ptr, ptr %16, align 8, !tbaa !9
  %1251 = call i32 @s2n_config_set_serialization_version(ptr noundef %1250, i32 noundef 1)
  %1252 = icmp eq i32 %1251, -1
  br i1 %1252, label %1253, label %1306

1253:                                             ; preds = %1247
  br label %1254

1254:                                             ; preds = %1253
  br label %1255

1255:                                             ; preds = %1254
  call void @llvm.lifetime.start.p0(i64 4, ptr %19) #11
  %1256 = call ptr @__errno_location() #12
  %1257 = load i32, ptr %1256, align 4, !tbaa !5
  store i32 %1257, ptr %19, align 4, !tbaa !5
  %1258 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1259 = call i32 @s2n_print_stacktrace(ptr noundef %1258)
  %1260 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1261 = trunc i8 %1260 to i1
  br i1 %1261, label %1262, label %1284

1262:                                             ; preds = %1255
  %1263 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1264 = call i32 @fileno(ptr noundef %1263) #11
  %1265 = call i32 @isatty(i32 noundef %1264) #11
  %1266 = icmp ne i32 %1265, 0
  br i1 %1266, label %1267, label %1284

1267:                                             ; preds = %1262
  %1268 = load i32, ptr %19, align 4, !tbaa !5
  %1269 = call ptr @__errno_location() #12
  store i32 %1268, ptr %1269, align 4, !tbaa !5
  %1270 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1271 = load i32, ptr @test_count, align 4, !tbaa !5
  %1272 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1273 = load i32, ptr %1272, align 4, !tbaa !5
  %1274 = call ptr @s2n_strerror(i32 noundef %1273, ptr noundef @.str.4)
  %1275 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1276 = load i32, ptr %1275, align 4, !tbaa !5
  %1277 = call ptr @s2n_strerror_debug(i32 noundef %1276, ptr noundef @.str.4)
  %1278 = call ptr @__errno_location() #12
  %1279 = load i32, ptr %1278, align 4, !tbaa !5
  %1280 = call ptr @strerror(i32 noundef %1279) #11
  %1281 = call ptr @__errno_location() #12
  %1282 = load i32, ptr %1281, align 4, !tbaa !5
  %1283 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1270, ptr noundef @.str.2, i32 noundef %1271, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 89, ptr noundef %1274, ptr noundef %1277, ptr noundef %1280, i32 noundef %1282) #11
  br label %1301

1284:                                             ; preds = %1262, %1255
  %1285 = load i32, ptr %19, align 4, !tbaa !5
  %1286 = call ptr @__errno_location() #12
  store i32 %1285, ptr %1286, align 4, !tbaa !5
  %1287 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1288 = load i32, ptr @test_count, align 4, !tbaa !5
  %1289 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1290 = load i32, ptr %1289, align 4, !tbaa !5
  %1291 = call ptr @s2n_strerror(i32 noundef %1290, ptr noundef @.str.4)
  %1292 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1293 = load i32, ptr %1292, align 4, !tbaa !5
  %1294 = call ptr @s2n_strerror_debug(i32 noundef %1293, ptr noundef @.str.4)
  %1295 = call ptr @__errno_location() #12
  %1296 = load i32, ptr %1295, align 4, !tbaa !5
  %1297 = call ptr @strerror(i32 noundef %1296) #11
  %1298 = call ptr @__errno_location() #12
  %1299 = load i32, ptr %1298, align 4, !tbaa !5
  %1300 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1287, ptr noundef @.str.5, i32 noundef %1288, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 89, ptr noundef %1291, ptr noundef %1294, ptr noundef %1297, i32 noundef %1299) #11
  br label %1301

1301:                                             ; preds = %1284, %1267
  call void @llvm.lifetime.end.p0(i64 4, ptr %19) #11
  br label %1302

1302:                                             ; preds = %1301
  br label %1303

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

1304:                                             ; No predecessors!
  br label %1305

1305:                                             ; preds = %1304
  br label %1306

1306:                                             ; preds = %1305, %1247
  br label %1307

1307:                                             ; preds = %1306
  br label %1308

1308:                                             ; preds = %1307
  br label %1309

1309:                                             ; preds = %1308
  %1310 = load i32, ptr @test_count, align 4, !tbaa !5
  %1311 = add nsw i32 %1310, 1
  store i32 %1311, ptr @test_count, align 4, !tbaa !5
  %1312 = load ptr, ptr %16, align 8, !tbaa !9
  %1313 = call i32 @s2n_config_set_cipher_preferences(ptr noundef %1312, ptr noundef @.str.19)
  %1314 = icmp eq i32 %1313, -1
  br i1 %1314, label %1315, label %1368

1315:                                             ; preds = %1309
  br label %1316

1316:                                             ; preds = %1315
  br label %1317

1317:                                             ; preds = %1316
  call void @llvm.lifetime.start.p0(i64 4, ptr %20) #11
  %1318 = call ptr @__errno_location() #12
  %1319 = load i32, ptr %1318, align 4, !tbaa !5
  store i32 %1319, ptr %20, align 4, !tbaa !5
  %1320 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1321 = call i32 @s2n_print_stacktrace(ptr noundef %1320)
  %1322 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1323 = trunc i8 %1322 to i1
  br i1 %1323, label %1324, label %1346

1324:                                             ; preds = %1317
  %1325 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1326 = call i32 @fileno(ptr noundef %1325) #11
  %1327 = call i32 @isatty(i32 noundef %1326) #11
  %1328 = icmp ne i32 %1327, 0
  br i1 %1328, label %1329, label %1346

1329:                                             ; preds = %1324
  %1330 = load i32, ptr %20, align 4, !tbaa !5
  %1331 = call ptr @__errno_location() #12
  store i32 %1330, ptr %1331, align 4, !tbaa !5
  %1332 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1333 = load i32, ptr @test_count, align 4, !tbaa !5
  %1334 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1335 = load i32, ptr %1334, align 4, !tbaa !5
  %1336 = call ptr @s2n_strerror(i32 noundef %1335, ptr noundef @.str.4)
  %1337 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1338 = load i32, ptr %1337, align 4, !tbaa !5
  %1339 = call ptr @s2n_strerror_debug(i32 noundef %1338, ptr noundef @.str.4)
  %1340 = call ptr @__errno_location() #12
  %1341 = load i32, ptr %1340, align 4, !tbaa !5
  %1342 = call ptr @strerror(i32 noundef %1341) #11
  %1343 = call ptr @__errno_location() #12
  %1344 = load i32, ptr %1343, align 4, !tbaa !5
  %1345 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1332, ptr noundef @.str.2, i32 noundef %1333, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 91, ptr noundef %1336, ptr noundef %1339, ptr noundef %1342, i32 noundef %1344) #11
  br label %1363

1346:                                             ; preds = %1324, %1317
  %1347 = load i32, ptr %20, align 4, !tbaa !5
  %1348 = call ptr @__errno_location() #12
  store i32 %1347, ptr %1348, align 4, !tbaa !5
  %1349 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1350 = load i32, ptr @test_count, align 4, !tbaa !5
  %1351 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1352 = load i32, ptr %1351, align 4, !tbaa !5
  %1353 = call ptr @s2n_strerror(i32 noundef %1352, ptr noundef @.str.4)
  %1354 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1355 = load i32, ptr %1354, align 4, !tbaa !5
  %1356 = call ptr @s2n_strerror_debug(i32 noundef %1355, ptr noundef @.str.4)
  %1357 = call ptr @__errno_location() #12
  %1358 = load i32, ptr %1357, align 4, !tbaa !5
  %1359 = call ptr @strerror(i32 noundef %1358) #11
  %1360 = call ptr @__errno_location() #12
  %1361 = load i32, ptr %1360, align 4, !tbaa !5
  %1362 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1349, ptr noundef @.str.5, i32 noundef %1350, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 91, ptr noundef %1353, ptr noundef %1356, ptr noundef %1359, i32 noundef %1361) #11
  br label %1363

1363:                                             ; preds = %1346, %1329
  call void @llvm.lifetime.end.p0(i64 4, ptr %20) #11
  br label %1364

1364:                                             ; preds = %1363
  br label %1365

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

1366:                                             ; No predecessors!
  br label %1367

1367:                                             ; preds = %1366
  br label %1368

1368:                                             ; preds = %1367, %1309
  br label %1369

1369:                                             ; preds = %1368
  br label %1370

1370:                                             ; preds = %1369
  call void @llvm.lifetime.start.p0(i64 8, ptr %21) #11
  %1371 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %1371, ptr %21, align 8, !tbaa !9
  br label %1372

1372:                                             ; preds = %1370
  %1373 = load i32, ptr @test_count, align 4, !tbaa !5
  %1374 = add nsw i32 %1373, 1
  store i32 %1374, ptr @test_count, align 4, !tbaa !5
  %1375 = load ptr, ptr %21, align 8, !tbaa !9
  %1376 = icmp eq ptr %1375, null
  br i1 %1376, label %1377, label %1430

1377:                                             ; preds = %1372
  br label %1378

1378:                                             ; preds = %1377
  br label %1379

1379:                                             ; preds = %1378
  call void @llvm.lifetime.start.p0(i64 4, ptr %22) #11
  %1380 = call ptr @__errno_location() #12
  %1381 = load i32, ptr %1380, align 4, !tbaa !5
  store i32 %1381, ptr %22, align 4, !tbaa !5
  %1382 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1383 = call i32 @s2n_print_stacktrace(ptr noundef %1382)
  %1384 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1385 = trunc i8 %1384 to i1
  br i1 %1385, label %1386, label %1408

1386:                                             ; preds = %1379
  %1387 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1388 = call i32 @fileno(ptr noundef %1387) #11
  %1389 = call i32 @isatty(i32 noundef %1388) #11
  %1390 = icmp ne i32 %1389, 0
  br i1 %1390, label %1391, label %1408

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

1408:                                             ; preds = %1386, %1379
  %1409 = load i32, ptr %22, align 4, !tbaa !5
  %1410 = call ptr @__errno_location() #12
  store i32 %1409, ptr %1410, align 4, !tbaa !5
  %1411 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1412 = load i32, ptr @test_count, align 4, !tbaa !5
  %1413 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1414 = load i32, ptr %1413, align 4, !tbaa !5
  %1415 = call ptr @s2n_strerror(i32 noundef %1414, ptr noundef @.str.4)
  %1416 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1417 = load i32, ptr %1416, align 4, !tbaa !5
  %1418 = call ptr @s2n_strerror_debug(i32 noundef %1417, ptr noundef @.str.4)
  %1419 = call ptr @__errno_location() #12
  %1420 = load i32, ptr %1419, align 4, !tbaa !5
  %1421 = call ptr @strerror(i32 noundef %1420) #11
  %1422 = call ptr @__errno_location() #12
  %1423 = load i32, ptr %1422, align 4, !tbaa !5
  %1424 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1411, ptr noundef @.str.5, i32 noundef %1412, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 99, ptr noundef %1415, ptr noundef %1418, ptr noundef %1421, i32 noundef %1423) #11
  br label %1425

1425:                                             ; preds = %1408, %1391
  call void @llvm.lifetime.end.p0(i64 4, ptr %22) #11
  br label %1426

1426:                                             ; preds = %1425
  br label %1427

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

1428:                                             ; No predecessors!
  br label %1429

1429:                                             ; preds = %1428
  br label %1430

1430:                                             ; preds = %1429, %1372
  br label %1431

1431:                                             ; preds = %1430
  br label %1432

1432:                                             ; preds = %1431
  call void @llvm.lifetime.start.p0(i64 4, ptr %23) #11
  store i32 0, ptr %23, align 4, !tbaa !5
  br label %1433

1433:                                             ; preds = %1432
  br label %1434

1434:                                             ; preds = %1433
  br label %1435

1435:                                             ; preds = %1434
  %1436 = load i32, ptr @test_count, align 4, !tbaa !5
  %1437 = add nsw i32 %1436, 1
  store i32 %1437, ptr @test_count, align 4, !tbaa !5
  %1438 = load ptr, ptr %21, align 8, !tbaa !9
  %1439 = call i32 @s2n_connection_serialization_length(ptr noundef %1438, ptr noundef null)
  %1440 = icmp eq i32 %1439, -1
  br i1 %1440, label %1494, label %1441

1441:                                             ; preds = %1435
  br label %1442

1442:                                             ; preds = %1441
  br label %1443

1443:                                             ; preds = %1442
  call void @llvm.lifetime.start.p0(i64 4, ptr %24) #11
  %1444 = call ptr @__errno_location() #12
  %1445 = load i32, ptr %1444, align 4, !tbaa !5
  store i32 %1445, ptr %24, align 4, !tbaa !5
  %1446 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1447 = call i32 @s2n_print_stacktrace(ptr noundef %1446)
  %1448 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1449 = trunc i8 %1448 to i1
  br i1 %1449, label %1450, label %1472

1450:                                             ; preds = %1443
  %1451 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1452 = call i32 @fileno(ptr noundef %1451) #11
  %1453 = call i32 @isatty(i32 noundef %1452) #11
  %1454 = icmp ne i32 %1453, 0
  br i1 %1454, label %1455, label %1472

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

1472:                                             ; preds = %1450, %1443
  %1473 = load i32, ptr %24, align 4, !tbaa !5
  %1474 = call ptr @__errno_location() #12
  store i32 %1473, ptr %1474, align 4, !tbaa !5
  %1475 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1476 = load i32, ptr @test_count, align 4, !tbaa !5
  %1477 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1478 = load i32, ptr %1477, align 4, !tbaa !5
  %1479 = call ptr @s2n_strerror(i32 noundef %1478, ptr noundef @.str.4)
  %1480 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1481 = load i32, ptr %1480, align 4, !tbaa !5
  %1482 = call ptr @s2n_strerror_debug(i32 noundef %1481, ptr noundef @.str.4)
  %1483 = call ptr @__errno_location() #12
  %1484 = load i32, ptr %1483, align 4, !tbaa !5
  %1485 = call ptr @strerror(i32 noundef %1484) #11
  %1486 = call ptr @__errno_location() #12
  %1487 = load i32, ptr %1486, align 4, !tbaa !5
  %1488 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1475, ptr noundef @.str.5, i32 noundef %1476, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 101, ptr noundef %1479, ptr noundef %1482, ptr noundef %1485, i32 noundef %1487) #11
  br label %1489

1489:                                             ; preds = %1472, %1455
  call void @llvm.lifetime.end.p0(i64 4, ptr %24) #11
  br label %1490

1490:                                             ; preds = %1489
  br label %1491

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

1492:                                             ; No predecessors!
  br label %1493

1493:                                             ; preds = %1492
  br label %1494

1494:                                             ; preds = %1493, %1435
  br label %1495

1495:                                             ; preds = %1494
  br label %1496

1496:                                             ; preds = %1495
  br label %1497

1497:                                             ; preds = %1496
  %1498 = load i32, ptr @test_count, align 4, !tbaa !5
  %1499 = add nsw i32 %1498, 1
  store i32 %1499, ptr @test_count, align 4, !tbaa !5
  %1500 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1501 = load i32, ptr %1500, align 4, !tbaa !5
  %1502 = icmp eq i32 %1501, 402653193
  br i1 %1502, label %1556, label %1503

1503:                                             ; preds = %1497
  br label %1504

1504:                                             ; preds = %1503
  br label %1505

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

1512:                                             ; preds = %1505
  %1513 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1514 = call i32 @fileno(ptr noundef %1513) #11
  %1515 = call i32 @isatty(i32 noundef %1514) #11
  %1516 = icmp ne i32 %1515, 0
  br i1 %1516, label %1517, label %1534

1517:                                             ; preds = %1512
  %1518 = load i32, ptr %25, 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.4)
  %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.4)
  %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.2, i32 noundef %1521, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 101, ptr noundef %1524, ptr noundef %1527, ptr noundef %1530, i32 noundef %1532) #11
  br label %1551

1534:                                             ; preds = %1512, %1505
  %1535 = load i32, ptr %25, align 4, !tbaa !5
  %1536 = call ptr @__errno_location() #12
  store i32 %1535, ptr %1536, align 4, !tbaa !5
  %1537 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1538 = load i32, ptr @test_count, align 4, !tbaa !5
  %1539 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1540 = load i32, ptr %1539, align 4, !tbaa !5
  %1541 = call ptr @s2n_strerror(i32 noundef %1540, ptr noundef @.str.4)
  %1542 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1543 = load i32, ptr %1542, align 4, !tbaa !5
  %1544 = call ptr @s2n_strerror_debug(i32 noundef %1543, ptr noundef @.str.4)
  %1545 = call ptr @__errno_location() #12
  %1546 = load i32, ptr %1545, align 4, !tbaa !5
  %1547 = call ptr @strerror(i32 noundef %1546) #11
  %1548 = call ptr @__errno_location() #12
  %1549 = load i32, ptr %1548, align 4, !tbaa !5
  %1550 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1537, ptr noundef @.str.5, i32 noundef %1538, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 101, ptr noundef %1541, ptr noundef %1544, ptr noundef %1547, i32 noundef %1549) #11
  br label %1551

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

1552:                                             ; preds = %1551
  br label %1553

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

1554:                                             ; No predecessors!
  br label %1555

1555:                                             ; preds = %1554
  br label %1556

1556:                                             ; preds = %1555, %1497
  br label %1557

1557:                                             ; preds = %1556
  br label %1558

1558:                                             ; preds = %1557
  br label %1559

1559:                                             ; preds = %1558
  %1560 = load i32, ptr @test_count, align 4, !tbaa !5
  %1561 = add nsw i32 %1560, 1
  store i32 %1561, ptr @test_count, align 4, !tbaa !5
  %1562 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1563 = load i32, ptr %1562, align 4, !tbaa !5
  %1564 = call ptr @s2n_strerror_debug(i32 noundef %1563, ptr noundef @.str.4)
  %1565 = icmp eq ptr %1564, null
  br i1 %1565, label %1566, label %1619

1566:                                             ; preds = %1559
  br label %1567

1567:                                             ; preds = %1566
  br label %1568

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

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

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

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

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

1615:                                             ; preds = %1614
  br label %1616

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

1617:                                             ; No predecessors!
  br label %1618

1618:                                             ; preds = %1617
  br label %1619

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

1620:                                             ; preds = %1619
  br label %1621

1621:                                             ; preds = %1620
  br label %1622

1622:                                             ; preds = %1621
  br label %1623

1623:                                             ; preds = %1622
  br label %1624

1624:                                             ; preds = %1623
  %1625 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %1625, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %1626 = call ptr @__errno_location() #12
  store i32 0, ptr %1626, align 4, !tbaa !5
  br label %1627

1627:                                             ; preds = %1624
  br label %1628

1628:                                             ; preds = %1627
  br label %1629

1629:                                             ; preds = %1628
  br label %1630

1630:                                             ; preds = %1629
  br label %1631

1631:                                             ; preds = %1630
  br label %1632

1632:                                             ; preds = %1631
  br label %1633

1633:                                             ; preds = %1632
  %1634 = load i32, ptr @test_count, align 4, !tbaa !5
  %1635 = add nsw i32 %1634, 1
  store i32 %1635, ptr @test_count, align 4, !tbaa !5
  %1636 = call i32 @s2n_connection_serialization_length(ptr noundef null, ptr noundef %23)
  %1637 = icmp eq i32 %1636, -1
  br i1 %1637, label %1691, label %1638

1638:                                             ; preds = %1633
  br label %1639

1639:                                             ; preds = %1638
  br label %1640

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

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

1652:                                             ; preds = %1647
  %1653 = load i32, ptr %27, align 4, !tbaa !5
  %1654 = call ptr @__errno_location() #12
  store i32 %1653, ptr %1654, align 4, !tbaa !5
  %1655 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1656 = load i32, ptr @test_count, align 4, !tbaa !5
  %1657 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1658 = load i32, ptr %1657, align 4, !tbaa !5
  %1659 = call ptr @s2n_strerror(i32 noundef %1658, ptr noundef @.str.4)
  %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_debug(i32 noundef %1661, ptr noundef @.str.4)
  %1663 = call ptr @__errno_location() #12
  %1664 = load i32, ptr %1663, align 4, !tbaa !5
  %1665 = call ptr @strerror(i32 noundef %1664) #11
  %1666 = call ptr @__errno_location() #12
  %1667 = load i32, ptr %1666, align 4, !tbaa !5
  %1668 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1655, ptr noundef @.str.2, i32 noundef %1656, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 102, ptr noundef %1659, ptr noundef %1662, ptr noundef %1665, i32 noundef %1667) #11
  br label %1686

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

1686:                                             ; preds = %1669, %1652
  call void @llvm.lifetime.end.p0(i64 4, ptr %27) #11
  br label %1687

1687:                                             ; preds = %1686
  br label %1688

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

1689:                                             ; No predecessors!
  br label %1690

1690:                                             ; preds = %1689
  br label %1691

1691:                                             ; preds = %1690, %1633
  br label %1692

1692:                                             ; preds = %1691
  br label %1693

1693:                                             ; preds = %1692
  br label %1694

1694:                                             ; preds = %1693
  %1695 = load i32, ptr @test_count, align 4, !tbaa !5
  %1696 = add nsw i32 %1695, 1
  store i32 %1696, ptr @test_count, align 4, !tbaa !5
  %1697 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1698 = load i32, ptr %1697, align 4, !tbaa !5
  %1699 = icmp eq i32 %1698, 402653193
  br i1 %1699, label %1753, label %1700

1700:                                             ; preds = %1694
  br label %1701

1701:                                             ; preds = %1700
  br label %1702

1702:                                             ; preds = %1701
  call void @llvm.lifetime.start.p0(i64 4, ptr %28) #11
  %1703 = call ptr @__errno_location() #12
  %1704 = load i32, ptr %1703, align 4, !tbaa !5
  store i32 %1704, ptr %28, align 4, !tbaa !5
  %1705 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1706 = call i32 @s2n_print_stacktrace(ptr noundef %1705)
  %1707 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1708 = trunc i8 %1707 to i1
  br i1 %1708, label %1709, label %1731

1709:                                             ; preds = %1702
  %1710 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1711 = call i32 @fileno(ptr noundef %1710) #11
  %1712 = call i32 @isatty(i32 noundef %1711) #11
  %1713 = icmp ne i32 %1712, 0
  br i1 %1713, label %1714, label %1731

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

1731:                                             ; preds = %1709, %1702
  %1732 = load i32, ptr %28, align 4, !tbaa !5
  %1733 = call ptr @__errno_location() #12
  store i32 %1732, ptr %1733, align 4, !tbaa !5
  %1734 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1735 = load i32, ptr @test_count, align 4, !tbaa !5
  %1736 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1737 = load i32, ptr %1736, align 4, !tbaa !5
  %1738 = call ptr @s2n_strerror(i32 noundef %1737, ptr noundef @.str.4)
  %1739 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1740 = load i32, ptr %1739, align 4, !tbaa !5
  %1741 = call ptr @s2n_strerror_debug(i32 noundef %1740, ptr noundef @.str.4)
  %1742 = call ptr @__errno_location() #12
  %1743 = load i32, ptr %1742, align 4, !tbaa !5
  %1744 = call ptr @strerror(i32 noundef %1743) #11
  %1745 = call ptr @__errno_location() #12
  %1746 = load i32, ptr %1745, align 4, !tbaa !5
  %1747 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1734, ptr noundef @.str.5, i32 noundef %1735, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 102, ptr noundef %1738, ptr noundef %1741, ptr noundef %1744, i32 noundef %1746) #11
  br label %1748

1748:                                             ; preds = %1731, %1714
  call void @llvm.lifetime.end.p0(i64 4, ptr %28) #11
  br label %1749

1749:                                             ; preds = %1748
  br label %1750

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

1751:                                             ; No predecessors!
  br label %1752

1752:                                             ; preds = %1751
  br label %1753

1753:                                             ; preds = %1752, %1694
  br label %1754

1754:                                             ; preds = %1753
  br label %1755

1755:                                             ; preds = %1754
  br label %1756

1756:                                             ; preds = %1755
  %1757 = load i32, ptr @test_count, align 4, !tbaa !5
  %1758 = add nsw i32 %1757, 1
  store i32 %1758, ptr @test_count, align 4, !tbaa !5
  %1759 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1760 = load i32, ptr %1759, align 4, !tbaa !5
  %1761 = call ptr @s2n_strerror_debug(i32 noundef %1760, ptr noundef @.str.4)
  %1762 = icmp eq ptr %1761, null
  br i1 %1762, label %1763, label %1816

1763:                                             ; preds = %1756
  br label %1764

1764:                                             ; preds = %1763
  br label %1765

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

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

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

1794:                                             ; preds = %1772, %1765
  %1795 = load i32, ptr %29, align 4, !tbaa !5
  %1796 = call ptr @__errno_location() #12
  store i32 %1795, ptr %1796, align 4, !tbaa !5
  %1797 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1798 = load i32, ptr @test_count, align 4, !tbaa !5
  %1799 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1800 = load i32, ptr %1799, align 4, !tbaa !5
  %1801 = call ptr @s2n_strerror(i32 noundef %1800, ptr noundef @.str.4)
  %1802 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1803 = load i32, ptr %1802, align 4, !tbaa !5
  %1804 = call ptr @s2n_strerror_debug(i32 noundef %1803, ptr noundef @.str.4)
  %1805 = call ptr @__errno_location() #12
  %1806 = load i32, ptr %1805, align 4, !tbaa !5
  %1807 = call ptr @strerror(i32 noundef %1806) #11
  %1808 = call ptr @__errno_location() #12
  %1809 = load i32, ptr %1808, align 4, !tbaa !5
  %1810 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1797, ptr noundef @.str.5, i32 noundef %1798, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 102, ptr noundef %1801, ptr noundef %1804, ptr noundef %1807, i32 noundef %1809) #11
  br label %1811

1811:                                             ; preds = %1794, %1777
  call void @llvm.lifetime.end.p0(i64 4, ptr %29) #11
  br label %1812

1812:                                             ; preds = %1811
  br label %1813

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

1814:                                             ; No predecessors!
  br label %1815

1815:                                             ; preds = %1814
  br label %1816

1816:                                             ; preds = %1815, %1756
  br label %1817

1817:                                             ; preds = %1816
  br label %1818

1818:                                             ; preds = %1817
  br label %1819

1819:                                             ; preds = %1818
  br label %1820

1820:                                             ; preds = %1819
  br label %1821

1821:                                             ; preds = %1820
  %1822 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %1822, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %1823 = call ptr @__errno_location() #12
  store i32 0, ptr %1823, align 4, !tbaa !5
  br label %1824

1824:                                             ; preds = %1821
  br label %1825

1825:                                             ; preds = %1824
  br label %1826

1826:                                             ; preds = %1825
  br label %1827

1827:                                             ; preds = %1826
  call void @llvm.lifetime.end.p0(i64 4, ptr %23) #11
  %1828 = call i32 @s2n_connection_ptr_free(ptr noundef %21)
  %1829 = getelementptr inbounds %struct.s2n_result, ptr %30, i32 0, i32 0
  store i32 %1828, ptr %1829, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %21) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %31) #11
  %1830 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %1830, ptr %31, align 8, !tbaa !9
  br label %1831

1831:                                             ; preds = %1827
  %1832 = load i32, ptr @test_count, align 4, !tbaa !5
  %1833 = add nsw i32 %1832, 1
  store i32 %1833, ptr @test_count, align 4, !tbaa !5
  %1834 = load ptr, ptr %31, align 8, !tbaa !9
  %1835 = icmp eq ptr %1834, null
  br i1 %1835, label %1836, label %1889

1836:                                             ; preds = %1831
  br label %1837

1837:                                             ; preds = %1836
  br label %1838

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

1845:                                             ; preds = %1838
  %1846 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1847 = call i32 @fileno(ptr noundef %1846) #11
  %1848 = call i32 @isatty(i32 noundef %1847) #11
  %1849 = icmp ne i32 %1848, 0
  br i1 %1849, label %1850, label %1867

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

1867:                                             ; preds = %1845, %1838
  %1868 = load i32, ptr %32, align 4, !tbaa !5
  %1869 = call ptr @__errno_location() #12
  store i32 %1868, ptr %1869, align 4, !tbaa !5
  %1870 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1871 = load i32, ptr @test_count, align 4, !tbaa !5
  %1872 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1873 = load i32, ptr %1872, align 4, !tbaa !5
  %1874 = call ptr @s2n_strerror(i32 noundef %1873, ptr noundef @.str.4)
  %1875 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1876 = load i32, ptr %1875, align 4, !tbaa !5
  %1877 = call ptr @s2n_strerror_debug(i32 noundef %1876, ptr noundef @.str.4)
  %1878 = call ptr @__errno_location() #12
  %1879 = load i32, ptr %1878, align 4, !tbaa !5
  %1880 = call ptr @strerror(i32 noundef %1879) #11
  %1881 = call ptr @__errno_location() #12
  %1882 = load i32, ptr %1881, align 4, !tbaa !5
  %1883 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1870, ptr noundef @.str.5, i32 noundef %1871, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 109, ptr noundef %1874, ptr noundef %1877, ptr noundef %1880, i32 noundef %1882) #11
  br label %1884

1884:                                             ; preds = %1867, %1850
  call void @llvm.lifetime.end.p0(i64 4, ptr %32) #11
  br label %1885

1885:                                             ; preds = %1884
  br label %1886

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

1887:                                             ; No predecessors!
  br label %1888

1888:                                             ; preds = %1887
  br label %1889

1889:                                             ; preds = %1888, %1831
  br label %1890

1890:                                             ; preds = %1889
  br label %1891

1891:                                             ; preds = %1890
  br label %1892

1892:                                             ; preds = %1891
  %1893 = load i32, ptr @test_count, align 4, !tbaa !5
  %1894 = add nsw i32 %1893, 1
  store i32 %1894, ptr @test_count, align 4, !tbaa !5
  %1895 = load ptr, ptr %31, align 8, !tbaa !9
  %1896 = load ptr, ptr %16, align 8, !tbaa !9
  %1897 = call i32 @s2n_connection_set_config(ptr noundef %1895, ptr noundef %1896)
  %1898 = icmp eq i32 %1897, -1
  br i1 %1898, label %1899, label %1952

1899:                                             ; preds = %1892
  br label %1900

1900:                                             ; preds = %1899
  br label %1901

1901:                                             ; preds = %1900
  call void @llvm.lifetime.start.p0(i64 4, ptr %33) #11
  %1902 = call ptr @__errno_location() #12
  %1903 = load i32, ptr %1902, align 4, !tbaa !5
  store i32 %1903, ptr %33, align 4, !tbaa !5
  %1904 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1905 = call i32 @s2n_print_stacktrace(ptr noundef %1904)
  %1906 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1907 = trunc i8 %1906 to i1
  br i1 %1907, label %1908, label %1930

1908:                                             ; preds = %1901
  %1909 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1910 = call i32 @fileno(ptr noundef %1909) #11
  %1911 = call i32 @isatty(i32 noundef %1910) #11
  %1912 = icmp ne i32 %1911, 0
  br i1 %1912, label %1913, label %1930

1913:                                             ; preds = %1908
  %1914 = load i32, ptr %33, align 4, !tbaa !5
  %1915 = call ptr @__errno_location() #12
  store i32 %1914, ptr %1915, align 4, !tbaa !5
  %1916 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1917 = load i32, ptr @test_count, align 4, !tbaa !5
  %1918 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1919 = load i32, ptr %1918, align 4, !tbaa !5
  %1920 = call ptr @s2n_strerror(i32 noundef %1919, ptr noundef @.str.4)
  %1921 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1922 = load i32, ptr %1921, align 4, !tbaa !5
  %1923 = call ptr @s2n_strerror_debug(i32 noundef %1922, ptr noundef @.str.4)
  %1924 = call ptr @__errno_location() #12
  %1925 = load i32, ptr %1924, align 4, !tbaa !5
  %1926 = call ptr @strerror(i32 noundef %1925) #11
  %1927 = call ptr @__errno_location() #12
  %1928 = load i32, ptr %1927, align 4, !tbaa !5
  %1929 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1916, ptr noundef @.str.2, i32 noundef %1917, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 110, ptr noundef %1920, ptr noundef %1923, ptr noundef %1926, i32 noundef %1928) #11
  br label %1947

1930:                                             ; preds = %1908, %1901
  %1931 = load i32, ptr %33, align 4, !tbaa !5
  %1932 = call ptr @__errno_location() #12
  store i32 %1931, ptr %1932, align 4, !tbaa !5
  %1933 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1934 = load i32, ptr @test_count, align 4, !tbaa !5
  %1935 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1936 = load i32, ptr %1935, align 4, !tbaa !5
  %1937 = call ptr @s2n_strerror(i32 noundef %1936, ptr noundef @.str.4)
  %1938 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1939 = load i32, ptr %1938, align 4, !tbaa !5
  %1940 = call ptr @s2n_strerror_debug(i32 noundef %1939, ptr noundef @.str.4)
  %1941 = call ptr @__errno_location() #12
  %1942 = load i32, ptr %1941, align 4, !tbaa !5
  %1943 = call ptr @strerror(i32 noundef %1942) #11
  %1944 = call ptr @__errno_location() #12
  %1945 = load i32, ptr %1944, align 4, !tbaa !5
  %1946 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1933, ptr noundef @.str.5, i32 noundef %1934, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 110, ptr noundef %1937, ptr noundef %1940, ptr noundef %1943, i32 noundef %1945) #11
  br label %1947

1947:                                             ; preds = %1930, %1913
  call void @llvm.lifetime.end.p0(i64 4, ptr %33) #11
  br label %1948

1948:                                             ; preds = %1947
  br label %1949

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

1950:                                             ; No predecessors!
  br label %1951

1951:                                             ; preds = %1950
  br label %1952

1952:                                             ; preds = %1951, %1892
  br label %1953

1953:                                             ; preds = %1952
  br label %1954

1954:                                             ; preds = %1953
  %1955 = load ptr, ptr %31, align 8, !tbaa !9
  %1956 = getelementptr inbounds %struct.s2n_connection, ptr %1955, i32 0, i32 23
  store i8 34, ptr %1956, align 4, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 8, ptr %34) #11
  store i64 0, ptr %34, align 8, !tbaa !42
  br label %1957

1957:                                             ; preds = %2164, %1954
  %1958 = load i64, ptr %34, align 8, !tbaa !42
  %1959 = load i16, ptr @cipher_preferences_test_all, align 8, !tbaa !43
  %1960 = zext i16 %1959 to i64
  %1961 = icmp ult i64 %1958, %1960
  br i1 %1961, label %1963, label %1962

1962:                                             ; preds = %1957
  call void @llvm.lifetime.end.p0(i64 8, ptr %34) #11
  br label %2167

1963:                                             ; preds = %1957
  call void @llvm.lifetime.start.p0(i64 8, ptr %35) #11
  %1964 = load ptr, ptr getelementptr inbounds (%struct.s2n_cipher_preferences, ptr @cipher_preferences_test_all, i32 0, i32 1), align 8, !tbaa !45
  %1965 = load i64, ptr %34, align 8, !tbaa !42
  %1966 = getelementptr inbounds ptr, ptr %1964, i64 %1965
  %1967 = load ptr, ptr %1966, align 8, !tbaa !9
  store ptr %1967, ptr %35, align 8, !tbaa !9
  %1968 = load ptr, ptr %35, align 8, !tbaa !9
  %1969 = load ptr, ptr %31, align 8, !tbaa !9
  %1970 = getelementptr inbounds %struct.s2n_connection, ptr %1969, i32 0, i32 27
  %1971 = load ptr, ptr %1970, align 8, !tbaa !46
  %1972 = getelementptr inbounds %struct.s2n_crypto_parameters, ptr %1971, i32 0, i32 0
  store ptr %1968, ptr %1972, align 8, !tbaa !47
  call void @llvm.lifetime.start.p0(i64 1, ptr %36) #11
  store i8 0, ptr %36, align 1, !tbaa !52
  br label %1973

1973:                                             ; preds = %1963
  %1974 = load i32, ptr @test_count, align 4, !tbaa !5
  %1975 = add nsw i32 %1974, 1
  store i32 %1975, ptr @test_count, align 4, !tbaa !5
  %1976 = load ptr, ptr %35, align 8, !tbaa !9
  %1977 = getelementptr inbounds %struct.s2n_cipher_suite, ptr %1976, i32 0, i32 11
  %1978 = load i32, ptr %1977, align 8, !tbaa !53
  %1979 = call i32 @s2n_hmac_digest_size(i32 noundef %1978, ptr noundef %36)
  %1980 = icmp eq i32 %1979, -1
  br i1 %1980, label %1981, label %2034

1981:                                             ; preds = %1973
  br label %1982

1982:                                             ; preds = %1981
  br label %1983

1983:                                             ; preds = %1982
  call void @llvm.lifetime.start.p0(i64 4, ptr %37) #11
  %1984 = call ptr @__errno_location() #12
  %1985 = load i32, ptr %1984, align 4, !tbaa !5
  store i32 %1985, ptr %37, align 4, !tbaa !5
  %1986 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1987 = call i32 @s2n_print_stacktrace(ptr noundef %1986)
  %1988 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1989 = trunc i8 %1988 to i1
  br i1 %1989, label %1990, label %2012

1990:                                             ; preds = %1983
  %1991 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1992 = call i32 @fileno(ptr noundef %1991) #11
  %1993 = call i32 @isatty(i32 noundef %1992) #11
  %1994 = icmp ne i32 %1993, 0
  br i1 %1994, label %1995, label %2012

1995:                                             ; preds = %1990
  %1996 = load i32, ptr %37, align 4, !tbaa !5
  %1997 = call ptr @__errno_location() #12
  store i32 %1996, ptr %1997, align 4, !tbaa !5
  %1998 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1999 = load i32, ptr @test_count, align 4, !tbaa !5
  %2000 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2001 = load i32, ptr %2000, align 4, !tbaa !5
  %2002 = call ptr @s2n_strerror(i32 noundef %2001, ptr noundef @.str.4)
  %2003 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2004 = load i32, ptr %2003, align 4, !tbaa !5
  %2005 = call ptr @s2n_strerror_debug(i32 noundef %2004, ptr noundef @.str.4)
  %2006 = call ptr @__errno_location() #12
  %2007 = load i32, ptr %2006, align 4, !tbaa !5
  %2008 = call ptr @strerror(i32 noundef %2007) #11
  %2009 = call ptr @__errno_location() #12
  %2010 = load i32, ptr %2009, align 4, !tbaa !5
  %2011 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1998, ptr noundef @.str.2, i32 noundef %1999, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 117, ptr noundef %2002, ptr noundef %2005, ptr noundef %2008, i32 noundef %2010) #11
  br label %2029

2012:                                             ; preds = %1990, %1983
  %2013 = load i32, ptr %37, align 4, !tbaa !5
  %2014 = call ptr @__errno_location() #12
  store i32 %2013, ptr %2014, align 4, !tbaa !5
  %2015 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2016 = load i32, ptr @test_count, align 4, !tbaa !5
  %2017 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2018 = load i32, ptr %2017, align 4, !tbaa !5
  %2019 = call ptr @s2n_strerror(i32 noundef %2018, ptr noundef @.str.4)
  %2020 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2021 = load i32, ptr %2020, align 4, !tbaa !5
  %2022 = call ptr @s2n_strerror_debug(i32 noundef %2021, ptr noundef @.str.4)
  %2023 = call ptr @__errno_location() #12
  %2024 = load i32, ptr %2023, align 4, !tbaa !5
  %2025 = call ptr @strerror(i32 noundef %2024) #11
  %2026 = call ptr @__errno_location() #12
  %2027 = load i32, ptr %2026, align 4, !tbaa !5
  %2028 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2015, ptr noundef @.str.5, i32 noundef %2016, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 117, ptr noundef %2019, ptr noundef %2022, ptr noundef %2025, i32 noundef %2027) #11
  br label %2029

2029:                                             ; preds = %2012, %1995
  call void @llvm.lifetime.end.p0(i64 4, ptr %37) #11
  br label %2030

2030:                                             ; preds = %2029
  br label %2031

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

2032:                                             ; No predecessors!
  br label %2033

2033:                                             ; preds = %2032
  br label %2034

2034:                                             ; preds = %2033, %1973
  br label %2035

2035:                                             ; preds = %2034
  br label %2036

2036:                                             ; preds = %2035
  call void @llvm.lifetime.start.p0(i64 4, ptr %38) #11
  store i32 0, ptr %38, align 4, !tbaa !5
  br label %2037

2037:                                             ; preds = %2036
  %2038 = load i32, ptr @test_count, align 4, !tbaa !5
  %2039 = add nsw i32 %2038, 1
  store i32 %2039, ptr @test_count, align 4, !tbaa !5
  %2040 = load ptr, ptr %31, align 8, !tbaa !9
  %2041 = call i32 @s2n_connection_serialization_length(ptr noundef %2040, ptr noundef %38)
  %2042 = icmp eq i32 %2041, -1
  br i1 %2042, label %2043, label %2096

2043:                                             ; preds = %2037
  br label %2044

2044:                                             ; preds = %2043
  br label %2045

2045:                                             ; preds = %2044
  call void @llvm.lifetime.start.p0(i64 4, ptr %39) #11
  %2046 = call ptr @__errno_location() #12
  %2047 = load i32, ptr %2046, align 4, !tbaa !5
  store i32 %2047, ptr %39, align 4, !tbaa !5
  %2048 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2049 = call i32 @s2n_print_stacktrace(ptr noundef %2048)
  %2050 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2051 = trunc i8 %2050 to i1
  br i1 %2051, label %2052, label %2074

2052:                                             ; preds = %2045
  %2053 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2054 = call i32 @fileno(ptr noundef %2053) #11
  %2055 = call i32 @isatty(i32 noundef %2054) #11
  %2056 = icmp ne i32 %2055, 0
  br i1 %2056, label %2057, label %2074

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

2074:                                             ; preds = %2052, %2045
  %2075 = load i32, ptr %39, align 4, !tbaa !5
  %2076 = call ptr @__errno_location() #12
  store i32 %2075, ptr %2076, align 4, !tbaa !5
  %2077 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2078 = load i32, ptr @test_count, align 4, !tbaa !5
  %2079 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2080 = load i32, ptr %2079, align 4, !tbaa !5
  %2081 = call ptr @s2n_strerror(i32 noundef %2080, ptr noundef @.str.4)
  %2082 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2083 = load i32, ptr %2082, align 4, !tbaa !5
  %2084 = call ptr @s2n_strerror_debug(i32 noundef %2083, ptr noundef @.str.4)
  %2085 = call ptr @__errno_location() #12
  %2086 = load i32, ptr %2085, align 4, !tbaa !5
  %2087 = call ptr @strerror(i32 noundef %2086) #11
  %2088 = call ptr @__errno_location() #12
  %2089 = load i32, ptr %2088, align 4, !tbaa !5
  %2090 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2077, ptr noundef @.str.5, i32 noundef %2078, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 120, ptr noundef %2081, ptr noundef %2084, ptr noundef %2087, i32 noundef %2089) #11
  br label %2091

2091:                                             ; preds = %2074, %2057
  call void @llvm.lifetime.end.p0(i64 4, ptr %39) #11
  br label %2092

2092:                                             ; preds = %2091
  br label %2093

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

2094:                                             ; No predecessors!
  br label %2095

2095:                                             ; preds = %2094
  br label %2096

2096:                                             ; preds = %2095, %2037
  br label %2097

2097:                                             ; preds = %2096
  br label %2098

2098:                                             ; preds = %2097
  br label %2099

2099:                                             ; preds = %2098
  %2100 = load i32, ptr @test_count, align 4, !tbaa !5
  %2101 = add nsw i32 %2100, 1
  store i32 %2101, ptr @test_count, align 4, !tbaa !5
  %2102 = load i32, ptr %38, align 4, !tbaa !5
  %2103 = load i8, ptr %36, align 1, !tbaa !52
  %2104 = zext i8 %2103 to i32
  %2105 = mul nsw i32 %2104, 3
  %2106 = add nsw i32 30, %2105
  %2107 = icmp eq i32 %2102, %2106
  br i1 %2107, label %2161, label %2108

2108:                                             ; preds = %2099
  br label %2109

2109:                                             ; preds = %2108
  br label %2110

2110:                                             ; preds = %2109
  call void @llvm.lifetime.start.p0(i64 4, ptr %40) #11
  %2111 = call ptr @__errno_location() #12
  %2112 = load i32, ptr %2111, align 4, !tbaa !5
  store i32 %2112, ptr %40, align 4, !tbaa !5
  %2113 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2114 = call i32 @s2n_print_stacktrace(ptr noundef %2113)
  %2115 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2116 = trunc i8 %2115 to i1
  br i1 %2116, label %2117, label %2139

2117:                                             ; preds = %2110
  %2118 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2119 = call i32 @fileno(ptr noundef %2118) #11
  %2120 = call i32 @isatty(i32 noundef %2119) #11
  %2121 = icmp ne i32 %2120, 0
  br i1 %2121, label %2122, label %2139

2122:                                             ; preds = %2117
  %2123 = load i32, ptr %40, align 4, !tbaa !5
  %2124 = call ptr @__errno_location() #12
  store i32 %2123, ptr %2124, align 4, !tbaa !5
  %2125 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2126 = load i32, ptr @test_count, align 4, !tbaa !5
  %2127 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2128 = load i32, ptr %2127, align 4, !tbaa !5
  %2129 = call ptr @s2n_strerror(i32 noundef %2128, ptr noundef @.str.4)
  %2130 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2131 = load i32, ptr %2130, align 4, !tbaa !5
  %2132 = call ptr @s2n_strerror_debug(i32 noundef %2131, ptr noundef @.str.4)
  %2133 = call ptr @__errno_location() #12
  %2134 = load i32, ptr %2133, align 4, !tbaa !5
  %2135 = call ptr @strerror(i32 noundef %2134) #11
  %2136 = call ptr @__errno_location() #12
  %2137 = load i32, ptr %2136, align 4, !tbaa !5
  %2138 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2125, ptr noundef @.str.2, i32 noundef %2126, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 121, ptr noundef %2129, ptr noundef %2132, ptr noundef %2135, i32 noundef %2137) #11
  br label %2156

2139:                                             ; preds = %2117, %2110
  %2140 = load i32, ptr %40, align 4, !tbaa !5
  %2141 = call ptr @__errno_location() #12
  store i32 %2140, ptr %2141, align 4, !tbaa !5
  %2142 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2143 = load i32, ptr @test_count, align 4, !tbaa !5
  %2144 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2145 = load i32, ptr %2144, align 4, !tbaa !5
  %2146 = call ptr @s2n_strerror(i32 noundef %2145, ptr noundef @.str.4)
  %2147 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2148 = load i32, ptr %2147, align 4, !tbaa !5
  %2149 = call ptr @s2n_strerror_debug(i32 noundef %2148, ptr noundef @.str.4)
  %2150 = call ptr @__errno_location() #12
  %2151 = load i32, ptr %2150, align 4, !tbaa !5
  %2152 = call ptr @strerror(i32 noundef %2151) #11
  %2153 = call ptr @__errno_location() #12
  %2154 = load i32, ptr %2153, align 4, !tbaa !5
  %2155 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2142, ptr noundef @.str.5, i32 noundef %2143, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 121, ptr noundef %2146, ptr noundef %2149, ptr noundef %2152, i32 noundef %2154) #11
  br label %2156

2156:                                             ; preds = %2139, %2122
  call void @llvm.lifetime.end.p0(i64 4, ptr %40) #11
  br label %2157

2157:                                             ; preds = %2156
  br label %2158

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

2159:                                             ; No predecessors!
  br label %2160

2160:                                             ; preds = %2159
  br label %2161

2161:                                             ; preds = %2160, %2099
  br label %2162

2162:                                             ; preds = %2161
  br label %2163

2163:                                             ; preds = %2162
  call void @llvm.lifetime.end.p0(i64 4, ptr %38) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %36) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %35) #11
  br label %2164

2164:                                             ; preds = %2163
  %2165 = load i64, ptr %34, align 8, !tbaa !42
  %2166 = add i64 %2165, 1
  store i64 %2166, ptr %34, align 8, !tbaa !42
  br label %1957, !llvm.loop !55

2167:                                             ; preds = %1962
  %2168 = call i32 @s2n_connection_ptr_free(ptr noundef %31)
  %2169 = getelementptr inbounds %struct.s2n_result, ptr %41, i32 0, i32 0
  store i32 %2168, ptr %2169, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %31) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %42) #11
  %2170 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %2170, ptr %42, align 8, !tbaa !9
  br label %2171

2171:                                             ; preds = %2167
  %2172 = load i32, ptr @test_count, align 4, !tbaa !5
  %2173 = add nsw i32 %2172, 1
  store i32 %2173, ptr @test_count, align 4, !tbaa !5
  %2174 = load ptr, ptr %42, align 8, !tbaa !9
  %2175 = icmp eq ptr %2174, null
  br i1 %2175, label %2176, label %2229

2176:                                             ; preds = %2171
  br label %2177

2177:                                             ; preds = %2176
  br label %2178

2178:                                             ; preds = %2177
  call void @llvm.lifetime.start.p0(i64 4, ptr %43) #11
  %2179 = call ptr @__errno_location() #12
  %2180 = load i32, ptr %2179, align 4, !tbaa !5
  store i32 %2180, ptr %43, align 4, !tbaa !5
  %2181 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2182 = call i32 @s2n_print_stacktrace(ptr noundef %2181)
  %2183 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2184 = trunc i8 %2183 to i1
  br i1 %2184, label %2185, label %2207

2185:                                             ; preds = %2178
  %2186 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2187 = call i32 @fileno(ptr noundef %2186) #11
  %2188 = call i32 @isatty(i32 noundef %2187) #11
  %2189 = icmp ne i32 %2188, 0
  br i1 %2189, label %2190, label %2207

2190:                                             ; preds = %2185
  %2191 = load i32, ptr %43, align 4, !tbaa !5
  %2192 = call ptr @__errno_location() #12
  store i32 %2191, ptr %2192, align 4, !tbaa !5
  %2193 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2194 = load i32, ptr @test_count, align 4, !tbaa !5
  %2195 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2196 = load i32, ptr %2195, align 4, !tbaa !5
  %2197 = call ptr @s2n_strerror(i32 noundef %2196, ptr noundef @.str.4)
  %2198 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2199 = load i32, ptr %2198, align 4, !tbaa !5
  %2200 = call ptr @s2n_strerror_debug(i32 noundef %2199, ptr noundef @.str.4)
  %2201 = call ptr @__errno_location() #12
  %2202 = load i32, ptr %2201, align 4, !tbaa !5
  %2203 = call ptr @strerror(i32 noundef %2202) #11
  %2204 = call ptr @__errno_location() #12
  %2205 = load i32, ptr %2204, align 4, !tbaa !5
  %2206 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2193, ptr noundef @.str.2, i32 noundef %2194, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 129, ptr noundef %2197, ptr noundef %2200, ptr noundef %2203, i32 noundef %2205) #11
  br label %2224

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

2224:                                             ; preds = %2207, %2190
  call void @llvm.lifetime.end.p0(i64 4, ptr %43) #11
  br label %2225

2225:                                             ; preds = %2224
  br label %2226

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

2227:                                             ; No predecessors!
  br label %2228

2228:                                             ; preds = %2227
  br label %2229

2229:                                             ; preds = %2228, %2171
  br label %2230

2230:                                             ; preds = %2229
  br label %2231

2231:                                             ; preds = %2230
  br label %2232

2232:                                             ; preds = %2231
  %2233 = load i32, ptr @test_count, align 4, !tbaa !5
  %2234 = add nsw i32 %2233, 1
  store i32 %2234, ptr @test_count, align 4, !tbaa !5
  %2235 = load ptr, ptr %42, align 8, !tbaa !9
  %2236 = load ptr, ptr %11, align 8, !tbaa !9
  %2237 = call i32 @s2n_connection_set_config(ptr noundef %2235, ptr noundef %2236)
  %2238 = icmp eq i32 %2237, -1
  br i1 %2238, label %2239, label %2292

2239:                                             ; preds = %2232
  br label %2240

2240:                                             ; preds = %2239
  br label %2241

2241:                                             ; preds = %2240
  call void @llvm.lifetime.start.p0(i64 4, ptr %44) #11
  %2242 = call ptr @__errno_location() #12
  %2243 = load i32, ptr %2242, align 4, !tbaa !5
  store i32 %2243, ptr %44, align 4, !tbaa !5
  %2244 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2245 = call i32 @s2n_print_stacktrace(ptr noundef %2244)
  %2246 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2247 = trunc i8 %2246 to i1
  br i1 %2247, label %2248, label %2270

2248:                                             ; preds = %2241
  %2249 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2250 = call i32 @fileno(ptr noundef %2249) #11
  %2251 = call i32 @isatty(i32 noundef %2250) #11
  %2252 = icmp ne i32 %2251, 0
  br i1 %2252, label %2253, label %2270

2253:                                             ; preds = %2248
  %2254 = load i32, ptr %44, align 4, !tbaa !5
  %2255 = call ptr @__errno_location() #12
  store i32 %2254, ptr %2255, align 4, !tbaa !5
  %2256 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2257 = load i32, ptr @test_count, align 4, !tbaa !5
  %2258 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2259 = load i32, ptr %2258, align 4, !tbaa !5
  %2260 = call ptr @s2n_strerror(i32 noundef %2259, ptr noundef @.str.4)
  %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_debug(i32 noundef %2262, ptr noundef @.str.4)
  %2264 = call ptr @__errno_location() #12
  %2265 = load i32, ptr %2264, align 4, !tbaa !5
  %2266 = call ptr @strerror(i32 noundef %2265) #11
  %2267 = call ptr @__errno_location() #12
  %2268 = load i32, ptr %2267, align 4, !tbaa !5
  %2269 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2256, ptr noundef @.str.2, i32 noundef %2257, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 130, ptr noundef %2260, ptr noundef %2263, ptr noundef %2266, i32 noundef %2268) #11
  br label %2287

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

2287:                                             ; preds = %2270, %2253
  call void @llvm.lifetime.end.p0(i64 4, ptr %44) #11
  br label %2288

2288:                                             ; preds = %2287
  br label %2289

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

2290:                                             ; No predecessors!
  br label %2291

2291:                                             ; preds = %2290
  br label %2292

2292:                                             ; preds = %2291, %2232
  br label %2293

2293:                                             ; preds = %2292
  br label %2294

2294:                                             ; preds = %2293
  %2295 = load ptr, ptr %42, align 8, !tbaa !9
  %2296 = getelementptr inbounds %struct.s2n_connection, ptr %2295, i32 0, i32 23
  store i8 33, ptr %2296, align 4, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 4, ptr %45) #11
  store i32 0, ptr %45, align 4, !tbaa !5
  br label %2297

2297:                                             ; preds = %2294
  %2298 = load i32, ptr @test_count, align 4, !tbaa !5
  %2299 = add nsw i32 %2298, 1
  store i32 %2299, ptr @test_count, align 4, !tbaa !5
  %2300 = load ptr, ptr %42, align 8, !tbaa !9
  %2301 = call i32 @s2n_connection_serialization_length(ptr noundef %2300, ptr noundef %45)
  %2302 = icmp eq i32 %2301, -1
  br i1 %2302, label %2303, label %2356

2303:                                             ; preds = %2297
  br label %2304

2304:                                             ; preds = %2303
  br label %2305

2305:                                             ; preds = %2304
  call void @llvm.lifetime.start.p0(i64 4, ptr %46) #11
  %2306 = call ptr @__errno_location() #12
  %2307 = load i32, ptr %2306, align 4, !tbaa !5
  store i32 %2307, ptr %46, align 4, !tbaa !5
  %2308 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2309 = call i32 @s2n_print_stacktrace(ptr noundef %2308)
  %2310 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2311 = trunc i8 %2310 to i1
  br i1 %2311, label %2312, label %2334

2312:                                             ; preds = %2305
  %2313 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2314 = call i32 @fileno(ptr noundef %2313) #11
  %2315 = call i32 @isatty(i32 noundef %2314) #11
  %2316 = icmp ne i32 %2315, 0
  br i1 %2316, label %2317, label %2334

2317:                                             ; preds = %2312
  %2318 = load i32, ptr %46, align 4, !tbaa !5
  %2319 = call ptr @__errno_location() #12
  store i32 %2318, ptr %2319, align 4, !tbaa !5
  %2320 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2321 = load i32, ptr @test_count, align 4, !tbaa !5
  %2322 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2323 = load i32, ptr %2322, align 4, !tbaa !5
  %2324 = call ptr @s2n_strerror(i32 noundef %2323, ptr noundef @.str.4)
  %2325 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2326 = load i32, ptr %2325, align 4, !tbaa !5
  %2327 = call ptr @s2n_strerror_debug(i32 noundef %2326, ptr noundef @.str.4)
  %2328 = call ptr @__errno_location() #12
  %2329 = load i32, ptr %2328, align 4, !tbaa !5
  %2330 = call ptr @strerror(i32 noundef %2329) #11
  %2331 = call ptr @__errno_location() #12
  %2332 = load i32, ptr %2331, align 4, !tbaa !5
  %2333 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2320, ptr noundef @.str.2, i32 noundef %2321, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 134, ptr noundef %2324, ptr noundef %2327, ptr noundef %2330, i32 noundef %2332) #11
  br label %2351

2334:                                             ; preds = %2312, %2305
  %2335 = load i32, ptr %46, align 4, !tbaa !5
  %2336 = call ptr @__errno_location() #12
  store i32 %2335, ptr %2336, align 4, !tbaa !5
  %2337 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2338 = load i32, ptr @test_count, align 4, !tbaa !5
  %2339 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2340 = load i32, ptr %2339, align 4, !tbaa !5
  %2341 = call ptr @s2n_strerror(i32 noundef %2340, ptr noundef @.str.4)
  %2342 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2343 = load i32, ptr %2342, align 4, !tbaa !5
  %2344 = call ptr @s2n_strerror_debug(i32 noundef %2343, ptr noundef @.str.4)
  %2345 = call ptr @__errno_location() #12
  %2346 = load i32, ptr %2345, align 4, !tbaa !5
  %2347 = call ptr @strerror(i32 noundef %2346) #11
  %2348 = call ptr @__errno_location() #12
  %2349 = load i32, ptr %2348, align 4, !tbaa !5
  %2350 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2337, ptr noundef @.str.5, i32 noundef %2338, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 134, ptr noundef %2341, ptr noundef %2344, ptr noundef %2347, i32 noundef %2349) #11
  br label %2351

2351:                                             ; preds = %2334, %2317
  call void @llvm.lifetime.end.p0(i64 4, ptr %46) #11
  br label %2352

2352:                                             ; preds = %2351
  br label %2353

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

2354:                                             ; No predecessors!
  br label %2355

2355:                                             ; preds = %2354
  br label %2356

2356:                                             ; preds = %2355, %2297
  br label %2357

2357:                                             ; preds = %2356
  br label %2358

2358:                                             ; preds = %2357
  br label %2359

2359:                                             ; preds = %2358
  %2360 = load i32, ptr @test_count, align 4, !tbaa !5
  %2361 = add nsw i32 %2360, 1
  store i32 %2361, ptr @test_count, align 4, !tbaa !5
  %2362 = load i32, ptr %45, align 4, !tbaa !5
  %2363 = icmp eq i32 %2362, 142
  br i1 %2363, label %2417, label %2364

2364:                                             ; preds = %2359
  br label %2365

2365:                                             ; preds = %2364
  br label %2366

2366:                                             ; preds = %2365
  call void @llvm.lifetime.start.p0(i64 4, ptr %47) #11
  %2367 = call ptr @__errno_location() #12
  %2368 = load i32, ptr %2367, align 4, !tbaa !5
  store i32 %2368, ptr %47, align 4, !tbaa !5
  %2369 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2370 = call i32 @s2n_print_stacktrace(ptr noundef %2369)
  %2371 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2372 = trunc i8 %2371 to i1
  br i1 %2372, label %2373, label %2395

2373:                                             ; preds = %2366
  %2374 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2375 = call i32 @fileno(ptr noundef %2374) #11
  %2376 = call i32 @isatty(i32 noundef %2375) #11
  %2377 = icmp ne i32 %2376, 0
  br i1 %2377, label %2378, label %2395

2378:                                             ; preds = %2373
  %2379 = load i32, ptr %47, align 4, !tbaa !5
  %2380 = call ptr @__errno_location() #12
  store i32 %2379, ptr %2380, align 4, !tbaa !5
  %2381 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2382 = load i32, ptr @test_count, align 4, !tbaa !5
  %2383 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2384 = load i32, ptr %2383, align 4, !tbaa !5
  %2385 = call ptr @s2n_strerror(i32 noundef %2384, ptr noundef @.str.4)
  %2386 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2387 = load i32, ptr %2386, align 4, !tbaa !5
  %2388 = call ptr @s2n_strerror_debug(i32 noundef %2387, ptr noundef @.str.4)
  %2389 = call ptr @__errno_location() #12
  %2390 = load i32, ptr %2389, align 4, !tbaa !5
  %2391 = call ptr @strerror(i32 noundef %2390) #11
  %2392 = call ptr @__errno_location() #12
  %2393 = load i32, ptr %2392, align 4, !tbaa !5
  %2394 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2381, ptr noundef @.str.2, i32 noundef %2382, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 135, ptr noundef %2385, ptr noundef %2388, ptr noundef %2391, i32 noundef %2393) #11
  br label %2412

2395:                                             ; preds = %2373, %2366
  %2396 = load i32, ptr %47, align 4, !tbaa !5
  %2397 = call ptr @__errno_location() #12
  store i32 %2396, ptr %2397, align 4, !tbaa !5
  %2398 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2399 = load i32, ptr @test_count, align 4, !tbaa !5
  %2400 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2401 = load i32, ptr %2400, align 4, !tbaa !5
  %2402 = call ptr @s2n_strerror(i32 noundef %2401, ptr noundef @.str.4)
  %2403 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2404 = load i32, ptr %2403, align 4, !tbaa !5
  %2405 = call ptr @s2n_strerror_debug(i32 noundef %2404, ptr noundef @.str.4)
  %2406 = call ptr @__errno_location() #12
  %2407 = load i32, ptr %2406, align 4, !tbaa !5
  %2408 = call ptr @strerror(i32 noundef %2407) #11
  %2409 = call ptr @__errno_location() #12
  %2410 = load i32, ptr %2409, align 4, !tbaa !5
  %2411 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2398, ptr noundef @.str.5, i32 noundef %2399, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 135, ptr noundef %2402, ptr noundef %2405, ptr noundef %2408, i32 noundef %2410) #11
  br label %2412

2412:                                             ; preds = %2395, %2378
  call void @llvm.lifetime.end.p0(i64 4, ptr %47) #11
  br label %2413

2413:                                             ; preds = %2412
  br label %2414

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

2415:                                             ; No predecessors!
  br label %2416

2416:                                             ; preds = %2415
  br label %2417

2417:                                             ; preds = %2416, %2359
  br label %2418

2418:                                             ; preds = %2417
  br label %2419

2419:                                             ; preds = %2418
  call void @llvm.lifetime.end.p0(i64 4, ptr %45) #11
  %2420 = call i32 @s2n_connection_ptr_free(ptr noundef %42)
  %2421 = getelementptr inbounds %struct.s2n_result, ptr %48, i32 0, i32 0
  store i32 %2420, ptr %2421, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %42) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %49) #11
  %2422 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %2422, ptr %49, align 8, !tbaa !9
  br label %2423

2423:                                             ; preds = %2419
  %2424 = load i32, ptr @test_count, align 4, !tbaa !5
  %2425 = add nsw i32 %2424, 1
  store i32 %2425, ptr @test_count, align 4, !tbaa !5
  %2426 = load ptr, ptr %49, align 8, !tbaa !9
  %2427 = icmp eq ptr %2426, null
  br i1 %2427, label %2428, label %2481

2428:                                             ; preds = %2423
  br label %2429

2429:                                             ; preds = %2428
  br label %2430

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

2437:                                             ; preds = %2430
  %2438 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2439 = call i32 @fileno(ptr noundef %2438) #11
  %2440 = call i32 @isatty(i32 noundef %2439) #11
  %2441 = icmp ne i32 %2440, 0
  br i1 %2441, label %2442, label %2459

2442:                                             ; preds = %2437
  %2443 = load i32, ptr %50, align 4, !tbaa !5
  %2444 = call ptr @__errno_location() #12
  store i32 %2443, ptr %2444, align 4, !tbaa !5
  %2445 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2446 = load i32, ptr @test_count, align 4, !tbaa !5
  %2447 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2448 = load i32, ptr %2447, align 4, !tbaa !5
  %2449 = call ptr @s2n_strerror(i32 noundef %2448, ptr noundef @.str.4)
  %2450 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2451 = load i32, ptr %2450, align 4, !tbaa !5
  %2452 = call ptr @s2n_strerror_debug(i32 noundef %2451, ptr noundef @.str.4)
  %2453 = call ptr @__errno_location() #12
  %2454 = load i32, ptr %2453, align 4, !tbaa !5
  %2455 = call ptr @strerror(i32 noundef %2454) #11
  %2456 = call ptr @__errno_location() #12
  %2457 = load i32, ptr %2456, align 4, !tbaa !5
  %2458 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2445, ptr noundef @.str.2, i32 noundef %2446, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 145, ptr noundef %2449, ptr noundef %2452, ptr noundef %2455, i32 noundef %2457) #11
  br label %2476

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

2476:                                             ; preds = %2459, %2442
  call void @llvm.lifetime.end.p0(i64 4, ptr %50) #11
  br label %2477

2477:                                             ; preds = %2476
  br label %2478

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

2479:                                             ; No predecessors!
  br label %2480

2480:                                             ; preds = %2479
  br label %2481

2481:                                             ; preds = %2480, %2423
  br label %2482

2482:                                             ; preds = %2481
  br label %2483

2483:                                             ; preds = %2482
  call void @llvm.lifetime.start.p0(i64 1, ptr %51) #11
  store i8 0, ptr %51, align 1, !tbaa !52
  call void @llvm.lifetime.start.p0(i64 4, ptr %52) #11
  store i32 0, ptr %52, align 4, !tbaa !5
  br label %2484

2484:                                             ; preds = %2483
  br label %2485

2485:                                             ; preds = %2484
  br label %2486

2486:                                             ; preds = %2485
  %2487 = load i32, ptr @test_count, align 4, !tbaa !5
  %2488 = add nsw i32 %2487, 1
  store i32 %2488, ptr @test_count, align 4, !tbaa !5
  %2489 = load i32, ptr %52, align 4, !tbaa !5
  %2490 = call i32 @s2n_connection_serialize(ptr noundef null, ptr noundef %51, i32 noundef %2489)
  %2491 = icmp eq i32 %2490, -1
  br i1 %2491, label %2545, label %2492

2492:                                             ; preds = %2486
  br label %2493

2493:                                             ; preds = %2492
  br label %2494

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

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

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

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

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

2541:                                             ; preds = %2540
  br label %2542

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

2543:                                             ; No predecessors!
  br label %2544

2544:                                             ; preds = %2543
  br label %2545

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

2546:                                             ; preds = %2545
  br label %2547

2547:                                             ; preds = %2546
  br label %2548

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

2554:                                             ; preds = %2548
  br label %2555

2555:                                             ; preds = %2554
  br label %2556

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

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

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

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

2602:                                             ; preds = %2585, %2568
  call void @llvm.lifetime.end.p0(i64 4, ptr %54) #11
  br label %2603

2603:                                             ; preds = %2602
  br label %2604

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

2605:                                             ; No predecessors!
  br label %2606

2606:                                             ; preds = %2605
  br label %2607

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

2608:                                             ; preds = %2607
  br label %2609

2609:                                             ; preds = %2608
  br label %2610

2610:                                             ; preds = %2609
  %2611 = load i32, ptr @test_count, align 4, !tbaa !5
  %2612 = add nsw i32 %2611, 1
  store i32 %2612, ptr @test_count, align 4, !tbaa !5
  %2613 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2614 = load i32, ptr %2613, align 4, !tbaa !5
  %2615 = call ptr @s2n_strerror_debug(i32 noundef %2614, ptr noundef @.str.4)
  %2616 = icmp eq ptr %2615, null
  br i1 %2616, label %2617, label %2670

2617:                                             ; preds = %2610
  br label %2618

2618:                                             ; preds = %2617
  br label %2619

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

2626:                                             ; preds = %2619
  %2627 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2628 = call i32 @fileno(ptr noundef %2627) #11
  %2629 = call i32 @isatty(i32 noundef %2628) #11
  %2630 = icmp ne i32 %2629, 0
  br i1 %2630, label %2631, label %2648

2631:                                             ; preds = %2626
  %2632 = load i32, ptr %55, align 4, !tbaa !5
  %2633 = call ptr @__errno_location() #12
  store i32 %2632, ptr %2633, align 4, !tbaa !5
  %2634 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2635 = load i32, ptr @test_count, align 4, !tbaa !5
  %2636 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2637 = load i32, ptr %2636, align 4, !tbaa !5
  %2638 = call ptr @s2n_strerror(i32 noundef %2637, ptr noundef @.str.4)
  %2639 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2640 = load i32, ptr %2639, align 4, !tbaa !5
  %2641 = call ptr @s2n_strerror_debug(i32 noundef %2640, ptr noundef @.str.4)
  %2642 = call ptr @__errno_location() #12
  %2643 = load i32, ptr %2642, align 4, !tbaa !5
  %2644 = call ptr @strerror(i32 noundef %2643) #11
  %2645 = call ptr @__errno_location() #12
  %2646 = load i32, ptr %2645, align 4, !tbaa !5
  %2647 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2634, ptr noundef @.str.2, i32 noundef %2635, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 148, ptr noundef %2638, ptr noundef %2641, ptr noundef %2644, i32 noundef %2646) #11
  br label %2665

2648:                                             ; preds = %2626, %2619
  %2649 = load i32, ptr %55, align 4, !tbaa !5
  %2650 = call ptr @__errno_location() #12
  store i32 %2649, ptr %2650, align 4, !tbaa !5
  %2651 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2652 = load i32, ptr @test_count, align 4, !tbaa !5
  %2653 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2654 = load i32, ptr %2653, align 4, !tbaa !5
  %2655 = call ptr @s2n_strerror(i32 noundef %2654, ptr noundef @.str.4)
  %2656 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2657 = load i32, ptr %2656, align 4, !tbaa !5
  %2658 = call ptr @s2n_strerror_debug(i32 noundef %2657, ptr noundef @.str.4)
  %2659 = call ptr @__errno_location() #12
  %2660 = load i32, ptr %2659, align 4, !tbaa !5
  %2661 = call ptr @strerror(i32 noundef %2660) #11
  %2662 = call ptr @__errno_location() #12
  %2663 = load i32, ptr %2662, align 4, !tbaa !5
  %2664 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2651, ptr noundef @.str.5, i32 noundef %2652, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 148, ptr noundef %2655, ptr noundef %2658, ptr noundef %2661, i32 noundef %2663) #11
  br label %2665

2665:                                             ; preds = %2648, %2631
  call void @llvm.lifetime.end.p0(i64 4, ptr %55) #11
  br label %2666

2666:                                             ; preds = %2665
  br label %2667

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

2668:                                             ; No predecessors!
  br label %2669

2669:                                             ; preds = %2668
  br label %2670

2670:                                             ; preds = %2669, %2610
  br label %2671

2671:                                             ; preds = %2670
  br label %2672

2672:                                             ; preds = %2671
  br label %2673

2673:                                             ; preds = %2672
  br label %2674

2674:                                             ; preds = %2673
  br label %2675

2675:                                             ; preds = %2674
  %2676 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %2676, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %2677 = call ptr @__errno_location() #12
  store i32 0, ptr %2677, align 4, !tbaa !5
  br label %2678

2678:                                             ; preds = %2675
  br label %2679

2679:                                             ; preds = %2678
  br label %2680

2680:                                             ; preds = %2679
  br label %2681

2681:                                             ; preds = %2680
  br label %2682

2682:                                             ; preds = %2681
  br label %2683

2683:                                             ; preds = %2682
  br label %2684

2684:                                             ; preds = %2683
  %2685 = load i32, ptr @test_count, align 4, !tbaa !5
  %2686 = add nsw i32 %2685, 1
  store i32 %2686, ptr @test_count, align 4, !tbaa !5
  %2687 = load ptr, ptr %49, align 8, !tbaa !9
  %2688 = load i32, ptr %52, align 4, !tbaa !5
  %2689 = call i32 @s2n_connection_serialize(ptr noundef %2687, ptr noundef null, i32 noundef %2688)
  %2690 = icmp eq i32 %2689, -1
  br i1 %2690, label %2744, label %2691

2691:                                             ; preds = %2684
  br label %2692

2692:                                             ; preds = %2691
  br label %2693

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

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

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

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

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

2740:                                             ; preds = %2739
  br label %2741

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

2742:                                             ; No predecessors!
  br label %2743

2743:                                             ; preds = %2742
  br label %2744

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

2745:                                             ; preds = %2744
  br label %2746

2746:                                             ; preds = %2745
  br label %2747

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

2753:                                             ; preds = %2747
  br label %2754

2754:                                             ; preds = %2753
  br label %2755

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

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

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

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

2801:                                             ; preds = %2784, %2767
  call void @llvm.lifetime.end.p0(i64 4, ptr %57) #11
  br label %2802

2802:                                             ; preds = %2801
  br label %2803

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

2804:                                             ; No predecessors!
  br label %2805

2805:                                             ; preds = %2804
  br label %2806

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

2807:                                             ; preds = %2806
  br label %2808

2808:                                             ; preds = %2807
  br label %2809

2809:                                             ; preds = %2808
  %2810 = load i32, ptr @test_count, align 4, !tbaa !5
  %2811 = add nsw i32 %2810, 1
  store i32 %2811, ptr @test_count, align 4, !tbaa !5
  %2812 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2813 = load i32, ptr %2812, align 4, !tbaa !5
  %2814 = call ptr @s2n_strerror_debug(i32 noundef %2813, ptr noundef @.str.4)
  %2815 = icmp eq ptr %2814, null
  br i1 %2815, label %2816, label %2869

2816:                                             ; preds = %2809
  br label %2817

2817:                                             ; preds = %2816
  br label %2818

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

2825:                                             ; preds = %2818
  %2826 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2827 = call i32 @fileno(ptr noundef %2826) #11
  %2828 = call i32 @isatty(i32 noundef %2827) #11
  %2829 = icmp ne i32 %2828, 0
  br i1 %2829, label %2830, label %2847

2830:                                             ; preds = %2825
  %2831 = load i32, ptr %58, align 4, !tbaa !5
  %2832 = call ptr @__errno_location() #12
  store i32 %2831, ptr %2832, align 4, !tbaa !5
  %2833 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2834 = load i32, ptr @test_count, align 4, !tbaa !5
  %2835 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2836 = load i32, ptr %2835, align 4, !tbaa !5
  %2837 = call ptr @s2n_strerror(i32 noundef %2836, ptr noundef @.str.4)
  %2838 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2839 = load i32, ptr %2838, align 4, !tbaa !5
  %2840 = call ptr @s2n_strerror_debug(i32 noundef %2839, ptr noundef @.str.4)
  %2841 = call ptr @__errno_location() #12
  %2842 = load i32, ptr %2841, align 4, !tbaa !5
  %2843 = call ptr @strerror(i32 noundef %2842) #11
  %2844 = call ptr @__errno_location() #12
  %2845 = load i32, ptr %2844, align 4, !tbaa !5
  %2846 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2833, ptr noundef @.str.2, i32 noundef %2834, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 149, ptr noundef %2837, ptr noundef %2840, ptr noundef %2843, i32 noundef %2845) #11
  br label %2864

2847:                                             ; preds = %2825, %2818
  %2848 = load i32, ptr %58, align 4, !tbaa !5
  %2849 = call ptr @__errno_location() #12
  store i32 %2848, ptr %2849, align 4, !tbaa !5
  %2850 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2851 = load i32, ptr @test_count, align 4, !tbaa !5
  %2852 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2853 = load i32, ptr %2852, align 4, !tbaa !5
  %2854 = call ptr @s2n_strerror(i32 noundef %2853, ptr noundef @.str.4)
  %2855 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2856 = load i32, ptr %2855, align 4, !tbaa !5
  %2857 = call ptr @s2n_strerror_debug(i32 noundef %2856, ptr noundef @.str.4)
  %2858 = call ptr @__errno_location() #12
  %2859 = load i32, ptr %2858, align 4, !tbaa !5
  %2860 = call ptr @strerror(i32 noundef %2859) #11
  %2861 = call ptr @__errno_location() #12
  %2862 = load i32, ptr %2861, align 4, !tbaa !5
  %2863 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2850, ptr noundef @.str.5, i32 noundef %2851, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 149, ptr noundef %2854, ptr noundef %2857, ptr noundef %2860, i32 noundef %2862) #11
  br label %2864

2864:                                             ; preds = %2847, %2830
  call void @llvm.lifetime.end.p0(i64 4, ptr %58) #11
  br label %2865

2865:                                             ; preds = %2864
  br label %2866

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

2867:                                             ; No predecessors!
  br label %2868

2868:                                             ; preds = %2867
  br label %2869

2869:                                             ; preds = %2868, %2809
  br label %2870

2870:                                             ; preds = %2869
  br label %2871

2871:                                             ; preds = %2870
  br label %2872

2872:                                             ; preds = %2871
  br label %2873

2873:                                             ; preds = %2872
  br label %2874

2874:                                             ; preds = %2873
  %2875 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %2875, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %2876 = call ptr @__errno_location() #12
  store i32 0, ptr %2876, align 4, !tbaa !5
  br label %2877

2877:                                             ; preds = %2874
  br label %2878

2878:                                             ; preds = %2877
  br label %2879

2879:                                             ; preds = %2878
  br label %2880

2880:                                             ; preds = %2879
  call void @llvm.lifetime.end.p0(i64 4, ptr %52) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %51) #11
  %2881 = call i32 @s2n_connection_ptr_free(ptr noundef %49)
  %2882 = getelementptr inbounds %struct.s2n_result, ptr %59, i32 0, i32 0
  store i32 %2881, ptr %2882, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %49) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %60) #11
  %2883 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %2883, ptr %60, align 8, !tbaa !9
  br label %2884

2884:                                             ; preds = %2880
  %2885 = load i32, ptr @test_count, align 4, !tbaa !5
  %2886 = add nsw i32 %2885, 1
  store i32 %2886, ptr @test_count, align 4, !tbaa !5
  %2887 = load ptr, ptr %60, align 8, !tbaa !9
  %2888 = icmp eq ptr %2887, null
  br i1 %2888, label %2889, label %2942

2889:                                             ; preds = %2884
  br label %2890

2890:                                             ; preds = %2889
  br label %2891

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

2898:                                             ; preds = %2891
  %2899 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2900 = call i32 @fileno(ptr noundef %2899) #11
  %2901 = call i32 @isatty(i32 noundef %2900) #11
  %2902 = icmp ne i32 %2901, 0
  br i1 %2902, label %2903, label %2920

2903:                                             ; preds = %2898
  %2904 = load i32, ptr %61, align 4, !tbaa !5
  %2905 = call ptr @__errno_location() #12
  store i32 %2904, ptr %2905, align 4, !tbaa !5
  %2906 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2907 = load i32, ptr @test_count, align 4, !tbaa !5
  %2908 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2909 = load i32, ptr %2908, align 4, !tbaa !5
  %2910 = call ptr @s2n_strerror(i32 noundef %2909, ptr noundef @.str.4)
  %2911 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2912 = load i32, ptr %2911, align 4, !tbaa !5
  %2913 = call ptr @s2n_strerror_debug(i32 noundef %2912, ptr noundef @.str.4)
  %2914 = call ptr @__errno_location() #12
  %2915 = load i32, ptr %2914, align 4, !tbaa !5
  %2916 = call ptr @strerror(i32 noundef %2915) #11
  %2917 = call ptr @__errno_location() #12
  %2918 = load i32, ptr %2917, align 4, !tbaa !5
  %2919 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2906, ptr noundef @.str.2, i32 noundef %2907, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 156, ptr noundef %2910, ptr noundef %2913, ptr noundef %2916, i32 noundef %2918) #11
  br label %2937

2920:                                             ; preds = %2898, %2891
  %2921 = load i32, ptr %61, align 4, !tbaa !5
  %2922 = call ptr @__errno_location() #12
  store i32 %2921, ptr %2922, align 4, !tbaa !5
  %2923 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2924 = load i32, ptr @test_count, align 4, !tbaa !5
  %2925 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2926 = load i32, ptr %2925, align 4, !tbaa !5
  %2927 = call ptr @s2n_strerror(i32 noundef %2926, ptr noundef @.str.4)
  %2928 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2929 = load i32, ptr %2928, align 4, !tbaa !5
  %2930 = call ptr @s2n_strerror_debug(i32 noundef %2929, ptr noundef @.str.4)
  %2931 = call ptr @__errno_location() #12
  %2932 = load i32, ptr %2931, align 4, !tbaa !5
  %2933 = call ptr @strerror(i32 noundef %2932) #11
  %2934 = call ptr @__errno_location() #12
  %2935 = load i32, ptr %2934, align 4, !tbaa !5
  %2936 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2923, ptr noundef @.str.5, i32 noundef %2924, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 156, ptr noundef %2927, ptr noundef %2930, ptr noundef %2933, i32 noundef %2935) #11
  br label %2937

2937:                                             ; preds = %2920, %2903
  call void @llvm.lifetime.end.p0(i64 4, ptr %61) #11
  br label %2938

2938:                                             ; preds = %2937
  br label %2939

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

2940:                                             ; No predecessors!
  br label %2941

2941:                                             ; preds = %2940
  br label %2942

2942:                                             ; preds = %2941, %2884
  br label %2943

2943:                                             ; preds = %2942
  br label %2944

2944:                                             ; preds = %2943
  call void @llvm.lifetime.start.p0(i64 8, ptr %62) #11
  %2945 = call ptr @s2n_config_new()
  store ptr %2945, ptr %62, align 8, !tbaa !9
  br label %2946

2946:                                             ; preds = %2944
  %2947 = load i32, ptr @test_count, align 4, !tbaa !5
  %2948 = add nsw i32 %2947, 1
  store i32 %2948, ptr @test_count, align 4, !tbaa !5
  %2949 = load ptr, ptr %62, align 8, !tbaa !9
  %2950 = icmp eq ptr %2949, null
  br i1 %2950, label %2951, label %3004

2951:                                             ; preds = %2946
  br label %2952

2952:                                             ; preds = %2951
  br label %2953

2953:                                             ; preds = %2952
  call void @llvm.lifetime.start.p0(i64 4, ptr %63) #11
  %2954 = call ptr @__errno_location() #12
  %2955 = load i32, ptr %2954, align 4, !tbaa !5
  store i32 %2955, ptr %63, align 4, !tbaa !5
  %2956 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2957 = call i32 @s2n_print_stacktrace(ptr noundef %2956)
  %2958 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2959 = trunc i8 %2958 to i1
  br i1 %2959, label %2960, label %2982

2960:                                             ; preds = %2953
  %2961 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2962 = call i32 @fileno(ptr noundef %2961) #11
  %2963 = call i32 @isatty(i32 noundef %2962) #11
  %2964 = icmp ne i32 %2963, 0
  br i1 %2964, label %2965, label %2982

2965:                                             ; preds = %2960
  %2966 = load i32, ptr %63, align 4, !tbaa !5
  %2967 = call ptr @__errno_location() #12
  store i32 %2966, ptr %2967, align 4, !tbaa !5
  %2968 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2969 = load i32, ptr @test_count, align 4, !tbaa !5
  %2970 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2971 = load i32, ptr %2970, align 4, !tbaa !5
  %2972 = call ptr @s2n_strerror(i32 noundef %2971, ptr noundef @.str.4)
  %2973 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2974 = load i32, ptr %2973, align 4, !tbaa !5
  %2975 = call ptr @s2n_strerror_debug(i32 noundef %2974, ptr noundef @.str.4)
  %2976 = call ptr @__errno_location() #12
  %2977 = load i32, ptr %2976, align 4, !tbaa !5
  %2978 = call ptr @strerror(i32 noundef %2977) #11
  %2979 = call ptr @__errno_location() #12
  %2980 = load i32, ptr %2979, align 4, !tbaa !5
  %2981 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2968, ptr noundef @.str.2, i32 noundef %2969, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 158, ptr noundef %2972, ptr noundef %2975, ptr noundef %2978, i32 noundef %2980) #11
  br label %2999

2982:                                             ; preds = %2960, %2953
  %2983 = load i32, ptr %63, align 4, !tbaa !5
  %2984 = call ptr @__errno_location() #12
  store i32 %2983, ptr %2984, align 4, !tbaa !5
  %2985 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2986 = load i32, ptr @test_count, align 4, !tbaa !5
  %2987 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2988 = load i32, ptr %2987, align 4, !tbaa !5
  %2989 = call ptr @s2n_strerror(i32 noundef %2988, ptr noundef @.str.4)
  %2990 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2991 = load i32, ptr %2990, align 4, !tbaa !5
  %2992 = call ptr @s2n_strerror_debug(i32 noundef %2991, ptr noundef @.str.4)
  %2993 = call ptr @__errno_location() #12
  %2994 = load i32, ptr %2993, align 4, !tbaa !5
  %2995 = call ptr @strerror(i32 noundef %2994) #11
  %2996 = call ptr @__errno_location() #12
  %2997 = load i32, ptr %2996, align 4, !tbaa !5
  %2998 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2985, ptr noundef @.str.5, i32 noundef %2986, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 158, ptr noundef %2989, ptr noundef %2992, ptr noundef %2995, i32 noundef %2997) #11
  br label %2999

2999:                                             ; preds = %2982, %2965
  call void @llvm.lifetime.end.p0(i64 4, ptr %63) #11
  br label %3000

3000:                                             ; preds = %2999
  br label %3001

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

3002:                                             ; No predecessors!
  br label %3003

3003:                                             ; preds = %3002
  br label %3004

3004:                                             ; preds = %3003, %2946
  br label %3005

3005:                                             ; preds = %3004
  br label %3006

3006:                                             ; preds = %3005
  br label %3007

3007:                                             ; preds = %3006
  %3008 = load i32, ptr @test_count, align 4, !tbaa !5
  %3009 = add nsw i32 %3008, 1
  store i32 %3009, ptr @test_count, align 4, !tbaa !5
  %3010 = load ptr, ptr %60, align 8, !tbaa !9
  %3011 = load ptr, ptr %62, align 8, !tbaa !9
  %3012 = call i32 @s2n_connection_set_config(ptr noundef %3010, ptr noundef %3011)
  %3013 = icmp eq i32 %3012, -1
  br i1 %3013, label %3014, label %3067

3014:                                             ; preds = %3007
  br label %3015

3015:                                             ; preds = %3014
  br label %3016

3016:                                             ; preds = %3015
  call void @llvm.lifetime.start.p0(i64 4, ptr %64) #11
  %3017 = call ptr @__errno_location() #12
  %3018 = load i32, ptr %3017, align 4, !tbaa !5
  store i32 %3018, ptr %64, align 4, !tbaa !5
  %3019 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3020 = call i32 @s2n_print_stacktrace(ptr noundef %3019)
  %3021 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3022 = trunc i8 %3021 to i1
  br i1 %3022, label %3023, label %3045

3023:                                             ; preds = %3016
  %3024 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3025 = call i32 @fileno(ptr noundef %3024) #11
  %3026 = call i32 @isatty(i32 noundef %3025) #11
  %3027 = icmp ne i32 %3026, 0
  br i1 %3027, label %3028, label %3045

3028:                                             ; preds = %3023
  %3029 = load i32, ptr %64, align 4, !tbaa !5
  %3030 = call ptr @__errno_location() #12
  store i32 %3029, ptr %3030, align 4, !tbaa !5
  %3031 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3032 = load i32, ptr @test_count, align 4, !tbaa !5
  %3033 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3034 = load i32, ptr %3033, align 4, !tbaa !5
  %3035 = call ptr @s2n_strerror(i32 noundef %3034, ptr noundef @.str.4)
  %3036 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3037 = load i32, ptr %3036, align 4, !tbaa !5
  %3038 = call ptr @s2n_strerror_debug(i32 noundef %3037, ptr noundef @.str.4)
  %3039 = call ptr @__errno_location() #12
  %3040 = load i32, ptr %3039, align 4, !tbaa !5
  %3041 = call ptr @strerror(i32 noundef %3040) #11
  %3042 = call ptr @__errno_location() #12
  %3043 = load i32, ptr %3042, align 4, !tbaa !5
  %3044 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3031, ptr noundef @.str.2, i32 noundef %3032, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 159, ptr noundef %3035, ptr noundef %3038, ptr noundef %3041, i32 noundef %3043) #11
  br label %3062

3045:                                             ; preds = %3023, %3016
  %3046 = load i32, ptr %64, align 4, !tbaa !5
  %3047 = call ptr @__errno_location() #12
  store i32 %3046, ptr %3047, align 4, !tbaa !5
  %3048 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3049 = load i32, ptr @test_count, align 4, !tbaa !5
  %3050 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3051 = load i32, ptr %3050, align 4, !tbaa !5
  %3052 = call ptr @s2n_strerror(i32 noundef %3051, ptr noundef @.str.4)
  %3053 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3054 = load i32, ptr %3053, align 4, !tbaa !5
  %3055 = call ptr @s2n_strerror_debug(i32 noundef %3054, ptr noundef @.str.4)
  %3056 = call ptr @__errno_location() #12
  %3057 = load i32, ptr %3056, align 4, !tbaa !5
  %3058 = call ptr @strerror(i32 noundef %3057) #11
  %3059 = call ptr @__errno_location() #12
  %3060 = load i32, ptr %3059, align 4, !tbaa !5
  %3061 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3048, ptr noundef @.str.5, i32 noundef %3049, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 159, ptr noundef %3052, ptr noundef %3055, ptr noundef %3058, i32 noundef %3060) #11
  br label %3062

3062:                                             ; preds = %3045, %3028
  call void @llvm.lifetime.end.p0(i64 4, ptr %64) #11
  br label %3063

3063:                                             ; preds = %3062
  br label %3064

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

3065:                                             ; No predecessors!
  br label %3066

3066:                                             ; preds = %3065
  br label %3067

3067:                                             ; preds = %3066, %3007
  br label %3068

3068:                                             ; preds = %3067
  br label %3069

3069:                                             ; preds = %3068
  call void @llvm.lifetime.start.p0(i64 10, ptr %65) #11
  call void @llvm.memset.p0.i64(ptr align 1 %65, i8 0, i64 10, i1 false)
  call void @llvm.lifetime.start.p0(i64 4, ptr %66) #11
  store i32 10, ptr %66, align 4, !tbaa !5
  br label %3070

3070:                                             ; preds = %3069
  br label %3071

3071:                                             ; preds = %3070
  br label %3072

3072:                                             ; preds = %3071
  %3073 = load i32, ptr @test_count, align 4, !tbaa !5
  %3074 = add nsw i32 %3073, 1
  store i32 %3074, ptr @test_count, align 4, !tbaa !5
  %3075 = load ptr, ptr %60, align 8, !tbaa !9
  %3076 = getelementptr inbounds [10 x i8], ptr %65, i64 0, i64 0
  %3077 = load i32, ptr %66, align 4, !tbaa !5
  %3078 = call i32 @s2n_connection_serialize(ptr noundef %3075, ptr noundef %3076, i32 noundef %3077)
  %3079 = icmp eq i32 %3078, -1
  br i1 %3079, label %3133, label %3080

3080:                                             ; preds = %3072
  br label %3081

3081:                                             ; preds = %3080
  br label %3082

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

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

3094:                                             ; preds = %3089
  %3095 = load i32, ptr %67, align 4, !tbaa !5
  %3096 = call ptr @__errno_location() #12
  store i32 %3095, ptr %3096, align 4, !tbaa !5
  %3097 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3098 = load i32, ptr @test_count, align 4, !tbaa !5
  %3099 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3100 = load i32, ptr %3099, align 4, !tbaa !5
  %3101 = call ptr @s2n_strerror(i32 noundef %3100, ptr noundef @.str.4)
  %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_debug(i32 noundef %3103, ptr noundef @.str.4)
  %3105 = call ptr @__errno_location() #12
  %3106 = load i32, ptr %3105, align 4, !tbaa !5
  %3107 = call ptr @strerror(i32 noundef %3106) #11
  %3108 = call ptr @__errno_location() #12
  %3109 = load i32, ptr %3108, align 4, !tbaa !5
  %3110 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3097, ptr noundef @.str.2, i32 noundef %3098, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 166, ptr noundef %3101, ptr noundef %3104, ptr noundef %3107, i32 noundef %3109) #11
  br label %3128

3111:                                             ; preds = %3089, %3082
  %3112 = load i32, ptr %67, align 4, !tbaa !5
  %3113 = call ptr @__errno_location() #12
  store i32 %3112, ptr %3113, align 4, !tbaa !5
  %3114 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3115 = load i32, ptr @test_count, align 4, !tbaa !5
  %3116 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3117 = load i32, ptr %3116, align 4, !tbaa !5
  %3118 = call ptr @s2n_strerror(i32 noundef %3117, ptr noundef @.str.4)
  %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_debug(i32 noundef %3120, ptr noundef @.str.4)
  %3122 = call ptr @__errno_location() #12
  %3123 = load i32, ptr %3122, align 4, !tbaa !5
  %3124 = call ptr @strerror(i32 noundef %3123) #11
  %3125 = call ptr @__errno_location() #12
  %3126 = load i32, ptr %3125, align 4, !tbaa !5
  %3127 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3114, ptr noundef @.str.5, i32 noundef %3115, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 166, ptr noundef %3118, ptr noundef %3121, ptr noundef %3124, i32 noundef %3126) #11
  br label %3128

3128:                                             ; preds = %3111, %3094
  call void @llvm.lifetime.end.p0(i64 4, ptr %67) #11
  br label %3129

3129:                                             ; preds = %3128
  br label %3130

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

3131:                                             ; No predecessors!
  br label %3132

3132:                                             ; preds = %3131
  br label %3133

3133:                                             ; preds = %3132, %3072
  br label %3134

3134:                                             ; preds = %3133
  br label %3135

3135:                                             ; preds = %3134
  br label %3136

3136:                                             ; preds = %3135
  %3137 = load i32, ptr @test_count, align 4, !tbaa !5
  %3138 = add nsw i32 %3137, 1
  store i32 %3138, ptr @test_count, align 4, !tbaa !5
  %3139 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3140 = load i32, ptr %3139, align 4, !tbaa !5
  %3141 = icmp eq i32 %3140, 469762112
  br i1 %3141, label %3195, label %3142

3142:                                             ; preds = %3136
  br label %3143

3143:                                             ; preds = %3142
  br label %3144

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

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

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

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

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

3191:                                             ; preds = %3190
  br label %3192

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

3193:                                             ; No predecessors!
  br label %3194

3194:                                             ; preds = %3193
  br label %3195

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

3196:                                             ; preds = %3195
  br label %3197

3197:                                             ; preds = %3196
  br label %3198

3198:                                             ; preds = %3197
  %3199 = load i32, ptr @test_count, align 4, !tbaa !5
  %3200 = add nsw i32 %3199, 1
  store i32 %3200, ptr @test_count, align 4, !tbaa !5
  %3201 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3202 = load i32, ptr %3201, align 4, !tbaa !5
  %3203 = call ptr @s2n_strerror_debug(i32 noundef %3202, ptr noundef @.str.4)
  %3204 = icmp eq ptr %3203, null
  br i1 %3204, label %3205, label %3258

3205:                                             ; preds = %3198
  br label %3206

3206:                                             ; preds = %3205
  br label %3207

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

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

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

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

3253:                                             ; preds = %3236, %3219
  call void @llvm.lifetime.end.p0(i64 4, ptr %69) #11
  br label %3254

3254:                                             ; preds = %3253
  br label %3255

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

3256:                                             ; No predecessors!
  br label %3257

3257:                                             ; preds = %3256
  br label %3258

3258:                                             ; preds = %3257, %3198
  br label %3259

3259:                                             ; preds = %3258
  br label %3260

3260:                                             ; preds = %3259
  br label %3261

3261:                                             ; preds = %3260
  br label %3262

3262:                                             ; preds = %3261
  br label %3263

3263:                                             ; preds = %3262
  %3264 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %3264, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %3265 = call ptr @__errno_location() #12
  store i32 0, ptr %3265, align 4, !tbaa !5
  br label %3266

3266:                                             ; preds = %3263
  br label %3267

3267:                                             ; preds = %3266
  br label %3268

3268:                                             ; preds = %3267
  br label %3269

3269:                                             ; preds = %3268
  br label %3270

3270:                                             ; preds = %3269
  %3271 = load i32, ptr @test_count, align 4, !tbaa !5
  %3272 = add nsw i32 %3271, 1
  store i32 %3272, ptr @test_count, align 4, !tbaa !5
  %3273 = load ptr, ptr %62, align 8, !tbaa !9
  %3274 = call i32 @s2n_config_set_serialization_version(ptr noundef %3273, i32 noundef 1)
  %3275 = icmp eq i32 %3274, -1
  br i1 %3275, label %3276, label %3329

3276:                                             ; preds = %3270
  br label %3277

3277:                                             ; preds = %3276
  br label %3278

3278:                                             ; preds = %3277
  call void @llvm.lifetime.start.p0(i64 4, ptr %70) #11
  %3279 = call ptr @__errno_location() #12
  %3280 = load i32, ptr %3279, align 4, !tbaa !5
  store i32 %3280, ptr %70, align 4, !tbaa !5
  %3281 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3282 = call i32 @s2n_print_stacktrace(ptr noundef %3281)
  %3283 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3284 = trunc i8 %3283 to i1
  br i1 %3284, label %3285, label %3307

3285:                                             ; preds = %3278
  %3286 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3287 = call i32 @fileno(ptr noundef %3286) #11
  %3288 = call i32 @isatty(i32 noundef %3287) #11
  %3289 = icmp ne i32 %3288, 0
  br i1 %3289, label %3290, label %3307

3290:                                             ; preds = %3285
  %3291 = load i32, ptr %70, align 4, !tbaa !5
  %3292 = call ptr @__errno_location() #12
  store i32 %3291, ptr %3292, align 4, !tbaa !5
  %3293 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3294 = load i32, ptr @test_count, align 4, !tbaa !5
  %3295 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3296 = load i32, ptr %3295, align 4, !tbaa !5
  %3297 = call ptr @s2n_strerror(i32 noundef %3296, ptr noundef @.str.4)
  %3298 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3299 = load i32, ptr %3298, align 4, !tbaa !5
  %3300 = call ptr @s2n_strerror_debug(i32 noundef %3299, ptr noundef @.str.4)
  %3301 = call ptr @__errno_location() #12
  %3302 = load i32, ptr %3301, align 4, !tbaa !5
  %3303 = call ptr @strerror(i32 noundef %3302) #11
  %3304 = call ptr @__errno_location() #12
  %3305 = load i32, ptr %3304, align 4, !tbaa !5
  %3306 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3293, ptr noundef @.str.2, i32 noundef %3294, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 169, ptr noundef %3297, ptr noundef %3300, ptr noundef %3303, i32 noundef %3305) #11
  br label %3324

3307:                                             ; preds = %3285, %3278
  %3308 = load i32, ptr %70, align 4, !tbaa !5
  %3309 = call ptr @__errno_location() #12
  store i32 %3308, ptr %3309, align 4, !tbaa !5
  %3310 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3311 = load i32, ptr @test_count, align 4, !tbaa !5
  %3312 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3313 = load i32, ptr %3312, align 4, !tbaa !5
  %3314 = call ptr @s2n_strerror(i32 noundef %3313, ptr noundef @.str.4)
  %3315 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3316 = load i32, ptr %3315, align 4, !tbaa !5
  %3317 = call ptr @s2n_strerror_debug(i32 noundef %3316, ptr noundef @.str.4)
  %3318 = call ptr @__errno_location() #12
  %3319 = load i32, ptr %3318, align 4, !tbaa !5
  %3320 = call ptr @strerror(i32 noundef %3319) #11
  %3321 = call ptr @__errno_location() #12
  %3322 = load i32, ptr %3321, align 4, !tbaa !5
  %3323 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3310, ptr noundef @.str.5, i32 noundef %3311, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 169, ptr noundef %3314, ptr noundef %3317, ptr noundef %3320, i32 noundef %3322) #11
  br label %3324

3324:                                             ; preds = %3307, %3290
  call void @llvm.lifetime.end.p0(i64 4, ptr %70) #11
  br label %3325

3325:                                             ; preds = %3324
  br label %3326

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

3327:                                             ; No predecessors!
  br label %3328

3328:                                             ; preds = %3327
  br label %3329

3329:                                             ; preds = %3328, %3270
  br label %3330

3330:                                             ; preds = %3329
  br label %3331

3331:                                             ; preds = %3330
  br label %3332

3332:                                             ; preds = %3331
  br label %3333

3333:                                             ; preds = %3332
  br label %3334

3334:                                             ; preds = %3333
  %3335 = load i32, ptr @test_count, align 4, !tbaa !5
  %3336 = add nsw i32 %3335, 1
  store i32 %3336, ptr @test_count, align 4, !tbaa !5
  %3337 = load ptr, ptr %60, align 8, !tbaa !9
  %3338 = getelementptr inbounds [10 x i8], ptr %65, i64 0, i64 0
  %3339 = load i32, ptr %66, align 4, !tbaa !5
  %3340 = call i32 @s2n_connection_serialize(ptr noundef %3337, ptr noundef %3338, i32 noundef %3339)
  %3341 = icmp eq i32 %3340, -1
  br i1 %3341, label %3395, label %3342

3342:                                             ; preds = %3334
  br label %3343

3343:                                             ; preds = %3342
  br label %3344

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

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

3356:                                             ; preds = %3351
  %3357 = load i32, ptr %71, align 4, !tbaa !5
  %3358 = call ptr @__errno_location() #12
  store i32 %3357, ptr %3358, align 4, !tbaa !5
  %3359 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3360 = load i32, ptr @test_count, align 4, !tbaa !5
  %3361 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3362 = load i32, ptr %3361, align 4, !tbaa !5
  %3363 = call ptr @s2n_strerror(i32 noundef %3362, ptr noundef @.str.4)
  %3364 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3365 = load i32, ptr %3364, align 4, !tbaa !5
  %3366 = call ptr @s2n_strerror_debug(i32 noundef %3365, ptr noundef @.str.4)
  %3367 = call ptr @__errno_location() #12
  %3368 = load i32, ptr %3367, align 4, !tbaa !5
  %3369 = call ptr @strerror(i32 noundef %3368) #11
  %3370 = call ptr @__errno_location() #12
  %3371 = load i32, ptr %3370, align 4, !tbaa !5
  %3372 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3359, ptr noundef @.str.2, i32 noundef %3360, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 171, ptr noundef %3363, ptr noundef %3366, ptr noundef %3369, i32 noundef %3371) #11
  br label %3390

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

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

3391:                                             ; preds = %3390
  br label %3392

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

3393:                                             ; No predecessors!
  br label %3394

3394:                                             ; preds = %3393
  br label %3395

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

3396:                                             ; preds = %3395
  br label %3397

3397:                                             ; preds = %3396
  br label %3398

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

3404:                                             ; preds = %3398
  br label %3405

3405:                                             ; preds = %3404
  br label %3406

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

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

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

3435:                                             ; preds = %3413, %3406
  %3436 = load i32, ptr %72, 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.4)
  %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.4)
  %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.5, i32 noundef %3439, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 171, ptr noundef %3442, ptr noundef %3445, ptr noundef %3448, i32 noundef %3450) #11
  br label %3452

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

3453:                                             ; preds = %3452
  br label %3454

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

3455:                                             ; No predecessors!
  br label %3456

3456:                                             ; preds = %3455
  br label %3457

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

3458:                                             ; preds = %3457
  br label %3459

3459:                                             ; preds = %3458
  br label %3460

3460:                                             ; preds = %3459
  %3461 = load i32, ptr @test_count, align 4, !tbaa !5
  %3462 = add nsw i32 %3461, 1
  store i32 %3462, ptr @test_count, align 4, !tbaa !5
  %3463 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3464 = load i32, ptr %3463, align 4, !tbaa !5
  %3465 = call ptr @s2n_strerror_debug(i32 noundef %3464, ptr noundef @.str.4)
  %3466 = icmp eq ptr %3465, null
  br i1 %3466, label %3467, label %3520

3467:                                             ; preds = %3460
  br label %3468

3468:                                             ; preds = %3467
  br label %3469

3469:                                             ; preds = %3468
  call void @llvm.lifetime.start.p0(i64 4, ptr %73) #11
  %3470 = call ptr @__errno_location() #12
  %3471 = load i32, ptr %3470, align 4, !tbaa !5
  store i32 %3471, ptr %73, align 4, !tbaa !5
  %3472 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3473 = call i32 @s2n_print_stacktrace(ptr noundef %3472)
  %3474 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3475 = trunc i8 %3474 to i1
  br i1 %3475, label %3476, label %3498

3476:                                             ; preds = %3469
  %3477 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3478 = call i32 @fileno(ptr noundef %3477) #11
  %3479 = call i32 @isatty(i32 noundef %3478) #11
  %3480 = icmp ne i32 %3479, 0
  br i1 %3480, label %3481, label %3498

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

3498:                                             ; preds = %3476, %3469
  %3499 = load i32, ptr %73, align 4, !tbaa !5
  %3500 = call ptr @__errno_location() #12
  store i32 %3499, ptr %3500, align 4, !tbaa !5
  %3501 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3502 = load i32, ptr @test_count, align 4, !tbaa !5
  %3503 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3504 = load i32, ptr %3503, align 4, !tbaa !5
  %3505 = call ptr @s2n_strerror(i32 noundef %3504, ptr noundef @.str.4)
  %3506 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3507 = load i32, ptr %3506, align 4, !tbaa !5
  %3508 = call ptr @s2n_strerror_debug(i32 noundef %3507, ptr noundef @.str.4)
  %3509 = call ptr @__errno_location() #12
  %3510 = load i32, ptr %3509, align 4, !tbaa !5
  %3511 = call ptr @strerror(i32 noundef %3510) #11
  %3512 = call ptr @__errno_location() #12
  %3513 = load i32, ptr %3512, align 4, !tbaa !5
  %3514 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3501, ptr noundef @.str.5, i32 noundef %3502, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 171, ptr noundef %3505, ptr noundef %3508, ptr noundef %3511, i32 noundef %3513) #11
  br label %3515

3515:                                             ; preds = %3498, %3481
  call void @llvm.lifetime.end.p0(i64 4, ptr %73) #11
  br label %3516

3516:                                             ; preds = %3515
  br label %3517

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

3518:                                             ; No predecessors!
  br label %3519

3519:                                             ; preds = %3518
  br label %3520

3520:                                             ; preds = %3519, %3460
  br label %3521

3521:                                             ; preds = %3520
  br label %3522

3522:                                             ; preds = %3521
  br label %3523

3523:                                             ; preds = %3522
  br label %3524

3524:                                             ; preds = %3523
  br label %3525

3525:                                             ; preds = %3524
  %3526 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %3526, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %3527 = call ptr @__errno_location() #12
  store i32 0, ptr %3527, align 4, !tbaa !5
  br label %3528

3528:                                             ; preds = %3525
  br label %3529

3529:                                             ; preds = %3528
  br label %3530

3530:                                             ; preds = %3529
  br label %3531

3531:                                             ; preds = %3530
  br label %3532

3532:                                             ; preds = %3531
  %3533 = load i32, ptr @test_count, align 4, !tbaa !5
  %3534 = add nsw i32 %3533, 1
  store i32 %3534, ptr @test_count, align 4, !tbaa !5
  %3535 = load ptr, ptr %60, align 8, !tbaa !9
  %3536 = call i32 @s2n_skip_handshake(ptr noundef %3535)
  %3537 = getelementptr inbounds %struct.s2n_result, ptr %74, i32 0, i32 0
  store i32 %3536, ptr %3537, align 4
  %3538 = getelementptr inbounds %struct.s2n_result, ptr %74, i32 0, i32 0
  %3539 = load i32, ptr %3538, align 4
  %3540 = call zeroext i1 @s2n_result_is_ok(i32 %3539)
  br i1 %3540, label %3594, label %3541

3541:                                             ; preds = %3532
  br label %3542

3542:                                             ; preds = %3541
  br label %3543

3543:                                             ; preds = %3542
  call void @llvm.lifetime.start.p0(i64 4, ptr %75) #11
  %3544 = call ptr @__errno_location() #12
  %3545 = load i32, ptr %3544, align 4, !tbaa !5
  store i32 %3545, ptr %75, align 4, !tbaa !5
  %3546 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3547 = call i32 @s2n_print_stacktrace(ptr noundef %3546)
  %3548 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3549 = trunc i8 %3548 to i1
  br i1 %3549, label %3550, label %3572

3550:                                             ; preds = %3543
  %3551 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3552 = call i32 @fileno(ptr noundef %3551) #11
  %3553 = call i32 @isatty(i32 noundef %3552) #11
  %3554 = icmp ne i32 %3553, 0
  br i1 %3554, label %3555, label %3572

3555:                                             ; preds = %3550
  %3556 = load i32, ptr %75, align 4, !tbaa !5
  %3557 = call ptr @__errno_location() #12
  store i32 %3556, ptr %3557, align 4, !tbaa !5
  %3558 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3559 = load i32, ptr @test_count, align 4, !tbaa !5
  %3560 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3561 = load i32, ptr %3560, align 4, !tbaa !5
  %3562 = call ptr @s2n_strerror(i32 noundef %3561, ptr noundef @.str.4)
  %3563 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3564 = load i32, ptr %3563, align 4, !tbaa !5
  %3565 = call ptr @s2n_strerror_debug(i32 noundef %3564, ptr noundef @.str.4)
  %3566 = call ptr @__errno_location() #12
  %3567 = load i32, ptr %3566, align 4, !tbaa !5
  %3568 = call ptr @strerror(i32 noundef %3567) #11
  %3569 = call ptr @__errno_location() #12
  %3570 = load i32, ptr %3569, align 4, !tbaa !5
  %3571 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3558, ptr noundef @.str.2, i32 noundef %3559, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 174, ptr noundef %3562, ptr noundef %3565, ptr noundef %3568, i32 noundef %3570) #11
  br label %3589

3572:                                             ; preds = %3550, %3543
  %3573 = load i32, ptr %75, align 4, !tbaa !5
  %3574 = call ptr @__errno_location() #12
  store i32 %3573, ptr %3574, align 4, !tbaa !5
  %3575 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3576 = load i32, ptr @test_count, align 4, !tbaa !5
  %3577 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3578 = load i32, ptr %3577, align 4, !tbaa !5
  %3579 = call ptr @s2n_strerror(i32 noundef %3578, ptr noundef @.str.4)
  %3580 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3581 = load i32, ptr %3580, align 4, !tbaa !5
  %3582 = call ptr @s2n_strerror_debug(i32 noundef %3581, ptr noundef @.str.4)
  %3583 = call ptr @__errno_location() #12
  %3584 = load i32, ptr %3583, align 4, !tbaa !5
  %3585 = call ptr @strerror(i32 noundef %3584) #11
  %3586 = call ptr @__errno_location() #12
  %3587 = load i32, ptr %3586, align 4, !tbaa !5
  %3588 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3575, ptr noundef @.str.5, i32 noundef %3576, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 174, ptr noundef %3579, ptr noundef %3582, ptr noundef %3585, i32 noundef %3587) #11
  br label %3589

3589:                                             ; preds = %3572, %3555
  call void @llvm.lifetime.end.p0(i64 4, ptr %75) #11
  br label %3590

3590:                                             ; preds = %3589
  br label %3591

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

3592:                                             ; No predecessors!
  br label %3593

3593:                                             ; preds = %3592
  br label %3594

3594:                                             ; preds = %3593, %3532
  br label %3595

3595:                                             ; preds = %3594
  br label %3596

3596:                                             ; preds = %3595
  br label %3597

3597:                                             ; preds = %3596
  br label %3598

3598:                                             ; preds = %3597
  br label %3599

3599:                                             ; preds = %3598
  %3600 = load i32, ptr @test_count, align 4, !tbaa !5
  %3601 = add nsw i32 %3600, 1
  store i32 %3601, ptr @test_count, align 4, !tbaa !5
  %3602 = load ptr, ptr %60, align 8, !tbaa !9
  %3603 = getelementptr inbounds [10 x i8], ptr %65, i64 0, i64 0
  %3604 = load i32, ptr %66, align 4, !tbaa !5
  %3605 = call i32 @s2n_connection_serialize(ptr noundef %3602, ptr noundef %3603, i32 noundef %3604)
  %3606 = icmp eq i32 %3605, -1
  br i1 %3606, label %3660, label %3607

3607:                                             ; preds = %3599
  br label %3608

3608:                                             ; preds = %3607
  br label %3609

3609:                                             ; preds = %3608
  call void @llvm.lifetime.start.p0(i64 4, ptr %76) #11
  %3610 = call ptr @__errno_location() #12
  %3611 = load i32, ptr %3610, align 4, !tbaa !5
  store i32 %3611, ptr %76, align 4, !tbaa !5
  %3612 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3613 = call i32 @s2n_print_stacktrace(ptr noundef %3612)
  %3614 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3615 = trunc i8 %3614 to i1
  br i1 %3615, label %3616, label %3638

3616:                                             ; preds = %3609
  %3617 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3618 = call i32 @fileno(ptr noundef %3617) #11
  %3619 = call i32 @isatty(i32 noundef %3618) #11
  %3620 = icmp ne i32 %3619, 0
  br i1 %3620, label %3621, label %3638

3621:                                             ; preds = %3616
  %3622 = load i32, ptr %76, align 4, !tbaa !5
  %3623 = call ptr @__errno_location() #12
  store i32 %3622, ptr %3623, align 4, !tbaa !5
  %3624 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3625 = load i32, ptr @test_count, align 4, !tbaa !5
  %3626 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3627 = load i32, ptr %3626, align 4, !tbaa !5
  %3628 = call ptr @s2n_strerror(i32 noundef %3627, ptr noundef @.str.4)
  %3629 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3630 = load i32, ptr %3629, align 4, !tbaa !5
  %3631 = call ptr @s2n_strerror_debug(i32 noundef %3630, ptr noundef @.str.4)
  %3632 = call ptr @__errno_location() #12
  %3633 = load i32, ptr %3632, align 4, !tbaa !5
  %3634 = call ptr @strerror(i32 noundef %3633) #11
  %3635 = call ptr @__errno_location() #12
  %3636 = load i32, ptr %3635, align 4, !tbaa !5
  %3637 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3624, ptr noundef @.str.2, i32 noundef %3625, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 176, ptr noundef %3628, ptr noundef %3631, ptr noundef %3634, i32 noundef %3636) #11
  br label %3655

3638:                                             ; preds = %3616, %3609
  %3639 = load i32, ptr %76, align 4, !tbaa !5
  %3640 = call ptr @__errno_location() #12
  store i32 %3639, ptr %3640, align 4, !tbaa !5
  %3641 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3642 = load i32, ptr @test_count, align 4, !tbaa !5
  %3643 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3644 = load i32, ptr %3643, align 4, !tbaa !5
  %3645 = call ptr @s2n_strerror(i32 noundef %3644, ptr noundef @.str.4)
  %3646 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3647 = load i32, ptr %3646, align 4, !tbaa !5
  %3648 = call ptr @s2n_strerror_debug(i32 noundef %3647, ptr noundef @.str.4)
  %3649 = call ptr @__errno_location() #12
  %3650 = load i32, ptr %3649, align 4, !tbaa !5
  %3651 = call ptr @strerror(i32 noundef %3650) #11
  %3652 = call ptr @__errno_location() #12
  %3653 = load i32, ptr %3652, align 4, !tbaa !5
  %3654 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3641, ptr noundef @.str.5, i32 noundef %3642, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 176, ptr noundef %3645, ptr noundef %3648, ptr noundef %3651, i32 noundef %3653) #11
  br label %3655

3655:                                             ; preds = %3638, %3621
  call void @llvm.lifetime.end.p0(i64 4, ptr %76) #11
  br label %3656

3656:                                             ; preds = %3655
  br label %3657

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

3658:                                             ; No predecessors!
  br label %3659

3659:                                             ; preds = %3658
  br label %3660

3660:                                             ; preds = %3659, %3599
  br label %3661

3661:                                             ; preds = %3660
  br label %3662

3662:                                             ; preds = %3661
  br label %3663

3663:                                             ; preds = %3662
  %3664 = load i32, ptr @test_count, align 4, !tbaa !5
  %3665 = add nsw i32 %3664, 1
  store i32 %3665, ptr @test_count, align 4, !tbaa !5
  %3666 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3667 = load i32, ptr %3666, align 4, !tbaa !5
  %3668 = icmp eq i32 %3667, 469762120
  br i1 %3668, label %3722, label %3669

3669:                                             ; preds = %3663
  br label %3670

3670:                                             ; preds = %3669
  br label %3671

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

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

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

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

3717:                                             ; preds = %3700, %3683
  call void @llvm.lifetime.end.p0(i64 4, ptr %77) #11
  br label %3718

3718:                                             ; preds = %3717
  br label %3719

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

3720:                                             ; No predecessors!
  br label %3721

3721:                                             ; preds = %3720
  br label %3722

3722:                                             ; preds = %3721, %3663
  br label %3723

3723:                                             ; preds = %3722
  br label %3724

3724:                                             ; preds = %3723
  br label %3725

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

3732:                                             ; preds = %3725
  br label %3733

3733:                                             ; preds = %3732
  br label %3734

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

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

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

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

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

3781:                                             ; preds = %3780
  br label %3782

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

3783:                                             ; No predecessors!
  br label %3784

3784:                                             ; preds = %3783
  br label %3785

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

3786:                                             ; preds = %3785
  br label %3787

3787:                                             ; preds = %3786
  br label %3788

3788:                                             ; preds = %3787
  br label %3789

3789:                                             ; preds = %3788
  br label %3790

3790:                                             ; preds = %3789
  %3791 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %3791, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %3792 = call ptr @__errno_location() #12
  store i32 0, ptr %3792, align 4, !tbaa !5
  br label %3793

3793:                                             ; preds = %3790
  br label %3794

3794:                                             ; preds = %3793
  br label %3795

3795:                                             ; preds = %3794
  br label %3796

3796:                                             ; preds = %3795
  call void @llvm.lifetime.end.p0(i64 4, ptr %66) #11
  call void @llvm.lifetime.end.p0(i64 10, ptr %65) #11
  %3797 = call i32 @s2n_config_ptr_free(ptr noundef %62)
  %3798 = getelementptr inbounds %struct.s2n_result, ptr %79, i32 0, i32 0
  store i32 %3797, ptr %3798, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %62) #11
  %3799 = call i32 @s2n_connection_ptr_free(ptr noundef %60)
  %3800 = getelementptr inbounds %struct.s2n_result, ptr %80, i32 0, i32 0
  store i32 %3799, ptr %3800, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %60) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %81) #11
  %3801 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %3801, ptr %81, align 8, !tbaa !9
  br label %3802

3802:                                             ; preds = %3796
  %3803 = load i32, ptr @test_count, align 4, !tbaa !5
  %3804 = add nsw i32 %3803, 1
  store i32 %3804, ptr @test_count, align 4, !tbaa !5
  %3805 = load ptr, ptr %81, align 8, !tbaa !9
  %3806 = icmp eq ptr %3805, null
  br i1 %3806, label %3807, label %3860

3807:                                             ; preds = %3802
  br label %3808

3808:                                             ; preds = %3807
  br label %3809

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

3816:                                             ; preds = %3809
  %3817 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3818 = call i32 @fileno(ptr noundef %3817) #11
  %3819 = call i32 @isatty(i32 noundef %3818) #11
  %3820 = icmp ne i32 %3819, 0
  br i1 %3820, label %3821, label %3838

3821:                                             ; preds = %3816
  %3822 = load i32, ptr %82, align 4, !tbaa !5
  %3823 = call ptr @__errno_location() #12
  store i32 %3822, ptr %3823, align 4, !tbaa !5
  %3824 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3825 = load i32, ptr @test_count, align 4, !tbaa !5
  %3826 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3827 = load i32, ptr %3826, align 4, !tbaa !5
  %3828 = call ptr @s2n_strerror(i32 noundef %3827, ptr noundef @.str.4)
  %3829 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3830 = load i32, ptr %3829, align 4, !tbaa !5
  %3831 = call ptr @s2n_strerror_debug(i32 noundef %3830, ptr noundef @.str.4)
  %3832 = call ptr @__errno_location() #12
  %3833 = load i32, ptr %3832, align 4, !tbaa !5
  %3834 = call ptr @strerror(i32 noundef %3833) #11
  %3835 = call ptr @__errno_location() #12
  %3836 = load i32, ptr %3835, align 4, !tbaa !5
  %3837 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3824, ptr noundef @.str.2, i32 noundef %3825, ptr noundef @.str.42, ptr noundef @.str.1, i32 noundef 183, ptr noundef %3828, ptr noundef %3831, ptr noundef %3834, i32 noundef %3836) #11
  br label %3855

3838:                                             ; preds = %3816, %3809
  %3839 = load i32, ptr %82, align 4, !tbaa !5
  %3840 = call ptr @__errno_location() #12
  store i32 %3839, ptr %3840, align 4, !tbaa !5
  %3841 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3842 = load i32, ptr @test_count, align 4, !tbaa !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(i32 noundef %3844, ptr noundef @.str.4)
  %3846 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3847 = load i32, ptr %3846, align 4, !tbaa !5
  %3848 = call ptr @s2n_strerror_debug(i32 noundef %3847, ptr noundef @.str.4)
  %3849 = call ptr @__errno_location() #12
  %3850 = load i32, ptr %3849, align 4, !tbaa !5
  %3851 = call ptr @strerror(i32 noundef %3850) #11
  %3852 = call ptr @__errno_location() #12
  %3853 = load i32, ptr %3852, align 4, !tbaa !5
  %3854 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3841, ptr noundef @.str.5, i32 noundef %3842, ptr noundef @.str.42, ptr noundef @.str.1, i32 noundef 183, ptr noundef %3845, ptr noundef %3848, ptr noundef %3851, i32 noundef %3853) #11
  br label %3855

3855:                                             ; preds = %3838, %3821
  call void @llvm.lifetime.end.p0(i64 4, ptr %82) #11
  br label %3856

3856:                                             ; preds = %3855
  br label %3857

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

3858:                                             ; No predecessors!
  br label %3859

3859:                                             ; preds = %3858
  br label %3860

3860:                                             ; preds = %3859, %3802
  br label %3861

3861:                                             ; preds = %3860
  br label %3862

3862:                                             ; preds = %3861
  call void @llvm.lifetime.start.p0(i64 8, ptr %83) #11
  %3863 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %3863, ptr %83, align 8, !tbaa !9
  br label %3864

3864:                                             ; preds = %3862
  %3865 = load i32, ptr @test_count, align 4, !tbaa !5
  %3866 = add nsw i32 %3865, 1
  store i32 %3866, ptr @test_count, align 4, !tbaa !5
  %3867 = load ptr, ptr %83, align 8, !tbaa !9
  %3868 = icmp eq ptr %3867, null
  br i1 %3868, label %3869, label %3922

3869:                                             ; preds = %3864
  br label %3870

3870:                                             ; preds = %3869
  br label %3871

3871:                                             ; preds = %3870
  call void @llvm.lifetime.start.p0(i64 4, ptr %84) #11
  %3872 = call ptr @__errno_location() #12
  %3873 = load i32, ptr %3872, align 4, !tbaa !5
  store i32 %3873, ptr %84, align 4, !tbaa !5
  %3874 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3875 = call i32 @s2n_print_stacktrace(ptr noundef %3874)
  %3876 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3877 = trunc i8 %3876 to i1
  br i1 %3877, label %3878, label %3900

3878:                                             ; preds = %3871
  %3879 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3880 = call i32 @fileno(ptr noundef %3879) #11
  %3881 = call i32 @isatty(i32 noundef %3880) #11
  %3882 = icmp ne i32 %3881, 0
  br i1 %3882, label %3883, label %3900

3883:                                             ; preds = %3878
  %3884 = load i32, ptr %84, align 4, !tbaa !5
  %3885 = call ptr @__errno_location() #12
  store i32 %3884, ptr %3885, align 4, !tbaa !5
  %3886 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3887 = load i32, ptr @test_count, align 4, !tbaa !5
  %3888 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3889 = load i32, ptr %3888, align 4, !tbaa !5
  %3890 = call ptr @s2n_strerror(i32 noundef %3889, ptr noundef @.str.4)
  %3891 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3892 = load i32, ptr %3891, align 4, !tbaa !5
  %3893 = call ptr @s2n_strerror_debug(i32 noundef %3892, ptr noundef @.str.4)
  %3894 = call ptr @__errno_location() #12
  %3895 = load i32, ptr %3894, align 4, !tbaa !5
  %3896 = call ptr @strerror(i32 noundef %3895) #11
  %3897 = call ptr @__errno_location() #12
  %3898 = load i32, ptr %3897, align 4, !tbaa !5
  %3899 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3886, ptr noundef @.str.2, i32 noundef %3887, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 186, ptr noundef %3890, ptr noundef %3893, ptr noundef %3896, i32 noundef %3898) #11
  br label %3917

3900:                                             ; preds = %3878, %3871
  %3901 = load i32, ptr %84, align 4, !tbaa !5
  %3902 = call ptr @__errno_location() #12
  store i32 %3901, ptr %3902, align 4, !tbaa !5
  %3903 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3904 = load i32, ptr @test_count, align 4, !tbaa !5
  %3905 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3906 = load i32, ptr %3905, align 4, !tbaa !5
  %3907 = call ptr @s2n_strerror(i32 noundef %3906, ptr noundef @.str.4)
  %3908 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3909 = load i32, ptr %3908, align 4, !tbaa !5
  %3910 = call ptr @s2n_strerror_debug(i32 noundef %3909, ptr noundef @.str.4)
  %3911 = call ptr @__errno_location() #12
  %3912 = load i32, ptr %3911, align 4, !tbaa !5
  %3913 = call ptr @strerror(i32 noundef %3912) #11
  %3914 = call ptr @__errno_location() #12
  %3915 = load i32, ptr %3914, align 4, !tbaa !5
  %3916 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3903, ptr noundef @.str.5, i32 noundef %3904, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 186, ptr noundef %3907, ptr noundef %3910, ptr noundef %3913, i32 noundef %3915) #11
  br label %3917

3917:                                             ; preds = %3900, %3883
  call void @llvm.lifetime.end.p0(i64 4, ptr %84) #11
  br label %3918

3918:                                             ; preds = %3917
  br label %3919

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

3920:                                             ; No predecessors!
  br label %3921

3921:                                             ; preds = %3920
  br label %3922

3922:                                             ; preds = %3921, %3864
  br label %3923

3923:                                             ; preds = %3922
  br label %3924

3924:                                             ; preds = %3923
  br label %3925

3925:                                             ; preds = %3924
  %3926 = load i32, ptr @test_count, align 4, !tbaa !5
  %3927 = add nsw i32 %3926, 1
  store i32 %3927, ptr @test_count, align 4, !tbaa !5
  %3928 = load ptr, ptr %81, align 8, !tbaa !9
  %3929 = load ptr, ptr %11, align 8, !tbaa !9
  %3930 = call i32 @s2n_connection_set_config(ptr noundef %3928, ptr noundef %3929)
  %3931 = icmp eq i32 %3930, -1
  br i1 %3931, label %3932, label %3985

3932:                                             ; preds = %3925
  br label %3933

3933:                                             ; preds = %3932
  br label %3934

3934:                                             ; preds = %3933
  call void @llvm.lifetime.start.p0(i64 4, ptr %85) #11
  %3935 = call ptr @__errno_location() #12
  %3936 = load i32, ptr %3935, align 4, !tbaa !5
  store i32 %3936, ptr %85, align 4, !tbaa !5
  %3937 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3938 = call i32 @s2n_print_stacktrace(ptr noundef %3937)
  %3939 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3940 = trunc i8 %3939 to i1
  br i1 %3940, label %3941, label %3963

3941:                                             ; preds = %3934
  %3942 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3943 = call i32 @fileno(ptr noundef %3942) #11
  %3944 = call i32 @isatty(i32 noundef %3943) #11
  %3945 = icmp ne i32 %3944, 0
  br i1 %3945, label %3946, label %3963

3946:                                             ; preds = %3941
  %3947 = load i32, ptr %85, align 4, !tbaa !5
  %3948 = call ptr @__errno_location() #12
  store i32 %3947, ptr %3948, align 4, !tbaa !5
  %3949 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3950 = load i32, ptr @test_count, align 4, !tbaa !5
  %3951 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3952 = load i32, ptr %3951, align 4, !tbaa !5
  %3953 = call ptr @s2n_strerror(i32 noundef %3952, ptr noundef @.str.4)
  %3954 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3955 = load i32, ptr %3954, align 4, !tbaa !5
  %3956 = call ptr @s2n_strerror_debug(i32 noundef %3955, ptr noundef @.str.4)
  %3957 = call ptr @__errno_location() #12
  %3958 = load i32, ptr %3957, align 4, !tbaa !5
  %3959 = call ptr @strerror(i32 noundef %3958) #11
  %3960 = call ptr @__errno_location() #12
  %3961 = load i32, ptr %3960, align 4, !tbaa !5
  %3962 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3949, ptr noundef @.str.2, i32 noundef %3950, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 188, ptr noundef %3953, ptr noundef %3956, ptr noundef %3959, i32 noundef %3961) #11
  br label %3980

3963:                                             ; preds = %3941, %3934
  %3964 = load i32, ptr %85, align 4, !tbaa !5
  %3965 = call ptr @__errno_location() #12
  store i32 %3964, ptr %3965, align 4, !tbaa !5
  %3966 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3967 = load i32, ptr @test_count, align 4, !tbaa !5
  %3968 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3969 = load i32, ptr %3968, align 4, !tbaa !5
  %3970 = call ptr @s2n_strerror(i32 noundef %3969, ptr noundef @.str.4)
  %3971 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3972 = load i32, ptr %3971, align 4, !tbaa !5
  %3973 = call ptr @s2n_strerror_debug(i32 noundef %3972, ptr noundef @.str.4)
  %3974 = call ptr @__errno_location() #12
  %3975 = load i32, ptr %3974, align 4, !tbaa !5
  %3976 = call ptr @strerror(i32 noundef %3975) #11
  %3977 = call ptr @__errno_location() #12
  %3978 = load i32, ptr %3977, align 4, !tbaa !5
  %3979 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3966, ptr noundef @.str.5, i32 noundef %3967, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 188, ptr noundef %3970, ptr noundef %3973, ptr noundef %3976, i32 noundef %3978) #11
  br label %3980

3980:                                             ; preds = %3963, %3946
  call void @llvm.lifetime.end.p0(i64 4, ptr %85) #11
  br label %3981

3981:                                             ; preds = %3980
  br label %3982

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

3983:                                             ; No predecessors!
  br label %3984

3984:                                             ; preds = %3983
  br label %3985

3985:                                             ; preds = %3984, %3925
  br label %3986

3986:                                             ; preds = %3985
  br label %3987

3987:                                             ; preds = %3986
  br label %3988

3988:                                             ; preds = %3987
  %3989 = load i32, ptr @test_count, align 4, !tbaa !5
  %3990 = add nsw i32 %3989, 1
  store i32 %3990, ptr @test_count, align 4, !tbaa !5
  %3991 = load ptr, ptr %83, align 8, !tbaa !9
  %3992 = load ptr, ptr %11, align 8, !tbaa !9
  %3993 = call i32 @s2n_connection_set_config(ptr noundef %3991, ptr noundef %3992)
  %3994 = icmp eq i32 %3993, -1
  br i1 %3994, label %3995, label %4048

3995:                                             ; preds = %3988
  br label %3996

3996:                                             ; preds = %3995
  br label %3997

3997:                                             ; preds = %3996
  call void @llvm.lifetime.start.p0(i64 4, ptr %86) #11
  %3998 = call ptr @__errno_location() #12
  %3999 = load i32, ptr %3998, align 4, !tbaa !5
  store i32 %3999, ptr %86, align 4, !tbaa !5
  %4000 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4001 = call i32 @s2n_print_stacktrace(ptr noundef %4000)
  %4002 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4003 = trunc i8 %4002 to i1
  br i1 %4003, label %4004, label %4026

4004:                                             ; preds = %3997
  %4005 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4006 = call i32 @fileno(ptr noundef %4005) #11
  %4007 = call i32 @isatty(i32 noundef %4006) #11
  %4008 = icmp ne i32 %4007, 0
  br i1 %4008, label %4009, label %4026

4009:                                             ; preds = %4004
  %4010 = load i32, ptr %86, align 4, !tbaa !5
  %4011 = call ptr @__errno_location() #12
  store i32 %4010, ptr %4011, align 4, !tbaa !5
  %4012 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4013 = load i32, ptr @test_count, align 4, !tbaa !5
  %4014 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4015 = load i32, ptr %4014, align 4, !tbaa !5
  %4016 = call ptr @s2n_strerror(i32 noundef %4015, ptr noundef @.str.4)
  %4017 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4018 = load i32, ptr %4017, align 4, !tbaa !5
  %4019 = call ptr @s2n_strerror_debug(i32 noundef %4018, ptr noundef @.str.4)
  %4020 = call ptr @__errno_location() #12
  %4021 = load i32, ptr %4020, align 4, !tbaa !5
  %4022 = call ptr @strerror(i32 noundef %4021) #11
  %4023 = call ptr @__errno_location() #12
  %4024 = load i32, ptr %4023, align 4, !tbaa !5
  %4025 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4012, ptr noundef @.str.2, i32 noundef %4013, ptr noundef @.str.45, ptr noundef @.str.1, i32 noundef 189, ptr noundef %4016, ptr noundef %4019, ptr noundef %4022, i32 noundef %4024) #11
  br label %4043

4026:                                             ; preds = %4004, %3997
  %4027 = load i32, ptr %86, align 4, !tbaa !5
  %4028 = call ptr @__errno_location() #12
  store i32 %4027, ptr %4028, align 4, !tbaa !5
  %4029 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4030 = load i32, ptr @test_count, align 4, !tbaa !5
  %4031 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4032 = load i32, ptr %4031, align 4, !tbaa !5
  %4033 = call ptr @s2n_strerror(i32 noundef %4032, ptr noundef @.str.4)
  %4034 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4035 = load i32, ptr %4034, align 4, !tbaa !5
  %4036 = call ptr @s2n_strerror_debug(i32 noundef %4035, ptr noundef @.str.4)
  %4037 = call ptr @__errno_location() #12
  %4038 = load i32, ptr %4037, align 4, !tbaa !5
  %4039 = call ptr @strerror(i32 noundef %4038) #11
  %4040 = call ptr @__errno_location() #12
  %4041 = load i32, ptr %4040, align 4, !tbaa !5
  %4042 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4029, ptr noundef @.str.5, i32 noundef %4030, ptr noundef @.str.45, ptr noundef @.str.1, i32 noundef 189, ptr noundef %4033, ptr noundef %4036, ptr noundef %4039, i32 noundef %4041) #11
  br label %4043

4043:                                             ; preds = %4026, %4009
  call void @llvm.lifetime.end.p0(i64 4, ptr %86) #11
  br label %4044

4044:                                             ; preds = %4043
  br label %4045

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

4046:                                             ; No predecessors!
  br label %4047

4047:                                             ; preds = %4046
  br label %4048

4048:                                             ; preds = %4047, %3988
  br label %4049

4049:                                             ; preds = %4048
  br label %4050

4050:                                             ; preds = %4049
  call void @llvm.lifetime.start.p0(i64 80, ptr %87) #11
  call void @llvm.memset.p0.i64(ptr align 8 %87, i8 0, i64 80, i1 false)
  br label %4051

4051:                                             ; preds = %4050
  %4052 = load i32, ptr @test_count, align 4, !tbaa !5
  %4053 = add nsw i32 %4052, 1
  store i32 %4053, ptr @test_count, align 4, !tbaa !5
  %4054 = call i32 @s2n_io_stuffer_pair_init(ptr noundef %87)
  %4055 = getelementptr inbounds %struct.s2n_result, ptr %88, i32 0, i32 0
  store i32 %4054, ptr %4055, align 4
  %4056 = getelementptr inbounds %struct.s2n_result, ptr %88, i32 0, i32 0
  %4057 = load i32, ptr %4056, align 4
  %4058 = call zeroext i1 @s2n_result_is_ok(i32 %4057)
  br i1 %4058, label %4112, label %4059

4059:                                             ; preds = %4051
  br label %4060

4060:                                             ; preds = %4059
  br label %4061

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

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

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

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

4107:                                             ; preds = %4090, %4073
  call void @llvm.lifetime.end.p0(i64 4, ptr %89) #11
  br label %4108

4108:                                             ; preds = %4107
  br label %4109

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

4110:                                             ; No predecessors!
  br label %4111

4111:                                             ; preds = %4110
  br label %4112

4112:                                             ; preds = %4111, %4051
  br label %4113

4113:                                             ; preds = %4112
  br label %4114

4114:                                             ; preds = %4113
  br label %4115

4115:                                             ; preds = %4114
  %4116 = load i32, ptr @test_count, align 4, !tbaa !5
  %4117 = add nsw i32 %4116, 1
  store i32 %4117, ptr @test_count, align 4, !tbaa !5
  %4118 = load ptr, ptr %81, align 8, !tbaa !9
  %4119 = load ptr, ptr %83, align 8, !tbaa !9
  %4120 = call i32 @s2n_connections_set_io_stuffer_pair(ptr noundef %4118, ptr noundef %4119, ptr noundef %87)
  %4121 = getelementptr inbounds %struct.s2n_result, ptr %90, i32 0, i32 0
  store i32 %4120, ptr %4121, align 4
  %4122 = getelementptr inbounds %struct.s2n_result, ptr %90, i32 0, i32 0
  %4123 = load i32, ptr %4122, align 4
  %4124 = call zeroext i1 @s2n_result_is_ok(i32 %4123)
  br i1 %4124, label %4178, label %4125

4125:                                             ; preds = %4115
  br label %4126

4126:                                             ; preds = %4125
  br label %4127

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

4134:                                             ; preds = %4127
  %4135 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4136 = call i32 @fileno(ptr noundef %4135) #11
  %4137 = call i32 @isatty(i32 noundef %4136) #11
  %4138 = icmp ne i32 %4137, 0
  br i1 %4138, label %4139, label %4156

4139:                                             ; preds = %4134
  %4140 = load i32, ptr %91, align 4, !tbaa !5
  %4141 = call ptr @__errno_location() #12
  store i32 %4140, ptr %4141, align 4, !tbaa !5
  %4142 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4143 = load i32, ptr @test_count, align 4, !tbaa !5
  %4144 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4145 = load i32, ptr %4144, align 4, !tbaa !5
  %4146 = call ptr @s2n_strerror(i32 noundef %4145, ptr noundef @.str.4)
  %4147 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4148 = load i32, ptr %4147, align 4, !tbaa !5
  %4149 = call ptr @s2n_strerror_debug(i32 noundef %4148, ptr noundef @.str.4)
  %4150 = call ptr @__errno_location() #12
  %4151 = load i32, ptr %4150, align 4, !tbaa !5
  %4152 = call ptr @strerror(i32 noundef %4151) #11
  %4153 = call ptr @__errno_location() #12
  %4154 = load i32, ptr %4153, align 4, !tbaa !5
  %4155 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4142, ptr noundef @.str.2, i32 noundef %4143, ptr noundef @.str.47, ptr noundef @.str.1, i32 noundef 193, ptr noundef %4146, ptr noundef %4149, ptr noundef %4152, i32 noundef %4154) #11
  br label %4173

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

4173:                                             ; preds = %4156, %4139
  call void @llvm.lifetime.end.p0(i64 4, ptr %91) #11
  br label %4174

4174:                                             ; preds = %4173
  br label %4175

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

4176:                                             ; No predecessors!
  br label %4177

4177:                                             ; preds = %4176
  br label %4178

4178:                                             ; preds = %4177, %4115
  br label %4179

4179:                                             ; preds = %4178
  br label %4180

4180:                                             ; preds = %4179
  br label %4181

4181:                                             ; preds = %4180
  %4182 = load i32, ptr @test_count, align 4, !tbaa !5
  %4183 = add nsw i32 %4182, 1
  store i32 %4183, ptr @test_count, align 4, !tbaa !5
  %4184 = load ptr, ptr %83, align 8, !tbaa !9
  %4185 = load ptr, ptr %81, align 8, !tbaa !9
  %4186 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %4184, ptr noundef %4185)
  %4187 = icmp eq i32 %4186, -1
  br i1 %4187, label %4188, label %4241

4188:                                             ; preds = %4181
  br label %4189

4189:                                             ; preds = %4188
  br label %4190

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

4197:                                             ; preds = %4190
  %4198 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4199 = call i32 @fileno(ptr noundef %4198) #11
  %4200 = call i32 @isatty(i32 noundef %4199) #11
  %4201 = icmp ne i32 %4200, 0
  br i1 %4201, label %4202, label %4219

4202:                                             ; preds = %4197
  %4203 = load i32, ptr %92, align 4, !tbaa !5
  %4204 = call ptr @__errno_location() #12
  store i32 %4203, ptr %4204, align 4, !tbaa !5
  %4205 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4206 = load i32, ptr @test_count, align 4, !tbaa !5
  %4207 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4208 = load i32, ptr %4207, align 4, !tbaa !5
  %4209 = call ptr @s2n_strerror(i32 noundef %4208, ptr noundef @.str.4)
  %4210 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4211 = load i32, ptr %4210, align 4, !tbaa !5
  %4212 = call ptr @s2n_strerror_debug(i32 noundef %4211, ptr noundef @.str.4)
  %4213 = call ptr @__errno_location() #12
  %4214 = load i32, ptr %4213, align 4, !tbaa !5
  %4215 = call ptr @strerror(i32 noundef %4214) #11
  %4216 = call ptr @__errno_location() #12
  %4217 = load i32, ptr %4216, align 4, !tbaa !5
  %4218 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4205, ptr noundef @.str.2, i32 noundef %4206, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 195, ptr noundef %4209, ptr noundef %4212, ptr noundef %4215, i32 noundef %4217) #11
  br label %4236

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

4236:                                             ; preds = %4219, %4202
  call void @llvm.lifetime.end.p0(i64 4, ptr %92) #11
  br label %4237

4237:                                             ; preds = %4236
  br label %4238

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

4239:                                             ; No predecessors!
  br label %4240

4240:                                             ; preds = %4239
  br label %4241

4241:                                             ; preds = %4240, %4181
  br label %4242

4242:                                             ; preds = %4241
  br label %4243

4243:                                             ; preds = %4242
  br label %4244

4244:                                             ; preds = %4243
  %4245 = load i32, ptr @test_count, align 4, !tbaa !5
  %4246 = add nsw i32 %4245, 1
  store i32 %4246, ptr @test_count, align 4, !tbaa !5
  %4247 = load ptr, ptr %83, align 8, !tbaa !9
  %4248 = call i32 @s2n_connection_get_actual_protocol_version(ptr noundef %4247)
  %4249 = icmp eq i32 %4248, 33
  br i1 %4249, label %4303, label %4250

4250:                                             ; preds = %4244
  br label %4251

4251:                                             ; preds = %4250
  br label %4252

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

4259:                                             ; preds = %4252
  %4260 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4261 = call i32 @fileno(ptr noundef %4260) #11
  %4262 = call i32 @isatty(i32 noundef %4261) #11
  %4263 = icmp ne i32 %4262, 0
  br i1 %4263, label %4264, label %4281

4264:                                             ; preds = %4259
  %4265 = load i32, ptr %93, align 4, !tbaa !5
  %4266 = call ptr @__errno_location() #12
  store i32 %4265, ptr %4266, align 4, !tbaa !5
  %4267 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4268 = load i32, ptr @test_count, align 4, !tbaa !5
  %4269 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4270 = load i32, ptr %4269, align 4, !tbaa !5
  %4271 = call ptr @s2n_strerror(i32 noundef %4270, ptr noundef @.str.4)
  %4272 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4273 = load i32, ptr %4272, align 4, !tbaa !5
  %4274 = call ptr @s2n_strerror_debug(i32 noundef %4273, ptr noundef @.str.4)
  %4275 = call ptr @__errno_location() #12
  %4276 = load i32, ptr %4275, align 4, !tbaa !5
  %4277 = call ptr @strerror(i32 noundef %4276) #11
  %4278 = call ptr @__errno_location() #12
  %4279 = load i32, ptr %4278, align 4, !tbaa !5
  %4280 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4267, ptr noundef @.str.2, i32 noundef %4268, ptr noundef @.str.49, ptr noundef @.str.1, i32 noundef 196, ptr noundef %4271, ptr noundef %4274, ptr noundef %4277, i32 noundef %4279) #11
  br label %4298

4281:                                             ; preds = %4259, %4252
  %4282 = load i32, ptr %93, align 4, !tbaa !5
  %4283 = call ptr @__errno_location() #12
  store i32 %4282, ptr %4283, align 4, !tbaa !5
  %4284 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4285 = load i32, ptr @test_count, align 4, !tbaa !5
  %4286 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4287 = load i32, ptr %4286, align 4, !tbaa !5
  %4288 = call ptr @s2n_strerror(i32 noundef %4287, ptr noundef @.str.4)
  %4289 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4290 = load i32, ptr %4289, align 4, !tbaa !5
  %4291 = call ptr @s2n_strerror_debug(i32 noundef %4290, ptr noundef @.str.4)
  %4292 = call ptr @__errno_location() #12
  %4293 = load i32, ptr %4292, align 4, !tbaa !5
  %4294 = call ptr @strerror(i32 noundef %4293) #11
  %4295 = call ptr @__errno_location() #12
  %4296 = load i32, ptr %4295, align 4, !tbaa !5
  %4297 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4284, ptr noundef @.str.5, i32 noundef %4285, ptr noundef @.str.49, ptr noundef @.str.1, i32 noundef 196, ptr noundef %4288, ptr noundef %4291, ptr noundef %4294, i32 noundef %4296) #11
  br label %4298

4298:                                             ; preds = %4281, %4264
  call void @llvm.lifetime.end.p0(i64 4, ptr %93) #11
  br label %4299

4299:                                             ; preds = %4298
  br label %4300

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

4301:                                             ; No predecessors!
  br label %4302

4302:                                             ; preds = %4301
  br label %4303

4303:                                             ; preds = %4302, %4244
  br label %4304

4304:                                             ; preds = %4303
  br label %4305

4305:                                             ; preds = %4304
  call void @llvm.lifetime.start.p0(i64 2, ptr %94) #11
  call void @llvm.memset.p0.i64(ptr align 1 %94, i8 0, i64 2, i1 false)
  br label %4306

4306:                                             ; preds = %4305
  %4307 = load i32, ptr @test_count, align 4, !tbaa !5
  %4308 = add nsw i32 %4307, 1
  store i32 %4308, ptr @test_count, align 4, !tbaa !5
  %4309 = load ptr, ptr %83, align 8, !tbaa !9
  %4310 = getelementptr inbounds [2 x i8], ptr %94, i64 0, i64 0
  %4311 = getelementptr inbounds [2 x i8], ptr %94, i64 0, i64 1
  %4312 = call i32 @s2n_connection_get_cipher_iana_value(ptr noundef %4309, ptr noundef %4310, ptr noundef %4311)
  %4313 = icmp eq i32 %4312, -1
  br i1 %4313, label %4314, label %4367

4314:                                             ; preds = %4306
  br label %4315

4315:                                             ; preds = %4314
  br label %4316

4316:                                             ; preds = %4315
  call void @llvm.lifetime.start.p0(i64 4, ptr %95) #11
  %4317 = call ptr @__errno_location() #12
  %4318 = load i32, ptr %4317, align 4, !tbaa !5
  store i32 %4318, ptr %95, align 4, !tbaa !5
  %4319 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4320 = call i32 @s2n_print_stacktrace(ptr noundef %4319)
  %4321 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4322 = trunc i8 %4321 to i1
  br i1 %4322, label %4323, label %4345

4323:                                             ; preds = %4316
  %4324 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4325 = call i32 @fileno(ptr noundef %4324) #11
  %4326 = call i32 @isatty(i32 noundef %4325) #11
  %4327 = icmp ne i32 %4326, 0
  br i1 %4327, label %4328, label %4345

4328:                                             ; preds = %4323
  %4329 = load i32, ptr %95, align 4, !tbaa !5
  %4330 = call ptr @__errno_location() #12
  store i32 %4329, ptr %4330, align 4, !tbaa !5
  %4331 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4332 = load i32, ptr @test_count, align 4, !tbaa !5
  %4333 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4334 = load i32, ptr %4333, align 4, !tbaa !5
  %4335 = call ptr @s2n_strerror(i32 noundef %4334, ptr noundef @.str.4)
  %4336 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4337 = load i32, ptr %4336, align 4, !tbaa !5
  %4338 = call ptr @s2n_strerror_debug(i32 noundef %4337, ptr noundef @.str.4)
  %4339 = call ptr @__errno_location() #12
  %4340 = load i32, ptr %4339, align 4, !tbaa !5
  %4341 = call ptr @strerror(i32 noundef %4340) #11
  %4342 = call ptr @__errno_location() #12
  %4343 = load i32, ptr %4342, align 4, !tbaa !5
  %4344 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4331, ptr noundef @.str.2, i32 noundef %4332, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 198, ptr noundef %4335, ptr noundef %4338, ptr noundef %4341, i32 noundef %4343) #11
  br label %4362

4345:                                             ; preds = %4323, %4316
  %4346 = load i32, ptr %95, align 4, !tbaa !5
  %4347 = call ptr @__errno_location() #12
  store i32 %4346, ptr %4347, align 4, !tbaa !5
  %4348 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4349 = load i32, ptr @test_count, align 4, !tbaa !5
  %4350 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4351 = load i32, ptr %4350, align 4, !tbaa !5
  %4352 = call ptr @s2n_strerror(i32 noundef %4351, ptr noundef @.str.4)
  %4353 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4354 = load i32, ptr %4353, align 4, !tbaa !5
  %4355 = call ptr @s2n_strerror_debug(i32 noundef %4354, ptr noundef @.str.4)
  %4356 = call ptr @__errno_location() #12
  %4357 = load i32, ptr %4356, align 4, !tbaa !5
  %4358 = call ptr @strerror(i32 noundef %4357) #11
  %4359 = call ptr @__errno_location() #12
  %4360 = load i32, ptr %4359, align 4, !tbaa !5
  %4361 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4348, ptr noundef @.str.5, i32 noundef %4349, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 198, ptr noundef %4352, ptr noundef %4355, ptr noundef %4358, i32 noundef %4360) #11
  br label %4362

4362:                                             ; preds = %4345, %4328
  call void @llvm.lifetime.end.p0(i64 4, ptr %95) #11
  br label %4363

4363:                                             ; preds = %4362
  br label %4364

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

4365:                                             ; No predecessors!
  br label %4366

4366:                                             ; preds = %4365
  br label %4367

4367:                                             ; preds = %4366, %4306
  br label %4368

4368:                                             ; preds = %4367
  br label %4369

4369:                                             ; preds = %4368
  call void @llvm.lifetime.start.p0(i64 4, ptr %96) #11
  store i32 0, ptr %96, align 4, !tbaa !5
  br label %4370

4370:                                             ; preds = %4369
  %4371 = load i32, ptr @test_count, align 4, !tbaa !5
  %4372 = add nsw i32 %4371, 1
  store i32 %4372, ptr @test_count, align 4, !tbaa !5
  %4373 = load ptr, ptr %83, align 8, !tbaa !9
  %4374 = call i32 @s2n_connection_serialization_length(ptr noundef %4373, ptr noundef %96)
  %4375 = icmp eq i32 %4374, -1
  br i1 %4375, label %4376, label %4429

4376:                                             ; preds = %4370
  br label %4377

4377:                                             ; preds = %4376
  br label %4378

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

4385:                                             ; preds = %4378
  %4386 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4387 = call i32 @fileno(ptr noundef %4386) #11
  %4388 = call i32 @isatty(i32 noundef %4387) #11
  %4389 = icmp ne i32 %4388, 0
  br i1 %4389, label %4390, label %4407

4390:                                             ; preds = %4385
  %4391 = load i32, ptr %97, align 4, !tbaa !5
  %4392 = call ptr @__errno_location() #12
  store i32 %4391, ptr %4392, align 4, !tbaa !5
  %4393 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4394 = load i32, ptr @test_count, align 4, !tbaa !5
  %4395 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4396 = load i32, ptr %4395, align 4, !tbaa !5
  %4397 = call ptr @s2n_strerror(i32 noundef %4396, ptr noundef @.str.4)
  %4398 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4399 = load i32, ptr %4398, align 4, !tbaa !5
  %4400 = call ptr @s2n_strerror_debug(i32 noundef %4399, ptr noundef @.str.4)
  %4401 = call ptr @__errno_location() #12
  %4402 = load i32, ptr %4401, align 4, !tbaa !5
  %4403 = call ptr @strerror(i32 noundef %4402) #11
  %4404 = call ptr @__errno_location() #12
  %4405 = load i32, ptr %4404, align 4, !tbaa !5
  %4406 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4393, ptr noundef @.str.2, i32 noundef %4394, ptr noundef @.str.51, ptr noundef @.str.1, i32 noundef 201, ptr noundef %4397, ptr noundef %4400, ptr noundef %4403, i32 noundef %4405) #11
  br label %4424

4407:                                             ; preds = %4385, %4378
  %4408 = load i32, ptr %97, align 4, !tbaa !5
  %4409 = call ptr @__errno_location() #12
  store i32 %4408, ptr %4409, align 4, !tbaa !5
  %4410 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4411 = load i32, ptr @test_count, align 4, !tbaa !5
  %4412 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4413 = load i32, ptr %4412, align 4, !tbaa !5
  %4414 = call ptr @s2n_strerror(i32 noundef %4413, ptr noundef @.str.4)
  %4415 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4416 = load i32, ptr %4415, align 4, !tbaa !5
  %4417 = call ptr @s2n_strerror_debug(i32 noundef %4416, ptr noundef @.str.4)
  %4418 = call ptr @__errno_location() #12
  %4419 = load i32, ptr %4418, align 4, !tbaa !5
  %4420 = call ptr @strerror(i32 noundef %4419) #11
  %4421 = call ptr @__errno_location() #12
  %4422 = load i32, ptr %4421, align 4, !tbaa !5
  %4423 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4410, ptr noundef @.str.5, i32 noundef %4411, ptr noundef @.str.51, ptr noundef @.str.1, i32 noundef 201, ptr noundef %4414, ptr noundef %4417, ptr noundef %4420, i32 noundef %4422) #11
  br label %4424

4424:                                             ; preds = %4407, %4390
  call void @llvm.lifetime.end.p0(i64 4, ptr %97) #11
  br label %4425

4425:                                             ; preds = %4424
  br label %4426

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

4427:                                             ; No predecessors!
  br label %4428

4428:                                             ; preds = %4427
  br label %4429

4429:                                             ; preds = %4428, %4370
  br label %4430

4430:                                             ; preds = %4429
  br label %4431

4431:                                             ; preds = %4430
  call void @llvm.lifetime.start.p0(i64 142, ptr %98) #11
  call void @llvm.memset.p0.i64(ptr align 16 %98, i8 0, i64 142, i1 false)
  br label %4432

4432:                                             ; preds = %4431
  %4433 = load i32, ptr @test_count, align 4, !tbaa !5
  %4434 = add nsw i32 %4433, 1
  store i32 %4434, ptr @test_count, align 4, !tbaa !5
  %4435 = load ptr, ptr %83, align 8, !tbaa !9
  %4436 = getelementptr inbounds [142 x i8], ptr %98, i64 0, i64 0
  %4437 = call i32 @s2n_connection_serialize(ptr noundef %4435, ptr noundef %4436, i32 noundef 142)
  %4438 = icmp eq i32 %4437, -1
  br i1 %4438, label %4439, label %4492

4439:                                             ; preds = %4432
  br label %4440

4440:                                             ; preds = %4439
  br label %4441

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

4448:                                             ; preds = %4441
  %4449 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4450 = call i32 @fileno(ptr noundef %4449) #11
  %4451 = call i32 @isatty(i32 noundef %4450) #11
  %4452 = icmp ne i32 %4451, 0
  br i1 %4452, label %4453, label %4470

4453:                                             ; preds = %4448
  %4454 = load i32, ptr %99, align 4, !tbaa !5
  %4455 = call ptr @__errno_location() #12
  store i32 %4454, ptr %4455, align 4, !tbaa !5
  %4456 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4457 = load i32, ptr @test_count, align 4, !tbaa !5
  %4458 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4459 = load i32, ptr %4458, align 4, !tbaa !5
  %4460 = call ptr @s2n_strerror(i32 noundef %4459, ptr noundef @.str.4)
  %4461 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4462 = load i32, ptr %4461, align 4, !tbaa !5
  %4463 = call ptr @s2n_strerror_debug(i32 noundef %4462, ptr noundef @.str.4)
  %4464 = call ptr @__errno_location() #12
  %4465 = load i32, ptr %4464, align 4, !tbaa !5
  %4466 = call ptr @strerror(i32 noundef %4465) #11
  %4467 = call ptr @__errno_location() #12
  %4468 = load i32, ptr %4467, align 4, !tbaa !5
  %4469 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4456, ptr noundef @.str.2, i32 noundef %4457, ptr noundef @.str.52, ptr noundef @.str.1, i32 noundef 204, ptr noundef %4460, ptr noundef %4463, ptr noundef %4466, i32 noundef %4468) #11
  br label %4487

4470:                                             ; preds = %4448, %4441
  %4471 = load i32, ptr %99, align 4, !tbaa !5
  %4472 = call ptr @__errno_location() #12
  store i32 %4471, ptr %4472, align 4, !tbaa !5
  %4473 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4474 = load i32, ptr @test_count, align 4, !tbaa !5
  %4475 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4476 = load i32, ptr %4475, align 4, !tbaa !5
  %4477 = call ptr @s2n_strerror(i32 noundef %4476, ptr noundef @.str.4)
  %4478 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4479 = load i32, ptr %4478, align 4, !tbaa !5
  %4480 = call ptr @s2n_strerror_debug(i32 noundef %4479, ptr noundef @.str.4)
  %4481 = call ptr @__errno_location() #12
  %4482 = load i32, ptr %4481, align 4, !tbaa !5
  %4483 = call ptr @strerror(i32 noundef %4482) #11
  %4484 = call ptr @__errno_location() #12
  %4485 = load i32, ptr %4484, align 4, !tbaa !5
  %4486 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4473, ptr noundef @.str.5, i32 noundef %4474, ptr noundef @.str.52, ptr noundef @.str.1, i32 noundef 204, ptr noundef %4477, ptr noundef %4480, ptr noundef %4483, i32 noundef %4485) #11
  br label %4487

4487:                                             ; preds = %4470, %4453
  call void @llvm.lifetime.end.p0(i64 4, ptr %99) #11
  br label %4488

4488:                                             ; preds = %4487
  br label %4489

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

4490:                                             ; No predecessors!
  br label %4491

4491:                                             ; preds = %4490
  br label %4492

4492:                                             ; preds = %4491, %4432
  br label %4493

4493:                                             ; preds = %4492
  br label %4494

4494:                                             ; preds = %4493
  call void @llvm.lifetime.start.p0(i64 24, ptr %100) #11
  call void @llvm.memset.p0.i64(ptr align 8 %100, i8 0, i64 24, i1 false)
  br label %4495

4495:                                             ; preds = %4494
  %4496 = load i32, ptr @test_count, align 4, !tbaa !5
  %4497 = add nsw i32 %4496, 1
  store i32 %4497, ptr @test_count, align 4, !tbaa !5
  %4498 = getelementptr inbounds [142 x i8], ptr %98, i64 0, i64 0
  %4499 = call i32 @s2n_blob_init(ptr noundef %100, ptr noundef %4498, i32 noundef 142)
  %4500 = icmp eq i32 %4499, -1
  br i1 %4500, label %4501, label %4554

4501:                                             ; preds = %4495
  br label %4502

4502:                                             ; preds = %4501
  br label %4503

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

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

4515:                                             ; preds = %4510
  %4516 = load i32, ptr %101, align 4, !tbaa !5
  %4517 = call ptr @__errno_location() #12
  store i32 %4516, ptr %4517, align 4, !tbaa !5
  %4518 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4519 = load i32, ptr @test_count, align 4, !tbaa !5
  %4520 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4521 = load i32, ptr %4520, align 4, !tbaa !5
  %4522 = call ptr @s2n_strerror(i32 noundef %4521, ptr noundef @.str.4)
  %4523 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4524 = load i32, ptr %4523, align 4, !tbaa !5
  %4525 = call ptr @s2n_strerror_debug(i32 noundef %4524, ptr noundef @.str.4)
  %4526 = call ptr @__errno_location() #12
  %4527 = load i32, ptr %4526, align 4, !tbaa !5
  %4528 = call ptr @strerror(i32 noundef %4527) #11
  %4529 = call ptr @__errno_location() #12
  %4530 = load i32, ptr %4529, align 4, !tbaa !5
  %4531 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4518, ptr noundef @.str.2, i32 noundef %4519, ptr noundef @.str.53, ptr noundef @.str.1, i32 noundef 207, ptr noundef %4522, ptr noundef %4525, ptr noundef %4528, i32 noundef %4530) #11
  br label %4549

4532:                                             ; preds = %4510, %4503
  %4533 = load i32, ptr %101, align 4, !tbaa !5
  %4534 = call ptr @__errno_location() #12
  store i32 %4533, ptr %4534, align 4, !tbaa !5
  %4535 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4536 = load i32, ptr @test_count, align 4, !tbaa !5
  %4537 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4538 = load i32, ptr %4537, align 4, !tbaa !5
  %4539 = call ptr @s2n_strerror(i32 noundef %4538, ptr noundef @.str.4)
  %4540 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4541 = load i32, ptr %4540, align 4, !tbaa !5
  %4542 = call ptr @s2n_strerror_debug(i32 noundef %4541, ptr noundef @.str.4)
  %4543 = call ptr @__errno_location() #12
  %4544 = load i32, ptr %4543, align 4, !tbaa !5
  %4545 = call ptr @strerror(i32 noundef %4544) #11
  %4546 = call ptr @__errno_location() #12
  %4547 = load i32, ptr %4546, align 4, !tbaa !5
  %4548 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4535, ptr noundef @.str.5, i32 noundef %4536, ptr noundef @.str.53, ptr noundef @.str.1, i32 noundef 207, ptr noundef %4539, ptr noundef %4542, ptr noundef %4545, i32 noundef %4547) #11
  br label %4549

4549:                                             ; preds = %4532, %4515
  call void @llvm.lifetime.end.p0(i64 4, ptr %101) #11
  br label %4550

4550:                                             ; preds = %4549
  br label %4551

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

4552:                                             ; No predecessors!
  br label %4553

4553:                                             ; preds = %4552
  br label %4554

4554:                                             ; preds = %4553, %4495
  br label %4555

4555:                                             ; preds = %4554
  br label %4556

4556:                                             ; preds = %4555
  call void @llvm.lifetime.start.p0(i64 40, ptr %102) #11
  call void @llvm.memset.p0.i64(ptr align 8 %102, i8 0, i64 40, i1 false)
  br label %4557

4557:                                             ; preds = %4556
  %4558 = load i32, ptr @test_count, align 4, !tbaa !5
  %4559 = add nsw i32 %4558, 1
  store i32 %4559, ptr @test_count, align 4, !tbaa !5
  %4560 = call i32 @s2n_stuffer_init_written(ptr noundef %102, ptr noundef %100)
  %4561 = icmp eq i32 %4560, -1
  br i1 %4561, label %4562, label %4615

4562:                                             ; preds = %4557
  br label %4563

4563:                                             ; preds = %4562
  br label %4564

4564:                                             ; preds = %4563
  call void @llvm.lifetime.start.p0(i64 4, ptr %103) #11
  %4565 = call ptr @__errno_location() #12
  %4566 = load i32, ptr %4565, align 4, !tbaa !5
  store i32 %4566, ptr %103, 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 %103, 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.4)
  %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.4)
  %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.2, i32 noundef %4580, ptr noundef @.str.54, ptr noundef @.str.1, i32 noundef 209, ptr noundef %4583, ptr noundef %4586, ptr noundef %4589, i32 noundef %4591) #11
  br label %4610

4593:                                             ; preds = %4571, %4564
  %4594 = load i32, ptr %103, 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.4)
  %4601 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4602 = load i32, ptr %4601, align 4, !tbaa !5
  %4603 = call ptr @s2n_strerror_debug(i32 noundef %4602, ptr noundef @.str.4)
  %4604 = 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.5, i32 noundef %4597, ptr noundef @.str.54, ptr noundef @.str.1, i32 noundef 209, 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 %103) #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, %4557
  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 = load i32, ptr %96, align 4, !tbaa !5
  %4622 = getelementptr inbounds %struct.s2n_stuffer, ptr %102, i32 0, i32 2
  %4623 = load i32, ptr %4622, align 4, !tbaa !57
  %4624 = getelementptr inbounds %struct.s2n_stuffer, ptr %102, i32 0, i32 1
  %4625 = load i32, ptr %4624, align 8, !tbaa !58
  %4626 = sub i32 %4623, %4625
  %4627 = icmp eq i32 %4621, %4626
  br i1 %4627, label %4681, label %4628

4628:                                             ; preds = %4618
  br label %4629

4629:                                             ; preds = %4628
  br label %4630

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

4637:                                             ; preds = %4630
  %4638 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4639 = call i32 @fileno(ptr noundef %4638) #11
  %4640 = call i32 @isatty(i32 noundef %4639) #11
  %4641 = icmp ne i32 %4640, 0
  br i1 %4641, label %4642, label %4659

4642:                                             ; preds = %4637
  %4643 = load i32, ptr %104, align 4, !tbaa !5
  %4644 = call ptr @__errno_location() #12
  store i32 %4643, ptr %4644, align 4, !tbaa !5
  %4645 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4646 = load i32, ptr @test_count, align 4, !tbaa !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(i32 noundef %4648, ptr noundef @.str.4)
  %4650 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4651 = load i32, ptr %4650, align 4, !tbaa !5
  %4652 = call ptr @s2n_strerror_debug(i32 noundef %4651, ptr noundef @.str.4)
  %4653 = call ptr @__errno_location() #12
  %4654 = load i32, ptr %4653, align 4, !tbaa !5
  %4655 = call ptr @strerror(i32 noundef %4654) #11
  %4656 = call ptr @__errno_location() #12
  %4657 = load i32, ptr %4656, align 4, !tbaa !5
  %4658 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4645, ptr noundef @.str.2, i32 noundef %4646, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 210, ptr noundef %4649, ptr noundef %4652, ptr noundef %4655, i32 noundef %4657) #11
  br label %4676

4659:                                             ; preds = %4637, %4630
  %4660 = load i32, ptr %104, align 4, !tbaa !5
  %4661 = call ptr @__errno_location() #12
  store i32 %4660, ptr %4661, align 4, !tbaa !5
  %4662 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4663 = load i32, ptr @test_count, align 4, !tbaa !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(i32 noundef %4665, ptr noundef @.str.4)
  %4667 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4668 = load i32, ptr %4667, align 4, !tbaa !5
  %4669 = call ptr @s2n_strerror_debug(i32 noundef %4668, ptr noundef @.str.4)
  %4670 = call ptr @__errno_location() #12
  %4671 = load i32, ptr %4670, align 4, !tbaa !5
  %4672 = call ptr @strerror(i32 noundef %4671) #11
  %4673 = call ptr @__errno_location() #12
  %4674 = load i32, ptr %4673, align 4, !tbaa !5
  %4675 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4662, ptr noundef @.str.5, i32 noundef %4663, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 210, ptr noundef %4666, ptr noundef %4669, ptr noundef %4672, i32 noundef %4674) #11
  br label %4676

4676:                                             ; preds = %4659, %4642
  call void @llvm.lifetime.end.p0(i64 4, ptr %104) #11
  br label %4677

4677:                                             ; preds = %4676
  br label %4678

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

4679:                                             ; No predecessors!
  br label %4680

4680:                                             ; preds = %4679
  br label %4681

4681:                                             ; preds = %4680, %4618
  br label %4682

4682:                                             ; preds = %4681
  br label %4683

4683:                                             ; preds = %4682
  call void @llvm.lifetime.start.p0(i64 8, ptr %105) #11
  store i64 0, ptr %105, align 8, !tbaa !42
  br label %4684

4684:                                             ; preds = %4683
  %4685 = load i32, ptr @test_count, align 4, !tbaa !5
  %4686 = add nsw i32 %4685, 1
  store i32 %4686, ptr @test_count, align 4, !tbaa !5
  %4687 = call i32 @s2n_stuffer_read_uint64(ptr noundef %102, ptr noundef %105)
  %4688 = icmp eq i32 %4687, -1
  br i1 %4688, label %4689, label %4742

4689:                                             ; preds = %4684
  br label %4690

4690:                                             ; preds = %4689
  br label %4691

4691:                                             ; preds = %4690
  call void @llvm.lifetime.start.p0(i64 4, ptr %106) #11
  %4692 = call ptr @__errno_location() #12
  %4693 = load i32, ptr %4692, align 4, !tbaa !5
  store i32 %4693, ptr %106, align 4, !tbaa !5
  %4694 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4695 = call i32 @s2n_print_stacktrace(ptr noundef %4694)
  %4696 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4697 = trunc i8 %4696 to i1
  br i1 %4697, label %4698, label %4720

4698:                                             ; preds = %4691
  %4699 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4700 = call i32 @fileno(ptr noundef %4699) #11
  %4701 = call i32 @isatty(i32 noundef %4700) #11
  %4702 = icmp ne i32 %4701, 0
  br i1 %4702, label %4703, label %4720

4703:                                             ; preds = %4698
  %4704 = load i32, ptr %106, align 4, !tbaa !5
  %4705 = call ptr @__errno_location() #12
  store i32 %4704, ptr %4705, align 4, !tbaa !5
  %4706 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4707 = load i32, ptr @test_count, align 4, !tbaa !5
  %4708 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4709 = load i32, ptr %4708, align 4, !tbaa !5
  %4710 = call ptr @s2n_strerror(i32 noundef %4709, ptr noundef @.str.4)
  %4711 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4712 = load i32, ptr %4711, align 4, !tbaa !5
  %4713 = call ptr @s2n_strerror_debug(i32 noundef %4712, ptr noundef @.str.4)
  %4714 = call ptr @__errno_location() #12
  %4715 = load i32, ptr %4714, align 4, !tbaa !5
  %4716 = call ptr @strerror(i32 noundef %4715) #11
  %4717 = call ptr @__errno_location() #12
  %4718 = load i32, ptr %4717, align 4, !tbaa !5
  %4719 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4706, ptr noundef @.str.2, i32 noundef %4707, ptr noundef @.str.56, ptr noundef @.str.1, i32 noundef 213, ptr noundef %4710, ptr noundef %4713, ptr noundef %4716, i32 noundef %4718) #11
  br label %4737

4720:                                             ; preds = %4698, %4691
  %4721 = load i32, ptr %106, align 4, !tbaa !5
  %4722 = call ptr @__errno_location() #12
  store i32 %4721, ptr %4722, align 4, !tbaa !5
  %4723 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4724 = load i32, ptr @test_count, align 4, !tbaa !5
  %4725 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4726 = load i32, ptr %4725, align 4, !tbaa !5
  %4727 = call ptr @s2n_strerror(i32 noundef %4726, ptr noundef @.str.4)
  %4728 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4729 = load i32, ptr %4728, align 4, !tbaa !5
  %4730 = call ptr @s2n_strerror_debug(i32 noundef %4729, ptr noundef @.str.4)
  %4731 = call ptr @__errno_location() #12
  %4732 = load i32, ptr %4731, align 4, !tbaa !5
  %4733 = call ptr @strerror(i32 noundef %4732) #11
  %4734 = call ptr @__errno_location() #12
  %4735 = load i32, ptr %4734, align 4, !tbaa !5
  %4736 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4723, ptr noundef @.str.5, i32 noundef %4724, ptr noundef @.str.56, ptr noundef @.str.1, i32 noundef 213, ptr noundef %4727, ptr noundef %4730, ptr noundef %4733, i32 noundef %4735) #11
  br label %4737

4737:                                             ; preds = %4720, %4703
  call void @llvm.lifetime.end.p0(i64 4, ptr %106) #11
  br label %4738

4738:                                             ; preds = %4737
  br label %4739

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

4740:                                             ; No predecessors!
  br label %4741

4741:                                             ; preds = %4740
  br label %4742

4742:                                             ; preds = %4741, %4684
  br label %4743

4743:                                             ; preds = %4742
  br label %4744

4744:                                             ; preds = %4743
  br label %4745

4745:                                             ; preds = %4744
  %4746 = load i32, ptr @test_count, align 4, !tbaa !5
  %4747 = add nsw i32 %4746, 1
  store i32 %4747, ptr @test_count, align 4, !tbaa !5
  %4748 = load i64, ptr %105, align 8, !tbaa !42
  %4749 = icmp eq i64 %4748, 1
  br i1 %4749, label %4803, label %4750

4750:                                             ; preds = %4745
  br label %4751

4751:                                             ; preds = %4750
  br label %4752

4752:                                             ; preds = %4751
  call void @llvm.lifetime.start.p0(i64 4, ptr %107) #11
  %4753 = call ptr @__errno_location() #12
  %4754 = load i32, ptr %4753, align 4, !tbaa !5
  store i32 %4754, ptr %107, align 4, !tbaa !5
  %4755 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4756 = call i32 @s2n_print_stacktrace(ptr noundef %4755)
  %4757 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4758 = trunc i8 %4757 to i1
  br i1 %4758, label %4759, label %4781

4759:                                             ; preds = %4752
  %4760 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4761 = call i32 @fileno(ptr noundef %4760) #11
  %4762 = call i32 @isatty(i32 noundef %4761) #11
  %4763 = icmp ne i32 %4762, 0
  br i1 %4763, label %4764, label %4781

4764:                                             ; preds = %4759
  %4765 = load i32, ptr %107, align 4, !tbaa !5
  %4766 = call ptr @__errno_location() #12
  store i32 %4765, ptr %4766, align 4, !tbaa !5
  %4767 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4768 = load i32, ptr @test_count, align 4, !tbaa !5
  %4769 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4770 = load i32, ptr %4769, align 4, !tbaa !5
  %4771 = call ptr @s2n_strerror(i32 noundef %4770, ptr noundef @.str.4)
  %4772 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4773 = load i32, ptr %4772, align 4, !tbaa !5
  %4774 = call ptr @s2n_strerror_debug(i32 noundef %4773, ptr noundef @.str.4)
  %4775 = call ptr @__errno_location() #12
  %4776 = load i32, ptr %4775, align 4, !tbaa !5
  %4777 = call ptr @strerror(i32 noundef %4776) #11
  %4778 = call ptr @__errno_location() #12
  %4779 = load i32, ptr %4778, align 4, !tbaa !5
  %4780 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4767, ptr noundef @.str.2, i32 noundef %4768, ptr noundef @.str.57, ptr noundef @.str.1, i32 noundef 214, ptr noundef %4771, ptr noundef %4774, ptr noundef %4777, i32 noundef %4779) #11
  br label %4798

4781:                                             ; preds = %4759, %4752
  %4782 = load i32, ptr %107, align 4, !tbaa !5
  %4783 = call ptr @__errno_location() #12
  store i32 %4782, ptr %4783, align 4, !tbaa !5
  %4784 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4785 = load i32, ptr @test_count, align 4, !tbaa !5
  %4786 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4787 = load i32, ptr %4786, align 4, !tbaa !5
  %4788 = call ptr @s2n_strerror(i32 noundef %4787, ptr noundef @.str.4)
  %4789 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4790 = load i32, ptr %4789, align 4, !tbaa !5
  %4791 = call ptr @s2n_strerror_debug(i32 noundef %4790, ptr noundef @.str.4)
  %4792 = call ptr @__errno_location() #12
  %4793 = load i32, ptr %4792, align 4, !tbaa !5
  %4794 = call ptr @strerror(i32 noundef %4793) #11
  %4795 = call ptr @__errno_location() #12
  %4796 = load i32, ptr %4795, align 4, !tbaa !5
  %4797 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4784, ptr noundef @.str.5, i32 noundef %4785, ptr noundef @.str.57, ptr noundef @.str.1, i32 noundef 214, ptr noundef %4788, ptr noundef %4791, ptr noundef %4794, i32 noundef %4796) #11
  br label %4798

4798:                                             ; preds = %4781, %4764
  call void @llvm.lifetime.end.p0(i64 4, ptr %107) #11
  br label %4799

4799:                                             ; preds = %4798
  br label %4800

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

4801:                                             ; No predecessors!
  br label %4802

4802:                                             ; preds = %4801
  br label %4803

4803:                                             ; preds = %4802, %4745
  br label %4804

4804:                                             ; preds = %4803
  br label %4805

4805:                                             ; preds = %4804
  call void @llvm.lifetime.start.p0(i64 2, ptr %108) #11
  call void @llvm.memset.p0.i64(ptr align 1 %108, i8 0, i64 2, i1 false)
  br label %4806

4806:                                             ; preds = %4805
  %4807 = load i32, ptr @test_count, align 4, !tbaa !5
  %4808 = add nsw i32 %4807, 1
  store i32 %4808, ptr @test_count, align 4, !tbaa !5
  %4809 = getelementptr inbounds [2 x i8], ptr %108, i64 0, i64 0
  %4810 = call i32 @s2n_stuffer_read_bytes(ptr noundef %102, ptr noundef %4809, i32 noundef 2)
  %4811 = icmp eq i32 %4810, -1
  br i1 %4811, label %4812, label %4865

4812:                                             ; preds = %4806
  br label %4813

4813:                                             ; preds = %4812
  br label %4814

4814:                                             ; preds = %4813
  call void @llvm.lifetime.start.p0(i64 4, ptr %109) #11
  %4815 = call ptr @__errno_location() #12
  %4816 = load i32, ptr %4815, align 4, !tbaa !5
  store i32 %4816, ptr %109, align 4, !tbaa !5
  %4817 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4818 = call i32 @s2n_print_stacktrace(ptr noundef %4817)
  %4819 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4820 = trunc i8 %4819 to i1
  br i1 %4820, label %4821, label %4843

4821:                                             ; preds = %4814
  %4822 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4823 = call i32 @fileno(ptr noundef %4822) #11
  %4824 = call i32 @isatty(i32 noundef %4823) #11
  %4825 = icmp ne i32 %4824, 0
  br i1 %4825, label %4826, label %4843

4826:                                             ; preds = %4821
  %4827 = load i32, ptr %109, align 4, !tbaa !5
  %4828 = call ptr @__errno_location() #12
  store i32 %4827, ptr %4828, align 4, !tbaa !5
  %4829 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4830 = load i32, ptr @test_count, align 4, !tbaa !5
  %4831 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4832 = load i32, ptr %4831, align 4, !tbaa !5
  %4833 = call ptr @s2n_strerror(i32 noundef %4832, ptr noundef @.str.4)
  %4834 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4835 = load i32, ptr %4834, align 4, !tbaa !5
  %4836 = call ptr @s2n_strerror_debug(i32 noundef %4835, ptr noundef @.str.4)
  %4837 = call ptr @__errno_location() #12
  %4838 = load i32, ptr %4837, align 4, !tbaa !5
  %4839 = call ptr @strerror(i32 noundef %4838) #11
  %4840 = call ptr @__errno_location() #12
  %4841 = load i32, ptr %4840, align 4, !tbaa !5
  %4842 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4829, ptr noundef @.str.2, i32 noundef %4830, ptr noundef @.str.58, ptr noundef @.str.1, i32 noundef 218, ptr noundef %4833, ptr noundef %4836, ptr noundef %4839, i32 noundef %4841) #11
  br label %4860

4843:                                             ; preds = %4821, %4814
  %4844 = load i32, ptr %109, align 4, !tbaa !5
  %4845 = call ptr @__errno_location() #12
  store i32 %4844, ptr %4845, align 4, !tbaa !5
  %4846 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4847 = load i32, ptr @test_count, align 4, !tbaa !5
  %4848 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4849 = load i32, ptr %4848, align 4, !tbaa !5
  %4850 = call ptr @s2n_strerror(i32 noundef %4849, ptr noundef @.str.4)
  %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_debug(i32 noundef %4852, ptr noundef @.str.4)
  %4854 = call ptr @__errno_location() #12
  %4855 = load i32, ptr %4854, align 4, !tbaa !5
  %4856 = call ptr @strerror(i32 noundef %4855) #11
  %4857 = call ptr @__errno_location() #12
  %4858 = load i32, ptr %4857, align 4, !tbaa !5
  %4859 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4846, ptr noundef @.str.5, i32 noundef %4847, ptr noundef @.str.58, ptr noundef @.str.1, i32 noundef 218, ptr noundef %4850, ptr noundef %4853, ptr noundef %4856, i32 noundef %4858) #11
  br label %4860

4860:                                             ; preds = %4843, %4826
  call void @llvm.lifetime.end.p0(i64 4, ptr %109) #11
  br label %4861

4861:                                             ; preds = %4860
  br label %4862

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

4863:                                             ; No predecessors!
  br label %4864

4864:                                             ; preds = %4863
  br label %4865

4865:                                             ; preds = %4864, %4806
  br label %4866

4866:                                             ; preds = %4865
  br label %4867

4867:                                             ; preds = %4866
  br label %4868

4868:                                             ; preds = %4867
  %4869 = load i32, ptr @test_count, align 4, !tbaa !5
  %4870 = add nsw i32 %4869, 1
  store i32 %4870, ptr @test_count, align 4, !tbaa !5
  %4871 = getelementptr inbounds [2 x i8], ptr %108, i64 0, i64 0
  %4872 = load i8, ptr %4871, align 1, !tbaa !52
  %4873 = zext i8 %4872 to i32
  %4874 = mul nsw i32 %4873, 10
  %4875 = getelementptr inbounds [2 x i8], ptr %108, i64 0, i64 1
  %4876 = load i8, ptr %4875, align 1, !tbaa !52
  %4877 = zext i8 %4876 to i32
  %4878 = add nsw i32 %4874, %4877
  %4879 = icmp eq i32 %4878, 33
  br i1 %4879, label %4933, label %4880

4880:                                             ; preds = %4868
  br label %4881

4881:                                             ; preds = %4880
  br label %4882

4882:                                             ; preds = %4881
  call void @llvm.lifetime.start.p0(i64 4, ptr %110) #11
  %4883 = call ptr @__errno_location() #12
  %4884 = load i32, ptr %4883, align 4, !tbaa !5
  store i32 %4884, ptr %110, align 4, !tbaa !5
  %4885 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4886 = call i32 @s2n_print_stacktrace(ptr noundef %4885)
  %4887 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4888 = trunc i8 %4887 to i1
  br i1 %4888, label %4889, label %4911

4889:                                             ; preds = %4882
  %4890 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4891 = call i32 @fileno(ptr noundef %4890) #11
  %4892 = call i32 @isatty(i32 noundef %4891) #11
  %4893 = icmp ne i32 %4892, 0
  br i1 %4893, label %4894, label %4911

4894:                                             ; preds = %4889
  %4895 = load i32, ptr %110, align 4, !tbaa !5
  %4896 = call ptr @__errno_location() #12
  store i32 %4895, ptr %4896, align 4, !tbaa !5
  %4897 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4898 = load i32, ptr @test_count, align 4, !tbaa !5
  %4899 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4900 = load i32, ptr %4899, align 4, !tbaa !5
  %4901 = call ptr @s2n_strerror(i32 noundef %4900, ptr noundef @.str.4)
  %4902 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4903 = load i32, ptr %4902, align 4, !tbaa !5
  %4904 = call ptr @s2n_strerror_debug(i32 noundef %4903, ptr noundef @.str.4)
  %4905 = call ptr @__errno_location() #12
  %4906 = load i32, ptr %4905, align 4, !tbaa !5
  %4907 = call ptr @strerror(i32 noundef %4906) #11
  %4908 = call ptr @__errno_location() #12
  %4909 = load i32, ptr %4908, align 4, !tbaa !5
  %4910 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4897, ptr noundef @.str.2, i32 noundef %4898, ptr noundef @.str.59, ptr noundef @.str.1, i32 noundef 219, ptr noundef %4901, ptr noundef %4904, ptr noundef %4907, i32 noundef %4909) #11
  br label %4928

4911:                                             ; preds = %4889, %4882
  %4912 = load i32, ptr %110, align 4, !tbaa !5
  %4913 = call ptr @__errno_location() #12
  store i32 %4912, ptr %4913, align 4, !tbaa !5
  %4914 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4915 = load i32, ptr @test_count, align 4, !tbaa !5
  %4916 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4917 = load i32, ptr %4916, align 4, !tbaa !5
  %4918 = call ptr @s2n_strerror(i32 noundef %4917, ptr noundef @.str.4)
  %4919 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4920 = load i32, ptr %4919, align 4, !tbaa !5
  %4921 = call ptr @s2n_strerror_debug(i32 noundef %4920, ptr noundef @.str.4)
  %4922 = call ptr @__errno_location() #12
  %4923 = load i32, ptr %4922, align 4, !tbaa !5
  %4924 = call ptr @strerror(i32 noundef %4923) #11
  %4925 = call ptr @__errno_location() #12
  %4926 = load i32, ptr %4925, align 4, !tbaa !5
  %4927 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4914, ptr noundef @.str.5, i32 noundef %4915, ptr noundef @.str.59, ptr noundef @.str.1, i32 noundef 219, ptr noundef %4918, ptr noundef %4921, ptr noundef %4924, i32 noundef %4926) #11
  br label %4928

4928:                                             ; preds = %4911, %4894
  call void @llvm.lifetime.end.p0(i64 4, ptr %110) #11
  br label %4929

4929:                                             ; preds = %4928
  br label %4930

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

4931:                                             ; No predecessors!
  br label %4932

4932:                                             ; preds = %4931
  br label %4933

4933:                                             ; preds = %4932, %4868
  br label %4934

4934:                                             ; preds = %4933
  br label %4935

4935:                                             ; preds = %4934
  call void @llvm.lifetime.start.p0(i64 2, ptr %111) #11
  call void @llvm.memset.p0.i64(ptr align 1 %111, i8 0, i64 2, i1 false)
  br label %4936

4936:                                             ; preds = %4935
  %4937 = load i32, ptr @test_count, align 4, !tbaa !5
  %4938 = add nsw i32 %4937, 1
  store i32 %4938, ptr @test_count, align 4, !tbaa !5
  %4939 = getelementptr inbounds [2 x i8], ptr %111, i64 0, i64 0
  %4940 = call i32 @s2n_stuffer_read_bytes(ptr noundef %102, ptr noundef %4939, i32 noundef 2)
  %4941 = icmp eq i32 %4940, -1
  br i1 %4941, label %4942, label %4995

4942:                                             ; preds = %4936
  br label %4943

4943:                                             ; preds = %4942
  br label %4944

4944:                                             ; preds = %4943
  call void @llvm.lifetime.start.p0(i64 4, ptr %112) #11
  %4945 = call ptr @__errno_location() #12
  %4946 = load i32, ptr %4945, align 4, !tbaa !5
  store i32 %4946, ptr %112, align 4, !tbaa !5
  %4947 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4948 = call i32 @s2n_print_stacktrace(ptr noundef %4947)
  %4949 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4950 = trunc i8 %4949 to i1
  br i1 %4950, label %4951, label %4973

4951:                                             ; preds = %4944
  %4952 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4953 = call i32 @fileno(ptr noundef %4952) #11
  %4954 = call i32 @isatty(i32 noundef %4953) #11
  %4955 = icmp ne i32 %4954, 0
  br i1 %4955, label %4956, label %4973

4956:                                             ; preds = %4951
  %4957 = load i32, ptr %112, align 4, !tbaa !5
  %4958 = call ptr @__errno_location() #12
  store i32 %4957, ptr %4958, align 4, !tbaa !5
  %4959 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4960 = load i32, ptr @test_count, align 4, !tbaa !5
  %4961 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4962 = load i32, ptr %4961, align 4, !tbaa !5
  %4963 = call ptr @s2n_strerror(i32 noundef %4962, ptr noundef @.str.4)
  %4964 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4965 = load i32, ptr %4964, align 4, !tbaa !5
  %4966 = call ptr @s2n_strerror_debug(i32 noundef %4965, ptr noundef @.str.4)
  %4967 = call ptr @__errno_location() #12
  %4968 = load i32, ptr %4967, align 4, !tbaa !5
  %4969 = call ptr @strerror(i32 noundef %4968) #11
  %4970 = call ptr @__errno_location() #12
  %4971 = load i32, ptr %4970, align 4, !tbaa !5
  %4972 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4959, ptr noundef @.str.2, i32 noundef %4960, ptr noundef @.str.60, ptr noundef @.str.1, i32 noundef 222, ptr noundef %4963, ptr noundef %4966, ptr noundef %4969, i32 noundef %4971) #11
  br label %4990

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

4990:                                             ; preds = %4973, %4956
  call void @llvm.lifetime.end.p0(i64 4, ptr %112) #11
  br label %4991

4991:                                             ; preds = %4990
  br label %4992

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

4993:                                             ; No predecessors!
  br label %4994

4994:                                             ; preds = %4993
  br label %4995

4995:                                             ; preds = %4994, %4936
  br label %4996

4996:                                             ; preds = %4995
  br label %4997

4997:                                             ; preds = %4996
  br label %4998

4998:                                             ; preds = %4997
  br label %4999

4999:                                             ; preds = %4998
  %5000 = load i32, ptr @test_count, align 4, !tbaa !5
  %5001 = add nsw i32 %5000, 1
  store i32 %5001, ptr @test_count, align 4, !tbaa !5
  %5002 = getelementptr inbounds [2 x i8], ptr %111, i64 0, i64 0
  %5003 = getelementptr inbounds [2 x i8], ptr %94, i64 0, i64 0
  %5004 = call i32 @memcmp(ptr noundef %5002, ptr noundef %5003, i64 noundef 2) #14
  %5005 = icmp eq i32 %5004, 0
  br i1 %5005, label %5059, label %5006

5006:                                             ; preds = %4999
  br label %5007

5007:                                             ; preds = %5006
  br label %5008

5008:                                             ; preds = %5007
  call void @llvm.lifetime.start.p0(i64 4, ptr %113) #11
  %5009 = call ptr @__errno_location() #12
  %5010 = load i32, ptr %5009, align 4, !tbaa !5
  store i32 %5010, ptr %113, align 4, !tbaa !5
  %5011 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5012 = call i32 @s2n_print_stacktrace(ptr noundef %5011)
  %5013 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5014 = trunc i8 %5013 to i1
  br i1 %5014, label %5015, label %5037

5015:                                             ; preds = %5008
  %5016 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5017 = call i32 @fileno(ptr noundef %5016) #11
  %5018 = call i32 @isatty(i32 noundef %5017) #11
  %5019 = icmp ne i32 %5018, 0
  br i1 %5019, label %5020, label %5037

5020:                                             ; preds = %5015
  %5021 = load i32, ptr %113, align 4, !tbaa !5
  %5022 = call ptr @__errno_location() #12
  store i32 %5021, ptr %5022, align 4, !tbaa !5
  %5023 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5024 = load i32, ptr @test_count, align 4, !tbaa !5
  %5025 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5026 = load i32, ptr %5025, align 4, !tbaa !5
  %5027 = call ptr @s2n_strerror(i32 noundef %5026, ptr noundef @.str.4)
  %5028 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5029 = load i32, ptr %5028, align 4, !tbaa !5
  %5030 = call ptr @s2n_strerror_debug(i32 noundef %5029, ptr noundef @.str.4)
  %5031 = call ptr @__errno_location() #12
  %5032 = load i32, ptr %5031, align 4, !tbaa !5
  %5033 = call ptr @strerror(i32 noundef %5032) #11
  %5034 = call ptr @__errno_location() #12
  %5035 = load i32, ptr %5034, align 4, !tbaa !5
  %5036 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5023, ptr noundef @.str.2, i32 noundef %5024, ptr noundef @.str.61, ptr noundef @.str.1, i32 noundef 223, ptr noundef %5027, ptr noundef %5030, ptr noundef %5033, i32 noundef %5035) #11
  br label %5054

5037:                                             ; preds = %5015, %5008
  %5038 = load i32, ptr %113, align 4, !tbaa !5
  %5039 = call ptr @__errno_location() #12
  store i32 %5038, ptr %5039, align 4, !tbaa !5
  %5040 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5041 = load i32, ptr @test_count, align 4, !tbaa !5
  %5042 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5043 = load i32, ptr %5042, align 4, !tbaa !5
  %5044 = call ptr @s2n_strerror(i32 noundef %5043, ptr noundef @.str.4)
  %5045 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5046 = load i32, ptr %5045, align 4, !tbaa !5
  %5047 = call ptr @s2n_strerror_debug(i32 noundef %5046, ptr noundef @.str.4)
  %5048 = call ptr @__errno_location() #12
  %5049 = load i32, ptr %5048, align 4, !tbaa !5
  %5050 = call ptr @strerror(i32 noundef %5049) #11
  %5051 = call ptr @__errno_location() #12
  %5052 = load i32, ptr %5051, align 4, !tbaa !5
  %5053 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5040, ptr noundef @.str.5, i32 noundef %5041, ptr noundef @.str.61, ptr noundef @.str.1, i32 noundef 223, ptr noundef %5044, ptr noundef %5047, ptr noundef %5050, i32 noundef %5052) #11
  br label %5054

5054:                                             ; preds = %5037, %5020
  call void @llvm.lifetime.end.p0(i64 4, ptr %113) #11
  br label %5055

5055:                                             ; preds = %5054
  br label %5056

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

5057:                                             ; No predecessors!
  br label %5058

5058:                                             ; preds = %5057
  br label %5059

5059:                                             ; preds = %5058, %4999
  br label %5060

5060:                                             ; preds = %5059
  br label %5061

5061:                                             ; preds = %5060
  br label %5062

5062:                                             ; preds = %5061
  br label %5063

5063:                                             ; preds = %5062
  call void @llvm.lifetime.start.p0(i64 8, ptr %114) #11
  call void @llvm.memset.p0.i64(ptr align 1 %114, i8 0, i64 8, i1 false)
  br label %5064

5064:                                             ; preds = %5063
  %5065 = load i32, ptr @test_count, align 4, !tbaa !5
  %5066 = add nsw i32 %5065, 1
  store i32 %5066, ptr @test_count, align 4, !tbaa !5
  %5067 = getelementptr inbounds [8 x i8], ptr %114, i64 0, i64 0
  %5068 = call i32 @s2n_stuffer_read_bytes(ptr noundef %102, ptr noundef %5067, i32 noundef 8)
  %5069 = icmp eq i32 %5068, -1
  br i1 %5069, label %5070, label %5123

5070:                                             ; preds = %5064
  br label %5071

5071:                                             ; preds = %5070
  br label %5072

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

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

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

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

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

5119:                                             ; preds = %5118
  br label %5120

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

5121:                                             ; No predecessors!
  br label %5122

5122:                                             ; preds = %5121
  br label %5123

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

5124:                                             ; preds = %5123
  br label %5125

5125:                                             ; preds = %5124
  call void @llvm.lifetime.start.p0(i64 8, ptr %116) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 1 %116, ptr align 1 @__const.main.expected_sequence_number, i64 8, i1 false)
  br label %5126

5126:                                             ; preds = %5125
  br label %5127

5127:                                             ; preds = %5126
  %5128 = load i32, ptr @test_count, align 4, !tbaa !5
  %5129 = add nsw i32 %5128, 1
  store i32 %5129, ptr @test_count, align 4, !tbaa !5
  %5130 = getelementptr inbounds [8 x i8], ptr %114, i64 0, i64 0
  %5131 = getelementptr inbounds [8 x i8], ptr %116, i64 0, i64 0
  %5132 = call i32 @memcmp(ptr noundef %5130, ptr noundef %5131, i64 noundef 8) #14
  %5133 = icmp eq i32 %5132, 0
  br i1 %5133, label %5187, label %5134

5134:                                             ; preds = %5127
  br label %5135

5135:                                             ; preds = %5134
  br label %5136

5136:                                             ; preds = %5135
  call void @llvm.lifetime.start.p0(i64 4, ptr %117) #11
  %5137 = call ptr @__errno_location() #12
  %5138 = load i32, ptr %5137, align 4, !tbaa !5
  store i32 %5138, ptr %117, align 4, !tbaa !5
  %5139 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5140 = call i32 @s2n_print_stacktrace(ptr noundef %5139)
  %5141 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5142 = trunc i8 %5141 to i1
  br i1 %5142, label %5143, label %5165

5143:                                             ; preds = %5136
  %5144 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5145 = call i32 @fileno(ptr noundef %5144) #11
  %5146 = call i32 @isatty(i32 noundef %5145) #11
  %5147 = icmp ne i32 %5146, 0
  br i1 %5147, label %5148, label %5165

5148:                                             ; preds = %5143
  %5149 = load i32, ptr %117, align 4, !tbaa !5
  %5150 = call ptr @__errno_location() #12
  store i32 %5149, ptr %5150, align 4, !tbaa !5
  %5151 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5152 = load i32, ptr @test_count, align 4, !tbaa !5
  %5153 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5154 = load i32, ptr %5153, align 4, !tbaa !5
  %5155 = call ptr @s2n_strerror(i32 noundef %5154, ptr noundef @.str.4)
  %5156 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5157 = load i32, ptr %5156, align 4, !tbaa !5
  %5158 = call ptr @s2n_strerror_debug(i32 noundef %5157, ptr noundef @.str.4)
  %5159 = call ptr @__errno_location() #12
  %5160 = load i32, ptr %5159, align 4, !tbaa !5
  %5161 = call ptr @strerror(i32 noundef %5160) #11
  %5162 = call ptr @__errno_location() #12
  %5163 = load i32, ptr %5162, align 4, !tbaa !5
  %5164 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5151, ptr noundef @.str.2, i32 noundef %5152, ptr noundef @.str.63, ptr noundef @.str.1, i32 noundef 230, ptr noundef %5155, ptr noundef %5158, ptr noundef %5161, i32 noundef %5163) #11
  br label %5182

5165:                                             ; preds = %5143, %5136
  %5166 = load i32, ptr %117, align 4, !tbaa !5
  %5167 = call ptr @__errno_location() #12
  store i32 %5166, ptr %5167, align 4, !tbaa !5
  %5168 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5169 = load i32, ptr @test_count, align 4, !tbaa !5
  %5170 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5171 = load i32, ptr %5170, align 4, !tbaa !5
  %5172 = call ptr @s2n_strerror(i32 noundef %5171, ptr noundef @.str.4)
  %5173 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5174 = load i32, ptr %5173, align 4, !tbaa !5
  %5175 = call ptr @s2n_strerror_debug(i32 noundef %5174, ptr noundef @.str.4)
  %5176 = call ptr @__errno_location() #12
  %5177 = load i32, ptr %5176, align 4, !tbaa !5
  %5178 = call ptr @strerror(i32 noundef %5177) #11
  %5179 = call ptr @__errno_location() #12
  %5180 = load i32, ptr %5179, align 4, !tbaa !5
  %5181 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5168, ptr noundef @.str.5, i32 noundef %5169, ptr noundef @.str.63, ptr noundef @.str.1, i32 noundef 230, ptr noundef %5172, ptr noundef %5175, ptr noundef %5178, i32 noundef %5180) #11
  br label %5182

5182:                                             ; preds = %5165, %5148
  call void @llvm.lifetime.end.p0(i64 4, ptr %117) #11
  br label %5183

5183:                                             ; preds = %5182
  br label %5184

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

5185:                                             ; No predecessors!
  br label %5186

5186:                                             ; preds = %5185
  br label %5187

5187:                                             ; preds = %5186, %5127
  br label %5188

5188:                                             ; preds = %5187
  br label %5189

5189:                                             ; preds = %5188
  br label %5190

5190:                                             ; preds = %5189
  br label %5191

5191:                                             ; preds = %5190
  call void @llvm.lifetime.start.p0(i64 8, ptr %118) #11
  call void @llvm.memset.p0.i64(ptr align 1 %118, i8 0, i64 8, i1 false)
  br label %5192

5192:                                             ; preds = %5191
  %5193 = load i32, ptr @test_count, align 4, !tbaa !5
  %5194 = add nsw i32 %5193, 1
  store i32 %5194, ptr @test_count, align 4, !tbaa !5
  %5195 = getelementptr inbounds [8 x i8], ptr %118, i64 0, i64 0
  %5196 = call i32 @s2n_stuffer_read_bytes(ptr noundef %102, ptr noundef %5195, i32 noundef 8)
  %5197 = icmp eq i32 %5196, -1
  br i1 %5197, label %5198, label %5251

5198:                                             ; preds = %5192
  br label %5199

5199:                                             ; preds = %5198
  br label %5200

5200:                                             ; preds = %5199
  call void @llvm.lifetime.start.p0(i64 4, ptr %119) #11
  %5201 = call ptr @__errno_location() #12
  %5202 = load i32, ptr %5201, align 4, !tbaa !5
  store i32 %5202, ptr %119, align 4, !tbaa !5
  %5203 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5204 = call i32 @s2n_print_stacktrace(ptr noundef %5203)
  %5205 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5206 = trunc i8 %5205 to i1
  br i1 %5206, label %5207, label %5229

5207:                                             ; preds = %5200
  %5208 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5209 = call i32 @fileno(ptr noundef %5208) #11
  %5210 = call i32 @isatty(i32 noundef %5209) #11
  %5211 = icmp ne i32 %5210, 0
  br i1 %5211, label %5212, label %5229

5212:                                             ; preds = %5207
  %5213 = load i32, ptr %119, align 4, !tbaa !5
  %5214 = call ptr @__errno_location() #12
  store i32 %5213, ptr %5214, align 4, !tbaa !5
  %5215 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5216 = load i32, ptr @test_count, align 4, !tbaa !5
  %5217 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5218 = load i32, ptr %5217, align 4, !tbaa !5
  %5219 = call ptr @s2n_strerror(i32 noundef %5218, ptr noundef @.str.4)
  %5220 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5221 = load i32, ptr %5220, align 4, !tbaa !5
  %5222 = call ptr @s2n_strerror_debug(i32 noundef %5221, ptr noundef @.str.4)
  %5223 = call ptr @__errno_location() #12
  %5224 = load i32, ptr %5223, align 4, !tbaa !5
  %5225 = call ptr @strerror(i32 noundef %5224) #11
  %5226 = call ptr @__errno_location() #12
  %5227 = load i32, ptr %5226, align 4, !tbaa !5
  %5228 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5215, ptr noundef @.str.2, i32 noundef %5216, ptr noundef @.str.64, ptr noundef @.str.1, i32 noundef 234, ptr noundef %5219, ptr noundef %5222, ptr noundef %5225, i32 noundef %5227) #11
  br label %5246

5229:                                             ; preds = %5207, %5200
  %5230 = load i32, ptr %119, align 4, !tbaa !5
  %5231 = call ptr @__errno_location() #12
  store i32 %5230, ptr %5231, align 4, !tbaa !5
  %5232 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5233 = load i32, ptr @test_count, align 4, !tbaa !5
  %5234 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5235 = load i32, ptr %5234, align 4, !tbaa !5
  %5236 = call ptr @s2n_strerror(i32 noundef %5235, ptr noundef @.str.4)
  %5237 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5238 = load i32, ptr %5237, align 4, !tbaa !5
  %5239 = call ptr @s2n_strerror_debug(i32 noundef %5238, ptr noundef @.str.4)
  %5240 = call ptr @__errno_location() #12
  %5241 = load i32, ptr %5240, align 4, !tbaa !5
  %5242 = call ptr @strerror(i32 noundef %5241) #11
  %5243 = call ptr @__errno_location() #12
  %5244 = load i32, ptr %5243, align 4, !tbaa !5
  %5245 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5232, ptr noundef @.str.5, i32 noundef %5233, ptr noundef @.str.64, ptr noundef @.str.1, i32 noundef 234, ptr noundef %5236, ptr noundef %5239, ptr noundef %5242, i32 noundef %5244) #11
  br label %5246

5246:                                             ; preds = %5229, %5212
  call void @llvm.lifetime.end.p0(i64 4, ptr %119) #11
  br label %5247

5247:                                             ; preds = %5246
  br label %5248

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

5249:                                             ; No predecessors!
  br label %5250

5250:                                             ; preds = %5249
  br label %5251

5251:                                             ; preds = %5250, %5192
  br label %5252

5252:                                             ; preds = %5251
  br label %5253

5253:                                             ; preds = %5252
  br label %5254

5254:                                             ; preds = %5253
  br label %5255

5255:                                             ; preds = %5254
  %5256 = load i32, ptr @test_count, align 4, !tbaa !5
  %5257 = add nsw i32 %5256, 1
  store i32 %5257, ptr @test_count, align 4, !tbaa !5
  %5258 = getelementptr inbounds [8 x i8], ptr %118, i64 0, i64 0
  %5259 = getelementptr inbounds [8 x i8], ptr %116, i64 0, i64 0
  %5260 = call i32 @memcmp(ptr noundef %5258, ptr noundef %5259, i64 noundef 8) #14
  %5261 = icmp eq i32 %5260, 0
  br i1 %5261, label %5315, label %5262

5262:                                             ; preds = %5255
  br label %5263

5263:                                             ; preds = %5262
  br label %5264

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

5271:                                             ; preds = %5264
  %5272 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5273 = call i32 @fileno(ptr noundef %5272) #11
  %5274 = call i32 @isatty(i32 noundef %5273) #11
  %5275 = icmp ne i32 %5274, 0
  br i1 %5275, label %5276, label %5293

5276:                                             ; preds = %5271
  %5277 = load i32, ptr %120, align 4, !tbaa !5
  %5278 = call ptr @__errno_location() #12
  store i32 %5277, ptr %5278, align 4, !tbaa !5
  %5279 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5280 = load i32, ptr @test_count, align 4, !tbaa !5
  %5281 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5282 = load i32, ptr %5281, align 4, !tbaa !5
  %5283 = call ptr @s2n_strerror(i32 noundef %5282, ptr noundef @.str.4)
  %5284 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5285 = load i32, ptr %5284, align 4, !tbaa !5
  %5286 = call ptr @s2n_strerror_debug(i32 noundef %5285, ptr noundef @.str.4)
  %5287 = call ptr @__errno_location() #12
  %5288 = load i32, ptr %5287, align 4, !tbaa !5
  %5289 = call ptr @strerror(i32 noundef %5288) #11
  %5290 = call ptr @__errno_location() #12
  %5291 = load i32, ptr %5290, align 4, !tbaa !5
  %5292 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5279, ptr noundef @.str.2, i32 noundef %5280, ptr noundef @.str.65, ptr noundef @.str.1, i32 noundef 236, ptr noundef %5283, ptr noundef %5286, ptr noundef %5289, i32 noundef %5291) #11
  br label %5310

5293:                                             ; preds = %5271, %5264
  %5294 = load i32, ptr %120, align 4, !tbaa !5
  %5295 = call ptr @__errno_location() #12
  store i32 %5294, ptr %5295, align 4, !tbaa !5
  %5296 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5297 = load i32, ptr @test_count, align 4, !tbaa !5
  %5298 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5299 = load i32, ptr %5298, align 4, !tbaa !5
  %5300 = call ptr @s2n_strerror(i32 noundef %5299, ptr noundef @.str.4)
  %5301 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5302 = load i32, ptr %5301, align 4, !tbaa !5
  %5303 = call ptr @s2n_strerror_debug(i32 noundef %5302, ptr noundef @.str.4)
  %5304 = call ptr @__errno_location() #12
  %5305 = load i32, ptr %5304, align 4, !tbaa !5
  %5306 = call ptr @strerror(i32 noundef %5305) #11
  %5307 = call ptr @__errno_location() #12
  %5308 = load i32, ptr %5307, align 4, !tbaa !5
  %5309 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5296, ptr noundef @.str.5, i32 noundef %5297, ptr noundef @.str.65, ptr noundef @.str.1, i32 noundef 236, ptr noundef %5300, ptr noundef %5303, ptr noundef %5306, i32 noundef %5308) #11
  br label %5310

5310:                                             ; preds = %5293, %5276
  call void @llvm.lifetime.end.p0(i64 4, ptr %120) #11
  br label %5311

5311:                                             ; preds = %5310
  br label %5312

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

5313:                                             ; No predecessors!
  br label %5314

5314:                                             ; preds = %5313
  br label %5315

5315:                                             ; preds = %5314, %5255
  br label %5316

5316:                                             ; preds = %5315
  br label %5317

5317:                                             ; preds = %5316
  br label %5318

5318:                                             ; preds = %5317
  br label %5319

5319:                                             ; preds = %5318
  call void @llvm.lifetime.start.p0(i64 2, ptr %121) #11
  store i16 0, ptr %121, align 2, !tbaa !59
  br label %5320

5320:                                             ; preds = %5319
  %5321 = load i32, ptr @test_count, align 4, !tbaa !5
  %5322 = add nsw i32 %5321, 1
  store i32 %5322, ptr @test_count, align 4, !tbaa !5
  %5323 = call i32 @s2n_stuffer_read_uint16(ptr noundef %102, ptr noundef %121)
  %5324 = icmp eq i32 %5323, -1
  br i1 %5324, label %5325, label %5378

5325:                                             ; preds = %5320
  br label %5326

5326:                                             ; preds = %5325
  br label %5327

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

5334:                                             ; preds = %5327
  %5335 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5336 = call i32 @fileno(ptr noundef %5335) #11
  %5337 = call i32 @isatty(i32 noundef %5336) #11
  %5338 = icmp ne i32 %5337, 0
  br i1 %5338, label %5339, label %5356

5339:                                             ; preds = %5334
  %5340 = load i32, ptr %122, align 4, !tbaa !5
  %5341 = call ptr @__errno_location() #12
  store i32 %5340, ptr %5341, align 4, !tbaa !5
  %5342 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5343 = load i32, ptr @test_count, align 4, !tbaa !5
  %5344 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5345 = load i32, ptr %5344, align 4, !tbaa !5
  %5346 = call ptr @s2n_strerror(i32 noundef %5345, ptr noundef @.str.4)
  %5347 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5348 = load i32, ptr %5347, align 4, !tbaa !5
  %5349 = call ptr @s2n_strerror_debug(i32 noundef %5348, ptr noundef @.str.4)
  %5350 = call ptr @__errno_location() #12
  %5351 = load i32, ptr %5350, align 4, !tbaa !5
  %5352 = call ptr @strerror(i32 noundef %5351) #11
  %5353 = call ptr @__errno_location() #12
  %5354 = load i32, ptr %5353, align 4, !tbaa !5
  %5355 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5342, ptr noundef @.str.2, i32 noundef %5343, ptr noundef @.str.66, ptr noundef @.str.1, i32 noundef 239, ptr noundef %5346, ptr noundef %5349, ptr noundef %5352, i32 noundef %5354) #11
  br label %5373

5356:                                             ; preds = %5334, %5327
  %5357 = load i32, ptr %122, align 4, !tbaa !5
  %5358 = call ptr @__errno_location() #12
  store i32 %5357, ptr %5358, align 4, !tbaa !5
  %5359 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5360 = load i32, ptr @test_count, align 4, !tbaa !5
  %5361 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5362 = load i32, ptr %5361, align 4, !tbaa !5
  %5363 = call ptr @s2n_strerror(i32 noundef %5362, ptr noundef @.str.4)
  %5364 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5365 = load i32, ptr %5364, align 4, !tbaa !5
  %5366 = call ptr @s2n_strerror_debug(i32 noundef %5365, ptr noundef @.str.4)
  %5367 = call ptr @__errno_location() #12
  %5368 = load i32, ptr %5367, align 4, !tbaa !5
  %5369 = call ptr @strerror(i32 noundef %5368) #11
  %5370 = call ptr @__errno_location() #12
  %5371 = load i32, ptr %5370, align 4, !tbaa !5
  %5372 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5359, ptr noundef @.str.5, i32 noundef %5360, ptr noundef @.str.66, ptr noundef @.str.1, i32 noundef 239, ptr noundef %5363, ptr noundef %5366, ptr noundef %5369, i32 noundef %5371) #11
  br label %5373

5373:                                             ; preds = %5356, %5339
  call void @llvm.lifetime.end.p0(i64 4, ptr %122) #11
  br label %5374

5374:                                             ; preds = %5373
  br label %5375

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

5376:                                             ; No predecessors!
  br label %5377

5377:                                             ; preds = %5376
  br label %5378

5378:                                             ; preds = %5377, %5320
  br label %5379

5379:                                             ; preds = %5378
  br label %5380

5380:                                             ; preds = %5379
  br label %5381

5381:                                             ; preds = %5380
  %5382 = load i32, ptr @test_count, align 4, !tbaa !5
  %5383 = add nsw i32 %5382, 1
  store i32 %5383, ptr @test_count, align 4, !tbaa !5
  %5384 = load i16, ptr %121, align 2, !tbaa !59
  %5385 = zext i16 %5384 to i32
  %5386 = icmp eq i32 %5385, 8087
  br i1 %5386, label %5440, label %5387

5387:                                             ; preds = %5381
  br label %5388

5388:                                             ; preds = %5387
  br label %5389

5389:                                             ; preds = %5388
  call void @llvm.lifetime.start.p0(i64 4, ptr %123) #11
  %5390 = call ptr @__errno_location() #12
  %5391 = load i32, ptr %5390, align 4, !tbaa !5
  store i32 %5391, ptr %123, align 4, !tbaa !5
  %5392 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5393 = call i32 @s2n_print_stacktrace(ptr noundef %5392)
  %5394 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5395 = trunc i8 %5394 to i1
  br i1 %5395, label %5396, label %5418

5396:                                             ; preds = %5389
  %5397 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5398 = call i32 @fileno(ptr noundef %5397) #11
  %5399 = call i32 @isatty(i32 noundef %5398) #11
  %5400 = icmp ne i32 %5399, 0
  br i1 %5400, label %5401, label %5418

5401:                                             ; preds = %5396
  %5402 = load i32, ptr %123, align 4, !tbaa !5
  %5403 = call ptr @__errno_location() #12
  store i32 %5402, ptr %5403, align 4, !tbaa !5
  %5404 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5405 = load i32, ptr @test_count, align 4, !tbaa !5
  %5406 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5407 = load i32, ptr %5406, align 4, !tbaa !5
  %5408 = call ptr @s2n_strerror(i32 noundef %5407, ptr noundef @.str.4)
  %5409 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5410 = load i32, ptr %5409, align 4, !tbaa !5
  %5411 = call ptr @s2n_strerror_debug(i32 noundef %5410, ptr noundef @.str.4)
  %5412 = call ptr @__errno_location() #12
  %5413 = load i32, ptr %5412, align 4, !tbaa !5
  %5414 = call ptr @strerror(i32 noundef %5413) #11
  %5415 = call ptr @__errno_location() #12
  %5416 = load i32, ptr %5415, align 4, !tbaa !5
  %5417 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5404, ptr noundef @.str.2, i32 noundef %5405, ptr noundef @.str.67, ptr noundef @.str.1, i32 noundef 240, ptr noundef %5408, ptr noundef %5411, ptr noundef %5414, i32 noundef %5416) #11
  br label %5435

5418:                                             ; preds = %5396, %5389
  %5419 = load i32, ptr %123, align 4, !tbaa !5
  %5420 = call ptr @__errno_location() #12
  store i32 %5419, ptr %5420, align 4, !tbaa !5
  %5421 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5422 = load i32, ptr @test_count, align 4, !tbaa !5
  %5423 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5424 = load i32, ptr %5423, align 4, !tbaa !5
  %5425 = call ptr @s2n_strerror(i32 noundef %5424, ptr noundef @.str.4)
  %5426 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5427 = load i32, ptr %5426, align 4, !tbaa !5
  %5428 = call ptr @s2n_strerror_debug(i32 noundef %5427, ptr noundef @.str.4)
  %5429 = call ptr @__errno_location() #12
  %5430 = load i32, ptr %5429, align 4, !tbaa !5
  %5431 = call ptr @strerror(i32 noundef %5430) #11
  %5432 = call ptr @__errno_location() #12
  %5433 = load i32, ptr %5432, align 4, !tbaa !5
  %5434 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5421, ptr noundef @.str.5, i32 noundef %5422, ptr noundef @.str.67, ptr noundef @.str.1, i32 noundef 240, ptr noundef %5425, ptr noundef %5428, ptr noundef %5431, i32 noundef %5433) #11
  br label %5435

5435:                                             ; preds = %5418, %5401
  call void @llvm.lifetime.end.p0(i64 4, ptr %123) #11
  br label %5436

5436:                                             ; preds = %5435
  br label %5437

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

5438:                                             ; No predecessors!
  br label %5439

5439:                                             ; preds = %5438
  br label %5440

5440:                                             ; preds = %5439, %5381
  br label %5441

5441:                                             ; preds = %5440
  br label %5442

5442:                                             ; preds = %5441
  call void @llvm.lifetime.start.p0(i64 48, ptr %124) #11
  call void @llvm.memset.p0.i64(ptr align 16 %124, i8 0, i64 48, i1 false)
  br label %5443

5443:                                             ; preds = %5442
  %5444 = load i32, ptr @test_count, align 4, !tbaa !5
  %5445 = add nsw i32 %5444, 1
  store i32 %5445, ptr @test_count, align 4, !tbaa !5
  %5446 = getelementptr inbounds [48 x i8], ptr %124, i64 0, i64 0
  %5447 = call i32 @s2n_stuffer_read_bytes(ptr noundef %102, ptr noundef %5446, i32 noundef 48)
  %5448 = icmp eq i32 %5447, -1
  br i1 %5448, label %5449, label %5502

5449:                                             ; preds = %5443
  br label %5450

5450:                                             ; preds = %5449
  br label %5451

5451:                                             ; preds = %5450
  call void @llvm.lifetime.start.p0(i64 4, ptr %125) #11
  %5452 = call ptr @__errno_location() #12
  %5453 = load i32, ptr %5452, align 4, !tbaa !5
  store i32 %5453, ptr %125, align 4, !tbaa !5
  %5454 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5455 = call i32 @s2n_print_stacktrace(ptr noundef %5454)
  %5456 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5457 = trunc i8 %5456 to i1
  br i1 %5457, label %5458, label %5480

5458:                                             ; preds = %5451
  %5459 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5460 = call i32 @fileno(ptr noundef %5459) #11
  %5461 = call i32 @isatty(i32 noundef %5460) #11
  %5462 = icmp ne i32 %5461, 0
  br i1 %5462, label %5463, label %5480

5463:                                             ; preds = %5458
  %5464 = load i32, ptr %125, align 4, !tbaa !5
  %5465 = call ptr @__errno_location() #12
  store i32 %5464, ptr %5465, align 4, !tbaa !5
  %5466 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5467 = load i32, ptr @test_count, align 4, !tbaa !5
  %5468 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5469 = load i32, ptr %5468, align 4, !tbaa !5
  %5470 = call ptr @s2n_strerror(i32 noundef %5469, ptr noundef @.str.4)
  %5471 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5472 = load i32, ptr %5471, align 4, !tbaa !5
  %5473 = call ptr @s2n_strerror_debug(i32 noundef %5472, ptr noundef @.str.4)
  %5474 = call ptr @__errno_location() #12
  %5475 = load i32, ptr %5474, align 4, !tbaa !5
  %5476 = call ptr @strerror(i32 noundef %5475) #11
  %5477 = call ptr @__errno_location() #12
  %5478 = load i32, ptr %5477, align 4, !tbaa !5
  %5479 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5466, ptr noundef @.str.2, i32 noundef %5467, ptr noundef @.str.68, ptr noundef @.str.1, i32 noundef 243, ptr noundef %5470, ptr noundef %5473, ptr noundef %5476, i32 noundef %5478) #11
  br label %5497

5480:                                             ; preds = %5458, %5451
  %5481 = load i32, ptr %125, align 4, !tbaa !5
  %5482 = call ptr @__errno_location() #12
  store i32 %5481, ptr %5482, align 4, !tbaa !5
  %5483 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5484 = load i32, ptr @test_count, align 4, !tbaa !5
  %5485 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5486 = load i32, ptr %5485, align 4, !tbaa !5
  %5487 = call ptr @s2n_strerror(i32 noundef %5486, ptr noundef @.str.4)
  %5488 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5489 = load i32, ptr %5488, align 4, !tbaa !5
  %5490 = call ptr @s2n_strerror_debug(i32 noundef %5489, ptr noundef @.str.4)
  %5491 = call ptr @__errno_location() #12
  %5492 = load i32, ptr %5491, align 4, !tbaa !5
  %5493 = call ptr @strerror(i32 noundef %5492) #11
  %5494 = call ptr @__errno_location() #12
  %5495 = load i32, ptr %5494, align 4, !tbaa !5
  %5496 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5483, ptr noundef @.str.5, i32 noundef %5484, ptr noundef @.str.68, ptr noundef @.str.1, i32 noundef 243, ptr noundef %5487, ptr noundef %5490, ptr noundef %5493, i32 noundef %5495) #11
  br label %5497

5497:                                             ; preds = %5480, %5463
  call void @llvm.lifetime.end.p0(i64 4, ptr %125) #11
  br label %5498

5498:                                             ; preds = %5497
  br label %5499

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

5500:                                             ; No predecessors!
  br label %5501

5501:                                             ; preds = %5500
  br label %5502

5502:                                             ; preds = %5501, %5443
  br label %5503

5503:                                             ; preds = %5502
  br label %5504

5504:                                             ; preds = %5503
  br label %5505

5505:                                             ; preds = %5504
  br label %5506

5506:                                             ; preds = %5505
  %5507 = load i32, ptr @test_count, align 4, !tbaa !5
  %5508 = add nsw i32 %5507, 1
  store i32 %5508, ptr @test_count, align 4, !tbaa !5
  %5509 = getelementptr inbounds [48 x i8], ptr %124, i64 0, i64 0
  %5510 = load ptr, ptr %83, align 8, !tbaa !9
  %5511 = getelementptr inbounds %struct.s2n_connection, ptr %5510, i32 0, i32 28
  %5512 = getelementptr inbounds %struct.s2n_secrets, ptr %5511, i32 0, i32 0
  %5513 = getelementptr inbounds %struct.s2n_tls12_secrets, ptr %5512, i32 0, i32 1
  %5514 = getelementptr inbounds [48 x i8], ptr %5513, i64 0, i64 0
  %5515 = call i32 @memcmp(ptr noundef %5509, ptr noundef %5514, i64 noundef 48) #14
  %5516 = icmp eq i32 %5515, 0
  br i1 %5516, label %5570, label %5517

5517:                                             ; preds = %5506
  br label %5518

5518:                                             ; preds = %5517
  br label %5519

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

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

5531:                                             ; preds = %5526
  %5532 = load i32, ptr %126, align 4, !tbaa !5
  %5533 = call ptr @__errno_location() #12
  store i32 %5532, ptr %5533, align 4, !tbaa !5
  %5534 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5535 = load i32, ptr @test_count, align 4, !tbaa !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(i32 noundef %5537, ptr noundef @.str.4)
  %5539 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5540 = load i32, ptr %5539, align 4, !tbaa !5
  %5541 = call ptr @s2n_strerror_debug(i32 noundef %5540, ptr noundef @.str.4)
  %5542 = call ptr @__errno_location() #12
  %5543 = load i32, ptr %5542, align 4, !tbaa !5
  %5544 = call ptr @strerror(i32 noundef %5543) #11
  %5545 = call ptr @__errno_location() #12
  %5546 = load i32, ptr %5545, align 4, !tbaa !5
  %5547 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5534, ptr noundef @.str.2, i32 noundef %5535, ptr noundef @.str.69, ptr noundef @.str.1, i32 noundef 245, ptr noundef %5538, ptr noundef %5541, ptr noundef %5544, i32 noundef %5546) #11
  br label %5565

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

5565:                                             ; preds = %5548, %5531
  call void @llvm.lifetime.end.p0(i64 4, ptr %126) #11
  br label %5566

5566:                                             ; preds = %5565
  br label %5567

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

5568:                                             ; No predecessors!
  br label %5569

5569:                                             ; preds = %5568
  br label %5570

5570:                                             ; preds = %5569, %5506
  br label %5571

5571:                                             ; preds = %5570
  br label %5572

5572:                                             ; preds = %5571
  br label %5573

5573:                                             ; preds = %5572
  br label %5574

5574:                                             ; preds = %5573
  call void @llvm.lifetime.start.p0(i64 32, ptr %127) #11
  call void @llvm.memset.p0.i64(ptr align 16 %127, i8 0, i64 32, i1 false)
  br label %5575

5575:                                             ; preds = %5574
  %5576 = load i32, ptr @test_count, align 4, !tbaa !5
  %5577 = add nsw i32 %5576, 1
  store i32 %5577, ptr @test_count, align 4, !tbaa !5
  %5578 = getelementptr inbounds [32 x i8], ptr %127, i64 0, i64 0
  %5579 = call i32 @s2n_stuffer_read_bytes(ptr noundef %102, ptr noundef %5578, i32 noundef 32)
  %5580 = icmp eq i32 %5579, -1
  br i1 %5580, label %5581, label %5634

5581:                                             ; preds = %5575
  br label %5582

5582:                                             ; preds = %5581
  br label %5583

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

5590:                                             ; preds = %5583
  %5591 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5592 = call i32 @fileno(ptr noundef %5591) #11
  %5593 = call i32 @isatty(i32 noundef %5592) #11
  %5594 = icmp ne i32 %5593, 0
  br i1 %5594, label %5595, label %5612

5595:                                             ; preds = %5590
  %5596 = load i32, ptr %128, align 4, !tbaa !5
  %5597 = call ptr @__errno_location() #12
  store i32 %5596, ptr %5597, align 4, !tbaa !5
  %5598 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5599 = load i32, ptr @test_count, align 4, !tbaa !5
  %5600 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5601 = load i32, ptr %5600, align 4, !tbaa !5
  %5602 = call ptr @s2n_strerror(i32 noundef %5601, ptr noundef @.str.4)
  %5603 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5604 = load i32, ptr %5603, align 4, !tbaa !5
  %5605 = call ptr @s2n_strerror_debug(i32 noundef %5604, ptr noundef @.str.4)
  %5606 = call ptr @__errno_location() #12
  %5607 = load i32, ptr %5606, align 4, !tbaa !5
  %5608 = call ptr @strerror(i32 noundef %5607) #11
  %5609 = call ptr @__errno_location() #12
  %5610 = load i32, ptr %5609, align 4, !tbaa !5
  %5611 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5598, ptr noundef @.str.2, i32 noundef %5599, ptr noundef @.str.70, ptr noundef @.str.1, i32 noundef 248, ptr noundef %5602, ptr noundef %5605, ptr noundef %5608, i32 noundef %5610) #11
  br label %5629

5612:                                             ; preds = %5590, %5583
  %5613 = load i32, ptr %128, align 4, !tbaa !5
  %5614 = call ptr @__errno_location() #12
  store i32 %5613, ptr %5614, align 4, !tbaa !5
  %5615 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5616 = load i32, ptr @test_count, align 4, !tbaa !5
  %5617 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5618 = load i32, ptr %5617, align 4, !tbaa !5
  %5619 = call ptr @s2n_strerror(i32 noundef %5618, ptr noundef @.str.4)
  %5620 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5621 = load i32, ptr %5620, align 4, !tbaa !5
  %5622 = call ptr @s2n_strerror_debug(i32 noundef %5621, ptr noundef @.str.4)
  %5623 = call ptr @__errno_location() #12
  %5624 = load i32, ptr %5623, align 4, !tbaa !5
  %5625 = call ptr @strerror(i32 noundef %5624) #11
  %5626 = call ptr @__errno_location() #12
  %5627 = load i32, ptr %5626, align 4, !tbaa !5
  %5628 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5615, ptr noundef @.str.5, i32 noundef %5616, ptr noundef @.str.70, ptr noundef @.str.1, i32 noundef 248, ptr noundef %5619, ptr noundef %5622, ptr noundef %5625, i32 noundef %5627) #11
  br label %5629

5629:                                             ; preds = %5612, %5595
  call void @llvm.lifetime.end.p0(i64 4, ptr %128) #11
  br label %5630

5630:                                             ; preds = %5629
  br label %5631

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

5632:                                             ; No predecessors!
  br label %5633

5633:                                             ; preds = %5632
  br label %5634

5634:                                             ; preds = %5633, %5575
  br label %5635

5635:                                             ; preds = %5634
  br label %5636

5636:                                             ; preds = %5635
  br label %5637

5637:                                             ; preds = %5636
  br label %5638

5638:                                             ; preds = %5637
  %5639 = load i32, ptr @test_count, align 4, !tbaa !5
  %5640 = add nsw i32 %5639, 1
  store i32 %5640, ptr @test_count, align 4, !tbaa !5
  %5641 = getelementptr inbounds [32 x i8], ptr %127, i64 0, i64 0
  %5642 = load ptr, ptr %83, align 8, !tbaa !9
  %5643 = getelementptr inbounds %struct.s2n_connection, ptr %5642, i32 0, i32 32
  %5644 = getelementptr inbounds %struct.s2n_handshake_parameters, ptr %5643, i32 0, i32 12
  %5645 = getelementptr inbounds [32 x i8], ptr %5644, i64 0, i64 0
  %5646 = call i32 @memcmp(ptr noundef %5641, ptr noundef %5645, i64 noundef 32) #14
  %5647 = icmp eq i32 %5646, 0
  br i1 %5647, label %5701, label %5648

5648:                                             ; preds = %5638
  br label %5649

5649:                                             ; preds = %5648
  br label %5650

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

5657:                                             ; preds = %5650
  %5658 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5659 = call i32 @fileno(ptr noundef %5658) #11
  %5660 = call i32 @isatty(i32 noundef %5659) #11
  %5661 = icmp ne i32 %5660, 0
  br i1 %5661, label %5662, label %5679

5662:                                             ; preds = %5657
  %5663 = load i32, ptr %129, align 4, !tbaa !5
  %5664 = call ptr @__errno_location() #12
  store i32 %5663, ptr %5664, align 4, !tbaa !5
  %5665 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5666 = load i32, ptr @test_count, align 4, !tbaa !5
  %5667 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5668 = load i32, ptr %5667, align 4, !tbaa !5
  %5669 = call ptr @s2n_strerror(i32 noundef %5668, ptr noundef @.str.4)
  %5670 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5671 = load i32, ptr %5670, align 4, !tbaa !5
  %5672 = call ptr @s2n_strerror_debug(i32 noundef %5671, ptr noundef @.str.4)
  %5673 = call ptr @__errno_location() #12
  %5674 = load i32, ptr %5673, align 4, !tbaa !5
  %5675 = call ptr @strerror(i32 noundef %5674) #11
  %5676 = call ptr @__errno_location() #12
  %5677 = load i32, ptr %5676, align 4, !tbaa !5
  %5678 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5665, ptr noundef @.str.2, i32 noundef %5666, ptr noundef @.str.71, ptr noundef @.str.1, i32 noundef 250, ptr noundef %5669, ptr noundef %5672, ptr noundef %5675, i32 noundef %5677) #11
  br label %5696

5679:                                             ; preds = %5657, %5650
  %5680 = load i32, ptr %129, align 4, !tbaa !5
  %5681 = call ptr @__errno_location() #12
  store i32 %5680, ptr %5681, align 4, !tbaa !5
  %5682 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5683 = load i32, ptr @test_count, align 4, !tbaa !5
  %5684 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5685 = load i32, ptr %5684, align 4, !tbaa !5
  %5686 = call ptr @s2n_strerror(i32 noundef %5685, ptr noundef @.str.4)
  %5687 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5688 = load i32, ptr %5687, align 4, !tbaa !5
  %5689 = call ptr @s2n_strerror_debug(i32 noundef %5688, ptr noundef @.str.4)
  %5690 = call ptr @__errno_location() #12
  %5691 = load i32, ptr %5690, align 4, !tbaa !5
  %5692 = call ptr @strerror(i32 noundef %5691) #11
  %5693 = call ptr @__errno_location() #12
  %5694 = load i32, ptr %5693, align 4, !tbaa !5
  %5695 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5682, ptr noundef @.str.5, i32 noundef %5683, ptr noundef @.str.71, ptr noundef @.str.1, i32 noundef 250, ptr noundef %5686, ptr noundef %5689, ptr noundef %5692, i32 noundef %5694) #11
  br label %5696

5696:                                             ; preds = %5679, %5662
  call void @llvm.lifetime.end.p0(i64 4, ptr %129) #11
  br label %5697

5697:                                             ; preds = %5696
  br label %5698

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

5699:                                             ; No predecessors!
  br label %5700

5700:                                             ; preds = %5699
  br label %5701

5701:                                             ; preds = %5700, %5638
  br label %5702

5702:                                             ; preds = %5701
  br label %5703

5703:                                             ; preds = %5702
  br label %5704

5704:                                             ; preds = %5703
  br label %5705

5705:                                             ; preds = %5704
  call void @llvm.lifetime.start.p0(i64 32, ptr %130) #11
  call void @llvm.memset.p0.i64(ptr align 16 %130, i8 0, i64 32, i1 false)
  br label %5706

5706:                                             ; preds = %5705
  %5707 = load i32, ptr @test_count, align 4, !tbaa !5
  %5708 = add nsw i32 %5707, 1
  store i32 %5708, ptr @test_count, align 4, !tbaa !5
  %5709 = getelementptr inbounds [32 x i8], ptr %130, i64 0, i64 0
  %5710 = call i32 @s2n_stuffer_read_bytes(ptr noundef %102, ptr noundef %5709, i32 noundef 32)
  %5711 = icmp eq i32 %5710, -1
  br i1 %5711, label %5712, label %5765

5712:                                             ; preds = %5706
  br label %5713

5713:                                             ; preds = %5712
  br label %5714

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

5721:                                             ; preds = %5714
  %5722 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5723 = call i32 @fileno(ptr noundef %5722) #11
  %5724 = call i32 @isatty(i32 noundef %5723) #11
  %5725 = icmp ne i32 %5724, 0
  br i1 %5725, label %5726, label %5743

5726:                                             ; preds = %5721
  %5727 = load i32, ptr %131, align 4, !tbaa !5
  %5728 = call ptr @__errno_location() #12
  store i32 %5727, ptr %5728, align 4, !tbaa !5
  %5729 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5730 = load i32, ptr @test_count, align 4, !tbaa !5
  %5731 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5732 = load i32, ptr %5731, align 4, !tbaa !5
  %5733 = call ptr @s2n_strerror(i32 noundef %5732, ptr noundef @.str.4)
  %5734 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5735 = load i32, ptr %5734, align 4, !tbaa !5
  %5736 = call ptr @s2n_strerror_debug(i32 noundef %5735, ptr noundef @.str.4)
  %5737 = call ptr @__errno_location() #12
  %5738 = load i32, ptr %5737, align 4, !tbaa !5
  %5739 = call ptr @strerror(i32 noundef %5738) #11
  %5740 = call ptr @__errno_location() #12
  %5741 = load i32, ptr %5740, align 4, !tbaa !5
  %5742 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5729, ptr noundef @.str.2, i32 noundef %5730, ptr noundef @.str.72, ptr noundef @.str.1, i32 noundef 253, ptr noundef %5733, ptr noundef %5736, ptr noundef %5739, i32 noundef %5741) #11
  br label %5760

5743:                                             ; preds = %5721, %5714
  %5744 = load i32, ptr %131, align 4, !tbaa !5
  %5745 = call ptr @__errno_location() #12
  store i32 %5744, ptr %5745, align 4, !tbaa !5
  %5746 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5747 = load i32, ptr @test_count, align 4, !tbaa !5
  %5748 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5749 = load i32, ptr %5748, align 4, !tbaa !5
  %5750 = call ptr @s2n_strerror(i32 noundef %5749, ptr noundef @.str.4)
  %5751 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5752 = load i32, ptr %5751, align 4, !tbaa !5
  %5753 = call ptr @s2n_strerror_debug(i32 noundef %5752, ptr noundef @.str.4)
  %5754 = call ptr @__errno_location() #12
  %5755 = load i32, ptr %5754, align 4, !tbaa !5
  %5756 = call ptr @strerror(i32 noundef %5755) #11
  %5757 = call ptr @__errno_location() #12
  %5758 = load i32, ptr %5757, align 4, !tbaa !5
  %5759 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5746, ptr noundef @.str.5, i32 noundef %5747, ptr noundef @.str.72, ptr noundef @.str.1, i32 noundef 253, ptr noundef %5750, ptr noundef %5753, ptr noundef %5756, i32 noundef %5758) #11
  br label %5760

5760:                                             ; preds = %5743, %5726
  call void @llvm.lifetime.end.p0(i64 4, ptr %131) #11
  br label %5761

5761:                                             ; preds = %5760
  br label %5762

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

5763:                                             ; No predecessors!
  br label %5764

5764:                                             ; preds = %5763
  br label %5765

5765:                                             ; preds = %5764, %5706
  br label %5766

5766:                                             ; preds = %5765
  br label %5767

5767:                                             ; preds = %5766
  br label %5768

5768:                                             ; preds = %5767
  br label %5769

5769:                                             ; preds = %5768
  %5770 = load i32, ptr @test_count, align 4, !tbaa !5
  %5771 = add nsw i32 %5770, 1
  store i32 %5771, ptr @test_count, align 4, !tbaa !5
  %5772 = getelementptr inbounds [32 x i8], ptr %130, i64 0, i64 0
  %5773 = load ptr, ptr %83, align 8, !tbaa !9
  %5774 = getelementptr inbounds %struct.s2n_connection, ptr %5773, i32 0, i32 32
  %5775 = getelementptr inbounds %struct.s2n_handshake_parameters, ptr %5774, i32 0, i32 13
  %5776 = getelementptr inbounds [32 x i8], ptr %5775, i64 0, i64 0
  %5777 = call i32 @memcmp(ptr noundef %5772, ptr noundef %5776, i64 noundef 32) #14
  %5778 = icmp eq i32 %5777, 0
  br i1 %5778, label %5832, label %5779

5779:                                             ; preds = %5769
  br label %5780

5780:                                             ; preds = %5779
  br label %5781

5781:                                             ; preds = %5780
  call void @llvm.lifetime.start.p0(i64 4, ptr %132) #11
  %5782 = call ptr @__errno_location() #12
  %5783 = load i32, ptr %5782, align 4, !tbaa !5
  store i32 %5783, ptr %132, align 4, !tbaa !5
  %5784 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5785 = call i32 @s2n_print_stacktrace(ptr noundef %5784)
  %5786 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5787 = trunc i8 %5786 to i1
  br i1 %5787, label %5788, label %5810

5788:                                             ; preds = %5781
  %5789 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5790 = call i32 @fileno(ptr noundef %5789) #11
  %5791 = call i32 @isatty(i32 noundef %5790) #11
  %5792 = icmp ne i32 %5791, 0
  br i1 %5792, label %5793, label %5810

5793:                                             ; preds = %5788
  %5794 = load i32, ptr %132, align 4, !tbaa !5
  %5795 = call ptr @__errno_location() #12
  store i32 %5794, ptr %5795, align 4, !tbaa !5
  %5796 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5797 = load i32, ptr @test_count, align 4, !tbaa !5
  %5798 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5799 = load i32, ptr %5798, align 4, !tbaa !5
  %5800 = call ptr @s2n_strerror(i32 noundef %5799, ptr noundef @.str.4)
  %5801 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5802 = load i32, ptr %5801, align 4, !tbaa !5
  %5803 = call ptr @s2n_strerror_debug(i32 noundef %5802, ptr noundef @.str.4)
  %5804 = call ptr @__errno_location() #12
  %5805 = load i32, ptr %5804, align 4, !tbaa !5
  %5806 = call ptr @strerror(i32 noundef %5805) #11
  %5807 = call ptr @__errno_location() #12
  %5808 = load i32, ptr %5807, align 4, !tbaa !5
  %5809 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5796, ptr noundef @.str.2, i32 noundef %5797, ptr noundef @.str.73, ptr noundef @.str.1, i32 noundef 255, ptr noundef %5800, ptr noundef %5803, ptr noundef %5806, i32 noundef %5808) #11
  br label %5827

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

5827:                                             ; preds = %5810, %5793
  call void @llvm.lifetime.end.p0(i64 4, ptr %132) #11
  br label %5828

5828:                                             ; preds = %5827
  br label %5829

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

5830:                                             ; No predecessors!
  br label %5831

5831:                                             ; preds = %5830
  br label %5832

5832:                                             ; preds = %5831, %5769
  br label %5833

5833:                                             ; preds = %5832
  br label %5834

5834:                                             ; preds = %5833
  br label %5835

5835:                                             ; preds = %5834
  br label %5836

5836:                                             ; preds = %5835
  br label %5837

5837:                                             ; preds = %5836
  %5838 = load i32, ptr @test_count, align 4, !tbaa !5
  %5839 = add nsw i32 %5838, 1
  store i32 %5839, ptr @test_count, align 4, !tbaa !5
  %5840 = getelementptr inbounds %struct.s2n_stuffer, ptr %102, i32 0, i32 2
  %5841 = load i32, ptr %5840, align 4, !tbaa !57
  %5842 = getelementptr inbounds %struct.s2n_stuffer, ptr %102, i32 0, i32 1
  %5843 = load i32, ptr %5842, align 8, !tbaa !58
  %5844 = sub i32 %5841, %5843
  %5845 = icmp eq i32 %5844, 0
  br i1 %5845, label %5899, label %5846

5846:                                             ; preds = %5837
  br label %5847

5847:                                             ; preds = %5846
  br label %5848

5848:                                             ; preds = %5847
  call void @llvm.lifetime.start.p0(i64 4, ptr %133) #11
  %5849 = call ptr @__errno_location() #12
  %5850 = load i32, ptr %5849, align 4, !tbaa !5
  store i32 %5850, ptr %133, align 4, !tbaa !5
  %5851 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5852 = call i32 @s2n_print_stacktrace(ptr noundef %5851)
  %5853 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5854 = trunc i8 %5853 to i1
  br i1 %5854, label %5855, label %5877

5855:                                             ; preds = %5848
  %5856 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5857 = call i32 @fileno(ptr noundef %5856) #11
  %5858 = call i32 @isatty(i32 noundef %5857) #11
  %5859 = icmp ne i32 %5858, 0
  br i1 %5859, label %5860, label %5877

5860:                                             ; preds = %5855
  %5861 = load i32, ptr %133, align 4, !tbaa !5
  %5862 = call ptr @__errno_location() #12
  store i32 %5861, ptr %5862, align 4, !tbaa !5
  %5863 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5864 = load i32, ptr @test_count, align 4, !tbaa !5
  %5865 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5866 = load i32, ptr %5865, align 4, !tbaa !5
  %5867 = call ptr @s2n_strerror(i32 noundef %5866, ptr noundef @.str.4)
  %5868 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5869 = load i32, ptr %5868, align 4, !tbaa !5
  %5870 = call ptr @s2n_strerror_debug(i32 noundef %5869, ptr noundef @.str.4)
  %5871 = call ptr @__errno_location() #12
  %5872 = load i32, ptr %5871, align 4, !tbaa !5
  %5873 = call ptr @strerror(i32 noundef %5872) #11
  %5874 = call ptr @__errno_location() #12
  %5875 = load i32, ptr %5874, align 4, !tbaa !5
  %5876 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5863, ptr noundef @.str.2, i32 noundef %5864, ptr noundef @.str.74, ptr noundef @.str.1, i32 noundef 257, ptr noundef %5867, ptr noundef %5870, ptr noundef %5873, i32 noundef %5875) #11
  br label %5894

5877:                                             ; preds = %5855, %5848
  %5878 = load i32, ptr %133, align 4, !tbaa !5
  %5879 = call ptr @__errno_location() #12
  store i32 %5878, ptr %5879, align 4, !tbaa !5
  %5880 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5881 = load i32, ptr @test_count, align 4, !tbaa !5
  %5882 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5883 = load i32, ptr %5882, align 4, !tbaa !5
  %5884 = call ptr @s2n_strerror(i32 noundef %5883, ptr noundef @.str.4)
  %5885 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5886 = load i32, ptr %5885, align 4, !tbaa !5
  %5887 = call ptr @s2n_strerror_debug(i32 noundef %5886, ptr noundef @.str.4)
  %5888 = call ptr @__errno_location() #12
  %5889 = load i32, ptr %5888, align 4, !tbaa !5
  %5890 = call ptr @strerror(i32 noundef %5889) #11
  %5891 = call ptr @__errno_location() #12
  %5892 = load i32, ptr %5891, align 4, !tbaa !5
  %5893 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5880, ptr noundef @.str.5, i32 noundef %5881, ptr noundef @.str.74, ptr noundef @.str.1, i32 noundef 257, ptr noundef %5884, ptr noundef %5887, ptr noundef %5890, i32 noundef %5892) #11
  br label %5894

5894:                                             ; preds = %5877, %5860
  call void @llvm.lifetime.end.p0(i64 4, ptr %133) #11
  br label %5895

5895:                                             ; preds = %5894
  br label %5896

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

5897:                                             ; No predecessors!
  br label %5898

5898:                                             ; preds = %5897
  br label %5899

5899:                                             ; preds = %5898, %5837
  br label %5900

5900:                                             ; preds = %5899
  br label %5901

5901:                                             ; preds = %5900
  call void @llvm.lifetime.end.p0(i64 32, ptr %130) #11
  call void @llvm.lifetime.end.p0(i64 32, ptr %127) #11
  call void @llvm.lifetime.end.p0(i64 48, ptr %124) #11
  call void @llvm.lifetime.end.p0(i64 2, ptr %121) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %118) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %116) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %114) #11
  call void @llvm.lifetime.end.p0(i64 2, ptr %111) #11
  call void @llvm.lifetime.end.p0(i64 2, ptr %108) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %105) #11
  call void @llvm.lifetime.end.p0(i64 40, ptr %102) #11
  call void @llvm.lifetime.end.p0(i64 24, ptr %100) #11
  call void @llvm.lifetime.end.p0(i64 142, ptr %98) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %96) #11
  call void @llvm.lifetime.end.p0(i64 2, ptr %94) #11
  %5902 = call i32 @s2n_io_stuffer_pair_free(ptr noundef %87)
  %5903 = getelementptr inbounds %struct.s2n_result, ptr %134, i32 0, i32 0
  store i32 %5902, ptr %5903, align 4
  call void @llvm.lifetime.end.p0(i64 80, ptr %87) #11
  %5904 = call i32 @s2n_connection_ptr_free(ptr noundef %83)
  %5905 = getelementptr inbounds %struct.s2n_result, ptr %135, i32 0, i32 0
  store i32 %5904, ptr %5905, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %83) #11
  %5906 = call i32 @s2n_connection_ptr_free(ptr noundef %81)
  %5907 = getelementptr inbounds %struct.s2n_result, ptr %136, i32 0, i32 0
  store i32 %5906, ptr %5907, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %81) #11
  %5908 = call zeroext i1 (...) @s2n_is_tls13_fully_supported()
  br i1 %5908, label %5909, label %8019

5909:                                             ; preds = %5901
  call void @llvm.lifetime.start.p0(i64 8, ptr %137) #11
  %5910 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %5910, ptr %137, align 8, !tbaa !9
  br label %5911

5911:                                             ; preds = %5909
  %5912 = load i32, ptr @test_count, align 4, !tbaa !5
  %5913 = add nsw i32 %5912, 1
  store i32 %5913, ptr @test_count, align 4, !tbaa !5
  %5914 = load ptr, ptr %137, align 8, !tbaa !9
  %5915 = icmp eq ptr %5914, null
  br i1 %5915, label %5916, label %5969

5916:                                             ; preds = %5911
  br label %5917

5917:                                             ; preds = %5916
  br label %5918

5918:                                             ; preds = %5917
  call void @llvm.lifetime.start.p0(i64 4, ptr %138) #11
  %5919 = call ptr @__errno_location() #12
  %5920 = load i32, ptr %5919, align 4, !tbaa !5
  store i32 %5920, ptr %138, align 4, !tbaa !5
  %5921 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5922 = call i32 @s2n_print_stacktrace(ptr noundef %5921)
  %5923 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5924 = trunc i8 %5923 to i1
  br i1 %5924, label %5925, label %5947

5925:                                             ; preds = %5918
  %5926 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5927 = call i32 @fileno(ptr noundef %5926) #11
  %5928 = call i32 @isatty(i32 noundef %5927) #11
  %5929 = icmp ne i32 %5928, 0
  br i1 %5929, label %5930, label %5947

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

5947:                                             ; preds = %5925, %5918
  %5948 = load i32, ptr %138, align 4, !tbaa !5
  %5949 = call ptr @__errno_location() #12
  store i32 %5948, ptr %5949, align 4, !tbaa !5
  %5950 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5951 = load i32, ptr @test_count, align 4, !tbaa !5
  %5952 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5953 = load i32, ptr %5952, align 4, !tbaa !5
  %5954 = call ptr @s2n_strerror(i32 noundef %5953, ptr noundef @.str.4)
  %5955 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5956 = load i32, ptr %5955, align 4, !tbaa !5
  %5957 = call ptr @s2n_strerror_debug(i32 noundef %5956, ptr noundef @.str.4)
  %5958 = call ptr @__errno_location() #12
  %5959 = load i32, ptr %5958, align 4, !tbaa !5
  %5960 = call ptr @strerror(i32 noundef %5959) #11
  %5961 = call ptr @__errno_location() #12
  %5962 = load i32, ptr %5961, align 4, !tbaa !5
  %5963 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5950, ptr noundef @.str.5, i32 noundef %5951, ptr noundef @.str.42, ptr noundef @.str.1, i32 noundef 264, ptr noundef %5954, ptr noundef %5957, ptr noundef %5960, i32 noundef %5962) #11
  br label %5964

5964:                                             ; preds = %5947, %5930
  call void @llvm.lifetime.end.p0(i64 4, ptr %138) #11
  br label %5965

5965:                                             ; preds = %5964
  br label %5966

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

5967:                                             ; No predecessors!
  br label %5968

5968:                                             ; preds = %5967
  br label %5969

5969:                                             ; preds = %5968, %5911
  br label %5970

5970:                                             ; preds = %5969
  br label %5971

5971:                                             ; preds = %5970
  call void @llvm.lifetime.start.p0(i64 8, ptr %139) #11
  %5972 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %5972, ptr %139, align 8, !tbaa !9
  br label %5973

5973:                                             ; preds = %5971
  %5974 = load i32, ptr @test_count, align 4, !tbaa !5
  %5975 = add nsw i32 %5974, 1
  store i32 %5975, ptr @test_count, align 4, !tbaa !5
  %5976 = load ptr, ptr %139, align 8, !tbaa !9
  %5977 = icmp eq ptr %5976, null
  br i1 %5977, label %5978, label %6031

5978:                                             ; preds = %5973
  br label %5979

5979:                                             ; preds = %5978
  br label %5980

5980:                                             ; preds = %5979
  call void @llvm.lifetime.start.p0(i64 4, ptr %140) #11
  %5981 = call ptr @__errno_location() #12
  %5982 = load i32, ptr %5981, align 4, !tbaa !5
  store i32 %5982, ptr %140, align 4, !tbaa !5
  %5983 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5984 = call i32 @s2n_print_stacktrace(ptr noundef %5983)
  %5985 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5986 = trunc i8 %5985 to i1
  br i1 %5986, label %5987, label %6009

5987:                                             ; preds = %5980
  %5988 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5989 = call i32 @fileno(ptr noundef %5988) #11
  %5990 = call i32 @isatty(i32 noundef %5989) #11
  %5991 = icmp ne i32 %5990, 0
  br i1 %5991, label %5992, label %6009

5992:                                             ; preds = %5987
  %5993 = load i32, ptr %140, align 4, !tbaa !5
  %5994 = call ptr @__errno_location() #12
  store i32 %5993, ptr %5994, align 4, !tbaa !5
  %5995 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5996 = load i32, ptr @test_count, align 4, !tbaa !5
  %5997 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5998 = load i32, ptr %5997, align 4, !tbaa !5
  %5999 = call ptr @s2n_strerror(i32 noundef %5998, ptr noundef @.str.4)
  %6000 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6001 = load i32, ptr %6000, align 4, !tbaa !5
  %6002 = call ptr @s2n_strerror_debug(i32 noundef %6001, ptr noundef @.str.4)
  %6003 = call ptr @__errno_location() #12
  %6004 = load i32, ptr %6003, align 4, !tbaa !5
  %6005 = call ptr @strerror(i32 noundef %6004) #11
  %6006 = call ptr @__errno_location() #12
  %6007 = load i32, ptr %6006, align 4, !tbaa !5
  %6008 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5995, ptr noundef @.str.2, i32 noundef %5996, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 267, ptr noundef %5999, ptr noundef %6002, ptr noundef %6005, i32 noundef %6007) #11
  br label %6026

6009:                                             ; preds = %5987, %5980
  %6010 = load i32, ptr %140, align 4, !tbaa !5
  %6011 = call ptr @__errno_location() #12
  store i32 %6010, ptr %6011, align 4, !tbaa !5
  %6012 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6013 = load i32, ptr @test_count, align 4, !tbaa !5
  %6014 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6015 = load i32, ptr %6014, align 4, !tbaa !5
  %6016 = call ptr @s2n_strerror(i32 noundef %6015, ptr noundef @.str.4)
  %6017 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6018 = load i32, ptr %6017, align 4, !tbaa !5
  %6019 = call ptr @s2n_strerror_debug(i32 noundef %6018, ptr noundef @.str.4)
  %6020 = call ptr @__errno_location() #12
  %6021 = load i32, ptr %6020, align 4, !tbaa !5
  %6022 = call ptr @strerror(i32 noundef %6021) #11
  %6023 = call ptr @__errno_location() #12
  %6024 = load i32, ptr %6023, align 4, !tbaa !5
  %6025 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6012, ptr noundef @.str.5, i32 noundef %6013, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 267, ptr noundef %6016, ptr noundef %6019, ptr noundef %6022, i32 noundef %6024) #11
  br label %6026

6026:                                             ; preds = %6009, %5992
  call void @llvm.lifetime.end.p0(i64 4, ptr %140) #11
  br label %6027

6027:                                             ; preds = %6026
  br label %6028

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

6029:                                             ; No predecessors!
  br label %6030

6030:                                             ; preds = %6029
  br label %6031

6031:                                             ; preds = %6030, %5973
  br label %6032

6032:                                             ; preds = %6031
  br label %6033

6033:                                             ; preds = %6032
  br label %6034

6034:                                             ; preds = %6033
  %6035 = load i32, ptr @test_count, align 4, !tbaa !5
  %6036 = add nsw i32 %6035, 1
  store i32 %6036, ptr @test_count, align 4, !tbaa !5
  %6037 = load ptr, ptr %137, align 8, !tbaa !9
  %6038 = load ptr, ptr %16, align 8, !tbaa !9
  %6039 = call i32 @s2n_connection_set_config(ptr noundef %6037, ptr noundef %6038)
  %6040 = icmp eq i32 %6039, -1
  br i1 %6040, label %6041, label %6094

6041:                                             ; preds = %6034
  br label %6042

6042:                                             ; preds = %6041
  br label %6043

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

6050:                                             ; preds = %6043
  %6051 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6052 = call i32 @fileno(ptr noundef %6051) #11
  %6053 = call i32 @isatty(i32 noundef %6052) #11
  %6054 = icmp ne i32 %6053, 0
  br i1 %6054, label %6055, label %6072

6055:                                             ; preds = %6050
  %6056 = load i32, ptr %141, align 4, !tbaa !5
  %6057 = call ptr @__errno_location() #12
  store i32 %6056, ptr %6057, align 4, !tbaa !5
  %6058 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6059 = load i32, ptr @test_count, align 4, !tbaa !5
  %6060 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6061 = load i32, ptr %6060, align 4, !tbaa !5
  %6062 = call ptr @s2n_strerror(i32 noundef %6061, ptr noundef @.str.4)
  %6063 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6064 = load i32, ptr %6063, align 4, !tbaa !5
  %6065 = call ptr @s2n_strerror_debug(i32 noundef %6064, ptr noundef @.str.4)
  %6066 = call ptr @__errno_location() #12
  %6067 = load i32, ptr %6066, align 4, !tbaa !5
  %6068 = call ptr @strerror(i32 noundef %6067) #11
  %6069 = call ptr @__errno_location() #12
  %6070 = load i32, ptr %6069, align 4, !tbaa !5
  %6071 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6058, ptr noundef @.str.2, i32 noundef %6059, ptr noundef @.str.75, ptr noundef @.str.1, i32 noundef 269, ptr noundef %6062, ptr noundef %6065, ptr noundef %6068, i32 noundef %6070) #11
  br label %6089

6072:                                             ; preds = %6050, %6043
  %6073 = load i32, ptr %141, align 4, !tbaa !5
  %6074 = call ptr @__errno_location() #12
  store i32 %6073, ptr %6074, align 4, !tbaa !5
  %6075 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6076 = load i32, ptr @test_count, align 4, !tbaa !5
  %6077 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6078 = load i32, ptr %6077, align 4, !tbaa !5
  %6079 = call ptr @s2n_strerror(i32 noundef %6078, ptr noundef @.str.4)
  %6080 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6081 = load i32, ptr %6080, align 4, !tbaa !5
  %6082 = call ptr @s2n_strerror_debug(i32 noundef %6081, ptr noundef @.str.4)
  %6083 = call ptr @__errno_location() #12
  %6084 = load i32, ptr %6083, align 4, !tbaa !5
  %6085 = call ptr @strerror(i32 noundef %6084) #11
  %6086 = call ptr @__errno_location() #12
  %6087 = load i32, ptr %6086, align 4, !tbaa !5
  %6088 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6075, ptr noundef @.str.5, i32 noundef %6076, ptr noundef @.str.75, ptr noundef @.str.1, i32 noundef 269, ptr noundef %6079, ptr noundef %6082, ptr noundef %6085, i32 noundef %6087) #11
  br label %6089

6089:                                             ; preds = %6072, %6055
  call void @llvm.lifetime.end.p0(i64 4, ptr %141) #11
  br label %6090

6090:                                             ; preds = %6089
  br label %6091

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

6092:                                             ; No predecessors!
  br label %6093

6093:                                             ; preds = %6092
  br label %6094

6094:                                             ; preds = %6093, %6034
  br label %6095

6095:                                             ; preds = %6094
  br label %6096

6096:                                             ; preds = %6095
  br label %6097

6097:                                             ; preds = %6096
  %6098 = load i32, ptr @test_count, align 4, !tbaa !5
  %6099 = add nsw i32 %6098, 1
  store i32 %6099, ptr @test_count, align 4, !tbaa !5
  %6100 = load ptr, ptr %139, align 8, !tbaa !9
  %6101 = load ptr, ptr %16, align 8, !tbaa !9
  %6102 = call i32 @s2n_connection_set_config(ptr noundef %6100, ptr noundef %6101)
  %6103 = icmp eq i32 %6102, -1
  br i1 %6103, label %6104, label %6157

6104:                                             ; preds = %6097
  br label %6105

6105:                                             ; preds = %6104
  br label %6106

6106:                                             ; preds = %6105
  call void @llvm.lifetime.start.p0(i64 4, ptr %142) #11
  %6107 = call ptr @__errno_location() #12
  %6108 = load i32, ptr %6107, align 4, !tbaa !5
  store i32 %6108, ptr %142, 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 %142, 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.4)
  %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.4)
  %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.2, i32 noundef %6122, ptr noundef @.str.76, ptr noundef @.str.1, i32 noundef 270, ptr noundef %6125, ptr noundef %6128, ptr noundef %6131, i32 noundef %6133) #11
  br label %6152

6135:                                             ; preds = %6113, %6106
  %6136 = load i32, ptr %142, 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.4)
  %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.4)
  %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.5, i32 noundef %6139, ptr noundef @.str.76, ptr noundef @.str.1, i32 noundef 270, 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 %142) #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, %6097
  br label %6158

6158:                                             ; preds = %6157
  br label %6159

6159:                                             ; preds = %6158
  call void @llvm.lifetime.start.p0(i64 80, ptr %143) #11
  call void @llvm.memset.p0.i64(ptr align 8 %143, i8 0, i64 80, i1 false)
  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 = call i32 @s2n_io_stuffer_pair_init(ptr noundef %143)
  %6164 = getelementptr inbounds %struct.s2n_result, ptr %144, i32 0, i32 0
  store i32 %6163, ptr %6164, align 4
  %6165 = getelementptr inbounds %struct.s2n_result, ptr %144, i32 0, i32 0
  %6166 = load i32, ptr %6165, align 4
  %6167 = call zeroext i1 @s2n_result_is_ok(i32 %6166)
  br i1 %6167, label %6221, label %6168

6168:                                             ; preds = %6160
  br label %6169

6169:                                             ; preds = %6168
  br label %6170

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

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

6182:                                             ; preds = %6177
  %6183 = load i32, ptr %145, align 4, !tbaa !5
  %6184 = call ptr @__errno_location() #12
  store i32 %6183, ptr %6184, align 4, !tbaa !5
  %6185 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6186 = load i32, ptr @test_count, align 4, !tbaa !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(i32 noundef %6188, ptr noundef @.str.4)
  %6190 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6191 = load i32, ptr %6190, align 4, !tbaa !5
  %6192 = call ptr @s2n_strerror_debug(i32 noundef %6191, ptr noundef @.str.4)
  %6193 = call ptr @__errno_location() #12
  %6194 = load i32, ptr %6193, align 4, !tbaa !5
  %6195 = call ptr @strerror(i32 noundef %6194) #11
  %6196 = call ptr @__errno_location() #12
  %6197 = load i32, ptr %6196, align 4, !tbaa !5
  %6198 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6185, ptr noundef @.str.2, i32 noundef %6186, ptr noundef @.str.46, ptr noundef @.str.1, i32 noundef 273, ptr noundef %6189, ptr noundef %6192, ptr noundef %6195, i32 noundef %6197) #11
  br label %6216

6199:                                             ; preds = %6177, %6170
  %6200 = load i32, ptr %145, align 4, !tbaa !5
  %6201 = call ptr @__errno_location() #12
  store i32 %6200, ptr %6201, align 4, !tbaa !5
  %6202 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6203 = load i32, ptr @test_count, align 4, !tbaa !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(i32 noundef %6205, ptr noundef @.str.4)
  %6207 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6208 = load i32, ptr %6207, align 4, !tbaa !5
  %6209 = call ptr @s2n_strerror_debug(i32 noundef %6208, ptr noundef @.str.4)
  %6210 = call ptr @__errno_location() #12
  %6211 = load i32, ptr %6210, align 4, !tbaa !5
  %6212 = call ptr @strerror(i32 noundef %6211) #11
  %6213 = call ptr @__errno_location() #12
  %6214 = load i32, ptr %6213, align 4, !tbaa !5
  %6215 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6202, ptr noundef @.str.5, i32 noundef %6203, ptr noundef @.str.46, ptr noundef @.str.1, i32 noundef 273, ptr noundef %6206, ptr noundef %6209, ptr noundef %6212, i32 noundef %6214) #11
  br label %6216

6216:                                             ; preds = %6199, %6182
  call void @llvm.lifetime.end.p0(i64 4, ptr %145) #11
  br label %6217

6217:                                             ; preds = %6216
  br label %6218

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

6219:                                             ; No predecessors!
  br label %6220

6220:                                             ; preds = %6219
  br label %6221

6221:                                             ; preds = %6220, %6160
  br label %6222

6222:                                             ; preds = %6221
  br label %6223

6223:                                             ; preds = %6222
  br label %6224

6224:                                             ; preds = %6223
  %6225 = load i32, ptr @test_count, align 4, !tbaa !5
  %6226 = add nsw i32 %6225, 1
  store i32 %6226, ptr @test_count, align 4, !tbaa !5
  %6227 = load ptr, ptr %137, align 8, !tbaa !9
  %6228 = load ptr, ptr %139, align 8, !tbaa !9
  %6229 = call i32 @s2n_connections_set_io_stuffer_pair(ptr noundef %6227, ptr noundef %6228, ptr noundef %143)
  %6230 = getelementptr inbounds %struct.s2n_result, ptr %146, i32 0, i32 0
  store i32 %6229, ptr %6230, align 4
  %6231 = getelementptr inbounds %struct.s2n_result, ptr %146, i32 0, i32 0
  %6232 = load i32, ptr %6231, align 4
  %6233 = call zeroext i1 @s2n_result_is_ok(i32 %6232)
  br i1 %6233, label %6287, label %6234

6234:                                             ; preds = %6224
  br label %6235

6235:                                             ; preds = %6234
  br label %6236

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

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

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

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

6282:                                             ; preds = %6265, %6248
  call void @llvm.lifetime.end.p0(i64 4, ptr %147) #11
  br label %6283

6283:                                             ; preds = %6282
  br label %6284

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

6285:                                             ; No predecessors!
  br label %6286

6286:                                             ; preds = %6285
  br label %6287

6287:                                             ; preds = %6286, %6224
  br label %6288

6288:                                             ; preds = %6287
  br label %6289

6289:                                             ; preds = %6288
  br label %6290

6290:                                             ; preds = %6289
  %6291 = load i32, ptr @test_count, align 4, !tbaa !5
  %6292 = add nsw i32 %6291, 1
  store i32 %6292, ptr @test_count, align 4, !tbaa !5
  %6293 = load ptr, ptr %139, align 8, !tbaa !9
  %6294 = load ptr, ptr %137, align 8, !tbaa !9
  %6295 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %6293, ptr noundef %6294)
  %6296 = icmp eq i32 %6295, -1
  br i1 %6296, label %6297, label %6350

6297:                                             ; preds = %6290
  br label %6298

6298:                                             ; preds = %6297
  br label %6299

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

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

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

6328:                                             ; preds = %6306, %6299
  %6329 = load i32, ptr %148, align 4, !tbaa !5
  %6330 = call ptr @__errno_location() #12
  store i32 %6329, ptr %6330, align 4, !tbaa !5
  %6331 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6332 = load i32, ptr @test_count, align 4, !tbaa !5
  %6333 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6334 = load i32, ptr %6333, align 4, !tbaa !5
  %6335 = call ptr @s2n_strerror(i32 noundef %6334, ptr noundef @.str.4)
  %6336 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6337 = load i32, ptr %6336, align 4, !tbaa !5
  %6338 = call ptr @s2n_strerror_debug(i32 noundef %6337, ptr noundef @.str.4)
  %6339 = call ptr @__errno_location() #12
  %6340 = load i32, ptr %6339, align 4, !tbaa !5
  %6341 = call ptr @strerror(i32 noundef %6340) #11
  %6342 = call ptr @__errno_location() #12
  %6343 = load i32, ptr %6342, align 4, !tbaa !5
  %6344 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6331, ptr noundef @.str.5, i32 noundef %6332, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 276, ptr noundef %6335, ptr noundef %6338, ptr noundef %6341, i32 noundef %6343) #11
  br label %6345

6345:                                             ; preds = %6328, %6311
  call void @llvm.lifetime.end.p0(i64 4, ptr %148) #11
  br label %6346

6346:                                             ; preds = %6345
  br label %6347

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

6348:                                             ; No predecessors!
  br label %6349

6349:                                             ; preds = %6348
  br label %6350

6350:                                             ; preds = %6349, %6290
  br label %6351

6351:                                             ; preds = %6350
  br label %6352

6352:                                             ; preds = %6351
  br label %6353

6353:                                             ; preds = %6352
  %6354 = load i32, ptr @test_count, align 4, !tbaa !5
  %6355 = add nsw i32 %6354, 1
  store i32 %6355, ptr @test_count, align 4, !tbaa !5
  %6356 = load ptr, ptr %139, align 8, !tbaa !9
  %6357 = call i32 @s2n_connection_get_actual_protocol_version(ptr noundef %6356)
  %6358 = icmp eq i32 %6357, 34
  br i1 %6358, label %6412, label %6359

6359:                                             ; preds = %6353
  br label %6360

6360:                                             ; preds = %6359
  br label %6361

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

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

6373:                                             ; preds = %6368
  %6374 = load i32, ptr %149, align 4, !tbaa !5
  %6375 = call ptr @__errno_location() #12
  store i32 %6374, ptr %6375, align 4, !tbaa !5
  %6376 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6377 = load i32, ptr @test_count, align 4, !tbaa !5
  %6378 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6379 = load i32, ptr %6378, align 4, !tbaa !5
  %6380 = call ptr @s2n_strerror(i32 noundef %6379, ptr noundef @.str.4)
  %6381 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6382 = load i32, ptr %6381, align 4, !tbaa !5
  %6383 = call ptr @s2n_strerror_debug(i32 noundef %6382, ptr noundef @.str.4)
  %6384 = call ptr @__errno_location() #12
  %6385 = load i32, ptr %6384, align 4, !tbaa !5
  %6386 = call ptr @strerror(i32 noundef %6385) #11
  %6387 = call ptr @__errno_location() #12
  %6388 = load i32, ptr %6387, align 4, !tbaa !5
  %6389 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6376, ptr noundef @.str.2, i32 noundef %6377, ptr noundef @.str.77, ptr noundef @.str.1, i32 noundef 277, ptr noundef %6380, ptr noundef %6383, ptr noundef %6386, i32 noundef %6388) #11
  br label %6407

6390:                                             ; preds = %6368, %6361
  %6391 = load i32, ptr %149, align 4, !tbaa !5
  %6392 = call ptr @__errno_location() #12
  store i32 %6391, ptr %6392, align 4, !tbaa !5
  %6393 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6394 = load i32, ptr @test_count, align 4, !tbaa !5
  %6395 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6396 = load i32, ptr %6395, align 4, !tbaa !5
  %6397 = call ptr @s2n_strerror(i32 noundef %6396, ptr noundef @.str.4)
  %6398 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6399 = load i32, ptr %6398, align 4, !tbaa !5
  %6400 = call ptr @s2n_strerror_debug(i32 noundef %6399, ptr noundef @.str.4)
  %6401 = call ptr @__errno_location() #12
  %6402 = load i32, ptr %6401, align 4, !tbaa !5
  %6403 = call ptr @strerror(i32 noundef %6402) #11
  %6404 = call ptr @__errno_location() #12
  %6405 = load i32, ptr %6404, align 4, !tbaa !5
  %6406 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6393, ptr noundef @.str.5, i32 noundef %6394, ptr noundef @.str.77, ptr noundef @.str.1, i32 noundef 277, ptr noundef %6397, ptr noundef %6400, ptr noundef %6403, i32 noundef %6405) #11
  br label %6407

6407:                                             ; preds = %6390, %6373
  call void @llvm.lifetime.end.p0(i64 4, ptr %149) #11
  br label %6408

6408:                                             ; preds = %6407
  br label %6409

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

6410:                                             ; No predecessors!
  br label %6411

6411:                                             ; preds = %6410
  br label %6412

6412:                                             ; preds = %6411, %6353
  br label %6413

6413:                                             ; preds = %6412
  br label %6414

6414:                                             ; preds = %6413
  call void @llvm.lifetime.start.p0(i64 2, ptr %150) #11
  call void @llvm.memset.p0.i64(ptr align 1 %150, i8 0, i64 2, i1 false)
  br label %6415

6415:                                             ; preds = %6414
  %6416 = load i32, ptr @test_count, align 4, !tbaa !5
  %6417 = add nsw i32 %6416, 1
  store i32 %6417, ptr @test_count, align 4, !tbaa !5
  %6418 = load ptr, ptr %139, align 8, !tbaa !9
  %6419 = getelementptr inbounds [2 x i8], ptr %150, i64 0, i64 0
  %6420 = getelementptr inbounds [2 x i8], ptr %150, i64 0, i64 1
  %6421 = call i32 @s2n_connection_get_cipher_iana_value(ptr noundef %6418, ptr noundef %6419, ptr noundef %6420)
  %6422 = icmp eq i32 %6421, -1
  br i1 %6422, label %6423, label %6476

6423:                                             ; preds = %6415
  br label %6424

6424:                                             ; preds = %6423
  br label %6425

6425:                                             ; preds = %6424
  call void @llvm.lifetime.start.p0(i64 4, ptr %151) #11
  %6426 = call ptr @__errno_location() #12
  %6427 = load i32, ptr %6426, align 4, !tbaa !5
  store i32 %6427, ptr %151, align 4, !tbaa !5
  %6428 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6429 = call i32 @s2n_print_stacktrace(ptr noundef %6428)
  %6430 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6431 = trunc i8 %6430 to i1
  br i1 %6431, label %6432, label %6454

6432:                                             ; preds = %6425
  %6433 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6434 = call i32 @fileno(ptr noundef %6433) #11
  %6435 = call i32 @isatty(i32 noundef %6434) #11
  %6436 = icmp ne i32 %6435, 0
  br i1 %6436, label %6437, label %6454

6437:                                             ; preds = %6432
  %6438 = load i32, ptr %151, align 4, !tbaa !5
  %6439 = call ptr @__errno_location() #12
  store i32 %6438, ptr %6439, align 4, !tbaa !5
  %6440 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6441 = load i32, ptr @test_count, align 4, !tbaa !5
  %6442 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6443 = load i32, ptr %6442, align 4, !tbaa !5
  %6444 = call ptr @s2n_strerror(i32 noundef %6443, ptr noundef @.str.4)
  %6445 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6446 = load i32, ptr %6445, align 4, !tbaa !5
  %6447 = call ptr @s2n_strerror_debug(i32 noundef %6446, ptr noundef @.str.4)
  %6448 = call ptr @__errno_location() #12
  %6449 = load i32, ptr %6448, align 4, !tbaa !5
  %6450 = call ptr @strerror(i32 noundef %6449) #11
  %6451 = call ptr @__errno_location() #12
  %6452 = load i32, ptr %6451, align 4, !tbaa !5
  %6453 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6440, ptr noundef @.str.2, i32 noundef %6441, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 279, ptr noundef %6444, ptr noundef %6447, ptr noundef %6450, i32 noundef %6452) #11
  br label %6471

6454:                                             ; preds = %6432, %6425
  %6455 = load i32, ptr %151, align 4, !tbaa !5
  %6456 = call ptr @__errno_location() #12
  store i32 %6455, ptr %6456, align 4, !tbaa !5
  %6457 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6458 = load i32, ptr @test_count, align 4, !tbaa !5
  %6459 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6460 = load i32, ptr %6459, align 4, !tbaa !5
  %6461 = call ptr @s2n_strerror(i32 noundef %6460, ptr noundef @.str.4)
  %6462 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6463 = load i32, ptr %6462, align 4, !tbaa !5
  %6464 = call ptr @s2n_strerror_debug(i32 noundef %6463, ptr noundef @.str.4)
  %6465 = call ptr @__errno_location() #12
  %6466 = load i32, ptr %6465, align 4, !tbaa !5
  %6467 = call ptr @strerror(i32 noundef %6466) #11
  %6468 = call ptr @__errno_location() #12
  %6469 = load i32, ptr %6468, align 4, !tbaa !5
  %6470 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6457, ptr noundef @.str.5, i32 noundef %6458, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 279, ptr noundef %6461, ptr noundef %6464, ptr noundef %6467, i32 noundef %6469) #11
  br label %6471

6471:                                             ; preds = %6454, %6437
  call void @llvm.lifetime.end.p0(i64 4, ptr %151) #11
  br label %6472

6472:                                             ; preds = %6471
  br label %6473

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

6474:                                             ; No predecessors!
  br label %6475

6475:                                             ; preds = %6474
  br label %6476

6476:                                             ; preds = %6475, %6415
  br label %6477

6477:                                             ; preds = %6476
  br label %6478

6478:                                             ; preds = %6477
  call void @llvm.lifetime.start.p0(i64 4, ptr %152) #11
  store i32 0, ptr %152, align 4, !tbaa !5
  br label %6479

6479:                                             ; preds = %6478
  %6480 = load i32, ptr @test_count, align 4, !tbaa !5
  %6481 = add nsw i32 %6480, 1
  store i32 %6481, ptr @test_count, align 4, !tbaa !5
  %6482 = load ptr, ptr %139, align 8, !tbaa !9
  %6483 = call i32 @s2n_connection_serialization_length(ptr noundef %6482, ptr noundef %152)
  %6484 = icmp eq i32 %6483, -1
  br i1 %6484, label %6485, label %6538

6485:                                             ; preds = %6479
  br label %6486

6486:                                             ; preds = %6485
  br label %6487

6487:                                             ; preds = %6486
  call void @llvm.lifetime.start.p0(i64 4, ptr %153) #11
  %6488 = call ptr @__errno_location() #12
  %6489 = load i32, ptr %6488, align 4, !tbaa !5
  store i32 %6489, ptr %153, align 4, !tbaa !5
  %6490 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6491 = call i32 @s2n_print_stacktrace(ptr noundef %6490)
  %6492 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6493 = trunc i8 %6492 to i1
  br i1 %6493, label %6494, label %6516

6494:                                             ; preds = %6487
  %6495 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6496 = call i32 @fileno(ptr noundef %6495) #11
  %6497 = call i32 @isatty(i32 noundef %6496) #11
  %6498 = icmp ne i32 %6497, 0
  br i1 %6498, label %6499, label %6516

6499:                                             ; preds = %6494
  %6500 = load i32, ptr %153, align 4, !tbaa !5
  %6501 = call ptr @__errno_location() #12
  store i32 %6500, ptr %6501, align 4, !tbaa !5
  %6502 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6503 = load i32, ptr @test_count, align 4, !tbaa !5
  %6504 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6505 = load i32, ptr %6504, align 4, !tbaa !5
  %6506 = call ptr @s2n_strerror(i32 noundef %6505, ptr noundef @.str.4)
  %6507 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6508 = load i32, ptr %6507, align 4, !tbaa !5
  %6509 = call ptr @s2n_strerror_debug(i32 noundef %6508, ptr noundef @.str.4)
  %6510 = call ptr @__errno_location() #12
  %6511 = load i32, ptr %6510, align 4, !tbaa !5
  %6512 = call ptr @strerror(i32 noundef %6511) #11
  %6513 = call ptr @__errno_location() #12
  %6514 = load i32, ptr %6513, align 4, !tbaa !5
  %6515 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6502, ptr noundef @.str.2, i32 noundef %6503, ptr noundef @.str.51, ptr noundef @.str.1, i32 noundef 282, ptr noundef %6506, ptr noundef %6509, ptr noundef %6512, i32 noundef %6514) #11
  br label %6533

6516:                                             ; preds = %6494, %6487
  %6517 = load i32, ptr %153, align 4, !tbaa !5
  %6518 = call ptr @__errno_location() #12
  store i32 %6517, ptr %6518, align 4, !tbaa !5
  %6519 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6520 = load i32, ptr @test_count, align 4, !tbaa !5
  %6521 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6522 = load i32, ptr %6521, align 4, !tbaa !5
  %6523 = call ptr @s2n_strerror(i32 noundef %6522, ptr noundef @.str.4)
  %6524 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6525 = load i32, ptr %6524, align 4, !tbaa !5
  %6526 = call ptr @s2n_strerror_debug(i32 noundef %6525, ptr noundef @.str.4)
  %6527 = call ptr @__errno_location() #12
  %6528 = load i32, ptr %6527, align 4, !tbaa !5
  %6529 = call ptr @strerror(i32 noundef %6528) #11
  %6530 = call ptr @__errno_location() #12
  %6531 = load i32, ptr %6530, align 4, !tbaa !5
  %6532 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6519, ptr noundef @.str.5, i32 noundef %6520, ptr noundef @.str.51, ptr noundef @.str.1, i32 noundef 282, ptr noundef %6523, ptr noundef %6526, ptr noundef %6529, i32 noundef %6531) #11
  br label %6533

6533:                                             ; preds = %6516, %6499
  call void @llvm.lifetime.end.p0(i64 4, ptr %153) #11
  br label %6534

6534:                                             ; preds = %6533
  br label %6535

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

6536:                                             ; No predecessors!
  br label %6537

6537:                                             ; preds = %6536
  br label %6538

6538:                                             ; preds = %6537, %6479
  br label %6539

6539:                                             ; preds = %6538
  br label %6540

6540:                                             ; preds = %6539
  call void @llvm.lifetime.start.p0(i64 126, ptr %154) #11
  call void @llvm.memset.p0.i64(ptr align 16 %154, i8 0, i64 126, i1 false)
  br label %6541

6541:                                             ; preds = %6540
  %6542 = load i32, ptr @test_count, align 4, !tbaa !5
  %6543 = add nsw i32 %6542, 1
  store i32 %6543, ptr @test_count, align 4, !tbaa !5
  %6544 = load ptr, ptr %139, align 8, !tbaa !9
  %6545 = getelementptr inbounds [126 x i8], ptr %154, i64 0, i64 0
  %6546 = call i32 @s2n_connection_serialize(ptr noundef %6544, ptr noundef %6545, i32 noundef 126)
  %6547 = icmp eq i32 %6546, -1
  br i1 %6547, label %6548, label %6601

6548:                                             ; preds = %6541
  br label %6549

6549:                                             ; preds = %6548
  br label %6550

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

6557:                                             ; preds = %6550
  %6558 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6559 = call i32 @fileno(ptr noundef %6558) #11
  %6560 = call i32 @isatty(i32 noundef %6559) #11
  %6561 = icmp ne i32 %6560, 0
  br i1 %6561, label %6562, label %6579

6562:                                             ; preds = %6557
  %6563 = load i32, ptr %155, align 4, !tbaa !5
  %6564 = call ptr @__errno_location() #12
  store i32 %6563, ptr %6564, align 4, !tbaa !5
  %6565 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6566 = load i32, ptr @test_count, align 4, !tbaa !5
  %6567 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6568 = load i32, ptr %6567, align 4, !tbaa !5
  %6569 = call ptr @s2n_strerror(i32 noundef %6568, ptr noundef @.str.4)
  %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_debug(i32 noundef %6571, ptr noundef @.str.4)
  %6573 = call ptr @__errno_location() #12
  %6574 = load i32, ptr %6573, align 4, !tbaa !5
  %6575 = call ptr @strerror(i32 noundef %6574) #11
  %6576 = call ptr @__errno_location() #12
  %6577 = load i32, ptr %6576, align 4, !tbaa !5
  %6578 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6565, ptr noundef @.str.2, i32 noundef %6566, ptr noundef @.str.52, ptr noundef @.str.1, i32 noundef 285, ptr noundef %6569, ptr noundef %6572, ptr noundef %6575, i32 noundef %6577) #11
  br label %6596

6579:                                             ; preds = %6557, %6550
  %6580 = load i32, ptr %155, align 4, !tbaa !5
  %6581 = call ptr @__errno_location() #12
  store i32 %6580, ptr %6581, align 4, !tbaa !5
  %6582 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6583 = load i32, ptr @test_count, align 4, !tbaa !5
  %6584 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6585 = load i32, ptr %6584, align 4, !tbaa !5
  %6586 = call ptr @s2n_strerror(i32 noundef %6585, ptr noundef @.str.4)
  %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_debug(i32 noundef %6588, ptr noundef @.str.4)
  %6590 = call ptr @__errno_location() #12
  %6591 = load i32, ptr %6590, align 4, !tbaa !5
  %6592 = call ptr @strerror(i32 noundef %6591) #11
  %6593 = call ptr @__errno_location() #12
  %6594 = load i32, ptr %6593, align 4, !tbaa !5
  %6595 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6582, ptr noundef @.str.5, i32 noundef %6583, ptr noundef @.str.52, ptr noundef @.str.1, i32 noundef 285, ptr noundef %6586, ptr noundef %6589, ptr noundef %6592, i32 noundef %6594) #11
  br label %6596

6596:                                             ; preds = %6579, %6562
  call void @llvm.lifetime.end.p0(i64 4, ptr %155) #11
  br label %6597

6597:                                             ; preds = %6596
  br label %6598

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

6599:                                             ; No predecessors!
  br label %6600

6600:                                             ; preds = %6599
  br label %6601

6601:                                             ; preds = %6600, %6541
  br label %6602

6602:                                             ; preds = %6601
  br label %6603

6603:                                             ; preds = %6602
  call void @llvm.lifetime.start.p0(i64 24, ptr %156) #11
  call void @llvm.memset.p0.i64(ptr align 8 %156, i8 0, i64 24, i1 false)
  br label %6604

6604:                                             ; preds = %6603
  %6605 = load i32, ptr @test_count, align 4, !tbaa !5
  %6606 = add nsw i32 %6605, 1
  store i32 %6606, ptr @test_count, align 4, !tbaa !5
  %6607 = getelementptr inbounds [126 x i8], ptr %154, i64 0, i64 0
  %6608 = call i32 @s2n_blob_init(ptr noundef %156, ptr noundef %6607, i32 noundef 126)
  %6609 = icmp eq i32 %6608, -1
  br i1 %6609, label %6610, label %6663

6610:                                             ; preds = %6604
  br label %6611

6611:                                             ; preds = %6610
  br label %6612

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

6619:                                             ; preds = %6612
  %6620 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6621 = call i32 @fileno(ptr noundef %6620) #11
  %6622 = call i32 @isatty(i32 noundef %6621) #11
  %6623 = icmp ne i32 %6622, 0
  br i1 %6623, label %6624, label %6641

6624:                                             ; preds = %6619
  %6625 = load i32, ptr %157, align 4, !tbaa !5
  %6626 = call ptr @__errno_location() #12
  store i32 %6625, ptr %6626, align 4, !tbaa !5
  %6627 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6628 = load i32, ptr @test_count, align 4, !tbaa !5
  %6629 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6630 = load i32, ptr %6629, align 4, !tbaa !5
  %6631 = call ptr @s2n_strerror(i32 noundef %6630, ptr noundef @.str.4)
  %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_debug(i32 noundef %6633, ptr noundef @.str.4)
  %6635 = call ptr @__errno_location() #12
  %6636 = load i32, ptr %6635, align 4, !tbaa !5
  %6637 = call ptr @strerror(i32 noundef %6636) #11
  %6638 = call ptr @__errno_location() #12
  %6639 = load i32, ptr %6638, align 4, !tbaa !5
  %6640 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6627, ptr noundef @.str.2, i32 noundef %6628, ptr noundef @.str.53, ptr noundef @.str.1, i32 noundef 288, ptr noundef %6631, ptr noundef %6634, ptr noundef %6637, i32 noundef %6639) #11
  br label %6658

6641:                                             ; preds = %6619, %6612
  %6642 = load i32, ptr %157, align 4, !tbaa !5
  %6643 = call ptr @__errno_location() #12
  store i32 %6642, ptr %6643, align 4, !tbaa !5
  %6644 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6645 = load i32, ptr @test_count, align 4, !tbaa !5
  %6646 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6647 = load i32, ptr %6646, align 4, !tbaa !5
  %6648 = call ptr @s2n_strerror(i32 noundef %6647, ptr noundef @.str.4)
  %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_debug(i32 noundef %6650, ptr noundef @.str.4)
  %6652 = call ptr @__errno_location() #12
  %6653 = load i32, ptr %6652, align 4, !tbaa !5
  %6654 = call ptr @strerror(i32 noundef %6653) #11
  %6655 = call ptr @__errno_location() #12
  %6656 = load i32, ptr %6655, align 4, !tbaa !5
  %6657 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6644, ptr noundef @.str.5, i32 noundef %6645, ptr noundef @.str.53, ptr noundef @.str.1, i32 noundef 288, ptr noundef %6648, ptr noundef %6651, ptr noundef %6654, i32 noundef %6656) #11
  br label %6658

6658:                                             ; preds = %6641, %6624
  call void @llvm.lifetime.end.p0(i64 4, ptr %157) #11
  br label %6659

6659:                                             ; preds = %6658
  br label %6660

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

6661:                                             ; No predecessors!
  br label %6662

6662:                                             ; preds = %6661
  br label %6663

6663:                                             ; preds = %6662, %6604
  br label %6664

6664:                                             ; preds = %6663
  br label %6665

6665:                                             ; preds = %6664
  call void @llvm.lifetime.start.p0(i64 40, ptr %158) #11
  call void @llvm.memset.p0.i64(ptr align 8 %158, i8 0, i64 40, i1 false)
  br label %6666

6666:                                             ; preds = %6665
  %6667 = load i32, ptr @test_count, align 4, !tbaa !5
  %6668 = add nsw i32 %6667, 1
  store i32 %6668, ptr @test_count, align 4, !tbaa !5
  %6669 = call i32 @s2n_stuffer_init_written(ptr noundef %158, ptr noundef %156)
  %6670 = icmp eq i32 %6669, -1
  br i1 %6670, label %6671, label %6724

6671:                                             ; preds = %6666
  br label %6672

6672:                                             ; preds = %6671
  br label %6673

6673:                                             ; preds = %6672
  call void @llvm.lifetime.start.p0(i64 4, ptr %159) #11
  %6674 = call ptr @__errno_location() #12
  %6675 = load i32, ptr %6674, align 4, !tbaa !5
  store i32 %6675, ptr %159, align 4, !tbaa !5
  %6676 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6677 = call i32 @s2n_print_stacktrace(ptr noundef %6676)
  %6678 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6679 = trunc i8 %6678 to i1
  br i1 %6679, label %6680, label %6702

6680:                                             ; preds = %6673
  %6681 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6682 = call i32 @fileno(ptr noundef %6681) #11
  %6683 = call i32 @isatty(i32 noundef %6682) #11
  %6684 = icmp ne i32 %6683, 0
  br i1 %6684, label %6685, label %6702

6685:                                             ; preds = %6680
  %6686 = load i32, ptr %159, align 4, !tbaa !5
  %6687 = call ptr @__errno_location() #12
  store i32 %6686, ptr %6687, align 4, !tbaa !5
  %6688 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6689 = load i32, ptr @test_count, align 4, !tbaa !5
  %6690 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6691 = load i32, ptr %6690, align 4, !tbaa !5
  %6692 = call ptr @s2n_strerror(i32 noundef %6691, ptr noundef @.str.4)
  %6693 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6694 = load i32, ptr %6693, align 4, !tbaa !5
  %6695 = call ptr @s2n_strerror_debug(i32 noundef %6694, ptr noundef @.str.4)
  %6696 = call ptr @__errno_location() #12
  %6697 = load i32, ptr %6696, align 4, !tbaa !5
  %6698 = call ptr @strerror(i32 noundef %6697) #11
  %6699 = call ptr @__errno_location() #12
  %6700 = load i32, ptr %6699, align 4, !tbaa !5
  %6701 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6688, ptr noundef @.str.2, i32 noundef %6689, ptr noundef @.str.54, ptr noundef @.str.1, i32 noundef 290, ptr noundef %6692, ptr noundef %6695, ptr noundef %6698, i32 noundef %6700) #11
  br label %6719

6702:                                             ; preds = %6680, %6673
  %6703 = load i32, ptr %159, align 4, !tbaa !5
  %6704 = call ptr @__errno_location() #12
  store i32 %6703, ptr %6704, align 4, !tbaa !5
  %6705 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6706 = load i32, ptr @test_count, align 4, !tbaa !5
  %6707 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6708 = load i32, ptr %6707, align 4, !tbaa !5
  %6709 = call ptr @s2n_strerror(i32 noundef %6708, ptr noundef @.str.4)
  %6710 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6711 = load i32, ptr %6710, align 4, !tbaa !5
  %6712 = call ptr @s2n_strerror_debug(i32 noundef %6711, ptr noundef @.str.4)
  %6713 = call ptr @__errno_location() #12
  %6714 = load i32, ptr %6713, align 4, !tbaa !5
  %6715 = call ptr @strerror(i32 noundef %6714) #11
  %6716 = call ptr @__errno_location() #12
  %6717 = load i32, ptr %6716, align 4, !tbaa !5
  %6718 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6705, ptr noundef @.str.5, i32 noundef %6706, ptr noundef @.str.54, ptr noundef @.str.1, i32 noundef 290, ptr noundef %6709, ptr noundef %6712, ptr noundef %6715, i32 noundef %6717) #11
  br label %6719

6719:                                             ; preds = %6702, %6685
  call void @llvm.lifetime.end.p0(i64 4, ptr %159) #11
  br label %6720

6720:                                             ; preds = %6719
  br label %6721

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

6722:                                             ; No predecessors!
  br label %6723

6723:                                             ; preds = %6722
  br label %6724

6724:                                             ; preds = %6723, %6666
  br label %6725

6725:                                             ; preds = %6724
  br label %6726

6726:                                             ; preds = %6725
  br label %6727

6727:                                             ; preds = %6726
  %6728 = load i32, ptr @test_count, align 4, !tbaa !5
  %6729 = add nsw i32 %6728, 1
  store i32 %6729, ptr @test_count, align 4, !tbaa !5
  %6730 = load i32, ptr %152, align 4, !tbaa !5
  %6731 = getelementptr inbounds %struct.s2n_stuffer, ptr %158, i32 0, i32 2
  %6732 = load i32, ptr %6731, align 4, !tbaa !57
  %6733 = getelementptr inbounds %struct.s2n_stuffer, ptr %158, i32 0, i32 1
  %6734 = load i32, ptr %6733, align 8, !tbaa !58
  %6735 = sub i32 %6732, %6734
  %6736 = icmp eq i32 %6730, %6735
  br i1 %6736, label %6790, label %6737

6737:                                             ; preds = %6727
  br label %6738

6738:                                             ; preds = %6737
  br label %6739

6739:                                             ; preds = %6738
  call void @llvm.lifetime.start.p0(i64 4, ptr %160) #11
  %6740 = call ptr @__errno_location() #12
  %6741 = load i32, ptr %6740, align 4, !tbaa !5
  store i32 %6741, ptr %160, align 4, !tbaa !5
  %6742 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6743 = call i32 @s2n_print_stacktrace(ptr noundef %6742)
  %6744 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6745 = trunc i8 %6744 to i1
  br i1 %6745, label %6746, label %6768

6746:                                             ; preds = %6739
  %6747 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6748 = call i32 @fileno(ptr noundef %6747) #11
  %6749 = call i32 @isatty(i32 noundef %6748) #11
  %6750 = icmp ne i32 %6749, 0
  br i1 %6750, label %6751, label %6768

6751:                                             ; preds = %6746
  %6752 = load i32, ptr %160, align 4, !tbaa !5
  %6753 = call ptr @__errno_location() #12
  store i32 %6752, ptr %6753, align 4, !tbaa !5
  %6754 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6755 = load i32, ptr @test_count, align 4, !tbaa !5
  %6756 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6757 = load i32, ptr %6756, align 4, !tbaa !5
  %6758 = call ptr @s2n_strerror(i32 noundef %6757, ptr noundef @.str.4)
  %6759 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6760 = load i32, ptr %6759, align 4, !tbaa !5
  %6761 = call ptr @s2n_strerror_debug(i32 noundef %6760, ptr noundef @.str.4)
  %6762 = call ptr @__errno_location() #12
  %6763 = load i32, ptr %6762, align 4, !tbaa !5
  %6764 = call ptr @strerror(i32 noundef %6763) #11
  %6765 = call ptr @__errno_location() #12
  %6766 = load i32, ptr %6765, align 4, !tbaa !5
  %6767 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6754, ptr noundef @.str.2, i32 noundef %6755, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 291, ptr noundef %6758, ptr noundef %6761, ptr noundef %6764, i32 noundef %6766) #11
  br label %6785

6768:                                             ; preds = %6746, %6739
  %6769 = load i32, ptr %160, align 4, !tbaa !5
  %6770 = call ptr @__errno_location() #12
  store i32 %6769, ptr %6770, align 4, !tbaa !5
  %6771 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6772 = load i32, ptr @test_count, align 4, !tbaa !5
  %6773 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6774 = load i32, ptr %6773, align 4, !tbaa !5
  %6775 = call ptr @s2n_strerror(i32 noundef %6774, ptr noundef @.str.4)
  %6776 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6777 = load i32, ptr %6776, align 4, !tbaa !5
  %6778 = call ptr @s2n_strerror_debug(i32 noundef %6777, ptr noundef @.str.4)
  %6779 = call ptr @__errno_location() #12
  %6780 = load i32, ptr %6779, align 4, !tbaa !5
  %6781 = call ptr @strerror(i32 noundef %6780) #11
  %6782 = call ptr @__errno_location() #12
  %6783 = load i32, ptr %6782, align 4, !tbaa !5
  %6784 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6771, ptr noundef @.str.5, i32 noundef %6772, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 291, ptr noundef %6775, ptr noundef %6778, ptr noundef %6781, i32 noundef %6783) #11
  br label %6785

6785:                                             ; preds = %6768, %6751
  call void @llvm.lifetime.end.p0(i64 4, ptr %160) #11
  br label %6786

6786:                                             ; preds = %6785
  br label %6787

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

6788:                                             ; No predecessors!
  br label %6789

6789:                                             ; preds = %6788
  br label %6790

6790:                                             ; preds = %6789, %6727
  br label %6791

6791:                                             ; preds = %6790
  br label %6792

6792:                                             ; preds = %6791
  call void @llvm.lifetime.start.p0(i64 8, ptr %161) #11
  store i64 0, ptr %161, align 8, !tbaa !42
  br label %6793

6793:                                             ; preds = %6792
  %6794 = load i32, ptr @test_count, align 4, !tbaa !5
  %6795 = add nsw i32 %6794, 1
  store i32 %6795, ptr @test_count, align 4, !tbaa !5
  %6796 = call i32 @s2n_stuffer_read_uint64(ptr noundef %158, ptr noundef %161)
  %6797 = icmp eq i32 %6796, -1
  br i1 %6797, label %6798, label %6851

6798:                                             ; preds = %6793
  br label %6799

6799:                                             ; preds = %6798
  br label %6800

6800:                                             ; preds = %6799
  call void @llvm.lifetime.start.p0(i64 4, ptr %162) #11
  %6801 = call ptr @__errno_location() #12
  %6802 = load i32, ptr %6801, align 4, !tbaa !5
  store i32 %6802, ptr %162, align 4, !tbaa !5
  %6803 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6804 = call i32 @s2n_print_stacktrace(ptr noundef %6803)
  %6805 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6806 = trunc i8 %6805 to i1
  br i1 %6806, label %6807, label %6829

6807:                                             ; preds = %6800
  %6808 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6809 = call i32 @fileno(ptr noundef %6808) #11
  %6810 = call i32 @isatty(i32 noundef %6809) #11
  %6811 = icmp ne i32 %6810, 0
  br i1 %6811, label %6812, label %6829

6812:                                             ; preds = %6807
  %6813 = load i32, ptr %162, align 4, !tbaa !5
  %6814 = call ptr @__errno_location() #12
  store i32 %6813, ptr %6814, align 4, !tbaa !5
  %6815 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6816 = load i32, ptr @test_count, align 4, !tbaa !5
  %6817 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6818 = load i32, ptr %6817, align 4, !tbaa !5
  %6819 = call ptr @s2n_strerror(i32 noundef %6818, ptr noundef @.str.4)
  %6820 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6821 = load i32, ptr %6820, align 4, !tbaa !5
  %6822 = call ptr @s2n_strerror_debug(i32 noundef %6821, ptr noundef @.str.4)
  %6823 = call ptr @__errno_location() #12
  %6824 = load i32, ptr %6823, align 4, !tbaa !5
  %6825 = call ptr @strerror(i32 noundef %6824) #11
  %6826 = call ptr @__errno_location() #12
  %6827 = load i32, ptr %6826, align 4, !tbaa !5
  %6828 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6815, ptr noundef @.str.2, i32 noundef %6816, ptr noundef @.str.56, ptr noundef @.str.1, i32 noundef 294, ptr noundef %6819, ptr noundef %6822, ptr noundef %6825, i32 noundef %6827) #11
  br label %6846

6829:                                             ; preds = %6807, %6800
  %6830 = load i32, ptr %162, align 4, !tbaa !5
  %6831 = call ptr @__errno_location() #12
  store i32 %6830, ptr %6831, align 4, !tbaa !5
  %6832 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6833 = load i32, ptr @test_count, align 4, !tbaa !5
  %6834 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6835 = load i32, ptr %6834, align 4, !tbaa !5
  %6836 = call ptr @s2n_strerror(i32 noundef %6835, ptr noundef @.str.4)
  %6837 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6838 = load i32, ptr %6837, align 4, !tbaa !5
  %6839 = call ptr @s2n_strerror_debug(i32 noundef %6838, ptr noundef @.str.4)
  %6840 = call ptr @__errno_location() #12
  %6841 = load i32, ptr %6840, align 4, !tbaa !5
  %6842 = call ptr @strerror(i32 noundef %6841) #11
  %6843 = call ptr @__errno_location() #12
  %6844 = load i32, ptr %6843, align 4, !tbaa !5
  %6845 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6832, ptr noundef @.str.5, i32 noundef %6833, ptr noundef @.str.56, ptr noundef @.str.1, i32 noundef 294, ptr noundef %6836, ptr noundef %6839, ptr noundef %6842, i32 noundef %6844) #11
  br label %6846

6846:                                             ; preds = %6829, %6812
  call void @llvm.lifetime.end.p0(i64 4, ptr %162) #11
  br label %6847

6847:                                             ; preds = %6846
  br label %6848

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

6849:                                             ; No predecessors!
  br label %6850

6850:                                             ; preds = %6849
  br label %6851

6851:                                             ; preds = %6850, %6793
  br label %6852

6852:                                             ; preds = %6851
  br label %6853

6853:                                             ; preds = %6852
  br label %6854

6854:                                             ; preds = %6853
  %6855 = load i32, ptr @test_count, align 4, !tbaa !5
  %6856 = add nsw i32 %6855, 1
  store i32 %6856, ptr @test_count, align 4, !tbaa !5
  %6857 = load i64, ptr %161, align 8, !tbaa !42
  %6858 = icmp eq i64 %6857, 1
  br i1 %6858, label %6912, label %6859

6859:                                             ; preds = %6854
  br label %6860

6860:                                             ; preds = %6859
  br label %6861

6861:                                             ; preds = %6860
  call void @llvm.lifetime.start.p0(i64 4, ptr %163) #11
  %6862 = call ptr @__errno_location() #12
  %6863 = load i32, ptr %6862, align 4, !tbaa !5
  store i32 %6863, ptr %163, align 4, !tbaa !5
  %6864 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6865 = call i32 @s2n_print_stacktrace(ptr noundef %6864)
  %6866 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6867 = trunc i8 %6866 to i1
  br i1 %6867, label %6868, label %6890

6868:                                             ; preds = %6861
  %6869 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6870 = call i32 @fileno(ptr noundef %6869) #11
  %6871 = call i32 @isatty(i32 noundef %6870) #11
  %6872 = icmp ne i32 %6871, 0
  br i1 %6872, label %6873, label %6890

6873:                                             ; preds = %6868
  %6874 = load i32, ptr %163, align 4, !tbaa !5
  %6875 = call ptr @__errno_location() #12
  store i32 %6874, ptr %6875, align 4, !tbaa !5
  %6876 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6877 = load i32, ptr @test_count, align 4, !tbaa !5
  %6878 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6879 = load i32, ptr %6878, align 4, !tbaa !5
  %6880 = call ptr @s2n_strerror(i32 noundef %6879, ptr noundef @.str.4)
  %6881 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6882 = load i32, ptr %6881, align 4, !tbaa !5
  %6883 = call ptr @s2n_strerror_debug(i32 noundef %6882, ptr noundef @.str.4)
  %6884 = call ptr @__errno_location() #12
  %6885 = load i32, ptr %6884, align 4, !tbaa !5
  %6886 = call ptr @strerror(i32 noundef %6885) #11
  %6887 = call ptr @__errno_location() #12
  %6888 = load i32, ptr %6887, align 4, !tbaa !5
  %6889 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6876, ptr noundef @.str.2, i32 noundef %6877, ptr noundef @.str.57, ptr noundef @.str.1, i32 noundef 295, ptr noundef %6880, ptr noundef %6883, ptr noundef %6886, i32 noundef %6888) #11
  br label %6907

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

6907:                                             ; preds = %6890, %6873
  call void @llvm.lifetime.end.p0(i64 4, ptr %163) #11
  br label %6908

6908:                                             ; preds = %6907
  br label %6909

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

6910:                                             ; No predecessors!
  br label %6911

6911:                                             ; preds = %6910
  br label %6912

6912:                                             ; preds = %6911, %6854
  br label %6913

6913:                                             ; preds = %6912
  br label %6914

6914:                                             ; preds = %6913
  call void @llvm.lifetime.start.p0(i64 2, ptr %164) #11
  call void @llvm.memset.p0.i64(ptr align 1 %164, i8 0, i64 2, i1 false)
  br label %6915

6915:                                             ; preds = %6914
  %6916 = load i32, ptr @test_count, align 4, !tbaa !5
  %6917 = add nsw i32 %6916, 1
  store i32 %6917, ptr @test_count, align 4, !tbaa !5
  %6918 = getelementptr inbounds [2 x i8], ptr %164, i64 0, i64 0
  %6919 = call i32 @s2n_stuffer_read_bytes(ptr noundef %158, ptr noundef %6918, i32 noundef 2)
  %6920 = icmp eq i32 %6919, -1
  br i1 %6920, label %6921, label %6974

6921:                                             ; preds = %6915
  br label %6922

6922:                                             ; preds = %6921
  br label %6923

6923:                                             ; preds = %6922
  call void @llvm.lifetime.start.p0(i64 4, ptr %165) #11
  %6924 = call ptr @__errno_location() #12
  %6925 = load i32, ptr %6924, align 4, !tbaa !5
  store i32 %6925, ptr %165, align 4, !tbaa !5
  %6926 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6927 = call i32 @s2n_print_stacktrace(ptr noundef %6926)
  %6928 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6929 = trunc i8 %6928 to i1
  br i1 %6929, label %6930, label %6952

6930:                                             ; preds = %6923
  %6931 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6932 = call i32 @fileno(ptr noundef %6931) #11
  %6933 = call i32 @isatty(i32 noundef %6932) #11
  %6934 = icmp ne i32 %6933, 0
  br i1 %6934, label %6935, label %6952

6935:                                             ; preds = %6930
  %6936 = load i32, ptr %165, align 4, !tbaa !5
  %6937 = call ptr @__errno_location() #12
  store i32 %6936, ptr %6937, align 4, !tbaa !5
  %6938 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6939 = load i32, ptr @test_count, align 4, !tbaa !5
  %6940 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6941 = load i32, ptr %6940, align 4, !tbaa !5
  %6942 = call ptr @s2n_strerror(i32 noundef %6941, ptr noundef @.str.4)
  %6943 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6944 = load i32, ptr %6943, align 4, !tbaa !5
  %6945 = call ptr @s2n_strerror_debug(i32 noundef %6944, ptr noundef @.str.4)
  %6946 = call ptr @__errno_location() #12
  %6947 = load i32, ptr %6946, align 4, !tbaa !5
  %6948 = call ptr @strerror(i32 noundef %6947) #11
  %6949 = call ptr @__errno_location() #12
  %6950 = load i32, ptr %6949, align 4, !tbaa !5
  %6951 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6938, ptr noundef @.str.2, i32 noundef %6939, ptr noundef @.str.58, ptr noundef @.str.1, i32 noundef 299, ptr noundef %6942, ptr noundef %6945, ptr noundef %6948, i32 noundef %6950) #11
  br label %6969

6952:                                             ; preds = %6930, %6923
  %6953 = load i32, ptr %165, align 4, !tbaa !5
  %6954 = call ptr @__errno_location() #12
  store i32 %6953, ptr %6954, align 4, !tbaa !5
  %6955 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6956 = load i32, ptr @test_count, align 4, !tbaa !5
  %6957 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6958 = load i32, ptr %6957, align 4, !tbaa !5
  %6959 = call ptr @s2n_strerror(i32 noundef %6958, ptr noundef @.str.4)
  %6960 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6961 = load i32, ptr %6960, align 4, !tbaa !5
  %6962 = call ptr @s2n_strerror_debug(i32 noundef %6961, ptr noundef @.str.4)
  %6963 = call ptr @__errno_location() #12
  %6964 = load i32, ptr %6963, align 4, !tbaa !5
  %6965 = call ptr @strerror(i32 noundef %6964) #11
  %6966 = call ptr @__errno_location() #12
  %6967 = load i32, ptr %6966, align 4, !tbaa !5
  %6968 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6955, ptr noundef @.str.5, i32 noundef %6956, ptr noundef @.str.58, ptr noundef @.str.1, i32 noundef 299, ptr noundef %6959, ptr noundef %6962, ptr noundef %6965, i32 noundef %6967) #11
  br label %6969

6969:                                             ; preds = %6952, %6935
  call void @llvm.lifetime.end.p0(i64 4, ptr %165) #11
  br label %6970

6970:                                             ; preds = %6969
  br label %6971

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

6972:                                             ; No predecessors!
  br label %6973

6973:                                             ; preds = %6972
  br label %6974

6974:                                             ; preds = %6973, %6915
  br label %6975

6975:                                             ; preds = %6974
  br label %6976

6976:                                             ; preds = %6975
  br label %6977

6977:                                             ; preds = %6976
  %6978 = load i32, ptr @test_count, align 4, !tbaa !5
  %6979 = add nsw i32 %6978, 1
  store i32 %6979, ptr @test_count, align 4, !tbaa !5
  %6980 = getelementptr inbounds [2 x i8], ptr %164, i64 0, i64 0
  %6981 = load i8, ptr %6980, align 1, !tbaa !52
  %6982 = zext i8 %6981 to i32
  %6983 = mul nsw i32 %6982, 10
  %6984 = getelementptr inbounds [2 x i8], ptr %164, i64 0, i64 1
  %6985 = load i8, ptr %6984, align 1, !tbaa !52
  %6986 = zext i8 %6985 to i32
  %6987 = add nsw i32 %6983, %6986
  %6988 = icmp eq i32 %6987, 34
  br i1 %6988, label %7042, label %6989

6989:                                             ; preds = %6977
  br label %6990

6990:                                             ; preds = %6989
  br label %6991

6991:                                             ; preds = %6990
  call void @llvm.lifetime.start.p0(i64 4, ptr %166) #11
  %6992 = call ptr @__errno_location() #12
  %6993 = load i32, ptr %6992, align 4, !tbaa !5
  store i32 %6993, ptr %166, align 4, !tbaa !5
  %6994 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6995 = call i32 @s2n_print_stacktrace(ptr noundef %6994)
  %6996 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6997 = trunc i8 %6996 to i1
  br i1 %6997, label %6998, label %7020

6998:                                             ; preds = %6991
  %6999 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7000 = call i32 @fileno(ptr noundef %6999) #11
  %7001 = call i32 @isatty(i32 noundef %7000) #11
  %7002 = icmp ne i32 %7001, 0
  br i1 %7002, label %7003, label %7020

7003:                                             ; preds = %6998
  %7004 = load i32, ptr %166, align 4, !tbaa !5
  %7005 = call ptr @__errno_location() #12
  store i32 %7004, ptr %7005, align 4, !tbaa !5
  %7006 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7007 = load i32, ptr @test_count, align 4, !tbaa !5
  %7008 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7009 = load i32, ptr %7008, align 4, !tbaa !5
  %7010 = call ptr @s2n_strerror(i32 noundef %7009, ptr noundef @.str.4)
  %7011 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7012 = load i32, ptr %7011, align 4, !tbaa !5
  %7013 = call ptr @s2n_strerror_debug(i32 noundef %7012, ptr noundef @.str.4)
  %7014 = call ptr @__errno_location() #12
  %7015 = load i32, ptr %7014, align 4, !tbaa !5
  %7016 = call ptr @strerror(i32 noundef %7015) #11
  %7017 = call ptr @__errno_location() #12
  %7018 = load i32, ptr %7017, align 4, !tbaa !5
  %7019 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7006, ptr noundef @.str.2, i32 noundef %7007, ptr noundef @.str.78, ptr noundef @.str.1, i32 noundef 300, ptr noundef %7010, ptr noundef %7013, ptr noundef %7016, i32 noundef %7018) #11
  br label %7037

7020:                                             ; preds = %6998, %6991
  %7021 = load i32, ptr %166, align 4, !tbaa !5
  %7022 = call ptr @__errno_location() #12
  store i32 %7021, ptr %7022, align 4, !tbaa !5
  %7023 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7024 = load i32, ptr @test_count, align 4, !tbaa !5
  %7025 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7026 = load i32, ptr %7025, align 4, !tbaa !5
  %7027 = call ptr @s2n_strerror(i32 noundef %7026, ptr noundef @.str.4)
  %7028 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7029 = load i32, ptr %7028, align 4, !tbaa !5
  %7030 = call ptr @s2n_strerror_debug(i32 noundef %7029, ptr noundef @.str.4)
  %7031 = call ptr @__errno_location() #12
  %7032 = load i32, ptr %7031, align 4, !tbaa !5
  %7033 = call ptr @strerror(i32 noundef %7032) #11
  %7034 = call ptr @__errno_location() #12
  %7035 = load i32, ptr %7034, align 4, !tbaa !5
  %7036 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7023, ptr noundef @.str.5, i32 noundef %7024, ptr noundef @.str.78, ptr noundef @.str.1, i32 noundef 300, ptr noundef %7027, ptr noundef %7030, ptr noundef %7033, i32 noundef %7035) #11
  br label %7037

7037:                                             ; preds = %7020, %7003
  call void @llvm.lifetime.end.p0(i64 4, ptr %166) #11
  br label %7038

7038:                                             ; preds = %7037
  br label %7039

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

7040:                                             ; No predecessors!
  br label %7041

7041:                                             ; preds = %7040
  br label %7042

7042:                                             ; preds = %7041, %6977
  br label %7043

7043:                                             ; preds = %7042
  br label %7044

7044:                                             ; preds = %7043
  call void @llvm.lifetime.start.p0(i64 2, ptr %167) #11
  call void @llvm.memset.p0.i64(ptr align 1 %167, i8 0, i64 2, i1 false)
  br label %7045

7045:                                             ; preds = %7044
  %7046 = load i32, ptr @test_count, align 4, !tbaa !5
  %7047 = add nsw i32 %7046, 1
  store i32 %7047, ptr @test_count, align 4, !tbaa !5
  %7048 = getelementptr inbounds [2 x i8], ptr %167, i64 0, i64 0
  %7049 = call i32 @s2n_stuffer_read_bytes(ptr noundef %158, ptr noundef %7048, i32 noundef 2)
  %7050 = icmp eq i32 %7049, -1
  br i1 %7050, label %7051, label %7104

7051:                                             ; preds = %7045
  br label %7052

7052:                                             ; preds = %7051
  br label %7053

7053:                                             ; preds = %7052
  call void @llvm.lifetime.start.p0(i64 4, ptr %168) #11
  %7054 = call ptr @__errno_location() #12
  %7055 = load i32, ptr %7054, align 4, !tbaa !5
  store i32 %7055, ptr %168, align 4, !tbaa !5
  %7056 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7057 = call i32 @s2n_print_stacktrace(ptr noundef %7056)
  %7058 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7059 = trunc i8 %7058 to i1
  br i1 %7059, label %7060, label %7082

7060:                                             ; preds = %7053
  %7061 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7062 = call i32 @fileno(ptr noundef %7061) #11
  %7063 = call i32 @isatty(i32 noundef %7062) #11
  %7064 = icmp ne i32 %7063, 0
  br i1 %7064, label %7065, label %7082

7065:                                             ; preds = %7060
  %7066 = load i32, ptr %168, align 4, !tbaa !5
  %7067 = call ptr @__errno_location() #12
  store i32 %7066, ptr %7067, align 4, !tbaa !5
  %7068 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7069 = load i32, ptr @test_count, align 4, !tbaa !5
  %7070 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7071 = load i32, ptr %7070, align 4, !tbaa !5
  %7072 = call ptr @s2n_strerror(i32 noundef %7071, ptr noundef @.str.4)
  %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.4)
  %7076 = call ptr @__errno_location() #12
  %7077 = load i32, ptr %7076, align 4, !tbaa !5
  %7078 = call ptr @strerror(i32 noundef %7077) #11
  %7079 = call ptr @__errno_location() #12
  %7080 = load i32, ptr %7079, align 4, !tbaa !5
  %7081 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7068, ptr noundef @.str.2, i32 noundef %7069, ptr noundef @.str.60, ptr noundef @.str.1, i32 noundef 303, ptr noundef %7072, ptr noundef %7075, ptr noundef %7078, i32 noundef %7080) #11
  br label %7099

7082:                                             ; preds = %7060, %7053
  %7083 = load i32, ptr %168, align 4, !tbaa !5
  %7084 = call ptr @__errno_location() #12
  store i32 %7083, ptr %7084, align 4, !tbaa !5
  %7085 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7086 = load i32, ptr @test_count, align 4, !tbaa !5
  %7087 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7088 = load i32, ptr %7087, align 4, !tbaa !5
  %7089 = call ptr @s2n_strerror(i32 noundef %7088, ptr noundef @.str.4)
  %7090 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7091 = load i32, ptr %7090, align 4, !tbaa !5
  %7092 = call ptr @s2n_strerror_debug(i32 noundef %7091, ptr noundef @.str.4)
  %7093 = call ptr @__errno_location() #12
  %7094 = load i32, ptr %7093, align 4, !tbaa !5
  %7095 = call ptr @strerror(i32 noundef %7094) #11
  %7096 = call ptr @__errno_location() #12
  %7097 = load i32, ptr %7096, align 4, !tbaa !5
  %7098 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7085, ptr noundef @.str.5, i32 noundef %7086, ptr noundef @.str.60, ptr noundef @.str.1, i32 noundef 303, ptr noundef %7089, ptr noundef %7092, ptr noundef %7095, i32 noundef %7097) #11
  br label %7099

7099:                                             ; preds = %7082, %7065
  call void @llvm.lifetime.end.p0(i64 4, ptr %168) #11
  br label %7100

7100:                                             ; preds = %7099
  br label %7101

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

7102:                                             ; No predecessors!
  br label %7103

7103:                                             ; preds = %7102
  br label %7104

7104:                                             ; preds = %7103, %7045
  br label %7105

7105:                                             ; preds = %7104
  br label %7106

7106:                                             ; preds = %7105
  br label %7107

7107:                                             ; preds = %7106
  br label %7108

7108:                                             ; preds = %7107
  %7109 = load i32, ptr @test_count, align 4, !tbaa !5
  %7110 = add nsw i32 %7109, 1
  store i32 %7110, ptr @test_count, align 4, !tbaa !5
  %7111 = getelementptr inbounds [2 x i8], ptr %167, i64 0, i64 0
  %7112 = getelementptr inbounds [2 x i8], ptr %150, i64 0, i64 0
  %7113 = call i32 @memcmp(ptr noundef %7111, ptr noundef %7112, i64 noundef 2) #14
  %7114 = icmp eq i32 %7113, 0
  br i1 %7114, label %7168, label %7115

7115:                                             ; preds = %7108
  br label %7116

7116:                                             ; preds = %7115
  br label %7117

7117:                                             ; preds = %7116
  call void @llvm.lifetime.start.p0(i64 4, ptr %169) #11
  %7118 = call ptr @__errno_location() #12
  %7119 = load i32, ptr %7118, align 4, !tbaa !5
  store i32 %7119, ptr %169, align 4, !tbaa !5
  %7120 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7121 = call i32 @s2n_print_stacktrace(ptr noundef %7120)
  %7122 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7123 = trunc i8 %7122 to i1
  br i1 %7123, label %7124, label %7146

7124:                                             ; preds = %7117
  %7125 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7126 = call i32 @fileno(ptr noundef %7125) #11
  %7127 = call i32 @isatty(i32 noundef %7126) #11
  %7128 = icmp ne i32 %7127, 0
  br i1 %7128, label %7129, label %7146

7129:                                             ; preds = %7124
  %7130 = load i32, ptr %169, align 4, !tbaa !5
  %7131 = call ptr @__errno_location() #12
  store i32 %7130, ptr %7131, align 4, !tbaa !5
  %7132 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7133 = load i32, ptr @test_count, align 4, !tbaa !5
  %7134 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7135 = load i32, ptr %7134, align 4, !tbaa !5
  %7136 = call ptr @s2n_strerror(i32 noundef %7135, ptr noundef @.str.4)
  %7137 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7138 = load i32, ptr %7137, align 4, !tbaa !5
  %7139 = call ptr @s2n_strerror_debug(i32 noundef %7138, ptr noundef @.str.4)
  %7140 = call ptr @__errno_location() #12
  %7141 = load i32, ptr %7140, align 4, !tbaa !5
  %7142 = call ptr @strerror(i32 noundef %7141) #11
  %7143 = call ptr @__errno_location() #12
  %7144 = load i32, ptr %7143, align 4, !tbaa !5
  %7145 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7132, ptr noundef @.str.2, i32 noundef %7133, ptr noundef @.str.61, ptr noundef @.str.1, i32 noundef 304, ptr noundef %7136, ptr noundef %7139, ptr noundef %7142, i32 noundef %7144) #11
  br label %7163

7146:                                             ; preds = %7124, %7117
  %7147 = load i32, ptr %169, align 4, !tbaa !5
  %7148 = call ptr @__errno_location() #12
  store i32 %7147, ptr %7148, align 4, !tbaa !5
  %7149 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7150 = load i32, ptr @test_count, align 4, !tbaa !5
  %7151 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7152 = load i32, ptr %7151, align 4, !tbaa !5
  %7153 = call ptr @s2n_strerror(i32 noundef %7152, ptr noundef @.str.4)
  %7154 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7155 = load i32, ptr %7154, align 4, !tbaa !5
  %7156 = call ptr @s2n_strerror_debug(i32 noundef %7155, ptr noundef @.str.4)
  %7157 = call ptr @__errno_location() #12
  %7158 = load i32, ptr %7157, align 4, !tbaa !5
  %7159 = call ptr @strerror(i32 noundef %7158) #11
  %7160 = call ptr @__errno_location() #12
  %7161 = load i32, ptr %7160, align 4, !tbaa !5
  %7162 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7149, ptr noundef @.str.5, i32 noundef %7150, ptr noundef @.str.61, ptr noundef @.str.1, i32 noundef 304, ptr noundef %7153, ptr noundef %7156, ptr noundef %7159, i32 noundef %7161) #11
  br label %7163

7163:                                             ; preds = %7146, %7129
  call void @llvm.lifetime.end.p0(i64 4, ptr %169) #11
  br label %7164

7164:                                             ; preds = %7163
  br label %7165

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

7166:                                             ; No predecessors!
  br label %7167

7167:                                             ; preds = %7166
  br label %7168

7168:                                             ; preds = %7167, %7108
  br label %7169

7169:                                             ; preds = %7168
  br label %7170

7170:                                             ; preds = %7169
  br label %7171

7171:                                             ; preds = %7170
  br label %7172

7172:                                             ; preds = %7171
  call void @llvm.lifetime.start.p0(i64 8, ptr %170) #11
  call void @llvm.memset.p0.i64(ptr align 1 %170, i8 0, i64 8, i1 false)
  br label %7173

7173:                                             ; preds = %7172
  %7174 = load i32, ptr @test_count, align 4, !tbaa !5
  %7175 = add nsw i32 %7174, 1
  store i32 %7175, ptr @test_count, align 4, !tbaa !5
  %7176 = getelementptr inbounds [8 x i8], ptr %170, i64 0, i64 0
  %7177 = call i32 @s2n_stuffer_read_bytes(ptr noundef %158, ptr noundef %7176, i32 noundef 8)
  %7178 = icmp eq i32 %7177, -1
  br i1 %7178, label %7179, label %7232

7179:                                             ; preds = %7173
  br label %7180

7180:                                             ; preds = %7179
  br label %7181

7181:                                             ; preds = %7180
  call void @llvm.lifetime.start.p0(i64 4, ptr %171) #11
  %7182 = call ptr @__errno_location() #12
  %7183 = load i32, ptr %7182, align 4, !tbaa !5
  store i32 %7183, ptr %171, align 4, !tbaa !5
  %7184 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7185 = call i32 @s2n_print_stacktrace(ptr noundef %7184)
  %7186 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7187 = trunc i8 %7186 to i1
  br i1 %7187, label %7188, label %7210

7188:                                             ; preds = %7181
  %7189 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7190 = call i32 @fileno(ptr noundef %7189) #11
  %7191 = call i32 @isatty(i32 noundef %7190) #11
  %7192 = icmp ne i32 %7191, 0
  br i1 %7192, label %7193, label %7210

7193:                                             ; preds = %7188
  %7194 = load i32, ptr %171, align 4, !tbaa !5
  %7195 = call ptr @__errno_location() #12
  store i32 %7194, ptr %7195, align 4, !tbaa !5
  %7196 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7197 = load i32, ptr @test_count, align 4, !tbaa !5
  %7198 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7199 = load i32, ptr %7198, align 4, !tbaa !5
  %7200 = call ptr @s2n_strerror(i32 noundef %7199, ptr noundef @.str.4)
  %7201 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7202 = load i32, ptr %7201, align 4, !tbaa !5
  %7203 = call ptr @s2n_strerror_debug(i32 noundef %7202, ptr noundef @.str.4)
  %7204 = call ptr @__errno_location() #12
  %7205 = load i32, ptr %7204, align 4, !tbaa !5
  %7206 = call ptr @strerror(i32 noundef %7205) #11
  %7207 = call ptr @__errno_location() #12
  %7208 = load i32, ptr %7207, align 4, !tbaa !5
  %7209 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7196, ptr noundef @.str.2, i32 noundef %7197, ptr noundef @.str.62, ptr noundef @.str.1, i32 noundef 308, ptr noundef %7200, ptr noundef %7203, ptr noundef %7206, i32 noundef %7208) #11
  br label %7227

7210:                                             ; preds = %7188, %7181
  %7211 = load i32, ptr %171, align 4, !tbaa !5
  %7212 = call ptr @__errno_location() #12
  store i32 %7211, ptr %7212, align 4, !tbaa !5
  %7213 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7214 = load i32, ptr @test_count, align 4, !tbaa !5
  %7215 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7216 = load i32, ptr %7215, align 4, !tbaa !5
  %7217 = call ptr @s2n_strerror(i32 noundef %7216, ptr noundef @.str.4)
  %7218 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7219 = load i32, ptr %7218, align 4, !tbaa !5
  %7220 = call ptr @s2n_strerror_debug(i32 noundef %7219, ptr noundef @.str.4)
  %7221 = call ptr @__errno_location() #12
  %7222 = load i32, ptr %7221, align 4, !tbaa !5
  %7223 = call ptr @strerror(i32 noundef %7222) #11
  %7224 = call ptr @__errno_location() #12
  %7225 = load i32, ptr %7224, align 4, !tbaa !5
  %7226 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7213, ptr noundef @.str.5, i32 noundef %7214, ptr noundef @.str.62, ptr noundef @.str.1, i32 noundef 308, ptr noundef %7217, ptr noundef %7220, ptr noundef %7223, i32 noundef %7225) #11
  br label %7227

7227:                                             ; preds = %7210, %7193
  call void @llvm.lifetime.end.p0(i64 4, ptr %171) #11
  br label %7228

7228:                                             ; preds = %7227
  br label %7229

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

7230:                                             ; No predecessors!
  br label %7231

7231:                                             ; preds = %7230
  br label %7232

7232:                                             ; preds = %7231, %7173
  br label %7233

7233:                                             ; preds = %7232
  br label %7234

7234:                                             ; preds = %7233
  call void @llvm.lifetime.start.p0(i64 8, ptr %172) #11
  call void @llvm.memset.p0.i64(ptr align 1 %172, i8 0, i64 8, i1 false)
  br label %7235

7235:                                             ; preds = %7234
  br label %7236

7236:                                             ; preds = %7235
  %7237 = load i32, ptr @test_count, align 4, !tbaa !5
  %7238 = add nsw i32 %7237, 1
  store i32 %7238, ptr @test_count, align 4, !tbaa !5
  %7239 = getelementptr inbounds [8 x i8], ptr %170, i64 0, i64 0
  %7240 = getelementptr inbounds [8 x i8], ptr %172, i64 0, i64 0
  %7241 = call i32 @memcmp(ptr noundef %7239, ptr noundef %7240, i64 noundef 8) #14
  %7242 = icmp eq i32 %7241, 0
  br i1 %7242, label %7296, label %7243

7243:                                             ; preds = %7236
  br label %7244

7244:                                             ; preds = %7243
  br label %7245

7245:                                             ; preds = %7244
  call void @llvm.lifetime.start.p0(i64 4, ptr %173) #11
  %7246 = call ptr @__errno_location() #12
  %7247 = load i32, ptr %7246, align 4, !tbaa !5
  store i32 %7247, ptr %173, align 4, !tbaa !5
  %7248 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7249 = call i32 @s2n_print_stacktrace(ptr noundef %7248)
  %7250 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7251 = trunc i8 %7250 to i1
  br i1 %7251, label %7252, label %7274

7252:                                             ; preds = %7245
  %7253 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7254 = call i32 @fileno(ptr noundef %7253) #11
  %7255 = call i32 @isatty(i32 noundef %7254) #11
  %7256 = icmp ne i32 %7255, 0
  br i1 %7256, label %7257, label %7274

7257:                                             ; preds = %7252
  %7258 = load i32, ptr %173, align 4, !tbaa !5
  %7259 = call ptr @__errno_location() #12
  store i32 %7258, ptr %7259, align 4, !tbaa !5
  %7260 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7261 = load i32, ptr @test_count, align 4, !tbaa !5
  %7262 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7263 = load i32, ptr %7262, align 4, !tbaa !5
  %7264 = call ptr @s2n_strerror(i32 noundef %7263, ptr noundef @.str.4)
  %7265 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7266 = load i32, ptr %7265, align 4, !tbaa !5
  %7267 = call ptr @s2n_strerror_debug(i32 noundef %7266, ptr noundef @.str.4)
  %7268 = call ptr @__errno_location() #12
  %7269 = load i32, ptr %7268, align 4, !tbaa !5
  %7270 = call ptr @strerror(i32 noundef %7269) #11
  %7271 = call ptr @__errno_location() #12
  %7272 = load i32, ptr %7271, align 4, !tbaa !5
  %7273 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7260, ptr noundef @.str.2, i32 noundef %7261, ptr noundef @.str.63, ptr noundef @.str.1, i32 noundef 311, ptr noundef %7264, ptr noundef %7267, ptr noundef %7270, i32 noundef %7272) #11
  br label %7291

7274:                                             ; preds = %7252, %7245
  %7275 = load i32, ptr %173, align 4, !tbaa !5
  %7276 = call ptr @__errno_location() #12
  store i32 %7275, ptr %7276, align 4, !tbaa !5
  %7277 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7278 = load i32, ptr @test_count, align 4, !tbaa !5
  %7279 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7280 = load i32, ptr %7279, align 4, !tbaa !5
  %7281 = call ptr @s2n_strerror(i32 noundef %7280, ptr noundef @.str.4)
  %7282 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7283 = load i32, ptr %7282, align 4, !tbaa !5
  %7284 = call ptr @s2n_strerror_debug(i32 noundef %7283, ptr noundef @.str.4)
  %7285 = call ptr @__errno_location() #12
  %7286 = load i32, ptr %7285, align 4, !tbaa !5
  %7287 = call ptr @strerror(i32 noundef %7286) #11
  %7288 = call ptr @__errno_location() #12
  %7289 = load i32, ptr %7288, align 4, !tbaa !5
  %7290 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7277, ptr noundef @.str.5, i32 noundef %7278, ptr noundef @.str.63, ptr noundef @.str.1, i32 noundef 311, ptr noundef %7281, ptr noundef %7284, ptr noundef %7287, i32 noundef %7289) #11
  br label %7291

7291:                                             ; preds = %7274, %7257
  call void @llvm.lifetime.end.p0(i64 4, ptr %173) #11
  br label %7292

7292:                                             ; preds = %7291
  br label %7293

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

7294:                                             ; No predecessors!
  br label %7295

7295:                                             ; preds = %7294
  br label %7296

7296:                                             ; preds = %7295, %7236
  br label %7297

7297:                                             ; preds = %7296
  br label %7298

7298:                                             ; preds = %7297
  br label %7299

7299:                                             ; preds = %7298
  br label %7300

7300:                                             ; preds = %7299
  call void @llvm.lifetime.start.p0(i64 8, ptr %174) #11
  call void @llvm.memset.p0.i64(ptr align 1 %174, i8 0, i64 8, i1 false)
  br label %7301

7301:                                             ; preds = %7300
  %7302 = load i32, ptr @test_count, align 4, !tbaa !5
  %7303 = add nsw i32 %7302, 1
  store i32 %7303, ptr @test_count, align 4, !tbaa !5
  %7304 = getelementptr inbounds [8 x i8], ptr %174, i64 0, i64 0
  %7305 = call i32 @s2n_stuffer_read_bytes(ptr noundef %158, ptr noundef %7304, i32 noundef 8)
  %7306 = icmp eq i32 %7305, -1
  br i1 %7306, label %7307, label %7360

7307:                                             ; preds = %7301
  br label %7308

7308:                                             ; preds = %7307
  br label %7309

7309:                                             ; preds = %7308
  call void @llvm.lifetime.start.p0(i64 4, ptr %175) #11
  %7310 = call ptr @__errno_location() #12
  %7311 = load i32, ptr %7310, align 4, !tbaa !5
  store i32 %7311, ptr %175, align 4, !tbaa !5
  %7312 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7313 = call i32 @s2n_print_stacktrace(ptr noundef %7312)
  %7314 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7315 = trunc i8 %7314 to i1
  br i1 %7315, label %7316, label %7338

7316:                                             ; preds = %7309
  %7317 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7318 = call i32 @fileno(ptr noundef %7317) #11
  %7319 = call i32 @isatty(i32 noundef %7318) #11
  %7320 = icmp ne i32 %7319, 0
  br i1 %7320, label %7321, label %7338

7321:                                             ; preds = %7316
  %7322 = load i32, ptr %175, align 4, !tbaa !5
  %7323 = call ptr @__errno_location() #12
  store i32 %7322, ptr %7323, align 4, !tbaa !5
  %7324 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7325 = load i32, ptr @test_count, align 4, !tbaa !5
  %7326 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7327 = load i32, ptr %7326, align 4, !tbaa !5
  %7328 = call ptr @s2n_strerror(i32 noundef %7327, ptr noundef @.str.4)
  %7329 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7330 = load i32, ptr %7329, align 4, !tbaa !5
  %7331 = call ptr @s2n_strerror_debug(i32 noundef %7330, ptr noundef @.str.4)
  %7332 = call ptr @__errno_location() #12
  %7333 = load i32, ptr %7332, align 4, !tbaa !5
  %7334 = call ptr @strerror(i32 noundef %7333) #11
  %7335 = call ptr @__errno_location() #12
  %7336 = load i32, ptr %7335, align 4, !tbaa !5
  %7337 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7324, ptr noundef @.str.2, i32 noundef %7325, ptr noundef @.str.64, ptr noundef @.str.1, i32 noundef 315, ptr noundef %7328, ptr noundef %7331, ptr noundef %7334, i32 noundef %7336) #11
  br label %7355

7338:                                             ; preds = %7316, %7309
  %7339 = load i32, ptr %175, align 4, !tbaa !5
  %7340 = call ptr @__errno_location() #12
  store i32 %7339, ptr %7340, align 4, !tbaa !5
  %7341 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7342 = load i32, ptr @test_count, align 4, !tbaa !5
  %7343 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7344 = load i32, ptr %7343, align 4, !tbaa !5
  %7345 = call ptr @s2n_strerror(i32 noundef %7344, ptr noundef @.str.4)
  %7346 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7347 = load i32, ptr %7346, align 4, !tbaa !5
  %7348 = call ptr @s2n_strerror_debug(i32 noundef %7347, ptr noundef @.str.4)
  %7349 = call ptr @__errno_location() #12
  %7350 = load i32, ptr %7349, align 4, !tbaa !5
  %7351 = call ptr @strerror(i32 noundef %7350) #11
  %7352 = call ptr @__errno_location() #12
  %7353 = load i32, ptr %7352, align 4, !tbaa !5
  %7354 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7341, ptr noundef @.str.5, i32 noundef %7342, ptr noundef @.str.64, ptr noundef @.str.1, i32 noundef 315, ptr noundef %7345, ptr noundef %7348, ptr noundef %7351, i32 noundef %7353) #11
  br label %7355

7355:                                             ; preds = %7338, %7321
  call void @llvm.lifetime.end.p0(i64 4, ptr %175) #11
  br label %7356

7356:                                             ; preds = %7355
  br label %7357

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

7358:                                             ; No predecessors!
  br label %7359

7359:                                             ; preds = %7358
  br label %7360

7360:                                             ; preds = %7359, %7301
  br label %7361

7361:                                             ; preds = %7360
  br label %7362

7362:                                             ; preds = %7361
  br label %7363

7363:                                             ; preds = %7362
  br label %7364

7364:                                             ; preds = %7363
  %7365 = load i32, ptr @test_count, align 4, !tbaa !5
  %7366 = add nsw i32 %7365, 1
  store i32 %7366, ptr @test_count, align 4, !tbaa !5
  %7367 = getelementptr inbounds [8 x i8], ptr %174, i64 0, i64 0
  %7368 = getelementptr inbounds [8 x i8], ptr %172, i64 0, i64 0
  %7369 = call i32 @memcmp(ptr noundef %7367, ptr noundef %7368, i64 noundef 8) #14
  %7370 = icmp eq i32 %7369, 0
  br i1 %7370, label %7424, label %7371

7371:                                             ; preds = %7364
  br label %7372

7372:                                             ; preds = %7371
  br label %7373

7373:                                             ; preds = %7372
  call void @llvm.lifetime.start.p0(i64 4, ptr %176) #11
  %7374 = call ptr @__errno_location() #12
  %7375 = load i32, ptr %7374, align 4, !tbaa !5
  store i32 %7375, ptr %176, align 4, !tbaa !5
  %7376 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7377 = call i32 @s2n_print_stacktrace(ptr noundef %7376)
  %7378 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7379 = trunc i8 %7378 to i1
  br i1 %7379, label %7380, label %7402

7380:                                             ; preds = %7373
  %7381 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7382 = call i32 @fileno(ptr noundef %7381) #11
  %7383 = call i32 @isatty(i32 noundef %7382) #11
  %7384 = icmp ne i32 %7383, 0
  br i1 %7384, label %7385, label %7402

7385:                                             ; preds = %7380
  %7386 = load i32, ptr %176, 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.4)
  %7393 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7394 = load i32, ptr %7393, align 4, !tbaa !5
  %7395 = call ptr @s2n_strerror_debug(i32 noundef %7394, ptr noundef @.str.4)
  %7396 = call ptr @__errno_location() #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.2, i32 noundef %7389, ptr noundef @.str.65, ptr noundef @.str.1, i32 noundef 317, ptr noundef %7392, ptr noundef %7395, ptr noundef %7398, i32 noundef %7400) #11
  br label %7419

7402:                                             ; preds = %7380, %7373
  %7403 = load i32, ptr %176, align 4, !tbaa !5
  %7404 = call ptr @__errno_location() #12
  store i32 %7403, ptr %7404, align 4, !tbaa !5
  %7405 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7406 = load i32, ptr @test_count, align 4, !tbaa !5
  %7407 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7408 = load i32, ptr %7407, align 4, !tbaa !5
  %7409 = call ptr @s2n_strerror(i32 noundef %7408, ptr noundef @.str.4)
  %7410 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7411 = load i32, ptr %7410, align 4, !tbaa !5
  %7412 = call ptr @s2n_strerror_debug(i32 noundef %7411, ptr noundef @.str.4)
  %7413 = call ptr @__errno_location() #12
  %7414 = load i32, ptr %7413, align 4, !tbaa !5
  %7415 = call ptr @strerror(i32 noundef %7414) #11
  %7416 = call ptr @__errno_location() #12
  %7417 = load i32, ptr %7416, align 4, !tbaa !5
  %7418 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7405, ptr noundef @.str.5, i32 noundef %7406, ptr noundef @.str.65, ptr noundef @.str.1, i32 noundef 317, ptr noundef %7409, ptr noundef %7412, ptr noundef %7415, i32 noundef %7417) #11
  br label %7419

7419:                                             ; preds = %7402, %7385
  call void @llvm.lifetime.end.p0(i64 4, ptr %176) #11
  br label %7420

7420:                                             ; preds = %7419
  br label %7421

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

7422:                                             ; No predecessors!
  br label %7423

7423:                                             ; preds = %7422
  br label %7424

7424:                                             ; preds = %7423, %7364
  br label %7425

7425:                                             ; preds = %7424
  br label %7426

7426:                                             ; preds = %7425
  br label %7427

7427:                                             ; preds = %7426
  br label %7428

7428:                                             ; preds = %7427
  call void @llvm.lifetime.start.p0(i64 2, ptr %177) #11
  store i16 0, ptr %177, align 2, !tbaa !59
  br label %7429

7429:                                             ; preds = %7428
  %7430 = load i32, ptr @test_count, align 4, !tbaa !5
  %7431 = add nsw i32 %7430, 1
  store i32 %7431, ptr @test_count, align 4, !tbaa !5
  %7432 = call i32 @s2n_stuffer_read_uint16(ptr noundef %158, ptr noundef %177)
  %7433 = icmp eq i32 %7432, -1
  br i1 %7433, label %7434, label %7487

7434:                                             ; preds = %7429
  br label %7435

7435:                                             ; preds = %7434
  br label %7436

7436:                                             ; preds = %7435
  call void @llvm.lifetime.start.p0(i64 4, ptr %178) #11
  %7437 = call ptr @__errno_location() #12
  %7438 = load i32, ptr %7437, align 4, !tbaa !5
  store i32 %7438, ptr %178, align 4, !tbaa !5
  %7439 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7440 = call i32 @s2n_print_stacktrace(ptr noundef %7439)
  %7441 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7442 = trunc i8 %7441 to i1
  br i1 %7442, label %7443, label %7465

7443:                                             ; preds = %7436
  %7444 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7445 = call i32 @fileno(ptr noundef %7444) #11
  %7446 = call i32 @isatty(i32 noundef %7445) #11
  %7447 = icmp ne i32 %7446, 0
  br i1 %7447, label %7448, label %7465

7448:                                             ; preds = %7443
  %7449 = load i32, ptr %178, align 4, !tbaa !5
  %7450 = call ptr @__errno_location() #12
  store i32 %7449, ptr %7450, align 4, !tbaa !5
  %7451 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7452 = load i32, ptr @test_count, align 4, !tbaa !5
  %7453 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7454 = load i32, ptr %7453, align 4, !tbaa !5
  %7455 = call ptr @s2n_strerror(i32 noundef %7454, ptr noundef @.str.4)
  %7456 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7457 = load i32, ptr %7456, align 4, !tbaa !5
  %7458 = call ptr @s2n_strerror_debug(i32 noundef %7457, ptr noundef @.str.4)
  %7459 = call ptr @__errno_location() #12
  %7460 = load i32, ptr %7459, align 4, !tbaa !5
  %7461 = call ptr @strerror(i32 noundef %7460) #11
  %7462 = call ptr @__errno_location() #12
  %7463 = load i32, ptr %7462, align 4, !tbaa !5
  %7464 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7451, ptr noundef @.str.2, i32 noundef %7452, ptr noundef @.str.66, ptr noundef @.str.1, i32 noundef 320, ptr noundef %7455, ptr noundef %7458, ptr noundef %7461, i32 noundef %7463) #11
  br label %7482

7465:                                             ; preds = %7443, %7436
  %7466 = load i32, ptr %178, align 4, !tbaa !5
  %7467 = call ptr @__errno_location() #12
  store i32 %7466, ptr %7467, align 4, !tbaa !5
  %7468 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7469 = load i32, ptr @test_count, align 4, !tbaa !5
  %7470 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7471 = load i32, ptr %7470, align 4, !tbaa !5
  %7472 = call ptr @s2n_strerror(i32 noundef %7471, ptr noundef @.str.4)
  %7473 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7474 = load i32, ptr %7473, align 4, !tbaa !5
  %7475 = call ptr @s2n_strerror_debug(i32 noundef %7474, ptr noundef @.str.4)
  %7476 = call ptr @__errno_location() #12
  %7477 = load i32, ptr %7476, align 4, !tbaa !5
  %7478 = call ptr @strerror(i32 noundef %7477) #11
  %7479 = call ptr @__errno_location() #12
  %7480 = load i32, ptr %7479, align 4, !tbaa !5
  %7481 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7468, ptr noundef @.str.5, i32 noundef %7469, ptr noundef @.str.66, ptr noundef @.str.1, i32 noundef 320, ptr noundef %7472, ptr noundef %7475, ptr noundef %7478, i32 noundef %7480) #11
  br label %7482

7482:                                             ; preds = %7465, %7448
  call void @llvm.lifetime.end.p0(i64 4, ptr %178) #11
  br label %7483

7483:                                             ; preds = %7482
  br label %7484

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

7485:                                             ; No predecessors!
  br label %7486

7486:                                             ; preds = %7485
  br label %7487

7487:                                             ; preds = %7486, %7429
  br label %7488

7488:                                             ; preds = %7487
  br label %7489

7489:                                             ; preds = %7488
  br label %7490

7490:                                             ; preds = %7489
  %7491 = load i32, ptr @test_count, align 4, !tbaa !5
  %7492 = add nsw i32 %7491, 1
  store i32 %7492, ptr @test_count, align 4, !tbaa !5
  %7493 = load i16, ptr %177, align 2, !tbaa !59
  %7494 = zext i16 %7493 to i32
  %7495 = icmp eq i32 %7494, 8087
  br i1 %7495, label %7549, label %7496

7496:                                             ; preds = %7490
  br label %7497

7497:                                             ; preds = %7496
  br label %7498

7498:                                             ; preds = %7497
  call void @llvm.lifetime.start.p0(i64 4, ptr %179) #11
  %7499 = call ptr @__errno_location() #12
  %7500 = load i32, ptr %7499, align 4, !tbaa !5
  store i32 %7500, ptr %179, align 4, !tbaa !5
  %7501 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7502 = call i32 @s2n_print_stacktrace(ptr noundef %7501)
  %7503 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7504 = trunc i8 %7503 to i1
  br i1 %7504, label %7505, label %7527

7505:                                             ; preds = %7498
  %7506 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7507 = call i32 @fileno(ptr noundef %7506) #11
  %7508 = call i32 @isatty(i32 noundef %7507) #11
  %7509 = icmp ne i32 %7508, 0
  br i1 %7509, label %7510, label %7527

7510:                                             ; preds = %7505
  %7511 = load i32, ptr %179, 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.4)
  %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.4)
  %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.2, i32 noundef %7514, ptr noundef @.str.67, ptr noundef @.str.1, i32 noundef 321, ptr noundef %7517, ptr noundef %7520, ptr noundef %7523, i32 noundef %7525) #11
  br label %7544

7527:                                             ; preds = %7505, %7498
  %7528 = load i32, ptr %179, align 4, !tbaa !5
  %7529 = call ptr @__errno_location() #12
  store i32 %7528, ptr %7529, align 4, !tbaa !5
  %7530 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7531 = load i32, ptr @test_count, align 4, !tbaa !5
  %7532 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7533 = load i32, ptr %7532, align 4, !tbaa !5
  %7534 = call ptr @s2n_strerror(i32 noundef %7533, ptr noundef @.str.4)
  %7535 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7536 = load i32, ptr %7535, align 4, !tbaa !5
  %7537 = call ptr @s2n_strerror_debug(i32 noundef %7536, ptr noundef @.str.4)
  %7538 = call ptr @__errno_location() #12
  %7539 = load i32, ptr %7538, align 4, !tbaa !5
  %7540 = call ptr @strerror(i32 noundef %7539) #11
  %7541 = call ptr @__errno_location() #12
  %7542 = load i32, ptr %7541, align 4, !tbaa !5
  %7543 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7530, ptr noundef @.str.5, i32 noundef %7531, ptr noundef @.str.67, ptr noundef @.str.1, i32 noundef 321, ptr noundef %7534, ptr noundef %7537, ptr noundef %7540, i32 noundef %7542) #11
  br label %7544

7544:                                             ; preds = %7527, %7510
  call void @llvm.lifetime.end.p0(i64 4, ptr %179) #11
  br label %7545

7545:                                             ; preds = %7544
  br label %7546

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

7547:                                             ; No predecessors!
  br label %7548

7548:                                             ; preds = %7547
  br label %7549

7549:                                             ; preds = %7548, %7490
  br label %7550

7550:                                             ; preds = %7549
  br label %7551

7551:                                             ; preds = %7550
  call void @llvm.lifetime.start.p0(i64 32, ptr %180) #11
  call void @llvm.memset.p0.i64(ptr align 16 %180, i8 0, i64 32, i1 false)
  br label %7552

7552:                                             ; preds = %7551
  %7553 = load i32, ptr @test_count, align 4, !tbaa !5
  %7554 = add nsw i32 %7553, 1
  store i32 %7554, ptr @test_count, align 4, !tbaa !5
  %7555 = getelementptr inbounds [32 x i8], ptr %180, i64 0, i64 0
  %7556 = call i32 @s2n_stuffer_read_bytes(ptr noundef %158, ptr noundef %7555, i32 noundef 32)
  %7557 = icmp eq i32 %7556, -1
  br i1 %7557, label %7558, label %7611

7558:                                             ; preds = %7552
  br label %7559

7559:                                             ; preds = %7558
  br label %7560

7560:                                             ; preds = %7559
  call void @llvm.lifetime.start.p0(i64 4, ptr %181) #11
  %7561 = call ptr @__errno_location() #12
  %7562 = load i32, ptr %7561, align 4, !tbaa !5
  store i32 %7562, ptr %181, align 4, !tbaa !5
  %7563 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7564 = call i32 @s2n_print_stacktrace(ptr noundef %7563)
  %7565 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7566 = trunc i8 %7565 to i1
  br i1 %7566, label %7567, label %7589

7567:                                             ; preds = %7560
  %7568 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7569 = call i32 @fileno(ptr noundef %7568) #11
  %7570 = call i32 @isatty(i32 noundef %7569) #11
  %7571 = icmp ne i32 %7570, 0
  br i1 %7571, label %7572, label %7589

7572:                                             ; preds = %7567
  %7573 = load i32, ptr %181, align 4, !tbaa !5
  %7574 = call ptr @__errno_location() #12
  store i32 %7573, ptr %7574, align 4, !tbaa !5
  %7575 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7576 = load i32, ptr @test_count, align 4, !tbaa !5
  %7577 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7578 = load i32, ptr %7577, align 4, !tbaa !5
  %7579 = call ptr @s2n_strerror(i32 noundef %7578, ptr noundef @.str.4)
  %7580 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7581 = load i32, ptr %7580, align 4, !tbaa !5
  %7582 = call ptr @s2n_strerror_debug(i32 noundef %7581, ptr noundef @.str.4)
  %7583 = call ptr @__errno_location() #12
  %7584 = load i32, ptr %7583, align 4, !tbaa !5
  %7585 = call ptr @strerror(i32 noundef %7584) #11
  %7586 = call ptr @__errno_location() #12
  %7587 = load i32, ptr %7586, align 4, !tbaa !5
  %7588 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7575, ptr noundef @.str.2, i32 noundef %7576, ptr noundef @.str.79, ptr noundef @.str.1, i32 noundef 324, ptr noundef %7579, ptr noundef %7582, ptr noundef %7585, i32 noundef %7587) #11
  br label %7606

7589:                                             ; preds = %7567, %7560
  %7590 = load i32, ptr %181, align 4, !tbaa !5
  %7591 = call ptr @__errno_location() #12
  store i32 %7590, ptr %7591, align 4, !tbaa !5
  %7592 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7593 = load i32, ptr @test_count, align 4, !tbaa !5
  %7594 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7595 = load i32, ptr %7594, align 4, !tbaa !5
  %7596 = call ptr @s2n_strerror(i32 noundef %7595, ptr noundef @.str.4)
  %7597 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7598 = load i32, ptr %7597, align 4, !tbaa !5
  %7599 = call ptr @s2n_strerror_debug(i32 noundef %7598, ptr noundef @.str.4)
  %7600 = call ptr @__errno_location() #12
  %7601 = load i32, ptr %7600, align 4, !tbaa !5
  %7602 = call ptr @strerror(i32 noundef %7601) #11
  %7603 = call ptr @__errno_location() #12
  %7604 = load i32, ptr %7603, align 4, !tbaa !5
  %7605 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7592, ptr noundef @.str.5, i32 noundef %7593, ptr noundef @.str.79, ptr noundef @.str.1, i32 noundef 324, ptr noundef %7596, ptr noundef %7599, ptr noundef %7602, i32 noundef %7604) #11
  br label %7606

7606:                                             ; preds = %7589, %7572
  call void @llvm.lifetime.end.p0(i64 4, ptr %181) #11
  br label %7607

7607:                                             ; preds = %7606
  br label %7608

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

7609:                                             ; No predecessors!
  br label %7610

7610:                                             ; preds = %7609
  br label %7611

7611:                                             ; preds = %7610, %7552
  br label %7612

7612:                                             ; preds = %7611
  br label %7613

7613:                                             ; preds = %7612
  br label %7614

7614:                                             ; preds = %7613
  br label %7615

7615:                                             ; preds = %7614
  %7616 = load i32, ptr @test_count, align 4, !tbaa !5
  %7617 = add nsw i32 %7616, 1
  store i32 %7617, ptr @test_count, align 4, !tbaa !5
  %7618 = getelementptr inbounds [32 x i8], ptr %180, i64 0, i64 0
  %7619 = load ptr, ptr %139, align 8, !tbaa !9
  %7620 = getelementptr inbounds %struct.s2n_connection, ptr %7619, i32 0, i32 28
  %7621 = getelementptr inbounds %struct.s2n_secrets, ptr %7620, i32 0, i32 0
  %7622 = getelementptr inbounds %struct.s2n_tls13_secrets, ptr %7621, i32 0, i32 4
  %7623 = getelementptr inbounds [48 x i8], ptr %7622, i64 0, i64 0
  %7624 = call i32 @memcmp(ptr noundef %7618, ptr noundef %7623, i64 noundef 32) #14
  %7625 = icmp eq i32 %7624, 0
  br i1 %7625, label %7679, label %7626

7626:                                             ; preds = %7615
  br label %7627

7627:                                             ; preds = %7626
  br label %7628

7628:                                             ; preds = %7627
  call void @llvm.lifetime.start.p0(i64 4, ptr %182) #11
  %7629 = call ptr @__errno_location() #12
  %7630 = load i32, ptr %7629, align 4, !tbaa !5
  store i32 %7630, ptr %182, align 4, !tbaa !5
  %7631 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7632 = call i32 @s2n_print_stacktrace(ptr noundef %7631)
  %7633 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7634 = trunc i8 %7633 to i1
  br i1 %7634, label %7635, label %7657

7635:                                             ; preds = %7628
  %7636 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7637 = call i32 @fileno(ptr noundef %7636) #11
  %7638 = call i32 @isatty(i32 noundef %7637) #11
  %7639 = icmp ne i32 %7638, 0
  br i1 %7639, label %7640, label %7657

7640:                                             ; preds = %7635
  %7641 = load i32, ptr %182, align 4, !tbaa !5
  %7642 = call ptr @__errno_location() #12
  store i32 %7641, ptr %7642, align 4, !tbaa !5
  %7643 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7644 = load i32, ptr @test_count, align 4, !tbaa !5
  %7645 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7646 = load i32, ptr %7645, align 4, !tbaa !5
  %7647 = call ptr @s2n_strerror(i32 noundef %7646, ptr noundef @.str.4)
  %7648 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7649 = load i32, ptr %7648, align 4, !tbaa !5
  %7650 = call ptr @s2n_strerror_debug(i32 noundef %7649, ptr noundef @.str.4)
  %7651 = call ptr @__errno_location() #12
  %7652 = load i32, ptr %7651, align 4, !tbaa !5
  %7653 = call ptr @strerror(i32 noundef %7652) #11
  %7654 = call ptr @__errno_location() #12
  %7655 = load i32, ptr %7654, align 4, !tbaa !5
  %7656 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7643, ptr noundef @.str.2, i32 noundef %7644, ptr noundef @.str.80, ptr noundef @.str.1, i32 noundef 326, ptr noundef %7647, ptr noundef %7650, ptr noundef %7653, i32 noundef %7655) #11
  br label %7674

7657:                                             ; preds = %7635, %7628
  %7658 = load i32, ptr %182, align 4, !tbaa !5
  %7659 = call ptr @__errno_location() #12
  store i32 %7658, ptr %7659, align 4, !tbaa !5
  %7660 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7661 = load i32, ptr @test_count, align 4, !tbaa !5
  %7662 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7663 = load i32, ptr %7662, align 4, !tbaa !5
  %7664 = call ptr @s2n_strerror(i32 noundef %7663, ptr noundef @.str.4)
  %7665 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7666 = load i32, ptr %7665, align 4, !tbaa !5
  %7667 = call ptr @s2n_strerror_debug(i32 noundef %7666, ptr noundef @.str.4)
  %7668 = call ptr @__errno_location() #12
  %7669 = load i32, ptr %7668, align 4, !tbaa !5
  %7670 = call ptr @strerror(i32 noundef %7669) #11
  %7671 = call ptr @__errno_location() #12
  %7672 = load i32, ptr %7671, align 4, !tbaa !5
  %7673 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7660, ptr noundef @.str.5, i32 noundef %7661, ptr noundef @.str.80, ptr noundef @.str.1, i32 noundef 326, ptr noundef %7664, ptr noundef %7667, ptr noundef %7670, i32 noundef %7672) #11
  br label %7674

7674:                                             ; preds = %7657, %7640
  call void @llvm.lifetime.end.p0(i64 4, ptr %182) #11
  br label %7675

7675:                                             ; preds = %7674
  br label %7676

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

7677:                                             ; No predecessors!
  br label %7678

7678:                                             ; preds = %7677
  br label %7679

7679:                                             ; preds = %7678, %7615
  br label %7680

7680:                                             ; preds = %7679
  br label %7681

7681:                                             ; preds = %7680
  br label %7682

7682:                                             ; preds = %7681
  br label %7683

7683:                                             ; preds = %7682
  call void @llvm.lifetime.start.p0(i64 32, ptr %183) #11
  call void @llvm.memset.p0.i64(ptr align 16 %183, i8 0, i64 32, i1 false)
  br label %7684

7684:                                             ; preds = %7683
  %7685 = load i32, ptr @test_count, align 4, !tbaa !5
  %7686 = add nsw i32 %7685, 1
  store i32 %7686, ptr @test_count, align 4, !tbaa !5
  %7687 = getelementptr inbounds [32 x i8], ptr %183, i64 0, i64 0
  %7688 = call i32 @s2n_stuffer_read_bytes(ptr noundef %158, ptr noundef %7687, i32 noundef 32)
  %7689 = icmp eq i32 %7688, -1
  br i1 %7689, label %7690, label %7743

7690:                                             ; preds = %7684
  br label %7691

7691:                                             ; preds = %7690
  br label %7692

7692:                                             ; preds = %7691
  call void @llvm.lifetime.start.p0(i64 4, ptr %184) #11
  %7693 = call ptr @__errno_location() #12
  %7694 = load i32, ptr %7693, align 4, !tbaa !5
  store i32 %7694, ptr %184, align 4, !tbaa !5
  %7695 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7696 = call i32 @s2n_print_stacktrace(ptr noundef %7695)
  %7697 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7698 = trunc i8 %7697 to i1
  br i1 %7698, label %7699, label %7721

7699:                                             ; preds = %7692
  %7700 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7701 = call i32 @fileno(ptr noundef %7700) #11
  %7702 = call i32 @isatty(i32 noundef %7701) #11
  %7703 = icmp ne i32 %7702, 0
  br i1 %7703, label %7704, label %7721

7704:                                             ; preds = %7699
  %7705 = load i32, ptr %184, align 4, !tbaa !5
  %7706 = call ptr @__errno_location() #12
  store i32 %7705, ptr %7706, align 4, !tbaa !5
  %7707 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7708 = load i32, ptr @test_count, align 4, !tbaa !5
  %7709 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7710 = load i32, ptr %7709, align 4, !tbaa !5
  %7711 = call ptr @s2n_strerror(i32 noundef %7710, ptr noundef @.str.4)
  %7712 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7713 = load i32, ptr %7712, align 4, !tbaa !5
  %7714 = call ptr @s2n_strerror_debug(i32 noundef %7713, ptr noundef @.str.4)
  %7715 = call ptr @__errno_location() #12
  %7716 = load i32, ptr %7715, align 4, !tbaa !5
  %7717 = call ptr @strerror(i32 noundef %7716) #11
  %7718 = call ptr @__errno_location() #12
  %7719 = load i32, ptr %7718, align 4, !tbaa !5
  %7720 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7707, ptr noundef @.str.2, i32 noundef %7708, ptr noundef @.str.81, ptr noundef @.str.1, i32 noundef 329, ptr noundef %7711, ptr noundef %7714, ptr noundef %7717, i32 noundef %7719) #11
  br label %7738

7721:                                             ; preds = %7699, %7692
  %7722 = load i32, ptr %184, align 4, !tbaa !5
  %7723 = call ptr @__errno_location() #12
  store i32 %7722, ptr %7723, align 4, !tbaa !5
  %7724 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7725 = load i32, ptr @test_count, align 4, !tbaa !5
  %7726 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7727 = load i32, ptr %7726, align 4, !tbaa !5
  %7728 = call ptr @s2n_strerror(i32 noundef %7727, ptr noundef @.str.4)
  %7729 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7730 = load i32, ptr %7729, align 4, !tbaa !5
  %7731 = call ptr @s2n_strerror_debug(i32 noundef %7730, ptr noundef @.str.4)
  %7732 = call ptr @__errno_location() #12
  %7733 = load i32, ptr %7732, align 4, !tbaa !5
  %7734 = call ptr @strerror(i32 noundef %7733) #11
  %7735 = call ptr @__errno_location() #12
  %7736 = load i32, ptr %7735, align 4, !tbaa !5
  %7737 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7724, ptr noundef @.str.5, i32 noundef %7725, ptr noundef @.str.81, ptr noundef @.str.1, i32 noundef 329, ptr noundef %7728, ptr noundef %7731, ptr noundef %7734, i32 noundef %7736) #11
  br label %7738

7738:                                             ; preds = %7721, %7704
  call void @llvm.lifetime.end.p0(i64 4, ptr %184) #11
  br label %7739

7739:                                             ; preds = %7738
  br label %7740

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

7741:                                             ; No predecessors!
  br label %7742

7742:                                             ; preds = %7741
  br label %7743

7743:                                             ; preds = %7742, %7684
  br label %7744

7744:                                             ; preds = %7743
  br label %7745

7745:                                             ; preds = %7744
  br label %7746

7746:                                             ; preds = %7745
  br label %7747

7747:                                             ; preds = %7746
  %7748 = load i32, ptr @test_count, align 4, !tbaa !5
  %7749 = add nsw i32 %7748, 1
  store i32 %7749, ptr @test_count, align 4, !tbaa !5
  %7750 = getelementptr inbounds [32 x i8], ptr %183, i64 0, i64 0
  %7751 = load ptr, ptr %139, align 8, !tbaa !9
  %7752 = getelementptr inbounds %struct.s2n_connection, ptr %7751, i32 0, i32 28
  %7753 = getelementptr inbounds %struct.s2n_secrets, ptr %7752, i32 0, i32 0
  %7754 = getelementptr inbounds %struct.s2n_tls13_secrets, ptr %7753, i32 0, i32 5
  %7755 = getelementptr inbounds [48 x i8], ptr %7754, i64 0, i64 0
  %7756 = call i32 @memcmp(ptr noundef %7750, ptr noundef %7755, i64 noundef 32) #14
  %7757 = icmp eq i32 %7756, 0
  br i1 %7757, label %7811, label %7758

7758:                                             ; preds = %7747
  br label %7759

7759:                                             ; preds = %7758
  br label %7760

7760:                                             ; preds = %7759
  call void @llvm.lifetime.start.p0(i64 4, ptr %185) #11
  %7761 = call ptr @__errno_location() #12
  %7762 = load i32, ptr %7761, align 4, !tbaa !5
  store i32 %7762, ptr %185, 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 %185, 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.4)
  %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.4)
  %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.2, i32 noundef %7776, ptr noundef @.str.82, ptr noundef @.str.1, i32 noundef 331, ptr noundef %7779, ptr noundef %7782, ptr noundef %7785, i32 noundef %7787) #11
  br label %7806

7789:                                             ; preds = %7767, %7760
  %7790 = load i32, ptr %185, 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.4)
  %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.4)
  %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.5, i32 noundef %7793, ptr noundef @.str.82, ptr noundef @.str.1, i32 noundef 331, 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 %185) #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, %7747
  br label %7812

7812:                                             ; preds = %7811
  br label %7813

7813:                                             ; preds = %7812
  br label %7814

7814:                                             ; preds = %7813
  br label %7815

7815:                                             ; preds = %7814
  call void @llvm.lifetime.start.p0(i64 32, ptr %186) #11
  call void @llvm.memset.p0.i64(ptr align 16 %186, i8 0, i64 32, i1 false)
  br label %7816

7816:                                             ; preds = %7815
  %7817 = load i32, ptr @test_count, align 4, !tbaa !5
  %7818 = add nsw i32 %7817, 1
  store i32 %7818, ptr @test_count, align 4, !tbaa !5
  %7819 = getelementptr inbounds [32 x i8], ptr %186, i64 0, i64 0
  %7820 = call i32 @s2n_stuffer_read_bytes(ptr noundef %158, ptr noundef %7819, i32 noundef 32)
  %7821 = icmp eq i32 %7820, -1
  br i1 %7821, label %7822, label %7875

7822:                                             ; preds = %7816
  br label %7823

7823:                                             ; preds = %7822
  br label %7824

7824:                                             ; preds = %7823
  call void @llvm.lifetime.start.p0(i64 4, ptr %187) #11
  %7825 = call ptr @__errno_location() #12
  %7826 = load i32, ptr %7825, align 4, !tbaa !5
  store i32 %7826, ptr %187, align 4, !tbaa !5
  %7827 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7828 = call i32 @s2n_print_stacktrace(ptr noundef %7827)
  %7829 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7830 = trunc i8 %7829 to i1
  br i1 %7830, label %7831, label %7853

7831:                                             ; preds = %7824
  %7832 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7833 = call i32 @fileno(ptr noundef %7832) #11
  %7834 = call i32 @isatty(i32 noundef %7833) #11
  %7835 = icmp ne i32 %7834, 0
  br i1 %7835, label %7836, label %7853

7836:                                             ; preds = %7831
  %7837 = load i32, ptr %187, align 4, !tbaa !5
  %7838 = call ptr @__errno_location() #12
  store i32 %7837, ptr %7838, align 4, !tbaa !5
  %7839 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7840 = load i32, ptr @test_count, align 4, !tbaa !5
  %7841 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7842 = load i32, ptr %7841, align 4, !tbaa !5
  %7843 = call ptr @s2n_strerror(i32 noundef %7842, ptr noundef @.str.4)
  %7844 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7845 = load i32, ptr %7844, align 4, !tbaa !5
  %7846 = call ptr @s2n_strerror_debug(i32 noundef %7845, ptr noundef @.str.4)
  %7847 = call ptr @__errno_location() #12
  %7848 = load i32, ptr %7847, align 4, !tbaa !5
  %7849 = call ptr @strerror(i32 noundef %7848) #11
  %7850 = call ptr @__errno_location() #12
  %7851 = load i32, ptr %7850, align 4, !tbaa !5
  %7852 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7839, ptr noundef @.str.2, i32 noundef %7840, ptr noundef @.str.83, ptr noundef @.str.1, i32 noundef 334, ptr noundef %7843, ptr noundef %7846, ptr noundef %7849, i32 noundef %7851) #11
  br label %7870

7853:                                             ; preds = %7831, %7824
  %7854 = load i32, ptr %187, align 4, !tbaa !5
  %7855 = call ptr @__errno_location() #12
  store i32 %7854, ptr %7855, align 4, !tbaa !5
  %7856 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7857 = load i32, ptr @test_count, align 4, !tbaa !5
  %7858 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7859 = load i32, ptr %7858, align 4, !tbaa !5
  %7860 = call ptr @s2n_strerror(i32 noundef %7859, ptr noundef @.str.4)
  %7861 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7862 = load i32, ptr %7861, align 4, !tbaa !5
  %7863 = call ptr @s2n_strerror_debug(i32 noundef %7862, ptr noundef @.str.4)
  %7864 = call ptr @__errno_location() #12
  %7865 = load i32, ptr %7864, align 4, !tbaa !5
  %7866 = call ptr @strerror(i32 noundef %7865) #11
  %7867 = call ptr @__errno_location() #12
  %7868 = load i32, ptr %7867, align 4, !tbaa !5
  %7869 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7856, ptr noundef @.str.5, i32 noundef %7857, ptr noundef @.str.83, ptr noundef @.str.1, i32 noundef 334, ptr noundef %7860, ptr noundef %7863, ptr noundef %7866, i32 noundef %7868) #11
  br label %7870

7870:                                             ; preds = %7853, %7836
  call void @llvm.lifetime.end.p0(i64 4, ptr %187) #11
  br label %7871

7871:                                             ; preds = %7870
  br label %7872

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

7873:                                             ; No predecessors!
  br label %7874

7874:                                             ; preds = %7873
  br label %7875

7875:                                             ; preds = %7874, %7816
  br label %7876

7876:                                             ; preds = %7875
  br label %7877

7877:                                             ; preds = %7876
  br label %7878

7878:                                             ; preds = %7877
  br label %7879

7879:                                             ; preds = %7878
  %7880 = load i32, ptr @test_count, align 4, !tbaa !5
  %7881 = add nsw i32 %7880, 1
  store i32 %7881, ptr @test_count, align 4, !tbaa !5
  %7882 = getelementptr inbounds [32 x i8], ptr %186, i64 0, i64 0
  %7883 = load ptr, ptr %139, align 8, !tbaa !9
  %7884 = getelementptr inbounds %struct.s2n_connection, ptr %7883, i32 0, i32 28
  %7885 = getelementptr inbounds %struct.s2n_secrets, ptr %7884, i32 0, i32 0
  %7886 = getelementptr inbounds %struct.s2n_tls13_secrets, ptr %7885, i32 0, i32 6
  %7887 = getelementptr inbounds [48 x i8], ptr %7886, i64 0, i64 0
  %7888 = call i32 @memcmp(ptr noundef %7882, ptr noundef %7887, i64 noundef 32) #14
  %7889 = icmp eq i32 %7888, 0
  br i1 %7889, label %7943, label %7890

7890:                                             ; preds = %7879
  br label %7891

7891:                                             ; preds = %7890
  br label %7892

7892:                                             ; preds = %7891
  call void @llvm.lifetime.start.p0(i64 4, ptr %188) #11
  %7893 = call ptr @__errno_location() #12
  %7894 = load i32, ptr %7893, align 4, !tbaa !5
  store i32 %7894, ptr %188, align 4, !tbaa !5
  %7895 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7896 = call i32 @s2n_print_stacktrace(ptr noundef %7895)
  %7897 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7898 = trunc i8 %7897 to i1
  br i1 %7898, label %7899, label %7921

7899:                                             ; preds = %7892
  %7900 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7901 = call i32 @fileno(ptr noundef %7900) #11
  %7902 = call i32 @isatty(i32 noundef %7901) #11
  %7903 = icmp ne i32 %7902, 0
  br i1 %7903, label %7904, label %7921

7904:                                             ; preds = %7899
  %7905 = load i32, ptr %188, align 4, !tbaa !5
  %7906 = call ptr @__errno_location() #12
  store i32 %7905, ptr %7906, align 4, !tbaa !5
  %7907 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7908 = load i32, ptr @test_count, align 4, !tbaa !5
  %7909 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7910 = load i32, ptr %7909, align 4, !tbaa !5
  %7911 = call ptr @s2n_strerror(i32 noundef %7910, ptr noundef @.str.4)
  %7912 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7913 = load i32, ptr %7912, align 4, !tbaa !5
  %7914 = call ptr @s2n_strerror_debug(i32 noundef %7913, ptr noundef @.str.4)
  %7915 = call ptr @__errno_location() #12
  %7916 = load i32, ptr %7915, align 4, !tbaa !5
  %7917 = call ptr @strerror(i32 noundef %7916) #11
  %7918 = call ptr @__errno_location() #12
  %7919 = load i32, ptr %7918, align 4, !tbaa !5
  %7920 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7907, ptr noundef @.str.2, i32 noundef %7908, ptr noundef @.str.84, ptr noundef @.str.1, i32 noundef 336, ptr noundef %7911, ptr noundef %7914, ptr noundef %7917, i32 noundef %7919) #11
  br label %7938

7921:                                             ; preds = %7899, %7892
  %7922 = load i32, ptr %188, align 4, !tbaa !5
  %7923 = call ptr @__errno_location() #12
  store i32 %7922, ptr %7923, align 4, !tbaa !5
  %7924 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7925 = load i32, ptr @test_count, align 4, !tbaa !5
  %7926 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7927 = load i32, ptr %7926, align 4, !tbaa !5
  %7928 = call ptr @s2n_strerror(i32 noundef %7927, ptr noundef @.str.4)
  %7929 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7930 = load i32, ptr %7929, align 4, !tbaa !5
  %7931 = call ptr @s2n_strerror_debug(i32 noundef %7930, ptr noundef @.str.4)
  %7932 = call ptr @__errno_location() #12
  %7933 = load i32, ptr %7932, align 4, !tbaa !5
  %7934 = call ptr @strerror(i32 noundef %7933) #11
  %7935 = call ptr @__errno_location() #12
  %7936 = load i32, ptr %7935, align 4, !tbaa !5
  %7937 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7924, ptr noundef @.str.5, i32 noundef %7925, ptr noundef @.str.84, ptr noundef @.str.1, i32 noundef 336, ptr noundef %7928, ptr noundef %7931, ptr noundef %7934, i32 noundef %7936) #11
  br label %7938

7938:                                             ; preds = %7921, %7904
  call void @llvm.lifetime.end.p0(i64 4, ptr %188) #11
  br label %7939

7939:                                             ; preds = %7938
  br label %7940

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

7941:                                             ; No predecessors!
  br label %7942

7942:                                             ; preds = %7941
  br label %7943

7943:                                             ; preds = %7942, %7879
  br label %7944

7944:                                             ; preds = %7943
  br label %7945

7945:                                             ; preds = %7944
  br label %7946

7946:                                             ; preds = %7945
  br label %7947

7947:                                             ; preds = %7946
  br label %7948

7948:                                             ; preds = %7947
  %7949 = load i32, ptr @test_count, align 4, !tbaa !5
  %7950 = add nsw i32 %7949, 1
  store i32 %7950, ptr @test_count, align 4, !tbaa !5
  %7951 = getelementptr inbounds %struct.s2n_stuffer, ptr %158, i32 0, i32 2
  %7952 = load i32, ptr %7951, align 4, !tbaa !57
  %7953 = getelementptr inbounds %struct.s2n_stuffer, ptr %158, i32 0, i32 1
  %7954 = load i32, ptr %7953, align 8, !tbaa !58
  %7955 = sub i32 %7952, %7954
  %7956 = icmp eq i32 %7955, 0
  br i1 %7956, label %8010, label %7957

7957:                                             ; preds = %7948
  br label %7958

7958:                                             ; preds = %7957
  br label %7959

7959:                                             ; preds = %7958
  call void @llvm.lifetime.start.p0(i64 4, ptr %189) #11
  %7960 = call ptr @__errno_location() #12
  %7961 = load i32, ptr %7960, align 4, !tbaa !5
  store i32 %7961, ptr %189, 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 %189, 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.4)
  %7979 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7980 = load i32, ptr %7979, align 4, !tbaa !5
  %7981 = call ptr @s2n_strerror_debug(i32 noundef %7980, ptr noundef @.str.4)
  %7982 = 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.2, i32 noundef %7975, ptr noundef @.str.74, ptr noundef @.str.1, i32 noundef 338, ptr noundef %7978, ptr noundef %7981, ptr noundef %7984, i32 noundef %7986) #11
  br label %8005

7988:                                             ; preds = %7966, %7959
  %7989 = load i32, ptr %189, 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.4)
  %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.4)
  %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.5, i32 noundef %7992, ptr noundef @.str.74, ptr noundef @.str.1, i32 noundef 338, 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 %189) #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, %7948
  br label %8011

8011:                                             ; preds = %8010
  br label %8012

8012:                                             ; preds = %8011
  call void @llvm.lifetime.end.p0(i64 32, ptr %186) #11
  call void @llvm.lifetime.end.p0(i64 32, ptr %183) #11
  call void @llvm.lifetime.end.p0(i64 32, ptr %180) #11
  call void @llvm.lifetime.end.p0(i64 2, ptr %177) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %174) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %172) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %170) #11
  call void @llvm.lifetime.end.p0(i64 2, ptr %167) #11
  call void @llvm.lifetime.end.p0(i64 2, ptr %164) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %161) #11
  call void @llvm.lifetime.end.p0(i64 40, ptr %158) #11
  call void @llvm.lifetime.end.p0(i64 24, ptr %156) #11
  call void @llvm.lifetime.end.p0(i64 126, ptr %154) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %152) #11
  call void @llvm.lifetime.end.p0(i64 2, ptr %150) #11
  %8013 = call i32 @s2n_io_stuffer_pair_free(ptr noundef %143)
  %8014 = getelementptr inbounds %struct.s2n_result, ptr %190, i32 0, i32 0
  store i32 %8013, ptr %8014, align 4
  call void @llvm.lifetime.end.p0(i64 80, ptr %143) #11
  %8015 = call i32 @s2n_connection_ptr_free(ptr noundef %139)
  %8016 = getelementptr inbounds %struct.s2n_result, ptr %191, i32 0, i32 0
  store i32 %8015, ptr %8016, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %139) #11
  %8017 = call i32 @s2n_connection_ptr_free(ptr noundef %137)
  %8018 = getelementptr inbounds %struct.s2n_result, ptr %192, i32 0, i32 0
  store i32 %8017, ptr %8018, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %137) #11
  br label %8019

8019:                                             ; preds = %8012, %5901
  call void @llvm.lifetime.start.p0(i64 8, ptr %193) #11
  %8020 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %8020, ptr %193, align 8, !tbaa !9
  br label %8021

8021:                                             ; preds = %8019
  %8022 = load i32, ptr @test_count, align 4, !tbaa !5
  %8023 = add nsw i32 %8022, 1
  store i32 %8023, ptr @test_count, align 4, !tbaa !5
  %8024 = load ptr, ptr %193, align 8, !tbaa !9
  %8025 = icmp eq ptr %8024, null
  br i1 %8025, label %8026, label %8079

8026:                                             ; preds = %8021
  br label %8027

8027:                                             ; preds = %8026
  br label %8028

8028:                                             ; preds = %8027
  call void @llvm.lifetime.start.p0(i64 4, ptr %194) #11
  %8029 = call ptr @__errno_location() #12
  %8030 = load i32, ptr %8029, align 4, !tbaa !5
  store i32 %8030, ptr %194, align 4, !tbaa !5
  %8031 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8032 = call i32 @s2n_print_stacktrace(ptr noundef %8031)
  %8033 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8034 = trunc i8 %8033 to i1
  br i1 %8034, label %8035, label %8057

8035:                                             ; preds = %8028
  %8036 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8037 = call i32 @fileno(ptr noundef %8036) #11
  %8038 = call i32 @isatty(i32 noundef %8037) #11
  %8039 = icmp ne i32 %8038, 0
  br i1 %8039, label %8040, label %8057

8040:                                             ; preds = %8035
  %8041 = load i32, ptr %194, align 4, !tbaa !5
  %8042 = call ptr @__errno_location() #12
  store i32 %8041, ptr %8042, align 4, !tbaa !5
  %8043 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8044 = load i32, ptr @test_count, align 4, !tbaa !5
  %8045 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8046 = load i32, ptr %8045, align 4, !tbaa !5
  %8047 = call ptr @s2n_strerror(i32 noundef %8046, ptr noundef @.str.4)
  %8048 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8049 = load i32, ptr %8048, align 4, !tbaa !5
  %8050 = call ptr @s2n_strerror_debug(i32 noundef %8049, ptr noundef @.str.4)
  %8051 = call ptr @__errno_location() #12
  %8052 = load i32, ptr %8051, align 4, !tbaa !5
  %8053 = call ptr @strerror(i32 noundef %8052) #11
  %8054 = call ptr @__errno_location() #12
  %8055 = load i32, ptr %8054, align 4, !tbaa !5
  %8056 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8043, ptr noundef @.str.2, i32 noundef %8044, ptr noundef @.str.42, ptr noundef @.str.1, i32 noundef 345, ptr noundef %8047, ptr noundef %8050, ptr noundef %8053, i32 noundef %8055) #11
  br label %8074

8057:                                             ; preds = %8035, %8028
  %8058 = load i32, ptr %194, align 4, !tbaa !5
  %8059 = call ptr @__errno_location() #12
  store i32 %8058, ptr %8059, align 4, !tbaa !5
  %8060 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8061 = load i32, ptr @test_count, align 4, !tbaa !5
  %8062 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8063 = load i32, ptr %8062, align 4, !tbaa !5
  %8064 = call ptr @s2n_strerror(i32 noundef %8063, ptr noundef @.str.4)
  %8065 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8066 = load i32, ptr %8065, align 4, !tbaa !5
  %8067 = call ptr @s2n_strerror_debug(i32 noundef %8066, ptr noundef @.str.4)
  %8068 = call ptr @__errno_location() #12
  %8069 = load i32, ptr %8068, align 4, !tbaa !5
  %8070 = call ptr @strerror(i32 noundef %8069) #11
  %8071 = call ptr @__errno_location() #12
  %8072 = load i32, ptr %8071, align 4, !tbaa !5
  %8073 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8060, ptr noundef @.str.5, i32 noundef %8061, ptr noundef @.str.42, ptr noundef @.str.1, i32 noundef 345, ptr noundef %8064, ptr noundef %8067, ptr noundef %8070, i32 noundef %8072) #11
  br label %8074

8074:                                             ; preds = %8057, %8040
  call void @llvm.lifetime.end.p0(i64 4, ptr %194) #11
  br label %8075

8075:                                             ; preds = %8074
  br label %8076

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

8077:                                             ; No predecessors!
  br label %8078

8078:                                             ; preds = %8077
  br label %8079

8079:                                             ; preds = %8078, %8021
  br label %8080

8080:                                             ; preds = %8079
  br label %8081

8081:                                             ; preds = %8080
  call void @llvm.lifetime.start.p0(i64 8, ptr %195) #11
  %8082 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %8082, ptr %195, align 8, !tbaa !9
  br label %8083

8083:                                             ; preds = %8081
  %8084 = load i32, ptr @test_count, align 4, !tbaa !5
  %8085 = add nsw i32 %8084, 1
  store i32 %8085, ptr @test_count, align 4, !tbaa !5
  %8086 = load ptr, ptr %195, align 8, !tbaa !9
  %8087 = icmp eq ptr %8086, null
  br i1 %8087, label %8088, label %8141

8088:                                             ; preds = %8083
  br label %8089

8089:                                             ; preds = %8088
  br label %8090

8090:                                             ; preds = %8089
  call void @llvm.lifetime.start.p0(i64 4, ptr %196) #11
  %8091 = call ptr @__errno_location() #12
  %8092 = load i32, ptr %8091, align 4, !tbaa !5
  store i32 %8092, ptr %196, align 4, !tbaa !5
  %8093 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8094 = call i32 @s2n_print_stacktrace(ptr noundef %8093)
  %8095 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8096 = trunc i8 %8095 to i1
  br i1 %8096, label %8097, label %8119

8097:                                             ; preds = %8090
  %8098 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8099 = call i32 @fileno(ptr noundef %8098) #11
  %8100 = call i32 @isatty(i32 noundef %8099) #11
  %8101 = icmp ne i32 %8100, 0
  br i1 %8101, label %8102, label %8119

8102:                                             ; preds = %8097
  %8103 = load i32, ptr %196, align 4, !tbaa !5
  %8104 = call ptr @__errno_location() #12
  store i32 %8103, ptr %8104, align 4, !tbaa !5
  %8105 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8106 = load i32, ptr @test_count, align 4, !tbaa !5
  %8107 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8108 = load i32, ptr %8107, align 4, !tbaa !5
  %8109 = call ptr @s2n_strerror(i32 noundef %8108, ptr noundef @.str.4)
  %8110 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8111 = load i32, ptr %8110, align 4, !tbaa !5
  %8112 = call ptr @s2n_strerror_debug(i32 noundef %8111, ptr noundef @.str.4)
  %8113 = call ptr @__errno_location() #12
  %8114 = load i32, ptr %8113, align 4, !tbaa !5
  %8115 = call ptr @strerror(i32 noundef %8114) #11
  %8116 = call ptr @__errno_location() #12
  %8117 = load i32, ptr %8116, align 4, !tbaa !5
  %8118 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8105, ptr noundef @.str.2, i32 noundef %8106, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 348, ptr noundef %8109, ptr noundef %8112, ptr noundef %8115, i32 noundef %8117) #11
  br label %8136

8119:                                             ; preds = %8097, %8090
  %8120 = load i32, ptr %196, align 4, !tbaa !5
  %8121 = call ptr @__errno_location() #12
  store i32 %8120, ptr %8121, align 4, !tbaa !5
  %8122 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8123 = load i32, ptr @test_count, align 4, !tbaa !5
  %8124 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8125 = load i32, ptr %8124, align 4, !tbaa !5
  %8126 = call ptr @s2n_strerror(i32 noundef %8125, ptr noundef @.str.4)
  %8127 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8128 = load i32, ptr %8127, align 4, !tbaa !5
  %8129 = call ptr @s2n_strerror_debug(i32 noundef %8128, ptr noundef @.str.4)
  %8130 = call ptr @__errno_location() #12
  %8131 = load i32, ptr %8130, align 4, !tbaa !5
  %8132 = call ptr @strerror(i32 noundef %8131) #11
  %8133 = call ptr @__errno_location() #12
  %8134 = load i32, ptr %8133, align 4, !tbaa !5
  %8135 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8122, ptr noundef @.str.5, i32 noundef %8123, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 348, ptr noundef %8126, ptr noundef %8129, ptr noundef %8132, i32 noundef %8134) #11
  br label %8136

8136:                                             ; preds = %8119, %8102
  call void @llvm.lifetime.end.p0(i64 4, ptr %196) #11
  br label %8137

8137:                                             ; preds = %8136
  br label %8138

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

8139:                                             ; No predecessors!
  br label %8140

8140:                                             ; preds = %8139
  br label %8141

8141:                                             ; preds = %8140, %8083
  br label %8142

8142:                                             ; preds = %8141
  br label %8143

8143:                                             ; preds = %8142
  br label %8144

8144:                                             ; preds = %8143
  %8145 = load i32, ptr @test_count, align 4, !tbaa !5
  %8146 = add nsw i32 %8145, 1
  store i32 %8146, ptr @test_count, align 4, !tbaa !5
  %8147 = load ptr, ptr %193, align 8, !tbaa !9
  %8148 = load ptr, ptr %11, align 8, !tbaa !9
  %8149 = call i32 @s2n_connection_set_config(ptr noundef %8147, ptr noundef %8148)
  %8150 = icmp eq i32 %8149, -1
  br i1 %8150, label %8151, label %8204

8151:                                             ; preds = %8144
  br label %8152

8152:                                             ; preds = %8151
  br label %8153

8153:                                             ; preds = %8152
  call void @llvm.lifetime.start.p0(i64 4, ptr %197) #11
  %8154 = call ptr @__errno_location() #12
  %8155 = load i32, ptr %8154, align 4, !tbaa !5
  store i32 %8155, ptr %197, align 4, !tbaa !5
  %8156 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8157 = call i32 @s2n_print_stacktrace(ptr noundef %8156)
  %8158 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8159 = trunc i8 %8158 to i1
  br i1 %8159, label %8160, label %8182

8160:                                             ; preds = %8153
  %8161 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8162 = call i32 @fileno(ptr noundef %8161) #11
  %8163 = call i32 @isatty(i32 noundef %8162) #11
  %8164 = icmp ne i32 %8163, 0
  br i1 %8164, label %8165, label %8182

8165:                                             ; preds = %8160
  %8166 = load i32, ptr %197, align 4, !tbaa !5
  %8167 = call ptr @__errno_location() #12
  store i32 %8166, ptr %8167, align 4, !tbaa !5
  %8168 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8169 = load i32, ptr @test_count, align 4, !tbaa !5
  %8170 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8171 = load i32, ptr %8170, align 4, !tbaa !5
  %8172 = call ptr @s2n_strerror(i32 noundef %8171, ptr noundef @.str.4)
  %8173 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8174 = load i32, ptr %8173, align 4, !tbaa !5
  %8175 = call ptr @s2n_strerror_debug(i32 noundef %8174, ptr noundef @.str.4)
  %8176 = call ptr @__errno_location() #12
  %8177 = load i32, ptr %8176, align 4, !tbaa !5
  %8178 = call ptr @strerror(i32 noundef %8177) #11
  %8179 = call ptr @__errno_location() #12
  %8180 = load i32, ptr %8179, align 4, !tbaa !5
  %8181 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8168, ptr noundef @.str.2, i32 noundef %8169, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 350, ptr noundef %8172, ptr noundef %8175, ptr noundef %8178, i32 noundef %8180) #11
  br label %8199

8182:                                             ; preds = %8160, %8153
  %8183 = load i32, ptr %197, align 4, !tbaa !5
  %8184 = call ptr @__errno_location() #12
  store i32 %8183, ptr %8184, align 4, !tbaa !5
  %8185 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8186 = load i32, ptr @test_count, align 4, !tbaa !5
  %8187 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8188 = load i32, ptr %8187, align 4, !tbaa !5
  %8189 = call ptr @s2n_strerror(i32 noundef %8188, ptr noundef @.str.4)
  %8190 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8191 = load i32, ptr %8190, align 4, !tbaa !5
  %8192 = call ptr @s2n_strerror_debug(i32 noundef %8191, ptr noundef @.str.4)
  %8193 = call ptr @__errno_location() #12
  %8194 = load i32, ptr %8193, align 4, !tbaa !5
  %8195 = call ptr @strerror(i32 noundef %8194) #11
  %8196 = call ptr @__errno_location() #12
  %8197 = load i32, ptr %8196, align 4, !tbaa !5
  %8198 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8185, ptr noundef @.str.5, i32 noundef %8186, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 350, ptr noundef %8189, ptr noundef %8192, ptr noundef %8195, i32 noundef %8197) #11
  br label %8199

8199:                                             ; preds = %8182, %8165
  call void @llvm.lifetime.end.p0(i64 4, ptr %197) #11
  br label %8200

8200:                                             ; preds = %8199
  br label %8201

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

8202:                                             ; No predecessors!
  br label %8203

8203:                                             ; preds = %8202
  br label %8204

8204:                                             ; preds = %8203, %8144
  br label %8205

8205:                                             ; preds = %8204
  br label %8206

8206:                                             ; preds = %8205
  br label %8207

8207:                                             ; preds = %8206
  %8208 = load i32, ptr @test_count, align 4, !tbaa !5
  %8209 = add nsw i32 %8208, 1
  store i32 %8209, ptr @test_count, align 4, !tbaa !5
  %8210 = load ptr, ptr %195, align 8, !tbaa !9
  %8211 = load ptr, ptr %11, align 8, !tbaa !9
  %8212 = call i32 @s2n_connection_set_config(ptr noundef %8210, ptr noundef %8211)
  %8213 = icmp eq i32 %8212, -1
  br i1 %8213, label %8214, label %8267

8214:                                             ; preds = %8207
  br label %8215

8215:                                             ; preds = %8214
  br label %8216

8216:                                             ; preds = %8215
  call void @llvm.lifetime.start.p0(i64 4, ptr %198) #11
  %8217 = call ptr @__errno_location() #12
  %8218 = load i32, ptr %8217, align 4, !tbaa !5
  store i32 %8218, ptr %198, align 4, !tbaa !5
  %8219 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8220 = call i32 @s2n_print_stacktrace(ptr noundef %8219)
  %8221 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8222 = trunc i8 %8221 to i1
  br i1 %8222, label %8223, label %8245

8223:                                             ; preds = %8216
  %8224 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8225 = call i32 @fileno(ptr noundef %8224) #11
  %8226 = call i32 @isatty(i32 noundef %8225) #11
  %8227 = icmp ne i32 %8226, 0
  br i1 %8227, label %8228, label %8245

8228:                                             ; preds = %8223
  %8229 = load i32, ptr %198, align 4, !tbaa !5
  %8230 = call ptr @__errno_location() #12
  store i32 %8229, ptr %8230, align 4, !tbaa !5
  %8231 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8232 = load i32, ptr @test_count, align 4, !tbaa !5
  %8233 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8234 = load i32, ptr %8233, align 4, !tbaa !5
  %8235 = call ptr @s2n_strerror(i32 noundef %8234, ptr noundef @.str.4)
  %8236 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8237 = load i32, ptr %8236, align 4, !tbaa !5
  %8238 = call ptr @s2n_strerror_debug(i32 noundef %8237, ptr noundef @.str.4)
  %8239 = call ptr @__errno_location() #12
  %8240 = load i32, ptr %8239, align 4, !tbaa !5
  %8241 = call ptr @strerror(i32 noundef %8240) #11
  %8242 = call ptr @__errno_location() #12
  %8243 = load i32, ptr %8242, align 4, !tbaa !5
  %8244 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8231, ptr noundef @.str.2, i32 noundef %8232, ptr noundef @.str.45, ptr noundef @.str.1, i32 noundef 351, ptr noundef %8235, ptr noundef %8238, ptr noundef %8241, i32 noundef %8243) #11
  br label %8262

8245:                                             ; preds = %8223, %8216
  %8246 = load i32, ptr %198, align 4, !tbaa !5
  %8247 = call ptr @__errno_location() #12
  store i32 %8246, ptr %8247, align 4, !tbaa !5
  %8248 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8249 = load i32, ptr @test_count, align 4, !tbaa !5
  %8250 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8251 = load i32, ptr %8250, align 4, !tbaa !5
  %8252 = call ptr @s2n_strerror(i32 noundef %8251, ptr noundef @.str.4)
  %8253 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8254 = load i32, ptr %8253, align 4, !tbaa !5
  %8255 = call ptr @s2n_strerror_debug(i32 noundef %8254, ptr noundef @.str.4)
  %8256 = call ptr @__errno_location() #12
  %8257 = load i32, ptr %8256, align 4, !tbaa !5
  %8258 = call ptr @strerror(i32 noundef %8257) #11
  %8259 = call ptr @__errno_location() #12
  %8260 = load i32, ptr %8259, align 4, !tbaa !5
  %8261 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8248, ptr noundef @.str.5, i32 noundef %8249, ptr noundef @.str.45, ptr noundef @.str.1, i32 noundef 351, ptr noundef %8252, ptr noundef %8255, ptr noundef %8258, i32 noundef %8260) #11
  br label %8262

8262:                                             ; preds = %8245, %8228
  call void @llvm.lifetime.end.p0(i64 4, ptr %198) #11
  br label %8263

8263:                                             ; preds = %8262
  br label %8264

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

8265:                                             ; No predecessors!
  br label %8266

8266:                                             ; preds = %8265
  br label %8267

8267:                                             ; preds = %8266, %8207
  br label %8268

8268:                                             ; preds = %8267
  br label %8269

8269:                                             ; preds = %8268
  call void @llvm.lifetime.start.p0(i64 80, ptr %199) #11
  call void @llvm.memset.p0.i64(ptr align 8 %199, i8 0, i64 80, i1 false)
  br label %8270

8270:                                             ; preds = %8269
  %8271 = load i32, ptr @test_count, align 4, !tbaa !5
  %8272 = add nsw i32 %8271, 1
  store i32 %8272, ptr @test_count, align 4, !tbaa !5
  %8273 = call i32 @s2n_io_stuffer_pair_init(ptr noundef %199)
  %8274 = getelementptr inbounds %struct.s2n_result, ptr %200, i32 0, i32 0
  store i32 %8273, ptr %8274, align 4
  %8275 = getelementptr inbounds %struct.s2n_result, ptr %200, i32 0, i32 0
  %8276 = load i32, ptr %8275, align 4
  %8277 = call zeroext i1 @s2n_result_is_ok(i32 %8276)
  br i1 %8277, label %8331, label %8278

8278:                                             ; preds = %8270
  br label %8279

8279:                                             ; preds = %8278
  br label %8280

8280:                                             ; preds = %8279
  call void @llvm.lifetime.start.p0(i64 4, ptr %201) #11
  %8281 = call ptr @__errno_location() #12
  %8282 = load i32, ptr %8281, align 4, !tbaa !5
  store i32 %8282, ptr %201, align 4, !tbaa !5
  %8283 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8284 = call i32 @s2n_print_stacktrace(ptr noundef %8283)
  %8285 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8286 = trunc i8 %8285 to i1
  br i1 %8286, label %8287, label %8309

8287:                                             ; preds = %8280
  %8288 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8289 = call i32 @fileno(ptr noundef %8288) #11
  %8290 = call i32 @isatty(i32 noundef %8289) #11
  %8291 = icmp ne i32 %8290, 0
  br i1 %8291, label %8292, label %8309

8292:                                             ; preds = %8287
  %8293 = load i32, ptr %201, align 4, !tbaa !5
  %8294 = call ptr @__errno_location() #12
  store i32 %8293, ptr %8294, align 4, !tbaa !5
  %8295 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8296 = load i32, ptr @test_count, align 4, !tbaa !5
  %8297 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8298 = load i32, ptr %8297, align 4, !tbaa !5
  %8299 = call ptr @s2n_strerror(i32 noundef %8298, ptr noundef @.str.4)
  %8300 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8301 = load i32, ptr %8300, align 4, !tbaa !5
  %8302 = call ptr @s2n_strerror_debug(i32 noundef %8301, ptr noundef @.str.4)
  %8303 = call ptr @__errno_location() #12
  %8304 = load i32, ptr %8303, align 4, !tbaa !5
  %8305 = call ptr @strerror(i32 noundef %8304) #11
  %8306 = call ptr @__errno_location() #12
  %8307 = load i32, ptr %8306, align 4, !tbaa !5
  %8308 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8295, ptr noundef @.str.2, i32 noundef %8296, ptr noundef @.str.46, ptr noundef @.str.1, i32 noundef 354, ptr noundef %8299, ptr noundef %8302, ptr noundef %8305, i32 noundef %8307) #11
  br label %8326

8309:                                             ; preds = %8287, %8280
  %8310 = load i32, ptr %201, align 4, !tbaa !5
  %8311 = call ptr @__errno_location() #12
  store i32 %8310, ptr %8311, align 4, !tbaa !5
  %8312 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8313 = load i32, ptr @test_count, align 4, !tbaa !5
  %8314 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8315 = load i32, ptr %8314, align 4, !tbaa !5
  %8316 = call ptr @s2n_strerror(i32 noundef %8315, ptr noundef @.str.4)
  %8317 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8318 = load i32, ptr %8317, align 4, !tbaa !5
  %8319 = call ptr @s2n_strerror_debug(i32 noundef %8318, ptr noundef @.str.4)
  %8320 = call ptr @__errno_location() #12
  %8321 = load i32, ptr %8320, align 4, !tbaa !5
  %8322 = call ptr @strerror(i32 noundef %8321) #11
  %8323 = call ptr @__errno_location() #12
  %8324 = load i32, ptr %8323, align 4, !tbaa !5
  %8325 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8312, ptr noundef @.str.5, i32 noundef %8313, ptr noundef @.str.46, ptr noundef @.str.1, i32 noundef 354, ptr noundef %8316, ptr noundef %8319, ptr noundef %8322, i32 noundef %8324) #11
  br label %8326

8326:                                             ; preds = %8309, %8292
  call void @llvm.lifetime.end.p0(i64 4, ptr %201) #11
  br label %8327

8327:                                             ; preds = %8326
  br label %8328

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

8329:                                             ; No predecessors!
  br label %8330

8330:                                             ; preds = %8329
  br label %8331

8331:                                             ; preds = %8330, %8270
  br label %8332

8332:                                             ; preds = %8331
  br label %8333

8333:                                             ; preds = %8332
  br label %8334

8334:                                             ; preds = %8333
  %8335 = load i32, ptr @test_count, align 4, !tbaa !5
  %8336 = add nsw i32 %8335, 1
  store i32 %8336, ptr @test_count, align 4, !tbaa !5
  %8337 = load ptr, ptr %193, align 8, !tbaa !9
  %8338 = load ptr, ptr %195, align 8, !tbaa !9
  %8339 = call i32 @s2n_connections_set_io_stuffer_pair(ptr noundef %8337, ptr noundef %8338, ptr noundef %199)
  %8340 = getelementptr inbounds %struct.s2n_result, ptr %202, i32 0, i32 0
  store i32 %8339, ptr %8340, align 4
  %8341 = getelementptr inbounds %struct.s2n_result, ptr %202, i32 0, i32 0
  %8342 = load i32, ptr %8341, align 4
  %8343 = call zeroext i1 @s2n_result_is_ok(i32 %8342)
  br i1 %8343, label %8397, label %8344

8344:                                             ; preds = %8334
  br label %8345

8345:                                             ; preds = %8344
  br label %8346

8346:                                             ; preds = %8345
  call void @llvm.lifetime.start.p0(i64 4, ptr %203) #11
  %8347 = call ptr @__errno_location() #12
  %8348 = load i32, ptr %8347, align 4, !tbaa !5
  store i32 %8348, ptr %203, align 4, !tbaa !5
  %8349 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8350 = call i32 @s2n_print_stacktrace(ptr noundef %8349)
  %8351 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8352 = trunc i8 %8351 to i1
  br i1 %8352, label %8353, label %8375

8353:                                             ; preds = %8346
  %8354 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8355 = call i32 @fileno(ptr noundef %8354) #11
  %8356 = call i32 @isatty(i32 noundef %8355) #11
  %8357 = icmp ne i32 %8356, 0
  br i1 %8357, label %8358, label %8375

8358:                                             ; preds = %8353
  %8359 = load i32, ptr %203, align 4, !tbaa !5
  %8360 = call ptr @__errno_location() #12
  store i32 %8359, ptr %8360, align 4, !tbaa !5
  %8361 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8362 = load i32, ptr @test_count, align 4, !tbaa !5
  %8363 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8364 = load i32, ptr %8363, align 4, !tbaa !5
  %8365 = call ptr @s2n_strerror(i32 noundef %8364, ptr noundef @.str.4)
  %8366 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8367 = load i32, ptr %8366, align 4, !tbaa !5
  %8368 = call ptr @s2n_strerror_debug(i32 noundef %8367, ptr noundef @.str.4)
  %8369 = call ptr @__errno_location() #12
  %8370 = load i32, ptr %8369, align 4, !tbaa !5
  %8371 = call ptr @strerror(i32 noundef %8370) #11
  %8372 = call ptr @__errno_location() #12
  %8373 = load i32, ptr %8372, align 4, !tbaa !5
  %8374 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8361, ptr noundef @.str.2, i32 noundef %8362, ptr noundef @.str.47, ptr noundef @.str.1, i32 noundef 355, ptr noundef %8365, ptr noundef %8368, ptr noundef %8371, i32 noundef %8373) #11
  br label %8392

8375:                                             ; preds = %8353, %8346
  %8376 = load i32, ptr %203, align 4, !tbaa !5
  %8377 = call ptr @__errno_location() #12
  store i32 %8376, ptr %8377, align 4, !tbaa !5
  %8378 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8379 = load i32, ptr @test_count, align 4, !tbaa !5
  %8380 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8381 = load i32, ptr %8380, align 4, !tbaa !5
  %8382 = call ptr @s2n_strerror(i32 noundef %8381, ptr noundef @.str.4)
  %8383 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8384 = load i32, ptr %8383, align 4, !tbaa !5
  %8385 = call ptr @s2n_strerror_debug(i32 noundef %8384, ptr noundef @.str.4)
  %8386 = call ptr @__errno_location() #12
  %8387 = load i32, ptr %8386, align 4, !tbaa !5
  %8388 = call ptr @strerror(i32 noundef %8387) #11
  %8389 = call ptr @__errno_location() #12
  %8390 = load i32, ptr %8389, align 4, !tbaa !5
  %8391 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8378, ptr noundef @.str.5, i32 noundef %8379, ptr noundef @.str.47, ptr noundef @.str.1, i32 noundef 355, ptr noundef %8382, ptr noundef %8385, ptr noundef %8388, i32 noundef %8390) #11
  br label %8392

8392:                                             ; preds = %8375, %8358
  call void @llvm.lifetime.end.p0(i64 4, ptr %203) #11
  br label %8393

8393:                                             ; preds = %8392
  br label %8394

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

8395:                                             ; No predecessors!
  br label %8396

8396:                                             ; preds = %8395
  br label %8397

8397:                                             ; preds = %8396, %8334
  br label %8398

8398:                                             ; preds = %8397
  br label %8399

8399:                                             ; preds = %8398
  br label %8400

8400:                                             ; preds = %8399
  %8401 = load i32, ptr @test_count, align 4, !tbaa !5
  %8402 = add nsw i32 %8401, 1
  store i32 %8402, ptr @test_count, align 4, !tbaa !5
  %8403 = load ptr, ptr %195, align 8, !tbaa !9
  %8404 = load ptr, ptr %193, align 8, !tbaa !9
  %8405 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %8403, ptr noundef %8404)
  %8406 = icmp eq i32 %8405, -1
  br i1 %8406, label %8407, label %8460

8407:                                             ; preds = %8400
  br label %8408

8408:                                             ; preds = %8407
  br label %8409

8409:                                             ; preds = %8408
  call void @llvm.lifetime.start.p0(i64 4, ptr %204) #11
  %8410 = call ptr @__errno_location() #12
  %8411 = load i32, ptr %8410, align 4, !tbaa !5
  store i32 %8411, ptr %204, align 4, !tbaa !5
  %8412 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8413 = call i32 @s2n_print_stacktrace(ptr noundef %8412)
  %8414 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8415 = trunc i8 %8414 to i1
  br i1 %8415, label %8416, label %8438

8416:                                             ; preds = %8409
  %8417 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8418 = call i32 @fileno(ptr noundef %8417) #11
  %8419 = call i32 @isatty(i32 noundef %8418) #11
  %8420 = icmp ne i32 %8419, 0
  br i1 %8420, label %8421, label %8438

8421:                                             ; preds = %8416
  %8422 = load i32, ptr %204, align 4, !tbaa !5
  %8423 = call ptr @__errno_location() #12
  store i32 %8422, ptr %8423, align 4, !tbaa !5
  %8424 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8425 = load i32, ptr @test_count, align 4, !tbaa !5
  %8426 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8427 = load i32, ptr %8426, align 4, !tbaa !5
  %8428 = call ptr @s2n_strerror(i32 noundef %8427, ptr noundef @.str.4)
  %8429 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8430 = load i32, ptr %8429, align 4, !tbaa !5
  %8431 = call ptr @s2n_strerror_debug(i32 noundef %8430, ptr noundef @.str.4)
  %8432 = call ptr @__errno_location() #12
  %8433 = load i32, ptr %8432, align 4, !tbaa !5
  %8434 = call ptr @strerror(i32 noundef %8433) #11
  %8435 = call ptr @__errno_location() #12
  %8436 = load i32, ptr %8435, align 4, !tbaa !5
  %8437 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8424, ptr noundef @.str.2, i32 noundef %8425, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 357, ptr noundef %8428, ptr noundef %8431, ptr noundef %8434, i32 noundef %8436) #11
  br label %8455

8438:                                             ; preds = %8416, %8409
  %8439 = load i32, ptr %204, align 4, !tbaa !5
  %8440 = call ptr @__errno_location() #12
  store i32 %8439, ptr %8440, align 4, !tbaa !5
  %8441 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8442 = load i32, ptr @test_count, align 4, !tbaa !5
  %8443 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8444 = load i32, ptr %8443, align 4, !tbaa !5
  %8445 = call ptr @s2n_strerror(i32 noundef %8444, ptr noundef @.str.4)
  %8446 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8447 = load i32, ptr %8446, align 4, !tbaa !5
  %8448 = call ptr @s2n_strerror_debug(i32 noundef %8447, ptr noundef @.str.4)
  %8449 = call ptr @__errno_location() #12
  %8450 = load i32, ptr %8449, align 4, !tbaa !5
  %8451 = call ptr @strerror(i32 noundef %8450) #11
  %8452 = call ptr @__errno_location() #12
  %8453 = load i32, ptr %8452, align 4, !tbaa !5
  %8454 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8441, ptr noundef @.str.5, i32 noundef %8442, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 357, ptr noundef %8445, ptr noundef %8448, ptr noundef %8451, i32 noundef %8453) #11
  br label %8455

8455:                                             ; preds = %8438, %8421
  call void @llvm.lifetime.end.p0(i64 4, ptr %204) #11
  br label %8456

8456:                                             ; preds = %8455
  br label %8457

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

8458:                                             ; No predecessors!
  br label %8459

8459:                                             ; preds = %8458
  br label %8460

8460:                                             ; preds = %8459, %8400
  br label %8461

8461:                                             ; preds = %8460
  br label %8462

8462:                                             ; preds = %8461
  call void @llvm.lifetime.start.p0(i64 6, ptr %205) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 1 %205, ptr align 1 @__const.main.data, i64 6, i1 false)
  call void @llvm.lifetime.start.p0(i64 4, ptr %206) #11
  store i32 0, ptr %206, align 4, !tbaa !5
  br label %8463

8463:                                             ; preds = %8462
  %8464 = load i32, ptr @test_count, align 4, !tbaa !5
  %8465 = add nsw i32 %8464, 1
  store i32 %8465, ptr @test_count, align 4, !tbaa !5
  %8466 = load ptr, ptr %193, align 8, !tbaa !9
  %8467 = getelementptr inbounds [6 x i8], ptr %205, i64 0, i64 0
  %8468 = call i64 @s2n_send(ptr noundef %8466, ptr noundef %8467, i64 noundef 6, ptr noundef %206)
  %8469 = icmp eq i64 %8468, -1
  br i1 %8469, label %8470, label %8523

8470:                                             ; preds = %8463
  br label %8471

8471:                                             ; preds = %8470
  br label %8472

8472:                                             ; preds = %8471
  call void @llvm.lifetime.start.p0(i64 4, ptr %207) #11
  %8473 = call ptr @__errno_location() #12
  %8474 = load i32, ptr %8473, align 4, !tbaa !5
  store i32 %8474, ptr %207, align 4, !tbaa !5
  %8475 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8476 = call i32 @s2n_print_stacktrace(ptr noundef %8475)
  %8477 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8478 = trunc i8 %8477 to i1
  br i1 %8478, label %8479, label %8501

8479:                                             ; preds = %8472
  %8480 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8481 = call i32 @fileno(ptr noundef %8480) #11
  %8482 = call i32 @isatty(i32 noundef %8481) #11
  %8483 = icmp ne i32 %8482, 0
  br i1 %8483, label %8484, label %8501

8484:                                             ; preds = %8479
  %8485 = load i32, ptr %207, align 4, !tbaa !5
  %8486 = call ptr @__errno_location() #12
  store i32 %8485, ptr %8486, align 4, !tbaa !5
  %8487 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8488 = load i32, ptr @test_count, align 4, !tbaa !5
  %8489 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8490 = load i32, ptr %8489, align 4, !tbaa !5
  %8491 = call ptr @s2n_strerror(i32 noundef %8490, ptr noundef @.str.4)
  %8492 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8493 = load i32, ptr %8492, align 4, !tbaa !5
  %8494 = call ptr @s2n_strerror_debug(i32 noundef %8493, ptr noundef @.str.4)
  %8495 = call ptr @__errno_location() #12
  %8496 = load i32, ptr %8495, align 4, !tbaa !5
  %8497 = call ptr @strerror(i32 noundef %8496) #11
  %8498 = call ptr @__errno_location() #12
  %8499 = load i32, ptr %8498, align 4, !tbaa !5
  %8500 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8487, ptr noundef @.str.2, i32 noundef %8488, ptr noundef @.str.85, ptr noundef @.str.1, i32 noundef 361, ptr noundef %8491, ptr noundef %8494, ptr noundef %8497, i32 noundef %8499) #11
  br label %8518

8501:                                             ; preds = %8479, %8472
  %8502 = load i32, ptr %207, align 4, !tbaa !5
  %8503 = call ptr @__errno_location() #12
  store i32 %8502, ptr %8503, align 4, !tbaa !5
  %8504 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8505 = load i32, ptr @test_count, align 4, !tbaa !5
  %8506 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8507 = load i32, ptr %8506, align 4, !tbaa !5
  %8508 = call ptr @s2n_strerror(i32 noundef %8507, ptr noundef @.str.4)
  %8509 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8510 = load i32, ptr %8509, align 4, !tbaa !5
  %8511 = call ptr @s2n_strerror_debug(i32 noundef %8510, ptr noundef @.str.4)
  %8512 = call ptr @__errno_location() #12
  %8513 = load i32, ptr %8512, align 4, !tbaa !5
  %8514 = call ptr @strerror(i32 noundef %8513) #11
  %8515 = call ptr @__errno_location() #12
  %8516 = load i32, ptr %8515, align 4, !tbaa !5
  %8517 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8504, ptr noundef @.str.5, i32 noundef %8505, ptr noundef @.str.85, ptr noundef @.str.1, i32 noundef 361, ptr noundef %8508, ptr noundef %8511, ptr noundef %8514, i32 noundef %8516) #11
  br label %8518

8518:                                             ; preds = %8501, %8484
  call void @llvm.lifetime.end.p0(i64 4, ptr %207) #11
  br label %8519

8519:                                             ; preds = %8518
  br label %8520

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

8521:                                             ; No predecessors!
  br label %8522

8522:                                             ; preds = %8521
  br label %8523

8523:                                             ; preds = %8522, %8463
  br label %8524

8524:                                             ; preds = %8523
  br label %8525

8525:                                             ; preds = %8524
  call void @llvm.lifetime.start.p0(i64 10, ptr %208) #11
  call void @llvm.memset.p0.i64(ptr align 1 %208, i8 0, i64 10, i1 false)
  br label %8526

8526:                                             ; preds = %8525
  %8527 = load i32, ptr @test_count, align 4, !tbaa !5
  %8528 = add nsw i32 %8527, 1
  store i32 %8528, ptr @test_count, align 4, !tbaa !5
  %8529 = load ptr, ptr %195, align 8, !tbaa !9
  %8530 = call i64 @s2n_recv(ptr noundef %8529, ptr noundef %208, i64 noundef 1, ptr noundef %206)
  %8531 = icmp eq i64 %8530, -1
  br i1 %8531, label %8532, label %8585

8532:                                             ; preds = %8526
  br label %8533

8533:                                             ; preds = %8532
  br label %8534

8534:                                             ; preds = %8533
  call void @llvm.lifetime.start.p0(i64 4, ptr %209) #11
  %8535 = call ptr @__errno_location() #12
  %8536 = load i32, ptr %8535, align 4, !tbaa !5
  store i32 %8536, ptr %209, align 4, !tbaa !5
  %8537 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8538 = call i32 @s2n_print_stacktrace(ptr noundef %8537)
  %8539 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8540 = trunc i8 %8539 to i1
  br i1 %8540, label %8541, label %8563

8541:                                             ; preds = %8534
  %8542 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8543 = call i32 @fileno(ptr noundef %8542) #11
  %8544 = call i32 @isatty(i32 noundef %8543) #11
  %8545 = icmp ne i32 %8544, 0
  br i1 %8545, label %8546, label %8563

8546:                                             ; preds = %8541
  %8547 = load i32, ptr %209, align 4, !tbaa !5
  %8548 = call ptr @__errno_location() #12
  store i32 %8547, ptr %8548, align 4, !tbaa !5
  %8549 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8550 = load i32, ptr @test_count, align 4, !tbaa !5
  %8551 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8552 = load i32, ptr %8551, align 4, !tbaa !5
  %8553 = call ptr @s2n_strerror(i32 noundef %8552, ptr noundef @.str.4)
  %8554 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8555 = load i32, ptr %8554, align 4, !tbaa !5
  %8556 = call ptr @s2n_strerror_debug(i32 noundef %8555, ptr noundef @.str.4)
  %8557 = call ptr @__errno_location() #12
  %8558 = load i32, ptr %8557, align 4, !tbaa !5
  %8559 = call ptr @strerror(i32 noundef %8558) #11
  %8560 = call ptr @__errno_location() #12
  %8561 = load i32, ptr %8560, align 4, !tbaa !5
  %8562 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8549, ptr noundef @.str.2, i32 noundef %8550, ptr noundef @.str.86, ptr noundef @.str.1, i32 noundef 365, ptr noundef %8553, ptr noundef %8556, ptr noundef %8559, i32 noundef %8561) #11
  br label %8580

8563:                                             ; preds = %8541, %8534
  %8564 = load i32, ptr %209, align 4, !tbaa !5
  %8565 = call ptr @__errno_location() #12
  store i32 %8564, ptr %8565, align 4, !tbaa !5
  %8566 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8567 = load i32, ptr @test_count, align 4, !tbaa !5
  %8568 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8569 = load i32, ptr %8568, align 4, !tbaa !5
  %8570 = call ptr @s2n_strerror(i32 noundef %8569, ptr noundef @.str.4)
  %8571 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8572 = load i32, ptr %8571, align 4, !tbaa !5
  %8573 = call ptr @s2n_strerror_debug(i32 noundef %8572, ptr noundef @.str.4)
  %8574 = call ptr @__errno_location() #12
  %8575 = load i32, ptr %8574, align 4, !tbaa !5
  %8576 = call ptr @strerror(i32 noundef %8575) #11
  %8577 = call ptr @__errno_location() #12
  %8578 = load i32, ptr %8577, align 4, !tbaa !5
  %8579 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8566, ptr noundef @.str.5, i32 noundef %8567, ptr noundef @.str.86, ptr noundef @.str.1, i32 noundef 365, ptr noundef %8570, ptr noundef %8573, ptr noundef %8576, i32 noundef %8578) #11
  br label %8580

8580:                                             ; preds = %8563, %8546
  call void @llvm.lifetime.end.p0(i64 4, ptr %209) #11
  br label %8581

8581:                                             ; preds = %8580
  br label %8582

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

8583:                                             ; No predecessors!
  br label %8584

8584:                                             ; preds = %8583
  br label %8585

8585:                                             ; preds = %8584, %8526
  br label %8586

8586:                                             ; preds = %8585
  br label %8587

8587:                                             ; preds = %8586
  call void @llvm.lifetime.start.p0(i64 142, ptr %210) #11
  call void @llvm.memset.p0.i64(ptr align 16 %210, i8 0, i64 142, i1 false)
  br label %8588

8588:                                             ; preds = %8587
  br label %8589

8589:                                             ; preds = %8588
  br label %8590

8590:                                             ; preds = %8589
  %8591 = load i32, ptr @test_count, align 4, !tbaa !5
  %8592 = add nsw i32 %8591, 1
  store i32 %8592, ptr @test_count, align 4, !tbaa !5
  %8593 = load ptr, ptr %195, align 8, !tbaa !9
  %8594 = getelementptr inbounds [142 x i8], ptr %210, i64 0, i64 0
  %8595 = call i32 @s2n_connection_serialize(ptr noundef %8593, ptr noundef %8594, i32 noundef 142)
  %8596 = icmp eq i32 %8595, -1
  br i1 %8596, label %8650, label %8597

8597:                                             ; preds = %8590
  br label %8598

8598:                                             ; preds = %8597
  br label %8599

8599:                                             ; preds = %8598
  call void @llvm.lifetime.start.p0(i64 4, ptr %211) #11
  %8600 = call ptr @__errno_location() #12
  %8601 = load i32, ptr %8600, align 4, !tbaa !5
  store i32 %8601, ptr %211, align 4, !tbaa !5
  %8602 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8603 = call i32 @s2n_print_stacktrace(ptr noundef %8602)
  %8604 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8605 = trunc i8 %8604 to i1
  br i1 %8605, label %8606, label %8628

8606:                                             ; preds = %8599
  %8607 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8608 = call i32 @fileno(ptr noundef %8607) #11
  %8609 = call i32 @isatty(i32 noundef %8608) #11
  %8610 = icmp ne i32 %8609, 0
  br i1 %8610, label %8611, label %8628

8611:                                             ; preds = %8606
  %8612 = load i32, ptr %211, align 4, !tbaa !5
  %8613 = call ptr @__errno_location() #12
  store i32 %8612, ptr %8613, align 4, !tbaa !5
  %8614 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8615 = load i32, ptr @test_count, align 4, !tbaa !5
  %8616 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8617 = load i32, ptr %8616, align 4, !tbaa !5
  %8618 = call ptr @s2n_strerror(i32 noundef %8617, ptr noundef @.str.4)
  %8619 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8620 = load i32, ptr %8619, align 4, !tbaa !5
  %8621 = call ptr @s2n_strerror_debug(i32 noundef %8620, ptr noundef @.str.4)
  %8622 = call ptr @__errno_location() #12
  %8623 = load i32, ptr %8622, align 4, !tbaa !5
  %8624 = call ptr @strerror(i32 noundef %8623) #11
  %8625 = call ptr @__errno_location() #12
  %8626 = load i32, ptr %8625, align 4, !tbaa !5
  %8627 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8614, ptr noundef @.str.2, i32 noundef %8615, ptr noundef @.str.87, ptr noundef @.str.1, i32 noundef 370, ptr noundef %8618, ptr noundef %8621, ptr noundef %8624, i32 noundef %8626) #11
  br label %8645

8628:                                             ; preds = %8606, %8599
  %8629 = load i32, ptr %211, align 4, !tbaa !5
  %8630 = call ptr @__errno_location() #12
  store i32 %8629, ptr %8630, align 4, !tbaa !5
  %8631 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8632 = load i32, ptr @test_count, align 4, !tbaa !5
  %8633 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8634 = load i32, ptr %8633, align 4, !tbaa !5
  %8635 = call ptr @s2n_strerror(i32 noundef %8634, ptr noundef @.str.4)
  %8636 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8637 = load i32, ptr %8636, align 4, !tbaa !5
  %8638 = call ptr @s2n_strerror_debug(i32 noundef %8637, ptr noundef @.str.4)
  %8639 = call ptr @__errno_location() #12
  %8640 = load i32, ptr %8639, align 4, !tbaa !5
  %8641 = call ptr @strerror(i32 noundef %8640) #11
  %8642 = call ptr @__errno_location() #12
  %8643 = load i32, ptr %8642, align 4, !tbaa !5
  %8644 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8631, ptr noundef @.str.5, i32 noundef %8632, ptr noundef @.str.87, ptr noundef @.str.1, i32 noundef 370, ptr noundef %8635, ptr noundef %8638, ptr noundef %8641, i32 noundef %8643) #11
  br label %8645

8645:                                             ; preds = %8628, %8611
  call void @llvm.lifetime.end.p0(i64 4, ptr %211) #11
  br label %8646

8646:                                             ; preds = %8645
  br label %8647

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

8648:                                             ; No predecessors!
  br label %8649

8649:                                             ; preds = %8648
  br label %8650

8650:                                             ; preds = %8649, %8590
  br label %8651

8651:                                             ; preds = %8650
  br label %8652

8652:                                             ; preds = %8651
  br label %8653

8653:                                             ; preds = %8652
  %8654 = load i32, ptr @test_count, align 4, !tbaa !5
  %8655 = add nsw i32 %8654, 1
  store i32 %8655, ptr @test_count, align 4, !tbaa !5
  %8656 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8657 = load i32, ptr %8656, align 4, !tbaa !5
  %8658 = icmp eq i32 %8657, 469762112
  br i1 %8658, label %8712, label %8659

8659:                                             ; preds = %8653
  br label %8660

8660:                                             ; preds = %8659
  br label %8661

8661:                                             ; preds = %8660
  call void @llvm.lifetime.start.p0(i64 4, ptr %212) #11
  %8662 = call ptr @__errno_location() #12
  %8663 = load i32, ptr %8662, align 4, !tbaa !5
  store i32 %8663, ptr %212, align 4, !tbaa !5
  %8664 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8665 = call i32 @s2n_print_stacktrace(ptr noundef %8664)
  %8666 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8667 = trunc i8 %8666 to i1
  br i1 %8667, label %8668, label %8690

8668:                                             ; preds = %8661
  %8669 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8670 = call i32 @fileno(ptr noundef %8669) #11
  %8671 = call i32 @isatty(i32 noundef %8670) #11
  %8672 = icmp ne i32 %8671, 0
  br i1 %8672, label %8673, label %8690

8673:                                             ; preds = %8668
  %8674 = load i32, ptr %212, align 4, !tbaa !5
  %8675 = call ptr @__errno_location() #12
  store i32 %8674, ptr %8675, align 4, !tbaa !5
  %8676 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8677 = load i32, ptr @test_count, align 4, !tbaa !5
  %8678 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8679 = load i32, ptr %8678, align 4, !tbaa !5
  %8680 = call ptr @s2n_strerror(i32 noundef %8679, ptr noundef @.str.4)
  %8681 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8682 = load i32, ptr %8681, align 4, !tbaa !5
  %8683 = call ptr @s2n_strerror_debug(i32 noundef %8682, ptr noundef @.str.4)
  %8684 = call ptr @__errno_location() #12
  %8685 = load i32, ptr %8684, align 4, !tbaa !5
  %8686 = call ptr @strerror(i32 noundef %8685) #11
  %8687 = call ptr @__errno_location() #12
  %8688 = load i32, ptr %8687, align 4, !tbaa !5
  %8689 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8676, ptr noundef @.str.2, i32 noundef %8677, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 370, ptr noundef %8680, ptr noundef %8683, ptr noundef %8686, i32 noundef %8688) #11
  br label %8707

8690:                                             ; preds = %8668, %8661
  %8691 = load i32, ptr %212, align 4, !tbaa !5
  %8692 = call ptr @__errno_location() #12
  store i32 %8691, ptr %8692, align 4, !tbaa !5
  %8693 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8694 = load i32, ptr @test_count, align 4, !tbaa !5
  %8695 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8696 = load i32, ptr %8695, align 4, !tbaa !5
  %8697 = call ptr @s2n_strerror(i32 noundef %8696, ptr noundef @.str.4)
  %8698 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8699 = load i32, ptr %8698, align 4, !tbaa !5
  %8700 = call ptr @s2n_strerror_debug(i32 noundef %8699, ptr noundef @.str.4)
  %8701 = call ptr @__errno_location() #12
  %8702 = load i32, ptr %8701, align 4, !tbaa !5
  %8703 = call ptr @strerror(i32 noundef %8702) #11
  %8704 = call ptr @__errno_location() #12
  %8705 = load i32, ptr %8704, align 4, !tbaa !5
  %8706 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8693, ptr noundef @.str.5, i32 noundef %8694, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 370, ptr noundef %8697, ptr noundef %8700, ptr noundef %8703, i32 noundef %8705) #11
  br label %8707

8707:                                             ; preds = %8690, %8673
  call void @llvm.lifetime.end.p0(i64 4, ptr %212) #11
  br label %8708

8708:                                             ; preds = %8707
  br label %8709

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

8710:                                             ; No predecessors!
  br label %8711

8711:                                             ; preds = %8710
  br label %8712

8712:                                             ; preds = %8711, %8653
  br label %8713

8713:                                             ; preds = %8712
  br label %8714

8714:                                             ; preds = %8713
  br label %8715

8715:                                             ; preds = %8714
  %8716 = load i32, ptr @test_count, align 4, !tbaa !5
  %8717 = add nsw i32 %8716, 1
  store i32 %8717, ptr @test_count, align 4, !tbaa !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.4)
  %8721 = icmp eq ptr %8720, null
  br i1 %8721, label %8722, label %8775

8722:                                             ; preds = %8715
  br label %8723

8723:                                             ; preds = %8722
  br label %8724

8724:                                             ; preds = %8723
  call void @llvm.lifetime.start.p0(i64 4, ptr %213) #11
  %8725 = call ptr @__errno_location() #12
  %8726 = load i32, ptr %8725, align 4, !tbaa !5
  store i32 %8726, ptr %213, align 4, !tbaa !5
  %8727 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8728 = call i32 @s2n_print_stacktrace(ptr noundef %8727)
  %8729 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8730 = trunc i8 %8729 to i1
  br i1 %8730, label %8731, label %8753

8731:                                             ; preds = %8724
  %8732 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8733 = call i32 @fileno(ptr noundef %8732) #11
  %8734 = call i32 @isatty(i32 noundef %8733) #11
  %8735 = icmp ne i32 %8734, 0
  br i1 %8735, label %8736, label %8753

8736:                                             ; preds = %8731
  %8737 = load i32, ptr %213, align 4, !tbaa !5
  %8738 = call ptr @__errno_location() #12
  store i32 %8737, ptr %8738, align 4, !tbaa !5
  %8739 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8740 = load i32, ptr @test_count, align 4, !tbaa !5
  %8741 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8742 = load i32, ptr %8741, align 4, !tbaa !5
  %8743 = call ptr @s2n_strerror(i32 noundef %8742, ptr noundef @.str.4)
  %8744 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8745 = load i32, ptr %8744, align 4, !tbaa !5
  %8746 = call ptr @s2n_strerror_debug(i32 noundef %8745, ptr noundef @.str.4)
  %8747 = call ptr @__errno_location() #12
  %8748 = load i32, ptr %8747, align 4, !tbaa !5
  %8749 = call ptr @strerror(i32 noundef %8748) #11
  %8750 = call ptr @__errno_location() #12
  %8751 = load i32, ptr %8750, align 4, !tbaa !5
  %8752 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8739, ptr noundef @.str.2, i32 noundef %8740, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 370, ptr noundef %8743, ptr noundef %8746, ptr noundef %8749, i32 noundef %8751) #11
  br label %8770

8753:                                             ; preds = %8731, %8724
  %8754 = load i32, ptr %213, align 4, !tbaa !5
  %8755 = call ptr @__errno_location() #12
  store i32 %8754, ptr %8755, align 4, !tbaa !5
  %8756 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8757 = load i32, ptr @test_count, align 4, !tbaa !5
  %8758 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8759 = load i32, ptr %8758, align 4, !tbaa !5
  %8760 = call ptr @s2n_strerror(i32 noundef %8759, ptr noundef @.str.4)
  %8761 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8762 = load i32, ptr %8761, align 4, !tbaa !5
  %8763 = call ptr @s2n_strerror_debug(i32 noundef %8762, ptr noundef @.str.4)
  %8764 = call ptr @__errno_location() #12
  %8765 = load i32, ptr %8764, align 4, !tbaa !5
  %8766 = call ptr @strerror(i32 noundef %8765) #11
  %8767 = call ptr @__errno_location() #12
  %8768 = load i32, ptr %8767, align 4, !tbaa !5
  %8769 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8756, ptr noundef @.str.5, i32 noundef %8757, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 370, ptr noundef %8760, ptr noundef %8763, ptr noundef %8766, i32 noundef %8768) #11
  br label %8770

8770:                                             ; preds = %8753, %8736
  call void @llvm.lifetime.end.p0(i64 4, ptr %213) #11
  br label %8771

8771:                                             ; preds = %8770
  br label %8772

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

8773:                                             ; No predecessors!
  br label %8774

8774:                                             ; preds = %8773
  br label %8775

8775:                                             ; preds = %8774, %8715
  br label %8776

8776:                                             ; preds = %8775
  br label %8777

8777:                                             ; preds = %8776
  br label %8778

8778:                                             ; preds = %8777
  br label %8779

8779:                                             ; preds = %8778
  br label %8780

8780:                                             ; preds = %8779
  %8781 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %8781, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %8782 = call ptr @__errno_location() #12
  store i32 0, ptr %8782, align 4, !tbaa !5
  br label %8783

8783:                                             ; preds = %8780
  br label %8784

8784:                                             ; preds = %8783
  br label %8785

8785:                                             ; preds = %8784
  br label %8786

8786:                                             ; preds = %8785
  br label %8787

8787:                                             ; preds = %8786
  %8788 = load i32, ptr @test_count, align 4, !tbaa !5
  %8789 = add nsw i32 %8788, 1
  store i32 %8789, ptr @test_count, align 4, !tbaa !5
  %8790 = load ptr, ptr %195, align 8, !tbaa !9
  %8791 = call i64 @s2n_recv(ptr noundef %8790, ptr noundef %208, i64 noundef 10, ptr noundef %206)
  %8792 = icmp eq i64 %8791, -1
  br i1 %8792, label %8793, label %8846

8793:                                             ; preds = %8787
  br label %8794

8794:                                             ; preds = %8793
  br label %8795

8795:                                             ; preds = %8794
  call void @llvm.lifetime.start.p0(i64 4, ptr %214) #11
  %8796 = call ptr @__errno_location() #12
  %8797 = load i32, ptr %8796, align 4, !tbaa !5
  store i32 %8797, ptr %214, align 4, !tbaa !5
  %8798 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8799 = call i32 @s2n_print_stacktrace(ptr noundef %8798)
  %8800 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8801 = trunc i8 %8800 to i1
  br i1 %8801, label %8802, label %8824

8802:                                             ; preds = %8795
  %8803 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8804 = call i32 @fileno(ptr noundef %8803) #11
  %8805 = call i32 @isatty(i32 noundef %8804) #11
  %8806 = icmp ne i32 %8805, 0
  br i1 %8806, label %8807, label %8824

8807:                                             ; preds = %8802
  %8808 = load i32, ptr %214, align 4, !tbaa !5
  %8809 = call ptr @__errno_location() #12
  store i32 %8808, ptr %8809, align 4, !tbaa !5
  %8810 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8811 = load i32, ptr @test_count, align 4, !tbaa !5
  %8812 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8813 = load i32, ptr %8812, align 4, !tbaa !5
  %8814 = call ptr @s2n_strerror(i32 noundef %8813, ptr noundef @.str.4)
  %8815 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8816 = load i32, ptr %8815, align 4, !tbaa !5
  %8817 = call ptr @s2n_strerror_debug(i32 noundef %8816, ptr noundef @.str.4)
  %8818 = call ptr @__errno_location() #12
  %8819 = load i32, ptr %8818, align 4, !tbaa !5
  %8820 = call ptr @strerror(i32 noundef %8819) #11
  %8821 = call ptr @__errno_location() #12
  %8822 = load i32, ptr %8821, align 4, !tbaa !5
  %8823 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8810, ptr noundef @.str.2, i32 noundef %8811, ptr noundef @.str.88, ptr noundef @.str.1, i32 noundef 373, ptr noundef %8814, ptr noundef %8817, ptr noundef %8820, i32 noundef %8822) #11
  br label %8841

8824:                                             ; preds = %8802, %8795
  %8825 = load i32, ptr %214, align 4, !tbaa !5
  %8826 = call ptr @__errno_location() #12
  store i32 %8825, ptr %8826, align 4, !tbaa !5
  %8827 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8828 = load i32, ptr @test_count, align 4, !tbaa !5
  %8829 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8830 = load i32, ptr %8829, align 4, !tbaa !5
  %8831 = call ptr @s2n_strerror(i32 noundef %8830, ptr noundef @.str.4)
  %8832 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8833 = load i32, ptr %8832, align 4, !tbaa !5
  %8834 = call ptr @s2n_strerror_debug(i32 noundef %8833, ptr noundef @.str.4)
  %8835 = call ptr @__errno_location() #12
  %8836 = load i32, ptr %8835, align 4, !tbaa !5
  %8837 = call ptr @strerror(i32 noundef %8836) #11
  %8838 = call ptr @__errno_location() #12
  %8839 = load i32, ptr %8838, align 4, !tbaa !5
  %8840 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8827, ptr noundef @.str.5, i32 noundef %8828, ptr noundef @.str.88, ptr noundef @.str.1, i32 noundef 373, ptr noundef %8831, ptr noundef %8834, ptr noundef %8837, i32 noundef %8839) #11
  br label %8841

8841:                                             ; preds = %8824, %8807
  call void @llvm.lifetime.end.p0(i64 4, ptr %214) #11
  br label %8842

8842:                                             ; preds = %8841
  br label %8843

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

8844:                                             ; No predecessors!
  br label %8845

8845:                                             ; preds = %8844
  br label %8846

8846:                                             ; preds = %8845, %8787
  br label %8847

8847:                                             ; preds = %8846
  br label %8848

8848:                                             ; preds = %8847
  br label %8849

8849:                                             ; preds = %8848
  %8850 = load i32, ptr @test_count, align 4, !tbaa !5
  %8851 = add nsw i32 %8850, 1
  store i32 %8851, ptr @test_count, align 4, !tbaa !5
  %8852 = load ptr, ptr %195, align 8, !tbaa !9
  %8853 = getelementptr inbounds [142 x i8], ptr %210, i64 0, i64 0
  %8854 = call i32 @s2n_connection_serialize(ptr noundef %8852, ptr noundef %8853, i32 noundef 142)
  %8855 = icmp eq i32 %8854, -1
  br i1 %8855, label %8856, label %8909

8856:                                             ; preds = %8849
  br label %8857

8857:                                             ; preds = %8856
  br label %8858

8858:                                             ; preds = %8857
  call void @llvm.lifetime.start.p0(i64 4, ptr %215) #11
  %8859 = call ptr @__errno_location() #12
  %8860 = load i32, ptr %8859, align 4, !tbaa !5
  store i32 %8860, ptr %215, align 4, !tbaa !5
  %8861 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8862 = call i32 @s2n_print_stacktrace(ptr noundef %8861)
  %8863 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8864 = trunc i8 %8863 to i1
  br i1 %8864, label %8865, label %8887

8865:                                             ; preds = %8858
  %8866 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8867 = call i32 @fileno(ptr noundef %8866) #11
  %8868 = call i32 @isatty(i32 noundef %8867) #11
  %8869 = icmp ne i32 %8868, 0
  br i1 %8869, label %8870, label %8887

8870:                                             ; preds = %8865
  %8871 = load i32, ptr %215, align 4, !tbaa !5
  %8872 = call ptr @__errno_location() #12
  store i32 %8871, ptr %8872, align 4, !tbaa !5
  %8873 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8874 = load i32, ptr @test_count, align 4, !tbaa !5
  %8875 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8876 = load i32, ptr %8875, align 4, !tbaa !5
  %8877 = call ptr @s2n_strerror(i32 noundef %8876, ptr noundef @.str.4)
  %8878 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8879 = load i32, ptr %8878, align 4, !tbaa !5
  %8880 = call ptr @s2n_strerror_debug(i32 noundef %8879, ptr noundef @.str.4)
  %8881 = call ptr @__errno_location() #12
  %8882 = load i32, ptr %8881, align 4, !tbaa !5
  %8883 = call ptr @strerror(i32 noundef %8882) #11
  %8884 = call ptr @__errno_location() #12
  %8885 = load i32, ptr %8884, align 4, !tbaa !5
  %8886 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8873, ptr noundef @.str.2, i32 noundef %8874, ptr noundef @.str.52, ptr noundef @.str.1, i32 noundef 374, ptr noundef %8877, ptr noundef %8880, ptr noundef %8883, i32 noundef %8885) #11
  br label %8904

8887:                                             ; preds = %8865, %8858
  %8888 = load i32, ptr %215, align 4, !tbaa !5
  %8889 = call ptr @__errno_location() #12
  store i32 %8888, ptr %8889, align 4, !tbaa !5
  %8890 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8891 = load i32, ptr @test_count, align 4, !tbaa !5
  %8892 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8893 = load i32, ptr %8892, align 4, !tbaa !5
  %8894 = call ptr @s2n_strerror(i32 noundef %8893, ptr noundef @.str.4)
  %8895 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8896 = load i32, ptr %8895, align 4, !tbaa !5
  %8897 = call ptr @s2n_strerror_debug(i32 noundef %8896, ptr noundef @.str.4)
  %8898 = call ptr @__errno_location() #12
  %8899 = load i32, ptr %8898, align 4, !tbaa !5
  %8900 = call ptr @strerror(i32 noundef %8899) #11
  %8901 = call ptr @__errno_location() #12
  %8902 = load i32, ptr %8901, align 4, !tbaa !5
  %8903 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8890, ptr noundef @.str.5, i32 noundef %8891, ptr noundef @.str.52, ptr noundef @.str.1, i32 noundef 374, ptr noundef %8894, ptr noundef %8897, ptr noundef %8900, i32 noundef %8902) #11
  br label %8904

8904:                                             ; preds = %8887, %8870
  call void @llvm.lifetime.end.p0(i64 4, ptr %215) #11
  br label %8905

8905:                                             ; preds = %8904
  br label %8906

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

8907:                                             ; No predecessors!
  br label %8908

8908:                                             ; preds = %8907
  br label %8909

8909:                                             ; preds = %8908, %8849
  br label %8910

8910:                                             ; preds = %8909
  br label %8911

8911:                                             ; preds = %8910
  call void @llvm.lifetime.end.p0(i64 142, ptr %210) #11
  call void @llvm.lifetime.end.p0(i64 10, ptr %208) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %206) #11
  call void @llvm.lifetime.end.p0(i64 6, ptr %205) #11
  %8912 = call i32 @s2n_io_stuffer_pair_free(ptr noundef %199)
  %8913 = getelementptr inbounds %struct.s2n_result, ptr %216, i32 0, i32 0
  store i32 %8912, ptr %8913, align 4
  call void @llvm.lifetime.end.p0(i64 80, ptr %199) #11
  %8914 = call i32 @s2n_connection_ptr_free(ptr noundef %195)
  %8915 = getelementptr inbounds %struct.s2n_result, ptr %217, i32 0, i32 0
  store i32 %8914, ptr %8915, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %195) #11
  %8916 = call i32 @s2n_connection_ptr_free(ptr noundef %193)
  %8917 = getelementptr inbounds %struct.s2n_result, ptr %218, i32 0, i32 0
  store i32 %8916, ptr %8917, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %193) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %219) #11
  %8918 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %8918, ptr %219, align 8, !tbaa !9
  br label %8919

8919:                                             ; preds = %8911
  %8920 = load i32, ptr @test_count, align 4, !tbaa !5
  %8921 = add nsw i32 %8920, 1
  store i32 %8921, ptr @test_count, align 4, !tbaa !5
  %8922 = load ptr, ptr %219, align 8, !tbaa !9
  %8923 = icmp eq ptr %8922, null
  br i1 %8923, label %8924, label %8977

8924:                                             ; preds = %8919
  br label %8925

8925:                                             ; preds = %8924
  br label %8926

8926:                                             ; preds = %8925
  call void @llvm.lifetime.start.p0(i64 4, ptr %220) #11
  %8927 = call ptr @__errno_location() #12
  %8928 = load i32, ptr %8927, align 4, !tbaa !5
  store i32 %8928, ptr %220, align 4, !tbaa !5
  %8929 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8930 = call i32 @s2n_print_stacktrace(ptr noundef %8929)
  %8931 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8932 = trunc i8 %8931 to i1
  br i1 %8932, label %8933, label %8955

8933:                                             ; preds = %8926
  %8934 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8935 = call i32 @fileno(ptr noundef %8934) #11
  %8936 = call i32 @isatty(i32 noundef %8935) #11
  %8937 = icmp ne i32 %8936, 0
  br i1 %8937, label %8938, label %8955

8938:                                             ; preds = %8933
  %8939 = load i32, ptr %220, align 4, !tbaa !5
  %8940 = call ptr @__errno_location() #12
  store i32 %8939, ptr %8940, align 4, !tbaa !5
  %8941 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8942 = load i32, ptr @test_count, align 4, !tbaa !5
  %8943 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8944 = load i32, ptr %8943, align 4, !tbaa !5
  %8945 = call ptr @s2n_strerror(i32 noundef %8944, ptr noundef @.str.4)
  %8946 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8947 = load i32, ptr %8946, align 4, !tbaa !5
  %8948 = call ptr @s2n_strerror_debug(i32 noundef %8947, ptr noundef @.str.4)
  %8949 = call ptr @__errno_location() #12
  %8950 = load i32, ptr %8949, align 4, !tbaa !5
  %8951 = call ptr @strerror(i32 noundef %8950) #11
  %8952 = call ptr @__errno_location() #12
  %8953 = load i32, ptr %8952, align 4, !tbaa !5
  %8954 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8941, ptr noundef @.str.2, i32 noundef %8942, ptr noundef @.str.42, ptr noundef @.str.1, i32 noundef 381, ptr noundef %8945, ptr noundef %8948, ptr noundef %8951, i32 noundef %8953) #11
  br label %8972

8955:                                             ; preds = %8933, %8926
  %8956 = load i32, ptr %220, align 4, !tbaa !5
  %8957 = call ptr @__errno_location() #12
  store i32 %8956, ptr %8957, align 4, !tbaa !5
  %8958 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8959 = load i32, ptr @test_count, align 4, !tbaa !5
  %8960 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8961 = load i32, ptr %8960, align 4, !tbaa !5
  %8962 = call ptr @s2n_strerror(i32 noundef %8961, ptr noundef @.str.4)
  %8963 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8964 = load i32, ptr %8963, align 4, !tbaa !5
  %8965 = call ptr @s2n_strerror_debug(i32 noundef %8964, ptr noundef @.str.4)
  %8966 = call ptr @__errno_location() #12
  %8967 = load i32, ptr %8966, align 4, !tbaa !5
  %8968 = call ptr @strerror(i32 noundef %8967) #11
  %8969 = call ptr @__errno_location() #12
  %8970 = load i32, ptr %8969, align 4, !tbaa !5
  %8971 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8958, ptr noundef @.str.5, i32 noundef %8959, ptr noundef @.str.42, ptr noundef @.str.1, i32 noundef 381, ptr noundef %8962, ptr noundef %8965, ptr noundef %8968, i32 noundef %8970) #11
  br label %8972

8972:                                             ; preds = %8955, %8938
  call void @llvm.lifetime.end.p0(i64 4, ptr %220) #11
  br label %8973

8973:                                             ; preds = %8972
  br label %8974

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

8975:                                             ; No predecessors!
  br label %8976

8976:                                             ; preds = %8975
  br label %8977

8977:                                             ; preds = %8976, %8919
  br label %8978

8978:                                             ; preds = %8977
  br label %8979

8979:                                             ; preds = %8978
  call void @llvm.lifetime.start.p0(i64 8, ptr %221) #11
  %8980 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %8980, ptr %221, align 8, !tbaa !9
  br label %8981

8981:                                             ; preds = %8979
  %8982 = load i32, ptr @test_count, align 4, !tbaa !5
  %8983 = add nsw i32 %8982, 1
  store i32 %8983, ptr @test_count, align 4, !tbaa !5
  %8984 = load ptr, ptr %221, align 8, !tbaa !9
  %8985 = icmp eq ptr %8984, null
  br i1 %8985, label %8986, label %9039

8986:                                             ; preds = %8981
  br label %8987

8987:                                             ; preds = %8986
  br label %8988

8988:                                             ; preds = %8987
  call void @llvm.lifetime.start.p0(i64 4, ptr %222) #11
  %8989 = call ptr @__errno_location() #12
  %8990 = load i32, ptr %8989, align 4, !tbaa !5
  store i32 %8990, ptr %222, align 4, !tbaa !5
  %8991 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8992 = call i32 @s2n_print_stacktrace(ptr noundef %8991)
  %8993 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8994 = trunc i8 %8993 to i1
  br i1 %8994, label %8995, label %9017

8995:                                             ; preds = %8988
  %8996 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8997 = call i32 @fileno(ptr noundef %8996) #11
  %8998 = call i32 @isatty(i32 noundef %8997) #11
  %8999 = icmp ne i32 %8998, 0
  br i1 %8999, label %9000, label %9017

9000:                                             ; preds = %8995
  %9001 = load i32, ptr %222, align 4, !tbaa !5
  %9002 = call ptr @__errno_location() #12
  store i32 %9001, ptr %9002, align 4, !tbaa !5
  %9003 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9004 = load i32, ptr @test_count, align 4, !tbaa !5
  %9005 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9006 = load i32, ptr %9005, align 4, !tbaa !5
  %9007 = call ptr @s2n_strerror(i32 noundef %9006, ptr noundef @.str.4)
  %9008 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9009 = load i32, ptr %9008, align 4, !tbaa !5
  %9010 = call ptr @s2n_strerror_debug(i32 noundef %9009, ptr noundef @.str.4)
  %9011 = call ptr @__errno_location() #12
  %9012 = load i32, ptr %9011, align 4, !tbaa !5
  %9013 = call ptr @strerror(i32 noundef %9012) #11
  %9014 = call ptr @__errno_location() #12
  %9015 = load i32, ptr %9014, align 4, !tbaa !5
  %9016 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9003, ptr noundef @.str.2, i32 noundef %9004, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 384, ptr noundef %9007, ptr noundef %9010, ptr noundef %9013, i32 noundef %9015) #11
  br label %9034

9017:                                             ; preds = %8995, %8988
  %9018 = load i32, ptr %222, align 4, !tbaa !5
  %9019 = call ptr @__errno_location() #12
  store i32 %9018, ptr %9019, align 4, !tbaa !5
  %9020 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9021 = load i32, ptr @test_count, align 4, !tbaa !5
  %9022 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9023 = load i32, ptr %9022, align 4, !tbaa !5
  %9024 = call ptr @s2n_strerror(i32 noundef %9023, ptr noundef @.str.4)
  %9025 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9026 = load i32, ptr %9025, align 4, !tbaa !5
  %9027 = call ptr @s2n_strerror_debug(i32 noundef %9026, ptr noundef @.str.4)
  %9028 = call ptr @__errno_location() #12
  %9029 = load i32, ptr %9028, align 4, !tbaa !5
  %9030 = call ptr @strerror(i32 noundef %9029) #11
  %9031 = call ptr @__errno_location() #12
  %9032 = load i32, ptr %9031, align 4, !tbaa !5
  %9033 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9020, ptr noundef @.str.5, i32 noundef %9021, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 384, ptr noundef %9024, ptr noundef %9027, ptr noundef %9030, i32 noundef %9032) #11
  br label %9034

9034:                                             ; preds = %9017, %9000
  call void @llvm.lifetime.end.p0(i64 4, ptr %222) #11
  br label %9035

9035:                                             ; preds = %9034
  br label %9036

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

9037:                                             ; No predecessors!
  br label %9038

9038:                                             ; preds = %9037
  br label %9039

9039:                                             ; preds = %9038, %8981
  br label %9040

9040:                                             ; preds = %9039
  br label %9041

9041:                                             ; preds = %9040
  br label %9042

9042:                                             ; preds = %9041
  %9043 = load i32, ptr @test_count, align 4, !tbaa !5
  %9044 = add nsw i32 %9043, 1
  store i32 %9044, ptr @test_count, align 4, !tbaa !5
  %9045 = load ptr, ptr %219, align 8, !tbaa !9
  %9046 = load ptr, ptr %16, align 8, !tbaa !9
  %9047 = call i32 @s2n_connection_set_config(ptr noundef %9045, ptr noundef %9046)
  %9048 = icmp eq i32 %9047, -1
  br i1 %9048, label %9049, label %9102

9049:                                             ; preds = %9042
  br label %9050

9050:                                             ; preds = %9049
  br label %9051

9051:                                             ; preds = %9050
  call void @llvm.lifetime.start.p0(i64 4, ptr %223) #11
  %9052 = call ptr @__errno_location() #12
  %9053 = load i32, ptr %9052, align 4, !tbaa !5
  store i32 %9053, ptr %223, align 4, !tbaa !5
  %9054 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9055 = call i32 @s2n_print_stacktrace(ptr noundef %9054)
  %9056 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9057 = trunc i8 %9056 to i1
  br i1 %9057, label %9058, label %9080

9058:                                             ; preds = %9051
  %9059 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9060 = call i32 @fileno(ptr noundef %9059) #11
  %9061 = call i32 @isatty(i32 noundef %9060) #11
  %9062 = icmp ne i32 %9061, 0
  br i1 %9062, label %9063, label %9080

9063:                                             ; preds = %9058
  %9064 = load i32, ptr %223, align 4, !tbaa !5
  %9065 = call ptr @__errno_location() #12
  store i32 %9064, ptr %9065, align 4, !tbaa !5
  %9066 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9067 = load i32, ptr @test_count, align 4, !tbaa !5
  %9068 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9069 = load i32, ptr %9068, align 4, !tbaa !5
  %9070 = call ptr @s2n_strerror(i32 noundef %9069, ptr noundef @.str.4)
  %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_debug(i32 noundef %9072, ptr noundef @.str.4)
  %9074 = call ptr @__errno_location() #12
  %9075 = load i32, ptr %9074, align 4, !tbaa !5
  %9076 = call ptr @strerror(i32 noundef %9075) #11
  %9077 = call ptr @__errno_location() #12
  %9078 = load i32, ptr %9077, align 4, !tbaa !5
  %9079 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9066, ptr noundef @.str.2, i32 noundef %9067, ptr noundef @.str.75, ptr noundef @.str.1, i32 noundef 386, ptr noundef %9070, ptr noundef %9073, ptr noundef %9076, i32 noundef %9078) #11
  br label %9097

9080:                                             ; preds = %9058, %9051
  %9081 = load i32, ptr %223, align 4, !tbaa !5
  %9082 = call ptr @__errno_location() #12
  store i32 %9081, ptr %9082, align 4, !tbaa !5
  %9083 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9084 = load i32, ptr @test_count, align 4, !tbaa !5
  %9085 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9086 = load i32, ptr %9085, align 4, !tbaa !5
  %9087 = call ptr @s2n_strerror(i32 noundef %9086, ptr noundef @.str.4)
  %9088 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9089 = load i32, ptr %9088, align 4, !tbaa !5
  %9090 = call ptr @s2n_strerror_debug(i32 noundef %9089, ptr noundef @.str.4)
  %9091 = call ptr @__errno_location() #12
  %9092 = load i32, ptr %9091, align 4, !tbaa !5
  %9093 = call ptr @strerror(i32 noundef %9092) #11
  %9094 = call ptr @__errno_location() #12
  %9095 = load i32, ptr %9094, align 4, !tbaa !5
  %9096 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9083, ptr noundef @.str.5, i32 noundef %9084, ptr noundef @.str.75, ptr noundef @.str.1, i32 noundef 386, ptr noundef %9087, ptr noundef %9090, ptr noundef %9093, i32 noundef %9095) #11
  br label %9097

9097:                                             ; preds = %9080, %9063
  call void @llvm.lifetime.end.p0(i64 4, ptr %223) #11
  br label %9098

9098:                                             ; preds = %9097
  br label %9099

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

9100:                                             ; No predecessors!
  br label %9101

9101:                                             ; preds = %9100
  br label %9102

9102:                                             ; preds = %9101, %9042
  br label %9103

9103:                                             ; preds = %9102
  br label %9104

9104:                                             ; preds = %9103
  br label %9105

9105:                                             ; preds = %9104
  %9106 = load i32, ptr @test_count, align 4, !tbaa !5
  %9107 = add nsw i32 %9106, 1
  store i32 %9107, ptr @test_count, align 4, !tbaa !5
  %9108 = load ptr, ptr %221, align 8, !tbaa !9
  %9109 = load ptr, ptr %16, align 8, !tbaa !9
  %9110 = call i32 @s2n_connection_set_config(ptr noundef %9108, ptr noundef %9109)
  %9111 = icmp eq i32 %9110, -1
  br i1 %9111, label %9112, label %9165

9112:                                             ; preds = %9105
  br label %9113

9113:                                             ; preds = %9112
  br label %9114

9114:                                             ; preds = %9113
  call void @llvm.lifetime.start.p0(i64 4, ptr %224) #11
  %9115 = call ptr @__errno_location() #12
  %9116 = load i32, ptr %9115, align 4, !tbaa !5
  store i32 %9116, ptr %224, align 4, !tbaa !5
  %9117 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9118 = call i32 @s2n_print_stacktrace(ptr noundef %9117)
  %9119 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9120 = trunc i8 %9119 to i1
  br i1 %9120, label %9121, label %9143

9121:                                             ; preds = %9114
  %9122 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9123 = call i32 @fileno(ptr noundef %9122) #11
  %9124 = call i32 @isatty(i32 noundef %9123) #11
  %9125 = icmp ne i32 %9124, 0
  br i1 %9125, label %9126, label %9143

9126:                                             ; preds = %9121
  %9127 = load i32, ptr %224, align 4, !tbaa !5
  %9128 = call ptr @__errno_location() #12
  store i32 %9127, ptr %9128, align 4, !tbaa !5
  %9129 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9130 = load i32, ptr @test_count, align 4, !tbaa !5
  %9131 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9132 = load i32, ptr %9131, align 4, !tbaa !5
  %9133 = call ptr @s2n_strerror(i32 noundef %9132, ptr noundef @.str.4)
  %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_debug(i32 noundef %9135, ptr noundef @.str.4)
  %9137 = call ptr @__errno_location() #12
  %9138 = load i32, ptr %9137, align 4, !tbaa !5
  %9139 = call ptr @strerror(i32 noundef %9138) #11
  %9140 = call ptr @__errno_location() #12
  %9141 = load i32, ptr %9140, align 4, !tbaa !5
  %9142 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9129, ptr noundef @.str.2, i32 noundef %9130, ptr noundef @.str.76, ptr noundef @.str.1, i32 noundef 387, ptr noundef %9133, ptr noundef %9136, ptr noundef %9139, i32 noundef %9141) #11
  br label %9160

9143:                                             ; preds = %9121, %9114
  %9144 = load i32, ptr %224, align 4, !tbaa !5
  %9145 = call ptr @__errno_location() #12
  store i32 %9144, ptr %9145, align 4, !tbaa !5
  %9146 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9147 = load i32, ptr @test_count, align 4, !tbaa !5
  %9148 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9149 = load i32, ptr %9148, align 4, !tbaa !5
  %9150 = call ptr @s2n_strerror(i32 noundef %9149, ptr noundef @.str.4)
  %9151 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9152 = load i32, ptr %9151, align 4, !tbaa !5
  %9153 = call ptr @s2n_strerror_debug(i32 noundef %9152, ptr noundef @.str.4)
  %9154 = call ptr @__errno_location() #12
  %9155 = load i32, ptr %9154, align 4, !tbaa !5
  %9156 = call ptr @strerror(i32 noundef %9155) #11
  %9157 = call ptr @__errno_location() #12
  %9158 = load i32, ptr %9157, align 4, !tbaa !5
  %9159 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9146, ptr noundef @.str.5, i32 noundef %9147, ptr noundef @.str.76, ptr noundef @.str.1, i32 noundef 387, ptr noundef %9150, ptr noundef %9153, ptr noundef %9156, i32 noundef %9158) #11
  br label %9160

9160:                                             ; preds = %9143, %9126
  call void @llvm.lifetime.end.p0(i64 4, ptr %224) #11
  br label %9161

9161:                                             ; preds = %9160
  br label %9162

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

9163:                                             ; No predecessors!
  br label %9164

9164:                                             ; preds = %9163
  br label %9165

9165:                                             ; preds = %9164, %9105
  br label %9166

9166:                                             ; preds = %9165
  br label %9167

9167:                                             ; preds = %9166
  call void @llvm.lifetime.start.p0(i64 80, ptr %225) #11
  call void @llvm.memset.p0.i64(ptr align 8 %225, i8 0, i64 80, i1 false)
  br label %9168

9168:                                             ; preds = %9167
  %9169 = load i32, ptr @test_count, align 4, !tbaa !5
  %9170 = add nsw i32 %9169, 1
  store i32 %9170, ptr @test_count, align 4, !tbaa !5
  %9171 = call i32 @s2n_io_stuffer_pair_init(ptr noundef %225)
  %9172 = getelementptr inbounds %struct.s2n_result, ptr %226, i32 0, i32 0
  store i32 %9171, ptr %9172, align 4
  %9173 = getelementptr inbounds %struct.s2n_result, ptr %226, i32 0, i32 0
  %9174 = load i32, ptr %9173, align 4
  %9175 = call zeroext i1 @s2n_result_is_ok(i32 %9174)
  br i1 %9175, label %9229, label %9176

9176:                                             ; preds = %9168
  br label %9177

9177:                                             ; preds = %9176
  br label %9178

9178:                                             ; preds = %9177
  call void @llvm.lifetime.start.p0(i64 4, ptr %227) #11
  %9179 = call ptr @__errno_location() #12
  %9180 = load i32, ptr %9179, align 4, !tbaa !5
  store i32 %9180, ptr %227, align 4, !tbaa !5
  %9181 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9182 = call i32 @s2n_print_stacktrace(ptr noundef %9181)
  %9183 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9184 = trunc i8 %9183 to i1
  br i1 %9184, label %9185, label %9207

9185:                                             ; preds = %9178
  %9186 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9187 = call i32 @fileno(ptr noundef %9186) #11
  %9188 = call i32 @isatty(i32 noundef %9187) #11
  %9189 = icmp ne i32 %9188, 0
  br i1 %9189, label %9190, label %9207

9190:                                             ; preds = %9185
  %9191 = load i32, ptr %227, align 4, !tbaa !5
  %9192 = call ptr @__errno_location() #12
  store i32 %9191, ptr %9192, align 4, !tbaa !5
  %9193 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9194 = load i32, ptr @test_count, align 4, !tbaa !5
  %9195 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9196 = load i32, ptr %9195, align 4, !tbaa !5
  %9197 = call ptr @s2n_strerror(i32 noundef %9196, ptr noundef @.str.4)
  %9198 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9199 = load i32, ptr %9198, align 4, !tbaa !5
  %9200 = call ptr @s2n_strerror_debug(i32 noundef %9199, ptr noundef @.str.4)
  %9201 = call ptr @__errno_location() #12
  %9202 = load i32, ptr %9201, align 4, !tbaa !5
  %9203 = call ptr @strerror(i32 noundef %9202) #11
  %9204 = call ptr @__errno_location() #12
  %9205 = load i32, ptr %9204, align 4, !tbaa !5
  %9206 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9193, ptr noundef @.str.2, i32 noundef %9194, ptr noundef @.str.46, ptr noundef @.str.1, i32 noundef 390, ptr noundef %9197, ptr noundef %9200, ptr noundef %9203, i32 noundef %9205) #11
  br label %9224

9207:                                             ; preds = %9185, %9178
  %9208 = load i32, ptr %227, align 4, !tbaa !5
  %9209 = call ptr @__errno_location() #12
  store i32 %9208, ptr %9209, align 4, !tbaa !5
  %9210 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9211 = load i32, ptr @test_count, align 4, !tbaa !5
  %9212 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9213 = load i32, ptr %9212, align 4, !tbaa !5
  %9214 = call ptr @s2n_strerror(i32 noundef %9213, ptr noundef @.str.4)
  %9215 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9216 = load i32, ptr %9215, align 4, !tbaa !5
  %9217 = call ptr @s2n_strerror_debug(i32 noundef %9216, ptr noundef @.str.4)
  %9218 = call ptr @__errno_location() #12
  %9219 = load i32, ptr %9218, align 4, !tbaa !5
  %9220 = call ptr @strerror(i32 noundef %9219) #11
  %9221 = call ptr @__errno_location() #12
  %9222 = load i32, ptr %9221, align 4, !tbaa !5
  %9223 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9210, ptr noundef @.str.5, i32 noundef %9211, ptr noundef @.str.46, ptr noundef @.str.1, i32 noundef 390, ptr noundef %9214, ptr noundef %9217, ptr noundef %9220, i32 noundef %9222) #11
  br label %9224

9224:                                             ; preds = %9207, %9190
  call void @llvm.lifetime.end.p0(i64 4, ptr %227) #11
  br label %9225

9225:                                             ; preds = %9224
  br label %9226

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

9227:                                             ; No predecessors!
  br label %9228

9228:                                             ; preds = %9227
  br label %9229

9229:                                             ; preds = %9228, %9168
  br label %9230

9230:                                             ; preds = %9229
  br label %9231

9231:                                             ; preds = %9230
  br label %9232

9232:                                             ; preds = %9231
  %9233 = load i32, ptr @test_count, align 4, !tbaa !5
  %9234 = add nsw i32 %9233, 1
  store i32 %9234, ptr @test_count, align 4, !tbaa !5
  %9235 = load ptr, ptr %219, align 8, !tbaa !9
  %9236 = load ptr, ptr %221, align 8, !tbaa !9
  %9237 = call i32 @s2n_connections_set_io_stuffer_pair(ptr noundef %9235, ptr noundef %9236, ptr noundef %225)
  %9238 = getelementptr inbounds %struct.s2n_result, ptr %228, i32 0, i32 0
  store i32 %9237, ptr %9238, align 4
  %9239 = getelementptr inbounds %struct.s2n_result, ptr %228, i32 0, i32 0
  %9240 = load i32, ptr %9239, align 4
  %9241 = call zeroext i1 @s2n_result_is_ok(i32 %9240)
  br i1 %9241, label %9295, label %9242

9242:                                             ; preds = %9232
  br label %9243

9243:                                             ; preds = %9242
  br label %9244

9244:                                             ; preds = %9243
  call void @llvm.lifetime.start.p0(i64 4, ptr %229) #11
  %9245 = call ptr @__errno_location() #12
  %9246 = load i32, ptr %9245, align 4, !tbaa !5
  store i32 %9246, ptr %229, align 4, !tbaa !5
  %9247 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9248 = call i32 @s2n_print_stacktrace(ptr noundef %9247)
  %9249 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9250 = trunc i8 %9249 to i1
  br i1 %9250, label %9251, label %9273

9251:                                             ; preds = %9244
  %9252 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9253 = call i32 @fileno(ptr noundef %9252) #11
  %9254 = call i32 @isatty(i32 noundef %9253) #11
  %9255 = icmp ne i32 %9254, 0
  br i1 %9255, label %9256, label %9273

9256:                                             ; preds = %9251
  %9257 = load i32, ptr %229, align 4, !tbaa !5
  %9258 = call ptr @__errno_location() #12
  store i32 %9257, ptr %9258, align 4, !tbaa !5
  %9259 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9260 = load i32, ptr @test_count, align 4, !tbaa !5
  %9261 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9262 = load i32, ptr %9261, align 4, !tbaa !5
  %9263 = call ptr @s2n_strerror(i32 noundef %9262, ptr noundef @.str.4)
  %9264 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9265 = load i32, ptr %9264, align 4, !tbaa !5
  %9266 = call ptr @s2n_strerror_debug(i32 noundef %9265, ptr noundef @.str.4)
  %9267 = call ptr @__errno_location() #12
  %9268 = load i32, ptr %9267, align 4, !tbaa !5
  %9269 = call ptr @strerror(i32 noundef %9268) #11
  %9270 = call ptr @__errno_location() #12
  %9271 = load i32, ptr %9270, align 4, !tbaa !5
  %9272 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9259, ptr noundef @.str.2, i32 noundef %9260, ptr noundef @.str.47, ptr noundef @.str.1, i32 noundef 391, ptr noundef %9263, ptr noundef %9266, ptr noundef %9269, i32 noundef %9271) #11
  br label %9290

9273:                                             ; preds = %9251, %9244
  %9274 = load i32, ptr %229, align 4, !tbaa !5
  %9275 = call ptr @__errno_location() #12
  store i32 %9274, ptr %9275, align 4, !tbaa !5
  %9276 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9277 = load i32, ptr @test_count, align 4, !tbaa !5
  %9278 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9279 = load i32, ptr %9278, align 4, !tbaa !5
  %9280 = call ptr @s2n_strerror(i32 noundef %9279, ptr noundef @.str.4)
  %9281 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9282 = load i32, ptr %9281, align 4, !tbaa !5
  %9283 = call ptr @s2n_strerror_debug(i32 noundef %9282, ptr noundef @.str.4)
  %9284 = call ptr @__errno_location() #12
  %9285 = load i32, ptr %9284, align 4, !tbaa !5
  %9286 = call ptr @strerror(i32 noundef %9285) #11
  %9287 = call ptr @__errno_location() #12
  %9288 = load i32, ptr %9287, align 4, !tbaa !5
  %9289 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9276, ptr noundef @.str.5, i32 noundef %9277, ptr noundef @.str.47, ptr noundef @.str.1, i32 noundef 391, ptr noundef %9280, ptr noundef %9283, ptr noundef %9286, i32 noundef %9288) #11
  br label %9290

9290:                                             ; preds = %9273, %9256
  call void @llvm.lifetime.end.p0(i64 4, ptr %229) #11
  br label %9291

9291:                                             ; preds = %9290
  br label %9292

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

9293:                                             ; No predecessors!
  br label %9294

9294:                                             ; preds = %9293
  br label %9295

9295:                                             ; preds = %9294, %9232
  br label %9296

9296:                                             ; preds = %9295
  br label %9297

9297:                                             ; preds = %9296
  br label %9298

9298:                                             ; preds = %9297
  %9299 = load i32, ptr @test_count, align 4, !tbaa !5
  %9300 = add nsw i32 %9299, 1
  store i32 %9300, ptr @test_count, align 4, !tbaa !5
  %9301 = load ptr, ptr %221, align 8, !tbaa !9
  %9302 = load ptr, ptr %219, align 8, !tbaa !9
  %9303 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %9301, ptr noundef %9302)
  %9304 = icmp eq i32 %9303, -1
  br i1 %9304, label %9305, label %9358

9305:                                             ; preds = %9298
  br label %9306

9306:                                             ; preds = %9305
  br label %9307

9307:                                             ; preds = %9306
  call void @llvm.lifetime.start.p0(i64 4, ptr %230) #11
  %9308 = call ptr @__errno_location() #12
  %9309 = load i32, ptr %9308, align 4, !tbaa !5
  store i32 %9309, ptr %230, align 4, !tbaa !5
  %9310 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9311 = call i32 @s2n_print_stacktrace(ptr noundef %9310)
  %9312 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9313 = trunc i8 %9312 to i1
  br i1 %9313, label %9314, label %9336

9314:                                             ; preds = %9307
  %9315 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9316 = call i32 @fileno(ptr noundef %9315) #11
  %9317 = call i32 @isatty(i32 noundef %9316) #11
  %9318 = icmp ne i32 %9317, 0
  br i1 %9318, label %9319, label %9336

9319:                                             ; preds = %9314
  %9320 = load i32, ptr %230, align 4, !tbaa !5
  %9321 = call ptr @__errno_location() #12
  store i32 %9320, ptr %9321, align 4, !tbaa !5
  %9322 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9323 = load i32, ptr @test_count, align 4, !tbaa !5
  %9324 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9325 = load i32, ptr %9324, align 4, !tbaa !5
  %9326 = call ptr @s2n_strerror(i32 noundef %9325, ptr noundef @.str.4)
  %9327 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9328 = load i32, ptr %9327, align 4, !tbaa !5
  %9329 = call ptr @s2n_strerror_debug(i32 noundef %9328, ptr noundef @.str.4)
  %9330 = call ptr @__errno_location() #12
  %9331 = load i32, ptr %9330, align 4, !tbaa !5
  %9332 = call ptr @strerror(i32 noundef %9331) #11
  %9333 = call ptr @__errno_location() #12
  %9334 = load i32, ptr %9333, align 4, !tbaa !5
  %9335 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9322, ptr noundef @.str.2, i32 noundef %9323, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 393, ptr noundef %9326, ptr noundef %9329, ptr noundef %9332, i32 noundef %9334) #11
  br label %9353

9336:                                             ; preds = %9314, %9307
  %9337 = load i32, ptr %230, align 4, !tbaa !5
  %9338 = call ptr @__errno_location() #12
  store i32 %9337, ptr %9338, align 4, !tbaa !5
  %9339 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9340 = load i32, ptr @test_count, align 4, !tbaa !5
  %9341 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9342 = load i32, ptr %9341, align 4, !tbaa !5
  %9343 = call ptr @s2n_strerror(i32 noundef %9342, ptr noundef @.str.4)
  %9344 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9345 = load i32, ptr %9344, align 4, !tbaa !5
  %9346 = call ptr @s2n_strerror_debug(i32 noundef %9345, ptr noundef @.str.4)
  %9347 = call ptr @__errno_location() #12
  %9348 = load i32, ptr %9347, align 4, !tbaa !5
  %9349 = call ptr @strerror(i32 noundef %9348) #11
  %9350 = call ptr @__errno_location() #12
  %9351 = load i32, ptr %9350, align 4, !tbaa !5
  %9352 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9339, ptr noundef @.str.5, i32 noundef %9340, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 393, ptr noundef %9343, ptr noundef %9346, ptr noundef %9349, i32 noundef %9351) #11
  br label %9353

9353:                                             ; preds = %9336, %9319
  call void @llvm.lifetime.end.p0(i64 4, ptr %230) #11
  br label %9354

9354:                                             ; preds = %9353
  br label %9355

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

9356:                                             ; No predecessors!
  br label %9357

9357:                                             ; preds = %9356
  br label %9358

9358:                                             ; preds = %9357, %9298
  br label %9359

9359:                                             ; preds = %9358
  br label %9360

9360:                                             ; preds = %9359
  call void @llvm.lifetime.start.p0(i64 142, ptr %231) #11
  call void @llvm.memset.p0.i64(ptr align 16 %231, i8 0, i64 142, i1 false)
  br label %9361

9361:                                             ; preds = %9360
  %9362 = load i32, ptr @test_count, align 4, !tbaa !5
  %9363 = add nsw i32 %9362, 1
  store i32 %9363, ptr @test_count, align 4, !tbaa !5
  %9364 = load ptr, ptr %221, align 8, !tbaa !9
  %9365 = getelementptr inbounds [142 x i8], ptr %231, i64 0, i64 0
  %9366 = call i32 @s2n_connection_serialize(ptr noundef %9364, ptr noundef %9365, i32 noundef 142)
  %9367 = icmp eq i32 %9366, -1
  br i1 %9367, label %9368, label %9421

9368:                                             ; preds = %9361
  br label %9369

9369:                                             ; preds = %9368
  br label %9370

9370:                                             ; preds = %9369
  call void @llvm.lifetime.start.p0(i64 4, ptr %232) #11
  %9371 = call ptr @__errno_location() #12
  %9372 = load i32, ptr %9371, align 4, !tbaa !5
  store i32 %9372, ptr %232, align 4, !tbaa !5
  %9373 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9374 = call i32 @s2n_print_stacktrace(ptr noundef %9373)
  %9375 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9376 = trunc i8 %9375 to i1
  br i1 %9376, label %9377, label %9399

9377:                                             ; preds = %9370
  %9378 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9379 = call i32 @fileno(ptr noundef %9378) #11
  %9380 = call i32 @isatty(i32 noundef %9379) #11
  %9381 = icmp ne i32 %9380, 0
  br i1 %9381, label %9382, label %9399

9382:                                             ; preds = %9377
  %9383 = load i32, ptr %232, align 4, !tbaa !5
  %9384 = call ptr @__errno_location() #12
  store i32 %9383, ptr %9384, align 4, !tbaa !5
  %9385 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9386 = load i32, ptr @test_count, align 4, !tbaa !5
  %9387 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9388 = load i32, ptr %9387, align 4, !tbaa !5
  %9389 = call ptr @s2n_strerror(i32 noundef %9388, ptr noundef @.str.4)
  %9390 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9391 = load i32, ptr %9390, align 4, !tbaa !5
  %9392 = call ptr @s2n_strerror_debug(i32 noundef %9391, ptr noundef @.str.4)
  %9393 = call ptr @__errno_location() #12
  %9394 = load i32, ptr %9393, align 4, !tbaa !5
  %9395 = call ptr @strerror(i32 noundef %9394) #11
  %9396 = call ptr @__errno_location() #12
  %9397 = load i32, ptr %9396, align 4, !tbaa !5
  %9398 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9385, ptr noundef @.str.2, i32 noundef %9386, ptr noundef @.str.52, ptr noundef @.str.1, i32 noundef 396, ptr noundef %9389, ptr noundef %9392, ptr noundef %9395, i32 noundef %9397) #11
  br label %9416

9399:                                             ; preds = %9377, %9370
  %9400 = load i32, ptr %232, align 4, !tbaa !5
  %9401 = call ptr @__errno_location() #12
  store i32 %9400, ptr %9401, align 4, !tbaa !5
  %9402 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9403 = load i32, ptr @test_count, align 4, !tbaa !5
  %9404 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9405 = load i32, ptr %9404, align 4, !tbaa !5
  %9406 = call ptr @s2n_strerror(i32 noundef %9405, ptr noundef @.str.4)
  %9407 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9408 = load i32, ptr %9407, align 4, !tbaa !5
  %9409 = call ptr @s2n_strerror_debug(i32 noundef %9408, ptr noundef @.str.4)
  %9410 = call ptr @__errno_location() #12
  %9411 = load i32, ptr %9410, align 4, !tbaa !5
  %9412 = call ptr @strerror(i32 noundef %9411) #11
  %9413 = call ptr @__errno_location() #12
  %9414 = load i32, ptr %9413, align 4, !tbaa !5
  %9415 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9402, ptr noundef @.str.5, i32 noundef %9403, ptr noundef @.str.52, ptr noundef @.str.1, i32 noundef 396, ptr noundef %9406, ptr noundef %9409, ptr noundef %9412, i32 noundef %9414) #11
  br label %9416

9416:                                             ; preds = %9399, %9382
  call void @llvm.lifetime.end.p0(i64 4, ptr %232) #11
  br label %9417

9417:                                             ; preds = %9416
  br label %9418

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

9419:                                             ; No predecessors!
  br label %9420

9420:                                             ; preds = %9419
  br label %9421

9421:                                             ; preds = %9420, %9361
  br label %9422

9422:                                             ; preds = %9421
  br label %9423

9423:                                             ; preds = %9422
  call void @llvm.lifetime.start.p0(i64 4, ptr %233) #11
  store i32 0, ptr %233, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 12, ptr %234) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 1 %234, ptr align 1 @__const.main.send_data, i64 12, i1 false)
  br label %9424

9424:                                             ; preds = %9423
  br label %9425

9425:                                             ; preds = %9424
  br label %9426

9426:                                             ; preds = %9425
  %9427 = load i32, ptr @test_count, align 4, !tbaa !5
  %9428 = add nsw i32 %9427, 1
  store i32 %9428, ptr @test_count, align 4, !tbaa !5
  %9429 = load ptr, ptr %221, align 8, !tbaa !9
  %9430 = getelementptr inbounds [12 x i8], ptr %234, i64 0, i64 0
  %9431 = call i64 @s2n_send(ptr noundef %9429, ptr noundef %9430, i64 noundef 12, ptr noundef %233)
  %9432 = icmp eq i64 %9431, -1
  br i1 %9432, label %9486, label %9433

9433:                                             ; preds = %9426
  br label %9434

9434:                                             ; preds = %9433
  br label %9435

9435:                                             ; preds = %9434
  call void @llvm.lifetime.start.p0(i64 4, ptr %235) #11
  %9436 = call ptr @__errno_location() #12
  %9437 = load i32, ptr %9436, align 4, !tbaa !5
  store i32 %9437, ptr %235, align 4, !tbaa !5
  %9438 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9439 = call i32 @s2n_print_stacktrace(ptr noundef %9438)
  %9440 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9441 = trunc i8 %9440 to i1
  br i1 %9441, label %9442, label %9464

9442:                                             ; preds = %9435
  %9443 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9444 = call i32 @fileno(ptr noundef %9443) #11
  %9445 = call i32 @isatty(i32 noundef %9444) #11
  %9446 = icmp ne i32 %9445, 0
  br i1 %9446, label %9447, label %9464

9447:                                             ; preds = %9442
  %9448 = load i32, ptr %235, align 4, !tbaa !5
  %9449 = call ptr @__errno_location() #12
  store i32 %9448, ptr %9449, align 4, !tbaa !5
  %9450 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9451 = load i32, ptr @test_count, align 4, !tbaa !5
  %9452 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9453 = load i32, ptr %9452, align 4, !tbaa !5
  %9454 = call ptr @s2n_strerror(i32 noundef %9453, ptr noundef @.str.4)
  %9455 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9456 = load i32, ptr %9455, align 4, !tbaa !5
  %9457 = call ptr @s2n_strerror_debug(i32 noundef %9456, ptr noundef @.str.4)
  %9458 = call ptr @__errno_location() #12
  %9459 = load i32, ptr %9458, align 4, !tbaa !5
  %9460 = call ptr @strerror(i32 noundef %9459) #11
  %9461 = call ptr @__errno_location() #12
  %9462 = load i32, ptr %9461, align 4, !tbaa !5
  %9463 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9450, ptr noundef @.str.2, i32 noundef %9451, ptr noundef @.str.89, ptr noundef @.str.1, i32 noundef 400, ptr noundef %9454, ptr noundef %9457, ptr noundef %9460, i32 noundef %9462) #11
  br label %9481

9464:                                             ; preds = %9442, %9435
  %9465 = load i32, ptr %235, align 4, !tbaa !5
  %9466 = call ptr @__errno_location() #12
  store i32 %9465, ptr %9466, align 4, !tbaa !5
  %9467 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9468 = load i32, ptr @test_count, align 4, !tbaa !5
  %9469 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9470 = load i32, ptr %9469, align 4, !tbaa !5
  %9471 = call ptr @s2n_strerror(i32 noundef %9470, ptr noundef @.str.4)
  %9472 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9473 = load i32, ptr %9472, align 4, !tbaa !5
  %9474 = call ptr @s2n_strerror_debug(i32 noundef %9473, ptr noundef @.str.4)
  %9475 = call ptr @__errno_location() #12
  %9476 = load i32, ptr %9475, align 4, !tbaa !5
  %9477 = call ptr @strerror(i32 noundef %9476) #11
  %9478 = call ptr @__errno_location() #12
  %9479 = load i32, ptr %9478, align 4, !tbaa !5
  %9480 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9467, ptr noundef @.str.5, i32 noundef %9468, ptr noundef @.str.89, ptr noundef @.str.1, i32 noundef 400, ptr noundef %9471, ptr noundef %9474, ptr noundef %9477, i32 noundef %9479) #11
  br label %9481

9481:                                             ; preds = %9464, %9447
  call void @llvm.lifetime.end.p0(i64 4, ptr %235) #11
  br label %9482

9482:                                             ; preds = %9481
  br label %9483

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

9484:                                             ; No predecessors!
  br label %9485

9485:                                             ; preds = %9484
  br label %9486

9486:                                             ; preds = %9485, %9426
  br label %9487

9487:                                             ; preds = %9486
  br label %9488

9488:                                             ; preds = %9487
  br label %9489

9489:                                             ; preds = %9488
  %9490 = load i32, ptr @test_count, align 4, !tbaa !5
  %9491 = add nsw i32 %9490, 1
  store i32 %9491, ptr @test_count, align 4, !tbaa !5
  %9492 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9493 = load i32, ptr %9492, align 4, !tbaa !5
  %9494 = icmp eq i32 %9493, 134217728
  br i1 %9494, label %9548, label %9495

9495:                                             ; preds = %9489
  br label %9496

9496:                                             ; preds = %9495
  br label %9497

9497:                                             ; preds = %9496
  call void @llvm.lifetime.start.p0(i64 4, ptr %236) #11
  %9498 = call ptr @__errno_location() #12
  %9499 = load i32, ptr %9498, align 4, !tbaa !5
  store i32 %9499, ptr %236, align 4, !tbaa !5
  %9500 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9501 = call i32 @s2n_print_stacktrace(ptr noundef %9500)
  %9502 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9503 = trunc i8 %9502 to i1
  br i1 %9503, label %9504, label %9526

9504:                                             ; preds = %9497
  %9505 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9506 = call i32 @fileno(ptr noundef %9505) #11
  %9507 = call i32 @isatty(i32 noundef %9506) #11
  %9508 = icmp ne i32 %9507, 0
  br i1 %9508, label %9509, label %9526

9509:                                             ; preds = %9504
  %9510 = load i32, ptr %236, align 4, !tbaa !5
  %9511 = call ptr @__errno_location() #12
  store i32 %9510, ptr %9511, align 4, !tbaa !5
  %9512 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9513 = load i32, ptr @test_count, align 4, !tbaa !5
  %9514 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9515 = load i32, ptr %9514, align 4, !tbaa !5
  %9516 = call ptr @s2n_strerror(i32 noundef %9515, ptr noundef @.str.4)
  %9517 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9518 = load i32, ptr %9517, align 4, !tbaa !5
  %9519 = call ptr @s2n_strerror_debug(i32 noundef %9518, ptr noundef @.str.4)
  %9520 = call ptr @__errno_location() #12
  %9521 = load i32, ptr %9520, align 4, !tbaa !5
  %9522 = call ptr @strerror(i32 noundef %9521) #11
  %9523 = call ptr @__errno_location() #12
  %9524 = load i32, ptr %9523, align 4, !tbaa !5
  %9525 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9512, ptr noundef @.str.2, i32 noundef %9513, ptr noundef @.str.90, ptr noundef @.str.1, i32 noundef 400, ptr noundef %9516, ptr noundef %9519, ptr noundef %9522, i32 noundef %9524) #11
  br label %9543

9526:                                             ; preds = %9504, %9497
  %9527 = load i32, ptr %236, align 4, !tbaa !5
  %9528 = call ptr @__errno_location() #12
  store i32 %9527, ptr %9528, align 4, !tbaa !5
  %9529 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9530 = load i32, ptr @test_count, align 4, !tbaa !5
  %9531 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9532 = load i32, ptr %9531, align 4, !tbaa !5
  %9533 = call ptr @s2n_strerror(i32 noundef %9532, ptr noundef @.str.4)
  %9534 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9535 = load i32, ptr %9534, align 4, !tbaa !5
  %9536 = call ptr @s2n_strerror_debug(i32 noundef %9535, ptr noundef @.str.4)
  %9537 = call ptr @__errno_location() #12
  %9538 = load i32, ptr %9537, align 4, !tbaa !5
  %9539 = call ptr @strerror(i32 noundef %9538) #11
  %9540 = call ptr @__errno_location() #12
  %9541 = load i32, ptr %9540, align 4, !tbaa !5
  %9542 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9529, ptr noundef @.str.5, i32 noundef %9530, ptr noundef @.str.90, ptr noundef @.str.1, i32 noundef 400, ptr noundef %9533, ptr noundef %9536, ptr noundef %9539, i32 noundef %9541) #11
  br label %9543

9543:                                             ; preds = %9526, %9509
  call void @llvm.lifetime.end.p0(i64 4, ptr %236) #11
  br label %9544

9544:                                             ; preds = %9543
  br label %9545

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

9546:                                             ; No predecessors!
  br label %9547

9547:                                             ; preds = %9546
  br label %9548

9548:                                             ; preds = %9547, %9489
  br label %9549

9549:                                             ; preds = %9548
  br label %9550

9550:                                             ; preds = %9549
  br label %9551

9551:                                             ; preds = %9550
  %9552 = load i32, ptr @test_count, align 4, !tbaa !5
  %9553 = add nsw i32 %9552, 1
  store i32 %9553, ptr @test_count, align 4, !tbaa !5
  %9554 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9555 = load i32, ptr %9554, align 4, !tbaa !5
  %9556 = call ptr @s2n_strerror_debug(i32 noundef %9555, ptr noundef @.str.4)
  %9557 = icmp eq ptr %9556, null
  br i1 %9557, label %9558, label %9611

9558:                                             ; preds = %9551
  br label %9559

9559:                                             ; preds = %9558
  br label %9560

9560:                                             ; preds = %9559
  call void @llvm.lifetime.start.p0(i64 4, ptr %237) #11
  %9561 = call ptr @__errno_location() #12
  %9562 = load i32, ptr %9561, align 4, !tbaa !5
  store i32 %9562, ptr %237, align 4, !tbaa !5
  %9563 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9564 = call i32 @s2n_print_stacktrace(ptr noundef %9563)
  %9565 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9566 = trunc i8 %9565 to i1
  br i1 %9566, label %9567, label %9589

9567:                                             ; preds = %9560
  %9568 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9569 = call i32 @fileno(ptr noundef %9568) #11
  %9570 = call i32 @isatty(i32 noundef %9569) #11
  %9571 = icmp ne i32 %9570, 0
  br i1 %9571, label %9572, label %9589

9572:                                             ; preds = %9567
  %9573 = load i32, ptr %237, align 4, !tbaa !5
  %9574 = call ptr @__errno_location() #12
  store i32 %9573, ptr %9574, align 4, !tbaa !5
  %9575 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9576 = load i32, ptr @test_count, align 4, !tbaa !5
  %9577 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9578 = load i32, ptr %9577, align 4, !tbaa !5
  %9579 = call ptr @s2n_strerror(i32 noundef %9578, ptr noundef @.str.4)
  %9580 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9581 = load i32, ptr %9580, align 4, !tbaa !5
  %9582 = call ptr @s2n_strerror_debug(i32 noundef %9581, ptr noundef @.str.4)
  %9583 = call ptr @__errno_location() #12
  %9584 = load i32, ptr %9583, align 4, !tbaa !5
  %9585 = call ptr @strerror(i32 noundef %9584) #11
  %9586 = call ptr @__errno_location() #12
  %9587 = load i32, ptr %9586, align 4, !tbaa !5
  %9588 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9575, ptr noundef @.str.2, i32 noundef %9576, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 400, ptr noundef %9579, ptr noundef %9582, ptr noundef %9585, i32 noundef %9587) #11
  br label %9606

9589:                                             ; preds = %9567, %9560
  %9590 = load i32, ptr %237, align 4, !tbaa !5
  %9591 = call ptr @__errno_location() #12
  store i32 %9590, ptr %9591, align 4, !tbaa !5
  %9592 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9593 = load i32, ptr @test_count, align 4, !tbaa !5
  %9594 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9595 = load i32, ptr %9594, align 4, !tbaa !5
  %9596 = call ptr @s2n_strerror(i32 noundef %9595, ptr noundef @.str.4)
  %9597 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9598 = load i32, ptr %9597, align 4, !tbaa !5
  %9599 = call ptr @s2n_strerror_debug(i32 noundef %9598, ptr noundef @.str.4)
  %9600 = call ptr @__errno_location() #12
  %9601 = load i32, ptr %9600, align 4, !tbaa !5
  %9602 = call ptr @strerror(i32 noundef %9601) #11
  %9603 = call ptr @__errno_location() #12
  %9604 = load i32, ptr %9603, align 4, !tbaa !5
  %9605 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9592, ptr noundef @.str.5, i32 noundef %9593, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 400, ptr noundef %9596, ptr noundef %9599, ptr noundef %9602, i32 noundef %9604) #11
  br label %9606

9606:                                             ; preds = %9589, %9572
  call void @llvm.lifetime.end.p0(i64 4, ptr %237) #11
  br label %9607

9607:                                             ; preds = %9606
  br label %9608

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

9609:                                             ; No predecessors!
  br label %9610

9610:                                             ; preds = %9609
  br label %9611

9611:                                             ; preds = %9610, %9551
  br label %9612

9612:                                             ; preds = %9611
  br label %9613

9613:                                             ; preds = %9612
  br label %9614

9614:                                             ; preds = %9613
  br label %9615

9615:                                             ; preds = %9614
  br label %9616

9616:                                             ; preds = %9615
  %9617 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %9617, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %9618 = call ptr @__errno_location() #12
  store i32 0, ptr %9618, align 4, !tbaa !5
  br label %9619

9619:                                             ; preds = %9616
  br label %9620

9620:                                             ; preds = %9619
  br label %9621

9621:                                             ; preds = %9620
  br label %9622

9622:                                             ; preds = %9621
  call void @llvm.lifetime.start.p0(i64 1, ptr %238) #11
  store i8 0, ptr %238, align 1, !tbaa !52
  br label %9623

9623:                                             ; preds = %9622
  br label %9624

9624:                                             ; preds = %9623
  br label %9625

9625:                                             ; preds = %9624
  %9626 = load i32, ptr @test_count, align 4, !tbaa !5
  %9627 = add nsw i32 %9626, 1
  store i32 %9627, ptr @test_count, align 4, !tbaa !5
  %9628 = load ptr, ptr %221, align 8, !tbaa !9
  %9629 = call i64 @s2n_recv(ptr noundef %9628, ptr noundef %238, i64 noundef 1, ptr noundef %233)
  %9630 = icmp eq i64 %9629, -1
  br i1 %9630, label %9684, label %9631

9631:                                             ; preds = %9625
  br label %9632

9632:                                             ; preds = %9631
  br label %9633

9633:                                             ; preds = %9632
  call void @llvm.lifetime.start.p0(i64 4, ptr %239) #11
  %9634 = call ptr @__errno_location() #12
  %9635 = load i32, ptr %9634, align 4, !tbaa !5
  store i32 %9635, ptr %239, align 4, !tbaa !5
  %9636 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9637 = call i32 @s2n_print_stacktrace(ptr noundef %9636)
  %9638 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9639 = trunc i8 %9638 to i1
  br i1 %9639, label %9640, label %9662

9640:                                             ; preds = %9633
  %9641 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9642 = call i32 @fileno(ptr noundef %9641) #11
  %9643 = call i32 @isatty(i32 noundef %9642) #11
  %9644 = icmp ne i32 %9643, 0
  br i1 %9644, label %9645, label %9662

9645:                                             ; preds = %9640
  %9646 = load i32, ptr %239, align 4, !tbaa !5
  %9647 = call ptr @__errno_location() #12
  store i32 %9646, ptr %9647, align 4, !tbaa !5
  %9648 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9649 = load i32, ptr @test_count, align 4, !tbaa !5
  %9650 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9651 = load i32, ptr %9650, align 4, !tbaa !5
  %9652 = call ptr @s2n_strerror(i32 noundef %9651, ptr noundef @.str.4)
  %9653 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9654 = load i32, ptr %9653, align 4, !tbaa !5
  %9655 = call ptr @s2n_strerror_debug(i32 noundef %9654, ptr noundef @.str.4)
  %9656 = call ptr @__errno_location() #12
  %9657 = load i32, ptr %9656, align 4, !tbaa !5
  %9658 = call ptr @strerror(i32 noundef %9657) #11
  %9659 = call ptr @__errno_location() #12
  %9660 = load i32, ptr %9659, align 4, !tbaa !5
  %9661 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9648, ptr noundef @.str.2, i32 noundef %9649, ptr noundef @.str.91, ptr noundef @.str.1, i32 noundef 403, ptr noundef %9652, ptr noundef %9655, ptr noundef %9658, i32 noundef %9660) #11
  br label %9679

9662:                                             ; preds = %9640, %9633
  %9663 = load i32, ptr %239, align 4, !tbaa !5
  %9664 = call ptr @__errno_location() #12
  store i32 %9663, ptr %9664, align 4, !tbaa !5
  %9665 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9666 = load i32, ptr @test_count, align 4, !tbaa !5
  %9667 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9668 = load i32, ptr %9667, align 4, !tbaa !5
  %9669 = call ptr @s2n_strerror(i32 noundef %9668, ptr noundef @.str.4)
  %9670 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9671 = load i32, ptr %9670, align 4, !tbaa !5
  %9672 = call ptr @s2n_strerror_debug(i32 noundef %9671, ptr noundef @.str.4)
  %9673 = call ptr @__errno_location() #12
  %9674 = load i32, ptr %9673, align 4, !tbaa !5
  %9675 = call ptr @strerror(i32 noundef %9674) #11
  %9676 = call ptr @__errno_location() #12
  %9677 = load i32, ptr %9676, align 4, !tbaa !5
  %9678 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9665, ptr noundef @.str.5, i32 noundef %9666, ptr noundef @.str.91, ptr noundef @.str.1, i32 noundef 403, ptr noundef %9669, ptr noundef %9672, ptr noundef %9675, i32 noundef %9677) #11
  br label %9679

9679:                                             ; preds = %9662, %9645
  call void @llvm.lifetime.end.p0(i64 4, ptr %239) #11
  br label %9680

9680:                                             ; preds = %9679
  br label %9681

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

9682:                                             ; No predecessors!
  br label %9683

9683:                                             ; preds = %9682
  br label %9684

9684:                                             ; preds = %9683, %9625
  br label %9685

9685:                                             ; preds = %9684
  br label %9686

9686:                                             ; preds = %9685
  br label %9687

9687:                                             ; preds = %9686
  %9688 = load i32, ptr @test_count, align 4, !tbaa !5
  %9689 = add nsw i32 %9688, 1
  store i32 %9689, ptr @test_count, align 4, !tbaa !5
  %9690 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9691 = load i32, ptr %9690, align 4, !tbaa !5
  %9692 = icmp eq i32 %9691, 134217728
  br i1 %9692, label %9746, label %9693

9693:                                             ; preds = %9687
  br label %9694

9694:                                             ; preds = %9693
  br label %9695

9695:                                             ; preds = %9694
  call void @llvm.lifetime.start.p0(i64 4, ptr %240) #11
  %9696 = call ptr @__errno_location() #12
  %9697 = load i32, ptr %9696, align 4, !tbaa !5
  store i32 %9697, ptr %240, align 4, !tbaa !5
  %9698 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9699 = call i32 @s2n_print_stacktrace(ptr noundef %9698)
  %9700 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9701 = trunc i8 %9700 to i1
  br i1 %9701, label %9702, label %9724

9702:                                             ; preds = %9695
  %9703 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9704 = call i32 @fileno(ptr noundef %9703) #11
  %9705 = call i32 @isatty(i32 noundef %9704) #11
  %9706 = icmp ne i32 %9705, 0
  br i1 %9706, label %9707, label %9724

9707:                                             ; preds = %9702
  %9708 = load i32, ptr %240, align 4, !tbaa !5
  %9709 = call ptr @__errno_location() #12
  store i32 %9708, ptr %9709, align 4, !tbaa !5
  %9710 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9711 = load i32, ptr @test_count, align 4, !tbaa !5
  %9712 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9713 = load i32, ptr %9712, align 4, !tbaa !5
  %9714 = call ptr @s2n_strerror(i32 noundef %9713, ptr noundef @.str.4)
  %9715 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9716 = load i32, ptr %9715, align 4, !tbaa !5
  %9717 = call ptr @s2n_strerror_debug(i32 noundef %9716, ptr noundef @.str.4)
  %9718 = call ptr @__errno_location() #12
  %9719 = load i32, ptr %9718, align 4, !tbaa !5
  %9720 = call ptr @strerror(i32 noundef %9719) #11
  %9721 = call ptr @__errno_location() #12
  %9722 = load i32, ptr %9721, align 4, !tbaa !5
  %9723 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9710, ptr noundef @.str.2, i32 noundef %9711, ptr noundef @.str.90, ptr noundef @.str.1, i32 noundef 403, ptr noundef %9714, ptr noundef %9717, ptr noundef %9720, i32 noundef %9722) #11
  br label %9741

9724:                                             ; preds = %9702, %9695
  %9725 = load i32, ptr %240, 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.4)
  %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.4)
  %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.5, i32 noundef %9728, ptr noundef @.str.90, ptr noundef @.str.1, i32 noundef 403, ptr noundef %9731, ptr noundef %9734, ptr noundef %9737, i32 noundef %9739) #11
  br label %9741

9741:                                             ; preds = %9724, %9707
  call void @llvm.lifetime.end.p0(i64 4, ptr %240) #11
  br label %9742

9742:                                             ; preds = %9741
  br label %9743

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

9744:                                             ; No predecessors!
  br label %9745

9745:                                             ; preds = %9744
  br label %9746

9746:                                             ; preds = %9745, %9687
  br label %9747

9747:                                             ; preds = %9746
  br label %9748

9748:                                             ; preds = %9747
  br label %9749

9749:                                             ; preds = %9748
  %9750 = load i32, ptr @test_count, align 4, !tbaa !5
  %9751 = add nsw i32 %9750, 1
  store i32 %9751, ptr @test_count, align 4, !tbaa !5
  %9752 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9753 = load i32, ptr %9752, align 4, !tbaa !5
  %9754 = call ptr @s2n_strerror_debug(i32 noundef %9753, ptr noundef @.str.4)
  %9755 = icmp eq ptr %9754, null
  br i1 %9755, label %9756, label %9809

9756:                                             ; preds = %9749
  br label %9757

9757:                                             ; preds = %9756
  br label %9758

9758:                                             ; preds = %9757
  call void @llvm.lifetime.start.p0(i64 4, ptr %241) #11
  %9759 = call ptr @__errno_location() #12
  %9760 = load i32, ptr %9759, align 4, !tbaa !5
  store i32 %9760, ptr %241, align 4, !tbaa !5
  %9761 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9762 = call i32 @s2n_print_stacktrace(ptr noundef %9761)
  %9763 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9764 = trunc i8 %9763 to i1
  br i1 %9764, label %9765, label %9787

9765:                                             ; preds = %9758
  %9766 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9767 = call i32 @fileno(ptr noundef %9766) #11
  %9768 = call i32 @isatty(i32 noundef %9767) #11
  %9769 = icmp ne i32 %9768, 0
  br i1 %9769, label %9770, label %9787

9770:                                             ; preds = %9765
  %9771 = load i32, ptr %241, align 4, !tbaa !5
  %9772 = call ptr @__errno_location() #12
  store i32 %9771, ptr %9772, align 4, !tbaa !5
  %9773 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9774 = load i32, ptr @test_count, align 4, !tbaa !5
  %9775 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9776 = load i32, ptr %9775, align 4, !tbaa !5
  %9777 = call ptr @s2n_strerror(i32 noundef %9776, ptr noundef @.str.4)
  %9778 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9779 = load i32, ptr %9778, align 4, !tbaa !5
  %9780 = call ptr @s2n_strerror_debug(i32 noundef %9779, ptr noundef @.str.4)
  %9781 = call ptr @__errno_location() #12
  %9782 = load i32, ptr %9781, align 4, !tbaa !5
  %9783 = call ptr @strerror(i32 noundef %9782) #11
  %9784 = call ptr @__errno_location() #12
  %9785 = load i32, ptr %9784, align 4, !tbaa !5
  %9786 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9773, ptr noundef @.str.2, i32 noundef %9774, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 403, ptr noundef %9777, ptr noundef %9780, ptr noundef %9783, i32 noundef %9785) #11
  br label %9804

9787:                                             ; preds = %9765, %9758
  %9788 = load i32, ptr %241, align 4, !tbaa !5
  %9789 = call ptr @__errno_location() #12
  store i32 %9788, ptr %9789, align 4, !tbaa !5
  %9790 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9791 = load i32, ptr @test_count, align 4, !tbaa !5
  %9792 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9793 = load i32, ptr %9792, align 4, !tbaa !5
  %9794 = call ptr @s2n_strerror(i32 noundef %9793, ptr noundef @.str.4)
  %9795 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9796 = load i32, ptr %9795, align 4, !tbaa !5
  %9797 = call ptr @s2n_strerror_debug(i32 noundef %9796, ptr noundef @.str.4)
  %9798 = call ptr @__errno_location() #12
  %9799 = load i32, ptr %9798, align 4, !tbaa !5
  %9800 = call ptr @strerror(i32 noundef %9799) #11
  %9801 = call ptr @__errno_location() #12
  %9802 = load i32, ptr %9801, align 4, !tbaa !5
  %9803 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9790, ptr noundef @.str.5, i32 noundef %9791, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 403, ptr noundef %9794, ptr noundef %9797, ptr noundef %9800, i32 noundef %9802) #11
  br label %9804

9804:                                             ; preds = %9787, %9770
  call void @llvm.lifetime.end.p0(i64 4, ptr %241) #11
  br label %9805

9805:                                             ; preds = %9804
  br label %9806

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

9807:                                             ; No predecessors!
  br label %9808

9808:                                             ; preds = %9807
  br label %9809

9809:                                             ; preds = %9808, %9749
  br label %9810

9810:                                             ; preds = %9809
  br label %9811

9811:                                             ; preds = %9810
  br label %9812

9812:                                             ; preds = %9811
  br label %9813

9813:                                             ; preds = %9812
  br label %9814

9814:                                             ; preds = %9813
  %9815 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %9815, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %9816 = call ptr @__errno_location() #12
  store i32 0, ptr %9816, align 4, !tbaa !5
  br label %9817

9817:                                             ; preds = %9814
  br label %9818

9818:                                             ; preds = %9817
  br label %9819

9819:                                             ; preds = %9818
  br label %9820

9820:                                             ; preds = %9819
  br label %9821

9821:                                             ; preds = %9820
  %9822 = load i32, ptr @test_count, align 4, !tbaa !5
  %9823 = add nsw i32 %9822, 1
  store i32 %9823, ptr @test_count, align 4, !tbaa !5
  %9824 = load ptr, ptr %221, align 8, !tbaa !9
  %9825 = call i32 @s2n_shutdown_send(ptr noundef %9824, ptr noundef %233)
  %9826 = icmp eq i32 %9825, -1
  br i1 %9826, label %9827, label %9880

9827:                                             ; preds = %9821
  br label %9828

9828:                                             ; preds = %9827
  br label %9829

9829:                                             ; preds = %9828
  call void @llvm.lifetime.start.p0(i64 4, ptr %242) #11
  %9830 = call ptr @__errno_location() #12
  %9831 = load i32, ptr %9830, align 4, !tbaa !5
  store i32 %9831, ptr %242, align 4, !tbaa !5
  %9832 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9833 = call i32 @s2n_print_stacktrace(ptr noundef %9832)
  %9834 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9835 = trunc i8 %9834 to i1
  br i1 %9835, label %9836, label %9858

9836:                                             ; preds = %9829
  %9837 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9838 = call i32 @fileno(ptr noundef %9837) #11
  %9839 = call i32 @isatty(i32 noundef %9838) #11
  %9840 = icmp ne i32 %9839, 0
  br i1 %9840, label %9841, label %9858

9841:                                             ; preds = %9836
  %9842 = load i32, ptr %242, align 4, !tbaa !5
  %9843 = call ptr @__errno_location() #12
  store i32 %9842, ptr %9843, align 4, !tbaa !5
  %9844 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9845 = load i32, ptr @test_count, align 4, !tbaa !5
  %9846 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9847 = load i32, ptr %9846, align 4, !tbaa !5
  %9848 = call ptr @s2n_strerror(i32 noundef %9847, ptr noundef @.str.4)
  %9849 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9850 = load i32, ptr %9849, align 4, !tbaa !5
  %9851 = call ptr @s2n_strerror_debug(i32 noundef %9850, ptr noundef @.str.4)
  %9852 = call ptr @__errno_location() #12
  %9853 = load i32, ptr %9852, align 4, !tbaa !5
  %9854 = call ptr @strerror(i32 noundef %9853) #11
  %9855 = call ptr @__errno_location() #12
  %9856 = load i32, ptr %9855, align 4, !tbaa !5
  %9857 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9844, ptr noundef @.str.2, i32 noundef %9845, ptr noundef @.str.92, ptr noundef @.str.1, i32 noundef 407, ptr noundef %9848, ptr noundef %9851, ptr noundef %9854, i32 noundef %9856) #11
  br label %9875

9858:                                             ; preds = %9836, %9829
  %9859 = load i32, ptr %242, align 4, !tbaa !5
  %9860 = call ptr @__errno_location() #12
  store i32 %9859, ptr %9860, align 4, !tbaa !5
  %9861 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9862 = load i32, ptr @test_count, align 4, !tbaa !5
  %9863 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9864 = load i32, ptr %9863, align 4, !tbaa !5
  %9865 = call ptr @s2n_strerror(i32 noundef %9864, ptr noundef @.str.4)
  %9866 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9867 = load i32, ptr %9866, align 4, !tbaa !5
  %9868 = call ptr @s2n_strerror_debug(i32 noundef %9867, ptr noundef @.str.4)
  %9869 = call ptr @__errno_location() #12
  %9870 = load i32, ptr %9869, align 4, !tbaa !5
  %9871 = call ptr @strerror(i32 noundef %9870) #11
  %9872 = call ptr @__errno_location() #12
  %9873 = load i32, ptr %9872, align 4, !tbaa !5
  %9874 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9861, ptr noundef @.str.5, i32 noundef %9862, ptr noundef @.str.92, ptr noundef @.str.1, i32 noundef 407, ptr noundef %9865, ptr noundef %9868, ptr noundef %9871, i32 noundef %9873) #11
  br label %9875

9875:                                             ; preds = %9858, %9841
  call void @llvm.lifetime.end.p0(i64 4, ptr %242) #11
  br label %9876

9876:                                             ; preds = %9875
  br label %9877

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

9878:                                             ; No predecessors!
  br label %9879

9879:                                             ; preds = %9878
  br label %9880

9880:                                             ; preds = %9879, %9821
  br label %9881

9881:                                             ; preds = %9880
  br label %9882

9882:                                             ; preds = %9881
  call void @llvm.lifetime.start.p0(i64 7, ptr %243) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 1 %243, ptr align 1 @__const.main.expected_alert, i64 7, i1 false)
  call void @llvm.lifetime.start.p0(i64 7, ptr %244) #11
  call void @llvm.memset.p0.i64(ptr align 1 %244, i8 0, i64 7, i1 false)
  br label %9883

9883:                                             ; preds = %9882
  %9884 = load i32, ptr @test_count, align 4, !tbaa !5
  %9885 = add nsw i32 %9884, 1
  store i32 %9885, ptr @test_count, align 4, !tbaa !5
  %9886 = getelementptr inbounds %struct.s2n_test_io_stuffer_pair, ptr %225, i32 0, i32 0
  %9887 = getelementptr inbounds [7 x i8], ptr %244, i64 0, i64 0
  %9888 = call i32 @s2n_stuffer_read_bytes(ptr noundef %9886, ptr noundef %9887, i32 noundef 7)
  %9889 = icmp eq i32 %9888, -1
  br i1 %9889, label %9890, label %9943

9890:                                             ; preds = %9883
  br label %9891

9891:                                             ; preds = %9890
  br label %9892

9892:                                             ; preds = %9891
  call void @llvm.lifetime.start.p0(i64 4, ptr %245) #11
  %9893 = call ptr @__errno_location() #12
  %9894 = load i32, ptr %9893, align 4, !tbaa !5
  store i32 %9894, ptr %245, align 4, !tbaa !5
  %9895 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9896 = call i32 @s2n_print_stacktrace(ptr noundef %9895)
  %9897 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9898 = trunc i8 %9897 to i1
  br i1 %9898, label %9899, label %9921

9899:                                             ; preds = %9892
  %9900 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9901 = call i32 @fileno(ptr noundef %9900) #11
  %9902 = call i32 @isatty(i32 noundef %9901) #11
  %9903 = icmp ne i32 %9902, 0
  br i1 %9903, label %9904, label %9921

9904:                                             ; preds = %9899
  %9905 = load i32, ptr %245, align 4, !tbaa !5
  %9906 = call ptr @__errno_location() #12
  store i32 %9905, ptr %9906, align 4, !tbaa !5
  %9907 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9908 = load i32, ptr @test_count, align 4, !tbaa !5
  %9909 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9910 = load i32, ptr %9909, align 4, !tbaa !5
  %9911 = call ptr @s2n_strerror(i32 noundef %9910, ptr noundef @.str.4)
  %9912 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9913 = load i32, ptr %9912, align 4, !tbaa !5
  %9914 = call ptr @s2n_strerror_debug(i32 noundef %9913, ptr noundef @.str.4)
  %9915 = call ptr @__errno_location() #12
  %9916 = load i32, ptr %9915, align 4, !tbaa !5
  %9917 = call ptr @strerror(i32 noundef %9916) #11
  %9918 = call ptr @__errno_location() #12
  %9919 = load i32, ptr %9918, align 4, !tbaa !5
  %9920 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9907, ptr noundef @.str.2, i32 noundef %9908, ptr noundef @.str.93, ptr noundef @.str.1, i32 noundef 417, ptr noundef %9911, ptr noundef %9914, ptr noundef %9917, i32 noundef %9919) #11
  br label %9938

9921:                                             ; preds = %9899, %9892
  %9922 = load i32, ptr %245, align 4, !tbaa !5
  %9923 = call ptr @__errno_location() #12
  store i32 %9922, ptr %9923, align 4, !tbaa !5
  %9924 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9925 = load i32, ptr @test_count, align 4, !tbaa !5
  %9926 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9927 = load i32, ptr %9926, align 4, !tbaa !5
  %9928 = call ptr @s2n_strerror(i32 noundef %9927, ptr noundef @.str.4)
  %9929 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9930 = load i32, ptr %9929, align 4, !tbaa !5
  %9931 = call ptr @s2n_strerror_debug(i32 noundef %9930, ptr noundef @.str.4)
  %9932 = call ptr @__errno_location() #12
  %9933 = load i32, ptr %9932, align 4, !tbaa !5
  %9934 = call ptr @strerror(i32 noundef %9933) #11
  %9935 = call ptr @__errno_location() #12
  %9936 = load i32, ptr %9935, align 4, !tbaa !5
  %9937 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9924, ptr noundef @.str.5, i32 noundef %9925, ptr noundef @.str.93, ptr noundef @.str.1, i32 noundef 417, ptr noundef %9928, ptr noundef %9931, ptr noundef %9934, i32 noundef %9936) #11
  br label %9938

9938:                                             ; preds = %9921, %9904
  call void @llvm.lifetime.end.p0(i64 4, ptr %245) #11
  br label %9939

9939:                                             ; preds = %9938
  br label %9940

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

9941:                                             ; No predecessors!
  br label %9942

9942:                                             ; preds = %9941
  br label %9943

9943:                                             ; preds = %9942, %9883
  br label %9944

9944:                                             ; preds = %9943
  br label %9945

9945:                                             ; preds = %9944
  br label %9946

9946:                                             ; preds = %9945
  br label %9947

9947:                                             ; preds = %9946
  %9948 = load i32, ptr @test_count, align 4, !tbaa !5
  %9949 = add nsw i32 %9948, 1
  store i32 %9949, ptr @test_count, align 4, !tbaa !5
  %9950 = getelementptr inbounds [7 x i8], ptr %244, i64 0, i64 0
  %9951 = getelementptr inbounds [7 x i8], ptr %243, i64 0, i64 0
  %9952 = call i32 @memcmp(ptr noundef %9950, ptr noundef %9951, i64 noundef 7) #14
  %9953 = icmp eq i32 %9952, 0
  br i1 %9953, label %10007, label %9954

9954:                                             ; preds = %9947
  br label %9955

9955:                                             ; preds = %9954
  br label %9956

9956:                                             ; preds = %9955
  call void @llvm.lifetime.start.p0(i64 4, ptr %246) #11
  %9957 = call ptr @__errno_location() #12
  %9958 = load i32, ptr %9957, align 4, !tbaa !5
  store i32 %9958, ptr %246, align 4, !tbaa !5
  %9959 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9960 = call i32 @s2n_print_stacktrace(ptr noundef %9959)
  %9961 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9962 = trunc i8 %9961 to i1
  br i1 %9962, label %9963, label %9985

9963:                                             ; preds = %9956
  %9964 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9965 = call i32 @fileno(ptr noundef %9964) #11
  %9966 = call i32 @isatty(i32 noundef %9965) #11
  %9967 = icmp ne i32 %9966, 0
  br i1 %9967, label %9968, label %9985

9968:                                             ; preds = %9963
  %9969 = load i32, ptr %246, align 4, !tbaa !5
  %9970 = call ptr @__errno_location() #12
  store i32 %9969, ptr %9970, align 4, !tbaa !5
  %9971 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9972 = load i32, ptr @test_count, align 4, !tbaa !5
  %9973 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9974 = load i32, ptr %9973, align 4, !tbaa !5
  %9975 = call ptr @s2n_strerror(i32 noundef %9974, ptr noundef @.str.4)
  %9976 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9977 = load i32, ptr %9976, align 4, !tbaa !5
  %9978 = call ptr @s2n_strerror_debug(i32 noundef %9977, ptr noundef @.str.4)
  %9979 = call ptr @__errno_location() #12
  %9980 = load i32, ptr %9979, align 4, !tbaa !5
  %9981 = call ptr @strerror(i32 noundef %9980) #11
  %9982 = call ptr @__errno_location() #12
  %9983 = load i32, ptr %9982, align 4, !tbaa !5
  %9984 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9971, ptr noundef @.str.2, i32 noundef %9972, ptr noundef @.str.94, ptr noundef @.str.1, i32 noundef 418, ptr noundef %9975, ptr noundef %9978, ptr noundef %9981, i32 noundef %9983) #11
  br label %10002

9985:                                             ; preds = %9963, %9956
  %9986 = load i32, ptr %246, align 4, !tbaa !5
  %9987 = call ptr @__errno_location() #12
  store i32 %9986, ptr %9987, align 4, !tbaa !5
  %9988 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9989 = load i32, ptr @test_count, align 4, !tbaa !5
  %9990 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9991 = load i32, ptr %9990, align 4, !tbaa !5
  %9992 = call ptr @s2n_strerror(i32 noundef %9991, ptr noundef @.str.4)
  %9993 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9994 = load i32, ptr %9993, align 4, !tbaa !5
  %9995 = call ptr @s2n_strerror_debug(i32 noundef %9994, ptr noundef @.str.4)
  %9996 = call ptr @__errno_location() #12
  %9997 = load i32, ptr %9996, align 4, !tbaa !5
  %9998 = call ptr @strerror(i32 noundef %9997) #11
  %9999 = call ptr @__errno_location() #12
  %10000 = load i32, ptr %9999, align 4, !tbaa !5
  %10001 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9988, ptr noundef @.str.5, i32 noundef %9989, ptr noundef @.str.94, ptr noundef @.str.1, i32 noundef 418, ptr noundef %9992, ptr noundef %9995, ptr noundef %9998, i32 noundef %10000) #11
  br label %10002

10002:                                            ; preds = %9985, %9968
  call void @llvm.lifetime.end.p0(i64 4, ptr %246) #11
  br label %10003

10003:                                            ; preds = %10002
  br label %10004

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

10005:                                            ; No predecessors!
  br label %10006

10006:                                            ; preds = %10005
  br label %10007

10007:                                            ; preds = %10006, %9947
  br label %10008

10008:                                            ; preds = %10007
  br label %10009

10009:                                            ; preds = %10008
  br label %10010

10010:                                            ; preds = %10009
  br label %10011

10011:                                            ; preds = %10010
  call void @llvm.lifetime.end.p0(i64 7, ptr %244) #11
  call void @llvm.lifetime.end.p0(i64 7, ptr %243) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %238) #11
  call void @llvm.lifetime.end.p0(i64 12, ptr %234) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %233) #11
  call void @llvm.lifetime.end.p0(i64 142, ptr %231) #11
  %10012 = call i32 @s2n_io_stuffer_pair_free(ptr noundef %225)
  %10013 = getelementptr inbounds %struct.s2n_result, ptr %247, i32 0, i32 0
  store i32 %10012, ptr %10013, align 4
  call void @llvm.lifetime.end.p0(i64 80, ptr %225) #11
  %10014 = call i32 @s2n_connection_ptr_free(ptr noundef %221)
  %10015 = getelementptr inbounds %struct.s2n_result, ptr %248, i32 0, i32 0
  store i32 %10014, ptr %10015, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %221) #11
  %10016 = call i32 @s2n_connection_ptr_free(ptr noundef %219)
  %10017 = getelementptr inbounds %struct.s2n_result, ptr %249, i32 0, i32 0
  store i32 %10016, ptr %10017, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %219) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %250) #11
  %10018 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %10018, ptr %250, align 8, !tbaa !9
  br label %10019

10019:                                            ; preds = %10011
  %10020 = load i32, ptr @test_count, align 4, !tbaa !5
  %10021 = add nsw i32 %10020, 1
  store i32 %10021, ptr @test_count, align 4, !tbaa !5
  %10022 = load ptr, ptr %250, align 8, !tbaa !9
  %10023 = icmp eq ptr %10022, null
  br i1 %10023, label %10024, label %10077

10024:                                            ; preds = %10019
  br label %10025

10025:                                            ; preds = %10024
  br label %10026

10026:                                            ; preds = %10025
  call void @llvm.lifetime.start.p0(i64 4, ptr %251) #11
  %10027 = call ptr @__errno_location() #12
  %10028 = load i32, ptr %10027, align 4, !tbaa !5
  store i32 %10028, ptr %251, align 4, !tbaa !5
  %10029 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10030 = call i32 @s2n_print_stacktrace(ptr noundef %10029)
  %10031 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10032 = trunc i8 %10031 to i1
  br i1 %10032, label %10033, label %10055

10033:                                            ; preds = %10026
  %10034 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10035 = call i32 @fileno(ptr noundef %10034) #11
  %10036 = call i32 @isatty(i32 noundef %10035) #11
  %10037 = icmp ne i32 %10036, 0
  br i1 %10037, label %10038, label %10055

10038:                                            ; preds = %10033
  %10039 = load i32, ptr %251, align 4, !tbaa !5
  %10040 = call ptr @__errno_location() #12
  store i32 %10039, ptr %10040, align 4, !tbaa !5
  %10041 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10042 = load i32, ptr @test_count, align 4, !tbaa !5
  %10043 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10044 = load i32, ptr %10043, align 4, !tbaa !5
  %10045 = call ptr @s2n_strerror(i32 noundef %10044, ptr noundef @.str.4)
  %10046 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10047 = load i32, ptr %10046, align 4, !tbaa !5
  %10048 = call ptr @s2n_strerror_debug(i32 noundef %10047, ptr noundef @.str.4)
  %10049 = call ptr @__errno_location() #12
  %10050 = load i32, ptr %10049, align 4, !tbaa !5
  %10051 = call ptr @strerror(i32 noundef %10050) #11
  %10052 = call ptr @__errno_location() #12
  %10053 = load i32, ptr %10052, align 4, !tbaa !5
  %10054 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10041, ptr noundef @.str.2, i32 noundef %10042, ptr noundef @.str.42, ptr noundef @.str.1, i32 noundef 425, ptr noundef %10045, ptr noundef %10048, ptr noundef %10051, i32 noundef %10053) #11
  br label %10072

10055:                                            ; preds = %10033, %10026
  %10056 = load i32, ptr %251, align 4, !tbaa !5
  %10057 = call ptr @__errno_location() #12
  store i32 %10056, ptr %10057, align 4, !tbaa !5
  %10058 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10059 = load i32, ptr @test_count, align 4, !tbaa !5
  %10060 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10061 = load i32, ptr %10060, align 4, !tbaa !5
  %10062 = call ptr @s2n_strerror(i32 noundef %10061, ptr noundef @.str.4)
  %10063 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10064 = load i32, ptr %10063, align 4, !tbaa !5
  %10065 = call ptr @s2n_strerror_debug(i32 noundef %10064, ptr noundef @.str.4)
  %10066 = call ptr @__errno_location() #12
  %10067 = load i32, ptr %10066, align 4, !tbaa !5
  %10068 = call ptr @strerror(i32 noundef %10067) #11
  %10069 = call ptr @__errno_location() #12
  %10070 = load i32, ptr %10069, align 4, !tbaa !5
  %10071 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10058, ptr noundef @.str.5, i32 noundef %10059, ptr noundef @.str.42, ptr noundef @.str.1, i32 noundef 425, ptr noundef %10062, ptr noundef %10065, ptr noundef %10068, i32 noundef %10070) #11
  br label %10072

10072:                                            ; preds = %10055, %10038
  call void @llvm.lifetime.end.p0(i64 4, ptr %251) #11
  br label %10073

10073:                                            ; preds = %10072
  br label %10074

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

10075:                                            ; No predecessors!
  br label %10076

10076:                                            ; preds = %10075
  br label %10077

10077:                                            ; preds = %10076, %10019
  br label %10078

10078:                                            ; preds = %10077
  br label %10079

10079:                                            ; preds = %10078
  call void @llvm.lifetime.start.p0(i64 8, ptr %252) #11
  %10080 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %10080, ptr %252, align 8, !tbaa !9
  br label %10081

10081:                                            ; preds = %10079
  %10082 = load i32, ptr @test_count, align 4, !tbaa !5
  %10083 = add nsw i32 %10082, 1
  store i32 %10083, ptr @test_count, align 4, !tbaa !5
  %10084 = load ptr, ptr %252, align 8, !tbaa !9
  %10085 = icmp eq ptr %10084, null
  br i1 %10085, label %10086, label %10139

10086:                                            ; preds = %10081
  br label %10087

10087:                                            ; preds = %10086
  br label %10088

10088:                                            ; preds = %10087
  call void @llvm.lifetime.start.p0(i64 4, ptr %253) #11
  %10089 = call ptr @__errno_location() #12
  %10090 = load i32, ptr %10089, align 4, !tbaa !5
  store i32 %10090, ptr %253, align 4, !tbaa !5
  %10091 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10092 = call i32 @s2n_print_stacktrace(ptr noundef %10091)
  %10093 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10094 = trunc i8 %10093 to i1
  br i1 %10094, label %10095, label %10117

10095:                                            ; preds = %10088
  %10096 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10097 = call i32 @fileno(ptr noundef %10096) #11
  %10098 = call i32 @isatty(i32 noundef %10097) #11
  %10099 = icmp ne i32 %10098, 0
  br i1 %10099, label %10100, label %10117

10100:                                            ; preds = %10095
  %10101 = load i32, ptr %253, align 4, !tbaa !5
  %10102 = call ptr @__errno_location() #12
  store i32 %10101, ptr %10102, align 4, !tbaa !5
  %10103 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10104 = load i32, ptr @test_count, align 4, !tbaa !5
  %10105 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10106 = load i32, ptr %10105, align 4, !tbaa !5
  %10107 = call ptr @s2n_strerror(i32 noundef %10106, ptr noundef @.str.4)
  %10108 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10109 = load i32, ptr %10108, align 4, !tbaa !5
  %10110 = call ptr @s2n_strerror_debug(i32 noundef %10109, ptr noundef @.str.4)
  %10111 = call ptr @__errno_location() #12
  %10112 = load i32, ptr %10111, align 4, !tbaa !5
  %10113 = call ptr @strerror(i32 noundef %10112) #11
  %10114 = call ptr @__errno_location() #12
  %10115 = load i32, ptr %10114, align 4, !tbaa !5
  %10116 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10103, ptr noundef @.str.2, i32 noundef %10104, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 428, ptr noundef %10107, ptr noundef %10110, ptr noundef %10113, i32 noundef %10115) #11
  br label %10134

10117:                                            ; preds = %10095, %10088
  %10118 = load i32, ptr %253, align 4, !tbaa !5
  %10119 = call ptr @__errno_location() #12
  store i32 %10118, ptr %10119, align 4, !tbaa !5
  %10120 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10121 = load i32, ptr @test_count, align 4, !tbaa !5
  %10122 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10123 = load i32, ptr %10122, align 4, !tbaa !5
  %10124 = call ptr @s2n_strerror(i32 noundef %10123, ptr noundef @.str.4)
  %10125 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10126 = load i32, ptr %10125, align 4, !tbaa !5
  %10127 = call ptr @s2n_strerror_debug(i32 noundef %10126, ptr noundef @.str.4)
  %10128 = call ptr @__errno_location() #12
  %10129 = load i32, ptr %10128, align 4, !tbaa !5
  %10130 = call ptr @strerror(i32 noundef %10129) #11
  %10131 = call ptr @__errno_location() #12
  %10132 = load i32, ptr %10131, align 4, !tbaa !5
  %10133 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10120, ptr noundef @.str.5, i32 noundef %10121, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 428, ptr noundef %10124, ptr noundef %10127, ptr noundef %10130, i32 noundef %10132) #11
  br label %10134

10134:                                            ; preds = %10117, %10100
  call void @llvm.lifetime.end.p0(i64 4, ptr %253) #11
  br label %10135

10135:                                            ; preds = %10134
  br label %10136

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

10137:                                            ; No predecessors!
  br label %10138

10138:                                            ; preds = %10137
  br label %10139

10139:                                            ; preds = %10138, %10081
  br label %10140

10140:                                            ; preds = %10139
  br label %10141

10141:                                            ; preds = %10140
  br label %10142

10142:                                            ; preds = %10141
  %10143 = load i32, ptr @test_count, align 4, !tbaa !5
  %10144 = add nsw i32 %10143, 1
  store i32 %10144, ptr @test_count, align 4, !tbaa !5
  %10145 = load ptr, ptr %250, align 8, !tbaa !9
  %10146 = load ptr, ptr %16, align 8, !tbaa !9
  %10147 = call i32 @s2n_connection_set_config(ptr noundef %10145, ptr noundef %10146)
  %10148 = icmp eq i32 %10147, -1
  br i1 %10148, label %10149, label %10202

10149:                                            ; preds = %10142
  br label %10150

10150:                                            ; preds = %10149
  br label %10151

10151:                                            ; preds = %10150
  call void @llvm.lifetime.start.p0(i64 4, ptr %254) #11
  %10152 = call ptr @__errno_location() #12
  %10153 = load i32, ptr %10152, align 4, !tbaa !5
  store i32 %10153, ptr %254, align 4, !tbaa !5
  %10154 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10155 = call i32 @s2n_print_stacktrace(ptr noundef %10154)
  %10156 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10157 = trunc i8 %10156 to i1
  br i1 %10157, label %10158, label %10180

10158:                                            ; preds = %10151
  %10159 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10160 = call i32 @fileno(ptr noundef %10159) #11
  %10161 = call i32 @isatty(i32 noundef %10160) #11
  %10162 = icmp ne i32 %10161, 0
  br i1 %10162, label %10163, label %10180

10163:                                            ; preds = %10158
  %10164 = load i32, ptr %254, align 4, !tbaa !5
  %10165 = call ptr @__errno_location() #12
  store i32 %10164, ptr %10165, align 4, !tbaa !5
  %10166 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10167 = load i32, ptr @test_count, align 4, !tbaa !5
  %10168 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10169 = load i32, ptr %10168, align 4, !tbaa !5
  %10170 = call ptr @s2n_strerror(i32 noundef %10169, ptr noundef @.str.4)
  %10171 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10172 = load i32, ptr %10171, align 4, !tbaa !5
  %10173 = call ptr @s2n_strerror_debug(i32 noundef %10172, ptr noundef @.str.4)
  %10174 = call ptr @__errno_location() #12
  %10175 = load i32, ptr %10174, align 4, !tbaa !5
  %10176 = call ptr @strerror(i32 noundef %10175) #11
  %10177 = call ptr @__errno_location() #12
  %10178 = load i32, ptr %10177, align 4, !tbaa !5
  %10179 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10166, ptr noundef @.str.2, i32 noundef %10167, ptr noundef @.str.75, ptr noundef @.str.1, i32 noundef 430, ptr noundef %10170, ptr noundef %10173, ptr noundef %10176, i32 noundef %10178) #11
  br label %10197

10180:                                            ; preds = %10158, %10151
  %10181 = load i32, ptr %254, align 4, !tbaa !5
  %10182 = call ptr @__errno_location() #12
  store i32 %10181, ptr %10182, align 4, !tbaa !5
  %10183 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10184 = load i32, ptr @test_count, align 4, !tbaa !5
  %10185 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10186 = load i32, ptr %10185, align 4, !tbaa !5
  %10187 = call ptr @s2n_strerror(i32 noundef %10186, ptr noundef @.str.4)
  %10188 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10189 = load i32, ptr %10188, align 4, !tbaa !5
  %10190 = call ptr @s2n_strerror_debug(i32 noundef %10189, ptr noundef @.str.4)
  %10191 = call ptr @__errno_location() #12
  %10192 = load i32, ptr %10191, align 4, !tbaa !5
  %10193 = call ptr @strerror(i32 noundef %10192) #11
  %10194 = call ptr @__errno_location() #12
  %10195 = load i32, ptr %10194, align 4, !tbaa !5
  %10196 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10183, ptr noundef @.str.5, i32 noundef %10184, ptr noundef @.str.75, ptr noundef @.str.1, i32 noundef 430, ptr noundef %10187, ptr noundef %10190, ptr noundef %10193, i32 noundef %10195) #11
  br label %10197

10197:                                            ; preds = %10180, %10163
  call void @llvm.lifetime.end.p0(i64 4, ptr %254) #11
  br label %10198

10198:                                            ; preds = %10197
  br label %10199

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

10200:                                            ; No predecessors!
  br label %10201

10201:                                            ; preds = %10200
  br label %10202

10202:                                            ; preds = %10201, %10142
  br label %10203

10203:                                            ; preds = %10202
  br label %10204

10204:                                            ; preds = %10203
  br label %10205

10205:                                            ; preds = %10204
  %10206 = load i32, ptr @test_count, align 4, !tbaa !5
  %10207 = add nsw i32 %10206, 1
  store i32 %10207, ptr @test_count, align 4, !tbaa !5
  %10208 = load ptr, ptr %252, align 8, !tbaa !9
  %10209 = load ptr, ptr %16, align 8, !tbaa !9
  %10210 = call i32 @s2n_connection_set_config(ptr noundef %10208, ptr noundef %10209)
  %10211 = icmp eq i32 %10210, -1
  br i1 %10211, label %10212, label %10265

10212:                                            ; preds = %10205
  br label %10213

10213:                                            ; preds = %10212
  br label %10214

10214:                                            ; preds = %10213
  call void @llvm.lifetime.start.p0(i64 4, ptr %255) #11
  %10215 = call ptr @__errno_location() #12
  %10216 = load i32, ptr %10215, align 4, !tbaa !5
  store i32 %10216, ptr %255, align 4, !tbaa !5
  %10217 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10218 = call i32 @s2n_print_stacktrace(ptr noundef %10217)
  %10219 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10220 = trunc i8 %10219 to i1
  br i1 %10220, label %10221, label %10243

10221:                                            ; preds = %10214
  %10222 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10223 = call i32 @fileno(ptr noundef %10222) #11
  %10224 = call i32 @isatty(i32 noundef %10223) #11
  %10225 = icmp ne i32 %10224, 0
  br i1 %10225, label %10226, label %10243

10226:                                            ; preds = %10221
  %10227 = load i32, ptr %255, align 4, !tbaa !5
  %10228 = call ptr @__errno_location() #12
  store i32 %10227, ptr %10228, align 4, !tbaa !5
  %10229 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10230 = load i32, ptr @test_count, align 4, !tbaa !5
  %10231 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10232 = load i32, ptr %10231, align 4, !tbaa !5
  %10233 = call ptr @s2n_strerror(i32 noundef %10232, ptr noundef @.str.4)
  %10234 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10235 = load i32, ptr %10234, align 4, !tbaa !5
  %10236 = call ptr @s2n_strerror_debug(i32 noundef %10235, ptr noundef @.str.4)
  %10237 = call ptr @__errno_location() #12
  %10238 = load i32, ptr %10237, align 4, !tbaa !5
  %10239 = call ptr @strerror(i32 noundef %10238) #11
  %10240 = call ptr @__errno_location() #12
  %10241 = load i32, ptr %10240, align 4, !tbaa !5
  %10242 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10229, ptr noundef @.str.2, i32 noundef %10230, ptr noundef @.str.76, ptr noundef @.str.1, i32 noundef 431, ptr noundef %10233, ptr noundef %10236, ptr noundef %10239, i32 noundef %10241) #11
  br label %10260

10243:                                            ; preds = %10221, %10214
  %10244 = load i32, ptr %255, align 4, !tbaa !5
  %10245 = call ptr @__errno_location() #12
  store i32 %10244, ptr %10245, align 4, !tbaa !5
  %10246 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10247 = load i32, ptr @test_count, align 4, !tbaa !5
  %10248 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10249 = load i32, ptr %10248, align 4, !tbaa !5
  %10250 = call ptr @s2n_strerror(i32 noundef %10249, ptr noundef @.str.4)
  %10251 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10252 = load i32, ptr %10251, align 4, !tbaa !5
  %10253 = call ptr @s2n_strerror_debug(i32 noundef %10252, ptr noundef @.str.4)
  %10254 = call ptr @__errno_location() #12
  %10255 = load i32, ptr %10254, align 4, !tbaa !5
  %10256 = call ptr @strerror(i32 noundef %10255) #11
  %10257 = call ptr @__errno_location() #12
  %10258 = load i32, ptr %10257, align 4, !tbaa !5
  %10259 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10246, ptr noundef @.str.5, i32 noundef %10247, ptr noundef @.str.76, ptr noundef @.str.1, i32 noundef 431, ptr noundef %10250, ptr noundef %10253, ptr noundef %10256, i32 noundef %10258) #11
  br label %10260

10260:                                            ; preds = %10243, %10226
  call void @llvm.lifetime.end.p0(i64 4, ptr %255) #11
  br label %10261

10261:                                            ; preds = %10260
  br label %10262

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

10263:                                            ; No predecessors!
  br label %10264

10264:                                            ; preds = %10263
  br label %10265

10265:                                            ; preds = %10264, %10205
  br label %10266

10266:                                            ; preds = %10265
  br label %10267

10267:                                            ; preds = %10266
  call void @llvm.lifetime.start.p0(i64 80, ptr %256) #11
  call void @llvm.memset.p0.i64(ptr align 8 %256, i8 0, i64 80, i1 false)
  br label %10268

10268:                                            ; preds = %10267
  %10269 = load i32, ptr @test_count, align 4, !tbaa !5
  %10270 = add nsw i32 %10269, 1
  store i32 %10270, ptr @test_count, align 4, !tbaa !5
  %10271 = call i32 @s2n_io_stuffer_pair_init(ptr noundef %256)
  %10272 = getelementptr inbounds %struct.s2n_result, ptr %257, i32 0, i32 0
  store i32 %10271, ptr %10272, align 4
  %10273 = getelementptr inbounds %struct.s2n_result, ptr %257, i32 0, i32 0
  %10274 = load i32, ptr %10273, align 4
  %10275 = call zeroext i1 @s2n_result_is_ok(i32 %10274)
  br i1 %10275, label %10329, label %10276

10276:                                            ; preds = %10268
  br label %10277

10277:                                            ; preds = %10276
  br label %10278

10278:                                            ; preds = %10277
  call void @llvm.lifetime.start.p0(i64 4, ptr %258) #11
  %10279 = call ptr @__errno_location() #12
  %10280 = load i32, ptr %10279, align 4, !tbaa !5
  store i32 %10280, ptr %258, align 4, !tbaa !5
  %10281 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10282 = call i32 @s2n_print_stacktrace(ptr noundef %10281)
  %10283 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10284 = trunc i8 %10283 to i1
  br i1 %10284, label %10285, label %10307

10285:                                            ; preds = %10278
  %10286 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10287 = call i32 @fileno(ptr noundef %10286) #11
  %10288 = call i32 @isatty(i32 noundef %10287) #11
  %10289 = icmp ne i32 %10288, 0
  br i1 %10289, label %10290, label %10307

10290:                                            ; preds = %10285
  %10291 = load i32, ptr %258, align 4, !tbaa !5
  %10292 = call ptr @__errno_location() #12
  store i32 %10291, ptr %10292, align 4, !tbaa !5
  %10293 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10294 = load i32, ptr @test_count, align 4, !tbaa !5
  %10295 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10296 = load i32, ptr %10295, align 4, !tbaa !5
  %10297 = call ptr @s2n_strerror(i32 noundef %10296, ptr noundef @.str.4)
  %10298 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10299 = load i32, ptr %10298, align 4, !tbaa !5
  %10300 = call ptr @s2n_strerror_debug(i32 noundef %10299, ptr noundef @.str.4)
  %10301 = call ptr @__errno_location() #12
  %10302 = load i32, ptr %10301, align 4, !tbaa !5
  %10303 = call ptr @strerror(i32 noundef %10302) #11
  %10304 = call ptr @__errno_location() #12
  %10305 = load i32, ptr %10304, align 4, !tbaa !5
  %10306 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10293, ptr noundef @.str.2, i32 noundef %10294, ptr noundef @.str.46, ptr noundef @.str.1, i32 noundef 434, ptr noundef %10297, ptr noundef %10300, ptr noundef %10303, i32 noundef %10305) #11
  br label %10324

10307:                                            ; preds = %10285, %10278
  %10308 = load i32, ptr %258, align 4, !tbaa !5
  %10309 = call ptr @__errno_location() #12
  store i32 %10308, ptr %10309, align 4, !tbaa !5
  %10310 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10311 = load i32, ptr @test_count, align 4, !tbaa !5
  %10312 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10313 = load i32, ptr %10312, align 4, !tbaa !5
  %10314 = call ptr @s2n_strerror(i32 noundef %10313, ptr noundef @.str.4)
  %10315 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10316 = load i32, ptr %10315, align 4, !tbaa !5
  %10317 = call ptr @s2n_strerror_debug(i32 noundef %10316, ptr noundef @.str.4)
  %10318 = call ptr @__errno_location() #12
  %10319 = load i32, ptr %10318, align 4, !tbaa !5
  %10320 = call ptr @strerror(i32 noundef %10319) #11
  %10321 = call ptr @__errno_location() #12
  %10322 = load i32, ptr %10321, align 4, !tbaa !5
  %10323 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10310, ptr noundef @.str.5, i32 noundef %10311, ptr noundef @.str.46, ptr noundef @.str.1, i32 noundef 434, ptr noundef %10314, ptr noundef %10317, ptr noundef %10320, i32 noundef %10322) #11
  br label %10324

10324:                                            ; preds = %10307, %10290
  call void @llvm.lifetime.end.p0(i64 4, ptr %258) #11
  br label %10325

10325:                                            ; preds = %10324
  br label %10326

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

10327:                                            ; No predecessors!
  br label %10328

10328:                                            ; preds = %10327
  br label %10329

10329:                                            ; preds = %10328, %10268
  br label %10330

10330:                                            ; preds = %10329
  br label %10331

10331:                                            ; preds = %10330
  br label %10332

10332:                                            ; preds = %10331
  %10333 = load i32, ptr @test_count, align 4, !tbaa !5
  %10334 = add nsw i32 %10333, 1
  store i32 %10334, ptr @test_count, align 4, !tbaa !5
  %10335 = load ptr, ptr %250, align 8, !tbaa !9
  %10336 = load ptr, ptr %252, align 8, !tbaa !9
  %10337 = call i32 @s2n_connections_set_io_stuffer_pair(ptr noundef %10335, ptr noundef %10336, ptr noundef %256)
  %10338 = getelementptr inbounds %struct.s2n_result, ptr %259, i32 0, i32 0
  store i32 %10337, ptr %10338, align 4
  %10339 = getelementptr inbounds %struct.s2n_result, ptr %259, i32 0, i32 0
  %10340 = load i32, ptr %10339, align 4
  %10341 = call zeroext i1 @s2n_result_is_ok(i32 %10340)
  br i1 %10341, label %10395, label %10342

10342:                                            ; preds = %10332
  br label %10343

10343:                                            ; preds = %10342
  br label %10344

10344:                                            ; preds = %10343
  call void @llvm.lifetime.start.p0(i64 4, ptr %260) #11
  %10345 = call ptr @__errno_location() #12
  %10346 = load i32, ptr %10345, align 4, !tbaa !5
  store i32 %10346, ptr %260, align 4, !tbaa !5
  %10347 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10348 = call i32 @s2n_print_stacktrace(ptr noundef %10347)
  %10349 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10350 = trunc i8 %10349 to i1
  br i1 %10350, label %10351, label %10373

10351:                                            ; preds = %10344
  %10352 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10353 = call i32 @fileno(ptr noundef %10352) #11
  %10354 = call i32 @isatty(i32 noundef %10353) #11
  %10355 = icmp ne i32 %10354, 0
  br i1 %10355, label %10356, label %10373

10356:                                            ; preds = %10351
  %10357 = load i32, ptr %260, align 4, !tbaa !5
  %10358 = call ptr @__errno_location() #12
  store i32 %10357, ptr %10358, align 4, !tbaa !5
  %10359 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10360 = load i32, ptr @test_count, align 4, !tbaa !5
  %10361 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10362 = load i32, ptr %10361, align 4, !tbaa !5
  %10363 = call ptr @s2n_strerror(i32 noundef %10362, ptr noundef @.str.4)
  %10364 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10365 = load i32, ptr %10364, align 4, !tbaa !5
  %10366 = call ptr @s2n_strerror_debug(i32 noundef %10365, ptr noundef @.str.4)
  %10367 = call ptr @__errno_location() #12
  %10368 = load i32, ptr %10367, align 4, !tbaa !5
  %10369 = call ptr @strerror(i32 noundef %10368) #11
  %10370 = call ptr @__errno_location() #12
  %10371 = load i32, ptr %10370, align 4, !tbaa !5
  %10372 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10359, ptr noundef @.str.2, i32 noundef %10360, ptr noundef @.str.47, ptr noundef @.str.1, i32 noundef 435, ptr noundef %10363, ptr noundef %10366, ptr noundef %10369, i32 noundef %10371) #11
  br label %10390

10373:                                            ; preds = %10351, %10344
  %10374 = load i32, ptr %260, align 4, !tbaa !5
  %10375 = call ptr @__errno_location() #12
  store i32 %10374, ptr %10375, align 4, !tbaa !5
  %10376 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10377 = load i32, ptr @test_count, align 4, !tbaa !5
  %10378 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10379 = load i32, ptr %10378, align 4, !tbaa !5
  %10380 = call ptr @s2n_strerror(i32 noundef %10379, ptr noundef @.str.4)
  %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_debug(i32 noundef %10382, ptr noundef @.str.4)
  %10384 = call ptr @__errno_location() #12
  %10385 = load i32, ptr %10384, align 4, !tbaa !5
  %10386 = call ptr @strerror(i32 noundef %10385) #11
  %10387 = call ptr @__errno_location() #12
  %10388 = load i32, ptr %10387, align 4, !tbaa !5
  %10389 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10376, ptr noundef @.str.5, i32 noundef %10377, ptr noundef @.str.47, ptr noundef @.str.1, i32 noundef 435, ptr noundef %10380, ptr noundef %10383, ptr noundef %10386, i32 noundef %10388) #11
  br label %10390

10390:                                            ; preds = %10373, %10356
  call void @llvm.lifetime.end.p0(i64 4, ptr %260) #11
  br label %10391

10391:                                            ; preds = %10390
  br label %10392

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

10393:                                            ; No predecessors!
  br label %10394

10394:                                            ; preds = %10393
  br label %10395

10395:                                            ; preds = %10394, %10332
  br label %10396

10396:                                            ; preds = %10395
  br label %10397

10397:                                            ; preds = %10396
  br label %10398

10398:                                            ; preds = %10397
  %10399 = load i32, ptr @test_count, align 4, !tbaa !5
  %10400 = add nsw i32 %10399, 1
  store i32 %10400, ptr @test_count, align 4, !tbaa !5
  %10401 = load ptr, ptr %252, align 8, !tbaa !9
  %10402 = load ptr, ptr %250, align 8, !tbaa !9
  %10403 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %10401, ptr noundef %10402)
  %10404 = icmp eq i32 %10403, -1
  br i1 %10404, label %10405, label %10458

10405:                                            ; preds = %10398
  br label %10406

10406:                                            ; preds = %10405
  br label %10407

10407:                                            ; preds = %10406
  call void @llvm.lifetime.start.p0(i64 4, ptr %261) #11
  %10408 = call ptr @__errno_location() #12
  %10409 = load i32, ptr %10408, align 4, !tbaa !5
  store i32 %10409, ptr %261, align 4, !tbaa !5
  %10410 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10411 = call i32 @s2n_print_stacktrace(ptr noundef %10410)
  %10412 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10413 = trunc i8 %10412 to i1
  br i1 %10413, label %10414, label %10436

10414:                                            ; preds = %10407
  %10415 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10416 = call i32 @fileno(ptr noundef %10415) #11
  %10417 = call i32 @isatty(i32 noundef %10416) #11
  %10418 = icmp ne i32 %10417, 0
  br i1 %10418, label %10419, label %10436

10419:                                            ; preds = %10414
  %10420 = load i32, ptr %261, align 4, !tbaa !5
  %10421 = call ptr @__errno_location() #12
  store i32 %10420, ptr %10421, align 4, !tbaa !5
  %10422 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10423 = load i32, ptr @test_count, align 4, !tbaa !5
  %10424 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10425 = load i32, ptr %10424, align 4, !tbaa !5
  %10426 = call ptr @s2n_strerror(i32 noundef %10425, ptr noundef @.str.4)
  %10427 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10428 = load i32, ptr %10427, align 4, !tbaa !5
  %10429 = call ptr @s2n_strerror_debug(i32 noundef %10428, ptr noundef @.str.4)
  %10430 = call ptr @__errno_location() #12
  %10431 = load i32, ptr %10430, align 4, !tbaa !5
  %10432 = call ptr @strerror(i32 noundef %10431) #11
  %10433 = call ptr @__errno_location() #12
  %10434 = load i32, ptr %10433, align 4, !tbaa !5
  %10435 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10422, ptr noundef @.str.2, i32 noundef %10423, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 437, ptr noundef %10426, ptr noundef %10429, ptr noundef %10432, i32 noundef %10434) #11
  br label %10453

10436:                                            ; preds = %10414, %10407
  %10437 = load i32, ptr %261, align 4, !tbaa !5
  %10438 = call ptr @__errno_location() #12
  store i32 %10437, ptr %10438, align 4, !tbaa !5
  %10439 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10440 = load i32, ptr @test_count, align 4, !tbaa !5
  %10441 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10442 = load i32, ptr %10441, align 4, !tbaa !5
  %10443 = call ptr @s2n_strerror(i32 noundef %10442, ptr noundef @.str.4)
  %10444 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10445 = load i32, ptr %10444, align 4, !tbaa !5
  %10446 = call ptr @s2n_strerror_debug(i32 noundef %10445, ptr noundef @.str.4)
  %10447 = call ptr @__errno_location() #12
  %10448 = load i32, ptr %10447, align 4, !tbaa !5
  %10449 = call ptr @strerror(i32 noundef %10448) #11
  %10450 = call ptr @__errno_location() #12
  %10451 = load i32, ptr %10450, align 4, !tbaa !5
  %10452 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10439, ptr noundef @.str.5, i32 noundef %10440, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 437, ptr noundef %10443, ptr noundef %10446, ptr noundef %10449, i32 noundef %10451) #11
  br label %10453

10453:                                            ; preds = %10436, %10419
  call void @llvm.lifetime.end.p0(i64 4, ptr %261) #11
  br label %10454

10454:                                            ; preds = %10453
  br label %10455

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

10456:                                            ; No predecessors!
  br label %10457

10457:                                            ; preds = %10456
  br label %10458

10458:                                            ; preds = %10457, %10398
  br label %10459

10459:                                            ; preds = %10458
  br label %10460

10460:                                            ; preds = %10459
  call void @llvm.lifetime.start.p0(i64 4, ptr %262) #11
  store i32 0, ptr %262, align 4, !tbaa !5
  br label %10461

10461:                                            ; preds = %10460
  %10462 = load i32, ptr @test_count, align 4, !tbaa !5
  %10463 = add nsw i32 %10462, 1
  store i32 %10463, ptr @test_count, align 4, !tbaa !5
  %10464 = load ptr, ptr %252, align 8, !tbaa !9
  %10465 = call i32 @s2n_shutdown_send(ptr noundef %10464, ptr noundef %262)
  %10466 = icmp eq i32 %10465, -1
  br i1 %10466, label %10467, label %10520

10467:                                            ; preds = %10461
  br label %10468

10468:                                            ; preds = %10467
  br label %10469

10469:                                            ; preds = %10468
  call void @llvm.lifetime.start.p0(i64 4, ptr %263) #11
  %10470 = call ptr @__errno_location() #12
  %10471 = load i32, ptr %10470, align 4, !tbaa !5
  store i32 %10471, ptr %263, align 4, !tbaa !5
  %10472 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10473 = call i32 @s2n_print_stacktrace(ptr noundef %10472)
  %10474 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10475 = trunc i8 %10474 to i1
  br i1 %10475, label %10476, label %10498

10476:                                            ; preds = %10469
  %10477 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10478 = call i32 @fileno(ptr noundef %10477) #11
  %10479 = call i32 @isatty(i32 noundef %10478) #11
  %10480 = icmp ne i32 %10479, 0
  br i1 %10480, label %10481, label %10498

10481:                                            ; preds = %10476
  %10482 = load i32, ptr %263, align 4, !tbaa !5
  %10483 = call ptr @__errno_location() #12
  store i32 %10482, ptr %10483, align 4, !tbaa !5
  %10484 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10485 = load i32, ptr @test_count, align 4, !tbaa !5
  %10486 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10487 = load i32, ptr %10486, align 4, !tbaa !5
  %10488 = call ptr @s2n_strerror(i32 noundef %10487, ptr noundef @.str.4)
  %10489 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10490 = load i32, ptr %10489, align 4, !tbaa !5
  %10491 = call ptr @s2n_strerror_debug(i32 noundef %10490, ptr noundef @.str.4)
  %10492 = call ptr @__errno_location() #12
  %10493 = load i32, ptr %10492, align 4, !tbaa !5
  %10494 = call ptr @strerror(i32 noundef %10493) #11
  %10495 = call ptr @__errno_location() #12
  %10496 = load i32, ptr %10495, align 4, !tbaa !5
  %10497 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10484, ptr noundef @.str.2, i32 noundef %10485, ptr noundef @.str.92, ptr noundef @.str.1, i32 noundef 440, ptr noundef %10488, ptr noundef %10491, ptr noundef %10494, i32 noundef %10496) #11
  br label %10515

10498:                                            ; preds = %10476, %10469
  %10499 = load i32, ptr %263, align 4, !tbaa !5
  %10500 = call ptr @__errno_location() #12
  store i32 %10499, ptr %10500, align 4, !tbaa !5
  %10501 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10502 = load i32, ptr @test_count, align 4, !tbaa !5
  %10503 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10504 = load i32, ptr %10503, align 4, !tbaa !5
  %10505 = call ptr @s2n_strerror(i32 noundef %10504, ptr noundef @.str.4)
  %10506 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10507 = load i32, ptr %10506, align 4, !tbaa !5
  %10508 = call ptr @s2n_strerror_debug(i32 noundef %10507, ptr noundef @.str.4)
  %10509 = call ptr @__errno_location() #12
  %10510 = load i32, ptr %10509, align 4, !tbaa !5
  %10511 = call ptr @strerror(i32 noundef %10510) #11
  %10512 = call ptr @__errno_location() #12
  %10513 = load i32, ptr %10512, align 4, !tbaa !5
  %10514 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10501, ptr noundef @.str.5, i32 noundef %10502, ptr noundef @.str.92, ptr noundef @.str.1, i32 noundef 440, ptr noundef %10505, ptr noundef %10508, ptr noundef %10511, i32 noundef %10513) #11
  br label %10515

10515:                                            ; preds = %10498, %10481
  call void @llvm.lifetime.end.p0(i64 4, ptr %263) #11
  br label %10516

10516:                                            ; preds = %10515
  br label %10517

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

10518:                                            ; No predecessors!
  br label %10519

10519:                                            ; preds = %10518
  br label %10520

10520:                                            ; preds = %10519, %10461
  br label %10521

10521:                                            ; preds = %10520
  br label %10522

10522:                                            ; preds = %10521
  call void @llvm.lifetime.start.p0(i64 142, ptr %264) #11
  call void @llvm.memset.p0.i64(ptr align 16 %264, i8 0, i64 142, i1 false)
  br label %10523

10523:                                            ; preds = %10522
  br label %10524

10524:                                            ; preds = %10523
  br label %10525

10525:                                            ; preds = %10524
  %10526 = load i32, ptr @test_count, align 4, !tbaa !5
  %10527 = add nsw i32 %10526, 1
  store i32 %10527, ptr @test_count, align 4, !tbaa !5
  %10528 = load ptr, ptr %252, align 8, !tbaa !9
  %10529 = getelementptr inbounds [142 x i8], ptr %264, i64 0, i64 0
  %10530 = call i32 @s2n_connection_serialize(ptr noundef %10528, ptr noundef %10529, i32 noundef 142)
  %10531 = icmp eq i32 %10530, -1
  br i1 %10531, label %10585, label %10532

10532:                                            ; preds = %10525
  br label %10533

10533:                                            ; preds = %10532
  br label %10534

10534:                                            ; preds = %10533
  call void @llvm.lifetime.start.p0(i64 4, ptr %265) #11
  %10535 = call ptr @__errno_location() #12
  %10536 = load i32, ptr %10535, align 4, !tbaa !5
  store i32 %10536, ptr %265, align 4, !tbaa !5
  %10537 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10538 = call i32 @s2n_print_stacktrace(ptr noundef %10537)
  %10539 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10540 = trunc i8 %10539 to i1
  br i1 %10540, label %10541, label %10563

10541:                                            ; preds = %10534
  %10542 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10543 = call i32 @fileno(ptr noundef %10542) #11
  %10544 = call i32 @isatty(i32 noundef %10543) #11
  %10545 = icmp ne i32 %10544, 0
  br i1 %10545, label %10546, label %10563

10546:                                            ; preds = %10541
  %10547 = load i32, ptr %265, align 4, !tbaa !5
  %10548 = call ptr @__errno_location() #12
  store i32 %10547, ptr %10548, align 4, !tbaa !5
  %10549 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10550 = load i32, ptr @test_count, align 4, !tbaa !5
  %10551 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10552 = load i32, ptr %10551, align 4, !tbaa !5
  %10553 = call ptr @s2n_strerror(i32 noundef %10552, ptr noundef @.str.4)
  %10554 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10555 = load i32, ptr %10554, align 4, !tbaa !5
  %10556 = call ptr @s2n_strerror_debug(i32 noundef %10555, ptr noundef @.str.4)
  %10557 = call ptr @__errno_location() #12
  %10558 = load i32, ptr %10557, align 4, !tbaa !5
  %10559 = call ptr @strerror(i32 noundef %10558) #11
  %10560 = call ptr @__errno_location() #12
  %10561 = load i32, ptr %10560, align 4, !tbaa !5
  %10562 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10549, ptr noundef @.str.2, i32 noundef %10550, ptr noundef @.str.87, ptr noundef @.str.1, i32 noundef 444, ptr noundef %10553, ptr noundef %10556, ptr noundef %10559, i32 noundef %10561) #11
  br label %10580

10563:                                            ; preds = %10541, %10534
  %10564 = load i32, ptr %265, align 4, !tbaa !5
  %10565 = call ptr @__errno_location() #12
  store i32 %10564, ptr %10565, align 4, !tbaa !5
  %10566 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10567 = load i32, ptr @test_count, align 4, !tbaa !5
  %10568 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10569 = load i32, ptr %10568, align 4, !tbaa !5
  %10570 = call ptr @s2n_strerror(i32 noundef %10569, ptr noundef @.str.4)
  %10571 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10572 = load i32, ptr %10571, align 4, !tbaa !5
  %10573 = call ptr @s2n_strerror_debug(i32 noundef %10572, ptr noundef @.str.4)
  %10574 = call ptr @__errno_location() #12
  %10575 = load i32, ptr %10574, align 4, !tbaa !5
  %10576 = call ptr @strerror(i32 noundef %10575) #11
  %10577 = call ptr @__errno_location() #12
  %10578 = load i32, ptr %10577, align 4, !tbaa !5
  %10579 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10566, ptr noundef @.str.5, i32 noundef %10567, ptr noundef @.str.87, ptr noundef @.str.1, i32 noundef 444, ptr noundef %10570, ptr noundef %10573, ptr noundef %10576, i32 noundef %10578) #11
  br label %10580

10580:                                            ; preds = %10563, %10546
  call void @llvm.lifetime.end.p0(i64 4, ptr %265) #11
  br label %10581

10581:                                            ; preds = %10580
  br label %10582

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

10583:                                            ; No predecessors!
  br label %10584

10584:                                            ; preds = %10583
  br label %10585

10585:                                            ; preds = %10584, %10525
  br label %10586

10586:                                            ; preds = %10585
  br label %10587

10587:                                            ; preds = %10586
  br label %10588

10588:                                            ; preds = %10587
  %10589 = load i32, ptr @test_count, align 4, !tbaa !5
  %10590 = add nsw i32 %10589, 1
  store i32 %10590, ptr @test_count, align 4, !tbaa !5
  %10591 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10592 = load i32, ptr %10591, align 4, !tbaa !5
  %10593 = icmp eq i32 %10592, 134217728
  br i1 %10593, label %10647, label %10594

10594:                                            ; preds = %10588
  br label %10595

10595:                                            ; preds = %10594
  br label %10596

10596:                                            ; preds = %10595
  call void @llvm.lifetime.start.p0(i64 4, ptr %266) #11
  %10597 = call ptr @__errno_location() #12
  %10598 = load i32, ptr %10597, align 4, !tbaa !5
  store i32 %10598, ptr %266, align 4, !tbaa !5
  %10599 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10600 = call i32 @s2n_print_stacktrace(ptr noundef %10599)
  %10601 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10602 = trunc i8 %10601 to i1
  br i1 %10602, label %10603, label %10625

10603:                                            ; preds = %10596
  %10604 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10605 = call i32 @fileno(ptr noundef %10604) #11
  %10606 = call i32 @isatty(i32 noundef %10605) #11
  %10607 = icmp ne i32 %10606, 0
  br i1 %10607, label %10608, label %10625

10608:                                            ; preds = %10603
  %10609 = load i32, ptr %266, align 4, !tbaa !5
  %10610 = call ptr @__errno_location() #12
  store i32 %10609, ptr %10610, align 4, !tbaa !5
  %10611 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10612 = load i32, ptr @test_count, align 4, !tbaa !5
  %10613 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10614 = load i32, ptr %10613, align 4, !tbaa !5
  %10615 = call ptr @s2n_strerror(i32 noundef %10614, ptr noundef @.str.4)
  %10616 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10617 = load i32, ptr %10616, align 4, !tbaa !5
  %10618 = call ptr @s2n_strerror_debug(i32 noundef %10617, ptr noundef @.str.4)
  %10619 = call ptr @__errno_location() #12
  %10620 = load i32, ptr %10619, align 4, !tbaa !5
  %10621 = call ptr @strerror(i32 noundef %10620) #11
  %10622 = call ptr @__errno_location() #12
  %10623 = load i32, ptr %10622, align 4, !tbaa !5
  %10624 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10611, ptr noundef @.str.2, i32 noundef %10612, ptr noundef @.str.90, ptr noundef @.str.1, i32 noundef 444, ptr noundef %10615, ptr noundef %10618, ptr noundef %10621, i32 noundef %10623) #11
  br label %10642

10625:                                            ; preds = %10603, %10596
  %10626 = load i32, ptr %266, align 4, !tbaa !5
  %10627 = call ptr @__errno_location() #12
  store i32 %10626, ptr %10627, align 4, !tbaa !5
  %10628 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10629 = load i32, ptr @test_count, align 4, !tbaa !5
  %10630 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10631 = load i32, ptr %10630, align 4, !tbaa !5
  %10632 = call ptr @s2n_strerror(i32 noundef %10631, ptr noundef @.str.4)
  %10633 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10634 = load i32, ptr %10633, align 4, !tbaa !5
  %10635 = call ptr @s2n_strerror_debug(i32 noundef %10634, ptr noundef @.str.4)
  %10636 = call ptr @__errno_location() #12
  %10637 = load i32, ptr %10636, align 4, !tbaa !5
  %10638 = call ptr @strerror(i32 noundef %10637) #11
  %10639 = call ptr @__errno_location() #12
  %10640 = load i32, ptr %10639, align 4, !tbaa !5
  %10641 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10628, ptr noundef @.str.5, i32 noundef %10629, ptr noundef @.str.90, ptr noundef @.str.1, i32 noundef 444, ptr noundef %10632, ptr noundef %10635, ptr noundef %10638, i32 noundef %10640) #11
  br label %10642

10642:                                            ; preds = %10625, %10608
  call void @llvm.lifetime.end.p0(i64 4, ptr %266) #11
  br label %10643

10643:                                            ; preds = %10642
  br label %10644

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

10645:                                            ; No predecessors!
  br label %10646

10646:                                            ; preds = %10645
  br label %10647

10647:                                            ; preds = %10646, %10588
  br label %10648

10648:                                            ; preds = %10647
  br label %10649

10649:                                            ; preds = %10648
  br label %10650

10650:                                            ; preds = %10649
  %10651 = load i32, ptr @test_count, align 4, !tbaa !5
  %10652 = add nsw i32 %10651, 1
  store i32 %10652, ptr @test_count, align 4, !tbaa !5
  %10653 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10654 = load i32, ptr %10653, align 4, !tbaa !5
  %10655 = call ptr @s2n_strerror_debug(i32 noundef %10654, ptr noundef @.str.4)
  %10656 = icmp eq ptr %10655, null
  br i1 %10656, label %10657, label %10710

10657:                                            ; preds = %10650
  br label %10658

10658:                                            ; preds = %10657
  br label %10659

10659:                                            ; preds = %10658
  call void @llvm.lifetime.start.p0(i64 4, ptr %267) #11
  %10660 = call ptr @__errno_location() #12
  %10661 = load i32, ptr %10660, align 4, !tbaa !5
  store i32 %10661, ptr %267, align 4, !tbaa !5
  %10662 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10663 = call i32 @s2n_print_stacktrace(ptr noundef %10662)
  %10664 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10665 = trunc i8 %10664 to i1
  br i1 %10665, label %10666, label %10688

10666:                                            ; preds = %10659
  %10667 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10668 = call i32 @fileno(ptr noundef %10667) #11
  %10669 = call i32 @isatty(i32 noundef %10668) #11
  %10670 = icmp ne i32 %10669, 0
  br i1 %10670, label %10671, label %10688

10671:                                            ; preds = %10666
  %10672 = load i32, ptr %267, align 4, !tbaa !5
  %10673 = call ptr @__errno_location() #12
  store i32 %10672, ptr %10673, align 4, !tbaa !5
  %10674 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10675 = load i32, ptr @test_count, align 4, !tbaa !5
  %10676 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10677 = load i32, ptr %10676, align 4, !tbaa !5
  %10678 = call ptr @s2n_strerror(i32 noundef %10677, ptr noundef @.str.4)
  %10679 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10680 = load i32, ptr %10679, align 4, !tbaa !5
  %10681 = call ptr @s2n_strerror_debug(i32 noundef %10680, ptr noundef @.str.4)
  %10682 = call ptr @__errno_location() #12
  %10683 = load i32, ptr %10682, align 4, !tbaa !5
  %10684 = call ptr @strerror(i32 noundef %10683) #11
  %10685 = call ptr @__errno_location() #12
  %10686 = load i32, ptr %10685, align 4, !tbaa !5
  %10687 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10674, ptr noundef @.str.2, i32 noundef %10675, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 444, ptr noundef %10678, ptr noundef %10681, ptr noundef %10684, i32 noundef %10686) #11
  br label %10705

10688:                                            ; preds = %10666, %10659
  %10689 = load i32, ptr %267, align 4, !tbaa !5
  %10690 = call ptr @__errno_location() #12
  store i32 %10689, ptr %10690, align 4, !tbaa !5
  %10691 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10692 = load i32, ptr @test_count, align 4, !tbaa !5
  %10693 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10694 = load i32, ptr %10693, align 4, !tbaa !5
  %10695 = call ptr @s2n_strerror(i32 noundef %10694, ptr noundef @.str.4)
  %10696 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10697 = load i32, ptr %10696, align 4, !tbaa !5
  %10698 = call ptr @s2n_strerror_debug(i32 noundef %10697, ptr noundef @.str.4)
  %10699 = call ptr @__errno_location() #12
  %10700 = load i32, ptr %10699, align 4, !tbaa !5
  %10701 = call ptr @strerror(i32 noundef %10700) #11
  %10702 = call ptr @__errno_location() #12
  %10703 = load i32, ptr %10702, align 4, !tbaa !5
  %10704 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10691, ptr noundef @.str.5, i32 noundef %10692, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 444, ptr noundef %10695, ptr noundef %10698, ptr noundef %10701, i32 noundef %10703) #11
  br label %10705

10705:                                            ; preds = %10688, %10671
  call void @llvm.lifetime.end.p0(i64 4, ptr %267) #11
  br label %10706

10706:                                            ; preds = %10705
  br label %10707

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

10708:                                            ; No predecessors!
  br label %10709

10709:                                            ; preds = %10708
  br label %10710

10710:                                            ; preds = %10709, %10650
  br label %10711

10711:                                            ; preds = %10710
  br label %10712

10712:                                            ; preds = %10711
  br label %10713

10713:                                            ; preds = %10712
  br label %10714

10714:                                            ; preds = %10713
  br label %10715

10715:                                            ; preds = %10714
  %10716 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %10716, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %10717 = call ptr @__errno_location() #12
  store i32 0, ptr %10717, align 4, !tbaa !5
  br label %10718

10718:                                            ; preds = %10715
  br label %10719

10719:                                            ; preds = %10718
  br label %10720

10720:                                            ; preds = %10719
  br label %10721

10721:                                            ; preds = %10720
  call void @llvm.lifetime.end.p0(i64 142, ptr %264) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %262) #11
  %10722 = call i32 @s2n_io_stuffer_pair_free(ptr noundef %256)
  %10723 = getelementptr inbounds %struct.s2n_result, ptr %268, i32 0, i32 0
  store i32 %10722, ptr %10723, align 4
  call void @llvm.lifetime.end.p0(i64 80, ptr %256) #11
  %10724 = call i32 @s2n_connection_ptr_free(ptr noundef %252)
  %10725 = getelementptr inbounds %struct.s2n_result, ptr %269, i32 0, i32 0
  store i32 %10724, ptr %10725, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %252) #11
  %10726 = call i32 @s2n_connection_ptr_free(ptr noundef %250)
  %10727 = getelementptr inbounds %struct.s2n_result, ptr %270, i32 0, i32 0
  store i32 %10726, ptr %10727, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %250) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %271) #11
  %10728 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %10728, ptr %271, align 8, !tbaa !9
  br label %10729

10729:                                            ; preds = %10721
  %10730 = load i32, ptr @test_count, align 4, !tbaa !5
  %10731 = add nsw i32 %10730, 1
  store i32 %10731, ptr @test_count, align 4, !tbaa !5
  %10732 = load ptr, ptr %271, align 8, !tbaa !9
  %10733 = icmp eq ptr %10732, null
  br i1 %10733, label %10734, label %10787

10734:                                            ; preds = %10729
  br label %10735

10735:                                            ; preds = %10734
  br label %10736

10736:                                            ; preds = %10735
  call void @llvm.lifetime.start.p0(i64 4, ptr %272) #11
  %10737 = call ptr @__errno_location() #12
  %10738 = load i32, ptr %10737, align 4, !tbaa !5
  store i32 %10738, ptr %272, align 4, !tbaa !5
  %10739 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10740 = call i32 @s2n_print_stacktrace(ptr noundef %10739)
  %10741 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10742 = trunc i8 %10741 to i1
  br i1 %10742, label %10743, label %10765

10743:                                            ; preds = %10736
  %10744 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10745 = call i32 @fileno(ptr noundef %10744) #11
  %10746 = call i32 @isatty(i32 noundef %10745) #11
  %10747 = icmp ne i32 %10746, 0
  br i1 %10747, label %10748, label %10765

10748:                                            ; preds = %10743
  %10749 = load i32, ptr %272, align 4, !tbaa !5
  %10750 = call ptr @__errno_location() #12
  store i32 %10749, ptr %10750, align 4, !tbaa !5
  %10751 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10752 = load i32, ptr @test_count, align 4, !tbaa !5
  %10753 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10754 = load i32, ptr %10753, align 4, !tbaa !5
  %10755 = call ptr @s2n_strerror(i32 noundef %10754, ptr noundef @.str.4)
  %10756 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10757 = load i32, ptr %10756, align 4, !tbaa !5
  %10758 = call ptr @s2n_strerror_debug(i32 noundef %10757, ptr noundef @.str.4)
  %10759 = call ptr @__errno_location() #12
  %10760 = load i32, ptr %10759, align 4, !tbaa !5
  %10761 = call ptr @strerror(i32 noundef %10760) #11
  %10762 = call ptr @__errno_location() #12
  %10763 = load i32, ptr %10762, align 4, !tbaa !5
  %10764 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10751, ptr noundef @.str.2, i32 noundef %10752, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 454, ptr noundef %10755, ptr noundef %10758, ptr noundef %10761, i32 noundef %10763) #11
  br label %10782

10765:                                            ; preds = %10743, %10736
  %10766 = load i32, ptr %272, align 4, !tbaa !5
  %10767 = call ptr @__errno_location() #12
  store i32 %10766, ptr %10767, align 4, !tbaa !5
  %10768 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10769 = load i32, ptr @test_count, align 4, !tbaa !5
  %10770 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10771 = load i32, ptr %10770, align 4, !tbaa !5
  %10772 = call ptr @s2n_strerror(i32 noundef %10771, ptr noundef @.str.4)
  %10773 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10774 = load i32, ptr %10773, align 4, !tbaa !5
  %10775 = call ptr @s2n_strerror_debug(i32 noundef %10774, ptr noundef @.str.4)
  %10776 = call ptr @__errno_location() #12
  %10777 = load i32, ptr %10776, align 4, !tbaa !5
  %10778 = call ptr @strerror(i32 noundef %10777) #11
  %10779 = call ptr @__errno_location() #12
  %10780 = load i32, ptr %10779, align 4, !tbaa !5
  %10781 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10768, ptr noundef @.str.5, i32 noundef %10769, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 454, ptr noundef %10772, ptr noundef %10775, ptr noundef %10778, i32 noundef %10780) #11
  br label %10782

10782:                                            ; preds = %10765, %10748
  call void @llvm.lifetime.end.p0(i64 4, ptr %272) #11
  br label %10783

10783:                                            ; preds = %10782
  br label %10784

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

10785:                                            ; No predecessors!
  br label %10786

10786:                                            ; preds = %10785
  br label %10787

10787:                                            ; preds = %10786, %10729
  br label %10788

10788:                                            ; preds = %10787
  br label %10789

10789:                                            ; preds = %10788
  call void @llvm.lifetime.start.p0(i64 1, ptr %273) #11
  store i8 0, ptr %273, align 1, !tbaa !52
  call void @llvm.lifetime.start.p0(i64 4, ptr %274) #11
  store i32 0, ptr %274, align 4, !tbaa !5
  br label %10790

10790:                                            ; preds = %10789
  br label %10791

10791:                                            ; preds = %10790
  br label %10792

10792:                                            ; preds = %10791
  %10793 = load i32, ptr @test_count, align 4, !tbaa !5
  %10794 = add nsw i32 %10793, 1
  store i32 %10794, ptr @test_count, align 4, !tbaa !5
  %10795 = load i32, ptr %274, align 4, !tbaa !5
  %10796 = call i32 @s2n_connection_deserialize(ptr noundef null, ptr noundef %273, i32 noundef %10795)
  %10797 = icmp eq i32 %10796, -1
  br i1 %10797, label %10851, label %10798

10798:                                            ; preds = %10792
  br label %10799

10799:                                            ; preds = %10798
  br label %10800

10800:                                            ; preds = %10799
  call void @llvm.lifetime.start.p0(i64 4, ptr %275) #11
  %10801 = call ptr @__errno_location() #12
  %10802 = load i32, ptr %10801, align 4, !tbaa !5
  store i32 %10802, ptr %275, align 4, !tbaa !5
  %10803 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10804 = call i32 @s2n_print_stacktrace(ptr noundef %10803)
  %10805 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10806 = trunc i8 %10805 to i1
  br i1 %10806, label %10807, label %10829

10807:                                            ; preds = %10800
  %10808 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10809 = call i32 @fileno(ptr noundef %10808) #11
  %10810 = call i32 @isatty(i32 noundef %10809) #11
  %10811 = icmp ne i32 %10810, 0
  br i1 %10811, label %10812, label %10829

10812:                                            ; preds = %10807
  %10813 = load i32, ptr %275, align 4, !tbaa !5
  %10814 = call ptr @__errno_location() #12
  store i32 %10813, ptr %10814, align 4, !tbaa !5
  %10815 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10816 = load i32, ptr @test_count, align 4, !tbaa !5
  %10817 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10818 = load i32, ptr %10817, align 4, !tbaa !5
  %10819 = call ptr @s2n_strerror(i32 noundef %10818, ptr noundef @.str.4)
  %10820 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10821 = load i32, ptr %10820, align 4, !tbaa !5
  %10822 = call ptr @s2n_strerror_debug(i32 noundef %10821, ptr noundef @.str.4)
  %10823 = call ptr @__errno_location() #12
  %10824 = load i32, ptr %10823, align 4, !tbaa !5
  %10825 = call ptr @strerror(i32 noundef %10824) #11
  %10826 = call ptr @__errno_location() #12
  %10827 = load i32, ptr %10826, align 4, !tbaa !5
  %10828 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10815, ptr noundef @.str.2, i32 noundef %10816, ptr noundef @.str.95, ptr noundef @.str.1, i32 noundef 457, ptr noundef %10819, ptr noundef %10822, ptr noundef %10825, i32 noundef %10827) #11
  br label %10846

10829:                                            ; preds = %10807, %10800
  %10830 = load i32, ptr %275, align 4, !tbaa !5
  %10831 = call ptr @__errno_location() #12
  store i32 %10830, ptr %10831, align 4, !tbaa !5
  %10832 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10833 = load i32, ptr @test_count, align 4, !tbaa !5
  %10834 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10835 = load i32, ptr %10834, align 4, !tbaa !5
  %10836 = call ptr @s2n_strerror(i32 noundef %10835, ptr noundef @.str.4)
  %10837 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10838 = load i32, ptr %10837, align 4, !tbaa !5
  %10839 = call ptr @s2n_strerror_debug(i32 noundef %10838, ptr noundef @.str.4)
  %10840 = call ptr @__errno_location() #12
  %10841 = load i32, ptr %10840, align 4, !tbaa !5
  %10842 = call ptr @strerror(i32 noundef %10841) #11
  %10843 = call ptr @__errno_location() #12
  %10844 = load i32, ptr %10843, align 4, !tbaa !5
  %10845 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10832, ptr noundef @.str.5, i32 noundef %10833, ptr noundef @.str.95, ptr noundef @.str.1, i32 noundef 457, ptr noundef %10836, ptr noundef %10839, ptr noundef %10842, i32 noundef %10844) #11
  br label %10846

10846:                                            ; preds = %10829, %10812
  call void @llvm.lifetime.end.p0(i64 4, ptr %275) #11
  br label %10847

10847:                                            ; preds = %10846
  br label %10848

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

10849:                                            ; No predecessors!
  br label %10850

10850:                                            ; preds = %10849
  br label %10851

10851:                                            ; preds = %10850, %10792
  br label %10852

10852:                                            ; preds = %10851
  br label %10853

10853:                                            ; preds = %10852
  br label %10854

10854:                                            ; preds = %10853
  %10855 = load i32, ptr @test_count, align 4, !tbaa !5
  %10856 = add nsw i32 %10855, 1
  store i32 %10856, ptr @test_count, align 4, !tbaa !5
  %10857 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10858 = load i32, ptr %10857, align 4, !tbaa !5
  %10859 = icmp eq i32 %10858, 402653193
  br i1 %10859, label %10913, label %10860

10860:                                            ; preds = %10854
  br label %10861

10861:                                            ; preds = %10860
  br label %10862

10862:                                            ; preds = %10861
  call void @llvm.lifetime.start.p0(i64 4, ptr %276) #11
  %10863 = call ptr @__errno_location() #12
  %10864 = load i32, ptr %10863, align 4, !tbaa !5
  store i32 %10864, ptr %276, align 4, !tbaa !5
  %10865 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10866 = call i32 @s2n_print_stacktrace(ptr noundef %10865)
  %10867 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10868 = trunc i8 %10867 to i1
  br i1 %10868, label %10869, label %10891

10869:                                            ; preds = %10862
  %10870 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10871 = call i32 @fileno(ptr noundef %10870) #11
  %10872 = call i32 @isatty(i32 noundef %10871) #11
  %10873 = icmp ne i32 %10872, 0
  br i1 %10873, label %10874, label %10891

10874:                                            ; preds = %10869
  %10875 = load i32, ptr %276, align 4, !tbaa !5
  %10876 = call ptr @__errno_location() #12
  store i32 %10875, ptr %10876, align 4, !tbaa !5
  %10877 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10878 = load i32, ptr @test_count, align 4, !tbaa !5
  %10879 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10880 = load i32, ptr %10879, align 4, !tbaa !5
  %10881 = call ptr @s2n_strerror(i32 noundef %10880, ptr noundef @.str.4)
  %10882 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10883 = load i32, ptr %10882, align 4, !tbaa !5
  %10884 = call ptr @s2n_strerror_debug(i32 noundef %10883, ptr noundef @.str.4)
  %10885 = call ptr @__errno_location() #12
  %10886 = load i32, ptr %10885, align 4, !tbaa !5
  %10887 = call ptr @strerror(i32 noundef %10886) #11
  %10888 = call ptr @__errno_location() #12
  %10889 = load i32, ptr %10888, align 4, !tbaa !5
  %10890 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10877, ptr noundef @.str.2, i32 noundef %10878, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 457, ptr noundef %10881, ptr noundef %10884, ptr noundef %10887, i32 noundef %10889) #11
  br label %10908

10891:                                            ; preds = %10869, %10862
  %10892 = load i32, ptr %276, align 4, !tbaa !5
  %10893 = call ptr @__errno_location() #12
  store i32 %10892, ptr %10893, align 4, !tbaa !5
  %10894 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10895 = load i32, ptr @test_count, align 4, !tbaa !5
  %10896 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10897 = load i32, ptr %10896, align 4, !tbaa !5
  %10898 = call ptr @s2n_strerror(i32 noundef %10897, ptr noundef @.str.4)
  %10899 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10900 = load i32, ptr %10899, align 4, !tbaa !5
  %10901 = call ptr @s2n_strerror_debug(i32 noundef %10900, ptr noundef @.str.4)
  %10902 = call ptr @__errno_location() #12
  %10903 = load i32, ptr %10902, align 4, !tbaa !5
  %10904 = call ptr @strerror(i32 noundef %10903) #11
  %10905 = call ptr @__errno_location() #12
  %10906 = load i32, ptr %10905, align 4, !tbaa !5
  %10907 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10894, ptr noundef @.str.5, i32 noundef %10895, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 457, ptr noundef %10898, ptr noundef %10901, ptr noundef %10904, i32 noundef %10906) #11
  br label %10908

10908:                                            ; preds = %10891, %10874
  call void @llvm.lifetime.end.p0(i64 4, ptr %276) #11
  br label %10909

10909:                                            ; preds = %10908
  br label %10910

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

10911:                                            ; No predecessors!
  br label %10912

10912:                                            ; preds = %10911
  br label %10913

10913:                                            ; preds = %10912, %10854
  br label %10914

10914:                                            ; preds = %10913
  br label %10915

10915:                                            ; preds = %10914
  br label %10916

10916:                                            ; preds = %10915
  %10917 = load i32, ptr @test_count, align 4, !tbaa !5
  %10918 = add nsw i32 %10917, 1
  store i32 %10918, ptr @test_count, align 4, !tbaa !5
  %10919 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10920 = load i32, ptr %10919, align 4, !tbaa !5
  %10921 = call ptr @s2n_strerror_debug(i32 noundef %10920, ptr noundef @.str.4)
  %10922 = icmp eq ptr %10921, null
  br i1 %10922, label %10923, label %10976

10923:                                            ; preds = %10916
  br label %10924

10924:                                            ; preds = %10923
  br label %10925

10925:                                            ; preds = %10924
  call void @llvm.lifetime.start.p0(i64 4, ptr %277) #11
  %10926 = call ptr @__errno_location() #12
  %10927 = load i32, ptr %10926, align 4, !tbaa !5
  store i32 %10927, ptr %277, align 4, !tbaa !5
  %10928 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10929 = call i32 @s2n_print_stacktrace(ptr noundef %10928)
  %10930 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10931 = trunc i8 %10930 to i1
  br i1 %10931, label %10932, label %10954

10932:                                            ; preds = %10925
  %10933 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10934 = call i32 @fileno(ptr noundef %10933) #11
  %10935 = call i32 @isatty(i32 noundef %10934) #11
  %10936 = icmp ne i32 %10935, 0
  br i1 %10936, label %10937, label %10954

10937:                                            ; preds = %10932
  %10938 = load i32, ptr %277, align 4, !tbaa !5
  %10939 = call ptr @__errno_location() #12
  store i32 %10938, ptr %10939, align 4, !tbaa !5
  %10940 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10941 = load i32, ptr @test_count, align 4, !tbaa !5
  %10942 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10943 = load i32, ptr %10942, align 4, !tbaa !5
  %10944 = call ptr @s2n_strerror(i32 noundef %10943, ptr noundef @.str.4)
  %10945 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10946 = load i32, ptr %10945, align 4, !tbaa !5
  %10947 = call ptr @s2n_strerror_debug(i32 noundef %10946, ptr noundef @.str.4)
  %10948 = call ptr @__errno_location() #12
  %10949 = load i32, ptr %10948, align 4, !tbaa !5
  %10950 = call ptr @strerror(i32 noundef %10949) #11
  %10951 = call ptr @__errno_location() #12
  %10952 = load i32, ptr %10951, align 4, !tbaa !5
  %10953 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10940, ptr noundef @.str.2, i32 noundef %10941, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 457, ptr noundef %10944, ptr noundef %10947, ptr noundef %10950, i32 noundef %10952) #11
  br label %10971

10954:                                            ; preds = %10932, %10925
  %10955 = load i32, ptr %277, align 4, !tbaa !5
  %10956 = call ptr @__errno_location() #12
  store i32 %10955, ptr %10956, align 4, !tbaa !5
  %10957 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10958 = load i32, ptr @test_count, align 4, !tbaa !5
  %10959 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10960 = load i32, ptr %10959, align 4, !tbaa !5
  %10961 = call ptr @s2n_strerror(i32 noundef %10960, ptr noundef @.str.4)
  %10962 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10963 = load i32, ptr %10962, align 4, !tbaa !5
  %10964 = call ptr @s2n_strerror_debug(i32 noundef %10963, ptr noundef @.str.4)
  %10965 = call ptr @__errno_location() #12
  %10966 = load i32, ptr %10965, align 4, !tbaa !5
  %10967 = call ptr @strerror(i32 noundef %10966) #11
  %10968 = call ptr @__errno_location() #12
  %10969 = load i32, ptr %10968, align 4, !tbaa !5
  %10970 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10957, ptr noundef @.str.5, i32 noundef %10958, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 457, ptr noundef %10961, ptr noundef %10964, ptr noundef %10967, i32 noundef %10969) #11
  br label %10971

10971:                                            ; preds = %10954, %10937
  call void @llvm.lifetime.end.p0(i64 4, ptr %277) #11
  br label %10972

10972:                                            ; preds = %10971
  br label %10973

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

10974:                                            ; No predecessors!
  br label %10975

10975:                                            ; preds = %10974
  br label %10976

10976:                                            ; preds = %10975, %10916
  br label %10977

10977:                                            ; preds = %10976
  br label %10978

10978:                                            ; preds = %10977
  br label %10979

10979:                                            ; preds = %10978
  br label %10980

10980:                                            ; preds = %10979
  br label %10981

10981:                                            ; preds = %10980
  %10982 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %10982, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %10983 = call ptr @__errno_location() #12
  store i32 0, ptr %10983, align 4, !tbaa !5
  br label %10984

10984:                                            ; preds = %10981
  br label %10985

10985:                                            ; preds = %10984
  br label %10986

10986:                                            ; preds = %10985
  br label %10987

10987:                                            ; preds = %10986
  br label %10988

10988:                                            ; preds = %10987
  br label %10989

10989:                                            ; preds = %10988
  br label %10990

10990:                                            ; preds = %10989
  %10991 = load i32, ptr @test_count, align 4, !tbaa !5
  %10992 = add nsw i32 %10991, 1
  store i32 %10992, ptr @test_count, align 4, !tbaa !5
  %10993 = load ptr, ptr %271, align 8, !tbaa !9
  %10994 = load i32, ptr %274, align 4, !tbaa !5
  %10995 = call i32 @s2n_connection_deserialize(ptr noundef %10993, ptr noundef null, i32 noundef %10994)
  %10996 = icmp eq i32 %10995, -1
  br i1 %10996, label %11050, label %10997

10997:                                            ; preds = %10990
  br label %10998

10998:                                            ; preds = %10997
  br label %10999

10999:                                            ; preds = %10998
  call void @llvm.lifetime.start.p0(i64 4, ptr %278) #11
  %11000 = call ptr @__errno_location() #12
  %11001 = load i32, ptr %11000, align 4, !tbaa !5
  store i32 %11001, ptr %278, align 4, !tbaa !5
  %11002 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11003 = call i32 @s2n_print_stacktrace(ptr noundef %11002)
  %11004 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11005 = trunc i8 %11004 to i1
  br i1 %11005, label %11006, label %11028

11006:                                            ; preds = %10999
  %11007 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11008 = call i32 @fileno(ptr noundef %11007) #11
  %11009 = call i32 @isatty(i32 noundef %11008) #11
  %11010 = icmp ne i32 %11009, 0
  br i1 %11010, label %11011, label %11028

11011:                                            ; preds = %11006
  %11012 = load i32, ptr %278, align 4, !tbaa !5
  %11013 = call ptr @__errno_location() #12
  store i32 %11012, ptr %11013, align 4, !tbaa !5
  %11014 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11015 = load i32, ptr @test_count, align 4, !tbaa !5
  %11016 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11017 = load i32, ptr %11016, align 4, !tbaa !5
  %11018 = call ptr @s2n_strerror(i32 noundef %11017, ptr noundef @.str.4)
  %11019 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11020 = load i32, ptr %11019, align 4, !tbaa !5
  %11021 = call ptr @s2n_strerror_debug(i32 noundef %11020, ptr noundef @.str.4)
  %11022 = call ptr @__errno_location() #12
  %11023 = load i32, ptr %11022, align 4, !tbaa !5
  %11024 = call ptr @strerror(i32 noundef %11023) #11
  %11025 = call ptr @__errno_location() #12
  %11026 = load i32, ptr %11025, align 4, !tbaa !5
  %11027 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11014, ptr noundef @.str.2, i32 noundef %11015, ptr noundef @.str.96, ptr noundef @.str.1, i32 noundef 458, ptr noundef %11018, ptr noundef %11021, ptr noundef %11024, i32 noundef %11026) #11
  br label %11045

11028:                                            ; preds = %11006, %10999
  %11029 = load i32, ptr %278, align 4, !tbaa !5
  %11030 = call ptr @__errno_location() #12
  store i32 %11029, ptr %11030, align 4, !tbaa !5
  %11031 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11032 = load i32, ptr @test_count, align 4, !tbaa !5
  %11033 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11034 = load i32, ptr %11033, align 4, !tbaa !5
  %11035 = call ptr @s2n_strerror(i32 noundef %11034, ptr noundef @.str.4)
  %11036 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11037 = load i32, ptr %11036, align 4, !tbaa !5
  %11038 = call ptr @s2n_strerror_debug(i32 noundef %11037, ptr noundef @.str.4)
  %11039 = call ptr @__errno_location() #12
  %11040 = load i32, ptr %11039, align 4, !tbaa !5
  %11041 = call ptr @strerror(i32 noundef %11040) #11
  %11042 = call ptr @__errno_location() #12
  %11043 = load i32, ptr %11042, align 4, !tbaa !5
  %11044 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11031, ptr noundef @.str.5, i32 noundef %11032, ptr noundef @.str.96, ptr noundef @.str.1, i32 noundef 458, ptr noundef %11035, ptr noundef %11038, ptr noundef %11041, i32 noundef %11043) #11
  br label %11045

11045:                                            ; preds = %11028, %11011
  call void @llvm.lifetime.end.p0(i64 4, ptr %278) #11
  br label %11046

11046:                                            ; preds = %11045
  br label %11047

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

11048:                                            ; No predecessors!
  br label %11049

11049:                                            ; preds = %11048
  br label %11050

11050:                                            ; preds = %11049, %10990
  br label %11051

11051:                                            ; preds = %11050
  br label %11052

11052:                                            ; preds = %11051
  br label %11053

11053:                                            ; preds = %11052
  %11054 = load i32, ptr @test_count, align 4, !tbaa !5
  %11055 = add nsw i32 %11054, 1
  store i32 %11055, ptr @test_count, align 4, !tbaa !5
  %11056 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11057 = load i32, ptr %11056, align 4, !tbaa !5
  %11058 = icmp eq i32 %11057, 402653193
  br i1 %11058, label %11112, label %11059

11059:                                            ; preds = %11053
  br label %11060

11060:                                            ; preds = %11059
  br label %11061

11061:                                            ; preds = %11060
  call void @llvm.lifetime.start.p0(i64 4, ptr %279) #11
  %11062 = call ptr @__errno_location() #12
  %11063 = load i32, ptr %11062, align 4, !tbaa !5
  store i32 %11063, ptr %279, align 4, !tbaa !5
  %11064 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11065 = call i32 @s2n_print_stacktrace(ptr noundef %11064)
  %11066 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11067 = trunc i8 %11066 to i1
  br i1 %11067, label %11068, label %11090

11068:                                            ; preds = %11061
  %11069 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11070 = call i32 @fileno(ptr noundef %11069) #11
  %11071 = call i32 @isatty(i32 noundef %11070) #11
  %11072 = icmp ne i32 %11071, 0
  br i1 %11072, label %11073, label %11090

11073:                                            ; preds = %11068
  %11074 = load i32, ptr %279, align 4, !tbaa !5
  %11075 = call ptr @__errno_location() #12
  store i32 %11074, ptr %11075, align 4, !tbaa !5
  %11076 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11077 = load i32, ptr @test_count, align 4, !tbaa !5
  %11078 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11079 = load i32, ptr %11078, align 4, !tbaa !5
  %11080 = call ptr @s2n_strerror(i32 noundef %11079, ptr noundef @.str.4)
  %11081 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11082 = load i32, ptr %11081, align 4, !tbaa !5
  %11083 = call ptr @s2n_strerror_debug(i32 noundef %11082, ptr noundef @.str.4)
  %11084 = call ptr @__errno_location() #12
  %11085 = load i32, ptr %11084, align 4, !tbaa !5
  %11086 = call ptr @strerror(i32 noundef %11085) #11
  %11087 = call ptr @__errno_location() #12
  %11088 = load i32, ptr %11087, align 4, !tbaa !5
  %11089 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11076, ptr noundef @.str.2, i32 noundef %11077, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 458, ptr noundef %11080, ptr noundef %11083, ptr noundef %11086, i32 noundef %11088) #11
  br label %11107

11090:                                            ; preds = %11068, %11061
  %11091 = load i32, ptr %279, align 4, !tbaa !5
  %11092 = call ptr @__errno_location() #12
  store i32 %11091, ptr %11092, align 4, !tbaa !5
  %11093 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11094 = load i32, ptr @test_count, align 4, !tbaa !5
  %11095 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11096 = load i32, ptr %11095, align 4, !tbaa !5
  %11097 = call ptr @s2n_strerror(i32 noundef %11096, ptr noundef @.str.4)
  %11098 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11099 = load i32, ptr %11098, align 4, !tbaa !5
  %11100 = call ptr @s2n_strerror_debug(i32 noundef %11099, ptr noundef @.str.4)
  %11101 = call ptr @__errno_location() #12
  %11102 = load i32, ptr %11101, align 4, !tbaa !5
  %11103 = call ptr @strerror(i32 noundef %11102) #11
  %11104 = call ptr @__errno_location() #12
  %11105 = load i32, ptr %11104, align 4, !tbaa !5
  %11106 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11093, ptr noundef @.str.5, i32 noundef %11094, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 458, ptr noundef %11097, ptr noundef %11100, ptr noundef %11103, i32 noundef %11105) #11
  br label %11107

11107:                                            ; preds = %11090, %11073
  call void @llvm.lifetime.end.p0(i64 4, ptr %279) #11
  br label %11108

11108:                                            ; preds = %11107
  br label %11109

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

11110:                                            ; No predecessors!
  br label %11111

11111:                                            ; preds = %11110
  br label %11112

11112:                                            ; preds = %11111, %11053
  br label %11113

11113:                                            ; preds = %11112
  br label %11114

11114:                                            ; preds = %11113
  br label %11115

11115:                                            ; preds = %11114
  %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 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11119 = load i32, ptr %11118, align 4, !tbaa !5
  %11120 = call ptr @s2n_strerror_debug(i32 noundef %11119, ptr noundef @.str.4)
  %11121 = icmp eq ptr %11120, null
  br i1 %11121, label %11122, label %11175

11122:                                            ; preds = %11115
  br label %11123

11123:                                            ; preds = %11122
  br label %11124

11124:                                            ; preds = %11123
  call void @llvm.lifetime.start.p0(i64 4, ptr %280) #11
  %11125 = call ptr @__errno_location() #12
  %11126 = load i32, ptr %11125, align 4, !tbaa !5
  store i32 %11126, ptr %280, align 4, !tbaa !5
  %11127 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11128 = call i32 @s2n_print_stacktrace(ptr noundef %11127)
  %11129 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11130 = trunc i8 %11129 to i1
  br i1 %11130, label %11131, label %11153

11131:                                            ; preds = %11124
  %11132 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11133 = call i32 @fileno(ptr noundef %11132) #11
  %11134 = call i32 @isatty(i32 noundef %11133) #11
  %11135 = icmp ne i32 %11134, 0
  br i1 %11135, label %11136, label %11153

11136:                                            ; preds = %11131
  %11137 = load i32, ptr %280, align 4, !tbaa !5
  %11138 = call ptr @__errno_location() #12
  store i32 %11137, ptr %11138, align 4, !tbaa !5
  %11139 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11140 = load i32, ptr @test_count, align 4, !tbaa !5
  %11141 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11142 = load i32, ptr %11141, align 4, !tbaa !5
  %11143 = call ptr @s2n_strerror(i32 noundef %11142, ptr noundef @.str.4)
  %11144 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11145 = load i32, ptr %11144, align 4, !tbaa !5
  %11146 = call ptr @s2n_strerror_debug(i32 noundef %11145, ptr noundef @.str.4)
  %11147 = call ptr @__errno_location() #12
  %11148 = load i32, ptr %11147, align 4, !tbaa !5
  %11149 = call ptr @strerror(i32 noundef %11148) #11
  %11150 = call ptr @__errno_location() #12
  %11151 = load i32, ptr %11150, align 4, !tbaa !5
  %11152 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11139, ptr noundef @.str.2, i32 noundef %11140, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 458, ptr noundef %11143, ptr noundef %11146, ptr noundef %11149, i32 noundef %11151) #11
  br label %11170

11153:                                            ; preds = %11131, %11124
  %11154 = load i32, ptr %280, align 4, !tbaa !5
  %11155 = call ptr @__errno_location() #12
  store i32 %11154, ptr %11155, align 4, !tbaa !5
  %11156 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11157 = load i32, ptr @test_count, align 4, !tbaa !5
  %11158 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11159 = load i32, ptr %11158, align 4, !tbaa !5
  %11160 = call ptr @s2n_strerror(i32 noundef %11159, ptr noundef @.str.4)
  %11161 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11162 = load i32, ptr %11161, align 4, !tbaa !5
  %11163 = call ptr @s2n_strerror_debug(i32 noundef %11162, ptr noundef @.str.4)
  %11164 = call ptr @__errno_location() #12
  %11165 = load i32, ptr %11164, align 4, !tbaa !5
  %11166 = call ptr @strerror(i32 noundef %11165) #11
  %11167 = call ptr @__errno_location() #12
  %11168 = load i32, ptr %11167, align 4, !tbaa !5
  %11169 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11156, ptr noundef @.str.5, i32 noundef %11157, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 458, ptr noundef %11160, ptr noundef %11163, ptr noundef %11166, i32 noundef %11168) #11
  br label %11170

11170:                                            ; preds = %11153, %11136
  call void @llvm.lifetime.end.p0(i64 4, ptr %280) #11
  br label %11171

11171:                                            ; preds = %11170
  br label %11172

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

11173:                                            ; No predecessors!
  br label %11174

11174:                                            ; preds = %11173
  br label %11175

11175:                                            ; preds = %11174, %11115
  br label %11176

11176:                                            ; preds = %11175
  br label %11177

11177:                                            ; preds = %11176
  br label %11178

11178:                                            ; preds = %11177
  br label %11179

11179:                                            ; preds = %11178
  br label %11180

11180:                                            ; preds = %11179
  %11181 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %11181, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %11182 = call ptr @__errno_location() #12
  store i32 0, ptr %11182, align 4, !tbaa !5
  br label %11183

11183:                                            ; preds = %11180
  br label %11184

11184:                                            ; preds = %11183
  br label %11185

11185:                                            ; preds = %11184
  br label %11186

11186:                                            ; preds = %11185
  call void @llvm.lifetime.end.p0(i64 4, ptr %274) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %273) #11
  %11187 = call i32 @s2n_connection_ptr_free(ptr noundef %271)
  %11188 = getelementptr inbounds %struct.s2n_result, ptr %281, i32 0, i32 0
  store i32 %11187, ptr %11188, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %271) #11
  call void @llvm.lifetime.start.p0(i64 126, ptr %282) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 16 %282, ptr align 16 @__const.main.test_context, i64 126, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr %283) #11
  %11189 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %11189, ptr %283, align 8, !tbaa !9
  br label %11190

11190:                                            ; preds = %11186
  %11191 = load i32, ptr @test_count, align 4, !tbaa !5
  %11192 = add nsw i32 %11191, 1
  store i32 %11192, ptr @test_count, align 4, !tbaa !5
  %11193 = load ptr, ptr %283, align 8, !tbaa !9
  %11194 = icmp eq ptr %11193, null
  br i1 %11194, label %11195, label %11248

11195:                                            ; preds = %11190
  br label %11196

11196:                                            ; preds = %11195
  br label %11197

11197:                                            ; preds = %11196
  call void @llvm.lifetime.start.p0(i64 4, ptr %284) #11
  %11198 = call ptr @__errno_location() #12
  %11199 = load i32, ptr %11198, align 4, !tbaa !5
  store i32 %11199, ptr %284, align 4, !tbaa !5
  %11200 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11201 = call i32 @s2n_print_stacktrace(ptr noundef %11200)
  %11202 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11203 = trunc i8 %11202 to i1
  br i1 %11203, label %11204, label %11226

11204:                                            ; preds = %11197
  %11205 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11206 = call i32 @fileno(ptr noundef %11205) #11
  %11207 = call i32 @isatty(i32 noundef %11206) #11
  %11208 = icmp ne i32 %11207, 0
  br i1 %11208, label %11209, label %11226

11209:                                            ; preds = %11204
  %11210 = load i32, ptr %284, align 4, !tbaa !5
  %11211 = call ptr @__errno_location() #12
  store i32 %11210, ptr %11211, align 4, !tbaa !5
  %11212 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11213 = load i32, ptr @test_count, align 4, !tbaa !5
  %11214 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11215 = load i32, ptr %11214, align 4, !tbaa !5
  %11216 = call ptr @s2n_strerror(i32 noundef %11215, ptr noundef @.str.4)
  %11217 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11218 = load i32, ptr %11217, align 4, !tbaa !5
  %11219 = call ptr @s2n_strerror_debug(i32 noundef %11218, ptr noundef @.str.4)
  %11220 = call ptr @__errno_location() #12
  %11221 = load i32, ptr %11220, align 4, !tbaa !5
  %11222 = call ptr @strerror(i32 noundef %11221) #11
  %11223 = call ptr @__errno_location() #12
  %11224 = load i32, ptr %11223, align 4, !tbaa !5
  %11225 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11212, ptr noundef @.str.2, i32 noundef %11213, ptr noundef @.str.42, ptr noundef @.str.1, i32 noundef 477, ptr noundef %11216, ptr noundef %11219, ptr noundef %11222, i32 noundef %11224) #11
  br label %11243

11226:                                            ; preds = %11204, %11197
  %11227 = load i32, ptr %284, align 4, !tbaa !5
  %11228 = call ptr @__errno_location() #12
  store i32 %11227, ptr %11228, align 4, !tbaa !5
  %11229 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11230 = load i32, ptr @test_count, align 4, !tbaa !5
  %11231 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11232 = load i32, ptr %11231, align 4, !tbaa !5
  %11233 = call ptr @s2n_strerror(i32 noundef %11232, ptr noundef @.str.4)
  %11234 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11235 = load i32, ptr %11234, align 4, !tbaa !5
  %11236 = call ptr @s2n_strerror_debug(i32 noundef %11235, ptr noundef @.str.4)
  %11237 = call ptr @__errno_location() #12
  %11238 = load i32, ptr %11237, align 4, !tbaa !5
  %11239 = call ptr @strerror(i32 noundef %11238) #11
  %11240 = call ptr @__errno_location() #12
  %11241 = load i32, ptr %11240, align 4, !tbaa !5
  %11242 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11229, ptr noundef @.str.5, i32 noundef %11230, ptr noundef @.str.42, ptr noundef @.str.1, i32 noundef 477, ptr noundef %11233, ptr noundef %11236, ptr noundef %11239, i32 noundef %11241) #11
  br label %11243

11243:                                            ; preds = %11226, %11209
  call void @llvm.lifetime.end.p0(i64 4, ptr %284) #11
  br label %11244

11244:                                            ; preds = %11243
  br label %11245

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

11246:                                            ; No predecessors!
  br label %11247

11247:                                            ; preds = %11246
  br label %11248

11248:                                            ; preds = %11247, %11190
  br label %11249

11249:                                            ; preds = %11248
  br label %11250

11250:                                            ; preds = %11249
  br label %11251

11251:                                            ; preds = %11250
  br label %11252

11252:                                            ; preds = %11251
  br label %11253

11253:                                            ; preds = %11252
  %11254 = load i32, ptr @test_count, align 4, !tbaa !5
  %11255 = add nsw i32 %11254, 1
  store i32 %11255, ptr @test_count, align 4, !tbaa !5
  %11256 = load ptr, ptr %283, align 8, !tbaa !9
  %11257 = getelementptr inbounds [126 x i8], ptr %282, i64 0, i64 0
  %11258 = call i32 @s2n_connection_deserialize(ptr noundef %11256, ptr noundef %11257, i32 noundef 126)
  %11259 = icmp eq i32 %11258, -1
  br i1 %11259, label %11313, label %11260

11260:                                            ; preds = %11253
  br label %11261

11261:                                            ; preds = %11260
  br label %11262

11262:                                            ; preds = %11261
  call void @llvm.lifetime.start.p0(i64 4, ptr %285) #11
  %11263 = call ptr @__errno_location() #12
  %11264 = load i32, ptr %11263, align 4, !tbaa !5
  store i32 %11264, ptr %285, align 4, !tbaa !5
  %11265 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11266 = call i32 @s2n_print_stacktrace(ptr noundef %11265)
  %11267 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11268 = trunc i8 %11267 to i1
  br i1 %11268, label %11269, label %11291

11269:                                            ; preds = %11262
  %11270 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11271 = call i32 @fileno(ptr noundef %11270) #11
  %11272 = call i32 @isatty(i32 noundef %11271) #11
  %11273 = icmp ne i32 %11272, 0
  br i1 %11273, label %11274, label %11291

11274:                                            ; preds = %11269
  %11275 = load i32, ptr %285, align 4, !tbaa !5
  %11276 = call ptr @__errno_location() #12
  store i32 %11275, ptr %11276, align 4, !tbaa !5
  %11277 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11278 = load i32, ptr @test_count, align 4, !tbaa !5
  %11279 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11280 = load i32, ptr %11279, align 4, !tbaa !5
  %11281 = call ptr @s2n_strerror(i32 noundef %11280, ptr noundef @.str.4)
  %11282 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11283 = load i32, ptr %11282, align 4, !tbaa !5
  %11284 = call ptr @s2n_strerror_debug(i32 noundef %11283, ptr noundef @.str.4)
  %11285 = call ptr @__errno_location() #12
  %11286 = load i32, ptr %11285, align 4, !tbaa !5
  %11287 = call ptr @strerror(i32 noundef %11286) #11
  %11288 = call ptr @__errno_location() #12
  %11289 = load i32, ptr %11288, align 4, !tbaa !5
  %11290 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11277, ptr noundef @.str.2, i32 noundef %11278, ptr noundef @.str.97, ptr noundef @.str.1, i32 noundef 480, ptr noundef %11281, ptr noundef %11284, ptr noundef %11287, i32 noundef %11289) #11
  br label %11308

11291:                                            ; preds = %11269, %11262
  %11292 = load i32, ptr %285, align 4, !tbaa !5
  %11293 = call ptr @__errno_location() #12
  store i32 %11292, ptr %11293, align 4, !tbaa !5
  %11294 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11295 = load i32, ptr @test_count, align 4, !tbaa !5
  %11296 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11297 = load i32, ptr %11296, align 4, !tbaa !5
  %11298 = call ptr @s2n_strerror(i32 noundef %11297, ptr noundef @.str.4)
  %11299 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11300 = load i32, ptr %11299, align 4, !tbaa !5
  %11301 = call ptr @s2n_strerror_debug(i32 noundef %11300, ptr noundef @.str.4)
  %11302 = call ptr @__errno_location() #12
  %11303 = load i32, ptr %11302, align 4, !tbaa !5
  %11304 = call ptr @strerror(i32 noundef %11303) #11
  %11305 = call ptr @__errno_location() #12
  %11306 = load i32, ptr %11305, align 4, !tbaa !5
  %11307 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11294, ptr noundef @.str.5, i32 noundef %11295, ptr noundef @.str.97, ptr noundef @.str.1, i32 noundef 480, ptr noundef %11298, ptr noundef %11301, ptr noundef %11304, i32 noundef %11306) #11
  br label %11308

11308:                                            ; preds = %11291, %11274
  call void @llvm.lifetime.end.p0(i64 4, ptr %285) #11
  br label %11309

11309:                                            ; preds = %11308
  br label %11310

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

11311:                                            ; No predecessors!
  br label %11312

11312:                                            ; preds = %11311
  br label %11313

11313:                                            ; preds = %11312, %11253
  br label %11314

11314:                                            ; preds = %11313
  br label %11315

11315:                                            ; preds = %11314
  br label %11316

11316:                                            ; preds = %11315
  %11317 = load i32, ptr @test_count, align 4, !tbaa !5
  %11318 = add nsw i32 %11317, 1
  store i32 %11318, ptr @test_count, align 4, !tbaa !5
  %11319 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11320 = load i32, ptr %11319, align 4, !tbaa !5
  %11321 = icmp eq i32 %11320, 469762134
  br i1 %11321, label %11375, label %11322

11322:                                            ; preds = %11316
  br label %11323

11323:                                            ; preds = %11322
  br label %11324

11324:                                            ; preds = %11323
  call void @llvm.lifetime.start.p0(i64 4, ptr %286) #11
  %11325 = call ptr @__errno_location() #12
  %11326 = load i32, ptr %11325, align 4, !tbaa !5
  store i32 %11326, ptr %286, align 4, !tbaa !5
  %11327 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11328 = call i32 @s2n_print_stacktrace(ptr noundef %11327)
  %11329 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11330 = trunc i8 %11329 to i1
  br i1 %11330, label %11331, label %11353

11331:                                            ; preds = %11324
  %11332 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11333 = call i32 @fileno(ptr noundef %11332) #11
  %11334 = call i32 @isatty(i32 noundef %11333) #11
  %11335 = icmp ne i32 %11334, 0
  br i1 %11335, label %11336, label %11353

11336:                                            ; preds = %11331
  %11337 = load i32, ptr %286, align 4, !tbaa !5
  %11338 = call ptr @__errno_location() #12
  store i32 %11337, ptr %11338, align 4, !tbaa !5
  %11339 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11340 = load i32, ptr @test_count, align 4, !tbaa !5
  %11341 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11342 = load i32, ptr %11341, align 4, !tbaa !5
  %11343 = call ptr @s2n_strerror(i32 noundef %11342, ptr noundef @.str.4)
  %11344 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11345 = load i32, ptr %11344, align 4, !tbaa !5
  %11346 = call ptr @s2n_strerror_debug(i32 noundef %11345, ptr noundef @.str.4)
  %11347 = call ptr @__errno_location() #12
  %11348 = load i32, ptr %11347, align 4, !tbaa !5
  %11349 = call ptr @strerror(i32 noundef %11348) #11
  %11350 = call ptr @__errno_location() #12
  %11351 = load i32, ptr %11350, align 4, !tbaa !5
  %11352 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11339, ptr noundef @.str.2, i32 noundef %11340, ptr noundef @.str.98, ptr noundef @.str.1, i32 noundef 480, ptr noundef %11343, ptr noundef %11346, ptr noundef %11349, i32 noundef %11351) #11
  br label %11370

11353:                                            ; preds = %11331, %11324
  %11354 = load i32, ptr %286, align 4, !tbaa !5
  %11355 = call ptr @__errno_location() #12
  store i32 %11354, ptr %11355, align 4, !tbaa !5
  %11356 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11357 = load i32, ptr @test_count, align 4, !tbaa !5
  %11358 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11359 = load i32, ptr %11358, align 4, !tbaa !5
  %11360 = call ptr @s2n_strerror(i32 noundef %11359, ptr noundef @.str.4)
  %11361 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11362 = load i32, ptr %11361, align 4, !tbaa !5
  %11363 = call ptr @s2n_strerror_debug(i32 noundef %11362, ptr noundef @.str.4)
  %11364 = call ptr @__errno_location() #12
  %11365 = load i32, ptr %11364, align 4, !tbaa !5
  %11366 = call ptr @strerror(i32 noundef %11365) #11
  %11367 = call ptr @__errno_location() #12
  %11368 = load i32, ptr %11367, align 4, !tbaa !5
  %11369 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11356, ptr noundef @.str.5, i32 noundef %11357, ptr noundef @.str.98, ptr noundef @.str.1, i32 noundef 480, ptr noundef %11360, ptr noundef %11363, ptr noundef %11366, i32 noundef %11368) #11
  br label %11370

11370:                                            ; preds = %11353, %11336
  call void @llvm.lifetime.end.p0(i64 4, ptr %286) #11
  br label %11371

11371:                                            ; preds = %11370
  br label %11372

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

11373:                                            ; No predecessors!
  br label %11374

11374:                                            ; preds = %11373
  br label %11375

11375:                                            ; preds = %11374, %11316
  br label %11376

11376:                                            ; preds = %11375
  br label %11377

11377:                                            ; preds = %11376
  br label %11378

11378:                                            ; preds = %11377
  %11379 = load i32, ptr @test_count, align 4, !tbaa !5
  %11380 = add nsw i32 %11379, 1
  store i32 %11380, ptr @test_count, align 4, !tbaa !5
  %11381 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11382 = load i32, ptr %11381, align 4, !tbaa !5
  %11383 = call ptr @s2n_strerror_debug(i32 noundef %11382, ptr noundef @.str.4)
  %11384 = icmp eq ptr %11383, null
  br i1 %11384, label %11385, label %11438

11385:                                            ; preds = %11378
  br label %11386

11386:                                            ; preds = %11385
  br label %11387

11387:                                            ; preds = %11386
  call void @llvm.lifetime.start.p0(i64 4, ptr %287) #11
  %11388 = call ptr @__errno_location() #12
  %11389 = load i32, ptr %11388, align 4, !tbaa !5
  store i32 %11389, ptr %287, align 4, !tbaa !5
  %11390 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11391 = call i32 @s2n_print_stacktrace(ptr noundef %11390)
  %11392 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11393 = trunc i8 %11392 to i1
  br i1 %11393, label %11394, label %11416

11394:                                            ; preds = %11387
  %11395 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11396 = call i32 @fileno(ptr noundef %11395) #11
  %11397 = call i32 @isatty(i32 noundef %11396) #11
  %11398 = icmp ne i32 %11397, 0
  br i1 %11398, label %11399, label %11416

11399:                                            ; preds = %11394
  %11400 = load i32, ptr %287, align 4, !tbaa !5
  %11401 = call ptr @__errno_location() #12
  store i32 %11400, ptr %11401, align 4, !tbaa !5
  %11402 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11403 = load i32, ptr @test_count, align 4, !tbaa !5
  %11404 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11405 = load i32, ptr %11404, align 4, !tbaa !5
  %11406 = call ptr @s2n_strerror(i32 noundef %11405, ptr noundef @.str.4)
  %11407 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11408 = load i32, ptr %11407, align 4, !tbaa !5
  %11409 = call ptr @s2n_strerror_debug(i32 noundef %11408, ptr noundef @.str.4)
  %11410 = call ptr @__errno_location() #12
  %11411 = load i32, ptr %11410, align 4, !tbaa !5
  %11412 = call ptr @strerror(i32 noundef %11411) #11
  %11413 = call ptr @__errno_location() #12
  %11414 = load i32, ptr %11413, align 4, !tbaa !5
  %11415 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11402, ptr noundef @.str.2, i32 noundef %11403, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 480, ptr noundef %11406, ptr noundef %11409, ptr noundef %11412, i32 noundef %11414) #11
  br label %11433

11416:                                            ; preds = %11394, %11387
  %11417 = load i32, ptr %287, align 4, !tbaa !5
  %11418 = call ptr @__errno_location() #12
  store i32 %11417, ptr %11418, align 4, !tbaa !5
  %11419 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11420 = load i32, ptr @test_count, align 4, !tbaa !5
  %11421 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11422 = load i32, ptr %11421, align 4, !tbaa !5
  %11423 = call ptr @s2n_strerror(i32 noundef %11422, ptr noundef @.str.4)
  %11424 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11425 = load i32, ptr %11424, align 4, !tbaa !5
  %11426 = call ptr @s2n_strerror_debug(i32 noundef %11425, ptr noundef @.str.4)
  %11427 = call ptr @__errno_location() #12
  %11428 = load i32, ptr %11427, align 4, !tbaa !5
  %11429 = call ptr @strerror(i32 noundef %11428) #11
  %11430 = call ptr @__errno_location() #12
  %11431 = load i32, ptr %11430, align 4, !tbaa !5
  %11432 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11419, ptr noundef @.str.5, i32 noundef %11420, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 480, ptr noundef %11423, ptr noundef %11426, ptr noundef %11429, i32 noundef %11431) #11
  br label %11433

11433:                                            ; preds = %11416, %11399
  call void @llvm.lifetime.end.p0(i64 4, ptr %287) #11
  br label %11434

11434:                                            ; preds = %11433
  br label %11435

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

11436:                                            ; No predecessors!
  br label %11437

11437:                                            ; preds = %11436
  br label %11438

11438:                                            ; preds = %11437, %11378
  br label %11439

11439:                                            ; preds = %11438
  br label %11440

11440:                                            ; preds = %11439
  br label %11441

11441:                                            ; preds = %11440
  br label %11442

11442:                                            ; preds = %11441
  br label %11443

11443:                                            ; preds = %11442
  %11444 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %11444, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %11445 = call ptr @__errno_location() #12
  store i32 0, ptr %11445, align 4, !tbaa !5
  br label %11446

11446:                                            ; preds = %11443
  br label %11447

11447:                                            ; preds = %11446
  br label %11448

11448:                                            ; preds = %11447
  br label %11449

11449:                                            ; preds = %11448
  %11450 = call i32 @s2n_connection_ptr_free(ptr noundef %283)
  %11451 = getelementptr inbounds %struct.s2n_result, ptr %288, i32 0, i32 0
  store i32 %11450, ptr %11451, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %283) #11
  call void @llvm.lifetime.end.p0(i64 126, ptr %282) #11
  call void @llvm.lifetime.start.p0(i64 126, ptr %289) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 16 %289, ptr align 16 @__const.main.test_context.99, i64 126, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr %290) #11
  %11452 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %11452, ptr %290, align 8, !tbaa !9
  br label %11453

11453:                                            ; preds = %11449
  %11454 = load i32, ptr @test_count, align 4, !tbaa !5
  %11455 = add nsw i32 %11454, 1
  store i32 %11455, ptr @test_count, align 4, !tbaa !5
  %11456 = load ptr, ptr %290, align 8, !tbaa !9
  %11457 = icmp eq ptr %11456, null
  br i1 %11457, label %11458, label %11511

11458:                                            ; preds = %11453
  br label %11459

11459:                                            ; preds = %11458
  br label %11460

11460:                                            ; preds = %11459
  call void @llvm.lifetime.start.p0(i64 4, ptr %291) #11
  %11461 = call ptr @__errno_location() #12
  %11462 = load i32, ptr %11461, align 4, !tbaa !5
  store i32 %11462, ptr %291, align 4, !tbaa !5
  %11463 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11464 = call i32 @s2n_print_stacktrace(ptr noundef %11463)
  %11465 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11466 = trunc i8 %11465 to i1
  br i1 %11466, label %11467, label %11489

11467:                                            ; preds = %11460
  %11468 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11469 = call i32 @fileno(ptr noundef %11468) #11
  %11470 = call i32 @isatty(i32 noundef %11469) #11
  %11471 = icmp ne i32 %11470, 0
  br i1 %11471, label %11472, label %11489

11472:                                            ; preds = %11467
  %11473 = load i32, ptr %291, align 4, !tbaa !5
  %11474 = call ptr @__errno_location() #12
  store i32 %11473, ptr %11474, align 4, !tbaa !5
  %11475 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11476 = load i32, ptr @test_count, align 4, !tbaa !5
  %11477 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11478 = load i32, ptr %11477, align 4, !tbaa !5
  %11479 = call ptr @s2n_strerror(i32 noundef %11478, ptr noundef @.str.4)
  %11480 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11481 = load i32, ptr %11480, align 4, !tbaa !5
  %11482 = call ptr @s2n_strerror_debug(i32 noundef %11481, ptr noundef @.str.4)
  %11483 = call ptr @__errno_location() #12
  %11484 = load i32, ptr %11483, align 4, !tbaa !5
  %11485 = call ptr @strerror(i32 noundef %11484) #11
  %11486 = call ptr @__errno_location() #12
  %11487 = load i32, ptr %11486, align 4, !tbaa !5
  %11488 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11475, ptr noundef @.str.2, i32 noundef %11476, ptr noundef @.str.42, ptr noundef @.str.1, i32 noundef 499, ptr noundef %11479, ptr noundef %11482, ptr noundef %11485, i32 noundef %11487) #11
  br label %11506

11489:                                            ; preds = %11467, %11460
  %11490 = load i32, ptr %291, align 4, !tbaa !5
  %11491 = call ptr @__errno_location() #12
  store i32 %11490, ptr %11491, align 4, !tbaa !5
  %11492 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11493 = load i32, ptr @test_count, align 4, !tbaa !5
  %11494 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11495 = load i32, ptr %11494, align 4, !tbaa !5
  %11496 = call ptr @s2n_strerror(i32 noundef %11495, ptr noundef @.str.4)
  %11497 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11498 = load i32, ptr %11497, align 4, !tbaa !5
  %11499 = call ptr @s2n_strerror_debug(i32 noundef %11498, ptr noundef @.str.4)
  %11500 = call ptr @__errno_location() #12
  %11501 = load i32, ptr %11500, align 4, !tbaa !5
  %11502 = call ptr @strerror(i32 noundef %11501) #11
  %11503 = call ptr @__errno_location() #12
  %11504 = load i32, ptr %11503, align 4, !tbaa !5
  %11505 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11492, ptr noundef @.str.5, i32 noundef %11493, ptr noundef @.str.42, ptr noundef @.str.1, i32 noundef 499, ptr noundef %11496, ptr noundef %11499, ptr noundef %11502, i32 noundef %11504) #11
  br label %11506

11506:                                            ; preds = %11489, %11472
  call void @llvm.lifetime.end.p0(i64 4, ptr %291) #11
  br label %11507

11507:                                            ; preds = %11506
  br label %11508

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

11509:                                            ; No predecessors!
  br label %11510

11510:                                            ; preds = %11509
  br label %11511

11511:                                            ; preds = %11510, %11453
  br label %11512

11512:                                            ; preds = %11511
  br label %11513

11513:                                            ; preds = %11512
  br label %11514

11514:                                            ; preds = %11513
  %11515 = load i32, ptr @test_count, align 4, !tbaa !5
  %11516 = add nsw i32 %11515, 1
  store i32 %11516, ptr @test_count, align 4, !tbaa !5
  %11517 = load ptr, ptr %290, align 8, !tbaa !9
  %11518 = getelementptr inbounds [126 x i8], ptr %289, i64 0, i64 0
  %11519 = call i32 @s2n_connection_deserialize(ptr noundef %11517, ptr noundef %11518, i32 noundef 126)
  %11520 = icmp eq i32 %11519, -1
  br i1 %11520, label %11521, label %11574

11521:                                            ; preds = %11514
  br label %11522

11522:                                            ; preds = %11521
  br label %11523

11523:                                            ; preds = %11522
  call void @llvm.lifetime.start.p0(i64 4, ptr %292) #11
  %11524 = call ptr @__errno_location() #12
  %11525 = load i32, ptr %11524, align 4, !tbaa !5
  store i32 %11525, ptr %292, align 4, !tbaa !5
  %11526 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11527 = call i32 @s2n_print_stacktrace(ptr noundef %11526)
  %11528 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11529 = trunc i8 %11528 to i1
  br i1 %11529, label %11530, label %11552

11530:                                            ; preds = %11523
  %11531 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11532 = call i32 @fileno(ptr noundef %11531) #11
  %11533 = call i32 @isatty(i32 noundef %11532) #11
  %11534 = icmp ne i32 %11533, 0
  br i1 %11534, label %11535, label %11552

11535:                                            ; preds = %11530
  %11536 = load i32, ptr %292, align 4, !tbaa !5
  %11537 = call ptr @__errno_location() #12
  store i32 %11536, ptr %11537, align 4, !tbaa !5
  %11538 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11539 = load i32, ptr @test_count, align 4, !tbaa !5
  %11540 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11541 = load i32, ptr %11540, align 4, !tbaa !5
  %11542 = call ptr @s2n_strerror(i32 noundef %11541, ptr noundef @.str.4)
  %11543 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11544 = load i32, ptr %11543, align 4, !tbaa !5
  %11545 = call ptr @s2n_strerror_debug(i32 noundef %11544, ptr noundef @.str.4)
  %11546 = call ptr @__errno_location() #12
  %11547 = load i32, ptr %11546, align 4, !tbaa !5
  %11548 = call ptr @strerror(i32 noundef %11547) #11
  %11549 = call ptr @__errno_location() #12
  %11550 = load i32, ptr %11549, align 4, !tbaa !5
  %11551 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11538, ptr noundef @.str.2, i32 noundef %11539, ptr noundef @.str.100, ptr noundef @.str.1, i32 noundef 501, ptr noundef %11542, ptr noundef %11545, ptr noundef %11548, i32 noundef %11550) #11
  br label %11569

11552:                                            ; preds = %11530, %11523
  %11553 = load i32, ptr %292, align 4, !tbaa !5
  %11554 = call ptr @__errno_location() #12
  store i32 %11553, ptr %11554, align 4, !tbaa !5
  %11555 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11556 = load i32, ptr @test_count, align 4, !tbaa !5
  %11557 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11558 = load i32, ptr %11557, align 4, !tbaa !5
  %11559 = call ptr @s2n_strerror(i32 noundef %11558, ptr noundef @.str.4)
  %11560 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11561 = load i32, ptr %11560, align 4, !tbaa !5
  %11562 = call ptr @s2n_strerror_debug(i32 noundef %11561, ptr noundef @.str.4)
  %11563 = call ptr @__errno_location() #12
  %11564 = load i32, ptr %11563, align 4, !tbaa !5
  %11565 = call ptr @strerror(i32 noundef %11564) #11
  %11566 = call ptr @__errno_location() #12
  %11567 = load i32, ptr %11566, align 4, !tbaa !5
  %11568 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11555, ptr noundef @.str.5, i32 noundef %11556, ptr noundef @.str.100, ptr noundef @.str.1, i32 noundef 501, ptr noundef %11559, ptr noundef %11562, ptr noundef %11565, i32 noundef %11567) #11
  br label %11569

11569:                                            ; preds = %11552, %11535
  call void @llvm.lifetime.end.p0(i64 4, ptr %292) #11
  br label %11570

11570:                                            ; preds = %11569
  br label %11571

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

11572:                                            ; No predecessors!
  br label %11573

11573:                                            ; preds = %11572
  br label %11574

11574:                                            ; preds = %11573, %11514
  br label %11575

11575:                                            ; preds = %11574
  br label %11576

11576:                                            ; preds = %11575
  %11577 = call i32 @s2n_connection_ptr_free(ptr noundef %290)
  %11578 = getelementptr inbounds %struct.s2n_result, ptr %293, i32 0, i32 0
  store i32 %11577, ptr %11578, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %290) #11
  call void @llvm.lifetime.end.p0(i64 126, ptr %289) #11
  call void @llvm.lifetime.start.p0(i64 16, ptr %294) #11
  %11579 = load ptr, ptr %11, align 8, !tbaa !9
  store ptr %11579, ptr %294, align 8, !tbaa !9
  %11580 = getelementptr inbounds ptr, ptr %294, i64 1
  %11581 = load ptr, ptr %16, align 8, !tbaa !9
  store ptr %11581, ptr %11580, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %295) #11
  store i64 0, ptr %295, align 8, !tbaa !42
  br label %11582

11582:                                            ; preds = %12693, %11576
  %11583 = load i64, ptr %295, align 8, !tbaa !42
  %11584 = icmp ult i64 %11583, 2
  br i1 %11584, label %11586, label %11585

11585:                                            ; preds = %11582
  store i32 1139, ptr %296, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %295) #11
  br label %12696

11586:                                            ; preds = %11582
  call void @llvm.lifetime.start.p0(i64 8, ptr %297) #11
  %11587 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %11587, ptr %297, align 8, !tbaa !9
  br label %11588

11588:                                            ; preds = %11586
  %11589 = load i32, ptr @test_count, align 4, !tbaa !5
  %11590 = add nsw i32 %11589, 1
  store i32 %11590, ptr @test_count, align 4, !tbaa !5
  %11591 = load ptr, ptr %297, align 8, !tbaa !9
  %11592 = icmp eq ptr %11591, null
  br i1 %11592, label %11593, label %11646

11593:                                            ; preds = %11588
  br label %11594

11594:                                            ; preds = %11593
  br label %11595

11595:                                            ; preds = %11594
  call void @llvm.lifetime.start.p0(i64 4, ptr %298) #11
  %11596 = call ptr @__errno_location() #12
  %11597 = load i32, ptr %11596, align 4, !tbaa !5
  store i32 %11597, ptr %298, align 4, !tbaa !5
  %11598 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11599 = call i32 @s2n_print_stacktrace(ptr noundef %11598)
  %11600 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11601 = trunc i8 %11600 to i1
  br i1 %11601, label %11602, label %11624

11602:                                            ; preds = %11595
  %11603 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11604 = call i32 @fileno(ptr noundef %11603) #11
  %11605 = call i32 @isatty(i32 noundef %11604) #11
  %11606 = icmp ne i32 %11605, 0
  br i1 %11606, label %11607, label %11624

11607:                                            ; preds = %11602
  %11608 = load i32, ptr %298, align 4, !tbaa !5
  %11609 = call ptr @__errno_location() #12
  store i32 %11608, ptr %11609, align 4, !tbaa !5
  %11610 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11611 = load i32, ptr @test_count, align 4, !tbaa !5
  %11612 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11613 = load i32, ptr %11612, align 4, !tbaa !5
  %11614 = call ptr @s2n_strerror(i32 noundef %11613, ptr noundef @.str.4)
  %11615 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11616 = load i32, ptr %11615, align 4, !tbaa !5
  %11617 = call ptr @s2n_strerror_debug(i32 noundef %11616, ptr noundef @.str.4)
  %11618 = call ptr @__errno_location() #12
  %11619 = load i32, ptr %11618, align 4, !tbaa !5
  %11620 = call ptr @strerror(i32 noundef %11619) #11
  %11621 = call ptr @__errno_location() #12
  %11622 = load i32, ptr %11621, align 4, !tbaa !5
  %11623 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11610, ptr noundef @.str.2, i32 noundef %11611, ptr noundef @.str.42, ptr noundef @.str.1, i32 noundef 512, ptr noundef %11614, ptr noundef %11617, ptr noundef %11620, i32 noundef %11622) #11
  br label %11641

11624:                                            ; preds = %11602, %11595
  %11625 = load i32, ptr %298, align 4, !tbaa !5
  %11626 = call ptr @__errno_location() #12
  store i32 %11625, ptr %11626, align 4, !tbaa !5
  %11627 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11628 = load i32, ptr @test_count, align 4, !tbaa !5
  %11629 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11630 = load i32, ptr %11629, align 4, !tbaa !5
  %11631 = call ptr @s2n_strerror(i32 noundef %11630, ptr noundef @.str.4)
  %11632 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11633 = load i32, ptr %11632, align 4, !tbaa !5
  %11634 = call ptr @s2n_strerror_debug(i32 noundef %11633, ptr noundef @.str.4)
  %11635 = call ptr @__errno_location() #12
  %11636 = load i32, ptr %11635, align 4, !tbaa !5
  %11637 = call ptr @strerror(i32 noundef %11636) #11
  %11638 = call ptr @__errno_location() #12
  %11639 = load i32, ptr %11638, align 4, !tbaa !5
  %11640 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11627, ptr noundef @.str.5, i32 noundef %11628, ptr noundef @.str.42, ptr noundef @.str.1, i32 noundef 512, ptr noundef %11631, ptr noundef %11634, ptr noundef %11637, i32 noundef %11639) #11
  br label %11641

11641:                                            ; preds = %11624, %11607
  call void @llvm.lifetime.end.p0(i64 4, ptr %298) #11
  br label %11642

11642:                                            ; preds = %11641
  br label %11643

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

11644:                                            ; No predecessors!
  br label %11645

11645:                                            ; preds = %11644
  br label %11646

11646:                                            ; preds = %11645, %11588
  br label %11647

11647:                                            ; preds = %11646
  br label %11648

11648:                                            ; preds = %11647
  call void @llvm.lifetime.start.p0(i64 8, ptr %299) #11
  %11649 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %11649, ptr %299, align 8, !tbaa !9
  br label %11650

11650:                                            ; preds = %11648
  %11651 = load i32, ptr @test_count, align 4, !tbaa !5
  %11652 = add nsw i32 %11651, 1
  store i32 %11652, ptr @test_count, align 4, !tbaa !5
  %11653 = load ptr, ptr %299, align 8, !tbaa !9
  %11654 = icmp eq ptr %11653, null
  br i1 %11654, label %11655, label %11708

11655:                                            ; preds = %11650
  br label %11656

11656:                                            ; preds = %11655
  br label %11657

11657:                                            ; preds = %11656
  call void @llvm.lifetime.start.p0(i64 4, ptr %300) #11
  %11658 = call ptr @__errno_location() #12
  %11659 = load i32, ptr %11658, align 4, !tbaa !5
  store i32 %11659, ptr %300, align 4, !tbaa !5
  %11660 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11661 = call i32 @s2n_print_stacktrace(ptr noundef %11660)
  %11662 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11663 = trunc i8 %11662 to i1
  br i1 %11663, label %11664, label %11686

11664:                                            ; preds = %11657
  %11665 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11666 = call i32 @fileno(ptr noundef %11665) #11
  %11667 = call i32 @isatty(i32 noundef %11666) #11
  %11668 = icmp ne i32 %11667, 0
  br i1 %11668, label %11669, label %11686

11669:                                            ; preds = %11664
  %11670 = load i32, ptr %300, align 4, !tbaa !5
  %11671 = call ptr @__errno_location() #12
  store i32 %11670, ptr %11671, align 4, !tbaa !5
  %11672 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11673 = load i32, ptr @test_count, align 4, !tbaa !5
  %11674 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11675 = load i32, ptr %11674, align 4, !tbaa !5
  %11676 = call ptr @s2n_strerror(i32 noundef %11675, ptr noundef @.str.4)
  %11677 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11678 = load i32, ptr %11677, align 4, !tbaa !5
  %11679 = call ptr @s2n_strerror_debug(i32 noundef %11678, ptr noundef @.str.4)
  %11680 = call ptr @__errno_location() #12
  %11681 = load i32, ptr %11680, align 4, !tbaa !5
  %11682 = call ptr @strerror(i32 noundef %11681) #11
  %11683 = call ptr @__errno_location() #12
  %11684 = load i32, ptr %11683, align 4, !tbaa !5
  %11685 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11672, ptr noundef @.str.2, i32 noundef %11673, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 515, ptr noundef %11676, ptr noundef %11679, ptr noundef %11682, i32 noundef %11684) #11
  br label %11703

11686:                                            ; preds = %11664, %11657
  %11687 = load i32, ptr %300, align 4, !tbaa !5
  %11688 = call ptr @__errno_location() #12
  store i32 %11687, ptr %11688, align 4, !tbaa !5
  %11689 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11690 = load i32, ptr @test_count, align 4, !tbaa !5
  %11691 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11692 = load i32, ptr %11691, align 4, !tbaa !5
  %11693 = call ptr @s2n_strerror(i32 noundef %11692, ptr noundef @.str.4)
  %11694 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11695 = load i32, ptr %11694, align 4, !tbaa !5
  %11696 = call ptr @s2n_strerror_debug(i32 noundef %11695, ptr noundef @.str.4)
  %11697 = call ptr @__errno_location() #12
  %11698 = load i32, ptr %11697, align 4, !tbaa !5
  %11699 = call ptr @strerror(i32 noundef %11698) #11
  %11700 = call ptr @__errno_location() #12
  %11701 = load i32, ptr %11700, align 4, !tbaa !5
  %11702 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11689, ptr noundef @.str.5, i32 noundef %11690, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 515, ptr noundef %11693, ptr noundef %11696, ptr noundef %11699, i32 noundef %11701) #11
  br label %11703

11703:                                            ; preds = %11686, %11669
  call void @llvm.lifetime.end.p0(i64 4, ptr %300) #11
  br label %11704

11704:                                            ; preds = %11703
  br label %11705

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

11706:                                            ; No predecessors!
  br label %11707

11707:                                            ; preds = %11706
  br label %11708

11708:                                            ; preds = %11707, %11650
  br label %11709

11709:                                            ; preds = %11708
  br label %11710

11710:                                            ; preds = %11709
  br label %11711

11711:                                            ; preds = %11710
  %11712 = load i32, ptr @test_count, align 4, !tbaa !5
  %11713 = add nsw i32 %11712, 1
  store i32 %11713, ptr @test_count, align 4, !tbaa !5
  %11714 = load ptr, ptr %297, align 8, !tbaa !9
  %11715 = load i64, ptr %295, align 8, !tbaa !42
  %11716 = getelementptr inbounds [2 x ptr], ptr %294, i64 0, i64 %11715
  %11717 = load ptr, ptr %11716, align 8, !tbaa !9
  %11718 = call i32 @s2n_connection_set_config(ptr noundef %11714, ptr noundef %11717)
  %11719 = icmp eq i32 %11718, -1
  br i1 %11719, label %11720, label %11773

11720:                                            ; preds = %11711
  br label %11721

11721:                                            ; preds = %11720
  br label %11722

11722:                                            ; preds = %11721
  call void @llvm.lifetime.start.p0(i64 4, ptr %301) #11
  %11723 = call ptr @__errno_location() #12
  %11724 = load i32, ptr %11723, align 4, !tbaa !5
  store i32 %11724, ptr %301, align 4, !tbaa !5
  %11725 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11726 = call i32 @s2n_print_stacktrace(ptr noundef %11725)
  %11727 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11728 = trunc i8 %11727 to i1
  br i1 %11728, label %11729, label %11751

11729:                                            ; preds = %11722
  %11730 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11731 = call i32 @fileno(ptr noundef %11730) #11
  %11732 = call i32 @isatty(i32 noundef %11731) #11
  %11733 = icmp ne i32 %11732, 0
  br i1 %11733, label %11734, label %11751

11734:                                            ; preds = %11729
  %11735 = load i32, ptr %301, align 4, !tbaa !5
  %11736 = call ptr @__errno_location() #12
  store i32 %11735, ptr %11736, align 4, !tbaa !5
  %11737 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11738 = load i32, ptr @test_count, align 4, !tbaa !5
  %11739 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11740 = load i32, ptr %11739, align 4, !tbaa !5
  %11741 = call ptr @s2n_strerror(i32 noundef %11740, ptr noundef @.str.4)
  %11742 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11743 = load i32, ptr %11742, align 4, !tbaa !5
  %11744 = call ptr @s2n_strerror_debug(i32 noundef %11743, ptr noundef @.str.4)
  %11745 = call ptr @__errno_location() #12
  %11746 = load i32, ptr %11745, align 4, !tbaa !5
  %11747 = call ptr @strerror(i32 noundef %11746) #11
  %11748 = call ptr @__errno_location() #12
  %11749 = load i32, ptr %11748, align 4, !tbaa !5
  %11750 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11737, ptr noundef @.str.2, i32 noundef %11738, ptr noundef @.str.101, ptr noundef @.str.1, i32 noundef 517, ptr noundef %11741, ptr noundef %11744, ptr noundef %11747, i32 noundef %11749) #11
  br label %11768

11751:                                            ; preds = %11729, %11722
  %11752 = load i32, ptr %301, align 4, !tbaa !5
  %11753 = call ptr @__errno_location() #12
  store i32 %11752, ptr %11753, align 4, !tbaa !5
  %11754 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11755 = load i32, ptr @test_count, align 4, !tbaa !5
  %11756 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11757 = load i32, ptr %11756, align 4, !tbaa !5
  %11758 = call ptr @s2n_strerror(i32 noundef %11757, ptr noundef @.str.4)
  %11759 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11760 = load i32, ptr %11759, align 4, !tbaa !5
  %11761 = call ptr @s2n_strerror_debug(i32 noundef %11760, ptr noundef @.str.4)
  %11762 = call ptr @__errno_location() #12
  %11763 = load i32, ptr %11762, align 4, !tbaa !5
  %11764 = call ptr @strerror(i32 noundef %11763) #11
  %11765 = call ptr @__errno_location() #12
  %11766 = load i32, ptr %11765, align 4, !tbaa !5
  %11767 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11754, ptr noundef @.str.5, i32 noundef %11755, ptr noundef @.str.101, ptr noundef @.str.1, i32 noundef 517, ptr noundef %11758, ptr noundef %11761, ptr noundef %11764, i32 noundef %11766) #11
  br label %11768

11768:                                            ; preds = %11751, %11734
  call void @llvm.lifetime.end.p0(i64 4, ptr %301) #11
  br label %11769

11769:                                            ; preds = %11768
  br label %11770

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

11771:                                            ; No predecessors!
  br label %11772

11772:                                            ; preds = %11771
  br label %11773

11773:                                            ; preds = %11772, %11711
  br label %11774

11774:                                            ; preds = %11773
  br label %11775

11775:                                            ; preds = %11774
  br label %11776

11776:                                            ; preds = %11775
  %11777 = load i32, ptr @test_count, align 4, !tbaa !5
  %11778 = add nsw i32 %11777, 1
  store i32 %11778, ptr @test_count, align 4, !tbaa !5
  %11779 = load ptr, ptr %299, align 8, !tbaa !9
  %11780 = load i64, ptr %295, align 8, !tbaa !42
  %11781 = getelementptr inbounds [2 x ptr], ptr %294, i64 0, i64 %11780
  %11782 = load ptr, ptr %11781, align 8, !tbaa !9
  %11783 = call i32 @s2n_connection_set_config(ptr noundef %11779, ptr noundef %11782)
  %11784 = icmp eq i32 %11783, -1
  br i1 %11784, label %11785, label %11838

11785:                                            ; preds = %11776
  br label %11786

11786:                                            ; preds = %11785
  br label %11787

11787:                                            ; preds = %11786
  call void @llvm.lifetime.start.p0(i64 4, ptr %302) #11
  %11788 = call ptr @__errno_location() #12
  %11789 = load i32, ptr %11788, align 4, !tbaa !5
  store i32 %11789, ptr %302, align 4, !tbaa !5
  %11790 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11791 = call i32 @s2n_print_stacktrace(ptr noundef %11790)
  %11792 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11793 = trunc i8 %11792 to i1
  br i1 %11793, label %11794, label %11816

11794:                                            ; preds = %11787
  %11795 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11796 = call i32 @fileno(ptr noundef %11795) #11
  %11797 = call i32 @isatty(i32 noundef %11796) #11
  %11798 = icmp ne i32 %11797, 0
  br i1 %11798, label %11799, label %11816

11799:                                            ; preds = %11794
  %11800 = load i32, ptr %302, align 4, !tbaa !5
  %11801 = call ptr @__errno_location() #12
  store i32 %11800, ptr %11801, align 4, !tbaa !5
  %11802 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11803 = load i32, ptr @test_count, align 4, !tbaa !5
  %11804 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11805 = load i32, ptr %11804, align 4, !tbaa !5
  %11806 = call ptr @s2n_strerror(i32 noundef %11805, ptr noundef @.str.4)
  %11807 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11808 = load i32, ptr %11807, align 4, !tbaa !5
  %11809 = call ptr @s2n_strerror_debug(i32 noundef %11808, ptr noundef @.str.4)
  %11810 = call ptr @__errno_location() #12
  %11811 = load i32, ptr %11810, align 4, !tbaa !5
  %11812 = call ptr @strerror(i32 noundef %11811) #11
  %11813 = call ptr @__errno_location() #12
  %11814 = load i32, ptr %11813, align 4, !tbaa !5
  %11815 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11802, ptr noundef @.str.2, i32 noundef %11803, ptr noundef @.str.102, ptr noundef @.str.1, i32 noundef 518, ptr noundef %11806, ptr noundef %11809, ptr noundef %11812, i32 noundef %11814) #11
  br label %11833

11816:                                            ; preds = %11794, %11787
  %11817 = load i32, ptr %302, align 4, !tbaa !5
  %11818 = call ptr @__errno_location() #12
  store i32 %11817, ptr %11818, align 4, !tbaa !5
  %11819 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11820 = load i32, ptr @test_count, align 4, !tbaa !5
  %11821 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11822 = load i32, ptr %11821, align 4, !tbaa !5
  %11823 = call ptr @s2n_strerror(i32 noundef %11822, ptr noundef @.str.4)
  %11824 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11825 = load i32, ptr %11824, align 4, !tbaa !5
  %11826 = call ptr @s2n_strerror_debug(i32 noundef %11825, ptr noundef @.str.4)
  %11827 = call ptr @__errno_location() #12
  %11828 = load i32, ptr %11827, align 4, !tbaa !5
  %11829 = call ptr @strerror(i32 noundef %11828) #11
  %11830 = call ptr @__errno_location() #12
  %11831 = load i32, ptr %11830, align 4, !tbaa !5
  %11832 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11819, ptr noundef @.str.5, i32 noundef %11820, ptr noundef @.str.102, ptr noundef @.str.1, i32 noundef 518, ptr noundef %11823, ptr noundef %11826, ptr noundef %11829, i32 noundef %11831) #11
  br label %11833

11833:                                            ; preds = %11816, %11799
  call void @llvm.lifetime.end.p0(i64 4, ptr %302) #11
  br label %11834

11834:                                            ; preds = %11833
  br label %11835

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

11836:                                            ; No predecessors!
  br label %11837

11837:                                            ; preds = %11836
  br label %11838

11838:                                            ; preds = %11837, %11776
  br label %11839

11839:                                            ; preds = %11838
  br label %11840

11840:                                            ; preds = %11839
  call void @llvm.lifetime.start.p0(i64 80, ptr %303) #11
  call void @llvm.memset.p0.i64(ptr align 8 %303, i8 0, i64 80, i1 false)
  br label %11841

11841:                                            ; preds = %11840
  %11842 = load i32, ptr @test_count, align 4, !tbaa !5
  %11843 = add nsw i32 %11842, 1
  store i32 %11843, ptr @test_count, align 4, !tbaa !5
  %11844 = call i32 @s2n_io_stuffer_pair_init(ptr noundef %303)
  %11845 = getelementptr inbounds %struct.s2n_result, ptr %304, i32 0, i32 0
  store i32 %11844, ptr %11845, align 4
  %11846 = getelementptr inbounds %struct.s2n_result, ptr %304, i32 0, i32 0
  %11847 = load i32, ptr %11846, align 4
  %11848 = call zeroext i1 @s2n_result_is_ok(i32 %11847)
  br i1 %11848, label %11902, label %11849

11849:                                            ; preds = %11841
  br label %11850

11850:                                            ; preds = %11849
  br label %11851

11851:                                            ; preds = %11850
  call void @llvm.lifetime.start.p0(i64 4, ptr %305) #11
  %11852 = call ptr @__errno_location() #12
  %11853 = load i32, ptr %11852, align 4, !tbaa !5
  store i32 %11853, ptr %305, align 4, !tbaa !5
  %11854 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11855 = call i32 @s2n_print_stacktrace(ptr noundef %11854)
  %11856 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11857 = trunc i8 %11856 to i1
  br i1 %11857, label %11858, label %11880

11858:                                            ; preds = %11851
  %11859 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11860 = call i32 @fileno(ptr noundef %11859) #11
  %11861 = call i32 @isatty(i32 noundef %11860) #11
  %11862 = icmp ne i32 %11861, 0
  br i1 %11862, label %11863, label %11880

11863:                                            ; preds = %11858
  %11864 = load i32, ptr %305, align 4, !tbaa !5
  %11865 = call ptr @__errno_location() #12
  store i32 %11864, ptr %11865, align 4, !tbaa !5
  %11866 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11867 = load i32, ptr @test_count, align 4, !tbaa !5
  %11868 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11869 = load i32, ptr %11868, align 4, !tbaa !5
  %11870 = call ptr @s2n_strerror(i32 noundef %11869, ptr noundef @.str.4)
  %11871 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11872 = load i32, ptr %11871, align 4, !tbaa !5
  %11873 = call ptr @s2n_strerror_debug(i32 noundef %11872, ptr noundef @.str.4)
  %11874 = call ptr @__errno_location() #12
  %11875 = load i32, ptr %11874, align 4, !tbaa !5
  %11876 = call ptr @strerror(i32 noundef %11875) #11
  %11877 = call ptr @__errno_location() #12
  %11878 = load i32, ptr %11877, align 4, !tbaa !5
  %11879 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11866, ptr noundef @.str.2, i32 noundef %11867, ptr noundef @.str.46, ptr noundef @.str.1, i32 noundef 521, ptr noundef %11870, ptr noundef %11873, ptr noundef %11876, i32 noundef %11878) #11
  br label %11897

11880:                                            ; preds = %11858, %11851
  %11881 = load i32, ptr %305, align 4, !tbaa !5
  %11882 = call ptr @__errno_location() #12
  store i32 %11881, ptr %11882, align 4, !tbaa !5
  %11883 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11884 = load i32, ptr @test_count, align 4, !tbaa !5
  %11885 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11886 = load i32, ptr %11885, align 4, !tbaa !5
  %11887 = call ptr @s2n_strerror(i32 noundef %11886, ptr noundef @.str.4)
  %11888 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11889 = load i32, ptr %11888, align 4, !tbaa !5
  %11890 = call ptr @s2n_strerror_debug(i32 noundef %11889, ptr noundef @.str.4)
  %11891 = call ptr @__errno_location() #12
  %11892 = load i32, ptr %11891, align 4, !tbaa !5
  %11893 = call ptr @strerror(i32 noundef %11892) #11
  %11894 = call ptr @__errno_location() #12
  %11895 = load i32, ptr %11894, align 4, !tbaa !5
  %11896 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11883, ptr noundef @.str.5, i32 noundef %11884, ptr noundef @.str.46, ptr noundef @.str.1, i32 noundef 521, ptr noundef %11887, ptr noundef %11890, ptr noundef %11893, i32 noundef %11895) #11
  br label %11897

11897:                                            ; preds = %11880, %11863
  call void @llvm.lifetime.end.p0(i64 4, ptr %305) #11
  br label %11898

11898:                                            ; preds = %11897
  br label %11899

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

11900:                                            ; No predecessors!
  br label %11901

11901:                                            ; preds = %11900
  br label %11902

11902:                                            ; preds = %11901, %11841
  br label %11903

11903:                                            ; preds = %11902
  br label %11904

11904:                                            ; preds = %11903
  br label %11905

11905:                                            ; preds = %11904
  %11906 = load i32, ptr @test_count, align 4, !tbaa !5
  %11907 = add nsw i32 %11906, 1
  store i32 %11907, ptr @test_count, align 4, !tbaa !5
  %11908 = load ptr, ptr %297, align 8, !tbaa !9
  %11909 = load ptr, ptr %299, align 8, !tbaa !9
  %11910 = call i32 @s2n_connections_set_io_stuffer_pair(ptr noundef %11908, ptr noundef %11909, ptr noundef %303)
  %11911 = getelementptr inbounds %struct.s2n_result, ptr %306, i32 0, i32 0
  store i32 %11910, ptr %11911, align 4
  %11912 = getelementptr inbounds %struct.s2n_result, ptr %306, i32 0, i32 0
  %11913 = load i32, ptr %11912, align 4
  %11914 = call zeroext i1 @s2n_result_is_ok(i32 %11913)
  br i1 %11914, label %11968, label %11915

11915:                                            ; preds = %11905
  br label %11916

11916:                                            ; preds = %11915
  br label %11917

11917:                                            ; preds = %11916
  call void @llvm.lifetime.start.p0(i64 4, ptr %307) #11
  %11918 = call ptr @__errno_location() #12
  %11919 = load i32, ptr %11918, align 4, !tbaa !5
  store i32 %11919, ptr %307, align 4, !tbaa !5
  %11920 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11921 = call i32 @s2n_print_stacktrace(ptr noundef %11920)
  %11922 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11923 = trunc i8 %11922 to i1
  br i1 %11923, label %11924, label %11946

11924:                                            ; preds = %11917
  %11925 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11926 = call i32 @fileno(ptr noundef %11925) #11
  %11927 = call i32 @isatty(i32 noundef %11926) #11
  %11928 = icmp ne i32 %11927, 0
  br i1 %11928, label %11929, label %11946

11929:                                            ; preds = %11924
  %11930 = load i32, ptr %307, align 4, !tbaa !5
  %11931 = call ptr @__errno_location() #12
  store i32 %11930, ptr %11931, align 4, !tbaa !5
  %11932 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11933 = load i32, ptr @test_count, align 4, !tbaa !5
  %11934 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11935 = load i32, ptr %11934, align 4, !tbaa !5
  %11936 = call ptr @s2n_strerror(i32 noundef %11935, ptr noundef @.str.4)
  %11937 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11938 = load i32, ptr %11937, align 4, !tbaa !5
  %11939 = call ptr @s2n_strerror_debug(i32 noundef %11938, ptr noundef @.str.4)
  %11940 = call ptr @__errno_location() #12
  %11941 = load i32, ptr %11940, align 4, !tbaa !5
  %11942 = call ptr @strerror(i32 noundef %11941) #11
  %11943 = call ptr @__errno_location() #12
  %11944 = load i32, ptr %11943, align 4, !tbaa !5
  %11945 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11932, ptr noundef @.str.2, i32 noundef %11933, ptr noundef @.str.47, ptr noundef @.str.1, i32 noundef 522, ptr noundef %11936, ptr noundef %11939, ptr noundef %11942, i32 noundef %11944) #11
  br label %11963

11946:                                            ; preds = %11924, %11917
  %11947 = load i32, ptr %307, align 4, !tbaa !5
  %11948 = call ptr @__errno_location() #12
  store i32 %11947, ptr %11948, align 4, !tbaa !5
  %11949 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11950 = load i32, ptr @test_count, align 4, !tbaa !5
  %11951 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11952 = load i32, ptr %11951, align 4, !tbaa !5
  %11953 = call ptr @s2n_strerror(i32 noundef %11952, ptr noundef @.str.4)
  %11954 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11955 = load i32, ptr %11954, align 4, !tbaa !5
  %11956 = call ptr @s2n_strerror_debug(i32 noundef %11955, ptr noundef @.str.4)
  %11957 = call ptr @__errno_location() #12
  %11958 = load i32, ptr %11957, align 4, !tbaa !5
  %11959 = call ptr @strerror(i32 noundef %11958) #11
  %11960 = call ptr @__errno_location() #12
  %11961 = load i32, ptr %11960, align 4, !tbaa !5
  %11962 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11949, ptr noundef @.str.5, i32 noundef %11950, ptr noundef @.str.47, ptr noundef @.str.1, i32 noundef 522, ptr noundef %11953, ptr noundef %11956, ptr noundef %11959, i32 noundef %11961) #11
  br label %11963

11963:                                            ; preds = %11946, %11929
  call void @llvm.lifetime.end.p0(i64 4, ptr %307) #11
  br label %11964

11964:                                            ; preds = %11963
  br label %11965

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

11966:                                            ; No predecessors!
  br label %11967

11967:                                            ; preds = %11966
  br label %11968

11968:                                            ; preds = %11967, %11905
  br label %11969

11969:                                            ; preds = %11968
  br label %11970

11970:                                            ; preds = %11969
  br label %11971

11971:                                            ; preds = %11970
  %11972 = load i32, ptr @test_count, align 4, !tbaa !5
  %11973 = add nsw i32 %11972, 1
  store i32 %11973, ptr @test_count, align 4, !tbaa !5
  %11974 = load ptr, ptr %299, align 8, !tbaa !9
  %11975 = load ptr, ptr %297, align 8, !tbaa !9
  %11976 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %11974, ptr noundef %11975)
  %11977 = icmp eq i32 %11976, -1
  br i1 %11977, label %11978, label %12031

11978:                                            ; preds = %11971
  br label %11979

11979:                                            ; preds = %11978
  br label %11980

11980:                                            ; preds = %11979
  call void @llvm.lifetime.start.p0(i64 4, ptr %308) #11
  %11981 = call ptr @__errno_location() #12
  %11982 = load i32, ptr %11981, align 4, !tbaa !5
  store i32 %11982, ptr %308, align 4, !tbaa !5
  %11983 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11984 = call i32 @s2n_print_stacktrace(ptr noundef %11983)
  %11985 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11986 = trunc i8 %11985 to i1
  br i1 %11986, label %11987, label %12009

11987:                                            ; preds = %11980
  %11988 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11989 = call i32 @fileno(ptr noundef %11988) #11
  %11990 = call i32 @isatty(i32 noundef %11989) #11
  %11991 = icmp ne i32 %11990, 0
  br i1 %11991, label %11992, label %12009

11992:                                            ; preds = %11987
  %11993 = load i32, ptr %308, align 4, !tbaa !5
  %11994 = call ptr @__errno_location() #12
  store i32 %11993, ptr %11994, align 4, !tbaa !5
  %11995 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11996 = load i32, ptr @test_count, align 4, !tbaa !5
  %11997 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11998 = load i32, ptr %11997, align 4, !tbaa !5
  %11999 = call ptr @s2n_strerror(i32 noundef %11998, ptr noundef @.str.4)
  %12000 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12001 = load i32, ptr %12000, align 4, !tbaa !5
  %12002 = call ptr @s2n_strerror_debug(i32 noundef %12001, ptr noundef @.str.4)
  %12003 = call ptr @__errno_location() #12
  %12004 = load i32, ptr %12003, align 4, !tbaa !5
  %12005 = call ptr @strerror(i32 noundef %12004) #11
  %12006 = call ptr @__errno_location() #12
  %12007 = load i32, ptr %12006, align 4, !tbaa !5
  %12008 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11995, ptr noundef @.str.2, i32 noundef %11996, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 524, ptr noundef %11999, ptr noundef %12002, ptr noundef %12005, i32 noundef %12007) #11
  br label %12026

12009:                                            ; preds = %11987, %11980
  %12010 = load i32, ptr %308, align 4, !tbaa !5
  %12011 = call ptr @__errno_location() #12
  store i32 %12010, ptr %12011, align 4, !tbaa !5
  %12012 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12013 = load i32, ptr @test_count, align 4, !tbaa !5
  %12014 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12015 = load i32, ptr %12014, align 4, !tbaa !5
  %12016 = call ptr @s2n_strerror(i32 noundef %12015, ptr noundef @.str.4)
  %12017 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12018 = load i32, ptr %12017, align 4, !tbaa !5
  %12019 = call ptr @s2n_strerror_debug(i32 noundef %12018, ptr noundef @.str.4)
  %12020 = call ptr @__errno_location() #12
  %12021 = load i32, ptr %12020, align 4, !tbaa !5
  %12022 = call ptr @strerror(i32 noundef %12021) #11
  %12023 = call ptr @__errno_location() #12
  %12024 = load i32, ptr %12023, align 4, !tbaa !5
  %12025 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12012, ptr noundef @.str.5, i32 noundef %12013, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 524, ptr noundef %12016, ptr noundef %12019, ptr noundef %12022, i32 noundef %12024) #11
  br label %12026

12026:                                            ; preds = %12009, %11992
  call void @llvm.lifetime.end.p0(i64 4, ptr %308) #11
  br label %12027

12027:                                            ; preds = %12026
  br label %12028

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

12029:                                            ; No predecessors!
  br label %12030

12030:                                            ; preds = %12029
  br label %12031

12031:                                            ; preds = %12030, %11971
  br label %12032

12032:                                            ; preds = %12031
  br label %12033

12033:                                            ; preds = %12032
  br label %12034

12034:                                            ; preds = %12033
  %12035 = load i32, ptr @test_count, align 4, !tbaa !5
  %12036 = add nsw i32 %12035, 1
  store i32 %12036, ptr @test_count, align 4, !tbaa !5
  %12037 = load ptr, ptr %299, align 8, !tbaa !9
  %12038 = load ptr, ptr %297, align 8, !tbaa !9
  %12039 = call i32 @s2n_send_and_recv_test(ptr noundef %12037, ptr noundef %12038)
  %12040 = getelementptr inbounds %struct.s2n_result, ptr %309, i32 0, i32 0
  store i32 %12039, ptr %12040, align 4
  %12041 = getelementptr inbounds %struct.s2n_result, ptr %309, i32 0, i32 0
  %12042 = load i32, ptr %12041, align 4
  %12043 = call zeroext i1 @s2n_result_is_ok(i32 %12042)
  br i1 %12043, label %12097, label %12044

12044:                                            ; preds = %12034
  br label %12045

12045:                                            ; preds = %12044
  br label %12046

12046:                                            ; preds = %12045
  call void @llvm.lifetime.start.p0(i64 4, ptr %310) #11
  %12047 = call ptr @__errno_location() #12
  %12048 = load i32, ptr %12047, align 4, !tbaa !5
  store i32 %12048, ptr %310, align 4, !tbaa !5
  %12049 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12050 = call i32 @s2n_print_stacktrace(ptr noundef %12049)
  %12051 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12052 = trunc i8 %12051 to i1
  br i1 %12052, label %12053, label %12075

12053:                                            ; preds = %12046
  %12054 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12055 = call i32 @fileno(ptr noundef %12054) #11
  %12056 = call i32 @isatty(i32 noundef %12055) #11
  %12057 = icmp ne i32 %12056, 0
  br i1 %12057, label %12058, label %12075

12058:                                            ; preds = %12053
  %12059 = load i32, ptr %310, align 4, !tbaa !5
  %12060 = call ptr @__errno_location() #12
  store i32 %12059, ptr %12060, align 4, !tbaa !5
  %12061 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12062 = load i32, ptr @test_count, align 4, !tbaa !5
  %12063 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12064 = load i32, ptr %12063, align 4, !tbaa !5
  %12065 = call ptr @s2n_strerror(i32 noundef %12064, ptr noundef @.str.4)
  %12066 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12067 = load i32, ptr %12066, align 4, !tbaa !5
  %12068 = call ptr @s2n_strerror_debug(i32 noundef %12067, ptr noundef @.str.4)
  %12069 = call ptr @__errno_location() #12
  %12070 = load i32, ptr %12069, align 4, !tbaa !5
  %12071 = call ptr @strerror(i32 noundef %12070) #11
  %12072 = call ptr @__errno_location() #12
  %12073 = load i32, ptr %12072, align 4, !tbaa !5
  %12074 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12061, ptr noundef @.str.2, i32 noundef %12062, ptr noundef @.str.103, ptr noundef @.str.1, i32 noundef 527, ptr noundef %12065, ptr noundef %12068, ptr noundef %12071, i32 noundef %12073) #11
  br label %12092

12075:                                            ; preds = %12053, %12046
  %12076 = load i32, ptr %310, align 4, !tbaa !5
  %12077 = call ptr @__errno_location() #12
  store i32 %12076, ptr %12077, align 4, !tbaa !5
  %12078 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12079 = load i32, ptr @test_count, align 4, !tbaa !5
  %12080 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12081 = load i32, ptr %12080, align 4, !tbaa !5
  %12082 = call ptr @s2n_strerror(i32 noundef %12081, ptr noundef @.str.4)
  %12083 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12084 = load i32, ptr %12083, align 4, !tbaa !5
  %12085 = call ptr @s2n_strerror_debug(i32 noundef %12084, ptr noundef @.str.4)
  %12086 = call ptr @__errno_location() #12
  %12087 = load i32, ptr %12086, align 4, !tbaa !5
  %12088 = call ptr @strerror(i32 noundef %12087) #11
  %12089 = call ptr @__errno_location() #12
  %12090 = load i32, ptr %12089, align 4, !tbaa !5
  %12091 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12078, ptr noundef @.str.5, i32 noundef %12079, ptr noundef @.str.103, ptr noundef @.str.1, i32 noundef 527, ptr noundef %12082, ptr noundef %12085, ptr noundef %12088, i32 noundef %12090) #11
  br label %12092

12092:                                            ; preds = %12075, %12058
  call void @llvm.lifetime.end.p0(i64 4, ptr %310) #11
  br label %12093

12093:                                            ; preds = %12092
  br label %12094

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

12095:                                            ; No predecessors!
  br label %12096

12096:                                            ; preds = %12095
  br label %12097

12097:                                            ; preds = %12096, %12034
  br label %12098

12098:                                            ; preds = %12097
  br label %12099

12099:                                            ; preds = %12098
  br label %12100

12100:                                            ; preds = %12099
  %12101 = load i32, ptr @test_count, align 4, !tbaa !5
  %12102 = add nsw i32 %12101, 1
  store i32 %12102, ptr @test_count, align 4, !tbaa !5
  %12103 = load ptr, ptr %297, align 8, !tbaa !9
  %12104 = load ptr, ptr %299, align 8, !tbaa !9
  %12105 = call i32 @s2n_send_and_recv_test(ptr noundef %12103, ptr noundef %12104)
  %12106 = getelementptr inbounds %struct.s2n_result, ptr %311, i32 0, i32 0
  store i32 %12105, ptr %12106, align 4
  %12107 = getelementptr inbounds %struct.s2n_result, ptr %311, i32 0, i32 0
  %12108 = load i32, ptr %12107, align 4
  %12109 = call zeroext i1 @s2n_result_is_ok(i32 %12108)
  br i1 %12109, label %12163, label %12110

12110:                                            ; preds = %12100
  br label %12111

12111:                                            ; preds = %12110
  br label %12112

12112:                                            ; preds = %12111
  call void @llvm.lifetime.start.p0(i64 4, ptr %312) #11
  %12113 = call ptr @__errno_location() #12
  %12114 = load i32, ptr %12113, align 4, !tbaa !5
  store i32 %12114, ptr %312, align 4, !tbaa !5
  %12115 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12116 = call i32 @s2n_print_stacktrace(ptr noundef %12115)
  %12117 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12118 = trunc i8 %12117 to i1
  br i1 %12118, label %12119, label %12141

12119:                                            ; preds = %12112
  %12120 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12121 = call i32 @fileno(ptr noundef %12120) #11
  %12122 = call i32 @isatty(i32 noundef %12121) #11
  %12123 = icmp ne i32 %12122, 0
  br i1 %12123, label %12124, label %12141

12124:                                            ; preds = %12119
  %12125 = load i32, ptr %312, align 4, !tbaa !5
  %12126 = call ptr @__errno_location() #12
  store i32 %12125, ptr %12126, align 4, !tbaa !5
  %12127 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12128 = load i32, ptr @test_count, align 4, !tbaa !5
  %12129 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12130 = load i32, ptr %12129, align 4, !tbaa !5
  %12131 = call ptr @s2n_strerror(i32 noundef %12130, ptr noundef @.str.4)
  %12132 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12133 = load i32, ptr %12132, align 4, !tbaa !5
  %12134 = call ptr @s2n_strerror_debug(i32 noundef %12133, ptr noundef @.str.4)
  %12135 = call ptr @__errno_location() #12
  %12136 = load i32, ptr %12135, align 4, !tbaa !5
  %12137 = call ptr @strerror(i32 noundef %12136) #11
  %12138 = call ptr @__errno_location() #12
  %12139 = load i32, ptr %12138, align 4, !tbaa !5
  %12140 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12127, ptr noundef @.str.2, i32 noundef %12128, ptr noundef @.str.104, ptr noundef @.str.1, i32 noundef 528, ptr noundef %12131, ptr noundef %12134, ptr noundef %12137, i32 noundef %12139) #11
  br label %12158

12141:                                            ; preds = %12119, %12112
  %12142 = load i32, ptr %312, align 4, !tbaa !5
  %12143 = call ptr @__errno_location() #12
  store i32 %12142, ptr %12143, align 4, !tbaa !5
  %12144 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12145 = load i32, ptr @test_count, align 4, !tbaa !5
  %12146 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12147 = load i32, ptr %12146, align 4, !tbaa !5
  %12148 = call ptr @s2n_strerror(i32 noundef %12147, ptr noundef @.str.4)
  %12149 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12150 = load i32, ptr %12149, align 4, !tbaa !5
  %12151 = call ptr @s2n_strerror_debug(i32 noundef %12150, ptr noundef @.str.4)
  %12152 = call ptr @__errno_location() #12
  %12153 = load i32, ptr %12152, align 4, !tbaa !5
  %12154 = call ptr @strerror(i32 noundef %12153) #11
  %12155 = call ptr @__errno_location() #12
  %12156 = load i32, ptr %12155, align 4, !tbaa !5
  %12157 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12144, ptr noundef @.str.5, i32 noundef %12145, ptr noundef @.str.104, ptr noundef @.str.1, i32 noundef 528, ptr noundef %12148, ptr noundef %12151, ptr noundef %12154, i32 noundef %12156) #11
  br label %12158

12158:                                            ; preds = %12141, %12124
  call void @llvm.lifetime.end.p0(i64 4, ptr %312) #11
  br label %12159

12159:                                            ; preds = %12158
  br label %12160

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

12161:                                            ; No predecessors!
  br label %12162

12162:                                            ; preds = %12161
  br label %12163

12163:                                            ; preds = %12162, %12100
  br label %12164

12164:                                            ; preds = %12163
  br label %12165

12165:                                            ; preds = %12164
  call void @llvm.lifetime.start.p0(i64 142, ptr %313) #11
  call void @llvm.memset.p0.i64(ptr align 16 %313, i8 0, i64 142, i1 false)
  br label %12166

12166:                                            ; preds = %12165
  %12167 = load i32, ptr @test_count, align 4, !tbaa !5
  %12168 = add nsw i32 %12167, 1
  store i32 %12168, ptr @test_count, align 4, !tbaa !5
  %12169 = load ptr, ptr %297, align 8, !tbaa !9
  %12170 = getelementptr inbounds [142 x i8], ptr %313, i64 0, i64 0
  %12171 = call i32 @s2n_connection_serialize(ptr noundef %12169, ptr noundef %12170, i32 noundef 142)
  %12172 = icmp eq i32 %12171, -1
  br i1 %12172, label %12173, label %12226

12173:                                            ; preds = %12166
  br label %12174

12174:                                            ; preds = %12173
  br label %12175

12175:                                            ; preds = %12174
  call void @llvm.lifetime.start.p0(i64 4, ptr %314) #11
  %12176 = call ptr @__errno_location() #12
  %12177 = load i32, ptr %12176, align 4, !tbaa !5
  store i32 %12177, ptr %314, align 4, !tbaa !5
  %12178 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12179 = call i32 @s2n_print_stacktrace(ptr noundef %12178)
  %12180 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12181 = trunc i8 %12180 to i1
  br i1 %12181, label %12182, label %12204

12182:                                            ; preds = %12175
  %12183 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12184 = call i32 @fileno(ptr noundef %12183) #11
  %12185 = call i32 @isatty(i32 noundef %12184) #11
  %12186 = icmp ne i32 %12185, 0
  br i1 %12186, label %12187, label %12204

12187:                                            ; preds = %12182
  %12188 = load i32, ptr %314, align 4, !tbaa !5
  %12189 = call ptr @__errno_location() #12
  store i32 %12188, ptr %12189, align 4, !tbaa !5
  %12190 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12191 = load i32, ptr @test_count, align 4, !tbaa !5
  %12192 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12193 = load i32, ptr %12192, align 4, !tbaa !5
  %12194 = call ptr @s2n_strerror(i32 noundef %12193, ptr noundef @.str.4)
  %12195 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12196 = load i32, ptr %12195, align 4, !tbaa !5
  %12197 = call ptr @s2n_strerror_debug(i32 noundef %12196, ptr noundef @.str.4)
  %12198 = call ptr @__errno_location() #12
  %12199 = load i32, ptr %12198, align 4, !tbaa !5
  %12200 = call ptr @strerror(i32 noundef %12199) #11
  %12201 = call ptr @__errno_location() #12
  %12202 = load i32, ptr %12201, align 4, !tbaa !5
  %12203 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12190, ptr noundef @.str.2, i32 noundef %12191, ptr noundef @.str.105, ptr noundef @.str.1, i32 noundef 531, ptr noundef %12194, ptr noundef %12197, ptr noundef %12200, i32 noundef %12202) #11
  br label %12221

12204:                                            ; preds = %12182, %12175
  %12205 = load i32, ptr %314, align 4, !tbaa !5
  %12206 = call ptr @__errno_location() #12
  store i32 %12205, ptr %12206, align 4, !tbaa !5
  %12207 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12208 = load i32, ptr @test_count, align 4, !tbaa !5
  %12209 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12210 = load i32, ptr %12209, align 4, !tbaa !5
  %12211 = call ptr @s2n_strerror(i32 noundef %12210, ptr noundef @.str.4)
  %12212 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12213 = load i32, ptr %12212, align 4, !tbaa !5
  %12214 = call ptr @s2n_strerror_debug(i32 noundef %12213, ptr noundef @.str.4)
  %12215 = call ptr @__errno_location() #12
  %12216 = load i32, ptr %12215, align 4, !tbaa !5
  %12217 = call ptr @strerror(i32 noundef %12216) #11
  %12218 = call ptr @__errno_location() #12
  %12219 = load i32, ptr %12218, align 4, !tbaa !5
  %12220 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12207, ptr noundef @.str.5, i32 noundef %12208, ptr noundef @.str.105, ptr noundef @.str.1, i32 noundef 531, ptr noundef %12211, ptr noundef %12214, ptr noundef %12217, i32 noundef %12219) #11
  br label %12221

12221:                                            ; preds = %12204, %12187
  call void @llvm.lifetime.end.p0(i64 4, ptr %314) #11
  br label %12222

12222:                                            ; preds = %12221
  br label %12223

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

12224:                                            ; No predecessors!
  br label %12225

12225:                                            ; preds = %12224
  br label %12226

12226:                                            ; preds = %12225, %12166
  br label %12227

12227:                                            ; preds = %12226
  br label %12228

12228:                                            ; preds = %12227
  call void @llvm.lifetime.start.p0(i64 8, ptr %315) #11
  %12229 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %12229, ptr %315, align 8, !tbaa !9
  br label %12230

12230:                                            ; preds = %12228
  %12231 = load i32, ptr @test_count, align 4, !tbaa !5
  %12232 = add nsw i32 %12231, 1
  store i32 %12232, ptr @test_count, align 4, !tbaa !5
  %12233 = load ptr, ptr %315, align 8, !tbaa !9
  %12234 = icmp eq ptr %12233, null
  br i1 %12234, label %12235, label %12288

12235:                                            ; preds = %12230
  br label %12236

12236:                                            ; preds = %12235
  br label %12237

12237:                                            ; preds = %12236
  call void @llvm.lifetime.start.p0(i64 4, ptr %316) #11
  %12238 = call ptr @__errno_location() #12
  %12239 = load i32, ptr %12238, align 4, !tbaa !5
  store i32 %12239, ptr %316, align 4, !tbaa !5
  %12240 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12241 = call i32 @s2n_print_stacktrace(ptr noundef %12240)
  %12242 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12243 = trunc i8 %12242 to i1
  br i1 %12243, label %12244, label %12266

12244:                                            ; preds = %12237
  %12245 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12246 = call i32 @fileno(ptr noundef %12245) #11
  %12247 = call i32 @isatty(i32 noundef %12246) #11
  %12248 = icmp ne i32 %12247, 0
  br i1 %12248, label %12249, label %12266

12249:                                            ; preds = %12244
  %12250 = load i32, ptr %316, align 4, !tbaa !5
  %12251 = call ptr @__errno_location() #12
  store i32 %12250, ptr %12251, align 4, !tbaa !5
  %12252 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12253 = load i32, ptr @test_count, align 4, !tbaa !5
  %12254 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12255 = load i32, ptr %12254, align 4, !tbaa !5
  %12256 = call ptr @s2n_strerror(i32 noundef %12255, ptr noundef @.str.4)
  %12257 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12258 = load i32, ptr %12257, align 4, !tbaa !5
  %12259 = call ptr @s2n_strerror_debug(i32 noundef %12258, ptr noundef @.str.4)
  %12260 = call ptr @__errno_location() #12
  %12261 = load i32, ptr %12260, align 4, !tbaa !5
  %12262 = call ptr @strerror(i32 noundef %12261) #11
  %12263 = call ptr @__errno_location() #12
  %12264 = load i32, ptr %12263, align 4, !tbaa !5
  %12265 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12252, ptr noundef @.str.2, i32 noundef %12253, ptr noundef @.str.106, ptr noundef @.str.1, i32 noundef 536, ptr noundef %12256, ptr noundef %12259, ptr noundef %12262, i32 noundef %12264) #11
  br label %12283

12266:                                            ; preds = %12244, %12237
  %12267 = load i32, ptr %316, align 4, !tbaa !5
  %12268 = call ptr @__errno_location() #12
  store i32 %12267, ptr %12268, align 4, !tbaa !5
  %12269 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12270 = load i32, ptr @test_count, align 4, !tbaa !5
  %12271 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12272 = load i32, ptr %12271, align 4, !tbaa !5
  %12273 = call ptr @s2n_strerror(i32 noundef %12272, ptr noundef @.str.4)
  %12274 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12275 = load i32, ptr %12274, align 4, !tbaa !5
  %12276 = call ptr @s2n_strerror_debug(i32 noundef %12275, ptr noundef @.str.4)
  %12277 = call ptr @__errno_location() #12
  %12278 = load i32, ptr %12277, align 4, !tbaa !5
  %12279 = call ptr @strerror(i32 noundef %12278) #11
  %12280 = call ptr @__errno_location() #12
  %12281 = load i32, ptr %12280, align 4, !tbaa !5
  %12282 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12269, ptr noundef @.str.5, i32 noundef %12270, ptr noundef @.str.106, ptr noundef @.str.1, i32 noundef 536, ptr noundef %12273, ptr noundef %12276, ptr noundef %12279, i32 noundef %12281) #11
  br label %12283

12283:                                            ; preds = %12266, %12249
  call void @llvm.lifetime.end.p0(i64 4, ptr %316) #11
  br label %12284

12284:                                            ; preds = %12283
  br label %12285

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

12286:                                            ; No predecessors!
  br label %12287

12287:                                            ; preds = %12286
  br label %12288

12288:                                            ; preds = %12287, %12230
  br label %12289

12289:                                            ; preds = %12288
  br label %12290

12290:                                            ; preds = %12289
  br label %12291

12291:                                            ; preds = %12290
  %12292 = load i32, ptr @test_count, align 4, !tbaa !5
  %12293 = add nsw i32 %12292, 1
  store i32 %12293, ptr @test_count, align 4, !tbaa !5
  %12294 = load ptr, ptr %315, align 8, !tbaa !9
  %12295 = getelementptr inbounds [142 x i8], ptr %313, i64 0, i64 0
  %12296 = call i32 @s2n_connection_deserialize(ptr noundef %12294, ptr noundef %12295, i32 noundef 142)
  %12297 = icmp eq i32 %12296, -1
  br i1 %12297, label %12298, label %12351

12298:                                            ; preds = %12291
  br label %12299

12299:                                            ; preds = %12298
  br label %12300

12300:                                            ; preds = %12299
  call void @llvm.lifetime.start.p0(i64 4, ptr %317) #11
  %12301 = call ptr @__errno_location() #12
  %12302 = load i32, ptr %12301, align 4, !tbaa !5
  store i32 %12302, ptr %317, align 4, !tbaa !5
  %12303 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12304 = call i32 @s2n_print_stacktrace(ptr noundef %12303)
  %12305 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12306 = trunc i8 %12305 to i1
  br i1 %12306, label %12307, label %12329

12307:                                            ; preds = %12300
  %12308 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12309 = call i32 @fileno(ptr noundef %12308) #11
  %12310 = call i32 @isatty(i32 noundef %12309) #11
  %12311 = icmp ne i32 %12310, 0
  br i1 %12311, label %12312, label %12329

12312:                                            ; preds = %12307
  %12313 = load i32, ptr %317, align 4, !tbaa !5
  %12314 = call ptr @__errno_location() #12
  store i32 %12313, ptr %12314, align 4, !tbaa !5
  %12315 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12316 = load i32, ptr @test_count, align 4, !tbaa !5
  %12317 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12318 = load i32, ptr %12317, align 4, !tbaa !5
  %12319 = call ptr @s2n_strerror(i32 noundef %12318, ptr noundef @.str.4)
  %12320 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12321 = load i32, ptr %12320, align 4, !tbaa !5
  %12322 = call ptr @s2n_strerror_debug(i32 noundef %12321, ptr noundef @.str.4)
  %12323 = call ptr @__errno_location() #12
  %12324 = load i32, ptr %12323, align 4, !tbaa !5
  %12325 = call ptr @strerror(i32 noundef %12324) #11
  %12326 = call ptr @__errno_location() #12
  %12327 = load i32, ptr %12326, align 4, !tbaa !5
  %12328 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12315, ptr noundef @.str.2, i32 noundef %12316, ptr noundef @.str.107, ptr noundef @.str.1, i32 noundef 537, ptr noundef %12319, ptr noundef %12322, ptr noundef %12325, i32 noundef %12327) #11
  br label %12346

12329:                                            ; preds = %12307, %12300
  %12330 = load i32, ptr %317, align 4, !tbaa !5
  %12331 = call ptr @__errno_location() #12
  store i32 %12330, ptr %12331, align 4, !tbaa !5
  %12332 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12333 = load i32, ptr @test_count, align 4, !tbaa !5
  %12334 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12335 = load i32, ptr %12334, align 4, !tbaa !5
  %12336 = call ptr @s2n_strerror(i32 noundef %12335, ptr noundef @.str.4)
  %12337 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12338 = load i32, ptr %12337, align 4, !tbaa !5
  %12339 = call ptr @s2n_strerror_debug(i32 noundef %12338, ptr noundef @.str.4)
  %12340 = call ptr @__errno_location() #12
  %12341 = load i32, ptr %12340, align 4, !tbaa !5
  %12342 = call ptr @strerror(i32 noundef %12341) #11
  %12343 = call ptr @__errno_location() #12
  %12344 = load i32, ptr %12343, align 4, !tbaa !5
  %12345 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12332, ptr noundef @.str.5, i32 noundef %12333, ptr noundef @.str.107, ptr noundef @.str.1, i32 noundef 537, ptr noundef %12336, ptr noundef %12339, ptr noundef %12342, i32 noundef %12344) #11
  br label %12346

12346:                                            ; preds = %12329, %12312
  call void @llvm.lifetime.end.p0(i64 4, ptr %317) #11
  br label %12347

12347:                                            ; preds = %12346
  br label %12348

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

12349:                                            ; No predecessors!
  br label %12350

12350:                                            ; preds = %12349
  br label %12351

12351:                                            ; preds = %12350, %12291
  br label %12352

12352:                                            ; preds = %12351
  br label %12353

12353:                                            ; preds = %12352
  br label %12354

12354:                                            ; preds = %12353
  %12355 = load i32, ptr @test_count, align 4, !tbaa !5
  %12356 = add nsw i32 %12355, 1
  store i32 %12356, ptr @test_count, align 4, !tbaa !5
  %12357 = getelementptr inbounds %struct.s2n_test_io_stuffer_pair, ptr %303, i32 0, i32 0
  %12358 = call i32 @s2n_stuffer_wipe(ptr noundef %12357)
  %12359 = icmp eq i32 %12358, -1
  br i1 %12359, label %12360, label %12413

12360:                                            ; preds = %12354
  br label %12361

12361:                                            ; preds = %12360
  br label %12362

12362:                                            ; preds = %12361
  call void @llvm.lifetime.start.p0(i64 4, ptr %318) #11
  %12363 = call ptr @__errno_location() #12
  %12364 = load i32, ptr %12363, align 4, !tbaa !5
  store i32 %12364, ptr %318, align 4, !tbaa !5
  %12365 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12366 = call i32 @s2n_print_stacktrace(ptr noundef %12365)
  %12367 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12368 = trunc i8 %12367 to i1
  br i1 %12368, label %12369, label %12391

12369:                                            ; preds = %12362
  %12370 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12371 = call i32 @fileno(ptr noundef %12370) #11
  %12372 = call i32 @isatty(i32 noundef %12371) #11
  %12373 = icmp ne i32 %12372, 0
  br i1 %12373, label %12374, label %12391

12374:                                            ; preds = %12369
  %12375 = load i32, ptr %318, align 4, !tbaa !5
  %12376 = call ptr @__errno_location() #12
  store i32 %12375, ptr %12376, align 4, !tbaa !5
  %12377 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12378 = load i32, ptr @test_count, align 4, !tbaa !5
  %12379 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12380 = load i32, ptr %12379, align 4, !tbaa !5
  %12381 = call ptr @s2n_strerror(i32 noundef %12380, ptr noundef @.str.4)
  %12382 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12383 = load i32, ptr %12382, align 4, !tbaa !5
  %12384 = call ptr @s2n_strerror_debug(i32 noundef %12383, ptr noundef @.str.4)
  %12385 = call ptr @__errno_location() #12
  %12386 = load i32, ptr %12385, align 4, !tbaa !5
  %12387 = call ptr @strerror(i32 noundef %12386) #11
  %12388 = call ptr @__errno_location() #12
  %12389 = load i32, ptr %12388, align 4, !tbaa !5
  %12390 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12377, ptr noundef @.str.2, i32 noundef %12378, ptr noundef @.str.108, ptr noundef @.str.1, i32 noundef 540, ptr noundef %12381, ptr noundef %12384, ptr noundef %12387, i32 noundef %12389) #11
  br label %12408

12391:                                            ; preds = %12369, %12362
  %12392 = load i32, ptr %318, align 4, !tbaa !5
  %12393 = call ptr @__errno_location() #12
  store i32 %12392, ptr %12393, align 4, !tbaa !5
  %12394 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12395 = load i32, ptr @test_count, align 4, !tbaa !5
  %12396 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12397 = load i32, ptr %12396, align 4, !tbaa !5
  %12398 = call ptr @s2n_strerror(i32 noundef %12397, ptr noundef @.str.4)
  %12399 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12400 = load i32, ptr %12399, align 4, !tbaa !5
  %12401 = call ptr @s2n_strerror_debug(i32 noundef %12400, ptr noundef @.str.4)
  %12402 = call ptr @__errno_location() #12
  %12403 = load i32, ptr %12402, align 4, !tbaa !5
  %12404 = call ptr @strerror(i32 noundef %12403) #11
  %12405 = call ptr @__errno_location() #12
  %12406 = load i32, ptr %12405, align 4, !tbaa !5
  %12407 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12394, ptr noundef @.str.5, i32 noundef %12395, ptr noundef @.str.108, ptr noundef @.str.1, i32 noundef 540, ptr noundef %12398, ptr noundef %12401, ptr noundef %12404, i32 noundef %12406) #11
  br label %12408

12408:                                            ; preds = %12391, %12374
  call void @llvm.lifetime.end.p0(i64 4, ptr %318) #11
  br label %12409

12409:                                            ; preds = %12408
  br label %12410

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

12411:                                            ; No predecessors!
  br label %12412

12412:                                            ; preds = %12411
  br label %12413

12413:                                            ; preds = %12412, %12354
  br label %12414

12414:                                            ; preds = %12413
  br label %12415

12415:                                            ; preds = %12414
  br label %12416

12416:                                            ; preds = %12415
  %12417 = load i32, ptr @test_count, align 4, !tbaa !5
  %12418 = add nsw i32 %12417, 1
  store i32 %12418, ptr @test_count, align 4, !tbaa !5
  %12419 = getelementptr inbounds %struct.s2n_test_io_stuffer_pair, ptr %303, i32 0, i32 1
  %12420 = call i32 @s2n_stuffer_wipe(ptr noundef %12419)
  %12421 = icmp eq i32 %12420, -1
  br i1 %12421, label %12422, label %12475

12422:                                            ; preds = %12416
  br label %12423

12423:                                            ; preds = %12422
  br label %12424

12424:                                            ; preds = %12423
  call void @llvm.lifetime.start.p0(i64 4, ptr %319) #11
  %12425 = call ptr @__errno_location() #12
  %12426 = load i32, ptr %12425, align 4, !tbaa !5
  store i32 %12426, ptr %319, align 4, !tbaa !5
  %12427 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12428 = call i32 @s2n_print_stacktrace(ptr noundef %12427)
  %12429 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12430 = trunc i8 %12429 to i1
  br i1 %12430, label %12431, label %12453

12431:                                            ; preds = %12424
  %12432 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12433 = call i32 @fileno(ptr noundef %12432) #11
  %12434 = call i32 @isatty(i32 noundef %12433) #11
  %12435 = icmp ne i32 %12434, 0
  br i1 %12435, label %12436, label %12453

12436:                                            ; preds = %12431
  %12437 = load i32, ptr %319, 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.4)
  %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.4)
  %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.2, i32 noundef %12440, ptr noundef @.str.109, ptr noundef @.str.1, i32 noundef 541, ptr noundef %12443, ptr noundef %12446, ptr noundef %12449, i32 noundef %12451) #11
  br label %12470

12453:                                            ; preds = %12431, %12424
  %12454 = load i32, ptr %319, align 4, !tbaa !5
  %12455 = call ptr @__errno_location() #12
  store i32 %12454, ptr %12455, align 4, !tbaa !5
  %12456 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12457 = load i32, ptr @test_count, align 4, !tbaa !5
  %12458 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12459 = load i32, ptr %12458, align 4, !tbaa !5
  %12460 = call ptr @s2n_strerror(i32 noundef %12459, ptr noundef @.str.4)
  %12461 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12462 = load i32, ptr %12461, align 4, !tbaa !5
  %12463 = call ptr @s2n_strerror_debug(i32 noundef %12462, ptr noundef @.str.4)
  %12464 = call ptr @__errno_location() #12
  %12465 = load i32, ptr %12464, align 4, !tbaa !5
  %12466 = call ptr @strerror(i32 noundef %12465) #11
  %12467 = call ptr @__errno_location() #12
  %12468 = load i32, ptr %12467, align 4, !tbaa !5
  %12469 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12456, ptr noundef @.str.5, i32 noundef %12457, ptr noundef @.str.109, ptr noundef @.str.1, i32 noundef 541, ptr noundef %12460, ptr noundef %12463, ptr noundef %12466, i32 noundef %12468) #11
  br label %12470

12470:                                            ; preds = %12453, %12436
  call void @llvm.lifetime.end.p0(i64 4, ptr %319) #11
  br label %12471

12471:                                            ; preds = %12470
  br label %12472

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

12473:                                            ; No predecessors!
  br label %12474

12474:                                            ; preds = %12473
  br label %12475

12475:                                            ; preds = %12474, %12416
  br label %12476

12476:                                            ; preds = %12475
  br label %12477

12477:                                            ; preds = %12476
  br label %12478

12478:                                            ; preds = %12477
  %12479 = load i32, ptr @test_count, align 4, !tbaa !5
  %12480 = add nsw i32 %12479, 1
  store i32 %12480, ptr @test_count, align 4, !tbaa !5
  %12481 = load ptr, ptr %315, align 8, !tbaa !9
  %12482 = load ptr, ptr %299, align 8, !tbaa !9
  %12483 = call i32 @s2n_connections_set_io_stuffer_pair(ptr noundef %12481, ptr noundef %12482, ptr noundef %303)
  %12484 = getelementptr inbounds %struct.s2n_result, ptr %320, i32 0, i32 0
  store i32 %12483, ptr %12484, align 4
  %12485 = getelementptr inbounds %struct.s2n_result, ptr %320, i32 0, i32 0
  %12486 = load i32, ptr %12485, align 4
  %12487 = call zeroext i1 @s2n_result_is_ok(i32 %12486)
  br i1 %12487, label %12541, label %12488

12488:                                            ; preds = %12478
  br label %12489

12489:                                            ; preds = %12488
  br label %12490

12490:                                            ; preds = %12489
  call void @llvm.lifetime.start.p0(i64 4, ptr %321) #11
  %12491 = call ptr @__errno_location() #12
  %12492 = load i32, ptr %12491, align 4, !tbaa !5
  store i32 %12492, ptr %321, align 4, !tbaa !5
  %12493 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12494 = call i32 @s2n_print_stacktrace(ptr noundef %12493)
  %12495 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12496 = trunc i8 %12495 to i1
  br i1 %12496, label %12497, label %12519

12497:                                            ; preds = %12490
  %12498 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12499 = call i32 @fileno(ptr noundef %12498) #11
  %12500 = call i32 @isatty(i32 noundef %12499) #11
  %12501 = icmp ne i32 %12500, 0
  br i1 %12501, label %12502, label %12519

12502:                                            ; preds = %12497
  %12503 = load i32, ptr %321, align 4, !tbaa !5
  %12504 = call ptr @__errno_location() #12
  store i32 %12503, ptr %12504, align 4, !tbaa !5
  %12505 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12506 = load i32, ptr @test_count, align 4, !tbaa !5
  %12507 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12508 = load i32, ptr %12507, align 4, !tbaa !5
  %12509 = call ptr @s2n_strerror(i32 noundef %12508, ptr noundef @.str.4)
  %12510 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12511 = load i32, ptr %12510, align 4, !tbaa !5
  %12512 = call ptr @s2n_strerror_debug(i32 noundef %12511, ptr noundef @.str.4)
  %12513 = call ptr @__errno_location() #12
  %12514 = load i32, ptr %12513, align 4, !tbaa !5
  %12515 = call ptr @strerror(i32 noundef %12514) #11
  %12516 = call ptr @__errno_location() #12
  %12517 = load i32, ptr %12516, align 4, !tbaa !5
  %12518 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12505, ptr noundef @.str.2, i32 noundef %12506, ptr noundef @.str.110, ptr noundef @.str.1, i32 noundef 542, ptr noundef %12509, ptr noundef %12512, ptr noundef %12515, i32 noundef %12517) #11
  br label %12536

12519:                                            ; preds = %12497, %12490
  %12520 = load i32, ptr %321, align 4, !tbaa !5
  %12521 = call ptr @__errno_location() #12
  store i32 %12520, ptr %12521, align 4, !tbaa !5
  %12522 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12523 = load i32, ptr @test_count, align 4, !tbaa !5
  %12524 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12525 = load i32, ptr %12524, align 4, !tbaa !5
  %12526 = call ptr @s2n_strerror(i32 noundef %12525, ptr noundef @.str.4)
  %12527 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12528 = load i32, ptr %12527, align 4, !tbaa !5
  %12529 = call ptr @s2n_strerror_debug(i32 noundef %12528, ptr noundef @.str.4)
  %12530 = call ptr @__errno_location() #12
  %12531 = load i32, ptr %12530, align 4, !tbaa !5
  %12532 = call ptr @strerror(i32 noundef %12531) #11
  %12533 = call ptr @__errno_location() #12
  %12534 = load i32, ptr %12533, align 4, !tbaa !5
  %12535 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12522, ptr noundef @.str.5, i32 noundef %12523, ptr noundef @.str.110, ptr noundef @.str.1, i32 noundef 542, ptr noundef %12526, ptr noundef %12529, ptr noundef %12532, i32 noundef %12534) #11
  br label %12536

12536:                                            ; preds = %12519, %12502
  call void @llvm.lifetime.end.p0(i64 4, ptr %321) #11
  br label %12537

12537:                                            ; preds = %12536
  br label %12538

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

12539:                                            ; No predecessors!
  br label %12540

12540:                                            ; preds = %12539
  br label %12541

12541:                                            ; preds = %12540, %12478
  br label %12542

12542:                                            ; preds = %12541
  br label %12543

12543:                                            ; preds = %12542
  call void @llvm.lifetime.start.p0(i64 8, ptr %322) #11
  store i64 0, ptr %322, align 8, !tbaa !42
  br label %12544

12544:                                            ; preds = %12681, %12543
  %12545 = load i64, ptr %322, align 8, !tbaa !42
  %12546 = icmp ult i64 %12545, 1000
  br i1 %12546, label %12548, label %12547

12547:                                            ; preds = %12544
  store i32 1232, ptr %296, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %322) #11
  br label %12684

12548:                                            ; preds = %12544
  br label %12549

12549:                                            ; preds = %12548
  %12550 = load i32, ptr @test_count, align 4, !tbaa !5
  %12551 = add nsw i32 %12550, 1
  store i32 %12551, ptr @test_count, align 4, !tbaa !5
  %12552 = load ptr, ptr %299, align 8, !tbaa !9
  %12553 = load ptr, ptr %315, align 8, !tbaa !9
  %12554 = call i32 @s2n_send_and_recv_test(ptr noundef %12552, ptr noundef %12553)
  %12555 = getelementptr inbounds %struct.s2n_result, ptr %323, i32 0, i32 0
  store i32 %12554, ptr %12555, align 4
  %12556 = getelementptr inbounds %struct.s2n_result, ptr %323, i32 0, i32 0
  %12557 = load i32, ptr %12556, align 4
  %12558 = call zeroext i1 @s2n_result_is_ok(i32 %12557)
  br i1 %12558, label %12612, label %12559

12559:                                            ; preds = %12549
  br label %12560

12560:                                            ; preds = %12559
  br label %12561

12561:                                            ; preds = %12560
  call void @llvm.lifetime.start.p0(i64 4, ptr %324) #11
  %12562 = call ptr @__errno_location() #12
  %12563 = load i32, ptr %12562, align 4, !tbaa !5
  store i32 %12563, ptr %324, align 4, !tbaa !5
  %12564 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12565 = call i32 @s2n_print_stacktrace(ptr noundef %12564)
  %12566 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12567 = trunc i8 %12566 to i1
  br i1 %12567, label %12568, label %12590

12568:                                            ; preds = %12561
  %12569 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12570 = call i32 @fileno(ptr noundef %12569) #11
  %12571 = call i32 @isatty(i32 noundef %12570) #11
  %12572 = icmp ne i32 %12571, 0
  br i1 %12572, label %12573, label %12590

12573:                                            ; preds = %12568
  %12574 = load i32, ptr %324, align 4, !tbaa !5
  %12575 = call ptr @__errno_location() #12
  store i32 %12574, ptr %12575, align 4, !tbaa !5
  %12576 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12577 = load i32, ptr @test_count, align 4, !tbaa !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(i32 noundef %12579, ptr noundef @.str.4)
  %12581 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12582 = load i32, ptr %12581, align 4, !tbaa !5
  %12583 = call ptr @s2n_strerror_debug(i32 noundef %12582, ptr noundef @.str.4)
  %12584 = call ptr @__errno_location() #12
  %12585 = load i32, ptr %12584, align 4, !tbaa !5
  %12586 = call ptr @strerror(i32 noundef %12585) #11
  %12587 = call ptr @__errno_location() #12
  %12588 = load i32, ptr %12587, align 4, !tbaa !5
  %12589 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12576, ptr noundef @.str.2, i32 noundef %12577, ptr noundef @.str.111, ptr noundef @.str.1, i32 noundef 546, ptr noundef %12580, ptr noundef %12583, ptr noundef %12586, i32 noundef %12588) #11
  br label %12607

12590:                                            ; preds = %12568, %12561
  %12591 = load i32, ptr %324, align 4, !tbaa !5
  %12592 = call ptr @__errno_location() #12
  store i32 %12591, ptr %12592, align 4, !tbaa !5
  %12593 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12594 = load i32, ptr @test_count, align 4, !tbaa !5
  %12595 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12596 = load i32, ptr %12595, align 4, !tbaa !5
  %12597 = call ptr @s2n_strerror(i32 noundef %12596, ptr noundef @.str.4)
  %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.4)
  %12601 = call ptr @__errno_location() #12
  %12602 = load i32, ptr %12601, align 4, !tbaa !5
  %12603 = call ptr @strerror(i32 noundef %12602) #11
  %12604 = call ptr @__errno_location() #12
  %12605 = load i32, ptr %12604, align 4, !tbaa !5
  %12606 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12593, ptr noundef @.str.5, i32 noundef %12594, ptr noundef @.str.111, ptr noundef @.str.1, i32 noundef 546, ptr noundef %12597, ptr noundef %12600, ptr noundef %12603, i32 noundef %12605) #11
  br label %12607

12607:                                            ; preds = %12590, %12573
  call void @llvm.lifetime.end.p0(i64 4, ptr %324) #11
  br label %12608

12608:                                            ; preds = %12607
  br label %12609

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

12610:                                            ; No predecessors!
  br label %12611

12611:                                            ; preds = %12610
  br label %12612

12612:                                            ; preds = %12611, %12549
  br label %12613

12613:                                            ; preds = %12612
  br label %12614

12614:                                            ; preds = %12613
  br label %12615

12615:                                            ; preds = %12614
  %12616 = load i32, ptr @test_count, align 4, !tbaa !5
  %12617 = add nsw i32 %12616, 1
  store i32 %12617, ptr @test_count, align 4, !tbaa !5
  %12618 = load ptr, ptr %315, align 8, !tbaa !9
  %12619 = load ptr, ptr %299, align 8, !tbaa !9
  %12620 = call i32 @s2n_send_and_recv_test(ptr noundef %12618, ptr noundef %12619)
  %12621 = getelementptr inbounds %struct.s2n_result, ptr %325, i32 0, i32 0
  store i32 %12620, ptr %12621, align 4
  %12622 = getelementptr inbounds %struct.s2n_result, ptr %325, i32 0, i32 0
  %12623 = load i32, ptr %12622, align 4
  %12624 = call zeroext i1 @s2n_result_is_ok(i32 %12623)
  br i1 %12624, label %12678, label %12625

12625:                                            ; preds = %12615
  br label %12626

12626:                                            ; preds = %12625
  br label %12627

12627:                                            ; preds = %12626
  call void @llvm.lifetime.start.p0(i64 4, ptr %326) #11
  %12628 = call ptr @__errno_location() #12
  %12629 = load i32, ptr %12628, align 4, !tbaa !5
  store i32 %12629, ptr %326, align 4, !tbaa !5
  %12630 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12631 = call i32 @s2n_print_stacktrace(ptr noundef %12630)
  %12632 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12633 = trunc i8 %12632 to i1
  br i1 %12633, label %12634, label %12656

12634:                                            ; preds = %12627
  %12635 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12636 = call i32 @fileno(ptr noundef %12635) #11
  %12637 = call i32 @isatty(i32 noundef %12636) #11
  %12638 = icmp ne i32 %12637, 0
  br i1 %12638, label %12639, label %12656

12639:                                            ; preds = %12634
  %12640 = load i32, ptr %326, align 4, !tbaa !5
  %12641 = call ptr @__errno_location() #12
  store i32 %12640, ptr %12641, align 4, !tbaa !5
  %12642 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12643 = load i32, ptr @test_count, align 4, !tbaa !5
  %12644 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12645 = load i32, ptr %12644, align 4, !tbaa !5
  %12646 = call ptr @s2n_strerror(i32 noundef %12645, ptr noundef @.str.4)
  %12647 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12648 = load i32, ptr %12647, align 4, !tbaa !5
  %12649 = call ptr @s2n_strerror_debug(i32 noundef %12648, ptr noundef @.str.4)
  %12650 = call ptr @__errno_location() #12
  %12651 = load i32, ptr %12650, align 4, !tbaa !5
  %12652 = call ptr @strerror(i32 noundef %12651) #11
  %12653 = call ptr @__errno_location() #12
  %12654 = load i32, ptr %12653, align 4, !tbaa !5
  %12655 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12642, ptr noundef @.str.2, i32 noundef %12643, ptr noundef @.str.112, ptr noundef @.str.1, i32 noundef 547, ptr noundef %12646, ptr noundef %12649, ptr noundef %12652, i32 noundef %12654) #11
  br label %12673

12656:                                            ; preds = %12634, %12627
  %12657 = load i32, ptr %326, align 4, !tbaa !5
  %12658 = call ptr @__errno_location() #12
  store i32 %12657, ptr %12658, align 4, !tbaa !5
  %12659 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12660 = load i32, ptr @test_count, align 4, !tbaa !5
  %12661 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12662 = load i32, ptr %12661, align 4, !tbaa !5
  %12663 = call ptr @s2n_strerror(i32 noundef %12662, ptr noundef @.str.4)
  %12664 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12665 = load i32, ptr %12664, align 4, !tbaa !5
  %12666 = call ptr @s2n_strerror_debug(i32 noundef %12665, ptr noundef @.str.4)
  %12667 = call ptr @__errno_location() #12
  %12668 = load i32, ptr %12667, align 4, !tbaa !5
  %12669 = call ptr @strerror(i32 noundef %12668) #11
  %12670 = call ptr @__errno_location() #12
  %12671 = load i32, ptr %12670, align 4, !tbaa !5
  %12672 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12659, ptr noundef @.str.5, i32 noundef %12660, ptr noundef @.str.112, ptr noundef @.str.1, i32 noundef 547, ptr noundef %12663, ptr noundef %12666, ptr noundef %12669, i32 noundef %12671) #11
  br label %12673

12673:                                            ; preds = %12656, %12639
  call void @llvm.lifetime.end.p0(i64 4, ptr %326) #11
  br label %12674

12674:                                            ; preds = %12673
  br label %12675

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

12676:                                            ; No predecessors!
  br label %12677

12677:                                            ; preds = %12676
  br label %12678

12678:                                            ; preds = %12677, %12615
  br label %12679

12679:                                            ; preds = %12678
  br label %12680

12680:                                            ; preds = %12679
  br label %12681

12681:                                            ; preds = %12680
  %12682 = load i64, ptr %322, align 8, !tbaa !42
  %12683 = add i64 %12682, 1
  store i64 %12683, ptr %322, align 8, !tbaa !42
  br label %12544, !llvm.loop !60

12684:                                            ; preds = %12547
  %12685 = call i32 @s2n_connection_ptr_free(ptr noundef %315)
  %12686 = getelementptr inbounds %struct.s2n_result, ptr %327, i32 0, i32 0
  store i32 %12685, ptr %12686, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %315) #11
  call void @llvm.lifetime.end.p0(i64 142, ptr %313) #11
  %12687 = call i32 @s2n_io_stuffer_pair_free(ptr noundef %303)
  %12688 = getelementptr inbounds %struct.s2n_result, ptr %328, i32 0, i32 0
  store i32 %12687, ptr %12688, align 4
  call void @llvm.lifetime.end.p0(i64 80, ptr %303) #11
  %12689 = call i32 @s2n_connection_ptr_free(ptr noundef %299)
  %12690 = getelementptr inbounds %struct.s2n_result, ptr %329, i32 0, i32 0
  store i32 %12689, ptr %12690, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %299) #11
  %12691 = call i32 @s2n_connection_ptr_free(ptr noundef %297)
  %12692 = getelementptr inbounds %struct.s2n_result, ptr %330, i32 0, i32 0
  store i32 %12691, ptr %12692, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %297) #11
  br label %12693

12693:                                            ; preds = %12684
  %12694 = load i64, ptr %295, align 8, !tbaa !42
  %12695 = add i64 %12694, 1
  store i64 %12695, ptr %295, align 8, !tbaa !42
  br label %11582, !llvm.loop !61

12696:                                            ; preds = %11585
  call void @llvm.lifetime.start.p0(i64 8, ptr %331) #11
  store i64 0, ptr %331, align 8, !tbaa !42
  br label %12697

12697:                                            ; preds = %13808, %12696
  %12698 = load i64, ptr %331, align 8, !tbaa !42
  %12699 = icmp ult i64 %12698, 2
  br i1 %12699, label %12701, label %12700

12700:                                            ; preds = %12697
  store i32 1247, ptr %296, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %331) #11
  br label %13811

12701:                                            ; preds = %12697
  call void @llvm.lifetime.start.p0(i64 8, ptr %332) #11
  %12702 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %12702, ptr %332, align 8, !tbaa !9
  br label %12703

12703:                                            ; preds = %12701
  %12704 = load i32, ptr @test_count, align 4, !tbaa !5
  %12705 = add nsw i32 %12704, 1
  store i32 %12705, ptr @test_count, align 4, !tbaa !5
  %12706 = load ptr, ptr %332, align 8, !tbaa !9
  %12707 = icmp eq ptr %12706, null
  br i1 %12707, label %12708, label %12761

12708:                                            ; preds = %12703
  br label %12709

12709:                                            ; preds = %12708
  br label %12710

12710:                                            ; preds = %12709
  call void @llvm.lifetime.start.p0(i64 4, ptr %333) #11
  %12711 = call ptr @__errno_location() #12
  %12712 = load i32, ptr %12711, align 4, !tbaa !5
  store i32 %12712, ptr %333, align 4, !tbaa !5
  %12713 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12714 = call i32 @s2n_print_stacktrace(ptr noundef %12713)
  %12715 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12716 = trunc i8 %12715 to i1
  br i1 %12716, label %12717, label %12739

12717:                                            ; preds = %12710
  %12718 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12719 = call i32 @fileno(ptr noundef %12718) #11
  %12720 = call i32 @isatty(i32 noundef %12719) #11
  %12721 = icmp ne i32 %12720, 0
  br i1 %12721, label %12722, label %12739

12722:                                            ; preds = %12717
  %12723 = load i32, ptr %333, align 4, !tbaa !5
  %12724 = call ptr @__errno_location() #12
  store i32 %12723, ptr %12724, align 4, !tbaa !5
  %12725 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12726 = load i32, ptr @test_count, align 4, !tbaa !5
  %12727 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12728 = load i32, ptr %12727, align 4, !tbaa !5
  %12729 = call ptr @s2n_strerror(i32 noundef %12728, ptr noundef @.str.4)
  %12730 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12731 = load i32, ptr %12730, align 4, !tbaa !5
  %12732 = call ptr @s2n_strerror_debug(i32 noundef %12731, ptr noundef @.str.4)
  %12733 = call ptr @__errno_location() #12
  %12734 = load i32, ptr %12733, align 4, !tbaa !5
  %12735 = call ptr @strerror(i32 noundef %12734) #11
  %12736 = call ptr @__errno_location() #12
  %12737 = load i32, ptr %12736, align 4, !tbaa !5
  %12738 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12725, ptr noundef @.str.2, i32 noundef %12726, ptr noundef @.str.42, ptr noundef @.str.1, i32 noundef 556, ptr noundef %12729, ptr noundef %12732, ptr noundef %12735, i32 noundef %12737) #11
  br label %12756

12739:                                            ; preds = %12717, %12710
  %12740 = load i32, ptr %333, align 4, !tbaa !5
  %12741 = call ptr @__errno_location() #12
  store i32 %12740, ptr %12741, align 4, !tbaa !5
  %12742 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12743 = load i32, ptr @test_count, align 4, !tbaa !5
  %12744 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12745 = load i32, ptr %12744, align 4, !tbaa !5
  %12746 = call ptr @s2n_strerror(i32 noundef %12745, ptr noundef @.str.4)
  %12747 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12748 = load i32, ptr %12747, align 4, !tbaa !5
  %12749 = call ptr @s2n_strerror_debug(i32 noundef %12748, ptr noundef @.str.4)
  %12750 = call ptr @__errno_location() #12
  %12751 = load i32, ptr %12750, align 4, !tbaa !5
  %12752 = call ptr @strerror(i32 noundef %12751) #11
  %12753 = call ptr @__errno_location() #12
  %12754 = load i32, ptr %12753, align 4, !tbaa !5
  %12755 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12742, ptr noundef @.str.5, i32 noundef %12743, ptr noundef @.str.42, ptr noundef @.str.1, i32 noundef 556, ptr noundef %12746, ptr noundef %12749, ptr noundef %12752, i32 noundef %12754) #11
  br label %12756

12756:                                            ; preds = %12739, %12722
  call void @llvm.lifetime.end.p0(i64 4, ptr %333) #11
  br label %12757

12757:                                            ; preds = %12756
  br label %12758

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

12759:                                            ; No predecessors!
  br label %12760

12760:                                            ; preds = %12759
  br label %12761

12761:                                            ; preds = %12760, %12703
  br label %12762

12762:                                            ; preds = %12761
  br label %12763

12763:                                            ; preds = %12762
  call void @llvm.lifetime.start.p0(i64 8, ptr %334) #11
  %12764 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %12764, ptr %334, align 8, !tbaa !9
  br label %12765

12765:                                            ; preds = %12763
  %12766 = load i32, ptr @test_count, align 4, !tbaa !5
  %12767 = add nsw i32 %12766, 1
  store i32 %12767, ptr @test_count, align 4, !tbaa !5
  %12768 = load ptr, ptr %334, align 8, !tbaa !9
  %12769 = icmp eq ptr %12768, null
  br i1 %12769, label %12770, label %12823

12770:                                            ; preds = %12765
  br label %12771

12771:                                            ; preds = %12770
  br label %12772

12772:                                            ; preds = %12771
  call void @llvm.lifetime.start.p0(i64 4, ptr %335) #11
  %12773 = call ptr @__errno_location() #12
  %12774 = load i32, ptr %12773, align 4, !tbaa !5
  store i32 %12774, ptr %335, align 4, !tbaa !5
  %12775 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12776 = call i32 @s2n_print_stacktrace(ptr noundef %12775)
  %12777 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12778 = trunc i8 %12777 to i1
  br i1 %12778, label %12779, label %12801

12779:                                            ; preds = %12772
  %12780 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12781 = call i32 @fileno(ptr noundef %12780) #11
  %12782 = call i32 @isatty(i32 noundef %12781) #11
  %12783 = icmp ne i32 %12782, 0
  br i1 %12783, label %12784, label %12801

12784:                                            ; preds = %12779
  %12785 = load i32, ptr %335, align 4, !tbaa !5
  %12786 = call ptr @__errno_location() #12
  store i32 %12785, ptr %12786, align 4, !tbaa !5
  %12787 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12788 = load i32, ptr @test_count, align 4, !tbaa !5
  %12789 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12790 = load i32, ptr %12789, align 4, !tbaa !5
  %12791 = call ptr @s2n_strerror(i32 noundef %12790, ptr noundef @.str.4)
  %12792 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12793 = load i32, ptr %12792, align 4, !tbaa !5
  %12794 = call ptr @s2n_strerror_debug(i32 noundef %12793, ptr noundef @.str.4)
  %12795 = call ptr @__errno_location() #12
  %12796 = load i32, ptr %12795, align 4, !tbaa !5
  %12797 = call ptr @strerror(i32 noundef %12796) #11
  %12798 = call ptr @__errno_location() #12
  %12799 = load i32, ptr %12798, align 4, !tbaa !5
  %12800 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12787, ptr noundef @.str.2, i32 noundef %12788, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 559, ptr noundef %12791, ptr noundef %12794, ptr noundef %12797, i32 noundef %12799) #11
  br label %12818

12801:                                            ; preds = %12779, %12772
  %12802 = load i32, ptr %335, align 4, !tbaa !5
  %12803 = call ptr @__errno_location() #12
  store i32 %12802, ptr %12803, align 4, !tbaa !5
  %12804 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12805 = load i32, ptr @test_count, align 4, !tbaa !5
  %12806 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12807 = load i32, ptr %12806, align 4, !tbaa !5
  %12808 = call ptr @s2n_strerror(i32 noundef %12807, ptr noundef @.str.4)
  %12809 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12810 = load i32, ptr %12809, align 4, !tbaa !5
  %12811 = call ptr @s2n_strerror_debug(i32 noundef %12810, ptr noundef @.str.4)
  %12812 = call ptr @__errno_location() #12
  %12813 = load i32, ptr %12812, align 4, !tbaa !5
  %12814 = call ptr @strerror(i32 noundef %12813) #11
  %12815 = call ptr @__errno_location() #12
  %12816 = load i32, ptr %12815, align 4, !tbaa !5
  %12817 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12804, ptr noundef @.str.5, i32 noundef %12805, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 559, ptr noundef %12808, ptr noundef %12811, ptr noundef %12814, i32 noundef %12816) #11
  br label %12818

12818:                                            ; preds = %12801, %12784
  call void @llvm.lifetime.end.p0(i64 4, ptr %335) #11
  br label %12819

12819:                                            ; preds = %12818
  br label %12820

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

12821:                                            ; No predecessors!
  br label %12822

12822:                                            ; preds = %12821
  br label %12823

12823:                                            ; preds = %12822, %12765
  br label %12824

12824:                                            ; preds = %12823
  br label %12825

12825:                                            ; preds = %12824
  br label %12826

12826:                                            ; preds = %12825
  %12827 = load i32, ptr @test_count, align 4, !tbaa !5
  %12828 = add nsw i32 %12827, 1
  store i32 %12828, ptr @test_count, align 4, !tbaa !5
  %12829 = load ptr, ptr %332, align 8, !tbaa !9
  %12830 = load i64, ptr %331, align 8, !tbaa !42
  %12831 = getelementptr inbounds [2 x ptr], ptr %294, i64 0, i64 %12830
  %12832 = load ptr, ptr %12831, align 8, !tbaa !9
  %12833 = call i32 @s2n_connection_set_config(ptr noundef %12829, ptr noundef %12832)
  %12834 = icmp eq i32 %12833, -1
  br i1 %12834, label %12835, label %12888

12835:                                            ; preds = %12826
  br label %12836

12836:                                            ; preds = %12835
  br label %12837

12837:                                            ; preds = %12836
  call void @llvm.lifetime.start.p0(i64 4, ptr %336) #11
  %12838 = call ptr @__errno_location() #12
  %12839 = load i32, ptr %12838, align 4, !tbaa !5
  store i32 %12839, ptr %336, align 4, !tbaa !5
  %12840 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12841 = call i32 @s2n_print_stacktrace(ptr noundef %12840)
  %12842 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12843 = trunc i8 %12842 to i1
  br i1 %12843, label %12844, label %12866

12844:                                            ; preds = %12837
  %12845 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12846 = call i32 @fileno(ptr noundef %12845) #11
  %12847 = call i32 @isatty(i32 noundef %12846) #11
  %12848 = icmp ne i32 %12847, 0
  br i1 %12848, label %12849, label %12866

12849:                                            ; preds = %12844
  %12850 = load i32, ptr %336, align 4, !tbaa !5
  %12851 = call ptr @__errno_location() #12
  store i32 %12850, ptr %12851, align 4, !tbaa !5
  %12852 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12853 = load i32, ptr @test_count, align 4, !tbaa !5
  %12854 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12855 = load i32, ptr %12854, align 4, !tbaa !5
  %12856 = call ptr @s2n_strerror(i32 noundef %12855, ptr noundef @.str.4)
  %12857 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12858 = load i32, ptr %12857, align 4, !tbaa !5
  %12859 = call ptr @s2n_strerror_debug(i32 noundef %12858, ptr noundef @.str.4)
  %12860 = call ptr @__errno_location() #12
  %12861 = load i32, ptr %12860, align 4, !tbaa !5
  %12862 = call ptr @strerror(i32 noundef %12861) #11
  %12863 = call ptr @__errno_location() #12
  %12864 = load i32, ptr %12863, align 4, !tbaa !5
  %12865 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12852, ptr noundef @.str.2, i32 noundef %12853, ptr noundef @.str.101, ptr noundef @.str.1, i32 noundef 561, ptr noundef %12856, ptr noundef %12859, ptr noundef %12862, i32 noundef %12864) #11
  br label %12883

12866:                                            ; preds = %12844, %12837
  %12867 = load i32, ptr %336, align 4, !tbaa !5
  %12868 = call ptr @__errno_location() #12
  store i32 %12867, ptr %12868, align 4, !tbaa !5
  %12869 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12870 = load i32, ptr @test_count, align 4, !tbaa !5
  %12871 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12872 = load i32, ptr %12871, align 4, !tbaa !5
  %12873 = call ptr @s2n_strerror(i32 noundef %12872, ptr noundef @.str.4)
  %12874 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12875 = load i32, ptr %12874, align 4, !tbaa !5
  %12876 = call ptr @s2n_strerror_debug(i32 noundef %12875, ptr noundef @.str.4)
  %12877 = call ptr @__errno_location() #12
  %12878 = load i32, ptr %12877, align 4, !tbaa !5
  %12879 = call ptr @strerror(i32 noundef %12878) #11
  %12880 = call ptr @__errno_location() #12
  %12881 = load i32, ptr %12880, align 4, !tbaa !5
  %12882 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12869, ptr noundef @.str.5, i32 noundef %12870, ptr noundef @.str.101, ptr noundef @.str.1, i32 noundef 561, ptr noundef %12873, ptr noundef %12876, ptr noundef %12879, i32 noundef %12881) #11
  br label %12883

12883:                                            ; preds = %12866, %12849
  call void @llvm.lifetime.end.p0(i64 4, ptr %336) #11
  br label %12884

12884:                                            ; preds = %12883
  br label %12885

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

12886:                                            ; No predecessors!
  br label %12887

12887:                                            ; preds = %12886
  br label %12888

12888:                                            ; preds = %12887, %12826
  br label %12889

12889:                                            ; preds = %12888
  br label %12890

12890:                                            ; preds = %12889
  br label %12891

12891:                                            ; preds = %12890
  %12892 = load i32, ptr @test_count, align 4, !tbaa !5
  %12893 = add nsw i32 %12892, 1
  store i32 %12893, ptr @test_count, align 4, !tbaa !5
  %12894 = load ptr, ptr %334, align 8, !tbaa !9
  %12895 = load i64, ptr %331, align 8, !tbaa !42
  %12896 = getelementptr inbounds [2 x ptr], ptr %294, i64 0, i64 %12895
  %12897 = load ptr, ptr %12896, align 8, !tbaa !9
  %12898 = call i32 @s2n_connection_set_config(ptr noundef %12894, ptr noundef %12897)
  %12899 = icmp eq i32 %12898, -1
  br i1 %12899, label %12900, label %12953

12900:                                            ; preds = %12891
  br label %12901

12901:                                            ; preds = %12900
  br label %12902

12902:                                            ; preds = %12901
  call void @llvm.lifetime.start.p0(i64 4, ptr %337) #11
  %12903 = call ptr @__errno_location() #12
  %12904 = load i32, ptr %12903, align 4, !tbaa !5
  store i32 %12904, ptr %337, align 4, !tbaa !5
  %12905 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12906 = call i32 @s2n_print_stacktrace(ptr noundef %12905)
  %12907 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12908 = trunc i8 %12907 to i1
  br i1 %12908, label %12909, label %12931

12909:                                            ; preds = %12902
  %12910 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12911 = call i32 @fileno(ptr noundef %12910) #11
  %12912 = call i32 @isatty(i32 noundef %12911) #11
  %12913 = icmp ne i32 %12912, 0
  br i1 %12913, label %12914, label %12931

12914:                                            ; preds = %12909
  %12915 = load i32, ptr %337, align 4, !tbaa !5
  %12916 = call ptr @__errno_location() #12
  store i32 %12915, ptr %12916, align 4, !tbaa !5
  %12917 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12918 = load i32, ptr @test_count, align 4, !tbaa !5
  %12919 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12920 = load i32, ptr %12919, align 4, !tbaa !5
  %12921 = call ptr @s2n_strerror(i32 noundef %12920, ptr noundef @.str.4)
  %12922 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12923 = load i32, ptr %12922, align 4, !tbaa !5
  %12924 = call ptr @s2n_strerror_debug(i32 noundef %12923, ptr noundef @.str.4)
  %12925 = call ptr @__errno_location() #12
  %12926 = load i32, ptr %12925, align 4, !tbaa !5
  %12927 = call ptr @strerror(i32 noundef %12926) #11
  %12928 = call ptr @__errno_location() #12
  %12929 = load i32, ptr %12928, align 4, !tbaa !5
  %12930 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12917, ptr noundef @.str.2, i32 noundef %12918, ptr noundef @.str.102, ptr noundef @.str.1, i32 noundef 562, ptr noundef %12921, ptr noundef %12924, ptr noundef %12927, i32 noundef %12929) #11
  br label %12948

12931:                                            ; preds = %12909, %12902
  %12932 = load i32, ptr %337, align 4, !tbaa !5
  %12933 = call ptr @__errno_location() #12
  store i32 %12932, ptr %12933, align 4, !tbaa !5
  %12934 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12935 = load i32, ptr @test_count, align 4, !tbaa !5
  %12936 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12937 = load i32, ptr %12936, align 4, !tbaa !5
  %12938 = call ptr @s2n_strerror(i32 noundef %12937, ptr noundef @.str.4)
  %12939 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12940 = load i32, ptr %12939, align 4, !tbaa !5
  %12941 = call ptr @s2n_strerror_debug(i32 noundef %12940, ptr noundef @.str.4)
  %12942 = call ptr @__errno_location() #12
  %12943 = load i32, ptr %12942, align 4, !tbaa !5
  %12944 = call ptr @strerror(i32 noundef %12943) #11
  %12945 = call ptr @__errno_location() #12
  %12946 = load i32, ptr %12945, align 4, !tbaa !5
  %12947 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12934, ptr noundef @.str.5, i32 noundef %12935, ptr noundef @.str.102, ptr noundef @.str.1, i32 noundef 562, ptr noundef %12938, ptr noundef %12941, ptr noundef %12944, i32 noundef %12946) #11
  br label %12948

12948:                                            ; preds = %12931, %12914
  call void @llvm.lifetime.end.p0(i64 4, ptr %337) #11
  br label %12949

12949:                                            ; preds = %12948
  br label %12950

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

12951:                                            ; No predecessors!
  br label %12952

12952:                                            ; preds = %12951
  br label %12953

12953:                                            ; preds = %12952, %12891
  br label %12954

12954:                                            ; preds = %12953
  br label %12955

12955:                                            ; preds = %12954
  call void @llvm.lifetime.start.p0(i64 80, ptr %338) #11
  call void @llvm.memset.p0.i64(ptr align 8 %338, i8 0, i64 80, i1 false)
  br label %12956

12956:                                            ; preds = %12955
  %12957 = load i32, ptr @test_count, align 4, !tbaa !5
  %12958 = add nsw i32 %12957, 1
  store i32 %12958, ptr @test_count, align 4, !tbaa !5
  %12959 = call i32 @s2n_io_stuffer_pair_init(ptr noundef %338)
  %12960 = getelementptr inbounds %struct.s2n_result, ptr %339, i32 0, i32 0
  store i32 %12959, ptr %12960, align 4
  %12961 = getelementptr inbounds %struct.s2n_result, ptr %339, i32 0, i32 0
  %12962 = load i32, ptr %12961, align 4
  %12963 = call zeroext i1 @s2n_result_is_ok(i32 %12962)
  br i1 %12963, label %13017, label %12964

12964:                                            ; preds = %12956
  br label %12965

12965:                                            ; preds = %12964
  br label %12966

12966:                                            ; preds = %12965
  call void @llvm.lifetime.start.p0(i64 4, ptr %340) #11
  %12967 = call ptr @__errno_location() #12
  %12968 = load i32, ptr %12967, align 4, !tbaa !5
  store i32 %12968, ptr %340, align 4, !tbaa !5
  %12969 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12970 = call i32 @s2n_print_stacktrace(ptr noundef %12969)
  %12971 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12972 = trunc i8 %12971 to i1
  br i1 %12972, label %12973, label %12995

12973:                                            ; preds = %12966
  %12974 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12975 = call i32 @fileno(ptr noundef %12974) #11
  %12976 = call i32 @isatty(i32 noundef %12975) #11
  %12977 = icmp ne i32 %12976, 0
  br i1 %12977, label %12978, label %12995

12978:                                            ; preds = %12973
  %12979 = load i32, ptr %340, align 4, !tbaa !5
  %12980 = call ptr @__errno_location() #12
  store i32 %12979, ptr %12980, align 4, !tbaa !5
  %12981 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12982 = load i32, ptr @test_count, align 4, !tbaa !5
  %12983 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12984 = load i32, ptr %12983, align 4, !tbaa !5
  %12985 = call ptr @s2n_strerror(i32 noundef %12984, ptr noundef @.str.4)
  %12986 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12987 = load i32, ptr %12986, align 4, !tbaa !5
  %12988 = call ptr @s2n_strerror_debug(i32 noundef %12987, ptr noundef @.str.4)
  %12989 = call ptr @__errno_location() #12
  %12990 = load i32, ptr %12989, align 4, !tbaa !5
  %12991 = call ptr @strerror(i32 noundef %12990) #11
  %12992 = call ptr @__errno_location() #12
  %12993 = load i32, ptr %12992, align 4, !tbaa !5
  %12994 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12981, ptr noundef @.str.2, i32 noundef %12982, ptr noundef @.str.46, ptr noundef @.str.1, i32 noundef 565, ptr noundef %12985, ptr noundef %12988, ptr noundef %12991, i32 noundef %12993) #11
  br label %13012

12995:                                            ; preds = %12973, %12966
  %12996 = load i32, ptr %340, align 4, !tbaa !5
  %12997 = call ptr @__errno_location() #12
  store i32 %12996, ptr %12997, align 4, !tbaa !5
  %12998 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12999 = load i32, ptr @test_count, align 4, !tbaa !5
  %13000 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13001 = load i32, ptr %13000, align 4, !tbaa !5
  %13002 = call ptr @s2n_strerror(i32 noundef %13001, ptr noundef @.str.4)
  %13003 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13004 = load i32, ptr %13003, align 4, !tbaa !5
  %13005 = call ptr @s2n_strerror_debug(i32 noundef %13004, ptr noundef @.str.4)
  %13006 = call ptr @__errno_location() #12
  %13007 = load i32, ptr %13006, align 4, !tbaa !5
  %13008 = call ptr @strerror(i32 noundef %13007) #11
  %13009 = call ptr @__errno_location() #12
  %13010 = load i32, ptr %13009, align 4, !tbaa !5
  %13011 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12998, ptr noundef @.str.5, i32 noundef %12999, ptr noundef @.str.46, ptr noundef @.str.1, i32 noundef 565, ptr noundef %13002, ptr noundef %13005, ptr noundef %13008, i32 noundef %13010) #11
  br label %13012

13012:                                            ; preds = %12995, %12978
  call void @llvm.lifetime.end.p0(i64 4, ptr %340) #11
  br label %13013

13013:                                            ; preds = %13012
  br label %13014

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

13015:                                            ; No predecessors!
  br label %13016

13016:                                            ; preds = %13015
  br label %13017

13017:                                            ; preds = %13016, %12956
  br label %13018

13018:                                            ; preds = %13017
  br label %13019

13019:                                            ; preds = %13018
  br label %13020

13020:                                            ; preds = %13019
  %13021 = load i32, ptr @test_count, align 4, !tbaa !5
  %13022 = add nsw i32 %13021, 1
  store i32 %13022, ptr @test_count, align 4, !tbaa !5
  %13023 = load ptr, ptr %332, align 8, !tbaa !9
  %13024 = load ptr, ptr %334, align 8, !tbaa !9
  %13025 = call i32 @s2n_connections_set_io_stuffer_pair(ptr noundef %13023, ptr noundef %13024, ptr noundef %338)
  %13026 = getelementptr inbounds %struct.s2n_result, ptr %341, i32 0, i32 0
  store i32 %13025, ptr %13026, align 4
  %13027 = getelementptr inbounds %struct.s2n_result, ptr %341, i32 0, i32 0
  %13028 = load i32, ptr %13027, align 4
  %13029 = call zeroext i1 @s2n_result_is_ok(i32 %13028)
  br i1 %13029, label %13083, label %13030

13030:                                            ; preds = %13020
  br label %13031

13031:                                            ; preds = %13030
  br label %13032

13032:                                            ; preds = %13031
  call void @llvm.lifetime.start.p0(i64 4, ptr %342) #11
  %13033 = call ptr @__errno_location() #12
  %13034 = load i32, ptr %13033, align 4, !tbaa !5
  store i32 %13034, ptr %342, align 4, !tbaa !5
  %13035 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13036 = call i32 @s2n_print_stacktrace(ptr noundef %13035)
  %13037 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13038 = trunc i8 %13037 to i1
  br i1 %13038, label %13039, label %13061

13039:                                            ; preds = %13032
  %13040 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13041 = call i32 @fileno(ptr noundef %13040) #11
  %13042 = call i32 @isatty(i32 noundef %13041) #11
  %13043 = icmp ne i32 %13042, 0
  br i1 %13043, label %13044, label %13061

13044:                                            ; preds = %13039
  %13045 = load i32, ptr %342, align 4, !tbaa !5
  %13046 = call ptr @__errno_location() #12
  store i32 %13045, ptr %13046, align 4, !tbaa !5
  %13047 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13048 = load i32, ptr @test_count, align 4, !tbaa !5
  %13049 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13050 = load i32, ptr %13049, align 4, !tbaa !5
  %13051 = call ptr @s2n_strerror(i32 noundef %13050, ptr noundef @.str.4)
  %13052 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13053 = load i32, ptr %13052, align 4, !tbaa !5
  %13054 = call ptr @s2n_strerror_debug(i32 noundef %13053, ptr noundef @.str.4)
  %13055 = call ptr @__errno_location() #12
  %13056 = load i32, ptr %13055, align 4, !tbaa !5
  %13057 = call ptr @strerror(i32 noundef %13056) #11
  %13058 = call ptr @__errno_location() #12
  %13059 = load i32, ptr %13058, align 4, !tbaa !5
  %13060 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13047, ptr noundef @.str.2, i32 noundef %13048, ptr noundef @.str.47, ptr noundef @.str.1, i32 noundef 566, ptr noundef %13051, ptr noundef %13054, ptr noundef %13057, i32 noundef %13059) #11
  br label %13078

13061:                                            ; preds = %13039, %13032
  %13062 = load i32, ptr %342, align 4, !tbaa !5
  %13063 = call ptr @__errno_location() #12
  store i32 %13062, ptr %13063, align 4, !tbaa !5
  %13064 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13065 = load i32, ptr @test_count, align 4, !tbaa !5
  %13066 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13067 = load i32, ptr %13066, align 4, !tbaa !5
  %13068 = call ptr @s2n_strerror(i32 noundef %13067, ptr noundef @.str.4)
  %13069 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13070 = load i32, ptr %13069, align 4, !tbaa !5
  %13071 = call ptr @s2n_strerror_debug(i32 noundef %13070, ptr noundef @.str.4)
  %13072 = call ptr @__errno_location() #12
  %13073 = load i32, ptr %13072, align 4, !tbaa !5
  %13074 = call ptr @strerror(i32 noundef %13073) #11
  %13075 = call ptr @__errno_location() #12
  %13076 = load i32, ptr %13075, align 4, !tbaa !5
  %13077 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13064, ptr noundef @.str.5, i32 noundef %13065, ptr noundef @.str.47, ptr noundef @.str.1, i32 noundef 566, ptr noundef %13068, ptr noundef %13071, ptr noundef %13074, i32 noundef %13076) #11
  br label %13078

13078:                                            ; preds = %13061, %13044
  call void @llvm.lifetime.end.p0(i64 4, ptr %342) #11
  br label %13079

13079:                                            ; preds = %13078
  br label %13080

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

13081:                                            ; No predecessors!
  br label %13082

13082:                                            ; preds = %13081
  br label %13083

13083:                                            ; preds = %13082, %13020
  br label %13084

13084:                                            ; preds = %13083
  br label %13085

13085:                                            ; preds = %13084
  br label %13086

13086:                                            ; preds = %13085
  %13087 = load i32, ptr @test_count, align 4, !tbaa !5
  %13088 = add nsw i32 %13087, 1
  store i32 %13088, ptr @test_count, align 4, !tbaa !5
  %13089 = load ptr, ptr %334, align 8, !tbaa !9
  %13090 = load ptr, ptr %332, align 8, !tbaa !9
  %13091 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %13089, ptr noundef %13090)
  %13092 = icmp eq i32 %13091, -1
  br i1 %13092, label %13093, label %13146

13093:                                            ; preds = %13086
  br label %13094

13094:                                            ; preds = %13093
  br label %13095

13095:                                            ; preds = %13094
  call void @llvm.lifetime.start.p0(i64 4, ptr %343) #11
  %13096 = call ptr @__errno_location() #12
  %13097 = load i32, ptr %13096, align 4, !tbaa !5
  store i32 %13097, ptr %343, align 4, !tbaa !5
  %13098 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13099 = call i32 @s2n_print_stacktrace(ptr noundef %13098)
  %13100 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13101 = trunc i8 %13100 to i1
  br i1 %13101, label %13102, label %13124

13102:                                            ; preds = %13095
  %13103 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13104 = call i32 @fileno(ptr noundef %13103) #11
  %13105 = call i32 @isatty(i32 noundef %13104) #11
  %13106 = icmp ne i32 %13105, 0
  br i1 %13106, label %13107, label %13124

13107:                                            ; preds = %13102
  %13108 = load i32, ptr %343, align 4, !tbaa !5
  %13109 = call ptr @__errno_location() #12
  store i32 %13108, ptr %13109, align 4, !tbaa !5
  %13110 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13111 = load i32, ptr @test_count, align 4, !tbaa !5
  %13112 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13113 = load i32, ptr %13112, align 4, !tbaa !5
  %13114 = call ptr @s2n_strerror(i32 noundef %13113, ptr noundef @.str.4)
  %13115 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13116 = load i32, ptr %13115, align 4, !tbaa !5
  %13117 = call ptr @s2n_strerror_debug(i32 noundef %13116, ptr noundef @.str.4)
  %13118 = call ptr @__errno_location() #12
  %13119 = load i32, ptr %13118, align 4, !tbaa !5
  %13120 = call ptr @strerror(i32 noundef %13119) #11
  %13121 = call ptr @__errno_location() #12
  %13122 = load i32, ptr %13121, align 4, !tbaa !5
  %13123 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13110, ptr noundef @.str.2, i32 noundef %13111, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 568, ptr noundef %13114, ptr noundef %13117, ptr noundef %13120, i32 noundef %13122) #11
  br label %13141

13124:                                            ; preds = %13102, %13095
  %13125 = load i32, ptr %343, align 4, !tbaa !5
  %13126 = call ptr @__errno_location() #12
  store i32 %13125, ptr %13126, align 4, !tbaa !5
  %13127 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13128 = load i32, ptr @test_count, align 4, !tbaa !5
  %13129 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13130 = load i32, ptr %13129, align 4, !tbaa !5
  %13131 = call ptr @s2n_strerror(i32 noundef %13130, ptr noundef @.str.4)
  %13132 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13133 = load i32, ptr %13132, align 4, !tbaa !5
  %13134 = call ptr @s2n_strerror_debug(i32 noundef %13133, ptr noundef @.str.4)
  %13135 = call ptr @__errno_location() #12
  %13136 = load i32, ptr %13135, align 4, !tbaa !5
  %13137 = call ptr @strerror(i32 noundef %13136) #11
  %13138 = call ptr @__errno_location() #12
  %13139 = load i32, ptr %13138, align 4, !tbaa !5
  %13140 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13127, ptr noundef @.str.5, i32 noundef %13128, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 568, ptr noundef %13131, ptr noundef %13134, ptr noundef %13137, i32 noundef %13139) #11
  br label %13141

13141:                                            ; preds = %13124, %13107
  call void @llvm.lifetime.end.p0(i64 4, ptr %343) #11
  br label %13142

13142:                                            ; preds = %13141
  br label %13143

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

13144:                                            ; No predecessors!
  br label %13145

13145:                                            ; preds = %13144
  br label %13146

13146:                                            ; preds = %13145, %13086
  br label %13147

13147:                                            ; preds = %13146
  br label %13148

13148:                                            ; preds = %13147
  br label %13149

13149:                                            ; preds = %13148
  %13150 = load i32, ptr @test_count, align 4, !tbaa !5
  %13151 = add nsw i32 %13150, 1
  store i32 %13151, ptr @test_count, align 4, !tbaa !5
  %13152 = load ptr, ptr %334, align 8, !tbaa !9
  %13153 = load ptr, ptr %332, align 8, !tbaa !9
  %13154 = call i32 @s2n_send_and_recv_test(ptr noundef %13152, ptr noundef %13153)
  %13155 = getelementptr inbounds %struct.s2n_result, ptr %344, i32 0, i32 0
  store i32 %13154, ptr %13155, align 4
  %13156 = getelementptr inbounds %struct.s2n_result, ptr %344, i32 0, i32 0
  %13157 = load i32, ptr %13156, align 4
  %13158 = call zeroext i1 @s2n_result_is_ok(i32 %13157)
  br i1 %13158, label %13212, label %13159

13159:                                            ; preds = %13149
  br label %13160

13160:                                            ; preds = %13159
  br label %13161

13161:                                            ; preds = %13160
  call void @llvm.lifetime.start.p0(i64 4, ptr %345) #11
  %13162 = call ptr @__errno_location() #12
  %13163 = load i32, ptr %13162, align 4, !tbaa !5
  store i32 %13163, ptr %345, align 4, !tbaa !5
  %13164 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13165 = call i32 @s2n_print_stacktrace(ptr noundef %13164)
  %13166 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13167 = trunc i8 %13166 to i1
  br i1 %13167, label %13168, label %13190

13168:                                            ; preds = %13161
  %13169 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13170 = call i32 @fileno(ptr noundef %13169) #11
  %13171 = call i32 @isatty(i32 noundef %13170) #11
  %13172 = icmp ne i32 %13171, 0
  br i1 %13172, label %13173, label %13190

13173:                                            ; preds = %13168
  %13174 = load i32, ptr %345, align 4, !tbaa !5
  %13175 = call ptr @__errno_location() #12
  store i32 %13174, ptr %13175, align 4, !tbaa !5
  %13176 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13177 = load i32, ptr @test_count, align 4, !tbaa !5
  %13178 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13179 = load i32, ptr %13178, align 4, !tbaa !5
  %13180 = call ptr @s2n_strerror(i32 noundef %13179, ptr noundef @.str.4)
  %13181 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13182 = load i32, ptr %13181, align 4, !tbaa !5
  %13183 = call ptr @s2n_strerror_debug(i32 noundef %13182, ptr noundef @.str.4)
  %13184 = call ptr @__errno_location() #12
  %13185 = load i32, ptr %13184, align 4, !tbaa !5
  %13186 = call ptr @strerror(i32 noundef %13185) #11
  %13187 = call ptr @__errno_location() #12
  %13188 = load i32, ptr %13187, align 4, !tbaa !5
  %13189 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13176, ptr noundef @.str.2, i32 noundef %13177, ptr noundef @.str.103, ptr noundef @.str.1, i32 noundef 571, ptr noundef %13180, ptr noundef %13183, ptr noundef %13186, i32 noundef %13188) #11
  br label %13207

13190:                                            ; preds = %13168, %13161
  %13191 = load i32, ptr %345, align 4, !tbaa !5
  %13192 = call ptr @__errno_location() #12
  store i32 %13191, ptr %13192, align 4, !tbaa !5
  %13193 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13194 = load i32, ptr @test_count, align 4, !tbaa !5
  %13195 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13196 = load i32, ptr %13195, align 4, !tbaa !5
  %13197 = call ptr @s2n_strerror(i32 noundef %13196, ptr noundef @.str.4)
  %13198 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13199 = load i32, ptr %13198, align 4, !tbaa !5
  %13200 = call ptr @s2n_strerror_debug(i32 noundef %13199, ptr noundef @.str.4)
  %13201 = call ptr @__errno_location() #12
  %13202 = load i32, ptr %13201, align 4, !tbaa !5
  %13203 = call ptr @strerror(i32 noundef %13202) #11
  %13204 = call ptr @__errno_location() #12
  %13205 = load i32, ptr %13204, align 4, !tbaa !5
  %13206 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13193, ptr noundef @.str.5, i32 noundef %13194, ptr noundef @.str.103, ptr noundef @.str.1, i32 noundef 571, ptr noundef %13197, ptr noundef %13200, ptr noundef %13203, i32 noundef %13205) #11
  br label %13207

13207:                                            ; preds = %13190, %13173
  call void @llvm.lifetime.end.p0(i64 4, ptr %345) #11
  br label %13208

13208:                                            ; preds = %13207
  br label %13209

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

13210:                                            ; No predecessors!
  br label %13211

13211:                                            ; preds = %13210
  br label %13212

13212:                                            ; preds = %13211, %13149
  br label %13213

13213:                                            ; preds = %13212
  br label %13214

13214:                                            ; preds = %13213
  br label %13215

13215:                                            ; preds = %13214
  %13216 = load i32, ptr @test_count, align 4, !tbaa !5
  %13217 = add nsw i32 %13216, 1
  store i32 %13217, ptr @test_count, align 4, !tbaa !5
  %13218 = load ptr, ptr %332, align 8, !tbaa !9
  %13219 = load ptr, ptr %334, align 8, !tbaa !9
  %13220 = call i32 @s2n_send_and_recv_test(ptr noundef %13218, ptr noundef %13219)
  %13221 = getelementptr inbounds %struct.s2n_result, ptr %346, i32 0, i32 0
  store i32 %13220, ptr %13221, align 4
  %13222 = getelementptr inbounds %struct.s2n_result, ptr %346, i32 0, i32 0
  %13223 = load i32, ptr %13222, align 4
  %13224 = call zeroext i1 @s2n_result_is_ok(i32 %13223)
  br i1 %13224, label %13278, label %13225

13225:                                            ; preds = %13215
  br label %13226

13226:                                            ; preds = %13225
  br label %13227

13227:                                            ; preds = %13226
  call void @llvm.lifetime.start.p0(i64 4, ptr %347) #11
  %13228 = call ptr @__errno_location() #12
  %13229 = load i32, ptr %13228, align 4, !tbaa !5
  store i32 %13229, ptr %347, align 4, !tbaa !5
  %13230 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13231 = call i32 @s2n_print_stacktrace(ptr noundef %13230)
  %13232 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13233 = trunc i8 %13232 to i1
  br i1 %13233, label %13234, label %13256

13234:                                            ; preds = %13227
  %13235 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13236 = call i32 @fileno(ptr noundef %13235) #11
  %13237 = call i32 @isatty(i32 noundef %13236) #11
  %13238 = icmp ne i32 %13237, 0
  br i1 %13238, label %13239, label %13256

13239:                                            ; preds = %13234
  %13240 = load i32, ptr %347, align 4, !tbaa !5
  %13241 = call ptr @__errno_location() #12
  store i32 %13240, ptr %13241, align 4, !tbaa !5
  %13242 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13243 = load i32, ptr @test_count, align 4, !tbaa !5
  %13244 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13245 = load i32, ptr %13244, align 4, !tbaa !5
  %13246 = call ptr @s2n_strerror(i32 noundef %13245, ptr noundef @.str.4)
  %13247 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13248 = load i32, ptr %13247, align 4, !tbaa !5
  %13249 = call ptr @s2n_strerror_debug(i32 noundef %13248, ptr noundef @.str.4)
  %13250 = call ptr @__errno_location() #12
  %13251 = load i32, ptr %13250, align 4, !tbaa !5
  %13252 = call ptr @strerror(i32 noundef %13251) #11
  %13253 = call ptr @__errno_location() #12
  %13254 = load i32, ptr %13253, align 4, !tbaa !5
  %13255 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13242, ptr noundef @.str.2, i32 noundef %13243, ptr noundef @.str.104, ptr noundef @.str.1, i32 noundef 572, ptr noundef %13246, ptr noundef %13249, ptr noundef %13252, i32 noundef %13254) #11
  br label %13273

13256:                                            ; preds = %13234, %13227
  %13257 = load i32, ptr %347, align 4, !tbaa !5
  %13258 = call ptr @__errno_location() #12
  store i32 %13257, ptr %13258, align 4, !tbaa !5
  %13259 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13260 = load i32, ptr @test_count, align 4, !tbaa !5
  %13261 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13262 = load i32, ptr %13261, align 4, !tbaa !5
  %13263 = call ptr @s2n_strerror(i32 noundef %13262, ptr noundef @.str.4)
  %13264 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13265 = load i32, ptr %13264, align 4, !tbaa !5
  %13266 = call ptr @s2n_strerror_debug(i32 noundef %13265, ptr noundef @.str.4)
  %13267 = call ptr @__errno_location() #12
  %13268 = load i32, ptr %13267, align 4, !tbaa !5
  %13269 = call ptr @strerror(i32 noundef %13268) #11
  %13270 = call ptr @__errno_location() #12
  %13271 = load i32, ptr %13270, align 4, !tbaa !5
  %13272 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13259, ptr noundef @.str.5, i32 noundef %13260, ptr noundef @.str.104, ptr noundef @.str.1, i32 noundef 572, ptr noundef %13263, ptr noundef %13266, ptr noundef %13269, i32 noundef %13271) #11
  br label %13273

13273:                                            ; preds = %13256, %13239
  call void @llvm.lifetime.end.p0(i64 4, ptr %347) #11
  br label %13274

13274:                                            ; preds = %13273
  br label %13275

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

13276:                                            ; No predecessors!
  br label %13277

13277:                                            ; preds = %13276
  br label %13278

13278:                                            ; preds = %13277, %13215
  br label %13279

13279:                                            ; preds = %13278
  br label %13280

13280:                                            ; preds = %13279
  call void @llvm.lifetime.start.p0(i64 142, ptr %348) #11
  call void @llvm.memset.p0.i64(ptr align 16 %348, i8 0, i64 142, i1 false)
  br label %13281

13281:                                            ; preds = %13280
  %13282 = load i32, ptr @test_count, align 4, !tbaa !5
  %13283 = add nsw i32 %13282, 1
  store i32 %13283, ptr @test_count, align 4, !tbaa !5
  %13284 = load ptr, ptr %334, align 8, !tbaa !9
  %13285 = getelementptr inbounds [142 x i8], ptr %348, i64 0, i64 0
  %13286 = call i32 @s2n_connection_serialize(ptr noundef %13284, ptr noundef %13285, i32 noundef 142)
  %13287 = icmp eq i32 %13286, -1
  br i1 %13287, label %13288, label %13341

13288:                                            ; preds = %13281
  br label %13289

13289:                                            ; preds = %13288
  br label %13290

13290:                                            ; preds = %13289
  call void @llvm.lifetime.start.p0(i64 4, ptr %349) #11
  %13291 = call ptr @__errno_location() #12
  %13292 = load i32, ptr %13291, align 4, !tbaa !5
  store i32 %13292, ptr %349, align 4, !tbaa !5
  %13293 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13294 = call i32 @s2n_print_stacktrace(ptr noundef %13293)
  %13295 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13296 = trunc i8 %13295 to i1
  br i1 %13296, label %13297, label %13319

13297:                                            ; preds = %13290
  %13298 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13299 = call i32 @fileno(ptr noundef %13298) #11
  %13300 = call i32 @isatty(i32 noundef %13299) #11
  %13301 = icmp ne i32 %13300, 0
  br i1 %13301, label %13302, label %13319

13302:                                            ; preds = %13297
  %13303 = load i32, ptr %349, align 4, !tbaa !5
  %13304 = call ptr @__errno_location() #12
  store i32 %13303, ptr %13304, align 4, !tbaa !5
  %13305 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13306 = load i32, ptr @test_count, align 4, !tbaa !5
  %13307 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13308 = load i32, ptr %13307, align 4, !tbaa !5
  %13309 = call ptr @s2n_strerror(i32 noundef %13308, ptr noundef @.str.4)
  %13310 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13311 = load i32, ptr %13310, align 4, !tbaa !5
  %13312 = call ptr @s2n_strerror_debug(i32 noundef %13311, ptr noundef @.str.4)
  %13313 = call ptr @__errno_location() #12
  %13314 = load i32, ptr %13313, align 4, !tbaa !5
  %13315 = call ptr @strerror(i32 noundef %13314) #11
  %13316 = call ptr @__errno_location() #12
  %13317 = load i32, ptr %13316, align 4, !tbaa !5
  %13318 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13305, ptr noundef @.str.2, i32 noundef %13306, ptr noundef @.str.52, ptr noundef @.str.1, i32 noundef 575, ptr noundef %13309, ptr noundef %13312, ptr noundef %13315, i32 noundef %13317) #11
  br label %13336

13319:                                            ; preds = %13297, %13290
  %13320 = load i32, ptr %349, align 4, !tbaa !5
  %13321 = call ptr @__errno_location() #12
  store i32 %13320, ptr %13321, align 4, !tbaa !5
  %13322 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13323 = load i32, ptr @test_count, align 4, !tbaa !5
  %13324 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13325 = load i32, ptr %13324, align 4, !tbaa !5
  %13326 = call ptr @s2n_strerror(i32 noundef %13325, ptr noundef @.str.4)
  %13327 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13328 = load i32, ptr %13327, align 4, !tbaa !5
  %13329 = call ptr @s2n_strerror_debug(i32 noundef %13328, ptr noundef @.str.4)
  %13330 = call ptr @__errno_location() #12
  %13331 = load i32, ptr %13330, align 4, !tbaa !5
  %13332 = call ptr @strerror(i32 noundef %13331) #11
  %13333 = call ptr @__errno_location() #12
  %13334 = load i32, ptr %13333, align 4, !tbaa !5
  %13335 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13322, ptr noundef @.str.5, i32 noundef %13323, ptr noundef @.str.52, ptr noundef @.str.1, i32 noundef 575, ptr noundef %13326, ptr noundef %13329, ptr noundef %13332, i32 noundef %13334) #11
  br label %13336

13336:                                            ; preds = %13319, %13302
  call void @llvm.lifetime.end.p0(i64 4, ptr %349) #11
  br label %13337

13337:                                            ; preds = %13336
  br label %13338

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

13339:                                            ; No predecessors!
  br label %13340

13340:                                            ; preds = %13339
  br label %13341

13341:                                            ; preds = %13340, %13281
  br label %13342

13342:                                            ; preds = %13341
  br label %13343

13343:                                            ; preds = %13342
  call void @llvm.lifetime.start.p0(i64 8, ptr %350) #11
  %13344 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %13344, ptr %350, align 8, !tbaa !9
  br label %13345

13345:                                            ; preds = %13343
  %13346 = load i32, ptr @test_count, align 4, !tbaa !5
  %13347 = add nsw i32 %13346, 1
  store i32 %13347, ptr @test_count, align 4, !tbaa !5
  %13348 = load ptr, ptr %350, align 8, !tbaa !9
  %13349 = icmp eq ptr %13348, null
  br i1 %13349, label %13350, label %13403

13350:                                            ; preds = %13345
  br label %13351

13351:                                            ; preds = %13350
  br label %13352

13352:                                            ; preds = %13351
  call void @llvm.lifetime.start.p0(i64 4, ptr %351) #11
  %13353 = call ptr @__errno_location() #12
  %13354 = load i32, ptr %13353, align 4, !tbaa !5
  store i32 %13354, ptr %351, align 4, !tbaa !5
  %13355 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13356 = call i32 @s2n_print_stacktrace(ptr noundef %13355)
  %13357 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13358 = trunc i8 %13357 to i1
  br i1 %13358, label %13359, label %13381

13359:                                            ; preds = %13352
  %13360 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13361 = call i32 @fileno(ptr noundef %13360) #11
  %13362 = call i32 @isatty(i32 noundef %13361) #11
  %13363 = icmp ne i32 %13362, 0
  br i1 %13363, label %13364, label %13381

13364:                                            ; preds = %13359
  %13365 = load i32, ptr %351, align 4, !tbaa !5
  %13366 = call ptr @__errno_location() #12
  store i32 %13365, ptr %13366, align 4, !tbaa !5
  %13367 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13368 = load i32, ptr @test_count, align 4, !tbaa !5
  %13369 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13370 = load i32, ptr %13369, align 4, !tbaa !5
  %13371 = call ptr @s2n_strerror(i32 noundef %13370, ptr noundef @.str.4)
  %13372 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13373 = load i32, ptr %13372, align 4, !tbaa !5
  %13374 = call ptr @s2n_strerror_debug(i32 noundef %13373, ptr noundef @.str.4)
  %13375 = call ptr @__errno_location() #12
  %13376 = load i32, ptr %13375, align 4, !tbaa !5
  %13377 = call ptr @strerror(i32 noundef %13376) #11
  %13378 = call ptr @__errno_location() #12
  %13379 = load i32, ptr %13378, align 4, !tbaa !5
  %13380 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13367, ptr noundef @.str.2, i32 noundef %13368, ptr noundef @.str.113, ptr noundef @.str.1, i32 noundef 580, ptr noundef %13371, ptr noundef %13374, ptr noundef %13377, i32 noundef %13379) #11
  br label %13398

13381:                                            ; preds = %13359, %13352
  %13382 = load i32, ptr %351, align 4, !tbaa !5
  %13383 = call ptr @__errno_location() #12
  store i32 %13382, ptr %13383, align 4, !tbaa !5
  %13384 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13385 = load i32, ptr @test_count, align 4, !tbaa !5
  %13386 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13387 = load i32, ptr %13386, align 4, !tbaa !5
  %13388 = call ptr @s2n_strerror(i32 noundef %13387, ptr noundef @.str.4)
  %13389 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13390 = load i32, ptr %13389, align 4, !tbaa !5
  %13391 = call ptr @s2n_strerror_debug(i32 noundef %13390, ptr noundef @.str.4)
  %13392 = call ptr @__errno_location() #12
  %13393 = load i32, ptr %13392, align 4, !tbaa !5
  %13394 = call ptr @strerror(i32 noundef %13393) #11
  %13395 = call ptr @__errno_location() #12
  %13396 = load i32, ptr %13395, align 4, !tbaa !5
  %13397 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13384, ptr noundef @.str.5, i32 noundef %13385, ptr noundef @.str.113, ptr noundef @.str.1, i32 noundef 580, ptr noundef %13388, ptr noundef %13391, ptr noundef %13394, i32 noundef %13396) #11
  br label %13398

13398:                                            ; preds = %13381, %13364
  call void @llvm.lifetime.end.p0(i64 4, ptr %351) #11
  br label %13399

13399:                                            ; preds = %13398
  br label %13400

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

13401:                                            ; No predecessors!
  br label %13402

13402:                                            ; preds = %13401
  br label %13403

13403:                                            ; preds = %13402, %13345
  br label %13404

13404:                                            ; preds = %13403
  br label %13405

13405:                                            ; preds = %13404
  br label %13406

13406:                                            ; preds = %13405
  %13407 = load i32, ptr @test_count, align 4, !tbaa !5
  %13408 = add nsw i32 %13407, 1
  store i32 %13408, ptr @test_count, align 4, !tbaa !5
  %13409 = load ptr, ptr %350, align 8, !tbaa !9
  %13410 = getelementptr inbounds [142 x i8], ptr %348, i64 0, i64 0
  %13411 = call i32 @s2n_connection_deserialize(ptr noundef %13409, ptr noundef %13410, i32 noundef 142)
  %13412 = icmp eq i32 %13411, -1
  br i1 %13412, label %13413, label %13466

13413:                                            ; preds = %13406
  br label %13414

13414:                                            ; preds = %13413
  br label %13415

13415:                                            ; preds = %13414
  call void @llvm.lifetime.start.p0(i64 4, ptr %352) #11
  %13416 = call ptr @__errno_location() #12
  %13417 = load i32, ptr %13416, align 4, !tbaa !5
  store i32 %13417, ptr %352, align 4, !tbaa !5
  %13418 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13419 = call i32 @s2n_print_stacktrace(ptr noundef %13418)
  %13420 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13421 = trunc i8 %13420 to i1
  br i1 %13421, label %13422, label %13444

13422:                                            ; preds = %13415
  %13423 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13424 = call i32 @fileno(ptr noundef %13423) #11
  %13425 = call i32 @isatty(i32 noundef %13424) #11
  %13426 = icmp ne i32 %13425, 0
  br i1 %13426, label %13427, label %13444

13427:                                            ; preds = %13422
  %13428 = load i32, ptr %352, align 4, !tbaa !5
  %13429 = call ptr @__errno_location() #12
  store i32 %13428, ptr %13429, align 4, !tbaa !5
  %13430 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13431 = load i32, ptr @test_count, align 4, !tbaa !5
  %13432 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13433 = load i32, ptr %13432, align 4, !tbaa !5
  %13434 = call ptr @s2n_strerror(i32 noundef %13433, ptr noundef @.str.4)
  %13435 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13436 = load i32, ptr %13435, align 4, !tbaa !5
  %13437 = call ptr @s2n_strerror_debug(i32 noundef %13436, ptr noundef @.str.4)
  %13438 = call ptr @__errno_location() #12
  %13439 = load i32, ptr %13438, align 4, !tbaa !5
  %13440 = call ptr @strerror(i32 noundef %13439) #11
  %13441 = call ptr @__errno_location() #12
  %13442 = load i32, ptr %13441, align 4, !tbaa !5
  %13443 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13430, ptr noundef @.str.2, i32 noundef %13431, ptr noundef @.str.114, ptr noundef @.str.1, i32 noundef 581, ptr noundef %13434, ptr noundef %13437, ptr noundef %13440, i32 noundef %13442) #11
  br label %13461

13444:                                            ; preds = %13422, %13415
  %13445 = load i32, ptr %352, align 4, !tbaa !5
  %13446 = call ptr @__errno_location() #12
  store i32 %13445, ptr %13446, align 4, !tbaa !5
  %13447 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13448 = load i32, ptr @test_count, align 4, !tbaa !5
  %13449 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13450 = load i32, ptr %13449, align 4, !tbaa !5
  %13451 = call ptr @s2n_strerror(i32 noundef %13450, ptr noundef @.str.4)
  %13452 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13453 = load i32, ptr %13452, align 4, !tbaa !5
  %13454 = call ptr @s2n_strerror_debug(i32 noundef %13453, ptr noundef @.str.4)
  %13455 = call ptr @__errno_location() #12
  %13456 = load i32, ptr %13455, align 4, !tbaa !5
  %13457 = call ptr @strerror(i32 noundef %13456) #11
  %13458 = call ptr @__errno_location() #12
  %13459 = load i32, ptr %13458, align 4, !tbaa !5
  %13460 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13447, ptr noundef @.str.5, i32 noundef %13448, ptr noundef @.str.114, ptr noundef @.str.1, i32 noundef 581, ptr noundef %13451, ptr noundef %13454, ptr noundef %13457, i32 noundef %13459) #11
  br label %13461

13461:                                            ; preds = %13444, %13427
  call void @llvm.lifetime.end.p0(i64 4, ptr %352) #11
  br label %13462

13462:                                            ; preds = %13461
  br label %13463

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

13464:                                            ; No predecessors!
  br label %13465

13465:                                            ; preds = %13464
  br label %13466

13466:                                            ; preds = %13465, %13406
  br label %13467

13467:                                            ; preds = %13466
  br label %13468

13468:                                            ; preds = %13467
  br label %13469

13469:                                            ; preds = %13468
  %13470 = load i32, ptr @test_count, align 4, !tbaa !5
  %13471 = add nsw i32 %13470, 1
  store i32 %13471, ptr @test_count, align 4, !tbaa !5
  %13472 = getelementptr inbounds %struct.s2n_test_io_stuffer_pair, ptr %338, i32 0, i32 0
  %13473 = call i32 @s2n_stuffer_wipe(ptr noundef %13472)
  %13474 = icmp eq i32 %13473, -1
  br i1 %13474, label %13475, label %13528

13475:                                            ; preds = %13469
  br label %13476

13476:                                            ; preds = %13475
  br label %13477

13477:                                            ; preds = %13476
  call void @llvm.lifetime.start.p0(i64 4, ptr %353) #11
  %13478 = call ptr @__errno_location() #12
  %13479 = load i32, ptr %13478, align 4, !tbaa !5
  store i32 %13479, ptr %353, align 4, !tbaa !5
  %13480 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13481 = call i32 @s2n_print_stacktrace(ptr noundef %13480)
  %13482 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13483 = trunc i8 %13482 to i1
  br i1 %13483, label %13484, label %13506

13484:                                            ; preds = %13477
  %13485 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13486 = call i32 @fileno(ptr noundef %13485) #11
  %13487 = call i32 @isatty(i32 noundef %13486) #11
  %13488 = icmp ne i32 %13487, 0
  br i1 %13488, label %13489, label %13506

13489:                                            ; preds = %13484
  %13490 = load i32, ptr %353, align 4, !tbaa !5
  %13491 = call ptr @__errno_location() #12
  store i32 %13490, ptr %13491, align 4, !tbaa !5
  %13492 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13493 = load i32, ptr @test_count, align 4, !tbaa !5
  %13494 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13495 = load i32, ptr %13494, align 4, !tbaa !5
  %13496 = call ptr @s2n_strerror(i32 noundef %13495, ptr noundef @.str.4)
  %13497 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13498 = load i32, ptr %13497, align 4, !tbaa !5
  %13499 = call ptr @s2n_strerror_debug(i32 noundef %13498, ptr noundef @.str.4)
  %13500 = call ptr @__errno_location() #12
  %13501 = load i32, ptr %13500, align 4, !tbaa !5
  %13502 = call ptr @strerror(i32 noundef %13501) #11
  %13503 = call ptr @__errno_location() #12
  %13504 = load i32, ptr %13503, align 4, !tbaa !5
  %13505 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13492, ptr noundef @.str.2, i32 noundef %13493, ptr noundef @.str.108, ptr noundef @.str.1, i32 noundef 584, ptr noundef %13496, ptr noundef %13499, ptr noundef %13502, i32 noundef %13504) #11
  br label %13523

13506:                                            ; preds = %13484, %13477
  %13507 = load i32, ptr %353, align 4, !tbaa !5
  %13508 = call ptr @__errno_location() #12
  store i32 %13507, ptr %13508, align 4, !tbaa !5
  %13509 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13510 = load i32, ptr @test_count, align 4, !tbaa !5
  %13511 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13512 = load i32, ptr %13511, align 4, !tbaa !5
  %13513 = call ptr @s2n_strerror(i32 noundef %13512, ptr noundef @.str.4)
  %13514 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13515 = load i32, ptr %13514, align 4, !tbaa !5
  %13516 = call ptr @s2n_strerror_debug(i32 noundef %13515, ptr noundef @.str.4)
  %13517 = call ptr @__errno_location() #12
  %13518 = load i32, ptr %13517, align 4, !tbaa !5
  %13519 = call ptr @strerror(i32 noundef %13518) #11
  %13520 = call ptr @__errno_location() #12
  %13521 = load i32, ptr %13520, align 4, !tbaa !5
  %13522 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13509, ptr noundef @.str.5, i32 noundef %13510, ptr noundef @.str.108, ptr noundef @.str.1, i32 noundef 584, ptr noundef %13513, ptr noundef %13516, ptr noundef %13519, i32 noundef %13521) #11
  br label %13523

13523:                                            ; preds = %13506, %13489
  call void @llvm.lifetime.end.p0(i64 4, ptr %353) #11
  br label %13524

13524:                                            ; preds = %13523
  br label %13525

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

13526:                                            ; No predecessors!
  br label %13527

13527:                                            ; preds = %13526
  br label %13528

13528:                                            ; preds = %13527, %13469
  br label %13529

13529:                                            ; preds = %13528
  br label %13530

13530:                                            ; preds = %13529
  br label %13531

13531:                                            ; preds = %13530
  %13532 = load i32, ptr @test_count, align 4, !tbaa !5
  %13533 = add nsw i32 %13532, 1
  store i32 %13533, ptr @test_count, align 4, !tbaa !5
  %13534 = getelementptr inbounds %struct.s2n_test_io_stuffer_pair, ptr %338, i32 0, i32 1
  %13535 = call i32 @s2n_stuffer_wipe(ptr noundef %13534)
  %13536 = icmp eq i32 %13535, -1
  br i1 %13536, label %13537, label %13590

13537:                                            ; preds = %13531
  br label %13538

13538:                                            ; preds = %13537
  br label %13539

13539:                                            ; preds = %13538
  call void @llvm.lifetime.start.p0(i64 4, ptr %354) #11
  %13540 = call ptr @__errno_location() #12
  %13541 = load i32, ptr %13540, align 4, !tbaa !5
  store i32 %13541, ptr %354, align 4, !tbaa !5
  %13542 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13543 = call i32 @s2n_print_stacktrace(ptr noundef %13542)
  %13544 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13545 = trunc i8 %13544 to i1
  br i1 %13545, label %13546, label %13568

13546:                                            ; preds = %13539
  %13547 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13548 = call i32 @fileno(ptr noundef %13547) #11
  %13549 = call i32 @isatty(i32 noundef %13548) #11
  %13550 = icmp ne i32 %13549, 0
  br i1 %13550, label %13551, label %13568

13551:                                            ; preds = %13546
  %13552 = load i32, ptr %354, align 4, !tbaa !5
  %13553 = call ptr @__errno_location() #12
  store i32 %13552, ptr %13553, align 4, !tbaa !5
  %13554 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13555 = load i32, ptr @test_count, align 4, !tbaa !5
  %13556 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13557 = load i32, ptr %13556, align 4, !tbaa !5
  %13558 = call ptr @s2n_strerror(i32 noundef %13557, ptr noundef @.str.4)
  %13559 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13560 = load i32, ptr %13559, align 4, !tbaa !5
  %13561 = call ptr @s2n_strerror_debug(i32 noundef %13560, ptr noundef @.str.4)
  %13562 = call ptr @__errno_location() #12
  %13563 = load i32, ptr %13562, align 4, !tbaa !5
  %13564 = call ptr @strerror(i32 noundef %13563) #11
  %13565 = call ptr @__errno_location() #12
  %13566 = load i32, ptr %13565, align 4, !tbaa !5
  %13567 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13554, ptr noundef @.str.2, i32 noundef %13555, ptr noundef @.str.109, ptr noundef @.str.1, i32 noundef 585, ptr noundef %13558, ptr noundef %13561, ptr noundef %13564, i32 noundef %13566) #11
  br label %13585

13568:                                            ; preds = %13546, %13539
  %13569 = load i32, ptr %354, align 4, !tbaa !5
  %13570 = call ptr @__errno_location() #12
  store i32 %13569, ptr %13570, align 4, !tbaa !5
  %13571 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13572 = load i32, ptr @test_count, align 4, !tbaa !5
  %13573 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13574 = load i32, ptr %13573, align 4, !tbaa !5
  %13575 = call ptr @s2n_strerror(i32 noundef %13574, ptr noundef @.str.4)
  %13576 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13577 = load i32, ptr %13576, align 4, !tbaa !5
  %13578 = call ptr @s2n_strerror_debug(i32 noundef %13577, ptr noundef @.str.4)
  %13579 = call ptr @__errno_location() #12
  %13580 = load i32, ptr %13579, align 4, !tbaa !5
  %13581 = call ptr @strerror(i32 noundef %13580) #11
  %13582 = call ptr @__errno_location() #12
  %13583 = load i32, ptr %13582, align 4, !tbaa !5
  %13584 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13571, ptr noundef @.str.5, i32 noundef %13572, ptr noundef @.str.109, ptr noundef @.str.1, i32 noundef 585, ptr noundef %13575, ptr noundef %13578, ptr noundef %13581, i32 noundef %13583) #11
  br label %13585

13585:                                            ; preds = %13568, %13551
  call void @llvm.lifetime.end.p0(i64 4, ptr %354) #11
  br label %13586

13586:                                            ; preds = %13585
  br label %13587

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

13588:                                            ; No predecessors!
  br label %13589

13589:                                            ; preds = %13588
  br label %13590

13590:                                            ; preds = %13589, %13531
  br label %13591

13591:                                            ; preds = %13590
  br label %13592

13592:                                            ; preds = %13591
  br label %13593

13593:                                            ; preds = %13592
  %13594 = load i32, ptr @test_count, align 4, !tbaa !5
  %13595 = add nsw i32 %13594, 1
  store i32 %13595, ptr @test_count, align 4, !tbaa !5
  %13596 = load ptr, ptr %332, align 8, !tbaa !9
  %13597 = load ptr, ptr %350, align 8, !tbaa !9
  %13598 = call i32 @s2n_connections_set_io_stuffer_pair(ptr noundef %13596, ptr noundef %13597, ptr noundef %338)
  %13599 = getelementptr inbounds %struct.s2n_result, ptr %355, i32 0, i32 0
  store i32 %13598, ptr %13599, align 4
  %13600 = getelementptr inbounds %struct.s2n_result, ptr %355, i32 0, i32 0
  %13601 = load i32, ptr %13600, align 4
  %13602 = call zeroext i1 @s2n_result_is_ok(i32 %13601)
  br i1 %13602, label %13656, label %13603

13603:                                            ; preds = %13593
  br label %13604

13604:                                            ; preds = %13603
  br label %13605

13605:                                            ; preds = %13604
  call void @llvm.lifetime.start.p0(i64 4, ptr %356) #11
  %13606 = call ptr @__errno_location() #12
  %13607 = load i32, ptr %13606, align 4, !tbaa !5
  store i32 %13607, ptr %356, align 4, !tbaa !5
  %13608 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13609 = call i32 @s2n_print_stacktrace(ptr noundef %13608)
  %13610 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13611 = trunc i8 %13610 to i1
  br i1 %13611, label %13612, label %13634

13612:                                            ; preds = %13605
  %13613 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13614 = call i32 @fileno(ptr noundef %13613) #11
  %13615 = call i32 @isatty(i32 noundef %13614) #11
  %13616 = icmp ne i32 %13615, 0
  br i1 %13616, label %13617, label %13634

13617:                                            ; preds = %13612
  %13618 = load i32, ptr %356, align 4, !tbaa !5
  %13619 = call ptr @__errno_location() #12
  store i32 %13618, ptr %13619, align 4, !tbaa !5
  %13620 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13621 = load i32, ptr @test_count, align 4, !tbaa !5
  %13622 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13623 = load i32, ptr %13622, align 4, !tbaa !5
  %13624 = call ptr @s2n_strerror(i32 noundef %13623, ptr noundef @.str.4)
  %13625 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13626 = load i32, ptr %13625, align 4, !tbaa !5
  %13627 = call ptr @s2n_strerror_debug(i32 noundef %13626, ptr noundef @.str.4)
  %13628 = call ptr @__errno_location() #12
  %13629 = load i32, ptr %13628, align 4, !tbaa !5
  %13630 = call ptr @strerror(i32 noundef %13629) #11
  %13631 = call ptr @__errno_location() #12
  %13632 = load i32, ptr %13631, align 4, !tbaa !5
  %13633 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13620, ptr noundef @.str.2, i32 noundef %13621, ptr noundef @.str.115, ptr noundef @.str.1, i32 noundef 586, ptr noundef %13624, ptr noundef %13627, ptr noundef %13630, i32 noundef %13632) #11
  br label %13651

13634:                                            ; preds = %13612, %13605
  %13635 = load i32, ptr %356, align 4, !tbaa !5
  %13636 = call ptr @__errno_location() #12
  store i32 %13635, ptr %13636, align 4, !tbaa !5
  %13637 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13638 = load i32, ptr @test_count, align 4, !tbaa !5
  %13639 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13640 = load i32, ptr %13639, align 4, !tbaa !5
  %13641 = call ptr @s2n_strerror(i32 noundef %13640, ptr noundef @.str.4)
  %13642 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13643 = load i32, ptr %13642, align 4, !tbaa !5
  %13644 = call ptr @s2n_strerror_debug(i32 noundef %13643, ptr noundef @.str.4)
  %13645 = call ptr @__errno_location() #12
  %13646 = load i32, ptr %13645, align 4, !tbaa !5
  %13647 = call ptr @strerror(i32 noundef %13646) #11
  %13648 = call ptr @__errno_location() #12
  %13649 = load i32, ptr %13648, align 4, !tbaa !5
  %13650 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13637, ptr noundef @.str.5, i32 noundef %13638, ptr noundef @.str.115, ptr noundef @.str.1, i32 noundef 586, ptr noundef %13641, ptr noundef %13644, ptr noundef %13647, i32 noundef %13649) #11
  br label %13651

13651:                                            ; preds = %13634, %13617
  call void @llvm.lifetime.end.p0(i64 4, ptr %356) #11
  br label %13652

13652:                                            ; preds = %13651
  br label %13653

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

13654:                                            ; No predecessors!
  br label %13655

13655:                                            ; preds = %13654
  br label %13656

13656:                                            ; preds = %13655, %13593
  br label %13657

13657:                                            ; preds = %13656
  br label %13658

13658:                                            ; preds = %13657
  call void @llvm.lifetime.start.p0(i64 8, ptr %357) #11
  store i64 0, ptr %357, align 8, !tbaa !42
  br label %13659

13659:                                            ; preds = %13796, %13658
  %13660 = load i64, ptr %357, align 8, !tbaa !42
  %13661 = icmp ult i64 %13660, 1000
  br i1 %13661, label %13663, label %13662

13662:                                            ; preds = %13659
  store i32 1340, ptr %296, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %357) #11
  br label %13799

13663:                                            ; preds = %13659
  br label %13664

13664:                                            ; preds = %13663
  %13665 = load i32, ptr @test_count, align 4, !tbaa !5
  %13666 = add nsw i32 %13665, 1
  store i32 %13666, ptr @test_count, align 4, !tbaa !5
  %13667 = load ptr, ptr %350, align 8, !tbaa !9
  %13668 = load ptr, ptr %332, align 8, !tbaa !9
  %13669 = call i32 @s2n_send_and_recv_test(ptr noundef %13667, ptr noundef %13668)
  %13670 = getelementptr inbounds %struct.s2n_result, ptr %358, i32 0, i32 0
  store i32 %13669, ptr %13670, align 4
  %13671 = getelementptr inbounds %struct.s2n_result, ptr %358, i32 0, i32 0
  %13672 = load i32, ptr %13671, align 4
  %13673 = call zeroext i1 @s2n_result_is_ok(i32 %13672)
  br i1 %13673, label %13727, label %13674

13674:                                            ; preds = %13664
  br label %13675

13675:                                            ; preds = %13674
  br label %13676

13676:                                            ; preds = %13675
  call void @llvm.lifetime.start.p0(i64 4, ptr %359) #11
  %13677 = call ptr @__errno_location() #12
  %13678 = load i32, ptr %13677, align 4, !tbaa !5
  store i32 %13678, ptr %359, align 4, !tbaa !5
  %13679 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13680 = call i32 @s2n_print_stacktrace(ptr noundef %13679)
  %13681 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13682 = trunc i8 %13681 to i1
  br i1 %13682, label %13683, label %13705

13683:                                            ; preds = %13676
  %13684 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13685 = call i32 @fileno(ptr noundef %13684) #11
  %13686 = call i32 @isatty(i32 noundef %13685) #11
  %13687 = icmp ne i32 %13686, 0
  br i1 %13687, label %13688, label %13705

13688:                                            ; preds = %13683
  %13689 = load i32, ptr %359, align 4, !tbaa !5
  %13690 = call ptr @__errno_location() #12
  store i32 %13689, ptr %13690, align 4, !tbaa !5
  %13691 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13692 = load i32, ptr @test_count, align 4, !tbaa !5
  %13693 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13694 = load i32, ptr %13693, align 4, !tbaa !5
  %13695 = call ptr @s2n_strerror(i32 noundef %13694, ptr noundef @.str.4)
  %13696 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13697 = load i32, ptr %13696, align 4, !tbaa !5
  %13698 = call ptr @s2n_strerror_debug(i32 noundef %13697, ptr noundef @.str.4)
  %13699 = call ptr @__errno_location() #12
  %13700 = load i32, ptr %13699, align 4, !tbaa !5
  %13701 = call ptr @strerror(i32 noundef %13700) #11
  %13702 = call ptr @__errno_location() #12
  %13703 = load i32, ptr %13702, align 4, !tbaa !5
  %13704 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13691, ptr noundef @.str.2, i32 noundef %13692, ptr noundef @.str.116, ptr noundef @.str.1, i32 noundef 590, ptr noundef %13695, ptr noundef %13698, ptr noundef %13701, i32 noundef %13703) #11
  br label %13722

13705:                                            ; preds = %13683, %13676
  %13706 = load i32, ptr %359, align 4, !tbaa !5
  %13707 = call ptr @__errno_location() #12
  store i32 %13706, ptr %13707, align 4, !tbaa !5
  %13708 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13709 = load i32, ptr @test_count, align 4, !tbaa !5
  %13710 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13711 = load i32, ptr %13710, align 4, !tbaa !5
  %13712 = call ptr @s2n_strerror(i32 noundef %13711, ptr noundef @.str.4)
  %13713 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13714 = load i32, ptr %13713, align 4, !tbaa !5
  %13715 = call ptr @s2n_strerror_debug(i32 noundef %13714, ptr noundef @.str.4)
  %13716 = call ptr @__errno_location() #12
  %13717 = load i32, ptr %13716, align 4, !tbaa !5
  %13718 = call ptr @strerror(i32 noundef %13717) #11
  %13719 = call ptr @__errno_location() #12
  %13720 = load i32, ptr %13719, align 4, !tbaa !5
  %13721 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13708, ptr noundef @.str.5, i32 noundef %13709, ptr noundef @.str.116, ptr noundef @.str.1, i32 noundef 590, ptr noundef %13712, ptr noundef %13715, ptr noundef %13718, i32 noundef %13720) #11
  br label %13722

13722:                                            ; preds = %13705, %13688
  call void @llvm.lifetime.end.p0(i64 4, ptr %359) #11
  br label %13723

13723:                                            ; preds = %13722
  br label %13724

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

13725:                                            ; No predecessors!
  br label %13726

13726:                                            ; preds = %13725
  br label %13727

13727:                                            ; preds = %13726, %13664
  br label %13728

13728:                                            ; preds = %13727
  br label %13729

13729:                                            ; preds = %13728
  br label %13730

13730:                                            ; preds = %13729
  %13731 = load i32, ptr @test_count, align 4, !tbaa !5
  %13732 = add nsw i32 %13731, 1
  store i32 %13732, ptr @test_count, align 4, !tbaa !5
  %13733 = load ptr, ptr %332, align 8, !tbaa !9
  %13734 = load ptr, ptr %350, align 8, !tbaa !9
  %13735 = call i32 @s2n_send_and_recv_test(ptr noundef %13733, ptr noundef %13734)
  %13736 = getelementptr inbounds %struct.s2n_result, ptr %360, i32 0, i32 0
  store i32 %13735, ptr %13736, align 4
  %13737 = getelementptr inbounds %struct.s2n_result, ptr %360, i32 0, i32 0
  %13738 = load i32, ptr %13737, align 4
  %13739 = call zeroext i1 @s2n_result_is_ok(i32 %13738)
  br i1 %13739, label %13793, label %13740

13740:                                            ; preds = %13730
  br label %13741

13741:                                            ; preds = %13740
  br label %13742

13742:                                            ; preds = %13741
  call void @llvm.lifetime.start.p0(i64 4, ptr %361) #11
  %13743 = call ptr @__errno_location() #12
  %13744 = load i32, ptr %13743, align 4, !tbaa !5
  store i32 %13744, ptr %361, align 4, !tbaa !5
  %13745 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13746 = call i32 @s2n_print_stacktrace(ptr noundef %13745)
  %13747 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13748 = trunc i8 %13747 to i1
  br i1 %13748, label %13749, label %13771

13749:                                            ; preds = %13742
  %13750 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13751 = call i32 @fileno(ptr noundef %13750) #11
  %13752 = call i32 @isatty(i32 noundef %13751) #11
  %13753 = icmp ne i32 %13752, 0
  br i1 %13753, label %13754, label %13771

13754:                                            ; preds = %13749
  %13755 = load i32, ptr %361, align 4, !tbaa !5
  %13756 = call ptr @__errno_location() #12
  store i32 %13755, ptr %13756, align 4, !tbaa !5
  %13757 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13758 = load i32, ptr @test_count, align 4, !tbaa !5
  %13759 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13760 = load i32, ptr %13759, align 4, !tbaa !5
  %13761 = call ptr @s2n_strerror(i32 noundef %13760, ptr noundef @.str.4)
  %13762 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13763 = load i32, ptr %13762, align 4, !tbaa !5
  %13764 = call ptr @s2n_strerror_debug(i32 noundef %13763, ptr noundef @.str.4)
  %13765 = call ptr @__errno_location() #12
  %13766 = load i32, ptr %13765, align 4, !tbaa !5
  %13767 = call ptr @strerror(i32 noundef %13766) #11
  %13768 = call ptr @__errno_location() #12
  %13769 = load i32, ptr %13768, align 4, !tbaa !5
  %13770 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13757, ptr noundef @.str.2, i32 noundef %13758, ptr noundef @.str.117, ptr noundef @.str.1, i32 noundef 591, ptr noundef %13761, ptr noundef %13764, ptr noundef %13767, i32 noundef %13769) #11
  br label %13788

13771:                                            ; preds = %13749, %13742
  %13772 = load i32, ptr %361, align 4, !tbaa !5
  %13773 = call ptr @__errno_location() #12
  store i32 %13772, ptr %13773, align 4, !tbaa !5
  %13774 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13775 = load i32, ptr @test_count, align 4, !tbaa !5
  %13776 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13777 = load i32, ptr %13776, align 4, !tbaa !5
  %13778 = call ptr @s2n_strerror(i32 noundef %13777, ptr noundef @.str.4)
  %13779 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13780 = load i32, ptr %13779, align 4, !tbaa !5
  %13781 = call ptr @s2n_strerror_debug(i32 noundef %13780, ptr noundef @.str.4)
  %13782 = call ptr @__errno_location() #12
  %13783 = load i32, ptr %13782, align 4, !tbaa !5
  %13784 = call ptr @strerror(i32 noundef %13783) #11
  %13785 = call ptr @__errno_location() #12
  %13786 = load i32, ptr %13785, align 4, !tbaa !5
  %13787 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13774, ptr noundef @.str.5, i32 noundef %13775, ptr noundef @.str.117, ptr noundef @.str.1, i32 noundef 591, ptr noundef %13778, ptr noundef %13781, ptr noundef %13784, i32 noundef %13786) #11
  br label %13788

13788:                                            ; preds = %13771, %13754
  call void @llvm.lifetime.end.p0(i64 4, ptr %361) #11
  br label %13789

13789:                                            ; preds = %13788
  br label %13790

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

13791:                                            ; No predecessors!
  br label %13792

13792:                                            ; preds = %13791
  br label %13793

13793:                                            ; preds = %13792, %13730
  br label %13794

13794:                                            ; preds = %13793
  br label %13795

13795:                                            ; preds = %13794
  br label %13796

13796:                                            ; preds = %13795
  %13797 = load i64, ptr %357, align 8, !tbaa !42
  %13798 = add i64 %13797, 1
  store i64 %13798, ptr %357, align 8, !tbaa !42
  br label %13659, !llvm.loop !62

13799:                                            ; preds = %13662
  %13800 = call i32 @s2n_connection_ptr_free(ptr noundef %350)
  %13801 = getelementptr inbounds %struct.s2n_result, ptr %362, i32 0, i32 0
  store i32 %13800, ptr %13801, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %350) #11
  call void @llvm.lifetime.end.p0(i64 142, ptr %348) #11
  %13802 = call i32 @s2n_io_stuffer_pair_free(ptr noundef %338)
  %13803 = getelementptr inbounds %struct.s2n_result, ptr %363, i32 0, i32 0
  store i32 %13802, ptr %13803, align 4
  call void @llvm.lifetime.end.p0(i64 80, ptr %338) #11
  %13804 = call i32 @s2n_connection_ptr_free(ptr noundef %334)
  %13805 = getelementptr inbounds %struct.s2n_result, ptr %364, i32 0, i32 0
  store i32 %13804, ptr %13805, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %334) #11
  %13806 = call i32 @s2n_connection_ptr_free(ptr noundef %332)
  %13807 = getelementptr inbounds %struct.s2n_result, ptr %365, i32 0, i32 0
  store i32 %13806, ptr %13807, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %332) #11
  br label %13808

13808:                                            ; preds = %13799
  %13809 = load i64, ptr %331, align 8, !tbaa !42
  %13810 = add i64 %13809, 1
  store i64 %13810, ptr %331, align 8, !tbaa !42
  br label %12697, !llvm.loop !63

13811:                                            ; preds = %12700
  call void @llvm.lifetime.start.p0(i64 8, ptr %366) #11
  %13812 = call ptr @s2n_config_new()
  store ptr %13812, ptr %366, align 8, !tbaa !9
  br label %13813

13813:                                            ; preds = %13811
  %13814 = load i32, ptr @test_count, align 4, !tbaa !5
  %13815 = add nsw i32 %13814, 1
  store i32 %13815, ptr @test_count, align 4, !tbaa !5
  %13816 = load ptr, ptr %366, align 8, !tbaa !9
  %13817 = call i32 @s2n_config_set_cipher_preferences(ptr noundef %13816, ptr noundef @.str.11)
  %13818 = icmp eq i32 %13817, -1
  br i1 %13818, label %13819, label %13872

13819:                                            ; preds = %13813
  br label %13820

13820:                                            ; preds = %13819
  br label %13821

13821:                                            ; preds = %13820
  call void @llvm.lifetime.start.p0(i64 4, ptr %367) #11
  %13822 = call ptr @__errno_location() #12
  %13823 = load i32, ptr %13822, align 4, !tbaa !5
  store i32 %13823, ptr %367, align 4, !tbaa !5
  %13824 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13825 = call i32 @s2n_print_stacktrace(ptr noundef %13824)
  %13826 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13827 = trunc i8 %13826 to i1
  br i1 %13827, label %13828, label %13850

13828:                                            ; preds = %13821
  %13829 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13830 = call i32 @fileno(ptr noundef %13829) #11
  %13831 = call i32 @isatty(i32 noundef %13830) #11
  %13832 = icmp ne i32 %13831, 0
  br i1 %13832, label %13833, label %13850

13833:                                            ; preds = %13828
  %13834 = load i32, ptr %367, align 4, !tbaa !5
  %13835 = call ptr @__errno_location() #12
  store i32 %13834, ptr %13835, align 4, !tbaa !5
  %13836 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13837 = load i32, ptr @test_count, align 4, !tbaa !5
  %13838 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13839 = load i32, ptr %13838, align 4, !tbaa !5
  %13840 = call ptr @s2n_strerror(i32 noundef %13839, ptr noundef @.str.4)
  %13841 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13842 = load i32, ptr %13841, align 4, !tbaa !5
  %13843 = call ptr @s2n_strerror_debug(i32 noundef %13842, ptr noundef @.str.4)
  %13844 = call ptr @__errno_location() #12
  %13845 = load i32, ptr %13844, align 4, !tbaa !5
  %13846 = call ptr @strerror(i32 noundef %13845) #11
  %13847 = call ptr @__errno_location() #12
  %13848 = load i32, ptr %13847, align 4, !tbaa !5
  %13849 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13836, ptr noundef @.str.2, i32 noundef %13837, ptr noundef @.str.118, ptr noundef @.str.1, i32 noundef 598, ptr noundef %13840, ptr noundef %13843, ptr noundef %13846, i32 noundef %13848) #11
  br label %13867

13850:                                            ; preds = %13828, %13821
  %13851 = load i32, ptr %367, align 4, !tbaa !5
  %13852 = call ptr @__errno_location() #12
  store i32 %13851, ptr %13852, align 4, !tbaa !5
  %13853 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13854 = load i32, ptr @test_count, align 4, !tbaa !5
  %13855 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13856 = load i32, ptr %13855, align 4, !tbaa !5
  %13857 = call ptr @s2n_strerror(i32 noundef %13856, ptr noundef @.str.4)
  %13858 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13859 = load i32, ptr %13858, align 4, !tbaa !5
  %13860 = call ptr @s2n_strerror_debug(i32 noundef %13859, ptr noundef @.str.4)
  %13861 = call ptr @__errno_location() #12
  %13862 = load i32, ptr %13861, align 4, !tbaa !5
  %13863 = call ptr @strerror(i32 noundef %13862) #11
  %13864 = call ptr @__errno_location() #12
  %13865 = load i32, ptr %13864, align 4, !tbaa !5
  %13866 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13853, ptr noundef @.str.5, i32 noundef %13854, ptr noundef @.str.118, ptr noundef @.str.1, i32 noundef 598, ptr noundef %13857, ptr noundef %13860, ptr noundef %13863, i32 noundef %13865) #11
  br label %13867

13867:                                            ; preds = %13850, %13833
  call void @llvm.lifetime.end.p0(i64 4, ptr %367) #11
  br label %13868

13868:                                            ; preds = %13867
  br label %13869

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

13870:                                            ; No predecessors!
  br label %13871

13871:                                            ; preds = %13870
  br label %13872

13872:                                            ; preds = %13871, %13813
  br label %13873

13873:                                            ; preds = %13872
  br label %13874

13874:                                            ; preds = %13873
  br label %13875

13875:                                            ; preds = %13874
  %13876 = load i32, ptr @test_count, align 4, !tbaa !5
  %13877 = add nsw i32 %13876, 1
  store i32 %13877, ptr @test_count, align 4, !tbaa !5
  %13878 = load ptr, ptr %366, align 8, !tbaa !9
  %13879 = load ptr, ptr %9, align 8, !tbaa !9
  %13880 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef %13878, ptr noundef %13879)
  %13881 = icmp eq i32 %13880, -1
  br i1 %13881, label %13882, label %13935

13882:                                            ; preds = %13875
  br label %13883

13883:                                            ; preds = %13882
  br label %13884

13884:                                            ; preds = %13883
  call void @llvm.lifetime.start.p0(i64 4, ptr %368) #11
  %13885 = call ptr @__errno_location() #12
  %13886 = load i32, ptr %13885, align 4, !tbaa !5
  store i32 %13886, ptr %368, align 4, !tbaa !5
  %13887 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13888 = call i32 @s2n_print_stacktrace(ptr noundef %13887)
  %13889 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13890 = trunc i8 %13889 to i1
  br i1 %13890, label %13891, label %13913

13891:                                            ; preds = %13884
  %13892 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13893 = call i32 @fileno(ptr noundef %13892) #11
  %13894 = call i32 @isatty(i32 noundef %13893) #11
  %13895 = icmp ne i32 %13894, 0
  br i1 %13895, label %13896, label %13913

13896:                                            ; preds = %13891
  %13897 = load i32, ptr %368, align 4, !tbaa !5
  %13898 = call ptr @__errno_location() #12
  store i32 %13897, ptr %13898, align 4, !tbaa !5
  %13899 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13900 = load i32, ptr @test_count, align 4, !tbaa !5
  %13901 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13902 = load i32, ptr %13901, align 4, !tbaa !5
  %13903 = call ptr @s2n_strerror(i32 noundef %13902, ptr noundef @.str.4)
  %13904 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13905 = load i32, ptr %13904, align 4, !tbaa !5
  %13906 = call ptr @s2n_strerror_debug(i32 noundef %13905, ptr noundef @.str.4)
  %13907 = call ptr @__errno_location() #12
  %13908 = load i32, ptr %13907, align 4, !tbaa !5
  %13909 = call ptr @strerror(i32 noundef %13908) #11
  %13910 = call ptr @__errno_location() #12
  %13911 = load i32, ptr %13910, align 4, !tbaa !5
  %13912 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13899, ptr noundef @.str.2, i32 noundef %13900, ptr noundef @.str.119, ptr noundef @.str.1, i32 noundef 599, ptr noundef %13903, ptr noundef %13906, ptr noundef %13909, i32 noundef %13911) #11
  br label %13930

13913:                                            ; preds = %13891, %13884
  %13914 = load i32, ptr %368, align 4, !tbaa !5
  %13915 = call ptr @__errno_location() #12
  store i32 %13914, ptr %13915, align 4, !tbaa !5
  %13916 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13917 = load i32, ptr @test_count, align 4, !tbaa !5
  %13918 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13919 = load i32, ptr %13918, align 4, !tbaa !5
  %13920 = call ptr @s2n_strerror(i32 noundef %13919, ptr noundef @.str.4)
  %13921 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13922 = load i32, ptr %13921, align 4, !tbaa !5
  %13923 = call ptr @s2n_strerror_debug(i32 noundef %13922, ptr noundef @.str.4)
  %13924 = call ptr @__errno_location() #12
  %13925 = load i32, ptr %13924, align 4, !tbaa !5
  %13926 = call ptr @strerror(i32 noundef %13925) #11
  %13927 = call ptr @__errno_location() #12
  %13928 = load i32, ptr %13927, align 4, !tbaa !5
  %13929 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13916, ptr noundef @.str.5, i32 noundef %13917, ptr noundef @.str.119, ptr noundef @.str.1, i32 noundef 599, ptr noundef %13920, ptr noundef %13923, ptr noundef %13926, i32 noundef %13928) #11
  br label %13930

13930:                                            ; preds = %13913, %13896
  call void @llvm.lifetime.end.p0(i64 4, ptr %368) #11
  br label %13931

13931:                                            ; preds = %13930
  br label %13932

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

13933:                                            ; No predecessors!
  br label %13934

13934:                                            ; preds = %13933
  br label %13935

13935:                                            ; preds = %13934, %13875
  br label %13936

13936:                                            ; preds = %13935
  br label %13937

13937:                                            ; preds = %13936
  br label %13938

13938:                                            ; preds = %13937
  %13939 = load i32, ptr @test_count, align 4, !tbaa !5
  %13940 = add nsw i32 %13939, 1
  store i32 %13940, ptr @test_count, align 4, !tbaa !5
  %13941 = load ptr, ptr %366, align 8, !tbaa !9
  %13942 = call i32 @s2n_config_disable_x509_verification(ptr noundef %13941)
  %13943 = icmp eq i32 %13942, -1
  br i1 %13943, label %13944, label %13997

13944:                                            ; preds = %13938
  br label %13945

13945:                                            ; preds = %13944
  br label %13946

13946:                                            ; preds = %13945
  call void @llvm.lifetime.start.p0(i64 4, ptr %369) #11
  %13947 = call ptr @__errno_location() #12
  %13948 = load i32, ptr %13947, align 4, !tbaa !5
  store i32 %13948, ptr %369, align 4, !tbaa !5
  %13949 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13950 = call i32 @s2n_print_stacktrace(ptr noundef %13949)
  %13951 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13952 = trunc i8 %13951 to i1
  br i1 %13952, label %13953, label %13975

13953:                                            ; preds = %13946
  %13954 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13955 = call i32 @fileno(ptr noundef %13954) #11
  %13956 = call i32 @isatty(i32 noundef %13955) #11
  %13957 = icmp ne i32 %13956, 0
  br i1 %13957, label %13958, label %13975

13958:                                            ; preds = %13953
  %13959 = load i32, ptr %369, align 4, !tbaa !5
  %13960 = call ptr @__errno_location() #12
  store i32 %13959, ptr %13960, align 4, !tbaa !5
  %13961 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13962 = load i32, ptr @test_count, align 4, !tbaa !5
  %13963 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13964 = load i32, ptr %13963, align 4, !tbaa !5
  %13965 = call ptr @s2n_strerror(i32 noundef %13964, ptr noundef @.str.4)
  %13966 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13967 = load i32, ptr %13966, align 4, !tbaa !5
  %13968 = call ptr @s2n_strerror_debug(i32 noundef %13967, ptr noundef @.str.4)
  %13969 = call ptr @__errno_location() #12
  %13970 = load i32, ptr %13969, align 4, !tbaa !5
  %13971 = call ptr @strerror(i32 noundef %13970) #11
  %13972 = call ptr @__errno_location() #12
  %13973 = load i32, ptr %13972, align 4, !tbaa !5
  %13974 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13961, ptr noundef @.str.2, i32 noundef %13962, ptr noundef @.str.120, ptr noundef @.str.1, i32 noundef 600, ptr noundef %13965, ptr noundef %13968, ptr noundef %13971, i32 noundef %13973) #11
  br label %13992

13975:                                            ; preds = %13953, %13946
  %13976 = load i32, ptr %369, align 4, !tbaa !5
  %13977 = call ptr @__errno_location() #12
  store i32 %13976, ptr %13977, align 4, !tbaa !5
  %13978 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13979 = load i32, ptr @test_count, align 4, !tbaa !5
  %13980 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13981 = load i32, ptr %13980, align 4, !tbaa !5
  %13982 = call ptr @s2n_strerror(i32 noundef %13981, ptr noundef @.str.4)
  %13983 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13984 = load i32, ptr %13983, align 4, !tbaa !5
  %13985 = call ptr @s2n_strerror_debug(i32 noundef %13984, ptr noundef @.str.4)
  %13986 = call ptr @__errno_location() #12
  %13987 = load i32, ptr %13986, align 4, !tbaa !5
  %13988 = call ptr @strerror(i32 noundef %13987) #11
  %13989 = call ptr @__errno_location() #12
  %13990 = load i32, ptr %13989, align 4, !tbaa !5
  %13991 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13978, ptr noundef @.str.5, i32 noundef %13979, ptr noundef @.str.120, ptr noundef @.str.1, i32 noundef 600, ptr noundef %13982, ptr noundef %13985, ptr noundef %13988, i32 noundef %13990) #11
  br label %13992

13992:                                            ; preds = %13975, %13958
  call void @llvm.lifetime.end.p0(i64 4, ptr %369) #11
  br label %13993

13993:                                            ; preds = %13992
  br label %13994

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

13995:                                            ; No predecessors!
  br label %13996

13996:                                            ; preds = %13995
  br label %13997

13997:                                            ; preds = %13996, %13938
  br label %13998

13998:                                            ; preds = %13997
  br label %13999

13999:                                            ; preds = %13998
  br label %14000

14000:                                            ; preds = %13999
  %14001 = load i32, ptr @test_count, align 4, !tbaa !5
  %14002 = add nsw i32 %14001, 1
  store i32 %14002, ptr @test_count, align 4, !tbaa !5
  %14003 = load ptr, ptr %366, align 8, !tbaa !9
  %14004 = call i32 @s2n_config_set_serialization_version(ptr noundef %14003, i32 noundef 1)
  %14005 = icmp eq i32 %14004, -1
  br i1 %14005, label %14006, label %14059

14006:                                            ; preds = %14000
  br label %14007

14007:                                            ; preds = %14006
  br label %14008

14008:                                            ; preds = %14007
  call void @llvm.lifetime.start.p0(i64 4, ptr %370) #11
  %14009 = call ptr @__errno_location() #12
  %14010 = load i32, ptr %14009, align 4, !tbaa !5
  store i32 %14010, ptr %370, align 4, !tbaa !5
  %14011 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14012 = call i32 @s2n_print_stacktrace(ptr noundef %14011)
  %14013 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14014 = trunc i8 %14013 to i1
  br i1 %14014, label %14015, label %14037

14015:                                            ; preds = %14008
  %14016 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14017 = call i32 @fileno(ptr noundef %14016) #11
  %14018 = call i32 @isatty(i32 noundef %14017) #11
  %14019 = icmp ne i32 %14018, 0
  br i1 %14019, label %14020, label %14037

14020:                                            ; preds = %14015
  %14021 = load i32, ptr %370, align 4, !tbaa !5
  %14022 = call ptr @__errno_location() #12
  store i32 %14021, ptr %14022, align 4, !tbaa !5
  %14023 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14024 = load i32, ptr @test_count, align 4, !tbaa !5
  %14025 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14026 = load i32, ptr %14025, align 4, !tbaa !5
  %14027 = call ptr @s2n_strerror(i32 noundef %14026, ptr noundef @.str.4)
  %14028 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14029 = load i32, ptr %14028, align 4, !tbaa !5
  %14030 = call ptr @s2n_strerror_debug(i32 noundef %14029, ptr noundef @.str.4)
  %14031 = call ptr @__errno_location() #12
  %14032 = load i32, ptr %14031, align 4, !tbaa !5
  %14033 = call ptr @strerror(i32 noundef %14032) #11
  %14034 = call ptr @__errno_location() #12
  %14035 = load i32, ptr %14034, align 4, !tbaa !5
  %14036 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14023, ptr noundef @.str.2, i32 noundef %14024, ptr noundef @.str.121, ptr noundef @.str.1, i32 noundef 601, ptr noundef %14027, ptr noundef %14030, ptr noundef %14033, i32 noundef %14035) #11
  br label %14054

14037:                                            ; preds = %14015, %14008
  %14038 = load i32, ptr %370, align 4, !tbaa !5
  %14039 = call ptr @__errno_location() #12
  store i32 %14038, ptr %14039, align 4, !tbaa !5
  %14040 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14041 = load i32, ptr @test_count, align 4, !tbaa !5
  %14042 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14043 = load i32, ptr %14042, align 4, !tbaa !5
  %14044 = call ptr @s2n_strerror(i32 noundef %14043, ptr noundef @.str.4)
  %14045 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14046 = load i32, ptr %14045, align 4, !tbaa !5
  %14047 = call ptr @s2n_strerror_debug(i32 noundef %14046, ptr noundef @.str.4)
  %14048 = call ptr @__errno_location() #12
  %14049 = load i32, ptr %14048, align 4, !tbaa !5
  %14050 = call ptr @strerror(i32 noundef %14049) #11
  %14051 = call ptr @__errno_location() #12
  %14052 = load i32, ptr %14051, align 4, !tbaa !5
  %14053 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14040, ptr noundef @.str.5, i32 noundef %14041, ptr noundef @.str.121, ptr noundef @.str.1, i32 noundef 601, ptr noundef %14044, ptr noundef %14047, ptr noundef %14050, i32 noundef %14052) #11
  br label %14054

14054:                                            ; preds = %14037, %14020
  call void @llvm.lifetime.end.p0(i64 4, ptr %370) #11
  br label %14055

14055:                                            ; preds = %14054
  br label %14056

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

14057:                                            ; No predecessors!
  br label %14058

14058:                                            ; preds = %14057
  br label %14059

14059:                                            ; preds = %14058, %14000
  br label %14060

14060:                                            ; preds = %14059
  br label %14061

14061:                                            ; preds = %14060
  br label %14062

14062:                                            ; preds = %14061
  %14063 = load i32, ptr @test_count, align 4, !tbaa !5
  %14064 = add nsw i32 %14063, 1
  store i32 %14064, ptr @test_count, align 4, !tbaa !5
  %14065 = load ptr, ptr %366, align 8, !tbaa !9
  %14066 = call i32 @s2n_resumption_test_ticket_key_setup(ptr noundef %14065)
  %14067 = getelementptr inbounds %struct.s2n_result, ptr %371, i32 0, i32 0
  store i32 %14066, ptr %14067, align 4
  %14068 = getelementptr inbounds %struct.s2n_result, ptr %371, i32 0, i32 0
  %14069 = load i32, ptr %14068, align 4
  %14070 = call zeroext i1 @s2n_result_is_ok(i32 %14069)
  br i1 %14070, label %14124, label %14071

14071:                                            ; preds = %14062
  br label %14072

14072:                                            ; preds = %14071
  br label %14073

14073:                                            ; preds = %14072
  call void @llvm.lifetime.start.p0(i64 4, ptr %372) #11
  %14074 = call ptr @__errno_location() #12
  %14075 = load i32, ptr %14074, align 4, !tbaa !5
  store i32 %14075, ptr %372, align 4, !tbaa !5
  %14076 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14077 = call i32 @s2n_print_stacktrace(ptr noundef %14076)
  %14078 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14079 = trunc i8 %14078 to i1
  br i1 %14079, label %14080, label %14102

14080:                                            ; preds = %14073
  %14081 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14082 = call i32 @fileno(ptr noundef %14081) #11
  %14083 = call i32 @isatty(i32 noundef %14082) #11
  %14084 = icmp ne i32 %14083, 0
  br i1 %14084, label %14085, label %14102

14085:                                            ; preds = %14080
  %14086 = load i32, ptr %372, align 4, !tbaa !5
  %14087 = call ptr @__errno_location() #12
  store i32 %14086, ptr %14087, align 4, !tbaa !5
  %14088 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14089 = load i32, ptr @test_count, align 4, !tbaa !5
  %14090 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14091 = load i32, ptr %14090, align 4, !tbaa !5
  %14092 = call ptr @s2n_strerror(i32 noundef %14091, ptr noundef @.str.4)
  %14093 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14094 = load i32, ptr %14093, align 4, !tbaa !5
  %14095 = call ptr @s2n_strerror_debug(i32 noundef %14094, ptr noundef @.str.4)
  %14096 = call ptr @__errno_location() #12
  %14097 = load i32, ptr %14096, align 4, !tbaa !5
  %14098 = call ptr @strerror(i32 noundef %14097) #11
  %14099 = call ptr @__errno_location() #12
  %14100 = load i32, ptr %14099, align 4, !tbaa !5
  %14101 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14088, ptr noundef @.str.2, i32 noundef %14089, ptr noundef @.str.122, ptr noundef @.str.1, i32 noundef 602, ptr noundef %14092, ptr noundef %14095, ptr noundef %14098, i32 noundef %14100) #11
  br label %14119

14102:                                            ; preds = %14080, %14073
  %14103 = load i32, ptr %372, align 4, !tbaa !5
  %14104 = call ptr @__errno_location() #12
  store i32 %14103, ptr %14104, align 4, !tbaa !5
  %14105 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14106 = load i32, ptr @test_count, align 4, !tbaa !5
  %14107 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14108 = load i32, ptr %14107, align 4, !tbaa !5
  %14109 = call ptr @s2n_strerror(i32 noundef %14108, ptr noundef @.str.4)
  %14110 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14111 = load i32, ptr %14110, align 4, !tbaa !5
  %14112 = call ptr @s2n_strerror_debug(i32 noundef %14111, ptr noundef @.str.4)
  %14113 = call ptr @__errno_location() #12
  %14114 = load i32, ptr %14113, align 4, !tbaa !5
  %14115 = call ptr @strerror(i32 noundef %14114) #11
  %14116 = call ptr @__errno_location() #12
  %14117 = load i32, ptr %14116, align 4, !tbaa !5
  %14118 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14105, ptr noundef @.str.5, i32 noundef %14106, ptr noundef @.str.122, ptr noundef @.str.1, i32 noundef 602, ptr noundef %14109, ptr noundef %14112, ptr noundef %14115, i32 noundef %14117) #11
  br label %14119

14119:                                            ; preds = %14102, %14085
  call void @llvm.lifetime.end.p0(i64 4, ptr %372) #11
  br label %14120

14120:                                            ; preds = %14119
  br label %14121

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

14122:                                            ; No predecessors!
  br label %14123

14123:                                            ; preds = %14122
  br label %14124

14124:                                            ; preds = %14123, %14062
  br label %14125

14125:                                            ; preds = %14124
  br label %14126

14126:                                            ; preds = %14125
  call void @llvm.lifetime.start.p0(i64 142, ptr %373) #11
  call void @llvm.memset.p0.i64(ptr align 16 %373, i8 0, i64 142, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr %374) #11
  %14127 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %14127, ptr %374, align 8, !tbaa !9
  br label %14128

14128:                                            ; preds = %14126
  %14129 = load i32, ptr @test_count, align 4, !tbaa !5
  %14130 = add nsw i32 %14129, 1
  store i32 %14130, ptr @test_count, align 4, !tbaa !5
  %14131 = load ptr, ptr %374, align 8, !tbaa !9
  %14132 = icmp eq ptr %14131, null
  br i1 %14132, label %14133, label %14186

14133:                                            ; preds = %14128
  br label %14134

14134:                                            ; preds = %14133
  br label %14135

14135:                                            ; preds = %14134
  call void @llvm.lifetime.start.p0(i64 4, ptr %375) #11
  %14136 = call ptr @__errno_location() #12
  %14137 = load i32, ptr %14136, align 4, !tbaa !5
  store i32 %14137, ptr %375, align 4, !tbaa !5
  %14138 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14139 = call i32 @s2n_print_stacktrace(ptr noundef %14138)
  %14140 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14141 = trunc i8 %14140 to i1
  br i1 %14141, label %14142, label %14164

14142:                                            ; preds = %14135
  %14143 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14144 = call i32 @fileno(ptr noundef %14143) #11
  %14145 = call i32 @isatty(i32 noundef %14144) #11
  %14146 = icmp ne i32 %14145, 0
  br i1 %14146, label %14147, label %14164

14147:                                            ; preds = %14142
  %14148 = load i32, ptr %375, align 4, !tbaa !5
  %14149 = call ptr @__errno_location() #12
  store i32 %14148, ptr %14149, align 4, !tbaa !5
  %14150 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14151 = load i32, ptr @test_count, align 4, !tbaa !5
  %14152 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14153 = load i32, ptr %14152, align 4, !tbaa !5
  %14154 = call ptr @s2n_strerror(i32 noundef %14153, ptr noundef @.str.4)
  %14155 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14156 = load i32, ptr %14155, align 4, !tbaa !5
  %14157 = call ptr @s2n_strerror_debug(i32 noundef %14156, ptr noundef @.str.4)
  %14158 = call ptr @__errno_location() #12
  %14159 = load i32, ptr %14158, align 4, !tbaa !5
  %14160 = call ptr @strerror(i32 noundef %14159) #11
  %14161 = call ptr @__errno_location() #12
  %14162 = load i32, ptr %14161, align 4, !tbaa !5
  %14163 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14150, ptr noundef @.str.2, i32 noundef %14151, ptr noundef @.str.42, ptr noundef @.str.1, i32 noundef 610, ptr noundef %14154, ptr noundef %14157, ptr noundef %14160, i32 noundef %14162) #11
  br label %14181

14164:                                            ; preds = %14142, %14135
  %14165 = load i32, ptr %375, align 4, !tbaa !5
  %14166 = call ptr @__errno_location() #12
  store i32 %14165, ptr %14166, align 4, !tbaa !5
  %14167 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14168 = load i32, ptr @test_count, align 4, !tbaa !5
  %14169 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14170 = load i32, ptr %14169, align 4, !tbaa !5
  %14171 = call ptr @s2n_strerror(i32 noundef %14170, ptr noundef @.str.4)
  %14172 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14173 = load i32, ptr %14172, align 4, !tbaa !5
  %14174 = call ptr @s2n_strerror_debug(i32 noundef %14173, ptr noundef @.str.4)
  %14175 = call ptr @__errno_location() #12
  %14176 = load i32, ptr %14175, align 4, !tbaa !5
  %14177 = call ptr @strerror(i32 noundef %14176) #11
  %14178 = call ptr @__errno_location() #12
  %14179 = load i32, ptr %14178, align 4, !tbaa !5
  %14180 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14167, ptr noundef @.str.5, i32 noundef %14168, ptr noundef @.str.42, ptr noundef @.str.1, i32 noundef 610, ptr noundef %14171, ptr noundef %14174, ptr noundef %14177, i32 noundef %14179) #11
  br label %14181

14181:                                            ; preds = %14164, %14147
  call void @llvm.lifetime.end.p0(i64 4, ptr %375) #11
  br label %14182

14182:                                            ; preds = %14181
  br label %14183

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

14184:                                            ; No predecessors!
  br label %14185

14185:                                            ; preds = %14184
  br label %14186

14186:                                            ; preds = %14185, %14128
  br label %14187

14187:                                            ; preds = %14186
  br label %14188

14188:                                            ; preds = %14187
  call void @llvm.lifetime.start.p0(i64 8, ptr %376) #11
  %14189 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %14189, ptr %376, align 8, !tbaa !9
  br label %14190

14190:                                            ; preds = %14188
  %14191 = load i32, ptr @test_count, align 4, !tbaa !5
  %14192 = add nsw i32 %14191, 1
  store i32 %14192, ptr @test_count, align 4, !tbaa !5
  %14193 = load ptr, ptr %376, align 8, !tbaa !9
  %14194 = icmp eq ptr %14193, null
  br i1 %14194, label %14195, label %14248

14195:                                            ; preds = %14190
  br label %14196

14196:                                            ; preds = %14195
  br label %14197

14197:                                            ; preds = %14196
  call void @llvm.lifetime.start.p0(i64 4, ptr %377) #11
  %14198 = call ptr @__errno_location() #12
  %14199 = load i32, ptr %14198, align 4, !tbaa !5
  store i32 %14199, ptr %377, align 4, !tbaa !5
  %14200 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14201 = call i32 @s2n_print_stacktrace(ptr noundef %14200)
  %14202 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14203 = trunc i8 %14202 to i1
  br i1 %14203, label %14204, label %14226

14204:                                            ; preds = %14197
  %14205 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14206 = call i32 @fileno(ptr noundef %14205) #11
  %14207 = call i32 @isatty(i32 noundef %14206) #11
  %14208 = icmp ne i32 %14207, 0
  br i1 %14208, label %14209, label %14226

14209:                                            ; preds = %14204
  %14210 = load i32, ptr %377, align 4, !tbaa !5
  %14211 = call ptr @__errno_location() #12
  store i32 %14210, ptr %14211, align 4, !tbaa !5
  %14212 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14213 = load i32, ptr @test_count, align 4, !tbaa !5
  %14214 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14215 = load i32, ptr %14214, align 4, !tbaa !5
  %14216 = call ptr @s2n_strerror(i32 noundef %14215, ptr noundef @.str.4)
  %14217 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14218 = load i32, ptr %14217, align 4, !tbaa !5
  %14219 = call ptr @s2n_strerror_debug(i32 noundef %14218, ptr noundef @.str.4)
  %14220 = call ptr @__errno_location() #12
  %14221 = load i32, ptr %14220, align 4, !tbaa !5
  %14222 = call ptr @strerror(i32 noundef %14221) #11
  %14223 = call ptr @__errno_location() #12
  %14224 = load i32, ptr %14223, align 4, !tbaa !5
  %14225 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14212, ptr noundef @.str.2, i32 noundef %14213, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 613, ptr noundef %14216, ptr noundef %14219, ptr noundef %14222, i32 noundef %14224) #11
  br label %14243

14226:                                            ; preds = %14204, %14197
  %14227 = load i32, ptr %377, align 4, !tbaa !5
  %14228 = call ptr @__errno_location() #12
  store i32 %14227, ptr %14228, align 4, !tbaa !5
  %14229 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14230 = load i32, ptr @test_count, align 4, !tbaa !5
  %14231 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14232 = load i32, ptr %14231, align 4, !tbaa !5
  %14233 = call ptr @s2n_strerror(i32 noundef %14232, ptr noundef @.str.4)
  %14234 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14235 = load i32, ptr %14234, align 4, !tbaa !5
  %14236 = call ptr @s2n_strerror_debug(i32 noundef %14235, ptr noundef @.str.4)
  %14237 = call ptr @__errno_location() #12
  %14238 = load i32, ptr %14237, align 4, !tbaa !5
  %14239 = call ptr @strerror(i32 noundef %14238) #11
  %14240 = call ptr @__errno_location() #12
  %14241 = load i32, ptr %14240, align 4, !tbaa !5
  %14242 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14229, ptr noundef @.str.5, i32 noundef %14230, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 613, ptr noundef %14233, ptr noundef %14236, ptr noundef %14239, i32 noundef %14241) #11
  br label %14243

14243:                                            ; preds = %14226, %14209
  call void @llvm.lifetime.end.p0(i64 4, ptr %377) #11
  br label %14244

14244:                                            ; preds = %14243
  br label %14245

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

14246:                                            ; No predecessors!
  br label %14247

14247:                                            ; preds = %14246
  br label %14248

14248:                                            ; preds = %14247, %14190
  br label %14249

14249:                                            ; preds = %14248
  br label %14250

14250:                                            ; preds = %14249
  br label %14251

14251:                                            ; preds = %14250
  %14252 = load i32, ptr @test_count, align 4, !tbaa !5
  %14253 = add nsw i32 %14252, 1
  store i32 %14253, ptr @test_count, align 4, !tbaa !5
  %14254 = load ptr, ptr %374, align 8, !tbaa !9
  %14255 = load ptr, ptr %366, align 8, !tbaa !9
  %14256 = call i32 @s2n_connection_set_config(ptr noundef %14254, ptr noundef %14255)
  %14257 = icmp eq i32 %14256, -1
  br i1 %14257, label %14258, label %14311

14258:                                            ; preds = %14251
  br label %14259

14259:                                            ; preds = %14258
  br label %14260

14260:                                            ; preds = %14259
  call void @llvm.lifetime.start.p0(i64 4, ptr %378) #11
  %14261 = call ptr @__errno_location() #12
  %14262 = load i32, ptr %14261, align 4, !tbaa !5
  store i32 %14262, ptr %378, align 4, !tbaa !5
  %14263 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14264 = call i32 @s2n_print_stacktrace(ptr noundef %14263)
  %14265 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14266 = trunc i8 %14265 to i1
  br i1 %14266, label %14267, label %14289

14267:                                            ; preds = %14260
  %14268 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14269 = call i32 @fileno(ptr noundef %14268) #11
  %14270 = call i32 @isatty(i32 noundef %14269) #11
  %14271 = icmp ne i32 %14270, 0
  br i1 %14271, label %14272, label %14289

14272:                                            ; preds = %14267
  %14273 = load i32, ptr %378, align 4, !tbaa !5
  %14274 = call ptr @__errno_location() #12
  store i32 %14273, ptr %14274, align 4, !tbaa !5
  %14275 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14276 = load i32, ptr @test_count, align 4, !tbaa !5
  %14277 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14278 = load i32, ptr %14277, align 4, !tbaa !5
  %14279 = call ptr @s2n_strerror(i32 noundef %14278, ptr noundef @.str.4)
  %14280 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14281 = load i32, ptr %14280, align 4, !tbaa !5
  %14282 = call ptr @s2n_strerror_debug(i32 noundef %14281, ptr noundef @.str.4)
  %14283 = call ptr @__errno_location() #12
  %14284 = load i32, ptr %14283, align 4, !tbaa !5
  %14285 = call ptr @strerror(i32 noundef %14284) #11
  %14286 = call ptr @__errno_location() #12
  %14287 = load i32, ptr %14286, align 4, !tbaa !5
  %14288 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14275, ptr noundef @.str.2, i32 noundef %14276, ptr noundef @.str.123, ptr noundef @.str.1, i32 noundef 615, ptr noundef %14279, ptr noundef %14282, ptr noundef %14285, i32 noundef %14287) #11
  br label %14306

14289:                                            ; preds = %14267, %14260
  %14290 = load i32, ptr %378, align 4, !tbaa !5
  %14291 = call ptr @__errno_location() #12
  store i32 %14290, ptr %14291, align 4, !tbaa !5
  %14292 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14293 = load i32, ptr @test_count, align 4, !tbaa !5
  %14294 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14295 = load i32, ptr %14294, align 4, !tbaa !5
  %14296 = call ptr @s2n_strerror(i32 noundef %14295, ptr noundef @.str.4)
  %14297 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14298 = load i32, ptr %14297, align 4, !tbaa !5
  %14299 = call ptr @s2n_strerror_debug(i32 noundef %14298, ptr noundef @.str.4)
  %14300 = call ptr @__errno_location() #12
  %14301 = load i32, ptr %14300, align 4, !tbaa !5
  %14302 = call ptr @strerror(i32 noundef %14301) #11
  %14303 = call ptr @__errno_location() #12
  %14304 = load i32, ptr %14303, align 4, !tbaa !5
  %14305 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14292, ptr noundef @.str.5, i32 noundef %14293, ptr noundef @.str.123, ptr noundef @.str.1, i32 noundef 615, ptr noundef %14296, ptr noundef %14299, ptr noundef %14302, i32 noundef %14304) #11
  br label %14306

14306:                                            ; preds = %14289, %14272
  call void @llvm.lifetime.end.p0(i64 4, ptr %378) #11
  br label %14307

14307:                                            ; preds = %14306
  br label %14308

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

14309:                                            ; No predecessors!
  br label %14310

14310:                                            ; preds = %14309
  br label %14311

14311:                                            ; preds = %14310, %14251
  br label %14312

14312:                                            ; preds = %14311
  br label %14313

14313:                                            ; preds = %14312
  br label %14314

14314:                                            ; preds = %14313
  %14315 = load i32, ptr @test_count, align 4, !tbaa !5
  %14316 = add nsw i32 %14315, 1
  store i32 %14316, ptr @test_count, align 4, !tbaa !5
  %14317 = load ptr, ptr %376, align 8, !tbaa !9
  %14318 = load ptr, ptr %366, align 8, !tbaa !9
  %14319 = call i32 @s2n_connection_set_config(ptr noundef %14317, ptr noundef %14318)
  %14320 = icmp eq i32 %14319, -1
  br i1 %14320, label %14321, label %14374

14321:                                            ; preds = %14314
  br label %14322

14322:                                            ; preds = %14321
  br label %14323

14323:                                            ; preds = %14322
  call void @llvm.lifetime.start.p0(i64 4, ptr %379) #11
  %14324 = call ptr @__errno_location() #12
  %14325 = load i32, ptr %14324, align 4, !tbaa !5
  store i32 %14325, ptr %379, align 4, !tbaa !5
  %14326 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14327 = call i32 @s2n_print_stacktrace(ptr noundef %14326)
  %14328 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14329 = trunc i8 %14328 to i1
  br i1 %14329, label %14330, label %14352

14330:                                            ; preds = %14323
  %14331 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14332 = call i32 @fileno(ptr noundef %14331) #11
  %14333 = call i32 @isatty(i32 noundef %14332) #11
  %14334 = icmp ne i32 %14333, 0
  br i1 %14334, label %14335, label %14352

14335:                                            ; preds = %14330
  %14336 = load i32, ptr %379, align 4, !tbaa !5
  %14337 = call ptr @__errno_location() #12
  store i32 %14336, ptr %14337, align 4, !tbaa !5
  %14338 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14339 = load i32, ptr @test_count, align 4, !tbaa !5
  %14340 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14341 = load i32, ptr %14340, align 4, !tbaa !5
  %14342 = call ptr @s2n_strerror(i32 noundef %14341, ptr noundef @.str.4)
  %14343 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14344 = load i32, ptr %14343, align 4, !tbaa !5
  %14345 = call ptr @s2n_strerror_debug(i32 noundef %14344, ptr noundef @.str.4)
  %14346 = call ptr @__errno_location() #12
  %14347 = load i32, ptr %14346, align 4, !tbaa !5
  %14348 = call ptr @strerror(i32 noundef %14347) #11
  %14349 = call ptr @__errno_location() #12
  %14350 = load i32, ptr %14349, align 4, !tbaa !5
  %14351 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14338, ptr noundef @.str.2, i32 noundef %14339, ptr noundef @.str.124, ptr noundef @.str.1, i32 noundef 616, ptr noundef %14342, ptr noundef %14345, ptr noundef %14348, i32 noundef %14350) #11
  br label %14369

14352:                                            ; preds = %14330, %14323
  %14353 = load i32, ptr %379, align 4, !tbaa !5
  %14354 = call ptr @__errno_location() #12
  store i32 %14353, ptr %14354, align 4, !tbaa !5
  %14355 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14356 = load i32, ptr @test_count, align 4, !tbaa !5
  %14357 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14358 = load i32, ptr %14357, align 4, !tbaa !5
  %14359 = call ptr @s2n_strerror(i32 noundef %14358, ptr noundef @.str.4)
  %14360 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14361 = load i32, ptr %14360, align 4, !tbaa !5
  %14362 = call ptr @s2n_strerror_debug(i32 noundef %14361, ptr noundef @.str.4)
  %14363 = call ptr @__errno_location() #12
  %14364 = load i32, ptr %14363, align 4, !tbaa !5
  %14365 = call ptr @strerror(i32 noundef %14364) #11
  %14366 = call ptr @__errno_location() #12
  %14367 = load i32, ptr %14366, align 4, !tbaa !5
  %14368 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14355, ptr noundef @.str.5, i32 noundef %14356, ptr noundef @.str.124, ptr noundef @.str.1, i32 noundef 616, ptr noundef %14359, ptr noundef %14362, ptr noundef %14365, i32 noundef %14367) #11
  br label %14369

14369:                                            ; preds = %14352, %14335
  call void @llvm.lifetime.end.p0(i64 4, ptr %379) #11
  br label %14370

14370:                                            ; preds = %14369
  br label %14371

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

14372:                                            ; No predecessors!
  br label %14373

14373:                                            ; preds = %14372
  br label %14374

14374:                                            ; preds = %14373, %14314
  br label %14375

14375:                                            ; preds = %14374
  br label %14376

14376:                                            ; preds = %14375
  call void @llvm.lifetime.start.p0(i64 80, ptr %380) #11
  call void @llvm.memset.p0.i64(ptr align 8 %380, i8 0, i64 80, i1 false)
  br label %14377

14377:                                            ; preds = %14376
  %14378 = load i32, ptr @test_count, align 4, !tbaa !5
  %14379 = add nsw i32 %14378, 1
  store i32 %14379, ptr @test_count, align 4, !tbaa !5
  %14380 = call i32 @s2n_io_stuffer_pair_init(ptr noundef %380)
  %14381 = getelementptr inbounds %struct.s2n_result, ptr %381, i32 0, i32 0
  store i32 %14380, ptr %14381, align 4
  %14382 = getelementptr inbounds %struct.s2n_result, ptr %381, i32 0, i32 0
  %14383 = load i32, ptr %14382, align 4
  %14384 = call zeroext i1 @s2n_result_is_ok(i32 %14383)
  br i1 %14384, label %14438, label %14385

14385:                                            ; preds = %14377
  br label %14386

14386:                                            ; preds = %14385
  br label %14387

14387:                                            ; preds = %14386
  call void @llvm.lifetime.start.p0(i64 4, ptr %382) #11
  %14388 = call ptr @__errno_location() #12
  %14389 = load i32, ptr %14388, align 4, !tbaa !5
  store i32 %14389, ptr %382, align 4, !tbaa !5
  %14390 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14391 = call i32 @s2n_print_stacktrace(ptr noundef %14390)
  %14392 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14393 = trunc i8 %14392 to i1
  br i1 %14393, label %14394, label %14416

14394:                                            ; preds = %14387
  %14395 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14396 = call i32 @fileno(ptr noundef %14395) #11
  %14397 = call i32 @isatty(i32 noundef %14396) #11
  %14398 = icmp ne i32 %14397, 0
  br i1 %14398, label %14399, label %14416

14399:                                            ; preds = %14394
  %14400 = load i32, ptr %382, align 4, !tbaa !5
  %14401 = call ptr @__errno_location() #12
  store i32 %14400, ptr %14401, align 4, !tbaa !5
  %14402 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14403 = load i32, ptr @test_count, align 4, !tbaa !5
  %14404 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14405 = load i32, ptr %14404, align 4, !tbaa !5
  %14406 = call ptr @s2n_strerror(i32 noundef %14405, ptr noundef @.str.4)
  %14407 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14408 = load i32, ptr %14407, align 4, !tbaa !5
  %14409 = call ptr @s2n_strerror_debug(i32 noundef %14408, ptr noundef @.str.4)
  %14410 = call ptr @__errno_location() #12
  %14411 = load i32, ptr %14410, align 4, !tbaa !5
  %14412 = call ptr @strerror(i32 noundef %14411) #11
  %14413 = call ptr @__errno_location() #12
  %14414 = load i32, ptr %14413, align 4, !tbaa !5
  %14415 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14402, ptr noundef @.str.2, i32 noundef %14403, ptr noundef @.str.46, ptr noundef @.str.1, i32 noundef 619, ptr noundef %14406, ptr noundef %14409, ptr noundef %14412, i32 noundef %14414) #11
  br label %14433

14416:                                            ; preds = %14394, %14387
  %14417 = load i32, ptr %382, align 4, !tbaa !5
  %14418 = call ptr @__errno_location() #12
  store i32 %14417, ptr %14418, align 4, !tbaa !5
  %14419 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14420 = load i32, ptr @test_count, align 4, !tbaa !5
  %14421 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14422 = load i32, ptr %14421, align 4, !tbaa !5
  %14423 = call ptr @s2n_strerror(i32 noundef %14422, ptr noundef @.str.4)
  %14424 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14425 = load i32, ptr %14424, align 4, !tbaa !5
  %14426 = call ptr @s2n_strerror_debug(i32 noundef %14425, ptr noundef @.str.4)
  %14427 = call ptr @__errno_location() #12
  %14428 = load i32, ptr %14427, align 4, !tbaa !5
  %14429 = call ptr @strerror(i32 noundef %14428) #11
  %14430 = call ptr @__errno_location() #12
  %14431 = load i32, ptr %14430, align 4, !tbaa !5
  %14432 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14419, ptr noundef @.str.5, i32 noundef %14420, ptr noundef @.str.46, ptr noundef @.str.1, i32 noundef 619, ptr noundef %14423, ptr noundef %14426, ptr noundef %14429, i32 noundef %14431) #11
  br label %14433

14433:                                            ; preds = %14416, %14399
  call void @llvm.lifetime.end.p0(i64 4, ptr %382) #11
  br label %14434

14434:                                            ; preds = %14433
  br label %14435

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

14436:                                            ; No predecessors!
  br label %14437

14437:                                            ; preds = %14436
  br label %14438

14438:                                            ; preds = %14437, %14377
  br label %14439

14439:                                            ; preds = %14438
  br label %14440

14440:                                            ; preds = %14439
  br label %14441

14441:                                            ; preds = %14440
  %14442 = load i32, ptr @test_count, align 4, !tbaa !5
  %14443 = add nsw i32 %14442, 1
  store i32 %14443, ptr @test_count, align 4, !tbaa !5
  %14444 = load ptr, ptr %374, align 8, !tbaa !9
  %14445 = load ptr, ptr %376, align 8, !tbaa !9
  %14446 = call i32 @s2n_connections_set_io_stuffer_pair(ptr noundef %14444, ptr noundef %14445, ptr noundef %380)
  %14447 = getelementptr inbounds %struct.s2n_result, ptr %383, i32 0, i32 0
  store i32 %14446, ptr %14447, align 4
  %14448 = getelementptr inbounds %struct.s2n_result, ptr %383, i32 0, i32 0
  %14449 = load i32, ptr %14448, align 4
  %14450 = call zeroext i1 @s2n_result_is_ok(i32 %14449)
  br i1 %14450, label %14504, label %14451

14451:                                            ; preds = %14441
  br label %14452

14452:                                            ; preds = %14451
  br label %14453

14453:                                            ; preds = %14452
  call void @llvm.lifetime.start.p0(i64 4, ptr %384) #11
  %14454 = call ptr @__errno_location() #12
  %14455 = load i32, ptr %14454, align 4, !tbaa !5
  store i32 %14455, ptr %384, align 4, !tbaa !5
  %14456 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14457 = call i32 @s2n_print_stacktrace(ptr noundef %14456)
  %14458 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14459 = trunc i8 %14458 to i1
  br i1 %14459, label %14460, label %14482

14460:                                            ; preds = %14453
  %14461 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14462 = call i32 @fileno(ptr noundef %14461) #11
  %14463 = call i32 @isatty(i32 noundef %14462) #11
  %14464 = icmp ne i32 %14463, 0
  br i1 %14464, label %14465, label %14482

14465:                                            ; preds = %14460
  %14466 = load i32, ptr %384, align 4, !tbaa !5
  %14467 = call ptr @__errno_location() #12
  store i32 %14466, ptr %14467, align 4, !tbaa !5
  %14468 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14469 = load i32, ptr @test_count, align 4, !tbaa !5
  %14470 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14471 = load i32, ptr %14470, align 4, !tbaa !5
  %14472 = call ptr @s2n_strerror(i32 noundef %14471, ptr noundef @.str.4)
  %14473 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14474 = load i32, ptr %14473, align 4, !tbaa !5
  %14475 = call ptr @s2n_strerror_debug(i32 noundef %14474, ptr noundef @.str.4)
  %14476 = call ptr @__errno_location() #12
  %14477 = load i32, ptr %14476, align 4, !tbaa !5
  %14478 = call ptr @strerror(i32 noundef %14477) #11
  %14479 = call ptr @__errno_location() #12
  %14480 = load i32, ptr %14479, align 4, !tbaa !5
  %14481 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14468, ptr noundef @.str.2, i32 noundef %14469, ptr noundef @.str.47, ptr noundef @.str.1, i32 noundef 620, ptr noundef %14472, ptr noundef %14475, ptr noundef %14478, i32 noundef %14480) #11
  br label %14499

14482:                                            ; preds = %14460, %14453
  %14483 = load i32, ptr %384, align 4, !tbaa !5
  %14484 = call ptr @__errno_location() #12
  store i32 %14483, ptr %14484, align 4, !tbaa !5
  %14485 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14486 = load i32, ptr @test_count, align 4, !tbaa !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(i32 noundef %14488, ptr noundef @.str.4)
  %14490 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14491 = load i32, ptr %14490, align 4, !tbaa !5
  %14492 = call ptr @s2n_strerror_debug(i32 noundef %14491, ptr noundef @.str.4)
  %14493 = call ptr @__errno_location() #12
  %14494 = load i32, ptr %14493, align 4, !tbaa !5
  %14495 = call ptr @strerror(i32 noundef %14494) #11
  %14496 = call ptr @__errno_location() #12
  %14497 = load i32, ptr %14496, align 4, !tbaa !5
  %14498 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14485, ptr noundef @.str.5, i32 noundef %14486, ptr noundef @.str.47, ptr noundef @.str.1, i32 noundef 620, ptr noundef %14489, ptr noundef %14492, ptr noundef %14495, i32 noundef %14497) #11
  br label %14499

14499:                                            ; preds = %14482, %14465
  call void @llvm.lifetime.end.p0(i64 4, ptr %384) #11
  br label %14500

14500:                                            ; preds = %14499
  br label %14501

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

14502:                                            ; No predecessors!
  br label %14503

14503:                                            ; preds = %14502
  br label %14504

14504:                                            ; preds = %14503, %14441
  br label %14505

14505:                                            ; preds = %14504
  br label %14506

14506:                                            ; preds = %14505
  br label %14507

14507:                                            ; preds = %14506
  %14508 = load i32, ptr @test_count, align 4, !tbaa !5
  %14509 = add nsw i32 %14508, 1
  store i32 %14509, ptr @test_count, align 4, !tbaa !5
  %14510 = load ptr, ptr %376, align 8, !tbaa !9
  %14511 = load ptr, ptr %374, align 8, !tbaa !9
  %14512 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %14510, ptr noundef %14511)
  %14513 = icmp eq i32 %14512, -1
  br i1 %14513, label %14514, label %14567

14514:                                            ; preds = %14507
  br label %14515

14515:                                            ; preds = %14514
  br label %14516

14516:                                            ; preds = %14515
  call void @llvm.lifetime.start.p0(i64 4, ptr %385) #11
  %14517 = call ptr @__errno_location() #12
  %14518 = load i32, ptr %14517, align 4, !tbaa !5
  store i32 %14518, ptr %385, align 4, !tbaa !5
  %14519 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14520 = call i32 @s2n_print_stacktrace(ptr noundef %14519)
  %14521 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14522 = trunc i8 %14521 to i1
  br i1 %14522, label %14523, label %14545

14523:                                            ; preds = %14516
  %14524 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14525 = call i32 @fileno(ptr noundef %14524) #11
  %14526 = call i32 @isatty(i32 noundef %14525) #11
  %14527 = icmp ne i32 %14526, 0
  br i1 %14527, label %14528, label %14545

14528:                                            ; preds = %14523
  %14529 = load i32, ptr %385, align 4, !tbaa !5
  %14530 = call ptr @__errno_location() #12
  store i32 %14529, ptr %14530, align 4, !tbaa !5
  %14531 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14532 = load i32, ptr @test_count, align 4, !tbaa !5
  %14533 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14534 = load i32, ptr %14533, align 4, !tbaa !5
  %14535 = call ptr @s2n_strerror(i32 noundef %14534, ptr noundef @.str.4)
  %14536 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14537 = load i32, ptr %14536, align 4, !tbaa !5
  %14538 = call ptr @s2n_strerror_debug(i32 noundef %14537, ptr noundef @.str.4)
  %14539 = call ptr @__errno_location() #12
  %14540 = load i32, ptr %14539, align 4, !tbaa !5
  %14541 = call ptr @strerror(i32 noundef %14540) #11
  %14542 = call ptr @__errno_location() #12
  %14543 = load i32, ptr %14542, align 4, !tbaa !5
  %14544 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14531, ptr noundef @.str.2, i32 noundef %14532, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 622, ptr noundef %14535, ptr noundef %14538, ptr noundef %14541, i32 noundef %14543) #11
  br label %14562

14545:                                            ; preds = %14523, %14516
  %14546 = load i32, ptr %385, align 4, !tbaa !5
  %14547 = call ptr @__errno_location() #12
  store i32 %14546, ptr %14547, align 4, !tbaa !5
  %14548 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14549 = load i32, ptr @test_count, align 4, !tbaa !5
  %14550 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14551 = load i32, ptr %14550, align 4, !tbaa !5
  %14552 = call ptr @s2n_strerror(i32 noundef %14551, ptr noundef @.str.4)
  %14553 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14554 = load i32, ptr %14553, align 4, !tbaa !5
  %14555 = call ptr @s2n_strerror_debug(i32 noundef %14554, ptr noundef @.str.4)
  %14556 = call ptr @__errno_location() #12
  %14557 = load i32, ptr %14556, align 4, !tbaa !5
  %14558 = call ptr @strerror(i32 noundef %14557) #11
  %14559 = call ptr @__errno_location() #12
  %14560 = load i32, ptr %14559, align 4, !tbaa !5
  %14561 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14548, ptr noundef @.str.5, i32 noundef %14549, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 622, ptr noundef %14552, ptr noundef %14555, ptr noundef %14558, i32 noundef %14560) #11
  br label %14562

14562:                                            ; preds = %14545, %14528
  call void @llvm.lifetime.end.p0(i64 4, ptr %385) #11
  br label %14563

14563:                                            ; preds = %14562
  br label %14564

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

14565:                                            ; No predecessors!
  br label %14566

14566:                                            ; preds = %14565
  br label %14567

14567:                                            ; preds = %14566, %14507
  br label %14568

14568:                                            ; preds = %14567
  br label %14569

14569:                                            ; preds = %14568
  br label %14570

14570:                                            ; preds = %14569
  %14571 = load i32, ptr @test_count, align 4, !tbaa !5
  %14572 = add nsw i32 %14571, 1
  store i32 %14572, ptr @test_count, align 4, !tbaa !5
  %14573 = load ptr, ptr %376, align 8, !tbaa !9
  %14574 = call i32 @s2n_connection_get_actual_protocol_version(ptr noundef %14573)
  %14575 = icmp eq i32 %14574, 33
  br i1 %14575, label %14629, label %14576

14576:                                            ; preds = %14570
  br label %14577

14577:                                            ; preds = %14576
  br label %14578

14578:                                            ; preds = %14577
  call void @llvm.lifetime.start.p0(i64 4, ptr %386) #11
  %14579 = call ptr @__errno_location() #12
  %14580 = load i32, ptr %14579, align 4, !tbaa !5
  store i32 %14580, ptr %386, align 4, !tbaa !5
  %14581 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14582 = call i32 @s2n_print_stacktrace(ptr noundef %14581)
  %14583 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14584 = trunc i8 %14583 to i1
  br i1 %14584, label %14585, label %14607

14585:                                            ; preds = %14578
  %14586 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14587 = call i32 @fileno(ptr noundef %14586) #11
  %14588 = call i32 @isatty(i32 noundef %14587) #11
  %14589 = icmp ne i32 %14588, 0
  br i1 %14589, label %14590, label %14607

14590:                                            ; preds = %14585
  %14591 = load i32, ptr %386, align 4, !tbaa !5
  %14592 = call ptr @__errno_location() #12
  store i32 %14591, ptr %14592, align 4, !tbaa !5
  %14593 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14594 = load i32, ptr @test_count, align 4, !tbaa !5
  %14595 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14596 = load i32, ptr %14595, align 4, !tbaa !5
  %14597 = call ptr @s2n_strerror(i32 noundef %14596, ptr noundef @.str.4)
  %14598 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14599 = load i32, ptr %14598, align 4, !tbaa !5
  %14600 = call ptr @s2n_strerror_debug(i32 noundef %14599, ptr noundef @.str.4)
  %14601 = call ptr @__errno_location() #12
  %14602 = load i32, ptr %14601, align 4, !tbaa !5
  %14603 = call ptr @strerror(i32 noundef %14602) #11
  %14604 = call ptr @__errno_location() #12
  %14605 = load i32, ptr %14604, align 4, !tbaa !5
  %14606 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14593, ptr noundef @.str.2, i32 noundef %14594, ptr noundef @.str.49, ptr noundef @.str.1, i32 noundef 623, ptr noundef %14597, ptr noundef %14600, ptr noundef %14603, i32 noundef %14605) #11
  br label %14624

14607:                                            ; preds = %14585, %14578
  %14608 = load i32, ptr %386, align 4, !tbaa !5
  %14609 = call ptr @__errno_location() #12
  store i32 %14608, ptr %14609, align 4, !tbaa !5
  %14610 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14611 = load i32, ptr @test_count, align 4, !tbaa !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(i32 noundef %14613, ptr noundef @.str.4)
  %14615 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14616 = load i32, ptr %14615, align 4, !tbaa !5
  %14617 = call ptr @s2n_strerror_debug(i32 noundef %14616, ptr noundef @.str.4)
  %14618 = call ptr @__errno_location() #12
  %14619 = load i32, ptr %14618, align 4, !tbaa !5
  %14620 = call ptr @strerror(i32 noundef %14619) #11
  %14621 = call ptr @__errno_location() #12
  %14622 = load i32, ptr %14621, align 4, !tbaa !5
  %14623 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14610, ptr noundef @.str.5, i32 noundef %14611, ptr noundef @.str.49, ptr noundef @.str.1, i32 noundef 623, ptr noundef %14614, ptr noundef %14617, ptr noundef %14620, i32 noundef %14622) #11
  br label %14624

14624:                                            ; preds = %14607, %14590
  call void @llvm.lifetime.end.p0(i64 4, ptr %386) #11
  br label %14625

14625:                                            ; preds = %14624
  br label %14626

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

14627:                                            ; No predecessors!
  br label %14628

14628:                                            ; preds = %14627
  br label %14629

14629:                                            ; preds = %14628, %14570
  br label %14630

14630:                                            ; preds = %14629
  br label %14631

14631:                                            ; preds = %14630
  br label %14632

14632:                                            ; preds = %14631
  %14633 = load i32, ptr @test_count, align 4, !tbaa !5
  %14634 = add nsw i32 %14633, 1
  store i32 %14634, ptr @test_count, align 4, !tbaa !5
  %14635 = load ptr, ptr %374, align 8, !tbaa !9
  %14636 = call i32 @s2n_connection_get_session_length(ptr noundef %14635)
  %14637 = icmp sgt i32 %14636, 0
  br i1 %14637, label %14691, label %14638

14638:                                            ; preds = %14632
  br label %14639

14639:                                            ; preds = %14638
  br label %14640

14640:                                            ; preds = %14639
  call void @llvm.lifetime.start.p0(i64 4, ptr %387) #11
  %14641 = call ptr @__errno_location() #12
  %14642 = load i32, ptr %14641, align 4, !tbaa !5
  store i32 %14642, ptr %387, align 4, !tbaa !5
  %14643 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14644 = call i32 @s2n_print_stacktrace(ptr noundef %14643)
  %14645 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14646 = trunc i8 %14645 to i1
  br i1 %14646, label %14647, label %14669

14647:                                            ; preds = %14640
  %14648 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14649 = call i32 @fileno(ptr noundef %14648) #11
  %14650 = call i32 @isatty(i32 noundef %14649) #11
  %14651 = icmp ne i32 %14650, 0
  br i1 %14651, label %14652, label %14669

14652:                                            ; preds = %14647
  %14653 = load i32, ptr %387, align 4, !tbaa !5
  %14654 = call ptr @__errno_location() #12
  store i32 %14653, ptr %14654, align 4, !tbaa !5
  %14655 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14656 = load i32, ptr @test_count, align 4, !tbaa !5
  %14657 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14658 = load i32, ptr %14657, align 4, !tbaa !5
  %14659 = call ptr @s2n_strerror(i32 noundef %14658, ptr noundef @.str.4)
  %14660 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14661 = load i32, ptr %14660, align 4, !tbaa !5
  %14662 = call ptr @s2n_strerror_debug(i32 noundef %14661, ptr noundef @.str.4)
  %14663 = call ptr @__errno_location() #12
  %14664 = load i32, ptr %14663, align 4, !tbaa !5
  %14665 = call ptr @strerror(i32 noundef %14664) #11
  %14666 = call ptr @__errno_location() #12
  %14667 = load i32, ptr %14666, align 4, !tbaa !5
  %14668 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14655, ptr noundef @.str.2, i32 noundef %14656, ptr noundef @.str.125, ptr noundef @.str.1, i32 noundef 626, ptr noundef %14659, ptr noundef %14662, ptr noundef %14665, i32 noundef %14667) #11
  br label %14686

14669:                                            ; preds = %14647, %14640
  %14670 = load i32, ptr %387, 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.4)
  %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.4)
  %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.5, i32 noundef %14673, ptr noundef @.str.125, ptr noundef @.str.1, i32 noundef 626, ptr noundef %14676, ptr noundef %14679, ptr noundef %14682, i32 noundef %14684) #11
  br label %14686

14686:                                            ; preds = %14669, %14652
  call void @llvm.lifetime.end.p0(i64 4, ptr %387) #11
  br label %14687

14687:                                            ; preds = %14686
  br label %14688

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

14689:                                            ; No predecessors!
  br label %14690

14690:                                            ; preds = %14689
  br label %14691

14691:                                            ; preds = %14690, %14632
  br label %14692

14692:                                            ; preds = %14691
  br label %14693

14693:                                            ; preds = %14692
  br label %14694

14694:                                            ; preds = %14693
  %14695 = load i32, ptr @test_count, align 4, !tbaa !5
  %14696 = add nsw i32 %14695, 1
  store i32 %14696, ptr @test_count, align 4, !tbaa !5
  %14697 = load ptr, ptr %374, align 8, !tbaa !9
  %14698 = getelementptr inbounds [142 x i8], ptr %373, i64 0, i64 0
  %14699 = call i32 @s2n_connection_serialize(ptr noundef %14697, ptr noundef %14698, i32 noundef 142)
  %14700 = icmp eq i32 %14699, -1
  br i1 %14700, label %14701, label %14754

14701:                                            ; preds = %14694
  br label %14702

14702:                                            ; preds = %14701
  br label %14703

14703:                                            ; preds = %14702
  call void @llvm.lifetime.start.p0(i64 4, ptr %388) #11
  %14704 = call ptr @__errno_location() #12
  %14705 = load i32, ptr %14704, align 4, !tbaa !5
  store i32 %14705, ptr %388, align 4, !tbaa !5
  %14706 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14707 = call i32 @s2n_print_stacktrace(ptr noundef %14706)
  %14708 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14709 = trunc i8 %14708 to i1
  br i1 %14709, label %14710, label %14732

14710:                                            ; preds = %14703
  %14711 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14712 = call i32 @fileno(ptr noundef %14711) #11
  %14713 = call i32 @isatty(i32 noundef %14712) #11
  %14714 = icmp ne i32 %14713, 0
  br i1 %14714, label %14715, label %14732

14715:                                            ; preds = %14710
  %14716 = load i32, ptr %388, align 4, !tbaa !5
  %14717 = call ptr @__errno_location() #12
  store i32 %14716, ptr %14717, align 4, !tbaa !5
  %14718 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14719 = load i32, ptr @test_count, align 4, !tbaa !5
  %14720 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14721 = load i32, ptr %14720, align 4, !tbaa !5
  %14722 = call ptr @s2n_strerror(i32 noundef %14721, ptr noundef @.str.4)
  %14723 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14724 = load i32, ptr %14723, align 4, !tbaa !5
  %14725 = call ptr @s2n_strerror_debug(i32 noundef %14724, ptr noundef @.str.4)
  %14726 = call ptr @__errno_location() #12
  %14727 = load i32, ptr %14726, align 4, !tbaa !5
  %14728 = call ptr @strerror(i32 noundef %14727) #11
  %14729 = call ptr @__errno_location() #12
  %14730 = load i32, ptr %14729, align 4, !tbaa !5
  %14731 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14718, ptr noundef @.str.2, i32 noundef %14719, ptr noundef @.str.126, ptr noundef @.str.1, i32 noundef 628, ptr noundef %14722, ptr noundef %14725, ptr noundef %14728, i32 noundef %14730) #11
  br label %14749

14732:                                            ; preds = %14710, %14703
  %14733 = load i32, ptr %388, align 4, !tbaa !5
  %14734 = call ptr @__errno_location() #12
  store i32 %14733, ptr %14734, align 4, !tbaa !5
  %14735 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14736 = load i32, ptr @test_count, align 4, !tbaa !5
  %14737 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14738 = load i32, ptr %14737, align 4, !tbaa !5
  %14739 = call ptr @s2n_strerror(i32 noundef %14738, ptr noundef @.str.4)
  %14740 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14741 = load i32, ptr %14740, align 4, !tbaa !5
  %14742 = call ptr @s2n_strerror_debug(i32 noundef %14741, ptr noundef @.str.4)
  %14743 = call ptr @__errno_location() #12
  %14744 = load i32, ptr %14743, align 4, !tbaa !5
  %14745 = call ptr @strerror(i32 noundef %14744) #11
  %14746 = call ptr @__errno_location() #12
  %14747 = load i32, ptr %14746, align 4, !tbaa !5
  %14748 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14735, ptr noundef @.str.5, i32 noundef %14736, ptr noundef @.str.126, ptr noundef @.str.1, i32 noundef 628, ptr noundef %14739, ptr noundef %14742, ptr noundef %14745, i32 noundef %14747) #11
  br label %14749

14749:                                            ; preds = %14732, %14715
  call void @llvm.lifetime.end.p0(i64 4, ptr %388) #11
  br label %14750

14750:                                            ; preds = %14749
  br label %14751

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

14752:                                            ; No predecessors!
  br label %14753

14753:                                            ; preds = %14752
  br label %14754

14754:                                            ; preds = %14753, %14694
  br label %14755

14755:                                            ; preds = %14754
  br label %14756

14756:                                            ; preds = %14755
  %14757 = call i32 @s2n_io_stuffer_pair_free(ptr noundef %380)
  %14758 = getelementptr inbounds %struct.s2n_result, ptr %389, i32 0, i32 0
  store i32 %14757, ptr %14758, align 4
  call void @llvm.lifetime.end.p0(i64 80, ptr %380) #11
  %14759 = call i32 @s2n_connection_ptr_free(ptr noundef %376)
  %14760 = getelementptr inbounds %struct.s2n_result, ptr %390, i32 0, i32 0
  store i32 %14759, ptr %14760, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %376) #11
  %14761 = call i32 @s2n_connection_ptr_free(ptr noundef %374)
  %14762 = getelementptr inbounds %struct.s2n_result, ptr %391, i32 0, i32 0
  store i32 %14761, ptr %14762, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %374) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %392) #11
  %14763 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %14763, ptr %392, align 8, !tbaa !9
  br label %14764

14764:                                            ; preds = %14756
  %14765 = load i32, ptr @test_count, align 4, !tbaa !5
  %14766 = add nsw i32 %14765, 1
  store i32 %14766, ptr @test_count, align 4, !tbaa !5
  %14767 = load ptr, ptr %392, align 8, !tbaa !9
  %14768 = icmp eq ptr %14767, null
  br i1 %14768, label %14769, label %14822

14769:                                            ; preds = %14764
  br label %14770

14770:                                            ; preds = %14769
  br label %14771

14771:                                            ; preds = %14770
  call void @llvm.lifetime.start.p0(i64 4, ptr %393) #11
  %14772 = call ptr @__errno_location() #12
  %14773 = load i32, ptr %14772, align 4, !tbaa !5
  store i32 %14773, ptr %393, align 4, !tbaa !5
  %14774 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14775 = call i32 @s2n_print_stacktrace(ptr noundef %14774)
  %14776 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14777 = trunc i8 %14776 to i1
  br i1 %14777, label %14778, label %14800

14778:                                            ; preds = %14771
  %14779 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14780 = call i32 @fileno(ptr noundef %14779) #11
  %14781 = call i32 @isatty(i32 noundef %14780) #11
  %14782 = icmp ne i32 %14781, 0
  br i1 %14782, label %14783, label %14800

14783:                                            ; preds = %14778
  %14784 = load i32, ptr %393, align 4, !tbaa !5
  %14785 = call ptr @__errno_location() #12
  store i32 %14784, ptr %14785, align 4, !tbaa !5
  %14786 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14787 = load i32, ptr @test_count, align 4, !tbaa !5
  %14788 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14789 = load i32, ptr %14788, align 4, !tbaa !5
  %14790 = call ptr @s2n_strerror(i32 noundef %14789, ptr noundef @.str.4)
  %14791 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14792 = load i32, ptr %14791, align 4, !tbaa !5
  %14793 = call ptr @s2n_strerror_debug(i32 noundef %14792, ptr noundef @.str.4)
  %14794 = call ptr @__errno_location() #12
  %14795 = load i32, ptr %14794, align 4, !tbaa !5
  %14796 = call ptr @strerror(i32 noundef %14795) #11
  %14797 = call ptr @__errno_location() #12
  %14798 = load i32, ptr %14797, align 4, !tbaa !5
  %14799 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14786, ptr noundef @.str.2, i32 noundef %14787, ptr noundef @.str.42, ptr noundef @.str.1, i32 noundef 635, ptr noundef %14790, ptr noundef %14793, ptr noundef %14796, i32 noundef %14798) #11
  br label %14817

14800:                                            ; preds = %14778, %14771
  %14801 = load i32, ptr %393, align 4, !tbaa !5
  %14802 = call ptr @__errno_location() #12
  store i32 %14801, ptr %14802, align 4, !tbaa !5
  %14803 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14804 = load i32, ptr @test_count, align 4, !tbaa !5
  %14805 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14806 = load i32, ptr %14805, align 4, !tbaa !5
  %14807 = call ptr @s2n_strerror(i32 noundef %14806, ptr noundef @.str.4)
  %14808 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14809 = load i32, ptr %14808, align 4, !tbaa !5
  %14810 = call ptr @s2n_strerror_debug(i32 noundef %14809, ptr noundef @.str.4)
  %14811 = call ptr @__errno_location() #12
  %14812 = load i32, ptr %14811, align 4, !tbaa !5
  %14813 = call ptr @strerror(i32 noundef %14812) #11
  %14814 = call ptr @__errno_location() #12
  %14815 = load i32, ptr %14814, align 4, !tbaa !5
  %14816 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14803, ptr noundef @.str.5, i32 noundef %14804, ptr noundef @.str.42, ptr noundef @.str.1, i32 noundef 635, ptr noundef %14807, ptr noundef %14810, ptr noundef %14813, i32 noundef %14815) #11
  br label %14817

14817:                                            ; preds = %14800, %14783
  call void @llvm.lifetime.end.p0(i64 4, ptr %393) #11
  br label %14818

14818:                                            ; preds = %14817
  br label %14819

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

14820:                                            ; No predecessors!
  br label %14821

14821:                                            ; preds = %14820
  br label %14822

14822:                                            ; preds = %14821, %14764
  br label %14823

14823:                                            ; preds = %14822
  br label %14824

14824:                                            ; preds = %14823
  br label %14825

14825:                                            ; preds = %14824
  %14826 = load i32, ptr @test_count, align 4, !tbaa !5
  %14827 = add nsw i32 %14826, 1
  store i32 %14827, ptr @test_count, align 4, !tbaa !5
  %14828 = load ptr, ptr %392, align 8, !tbaa !9
  %14829 = getelementptr inbounds [142 x i8], ptr %373, i64 0, i64 0
  %14830 = call i32 @s2n_connection_deserialize(ptr noundef %14828, ptr noundef %14829, i32 noundef 142)
  %14831 = icmp eq i32 %14830, -1
  br i1 %14831, label %14832, label %14885

14832:                                            ; preds = %14825
  br label %14833

14833:                                            ; preds = %14832
  br label %14834

14834:                                            ; preds = %14833
  call void @llvm.lifetime.start.p0(i64 4, ptr %394) #11
  %14835 = call ptr @__errno_location() #12
  %14836 = load i32, ptr %14835, align 4, !tbaa !5
  store i32 %14836, ptr %394, align 4, !tbaa !5
  %14837 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14838 = call i32 @s2n_print_stacktrace(ptr noundef %14837)
  %14839 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14840 = trunc i8 %14839 to i1
  br i1 %14840, label %14841, label %14863

14841:                                            ; preds = %14834
  %14842 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14843 = call i32 @fileno(ptr noundef %14842) #11
  %14844 = call i32 @isatty(i32 noundef %14843) #11
  %14845 = icmp ne i32 %14844, 0
  br i1 %14845, label %14846, label %14863

14846:                                            ; preds = %14841
  %14847 = load i32, ptr %394, align 4, !tbaa !5
  %14848 = call ptr @__errno_location() #12
  store i32 %14847, ptr %14848, align 4, !tbaa !5
  %14849 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14850 = load i32, ptr @test_count, align 4, !tbaa !5
  %14851 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14852 = load i32, ptr %14851, align 4, !tbaa !5
  %14853 = call ptr @s2n_strerror(i32 noundef %14852, ptr noundef @.str.4)
  %14854 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14855 = load i32, ptr %14854, align 4, !tbaa !5
  %14856 = call ptr @s2n_strerror_debug(i32 noundef %14855, ptr noundef @.str.4)
  %14857 = call ptr @__errno_location() #12
  %14858 = load i32, ptr %14857, align 4, !tbaa !5
  %14859 = call ptr @strerror(i32 noundef %14858) #11
  %14860 = call ptr @__errno_location() #12
  %14861 = load i32, ptr %14860, align 4, !tbaa !5
  %14862 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14849, ptr noundef @.str.2, i32 noundef %14850, ptr noundef @.str.127, ptr noundef @.str.1, i32 noundef 636, ptr noundef %14853, ptr noundef %14856, ptr noundef %14859, i32 noundef %14861) #11
  br label %14880

14863:                                            ; preds = %14841, %14834
  %14864 = load i32, ptr %394, align 4, !tbaa !5
  %14865 = call ptr @__errno_location() #12
  store i32 %14864, ptr %14865, align 4, !tbaa !5
  %14866 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14867 = load i32, ptr @test_count, align 4, !tbaa !5
  %14868 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14869 = load i32, ptr %14868, align 4, !tbaa !5
  %14870 = call ptr @s2n_strerror(i32 noundef %14869, ptr noundef @.str.4)
  %14871 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14872 = load i32, ptr %14871, align 4, !tbaa !5
  %14873 = call ptr @s2n_strerror_debug(i32 noundef %14872, ptr noundef @.str.4)
  %14874 = call ptr @__errno_location() #12
  %14875 = load i32, ptr %14874, align 4, !tbaa !5
  %14876 = call ptr @strerror(i32 noundef %14875) #11
  %14877 = call ptr @__errno_location() #12
  %14878 = load i32, ptr %14877, align 4, !tbaa !5
  %14879 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14866, ptr noundef @.str.5, i32 noundef %14867, ptr noundef @.str.127, ptr noundef @.str.1, i32 noundef 636, ptr noundef %14870, ptr noundef %14873, ptr noundef %14876, i32 noundef %14878) #11
  br label %14880

14880:                                            ; preds = %14863, %14846
  call void @llvm.lifetime.end.p0(i64 4, ptr %394) #11
  br label %14881

14881:                                            ; preds = %14880
  br label %14882

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

14883:                                            ; No predecessors!
  br label %14884

14884:                                            ; preds = %14883
  br label %14885

14885:                                            ; preds = %14884, %14825
  br label %14886

14886:                                            ; preds = %14885
  br label %14887

14887:                                            ; preds = %14886
  br label %14888

14888:                                            ; preds = %14887
  %14889 = load i32, ptr @test_count, align 4, !tbaa !5
  %14890 = add nsw i32 %14889, 1
  store i32 %14890, ptr @test_count, align 4, !tbaa !5
  %14891 = load ptr, ptr %392, align 8, !tbaa !9
  %14892 = call i32 @s2n_connection_get_session_length(ptr noundef %14891)
  %14893 = icmp eq i32 %14892, 0
  br i1 %14893, label %14947, label %14894

14894:                                            ; preds = %14888
  br label %14895

14895:                                            ; preds = %14894
  br label %14896

14896:                                            ; preds = %14895
  call void @llvm.lifetime.start.p0(i64 4, ptr %395) #11
  %14897 = call ptr @__errno_location() #12
  %14898 = load i32, ptr %14897, align 4, !tbaa !5
  store i32 %14898, ptr %395, align 4, !tbaa !5
  %14899 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14900 = call i32 @s2n_print_stacktrace(ptr noundef %14899)
  %14901 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14902 = trunc i8 %14901 to i1
  br i1 %14902, label %14903, label %14925

14903:                                            ; preds = %14896
  %14904 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14905 = call i32 @fileno(ptr noundef %14904) #11
  %14906 = call i32 @isatty(i32 noundef %14905) #11
  %14907 = icmp ne i32 %14906, 0
  br i1 %14907, label %14908, label %14925

14908:                                            ; preds = %14903
  %14909 = load i32, ptr %395, align 4, !tbaa !5
  %14910 = call ptr @__errno_location() #12
  store i32 %14909, ptr %14910, align 4, !tbaa !5
  %14911 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14912 = load i32, ptr @test_count, align 4, !tbaa !5
  %14913 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14914 = load i32, ptr %14913, align 4, !tbaa !5
  %14915 = call ptr @s2n_strerror(i32 noundef %14914, ptr noundef @.str.4)
  %14916 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14917 = load i32, ptr %14916, align 4, !tbaa !5
  %14918 = call ptr @s2n_strerror_debug(i32 noundef %14917, ptr noundef @.str.4)
  %14919 = call ptr @__errno_location() #12
  %14920 = load i32, ptr %14919, align 4, !tbaa !5
  %14921 = call ptr @strerror(i32 noundef %14920) #11
  %14922 = call ptr @__errno_location() #12
  %14923 = load i32, ptr %14922, align 4, !tbaa !5
  %14924 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14911, ptr noundef @.str.2, i32 noundef %14912, ptr noundef @.str.128, ptr noundef @.str.1, i32 noundef 639, ptr noundef %14915, ptr noundef %14918, ptr noundef %14921, i32 noundef %14923) #11
  br label %14942

14925:                                            ; preds = %14903, %14896
  %14926 = load i32, ptr %395, align 4, !tbaa !5
  %14927 = call ptr @__errno_location() #12
  store i32 %14926, ptr %14927, align 4, !tbaa !5
  %14928 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14929 = load i32, ptr @test_count, align 4, !tbaa !5
  %14930 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14931 = load i32, ptr %14930, align 4, !tbaa !5
  %14932 = call ptr @s2n_strerror(i32 noundef %14931, ptr noundef @.str.4)
  %14933 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14934 = load i32, ptr %14933, align 4, !tbaa !5
  %14935 = call ptr @s2n_strerror_debug(i32 noundef %14934, ptr noundef @.str.4)
  %14936 = call ptr @__errno_location() #12
  %14937 = load i32, ptr %14936, align 4, !tbaa !5
  %14938 = call ptr @strerror(i32 noundef %14937) #11
  %14939 = call ptr @__errno_location() #12
  %14940 = load i32, ptr %14939, align 4, !tbaa !5
  %14941 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14928, ptr noundef @.str.5, i32 noundef %14929, ptr noundef @.str.128, ptr noundef @.str.1, i32 noundef 639, ptr noundef %14932, ptr noundef %14935, ptr noundef %14938, i32 noundef %14940) #11
  br label %14942

14942:                                            ; preds = %14925, %14908
  call void @llvm.lifetime.end.p0(i64 4, ptr %395) #11
  br label %14943

14943:                                            ; preds = %14942
  br label %14944

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

14945:                                            ; No predecessors!
  br label %14946

14946:                                            ; preds = %14945
  br label %14947

14947:                                            ; preds = %14946, %14888
  br label %14948

14948:                                            ; preds = %14947
  br label %14949

14949:                                            ; preds = %14948
  %14950 = call i32 @s2n_connection_ptr_free(ptr noundef %392)
  %14951 = getelementptr inbounds %struct.s2n_result, ptr %396, i32 0, i32 0
  store i32 %14950, ptr %14951, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %392) #11
  call void @llvm.lifetime.end.p0(i64 142, ptr %373) #11
  %14952 = call i32 @s2n_config_ptr_free(ptr noundef %366)
  %14953 = getelementptr inbounds %struct.s2n_result, ptr %397, i32 0, i32 0
  store i32 %14952, ptr %14953, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %366) #11
  %14954 = call zeroext i1 (...) @s2n_is_tls13_fully_supported()
  br i1 %14954, label %14955, label %19947

14955:                                            ; preds = %14949
  call void @llvm.lifetime.start.p0(i64 8, ptr %398) #11
  %14956 = call ptr @s2n_config_new()
  store ptr %14956, ptr %398, align 8, !tbaa !9
  br label %14957

14957:                                            ; preds = %14955
  %14958 = load i32, ptr @test_count, align 4, !tbaa !5
  %14959 = add nsw i32 %14958, 1
  store i32 %14959, ptr @test_count, align 4, !tbaa !5
  %14960 = load ptr, ptr %398, align 8, !tbaa !9
  %14961 = load ptr, ptr %9, align 8, !tbaa !9
  %14962 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef %14960, ptr noundef %14961)
  %14963 = icmp eq i32 %14962, -1
  br i1 %14963, label %14964, label %15017

14964:                                            ; preds = %14957
  br label %14965

14965:                                            ; preds = %14964
  br label %14966

14966:                                            ; preds = %14965
  call void @llvm.lifetime.start.p0(i64 4, ptr %399) #11
  %14967 = call ptr @__errno_location() #12
  %14968 = load i32, ptr %14967, align 4, !tbaa !5
  store i32 %14968, ptr %399, align 4, !tbaa !5
  %14969 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14970 = call i32 @s2n_print_stacktrace(ptr noundef %14969)
  %14971 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14972 = trunc i8 %14971 to i1
  br i1 %14972, label %14973, label %14995

14973:                                            ; preds = %14966
  %14974 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14975 = call i32 @fileno(ptr noundef %14974) #11
  %14976 = call i32 @isatty(i32 noundef %14975) #11
  %14977 = icmp ne i32 %14976, 0
  br i1 %14977, label %14978, label %14995

14978:                                            ; preds = %14973
  %14979 = load i32, ptr %399, align 4, !tbaa !5
  %14980 = call ptr @__errno_location() #12
  store i32 %14979, ptr %14980, align 4, !tbaa !5
  %14981 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14982 = load i32, ptr @test_count, align 4, !tbaa !5
  %14983 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14984 = load i32, ptr %14983, align 4, !tbaa !5
  %14985 = call ptr @s2n_strerror(i32 noundef %14984, ptr noundef @.str.4)
  %14986 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14987 = load i32, ptr %14986, align 4, !tbaa !5
  %14988 = call ptr @s2n_strerror_debug(i32 noundef %14987, ptr noundef @.str.4)
  %14989 = call ptr @__errno_location() #12
  %14990 = load i32, ptr %14989, align 4, !tbaa !5
  %14991 = call ptr @strerror(i32 noundef %14990) #11
  %14992 = call ptr @__errno_location() #12
  %14993 = load i32, ptr %14992, align 4, !tbaa !5
  %14994 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14981, ptr noundef @.str.2, i32 noundef %14982, ptr noundef @.str.119, ptr noundef @.str.1, i32 noundef 646, ptr noundef %14985, ptr noundef %14988, ptr noundef %14991, i32 noundef %14993) #11
  br label %15012

14995:                                            ; preds = %14973, %14966
  %14996 = load i32, ptr %399, align 4, !tbaa !5
  %14997 = call ptr @__errno_location() #12
  store i32 %14996, ptr %14997, align 4, !tbaa !5
  %14998 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14999 = load i32, ptr @test_count, align 4, !tbaa !5
  %15000 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15001 = load i32, ptr %15000, align 4, !tbaa !5
  %15002 = call ptr @s2n_strerror(i32 noundef %15001, ptr noundef @.str.4)
  %15003 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15004 = load i32, ptr %15003, align 4, !tbaa !5
  %15005 = call ptr @s2n_strerror_debug(i32 noundef %15004, ptr noundef @.str.4)
  %15006 = call ptr @__errno_location() #12
  %15007 = load i32, ptr %15006, align 4, !tbaa !5
  %15008 = call ptr @strerror(i32 noundef %15007) #11
  %15009 = call ptr @__errno_location() #12
  %15010 = load i32, ptr %15009, align 4, !tbaa !5
  %15011 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14998, ptr noundef @.str.5, i32 noundef %14999, ptr noundef @.str.119, ptr noundef @.str.1, i32 noundef 646, ptr noundef %15002, ptr noundef %15005, ptr noundef %15008, i32 noundef %15010) #11
  br label %15012

15012:                                            ; preds = %14995, %14978
  call void @llvm.lifetime.end.p0(i64 4, ptr %399) #11
  br label %15013

15013:                                            ; preds = %15012
  br label %15014

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

15015:                                            ; No predecessors!
  br label %15016

15016:                                            ; preds = %15015
  br label %15017

15017:                                            ; preds = %15016, %14957
  br label %15018

15018:                                            ; preds = %15017
  br label %15019

15019:                                            ; preds = %15018
  br label %15020

15020:                                            ; preds = %15019
  %15021 = load i32, ptr @test_count, align 4, !tbaa !5
  %15022 = add nsw i32 %15021, 1
  store i32 %15022, ptr @test_count, align 4, !tbaa !5
  %15023 = load ptr, ptr %398, align 8, !tbaa !9
  %15024 = call i32 @s2n_config_disable_x509_verification(ptr noundef %15023)
  %15025 = icmp eq i32 %15024, -1
  br i1 %15025, label %15026, label %15079

15026:                                            ; preds = %15020
  br label %15027

15027:                                            ; preds = %15026
  br label %15028

15028:                                            ; preds = %15027
  call void @llvm.lifetime.start.p0(i64 4, ptr %400) #11
  %15029 = call ptr @__errno_location() #12
  %15030 = load i32, ptr %15029, align 4, !tbaa !5
  store i32 %15030, ptr %400, align 4, !tbaa !5
  %15031 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15032 = call i32 @s2n_print_stacktrace(ptr noundef %15031)
  %15033 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15034 = trunc i8 %15033 to i1
  br i1 %15034, label %15035, label %15057

15035:                                            ; preds = %15028
  %15036 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15037 = call i32 @fileno(ptr noundef %15036) #11
  %15038 = call i32 @isatty(i32 noundef %15037) #11
  %15039 = icmp ne i32 %15038, 0
  br i1 %15039, label %15040, label %15057

15040:                                            ; preds = %15035
  %15041 = load i32, ptr %400, align 4, !tbaa !5
  %15042 = call ptr @__errno_location() #12
  store i32 %15041, ptr %15042, align 4, !tbaa !5
  %15043 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15044 = load i32, ptr @test_count, align 4, !tbaa !5
  %15045 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15046 = load i32, ptr %15045, align 4, !tbaa !5
  %15047 = call ptr @s2n_strerror(i32 noundef %15046, ptr noundef @.str.4)
  %15048 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15049 = load i32, ptr %15048, align 4, !tbaa !5
  %15050 = call ptr @s2n_strerror_debug(i32 noundef %15049, ptr noundef @.str.4)
  %15051 = call ptr @__errno_location() #12
  %15052 = load i32, ptr %15051, align 4, !tbaa !5
  %15053 = call ptr @strerror(i32 noundef %15052) #11
  %15054 = call ptr @__errno_location() #12
  %15055 = load i32, ptr %15054, align 4, !tbaa !5
  %15056 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15043, ptr noundef @.str.2, i32 noundef %15044, ptr noundef @.str.120, ptr noundef @.str.1, i32 noundef 647, ptr noundef %15047, ptr noundef %15050, ptr noundef %15053, i32 noundef %15055) #11
  br label %15074

15057:                                            ; preds = %15035, %15028
  %15058 = load i32, ptr %400, align 4, !tbaa !5
  %15059 = call ptr @__errno_location() #12
  store i32 %15058, ptr %15059, align 4, !tbaa !5
  %15060 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15061 = load i32, ptr @test_count, align 4, !tbaa !5
  %15062 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15063 = load i32, ptr %15062, align 4, !tbaa !5
  %15064 = call ptr @s2n_strerror(i32 noundef %15063, ptr noundef @.str.4)
  %15065 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15066 = load i32, ptr %15065, align 4, !tbaa !5
  %15067 = call ptr @s2n_strerror_debug(i32 noundef %15066, ptr noundef @.str.4)
  %15068 = call ptr @__errno_location() #12
  %15069 = load i32, ptr %15068, align 4, !tbaa !5
  %15070 = call ptr @strerror(i32 noundef %15069) #11
  %15071 = call ptr @__errno_location() #12
  %15072 = load i32, ptr %15071, align 4, !tbaa !5
  %15073 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15060, ptr noundef @.str.5, i32 noundef %15061, ptr noundef @.str.120, ptr noundef @.str.1, i32 noundef 647, ptr noundef %15064, ptr noundef %15067, ptr noundef %15070, i32 noundef %15072) #11
  br label %15074

15074:                                            ; preds = %15057, %15040
  call void @llvm.lifetime.end.p0(i64 4, ptr %400) #11
  br label %15075

15075:                                            ; preds = %15074
  br label %15076

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

15077:                                            ; No predecessors!
  br label %15078

15078:                                            ; preds = %15077
  br label %15079

15079:                                            ; preds = %15078, %15020
  br label %15080

15080:                                            ; preds = %15079
  br label %15081

15081:                                            ; preds = %15080
  br label %15082

15082:                                            ; preds = %15081
  %15083 = load i32, ptr @test_count, align 4, !tbaa !5
  %15084 = add nsw i32 %15083, 1
  store i32 %15084, ptr @test_count, align 4, !tbaa !5
  %15085 = load ptr, ptr %398, align 8, !tbaa !9
  %15086 = call i32 @s2n_config_set_serialization_version(ptr noundef %15085, i32 noundef 1)
  %15087 = icmp eq i32 %15086, -1
  br i1 %15087, label %15088, label %15141

15088:                                            ; preds = %15082
  br label %15089

15089:                                            ; preds = %15088
  br label %15090

15090:                                            ; preds = %15089
  call void @llvm.lifetime.start.p0(i64 4, ptr %401) #11
  %15091 = call ptr @__errno_location() #12
  %15092 = load i32, ptr %15091, align 4, !tbaa !5
  store i32 %15092, ptr %401, align 4, !tbaa !5
  %15093 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15094 = call i32 @s2n_print_stacktrace(ptr noundef %15093)
  %15095 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15096 = trunc i8 %15095 to i1
  br i1 %15096, label %15097, label %15119

15097:                                            ; preds = %15090
  %15098 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15099 = call i32 @fileno(ptr noundef %15098) #11
  %15100 = call i32 @isatty(i32 noundef %15099) #11
  %15101 = icmp ne i32 %15100, 0
  br i1 %15101, label %15102, label %15119

15102:                                            ; preds = %15097
  %15103 = load i32, ptr %401, align 4, !tbaa !5
  %15104 = call ptr @__errno_location() #12
  store i32 %15103, ptr %15104, align 4, !tbaa !5
  %15105 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15106 = load i32, ptr @test_count, align 4, !tbaa !5
  %15107 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15108 = load i32, ptr %15107, align 4, !tbaa !5
  %15109 = call ptr @s2n_strerror(i32 noundef %15108, ptr noundef @.str.4)
  %15110 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15111 = load i32, ptr %15110, align 4, !tbaa !5
  %15112 = call ptr @s2n_strerror_debug(i32 noundef %15111, ptr noundef @.str.4)
  %15113 = call ptr @__errno_location() #12
  %15114 = load i32, ptr %15113, align 4, !tbaa !5
  %15115 = call ptr @strerror(i32 noundef %15114) #11
  %15116 = call ptr @__errno_location() #12
  %15117 = load i32, ptr %15116, align 4, !tbaa !5
  %15118 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15105, ptr noundef @.str.2, i32 noundef %15106, ptr noundef @.str.121, ptr noundef @.str.1, i32 noundef 648, ptr noundef %15109, ptr noundef %15112, ptr noundef %15115, i32 noundef %15117) #11
  br label %15136

15119:                                            ; preds = %15097, %15090
  %15120 = load i32, ptr %401, align 4, !tbaa !5
  %15121 = call ptr @__errno_location() #12
  store i32 %15120, ptr %15121, align 4, !tbaa !5
  %15122 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15123 = load i32, ptr @test_count, align 4, !tbaa !5
  %15124 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15125 = load i32, ptr %15124, align 4, !tbaa !5
  %15126 = call ptr @s2n_strerror(i32 noundef %15125, ptr noundef @.str.4)
  %15127 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15128 = load i32, ptr %15127, align 4, !tbaa !5
  %15129 = call ptr @s2n_strerror_debug(i32 noundef %15128, ptr noundef @.str.4)
  %15130 = call ptr @__errno_location() #12
  %15131 = load i32, ptr %15130, align 4, !tbaa !5
  %15132 = call ptr @strerror(i32 noundef %15131) #11
  %15133 = call ptr @__errno_location() #12
  %15134 = load i32, ptr %15133, align 4, !tbaa !5
  %15135 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15122, ptr noundef @.str.5, i32 noundef %15123, ptr noundef @.str.121, ptr noundef @.str.1, i32 noundef 648, ptr noundef %15126, ptr noundef %15129, ptr noundef %15132, i32 noundef %15134) #11
  br label %15136

15136:                                            ; preds = %15119, %15102
  call void @llvm.lifetime.end.p0(i64 4, ptr %401) #11
  br label %15137

15137:                                            ; preds = %15136
  br label %15138

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

15139:                                            ; No predecessors!
  br label %15140

15140:                                            ; preds = %15139
  br label %15141

15141:                                            ; preds = %15140, %15082
  br label %15142

15142:                                            ; preds = %15141
  br label %15143

15143:                                            ; preds = %15142
  br label %15144

15144:                                            ; preds = %15143
  %15145 = load i32, ptr @test_count, align 4, !tbaa !5
  %15146 = add nsw i32 %15145, 1
  store i32 %15146, ptr @test_count, align 4, !tbaa !5
  %15147 = load ptr, ptr %398, align 8, !tbaa !9
  %15148 = call i32 @s2n_config_set_cipher_preferences(ptr noundef %15147, ptr noundef @.str.129)
  %15149 = icmp eq i32 %15148, -1
  br i1 %15149, label %15150, label %15203

15150:                                            ; preds = %15144
  br label %15151

15151:                                            ; preds = %15150
  br label %15152

15152:                                            ; preds = %15151
  call void @llvm.lifetime.start.p0(i64 4, ptr %402) #11
  %15153 = call ptr @__errno_location() #12
  %15154 = load i32, ptr %15153, align 4, !tbaa !5
  store i32 %15154, ptr %402, align 4, !tbaa !5
  %15155 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15156 = call i32 @s2n_print_stacktrace(ptr noundef %15155)
  %15157 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15158 = trunc i8 %15157 to i1
  br i1 %15158, label %15159, label %15181

15159:                                            ; preds = %15152
  %15160 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15161 = call i32 @fileno(ptr noundef %15160) #11
  %15162 = call i32 @isatty(i32 noundef %15161) #11
  %15163 = icmp ne i32 %15162, 0
  br i1 %15163, label %15164, label %15181

15164:                                            ; preds = %15159
  %15165 = load i32, ptr %402, align 4, !tbaa !5
  %15166 = call ptr @__errno_location() #12
  store i32 %15165, ptr %15166, align 4, !tbaa !5
  %15167 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15168 = load i32, ptr @test_count, align 4, !tbaa !5
  %15169 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15170 = load i32, ptr %15169, align 4, !tbaa !5
  %15171 = call ptr @s2n_strerror(i32 noundef %15170, ptr noundef @.str.4)
  %15172 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15173 = load i32, ptr %15172, align 4, !tbaa !5
  %15174 = call ptr @s2n_strerror_debug(i32 noundef %15173, ptr noundef @.str.4)
  %15175 = call ptr @__errno_location() #12
  %15176 = load i32, ptr %15175, align 4, !tbaa !5
  %15177 = call ptr @strerror(i32 noundef %15176) #11
  %15178 = call ptr @__errno_location() #12
  %15179 = load i32, ptr %15178, align 4, !tbaa !5
  %15180 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15167, ptr noundef @.str.2, i32 noundef %15168, ptr noundef @.str.130, ptr noundef @.str.1, i32 noundef 649, ptr noundef %15171, ptr noundef %15174, ptr noundef %15177, i32 noundef %15179) #11
  br label %15198

15181:                                            ; preds = %15159, %15152
  %15182 = load i32, ptr %402, align 4, !tbaa !5
  %15183 = call ptr @__errno_location() #12
  store i32 %15182, ptr %15183, align 4, !tbaa !5
  %15184 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15185 = load i32, ptr @test_count, align 4, !tbaa !5
  %15186 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15187 = load i32, ptr %15186, align 4, !tbaa !5
  %15188 = call ptr @s2n_strerror(i32 noundef %15187, ptr noundef @.str.4)
  %15189 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15190 = load i32, ptr %15189, align 4, !tbaa !5
  %15191 = call ptr @s2n_strerror_debug(i32 noundef %15190, ptr noundef @.str.4)
  %15192 = call ptr @__errno_location() #12
  %15193 = load i32, ptr %15192, align 4, !tbaa !5
  %15194 = call ptr @strerror(i32 noundef %15193) #11
  %15195 = call ptr @__errno_location() #12
  %15196 = load i32, ptr %15195, align 4, !tbaa !5
  %15197 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15184, ptr noundef @.str.5, i32 noundef %15185, ptr noundef @.str.130, ptr noundef @.str.1, i32 noundef 649, ptr noundef %15188, ptr noundef %15191, ptr noundef %15194, i32 noundef %15196) #11
  br label %15198

15198:                                            ; preds = %15181, %15164
  call void @llvm.lifetime.end.p0(i64 4, ptr %402) #11
  br label %15199

15199:                                            ; preds = %15198
  br label %15200

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

15201:                                            ; No predecessors!
  br label %15202

15202:                                            ; preds = %15201
  br label %15203

15203:                                            ; preds = %15202, %15144
  br label %15204

15204:                                            ; preds = %15203
  br label %15205

15205:                                            ; preds = %15204
  br label %15206

15206:                                            ; preds = %15205
  %15207 = load i32, ptr @test_count, align 4, !tbaa !5
  %15208 = add nsw i32 %15207, 1
  store i32 %15208, ptr @test_count, align 4, !tbaa !5
  %15209 = load ptr, ptr %398, align 8, !tbaa !9
  %15210 = call i32 @s2n_resumption_test_ticket_key_setup(ptr noundef %15209)
  %15211 = getelementptr inbounds %struct.s2n_result, ptr %403, i32 0, i32 0
  store i32 %15210, ptr %15211, align 4
  %15212 = getelementptr inbounds %struct.s2n_result, ptr %403, i32 0, i32 0
  %15213 = load i32, ptr %15212, align 4
  %15214 = call zeroext i1 @s2n_result_is_ok(i32 %15213)
  br i1 %15214, label %15268, label %15215

15215:                                            ; preds = %15206
  br label %15216

15216:                                            ; preds = %15215
  br label %15217

15217:                                            ; preds = %15216
  call void @llvm.lifetime.start.p0(i64 4, ptr %404) #11
  %15218 = call ptr @__errno_location() #12
  %15219 = load i32, ptr %15218, align 4, !tbaa !5
  store i32 %15219, ptr %404, align 4, !tbaa !5
  %15220 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15221 = call i32 @s2n_print_stacktrace(ptr noundef %15220)
  %15222 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15223 = trunc i8 %15222 to i1
  br i1 %15223, label %15224, label %15246

15224:                                            ; preds = %15217
  %15225 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15226 = call i32 @fileno(ptr noundef %15225) #11
  %15227 = call i32 @isatty(i32 noundef %15226) #11
  %15228 = icmp ne i32 %15227, 0
  br i1 %15228, label %15229, label %15246

15229:                                            ; preds = %15224
  %15230 = load i32, ptr %404, align 4, !tbaa !5
  %15231 = call ptr @__errno_location() #12
  store i32 %15230, ptr %15231, align 4, !tbaa !5
  %15232 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15233 = load i32, ptr @test_count, align 4, !tbaa !5
  %15234 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15235 = load i32, ptr %15234, align 4, !tbaa !5
  %15236 = call ptr @s2n_strerror(i32 noundef %15235, ptr noundef @.str.4)
  %15237 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15238 = load i32, ptr %15237, align 4, !tbaa !5
  %15239 = call ptr @s2n_strerror_debug(i32 noundef %15238, ptr noundef @.str.4)
  %15240 = call ptr @__errno_location() #12
  %15241 = load i32, ptr %15240, align 4, !tbaa !5
  %15242 = call ptr @strerror(i32 noundef %15241) #11
  %15243 = call ptr @__errno_location() #12
  %15244 = load i32, ptr %15243, align 4, !tbaa !5
  %15245 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15232, ptr noundef @.str.2, i32 noundef %15233, ptr noundef @.str.122, ptr noundef @.str.1, i32 noundef 650, ptr noundef %15236, ptr noundef %15239, ptr noundef %15242, i32 noundef %15244) #11
  br label %15263

15246:                                            ; preds = %15224, %15217
  %15247 = load i32, ptr %404, align 4, !tbaa !5
  %15248 = call ptr @__errno_location() #12
  store i32 %15247, ptr %15248, align 4, !tbaa !5
  %15249 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15250 = load i32, ptr @test_count, align 4, !tbaa !5
  %15251 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15252 = load i32, ptr %15251, align 4, !tbaa !5
  %15253 = call ptr @s2n_strerror(i32 noundef %15252, ptr noundef @.str.4)
  %15254 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15255 = load i32, ptr %15254, align 4, !tbaa !5
  %15256 = call ptr @s2n_strerror_debug(i32 noundef %15255, ptr noundef @.str.4)
  %15257 = call ptr @__errno_location() #12
  %15258 = load i32, ptr %15257, align 4, !tbaa !5
  %15259 = call ptr @strerror(i32 noundef %15258) #11
  %15260 = call ptr @__errno_location() #12
  %15261 = load i32, ptr %15260, align 4, !tbaa !5
  %15262 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15249, ptr noundef @.str.5, i32 noundef %15250, ptr noundef @.str.122, ptr noundef @.str.1, i32 noundef 650, ptr noundef %15253, ptr noundef %15256, ptr noundef %15259, i32 noundef %15261) #11
  br label %15263

15263:                                            ; preds = %15246, %15229
  call void @llvm.lifetime.end.p0(i64 4, ptr %404) #11
  br label %15264

15264:                                            ; preds = %15263
  br label %15265

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

15266:                                            ; No predecessors!
  br label %15267

15267:                                            ; preds = %15266
  br label %15268

15268:                                            ; preds = %15267, %15206
  br label %15269

15269:                                            ; preds = %15268
  br label %15270

15270:                                            ; preds = %15269
  call void @llvm.lifetime.start.p0(i64 142, ptr %405) #11
  call void @llvm.memset.p0.i64(ptr align 16 %405, i8 0, i64 142, i1 false)
  call void @llvm.lifetime.start.p0(i64 24, ptr %406) #11
  call void @llvm.memset.p0.i64(ptr align 8 %406, i8 0, i64 24, i1 false)
  call void @llvm.lifetime.start.p0(i64 24, ptr %407) #11
  call void @llvm.memset.p0.i64(ptr align 8 %407, i8 0, i64 24, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr %408) #11
  %15271 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %15271, ptr %408, align 8, !tbaa !9
  br label %15272

15272:                                            ; preds = %15270
  %15273 = load i32, ptr @test_count, align 4, !tbaa !5
  %15274 = add nsw i32 %15273, 1
  store i32 %15274, ptr @test_count, align 4, !tbaa !5
  %15275 = load ptr, ptr %408, align 8, !tbaa !9
  %15276 = icmp eq ptr %15275, null
  br i1 %15276, label %15277, label %15330

15277:                                            ; preds = %15272
  br label %15278

15278:                                            ; preds = %15277
  br label %15279

15279:                                            ; preds = %15278
  call void @llvm.lifetime.start.p0(i64 4, ptr %409) #11
  %15280 = call ptr @__errno_location() #12
  %15281 = load i32, ptr %15280, align 4, !tbaa !5
  store i32 %15281, ptr %409, align 4, !tbaa !5
  %15282 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15283 = call i32 @s2n_print_stacktrace(ptr noundef %15282)
  %15284 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15285 = trunc i8 %15284 to i1
  br i1 %15285, label %15286, label %15308

15286:                                            ; preds = %15279
  %15287 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15288 = call i32 @fileno(ptr noundef %15287) #11
  %15289 = call i32 @isatty(i32 noundef %15288) #11
  %15290 = icmp ne i32 %15289, 0
  br i1 %15290, label %15291, label %15308

15291:                                            ; preds = %15286
  %15292 = load i32, ptr %409, align 4, !tbaa !5
  %15293 = call ptr @__errno_location() #12
  store i32 %15292, ptr %15293, align 4, !tbaa !5
  %15294 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15295 = load i32, ptr @test_count, align 4, !tbaa !5
  %15296 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15297 = load i32, ptr %15296, align 4, !tbaa !5
  %15298 = call ptr @s2n_strerror(i32 noundef %15297, ptr noundef @.str.4)
  %15299 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15300 = load i32, ptr %15299, align 4, !tbaa !5
  %15301 = call ptr @s2n_strerror_debug(i32 noundef %15300, ptr noundef @.str.4)
  %15302 = call ptr @__errno_location() #12
  %15303 = load i32, ptr %15302, align 4, !tbaa !5
  %15304 = call ptr @strerror(i32 noundef %15303) #11
  %15305 = call ptr @__errno_location() #12
  %15306 = load i32, ptr %15305, align 4, !tbaa !5
  %15307 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15294, ptr noundef @.str.2, i32 noundef %15295, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 660, ptr noundef %15298, ptr noundef %15301, ptr noundef %15304, i32 noundef %15306) #11
  br label %15325

15308:                                            ; preds = %15286, %15279
  %15309 = load i32, ptr %409, align 4, !tbaa !5
  %15310 = call ptr @__errno_location() #12
  store i32 %15309, ptr %15310, align 4, !tbaa !5
  %15311 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15312 = load i32, ptr @test_count, align 4, !tbaa !5
  %15313 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15314 = load i32, ptr %15313, align 4, !tbaa !5
  %15315 = call ptr @s2n_strerror(i32 noundef %15314, ptr noundef @.str.4)
  %15316 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15317 = load i32, ptr %15316, align 4, !tbaa !5
  %15318 = call ptr @s2n_strerror_debug(i32 noundef %15317, ptr noundef @.str.4)
  %15319 = call ptr @__errno_location() #12
  %15320 = load i32, ptr %15319, align 4, !tbaa !5
  %15321 = call ptr @strerror(i32 noundef %15320) #11
  %15322 = call ptr @__errno_location() #12
  %15323 = load i32, ptr %15322, align 4, !tbaa !5
  %15324 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15311, ptr noundef @.str.5, i32 noundef %15312, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 660, ptr noundef %15315, ptr noundef %15318, ptr noundef %15321, i32 noundef %15323) #11
  br label %15325

15325:                                            ; preds = %15308, %15291
  call void @llvm.lifetime.end.p0(i64 4, ptr %409) #11
  br label %15326

15326:                                            ; preds = %15325
  br label %15327

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

15328:                                            ; No predecessors!
  br label %15329

15329:                                            ; preds = %15328
  br label %15330

15330:                                            ; preds = %15329, %15272
  br label %15331

15331:                                            ; preds = %15330
  br label %15332

15332:                                            ; preds = %15331
  br label %15333

15333:                                            ; preds = %15332
  %15334 = load i32, ptr @test_count, align 4, !tbaa !5
  %15335 = add nsw i32 %15334, 1
  store i32 %15335, ptr @test_count, align 4, !tbaa !5
  %15336 = load ptr, ptr %408, align 8, !tbaa !9
  %15337 = load ptr, ptr %398, align 8, !tbaa !9
  %15338 = call i32 @s2n_connection_set_config(ptr noundef %15336, ptr noundef %15337)
  %15339 = icmp eq i32 %15338, -1
  br i1 %15339, label %15340, label %15393

15340:                                            ; preds = %15333
  br label %15341

15341:                                            ; preds = %15340
  br label %15342

15342:                                            ; preds = %15341
  call void @llvm.lifetime.start.p0(i64 4, ptr %410) #11
  %15343 = call ptr @__errno_location() #12
  %15344 = load i32, ptr %15343, align 4, !tbaa !5
  store i32 %15344, ptr %410, align 4, !tbaa !5
  %15345 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15346 = call i32 @s2n_print_stacktrace(ptr noundef %15345)
  %15347 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15348 = trunc i8 %15347 to i1
  br i1 %15348, label %15349, label %15371

15349:                                            ; preds = %15342
  %15350 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15351 = call i32 @fileno(ptr noundef %15350) #11
  %15352 = call i32 @isatty(i32 noundef %15351) #11
  %15353 = icmp ne i32 %15352, 0
  br i1 %15353, label %15354, label %15371

15354:                                            ; preds = %15349
  %15355 = load i32, ptr %410, align 4, !tbaa !5
  %15356 = call ptr @__errno_location() #12
  store i32 %15355, ptr %15356, align 4, !tbaa !5
  %15357 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15358 = load i32, ptr @test_count, align 4, !tbaa !5
  %15359 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15360 = load i32, ptr %15359, align 4, !tbaa !5
  %15361 = call ptr @s2n_strerror(i32 noundef %15360, ptr noundef @.str.4)
  %15362 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15363 = load i32, ptr %15362, align 4, !tbaa !5
  %15364 = call ptr @s2n_strerror_debug(i32 noundef %15363, ptr noundef @.str.4)
  %15365 = call ptr @__errno_location() #12
  %15366 = load i32, ptr %15365, align 4, !tbaa !5
  %15367 = call ptr @strerror(i32 noundef %15366) #11
  %15368 = call ptr @__errno_location() #12
  %15369 = load i32, ptr %15368, align 4, !tbaa !5
  %15370 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15357, ptr noundef @.str.2, i32 noundef %15358, ptr noundef @.str.124, ptr noundef @.str.1, i32 noundef 661, ptr noundef %15361, ptr noundef %15364, ptr noundef %15367, i32 noundef %15369) #11
  br label %15388

15371:                                            ; preds = %15349, %15342
  %15372 = load i32, ptr %410, align 4, !tbaa !5
  %15373 = call ptr @__errno_location() #12
  store i32 %15372, ptr %15373, align 4, !tbaa !5
  %15374 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15375 = load i32, ptr @test_count, align 4, !tbaa !5
  %15376 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15377 = load i32, ptr %15376, align 4, !tbaa !5
  %15378 = call ptr @s2n_strerror(i32 noundef %15377, ptr noundef @.str.4)
  %15379 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15380 = load i32, ptr %15379, align 4, !tbaa !5
  %15381 = call ptr @s2n_strerror_debug(i32 noundef %15380, ptr noundef @.str.4)
  %15382 = call ptr @__errno_location() #12
  %15383 = load i32, ptr %15382, align 4, !tbaa !5
  %15384 = call ptr @strerror(i32 noundef %15383) #11
  %15385 = call ptr @__errno_location() #12
  %15386 = load i32, ptr %15385, align 4, !tbaa !5
  %15387 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15374, ptr noundef @.str.5, i32 noundef %15375, ptr noundef @.str.124, ptr noundef @.str.1, i32 noundef 661, ptr noundef %15378, ptr noundef %15381, ptr noundef %15384, i32 noundef %15386) #11
  br label %15388

15388:                                            ; preds = %15371, %15354
  call void @llvm.lifetime.end.p0(i64 4, ptr %410) #11
  br label %15389

15389:                                            ; preds = %15388
  br label %15390

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

15391:                                            ; No predecessors!
  br label %15392

15392:                                            ; preds = %15391
  br label %15393

15393:                                            ; preds = %15392, %15333
  br label %15394

15394:                                            ; preds = %15393
  br label %15395

15395:                                            ; preds = %15394
  call void @llvm.lifetime.start.p0(i64 8, ptr %411) #11
  %15396 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %15396, ptr %411, align 8, !tbaa !9
  br label %15397

15397:                                            ; preds = %15395
  %15398 = load i32, ptr @test_count, align 4, !tbaa !5
  %15399 = add nsw i32 %15398, 1
  store i32 %15399, ptr @test_count, align 4, !tbaa !5
  %15400 = load ptr, ptr %411, align 8, !tbaa !9
  %15401 = icmp eq ptr %15400, null
  br i1 %15401, label %15402, label %15455

15402:                                            ; preds = %15397
  br label %15403

15403:                                            ; preds = %15402
  br label %15404

15404:                                            ; preds = %15403
  call void @llvm.lifetime.start.p0(i64 4, ptr %412) #11
  %15405 = call ptr @__errno_location() #12
  %15406 = load i32, ptr %15405, align 4, !tbaa !5
  store i32 %15406, ptr %412, align 4, !tbaa !5
  %15407 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15408 = call i32 @s2n_print_stacktrace(ptr noundef %15407)
  %15409 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15410 = trunc i8 %15409 to i1
  br i1 %15410, label %15411, label %15433

15411:                                            ; preds = %15404
  %15412 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15413 = call i32 @fileno(ptr noundef %15412) #11
  %15414 = call i32 @isatty(i32 noundef %15413) #11
  %15415 = icmp ne i32 %15414, 0
  br i1 %15415, label %15416, label %15433

15416:                                            ; preds = %15411
  %15417 = load i32, ptr %412, align 4, !tbaa !5
  %15418 = call ptr @__errno_location() #12
  store i32 %15417, ptr %15418, align 4, !tbaa !5
  %15419 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15420 = load i32, ptr @test_count, align 4, !tbaa !5
  %15421 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15422 = load i32, ptr %15421, align 4, !tbaa !5
  %15423 = call ptr @s2n_strerror(i32 noundef %15422, ptr noundef @.str.4)
  %15424 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15425 = load i32, ptr %15424, align 4, !tbaa !5
  %15426 = call ptr @s2n_strerror_debug(i32 noundef %15425, ptr noundef @.str.4)
  %15427 = call ptr @__errno_location() #12
  %15428 = load i32, ptr %15427, align 4, !tbaa !5
  %15429 = call ptr @strerror(i32 noundef %15428) #11
  %15430 = call ptr @__errno_location() #12
  %15431 = load i32, ptr %15430, align 4, !tbaa !5
  %15432 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15419, ptr noundef @.str.2, i32 noundef %15420, ptr noundef @.str.42, ptr noundef @.str.1, i32 noundef 667, ptr noundef %15423, ptr noundef %15426, ptr noundef %15429, i32 noundef %15431) #11
  br label %15450

15433:                                            ; preds = %15411, %15404
  %15434 = load i32, ptr %412, align 4, !tbaa !5
  %15435 = call ptr @__errno_location() #12
  store i32 %15434, ptr %15435, align 4, !tbaa !5
  %15436 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15437 = load i32, ptr @test_count, align 4, !tbaa !5
  %15438 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15439 = load i32, ptr %15438, align 4, !tbaa !5
  %15440 = call ptr @s2n_strerror(i32 noundef %15439, ptr noundef @.str.4)
  %15441 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15442 = load i32, ptr %15441, align 4, !tbaa !5
  %15443 = call ptr @s2n_strerror_debug(i32 noundef %15442, ptr noundef @.str.4)
  %15444 = call ptr @__errno_location() #12
  %15445 = load i32, ptr %15444, align 4, !tbaa !5
  %15446 = call ptr @strerror(i32 noundef %15445) #11
  %15447 = call ptr @__errno_location() #12
  %15448 = load i32, ptr %15447, align 4, !tbaa !5
  %15449 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15436, ptr noundef @.str.5, i32 noundef %15437, ptr noundef @.str.42, ptr noundef @.str.1, i32 noundef 667, ptr noundef %15440, ptr noundef %15443, ptr noundef %15446, i32 noundef %15448) #11
  br label %15450

15450:                                            ; preds = %15433, %15416
  call void @llvm.lifetime.end.p0(i64 4, ptr %412) #11
  br label %15451

15451:                                            ; preds = %15450
  br label %15452

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

15453:                                            ; No predecessors!
  br label %15454

15454:                                            ; preds = %15453
  br label %15455

15455:                                            ; preds = %15454, %15397
  br label %15456

15456:                                            ; preds = %15455
  br label %15457

15457:                                            ; preds = %15456
  br label %15458

15458:                                            ; preds = %15457
  %15459 = load i32, ptr @test_count, align 4, !tbaa !5
  %15460 = add nsw i32 %15459, 1
  store i32 %15460, ptr @test_count, align 4, !tbaa !5
  %15461 = load ptr, ptr %411, align 8, !tbaa !9
  %15462 = load ptr, ptr %398, align 8, !tbaa !9
  %15463 = call i32 @s2n_connection_set_config(ptr noundef %15461, ptr noundef %15462)
  %15464 = icmp eq i32 %15463, -1
  br i1 %15464, label %15465, label %15518

15465:                                            ; preds = %15458
  br label %15466

15466:                                            ; preds = %15465
  br label %15467

15467:                                            ; preds = %15466
  call void @llvm.lifetime.start.p0(i64 4, ptr %413) #11
  %15468 = call ptr @__errno_location() #12
  %15469 = load i32, ptr %15468, align 4, !tbaa !5
  store i32 %15469, ptr %413, align 4, !tbaa !5
  %15470 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15471 = call i32 @s2n_print_stacktrace(ptr noundef %15470)
  %15472 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15473 = trunc i8 %15472 to i1
  br i1 %15473, label %15474, label %15496

15474:                                            ; preds = %15467
  %15475 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15476 = call i32 @fileno(ptr noundef %15475) #11
  %15477 = call i32 @isatty(i32 noundef %15476) #11
  %15478 = icmp ne i32 %15477, 0
  br i1 %15478, label %15479, label %15496

15479:                                            ; preds = %15474
  %15480 = load i32, ptr %413, align 4, !tbaa !5
  %15481 = call ptr @__errno_location() #12
  store i32 %15480, ptr %15481, align 4, !tbaa !5
  %15482 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15483 = load i32, ptr @test_count, align 4, !tbaa !5
  %15484 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15485 = load i32, ptr %15484, align 4, !tbaa !5
  %15486 = call ptr @s2n_strerror(i32 noundef %15485, ptr noundef @.str.4)
  %15487 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15488 = load i32, ptr %15487, align 4, !tbaa !5
  %15489 = call ptr @s2n_strerror_debug(i32 noundef %15488, ptr noundef @.str.4)
  %15490 = call ptr @__errno_location() #12
  %15491 = load i32, ptr %15490, align 4, !tbaa !5
  %15492 = call ptr @strerror(i32 noundef %15491) #11
  %15493 = call ptr @__errno_location() #12
  %15494 = load i32, ptr %15493, align 4, !tbaa !5
  %15495 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15482, ptr noundef @.str.2, i32 noundef %15483, ptr noundef @.str.123, ptr noundef @.str.1, i32 noundef 668, ptr noundef %15486, ptr noundef %15489, ptr noundef %15492, i32 noundef %15494) #11
  br label %15513

15496:                                            ; preds = %15474, %15467
  %15497 = load i32, ptr %413, align 4, !tbaa !5
  %15498 = call ptr @__errno_location() #12
  store i32 %15497, ptr %15498, align 4, !tbaa !5
  %15499 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15500 = load i32, ptr @test_count, align 4, !tbaa !5
  %15501 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15502 = load i32, ptr %15501, align 4, !tbaa !5
  %15503 = call ptr @s2n_strerror(i32 noundef %15502, ptr noundef @.str.4)
  %15504 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15505 = load i32, ptr %15504, align 4, !tbaa !5
  %15506 = call ptr @s2n_strerror_debug(i32 noundef %15505, ptr noundef @.str.4)
  %15507 = call ptr @__errno_location() #12
  %15508 = load i32, ptr %15507, align 4, !tbaa !5
  %15509 = call ptr @strerror(i32 noundef %15508) #11
  %15510 = call ptr @__errno_location() #12
  %15511 = load i32, ptr %15510, align 4, !tbaa !5
  %15512 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15499, ptr noundef @.str.5, i32 noundef %15500, ptr noundef @.str.123, ptr noundef @.str.1, i32 noundef 668, ptr noundef %15503, ptr noundef %15506, ptr noundef %15509, i32 noundef %15511) #11
  br label %15513

15513:                                            ; preds = %15496, %15479
  call void @llvm.lifetime.end.p0(i64 4, ptr %413) #11
  br label %15514

15514:                                            ; preds = %15513
  br label %15515

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

15516:                                            ; No predecessors!
  br label %15517

15517:                                            ; preds = %15516
  br label %15518

15518:                                            ; preds = %15517, %15458
  br label %15519

15519:                                            ; preds = %15518
  br label %15520

15520:                                            ; preds = %15519
  call void @llvm.lifetime.start.p0(i64 80, ptr %414) #11
  call void @llvm.memset.p0.i64(ptr align 8 %414, i8 0, i64 80, i1 false)
  br label %15521

15521:                                            ; preds = %15520
  %15522 = load i32, ptr @test_count, align 4, !tbaa !5
  %15523 = add nsw i32 %15522, 1
  store i32 %15523, ptr @test_count, align 4, !tbaa !5
  %15524 = call i32 @s2n_io_stuffer_pair_init(ptr noundef %414)
  %15525 = getelementptr inbounds %struct.s2n_result, ptr %415, i32 0, i32 0
  store i32 %15524, ptr %15525, align 4
  %15526 = getelementptr inbounds %struct.s2n_result, ptr %415, i32 0, i32 0
  %15527 = load i32, ptr %15526, align 4
  %15528 = call zeroext i1 @s2n_result_is_ok(i32 %15527)
  br i1 %15528, label %15582, label %15529

15529:                                            ; preds = %15521
  br label %15530

15530:                                            ; preds = %15529
  br label %15531

15531:                                            ; preds = %15530
  call void @llvm.lifetime.start.p0(i64 4, ptr %416) #11
  %15532 = call ptr @__errno_location() #12
  %15533 = load i32, ptr %15532, align 4, !tbaa !5
  store i32 %15533, ptr %416, align 4, !tbaa !5
  %15534 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15535 = call i32 @s2n_print_stacktrace(ptr noundef %15534)
  %15536 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15537 = trunc i8 %15536 to i1
  br i1 %15537, label %15538, label %15560

15538:                                            ; preds = %15531
  %15539 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15540 = call i32 @fileno(ptr noundef %15539) #11
  %15541 = call i32 @isatty(i32 noundef %15540) #11
  %15542 = icmp ne i32 %15541, 0
  br i1 %15542, label %15543, label %15560

15543:                                            ; preds = %15538
  %15544 = load i32, ptr %416, align 4, !tbaa !5
  %15545 = call ptr @__errno_location() #12
  store i32 %15544, ptr %15545, align 4, !tbaa !5
  %15546 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15547 = load i32, ptr @test_count, align 4, !tbaa !5
  %15548 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15549 = load i32, ptr %15548, align 4, !tbaa !5
  %15550 = call ptr @s2n_strerror(i32 noundef %15549, ptr noundef @.str.4)
  %15551 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15552 = load i32, ptr %15551, align 4, !tbaa !5
  %15553 = call ptr @s2n_strerror_debug(i32 noundef %15552, ptr noundef @.str.4)
  %15554 = call ptr @__errno_location() #12
  %15555 = load i32, ptr %15554, align 4, !tbaa !5
  %15556 = call ptr @strerror(i32 noundef %15555) #11
  %15557 = call ptr @__errno_location() #12
  %15558 = load i32, ptr %15557, align 4, !tbaa !5
  %15559 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15546, ptr noundef @.str.2, i32 noundef %15547, ptr noundef @.str.46, ptr noundef @.str.1, i32 noundef 671, ptr noundef %15550, ptr noundef %15553, ptr noundef %15556, i32 noundef %15558) #11
  br label %15577

15560:                                            ; preds = %15538, %15531
  %15561 = load i32, ptr %416, align 4, !tbaa !5
  %15562 = call ptr @__errno_location() #12
  store i32 %15561, ptr %15562, align 4, !tbaa !5
  %15563 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15564 = load i32, ptr @test_count, align 4, !tbaa !5
  %15565 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15566 = load i32, ptr %15565, align 4, !tbaa !5
  %15567 = call ptr @s2n_strerror(i32 noundef %15566, ptr noundef @.str.4)
  %15568 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15569 = load i32, ptr %15568, align 4, !tbaa !5
  %15570 = call ptr @s2n_strerror_debug(i32 noundef %15569, ptr noundef @.str.4)
  %15571 = call ptr @__errno_location() #12
  %15572 = load i32, ptr %15571, align 4, !tbaa !5
  %15573 = call ptr @strerror(i32 noundef %15572) #11
  %15574 = call ptr @__errno_location() #12
  %15575 = load i32, ptr %15574, align 4, !tbaa !5
  %15576 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15563, ptr noundef @.str.5, i32 noundef %15564, ptr noundef @.str.46, ptr noundef @.str.1, i32 noundef 671, ptr noundef %15567, ptr noundef %15570, ptr noundef %15573, i32 noundef %15575) #11
  br label %15577

15577:                                            ; preds = %15560, %15543
  call void @llvm.lifetime.end.p0(i64 4, ptr %416) #11
  br label %15578

15578:                                            ; preds = %15577
  br label %15579

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

15580:                                            ; No predecessors!
  br label %15581

15581:                                            ; preds = %15580
  br label %15582

15582:                                            ; preds = %15581, %15521
  br label %15583

15583:                                            ; preds = %15582
  br label %15584

15584:                                            ; preds = %15583
  br label %15585

15585:                                            ; preds = %15584
  %15586 = load i32, ptr @test_count, align 4, !tbaa !5
  %15587 = add nsw i32 %15586, 1
  store i32 %15587, ptr @test_count, align 4, !tbaa !5
  %15588 = load ptr, ptr %411, align 8, !tbaa !9
  %15589 = load ptr, ptr %408, align 8, !tbaa !9
  %15590 = call i32 @s2n_connections_set_io_stuffer_pair(ptr noundef %15588, ptr noundef %15589, ptr noundef %414)
  %15591 = getelementptr inbounds %struct.s2n_result, ptr %417, i32 0, i32 0
  store i32 %15590, ptr %15591, align 4
  %15592 = getelementptr inbounds %struct.s2n_result, ptr %417, i32 0, i32 0
  %15593 = load i32, ptr %15592, align 4
  %15594 = call zeroext i1 @s2n_result_is_ok(i32 %15593)
  br i1 %15594, label %15648, label %15595

15595:                                            ; preds = %15585
  br label %15596

15596:                                            ; preds = %15595
  br label %15597

15597:                                            ; preds = %15596
  call void @llvm.lifetime.start.p0(i64 4, ptr %418) #11
  %15598 = call ptr @__errno_location() #12
  %15599 = load i32, ptr %15598, align 4, !tbaa !5
  store i32 %15599, ptr %418, align 4, !tbaa !5
  %15600 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15601 = call i32 @s2n_print_stacktrace(ptr noundef %15600)
  %15602 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15603 = trunc i8 %15602 to i1
  br i1 %15603, label %15604, label %15626

15604:                                            ; preds = %15597
  %15605 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15606 = call i32 @fileno(ptr noundef %15605) #11
  %15607 = call i32 @isatty(i32 noundef %15606) #11
  %15608 = icmp ne i32 %15607, 0
  br i1 %15608, label %15609, label %15626

15609:                                            ; preds = %15604
  %15610 = load i32, ptr %418, align 4, !tbaa !5
  %15611 = call ptr @__errno_location() #12
  store i32 %15610, ptr %15611, align 4, !tbaa !5
  %15612 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15613 = load i32, ptr @test_count, align 4, !tbaa !5
  %15614 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15615 = load i32, ptr %15614, align 4, !tbaa !5
  %15616 = call ptr @s2n_strerror(i32 noundef %15615, ptr noundef @.str.4)
  %15617 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15618 = load i32, ptr %15617, align 4, !tbaa !5
  %15619 = call ptr @s2n_strerror_debug(i32 noundef %15618, ptr noundef @.str.4)
  %15620 = call ptr @__errno_location() #12
  %15621 = load i32, ptr %15620, align 4, !tbaa !5
  %15622 = call ptr @strerror(i32 noundef %15621) #11
  %15623 = call ptr @__errno_location() #12
  %15624 = load i32, ptr %15623, align 4, !tbaa !5
  %15625 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15612, ptr noundef @.str.2, i32 noundef %15613, ptr noundef @.str.47, ptr noundef @.str.1, i32 noundef 672, ptr noundef %15616, ptr noundef %15619, ptr noundef %15622, i32 noundef %15624) #11
  br label %15643

15626:                                            ; preds = %15604, %15597
  %15627 = load i32, ptr %418, align 4, !tbaa !5
  %15628 = call ptr @__errno_location() #12
  store i32 %15627, ptr %15628, align 4, !tbaa !5
  %15629 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15630 = load i32, ptr @test_count, align 4, !tbaa !5
  %15631 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15632 = load i32, ptr %15631, align 4, !tbaa !5
  %15633 = call ptr @s2n_strerror(i32 noundef %15632, ptr noundef @.str.4)
  %15634 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15635 = load i32, ptr %15634, align 4, !tbaa !5
  %15636 = call ptr @s2n_strerror_debug(i32 noundef %15635, ptr noundef @.str.4)
  %15637 = call ptr @__errno_location() #12
  %15638 = load i32, ptr %15637, align 4, !tbaa !5
  %15639 = call ptr @strerror(i32 noundef %15638) #11
  %15640 = call ptr @__errno_location() #12
  %15641 = load i32, ptr %15640, align 4, !tbaa !5
  %15642 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15629, ptr noundef @.str.5, i32 noundef %15630, ptr noundef @.str.47, ptr noundef @.str.1, i32 noundef 672, ptr noundef %15633, ptr noundef %15636, ptr noundef %15639, i32 noundef %15641) #11
  br label %15643

15643:                                            ; preds = %15626, %15609
  call void @llvm.lifetime.end.p0(i64 4, ptr %418) #11
  br label %15644

15644:                                            ; preds = %15643
  br label %15645

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

15646:                                            ; No predecessors!
  br label %15647

15647:                                            ; preds = %15646
  br label %15648

15648:                                            ; preds = %15647, %15585
  br label %15649

15649:                                            ; preds = %15648
  br label %15650

15650:                                            ; preds = %15649
  br label %15651

15651:                                            ; preds = %15650
  %15652 = load i32, ptr @test_count, align 4, !tbaa !5
  %15653 = add nsw i32 %15652, 1
  store i32 %15653, ptr @test_count, align 4, !tbaa !5
  %15654 = load ptr, ptr %408, align 8, !tbaa !9
  %15655 = load ptr, ptr %411, align 8, !tbaa !9
  %15656 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %15654, ptr noundef %15655)
  %15657 = icmp eq i32 %15656, -1
  br i1 %15657, label %15658, label %15711

15658:                                            ; preds = %15651
  br label %15659

15659:                                            ; preds = %15658
  br label %15660

15660:                                            ; preds = %15659
  call void @llvm.lifetime.start.p0(i64 4, ptr %419) #11
  %15661 = call ptr @__errno_location() #12
  %15662 = load i32, ptr %15661, align 4, !tbaa !5
  store i32 %15662, ptr %419, align 4, !tbaa !5
  %15663 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15664 = call i32 @s2n_print_stacktrace(ptr noundef %15663)
  %15665 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15666 = trunc i8 %15665 to i1
  br i1 %15666, label %15667, label %15689

15667:                                            ; preds = %15660
  %15668 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15669 = call i32 @fileno(ptr noundef %15668) #11
  %15670 = call i32 @isatty(i32 noundef %15669) #11
  %15671 = icmp ne i32 %15670, 0
  br i1 %15671, label %15672, label %15689

15672:                                            ; preds = %15667
  %15673 = load i32, ptr %419, align 4, !tbaa !5
  %15674 = call ptr @__errno_location() #12
  store i32 %15673, ptr %15674, align 4, !tbaa !5
  %15675 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15676 = load i32, ptr @test_count, align 4, !tbaa !5
  %15677 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15678 = load i32, ptr %15677, align 4, !tbaa !5
  %15679 = call ptr @s2n_strerror(i32 noundef %15678, ptr noundef @.str.4)
  %15680 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15681 = load i32, ptr %15680, align 4, !tbaa !5
  %15682 = call ptr @s2n_strerror_debug(i32 noundef %15681, ptr noundef @.str.4)
  %15683 = call ptr @__errno_location() #12
  %15684 = load i32, ptr %15683, align 4, !tbaa !5
  %15685 = call ptr @strerror(i32 noundef %15684) #11
  %15686 = call ptr @__errno_location() #12
  %15687 = load i32, ptr %15686, align 4, !tbaa !5
  %15688 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15675, ptr noundef @.str.2, i32 noundef %15676, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 674, ptr noundef %15679, ptr noundef %15682, ptr noundef %15685, i32 noundef %15687) #11
  br label %15706

15689:                                            ; preds = %15667, %15660
  %15690 = load i32, ptr %419, align 4, !tbaa !5
  %15691 = call ptr @__errno_location() #12
  store i32 %15690, ptr %15691, align 4, !tbaa !5
  %15692 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15693 = load i32, ptr @test_count, align 4, !tbaa !5
  %15694 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15695 = load i32, ptr %15694, align 4, !tbaa !5
  %15696 = call ptr @s2n_strerror(i32 noundef %15695, ptr noundef @.str.4)
  %15697 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15698 = load i32, ptr %15697, align 4, !tbaa !5
  %15699 = call ptr @s2n_strerror_debug(i32 noundef %15698, ptr noundef @.str.4)
  %15700 = call ptr @__errno_location() #12
  %15701 = load i32, ptr %15700, align 4, !tbaa !5
  %15702 = call ptr @strerror(i32 noundef %15701) #11
  %15703 = call ptr @__errno_location() #12
  %15704 = load i32, ptr %15703, align 4, !tbaa !5
  %15705 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15692, ptr noundef @.str.5, i32 noundef %15693, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 674, ptr noundef %15696, ptr noundef %15699, ptr noundef %15702, i32 noundef %15704) #11
  br label %15706

15706:                                            ; preds = %15689, %15672
  call void @llvm.lifetime.end.p0(i64 4, ptr %419) #11
  br label %15707

15707:                                            ; preds = %15706
  br label %15708

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

15709:                                            ; No predecessors!
  br label %15710

15710:                                            ; preds = %15709
  br label %15711

15711:                                            ; preds = %15710, %15651
  br label %15712

15712:                                            ; preds = %15711
  br label %15713

15713:                                            ; preds = %15712
  br label %15714

15714:                                            ; preds = %15713
  %15715 = load i32, ptr @test_count, align 4, !tbaa !5
  %15716 = add nsw i32 %15715, 1
  store i32 %15716, ptr @test_count, align 4, !tbaa !5
  %15717 = load ptr, ptr %408, align 8, !tbaa !9
  %15718 = call i32 @s2n_connection_get_actual_protocol_version(ptr noundef %15717)
  %15719 = icmp eq i32 %15718, 34
  br i1 %15719, label %15773, label %15720

15720:                                            ; preds = %15714
  br label %15721

15721:                                            ; preds = %15720
  br label %15722

15722:                                            ; preds = %15721
  call void @llvm.lifetime.start.p0(i64 4, ptr %420) #11
  %15723 = call ptr @__errno_location() #12
  %15724 = load i32, ptr %15723, align 4, !tbaa !5
  store i32 %15724, ptr %420, align 4, !tbaa !5
  %15725 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15726 = call i32 @s2n_print_stacktrace(ptr noundef %15725)
  %15727 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15728 = trunc i8 %15727 to i1
  br i1 %15728, label %15729, label %15751

15729:                                            ; preds = %15722
  %15730 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15731 = call i32 @fileno(ptr noundef %15730) #11
  %15732 = call i32 @isatty(i32 noundef %15731) #11
  %15733 = icmp ne i32 %15732, 0
  br i1 %15733, label %15734, label %15751

15734:                                            ; preds = %15729
  %15735 = load i32, ptr %420, align 4, !tbaa !5
  %15736 = call ptr @__errno_location() #12
  store i32 %15735, ptr %15736, align 4, !tbaa !5
  %15737 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15738 = load i32, ptr @test_count, align 4, !tbaa !5
  %15739 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15740 = load i32, ptr %15739, align 4, !tbaa !5
  %15741 = call ptr @s2n_strerror(i32 noundef %15740, ptr noundef @.str.4)
  %15742 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15743 = load i32, ptr %15742, align 4, !tbaa !5
  %15744 = call ptr @s2n_strerror_debug(i32 noundef %15743, ptr noundef @.str.4)
  %15745 = call ptr @__errno_location() #12
  %15746 = load i32, ptr %15745, align 4, !tbaa !5
  %15747 = call ptr @strerror(i32 noundef %15746) #11
  %15748 = call ptr @__errno_location() #12
  %15749 = load i32, ptr %15748, align 4, !tbaa !5
  %15750 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15737, ptr noundef @.str.2, i32 noundef %15738, ptr noundef @.str.77, ptr noundef @.str.1, i32 noundef 675, ptr noundef %15741, ptr noundef %15744, ptr noundef %15747, i32 noundef %15749) #11
  br label %15768

15751:                                            ; preds = %15729, %15722
  %15752 = load i32, ptr %420, align 4, !tbaa !5
  %15753 = call ptr @__errno_location() #12
  store i32 %15752, ptr %15753, align 4, !tbaa !5
  %15754 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15755 = load i32, ptr @test_count, align 4, !tbaa !5
  %15756 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15757 = load i32, ptr %15756, align 4, !tbaa !5
  %15758 = call ptr @s2n_strerror(i32 noundef %15757, ptr noundef @.str.4)
  %15759 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15760 = load i32, ptr %15759, align 4, !tbaa !5
  %15761 = call ptr @s2n_strerror_debug(i32 noundef %15760, ptr noundef @.str.4)
  %15762 = call ptr @__errno_location() #12
  %15763 = load i32, ptr %15762, align 4, !tbaa !5
  %15764 = call ptr @strerror(i32 noundef %15763) #11
  %15765 = call ptr @__errno_location() #12
  %15766 = load i32, ptr %15765, align 4, !tbaa !5
  %15767 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15754, ptr noundef @.str.5, i32 noundef %15755, ptr noundef @.str.77, ptr noundef @.str.1, i32 noundef 675, ptr noundef %15758, ptr noundef %15761, ptr noundef %15764, i32 noundef %15766) #11
  br label %15768

15768:                                            ; preds = %15751, %15734
  call void @llvm.lifetime.end.p0(i64 4, ptr %420) #11
  br label %15769

15769:                                            ; preds = %15768
  br label %15770

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

15771:                                            ; No predecessors!
  br label %15772

15772:                                            ; preds = %15771
  br label %15773

15773:                                            ; preds = %15772, %15714
  br label %15774

15774:                                            ; preds = %15773
  br label %15775

15775:                                            ; preds = %15774
  br label %15776

15776:                                            ; preds = %15775
  %15777 = load i32, ptr @test_count, align 4, !tbaa !5
  %15778 = add nsw i32 %15777, 1
  store i32 %15778, ptr @test_count, align 4, !tbaa !5
  %15779 = load ptr, ptr %408, align 8, !tbaa !9
  %15780 = load ptr, ptr %411, align 8, !tbaa !9
  %15781 = call i32 @s2n_send_and_recv_test(ptr noundef %15779, ptr noundef %15780)
  %15782 = getelementptr inbounds %struct.s2n_result, ptr %421, i32 0, i32 0
  store i32 %15781, ptr %15782, align 4
  %15783 = getelementptr inbounds %struct.s2n_result, ptr %421, i32 0, i32 0
  %15784 = load i32, ptr %15783, align 4
  %15785 = call zeroext i1 @s2n_result_is_ok(i32 %15784)
  br i1 %15785, label %15839, label %15786

15786:                                            ; preds = %15776
  br label %15787

15787:                                            ; preds = %15786
  br label %15788

15788:                                            ; preds = %15787
  call void @llvm.lifetime.start.p0(i64 4, ptr %422) #11
  %15789 = call ptr @__errno_location() #12
  %15790 = load i32, ptr %15789, align 4, !tbaa !5
  store i32 %15790, ptr %422, align 4, !tbaa !5
  %15791 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15792 = call i32 @s2n_print_stacktrace(ptr noundef %15791)
  %15793 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15794 = trunc i8 %15793 to i1
  br i1 %15794, label %15795, label %15817

15795:                                            ; preds = %15788
  %15796 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15797 = call i32 @fileno(ptr noundef %15796) #11
  %15798 = call i32 @isatty(i32 noundef %15797) #11
  %15799 = icmp ne i32 %15798, 0
  br i1 %15799, label %15800, label %15817

15800:                                            ; preds = %15795
  %15801 = load i32, ptr %422, align 4, !tbaa !5
  %15802 = call ptr @__errno_location() #12
  store i32 %15801, ptr %15802, align 4, !tbaa !5
  %15803 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15804 = load i32, ptr @test_count, align 4, !tbaa !5
  %15805 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15806 = load i32, ptr %15805, align 4, !tbaa !5
  %15807 = call ptr @s2n_strerror(i32 noundef %15806, ptr noundef @.str.4)
  %15808 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15809 = load i32, ptr %15808, align 4, !tbaa !5
  %15810 = call ptr @s2n_strerror_debug(i32 noundef %15809, ptr noundef @.str.4)
  %15811 = call ptr @__errno_location() #12
  %15812 = load i32, ptr %15811, align 4, !tbaa !5
  %15813 = call ptr @strerror(i32 noundef %15812) #11
  %15814 = call ptr @__errno_location() #12
  %15815 = load i32, ptr %15814, align 4, !tbaa !5
  %15816 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15803, ptr noundef @.str.2, i32 noundef %15804, ptr noundef @.str.103, ptr noundef @.str.1, i32 noundef 678, ptr noundef %15807, ptr noundef %15810, ptr noundef %15813, i32 noundef %15815) #11
  br label %15834

15817:                                            ; preds = %15795, %15788
  %15818 = load i32, ptr %422, align 4, !tbaa !5
  %15819 = call ptr @__errno_location() #12
  store i32 %15818, ptr %15819, align 4, !tbaa !5
  %15820 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15821 = load i32, ptr @test_count, align 4, !tbaa !5
  %15822 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15823 = load i32, ptr %15822, align 4, !tbaa !5
  %15824 = call ptr @s2n_strerror(i32 noundef %15823, ptr noundef @.str.4)
  %15825 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15826 = load i32, ptr %15825, align 4, !tbaa !5
  %15827 = call ptr @s2n_strerror_debug(i32 noundef %15826, ptr noundef @.str.4)
  %15828 = call ptr @__errno_location() #12
  %15829 = load i32, ptr %15828, align 4, !tbaa !5
  %15830 = call ptr @strerror(i32 noundef %15829) #11
  %15831 = call ptr @__errno_location() #12
  %15832 = load i32, ptr %15831, align 4, !tbaa !5
  %15833 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15820, ptr noundef @.str.5, i32 noundef %15821, ptr noundef @.str.103, ptr noundef @.str.1, i32 noundef 678, ptr noundef %15824, ptr noundef %15827, ptr noundef %15830, i32 noundef %15832) #11
  br label %15834

15834:                                            ; preds = %15817, %15800
  call void @llvm.lifetime.end.p0(i64 4, ptr %422) #11
  br label %15835

15835:                                            ; preds = %15834
  br label %15836

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

15837:                                            ; No predecessors!
  br label %15838

15838:                                            ; preds = %15837
  br label %15839

15839:                                            ; preds = %15838, %15776
  br label %15840

15840:                                            ; preds = %15839
  br label %15841

15841:                                            ; preds = %15840
  br label %15842

15842:                                            ; preds = %15841
  %15843 = load i32, ptr @test_count, align 4, !tbaa !5
  %15844 = add nsw i32 %15843, 1
  store i32 %15844, ptr @test_count, align 4, !tbaa !5
  %15845 = load ptr, ptr %411, align 8, !tbaa !9
  %15846 = call i32 @s2n_ticket_pickup(ptr noundef %15845, ptr noundef %406)
  %15847 = getelementptr inbounds %struct.s2n_result, ptr %423, i32 0, i32 0
  store i32 %15846, ptr %15847, align 4
  %15848 = getelementptr inbounds %struct.s2n_result, ptr %423, i32 0, i32 0
  %15849 = load i32, ptr %15848, align 4
  %15850 = call zeroext i1 @s2n_result_is_ok(i32 %15849)
  br i1 %15850, label %15904, label %15851

15851:                                            ; preds = %15842
  br label %15852

15852:                                            ; preds = %15851
  br label %15853

15853:                                            ; preds = %15852
  call void @llvm.lifetime.start.p0(i64 4, ptr %424) #11
  %15854 = call ptr @__errno_location() #12
  %15855 = load i32, ptr %15854, align 4, !tbaa !5
  store i32 %15855, ptr %424, align 4, !tbaa !5
  %15856 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15857 = call i32 @s2n_print_stacktrace(ptr noundef %15856)
  %15858 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15859 = trunc i8 %15858 to i1
  br i1 %15859, label %15860, label %15882

15860:                                            ; preds = %15853
  %15861 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15862 = call i32 @fileno(ptr noundef %15861) #11
  %15863 = call i32 @isatty(i32 noundef %15862) #11
  %15864 = icmp ne i32 %15863, 0
  br i1 %15864, label %15865, label %15882

15865:                                            ; preds = %15860
  %15866 = load i32, ptr %424, align 4, !tbaa !5
  %15867 = call ptr @__errno_location() #12
  store i32 %15866, ptr %15867, align 4, !tbaa !5
  %15868 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15869 = load i32, ptr @test_count, align 4, !tbaa !5
  %15870 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15871 = load i32, ptr %15870, align 4, !tbaa !5
  %15872 = call ptr @s2n_strerror(i32 noundef %15871, ptr noundef @.str.4)
  %15873 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15874 = load i32, ptr %15873, align 4, !tbaa !5
  %15875 = call ptr @s2n_strerror_debug(i32 noundef %15874, ptr noundef @.str.4)
  %15876 = call ptr @__errno_location() #12
  %15877 = load i32, ptr %15876, align 4, !tbaa !5
  %15878 = call ptr @strerror(i32 noundef %15877) #11
  %15879 = call ptr @__errno_location() #12
  %15880 = load i32, ptr %15879, align 4, !tbaa !5
  %15881 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15868, ptr noundef @.str.2, i32 noundef %15869, ptr noundef @.str.131, ptr noundef @.str.1, i32 noundef 679, ptr noundef %15872, ptr noundef %15875, ptr noundef %15878, i32 noundef %15880) #11
  br label %15899

15882:                                            ; preds = %15860, %15853
  %15883 = load i32, ptr %424, align 4, !tbaa !5
  %15884 = call ptr @__errno_location() #12
  store i32 %15883, ptr %15884, align 4, !tbaa !5
  %15885 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15886 = load i32, ptr @test_count, align 4, !tbaa !5
  %15887 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15888 = load i32, ptr %15887, align 4, !tbaa !5
  %15889 = call ptr @s2n_strerror(i32 noundef %15888, ptr noundef @.str.4)
  %15890 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15891 = load i32, ptr %15890, align 4, !tbaa !5
  %15892 = call ptr @s2n_strerror_debug(i32 noundef %15891, ptr noundef @.str.4)
  %15893 = call ptr @__errno_location() #12
  %15894 = load i32, ptr %15893, align 4, !tbaa !5
  %15895 = call ptr @strerror(i32 noundef %15894) #11
  %15896 = call ptr @__errno_location() #12
  %15897 = load i32, ptr %15896, align 4, !tbaa !5
  %15898 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15885, ptr noundef @.str.5, i32 noundef %15886, ptr noundef @.str.131, ptr noundef @.str.1, i32 noundef 679, ptr noundef %15889, ptr noundef %15892, ptr noundef %15895, i32 noundef %15897) #11
  br label %15899

15899:                                            ; preds = %15882, %15865
  call void @llvm.lifetime.end.p0(i64 4, ptr %424) #11
  br label %15900

15900:                                            ; preds = %15899
  br label %15901

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

15902:                                            ; No predecessors!
  br label %15903

15903:                                            ; preds = %15902
  br label %15904

15904:                                            ; preds = %15903, %15842
  br label %15905

15905:                                            ; preds = %15904
  br label %15906

15906:                                            ; preds = %15905
  br label %15907

15907:                                            ; preds = %15906
  %15908 = load i32, ptr @test_count, align 4, !tbaa !5
  %15909 = add nsw i32 %15908, 1
  store i32 %15909, ptr @test_count, align 4, !tbaa !5
  %15910 = load ptr, ptr %411, align 8, !tbaa !9
  %15911 = getelementptr inbounds [142 x i8], ptr %405, i64 0, i64 0
  %15912 = call i32 @s2n_connection_serialize(ptr noundef %15910, ptr noundef %15911, i32 noundef 142)
  %15913 = icmp eq i32 %15912, -1
  br i1 %15913, label %15914, label %15967

15914:                                            ; preds = %15907
  br label %15915

15915:                                            ; preds = %15914
  br label %15916

15916:                                            ; preds = %15915
  call void @llvm.lifetime.start.p0(i64 4, ptr %425) #11
  %15917 = call ptr @__errno_location() #12
  %15918 = load i32, ptr %15917, align 4, !tbaa !5
  store i32 %15918, ptr %425, align 4, !tbaa !5
  %15919 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15920 = call i32 @s2n_print_stacktrace(ptr noundef %15919)
  %15921 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15922 = trunc i8 %15921 to i1
  br i1 %15922, label %15923, label %15945

15923:                                            ; preds = %15916
  %15924 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15925 = call i32 @fileno(ptr noundef %15924) #11
  %15926 = call i32 @isatty(i32 noundef %15925) #11
  %15927 = icmp ne i32 %15926, 0
  br i1 %15927, label %15928, label %15945

15928:                                            ; preds = %15923
  %15929 = load i32, ptr %425, align 4, !tbaa !5
  %15930 = call ptr @__errno_location() #12
  store i32 %15929, ptr %15930, align 4, !tbaa !5
  %15931 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15932 = load i32, ptr @test_count, align 4, !tbaa !5
  %15933 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15934 = load i32, ptr %15933, align 4, !tbaa !5
  %15935 = call ptr @s2n_strerror(i32 noundef %15934, ptr noundef @.str.4)
  %15936 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15937 = load i32, ptr %15936, align 4, !tbaa !5
  %15938 = call ptr @s2n_strerror_debug(i32 noundef %15937, ptr noundef @.str.4)
  %15939 = call ptr @__errno_location() #12
  %15940 = load i32, ptr %15939, align 4, !tbaa !5
  %15941 = call ptr @strerror(i32 noundef %15940) #11
  %15942 = call ptr @__errno_location() #12
  %15943 = load i32, ptr %15942, align 4, !tbaa !5
  %15944 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15931, ptr noundef @.str.2, i32 noundef %15932, ptr noundef @.str.126, ptr noundef @.str.1, i32 noundef 681, ptr noundef %15935, ptr noundef %15938, ptr noundef %15941, i32 noundef %15943) #11
  br label %15962

15945:                                            ; preds = %15923, %15916
  %15946 = load i32, ptr %425, align 4, !tbaa !5
  %15947 = call ptr @__errno_location() #12
  store i32 %15946, ptr %15947, align 4, !tbaa !5
  %15948 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15949 = load i32, ptr @test_count, align 4, !tbaa !5
  %15950 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15951 = load i32, ptr %15950, align 4, !tbaa !5
  %15952 = call ptr @s2n_strerror(i32 noundef %15951, ptr noundef @.str.4)
  %15953 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15954 = load i32, ptr %15953, align 4, !tbaa !5
  %15955 = call ptr @s2n_strerror_debug(i32 noundef %15954, ptr noundef @.str.4)
  %15956 = call ptr @__errno_location() #12
  %15957 = load i32, ptr %15956, align 4, !tbaa !5
  %15958 = call ptr @strerror(i32 noundef %15957) #11
  %15959 = call ptr @__errno_location() #12
  %15960 = load i32, ptr %15959, align 4, !tbaa !5
  %15961 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15948, ptr noundef @.str.5, i32 noundef %15949, ptr noundef @.str.126, ptr noundef @.str.1, i32 noundef 681, ptr noundef %15952, ptr noundef %15955, ptr noundef %15958, i32 noundef %15960) #11
  br label %15962

15962:                                            ; preds = %15945, %15928
  call void @llvm.lifetime.end.p0(i64 4, ptr %425) #11
  br label %15963

15963:                                            ; preds = %15962
  br label %15964

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

15965:                                            ; No predecessors!
  br label %15966

15966:                                            ; preds = %15965
  br label %15967

15967:                                            ; preds = %15966, %15907
  br label %15968

15968:                                            ; preds = %15967
  br label %15969

15969:                                            ; preds = %15968
  %15970 = call i32 @s2n_io_stuffer_pair_free(ptr noundef %414)
  %15971 = getelementptr inbounds %struct.s2n_result, ptr %426, i32 0, i32 0
  store i32 %15970, ptr %15971, align 4
  call void @llvm.lifetime.end.p0(i64 80, ptr %414) #11
  %15972 = call i32 @s2n_connection_ptr_free(ptr noundef %411)
  %15973 = getelementptr inbounds %struct.s2n_result, ptr %427, i32 0, i32 0
  store i32 %15972, ptr %15973, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %411) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %428) #11
  %15974 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %15974, ptr %428, align 8, !tbaa !9
  br label %15975

15975:                                            ; preds = %15969
  %15976 = load i32, ptr @test_count, align 4, !tbaa !5
  %15977 = add nsw i32 %15976, 1
  store i32 %15977, ptr @test_count, align 4, !tbaa !5
  %15978 = load ptr, ptr %428, align 8, !tbaa !9
  %15979 = icmp eq ptr %15978, null
  br i1 %15979, label %15980, label %16033

15980:                                            ; preds = %15975
  br label %15981

15981:                                            ; preds = %15980
  br label %15982

15982:                                            ; preds = %15981
  call void @llvm.lifetime.start.p0(i64 4, ptr %429) #11
  %15983 = call ptr @__errno_location() #12
  %15984 = load i32, ptr %15983, align 4, !tbaa !5
  store i32 %15984, ptr %429, align 4, !tbaa !5
  %15985 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15986 = call i32 @s2n_print_stacktrace(ptr noundef %15985)
  %15987 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15988 = trunc i8 %15987 to i1
  br i1 %15988, label %15989, label %16011

15989:                                            ; preds = %15982
  %15990 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15991 = call i32 @fileno(ptr noundef %15990) #11
  %15992 = call i32 @isatty(i32 noundef %15991) #11
  %15993 = icmp ne i32 %15992, 0
  br i1 %15993, label %15994, label %16011

15994:                                            ; preds = %15989
  %15995 = load i32, ptr %429, align 4, !tbaa !5
  %15996 = call ptr @__errno_location() #12
  store i32 %15995, ptr %15996, align 4, !tbaa !5
  %15997 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15998 = load i32, ptr @test_count, align 4, !tbaa !5
  %15999 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16000 = load i32, ptr %15999, align 4, !tbaa !5
  %16001 = call ptr @s2n_strerror(i32 noundef %16000, ptr noundef @.str.4)
  %16002 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16003 = load i32, ptr %16002, align 4, !tbaa !5
  %16004 = call ptr @s2n_strerror_debug(i32 noundef %16003, ptr noundef @.str.4)
  %16005 = call ptr @__errno_location() #12
  %16006 = load i32, ptr %16005, align 4, !tbaa !5
  %16007 = call ptr @strerror(i32 noundef %16006) #11
  %16008 = call ptr @__errno_location() #12
  %16009 = load i32, ptr %16008, align 4, !tbaa !5
  %16010 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15997, ptr noundef @.str.2, i32 noundef %15998, ptr noundef @.str.42, ptr noundef @.str.1, i32 noundef 688, ptr noundef %16001, ptr noundef %16004, ptr noundef %16007, i32 noundef %16009) #11
  br label %16028

16011:                                            ; preds = %15989, %15982
  %16012 = load i32, ptr %429, align 4, !tbaa !5
  %16013 = call ptr @__errno_location() #12
  store i32 %16012, ptr %16013, align 4, !tbaa !5
  %16014 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16015 = load i32, ptr @test_count, align 4, !tbaa !5
  %16016 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16017 = load i32, ptr %16016, align 4, !tbaa !5
  %16018 = call ptr @s2n_strerror(i32 noundef %16017, ptr noundef @.str.4)
  %16019 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16020 = load i32, ptr %16019, align 4, !tbaa !5
  %16021 = call ptr @s2n_strerror_debug(i32 noundef %16020, ptr noundef @.str.4)
  %16022 = call ptr @__errno_location() #12
  %16023 = load i32, ptr %16022, align 4, !tbaa !5
  %16024 = call ptr @strerror(i32 noundef %16023) #11
  %16025 = call ptr @__errno_location() #12
  %16026 = load i32, ptr %16025, align 4, !tbaa !5
  %16027 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16014, ptr noundef @.str.5, i32 noundef %16015, ptr noundef @.str.42, ptr noundef @.str.1, i32 noundef 688, ptr noundef %16018, ptr noundef %16021, ptr noundef %16024, i32 noundef %16026) #11
  br label %16028

16028:                                            ; preds = %16011, %15994
  call void @llvm.lifetime.end.p0(i64 4, ptr %429) #11
  br label %16029

16029:                                            ; preds = %16028
  br label %16030

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

16031:                                            ; No predecessors!
  br label %16032

16032:                                            ; preds = %16031
  br label %16033

16033:                                            ; preds = %16032, %15975
  br label %16034

16034:                                            ; preds = %16033
  br label %16035

16035:                                            ; preds = %16034
  br label %16036

16036:                                            ; preds = %16035
  %16037 = load i32, ptr @test_count, align 4, !tbaa !5
  %16038 = add nsw i32 %16037, 1
  store i32 %16038, ptr @test_count, align 4, !tbaa !5
  %16039 = load ptr, ptr %428, align 8, !tbaa !9
  %16040 = getelementptr inbounds [142 x i8], ptr %405, i64 0, i64 0
  %16041 = call i32 @s2n_connection_deserialize(ptr noundef %16039, ptr noundef %16040, i32 noundef 142)
  %16042 = icmp eq i32 %16041, -1
  br i1 %16042, label %16043, label %16096

16043:                                            ; preds = %16036
  br label %16044

16044:                                            ; preds = %16043
  br label %16045

16045:                                            ; preds = %16044
  call void @llvm.lifetime.start.p0(i64 4, ptr %430) #11
  %16046 = call ptr @__errno_location() #12
  %16047 = load i32, ptr %16046, align 4, !tbaa !5
  store i32 %16047, ptr %430, align 4, !tbaa !5
  %16048 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16049 = call i32 @s2n_print_stacktrace(ptr noundef %16048)
  %16050 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16051 = trunc i8 %16050 to i1
  br i1 %16051, label %16052, label %16074

16052:                                            ; preds = %16045
  %16053 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16054 = call i32 @fileno(ptr noundef %16053) #11
  %16055 = call i32 @isatty(i32 noundef %16054) #11
  %16056 = icmp ne i32 %16055, 0
  br i1 %16056, label %16057, label %16074

16057:                                            ; preds = %16052
  %16058 = load i32, ptr %430, align 4, !tbaa !5
  %16059 = call ptr @__errno_location() #12
  store i32 %16058, ptr %16059, align 4, !tbaa !5
  %16060 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16061 = load i32, ptr @test_count, align 4, !tbaa !5
  %16062 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16063 = load i32, ptr %16062, align 4, !tbaa !5
  %16064 = call ptr @s2n_strerror(i32 noundef %16063, ptr noundef @.str.4)
  %16065 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16066 = load i32, ptr %16065, align 4, !tbaa !5
  %16067 = call ptr @s2n_strerror_debug(i32 noundef %16066, ptr noundef @.str.4)
  %16068 = call ptr @__errno_location() #12
  %16069 = load i32, ptr %16068, align 4, !tbaa !5
  %16070 = call ptr @strerror(i32 noundef %16069) #11
  %16071 = call ptr @__errno_location() #12
  %16072 = load i32, ptr %16071, align 4, !tbaa !5
  %16073 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16060, ptr noundef @.str.2, i32 noundef %16061, ptr noundef @.str.127, ptr noundef @.str.1, i32 noundef 689, ptr noundef %16064, ptr noundef %16067, ptr noundef %16070, i32 noundef %16072) #11
  br label %16091

16074:                                            ; preds = %16052, %16045
  %16075 = load i32, ptr %430, align 4, !tbaa !5
  %16076 = call ptr @__errno_location() #12
  store i32 %16075, ptr %16076, align 4, !tbaa !5
  %16077 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16078 = load i32, ptr @test_count, align 4, !tbaa !5
  %16079 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16080 = load i32, ptr %16079, align 4, !tbaa !5
  %16081 = call ptr @s2n_strerror(i32 noundef %16080, ptr noundef @.str.4)
  %16082 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16083 = load i32, ptr %16082, align 4, !tbaa !5
  %16084 = call ptr @s2n_strerror_debug(i32 noundef %16083, ptr noundef @.str.4)
  %16085 = call ptr @__errno_location() #12
  %16086 = load i32, ptr %16085, align 4, !tbaa !5
  %16087 = call ptr @strerror(i32 noundef %16086) #11
  %16088 = call ptr @__errno_location() #12
  %16089 = load i32, ptr %16088, align 4, !tbaa !5
  %16090 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16077, ptr noundef @.str.5, i32 noundef %16078, ptr noundef @.str.127, ptr noundef @.str.1, i32 noundef 689, ptr noundef %16081, ptr noundef %16084, ptr noundef %16087, i32 noundef %16089) #11
  br label %16091

16091:                                            ; preds = %16074, %16057
  call void @llvm.lifetime.end.p0(i64 4, ptr %430) #11
  br label %16092

16092:                                            ; preds = %16091
  br label %16093

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

16094:                                            ; No predecessors!
  br label %16095

16095:                                            ; preds = %16094
  br label %16096

16096:                                            ; preds = %16095, %16036
  br label %16097

16097:                                            ; preds = %16096
  br label %16098

16098:                                            ; preds = %16097
  br label %16099

16099:                                            ; preds = %16098
  %16100 = load i32, ptr @test_count, align 4, !tbaa !5
  %16101 = add nsw i32 %16100, 1
  store i32 %16101, ptr @test_count, align 4, !tbaa !5
  %16102 = load ptr, ptr %428, align 8, !tbaa !9
  %16103 = load ptr, ptr %398, align 8, !tbaa !9
  %16104 = call i32 @s2n_connection_set_config(ptr noundef %16102, ptr noundef %16103)
  %16105 = icmp eq i32 %16104, -1
  br i1 %16105, label %16106, label %16159

16106:                                            ; preds = %16099
  br label %16107

16107:                                            ; preds = %16106
  br label %16108

16108:                                            ; preds = %16107
  call void @llvm.lifetime.start.p0(i64 4, ptr %431) #11
  %16109 = call ptr @__errno_location() #12
  %16110 = load i32, ptr %16109, align 4, !tbaa !5
  store i32 %16110, ptr %431, align 4, !tbaa !5
  %16111 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16112 = call i32 @s2n_print_stacktrace(ptr noundef %16111)
  %16113 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16114 = trunc i8 %16113 to i1
  br i1 %16114, label %16115, label %16137

16115:                                            ; preds = %16108
  %16116 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16117 = call i32 @fileno(ptr noundef %16116) #11
  %16118 = call i32 @isatty(i32 noundef %16117) #11
  %16119 = icmp ne i32 %16118, 0
  br i1 %16119, label %16120, label %16137

16120:                                            ; preds = %16115
  %16121 = load i32, ptr %431, 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.4)
  %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.4)
  %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.2, i32 noundef %16124, ptr noundef @.str.123, ptr noundef @.str.1, i32 noundef 690, ptr noundef %16127, ptr noundef %16130, ptr noundef %16133, i32 noundef %16135) #11
  br label %16154

16137:                                            ; preds = %16115, %16108
  %16138 = load i32, ptr %431, align 4, !tbaa !5
  %16139 = call ptr @__errno_location() #12
  store i32 %16138, ptr %16139, align 4, !tbaa !5
  %16140 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16141 = load i32, ptr @test_count, align 4, !tbaa !5
  %16142 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16143 = load i32, ptr %16142, align 4, !tbaa !5
  %16144 = call ptr @s2n_strerror(i32 noundef %16143, ptr noundef @.str.4)
  %16145 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16146 = load i32, ptr %16145, align 4, !tbaa !5
  %16147 = call ptr @s2n_strerror_debug(i32 noundef %16146, ptr noundef @.str.4)
  %16148 = call ptr @__errno_location() #12
  %16149 = load i32, ptr %16148, align 4, !tbaa !5
  %16150 = call ptr @strerror(i32 noundef %16149) #11
  %16151 = call ptr @__errno_location() #12
  %16152 = load i32, ptr %16151, align 4, !tbaa !5
  %16153 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16140, ptr noundef @.str.5, i32 noundef %16141, ptr noundef @.str.123, ptr noundef @.str.1, i32 noundef 690, ptr noundef %16144, ptr noundef %16147, ptr noundef %16150, i32 noundef %16152) #11
  br label %16154

16154:                                            ; preds = %16137, %16120
  call void @llvm.lifetime.end.p0(i64 4, ptr %431) #11
  br label %16155

16155:                                            ; preds = %16154
  br label %16156

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

16157:                                            ; No predecessors!
  br label %16158

16158:                                            ; preds = %16157
  br label %16159

16159:                                            ; preds = %16158, %16099
  br label %16160

16160:                                            ; preds = %16159
  br label %16161

16161:                                            ; preds = %16160
  call void @llvm.lifetime.start.p0(i64 80, ptr %432) #11
  call void @llvm.memset.p0.i64(ptr align 8 %432, i8 0, i64 80, i1 false)
  br label %16162

16162:                                            ; preds = %16161
  %16163 = load i32, ptr @test_count, align 4, !tbaa !5
  %16164 = add nsw i32 %16163, 1
  store i32 %16164, ptr @test_count, align 4, !tbaa !5
  %16165 = call i32 @s2n_io_stuffer_pair_init(ptr noundef %432)
  %16166 = getelementptr inbounds %struct.s2n_result, ptr %433, i32 0, i32 0
  store i32 %16165, ptr %16166, align 4
  %16167 = getelementptr inbounds %struct.s2n_result, ptr %433, i32 0, i32 0
  %16168 = load i32, ptr %16167, align 4
  %16169 = call zeroext i1 @s2n_result_is_ok(i32 %16168)
  br i1 %16169, label %16223, label %16170

16170:                                            ; preds = %16162
  br label %16171

16171:                                            ; preds = %16170
  br label %16172

16172:                                            ; preds = %16171
  call void @llvm.lifetime.start.p0(i64 4, ptr %434) #11
  %16173 = call ptr @__errno_location() #12
  %16174 = load i32, ptr %16173, align 4, !tbaa !5
  store i32 %16174, ptr %434, align 4, !tbaa !5
  %16175 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16176 = call i32 @s2n_print_stacktrace(ptr noundef %16175)
  %16177 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16178 = trunc i8 %16177 to i1
  br i1 %16178, label %16179, label %16201

16179:                                            ; preds = %16172
  %16180 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16181 = call i32 @fileno(ptr noundef %16180) #11
  %16182 = call i32 @isatty(i32 noundef %16181) #11
  %16183 = icmp ne i32 %16182, 0
  br i1 %16183, label %16184, label %16201

16184:                                            ; preds = %16179
  %16185 = load i32, ptr %434, align 4, !tbaa !5
  %16186 = call ptr @__errno_location() #12
  store i32 %16185, ptr %16186, align 4, !tbaa !5
  %16187 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16188 = load i32, ptr @test_count, align 4, !tbaa !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(i32 noundef %16190, ptr noundef @.str.4)
  %16192 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16193 = load i32, ptr %16192, align 4, !tbaa !5
  %16194 = call ptr @s2n_strerror_debug(i32 noundef %16193, ptr noundef @.str.4)
  %16195 = call ptr @__errno_location() #12
  %16196 = load i32, ptr %16195, align 4, !tbaa !5
  %16197 = call ptr @strerror(i32 noundef %16196) #11
  %16198 = call ptr @__errno_location() #12
  %16199 = load i32, ptr %16198, align 4, !tbaa !5
  %16200 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16187, ptr noundef @.str.2, i32 noundef %16188, ptr noundef @.str.46, ptr noundef @.str.1, i32 noundef 693, ptr noundef %16191, ptr noundef %16194, ptr noundef %16197, i32 noundef %16199) #11
  br label %16218

16201:                                            ; preds = %16179, %16172
  %16202 = load i32, ptr %434, align 4, !tbaa !5
  %16203 = call ptr @__errno_location() #12
  store i32 %16202, ptr %16203, align 4, !tbaa !5
  %16204 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16205 = load i32, ptr @test_count, align 4, !tbaa !5
  %16206 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16207 = load i32, ptr %16206, align 4, !tbaa !5
  %16208 = call ptr @s2n_strerror(i32 noundef %16207, ptr noundef @.str.4)
  %16209 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16210 = load i32, ptr %16209, align 4, !tbaa !5
  %16211 = call ptr @s2n_strerror_debug(i32 noundef %16210, ptr noundef @.str.4)
  %16212 = call ptr @__errno_location() #12
  %16213 = load i32, ptr %16212, align 4, !tbaa !5
  %16214 = call ptr @strerror(i32 noundef %16213) #11
  %16215 = call ptr @__errno_location() #12
  %16216 = load i32, ptr %16215, align 4, !tbaa !5
  %16217 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16204, ptr noundef @.str.5, i32 noundef %16205, ptr noundef @.str.46, ptr noundef @.str.1, i32 noundef 693, ptr noundef %16208, ptr noundef %16211, ptr noundef %16214, i32 noundef %16216) #11
  br label %16218

16218:                                            ; preds = %16201, %16184
  call void @llvm.lifetime.end.p0(i64 4, ptr %434) #11
  br label %16219

16219:                                            ; preds = %16218
  br label %16220

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

16221:                                            ; No predecessors!
  br label %16222

16222:                                            ; preds = %16221
  br label %16223

16223:                                            ; preds = %16222, %16162
  br label %16224

16224:                                            ; preds = %16223
  br label %16225

16225:                                            ; preds = %16224
  br label %16226

16226:                                            ; preds = %16225
  %16227 = load i32, ptr @test_count, align 4, !tbaa !5
  %16228 = add nsw i32 %16227, 1
  store i32 %16228, ptr @test_count, align 4, !tbaa !5
  %16229 = load ptr, ptr %428, align 8, !tbaa !9
  %16230 = load ptr, ptr %408, align 8, !tbaa !9
  %16231 = call i32 @s2n_connections_set_io_stuffer_pair(ptr noundef %16229, ptr noundef %16230, ptr noundef %432)
  %16232 = getelementptr inbounds %struct.s2n_result, ptr %435, i32 0, i32 0
  store i32 %16231, ptr %16232, align 4
  %16233 = getelementptr inbounds %struct.s2n_result, ptr %435, i32 0, i32 0
  %16234 = load i32, ptr %16233, align 4
  %16235 = call zeroext i1 @s2n_result_is_ok(i32 %16234)
  br i1 %16235, label %16289, label %16236

16236:                                            ; preds = %16226
  br label %16237

16237:                                            ; preds = %16236
  br label %16238

16238:                                            ; preds = %16237
  call void @llvm.lifetime.start.p0(i64 4, ptr %436) #11
  %16239 = call ptr @__errno_location() #12
  %16240 = load i32, ptr %16239, align 4, !tbaa !5
  store i32 %16240, ptr %436, align 4, !tbaa !5
  %16241 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16242 = call i32 @s2n_print_stacktrace(ptr noundef %16241)
  %16243 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16244 = trunc i8 %16243 to i1
  br i1 %16244, label %16245, label %16267

16245:                                            ; preds = %16238
  %16246 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16247 = call i32 @fileno(ptr noundef %16246) #11
  %16248 = call i32 @isatty(i32 noundef %16247) #11
  %16249 = icmp ne i32 %16248, 0
  br i1 %16249, label %16250, label %16267

16250:                                            ; preds = %16245
  %16251 = load i32, ptr %436, align 4, !tbaa !5
  %16252 = call ptr @__errno_location() #12
  store i32 %16251, ptr %16252, align 4, !tbaa !5
  %16253 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16254 = load i32, ptr @test_count, align 4, !tbaa !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(i32 noundef %16256, ptr noundef @.str.4)
  %16258 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16259 = load i32, ptr %16258, align 4, !tbaa !5
  %16260 = call ptr @s2n_strerror_debug(i32 noundef %16259, ptr noundef @.str.4)
  %16261 = call ptr @__errno_location() #12
  %16262 = load i32, ptr %16261, align 4, !tbaa !5
  %16263 = call ptr @strerror(i32 noundef %16262) #11
  %16264 = call ptr @__errno_location() #12
  %16265 = load i32, ptr %16264, align 4, !tbaa !5
  %16266 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16253, ptr noundef @.str.2, i32 noundef %16254, ptr noundef @.str.47, ptr noundef @.str.1, i32 noundef 694, ptr noundef %16257, ptr noundef %16260, ptr noundef %16263, i32 noundef %16265) #11
  br label %16284

16267:                                            ; preds = %16245, %16238
  %16268 = load i32, ptr %436, align 4, !tbaa !5
  %16269 = call ptr @__errno_location() #12
  store i32 %16268, ptr %16269, align 4, !tbaa !5
  %16270 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16271 = load i32, ptr @test_count, align 4, !tbaa !5
  %16272 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16273 = load i32, ptr %16272, align 4, !tbaa !5
  %16274 = call ptr @s2n_strerror(i32 noundef %16273, ptr noundef @.str.4)
  %16275 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16276 = load i32, ptr %16275, align 4, !tbaa !5
  %16277 = call ptr @s2n_strerror_debug(i32 noundef %16276, ptr noundef @.str.4)
  %16278 = call ptr @__errno_location() #12
  %16279 = load i32, ptr %16278, align 4, !tbaa !5
  %16280 = call ptr @strerror(i32 noundef %16279) #11
  %16281 = call ptr @__errno_location() #12
  %16282 = load i32, ptr %16281, align 4, !tbaa !5
  %16283 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16270, ptr noundef @.str.5, i32 noundef %16271, ptr noundef @.str.47, ptr noundef @.str.1, i32 noundef 694, ptr noundef %16274, ptr noundef %16277, ptr noundef %16280, i32 noundef %16282) #11
  br label %16284

16284:                                            ; preds = %16267, %16250
  call void @llvm.lifetime.end.p0(i64 4, ptr %436) #11
  br label %16285

16285:                                            ; preds = %16284
  br label %16286

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

16287:                                            ; No predecessors!
  br label %16288

16288:                                            ; preds = %16287
  br label %16289

16289:                                            ; preds = %16288, %16226
  br label %16290

16290:                                            ; preds = %16289
  br label %16291

16291:                                            ; preds = %16290
  br label %16292

16292:                                            ; preds = %16291
  %16293 = load i32, ptr @test_count, align 4, !tbaa !5
  %16294 = add nsw i32 %16293, 1
  store i32 %16294, ptr @test_count, align 4, !tbaa !5
  %16295 = load ptr, ptr %408, align 8, !tbaa !9
  %16296 = call i32 @s2n_connection_add_new_tickets_to_send(ptr noundef %16295, i8 noundef zeroext 1)
  %16297 = icmp eq i32 %16296, -1
  br i1 %16297, label %16298, label %16351

16298:                                            ; preds = %16292
  br label %16299

16299:                                            ; preds = %16298
  br label %16300

16300:                                            ; preds = %16299
  call void @llvm.lifetime.start.p0(i64 4, ptr %437) #11
  %16301 = call ptr @__errno_location() #12
  %16302 = load i32, ptr %16301, align 4, !tbaa !5
  store i32 %16302, ptr %437, align 4, !tbaa !5
  %16303 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16304 = call i32 @s2n_print_stacktrace(ptr noundef %16303)
  %16305 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16306 = trunc i8 %16305 to i1
  br i1 %16306, label %16307, label %16329

16307:                                            ; preds = %16300
  %16308 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16309 = call i32 @fileno(ptr noundef %16308) #11
  %16310 = call i32 @isatty(i32 noundef %16309) #11
  %16311 = icmp ne i32 %16310, 0
  br i1 %16311, label %16312, label %16329

16312:                                            ; preds = %16307
  %16313 = load i32, ptr %437, align 4, !tbaa !5
  %16314 = call ptr @__errno_location() #12
  store i32 %16313, ptr %16314, align 4, !tbaa !5
  %16315 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16316 = load i32, ptr @test_count, align 4, !tbaa !5
  %16317 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16318 = load i32, ptr %16317, align 4, !tbaa !5
  %16319 = call ptr @s2n_strerror(i32 noundef %16318, ptr noundef @.str.4)
  %16320 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16321 = load i32, ptr %16320, align 4, !tbaa !5
  %16322 = call ptr @s2n_strerror_debug(i32 noundef %16321, ptr noundef @.str.4)
  %16323 = call ptr @__errno_location() #12
  %16324 = load i32, ptr %16323, align 4, !tbaa !5
  %16325 = call ptr @strerror(i32 noundef %16324) #11
  %16326 = call ptr @__errno_location() #12
  %16327 = load i32, ptr %16326, align 4, !tbaa !5
  %16328 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16315, ptr noundef @.str.2, i32 noundef %16316, ptr noundef @.str.132, ptr noundef @.str.1, i32 noundef 696, ptr noundef %16319, ptr noundef %16322, ptr noundef %16325, i32 noundef %16327) #11
  br label %16346

16329:                                            ; preds = %16307, %16300
  %16330 = load i32, ptr %437, align 4, !tbaa !5
  %16331 = call ptr @__errno_location() #12
  store i32 %16330, ptr %16331, align 4, !tbaa !5
  %16332 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16333 = load i32, ptr @test_count, align 4, !tbaa !5
  %16334 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16335 = load i32, ptr %16334, align 4, !tbaa !5
  %16336 = call ptr @s2n_strerror(i32 noundef %16335, ptr noundef @.str.4)
  %16337 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16338 = load i32, ptr %16337, align 4, !tbaa !5
  %16339 = call ptr @s2n_strerror_debug(i32 noundef %16338, ptr noundef @.str.4)
  %16340 = call ptr @__errno_location() #12
  %16341 = load i32, ptr %16340, align 4, !tbaa !5
  %16342 = call ptr @strerror(i32 noundef %16341) #11
  %16343 = call ptr @__errno_location() #12
  %16344 = load i32, ptr %16343, align 4, !tbaa !5
  %16345 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16332, ptr noundef @.str.5, i32 noundef %16333, ptr noundef @.str.132, ptr noundef @.str.1, i32 noundef 696, ptr noundef %16336, ptr noundef %16339, ptr noundef %16342, i32 noundef %16344) #11
  br label %16346

16346:                                            ; preds = %16329, %16312
  call void @llvm.lifetime.end.p0(i64 4, ptr %437) #11
  br label %16347

16347:                                            ; preds = %16346
  br label %16348

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

16349:                                            ; No predecessors!
  br label %16350

16350:                                            ; preds = %16349
  br label %16351

16351:                                            ; preds = %16350, %16292
  br label %16352

16352:                                            ; preds = %16351
  br label %16353

16353:                                            ; preds = %16352
  br label %16354

16354:                                            ; preds = %16353
  %16355 = load i32, ptr @test_count, align 4, !tbaa !5
  %16356 = add nsw i32 %16355, 1
  store i32 %16356, ptr @test_count, align 4, !tbaa !5
  %16357 = load ptr, ptr %408, align 8, !tbaa !9
  %16358 = load ptr, ptr %428, align 8, !tbaa !9
  %16359 = call i32 @s2n_send_and_recv_test(ptr noundef %16357, ptr noundef %16358)
  %16360 = getelementptr inbounds %struct.s2n_result, ptr %438, i32 0, i32 0
  store i32 %16359, ptr %16360, align 4
  %16361 = getelementptr inbounds %struct.s2n_result, ptr %438, i32 0, i32 0
  %16362 = load i32, ptr %16361, align 4
  %16363 = call zeroext i1 @s2n_result_is_ok(i32 %16362)
  br i1 %16363, label %16417, label %16364

16364:                                            ; preds = %16354
  br label %16365

16365:                                            ; preds = %16364
  br label %16366

16366:                                            ; preds = %16365
  call void @llvm.lifetime.start.p0(i64 4, ptr %439) #11
  %16367 = call ptr @__errno_location() #12
  %16368 = load i32, ptr %16367, align 4, !tbaa !5
  store i32 %16368, ptr %439, align 4, !tbaa !5
  %16369 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16370 = call i32 @s2n_print_stacktrace(ptr noundef %16369)
  %16371 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16372 = trunc i8 %16371 to i1
  br i1 %16372, label %16373, label %16395

16373:                                            ; preds = %16366
  %16374 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16375 = call i32 @fileno(ptr noundef %16374) #11
  %16376 = call i32 @isatty(i32 noundef %16375) #11
  %16377 = icmp ne i32 %16376, 0
  br i1 %16377, label %16378, label %16395

16378:                                            ; preds = %16373
  %16379 = load i32, ptr %439, align 4, !tbaa !5
  %16380 = call ptr @__errno_location() #12
  store i32 %16379, ptr %16380, align 4, !tbaa !5
  %16381 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16382 = load i32, ptr @test_count, align 4, !tbaa !5
  %16383 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16384 = load i32, ptr %16383, align 4, !tbaa !5
  %16385 = call ptr @s2n_strerror(i32 noundef %16384, ptr noundef @.str.4)
  %16386 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16387 = load i32, ptr %16386, align 4, !tbaa !5
  %16388 = call ptr @s2n_strerror_debug(i32 noundef %16387, ptr noundef @.str.4)
  %16389 = call ptr @__errno_location() #12
  %16390 = load i32, ptr %16389, align 4, !tbaa !5
  %16391 = call ptr @strerror(i32 noundef %16390) #11
  %16392 = call ptr @__errno_location() #12
  %16393 = load i32, ptr %16392, align 4, !tbaa !5
  %16394 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16381, ptr noundef @.str.2, i32 noundef %16382, ptr noundef @.str.103, ptr noundef @.str.1, i32 noundef 697, ptr noundef %16385, ptr noundef %16388, ptr noundef %16391, i32 noundef %16393) #11
  br label %16412

16395:                                            ; preds = %16373, %16366
  %16396 = load i32, ptr %439, align 4, !tbaa !5
  %16397 = call ptr @__errno_location() #12
  store i32 %16396, ptr %16397, align 4, !tbaa !5
  %16398 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16399 = load i32, ptr @test_count, align 4, !tbaa !5
  %16400 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16401 = load i32, ptr %16400, align 4, !tbaa !5
  %16402 = call ptr @s2n_strerror(i32 noundef %16401, ptr noundef @.str.4)
  %16403 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16404 = load i32, ptr %16403, align 4, !tbaa !5
  %16405 = call ptr @s2n_strerror_debug(i32 noundef %16404, ptr noundef @.str.4)
  %16406 = call ptr @__errno_location() #12
  %16407 = load i32, ptr %16406, align 4, !tbaa !5
  %16408 = call ptr @strerror(i32 noundef %16407) #11
  %16409 = call ptr @__errno_location() #12
  %16410 = load i32, ptr %16409, align 4, !tbaa !5
  %16411 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16398, ptr noundef @.str.5, i32 noundef %16399, ptr noundef @.str.103, ptr noundef @.str.1, i32 noundef 697, ptr noundef %16402, ptr noundef %16405, ptr noundef %16408, i32 noundef %16410) #11
  br label %16412

16412:                                            ; preds = %16395, %16378
  call void @llvm.lifetime.end.p0(i64 4, ptr %439) #11
  br label %16413

16413:                                            ; preds = %16412
  br label %16414

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

16415:                                            ; No predecessors!
  br label %16416

16416:                                            ; preds = %16415
  br label %16417

16417:                                            ; preds = %16416, %16354
  br label %16418

16418:                                            ; preds = %16417
  br label %16419

16419:                                            ; preds = %16418
  br label %16420

16420:                                            ; preds = %16419
  %16421 = load i32, ptr @test_count, align 4, !tbaa !5
  %16422 = add nsw i32 %16421, 1
  store i32 %16422, ptr @test_count, align 4, !tbaa !5
  %16423 = load ptr, ptr %428, align 8, !tbaa !9
  %16424 = call i32 @s2n_ticket_pickup(ptr noundef %16423, ptr noundef %407)
  %16425 = getelementptr inbounds %struct.s2n_result, ptr %440, i32 0, i32 0
  store i32 %16424, ptr %16425, align 4
  %16426 = getelementptr inbounds %struct.s2n_result, ptr %440, i32 0, i32 0
  %16427 = load i32, ptr %16426, align 4
  %16428 = call zeroext i1 @s2n_result_is_ok(i32 %16427)
  br i1 %16428, label %16482, label %16429

16429:                                            ; preds = %16420
  br label %16430

16430:                                            ; preds = %16429
  br label %16431

16431:                                            ; preds = %16430
  call void @llvm.lifetime.start.p0(i64 4, ptr %441) #11
  %16432 = call ptr @__errno_location() #12
  %16433 = load i32, ptr %16432, align 4, !tbaa !5
  store i32 %16433, ptr %441, align 4, !tbaa !5
  %16434 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16435 = call i32 @s2n_print_stacktrace(ptr noundef %16434)
  %16436 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16437 = trunc i8 %16436 to i1
  br i1 %16437, label %16438, label %16460

16438:                                            ; preds = %16431
  %16439 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16440 = call i32 @fileno(ptr noundef %16439) #11
  %16441 = call i32 @isatty(i32 noundef %16440) #11
  %16442 = icmp ne i32 %16441, 0
  br i1 %16442, label %16443, label %16460

16443:                                            ; preds = %16438
  %16444 = load i32, ptr %441, align 4, !tbaa !5
  %16445 = call ptr @__errno_location() #12
  store i32 %16444, ptr %16445, align 4, !tbaa !5
  %16446 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16447 = load i32, ptr @test_count, align 4, !tbaa !5
  %16448 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16449 = load i32, ptr %16448, align 4, !tbaa !5
  %16450 = call ptr @s2n_strerror(i32 noundef %16449, ptr noundef @.str.4)
  %16451 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16452 = load i32, ptr %16451, align 4, !tbaa !5
  %16453 = call ptr @s2n_strerror_debug(i32 noundef %16452, ptr noundef @.str.4)
  %16454 = call ptr @__errno_location() #12
  %16455 = load i32, ptr %16454, align 4, !tbaa !5
  %16456 = call ptr @strerror(i32 noundef %16455) #11
  %16457 = call ptr @__errno_location() #12
  %16458 = load i32, ptr %16457, align 4, !tbaa !5
  %16459 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16446, ptr noundef @.str.2, i32 noundef %16447, ptr noundef @.str.133, ptr noundef @.str.1, i32 noundef 699, ptr noundef %16450, ptr noundef %16453, ptr noundef %16456, i32 noundef %16458) #11
  br label %16477

16460:                                            ; preds = %16438, %16431
  %16461 = load i32, ptr %441, align 4, !tbaa !5
  %16462 = call ptr @__errno_location() #12
  store i32 %16461, ptr %16462, align 4, !tbaa !5
  %16463 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16464 = load i32, ptr @test_count, align 4, !tbaa !5
  %16465 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16466 = load i32, ptr %16465, align 4, !tbaa !5
  %16467 = call ptr @s2n_strerror(i32 noundef %16466, ptr noundef @.str.4)
  %16468 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16469 = load i32, ptr %16468, align 4, !tbaa !5
  %16470 = call ptr @s2n_strerror_debug(i32 noundef %16469, ptr noundef @.str.4)
  %16471 = call ptr @__errno_location() #12
  %16472 = load i32, ptr %16471, align 4, !tbaa !5
  %16473 = call ptr @strerror(i32 noundef %16472) #11
  %16474 = call ptr @__errno_location() #12
  %16475 = load i32, ptr %16474, align 4, !tbaa !5
  %16476 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16463, ptr noundef @.str.5, i32 noundef %16464, ptr noundef @.str.133, ptr noundef @.str.1, i32 noundef 699, ptr noundef %16467, ptr noundef %16470, ptr noundef %16473, i32 noundef %16475) #11
  br label %16477

16477:                                            ; preds = %16460, %16443
  call void @llvm.lifetime.end.p0(i64 4, ptr %441) #11
  br label %16478

16478:                                            ; preds = %16477
  br label %16479

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

16480:                                            ; No predecessors!
  br label %16481

16481:                                            ; preds = %16480
  br label %16482

16482:                                            ; preds = %16481, %16420
  br label %16483

16483:                                            ; preds = %16482
  br label %16484

16484:                                            ; preds = %16483
  %16485 = call i32 @s2n_io_stuffer_pair_free(ptr noundef %432)
  %16486 = getelementptr inbounds %struct.s2n_result, ptr %442, i32 0, i32 0
  store i32 %16485, ptr %16486, align 4
  call void @llvm.lifetime.end.p0(i64 80, ptr %432) #11
  %16487 = call i32 @s2n_connection_ptr_free(ptr noundef %428)
  %16488 = getelementptr inbounds %struct.s2n_result, ptr %443, i32 0, i32 0
  store i32 %16487, ptr %16488, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %428) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %444) #11
  %16489 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %16489, ptr %444, align 8, !tbaa !9
  br label %16490

16490:                                            ; preds = %16484
  %16491 = load i32, ptr @test_count, align 4, !tbaa !5
  %16492 = add nsw i32 %16491, 1
  store i32 %16492, ptr @test_count, align 4, !tbaa !5
  %16493 = load ptr, ptr %444, align 8, !tbaa !9
  %16494 = icmp eq ptr %16493, null
  br i1 %16494, label %16495, label %16548

16495:                                            ; preds = %16490
  br label %16496

16496:                                            ; preds = %16495
  br label %16497

16497:                                            ; preds = %16496
  call void @llvm.lifetime.start.p0(i64 4, ptr %445) #11
  %16498 = call ptr @__errno_location() #12
  %16499 = load i32, ptr %16498, align 4, !tbaa !5
  store i32 %16499, ptr %445, align 4, !tbaa !5
  %16500 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16501 = call i32 @s2n_print_stacktrace(ptr noundef %16500)
  %16502 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16503 = trunc i8 %16502 to i1
  br i1 %16503, label %16504, label %16526

16504:                                            ; preds = %16497
  %16505 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16506 = call i32 @fileno(ptr noundef %16505) #11
  %16507 = call i32 @isatty(i32 noundef %16506) #11
  %16508 = icmp ne i32 %16507, 0
  br i1 %16508, label %16509, label %16526

16509:                                            ; preds = %16504
  %16510 = load i32, ptr %445, align 4, !tbaa !5
  %16511 = call ptr @__errno_location() #12
  store i32 %16510, ptr %16511, align 4, !tbaa !5
  %16512 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16513 = load i32, ptr @test_count, align 4, !tbaa !5
  %16514 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16515 = load i32, ptr %16514, align 4, !tbaa !5
  %16516 = call ptr @s2n_strerror(i32 noundef %16515, ptr noundef @.str.4)
  %16517 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16518 = load i32, ptr %16517, align 4, !tbaa !5
  %16519 = call ptr @s2n_strerror_debug(i32 noundef %16518, ptr noundef @.str.4)
  %16520 = call ptr @__errno_location() #12
  %16521 = load i32, ptr %16520, align 4, !tbaa !5
  %16522 = call ptr @strerror(i32 noundef %16521) #11
  %16523 = call ptr @__errno_location() #12
  %16524 = load i32, ptr %16523, align 4, !tbaa !5
  %16525 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16512, ptr noundef @.str.2, i32 noundef %16513, ptr noundef @.str.42, ptr noundef @.str.1, i32 noundef 706, ptr noundef %16516, ptr noundef %16519, ptr noundef %16522, i32 noundef %16524) #11
  br label %16543

16526:                                            ; preds = %16504, %16497
  %16527 = load i32, ptr %445, align 4, !tbaa !5
  %16528 = call ptr @__errno_location() #12
  store i32 %16527, ptr %16528, align 4, !tbaa !5
  %16529 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16530 = load i32, ptr @test_count, align 4, !tbaa !5
  %16531 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16532 = load i32, ptr %16531, align 4, !tbaa !5
  %16533 = call ptr @s2n_strerror(i32 noundef %16532, ptr noundef @.str.4)
  %16534 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16535 = load i32, ptr %16534, align 4, !tbaa !5
  %16536 = call ptr @s2n_strerror_debug(i32 noundef %16535, ptr noundef @.str.4)
  %16537 = call ptr @__errno_location() #12
  %16538 = load i32, ptr %16537, align 4, !tbaa !5
  %16539 = call ptr @strerror(i32 noundef %16538) #11
  %16540 = call ptr @__errno_location() #12
  %16541 = load i32, ptr %16540, align 4, !tbaa !5
  %16542 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16529, ptr noundef @.str.5, i32 noundef %16530, ptr noundef @.str.42, ptr noundef @.str.1, i32 noundef 706, ptr noundef %16533, ptr noundef %16536, ptr noundef %16539, i32 noundef %16541) #11
  br label %16543

16543:                                            ; preds = %16526, %16509
  call void @llvm.lifetime.end.p0(i64 4, ptr %445) #11
  br label %16544

16544:                                            ; preds = %16543
  br label %16545

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

16546:                                            ; No predecessors!
  br label %16547

16547:                                            ; preds = %16546
  br label %16548

16548:                                            ; preds = %16547, %16490
  br label %16549

16549:                                            ; preds = %16548
  br label %16550

16550:                                            ; preds = %16549
  br label %16551

16551:                                            ; preds = %16550
  %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 ptr, ptr %444, align 8, !tbaa !9
  %16555 = load ptr, ptr %398, align 8, !tbaa !9
  %16556 = call i32 @s2n_connection_set_config(ptr noundef %16554, ptr noundef %16555)
  %16557 = icmp eq i32 %16556, -1
  br i1 %16557, label %16558, label %16611

16558:                                            ; preds = %16551
  br label %16559

16559:                                            ; preds = %16558
  br label %16560

16560:                                            ; preds = %16559
  call void @llvm.lifetime.start.p0(i64 4, ptr %446) #11
  %16561 = call ptr @__errno_location() #12
  %16562 = load i32, ptr %16561, align 4, !tbaa !5
  store i32 %16562, ptr %446, align 4, !tbaa !5
  %16563 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16564 = call i32 @s2n_print_stacktrace(ptr noundef %16563)
  %16565 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16566 = trunc i8 %16565 to i1
  br i1 %16566, label %16567, label %16589

16567:                                            ; preds = %16560
  %16568 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16569 = call i32 @fileno(ptr noundef %16568) #11
  %16570 = call i32 @isatty(i32 noundef %16569) #11
  %16571 = icmp ne i32 %16570, 0
  br i1 %16571, label %16572, label %16589

16572:                                            ; preds = %16567
  %16573 = load i32, ptr %446, align 4, !tbaa !5
  %16574 = call ptr @__errno_location() #12
  store i32 %16573, ptr %16574, align 4, !tbaa !5
  %16575 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16576 = load i32, ptr @test_count, align 4, !tbaa !5
  %16577 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16578 = load i32, ptr %16577, align 4, !tbaa !5
  %16579 = call ptr @s2n_strerror(i32 noundef %16578, ptr noundef @.str.4)
  %16580 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16581 = load i32, ptr %16580, align 4, !tbaa !5
  %16582 = call ptr @s2n_strerror_debug(i32 noundef %16581, ptr noundef @.str.4)
  %16583 = call ptr @__errno_location() #12
  %16584 = load i32, ptr %16583, align 4, !tbaa !5
  %16585 = call ptr @strerror(i32 noundef %16584) #11
  %16586 = call ptr @__errno_location() #12
  %16587 = load i32, ptr %16586, align 4, !tbaa !5
  %16588 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16575, ptr noundef @.str.2, i32 noundef %16576, ptr noundef @.str.123, ptr noundef @.str.1, i32 noundef 707, ptr noundef %16579, ptr noundef %16582, ptr noundef %16585, i32 noundef %16587) #11
  br label %16606

16589:                                            ; preds = %16567, %16560
  %16590 = load i32, ptr %446, align 4, !tbaa !5
  %16591 = call ptr @__errno_location() #12
  store i32 %16590, ptr %16591, align 4, !tbaa !5
  %16592 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16593 = load i32, ptr @test_count, align 4, !tbaa !5
  %16594 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16595 = load i32, ptr %16594, align 4, !tbaa !5
  %16596 = call ptr @s2n_strerror(i32 noundef %16595, ptr noundef @.str.4)
  %16597 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16598 = load i32, ptr %16597, align 4, !tbaa !5
  %16599 = call ptr @s2n_strerror_debug(i32 noundef %16598, ptr noundef @.str.4)
  %16600 = call ptr @__errno_location() #12
  %16601 = load i32, ptr %16600, align 4, !tbaa !5
  %16602 = call ptr @strerror(i32 noundef %16601) #11
  %16603 = call ptr @__errno_location() #12
  %16604 = load i32, ptr %16603, align 4, !tbaa !5
  %16605 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16592, ptr noundef @.str.5, i32 noundef %16593, ptr noundef @.str.123, ptr noundef @.str.1, i32 noundef 707, ptr noundef %16596, ptr noundef %16599, ptr noundef %16602, i32 noundef %16604) #11
  br label %16606

16606:                                            ; preds = %16589, %16572
  call void @llvm.lifetime.end.p0(i64 4, ptr %446) #11
  br label %16607

16607:                                            ; preds = %16606
  br label %16608

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

16609:                                            ; No predecessors!
  br label %16610

16610:                                            ; preds = %16609
  br label %16611

16611:                                            ; preds = %16610, %16551
  br label %16612

16612:                                            ; preds = %16611
  br label %16613

16613:                                            ; preds = %16612
  br label %16614

16614:                                            ; preds = %16613
  %16615 = load i32, ptr @test_count, align 4, !tbaa !5
  %16616 = add nsw i32 %16615, 1
  store i32 %16616, ptr @test_count, align 4, !tbaa !5
  %16617 = load ptr, ptr %444, align 8, !tbaa !9
  %16618 = getelementptr inbounds %struct.s2n_blob, ptr %406, i32 0, i32 0
  %16619 = load ptr, ptr %16618, align 8, !tbaa !64
  %16620 = getelementptr inbounds %struct.s2n_blob, ptr %406, i32 0, i32 1
  %16621 = load i32, ptr %16620, align 8, !tbaa !65
  %16622 = zext i32 %16621 to i64
  %16623 = call i32 @s2n_connection_set_session(ptr noundef %16617, ptr noundef %16619, i64 noundef %16622)
  %16624 = icmp eq i32 %16623, -1
  br i1 %16624, label %16625, label %16678

16625:                                            ; preds = %16614
  br label %16626

16626:                                            ; preds = %16625
  br label %16627

16627:                                            ; preds = %16626
  call void @llvm.lifetime.start.p0(i64 4, ptr %447) #11
  %16628 = call ptr @__errno_location() #12
  %16629 = load i32, ptr %16628, align 4, !tbaa !5
  store i32 %16629, ptr %447, align 4, !tbaa !5
  %16630 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16631 = call i32 @s2n_print_stacktrace(ptr noundef %16630)
  %16632 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16633 = trunc i8 %16632 to i1
  br i1 %16633, label %16634, label %16656

16634:                                            ; preds = %16627
  %16635 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16636 = call i32 @fileno(ptr noundef %16635) #11
  %16637 = call i32 @isatty(i32 noundef %16636) #11
  %16638 = icmp ne i32 %16637, 0
  br i1 %16638, label %16639, label %16656

16639:                                            ; preds = %16634
  %16640 = load i32, ptr %447, align 4, !tbaa !5
  %16641 = call ptr @__errno_location() #12
  store i32 %16640, ptr %16641, align 4, !tbaa !5
  %16642 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16643 = load i32, ptr @test_count, align 4, !tbaa !5
  %16644 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16645 = load i32, ptr %16644, align 4, !tbaa !5
  %16646 = call ptr @s2n_strerror(i32 noundef %16645, ptr noundef @.str.4)
  %16647 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16648 = load i32, ptr %16647, align 4, !tbaa !5
  %16649 = call ptr @s2n_strerror_debug(i32 noundef %16648, ptr noundef @.str.4)
  %16650 = call ptr @__errno_location() #12
  %16651 = load i32, ptr %16650, align 4, !tbaa !5
  %16652 = call ptr @strerror(i32 noundef %16651) #11
  %16653 = call ptr @__errno_location() #12
  %16654 = load i32, ptr %16653, align 4, !tbaa !5
  %16655 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16642, ptr noundef @.str.2, i32 noundef %16643, ptr noundef @.str.134, ptr noundef @.str.1, i32 noundef 708, ptr noundef %16646, ptr noundef %16649, ptr noundef %16652, i32 noundef %16654) #11
  br label %16673

16656:                                            ; preds = %16634, %16627
  %16657 = load i32, ptr %447, align 4, !tbaa !5
  %16658 = call ptr @__errno_location() #12
  store i32 %16657, ptr %16658, align 4, !tbaa !5
  %16659 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16660 = load i32, ptr @test_count, align 4, !tbaa !5
  %16661 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16662 = load i32, ptr %16661, align 4, !tbaa !5
  %16663 = call ptr @s2n_strerror(i32 noundef %16662, ptr noundef @.str.4)
  %16664 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16665 = load i32, ptr %16664, align 4, !tbaa !5
  %16666 = call ptr @s2n_strerror_debug(i32 noundef %16665, ptr noundef @.str.4)
  %16667 = call ptr @__errno_location() #12
  %16668 = load i32, ptr %16667, align 4, !tbaa !5
  %16669 = call ptr @strerror(i32 noundef %16668) #11
  %16670 = call ptr @__errno_location() #12
  %16671 = load i32, ptr %16670, align 4, !tbaa !5
  %16672 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16659, ptr noundef @.str.5, i32 noundef %16660, ptr noundef @.str.134, ptr noundef @.str.1, i32 noundef 708, ptr noundef %16663, ptr noundef %16666, ptr noundef %16669, i32 noundef %16671) #11
  br label %16673

16673:                                            ; preds = %16656, %16639
  call void @llvm.lifetime.end.p0(i64 4, ptr %447) #11
  br label %16674

16674:                                            ; preds = %16673
  br label %16675

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

16676:                                            ; No predecessors!
  br label %16677

16677:                                            ; preds = %16676
  br label %16678

16678:                                            ; preds = %16677, %16614
  br label %16679

16679:                                            ; preds = %16678
  br label %16680

16680:                                            ; preds = %16679
  br label %16681

16681:                                            ; preds = %16680
  %16682 = load i32, ptr @test_count, align 4, !tbaa !5
  %16683 = add nsw i32 %16682, 1
  store i32 %16683, ptr @test_count, align 4, !tbaa !5
  %16684 = load ptr, ptr %408, align 8, !tbaa !9
  %16685 = call i32 @s2n_connection_wipe(ptr noundef %16684)
  %16686 = icmp eq i32 %16685, -1
  br i1 %16686, label %16687, label %16740

16687:                                            ; preds = %16681
  br label %16688

16688:                                            ; preds = %16687
  br label %16689

16689:                                            ; preds = %16688
  call void @llvm.lifetime.start.p0(i64 4, ptr %448) #11
  %16690 = call ptr @__errno_location() #12
  %16691 = load i32, ptr %16690, align 4, !tbaa !5
  store i32 %16691, ptr %448, align 4, !tbaa !5
  %16692 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16693 = call i32 @s2n_print_stacktrace(ptr noundef %16692)
  %16694 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16695 = trunc i8 %16694 to i1
  br i1 %16695, label %16696, label %16718

16696:                                            ; preds = %16689
  %16697 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16698 = call i32 @fileno(ptr noundef %16697) #11
  %16699 = call i32 @isatty(i32 noundef %16698) #11
  %16700 = icmp ne i32 %16699, 0
  br i1 %16700, label %16701, label %16718

16701:                                            ; preds = %16696
  %16702 = load i32, ptr %448, align 4, !tbaa !5
  %16703 = call ptr @__errno_location() #12
  store i32 %16702, ptr %16703, align 4, !tbaa !5
  %16704 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16705 = load i32, ptr @test_count, align 4, !tbaa !5
  %16706 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16707 = load i32, ptr %16706, align 4, !tbaa !5
  %16708 = call ptr @s2n_strerror(i32 noundef %16707, ptr noundef @.str.4)
  %16709 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16710 = load i32, ptr %16709, align 4, !tbaa !5
  %16711 = call ptr @s2n_strerror_debug(i32 noundef %16710, ptr noundef @.str.4)
  %16712 = call ptr @__errno_location() #12
  %16713 = load i32, ptr %16712, align 4, !tbaa !5
  %16714 = call ptr @strerror(i32 noundef %16713) #11
  %16715 = call ptr @__errno_location() #12
  %16716 = load i32, ptr %16715, align 4, !tbaa !5
  %16717 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16704, ptr noundef @.str.2, i32 noundef %16705, ptr noundef @.str.135, ptr noundef @.str.1, i32 noundef 709, ptr noundef %16708, ptr noundef %16711, ptr noundef %16714, i32 noundef %16716) #11
  br label %16735

16718:                                            ; preds = %16696, %16689
  %16719 = load i32, ptr %448, align 4, !tbaa !5
  %16720 = call ptr @__errno_location() #12
  store i32 %16719, ptr %16720, align 4, !tbaa !5
  %16721 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16722 = load i32, ptr @test_count, align 4, !tbaa !5
  %16723 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16724 = load i32, ptr %16723, align 4, !tbaa !5
  %16725 = call ptr @s2n_strerror(i32 noundef %16724, ptr noundef @.str.4)
  %16726 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16727 = load i32, ptr %16726, align 4, !tbaa !5
  %16728 = call ptr @s2n_strerror_debug(i32 noundef %16727, ptr noundef @.str.4)
  %16729 = call ptr @__errno_location() #12
  %16730 = load i32, ptr %16729, align 4, !tbaa !5
  %16731 = call ptr @strerror(i32 noundef %16730) #11
  %16732 = call ptr @__errno_location() #12
  %16733 = load i32, ptr %16732, align 4, !tbaa !5
  %16734 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16721, ptr noundef @.str.5, i32 noundef %16722, ptr noundef @.str.135, ptr noundef @.str.1, i32 noundef 709, ptr noundef %16725, ptr noundef %16728, ptr noundef %16731, i32 noundef %16733) #11
  br label %16735

16735:                                            ; preds = %16718, %16701
  call void @llvm.lifetime.end.p0(i64 4, ptr %448) #11
  br label %16736

16736:                                            ; preds = %16735
  br label %16737

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

16738:                                            ; No predecessors!
  br label %16739

16739:                                            ; preds = %16738
  br label %16740

16740:                                            ; preds = %16739, %16681
  br label %16741

16741:                                            ; preds = %16740
  br label %16742

16742:                                            ; preds = %16741
  call void @llvm.lifetime.start.p0(i64 80, ptr %449) #11
  call void @llvm.memset.p0.i64(ptr align 8 %449, i8 0, i64 80, i1 false)
  br label %16743

16743:                                            ; preds = %16742
  %16744 = load i32, ptr @test_count, align 4, !tbaa !5
  %16745 = add nsw i32 %16744, 1
  store i32 %16745, ptr @test_count, align 4, !tbaa !5
  %16746 = call i32 @s2n_io_stuffer_pair_init(ptr noundef %449)
  %16747 = getelementptr inbounds %struct.s2n_result, ptr %450, i32 0, i32 0
  store i32 %16746, ptr %16747, align 4
  %16748 = getelementptr inbounds %struct.s2n_result, ptr %450, i32 0, i32 0
  %16749 = load i32, ptr %16748, align 4
  %16750 = call zeroext i1 @s2n_result_is_ok(i32 %16749)
  br i1 %16750, label %16804, label %16751

16751:                                            ; preds = %16743
  br label %16752

16752:                                            ; preds = %16751
  br label %16753

16753:                                            ; preds = %16752
  call void @llvm.lifetime.start.p0(i64 4, ptr %451) #11
  %16754 = call ptr @__errno_location() #12
  %16755 = load i32, ptr %16754, align 4, !tbaa !5
  store i32 %16755, ptr %451, align 4, !tbaa !5
  %16756 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16757 = call i32 @s2n_print_stacktrace(ptr noundef %16756)
  %16758 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16759 = trunc i8 %16758 to i1
  br i1 %16759, label %16760, label %16782

16760:                                            ; preds = %16753
  %16761 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16762 = call i32 @fileno(ptr noundef %16761) #11
  %16763 = call i32 @isatty(i32 noundef %16762) #11
  %16764 = icmp ne i32 %16763, 0
  br i1 %16764, label %16765, label %16782

16765:                                            ; preds = %16760
  %16766 = load i32, ptr %451, align 4, !tbaa !5
  %16767 = call ptr @__errno_location() #12
  store i32 %16766, ptr %16767, align 4, !tbaa !5
  %16768 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16769 = load i32, ptr @test_count, align 4, !tbaa !5
  %16770 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16771 = load i32, ptr %16770, align 4, !tbaa !5
  %16772 = call ptr @s2n_strerror(i32 noundef %16771, ptr noundef @.str.4)
  %16773 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16774 = load i32, ptr %16773, align 4, !tbaa !5
  %16775 = call ptr @s2n_strerror_debug(i32 noundef %16774, ptr noundef @.str.4)
  %16776 = call ptr @__errno_location() #12
  %16777 = load i32, ptr %16776, align 4, !tbaa !5
  %16778 = call ptr @strerror(i32 noundef %16777) #11
  %16779 = call ptr @__errno_location() #12
  %16780 = load i32, ptr %16779, align 4, !tbaa !5
  %16781 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16768, ptr noundef @.str.2, i32 noundef %16769, ptr noundef @.str.46, ptr noundef @.str.1, i32 noundef 712, ptr noundef %16772, ptr noundef %16775, ptr noundef %16778, i32 noundef %16780) #11
  br label %16799

16782:                                            ; preds = %16760, %16753
  %16783 = load i32, ptr %451, align 4, !tbaa !5
  %16784 = call ptr @__errno_location() #12
  store i32 %16783, ptr %16784, align 4, !tbaa !5
  %16785 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16786 = load i32, ptr @test_count, align 4, !tbaa !5
  %16787 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16788 = load i32, ptr %16787, align 4, !tbaa !5
  %16789 = call ptr @s2n_strerror(i32 noundef %16788, ptr noundef @.str.4)
  %16790 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16791 = load i32, ptr %16790, align 4, !tbaa !5
  %16792 = call ptr @s2n_strerror_debug(i32 noundef %16791, ptr noundef @.str.4)
  %16793 = call ptr @__errno_location() #12
  %16794 = load i32, ptr %16793, align 4, !tbaa !5
  %16795 = call ptr @strerror(i32 noundef %16794) #11
  %16796 = call ptr @__errno_location() #12
  %16797 = load i32, ptr %16796, align 4, !tbaa !5
  %16798 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16785, ptr noundef @.str.5, i32 noundef %16786, ptr noundef @.str.46, ptr noundef @.str.1, i32 noundef 712, ptr noundef %16789, ptr noundef %16792, ptr noundef %16795, i32 noundef %16797) #11
  br label %16799

16799:                                            ; preds = %16782, %16765
  call void @llvm.lifetime.end.p0(i64 4, ptr %451) #11
  br label %16800

16800:                                            ; preds = %16799
  br label %16801

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

16802:                                            ; No predecessors!
  br label %16803

16803:                                            ; preds = %16802
  br label %16804

16804:                                            ; preds = %16803, %16743
  br label %16805

16805:                                            ; preds = %16804
  br label %16806

16806:                                            ; preds = %16805
  br label %16807

16807:                                            ; preds = %16806
  %16808 = load i32, ptr @test_count, align 4, !tbaa !5
  %16809 = add nsw i32 %16808, 1
  store i32 %16809, ptr @test_count, align 4, !tbaa !5
  %16810 = load ptr, ptr %444, align 8, !tbaa !9
  %16811 = load ptr, ptr %408, align 8, !tbaa !9
  %16812 = call i32 @s2n_connections_set_io_stuffer_pair(ptr noundef %16810, ptr noundef %16811, ptr noundef %449)
  %16813 = getelementptr inbounds %struct.s2n_result, ptr %452, i32 0, i32 0
  store i32 %16812, ptr %16813, align 4
  %16814 = getelementptr inbounds %struct.s2n_result, ptr %452, i32 0, i32 0
  %16815 = load i32, ptr %16814, align 4
  %16816 = call zeroext i1 @s2n_result_is_ok(i32 %16815)
  br i1 %16816, label %16870, label %16817

16817:                                            ; preds = %16807
  br label %16818

16818:                                            ; preds = %16817
  br label %16819

16819:                                            ; preds = %16818
  call void @llvm.lifetime.start.p0(i64 4, ptr %453) #11
  %16820 = call ptr @__errno_location() #12
  %16821 = load i32, ptr %16820, align 4, !tbaa !5
  store i32 %16821, ptr %453, align 4, !tbaa !5
  %16822 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16823 = call i32 @s2n_print_stacktrace(ptr noundef %16822)
  %16824 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16825 = trunc i8 %16824 to i1
  br i1 %16825, label %16826, label %16848

16826:                                            ; preds = %16819
  %16827 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16828 = call i32 @fileno(ptr noundef %16827) #11
  %16829 = call i32 @isatty(i32 noundef %16828) #11
  %16830 = icmp ne i32 %16829, 0
  br i1 %16830, label %16831, label %16848

16831:                                            ; preds = %16826
  %16832 = load i32, ptr %453, align 4, !tbaa !5
  %16833 = call ptr @__errno_location() #12
  store i32 %16832, ptr %16833, align 4, !tbaa !5
  %16834 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16835 = load i32, ptr @test_count, align 4, !tbaa !5
  %16836 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16837 = load i32, ptr %16836, align 4, !tbaa !5
  %16838 = call ptr @s2n_strerror(i32 noundef %16837, ptr noundef @.str.4)
  %16839 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16840 = load i32, ptr %16839, align 4, !tbaa !5
  %16841 = call ptr @s2n_strerror_debug(i32 noundef %16840, ptr noundef @.str.4)
  %16842 = call ptr @__errno_location() #12
  %16843 = load i32, ptr %16842, align 4, !tbaa !5
  %16844 = call ptr @strerror(i32 noundef %16843) #11
  %16845 = call ptr @__errno_location() #12
  %16846 = load i32, ptr %16845, align 4, !tbaa !5
  %16847 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16834, ptr noundef @.str.2, i32 noundef %16835, ptr noundef @.str.47, ptr noundef @.str.1, i32 noundef 713, ptr noundef %16838, ptr noundef %16841, ptr noundef %16844, i32 noundef %16846) #11
  br label %16865

16848:                                            ; preds = %16826, %16819
  %16849 = load i32, ptr %453, align 4, !tbaa !5
  %16850 = call ptr @__errno_location() #12
  store i32 %16849, ptr %16850, align 4, !tbaa !5
  %16851 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16852 = load i32, ptr @test_count, align 4, !tbaa !5
  %16853 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16854 = load i32, ptr %16853, align 4, !tbaa !5
  %16855 = call ptr @s2n_strerror(i32 noundef %16854, ptr noundef @.str.4)
  %16856 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16857 = load i32, ptr %16856, align 4, !tbaa !5
  %16858 = call ptr @s2n_strerror_debug(i32 noundef %16857, ptr noundef @.str.4)
  %16859 = call ptr @__errno_location() #12
  %16860 = load i32, ptr %16859, align 4, !tbaa !5
  %16861 = call ptr @strerror(i32 noundef %16860) #11
  %16862 = call ptr @__errno_location() #12
  %16863 = load i32, ptr %16862, align 4, !tbaa !5
  %16864 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16851, ptr noundef @.str.5, i32 noundef %16852, ptr noundef @.str.47, ptr noundef @.str.1, i32 noundef 713, ptr noundef %16855, ptr noundef %16858, ptr noundef %16861, i32 noundef %16863) #11
  br label %16865

16865:                                            ; preds = %16848, %16831
  call void @llvm.lifetime.end.p0(i64 4, ptr %453) #11
  br label %16866

16866:                                            ; preds = %16865
  br label %16867

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

16868:                                            ; No predecessors!
  br label %16869

16869:                                            ; preds = %16868
  br label %16870

16870:                                            ; preds = %16869, %16807
  br label %16871

16871:                                            ; preds = %16870
  br label %16872

16872:                                            ; preds = %16871
  br label %16873

16873:                                            ; preds = %16872
  %16874 = load i32, ptr @test_count, align 4, !tbaa !5
  %16875 = add nsw i32 %16874, 1
  store i32 %16875, ptr @test_count, align 4, !tbaa !5
  %16876 = load ptr, ptr %408, align 8, !tbaa !9
  %16877 = load ptr, ptr %444, align 8, !tbaa !9
  %16878 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %16876, ptr noundef %16877)
  %16879 = icmp eq i32 %16878, -1
  br i1 %16879, label %16880, label %16933

16880:                                            ; preds = %16873
  br label %16881

16881:                                            ; preds = %16880
  br label %16882

16882:                                            ; preds = %16881
  call void @llvm.lifetime.start.p0(i64 4, ptr %454) #11
  %16883 = call ptr @__errno_location() #12
  %16884 = load i32, ptr %16883, align 4, !tbaa !5
  store i32 %16884, ptr %454, align 4, !tbaa !5
  %16885 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16886 = call i32 @s2n_print_stacktrace(ptr noundef %16885)
  %16887 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16888 = trunc i8 %16887 to i1
  br i1 %16888, label %16889, label %16911

16889:                                            ; preds = %16882
  %16890 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16891 = call i32 @fileno(ptr noundef %16890) #11
  %16892 = call i32 @isatty(i32 noundef %16891) #11
  %16893 = icmp ne i32 %16892, 0
  br i1 %16893, label %16894, label %16911

16894:                                            ; preds = %16889
  %16895 = load i32, ptr %454, align 4, !tbaa !5
  %16896 = call ptr @__errno_location() #12
  store i32 %16895, ptr %16896, align 4, !tbaa !5
  %16897 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16898 = load i32, ptr @test_count, align 4, !tbaa !5
  %16899 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16900 = load i32, ptr %16899, align 4, !tbaa !5
  %16901 = call ptr @s2n_strerror(i32 noundef %16900, ptr noundef @.str.4)
  %16902 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16903 = load i32, ptr %16902, align 4, !tbaa !5
  %16904 = call ptr @s2n_strerror_debug(i32 noundef %16903, ptr noundef @.str.4)
  %16905 = call ptr @__errno_location() #12
  %16906 = load i32, ptr %16905, align 4, !tbaa !5
  %16907 = call ptr @strerror(i32 noundef %16906) #11
  %16908 = call ptr @__errno_location() #12
  %16909 = load i32, ptr %16908, align 4, !tbaa !5
  %16910 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16897, ptr noundef @.str.2, i32 noundef %16898, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 715, ptr noundef %16901, ptr noundef %16904, ptr noundef %16907, i32 noundef %16909) #11
  br label %16928

16911:                                            ; preds = %16889, %16882
  %16912 = load i32, ptr %454, align 4, !tbaa !5
  %16913 = call ptr @__errno_location() #12
  store i32 %16912, ptr %16913, align 4, !tbaa !5
  %16914 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16915 = load i32, ptr @test_count, align 4, !tbaa !5
  %16916 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16917 = load i32, ptr %16916, align 4, !tbaa !5
  %16918 = call ptr @s2n_strerror(i32 noundef %16917, ptr noundef @.str.4)
  %16919 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16920 = load i32, ptr %16919, align 4, !tbaa !5
  %16921 = call ptr @s2n_strerror_debug(i32 noundef %16920, ptr noundef @.str.4)
  %16922 = call ptr @__errno_location() #12
  %16923 = load i32, ptr %16922, align 4, !tbaa !5
  %16924 = call ptr @strerror(i32 noundef %16923) #11
  %16925 = call ptr @__errno_location() #12
  %16926 = load i32, ptr %16925, align 4, !tbaa !5
  %16927 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16914, ptr noundef @.str.5, i32 noundef %16915, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 715, ptr noundef %16918, ptr noundef %16921, ptr noundef %16924, i32 noundef %16926) #11
  br label %16928

16928:                                            ; preds = %16911, %16894
  call void @llvm.lifetime.end.p0(i64 4, ptr %454) #11
  br label %16929

16929:                                            ; preds = %16928
  br label %16930

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

16931:                                            ; No predecessors!
  br label %16932

16932:                                            ; preds = %16931
  br label %16933

16933:                                            ; preds = %16932, %16873
  br label %16934

16934:                                            ; preds = %16933
  br label %16935

16935:                                            ; preds = %16934
  br label %16936

16936:                                            ; preds = %16935
  %16937 = load i32, ptr @test_count, align 4, !tbaa !5
  %16938 = add nsw i32 %16937, 1
  store i32 %16938, ptr @test_count, align 4, !tbaa !5
  %16939 = load ptr, ptr %444, align 8, !tbaa !9
  %16940 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef %16939, i32 noundef 2)
  br i1 %16940, label %16941, label %16994

16941:                                            ; preds = %16936
  br label %16942

16942:                                            ; preds = %16941
  br label %16943

16943:                                            ; preds = %16942
  call void @llvm.lifetime.start.p0(i64 4, ptr %455) #11
  %16944 = call ptr @__errno_location() #12
  %16945 = load i32, ptr %16944, align 4, !tbaa !5
  store i32 %16945, ptr %455, align 4, !tbaa !5
  %16946 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16947 = call i32 @s2n_print_stacktrace(ptr noundef %16946)
  %16948 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16949 = trunc i8 %16948 to i1
  br i1 %16949, label %16950, label %16972

16950:                                            ; preds = %16943
  %16951 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16952 = call i32 @fileno(ptr noundef %16951) #11
  %16953 = call i32 @isatty(i32 noundef %16952) #11
  %16954 = icmp ne i32 %16953, 0
  br i1 %16954, label %16955, label %16972

16955:                                            ; preds = %16950
  %16956 = load i32, ptr %455, align 4, !tbaa !5
  %16957 = call ptr @__errno_location() #12
  store i32 %16956, ptr %16957, align 4, !tbaa !5
  %16958 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16959 = load i32, ptr @test_count, align 4, !tbaa !5
  %16960 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16961 = load i32, ptr %16960, align 4, !tbaa !5
  %16962 = call ptr @s2n_strerror(i32 noundef %16961, ptr noundef @.str.4)
  %16963 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16964 = load i32, ptr %16963, align 4, !tbaa !5
  %16965 = call ptr @s2n_strerror_debug(i32 noundef %16964, ptr noundef @.str.4)
  %16966 = call ptr @__errno_location() #12
  %16967 = load i32, ptr %16966, align 4, !tbaa !5
  %16968 = call ptr @strerror(i32 noundef %16967) #11
  %16969 = call ptr @__errno_location() #12
  %16970 = load i32, ptr %16969, align 4, !tbaa !5
  %16971 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16958, ptr noundef @.str.2, i32 noundef %16959, ptr noundef @.str.136, ptr noundef @.str.1, i32 noundef 716, ptr noundef %16962, ptr noundef %16965, ptr noundef %16968, i32 noundef %16970) #11
  br label %16989

16972:                                            ; preds = %16950, %16943
  %16973 = load i32, ptr %455, align 4, !tbaa !5
  %16974 = call ptr @__errno_location() #12
  store i32 %16973, ptr %16974, align 4, !tbaa !5
  %16975 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16976 = load i32, ptr @test_count, align 4, !tbaa !5
  %16977 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16978 = load i32, ptr %16977, align 4, !tbaa !5
  %16979 = call ptr @s2n_strerror(i32 noundef %16978, ptr noundef @.str.4)
  %16980 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16981 = load i32, ptr %16980, align 4, !tbaa !5
  %16982 = call ptr @s2n_strerror_debug(i32 noundef %16981, ptr noundef @.str.4)
  %16983 = call ptr @__errno_location() #12
  %16984 = load i32, ptr %16983, align 4, !tbaa !5
  %16985 = call ptr @strerror(i32 noundef %16984) #11
  %16986 = call ptr @__errno_location() #12
  %16987 = load i32, ptr %16986, align 4, !tbaa !5
  %16988 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16975, ptr noundef @.str.5, i32 noundef %16976, ptr noundef @.str.136, ptr noundef @.str.1, i32 noundef 716, ptr noundef %16979, ptr noundef %16982, ptr noundef %16985, i32 noundef %16987) #11
  br label %16989

16989:                                            ; preds = %16972, %16955
  call void @llvm.lifetime.end.p0(i64 4, ptr %455) #11
  br label %16990

16990:                                            ; preds = %16989
  br label %16991

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

16992:                                            ; No predecessors!
  br label %16993

16993:                                            ; preds = %16992
  br label %16994

16994:                                            ; preds = %16993, %16936
  br label %16995

16995:                                            ; preds = %16994
  br label %16996

16996:                                            ; preds = %16995
  br label %16997

16997:                                            ; preds = %16996
  %16998 = load i32, ptr @test_count, align 4, !tbaa !5
  %16999 = add nsw i32 %16998, 1
  store i32 %16999, ptr @test_count, align 4, !tbaa !5
  %17000 = load ptr, ptr %408, align 8, !tbaa !9
  %17001 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef %17000, i32 noundef 2)
  br i1 %17001, label %17002, label %17055

17002:                                            ; preds = %16997
  br label %17003

17003:                                            ; preds = %17002
  br label %17004

17004:                                            ; preds = %17003
  call void @llvm.lifetime.start.p0(i64 4, ptr %456) #11
  %17005 = call ptr @__errno_location() #12
  %17006 = load i32, ptr %17005, align 4, !tbaa !5
  store i32 %17006, ptr %456, align 4, !tbaa !5
  %17007 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17008 = call i32 @s2n_print_stacktrace(ptr noundef %17007)
  %17009 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17010 = trunc i8 %17009 to i1
  br i1 %17010, label %17011, label %17033

17011:                                            ; preds = %17004
  %17012 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17013 = call i32 @fileno(ptr noundef %17012) #11
  %17014 = call i32 @isatty(i32 noundef %17013) #11
  %17015 = icmp ne i32 %17014, 0
  br i1 %17015, label %17016, label %17033

17016:                                            ; preds = %17011
  %17017 = load i32, ptr %456, align 4, !tbaa !5
  %17018 = call ptr @__errno_location() #12
  store i32 %17017, ptr %17018, align 4, !tbaa !5
  %17019 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17020 = load i32, ptr @test_count, align 4, !tbaa !5
  %17021 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17022 = load i32, ptr %17021, align 4, !tbaa !5
  %17023 = call ptr @s2n_strerror(i32 noundef %17022, ptr noundef @.str.4)
  %17024 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17025 = load i32, ptr %17024, align 4, !tbaa !5
  %17026 = call ptr @s2n_strerror_debug(i32 noundef %17025, ptr noundef @.str.4)
  %17027 = call ptr @__errno_location() #12
  %17028 = load i32, ptr %17027, align 4, !tbaa !5
  %17029 = call ptr @strerror(i32 noundef %17028) #11
  %17030 = call ptr @__errno_location() #12
  %17031 = load i32, ptr %17030, align 4, !tbaa !5
  %17032 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17019, ptr noundef @.str.2, i32 noundef %17020, ptr noundef @.str.137, ptr noundef @.str.1, i32 noundef 717, ptr noundef %17023, ptr noundef %17026, ptr noundef %17029, i32 noundef %17031) #11
  br label %17050

17033:                                            ; preds = %17011, %17004
  %17034 = load i32, ptr %456, align 4, !tbaa !5
  %17035 = call ptr @__errno_location() #12
  store i32 %17034, ptr %17035, align 4, !tbaa !5
  %17036 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17037 = load i32, ptr @test_count, align 4, !tbaa !5
  %17038 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17039 = load i32, ptr %17038, align 4, !tbaa !5
  %17040 = call ptr @s2n_strerror(i32 noundef %17039, ptr noundef @.str.4)
  %17041 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17042 = load i32, ptr %17041, align 4, !tbaa !5
  %17043 = call ptr @s2n_strerror_debug(i32 noundef %17042, ptr noundef @.str.4)
  %17044 = call ptr @__errno_location() #12
  %17045 = load i32, ptr %17044, align 4, !tbaa !5
  %17046 = call ptr @strerror(i32 noundef %17045) #11
  %17047 = call ptr @__errno_location() #12
  %17048 = load i32, ptr %17047, align 4, !tbaa !5
  %17049 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17036, ptr noundef @.str.5, i32 noundef %17037, ptr noundef @.str.137, ptr noundef @.str.1, i32 noundef 717, ptr noundef %17040, ptr noundef %17043, ptr noundef %17046, i32 noundef %17048) #11
  br label %17050

17050:                                            ; preds = %17033, %17016
  call void @llvm.lifetime.end.p0(i64 4, ptr %456) #11
  br label %17051

17051:                                            ; preds = %17050
  br label %17052

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

17053:                                            ; No predecessors!
  br label %17054

17054:                                            ; preds = %17053
  br label %17055

17055:                                            ; preds = %17054, %16997
  br label %17056

17056:                                            ; preds = %17055
  br label %17057

17057:                                            ; preds = %17056
  %17058 = call i32 @s2n_io_stuffer_pair_free(ptr noundef %449)
  %17059 = getelementptr inbounds %struct.s2n_result, ptr %457, i32 0, i32 0
  store i32 %17058, ptr %17059, align 4
  call void @llvm.lifetime.end.p0(i64 80, ptr %449) #11
  %17060 = call i32 @s2n_connection_ptr_free(ptr noundef %444)
  %17061 = getelementptr inbounds %struct.s2n_result, ptr %458, i32 0, i32 0
  store i32 %17060, ptr %17061, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %444) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %459) #11
  %17062 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %17062, ptr %459, align 8, !tbaa !9
  br label %17063

17063:                                            ; preds = %17057
  %17064 = load i32, ptr @test_count, align 4, !tbaa !5
  %17065 = add nsw i32 %17064, 1
  store i32 %17065, ptr @test_count, align 4, !tbaa !5
  %17066 = load ptr, ptr %459, align 8, !tbaa !9
  %17067 = icmp eq ptr %17066, null
  br i1 %17067, label %17068, label %17121

17068:                                            ; preds = %17063
  br label %17069

17069:                                            ; preds = %17068
  br label %17070

17070:                                            ; preds = %17069
  call void @llvm.lifetime.start.p0(i64 4, ptr %460) #11
  %17071 = call ptr @__errno_location() #12
  %17072 = load i32, ptr %17071, align 4, !tbaa !5
  store i32 %17072, ptr %460, align 4, !tbaa !5
  %17073 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17074 = call i32 @s2n_print_stacktrace(ptr noundef %17073)
  %17075 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17076 = trunc i8 %17075 to i1
  br i1 %17076, label %17077, label %17099

17077:                                            ; preds = %17070
  %17078 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17079 = call i32 @fileno(ptr noundef %17078) #11
  %17080 = call i32 @isatty(i32 noundef %17079) #11
  %17081 = icmp ne i32 %17080, 0
  br i1 %17081, label %17082, label %17099

17082:                                            ; preds = %17077
  %17083 = load i32, ptr %460, align 4, !tbaa !5
  %17084 = call ptr @__errno_location() #12
  store i32 %17083, ptr %17084, align 4, !tbaa !5
  %17085 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17086 = load i32, ptr @test_count, align 4, !tbaa !5
  %17087 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17088 = load i32, ptr %17087, align 4, !tbaa !5
  %17089 = call ptr @s2n_strerror(i32 noundef %17088, ptr noundef @.str.4)
  %17090 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17091 = load i32, ptr %17090, align 4, !tbaa !5
  %17092 = call ptr @s2n_strerror_debug(i32 noundef %17091, ptr noundef @.str.4)
  %17093 = call ptr @__errno_location() #12
  %17094 = load i32, ptr %17093, align 4, !tbaa !5
  %17095 = call ptr @strerror(i32 noundef %17094) #11
  %17096 = call ptr @__errno_location() #12
  %17097 = load i32, ptr %17096, align 4, !tbaa !5
  %17098 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17085, ptr noundef @.str.2, i32 noundef %17086, ptr noundef @.str.42, ptr noundef @.str.1, i32 noundef 724, ptr noundef %17089, ptr noundef %17092, ptr noundef %17095, i32 noundef %17097) #11
  br label %17116

17099:                                            ; preds = %17077, %17070
  %17100 = load i32, ptr %460, align 4, !tbaa !5
  %17101 = call ptr @__errno_location() #12
  store i32 %17100, ptr %17101, align 4, !tbaa !5
  %17102 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17103 = load i32, ptr @test_count, align 4, !tbaa !5
  %17104 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17105 = load i32, ptr %17104, align 4, !tbaa !5
  %17106 = call ptr @s2n_strerror(i32 noundef %17105, ptr noundef @.str.4)
  %17107 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17108 = load i32, ptr %17107, align 4, !tbaa !5
  %17109 = call ptr @s2n_strerror_debug(i32 noundef %17108, ptr noundef @.str.4)
  %17110 = call ptr @__errno_location() #12
  %17111 = load i32, ptr %17110, align 4, !tbaa !5
  %17112 = call ptr @strerror(i32 noundef %17111) #11
  %17113 = call ptr @__errno_location() #12
  %17114 = load i32, ptr %17113, align 4, !tbaa !5
  %17115 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17102, ptr noundef @.str.5, i32 noundef %17103, ptr noundef @.str.42, ptr noundef @.str.1, i32 noundef 724, ptr noundef %17106, ptr noundef %17109, ptr noundef %17112, i32 noundef %17114) #11
  br label %17116

17116:                                            ; preds = %17099, %17082
  call void @llvm.lifetime.end.p0(i64 4, ptr %460) #11
  br label %17117

17117:                                            ; preds = %17116
  br label %17118

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

17119:                                            ; No predecessors!
  br label %17120

17120:                                            ; preds = %17119
  br label %17121

17121:                                            ; preds = %17120, %17063
  br label %17122

17122:                                            ; preds = %17121
  br label %17123

17123:                                            ; preds = %17122
  br label %17124

17124:                                            ; preds = %17123
  %17125 = load i32, ptr @test_count, align 4, !tbaa !5
  %17126 = add nsw i32 %17125, 1
  store i32 %17126, ptr @test_count, align 4, !tbaa !5
  %17127 = load ptr, ptr %459, align 8, !tbaa !9
  %17128 = load ptr, ptr %398, align 8, !tbaa !9
  %17129 = call i32 @s2n_connection_set_config(ptr noundef %17127, ptr noundef %17128)
  %17130 = icmp eq i32 %17129, -1
  br i1 %17130, label %17131, label %17184

17131:                                            ; preds = %17124
  br label %17132

17132:                                            ; preds = %17131
  br label %17133

17133:                                            ; preds = %17132
  call void @llvm.lifetime.start.p0(i64 4, ptr %461) #11
  %17134 = call ptr @__errno_location() #12
  %17135 = load i32, ptr %17134, align 4, !tbaa !5
  store i32 %17135, ptr %461, align 4, !tbaa !5
  %17136 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17137 = call i32 @s2n_print_stacktrace(ptr noundef %17136)
  %17138 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17139 = trunc i8 %17138 to i1
  br i1 %17139, label %17140, label %17162

17140:                                            ; preds = %17133
  %17141 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17142 = call i32 @fileno(ptr noundef %17141) #11
  %17143 = call i32 @isatty(i32 noundef %17142) #11
  %17144 = icmp ne i32 %17143, 0
  br i1 %17144, label %17145, label %17162

17145:                                            ; preds = %17140
  %17146 = load i32, ptr %461, align 4, !tbaa !5
  %17147 = call ptr @__errno_location() #12
  store i32 %17146, ptr %17147, align 4, !tbaa !5
  %17148 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17149 = load i32, ptr @test_count, align 4, !tbaa !5
  %17150 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17151 = load i32, ptr %17150, align 4, !tbaa !5
  %17152 = call ptr @s2n_strerror(i32 noundef %17151, ptr noundef @.str.4)
  %17153 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17154 = load i32, ptr %17153, align 4, !tbaa !5
  %17155 = call ptr @s2n_strerror_debug(i32 noundef %17154, ptr noundef @.str.4)
  %17156 = call ptr @__errno_location() #12
  %17157 = load i32, ptr %17156, align 4, !tbaa !5
  %17158 = call ptr @strerror(i32 noundef %17157) #11
  %17159 = call ptr @__errno_location() #12
  %17160 = load i32, ptr %17159, align 4, !tbaa !5
  %17161 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17148, ptr noundef @.str.2, i32 noundef %17149, ptr noundef @.str.123, ptr noundef @.str.1, i32 noundef 725, ptr noundef %17152, ptr noundef %17155, ptr noundef %17158, i32 noundef %17160) #11
  br label %17179

17162:                                            ; preds = %17140, %17133
  %17163 = load i32, ptr %461, align 4, !tbaa !5
  %17164 = call ptr @__errno_location() #12
  store i32 %17163, ptr %17164, align 4, !tbaa !5
  %17165 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17166 = load i32, ptr @test_count, align 4, !tbaa !5
  %17167 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17168 = load i32, ptr %17167, align 4, !tbaa !5
  %17169 = call ptr @s2n_strerror(i32 noundef %17168, ptr noundef @.str.4)
  %17170 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17171 = load i32, ptr %17170, align 4, !tbaa !5
  %17172 = call ptr @s2n_strerror_debug(i32 noundef %17171, ptr noundef @.str.4)
  %17173 = call ptr @__errno_location() #12
  %17174 = load i32, ptr %17173, align 4, !tbaa !5
  %17175 = call ptr @strerror(i32 noundef %17174) #11
  %17176 = call ptr @__errno_location() #12
  %17177 = load i32, ptr %17176, align 4, !tbaa !5
  %17178 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17165, ptr noundef @.str.5, i32 noundef %17166, ptr noundef @.str.123, ptr noundef @.str.1, i32 noundef 725, ptr noundef %17169, ptr noundef %17172, ptr noundef %17175, i32 noundef %17177) #11
  br label %17179

17179:                                            ; preds = %17162, %17145
  call void @llvm.lifetime.end.p0(i64 4, ptr %461) #11
  br label %17180

17180:                                            ; preds = %17179
  br label %17181

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

17182:                                            ; No predecessors!
  br label %17183

17183:                                            ; preds = %17182
  br label %17184

17184:                                            ; preds = %17183, %17124
  br label %17185

17185:                                            ; preds = %17184
  br label %17186

17186:                                            ; preds = %17185
  br label %17187

17187:                                            ; preds = %17186
  %17188 = load i32, ptr @test_count, align 4, !tbaa !5
  %17189 = add nsw i32 %17188, 1
  store i32 %17189, ptr @test_count, align 4, !tbaa !5
  %17190 = load ptr, ptr %459, align 8, !tbaa !9
  %17191 = getelementptr inbounds %struct.s2n_blob, ptr %407, i32 0, i32 0
  %17192 = load ptr, ptr %17191, align 8, !tbaa !64
  %17193 = getelementptr inbounds %struct.s2n_blob, ptr %407, i32 0, i32 1
  %17194 = load i32, ptr %17193, align 8, !tbaa !65
  %17195 = zext i32 %17194 to i64
  %17196 = call i32 @s2n_connection_set_session(ptr noundef %17190, ptr noundef %17192, i64 noundef %17195)
  %17197 = icmp eq i32 %17196, -1
  br i1 %17197, label %17198, label %17251

17198:                                            ; preds = %17187
  br label %17199

17199:                                            ; preds = %17198
  br label %17200

17200:                                            ; preds = %17199
  call void @llvm.lifetime.start.p0(i64 4, ptr %462) #11
  %17201 = call ptr @__errno_location() #12
  %17202 = load i32, ptr %17201, align 4, !tbaa !5
  store i32 %17202, ptr %462, align 4, !tbaa !5
  %17203 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17204 = call i32 @s2n_print_stacktrace(ptr noundef %17203)
  %17205 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17206 = trunc i8 %17205 to i1
  br i1 %17206, label %17207, label %17229

17207:                                            ; preds = %17200
  %17208 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17209 = call i32 @fileno(ptr noundef %17208) #11
  %17210 = call i32 @isatty(i32 noundef %17209) #11
  %17211 = icmp ne i32 %17210, 0
  br i1 %17211, label %17212, label %17229

17212:                                            ; preds = %17207
  %17213 = load i32, ptr %462, align 4, !tbaa !5
  %17214 = call ptr @__errno_location() #12
  store i32 %17213, ptr %17214, align 4, !tbaa !5
  %17215 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17216 = load i32, ptr @test_count, align 4, !tbaa !5
  %17217 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17218 = load i32, ptr %17217, align 4, !tbaa !5
  %17219 = call ptr @s2n_strerror(i32 noundef %17218, ptr noundef @.str.4)
  %17220 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17221 = load i32, ptr %17220, align 4, !tbaa !5
  %17222 = call ptr @s2n_strerror_debug(i32 noundef %17221, ptr noundef @.str.4)
  %17223 = call ptr @__errno_location() #12
  %17224 = load i32, ptr %17223, align 4, !tbaa !5
  %17225 = call ptr @strerror(i32 noundef %17224) #11
  %17226 = call ptr @__errno_location() #12
  %17227 = load i32, ptr %17226, align 4, !tbaa !5
  %17228 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17215, ptr noundef @.str.2, i32 noundef %17216, ptr noundef @.str.138, ptr noundef @.str.1, i32 noundef 726, ptr noundef %17219, ptr noundef %17222, ptr noundef %17225, i32 noundef %17227) #11
  br label %17246

17229:                                            ; preds = %17207, %17200
  %17230 = load i32, ptr %462, align 4, !tbaa !5
  %17231 = call ptr @__errno_location() #12
  store i32 %17230, ptr %17231, align 4, !tbaa !5
  %17232 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17233 = load i32, ptr @test_count, align 4, !tbaa !5
  %17234 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17235 = load i32, ptr %17234, align 4, !tbaa !5
  %17236 = call ptr @s2n_strerror(i32 noundef %17235, ptr noundef @.str.4)
  %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_debug(i32 noundef %17238, ptr noundef @.str.4)
  %17240 = call ptr @__errno_location() #12
  %17241 = load i32, ptr %17240, align 4, !tbaa !5
  %17242 = call ptr @strerror(i32 noundef %17241) #11
  %17243 = call ptr @__errno_location() #12
  %17244 = load i32, ptr %17243, align 4, !tbaa !5
  %17245 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17232, ptr noundef @.str.5, i32 noundef %17233, ptr noundef @.str.138, ptr noundef @.str.1, i32 noundef 726, ptr noundef %17236, ptr noundef %17239, ptr noundef %17242, i32 noundef %17244) #11
  br label %17246

17246:                                            ; preds = %17229, %17212
  call void @llvm.lifetime.end.p0(i64 4, ptr %462) #11
  br label %17247

17247:                                            ; preds = %17246
  br label %17248

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

17249:                                            ; No predecessors!
  br label %17250

17250:                                            ; preds = %17249
  br label %17251

17251:                                            ; preds = %17250, %17187
  br label %17252

17252:                                            ; preds = %17251
  br label %17253

17253:                                            ; preds = %17252
  br label %17254

17254:                                            ; preds = %17253
  %17255 = load i32, ptr @test_count, align 4, !tbaa !5
  %17256 = add nsw i32 %17255, 1
  store i32 %17256, ptr @test_count, align 4, !tbaa !5
  %17257 = load ptr, ptr %408, align 8, !tbaa !9
  %17258 = call i32 @s2n_connection_wipe(ptr noundef %17257)
  %17259 = icmp eq i32 %17258, -1
  br i1 %17259, label %17260, label %17313

17260:                                            ; preds = %17254
  br label %17261

17261:                                            ; preds = %17260
  br label %17262

17262:                                            ; preds = %17261
  call void @llvm.lifetime.start.p0(i64 4, ptr %463) #11
  %17263 = call ptr @__errno_location() #12
  %17264 = load i32, ptr %17263, align 4, !tbaa !5
  store i32 %17264, ptr %463, align 4, !tbaa !5
  %17265 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17266 = call i32 @s2n_print_stacktrace(ptr noundef %17265)
  %17267 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17268 = trunc i8 %17267 to i1
  br i1 %17268, label %17269, label %17291

17269:                                            ; preds = %17262
  %17270 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17271 = call i32 @fileno(ptr noundef %17270) #11
  %17272 = call i32 @isatty(i32 noundef %17271) #11
  %17273 = icmp ne i32 %17272, 0
  br i1 %17273, label %17274, label %17291

17274:                                            ; preds = %17269
  %17275 = load i32, ptr %463, align 4, !tbaa !5
  %17276 = call ptr @__errno_location() #12
  store i32 %17275, ptr %17276, align 4, !tbaa !5
  %17277 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17278 = load i32, ptr @test_count, align 4, !tbaa !5
  %17279 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17280 = load i32, ptr %17279, align 4, !tbaa !5
  %17281 = call ptr @s2n_strerror(i32 noundef %17280, ptr noundef @.str.4)
  %17282 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17283 = load i32, ptr %17282, align 4, !tbaa !5
  %17284 = call ptr @s2n_strerror_debug(i32 noundef %17283, ptr noundef @.str.4)
  %17285 = call ptr @__errno_location() #12
  %17286 = load i32, ptr %17285, align 4, !tbaa !5
  %17287 = call ptr @strerror(i32 noundef %17286) #11
  %17288 = call ptr @__errno_location() #12
  %17289 = load i32, ptr %17288, align 4, !tbaa !5
  %17290 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17277, ptr noundef @.str.2, i32 noundef %17278, ptr noundef @.str.135, ptr noundef @.str.1, i32 noundef 727, ptr noundef %17281, ptr noundef %17284, ptr noundef %17287, i32 noundef %17289) #11
  br label %17308

17291:                                            ; preds = %17269, %17262
  %17292 = load i32, ptr %463, align 4, !tbaa !5
  %17293 = call ptr @__errno_location() #12
  store i32 %17292, ptr %17293, align 4, !tbaa !5
  %17294 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17295 = load i32, ptr @test_count, align 4, !tbaa !5
  %17296 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17297 = load i32, ptr %17296, align 4, !tbaa !5
  %17298 = call ptr @s2n_strerror(i32 noundef %17297, ptr noundef @.str.4)
  %17299 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17300 = load i32, ptr %17299, align 4, !tbaa !5
  %17301 = call ptr @s2n_strerror_debug(i32 noundef %17300, ptr noundef @.str.4)
  %17302 = call ptr @__errno_location() #12
  %17303 = load i32, ptr %17302, align 4, !tbaa !5
  %17304 = call ptr @strerror(i32 noundef %17303) #11
  %17305 = call ptr @__errno_location() #12
  %17306 = load i32, ptr %17305, align 4, !tbaa !5
  %17307 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17294, ptr noundef @.str.5, i32 noundef %17295, ptr noundef @.str.135, ptr noundef @.str.1, i32 noundef 727, ptr noundef %17298, ptr noundef %17301, ptr noundef %17304, i32 noundef %17306) #11
  br label %17308

17308:                                            ; preds = %17291, %17274
  call void @llvm.lifetime.end.p0(i64 4, ptr %463) #11
  br label %17309

17309:                                            ; preds = %17308
  br label %17310

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

17311:                                            ; No predecessors!
  br label %17312

17312:                                            ; preds = %17311
  br label %17313

17313:                                            ; preds = %17312, %17254
  br label %17314

17314:                                            ; preds = %17313
  br label %17315

17315:                                            ; preds = %17314
  call void @llvm.lifetime.start.p0(i64 80, ptr %464) #11
  call void @llvm.memset.p0.i64(ptr align 8 %464, i8 0, i64 80, i1 false)
  br label %17316

17316:                                            ; preds = %17315
  %17317 = load i32, ptr @test_count, align 4, !tbaa !5
  %17318 = add nsw i32 %17317, 1
  store i32 %17318, ptr @test_count, align 4, !tbaa !5
  %17319 = call i32 @s2n_io_stuffer_pair_init(ptr noundef %464)
  %17320 = getelementptr inbounds %struct.s2n_result, ptr %465, i32 0, i32 0
  store i32 %17319, ptr %17320, align 4
  %17321 = getelementptr inbounds %struct.s2n_result, ptr %465, i32 0, i32 0
  %17322 = load i32, ptr %17321, align 4
  %17323 = call zeroext i1 @s2n_result_is_ok(i32 %17322)
  br i1 %17323, label %17377, label %17324

17324:                                            ; preds = %17316
  br label %17325

17325:                                            ; preds = %17324
  br label %17326

17326:                                            ; preds = %17325
  call void @llvm.lifetime.start.p0(i64 4, ptr %466) #11
  %17327 = call ptr @__errno_location() #12
  %17328 = load i32, ptr %17327, align 4, !tbaa !5
  store i32 %17328, ptr %466, align 4, !tbaa !5
  %17329 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17330 = call i32 @s2n_print_stacktrace(ptr noundef %17329)
  %17331 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17332 = trunc i8 %17331 to i1
  br i1 %17332, label %17333, label %17355

17333:                                            ; preds = %17326
  %17334 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17335 = call i32 @fileno(ptr noundef %17334) #11
  %17336 = call i32 @isatty(i32 noundef %17335) #11
  %17337 = icmp ne i32 %17336, 0
  br i1 %17337, label %17338, label %17355

17338:                                            ; preds = %17333
  %17339 = load i32, ptr %466, align 4, !tbaa !5
  %17340 = call ptr @__errno_location() #12
  store i32 %17339, ptr %17340, align 4, !tbaa !5
  %17341 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17342 = load i32, ptr @test_count, align 4, !tbaa !5
  %17343 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17344 = load i32, ptr %17343, align 4, !tbaa !5
  %17345 = call ptr @s2n_strerror(i32 noundef %17344, ptr noundef @.str.4)
  %17346 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17347 = load i32, ptr %17346, align 4, !tbaa !5
  %17348 = call ptr @s2n_strerror_debug(i32 noundef %17347, ptr noundef @.str.4)
  %17349 = call ptr @__errno_location() #12
  %17350 = load i32, ptr %17349, align 4, !tbaa !5
  %17351 = call ptr @strerror(i32 noundef %17350) #11
  %17352 = call ptr @__errno_location() #12
  %17353 = load i32, ptr %17352, align 4, !tbaa !5
  %17354 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17341, ptr noundef @.str.2, i32 noundef %17342, ptr noundef @.str.46, ptr noundef @.str.1, i32 noundef 730, ptr noundef %17345, ptr noundef %17348, ptr noundef %17351, i32 noundef %17353) #11
  br label %17372

17355:                                            ; preds = %17333, %17326
  %17356 = load i32, ptr %466, 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.4)
  %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.4)
  %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.5, i32 noundef %17359, ptr noundef @.str.46, ptr noundef @.str.1, i32 noundef 730, ptr noundef %17362, ptr noundef %17365, ptr noundef %17368, i32 noundef %17370) #11
  br label %17372

17372:                                            ; preds = %17355, %17338
  call void @llvm.lifetime.end.p0(i64 4, ptr %466) #11
  br label %17373

17373:                                            ; preds = %17372
  br label %17374

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

17375:                                            ; No predecessors!
  br label %17376

17376:                                            ; preds = %17375
  br label %17377

17377:                                            ; preds = %17376, %17316
  br label %17378

17378:                                            ; preds = %17377
  br label %17379

17379:                                            ; preds = %17378
  br label %17380

17380:                                            ; preds = %17379
  %17381 = load i32, ptr @test_count, align 4, !tbaa !5
  %17382 = add nsw i32 %17381, 1
  store i32 %17382, ptr @test_count, align 4, !tbaa !5
  %17383 = load ptr, ptr %459, align 8, !tbaa !9
  %17384 = load ptr, ptr %408, align 8, !tbaa !9
  %17385 = call i32 @s2n_connections_set_io_stuffer_pair(ptr noundef %17383, ptr noundef %17384, ptr noundef %464)
  %17386 = getelementptr inbounds %struct.s2n_result, ptr %467, i32 0, i32 0
  store i32 %17385, ptr %17386, align 4
  %17387 = getelementptr inbounds %struct.s2n_result, ptr %467, i32 0, i32 0
  %17388 = load i32, ptr %17387, align 4
  %17389 = call zeroext i1 @s2n_result_is_ok(i32 %17388)
  br i1 %17389, label %17443, label %17390

17390:                                            ; preds = %17380
  br label %17391

17391:                                            ; preds = %17390
  br label %17392

17392:                                            ; preds = %17391
  call void @llvm.lifetime.start.p0(i64 4, ptr %468) #11
  %17393 = call ptr @__errno_location() #12
  %17394 = load i32, ptr %17393, align 4, !tbaa !5
  store i32 %17394, ptr %468, align 4, !tbaa !5
  %17395 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17396 = call i32 @s2n_print_stacktrace(ptr noundef %17395)
  %17397 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17398 = trunc i8 %17397 to i1
  br i1 %17398, label %17399, label %17421

17399:                                            ; preds = %17392
  %17400 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17401 = call i32 @fileno(ptr noundef %17400) #11
  %17402 = call i32 @isatty(i32 noundef %17401) #11
  %17403 = icmp ne i32 %17402, 0
  br i1 %17403, label %17404, label %17421

17404:                                            ; preds = %17399
  %17405 = load i32, ptr %468, align 4, !tbaa !5
  %17406 = call ptr @__errno_location() #12
  store i32 %17405, ptr %17406, align 4, !tbaa !5
  %17407 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17408 = load i32, ptr @test_count, align 4, !tbaa !5
  %17409 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17410 = load i32, ptr %17409, align 4, !tbaa !5
  %17411 = call ptr @s2n_strerror(i32 noundef %17410, ptr noundef @.str.4)
  %17412 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17413 = load i32, ptr %17412, align 4, !tbaa !5
  %17414 = call ptr @s2n_strerror_debug(i32 noundef %17413, ptr noundef @.str.4)
  %17415 = call ptr @__errno_location() #12
  %17416 = load i32, ptr %17415, align 4, !tbaa !5
  %17417 = call ptr @strerror(i32 noundef %17416) #11
  %17418 = call ptr @__errno_location() #12
  %17419 = load i32, ptr %17418, align 4, !tbaa !5
  %17420 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17407, ptr noundef @.str.2, i32 noundef %17408, ptr noundef @.str.47, ptr noundef @.str.1, i32 noundef 731, ptr noundef %17411, ptr noundef %17414, ptr noundef %17417, i32 noundef %17419) #11
  br label %17438

17421:                                            ; preds = %17399, %17392
  %17422 = load i32, ptr %468, align 4, !tbaa !5
  %17423 = call ptr @__errno_location() #12
  store i32 %17422, ptr %17423, align 4, !tbaa !5
  %17424 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17425 = load i32, ptr @test_count, align 4, !tbaa !5
  %17426 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17427 = load i32, ptr %17426, align 4, !tbaa !5
  %17428 = call ptr @s2n_strerror(i32 noundef %17427, ptr noundef @.str.4)
  %17429 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17430 = load i32, ptr %17429, align 4, !tbaa !5
  %17431 = call ptr @s2n_strerror_debug(i32 noundef %17430, ptr noundef @.str.4)
  %17432 = call ptr @__errno_location() #12
  %17433 = load i32, ptr %17432, align 4, !tbaa !5
  %17434 = call ptr @strerror(i32 noundef %17433) #11
  %17435 = call ptr @__errno_location() #12
  %17436 = load i32, ptr %17435, align 4, !tbaa !5
  %17437 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17424, ptr noundef @.str.5, i32 noundef %17425, ptr noundef @.str.47, ptr noundef @.str.1, i32 noundef 731, ptr noundef %17428, ptr noundef %17431, ptr noundef %17434, i32 noundef %17436) #11
  br label %17438

17438:                                            ; preds = %17421, %17404
  call void @llvm.lifetime.end.p0(i64 4, ptr %468) #11
  br label %17439

17439:                                            ; preds = %17438
  br label %17440

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

17441:                                            ; No predecessors!
  br label %17442

17442:                                            ; preds = %17441
  br label %17443

17443:                                            ; preds = %17442, %17380
  br label %17444

17444:                                            ; preds = %17443
  br label %17445

17445:                                            ; preds = %17444
  br label %17446

17446:                                            ; preds = %17445
  %17447 = load i32, ptr @test_count, align 4, !tbaa !5
  %17448 = add nsw i32 %17447, 1
  store i32 %17448, ptr @test_count, align 4, !tbaa !5
  %17449 = load ptr, ptr %408, align 8, !tbaa !9
  %17450 = load ptr, ptr %459, align 8, !tbaa !9
  %17451 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %17449, ptr noundef %17450)
  %17452 = icmp eq i32 %17451, -1
  br i1 %17452, label %17453, label %17506

17453:                                            ; preds = %17446
  br label %17454

17454:                                            ; preds = %17453
  br label %17455

17455:                                            ; preds = %17454
  call void @llvm.lifetime.start.p0(i64 4, ptr %469) #11
  %17456 = call ptr @__errno_location() #12
  %17457 = load i32, ptr %17456, align 4, !tbaa !5
  store i32 %17457, ptr %469, align 4, !tbaa !5
  %17458 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17459 = call i32 @s2n_print_stacktrace(ptr noundef %17458)
  %17460 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17461 = trunc i8 %17460 to i1
  br i1 %17461, label %17462, label %17484

17462:                                            ; preds = %17455
  %17463 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17464 = call i32 @fileno(ptr noundef %17463) #11
  %17465 = call i32 @isatty(i32 noundef %17464) #11
  %17466 = icmp ne i32 %17465, 0
  br i1 %17466, label %17467, label %17484

17467:                                            ; preds = %17462
  %17468 = load i32, ptr %469, align 4, !tbaa !5
  %17469 = call ptr @__errno_location() #12
  store i32 %17468, ptr %17469, align 4, !tbaa !5
  %17470 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17471 = load i32, ptr @test_count, align 4, !tbaa !5
  %17472 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17473 = load i32, ptr %17472, align 4, !tbaa !5
  %17474 = call ptr @s2n_strerror(i32 noundef %17473, ptr noundef @.str.4)
  %17475 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17476 = load i32, ptr %17475, align 4, !tbaa !5
  %17477 = call ptr @s2n_strerror_debug(i32 noundef %17476, ptr noundef @.str.4)
  %17478 = call ptr @__errno_location() #12
  %17479 = load i32, ptr %17478, align 4, !tbaa !5
  %17480 = call ptr @strerror(i32 noundef %17479) #11
  %17481 = call ptr @__errno_location() #12
  %17482 = load i32, ptr %17481, align 4, !tbaa !5
  %17483 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17470, ptr noundef @.str.2, i32 noundef %17471, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 733, ptr noundef %17474, ptr noundef %17477, ptr noundef %17480, i32 noundef %17482) #11
  br label %17501

17484:                                            ; preds = %17462, %17455
  %17485 = load i32, ptr %469, align 4, !tbaa !5
  %17486 = call ptr @__errno_location() #12
  store i32 %17485, ptr %17486, align 4, !tbaa !5
  %17487 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17488 = load i32, ptr @test_count, align 4, !tbaa !5
  %17489 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17490 = load i32, ptr %17489, align 4, !tbaa !5
  %17491 = call ptr @s2n_strerror(i32 noundef %17490, ptr noundef @.str.4)
  %17492 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17493 = load i32, ptr %17492, align 4, !tbaa !5
  %17494 = call ptr @s2n_strerror_debug(i32 noundef %17493, ptr noundef @.str.4)
  %17495 = call ptr @__errno_location() #12
  %17496 = load i32, ptr %17495, align 4, !tbaa !5
  %17497 = call ptr @strerror(i32 noundef %17496) #11
  %17498 = call ptr @__errno_location() #12
  %17499 = load i32, ptr %17498, align 4, !tbaa !5
  %17500 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17487, ptr noundef @.str.5, i32 noundef %17488, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 733, ptr noundef %17491, ptr noundef %17494, ptr noundef %17497, i32 noundef %17499) #11
  br label %17501

17501:                                            ; preds = %17484, %17467
  call void @llvm.lifetime.end.p0(i64 4, ptr %469) #11
  br label %17502

17502:                                            ; preds = %17501
  br label %17503

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

17504:                                            ; No predecessors!
  br label %17505

17505:                                            ; preds = %17504
  br label %17506

17506:                                            ; preds = %17505, %17446
  br label %17507

17507:                                            ; preds = %17506
  br label %17508

17508:                                            ; preds = %17507
  br label %17509

17509:                                            ; preds = %17508
  %17510 = load i32, ptr @test_count, align 4, !tbaa !5
  %17511 = add nsw i32 %17510, 1
  store i32 %17511, ptr @test_count, align 4, !tbaa !5
  %17512 = load ptr, ptr %459, align 8, !tbaa !9
  %17513 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef %17512, i32 noundef 2)
  br i1 %17513, label %17514, label %17567

17514:                                            ; preds = %17509
  br label %17515

17515:                                            ; preds = %17514
  br label %17516

17516:                                            ; preds = %17515
  call void @llvm.lifetime.start.p0(i64 4, ptr %470) #11
  %17517 = call ptr @__errno_location() #12
  %17518 = load i32, ptr %17517, align 4, !tbaa !5
  store i32 %17518, ptr %470, align 4, !tbaa !5
  %17519 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17520 = call i32 @s2n_print_stacktrace(ptr noundef %17519)
  %17521 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17522 = trunc i8 %17521 to i1
  br i1 %17522, label %17523, label %17545

17523:                                            ; preds = %17516
  %17524 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17525 = call i32 @fileno(ptr noundef %17524) #11
  %17526 = call i32 @isatty(i32 noundef %17525) #11
  %17527 = icmp ne i32 %17526, 0
  br i1 %17527, label %17528, label %17545

17528:                                            ; preds = %17523
  %17529 = load i32, ptr %470, align 4, !tbaa !5
  %17530 = call ptr @__errno_location() #12
  store i32 %17529, ptr %17530, align 4, !tbaa !5
  %17531 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17532 = load i32, ptr @test_count, align 4, !tbaa !5
  %17533 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17534 = load i32, ptr %17533, align 4, !tbaa !5
  %17535 = call ptr @s2n_strerror(i32 noundef %17534, ptr noundef @.str.4)
  %17536 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17537 = load i32, ptr %17536, align 4, !tbaa !5
  %17538 = call ptr @s2n_strerror_debug(i32 noundef %17537, ptr noundef @.str.4)
  %17539 = call ptr @__errno_location() #12
  %17540 = load i32, ptr %17539, align 4, !tbaa !5
  %17541 = call ptr @strerror(i32 noundef %17540) #11
  %17542 = call ptr @__errno_location() #12
  %17543 = load i32, ptr %17542, align 4, !tbaa !5
  %17544 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17531, ptr noundef @.str.2, i32 noundef %17532, ptr noundef @.str.136, ptr noundef @.str.1, i32 noundef 734, ptr noundef %17535, ptr noundef %17538, ptr noundef %17541, i32 noundef %17543) #11
  br label %17562

17545:                                            ; preds = %17523, %17516
  %17546 = load i32, ptr %470, align 4, !tbaa !5
  %17547 = call ptr @__errno_location() #12
  store i32 %17546, ptr %17547, align 4, !tbaa !5
  %17548 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17549 = load i32, ptr @test_count, align 4, !tbaa !5
  %17550 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17551 = load i32, ptr %17550, align 4, !tbaa !5
  %17552 = call ptr @s2n_strerror(i32 noundef %17551, ptr noundef @.str.4)
  %17553 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17554 = load i32, ptr %17553, align 4, !tbaa !5
  %17555 = call ptr @s2n_strerror_debug(i32 noundef %17554, ptr noundef @.str.4)
  %17556 = call ptr @__errno_location() #12
  %17557 = load i32, ptr %17556, align 4, !tbaa !5
  %17558 = call ptr @strerror(i32 noundef %17557) #11
  %17559 = call ptr @__errno_location() #12
  %17560 = load i32, ptr %17559, align 4, !tbaa !5
  %17561 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17548, ptr noundef @.str.5, i32 noundef %17549, ptr noundef @.str.136, ptr noundef @.str.1, i32 noundef 734, ptr noundef %17552, ptr noundef %17555, ptr noundef %17558, i32 noundef %17560) #11
  br label %17562

17562:                                            ; preds = %17545, %17528
  call void @llvm.lifetime.end.p0(i64 4, ptr %470) #11
  br label %17563

17563:                                            ; preds = %17562
  br label %17564

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

17565:                                            ; No predecessors!
  br label %17566

17566:                                            ; preds = %17565
  br label %17567

17567:                                            ; preds = %17566, %17509
  br label %17568

17568:                                            ; preds = %17567
  br label %17569

17569:                                            ; preds = %17568
  br label %17570

17570:                                            ; preds = %17569
  %17571 = load i32, ptr @test_count, align 4, !tbaa !5
  %17572 = add nsw i32 %17571, 1
  store i32 %17572, ptr @test_count, align 4, !tbaa !5
  %17573 = load ptr, ptr %408, align 8, !tbaa !9
  %17574 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef %17573, i32 noundef 2)
  br i1 %17574, label %17575, label %17628

17575:                                            ; preds = %17570
  br label %17576

17576:                                            ; preds = %17575
  br label %17577

17577:                                            ; preds = %17576
  call void @llvm.lifetime.start.p0(i64 4, ptr %471) #11
  %17578 = call ptr @__errno_location() #12
  %17579 = load i32, ptr %17578, align 4, !tbaa !5
  store i32 %17579, ptr %471, align 4, !tbaa !5
  %17580 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17581 = call i32 @s2n_print_stacktrace(ptr noundef %17580)
  %17582 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17583 = trunc i8 %17582 to i1
  br i1 %17583, label %17584, label %17606

17584:                                            ; preds = %17577
  %17585 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17586 = call i32 @fileno(ptr noundef %17585) #11
  %17587 = call i32 @isatty(i32 noundef %17586) #11
  %17588 = icmp ne i32 %17587, 0
  br i1 %17588, label %17589, label %17606

17589:                                            ; preds = %17584
  %17590 = load i32, ptr %471, align 4, !tbaa !5
  %17591 = call ptr @__errno_location() #12
  store i32 %17590, ptr %17591, align 4, !tbaa !5
  %17592 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17593 = load i32, ptr @test_count, align 4, !tbaa !5
  %17594 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17595 = load i32, ptr %17594, align 4, !tbaa !5
  %17596 = call ptr @s2n_strerror(i32 noundef %17595, ptr noundef @.str.4)
  %17597 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17598 = load i32, ptr %17597, align 4, !tbaa !5
  %17599 = call ptr @s2n_strerror_debug(i32 noundef %17598, ptr noundef @.str.4)
  %17600 = call ptr @__errno_location() #12
  %17601 = load i32, ptr %17600, align 4, !tbaa !5
  %17602 = call ptr @strerror(i32 noundef %17601) #11
  %17603 = call ptr @__errno_location() #12
  %17604 = load i32, ptr %17603, align 4, !tbaa !5
  %17605 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17592, ptr noundef @.str.2, i32 noundef %17593, ptr noundef @.str.137, ptr noundef @.str.1, i32 noundef 735, ptr noundef %17596, ptr noundef %17599, ptr noundef %17602, i32 noundef %17604) #11
  br label %17623

17606:                                            ; preds = %17584, %17577
  %17607 = load i32, ptr %471, align 4, !tbaa !5
  %17608 = call ptr @__errno_location() #12
  store i32 %17607, ptr %17608, align 4, !tbaa !5
  %17609 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17610 = load i32, ptr @test_count, align 4, !tbaa !5
  %17611 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17612 = load i32, ptr %17611, align 4, !tbaa !5
  %17613 = call ptr @s2n_strerror(i32 noundef %17612, ptr noundef @.str.4)
  %17614 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17615 = load i32, ptr %17614, align 4, !tbaa !5
  %17616 = call ptr @s2n_strerror_debug(i32 noundef %17615, ptr noundef @.str.4)
  %17617 = call ptr @__errno_location() #12
  %17618 = load i32, ptr %17617, align 4, !tbaa !5
  %17619 = call ptr @strerror(i32 noundef %17618) #11
  %17620 = call ptr @__errno_location() #12
  %17621 = load i32, ptr %17620, align 4, !tbaa !5
  %17622 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17609, ptr noundef @.str.5, i32 noundef %17610, ptr noundef @.str.137, ptr noundef @.str.1, i32 noundef 735, ptr noundef %17613, ptr noundef %17616, ptr noundef %17619, i32 noundef %17621) #11
  br label %17623

17623:                                            ; preds = %17606, %17589
  call void @llvm.lifetime.end.p0(i64 4, ptr %471) #11
  br label %17624

17624:                                            ; preds = %17623
  br label %17625

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

17626:                                            ; No predecessors!
  br label %17627

17627:                                            ; preds = %17626
  br label %17628

17628:                                            ; preds = %17627, %17570
  br label %17629

17629:                                            ; preds = %17628
  br label %17630

17630:                                            ; preds = %17629
  %17631 = call i32 @s2n_io_stuffer_pair_free(ptr noundef %464)
  %17632 = getelementptr inbounds %struct.s2n_result, ptr %472, i32 0, i32 0
  store i32 %17631, ptr %17632, align 4
  call void @llvm.lifetime.end.p0(i64 80, ptr %464) #11
  %17633 = call i32 @s2n_connection_ptr_free(ptr noundef %459)
  %17634 = getelementptr inbounds %struct.s2n_result, ptr %473, i32 0, i32 0
  store i32 %17633, ptr %17634, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %459) #11
  %17635 = call i32 @s2n_connection_ptr_free(ptr noundef %408)
  %17636 = getelementptr inbounds %struct.s2n_result, ptr %474, i32 0, i32 0
  store i32 %17635, ptr %17636, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %408) #11
  %17637 = call i32 @s2n_free(ptr noundef %407)
  call void @llvm.lifetime.end.p0(i64 24, ptr %407) #11
  %17638 = call i32 @s2n_free(ptr noundef %406)
  call void @llvm.lifetime.end.p0(i64 24, ptr %406) #11
  call void @llvm.lifetime.end.p0(i64 142, ptr %405) #11
  call void @llvm.lifetime.start.p0(i64 142, ptr %475) #11
  call void @llvm.memset.p0.i64(ptr align 16 %475, i8 0, i64 142, i1 false)
  call void @llvm.lifetime.start.p0(i64 24, ptr %476) #11
  call void @llvm.memset.p0.i64(ptr align 8 %476, i8 0, i64 24, i1 false)
  call void @llvm.lifetime.start.p0(i64 24, ptr %477) #11
  call void @llvm.memset.p0.i64(ptr align 8 %477, i8 0, i64 24, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr %478) #11
  %17639 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %17639, ptr %478, align 8, !tbaa !9
  br label %17640

17640:                                            ; preds = %17630
  %17641 = load i32, ptr @test_count, align 4, !tbaa !5
  %17642 = add nsw i32 %17641, 1
  store i32 %17642, ptr @test_count, align 4, !tbaa !5
  %17643 = load ptr, ptr %478, align 8, !tbaa !9
  %17644 = icmp eq ptr %17643, null
  br i1 %17644, label %17645, label %17698

17645:                                            ; preds = %17640
  br label %17646

17646:                                            ; preds = %17645
  br label %17647

17647:                                            ; preds = %17646
  call void @llvm.lifetime.start.p0(i64 4, ptr %479) #11
  %17648 = call ptr @__errno_location() #12
  %17649 = load i32, ptr %17648, align 4, !tbaa !5
  store i32 %17649, ptr %479, align 4, !tbaa !5
  %17650 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17651 = call i32 @s2n_print_stacktrace(ptr noundef %17650)
  %17652 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17653 = trunc i8 %17652 to i1
  br i1 %17653, label %17654, label %17676

17654:                                            ; preds = %17647
  %17655 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17656 = call i32 @fileno(ptr noundef %17655) #11
  %17657 = call i32 @isatty(i32 noundef %17656) #11
  %17658 = icmp ne i32 %17657, 0
  br i1 %17658, label %17659, label %17676

17659:                                            ; preds = %17654
  %17660 = load i32, ptr %479, align 4, !tbaa !5
  %17661 = call ptr @__errno_location() #12
  store i32 %17660, ptr %17661, align 4, !tbaa !5
  %17662 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17663 = load i32, ptr @test_count, align 4, !tbaa !5
  %17664 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17665 = load i32, ptr %17664, align 4, !tbaa !5
  %17666 = call ptr @s2n_strerror(i32 noundef %17665, ptr noundef @.str.4)
  %17667 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17668 = load i32, ptr %17667, align 4, !tbaa !5
  %17669 = call ptr @s2n_strerror_debug(i32 noundef %17668, ptr noundef @.str.4)
  %17670 = call ptr @__errno_location() #12
  %17671 = load i32, ptr %17670, align 4, !tbaa !5
  %17672 = call ptr @strerror(i32 noundef %17671) #11
  %17673 = call ptr @__errno_location() #12
  %17674 = load i32, ptr %17673, align 4, !tbaa !5
  %17675 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17662, ptr noundef @.str.2, i32 noundef %17663, ptr noundef @.str.42, ptr noundef @.str.1, i32 noundef 748, ptr noundef %17666, ptr noundef %17669, ptr noundef %17672, i32 noundef %17674) #11
  br label %17693

17676:                                            ; preds = %17654, %17647
  %17677 = load i32, ptr %479, align 4, !tbaa !5
  %17678 = call ptr @__errno_location() #12
  store i32 %17677, ptr %17678, align 4, !tbaa !5
  %17679 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17680 = load i32, ptr @test_count, align 4, !tbaa !5
  %17681 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17682 = load i32, ptr %17681, align 4, !tbaa !5
  %17683 = call ptr @s2n_strerror(i32 noundef %17682, ptr noundef @.str.4)
  %17684 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17685 = load i32, ptr %17684, align 4, !tbaa !5
  %17686 = call ptr @s2n_strerror_debug(i32 noundef %17685, ptr noundef @.str.4)
  %17687 = call ptr @__errno_location() #12
  %17688 = load i32, ptr %17687, align 4, !tbaa !5
  %17689 = call ptr @strerror(i32 noundef %17688) #11
  %17690 = call ptr @__errno_location() #12
  %17691 = load i32, ptr %17690, align 4, !tbaa !5
  %17692 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17679, ptr noundef @.str.5, i32 noundef %17680, ptr noundef @.str.42, ptr noundef @.str.1, i32 noundef 748, ptr noundef %17683, ptr noundef %17686, ptr noundef %17689, i32 noundef %17691) #11
  br label %17693

17693:                                            ; preds = %17676, %17659
  call void @llvm.lifetime.end.p0(i64 4, ptr %479) #11
  br label %17694

17694:                                            ; preds = %17693
  br label %17695

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

17696:                                            ; No predecessors!
  br label %17697

17697:                                            ; preds = %17696
  br label %17698

17698:                                            ; preds = %17697, %17640
  br label %17699

17699:                                            ; preds = %17698
  br label %17700

17700:                                            ; preds = %17699
  br label %17701

17701:                                            ; preds = %17700
  %17702 = load i32, ptr @test_count, align 4, !tbaa !5
  %17703 = add nsw i32 %17702, 1
  store i32 %17703, ptr @test_count, align 4, !tbaa !5
  %17704 = load ptr, ptr %478, align 8, !tbaa !9
  %17705 = load ptr, ptr %398, align 8, !tbaa !9
  %17706 = call i32 @s2n_connection_set_config(ptr noundef %17704, ptr noundef %17705)
  %17707 = icmp eq i32 %17706, -1
  br i1 %17707, label %17708, label %17761

17708:                                            ; preds = %17701
  br label %17709

17709:                                            ; preds = %17708
  br label %17710

17710:                                            ; preds = %17709
  call void @llvm.lifetime.start.p0(i64 4, ptr %480) #11
  %17711 = call ptr @__errno_location() #12
  %17712 = load i32, ptr %17711, align 4, !tbaa !5
  store i32 %17712, ptr %480, align 4, !tbaa !5
  %17713 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17714 = call i32 @s2n_print_stacktrace(ptr noundef %17713)
  %17715 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17716 = trunc i8 %17715 to i1
  br i1 %17716, label %17717, label %17739

17717:                                            ; preds = %17710
  %17718 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17719 = call i32 @fileno(ptr noundef %17718) #11
  %17720 = call i32 @isatty(i32 noundef %17719) #11
  %17721 = icmp ne i32 %17720, 0
  br i1 %17721, label %17722, label %17739

17722:                                            ; preds = %17717
  %17723 = load i32, ptr %480, align 4, !tbaa !5
  %17724 = call ptr @__errno_location() #12
  store i32 %17723, ptr %17724, align 4, !tbaa !5
  %17725 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17726 = load i32, ptr @test_count, align 4, !tbaa !5
  %17727 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17728 = load i32, ptr %17727, align 4, !tbaa !5
  %17729 = call ptr @s2n_strerror(i32 noundef %17728, ptr noundef @.str.4)
  %17730 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17731 = load i32, ptr %17730, align 4, !tbaa !5
  %17732 = call ptr @s2n_strerror_debug(i32 noundef %17731, ptr noundef @.str.4)
  %17733 = call ptr @__errno_location() #12
  %17734 = load i32, ptr %17733, align 4, !tbaa !5
  %17735 = call ptr @strerror(i32 noundef %17734) #11
  %17736 = call ptr @__errno_location() #12
  %17737 = load i32, ptr %17736, align 4, !tbaa !5
  %17738 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17725, ptr noundef @.str.2, i32 noundef %17726, ptr noundef @.str.123, ptr noundef @.str.1, i32 noundef 749, ptr noundef %17729, ptr noundef %17732, ptr noundef %17735, i32 noundef %17737) #11
  br label %17756

17739:                                            ; preds = %17717, %17710
  %17740 = load i32, ptr %480, align 4, !tbaa !5
  %17741 = call ptr @__errno_location() #12
  store i32 %17740, ptr %17741, align 4, !tbaa !5
  %17742 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17743 = load i32, ptr @test_count, align 4, !tbaa !5
  %17744 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17745 = load i32, ptr %17744, align 4, !tbaa !5
  %17746 = call ptr @s2n_strerror(i32 noundef %17745, ptr noundef @.str.4)
  %17747 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17748 = load i32, ptr %17747, align 4, !tbaa !5
  %17749 = call ptr @s2n_strerror_debug(i32 noundef %17748, ptr noundef @.str.4)
  %17750 = call ptr @__errno_location() #12
  %17751 = load i32, ptr %17750, align 4, !tbaa !5
  %17752 = call ptr @strerror(i32 noundef %17751) #11
  %17753 = call ptr @__errno_location() #12
  %17754 = load i32, ptr %17753, align 4, !tbaa !5
  %17755 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17742, ptr noundef @.str.5, i32 noundef %17743, ptr noundef @.str.123, ptr noundef @.str.1, i32 noundef 749, ptr noundef %17746, ptr noundef %17749, ptr noundef %17752, i32 noundef %17754) #11
  br label %17756

17756:                                            ; preds = %17739, %17722
  call void @llvm.lifetime.end.p0(i64 4, ptr %480) #11
  br label %17757

17757:                                            ; preds = %17756
  br label %17758

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

17759:                                            ; No predecessors!
  br label %17760

17760:                                            ; preds = %17759
  br label %17761

17761:                                            ; preds = %17760, %17701
  br label %17762

17762:                                            ; preds = %17761
  br label %17763

17763:                                            ; preds = %17762
  call void @llvm.lifetime.start.p0(i64 8, ptr %481) #11
  %17764 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %17764, ptr %481, align 8, !tbaa !9
  br label %17765

17765:                                            ; preds = %17763
  %17766 = load i32, ptr @test_count, align 4, !tbaa !5
  %17767 = add nsw i32 %17766, 1
  store i32 %17767, ptr @test_count, align 4, !tbaa !5
  %17768 = load ptr, ptr %481, align 8, !tbaa !9
  %17769 = icmp eq ptr %17768, null
  br i1 %17769, label %17770, label %17823

17770:                                            ; preds = %17765
  br label %17771

17771:                                            ; preds = %17770
  br label %17772

17772:                                            ; preds = %17771
  call void @llvm.lifetime.start.p0(i64 4, ptr %482) #11
  %17773 = call ptr @__errno_location() #12
  %17774 = load i32, ptr %17773, align 4, !tbaa !5
  store i32 %17774, ptr %482, align 4, !tbaa !5
  %17775 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17776 = call i32 @s2n_print_stacktrace(ptr noundef %17775)
  %17777 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17778 = trunc i8 %17777 to i1
  br i1 %17778, label %17779, label %17801

17779:                                            ; preds = %17772
  %17780 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17781 = call i32 @fileno(ptr noundef %17780) #11
  %17782 = call i32 @isatty(i32 noundef %17781) #11
  %17783 = icmp ne i32 %17782, 0
  br i1 %17783, label %17784, label %17801

17784:                                            ; preds = %17779
  %17785 = load i32, ptr %482, align 4, !tbaa !5
  %17786 = call ptr @__errno_location() #12
  store i32 %17785, ptr %17786, align 4, !tbaa !5
  %17787 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17788 = load i32, ptr @test_count, align 4, !tbaa !5
  %17789 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17790 = load i32, ptr %17789, align 4, !tbaa !5
  %17791 = call ptr @s2n_strerror(i32 noundef %17790, ptr noundef @.str.4)
  %17792 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17793 = load i32, ptr %17792, align 4, !tbaa !5
  %17794 = call ptr @s2n_strerror_debug(i32 noundef %17793, ptr noundef @.str.4)
  %17795 = call ptr @__errno_location() #12
  %17796 = load i32, ptr %17795, align 4, !tbaa !5
  %17797 = call ptr @strerror(i32 noundef %17796) #11
  %17798 = call ptr @__errno_location() #12
  %17799 = load i32, ptr %17798, align 4, !tbaa !5
  %17800 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17787, ptr noundef @.str.2, i32 noundef %17788, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 755, ptr noundef %17791, ptr noundef %17794, ptr noundef %17797, i32 noundef %17799) #11
  br label %17818

17801:                                            ; preds = %17779, %17772
  %17802 = load i32, ptr %482, align 4, !tbaa !5
  %17803 = call ptr @__errno_location() #12
  store i32 %17802, ptr %17803, align 4, !tbaa !5
  %17804 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17805 = load i32, ptr @test_count, align 4, !tbaa !5
  %17806 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17807 = load i32, ptr %17806, align 4, !tbaa !5
  %17808 = call ptr @s2n_strerror(i32 noundef %17807, ptr noundef @.str.4)
  %17809 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17810 = load i32, ptr %17809, align 4, !tbaa !5
  %17811 = call ptr @s2n_strerror_debug(i32 noundef %17810, ptr noundef @.str.4)
  %17812 = call ptr @__errno_location() #12
  %17813 = load i32, ptr %17812, align 4, !tbaa !5
  %17814 = call ptr @strerror(i32 noundef %17813) #11
  %17815 = call ptr @__errno_location() #12
  %17816 = load i32, ptr %17815, align 4, !tbaa !5
  %17817 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17804, ptr noundef @.str.5, i32 noundef %17805, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 755, ptr noundef %17808, ptr noundef %17811, ptr noundef %17814, i32 noundef %17816) #11
  br label %17818

17818:                                            ; preds = %17801, %17784
  call void @llvm.lifetime.end.p0(i64 4, ptr %482) #11
  br label %17819

17819:                                            ; preds = %17818
  br label %17820

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

17821:                                            ; No predecessors!
  br label %17822

17822:                                            ; preds = %17821
  br label %17823

17823:                                            ; preds = %17822, %17765
  br label %17824

17824:                                            ; preds = %17823
  br label %17825

17825:                                            ; preds = %17824
  br label %17826

17826:                                            ; preds = %17825
  %17827 = load i32, ptr @test_count, align 4, !tbaa !5
  %17828 = add nsw i32 %17827, 1
  store i32 %17828, ptr @test_count, align 4, !tbaa !5
  %17829 = load ptr, ptr %481, align 8, !tbaa !9
  %17830 = load ptr, ptr %398, align 8, !tbaa !9
  %17831 = call i32 @s2n_connection_set_config(ptr noundef %17829, ptr noundef %17830)
  %17832 = icmp eq i32 %17831, -1
  br i1 %17832, label %17833, label %17886

17833:                                            ; preds = %17826
  br label %17834

17834:                                            ; preds = %17833
  br label %17835

17835:                                            ; preds = %17834
  call void @llvm.lifetime.start.p0(i64 4, ptr %483) #11
  %17836 = call ptr @__errno_location() #12
  %17837 = load i32, ptr %17836, align 4, !tbaa !5
  store i32 %17837, ptr %483, align 4, !tbaa !5
  %17838 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17839 = call i32 @s2n_print_stacktrace(ptr noundef %17838)
  %17840 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17841 = trunc i8 %17840 to i1
  br i1 %17841, label %17842, label %17864

17842:                                            ; preds = %17835
  %17843 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17844 = call i32 @fileno(ptr noundef %17843) #11
  %17845 = call i32 @isatty(i32 noundef %17844) #11
  %17846 = icmp ne i32 %17845, 0
  br i1 %17846, label %17847, label %17864

17847:                                            ; preds = %17842
  %17848 = load i32, ptr %483, align 4, !tbaa !5
  %17849 = call ptr @__errno_location() #12
  store i32 %17848, ptr %17849, align 4, !tbaa !5
  %17850 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17851 = load i32, ptr @test_count, align 4, !tbaa !5
  %17852 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17853 = load i32, ptr %17852, align 4, !tbaa !5
  %17854 = call ptr @s2n_strerror(i32 noundef %17853, ptr noundef @.str.4)
  %17855 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17856 = load i32, ptr %17855, align 4, !tbaa !5
  %17857 = call ptr @s2n_strerror_debug(i32 noundef %17856, ptr noundef @.str.4)
  %17858 = call ptr @__errno_location() #12
  %17859 = load i32, ptr %17858, align 4, !tbaa !5
  %17860 = call ptr @strerror(i32 noundef %17859) #11
  %17861 = call ptr @__errno_location() #12
  %17862 = load i32, ptr %17861, align 4, !tbaa !5
  %17863 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17850, ptr noundef @.str.2, i32 noundef %17851, ptr noundef @.str.124, ptr noundef @.str.1, i32 noundef 756, ptr noundef %17854, ptr noundef %17857, ptr noundef %17860, i32 noundef %17862) #11
  br label %17881

17864:                                            ; preds = %17842, %17835
  %17865 = load i32, ptr %483, align 4, !tbaa !5
  %17866 = call ptr @__errno_location() #12
  store i32 %17865, ptr %17866, align 4, !tbaa !5
  %17867 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17868 = load i32, ptr @test_count, align 4, !tbaa !5
  %17869 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17870 = load i32, ptr %17869, align 4, !tbaa !5
  %17871 = call ptr @s2n_strerror(i32 noundef %17870, ptr noundef @.str.4)
  %17872 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17873 = load i32, ptr %17872, align 4, !tbaa !5
  %17874 = call ptr @s2n_strerror_debug(i32 noundef %17873, ptr noundef @.str.4)
  %17875 = call ptr @__errno_location() #12
  %17876 = load i32, ptr %17875, align 4, !tbaa !5
  %17877 = call ptr @strerror(i32 noundef %17876) #11
  %17878 = call ptr @__errno_location() #12
  %17879 = load i32, ptr %17878, align 4, !tbaa !5
  %17880 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17867, ptr noundef @.str.5, i32 noundef %17868, ptr noundef @.str.124, ptr noundef @.str.1, i32 noundef 756, ptr noundef %17871, ptr noundef %17874, ptr noundef %17877, i32 noundef %17879) #11
  br label %17881

17881:                                            ; preds = %17864, %17847
  call void @llvm.lifetime.end.p0(i64 4, ptr %483) #11
  br label %17882

17882:                                            ; preds = %17881
  br label %17883

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

17884:                                            ; No predecessors!
  br label %17885

17885:                                            ; preds = %17884
  br label %17886

17886:                                            ; preds = %17885, %17826
  br label %17887

17887:                                            ; preds = %17886
  br label %17888

17888:                                            ; preds = %17887
  call void @llvm.lifetime.start.p0(i64 80, ptr %484) #11
  call void @llvm.memset.p0.i64(ptr align 8 %484, i8 0, i64 80, i1 false)
  br label %17889

17889:                                            ; preds = %17888
  %17890 = load i32, ptr @test_count, align 4, !tbaa !5
  %17891 = add nsw i32 %17890, 1
  store i32 %17891, ptr @test_count, align 4, !tbaa !5
  %17892 = call i32 @s2n_io_stuffer_pair_init(ptr noundef %484)
  %17893 = getelementptr inbounds %struct.s2n_result, ptr %485, i32 0, i32 0
  store i32 %17892, ptr %17893, align 4
  %17894 = getelementptr inbounds %struct.s2n_result, ptr %485, i32 0, i32 0
  %17895 = load i32, ptr %17894, align 4
  %17896 = call zeroext i1 @s2n_result_is_ok(i32 %17895)
  br i1 %17896, label %17950, label %17897

17897:                                            ; preds = %17889
  br label %17898

17898:                                            ; preds = %17897
  br label %17899

17899:                                            ; preds = %17898
  call void @llvm.lifetime.start.p0(i64 4, ptr %486) #11
  %17900 = call ptr @__errno_location() #12
  %17901 = load i32, ptr %17900, align 4, !tbaa !5
  store i32 %17901, ptr %486, align 4, !tbaa !5
  %17902 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17903 = call i32 @s2n_print_stacktrace(ptr noundef %17902)
  %17904 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17905 = trunc i8 %17904 to i1
  br i1 %17905, label %17906, label %17928

17906:                                            ; preds = %17899
  %17907 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17908 = call i32 @fileno(ptr noundef %17907) #11
  %17909 = call i32 @isatty(i32 noundef %17908) #11
  %17910 = icmp ne i32 %17909, 0
  br i1 %17910, label %17911, label %17928

17911:                                            ; preds = %17906
  %17912 = load i32, ptr %486, align 4, !tbaa !5
  %17913 = call ptr @__errno_location() #12
  store i32 %17912, ptr %17913, align 4, !tbaa !5
  %17914 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17915 = load i32, ptr @test_count, align 4, !tbaa !5
  %17916 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17917 = load i32, ptr %17916, align 4, !tbaa !5
  %17918 = call ptr @s2n_strerror(i32 noundef %17917, ptr noundef @.str.4)
  %17919 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17920 = load i32, ptr %17919, align 4, !tbaa !5
  %17921 = call ptr @s2n_strerror_debug(i32 noundef %17920, ptr noundef @.str.4)
  %17922 = call ptr @__errno_location() #12
  %17923 = load i32, ptr %17922, align 4, !tbaa !5
  %17924 = call ptr @strerror(i32 noundef %17923) #11
  %17925 = call ptr @__errno_location() #12
  %17926 = load i32, ptr %17925, align 4, !tbaa !5
  %17927 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17914, ptr noundef @.str.2, i32 noundef %17915, ptr noundef @.str.46, ptr noundef @.str.1, i32 noundef 759, ptr noundef %17918, ptr noundef %17921, ptr noundef %17924, i32 noundef %17926) #11
  br label %17945

17928:                                            ; preds = %17906, %17899
  %17929 = load i32, ptr %486, align 4, !tbaa !5
  %17930 = call ptr @__errno_location() #12
  store i32 %17929, ptr %17930, align 4, !tbaa !5
  %17931 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17932 = load i32, ptr @test_count, align 4, !tbaa !5
  %17933 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17934 = load i32, ptr %17933, align 4, !tbaa !5
  %17935 = call ptr @s2n_strerror(i32 noundef %17934, ptr noundef @.str.4)
  %17936 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17937 = load i32, ptr %17936, align 4, !tbaa !5
  %17938 = call ptr @s2n_strerror_debug(i32 noundef %17937, ptr noundef @.str.4)
  %17939 = call ptr @__errno_location() #12
  %17940 = load i32, ptr %17939, align 4, !tbaa !5
  %17941 = call ptr @strerror(i32 noundef %17940) #11
  %17942 = call ptr @__errno_location() #12
  %17943 = load i32, ptr %17942, align 4, !tbaa !5
  %17944 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17931, ptr noundef @.str.5, i32 noundef %17932, ptr noundef @.str.46, ptr noundef @.str.1, i32 noundef 759, ptr noundef %17935, ptr noundef %17938, ptr noundef %17941, i32 noundef %17943) #11
  br label %17945

17945:                                            ; preds = %17928, %17911
  call void @llvm.lifetime.end.p0(i64 4, ptr %486) #11
  br label %17946

17946:                                            ; preds = %17945
  br label %17947

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

17948:                                            ; No predecessors!
  br label %17949

17949:                                            ; preds = %17948
  br label %17950

17950:                                            ; preds = %17949, %17889
  br label %17951

17951:                                            ; preds = %17950
  br label %17952

17952:                                            ; preds = %17951
  br label %17953

17953:                                            ; preds = %17952
  %17954 = load i32, ptr @test_count, align 4, !tbaa !5
  %17955 = add nsw i32 %17954, 1
  store i32 %17955, ptr @test_count, align 4, !tbaa !5
  %17956 = load ptr, ptr %478, align 8, !tbaa !9
  %17957 = load ptr, ptr %481, align 8, !tbaa !9
  %17958 = call i32 @s2n_connections_set_io_stuffer_pair(ptr noundef %17956, ptr noundef %17957, ptr noundef %484)
  %17959 = getelementptr inbounds %struct.s2n_result, ptr %487, i32 0, i32 0
  store i32 %17958, ptr %17959, align 4
  %17960 = getelementptr inbounds %struct.s2n_result, ptr %487, i32 0, i32 0
  %17961 = load i32, ptr %17960, align 4
  %17962 = call zeroext i1 @s2n_result_is_ok(i32 %17961)
  br i1 %17962, label %18016, label %17963

17963:                                            ; preds = %17953
  br label %17964

17964:                                            ; preds = %17963
  br label %17965

17965:                                            ; preds = %17964
  call void @llvm.lifetime.start.p0(i64 4, ptr %488) #11
  %17966 = call ptr @__errno_location() #12
  %17967 = load i32, ptr %17966, align 4, !tbaa !5
  store i32 %17967, ptr %488, align 4, !tbaa !5
  %17968 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17969 = call i32 @s2n_print_stacktrace(ptr noundef %17968)
  %17970 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17971 = trunc i8 %17970 to i1
  br i1 %17971, label %17972, label %17994

17972:                                            ; preds = %17965
  %17973 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17974 = call i32 @fileno(ptr noundef %17973) #11
  %17975 = call i32 @isatty(i32 noundef %17974) #11
  %17976 = icmp ne i32 %17975, 0
  br i1 %17976, label %17977, label %17994

17977:                                            ; preds = %17972
  %17978 = load i32, ptr %488, align 4, !tbaa !5
  %17979 = call ptr @__errno_location() #12
  store i32 %17978, ptr %17979, align 4, !tbaa !5
  %17980 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17981 = load i32, ptr @test_count, align 4, !tbaa !5
  %17982 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17983 = load i32, ptr %17982, align 4, !tbaa !5
  %17984 = call ptr @s2n_strerror(i32 noundef %17983, ptr noundef @.str.4)
  %17985 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17986 = load i32, ptr %17985, align 4, !tbaa !5
  %17987 = call ptr @s2n_strerror_debug(i32 noundef %17986, ptr noundef @.str.4)
  %17988 = call ptr @__errno_location() #12
  %17989 = load i32, ptr %17988, align 4, !tbaa !5
  %17990 = call ptr @strerror(i32 noundef %17989) #11
  %17991 = call ptr @__errno_location() #12
  %17992 = load i32, ptr %17991, align 4, !tbaa !5
  %17993 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17980, ptr noundef @.str.2, i32 noundef %17981, ptr noundef @.str.47, ptr noundef @.str.1, i32 noundef 760, ptr noundef %17984, ptr noundef %17987, ptr noundef %17990, i32 noundef %17992) #11
  br label %18011

17994:                                            ; preds = %17972, %17965
  %17995 = load i32, ptr %488, align 4, !tbaa !5
  %17996 = call ptr @__errno_location() #12
  store i32 %17995, ptr %17996, align 4, !tbaa !5
  %17997 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17998 = load i32, ptr @test_count, align 4, !tbaa !5
  %17999 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18000 = load i32, ptr %17999, align 4, !tbaa !5
  %18001 = call ptr @s2n_strerror(i32 noundef %18000, ptr noundef @.str.4)
  %18002 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18003 = load i32, ptr %18002, align 4, !tbaa !5
  %18004 = call ptr @s2n_strerror_debug(i32 noundef %18003, ptr noundef @.str.4)
  %18005 = call ptr @__errno_location() #12
  %18006 = load i32, ptr %18005, align 4, !tbaa !5
  %18007 = call ptr @strerror(i32 noundef %18006) #11
  %18008 = call ptr @__errno_location() #12
  %18009 = load i32, ptr %18008, align 4, !tbaa !5
  %18010 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17997, ptr noundef @.str.5, i32 noundef %17998, ptr noundef @.str.47, ptr noundef @.str.1, i32 noundef 760, ptr noundef %18001, ptr noundef %18004, ptr noundef %18007, i32 noundef %18009) #11
  br label %18011

18011:                                            ; preds = %17994, %17977
  call void @llvm.lifetime.end.p0(i64 4, ptr %488) #11
  br label %18012

18012:                                            ; preds = %18011
  br label %18013

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

18014:                                            ; No predecessors!
  br label %18015

18015:                                            ; preds = %18014
  br label %18016

18016:                                            ; preds = %18015, %17953
  br label %18017

18017:                                            ; preds = %18016
  br label %18018

18018:                                            ; preds = %18017
  br label %18019

18019:                                            ; preds = %18018
  %18020 = load i32, ptr @test_count, align 4, !tbaa !5
  %18021 = add nsw i32 %18020, 1
  store i32 %18021, ptr @test_count, align 4, !tbaa !5
  %18022 = load ptr, ptr %481, align 8, !tbaa !9
  %18023 = load ptr, ptr %478, align 8, !tbaa !9
  %18024 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %18022, ptr noundef %18023)
  %18025 = icmp eq i32 %18024, -1
  br i1 %18025, label %18026, label %18079

18026:                                            ; preds = %18019
  br label %18027

18027:                                            ; preds = %18026
  br label %18028

18028:                                            ; preds = %18027
  call void @llvm.lifetime.start.p0(i64 4, ptr %489) #11
  %18029 = call ptr @__errno_location() #12
  %18030 = load i32, ptr %18029, align 4, !tbaa !5
  store i32 %18030, ptr %489, align 4, !tbaa !5
  %18031 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18032 = call i32 @s2n_print_stacktrace(ptr noundef %18031)
  %18033 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18034 = trunc i8 %18033 to i1
  br i1 %18034, label %18035, label %18057

18035:                                            ; preds = %18028
  %18036 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18037 = call i32 @fileno(ptr noundef %18036) #11
  %18038 = call i32 @isatty(i32 noundef %18037) #11
  %18039 = icmp ne i32 %18038, 0
  br i1 %18039, label %18040, label %18057

18040:                                            ; preds = %18035
  %18041 = load i32, ptr %489, align 4, !tbaa !5
  %18042 = call ptr @__errno_location() #12
  store i32 %18041, ptr %18042, align 4, !tbaa !5
  %18043 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18044 = load i32, ptr @test_count, align 4, !tbaa !5
  %18045 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18046 = load i32, ptr %18045, align 4, !tbaa !5
  %18047 = call ptr @s2n_strerror(i32 noundef %18046, ptr noundef @.str.4)
  %18048 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18049 = load i32, ptr %18048, align 4, !tbaa !5
  %18050 = call ptr @s2n_strerror_debug(i32 noundef %18049, ptr noundef @.str.4)
  %18051 = call ptr @__errno_location() #12
  %18052 = load i32, ptr %18051, align 4, !tbaa !5
  %18053 = call ptr @strerror(i32 noundef %18052) #11
  %18054 = call ptr @__errno_location() #12
  %18055 = load i32, ptr %18054, align 4, !tbaa !5
  %18056 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18043, ptr noundef @.str.2, i32 noundef %18044, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 762, ptr noundef %18047, ptr noundef %18050, ptr noundef %18053, i32 noundef %18055) #11
  br label %18074

18057:                                            ; preds = %18035, %18028
  %18058 = load i32, ptr %489, align 4, !tbaa !5
  %18059 = call ptr @__errno_location() #12
  store i32 %18058, ptr %18059, align 4, !tbaa !5
  %18060 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18061 = load i32, ptr @test_count, align 4, !tbaa !5
  %18062 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18063 = load i32, ptr %18062, align 4, !tbaa !5
  %18064 = call ptr @s2n_strerror(i32 noundef %18063, ptr noundef @.str.4)
  %18065 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18066 = load i32, ptr %18065, align 4, !tbaa !5
  %18067 = call ptr @s2n_strerror_debug(i32 noundef %18066, ptr noundef @.str.4)
  %18068 = call ptr @__errno_location() #12
  %18069 = load i32, ptr %18068, align 4, !tbaa !5
  %18070 = call ptr @strerror(i32 noundef %18069) #11
  %18071 = call ptr @__errno_location() #12
  %18072 = load i32, ptr %18071, align 4, !tbaa !5
  %18073 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18060, ptr noundef @.str.5, i32 noundef %18061, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 762, ptr noundef %18064, ptr noundef %18067, ptr noundef %18070, i32 noundef %18072) #11
  br label %18074

18074:                                            ; preds = %18057, %18040
  call void @llvm.lifetime.end.p0(i64 4, ptr %489) #11
  br label %18075

18075:                                            ; preds = %18074
  br label %18076

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

18077:                                            ; No predecessors!
  br label %18078

18078:                                            ; preds = %18077
  br label %18079

18079:                                            ; preds = %18078, %18019
  br label %18080

18080:                                            ; preds = %18079
  br label %18081

18081:                                            ; preds = %18080
  br label %18082

18082:                                            ; preds = %18081
  %18083 = load i32, ptr @test_count, align 4, !tbaa !5
  %18084 = add nsw i32 %18083, 1
  store i32 %18084, ptr @test_count, align 4, !tbaa !5
  %18085 = load ptr, ptr %481, align 8, !tbaa !9
  %18086 = call i32 @s2n_connection_get_actual_protocol_version(ptr noundef %18085)
  %18087 = icmp eq i32 %18086, 34
  br i1 %18087, label %18141, label %18088

18088:                                            ; preds = %18082
  br label %18089

18089:                                            ; preds = %18088
  br label %18090

18090:                                            ; preds = %18089
  call void @llvm.lifetime.start.p0(i64 4, ptr %490) #11
  %18091 = call ptr @__errno_location() #12
  %18092 = load i32, ptr %18091, align 4, !tbaa !5
  store i32 %18092, ptr %490, align 4, !tbaa !5
  %18093 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18094 = call i32 @s2n_print_stacktrace(ptr noundef %18093)
  %18095 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18096 = trunc i8 %18095 to i1
  br i1 %18096, label %18097, label %18119

18097:                                            ; preds = %18090
  %18098 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18099 = call i32 @fileno(ptr noundef %18098) #11
  %18100 = call i32 @isatty(i32 noundef %18099) #11
  %18101 = icmp ne i32 %18100, 0
  br i1 %18101, label %18102, label %18119

18102:                                            ; preds = %18097
  %18103 = load i32, ptr %490, align 4, !tbaa !5
  %18104 = call ptr @__errno_location() #12
  store i32 %18103, ptr %18104, align 4, !tbaa !5
  %18105 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18106 = load i32, ptr @test_count, align 4, !tbaa !5
  %18107 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18108 = load i32, ptr %18107, align 4, !tbaa !5
  %18109 = call ptr @s2n_strerror(i32 noundef %18108, ptr noundef @.str.4)
  %18110 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18111 = load i32, ptr %18110, align 4, !tbaa !5
  %18112 = call ptr @s2n_strerror_debug(i32 noundef %18111, ptr noundef @.str.4)
  %18113 = call ptr @__errno_location() #12
  %18114 = load i32, ptr %18113, align 4, !tbaa !5
  %18115 = call ptr @strerror(i32 noundef %18114) #11
  %18116 = call ptr @__errno_location() #12
  %18117 = load i32, ptr %18116, align 4, !tbaa !5
  %18118 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18105, ptr noundef @.str.2, i32 noundef %18106, ptr noundef @.str.77, ptr noundef @.str.1, i32 noundef 763, ptr noundef %18109, ptr noundef %18112, ptr noundef %18115, i32 noundef %18117) #11
  br label %18136

18119:                                            ; preds = %18097, %18090
  %18120 = load i32, ptr %490, align 4, !tbaa !5
  %18121 = call ptr @__errno_location() #12
  store i32 %18120, ptr %18121, align 4, !tbaa !5
  %18122 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18123 = load i32, ptr @test_count, align 4, !tbaa !5
  %18124 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18125 = load i32, ptr %18124, align 4, !tbaa !5
  %18126 = call ptr @s2n_strerror(i32 noundef %18125, ptr noundef @.str.4)
  %18127 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18128 = load i32, ptr %18127, align 4, !tbaa !5
  %18129 = call ptr @s2n_strerror_debug(i32 noundef %18128, ptr noundef @.str.4)
  %18130 = call ptr @__errno_location() #12
  %18131 = load i32, ptr %18130, align 4, !tbaa !5
  %18132 = call ptr @strerror(i32 noundef %18131) #11
  %18133 = call ptr @__errno_location() #12
  %18134 = load i32, ptr %18133, align 4, !tbaa !5
  %18135 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18122, ptr noundef @.str.5, i32 noundef %18123, ptr noundef @.str.77, ptr noundef @.str.1, i32 noundef 763, ptr noundef %18126, ptr noundef %18129, ptr noundef %18132, i32 noundef %18134) #11
  br label %18136

18136:                                            ; preds = %18119, %18102
  call void @llvm.lifetime.end.p0(i64 4, ptr %490) #11
  br label %18137

18137:                                            ; preds = %18136
  br label %18138

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

18139:                                            ; No predecessors!
  br label %18140

18140:                                            ; preds = %18139
  br label %18141

18141:                                            ; preds = %18140, %18082
  br label %18142

18142:                                            ; preds = %18141
  br label %18143

18143:                                            ; preds = %18142
  br label %18144

18144:                                            ; preds = %18143
  %18145 = load i32, ptr @test_count, align 4, !tbaa !5
  %18146 = add nsw i32 %18145, 1
  store i32 %18146, ptr @test_count, align 4, !tbaa !5
  %18147 = load ptr, ptr %481, align 8, !tbaa !9
  %18148 = load ptr, ptr %478, align 8, !tbaa !9
  %18149 = call i32 @s2n_send_and_recv_test(ptr noundef %18147, ptr noundef %18148)
  %18150 = getelementptr inbounds %struct.s2n_result, ptr %491, i32 0, i32 0
  store i32 %18149, ptr %18150, align 4
  %18151 = getelementptr inbounds %struct.s2n_result, ptr %491, i32 0, i32 0
  %18152 = load i32, ptr %18151, align 4
  %18153 = call zeroext i1 @s2n_result_is_ok(i32 %18152)
  br i1 %18153, label %18207, label %18154

18154:                                            ; preds = %18144
  br label %18155

18155:                                            ; preds = %18154
  br label %18156

18156:                                            ; preds = %18155
  call void @llvm.lifetime.start.p0(i64 4, ptr %492) #11
  %18157 = call ptr @__errno_location() #12
  %18158 = load i32, ptr %18157, align 4, !tbaa !5
  store i32 %18158, ptr %492, align 4, !tbaa !5
  %18159 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18160 = call i32 @s2n_print_stacktrace(ptr noundef %18159)
  %18161 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18162 = trunc i8 %18161 to i1
  br i1 %18162, label %18163, label %18185

18163:                                            ; preds = %18156
  %18164 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18165 = call i32 @fileno(ptr noundef %18164) #11
  %18166 = call i32 @isatty(i32 noundef %18165) #11
  %18167 = icmp ne i32 %18166, 0
  br i1 %18167, label %18168, label %18185

18168:                                            ; preds = %18163
  %18169 = load i32, ptr %492, align 4, !tbaa !5
  %18170 = call ptr @__errno_location() #12
  store i32 %18169, ptr %18170, align 4, !tbaa !5
  %18171 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18172 = load i32, ptr @test_count, align 4, !tbaa !5
  %18173 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18174 = load i32, ptr %18173, align 4, !tbaa !5
  %18175 = call ptr @s2n_strerror(i32 noundef %18174, ptr noundef @.str.4)
  %18176 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18177 = load i32, ptr %18176, align 4, !tbaa !5
  %18178 = call ptr @s2n_strerror_debug(i32 noundef %18177, ptr noundef @.str.4)
  %18179 = call ptr @__errno_location() #12
  %18180 = load i32, ptr %18179, align 4, !tbaa !5
  %18181 = call ptr @strerror(i32 noundef %18180) #11
  %18182 = call ptr @__errno_location() #12
  %18183 = load i32, ptr %18182, align 4, !tbaa !5
  %18184 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18171, ptr noundef @.str.2, i32 noundef %18172, ptr noundef @.str.103, ptr noundef @.str.1, i32 noundef 766, ptr noundef %18175, ptr noundef %18178, ptr noundef %18181, i32 noundef %18183) #11
  br label %18202

18185:                                            ; preds = %18163, %18156
  %18186 = load i32, ptr %492, align 4, !tbaa !5
  %18187 = call ptr @__errno_location() #12
  store i32 %18186, ptr %18187, align 4, !tbaa !5
  %18188 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18189 = load i32, ptr @test_count, align 4, !tbaa !5
  %18190 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18191 = load i32, ptr %18190, align 4, !tbaa !5
  %18192 = call ptr @s2n_strerror(i32 noundef %18191, ptr noundef @.str.4)
  %18193 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18194 = load i32, ptr %18193, align 4, !tbaa !5
  %18195 = call ptr @s2n_strerror_debug(i32 noundef %18194, ptr noundef @.str.4)
  %18196 = call ptr @__errno_location() #12
  %18197 = load i32, ptr %18196, align 4, !tbaa !5
  %18198 = call ptr @strerror(i32 noundef %18197) #11
  %18199 = call ptr @__errno_location() #12
  %18200 = load i32, ptr %18199, align 4, !tbaa !5
  %18201 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18188, ptr noundef @.str.5, i32 noundef %18189, ptr noundef @.str.103, ptr noundef @.str.1, i32 noundef 766, ptr noundef %18192, ptr noundef %18195, ptr noundef %18198, i32 noundef %18200) #11
  br label %18202

18202:                                            ; preds = %18185, %18168
  call void @llvm.lifetime.end.p0(i64 4, ptr %492) #11
  br label %18203

18203:                                            ; preds = %18202
  br label %18204

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

18205:                                            ; No predecessors!
  br label %18206

18206:                                            ; preds = %18205
  br label %18207

18207:                                            ; preds = %18206, %18144
  br label %18208

18208:                                            ; preds = %18207
  br label %18209

18209:                                            ; preds = %18208
  br label %18210

18210:                                            ; preds = %18209
  %18211 = load i32, ptr @test_count, align 4, !tbaa !5
  %18212 = add nsw i32 %18211, 1
  store i32 %18212, ptr @test_count, align 4, !tbaa !5
  %18213 = load ptr, ptr %478, align 8, !tbaa !9
  %18214 = call i32 @s2n_ticket_pickup(ptr noundef %18213, ptr noundef %476)
  %18215 = getelementptr inbounds %struct.s2n_result, ptr %493, i32 0, i32 0
  store i32 %18214, ptr %18215, align 4
  %18216 = getelementptr inbounds %struct.s2n_result, ptr %493, i32 0, i32 0
  %18217 = load i32, ptr %18216, align 4
  %18218 = call zeroext i1 @s2n_result_is_ok(i32 %18217)
  br i1 %18218, label %18272, label %18219

18219:                                            ; preds = %18210
  br label %18220

18220:                                            ; preds = %18219
  br label %18221

18221:                                            ; preds = %18220
  call void @llvm.lifetime.start.p0(i64 4, ptr %494) #11
  %18222 = call ptr @__errno_location() #12
  %18223 = load i32, ptr %18222, align 4, !tbaa !5
  store i32 %18223, ptr %494, align 4, !tbaa !5
  %18224 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18225 = call i32 @s2n_print_stacktrace(ptr noundef %18224)
  %18226 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18227 = trunc i8 %18226 to i1
  br i1 %18227, label %18228, label %18250

18228:                                            ; preds = %18221
  %18229 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18230 = call i32 @fileno(ptr noundef %18229) #11
  %18231 = call i32 @isatty(i32 noundef %18230) #11
  %18232 = icmp ne i32 %18231, 0
  br i1 %18232, label %18233, label %18250

18233:                                            ; preds = %18228
  %18234 = load i32, ptr %494, align 4, !tbaa !5
  %18235 = call ptr @__errno_location() #12
  store i32 %18234, ptr %18235, align 4, !tbaa !5
  %18236 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18237 = load i32, ptr @test_count, align 4, !tbaa !5
  %18238 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18239 = load i32, ptr %18238, align 4, !tbaa !5
  %18240 = call ptr @s2n_strerror(i32 noundef %18239, ptr noundef @.str.4)
  %18241 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18242 = load i32, ptr %18241, align 4, !tbaa !5
  %18243 = call ptr @s2n_strerror_debug(i32 noundef %18242, ptr noundef @.str.4)
  %18244 = call ptr @__errno_location() #12
  %18245 = load i32, ptr %18244, align 4, !tbaa !5
  %18246 = call ptr @strerror(i32 noundef %18245) #11
  %18247 = call ptr @__errno_location() #12
  %18248 = load i32, ptr %18247, align 4, !tbaa !5
  %18249 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18236, ptr noundef @.str.2, i32 noundef %18237, ptr noundef @.str.131, ptr noundef @.str.1, i32 noundef 767, ptr noundef %18240, ptr noundef %18243, ptr noundef %18246, i32 noundef %18248) #11
  br label %18267

18250:                                            ; preds = %18228, %18221
  %18251 = load i32, ptr %494, align 4, !tbaa !5
  %18252 = call ptr @__errno_location() #12
  store i32 %18251, ptr %18252, align 4, !tbaa !5
  %18253 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18254 = load i32, ptr @test_count, align 4, !tbaa !5
  %18255 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18256 = load i32, ptr %18255, align 4, !tbaa !5
  %18257 = call ptr @s2n_strerror(i32 noundef %18256, ptr noundef @.str.4)
  %18258 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18259 = load i32, ptr %18258, align 4, !tbaa !5
  %18260 = call ptr @s2n_strerror_debug(i32 noundef %18259, ptr noundef @.str.4)
  %18261 = call ptr @__errno_location() #12
  %18262 = load i32, ptr %18261, align 4, !tbaa !5
  %18263 = call ptr @strerror(i32 noundef %18262) #11
  %18264 = call ptr @__errno_location() #12
  %18265 = load i32, ptr %18264, align 4, !tbaa !5
  %18266 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18253, ptr noundef @.str.5, i32 noundef %18254, ptr noundef @.str.131, ptr noundef @.str.1, i32 noundef 767, ptr noundef %18257, ptr noundef %18260, ptr noundef %18263, i32 noundef %18265) #11
  br label %18267

18267:                                            ; preds = %18250, %18233
  call void @llvm.lifetime.end.p0(i64 4, ptr %494) #11
  br label %18268

18268:                                            ; preds = %18267
  br label %18269

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

18270:                                            ; No predecessors!
  br label %18271

18271:                                            ; preds = %18270
  br label %18272

18272:                                            ; preds = %18271, %18210
  br label %18273

18273:                                            ; preds = %18272
  br label %18274

18274:                                            ; preds = %18273
  br label %18275

18275:                                            ; preds = %18274
  %18276 = load i32, ptr @test_count, align 4, !tbaa !5
  %18277 = add nsw i32 %18276, 1
  store i32 %18277, ptr @test_count, align 4, !tbaa !5
  %18278 = load ptr, ptr %481, align 8, !tbaa !9
  %18279 = getelementptr inbounds [142 x i8], ptr %475, i64 0, i64 0
  %18280 = call i32 @s2n_connection_serialize(ptr noundef %18278, ptr noundef %18279, i32 noundef 142)
  %18281 = icmp eq i32 %18280, -1
  br i1 %18281, label %18282, label %18335

18282:                                            ; preds = %18275
  br label %18283

18283:                                            ; preds = %18282
  br label %18284

18284:                                            ; preds = %18283
  call void @llvm.lifetime.start.p0(i64 4, ptr %495) #11
  %18285 = call ptr @__errno_location() #12
  %18286 = load i32, ptr %18285, align 4, !tbaa !5
  store i32 %18286, ptr %495, align 4, !tbaa !5
  %18287 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18288 = call i32 @s2n_print_stacktrace(ptr noundef %18287)
  %18289 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18290 = trunc i8 %18289 to i1
  br i1 %18290, label %18291, label %18313

18291:                                            ; preds = %18284
  %18292 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18293 = call i32 @fileno(ptr noundef %18292) #11
  %18294 = call i32 @isatty(i32 noundef %18293) #11
  %18295 = icmp ne i32 %18294, 0
  br i1 %18295, label %18296, label %18313

18296:                                            ; preds = %18291
  %18297 = load i32, ptr %495, align 4, !tbaa !5
  %18298 = call ptr @__errno_location() #12
  store i32 %18297, ptr %18298, align 4, !tbaa !5
  %18299 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18300 = load i32, ptr @test_count, align 4, !tbaa !5
  %18301 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18302 = load i32, ptr %18301, align 4, !tbaa !5
  %18303 = call ptr @s2n_strerror(i32 noundef %18302, ptr noundef @.str.4)
  %18304 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18305 = load i32, ptr %18304, align 4, !tbaa !5
  %18306 = call ptr @s2n_strerror_debug(i32 noundef %18305, ptr noundef @.str.4)
  %18307 = call ptr @__errno_location() #12
  %18308 = load i32, ptr %18307, align 4, !tbaa !5
  %18309 = call ptr @strerror(i32 noundef %18308) #11
  %18310 = call ptr @__errno_location() #12
  %18311 = load i32, ptr %18310, align 4, !tbaa !5
  %18312 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18299, ptr noundef @.str.2, i32 noundef %18300, ptr noundef @.str.139, ptr noundef @.str.1, i32 noundef 769, ptr noundef %18303, ptr noundef %18306, ptr noundef %18309, i32 noundef %18311) #11
  br label %18330

18313:                                            ; preds = %18291, %18284
  %18314 = load i32, ptr %495, align 4, !tbaa !5
  %18315 = call ptr @__errno_location() #12
  store i32 %18314, ptr %18315, align 4, !tbaa !5
  %18316 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18317 = load i32, ptr @test_count, align 4, !tbaa !5
  %18318 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18319 = load i32, ptr %18318, align 4, !tbaa !5
  %18320 = call ptr @s2n_strerror(i32 noundef %18319, ptr noundef @.str.4)
  %18321 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18322 = load i32, ptr %18321, align 4, !tbaa !5
  %18323 = call ptr @s2n_strerror_debug(i32 noundef %18322, ptr noundef @.str.4)
  %18324 = call ptr @__errno_location() #12
  %18325 = load i32, ptr %18324, align 4, !tbaa !5
  %18326 = call ptr @strerror(i32 noundef %18325) #11
  %18327 = call ptr @__errno_location() #12
  %18328 = load i32, ptr %18327, align 4, !tbaa !5
  %18329 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18316, ptr noundef @.str.5, i32 noundef %18317, ptr noundef @.str.139, ptr noundef @.str.1, i32 noundef 769, ptr noundef %18320, ptr noundef %18323, ptr noundef %18326, i32 noundef %18328) #11
  br label %18330

18330:                                            ; preds = %18313, %18296
  call void @llvm.lifetime.end.p0(i64 4, ptr %495) #11
  br label %18331

18331:                                            ; preds = %18330
  br label %18332

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

18333:                                            ; No predecessors!
  br label %18334

18334:                                            ; preds = %18333
  br label %18335

18335:                                            ; preds = %18334, %18275
  br label %18336

18336:                                            ; preds = %18335
  br label %18337

18337:                                            ; preds = %18336
  %18338 = call i32 @s2n_io_stuffer_pair_free(ptr noundef %484)
  %18339 = getelementptr inbounds %struct.s2n_result, ptr %496, i32 0, i32 0
  store i32 %18338, ptr %18339, align 4
  call void @llvm.lifetime.end.p0(i64 80, ptr %484) #11
  %18340 = call i32 @s2n_connection_ptr_free(ptr noundef %481)
  %18341 = getelementptr inbounds %struct.s2n_result, ptr %497, i32 0, i32 0
  store i32 %18340, ptr %18341, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %481) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %498) #11
  %18342 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %18342, ptr %498, align 8, !tbaa !9
  br label %18343

18343:                                            ; preds = %18337
  %18344 = load i32, ptr @test_count, align 4, !tbaa !5
  %18345 = add nsw i32 %18344, 1
  store i32 %18345, ptr @test_count, align 4, !tbaa !5
  %18346 = load ptr, ptr %498, align 8, !tbaa !9
  %18347 = icmp eq ptr %18346, null
  br i1 %18347, label %18348, label %18401

18348:                                            ; preds = %18343
  br label %18349

18349:                                            ; preds = %18348
  br label %18350

18350:                                            ; preds = %18349
  call void @llvm.lifetime.start.p0(i64 4, ptr %499) #11
  %18351 = call ptr @__errno_location() #12
  %18352 = load i32, ptr %18351, align 4, !tbaa !5
  store i32 %18352, ptr %499, align 4, !tbaa !5
  %18353 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18354 = call i32 @s2n_print_stacktrace(ptr noundef %18353)
  %18355 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18356 = trunc i8 %18355 to i1
  br i1 %18356, label %18357, label %18379

18357:                                            ; preds = %18350
  %18358 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18359 = call i32 @fileno(ptr noundef %18358) #11
  %18360 = call i32 @isatty(i32 noundef %18359) #11
  %18361 = icmp ne i32 %18360, 0
  br i1 %18361, label %18362, label %18379

18362:                                            ; preds = %18357
  %18363 = load i32, ptr %499, align 4, !tbaa !5
  %18364 = call ptr @__errno_location() #12
  store i32 %18363, ptr %18364, align 4, !tbaa !5
  %18365 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18366 = load i32, ptr @test_count, align 4, !tbaa !5
  %18367 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18368 = load i32, ptr %18367, align 4, !tbaa !5
  %18369 = call ptr @s2n_strerror(i32 noundef %18368, ptr noundef @.str.4)
  %18370 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18371 = load i32, ptr %18370, align 4, !tbaa !5
  %18372 = call ptr @s2n_strerror_debug(i32 noundef %18371, ptr noundef @.str.4)
  %18373 = call ptr @__errno_location() #12
  %18374 = load i32, ptr %18373, align 4, !tbaa !5
  %18375 = call ptr @strerror(i32 noundef %18374) #11
  %18376 = call ptr @__errno_location() #12
  %18377 = load i32, ptr %18376, align 4, !tbaa !5
  %18378 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18365, ptr noundef @.str.2, i32 noundef %18366, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 776, ptr noundef %18369, ptr noundef %18372, ptr noundef %18375, i32 noundef %18377) #11
  br label %18396

18379:                                            ; preds = %18357, %18350
  %18380 = load i32, ptr %499, align 4, !tbaa !5
  %18381 = call ptr @__errno_location() #12
  store i32 %18380, ptr %18381, align 4, !tbaa !5
  %18382 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18383 = load i32, ptr @test_count, align 4, !tbaa !5
  %18384 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18385 = load i32, ptr %18384, align 4, !tbaa !5
  %18386 = call ptr @s2n_strerror(i32 noundef %18385, ptr noundef @.str.4)
  %18387 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18388 = load i32, ptr %18387, align 4, !tbaa !5
  %18389 = call ptr @s2n_strerror_debug(i32 noundef %18388, ptr noundef @.str.4)
  %18390 = call ptr @__errno_location() #12
  %18391 = load i32, ptr %18390, align 4, !tbaa !5
  %18392 = call ptr @strerror(i32 noundef %18391) #11
  %18393 = call ptr @__errno_location() #12
  %18394 = load i32, ptr %18393, align 4, !tbaa !5
  %18395 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18382, ptr noundef @.str.5, i32 noundef %18383, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 776, ptr noundef %18386, ptr noundef %18389, ptr noundef %18392, i32 noundef %18394) #11
  br label %18396

18396:                                            ; preds = %18379, %18362
  call void @llvm.lifetime.end.p0(i64 4, ptr %499) #11
  br label %18397

18397:                                            ; preds = %18396
  br label %18398

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

18399:                                            ; No predecessors!
  br label %18400

18400:                                            ; preds = %18399
  br label %18401

18401:                                            ; preds = %18400, %18343
  br label %18402

18402:                                            ; preds = %18401
  br label %18403

18403:                                            ; preds = %18402
  br label %18404

18404:                                            ; preds = %18403
  %18405 = load i32, ptr @test_count, align 4, !tbaa !5
  %18406 = add nsw i32 %18405, 1
  store i32 %18406, ptr @test_count, align 4, !tbaa !5
  %18407 = load ptr, ptr %498, align 8, !tbaa !9
  %18408 = getelementptr inbounds [142 x i8], ptr %475, i64 0, i64 0
  %18409 = call i32 @s2n_connection_deserialize(ptr noundef %18407, ptr noundef %18408, i32 noundef 142)
  %18410 = icmp eq i32 %18409, -1
  br i1 %18410, label %18411, label %18464

18411:                                            ; preds = %18404
  br label %18412

18412:                                            ; preds = %18411
  br label %18413

18413:                                            ; preds = %18412
  call void @llvm.lifetime.start.p0(i64 4, ptr %500) #11
  %18414 = call ptr @__errno_location() #12
  %18415 = load i32, ptr %18414, align 4, !tbaa !5
  store i32 %18415, ptr %500, align 4, !tbaa !5
  %18416 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18417 = call i32 @s2n_print_stacktrace(ptr noundef %18416)
  %18418 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18419 = trunc i8 %18418 to i1
  br i1 %18419, label %18420, label %18442

18420:                                            ; preds = %18413
  %18421 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18422 = call i32 @fileno(ptr noundef %18421) #11
  %18423 = call i32 @isatty(i32 noundef %18422) #11
  %18424 = icmp ne i32 %18423, 0
  br i1 %18424, label %18425, label %18442

18425:                                            ; preds = %18420
  %18426 = load i32, ptr %500, align 4, !tbaa !5
  %18427 = call ptr @__errno_location() #12
  store i32 %18426, ptr %18427, align 4, !tbaa !5
  %18428 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18429 = load i32, ptr @test_count, align 4, !tbaa !5
  %18430 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18431 = load i32, ptr %18430, align 4, !tbaa !5
  %18432 = call ptr @s2n_strerror(i32 noundef %18431, ptr noundef @.str.4)
  %18433 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18434 = load i32, ptr %18433, align 4, !tbaa !5
  %18435 = call ptr @s2n_strerror_debug(i32 noundef %18434, ptr noundef @.str.4)
  %18436 = call ptr @__errno_location() #12
  %18437 = load i32, ptr %18436, align 4, !tbaa !5
  %18438 = call ptr @strerror(i32 noundef %18437) #11
  %18439 = call ptr @__errno_location() #12
  %18440 = load i32, ptr %18439, align 4, !tbaa !5
  %18441 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18428, ptr noundef @.str.2, i32 noundef %18429, ptr noundef @.str.140, ptr noundef @.str.1, i32 noundef 777, ptr noundef %18432, ptr noundef %18435, ptr noundef %18438, i32 noundef %18440) #11
  br label %18459

18442:                                            ; preds = %18420, %18413
  %18443 = load i32, ptr %500, align 4, !tbaa !5
  %18444 = call ptr @__errno_location() #12
  store i32 %18443, ptr %18444, align 4, !tbaa !5
  %18445 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18446 = load i32, ptr @test_count, align 4, !tbaa !5
  %18447 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18448 = load i32, ptr %18447, align 4, !tbaa !5
  %18449 = call ptr @s2n_strerror(i32 noundef %18448, ptr noundef @.str.4)
  %18450 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18451 = load i32, ptr %18450, align 4, !tbaa !5
  %18452 = call ptr @s2n_strerror_debug(i32 noundef %18451, ptr noundef @.str.4)
  %18453 = call ptr @__errno_location() #12
  %18454 = load i32, ptr %18453, align 4, !tbaa !5
  %18455 = call ptr @strerror(i32 noundef %18454) #11
  %18456 = call ptr @__errno_location() #12
  %18457 = load i32, ptr %18456, align 4, !tbaa !5
  %18458 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18445, ptr noundef @.str.5, i32 noundef %18446, ptr noundef @.str.140, ptr noundef @.str.1, i32 noundef 777, ptr noundef %18449, ptr noundef %18452, ptr noundef %18455, i32 noundef %18457) #11
  br label %18459

18459:                                            ; preds = %18442, %18425
  call void @llvm.lifetime.end.p0(i64 4, ptr %500) #11
  br label %18460

18460:                                            ; preds = %18459
  br label %18461

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

18462:                                            ; No predecessors!
  br label %18463

18463:                                            ; preds = %18462
  br label %18464

18464:                                            ; preds = %18463, %18404
  br label %18465

18465:                                            ; preds = %18464
  br label %18466

18466:                                            ; preds = %18465
  br label %18467

18467:                                            ; preds = %18466
  %18468 = load i32, ptr @test_count, align 4, !tbaa !5
  %18469 = add nsw i32 %18468, 1
  store i32 %18469, ptr @test_count, align 4, !tbaa !5
  %18470 = load ptr, ptr %498, align 8, !tbaa !9
  %18471 = load ptr, ptr %398, align 8, !tbaa !9
  %18472 = call i32 @s2n_connection_set_config(ptr noundef %18470, ptr noundef %18471)
  %18473 = icmp eq i32 %18472, -1
  br i1 %18473, label %18474, label %18527

18474:                                            ; preds = %18467
  br label %18475

18475:                                            ; preds = %18474
  br label %18476

18476:                                            ; preds = %18475
  call void @llvm.lifetime.start.p0(i64 4, ptr %501) #11
  %18477 = call ptr @__errno_location() #12
  %18478 = load i32, ptr %18477, align 4, !tbaa !5
  store i32 %18478, ptr %501, align 4, !tbaa !5
  %18479 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18480 = call i32 @s2n_print_stacktrace(ptr noundef %18479)
  %18481 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18482 = trunc i8 %18481 to i1
  br i1 %18482, label %18483, label %18505

18483:                                            ; preds = %18476
  %18484 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18485 = call i32 @fileno(ptr noundef %18484) #11
  %18486 = call i32 @isatty(i32 noundef %18485) #11
  %18487 = icmp ne i32 %18486, 0
  br i1 %18487, label %18488, label %18505

18488:                                            ; preds = %18483
  %18489 = load i32, ptr %501, align 4, !tbaa !5
  %18490 = call ptr @__errno_location() #12
  store i32 %18489, ptr %18490, align 4, !tbaa !5
  %18491 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18492 = load i32, ptr @test_count, align 4, !tbaa !5
  %18493 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18494 = load i32, ptr %18493, align 4, !tbaa !5
  %18495 = call ptr @s2n_strerror(i32 noundef %18494, ptr noundef @.str.4)
  %18496 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18497 = load i32, ptr %18496, align 4, !tbaa !5
  %18498 = call ptr @s2n_strerror_debug(i32 noundef %18497, ptr noundef @.str.4)
  %18499 = call ptr @__errno_location() #12
  %18500 = load i32, ptr %18499, align 4, !tbaa !5
  %18501 = call ptr @strerror(i32 noundef %18500) #11
  %18502 = call ptr @__errno_location() #12
  %18503 = load i32, ptr %18502, align 4, !tbaa !5
  %18504 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18491, ptr noundef @.str.2, i32 noundef %18492, ptr noundef @.str.124, ptr noundef @.str.1, i32 noundef 778, ptr noundef %18495, ptr noundef %18498, ptr noundef %18501, i32 noundef %18503) #11
  br label %18522

18505:                                            ; preds = %18483, %18476
  %18506 = load i32, ptr %501, align 4, !tbaa !5
  %18507 = call ptr @__errno_location() #12
  store i32 %18506, ptr %18507, align 4, !tbaa !5
  %18508 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18509 = load i32, ptr @test_count, align 4, !tbaa !5
  %18510 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18511 = load i32, ptr %18510, align 4, !tbaa !5
  %18512 = call ptr @s2n_strerror(i32 noundef %18511, ptr noundef @.str.4)
  %18513 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18514 = load i32, ptr %18513, align 4, !tbaa !5
  %18515 = call ptr @s2n_strerror_debug(i32 noundef %18514, ptr noundef @.str.4)
  %18516 = call ptr @__errno_location() #12
  %18517 = load i32, ptr %18516, align 4, !tbaa !5
  %18518 = call ptr @strerror(i32 noundef %18517) #11
  %18519 = call ptr @__errno_location() #12
  %18520 = load i32, ptr %18519, align 4, !tbaa !5
  %18521 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18508, ptr noundef @.str.5, i32 noundef %18509, ptr noundef @.str.124, ptr noundef @.str.1, i32 noundef 778, ptr noundef %18512, ptr noundef %18515, ptr noundef %18518, i32 noundef %18520) #11
  br label %18522

18522:                                            ; preds = %18505, %18488
  call void @llvm.lifetime.end.p0(i64 4, ptr %501) #11
  br label %18523

18523:                                            ; preds = %18522
  br label %18524

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

18525:                                            ; No predecessors!
  br label %18526

18526:                                            ; preds = %18525
  br label %18527

18527:                                            ; preds = %18526, %18467
  br label %18528

18528:                                            ; preds = %18527
  br label %18529

18529:                                            ; preds = %18528
  call void @llvm.lifetime.start.p0(i64 80, ptr %502) #11
  call void @llvm.memset.p0.i64(ptr align 8 %502, i8 0, i64 80, i1 false)
  br label %18530

18530:                                            ; preds = %18529
  %18531 = load i32, ptr @test_count, align 4, !tbaa !5
  %18532 = add nsw i32 %18531, 1
  store i32 %18532, ptr @test_count, align 4, !tbaa !5
  %18533 = call i32 @s2n_io_stuffer_pair_init(ptr noundef %502)
  %18534 = getelementptr inbounds %struct.s2n_result, ptr %503, i32 0, i32 0
  store i32 %18533, ptr %18534, align 4
  %18535 = getelementptr inbounds %struct.s2n_result, ptr %503, i32 0, i32 0
  %18536 = load i32, ptr %18535, align 4
  %18537 = call zeroext i1 @s2n_result_is_ok(i32 %18536)
  br i1 %18537, label %18591, label %18538

18538:                                            ; preds = %18530
  br label %18539

18539:                                            ; preds = %18538
  br label %18540

18540:                                            ; preds = %18539
  call void @llvm.lifetime.start.p0(i64 4, ptr %504) #11
  %18541 = call ptr @__errno_location() #12
  %18542 = load i32, ptr %18541, align 4, !tbaa !5
  store i32 %18542, ptr %504, align 4, !tbaa !5
  %18543 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18544 = call i32 @s2n_print_stacktrace(ptr noundef %18543)
  %18545 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18546 = trunc i8 %18545 to i1
  br i1 %18546, label %18547, label %18569

18547:                                            ; preds = %18540
  %18548 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18549 = call i32 @fileno(ptr noundef %18548) #11
  %18550 = call i32 @isatty(i32 noundef %18549) #11
  %18551 = icmp ne i32 %18550, 0
  br i1 %18551, label %18552, label %18569

18552:                                            ; preds = %18547
  %18553 = load i32, ptr %504, align 4, !tbaa !5
  %18554 = call ptr @__errno_location() #12
  store i32 %18553, ptr %18554, align 4, !tbaa !5
  %18555 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18556 = load i32, ptr @test_count, align 4, !tbaa !5
  %18557 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18558 = load i32, ptr %18557, align 4, !tbaa !5
  %18559 = call ptr @s2n_strerror(i32 noundef %18558, ptr noundef @.str.4)
  %18560 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18561 = load i32, ptr %18560, align 4, !tbaa !5
  %18562 = call ptr @s2n_strerror_debug(i32 noundef %18561, ptr noundef @.str.4)
  %18563 = call ptr @__errno_location() #12
  %18564 = load i32, ptr %18563, align 4, !tbaa !5
  %18565 = call ptr @strerror(i32 noundef %18564) #11
  %18566 = call ptr @__errno_location() #12
  %18567 = load i32, ptr %18566, align 4, !tbaa !5
  %18568 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18555, ptr noundef @.str.2, i32 noundef %18556, ptr noundef @.str.46, ptr noundef @.str.1, i32 noundef 781, ptr noundef %18559, ptr noundef %18562, ptr noundef %18565, i32 noundef %18567) #11
  br label %18586

18569:                                            ; preds = %18547, %18540
  %18570 = load i32, ptr %504, align 4, !tbaa !5
  %18571 = call ptr @__errno_location() #12
  store i32 %18570, ptr %18571, align 4, !tbaa !5
  %18572 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18573 = load i32, ptr @test_count, align 4, !tbaa !5
  %18574 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18575 = load i32, ptr %18574, align 4, !tbaa !5
  %18576 = call ptr @s2n_strerror(i32 noundef %18575, ptr noundef @.str.4)
  %18577 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18578 = load i32, ptr %18577, align 4, !tbaa !5
  %18579 = call ptr @s2n_strerror_debug(i32 noundef %18578, ptr noundef @.str.4)
  %18580 = call ptr @__errno_location() #12
  %18581 = load i32, ptr %18580, align 4, !tbaa !5
  %18582 = call ptr @strerror(i32 noundef %18581) #11
  %18583 = call ptr @__errno_location() #12
  %18584 = load i32, ptr %18583, align 4, !tbaa !5
  %18585 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18572, ptr noundef @.str.5, i32 noundef %18573, ptr noundef @.str.46, ptr noundef @.str.1, i32 noundef 781, ptr noundef %18576, ptr noundef %18579, ptr noundef %18582, i32 noundef %18584) #11
  br label %18586

18586:                                            ; preds = %18569, %18552
  call void @llvm.lifetime.end.p0(i64 4, ptr %504) #11
  br label %18587

18587:                                            ; preds = %18586
  br label %18588

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

18589:                                            ; No predecessors!
  br label %18590

18590:                                            ; preds = %18589
  br label %18591

18591:                                            ; preds = %18590, %18530
  br label %18592

18592:                                            ; preds = %18591
  br label %18593

18593:                                            ; preds = %18592
  br label %18594

18594:                                            ; preds = %18593
  %18595 = load i32, ptr @test_count, align 4, !tbaa !5
  %18596 = add nsw i32 %18595, 1
  store i32 %18596, ptr @test_count, align 4, !tbaa !5
  %18597 = load ptr, ptr %478, align 8, !tbaa !9
  %18598 = load ptr, ptr %498, align 8, !tbaa !9
  %18599 = call i32 @s2n_connections_set_io_stuffer_pair(ptr noundef %18597, ptr noundef %18598, ptr noundef %502)
  %18600 = getelementptr inbounds %struct.s2n_result, ptr %505, i32 0, i32 0
  store i32 %18599, ptr %18600, align 4
  %18601 = getelementptr inbounds %struct.s2n_result, ptr %505, i32 0, i32 0
  %18602 = load i32, ptr %18601, align 4
  %18603 = call zeroext i1 @s2n_result_is_ok(i32 %18602)
  br i1 %18603, label %18657, label %18604

18604:                                            ; preds = %18594
  br label %18605

18605:                                            ; preds = %18604
  br label %18606

18606:                                            ; preds = %18605
  call void @llvm.lifetime.start.p0(i64 4, ptr %506) #11
  %18607 = call ptr @__errno_location() #12
  %18608 = load i32, ptr %18607, align 4, !tbaa !5
  store i32 %18608, ptr %506, align 4, !tbaa !5
  %18609 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18610 = call i32 @s2n_print_stacktrace(ptr noundef %18609)
  %18611 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18612 = trunc i8 %18611 to i1
  br i1 %18612, label %18613, label %18635

18613:                                            ; preds = %18606
  %18614 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18615 = call i32 @fileno(ptr noundef %18614) #11
  %18616 = call i32 @isatty(i32 noundef %18615) #11
  %18617 = icmp ne i32 %18616, 0
  br i1 %18617, label %18618, label %18635

18618:                                            ; preds = %18613
  %18619 = load i32, ptr %506, align 4, !tbaa !5
  %18620 = call ptr @__errno_location() #12
  store i32 %18619, ptr %18620, align 4, !tbaa !5
  %18621 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18622 = load i32, ptr @test_count, align 4, !tbaa !5
  %18623 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18624 = load i32, ptr %18623, align 4, !tbaa !5
  %18625 = call ptr @s2n_strerror(i32 noundef %18624, ptr noundef @.str.4)
  %18626 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18627 = load i32, ptr %18626, align 4, !tbaa !5
  %18628 = call ptr @s2n_strerror_debug(i32 noundef %18627, ptr noundef @.str.4)
  %18629 = call ptr @__errno_location() #12
  %18630 = load i32, ptr %18629, align 4, !tbaa !5
  %18631 = call ptr @strerror(i32 noundef %18630) #11
  %18632 = call ptr @__errno_location() #12
  %18633 = load i32, ptr %18632, align 4, !tbaa !5
  %18634 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18621, ptr noundef @.str.2, i32 noundef %18622, ptr noundef @.str.47, ptr noundef @.str.1, i32 noundef 782, ptr noundef %18625, ptr noundef %18628, ptr noundef %18631, i32 noundef %18633) #11
  br label %18652

18635:                                            ; preds = %18613, %18606
  %18636 = load i32, ptr %506, align 4, !tbaa !5
  %18637 = call ptr @__errno_location() #12
  store i32 %18636, ptr %18637, align 4, !tbaa !5
  %18638 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18639 = load i32, ptr @test_count, align 4, !tbaa !5
  %18640 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18641 = load i32, ptr %18640, align 4, !tbaa !5
  %18642 = call ptr @s2n_strerror(i32 noundef %18641, ptr noundef @.str.4)
  %18643 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18644 = load i32, ptr %18643, align 4, !tbaa !5
  %18645 = call ptr @s2n_strerror_debug(i32 noundef %18644, ptr noundef @.str.4)
  %18646 = call ptr @__errno_location() #12
  %18647 = load i32, ptr %18646, align 4, !tbaa !5
  %18648 = call ptr @strerror(i32 noundef %18647) #11
  %18649 = call ptr @__errno_location() #12
  %18650 = load i32, ptr %18649, align 4, !tbaa !5
  %18651 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18638, ptr noundef @.str.5, i32 noundef %18639, ptr noundef @.str.47, ptr noundef @.str.1, i32 noundef 782, ptr noundef %18642, ptr noundef %18645, ptr noundef %18648, i32 noundef %18650) #11
  br label %18652

18652:                                            ; preds = %18635, %18618
  call void @llvm.lifetime.end.p0(i64 4, ptr %506) #11
  br label %18653

18653:                                            ; preds = %18652
  br label %18654

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

18655:                                            ; No predecessors!
  br label %18656

18656:                                            ; preds = %18655
  br label %18657

18657:                                            ; preds = %18656, %18594
  br label %18658

18658:                                            ; preds = %18657
  br label %18659

18659:                                            ; preds = %18658
  br label %18660

18660:                                            ; preds = %18659
  %18661 = load i32, ptr @test_count, align 4, !tbaa !5
  %18662 = add nsw i32 %18661, 1
  store i32 %18662, ptr @test_count, align 4, !tbaa !5
  %18663 = load ptr, ptr %498, align 8, !tbaa !9
  %18664 = load ptr, ptr %478, align 8, !tbaa !9
  %18665 = call i32 @s2n_send_and_recv_test(ptr noundef %18663, ptr noundef %18664)
  %18666 = getelementptr inbounds %struct.s2n_result, ptr %507, i32 0, i32 0
  store i32 %18665, ptr %18666, align 4
  %18667 = getelementptr inbounds %struct.s2n_result, ptr %507, i32 0, i32 0
  %18668 = load i32, ptr %18667, align 4
  %18669 = call zeroext i1 @s2n_result_is_ok(i32 %18668)
  br i1 %18669, label %18723, label %18670

18670:                                            ; preds = %18660
  br label %18671

18671:                                            ; preds = %18670
  br label %18672

18672:                                            ; preds = %18671
  call void @llvm.lifetime.start.p0(i64 4, ptr %508) #11
  %18673 = call ptr @__errno_location() #12
  %18674 = load i32, ptr %18673, align 4, !tbaa !5
  store i32 %18674, ptr %508, align 4, !tbaa !5
  %18675 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18676 = call i32 @s2n_print_stacktrace(ptr noundef %18675)
  %18677 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18678 = trunc i8 %18677 to i1
  br i1 %18678, label %18679, label %18701

18679:                                            ; preds = %18672
  %18680 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18681 = call i32 @fileno(ptr noundef %18680) #11
  %18682 = call i32 @isatty(i32 noundef %18681) #11
  %18683 = icmp ne i32 %18682, 0
  br i1 %18683, label %18684, label %18701

18684:                                            ; preds = %18679
  %18685 = load i32, ptr %508, align 4, !tbaa !5
  %18686 = call ptr @__errno_location() #12
  store i32 %18685, ptr %18686, align 4, !tbaa !5
  %18687 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18688 = load i32, ptr @test_count, align 4, !tbaa !5
  %18689 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18690 = load i32, ptr %18689, align 4, !tbaa !5
  %18691 = call ptr @s2n_strerror(i32 noundef %18690, ptr noundef @.str.4)
  %18692 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18693 = load i32, ptr %18692, align 4, !tbaa !5
  %18694 = call ptr @s2n_strerror_debug(i32 noundef %18693, ptr noundef @.str.4)
  %18695 = call ptr @__errno_location() #12
  %18696 = load i32, ptr %18695, align 4, !tbaa !5
  %18697 = call ptr @strerror(i32 noundef %18696) #11
  %18698 = call ptr @__errno_location() #12
  %18699 = load i32, ptr %18698, align 4, !tbaa !5
  %18700 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18687, ptr noundef @.str.2, i32 noundef %18688, ptr noundef @.str.103, ptr noundef @.str.1, i32 noundef 784, ptr noundef %18691, ptr noundef %18694, ptr noundef %18697, i32 noundef %18699) #11
  br label %18718

18701:                                            ; preds = %18679, %18672
  %18702 = load i32, ptr %508, align 4, !tbaa !5
  %18703 = call ptr @__errno_location() #12
  store i32 %18702, ptr %18703, align 4, !tbaa !5
  %18704 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18705 = load i32, ptr @test_count, align 4, !tbaa !5
  %18706 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18707 = load i32, ptr %18706, align 4, !tbaa !5
  %18708 = call ptr @s2n_strerror(i32 noundef %18707, ptr noundef @.str.4)
  %18709 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18710 = load i32, ptr %18709, align 4, !tbaa !5
  %18711 = call ptr @s2n_strerror_debug(i32 noundef %18710, ptr noundef @.str.4)
  %18712 = call ptr @__errno_location() #12
  %18713 = load i32, ptr %18712, align 4, !tbaa !5
  %18714 = call ptr @strerror(i32 noundef %18713) #11
  %18715 = call ptr @__errno_location() #12
  %18716 = load i32, ptr %18715, align 4, !tbaa !5
  %18717 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18704, ptr noundef @.str.5, i32 noundef %18705, ptr noundef @.str.103, ptr noundef @.str.1, i32 noundef 784, ptr noundef %18708, ptr noundef %18711, ptr noundef %18714, i32 noundef %18716) #11
  br label %18718

18718:                                            ; preds = %18701, %18684
  call void @llvm.lifetime.end.p0(i64 4, ptr %508) #11
  br label %18719

18719:                                            ; preds = %18718
  br label %18720

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

18721:                                            ; No predecessors!
  br label %18722

18722:                                            ; preds = %18721
  br label %18723

18723:                                            ; preds = %18722, %18660
  br label %18724

18724:                                            ; preds = %18723
  br label %18725

18725:                                            ; preds = %18724
  br label %18726

18726:                                            ; preds = %18725
  %18727 = load i32, ptr @test_count, align 4, !tbaa !5
  %18728 = add nsw i32 %18727, 1
  store i32 %18728, ptr @test_count, align 4, !tbaa !5
  %18729 = load ptr, ptr %478, align 8, !tbaa !9
  %18730 = call i32 @s2n_ticket_pickup(ptr noundef %18729, ptr noundef %477)
  %18731 = getelementptr inbounds %struct.s2n_result, ptr %509, i32 0, i32 0
  store i32 %18730, ptr %18731, align 4
  %18732 = getelementptr inbounds %struct.s2n_result, ptr %509, i32 0, i32 0
  %18733 = load i32, ptr %18732, align 4
  %18734 = call zeroext i1 @s2n_result_is_ok(i32 %18733)
  br i1 %18734, label %18788, label %18735

18735:                                            ; preds = %18726
  br label %18736

18736:                                            ; preds = %18735
  br label %18737

18737:                                            ; preds = %18736
  call void @llvm.lifetime.start.p0(i64 4, ptr %510) #11
  %18738 = call ptr @__errno_location() #12
  %18739 = load i32, ptr %18738, align 4, !tbaa !5
  store i32 %18739, ptr %510, align 4, !tbaa !5
  %18740 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18741 = call i32 @s2n_print_stacktrace(ptr noundef %18740)
  %18742 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18743 = trunc i8 %18742 to i1
  br i1 %18743, label %18744, label %18766

18744:                                            ; preds = %18737
  %18745 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18746 = call i32 @fileno(ptr noundef %18745) #11
  %18747 = call i32 @isatty(i32 noundef %18746) #11
  %18748 = icmp ne i32 %18747, 0
  br i1 %18748, label %18749, label %18766

18749:                                            ; preds = %18744
  %18750 = load i32, ptr %510, align 4, !tbaa !5
  %18751 = call ptr @__errno_location() #12
  store i32 %18750, ptr %18751, align 4, !tbaa !5
  %18752 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18753 = load i32, ptr @test_count, align 4, !tbaa !5
  %18754 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18755 = load i32, ptr %18754, align 4, !tbaa !5
  %18756 = call ptr @s2n_strerror(i32 noundef %18755, ptr noundef @.str.4)
  %18757 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18758 = load i32, ptr %18757, align 4, !tbaa !5
  %18759 = call ptr @s2n_strerror_debug(i32 noundef %18758, ptr noundef @.str.4)
  %18760 = call ptr @__errno_location() #12
  %18761 = load i32, ptr %18760, align 4, !tbaa !5
  %18762 = call ptr @strerror(i32 noundef %18761) #11
  %18763 = call ptr @__errno_location() #12
  %18764 = load i32, ptr %18763, align 4, !tbaa !5
  %18765 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18752, ptr noundef @.str.2, i32 noundef %18753, ptr noundef @.str.133, ptr noundef @.str.1, i32 noundef 785, ptr noundef %18756, ptr noundef %18759, ptr noundef %18762, i32 noundef %18764) #11
  br label %18783

18766:                                            ; preds = %18744, %18737
  %18767 = load i32, ptr %510, align 4, !tbaa !5
  %18768 = call ptr @__errno_location() #12
  store i32 %18767, ptr %18768, align 4, !tbaa !5
  %18769 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18770 = load i32, ptr @test_count, align 4, !tbaa !5
  %18771 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18772 = load i32, ptr %18771, align 4, !tbaa !5
  %18773 = call ptr @s2n_strerror(i32 noundef %18772, ptr noundef @.str.4)
  %18774 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18775 = load i32, ptr %18774, align 4, !tbaa !5
  %18776 = call ptr @s2n_strerror_debug(i32 noundef %18775, ptr noundef @.str.4)
  %18777 = call ptr @__errno_location() #12
  %18778 = load i32, ptr %18777, align 4, !tbaa !5
  %18779 = call ptr @strerror(i32 noundef %18778) #11
  %18780 = call ptr @__errno_location() #12
  %18781 = load i32, ptr %18780, align 4, !tbaa !5
  %18782 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18769, ptr noundef @.str.5, i32 noundef %18770, ptr noundef @.str.133, ptr noundef @.str.1, i32 noundef 785, ptr noundef %18773, ptr noundef %18776, ptr noundef %18779, i32 noundef %18781) #11
  br label %18783

18783:                                            ; preds = %18766, %18749
  call void @llvm.lifetime.end.p0(i64 4, ptr %510) #11
  br label %18784

18784:                                            ; preds = %18783
  br label %18785

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

18786:                                            ; No predecessors!
  br label %18787

18787:                                            ; preds = %18786
  br label %18788

18788:                                            ; preds = %18787, %18726
  br label %18789

18789:                                            ; preds = %18788
  br label %18790

18790:                                            ; preds = %18789
  %18791 = call i32 @s2n_io_stuffer_pair_free(ptr noundef %502)
  %18792 = getelementptr inbounds %struct.s2n_result, ptr %511, i32 0, i32 0
  store i32 %18791, ptr %18792, align 4
  call void @llvm.lifetime.end.p0(i64 80, ptr %502) #11
  %18793 = call i32 @s2n_connection_ptr_free(ptr noundef %498)
  %18794 = getelementptr inbounds %struct.s2n_result, ptr %512, i32 0, i32 0
  store i32 %18793, ptr %18794, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %498) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %513) #11
  %18795 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %18795, ptr %513, align 8, !tbaa !9
  br label %18796

18796:                                            ; preds = %18790
  %18797 = load i32, ptr @test_count, align 4, !tbaa !5
  %18798 = add nsw i32 %18797, 1
  store i32 %18798, ptr @test_count, align 4, !tbaa !5
  %18799 = load ptr, ptr %513, align 8, !tbaa !9
  %18800 = icmp eq ptr %18799, null
  br i1 %18800, label %18801, label %18854

18801:                                            ; preds = %18796
  br label %18802

18802:                                            ; preds = %18801
  br label %18803

18803:                                            ; preds = %18802
  call void @llvm.lifetime.start.p0(i64 4, ptr %514) #11
  %18804 = call ptr @__errno_location() #12
  %18805 = load i32, ptr %18804, align 4, !tbaa !5
  store i32 %18805, ptr %514, align 4, !tbaa !5
  %18806 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18807 = call i32 @s2n_print_stacktrace(ptr noundef %18806)
  %18808 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18809 = trunc i8 %18808 to i1
  br i1 %18809, label %18810, label %18832

18810:                                            ; preds = %18803
  %18811 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18812 = call i32 @fileno(ptr noundef %18811) #11
  %18813 = call i32 @isatty(i32 noundef %18812) #11
  %18814 = icmp ne i32 %18813, 0
  br i1 %18814, label %18815, label %18832

18815:                                            ; preds = %18810
  %18816 = load i32, ptr %514, align 4, !tbaa !5
  %18817 = call ptr @__errno_location() #12
  store i32 %18816, ptr %18817, align 4, !tbaa !5
  %18818 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18819 = load i32, ptr @test_count, align 4, !tbaa !5
  %18820 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18821 = load i32, ptr %18820, align 4, !tbaa !5
  %18822 = call ptr @s2n_strerror(i32 noundef %18821, ptr noundef @.str.4)
  %18823 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18824 = load i32, ptr %18823, align 4, !tbaa !5
  %18825 = call ptr @s2n_strerror_debug(i32 noundef %18824, ptr noundef @.str.4)
  %18826 = call ptr @__errno_location() #12
  %18827 = load i32, ptr %18826, align 4, !tbaa !5
  %18828 = call ptr @strerror(i32 noundef %18827) #11
  %18829 = call ptr @__errno_location() #12
  %18830 = load i32, ptr %18829, align 4, !tbaa !5
  %18831 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18818, ptr noundef @.str.2, i32 noundef %18819, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 792, ptr noundef %18822, ptr noundef %18825, ptr noundef %18828, i32 noundef %18830) #11
  br label %18849

18832:                                            ; preds = %18810, %18803
  %18833 = load i32, ptr %514, align 4, !tbaa !5
  %18834 = call ptr @__errno_location() #12
  store i32 %18833, ptr %18834, align 4, !tbaa !5
  %18835 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18836 = load i32, ptr @test_count, align 4, !tbaa !5
  %18837 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18838 = load i32, ptr %18837, align 4, !tbaa !5
  %18839 = call ptr @s2n_strerror(i32 noundef %18838, ptr noundef @.str.4)
  %18840 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18841 = load i32, ptr %18840, align 4, !tbaa !5
  %18842 = call ptr @s2n_strerror_debug(i32 noundef %18841, ptr noundef @.str.4)
  %18843 = call ptr @__errno_location() #12
  %18844 = load i32, ptr %18843, align 4, !tbaa !5
  %18845 = call ptr @strerror(i32 noundef %18844) #11
  %18846 = call ptr @__errno_location() #12
  %18847 = load i32, ptr %18846, align 4, !tbaa !5
  %18848 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18835, ptr noundef @.str.5, i32 noundef %18836, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 792, ptr noundef %18839, ptr noundef %18842, ptr noundef %18845, i32 noundef %18847) #11
  br label %18849

18849:                                            ; preds = %18832, %18815
  call void @llvm.lifetime.end.p0(i64 4, ptr %514) #11
  br label %18850

18850:                                            ; preds = %18849
  br label %18851

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

18852:                                            ; No predecessors!
  br label %18853

18853:                                            ; preds = %18852
  br label %18854

18854:                                            ; preds = %18853, %18796
  br label %18855

18855:                                            ; preds = %18854
  br label %18856

18856:                                            ; preds = %18855
  br label %18857

18857:                                            ; preds = %18856
  %18858 = load i32, ptr @test_count, align 4, !tbaa !5
  %18859 = add nsw i32 %18858, 1
  store i32 %18859, ptr @test_count, align 4, !tbaa !5
  %18860 = load ptr, ptr %513, align 8, !tbaa !9
  %18861 = load ptr, ptr %398, align 8, !tbaa !9
  %18862 = call i32 @s2n_connection_set_config(ptr noundef %18860, ptr noundef %18861)
  %18863 = icmp eq i32 %18862, -1
  br i1 %18863, label %18864, label %18917

18864:                                            ; preds = %18857
  br label %18865

18865:                                            ; preds = %18864
  br label %18866

18866:                                            ; preds = %18865
  call void @llvm.lifetime.start.p0(i64 4, ptr %515) #11
  %18867 = call ptr @__errno_location() #12
  %18868 = load i32, ptr %18867, align 4, !tbaa !5
  store i32 %18868, ptr %515, align 4, !tbaa !5
  %18869 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18870 = call i32 @s2n_print_stacktrace(ptr noundef %18869)
  %18871 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18872 = trunc i8 %18871 to i1
  br i1 %18872, label %18873, label %18895

18873:                                            ; preds = %18866
  %18874 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18875 = call i32 @fileno(ptr noundef %18874) #11
  %18876 = call i32 @isatty(i32 noundef %18875) #11
  %18877 = icmp ne i32 %18876, 0
  br i1 %18877, label %18878, label %18895

18878:                                            ; preds = %18873
  %18879 = load i32, ptr %515, align 4, !tbaa !5
  %18880 = call ptr @__errno_location() #12
  store i32 %18879, ptr %18880, align 4, !tbaa !5
  %18881 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18882 = load i32, ptr @test_count, align 4, !tbaa !5
  %18883 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18884 = load i32, ptr %18883, align 4, !tbaa !5
  %18885 = call ptr @s2n_strerror(i32 noundef %18884, ptr noundef @.str.4)
  %18886 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18887 = load i32, ptr %18886, align 4, !tbaa !5
  %18888 = call ptr @s2n_strerror_debug(i32 noundef %18887, ptr noundef @.str.4)
  %18889 = call ptr @__errno_location() #12
  %18890 = load i32, ptr %18889, align 4, !tbaa !5
  %18891 = call ptr @strerror(i32 noundef %18890) #11
  %18892 = call ptr @__errno_location() #12
  %18893 = load i32, ptr %18892, align 4, !tbaa !5
  %18894 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18881, ptr noundef @.str.2, i32 noundef %18882, ptr noundef @.str.124, ptr noundef @.str.1, i32 noundef 793, ptr noundef %18885, ptr noundef %18888, ptr noundef %18891, i32 noundef %18893) #11
  br label %18912

18895:                                            ; preds = %18873, %18866
  %18896 = load i32, ptr %515, align 4, !tbaa !5
  %18897 = call ptr @__errno_location() #12
  store i32 %18896, ptr %18897, align 4, !tbaa !5
  %18898 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18899 = load i32, ptr @test_count, align 4, !tbaa !5
  %18900 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18901 = load i32, ptr %18900, align 4, !tbaa !5
  %18902 = call ptr @s2n_strerror(i32 noundef %18901, ptr noundef @.str.4)
  %18903 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18904 = load i32, ptr %18903, align 4, !tbaa !5
  %18905 = call ptr @s2n_strerror_debug(i32 noundef %18904, ptr noundef @.str.4)
  %18906 = call ptr @__errno_location() #12
  %18907 = load i32, ptr %18906, align 4, !tbaa !5
  %18908 = call ptr @strerror(i32 noundef %18907) #11
  %18909 = call ptr @__errno_location() #12
  %18910 = load i32, ptr %18909, align 4, !tbaa !5
  %18911 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18898, ptr noundef @.str.5, i32 noundef %18899, ptr noundef @.str.124, ptr noundef @.str.1, i32 noundef 793, ptr noundef %18902, ptr noundef %18905, ptr noundef %18908, i32 noundef %18910) #11
  br label %18912

18912:                                            ; preds = %18895, %18878
  call void @llvm.lifetime.end.p0(i64 4, ptr %515) #11
  br label %18913

18913:                                            ; preds = %18912
  br label %18914

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

18915:                                            ; No predecessors!
  br label %18916

18916:                                            ; preds = %18915
  br label %18917

18917:                                            ; preds = %18916, %18857
  br label %18918

18918:                                            ; preds = %18917
  br label %18919

18919:                                            ; preds = %18918
  br label %18920

18920:                                            ; preds = %18919
  %18921 = load i32, ptr @test_count, align 4, !tbaa !5
  %18922 = add nsw i32 %18921, 1
  store i32 %18922, ptr @test_count, align 4, !tbaa !5
  %18923 = load ptr, ptr %478, align 8, !tbaa !9
  %18924 = call i32 @s2n_connection_wipe(ptr noundef %18923)
  %18925 = icmp eq i32 %18924, -1
  br i1 %18925, label %18926, label %18979

18926:                                            ; preds = %18920
  br label %18927

18927:                                            ; preds = %18926
  br label %18928

18928:                                            ; preds = %18927
  call void @llvm.lifetime.start.p0(i64 4, ptr %516) #11
  %18929 = call ptr @__errno_location() #12
  %18930 = load i32, ptr %18929, align 4, !tbaa !5
  store i32 %18930, ptr %516, align 4, !tbaa !5
  %18931 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18932 = call i32 @s2n_print_stacktrace(ptr noundef %18931)
  %18933 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18934 = trunc i8 %18933 to i1
  br i1 %18934, label %18935, label %18957

18935:                                            ; preds = %18928
  %18936 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18937 = call i32 @fileno(ptr noundef %18936) #11
  %18938 = call i32 @isatty(i32 noundef %18937) #11
  %18939 = icmp ne i32 %18938, 0
  br i1 %18939, label %18940, label %18957

18940:                                            ; preds = %18935
  %18941 = load i32, ptr %516, align 4, !tbaa !5
  %18942 = call ptr @__errno_location() #12
  store i32 %18941, ptr %18942, align 4, !tbaa !5
  %18943 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18944 = load i32, ptr @test_count, align 4, !tbaa !5
  %18945 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18946 = load i32, ptr %18945, align 4, !tbaa !5
  %18947 = call ptr @s2n_strerror(i32 noundef %18946, ptr noundef @.str.4)
  %18948 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18949 = load i32, ptr %18948, align 4, !tbaa !5
  %18950 = call ptr @s2n_strerror_debug(i32 noundef %18949, ptr noundef @.str.4)
  %18951 = call ptr @__errno_location() #12
  %18952 = load i32, ptr %18951, align 4, !tbaa !5
  %18953 = call ptr @strerror(i32 noundef %18952) #11
  %18954 = call ptr @__errno_location() #12
  %18955 = load i32, ptr %18954, align 4, !tbaa !5
  %18956 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18943, ptr noundef @.str.2, i32 noundef %18944, ptr noundef @.str.141, ptr noundef @.str.1, i32 noundef 794, ptr noundef %18947, ptr noundef %18950, ptr noundef %18953, i32 noundef %18955) #11
  br label %18974

18957:                                            ; preds = %18935, %18928
  %18958 = load i32, ptr %516, align 4, !tbaa !5
  %18959 = call ptr @__errno_location() #12
  store i32 %18958, ptr %18959, align 4, !tbaa !5
  %18960 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18961 = load i32, ptr @test_count, align 4, !tbaa !5
  %18962 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18963 = load i32, ptr %18962, align 4, !tbaa !5
  %18964 = call ptr @s2n_strerror(i32 noundef %18963, ptr noundef @.str.4)
  %18965 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18966 = load i32, ptr %18965, align 4, !tbaa !5
  %18967 = call ptr @s2n_strerror_debug(i32 noundef %18966, ptr noundef @.str.4)
  %18968 = call ptr @__errno_location() #12
  %18969 = load i32, ptr %18968, align 4, !tbaa !5
  %18970 = call ptr @strerror(i32 noundef %18969) #11
  %18971 = call ptr @__errno_location() #12
  %18972 = load i32, ptr %18971, align 4, !tbaa !5
  %18973 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18960, ptr noundef @.str.5, i32 noundef %18961, ptr noundef @.str.141, ptr noundef @.str.1, i32 noundef 794, ptr noundef %18964, ptr noundef %18967, ptr noundef %18970, i32 noundef %18972) #11
  br label %18974

18974:                                            ; preds = %18957, %18940
  call void @llvm.lifetime.end.p0(i64 4, ptr %516) #11
  br label %18975

18975:                                            ; preds = %18974
  br label %18976

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

18977:                                            ; No predecessors!
  br label %18978

18978:                                            ; preds = %18977
  br label %18979

18979:                                            ; preds = %18978, %18920
  br label %18980

18980:                                            ; preds = %18979
  br label %18981

18981:                                            ; preds = %18980
  br label %18982

18982:                                            ; preds = %18981
  %18983 = load i32, ptr @test_count, align 4, !tbaa !5
  %18984 = add nsw i32 %18983, 1
  store i32 %18984, ptr @test_count, align 4, !tbaa !5
  %18985 = load ptr, ptr %478, align 8, !tbaa !9
  %18986 = getelementptr inbounds %struct.s2n_blob, ptr %476, i32 0, i32 0
  %18987 = load ptr, ptr %18986, align 8, !tbaa !64
  %18988 = getelementptr inbounds %struct.s2n_blob, ptr %476, i32 0, i32 1
  %18989 = load i32, ptr %18988, align 8, !tbaa !65
  %18990 = zext i32 %18989 to i64
  %18991 = call i32 @s2n_connection_set_session(ptr noundef %18985, ptr noundef %18987, i64 noundef %18990)
  %18992 = icmp eq i32 %18991, -1
  br i1 %18992, label %18993, label %19046

18993:                                            ; preds = %18982
  br label %18994

18994:                                            ; preds = %18993
  br label %18995

18995:                                            ; preds = %18994
  call void @llvm.lifetime.start.p0(i64 4, ptr %517) #11
  %18996 = call ptr @__errno_location() #12
  %18997 = load i32, ptr %18996, align 4, !tbaa !5
  store i32 %18997, ptr %517, align 4, !tbaa !5
  %18998 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18999 = call i32 @s2n_print_stacktrace(ptr noundef %18998)
  %19000 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19001 = trunc i8 %19000 to i1
  br i1 %19001, label %19002, label %19024

19002:                                            ; preds = %18995
  %19003 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19004 = call i32 @fileno(ptr noundef %19003) #11
  %19005 = call i32 @isatty(i32 noundef %19004) #11
  %19006 = icmp ne i32 %19005, 0
  br i1 %19006, label %19007, label %19024

19007:                                            ; preds = %19002
  %19008 = load i32, ptr %517, align 4, !tbaa !5
  %19009 = call ptr @__errno_location() #12
  store i32 %19008, ptr %19009, align 4, !tbaa !5
  %19010 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19011 = load i32, ptr @test_count, align 4, !tbaa !5
  %19012 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19013 = load i32, ptr %19012, align 4, !tbaa !5
  %19014 = call ptr @s2n_strerror(i32 noundef %19013, ptr noundef @.str.4)
  %19015 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19016 = load i32, ptr %19015, align 4, !tbaa !5
  %19017 = call ptr @s2n_strerror_debug(i32 noundef %19016, ptr noundef @.str.4)
  %19018 = call ptr @__errno_location() #12
  %19019 = load i32, ptr %19018, align 4, !tbaa !5
  %19020 = call ptr @strerror(i32 noundef %19019) #11
  %19021 = call ptr @__errno_location() #12
  %19022 = load i32, ptr %19021, align 4, !tbaa !5
  %19023 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19010, ptr noundef @.str.2, i32 noundef %19011, ptr noundef @.str.134, ptr noundef @.str.1, i32 noundef 795, ptr noundef %19014, ptr noundef %19017, ptr noundef %19020, i32 noundef %19022) #11
  br label %19041

19024:                                            ; preds = %19002, %18995
  %19025 = load i32, ptr %517, align 4, !tbaa !5
  %19026 = call ptr @__errno_location() #12
  store i32 %19025, ptr %19026, align 4, !tbaa !5
  %19027 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19028 = load i32, ptr @test_count, align 4, !tbaa !5
  %19029 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19030 = load i32, ptr %19029, align 4, !tbaa !5
  %19031 = call ptr @s2n_strerror(i32 noundef %19030, ptr noundef @.str.4)
  %19032 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19033 = load i32, ptr %19032, align 4, !tbaa !5
  %19034 = call ptr @s2n_strerror_debug(i32 noundef %19033, ptr noundef @.str.4)
  %19035 = call ptr @__errno_location() #12
  %19036 = load i32, ptr %19035, align 4, !tbaa !5
  %19037 = call ptr @strerror(i32 noundef %19036) #11
  %19038 = call ptr @__errno_location() #12
  %19039 = load i32, ptr %19038, align 4, !tbaa !5
  %19040 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19027, ptr noundef @.str.5, i32 noundef %19028, ptr noundef @.str.134, ptr noundef @.str.1, i32 noundef 795, ptr noundef %19031, ptr noundef %19034, ptr noundef %19037, i32 noundef %19039) #11
  br label %19041

19041:                                            ; preds = %19024, %19007
  call void @llvm.lifetime.end.p0(i64 4, ptr %517) #11
  br label %19042

19042:                                            ; preds = %19041
  br label %19043

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

19044:                                            ; No predecessors!
  br label %19045

19045:                                            ; preds = %19044
  br label %19046

19046:                                            ; preds = %19045, %18982
  br label %19047

19047:                                            ; preds = %19046
  br label %19048

19048:                                            ; preds = %19047
  call void @llvm.lifetime.start.p0(i64 80, ptr %518) #11
  call void @llvm.memset.p0.i64(ptr align 8 %518, i8 0, i64 80, i1 false)
  br label %19049

19049:                                            ; preds = %19048
  %19050 = load i32, ptr @test_count, align 4, !tbaa !5
  %19051 = add nsw i32 %19050, 1
  store i32 %19051, ptr @test_count, align 4, !tbaa !5
  %19052 = call i32 @s2n_io_stuffer_pair_init(ptr noundef %518)
  %19053 = getelementptr inbounds %struct.s2n_result, ptr %519, i32 0, i32 0
  store i32 %19052, ptr %19053, align 4
  %19054 = getelementptr inbounds %struct.s2n_result, ptr %519, i32 0, i32 0
  %19055 = load i32, ptr %19054, align 4
  %19056 = call zeroext i1 @s2n_result_is_ok(i32 %19055)
  br i1 %19056, label %19110, label %19057

19057:                                            ; preds = %19049
  br label %19058

19058:                                            ; preds = %19057
  br label %19059

19059:                                            ; preds = %19058
  call void @llvm.lifetime.start.p0(i64 4, ptr %520) #11
  %19060 = call ptr @__errno_location() #12
  %19061 = load i32, ptr %19060, align 4, !tbaa !5
  store i32 %19061, ptr %520, align 4, !tbaa !5
  %19062 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19063 = call i32 @s2n_print_stacktrace(ptr noundef %19062)
  %19064 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19065 = trunc i8 %19064 to i1
  br i1 %19065, label %19066, label %19088

19066:                                            ; preds = %19059
  %19067 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19068 = call i32 @fileno(ptr noundef %19067) #11
  %19069 = call i32 @isatty(i32 noundef %19068) #11
  %19070 = icmp ne i32 %19069, 0
  br i1 %19070, label %19071, label %19088

19071:                                            ; preds = %19066
  %19072 = load i32, ptr %520, align 4, !tbaa !5
  %19073 = call ptr @__errno_location() #12
  store i32 %19072, ptr %19073, align 4, !tbaa !5
  %19074 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19075 = load i32, ptr @test_count, align 4, !tbaa !5
  %19076 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19077 = load i32, ptr %19076, align 4, !tbaa !5
  %19078 = call ptr @s2n_strerror(i32 noundef %19077, ptr noundef @.str.4)
  %19079 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19080 = load i32, ptr %19079, align 4, !tbaa !5
  %19081 = call ptr @s2n_strerror_debug(i32 noundef %19080, ptr noundef @.str.4)
  %19082 = call ptr @__errno_location() #12
  %19083 = load i32, ptr %19082, align 4, !tbaa !5
  %19084 = call ptr @strerror(i32 noundef %19083) #11
  %19085 = call ptr @__errno_location() #12
  %19086 = load i32, ptr %19085, align 4, !tbaa !5
  %19087 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19074, ptr noundef @.str.2, i32 noundef %19075, ptr noundef @.str.46, ptr noundef @.str.1, i32 noundef 798, ptr noundef %19078, ptr noundef %19081, ptr noundef %19084, i32 noundef %19086) #11
  br label %19105

19088:                                            ; preds = %19066, %19059
  %19089 = load i32, ptr %520, align 4, !tbaa !5
  %19090 = call ptr @__errno_location() #12
  store i32 %19089, ptr %19090, align 4, !tbaa !5
  %19091 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19092 = load i32, ptr @test_count, align 4, !tbaa !5
  %19093 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19094 = load i32, ptr %19093, align 4, !tbaa !5
  %19095 = call ptr @s2n_strerror(i32 noundef %19094, ptr noundef @.str.4)
  %19096 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19097 = load i32, ptr %19096, align 4, !tbaa !5
  %19098 = call ptr @s2n_strerror_debug(i32 noundef %19097, ptr noundef @.str.4)
  %19099 = call ptr @__errno_location() #12
  %19100 = load i32, ptr %19099, align 4, !tbaa !5
  %19101 = call ptr @strerror(i32 noundef %19100) #11
  %19102 = call ptr @__errno_location() #12
  %19103 = load i32, ptr %19102, align 4, !tbaa !5
  %19104 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19091, ptr noundef @.str.5, i32 noundef %19092, ptr noundef @.str.46, ptr noundef @.str.1, i32 noundef 798, ptr noundef %19095, ptr noundef %19098, ptr noundef %19101, i32 noundef %19103) #11
  br label %19105

19105:                                            ; preds = %19088, %19071
  call void @llvm.lifetime.end.p0(i64 4, ptr %520) #11
  br label %19106

19106:                                            ; preds = %19105
  br label %19107

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

19108:                                            ; No predecessors!
  br label %19109

19109:                                            ; preds = %19108
  br label %19110

19110:                                            ; preds = %19109, %19049
  br label %19111

19111:                                            ; preds = %19110
  br label %19112

19112:                                            ; preds = %19111
  br label %19113

19113:                                            ; preds = %19112
  %19114 = load i32, ptr @test_count, align 4, !tbaa !5
  %19115 = add nsw i32 %19114, 1
  store i32 %19115, ptr @test_count, align 4, !tbaa !5
  %19116 = load ptr, ptr %478, align 8, !tbaa !9
  %19117 = load ptr, ptr %513, align 8, !tbaa !9
  %19118 = call i32 @s2n_connections_set_io_stuffer_pair(ptr noundef %19116, ptr noundef %19117, ptr noundef %518)
  %19119 = getelementptr inbounds %struct.s2n_result, ptr %521, i32 0, i32 0
  store i32 %19118, ptr %19119, align 4
  %19120 = getelementptr inbounds %struct.s2n_result, ptr %521, i32 0, i32 0
  %19121 = load i32, ptr %19120, align 4
  %19122 = call zeroext i1 @s2n_result_is_ok(i32 %19121)
  br i1 %19122, label %19176, label %19123

19123:                                            ; preds = %19113
  br label %19124

19124:                                            ; preds = %19123
  br label %19125

19125:                                            ; preds = %19124
  call void @llvm.lifetime.start.p0(i64 4, ptr %522) #11
  %19126 = call ptr @__errno_location() #12
  %19127 = load i32, ptr %19126, align 4, !tbaa !5
  store i32 %19127, ptr %522, align 4, !tbaa !5
  %19128 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19129 = call i32 @s2n_print_stacktrace(ptr noundef %19128)
  %19130 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19131 = trunc i8 %19130 to i1
  br i1 %19131, label %19132, label %19154

19132:                                            ; preds = %19125
  %19133 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19134 = call i32 @fileno(ptr noundef %19133) #11
  %19135 = call i32 @isatty(i32 noundef %19134) #11
  %19136 = icmp ne i32 %19135, 0
  br i1 %19136, label %19137, label %19154

19137:                                            ; preds = %19132
  %19138 = load i32, ptr %522, align 4, !tbaa !5
  %19139 = call ptr @__errno_location() #12
  store i32 %19138, ptr %19139, align 4, !tbaa !5
  %19140 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19141 = load i32, ptr @test_count, align 4, !tbaa !5
  %19142 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19143 = load i32, ptr %19142, align 4, !tbaa !5
  %19144 = call ptr @s2n_strerror(i32 noundef %19143, ptr noundef @.str.4)
  %19145 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19146 = load i32, ptr %19145, align 4, !tbaa !5
  %19147 = call ptr @s2n_strerror_debug(i32 noundef %19146, ptr noundef @.str.4)
  %19148 = call ptr @__errno_location() #12
  %19149 = load i32, ptr %19148, align 4, !tbaa !5
  %19150 = call ptr @strerror(i32 noundef %19149) #11
  %19151 = call ptr @__errno_location() #12
  %19152 = load i32, ptr %19151, align 4, !tbaa !5
  %19153 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19140, ptr noundef @.str.2, i32 noundef %19141, ptr noundef @.str.47, ptr noundef @.str.1, i32 noundef 799, ptr noundef %19144, ptr noundef %19147, ptr noundef %19150, i32 noundef %19152) #11
  br label %19171

19154:                                            ; preds = %19132, %19125
  %19155 = load i32, ptr %522, align 4, !tbaa !5
  %19156 = call ptr @__errno_location() #12
  store i32 %19155, ptr %19156, align 4, !tbaa !5
  %19157 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19158 = load i32, ptr @test_count, align 4, !tbaa !5
  %19159 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19160 = load i32, ptr %19159, align 4, !tbaa !5
  %19161 = call ptr @s2n_strerror(i32 noundef %19160, ptr noundef @.str.4)
  %19162 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19163 = load i32, ptr %19162, align 4, !tbaa !5
  %19164 = call ptr @s2n_strerror_debug(i32 noundef %19163, ptr noundef @.str.4)
  %19165 = call ptr @__errno_location() #12
  %19166 = load i32, ptr %19165, align 4, !tbaa !5
  %19167 = call ptr @strerror(i32 noundef %19166) #11
  %19168 = call ptr @__errno_location() #12
  %19169 = load i32, ptr %19168, align 4, !tbaa !5
  %19170 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19157, ptr noundef @.str.5, i32 noundef %19158, ptr noundef @.str.47, ptr noundef @.str.1, i32 noundef 799, ptr noundef %19161, ptr noundef %19164, ptr noundef %19167, i32 noundef %19169) #11
  br label %19171

19171:                                            ; preds = %19154, %19137
  call void @llvm.lifetime.end.p0(i64 4, ptr %522) #11
  br label %19172

19172:                                            ; preds = %19171
  br label %19173

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

19174:                                            ; No predecessors!
  br label %19175

19175:                                            ; preds = %19174
  br label %19176

19176:                                            ; preds = %19175, %19113
  br label %19177

19177:                                            ; preds = %19176
  br label %19178

19178:                                            ; preds = %19177
  br label %19179

19179:                                            ; preds = %19178
  %19180 = load i32, ptr @test_count, align 4, !tbaa !5
  %19181 = add nsw i32 %19180, 1
  store i32 %19181, ptr @test_count, align 4, !tbaa !5
  %19182 = load ptr, ptr %513, align 8, !tbaa !9
  %19183 = load ptr, ptr %478, align 8, !tbaa !9
  %19184 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %19182, ptr noundef %19183)
  %19185 = icmp eq i32 %19184, -1
  br i1 %19185, label %19186, label %19239

19186:                                            ; preds = %19179
  br label %19187

19187:                                            ; preds = %19186
  br label %19188

19188:                                            ; preds = %19187
  call void @llvm.lifetime.start.p0(i64 4, ptr %523) #11
  %19189 = call ptr @__errno_location() #12
  %19190 = load i32, ptr %19189, align 4, !tbaa !5
  store i32 %19190, ptr %523, align 4, !tbaa !5
  %19191 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19192 = call i32 @s2n_print_stacktrace(ptr noundef %19191)
  %19193 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19194 = trunc i8 %19193 to i1
  br i1 %19194, label %19195, label %19217

19195:                                            ; preds = %19188
  %19196 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19197 = call i32 @fileno(ptr noundef %19196) #11
  %19198 = call i32 @isatty(i32 noundef %19197) #11
  %19199 = icmp ne i32 %19198, 0
  br i1 %19199, label %19200, label %19217

19200:                                            ; preds = %19195
  %19201 = load i32, ptr %523, align 4, !tbaa !5
  %19202 = call ptr @__errno_location() #12
  store i32 %19201, ptr %19202, align 4, !tbaa !5
  %19203 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19204 = load i32, ptr @test_count, align 4, !tbaa !5
  %19205 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19206 = load i32, ptr %19205, align 4, !tbaa !5
  %19207 = call ptr @s2n_strerror(i32 noundef %19206, ptr noundef @.str.4)
  %19208 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19209 = load i32, ptr %19208, align 4, !tbaa !5
  %19210 = call ptr @s2n_strerror_debug(i32 noundef %19209, ptr noundef @.str.4)
  %19211 = call ptr @__errno_location() #12
  %19212 = load i32, ptr %19211, align 4, !tbaa !5
  %19213 = call ptr @strerror(i32 noundef %19212) #11
  %19214 = call ptr @__errno_location() #12
  %19215 = load i32, ptr %19214, align 4, !tbaa !5
  %19216 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19203, ptr noundef @.str.2, i32 noundef %19204, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 801, ptr noundef %19207, ptr noundef %19210, ptr noundef %19213, i32 noundef %19215) #11
  br label %19234

19217:                                            ; preds = %19195, %19188
  %19218 = load i32, ptr %523, align 4, !tbaa !5
  %19219 = call ptr @__errno_location() #12
  store i32 %19218, ptr %19219, align 4, !tbaa !5
  %19220 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19221 = load i32, ptr @test_count, align 4, !tbaa !5
  %19222 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19223 = load i32, ptr %19222, align 4, !tbaa !5
  %19224 = call ptr @s2n_strerror(i32 noundef %19223, ptr noundef @.str.4)
  %19225 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19226 = load i32, ptr %19225, align 4, !tbaa !5
  %19227 = call ptr @s2n_strerror_debug(i32 noundef %19226, ptr noundef @.str.4)
  %19228 = call ptr @__errno_location() #12
  %19229 = load i32, ptr %19228, align 4, !tbaa !5
  %19230 = call ptr @strerror(i32 noundef %19229) #11
  %19231 = call ptr @__errno_location() #12
  %19232 = load i32, ptr %19231, align 4, !tbaa !5
  %19233 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19220, ptr noundef @.str.5, i32 noundef %19221, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 801, ptr noundef %19224, ptr noundef %19227, ptr noundef %19230, i32 noundef %19232) #11
  br label %19234

19234:                                            ; preds = %19217, %19200
  call void @llvm.lifetime.end.p0(i64 4, ptr %523) #11
  br label %19235

19235:                                            ; preds = %19234
  br label %19236

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

19237:                                            ; No predecessors!
  br label %19238

19238:                                            ; preds = %19237
  br label %19239

19239:                                            ; preds = %19238, %19179
  br label %19240

19240:                                            ; preds = %19239
  br label %19241

19241:                                            ; preds = %19240
  br label %19242

19242:                                            ; preds = %19241
  %19243 = load i32, ptr @test_count, align 4, !tbaa !5
  %19244 = add nsw i32 %19243, 1
  store i32 %19244, ptr @test_count, align 4, !tbaa !5
  %19245 = load ptr, ptr %478, align 8, !tbaa !9
  %19246 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef %19245, i32 noundef 2)
  br i1 %19246, label %19247, label %19300

19247:                                            ; preds = %19242
  br label %19248

19248:                                            ; preds = %19247
  br label %19249

19249:                                            ; preds = %19248
  call void @llvm.lifetime.start.p0(i64 4, ptr %524) #11
  %19250 = call ptr @__errno_location() #12
  %19251 = load i32, ptr %19250, align 4, !tbaa !5
  store i32 %19251, ptr %524, align 4, !tbaa !5
  %19252 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19253 = call i32 @s2n_print_stacktrace(ptr noundef %19252)
  %19254 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19255 = trunc i8 %19254 to i1
  br i1 %19255, label %19256, label %19278

19256:                                            ; preds = %19249
  %19257 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19258 = call i32 @fileno(ptr noundef %19257) #11
  %19259 = call i32 @isatty(i32 noundef %19258) #11
  %19260 = icmp ne i32 %19259, 0
  br i1 %19260, label %19261, label %19278

19261:                                            ; preds = %19256
  %19262 = load i32, ptr %524, align 4, !tbaa !5
  %19263 = call ptr @__errno_location() #12
  store i32 %19262, ptr %19263, align 4, !tbaa !5
  %19264 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19265 = load i32, ptr @test_count, align 4, !tbaa !5
  %19266 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19267 = load i32, ptr %19266, align 4, !tbaa !5
  %19268 = call ptr @s2n_strerror(i32 noundef %19267, ptr noundef @.str.4)
  %19269 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19270 = load i32, ptr %19269, align 4, !tbaa !5
  %19271 = call ptr @s2n_strerror_debug(i32 noundef %19270, ptr noundef @.str.4)
  %19272 = call ptr @__errno_location() #12
  %19273 = load i32, ptr %19272, align 4, !tbaa !5
  %19274 = call ptr @strerror(i32 noundef %19273) #11
  %19275 = call ptr @__errno_location() #12
  %19276 = load i32, ptr %19275, align 4, !tbaa !5
  %19277 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19264, ptr noundef @.str.2, i32 noundef %19265, ptr noundef @.str.136, ptr noundef @.str.1, i32 noundef 802, ptr noundef %19268, ptr noundef %19271, ptr noundef %19274, i32 noundef %19276) #11
  br label %19295

19278:                                            ; preds = %19256, %19249
  %19279 = load i32, ptr %524, align 4, !tbaa !5
  %19280 = call ptr @__errno_location() #12
  store i32 %19279, ptr %19280, align 4, !tbaa !5
  %19281 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19282 = load i32, ptr @test_count, align 4, !tbaa !5
  %19283 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19284 = load i32, ptr %19283, align 4, !tbaa !5
  %19285 = call ptr @s2n_strerror(i32 noundef %19284, ptr noundef @.str.4)
  %19286 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19287 = load i32, ptr %19286, align 4, !tbaa !5
  %19288 = call ptr @s2n_strerror_debug(i32 noundef %19287, ptr noundef @.str.4)
  %19289 = call ptr @__errno_location() #12
  %19290 = load i32, ptr %19289, align 4, !tbaa !5
  %19291 = call ptr @strerror(i32 noundef %19290) #11
  %19292 = call ptr @__errno_location() #12
  %19293 = load i32, ptr %19292, align 4, !tbaa !5
  %19294 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19281, ptr noundef @.str.5, i32 noundef %19282, ptr noundef @.str.136, ptr noundef @.str.1, i32 noundef 802, ptr noundef %19285, ptr noundef %19288, ptr noundef %19291, i32 noundef %19293) #11
  br label %19295

19295:                                            ; preds = %19278, %19261
  call void @llvm.lifetime.end.p0(i64 4, ptr %524) #11
  br label %19296

19296:                                            ; preds = %19295
  br label %19297

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

19298:                                            ; No predecessors!
  br label %19299

19299:                                            ; preds = %19298
  br label %19300

19300:                                            ; preds = %19299, %19242
  br label %19301

19301:                                            ; preds = %19300
  br label %19302

19302:                                            ; preds = %19301
  br label %19303

19303:                                            ; preds = %19302
  %19304 = load i32, ptr @test_count, align 4, !tbaa !5
  %19305 = add nsw i32 %19304, 1
  store i32 %19305, ptr @test_count, align 4, !tbaa !5
  %19306 = load ptr, ptr %513, align 8, !tbaa !9
  %19307 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef %19306, i32 noundef 2)
  br i1 %19307, label %19308, label %19361

19308:                                            ; preds = %19303
  br label %19309

19309:                                            ; preds = %19308
  br label %19310

19310:                                            ; preds = %19309
  call void @llvm.lifetime.start.p0(i64 4, ptr %525) #11
  %19311 = call ptr @__errno_location() #12
  %19312 = load i32, ptr %19311, align 4, !tbaa !5
  store i32 %19312, ptr %525, align 4, !tbaa !5
  %19313 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19314 = call i32 @s2n_print_stacktrace(ptr noundef %19313)
  %19315 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19316 = trunc i8 %19315 to i1
  br i1 %19316, label %19317, label %19339

19317:                                            ; preds = %19310
  %19318 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19319 = call i32 @fileno(ptr noundef %19318) #11
  %19320 = call i32 @isatty(i32 noundef %19319) #11
  %19321 = icmp ne i32 %19320, 0
  br i1 %19321, label %19322, label %19339

19322:                                            ; preds = %19317
  %19323 = load i32, ptr %525, align 4, !tbaa !5
  %19324 = call ptr @__errno_location() #12
  store i32 %19323, ptr %19324, align 4, !tbaa !5
  %19325 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19326 = load i32, ptr @test_count, align 4, !tbaa !5
  %19327 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19328 = load i32, ptr %19327, align 4, !tbaa !5
  %19329 = call ptr @s2n_strerror(i32 noundef %19328, ptr noundef @.str.4)
  %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_debug(i32 noundef %19331, ptr noundef @.str.4)
  %19333 = call ptr @__errno_location() #12
  %19334 = load i32, ptr %19333, align 4, !tbaa !5
  %19335 = call ptr @strerror(i32 noundef %19334) #11
  %19336 = call ptr @__errno_location() #12
  %19337 = load i32, ptr %19336, align 4, !tbaa !5
  %19338 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19325, ptr noundef @.str.2, i32 noundef %19326, ptr noundef @.str.137, ptr noundef @.str.1, i32 noundef 803, ptr noundef %19329, ptr noundef %19332, ptr noundef %19335, i32 noundef %19337) #11
  br label %19356

19339:                                            ; preds = %19317, %19310
  %19340 = load i32, ptr %525, align 4, !tbaa !5
  %19341 = call ptr @__errno_location() #12
  store i32 %19340, ptr %19341, align 4, !tbaa !5
  %19342 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19343 = load i32, ptr @test_count, align 4, !tbaa !5
  %19344 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19345 = load i32, ptr %19344, align 4, !tbaa !5
  %19346 = call ptr @s2n_strerror(i32 noundef %19345, ptr noundef @.str.4)
  %19347 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19348 = load i32, ptr %19347, align 4, !tbaa !5
  %19349 = call ptr @s2n_strerror_debug(i32 noundef %19348, ptr noundef @.str.4)
  %19350 = call ptr @__errno_location() #12
  %19351 = load i32, ptr %19350, align 4, !tbaa !5
  %19352 = call ptr @strerror(i32 noundef %19351) #11
  %19353 = call ptr @__errno_location() #12
  %19354 = load i32, ptr %19353, align 4, !tbaa !5
  %19355 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19342, ptr noundef @.str.5, i32 noundef %19343, ptr noundef @.str.137, ptr noundef @.str.1, i32 noundef 803, ptr noundef %19346, ptr noundef %19349, ptr noundef %19352, i32 noundef %19354) #11
  br label %19356

19356:                                            ; preds = %19339, %19322
  call void @llvm.lifetime.end.p0(i64 4, ptr %525) #11
  br label %19357

19357:                                            ; preds = %19356
  br label %19358

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

19359:                                            ; No predecessors!
  br label %19360

19360:                                            ; preds = %19359
  br label %19361

19361:                                            ; preds = %19360, %19303
  br label %19362

19362:                                            ; preds = %19361
  br label %19363

19363:                                            ; preds = %19362
  %19364 = call i32 @s2n_io_stuffer_pair_free(ptr noundef %518)
  %19365 = getelementptr inbounds %struct.s2n_result, ptr %526, i32 0, i32 0
  store i32 %19364, ptr %19365, align 4
  call void @llvm.lifetime.end.p0(i64 80, ptr %518) #11
  %19366 = call i32 @s2n_connection_ptr_free(ptr noundef %513)
  %19367 = getelementptr inbounds %struct.s2n_result, ptr %527, i32 0, i32 0
  store i32 %19366, ptr %19367, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %513) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %528) #11
  %19368 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %19368, ptr %528, align 8, !tbaa !9
  br label %19369

19369:                                            ; preds = %19363
  %19370 = load i32, ptr @test_count, align 4, !tbaa !5
  %19371 = add nsw i32 %19370, 1
  store i32 %19371, ptr @test_count, align 4, !tbaa !5
  %19372 = load ptr, ptr %528, align 8, !tbaa !9
  %19373 = icmp eq ptr %19372, null
  br i1 %19373, label %19374, label %19427

19374:                                            ; preds = %19369
  br label %19375

19375:                                            ; preds = %19374
  br label %19376

19376:                                            ; preds = %19375
  call void @llvm.lifetime.start.p0(i64 4, ptr %529) #11
  %19377 = call ptr @__errno_location() #12
  %19378 = load i32, ptr %19377, align 4, !tbaa !5
  store i32 %19378, ptr %529, align 4, !tbaa !5
  %19379 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19380 = call i32 @s2n_print_stacktrace(ptr noundef %19379)
  %19381 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19382 = trunc i8 %19381 to i1
  br i1 %19382, label %19383, label %19405

19383:                                            ; preds = %19376
  %19384 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19385 = call i32 @fileno(ptr noundef %19384) #11
  %19386 = call i32 @isatty(i32 noundef %19385) #11
  %19387 = icmp ne i32 %19386, 0
  br i1 %19387, label %19388, label %19405

19388:                                            ; preds = %19383
  %19389 = load i32, ptr %529, align 4, !tbaa !5
  %19390 = call ptr @__errno_location() #12
  store i32 %19389, ptr %19390, align 4, !tbaa !5
  %19391 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19392 = load i32, ptr @test_count, align 4, !tbaa !5
  %19393 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19394 = load i32, ptr %19393, align 4, !tbaa !5
  %19395 = call ptr @s2n_strerror(i32 noundef %19394, ptr noundef @.str.4)
  %19396 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19397 = load i32, ptr %19396, align 4, !tbaa !5
  %19398 = call ptr @s2n_strerror_debug(i32 noundef %19397, ptr noundef @.str.4)
  %19399 = call ptr @__errno_location() #12
  %19400 = load i32, ptr %19399, align 4, !tbaa !5
  %19401 = call ptr @strerror(i32 noundef %19400) #11
  %19402 = call ptr @__errno_location() #12
  %19403 = load i32, ptr %19402, align 4, !tbaa !5
  %19404 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19391, ptr noundef @.str.2, i32 noundef %19392, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 810, ptr noundef %19395, ptr noundef %19398, ptr noundef %19401, i32 noundef %19403) #11
  br label %19422

19405:                                            ; preds = %19383, %19376
  %19406 = load i32, ptr %529, align 4, !tbaa !5
  %19407 = call ptr @__errno_location() #12
  store i32 %19406, ptr %19407, align 4, !tbaa !5
  %19408 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19409 = load i32, ptr @test_count, align 4, !tbaa !5
  %19410 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19411 = load i32, ptr %19410, align 4, !tbaa !5
  %19412 = call ptr @s2n_strerror(i32 noundef %19411, ptr noundef @.str.4)
  %19413 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19414 = load i32, ptr %19413, align 4, !tbaa !5
  %19415 = call ptr @s2n_strerror_debug(i32 noundef %19414, ptr noundef @.str.4)
  %19416 = call ptr @__errno_location() #12
  %19417 = load i32, ptr %19416, align 4, !tbaa !5
  %19418 = call ptr @strerror(i32 noundef %19417) #11
  %19419 = call ptr @__errno_location() #12
  %19420 = load i32, ptr %19419, align 4, !tbaa !5
  %19421 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19408, ptr noundef @.str.5, i32 noundef %19409, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 810, ptr noundef %19412, ptr noundef %19415, ptr noundef %19418, i32 noundef %19420) #11
  br label %19422

19422:                                            ; preds = %19405, %19388
  call void @llvm.lifetime.end.p0(i64 4, ptr %529) #11
  br label %19423

19423:                                            ; preds = %19422
  br label %19424

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

19425:                                            ; No predecessors!
  br label %19426

19426:                                            ; preds = %19425
  br label %19427

19427:                                            ; preds = %19426, %19369
  br label %19428

19428:                                            ; preds = %19427
  br label %19429

19429:                                            ; preds = %19428
  br label %19430

19430:                                            ; preds = %19429
  %19431 = load i32, ptr @test_count, align 4, !tbaa !5
  %19432 = add nsw i32 %19431, 1
  store i32 %19432, ptr @test_count, align 4, !tbaa !5
  %19433 = load ptr, ptr %528, align 8, !tbaa !9
  %19434 = load ptr, ptr %398, align 8, !tbaa !9
  %19435 = call i32 @s2n_connection_set_config(ptr noundef %19433, ptr noundef %19434)
  %19436 = icmp eq i32 %19435, -1
  br i1 %19436, label %19437, label %19490

19437:                                            ; preds = %19430
  br label %19438

19438:                                            ; preds = %19437
  br label %19439

19439:                                            ; preds = %19438
  call void @llvm.lifetime.start.p0(i64 4, ptr %530) #11
  %19440 = call ptr @__errno_location() #12
  %19441 = load i32, ptr %19440, align 4, !tbaa !5
  store i32 %19441, ptr %530, align 4, !tbaa !5
  %19442 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19443 = call i32 @s2n_print_stacktrace(ptr noundef %19442)
  %19444 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19445 = trunc i8 %19444 to i1
  br i1 %19445, label %19446, label %19468

19446:                                            ; preds = %19439
  %19447 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19448 = call i32 @fileno(ptr noundef %19447) #11
  %19449 = call i32 @isatty(i32 noundef %19448) #11
  %19450 = icmp ne i32 %19449, 0
  br i1 %19450, label %19451, label %19468

19451:                                            ; preds = %19446
  %19452 = load i32, ptr %530, align 4, !tbaa !5
  %19453 = call ptr @__errno_location() #12
  store i32 %19452, ptr %19453, align 4, !tbaa !5
  %19454 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19455 = load i32, ptr @test_count, align 4, !tbaa !5
  %19456 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19457 = load i32, ptr %19456, align 4, !tbaa !5
  %19458 = call ptr @s2n_strerror(i32 noundef %19457, ptr noundef @.str.4)
  %19459 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19460 = load i32, ptr %19459, align 4, !tbaa !5
  %19461 = call ptr @s2n_strerror_debug(i32 noundef %19460, ptr noundef @.str.4)
  %19462 = call ptr @__errno_location() #12
  %19463 = load i32, ptr %19462, align 4, !tbaa !5
  %19464 = call ptr @strerror(i32 noundef %19463) #11
  %19465 = call ptr @__errno_location() #12
  %19466 = load i32, ptr %19465, align 4, !tbaa !5
  %19467 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19454, ptr noundef @.str.2, i32 noundef %19455, ptr noundef @.str.124, ptr noundef @.str.1, i32 noundef 811, ptr noundef %19458, ptr noundef %19461, ptr noundef %19464, i32 noundef %19466) #11
  br label %19485

19468:                                            ; preds = %19446, %19439
  %19469 = load i32, ptr %530, align 4, !tbaa !5
  %19470 = call ptr @__errno_location() #12
  store i32 %19469, ptr %19470, align 4, !tbaa !5
  %19471 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19472 = load i32, ptr @test_count, align 4, !tbaa !5
  %19473 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19474 = load i32, ptr %19473, align 4, !tbaa !5
  %19475 = call ptr @s2n_strerror(i32 noundef %19474, ptr noundef @.str.4)
  %19476 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19477 = load i32, ptr %19476, align 4, !tbaa !5
  %19478 = call ptr @s2n_strerror_debug(i32 noundef %19477, ptr noundef @.str.4)
  %19479 = call ptr @__errno_location() #12
  %19480 = load i32, ptr %19479, align 4, !tbaa !5
  %19481 = call ptr @strerror(i32 noundef %19480) #11
  %19482 = call ptr @__errno_location() #12
  %19483 = load i32, ptr %19482, align 4, !tbaa !5
  %19484 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19471, ptr noundef @.str.5, i32 noundef %19472, ptr noundef @.str.124, ptr noundef @.str.1, i32 noundef 811, ptr noundef %19475, ptr noundef %19478, ptr noundef %19481, i32 noundef %19483) #11
  br label %19485

19485:                                            ; preds = %19468, %19451
  call void @llvm.lifetime.end.p0(i64 4, ptr %530) #11
  br label %19486

19486:                                            ; preds = %19485
  br label %19487

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

19488:                                            ; No predecessors!
  br label %19489

19489:                                            ; preds = %19488
  br label %19490

19490:                                            ; preds = %19489, %19430
  br label %19491

19491:                                            ; preds = %19490
  br label %19492

19492:                                            ; preds = %19491
  br label %19493

19493:                                            ; preds = %19492
  %19494 = load i32, ptr @test_count, align 4, !tbaa !5
  %19495 = add nsw i32 %19494, 1
  store i32 %19495, ptr @test_count, align 4, !tbaa !5
  %19496 = load ptr, ptr %478, align 8, !tbaa !9
  %19497 = call i32 @s2n_connection_wipe(ptr noundef %19496)
  %19498 = icmp eq i32 %19497, -1
  br i1 %19498, label %19499, label %19552

19499:                                            ; preds = %19493
  br label %19500

19500:                                            ; preds = %19499
  br label %19501

19501:                                            ; preds = %19500
  call void @llvm.lifetime.start.p0(i64 4, ptr %531) #11
  %19502 = call ptr @__errno_location() #12
  %19503 = load i32, ptr %19502, align 4, !tbaa !5
  store i32 %19503, ptr %531, align 4, !tbaa !5
  %19504 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19505 = call i32 @s2n_print_stacktrace(ptr noundef %19504)
  %19506 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19507 = trunc i8 %19506 to i1
  br i1 %19507, label %19508, label %19530

19508:                                            ; preds = %19501
  %19509 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19510 = call i32 @fileno(ptr noundef %19509) #11
  %19511 = call i32 @isatty(i32 noundef %19510) #11
  %19512 = icmp ne i32 %19511, 0
  br i1 %19512, label %19513, label %19530

19513:                                            ; preds = %19508
  %19514 = load i32, ptr %531, 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.4)
  %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.4)
  %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.2, i32 noundef %19517, ptr noundef @.str.141, ptr noundef @.str.1, i32 noundef 812, ptr noundef %19520, ptr noundef %19523, ptr noundef %19526, i32 noundef %19528) #11
  br label %19547

19530:                                            ; preds = %19508, %19501
  %19531 = load i32, ptr %531, align 4, !tbaa !5
  %19532 = call ptr @__errno_location() #12
  store i32 %19531, ptr %19532, align 4, !tbaa !5
  %19533 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19534 = load i32, ptr @test_count, align 4, !tbaa !5
  %19535 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19536 = load i32, ptr %19535, align 4, !tbaa !5
  %19537 = call ptr @s2n_strerror(i32 noundef %19536, ptr noundef @.str.4)
  %19538 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19539 = load i32, ptr %19538, align 4, !tbaa !5
  %19540 = call ptr @s2n_strerror_debug(i32 noundef %19539, ptr noundef @.str.4)
  %19541 = call ptr @__errno_location() #12
  %19542 = load i32, ptr %19541, align 4, !tbaa !5
  %19543 = call ptr @strerror(i32 noundef %19542) #11
  %19544 = call ptr @__errno_location() #12
  %19545 = load i32, ptr %19544, align 4, !tbaa !5
  %19546 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19533, ptr noundef @.str.5, i32 noundef %19534, ptr noundef @.str.141, ptr noundef @.str.1, i32 noundef 812, ptr noundef %19537, ptr noundef %19540, ptr noundef %19543, i32 noundef %19545) #11
  br label %19547

19547:                                            ; preds = %19530, %19513
  call void @llvm.lifetime.end.p0(i64 4, ptr %531) #11
  br label %19548

19548:                                            ; preds = %19547
  br label %19549

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

19550:                                            ; No predecessors!
  br label %19551

19551:                                            ; preds = %19550
  br label %19552

19552:                                            ; preds = %19551, %19493
  br label %19553

19553:                                            ; preds = %19552
  br label %19554

19554:                                            ; preds = %19553
  br label %19555

19555:                                            ; preds = %19554
  %19556 = load i32, ptr @test_count, align 4, !tbaa !5
  %19557 = add nsw i32 %19556, 1
  store i32 %19557, ptr @test_count, align 4, !tbaa !5
  %19558 = load ptr, ptr %478, align 8, !tbaa !9
  %19559 = getelementptr inbounds %struct.s2n_blob, ptr %477, i32 0, i32 0
  %19560 = load ptr, ptr %19559, align 8, !tbaa !64
  %19561 = getelementptr inbounds %struct.s2n_blob, ptr %477, i32 0, i32 1
  %19562 = load i32, ptr %19561, align 8, !tbaa !65
  %19563 = zext i32 %19562 to i64
  %19564 = call i32 @s2n_connection_set_session(ptr noundef %19558, ptr noundef %19560, i64 noundef %19563)
  %19565 = icmp eq i32 %19564, -1
  br i1 %19565, label %19566, label %19619

19566:                                            ; preds = %19555
  br label %19567

19567:                                            ; preds = %19566
  br label %19568

19568:                                            ; preds = %19567
  call void @llvm.lifetime.start.p0(i64 4, ptr %532) #11
  %19569 = call ptr @__errno_location() #12
  %19570 = load i32, ptr %19569, align 4, !tbaa !5
  store i32 %19570, ptr %532, align 4, !tbaa !5
  %19571 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19572 = call i32 @s2n_print_stacktrace(ptr noundef %19571)
  %19573 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19574 = trunc i8 %19573 to i1
  br i1 %19574, label %19575, label %19597

19575:                                            ; preds = %19568
  %19576 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19577 = call i32 @fileno(ptr noundef %19576) #11
  %19578 = call i32 @isatty(i32 noundef %19577) #11
  %19579 = icmp ne i32 %19578, 0
  br i1 %19579, label %19580, label %19597

19580:                                            ; preds = %19575
  %19581 = load i32, ptr %532, align 4, !tbaa !5
  %19582 = call ptr @__errno_location() #12
  store i32 %19581, ptr %19582, align 4, !tbaa !5
  %19583 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19584 = load i32, ptr @test_count, align 4, !tbaa !5
  %19585 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19586 = load i32, ptr %19585, align 4, !tbaa !5
  %19587 = call ptr @s2n_strerror(i32 noundef %19586, ptr noundef @.str.4)
  %19588 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19589 = load i32, ptr %19588, align 4, !tbaa !5
  %19590 = call ptr @s2n_strerror_debug(i32 noundef %19589, ptr noundef @.str.4)
  %19591 = call ptr @__errno_location() #12
  %19592 = load i32, ptr %19591, align 4, !tbaa !5
  %19593 = call ptr @strerror(i32 noundef %19592) #11
  %19594 = call ptr @__errno_location() #12
  %19595 = load i32, ptr %19594, align 4, !tbaa !5
  %19596 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19583, ptr noundef @.str.2, i32 noundef %19584, ptr noundef @.str.138, ptr noundef @.str.1, i32 noundef 813, ptr noundef %19587, ptr noundef %19590, ptr noundef %19593, i32 noundef %19595) #11
  br label %19614

19597:                                            ; preds = %19575, %19568
  %19598 = load i32, ptr %532, align 4, !tbaa !5
  %19599 = call ptr @__errno_location() #12
  store i32 %19598, ptr %19599, align 4, !tbaa !5
  %19600 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19601 = load i32, ptr @test_count, align 4, !tbaa !5
  %19602 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19603 = load i32, ptr %19602, align 4, !tbaa !5
  %19604 = call ptr @s2n_strerror(i32 noundef %19603, ptr noundef @.str.4)
  %19605 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19606 = load i32, ptr %19605, align 4, !tbaa !5
  %19607 = call ptr @s2n_strerror_debug(i32 noundef %19606, ptr noundef @.str.4)
  %19608 = call ptr @__errno_location() #12
  %19609 = load i32, ptr %19608, align 4, !tbaa !5
  %19610 = call ptr @strerror(i32 noundef %19609) #11
  %19611 = call ptr @__errno_location() #12
  %19612 = load i32, ptr %19611, align 4, !tbaa !5
  %19613 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19600, ptr noundef @.str.5, i32 noundef %19601, ptr noundef @.str.138, ptr noundef @.str.1, i32 noundef 813, ptr noundef %19604, ptr noundef %19607, ptr noundef %19610, i32 noundef %19612) #11
  br label %19614

19614:                                            ; preds = %19597, %19580
  call void @llvm.lifetime.end.p0(i64 4, ptr %532) #11
  br label %19615

19615:                                            ; preds = %19614
  br label %19616

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

19617:                                            ; No predecessors!
  br label %19618

19618:                                            ; preds = %19617
  br label %19619

19619:                                            ; preds = %19618, %19555
  br label %19620

19620:                                            ; preds = %19619
  br label %19621

19621:                                            ; preds = %19620
  call void @llvm.lifetime.start.p0(i64 80, ptr %533) #11
  call void @llvm.memset.p0.i64(ptr align 8 %533, i8 0, i64 80, i1 false)
  br label %19622

19622:                                            ; preds = %19621
  %19623 = load i32, ptr @test_count, align 4, !tbaa !5
  %19624 = add nsw i32 %19623, 1
  store i32 %19624, ptr @test_count, align 4, !tbaa !5
  %19625 = call i32 @s2n_io_stuffer_pair_init(ptr noundef %533)
  %19626 = getelementptr inbounds %struct.s2n_result, ptr %534, i32 0, i32 0
  store i32 %19625, ptr %19626, align 4
  %19627 = getelementptr inbounds %struct.s2n_result, ptr %534, i32 0, i32 0
  %19628 = load i32, ptr %19627, align 4
  %19629 = call zeroext i1 @s2n_result_is_ok(i32 %19628)
  br i1 %19629, label %19683, label %19630

19630:                                            ; preds = %19622
  br label %19631

19631:                                            ; preds = %19630
  br label %19632

19632:                                            ; preds = %19631
  call void @llvm.lifetime.start.p0(i64 4, ptr %535) #11
  %19633 = call ptr @__errno_location() #12
  %19634 = load i32, ptr %19633, align 4, !tbaa !5
  store i32 %19634, ptr %535, align 4, !tbaa !5
  %19635 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19636 = call i32 @s2n_print_stacktrace(ptr noundef %19635)
  %19637 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19638 = trunc i8 %19637 to i1
  br i1 %19638, label %19639, label %19661

19639:                                            ; preds = %19632
  %19640 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19641 = call i32 @fileno(ptr noundef %19640) #11
  %19642 = call i32 @isatty(i32 noundef %19641) #11
  %19643 = icmp ne i32 %19642, 0
  br i1 %19643, label %19644, label %19661

19644:                                            ; preds = %19639
  %19645 = load i32, ptr %535, align 4, !tbaa !5
  %19646 = call ptr @__errno_location() #12
  store i32 %19645, ptr %19646, align 4, !tbaa !5
  %19647 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19648 = load i32, ptr @test_count, align 4, !tbaa !5
  %19649 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19650 = load i32, ptr %19649, align 4, !tbaa !5
  %19651 = call ptr @s2n_strerror(i32 noundef %19650, ptr noundef @.str.4)
  %19652 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19653 = load i32, ptr %19652, align 4, !tbaa !5
  %19654 = call ptr @s2n_strerror_debug(i32 noundef %19653, ptr noundef @.str.4)
  %19655 = call ptr @__errno_location() #12
  %19656 = load i32, ptr %19655, align 4, !tbaa !5
  %19657 = call ptr @strerror(i32 noundef %19656) #11
  %19658 = call ptr @__errno_location() #12
  %19659 = load i32, ptr %19658, align 4, !tbaa !5
  %19660 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19647, ptr noundef @.str.2, i32 noundef %19648, ptr noundef @.str.46, ptr noundef @.str.1, i32 noundef 816, ptr noundef %19651, ptr noundef %19654, ptr noundef %19657, i32 noundef %19659) #11
  br label %19678

19661:                                            ; preds = %19639, %19632
  %19662 = load i32, ptr %535, align 4, !tbaa !5
  %19663 = call ptr @__errno_location() #12
  store i32 %19662, ptr %19663, align 4, !tbaa !5
  %19664 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19665 = load i32, ptr @test_count, align 4, !tbaa !5
  %19666 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19667 = load i32, ptr %19666, align 4, !tbaa !5
  %19668 = call ptr @s2n_strerror(i32 noundef %19667, ptr noundef @.str.4)
  %19669 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19670 = load i32, ptr %19669, align 4, !tbaa !5
  %19671 = call ptr @s2n_strerror_debug(i32 noundef %19670, ptr noundef @.str.4)
  %19672 = call ptr @__errno_location() #12
  %19673 = load i32, ptr %19672, align 4, !tbaa !5
  %19674 = call ptr @strerror(i32 noundef %19673) #11
  %19675 = call ptr @__errno_location() #12
  %19676 = load i32, ptr %19675, align 4, !tbaa !5
  %19677 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19664, ptr noundef @.str.5, i32 noundef %19665, ptr noundef @.str.46, ptr noundef @.str.1, i32 noundef 816, ptr noundef %19668, ptr noundef %19671, ptr noundef %19674, i32 noundef %19676) #11
  br label %19678

19678:                                            ; preds = %19661, %19644
  call void @llvm.lifetime.end.p0(i64 4, ptr %535) #11
  br label %19679

19679:                                            ; preds = %19678
  br label %19680

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

19681:                                            ; No predecessors!
  br label %19682

19682:                                            ; preds = %19681
  br label %19683

19683:                                            ; preds = %19682, %19622
  br label %19684

19684:                                            ; preds = %19683
  br label %19685

19685:                                            ; preds = %19684
  br label %19686

19686:                                            ; preds = %19685
  %19687 = load i32, ptr @test_count, align 4, !tbaa !5
  %19688 = add nsw i32 %19687, 1
  store i32 %19688, ptr @test_count, align 4, !tbaa !5
  %19689 = load ptr, ptr %478, align 8, !tbaa !9
  %19690 = load ptr, ptr %528, align 8, !tbaa !9
  %19691 = call i32 @s2n_connections_set_io_stuffer_pair(ptr noundef %19689, ptr noundef %19690, ptr noundef %533)
  %19692 = getelementptr inbounds %struct.s2n_result, ptr %536, i32 0, i32 0
  store i32 %19691, ptr %19692, align 4
  %19693 = getelementptr inbounds %struct.s2n_result, ptr %536, i32 0, i32 0
  %19694 = load i32, ptr %19693, align 4
  %19695 = call zeroext i1 @s2n_result_is_ok(i32 %19694)
  br i1 %19695, label %19749, label %19696

19696:                                            ; preds = %19686
  br label %19697

19697:                                            ; preds = %19696
  br label %19698

19698:                                            ; preds = %19697
  call void @llvm.lifetime.start.p0(i64 4, ptr %537) #11
  %19699 = call ptr @__errno_location() #12
  %19700 = load i32, ptr %19699, align 4, !tbaa !5
  store i32 %19700, ptr %537, align 4, !tbaa !5
  %19701 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19702 = call i32 @s2n_print_stacktrace(ptr noundef %19701)
  %19703 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19704 = trunc i8 %19703 to i1
  br i1 %19704, label %19705, label %19727

19705:                                            ; preds = %19698
  %19706 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19707 = call i32 @fileno(ptr noundef %19706) #11
  %19708 = call i32 @isatty(i32 noundef %19707) #11
  %19709 = icmp ne i32 %19708, 0
  br i1 %19709, label %19710, label %19727

19710:                                            ; preds = %19705
  %19711 = load i32, ptr %537, 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.4)
  %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.4)
  %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.2, i32 noundef %19714, ptr noundef @.str.47, ptr noundef @.str.1, i32 noundef 817, ptr noundef %19717, ptr noundef %19720, ptr noundef %19723, i32 noundef %19725) #11
  br label %19744

19727:                                            ; preds = %19705, %19698
  %19728 = load i32, ptr %537, align 4, !tbaa !5
  %19729 = call ptr @__errno_location() #12
  store i32 %19728, ptr %19729, align 4, !tbaa !5
  %19730 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19731 = load i32, ptr @test_count, align 4, !tbaa !5
  %19732 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19733 = load i32, ptr %19732, align 4, !tbaa !5
  %19734 = call ptr @s2n_strerror(i32 noundef %19733, ptr noundef @.str.4)
  %19735 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19736 = load i32, ptr %19735, align 4, !tbaa !5
  %19737 = call ptr @s2n_strerror_debug(i32 noundef %19736, ptr noundef @.str.4)
  %19738 = call ptr @__errno_location() #12
  %19739 = load i32, ptr %19738, align 4, !tbaa !5
  %19740 = call ptr @strerror(i32 noundef %19739) #11
  %19741 = call ptr @__errno_location() #12
  %19742 = load i32, ptr %19741, align 4, !tbaa !5
  %19743 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19730, ptr noundef @.str.5, i32 noundef %19731, ptr noundef @.str.47, ptr noundef @.str.1, i32 noundef 817, ptr noundef %19734, ptr noundef %19737, ptr noundef %19740, i32 noundef %19742) #11
  br label %19744

19744:                                            ; preds = %19727, %19710
  call void @llvm.lifetime.end.p0(i64 4, ptr %537) #11
  br label %19745

19745:                                            ; preds = %19744
  br label %19746

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

19747:                                            ; No predecessors!
  br label %19748

19748:                                            ; preds = %19747
  br label %19749

19749:                                            ; preds = %19748, %19686
  br label %19750

19750:                                            ; preds = %19749
  br label %19751

19751:                                            ; preds = %19750
  br label %19752

19752:                                            ; preds = %19751
  %19753 = load i32, ptr @test_count, align 4, !tbaa !5
  %19754 = add nsw i32 %19753, 1
  store i32 %19754, ptr @test_count, align 4, !tbaa !5
  %19755 = load ptr, ptr %528, align 8, !tbaa !9
  %19756 = load ptr, ptr %478, align 8, !tbaa !9
  %19757 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %19755, ptr noundef %19756)
  %19758 = icmp eq i32 %19757, -1
  br i1 %19758, label %19759, label %19812

19759:                                            ; preds = %19752
  br label %19760

19760:                                            ; preds = %19759
  br label %19761

19761:                                            ; preds = %19760
  call void @llvm.lifetime.start.p0(i64 4, ptr %538) #11
  %19762 = call ptr @__errno_location() #12
  %19763 = load i32, ptr %19762, align 4, !tbaa !5
  store i32 %19763, ptr %538, align 4, !tbaa !5
  %19764 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19765 = call i32 @s2n_print_stacktrace(ptr noundef %19764)
  %19766 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19767 = trunc i8 %19766 to i1
  br i1 %19767, label %19768, label %19790

19768:                                            ; preds = %19761
  %19769 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19770 = call i32 @fileno(ptr noundef %19769) #11
  %19771 = call i32 @isatty(i32 noundef %19770) #11
  %19772 = icmp ne i32 %19771, 0
  br i1 %19772, label %19773, label %19790

19773:                                            ; preds = %19768
  %19774 = load i32, ptr %538, align 4, !tbaa !5
  %19775 = call ptr @__errno_location() #12
  store i32 %19774, ptr %19775, align 4, !tbaa !5
  %19776 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19777 = load i32, ptr @test_count, align 4, !tbaa !5
  %19778 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19779 = load i32, ptr %19778, align 4, !tbaa !5
  %19780 = call ptr @s2n_strerror(i32 noundef %19779, ptr noundef @.str.4)
  %19781 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19782 = load i32, ptr %19781, align 4, !tbaa !5
  %19783 = call ptr @s2n_strerror_debug(i32 noundef %19782, ptr noundef @.str.4)
  %19784 = call ptr @__errno_location() #12
  %19785 = load i32, ptr %19784, align 4, !tbaa !5
  %19786 = call ptr @strerror(i32 noundef %19785) #11
  %19787 = call ptr @__errno_location() #12
  %19788 = load i32, ptr %19787, align 4, !tbaa !5
  %19789 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19776, ptr noundef @.str.2, i32 noundef %19777, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 819, ptr noundef %19780, ptr noundef %19783, ptr noundef %19786, i32 noundef %19788) #11
  br label %19807

19790:                                            ; preds = %19768, %19761
  %19791 = load i32, ptr %538, align 4, !tbaa !5
  %19792 = call ptr @__errno_location() #12
  store i32 %19791, ptr %19792, align 4, !tbaa !5
  %19793 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19794 = load i32, ptr @test_count, align 4, !tbaa !5
  %19795 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19796 = load i32, ptr %19795, align 4, !tbaa !5
  %19797 = call ptr @s2n_strerror(i32 noundef %19796, ptr noundef @.str.4)
  %19798 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19799 = load i32, ptr %19798, align 4, !tbaa !5
  %19800 = call ptr @s2n_strerror_debug(i32 noundef %19799, ptr noundef @.str.4)
  %19801 = call ptr @__errno_location() #12
  %19802 = load i32, ptr %19801, align 4, !tbaa !5
  %19803 = call ptr @strerror(i32 noundef %19802) #11
  %19804 = call ptr @__errno_location() #12
  %19805 = load i32, ptr %19804, align 4, !tbaa !5
  %19806 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19793, ptr noundef @.str.5, i32 noundef %19794, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 819, ptr noundef %19797, ptr noundef %19800, ptr noundef %19803, i32 noundef %19805) #11
  br label %19807

19807:                                            ; preds = %19790, %19773
  call void @llvm.lifetime.end.p0(i64 4, ptr %538) #11
  br label %19808

19808:                                            ; preds = %19807
  br label %19809

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

19810:                                            ; No predecessors!
  br label %19811

19811:                                            ; preds = %19810
  br label %19812

19812:                                            ; preds = %19811, %19752
  br label %19813

19813:                                            ; preds = %19812
  br label %19814

19814:                                            ; preds = %19813
  br label %19815

19815:                                            ; preds = %19814
  %19816 = load i32, ptr @test_count, align 4, !tbaa !5
  %19817 = add nsw i32 %19816, 1
  store i32 %19817, ptr @test_count, align 4, !tbaa !5
  %19818 = load ptr, ptr %478, align 8, !tbaa !9
  %19819 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef %19818, i32 noundef 2)
  br i1 %19819, label %19820, label %19873

19820:                                            ; preds = %19815
  br label %19821

19821:                                            ; preds = %19820
  br label %19822

19822:                                            ; preds = %19821
  call void @llvm.lifetime.start.p0(i64 4, ptr %539) #11
  %19823 = call ptr @__errno_location() #12
  %19824 = load i32, ptr %19823, align 4, !tbaa !5
  store i32 %19824, ptr %539, align 4, !tbaa !5
  %19825 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19826 = call i32 @s2n_print_stacktrace(ptr noundef %19825)
  %19827 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19828 = trunc i8 %19827 to i1
  br i1 %19828, label %19829, label %19851

19829:                                            ; preds = %19822
  %19830 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19831 = call i32 @fileno(ptr noundef %19830) #11
  %19832 = call i32 @isatty(i32 noundef %19831) #11
  %19833 = icmp ne i32 %19832, 0
  br i1 %19833, label %19834, label %19851

19834:                                            ; preds = %19829
  %19835 = load i32, ptr %539, align 4, !tbaa !5
  %19836 = call ptr @__errno_location() #12
  store i32 %19835, ptr %19836, align 4, !tbaa !5
  %19837 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19838 = load i32, ptr @test_count, align 4, !tbaa !5
  %19839 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19840 = load i32, ptr %19839, align 4, !tbaa !5
  %19841 = call ptr @s2n_strerror(i32 noundef %19840, ptr noundef @.str.4)
  %19842 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19843 = load i32, ptr %19842, align 4, !tbaa !5
  %19844 = call ptr @s2n_strerror_debug(i32 noundef %19843, ptr noundef @.str.4)
  %19845 = call ptr @__errno_location() #12
  %19846 = load i32, ptr %19845, align 4, !tbaa !5
  %19847 = call ptr @strerror(i32 noundef %19846) #11
  %19848 = call ptr @__errno_location() #12
  %19849 = load i32, ptr %19848, align 4, !tbaa !5
  %19850 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19837, ptr noundef @.str.2, i32 noundef %19838, ptr noundef @.str.136, ptr noundef @.str.1, i32 noundef 820, ptr noundef %19841, ptr noundef %19844, ptr noundef %19847, i32 noundef %19849) #11
  br label %19868

19851:                                            ; preds = %19829, %19822
  %19852 = load i32, ptr %539, align 4, !tbaa !5
  %19853 = call ptr @__errno_location() #12
  store i32 %19852, ptr %19853, align 4, !tbaa !5
  %19854 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19855 = load i32, ptr @test_count, align 4, !tbaa !5
  %19856 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19857 = load i32, ptr %19856, align 4, !tbaa !5
  %19858 = call ptr @s2n_strerror(i32 noundef %19857, ptr noundef @.str.4)
  %19859 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19860 = load i32, ptr %19859, align 4, !tbaa !5
  %19861 = call ptr @s2n_strerror_debug(i32 noundef %19860, ptr noundef @.str.4)
  %19862 = call ptr @__errno_location() #12
  %19863 = load i32, ptr %19862, align 4, !tbaa !5
  %19864 = call ptr @strerror(i32 noundef %19863) #11
  %19865 = call ptr @__errno_location() #12
  %19866 = load i32, ptr %19865, align 4, !tbaa !5
  %19867 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19854, ptr noundef @.str.5, i32 noundef %19855, ptr noundef @.str.136, ptr noundef @.str.1, i32 noundef 820, ptr noundef %19858, ptr noundef %19861, ptr noundef %19864, i32 noundef %19866) #11
  br label %19868

19868:                                            ; preds = %19851, %19834
  call void @llvm.lifetime.end.p0(i64 4, ptr %539) #11
  br label %19869

19869:                                            ; preds = %19868
  br label %19870

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

19871:                                            ; No predecessors!
  br label %19872

19872:                                            ; preds = %19871
  br label %19873

19873:                                            ; preds = %19872, %19815
  br label %19874

19874:                                            ; preds = %19873
  br label %19875

19875:                                            ; preds = %19874
  br label %19876

19876:                                            ; preds = %19875
  %19877 = load i32, ptr @test_count, align 4, !tbaa !5
  %19878 = add nsw i32 %19877, 1
  store i32 %19878, ptr @test_count, align 4, !tbaa !5
  %19879 = load ptr, ptr %528, align 8, !tbaa !9
  %19880 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef %19879, i32 noundef 2)
  br i1 %19880, label %19881, label %19934

19881:                                            ; preds = %19876
  br label %19882

19882:                                            ; preds = %19881
  br label %19883

19883:                                            ; preds = %19882
  call void @llvm.lifetime.start.p0(i64 4, ptr %540) #11
  %19884 = call ptr @__errno_location() #12
  %19885 = load i32, ptr %19884, align 4, !tbaa !5
  store i32 %19885, ptr %540, align 4, !tbaa !5
  %19886 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19887 = call i32 @s2n_print_stacktrace(ptr noundef %19886)
  %19888 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19889 = trunc i8 %19888 to i1
  br i1 %19889, label %19890, label %19912

19890:                                            ; preds = %19883
  %19891 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19892 = call i32 @fileno(ptr noundef %19891) #11
  %19893 = call i32 @isatty(i32 noundef %19892) #11
  %19894 = icmp ne i32 %19893, 0
  br i1 %19894, label %19895, label %19912

19895:                                            ; preds = %19890
  %19896 = load i32, ptr %540, align 4, !tbaa !5
  %19897 = call ptr @__errno_location() #12
  store i32 %19896, ptr %19897, align 4, !tbaa !5
  %19898 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19899 = load i32, ptr @test_count, align 4, !tbaa !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(i32 noundef %19901, ptr noundef @.str.4)
  %19903 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19904 = load i32, ptr %19903, align 4, !tbaa !5
  %19905 = call ptr @s2n_strerror_debug(i32 noundef %19904, ptr noundef @.str.4)
  %19906 = call ptr @__errno_location() #12
  %19907 = load i32, ptr %19906, align 4, !tbaa !5
  %19908 = call ptr @strerror(i32 noundef %19907) #11
  %19909 = call ptr @__errno_location() #12
  %19910 = load i32, ptr %19909, align 4, !tbaa !5
  %19911 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19898, ptr noundef @.str.2, i32 noundef %19899, ptr noundef @.str.137, ptr noundef @.str.1, i32 noundef 821, ptr noundef %19902, ptr noundef %19905, ptr noundef %19908, i32 noundef %19910) #11
  br label %19929

19912:                                            ; preds = %19890, %19883
  %19913 = load i32, ptr %540, align 4, !tbaa !5
  %19914 = call ptr @__errno_location() #12
  store i32 %19913, ptr %19914, align 4, !tbaa !5
  %19915 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19916 = load i32, ptr @test_count, align 4, !tbaa !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(i32 noundef %19918, ptr noundef @.str.4)
  %19920 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19921 = load i32, ptr %19920, align 4, !tbaa !5
  %19922 = call ptr @s2n_strerror_debug(i32 noundef %19921, ptr noundef @.str.4)
  %19923 = call ptr @__errno_location() #12
  %19924 = load i32, ptr %19923, align 4, !tbaa !5
  %19925 = call ptr @strerror(i32 noundef %19924) #11
  %19926 = call ptr @__errno_location() #12
  %19927 = load i32, ptr %19926, align 4, !tbaa !5
  %19928 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19915, ptr noundef @.str.5, i32 noundef %19916, ptr noundef @.str.137, ptr noundef @.str.1, i32 noundef 821, ptr noundef %19919, ptr noundef %19922, ptr noundef %19925, i32 noundef %19927) #11
  br label %19929

19929:                                            ; preds = %19912, %19895
  call void @llvm.lifetime.end.p0(i64 4, ptr %540) #11
  br label %19930

19930:                                            ; preds = %19929
  br label %19931

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

19932:                                            ; No predecessors!
  br label %19933

19933:                                            ; preds = %19932
  br label %19934

19934:                                            ; preds = %19933, %19876
  br label %19935

19935:                                            ; preds = %19934
  br label %19936

19936:                                            ; preds = %19935
  %19937 = call i32 @s2n_io_stuffer_pair_free(ptr noundef %533)
  %19938 = getelementptr inbounds %struct.s2n_result, ptr %541, i32 0, i32 0
  store i32 %19937, ptr %19938, align 4
  call void @llvm.lifetime.end.p0(i64 80, ptr %533) #11
  %19939 = call i32 @s2n_connection_ptr_free(ptr noundef %528)
  %19940 = getelementptr inbounds %struct.s2n_result, ptr %542, i32 0, i32 0
  store i32 %19939, ptr %19940, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %528) #11
  %19941 = call i32 @s2n_connection_ptr_free(ptr noundef %478)
  %19942 = getelementptr inbounds %struct.s2n_result, ptr %543, i32 0, i32 0
  store i32 %19941, ptr %19942, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %478) #11
  %19943 = call i32 @s2n_free(ptr noundef %477)
  call void @llvm.lifetime.end.p0(i64 24, ptr %477) #11
  %19944 = call i32 @s2n_free(ptr noundef %476)
  call void @llvm.lifetime.end.p0(i64 24, ptr %476) #11
  call void @llvm.lifetime.end.p0(i64 142, ptr %475) #11
  %19945 = call i32 @s2n_config_ptr_free(ptr noundef %398)
  %19946 = getelementptr inbounds %struct.s2n_result, ptr %544, i32 0, i32 0
  store i32 %19945, ptr %19946, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %398) #11
  br label %19947

19947:                                            ; preds = %19936, %14949
  %19948 = call zeroext i1 (...) @s2n_is_tls13_fully_supported()
  br i1 %19948, label %19949, label %22012

19949:                                            ; preds = %19947
  call void @llvm.lifetime.start.p0(i64 8, ptr %545) #11
  %19950 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %19950, ptr %545, align 8, !tbaa !9
  br label %19951

19951:                                            ; preds = %19949
  %19952 = load i32, ptr @test_count, align 4, !tbaa !5
  %19953 = add nsw i32 %19952, 1
  store i32 %19953, ptr @test_count, align 4, !tbaa !5
  %19954 = load ptr, ptr %545, align 8, !tbaa !9
  %19955 = icmp eq ptr %19954, null
  br i1 %19955, label %19956, label %20009

19956:                                            ; preds = %19951
  br label %19957

19957:                                            ; preds = %19956
  br label %19958

19958:                                            ; preds = %19957
  call void @llvm.lifetime.start.p0(i64 4, ptr %546) #11
  %19959 = call ptr @__errno_location() #12
  %19960 = load i32, ptr %19959, align 4, !tbaa !5
  store i32 %19960, ptr %546, align 4, !tbaa !5
  %19961 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19962 = call i32 @s2n_print_stacktrace(ptr noundef %19961)
  %19963 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19964 = trunc i8 %19963 to i1
  br i1 %19964, label %19965, label %19987

19965:                                            ; preds = %19958
  %19966 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19967 = call i32 @fileno(ptr noundef %19966) #11
  %19968 = call i32 @isatty(i32 noundef %19967) #11
  %19969 = icmp ne i32 %19968, 0
  br i1 %19969, label %19970, label %19987

19970:                                            ; preds = %19965
  %19971 = load i32, ptr %546, align 4, !tbaa !5
  %19972 = call ptr @__errno_location() #12
  store i32 %19971, ptr %19972, align 4, !tbaa !5
  %19973 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19974 = load i32, ptr @test_count, align 4, !tbaa !5
  %19975 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19976 = load i32, ptr %19975, align 4, !tbaa !5
  %19977 = call ptr @s2n_strerror(i32 noundef %19976, ptr noundef @.str.4)
  %19978 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19979 = load i32, ptr %19978, align 4, !tbaa !5
  %19980 = call ptr @s2n_strerror_debug(i32 noundef %19979, ptr noundef @.str.4)
  %19981 = call ptr @__errno_location() #12
  %19982 = load i32, ptr %19981, align 4, !tbaa !5
  %19983 = call ptr @strerror(i32 noundef %19982) #11
  %19984 = call ptr @__errno_location() #12
  %19985 = load i32, ptr %19984, align 4, !tbaa !5
  %19986 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19973, ptr noundef @.str.2, i32 noundef %19974, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 832, ptr noundef %19977, ptr noundef %19980, ptr noundef %19983, i32 noundef %19985) #11
  br label %20004

19987:                                            ; preds = %19965, %19958
  %19988 = load i32, ptr %546, align 4, !tbaa !5
  %19989 = call ptr @__errno_location() #12
  store i32 %19988, ptr %19989, align 4, !tbaa !5
  %19990 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19991 = load i32, ptr @test_count, align 4, !tbaa !5
  %19992 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19993 = load i32, ptr %19992, align 4, !tbaa !5
  %19994 = call ptr @s2n_strerror(i32 noundef %19993, ptr noundef @.str.4)
  %19995 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19996 = load i32, ptr %19995, align 4, !tbaa !5
  %19997 = call ptr @s2n_strerror_debug(i32 noundef %19996, ptr noundef @.str.4)
  %19998 = call ptr @__errno_location() #12
  %19999 = load i32, ptr %19998, align 4, !tbaa !5
  %20000 = call ptr @strerror(i32 noundef %19999) #11
  %20001 = call ptr @__errno_location() #12
  %20002 = load i32, ptr %20001, align 4, !tbaa !5
  %20003 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19990, ptr noundef @.str.5, i32 noundef %19991, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 832, ptr noundef %19994, ptr noundef %19997, ptr noundef %20000, i32 noundef %20002) #11
  br label %20004

20004:                                            ; preds = %19987, %19970
  call void @llvm.lifetime.end.p0(i64 4, ptr %546) #11
  br label %20005

20005:                                            ; preds = %20004
  br label %20006

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

20007:                                            ; No predecessors!
  br label %20008

20008:                                            ; preds = %20007
  br label %20009

20009:                                            ; preds = %20008, %19951
  br label %20010

20010:                                            ; preds = %20009
  br label %20011

20011:                                            ; preds = %20010
  br label %20012

20012:                                            ; preds = %20011
  %20013 = load i32, ptr @test_count, align 4, !tbaa !5
  %20014 = add nsw i32 %20013, 1
  store i32 %20014, ptr @test_count, align 4, !tbaa !5
  %20015 = load ptr, ptr %545, align 8, !tbaa !9
  %20016 = load ptr, ptr %16, align 8, !tbaa !9
  %20017 = call i32 @s2n_connection_set_config(ptr noundef %20015, ptr noundef %20016)
  %20018 = icmp eq i32 %20017, -1
  br i1 %20018, label %20019, label %20072

20019:                                            ; preds = %20012
  br label %20020

20020:                                            ; preds = %20019
  br label %20021

20021:                                            ; preds = %20020
  call void @llvm.lifetime.start.p0(i64 4, ptr %547) #11
  %20022 = call ptr @__errno_location() #12
  %20023 = load i32, ptr %20022, align 4, !tbaa !5
  store i32 %20023, ptr %547, align 4, !tbaa !5
  %20024 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20025 = call i32 @s2n_print_stacktrace(ptr noundef %20024)
  %20026 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20027 = trunc i8 %20026 to i1
  br i1 %20027, label %20028, label %20050

20028:                                            ; preds = %20021
  %20029 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20030 = call i32 @fileno(ptr noundef %20029) #11
  %20031 = call i32 @isatty(i32 noundef %20030) #11
  %20032 = icmp ne i32 %20031, 0
  br i1 %20032, label %20033, label %20050

20033:                                            ; preds = %20028
  %20034 = load i32, ptr %547, align 4, !tbaa !5
  %20035 = call ptr @__errno_location() #12
  store i32 %20034, ptr %20035, align 4, !tbaa !5
  %20036 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20037 = load i32, ptr @test_count, align 4, !tbaa !5
  %20038 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20039 = load i32, ptr %20038, align 4, !tbaa !5
  %20040 = call ptr @s2n_strerror(i32 noundef %20039, ptr noundef @.str.4)
  %20041 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20042 = load i32, ptr %20041, align 4, !tbaa !5
  %20043 = call ptr @s2n_strerror_debug(i32 noundef %20042, ptr noundef @.str.4)
  %20044 = call ptr @__errno_location() #12
  %20045 = load i32, ptr %20044, align 4, !tbaa !5
  %20046 = call ptr @strerror(i32 noundef %20045) #11
  %20047 = call ptr @__errno_location() #12
  %20048 = load i32, ptr %20047, align 4, !tbaa !5
  %20049 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20036, ptr noundef @.str.2, i32 noundef %20037, ptr noundef @.str.76, ptr noundef @.str.1, i32 noundef 833, ptr noundef %20040, ptr noundef %20043, ptr noundef %20046, i32 noundef %20048) #11
  br label %20067

20050:                                            ; preds = %20028, %20021
  %20051 = load i32, ptr %547, align 4, !tbaa !5
  %20052 = call ptr @__errno_location() #12
  store i32 %20051, ptr %20052, align 4, !tbaa !5
  %20053 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20054 = load i32, ptr @test_count, align 4, !tbaa !5
  %20055 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20056 = load i32, ptr %20055, align 4, !tbaa !5
  %20057 = call ptr @s2n_strerror(i32 noundef %20056, ptr noundef @.str.4)
  %20058 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20059 = load i32, ptr %20058, align 4, !tbaa !5
  %20060 = call ptr @s2n_strerror_debug(i32 noundef %20059, ptr noundef @.str.4)
  %20061 = call ptr @__errno_location() #12
  %20062 = load i32, ptr %20061, align 4, !tbaa !5
  %20063 = call ptr @strerror(i32 noundef %20062) #11
  %20064 = call ptr @__errno_location() #12
  %20065 = load i32, ptr %20064, align 4, !tbaa !5
  %20066 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20053, ptr noundef @.str.5, i32 noundef %20054, ptr noundef @.str.76, ptr noundef @.str.1, i32 noundef 833, ptr noundef %20057, ptr noundef %20060, ptr noundef %20063, i32 noundef %20065) #11
  br label %20067

20067:                                            ; preds = %20050, %20033
  call void @llvm.lifetime.end.p0(i64 4, ptr %547) #11
  br label %20068

20068:                                            ; preds = %20067
  br label %20069

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

20070:                                            ; No predecessors!
  br label %20071

20071:                                            ; preds = %20070
  br label %20072

20072:                                            ; preds = %20071, %20012
  br label %20073

20073:                                            ; preds = %20072
  br label %20074

20074:                                            ; preds = %20073
  call void @llvm.lifetime.start.p0(i64 142, ptr %548) #11
  call void @llvm.memset.p0.i64(ptr align 16 %548, i8 0, i64 142, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr %549) #11
  %20075 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %20075, ptr %549, align 8, !tbaa !9
  br label %20076

20076:                                            ; preds = %20074
  %20077 = load i32, ptr @test_count, align 4, !tbaa !5
  %20078 = add nsw i32 %20077, 1
  store i32 %20078, ptr @test_count, align 4, !tbaa !5
  %20079 = load ptr, ptr %549, align 8, !tbaa !9
  %20080 = icmp eq ptr %20079, null
  br i1 %20080, label %20081, label %20134

20081:                                            ; preds = %20076
  br label %20082

20082:                                            ; preds = %20081
  br label %20083

20083:                                            ; preds = %20082
  call void @llvm.lifetime.start.p0(i64 4, ptr %550) #11
  %20084 = call ptr @__errno_location() #12
  %20085 = load i32, ptr %20084, align 4, !tbaa !5
  store i32 %20085, ptr %550, align 4, !tbaa !5
  %20086 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20087 = call i32 @s2n_print_stacktrace(ptr noundef %20086)
  %20088 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20089 = trunc i8 %20088 to i1
  br i1 %20089, label %20090, label %20112

20090:                                            ; preds = %20083
  %20091 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20092 = call i32 @fileno(ptr noundef %20091) #11
  %20093 = call i32 @isatty(i32 noundef %20092) #11
  %20094 = icmp ne i32 %20093, 0
  br i1 %20094, label %20095, label %20112

20095:                                            ; preds = %20090
  %20096 = load i32, ptr %550, align 4, !tbaa !5
  %20097 = call ptr @__errno_location() #12
  store i32 %20096, ptr %20097, align 4, !tbaa !5
  %20098 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20099 = load i32, ptr @test_count, align 4, !tbaa !5
  %20100 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20101 = load i32, ptr %20100, align 4, !tbaa !5
  %20102 = call ptr @s2n_strerror(i32 noundef %20101, ptr noundef @.str.4)
  %20103 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20104 = load i32, ptr %20103, align 4, !tbaa !5
  %20105 = call ptr @s2n_strerror_debug(i32 noundef %20104, ptr noundef @.str.4)
  %20106 = call ptr @__errno_location() #12
  %20107 = load i32, ptr %20106, align 4, !tbaa !5
  %20108 = call ptr @strerror(i32 noundef %20107) #11
  %20109 = call ptr @__errno_location() #12
  %20110 = load i32, ptr %20109, align 4, !tbaa !5
  %20111 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20098, ptr noundef @.str.2, i32 noundef %20099, ptr noundef @.str.42, ptr noundef @.str.1, i32 noundef 841, ptr noundef %20102, ptr noundef %20105, ptr noundef %20108, i32 noundef %20110) #11
  br label %20129

20112:                                            ; preds = %20090, %20083
  %20113 = load i32, ptr %550, align 4, !tbaa !5
  %20114 = call ptr @__errno_location() #12
  store i32 %20113, ptr %20114, align 4, !tbaa !5
  %20115 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20116 = load i32, ptr @test_count, align 4, !tbaa !5
  %20117 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20118 = load i32, ptr %20117, align 4, !tbaa !5
  %20119 = call ptr @s2n_strerror(i32 noundef %20118, ptr noundef @.str.4)
  %20120 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20121 = load i32, ptr %20120, align 4, !tbaa !5
  %20122 = call ptr @s2n_strerror_debug(i32 noundef %20121, ptr noundef @.str.4)
  %20123 = call ptr @__errno_location() #12
  %20124 = load i32, ptr %20123, align 4, !tbaa !5
  %20125 = call ptr @strerror(i32 noundef %20124) #11
  %20126 = call ptr @__errno_location() #12
  %20127 = load i32, ptr %20126, align 4, !tbaa !5
  %20128 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20115, ptr noundef @.str.5, i32 noundef %20116, ptr noundef @.str.42, ptr noundef @.str.1, i32 noundef 841, ptr noundef %20119, ptr noundef %20122, ptr noundef %20125, i32 noundef %20127) #11
  br label %20129

20129:                                            ; preds = %20112, %20095
  call void @llvm.lifetime.end.p0(i64 4, ptr %550) #11
  br label %20130

20130:                                            ; preds = %20129
  br label %20131

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

20132:                                            ; No predecessors!
  br label %20133

20133:                                            ; preds = %20132
  br label %20134

20134:                                            ; preds = %20133, %20076
  br label %20135

20135:                                            ; preds = %20134
  br label %20136

20136:                                            ; preds = %20135
  br label %20137

20137:                                            ; preds = %20136
  %20138 = load i32, ptr @test_count, align 4, !tbaa !5
  %20139 = add nsw i32 %20138, 1
  store i32 %20139, ptr @test_count, align 4, !tbaa !5
  %20140 = load ptr, ptr %549, align 8, !tbaa !9
  %20141 = load ptr, ptr %16, align 8, !tbaa !9
  %20142 = call i32 @s2n_connection_set_config(ptr noundef %20140, ptr noundef %20141)
  %20143 = icmp eq i32 %20142, -1
  br i1 %20143, label %20144, label %20197

20144:                                            ; preds = %20137
  br label %20145

20145:                                            ; preds = %20144
  br label %20146

20146:                                            ; preds = %20145
  call void @llvm.lifetime.start.p0(i64 4, ptr %551) #11
  %20147 = call ptr @__errno_location() #12
  %20148 = load i32, ptr %20147, align 4, !tbaa !5
  store i32 %20148, ptr %551, align 4, !tbaa !5
  %20149 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20150 = call i32 @s2n_print_stacktrace(ptr noundef %20149)
  %20151 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20152 = trunc i8 %20151 to i1
  br i1 %20152, label %20153, label %20175

20153:                                            ; preds = %20146
  %20154 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20155 = call i32 @fileno(ptr noundef %20154) #11
  %20156 = call i32 @isatty(i32 noundef %20155) #11
  %20157 = icmp ne i32 %20156, 0
  br i1 %20157, label %20158, label %20175

20158:                                            ; preds = %20153
  %20159 = load i32, ptr %551, align 4, !tbaa !5
  %20160 = call ptr @__errno_location() #12
  store i32 %20159, ptr %20160, align 4, !tbaa !5
  %20161 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20162 = load i32, ptr @test_count, align 4, !tbaa !5
  %20163 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20164 = load i32, ptr %20163, align 4, !tbaa !5
  %20165 = call ptr @s2n_strerror(i32 noundef %20164, ptr noundef @.str.4)
  %20166 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20167 = load i32, ptr %20166, align 4, !tbaa !5
  %20168 = call ptr @s2n_strerror_debug(i32 noundef %20167, ptr noundef @.str.4)
  %20169 = call ptr @__errno_location() #12
  %20170 = load i32, ptr %20169, align 4, !tbaa !5
  %20171 = call ptr @strerror(i32 noundef %20170) #11
  %20172 = call ptr @__errno_location() #12
  %20173 = load i32, ptr %20172, align 4, !tbaa !5
  %20174 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20161, ptr noundef @.str.2, i32 noundef %20162, ptr noundef @.str.75, ptr noundef @.str.1, i32 noundef 842, ptr noundef %20165, ptr noundef %20168, ptr noundef %20171, i32 noundef %20173) #11
  br label %20192

20175:                                            ; preds = %20153, %20146
  %20176 = load i32, ptr %551, align 4, !tbaa !5
  %20177 = call ptr @__errno_location() #12
  store i32 %20176, ptr %20177, align 4, !tbaa !5
  %20178 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20179 = load i32, ptr @test_count, align 4, !tbaa !5
  %20180 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20181 = load i32, ptr %20180, align 4, !tbaa !5
  %20182 = call ptr @s2n_strerror(i32 noundef %20181, ptr noundef @.str.4)
  %20183 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20184 = load i32, ptr %20183, align 4, !tbaa !5
  %20185 = call ptr @s2n_strerror_debug(i32 noundef %20184, ptr noundef @.str.4)
  %20186 = call ptr @__errno_location() #12
  %20187 = load i32, ptr %20186, align 4, !tbaa !5
  %20188 = call ptr @strerror(i32 noundef %20187) #11
  %20189 = call ptr @__errno_location() #12
  %20190 = load i32, ptr %20189, align 4, !tbaa !5
  %20191 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20178, ptr noundef @.str.5, i32 noundef %20179, ptr noundef @.str.75, ptr noundef @.str.1, i32 noundef 842, ptr noundef %20182, ptr noundef %20185, ptr noundef %20188, i32 noundef %20190) #11
  br label %20192

20192:                                            ; preds = %20175, %20158
  call void @llvm.lifetime.end.p0(i64 4, ptr %551) #11
  br label %20193

20193:                                            ; preds = %20192
  br label %20194

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

20195:                                            ; No predecessors!
  br label %20196

20196:                                            ; preds = %20195
  br label %20197

20197:                                            ; preds = %20196, %20137
  br label %20198

20198:                                            ; preds = %20197
  br label %20199

20199:                                            ; preds = %20198
  call void @llvm.lifetime.start.p0(i64 80, ptr %552) #11
  call void @llvm.memset.p0.i64(ptr align 8 %552, i8 0, i64 80, i1 false)
  br label %20200

20200:                                            ; preds = %20199
  %20201 = load i32, ptr @test_count, align 4, !tbaa !5
  %20202 = add nsw i32 %20201, 1
  store i32 %20202, ptr @test_count, align 4, !tbaa !5
  %20203 = call i32 @s2n_io_stuffer_pair_init(ptr noundef %552)
  %20204 = getelementptr inbounds %struct.s2n_result, ptr %553, i32 0, i32 0
  store i32 %20203, ptr %20204, align 4
  %20205 = getelementptr inbounds %struct.s2n_result, ptr %553, i32 0, i32 0
  %20206 = load i32, ptr %20205, align 4
  %20207 = call zeroext i1 @s2n_result_is_ok(i32 %20206)
  br i1 %20207, label %20261, label %20208

20208:                                            ; preds = %20200
  br label %20209

20209:                                            ; preds = %20208
  br label %20210

20210:                                            ; preds = %20209
  call void @llvm.lifetime.start.p0(i64 4, ptr %554) #11
  %20211 = call ptr @__errno_location() #12
  %20212 = load i32, ptr %20211, align 4, !tbaa !5
  store i32 %20212, ptr %554, align 4, !tbaa !5
  %20213 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20214 = call i32 @s2n_print_stacktrace(ptr noundef %20213)
  %20215 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20216 = trunc i8 %20215 to i1
  br i1 %20216, label %20217, label %20239

20217:                                            ; preds = %20210
  %20218 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20219 = call i32 @fileno(ptr noundef %20218) #11
  %20220 = call i32 @isatty(i32 noundef %20219) #11
  %20221 = icmp ne i32 %20220, 0
  br i1 %20221, label %20222, label %20239

20222:                                            ; preds = %20217
  %20223 = load i32, ptr %554, align 4, !tbaa !5
  %20224 = call ptr @__errno_location() #12
  store i32 %20223, ptr %20224, align 4, !tbaa !5
  %20225 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20226 = load i32, ptr @test_count, align 4, !tbaa !5
  %20227 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20228 = load i32, ptr %20227, align 4, !tbaa !5
  %20229 = call ptr @s2n_strerror(i32 noundef %20228, ptr noundef @.str.4)
  %20230 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20231 = load i32, ptr %20230, align 4, !tbaa !5
  %20232 = call ptr @s2n_strerror_debug(i32 noundef %20231, ptr noundef @.str.4)
  %20233 = call ptr @__errno_location() #12
  %20234 = load i32, ptr %20233, align 4, !tbaa !5
  %20235 = call ptr @strerror(i32 noundef %20234) #11
  %20236 = call ptr @__errno_location() #12
  %20237 = load i32, ptr %20236, align 4, !tbaa !5
  %20238 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20225, ptr noundef @.str.2, i32 noundef %20226, ptr noundef @.str.46, ptr noundef @.str.1, i32 noundef 845, ptr noundef %20229, ptr noundef %20232, ptr noundef %20235, i32 noundef %20237) #11
  br label %20256

20239:                                            ; preds = %20217, %20210
  %20240 = load i32, ptr %554, align 4, !tbaa !5
  %20241 = call ptr @__errno_location() #12
  store i32 %20240, ptr %20241, align 4, !tbaa !5
  %20242 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20243 = load i32, ptr @test_count, align 4, !tbaa !5
  %20244 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20245 = load i32, ptr %20244, align 4, !tbaa !5
  %20246 = call ptr @s2n_strerror(i32 noundef %20245, ptr noundef @.str.4)
  %20247 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20248 = load i32, ptr %20247, align 4, !tbaa !5
  %20249 = call ptr @s2n_strerror_debug(i32 noundef %20248, ptr noundef @.str.4)
  %20250 = call ptr @__errno_location() #12
  %20251 = load i32, ptr %20250, align 4, !tbaa !5
  %20252 = call ptr @strerror(i32 noundef %20251) #11
  %20253 = call ptr @__errno_location() #12
  %20254 = load i32, ptr %20253, align 4, !tbaa !5
  %20255 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20242, ptr noundef @.str.5, i32 noundef %20243, ptr noundef @.str.46, ptr noundef @.str.1, i32 noundef 845, ptr noundef %20246, ptr noundef %20249, ptr noundef %20252, i32 noundef %20254) #11
  br label %20256

20256:                                            ; preds = %20239, %20222
  call void @llvm.lifetime.end.p0(i64 4, ptr %554) #11
  br label %20257

20257:                                            ; preds = %20256
  br label %20258

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

20259:                                            ; No predecessors!
  br label %20260

20260:                                            ; preds = %20259
  br label %20261

20261:                                            ; preds = %20260, %20200
  br label %20262

20262:                                            ; preds = %20261
  br label %20263

20263:                                            ; preds = %20262
  br label %20264

20264:                                            ; preds = %20263
  %20265 = load i32, ptr @test_count, align 4, !tbaa !5
  %20266 = add nsw i32 %20265, 1
  store i32 %20266, ptr @test_count, align 4, !tbaa !5
  %20267 = load ptr, ptr %549, align 8, !tbaa !9
  %20268 = load ptr, ptr %545, align 8, !tbaa !9
  %20269 = call i32 @s2n_connections_set_io_stuffer_pair(ptr noundef %20267, ptr noundef %20268, ptr noundef %552)
  %20270 = getelementptr inbounds %struct.s2n_result, ptr %555, i32 0, i32 0
  store i32 %20269, ptr %20270, align 4
  %20271 = getelementptr inbounds %struct.s2n_result, ptr %555, i32 0, i32 0
  %20272 = load i32, ptr %20271, align 4
  %20273 = call zeroext i1 @s2n_result_is_ok(i32 %20272)
  br i1 %20273, label %20327, label %20274

20274:                                            ; preds = %20264
  br label %20275

20275:                                            ; preds = %20274
  br label %20276

20276:                                            ; preds = %20275
  call void @llvm.lifetime.start.p0(i64 4, ptr %556) #11
  %20277 = call ptr @__errno_location() #12
  %20278 = load i32, ptr %20277, align 4, !tbaa !5
  store i32 %20278, ptr %556, align 4, !tbaa !5
  %20279 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20280 = call i32 @s2n_print_stacktrace(ptr noundef %20279)
  %20281 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20282 = trunc i8 %20281 to i1
  br i1 %20282, label %20283, label %20305

20283:                                            ; preds = %20276
  %20284 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20285 = call i32 @fileno(ptr noundef %20284) #11
  %20286 = call i32 @isatty(i32 noundef %20285) #11
  %20287 = icmp ne i32 %20286, 0
  br i1 %20287, label %20288, label %20305

20288:                                            ; preds = %20283
  %20289 = load i32, ptr %556, align 4, !tbaa !5
  %20290 = call ptr @__errno_location() #12
  store i32 %20289, ptr %20290, align 4, !tbaa !5
  %20291 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20292 = load i32, ptr @test_count, align 4, !tbaa !5
  %20293 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20294 = load i32, ptr %20293, align 4, !tbaa !5
  %20295 = call ptr @s2n_strerror(i32 noundef %20294, ptr noundef @.str.4)
  %20296 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20297 = load i32, ptr %20296, align 4, !tbaa !5
  %20298 = call ptr @s2n_strerror_debug(i32 noundef %20297, ptr noundef @.str.4)
  %20299 = call ptr @__errno_location() #12
  %20300 = load i32, ptr %20299, align 4, !tbaa !5
  %20301 = call ptr @strerror(i32 noundef %20300) #11
  %20302 = call ptr @__errno_location() #12
  %20303 = load i32, ptr %20302, align 4, !tbaa !5
  %20304 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20291, ptr noundef @.str.2, i32 noundef %20292, ptr noundef @.str.47, ptr noundef @.str.1, i32 noundef 846, ptr noundef %20295, ptr noundef %20298, ptr noundef %20301, i32 noundef %20303) #11
  br label %20322

20305:                                            ; preds = %20283, %20276
  %20306 = load i32, ptr %556, align 4, !tbaa !5
  %20307 = call ptr @__errno_location() #12
  store i32 %20306, ptr %20307, align 4, !tbaa !5
  %20308 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20309 = load i32, ptr @test_count, align 4, !tbaa !5
  %20310 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20311 = load i32, ptr %20310, align 4, !tbaa !5
  %20312 = call ptr @s2n_strerror(i32 noundef %20311, ptr noundef @.str.4)
  %20313 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20314 = load i32, ptr %20313, align 4, !tbaa !5
  %20315 = call ptr @s2n_strerror_debug(i32 noundef %20314, ptr noundef @.str.4)
  %20316 = call ptr @__errno_location() #12
  %20317 = load i32, ptr %20316, align 4, !tbaa !5
  %20318 = call ptr @strerror(i32 noundef %20317) #11
  %20319 = call ptr @__errno_location() #12
  %20320 = load i32, ptr %20319, align 4, !tbaa !5
  %20321 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20308, ptr noundef @.str.5, i32 noundef %20309, ptr noundef @.str.47, ptr noundef @.str.1, i32 noundef 846, ptr noundef %20312, ptr noundef %20315, ptr noundef %20318, i32 noundef %20320) #11
  br label %20322

20322:                                            ; preds = %20305, %20288
  call void @llvm.lifetime.end.p0(i64 4, ptr %556) #11
  br label %20323

20323:                                            ; preds = %20322
  br label %20324

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

20325:                                            ; No predecessors!
  br label %20326

20326:                                            ; preds = %20325
  br label %20327

20327:                                            ; preds = %20326, %20264
  br label %20328

20328:                                            ; preds = %20327
  br label %20329

20329:                                            ; preds = %20328
  br label %20330

20330:                                            ; preds = %20329
  %20331 = load i32, ptr @test_count, align 4, !tbaa !5
  %20332 = add nsw i32 %20331, 1
  store i32 %20332, ptr @test_count, align 4, !tbaa !5
  %20333 = load ptr, ptr %545, align 8, !tbaa !9
  %20334 = load ptr, ptr %549, align 8, !tbaa !9
  %20335 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %20333, ptr noundef %20334)
  %20336 = icmp eq i32 %20335, -1
  br i1 %20336, label %20337, label %20390

20337:                                            ; preds = %20330
  br label %20338

20338:                                            ; preds = %20337
  br label %20339

20339:                                            ; preds = %20338
  call void @llvm.lifetime.start.p0(i64 4, ptr %557) #11
  %20340 = call ptr @__errno_location() #12
  %20341 = load i32, ptr %20340, align 4, !tbaa !5
  store i32 %20341, ptr %557, align 4, !tbaa !5
  %20342 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20343 = call i32 @s2n_print_stacktrace(ptr noundef %20342)
  %20344 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20345 = trunc i8 %20344 to i1
  br i1 %20345, label %20346, label %20368

20346:                                            ; preds = %20339
  %20347 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20348 = call i32 @fileno(ptr noundef %20347) #11
  %20349 = call i32 @isatty(i32 noundef %20348) #11
  %20350 = icmp ne i32 %20349, 0
  br i1 %20350, label %20351, label %20368

20351:                                            ; preds = %20346
  %20352 = load i32, ptr %557, align 4, !tbaa !5
  %20353 = call ptr @__errno_location() #12
  store i32 %20352, ptr %20353, align 4, !tbaa !5
  %20354 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20355 = load i32, ptr @test_count, align 4, !tbaa !5
  %20356 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20357 = load i32, ptr %20356, align 4, !tbaa !5
  %20358 = call ptr @s2n_strerror(i32 noundef %20357, ptr noundef @.str.4)
  %20359 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20360 = load i32, ptr %20359, align 4, !tbaa !5
  %20361 = call ptr @s2n_strerror_debug(i32 noundef %20360, ptr noundef @.str.4)
  %20362 = call ptr @__errno_location() #12
  %20363 = load i32, ptr %20362, align 4, !tbaa !5
  %20364 = call ptr @strerror(i32 noundef %20363) #11
  %20365 = call ptr @__errno_location() #12
  %20366 = load i32, ptr %20365, align 4, !tbaa !5
  %20367 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20354, ptr noundef @.str.2, i32 noundef %20355, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 848, ptr noundef %20358, ptr noundef %20361, ptr noundef %20364, i32 noundef %20366) #11
  br label %20385

20368:                                            ; preds = %20346, %20339
  %20369 = load i32, ptr %557, align 4, !tbaa !5
  %20370 = call ptr @__errno_location() #12
  store i32 %20369, ptr %20370, align 4, !tbaa !5
  %20371 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20372 = load i32, ptr @test_count, align 4, !tbaa !5
  %20373 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20374 = load i32, ptr %20373, align 4, !tbaa !5
  %20375 = call ptr @s2n_strerror(i32 noundef %20374, ptr noundef @.str.4)
  %20376 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20377 = load i32, ptr %20376, align 4, !tbaa !5
  %20378 = call ptr @s2n_strerror_debug(i32 noundef %20377, ptr noundef @.str.4)
  %20379 = call ptr @__errno_location() #12
  %20380 = load i32, ptr %20379, align 4, !tbaa !5
  %20381 = call ptr @strerror(i32 noundef %20380) #11
  %20382 = call ptr @__errno_location() #12
  %20383 = load i32, ptr %20382, align 4, !tbaa !5
  %20384 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20371, ptr noundef @.str.5, i32 noundef %20372, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 848, ptr noundef %20375, ptr noundef %20378, ptr noundef %20381, i32 noundef %20383) #11
  br label %20385

20385:                                            ; preds = %20368, %20351
  call void @llvm.lifetime.end.p0(i64 4, ptr %557) #11
  br label %20386

20386:                                            ; preds = %20385
  br label %20387

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

20388:                                            ; No predecessors!
  br label %20389

20389:                                            ; preds = %20388
  br label %20390

20390:                                            ; preds = %20389, %20330
  br label %20391

20391:                                            ; preds = %20390
  br label %20392

20392:                                            ; preds = %20391
  br label %20393

20393:                                            ; preds = %20392
  %20394 = load i32, ptr @test_count, align 4, !tbaa !5
  %20395 = add nsw i32 %20394, 1
  store i32 %20395, ptr @test_count, align 4, !tbaa !5
  %20396 = load ptr, ptr %545, align 8, !tbaa !9
  %20397 = call i32 @s2n_connection_get_actual_protocol_version(ptr noundef %20396)
  %20398 = icmp eq i32 %20397, 34
  br i1 %20398, label %20452, label %20399

20399:                                            ; preds = %20393
  br label %20400

20400:                                            ; preds = %20399
  br label %20401

20401:                                            ; preds = %20400
  call void @llvm.lifetime.start.p0(i64 4, ptr %558) #11
  %20402 = call ptr @__errno_location() #12
  %20403 = load i32, ptr %20402, align 4, !tbaa !5
  store i32 %20403, ptr %558, align 4, !tbaa !5
  %20404 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20405 = call i32 @s2n_print_stacktrace(ptr noundef %20404)
  %20406 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20407 = trunc i8 %20406 to i1
  br i1 %20407, label %20408, label %20430

20408:                                            ; preds = %20401
  %20409 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20410 = call i32 @fileno(ptr noundef %20409) #11
  %20411 = call i32 @isatty(i32 noundef %20410) #11
  %20412 = icmp ne i32 %20411, 0
  br i1 %20412, label %20413, label %20430

20413:                                            ; preds = %20408
  %20414 = load i32, ptr %558, align 4, !tbaa !5
  %20415 = call ptr @__errno_location() #12
  store i32 %20414, ptr %20415, align 4, !tbaa !5
  %20416 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20417 = load i32, ptr @test_count, align 4, !tbaa !5
  %20418 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20419 = load i32, ptr %20418, align 4, !tbaa !5
  %20420 = call ptr @s2n_strerror(i32 noundef %20419, ptr noundef @.str.4)
  %20421 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20422 = load i32, ptr %20421, align 4, !tbaa !5
  %20423 = call ptr @s2n_strerror_debug(i32 noundef %20422, ptr noundef @.str.4)
  %20424 = call ptr @__errno_location() #12
  %20425 = load i32, ptr %20424, align 4, !tbaa !5
  %20426 = call ptr @strerror(i32 noundef %20425) #11
  %20427 = call ptr @__errno_location() #12
  %20428 = load i32, ptr %20427, align 4, !tbaa !5
  %20429 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20416, ptr noundef @.str.2, i32 noundef %20417, ptr noundef @.str.77, ptr noundef @.str.1, i32 noundef 849, ptr noundef %20420, ptr noundef %20423, ptr noundef %20426, i32 noundef %20428) #11
  br label %20447

20430:                                            ; preds = %20408, %20401
  %20431 = load i32, ptr %558, align 4, !tbaa !5
  %20432 = call ptr @__errno_location() #12
  store i32 %20431, ptr %20432, align 4, !tbaa !5
  %20433 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20434 = load i32, ptr @test_count, align 4, !tbaa !5
  %20435 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20436 = load i32, ptr %20435, align 4, !tbaa !5
  %20437 = call ptr @s2n_strerror(i32 noundef %20436, ptr noundef @.str.4)
  %20438 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20439 = load i32, ptr %20438, align 4, !tbaa !5
  %20440 = call ptr @s2n_strerror_debug(i32 noundef %20439, ptr noundef @.str.4)
  %20441 = call ptr @__errno_location() #12
  %20442 = load i32, ptr %20441, align 4, !tbaa !5
  %20443 = call ptr @strerror(i32 noundef %20442) #11
  %20444 = call ptr @__errno_location() #12
  %20445 = load i32, ptr %20444, align 4, !tbaa !5
  %20446 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20433, ptr noundef @.str.5, i32 noundef %20434, ptr noundef @.str.77, ptr noundef @.str.1, i32 noundef 849, ptr noundef %20437, ptr noundef %20440, ptr noundef %20443, i32 noundef %20445) #11
  br label %20447

20447:                                            ; preds = %20430, %20413
  call void @llvm.lifetime.end.p0(i64 4, ptr %558) #11
  br label %20448

20448:                                            ; preds = %20447
  br label %20449

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

20450:                                            ; No predecessors!
  br label %20451

20451:                                            ; preds = %20450
  br label %20452

20452:                                            ; preds = %20451, %20393
  br label %20453

20453:                                            ; preds = %20452
  br label %20454

20454:                                            ; preds = %20453
  br label %20455

20455:                                            ; preds = %20454
  %20456 = load i32, ptr @test_count, align 4, !tbaa !5
  %20457 = add nsw i32 %20456, 1
  store i32 %20457, ptr @test_count, align 4, !tbaa !5
  %20458 = load ptr, ptr %545, align 8, !tbaa !9
  %20459 = load ptr, ptr %549, align 8, !tbaa !9
  %20460 = call i32 @s2n_send_and_recv_test(ptr noundef %20458, ptr noundef %20459)
  %20461 = getelementptr inbounds %struct.s2n_result, ptr %559, i32 0, i32 0
  store i32 %20460, ptr %20461, align 4
  %20462 = getelementptr inbounds %struct.s2n_result, ptr %559, i32 0, i32 0
  %20463 = load i32, ptr %20462, align 4
  %20464 = call zeroext i1 @s2n_result_is_ok(i32 %20463)
  br i1 %20464, label %20518, label %20465

20465:                                            ; preds = %20455
  br label %20466

20466:                                            ; preds = %20465
  br label %20467

20467:                                            ; preds = %20466
  call void @llvm.lifetime.start.p0(i64 4, ptr %560) #11
  %20468 = call ptr @__errno_location() #12
  %20469 = load i32, ptr %20468, align 4, !tbaa !5
  store i32 %20469, ptr %560, align 4, !tbaa !5
  %20470 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20471 = call i32 @s2n_print_stacktrace(ptr noundef %20470)
  %20472 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20473 = trunc i8 %20472 to i1
  br i1 %20473, label %20474, label %20496

20474:                                            ; preds = %20467
  %20475 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20476 = call i32 @fileno(ptr noundef %20475) #11
  %20477 = call i32 @isatty(i32 noundef %20476) #11
  %20478 = icmp ne i32 %20477, 0
  br i1 %20478, label %20479, label %20496

20479:                                            ; preds = %20474
  %20480 = load i32, ptr %560, align 4, !tbaa !5
  %20481 = call ptr @__errno_location() #12
  store i32 %20480, ptr %20481, align 4, !tbaa !5
  %20482 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20483 = load i32, ptr @test_count, align 4, !tbaa !5
  %20484 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20485 = load i32, ptr %20484, align 4, !tbaa !5
  %20486 = call ptr @s2n_strerror(i32 noundef %20485, ptr noundef @.str.4)
  %20487 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20488 = load i32, ptr %20487, align 4, !tbaa !5
  %20489 = call ptr @s2n_strerror_debug(i32 noundef %20488, ptr noundef @.str.4)
  %20490 = call ptr @__errno_location() #12
  %20491 = load i32, ptr %20490, align 4, !tbaa !5
  %20492 = call ptr @strerror(i32 noundef %20491) #11
  %20493 = call ptr @__errno_location() #12
  %20494 = load i32, ptr %20493, align 4, !tbaa !5
  %20495 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20482, ptr noundef @.str.2, i32 noundef %20483, ptr noundef @.str.103, ptr noundef @.str.1, i32 noundef 852, ptr noundef %20486, ptr noundef %20489, ptr noundef %20492, i32 noundef %20494) #11
  br label %20513

20496:                                            ; preds = %20474, %20467
  %20497 = load i32, ptr %560, align 4, !tbaa !5
  %20498 = call ptr @__errno_location() #12
  store i32 %20497, ptr %20498, align 4, !tbaa !5
  %20499 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20500 = load i32, ptr @test_count, align 4, !tbaa !5
  %20501 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20502 = load i32, ptr %20501, align 4, !tbaa !5
  %20503 = call ptr @s2n_strerror(i32 noundef %20502, ptr noundef @.str.4)
  %20504 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20505 = load i32, ptr %20504, align 4, !tbaa !5
  %20506 = call ptr @s2n_strerror_debug(i32 noundef %20505, ptr noundef @.str.4)
  %20507 = call ptr @__errno_location() #12
  %20508 = load i32, ptr %20507, align 4, !tbaa !5
  %20509 = call ptr @strerror(i32 noundef %20508) #11
  %20510 = call ptr @__errno_location() #12
  %20511 = load i32, ptr %20510, align 4, !tbaa !5
  %20512 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20499, ptr noundef @.str.5, i32 noundef %20500, ptr noundef @.str.103, ptr noundef @.str.1, i32 noundef 852, ptr noundef %20503, ptr noundef %20506, ptr noundef %20509, i32 noundef %20511) #11
  br label %20513

20513:                                            ; preds = %20496, %20479
  call void @llvm.lifetime.end.p0(i64 4, ptr %560) #11
  br label %20514

20514:                                            ; preds = %20513
  br label %20515

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

20516:                                            ; No predecessors!
  br label %20517

20517:                                            ; preds = %20516
  br label %20518

20518:                                            ; preds = %20517, %20455
  br label %20519

20519:                                            ; preds = %20518
  br label %20520

20520:                                            ; preds = %20519
  br label %20521

20521:                                            ; preds = %20520
  %20522 = load i32, ptr @test_count, align 4, !tbaa !5
  %20523 = add nsw i32 %20522, 1
  store i32 %20523, ptr @test_count, align 4, !tbaa !5
  %20524 = load ptr, ptr %549, align 8, !tbaa !9
  %20525 = load ptr, ptr %545, align 8, !tbaa !9
  %20526 = call i32 @s2n_send_and_recv_test(ptr noundef %20524, ptr noundef %20525)
  %20527 = getelementptr inbounds %struct.s2n_result, ptr %561, i32 0, i32 0
  store i32 %20526, ptr %20527, align 4
  %20528 = getelementptr inbounds %struct.s2n_result, ptr %561, i32 0, i32 0
  %20529 = load i32, ptr %20528, align 4
  %20530 = call zeroext i1 @s2n_result_is_ok(i32 %20529)
  br i1 %20530, label %20584, label %20531

20531:                                            ; preds = %20521
  br label %20532

20532:                                            ; preds = %20531
  br label %20533

20533:                                            ; preds = %20532
  call void @llvm.lifetime.start.p0(i64 4, ptr %562) #11
  %20534 = call ptr @__errno_location() #12
  %20535 = load i32, ptr %20534, align 4, !tbaa !5
  store i32 %20535, ptr %562, align 4, !tbaa !5
  %20536 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20537 = call i32 @s2n_print_stacktrace(ptr noundef %20536)
  %20538 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20539 = trunc i8 %20538 to i1
  br i1 %20539, label %20540, label %20562

20540:                                            ; preds = %20533
  %20541 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20542 = call i32 @fileno(ptr noundef %20541) #11
  %20543 = call i32 @isatty(i32 noundef %20542) #11
  %20544 = icmp ne i32 %20543, 0
  br i1 %20544, label %20545, label %20562

20545:                                            ; preds = %20540
  %20546 = load i32, ptr %562, align 4, !tbaa !5
  %20547 = call ptr @__errno_location() #12
  store i32 %20546, ptr %20547, align 4, !tbaa !5
  %20548 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20549 = load i32, ptr @test_count, align 4, !tbaa !5
  %20550 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20551 = load i32, ptr %20550, align 4, !tbaa !5
  %20552 = call ptr @s2n_strerror(i32 noundef %20551, ptr noundef @.str.4)
  %20553 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20554 = load i32, ptr %20553, align 4, !tbaa !5
  %20555 = call ptr @s2n_strerror_debug(i32 noundef %20554, ptr noundef @.str.4)
  %20556 = call ptr @__errno_location() #12
  %20557 = load i32, ptr %20556, align 4, !tbaa !5
  %20558 = call ptr @strerror(i32 noundef %20557) #11
  %20559 = call ptr @__errno_location() #12
  %20560 = load i32, ptr %20559, align 4, !tbaa !5
  %20561 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20548, ptr noundef @.str.2, i32 noundef %20549, ptr noundef @.str.104, ptr noundef @.str.1, i32 noundef 853, ptr noundef %20552, ptr noundef %20555, ptr noundef %20558, i32 noundef %20560) #11
  br label %20579

20562:                                            ; preds = %20540, %20533
  %20563 = load i32, ptr %562, align 4, !tbaa !5
  %20564 = call ptr @__errno_location() #12
  store i32 %20563, ptr %20564, align 4, !tbaa !5
  %20565 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20566 = load i32, ptr @test_count, align 4, !tbaa !5
  %20567 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20568 = load i32, ptr %20567, align 4, !tbaa !5
  %20569 = call ptr @s2n_strerror(i32 noundef %20568, ptr noundef @.str.4)
  %20570 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20571 = load i32, ptr %20570, align 4, !tbaa !5
  %20572 = call ptr @s2n_strerror_debug(i32 noundef %20571, ptr noundef @.str.4)
  %20573 = call ptr @__errno_location() #12
  %20574 = load i32, ptr %20573, align 4, !tbaa !5
  %20575 = call ptr @strerror(i32 noundef %20574) #11
  %20576 = call ptr @__errno_location() #12
  %20577 = load i32, ptr %20576, align 4, !tbaa !5
  %20578 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20565, ptr noundef @.str.5, i32 noundef %20566, ptr noundef @.str.104, ptr noundef @.str.1, i32 noundef 853, ptr noundef %20569, ptr noundef %20572, ptr noundef %20575, i32 noundef %20577) #11
  br label %20579

20579:                                            ; preds = %20562, %20545
  call void @llvm.lifetime.end.p0(i64 4, ptr %562) #11
  br label %20580

20580:                                            ; preds = %20579
  br label %20581

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

20582:                                            ; No predecessors!
  br label %20583

20583:                                            ; preds = %20582
  br label %20584

20584:                                            ; preds = %20583, %20521
  br label %20585

20585:                                            ; preds = %20584
  br label %20586

20586:                                            ; preds = %20585
  br label %20587

20587:                                            ; preds = %20586
  %20588 = load i32, ptr @test_count, align 4, !tbaa !5
  %20589 = add nsw i32 %20588, 1
  store i32 %20589, ptr @test_count, align 4, !tbaa !5
  %20590 = load ptr, ptr %549, align 8, !tbaa !9
  %20591 = getelementptr inbounds [142 x i8], ptr %548, i64 0, i64 0
  %20592 = call i32 @s2n_connection_serialize(ptr noundef %20590, ptr noundef %20591, i32 noundef 142)
  %20593 = icmp eq i32 %20592, -1
  br i1 %20593, label %20594, label %20647

20594:                                            ; preds = %20587
  br label %20595

20595:                                            ; preds = %20594
  br label %20596

20596:                                            ; preds = %20595
  call void @llvm.lifetime.start.p0(i64 4, ptr %563) #11
  %20597 = call ptr @__errno_location() #12
  %20598 = load i32, ptr %20597, align 4, !tbaa !5
  store i32 %20598, ptr %563, align 4, !tbaa !5
  %20599 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20600 = call i32 @s2n_print_stacktrace(ptr noundef %20599)
  %20601 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20602 = trunc i8 %20601 to i1
  br i1 %20602, label %20603, label %20625

20603:                                            ; preds = %20596
  %20604 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20605 = call i32 @fileno(ptr noundef %20604) #11
  %20606 = call i32 @isatty(i32 noundef %20605) #11
  %20607 = icmp ne i32 %20606, 0
  br i1 %20607, label %20608, label %20625

20608:                                            ; preds = %20603
  %20609 = load i32, ptr %563, align 4, !tbaa !5
  %20610 = call ptr @__errno_location() #12
  store i32 %20609, ptr %20610, align 4, !tbaa !5
  %20611 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20612 = load i32, ptr @test_count, align 4, !tbaa !5
  %20613 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20614 = load i32, ptr %20613, align 4, !tbaa !5
  %20615 = call ptr @s2n_strerror(i32 noundef %20614, ptr noundef @.str.4)
  %20616 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20617 = load i32, ptr %20616, align 4, !tbaa !5
  %20618 = call ptr @s2n_strerror_debug(i32 noundef %20617, ptr noundef @.str.4)
  %20619 = call ptr @__errno_location() #12
  %20620 = load i32, ptr %20619, align 4, !tbaa !5
  %20621 = call ptr @strerror(i32 noundef %20620) #11
  %20622 = call ptr @__errno_location() #12
  %20623 = load i32, ptr %20622, align 4, !tbaa !5
  %20624 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20611, ptr noundef @.str.2, i32 noundef %20612, ptr noundef @.str.126, ptr noundef @.str.1, i32 noundef 855, ptr noundef %20615, ptr noundef %20618, ptr noundef %20621, i32 noundef %20623) #11
  br label %20642

20625:                                            ; preds = %20603, %20596
  %20626 = load i32, ptr %563, align 4, !tbaa !5
  %20627 = call ptr @__errno_location() #12
  store i32 %20626, ptr %20627, align 4, !tbaa !5
  %20628 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20629 = load i32, ptr @test_count, align 4, !tbaa !5
  %20630 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20631 = load i32, ptr %20630, align 4, !tbaa !5
  %20632 = call ptr @s2n_strerror(i32 noundef %20631, ptr noundef @.str.4)
  %20633 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20634 = load i32, ptr %20633, align 4, !tbaa !5
  %20635 = call ptr @s2n_strerror_debug(i32 noundef %20634, ptr noundef @.str.4)
  %20636 = call ptr @__errno_location() #12
  %20637 = load i32, ptr %20636, align 4, !tbaa !5
  %20638 = call ptr @strerror(i32 noundef %20637) #11
  %20639 = call ptr @__errno_location() #12
  %20640 = load i32, ptr %20639, align 4, !tbaa !5
  %20641 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20628, ptr noundef @.str.5, i32 noundef %20629, ptr noundef @.str.126, ptr noundef @.str.1, i32 noundef 855, ptr noundef %20632, ptr noundef %20635, ptr noundef %20638, i32 noundef %20640) #11
  br label %20642

20642:                                            ; preds = %20625, %20608
  call void @llvm.lifetime.end.p0(i64 4, ptr %563) #11
  br label %20643

20643:                                            ; preds = %20642
  br label %20644

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

20645:                                            ; No predecessors!
  br label %20646

20646:                                            ; preds = %20645
  br label %20647

20647:                                            ; preds = %20646, %20587
  br label %20648

20648:                                            ; preds = %20647
  br label %20649

20649:                                            ; preds = %20648
  %20650 = call i32 @s2n_io_stuffer_pair_free(ptr noundef %552)
  %20651 = getelementptr inbounds %struct.s2n_result, ptr %564, i32 0, i32 0
  store i32 %20650, ptr %20651, align 4
  call void @llvm.lifetime.end.p0(i64 80, ptr %552) #11
  %20652 = call i32 @s2n_connection_ptr_free(ptr noundef %549)
  %20653 = getelementptr inbounds %struct.s2n_result, ptr %565, i32 0, i32 0
  store i32 %20652, ptr %20653, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %549) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %566) #11
  %20654 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %20654, ptr %566, align 8, !tbaa !9
  br label %20655

20655:                                            ; preds = %20649
  %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 = load ptr, ptr %566, align 8, !tbaa !9
  %20659 = icmp eq ptr %20658, null
  br i1 %20659, label %20660, label %20713

20660:                                            ; preds = %20655
  br label %20661

20661:                                            ; preds = %20660
  br label %20662

20662:                                            ; preds = %20661
  call void @llvm.lifetime.start.p0(i64 4, ptr %567) #11
  %20663 = call ptr @__errno_location() #12
  %20664 = load i32, ptr %20663, align 4, !tbaa !5
  store i32 %20664, ptr %567, align 4, !tbaa !5
  %20665 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20666 = call i32 @s2n_print_stacktrace(ptr noundef %20665)
  %20667 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20668 = trunc i8 %20667 to i1
  br i1 %20668, label %20669, label %20691

20669:                                            ; preds = %20662
  %20670 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20671 = call i32 @fileno(ptr noundef %20670) #11
  %20672 = call i32 @isatty(i32 noundef %20671) #11
  %20673 = icmp ne i32 %20672, 0
  br i1 %20673, label %20674, label %20691

20674:                                            ; preds = %20669
  %20675 = load i32, ptr %567, align 4, !tbaa !5
  %20676 = call ptr @__errno_location() #12
  store i32 %20675, ptr %20676, align 4, !tbaa !5
  %20677 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20678 = load i32, ptr @test_count, align 4, !tbaa !5
  %20679 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20680 = load i32, ptr %20679, align 4, !tbaa !5
  %20681 = call ptr @s2n_strerror(i32 noundef %20680, ptr noundef @.str.4)
  %20682 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20683 = load i32, ptr %20682, align 4, !tbaa !5
  %20684 = call ptr @s2n_strerror_debug(i32 noundef %20683, ptr noundef @.str.4)
  %20685 = call ptr @__errno_location() #12
  %20686 = load i32, ptr %20685, align 4, !tbaa !5
  %20687 = call ptr @strerror(i32 noundef %20686) #11
  %20688 = call ptr @__errno_location() #12
  %20689 = load i32, ptr %20688, align 4, !tbaa !5
  %20690 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20677, ptr noundef @.str.2, i32 noundef %20678, ptr noundef @.str.42, ptr noundef @.str.1, i32 noundef 862, ptr noundef %20681, ptr noundef %20684, ptr noundef %20687, i32 noundef %20689) #11
  br label %20708

20691:                                            ; preds = %20669, %20662
  %20692 = load i32, ptr %567, align 4, !tbaa !5
  %20693 = call ptr @__errno_location() #12
  store i32 %20692, ptr %20693, align 4, !tbaa !5
  %20694 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20695 = load i32, ptr @test_count, align 4, !tbaa !5
  %20696 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20697 = load i32, ptr %20696, align 4, !tbaa !5
  %20698 = call ptr @s2n_strerror(i32 noundef %20697, ptr noundef @.str.4)
  %20699 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20700 = load i32, ptr %20699, align 4, !tbaa !5
  %20701 = call ptr @s2n_strerror_debug(i32 noundef %20700, ptr noundef @.str.4)
  %20702 = call ptr @__errno_location() #12
  %20703 = load i32, ptr %20702, align 4, !tbaa !5
  %20704 = call ptr @strerror(i32 noundef %20703) #11
  %20705 = call ptr @__errno_location() #12
  %20706 = load i32, ptr %20705, align 4, !tbaa !5
  %20707 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20694, ptr noundef @.str.5, i32 noundef %20695, ptr noundef @.str.42, ptr noundef @.str.1, i32 noundef 862, ptr noundef %20698, ptr noundef %20701, ptr noundef %20704, i32 noundef %20706) #11
  br label %20708

20708:                                            ; preds = %20691, %20674
  call void @llvm.lifetime.end.p0(i64 4, ptr %567) #11
  br label %20709

20709:                                            ; preds = %20708
  br label %20710

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

20711:                                            ; No predecessors!
  br label %20712

20712:                                            ; preds = %20711
  br label %20713

20713:                                            ; preds = %20712, %20655
  br label %20714

20714:                                            ; preds = %20713
  br label %20715

20715:                                            ; preds = %20714
  br label %20716

20716:                                            ; preds = %20715
  %20717 = load i32, ptr @test_count, align 4, !tbaa !5
  %20718 = add nsw i32 %20717, 1
  store i32 %20718, ptr @test_count, align 4, !tbaa !5
  %20719 = load ptr, ptr %566, align 8, !tbaa !9
  %20720 = getelementptr inbounds [142 x i8], ptr %548, i64 0, i64 0
  %20721 = call i32 @s2n_connection_deserialize(ptr noundef %20719, ptr noundef %20720, i32 noundef 142)
  %20722 = icmp eq i32 %20721, -1
  br i1 %20722, label %20723, label %20776

20723:                                            ; preds = %20716
  br label %20724

20724:                                            ; preds = %20723
  br label %20725

20725:                                            ; preds = %20724
  call void @llvm.lifetime.start.p0(i64 4, ptr %568) #11
  %20726 = call ptr @__errno_location() #12
  %20727 = load i32, ptr %20726, align 4, !tbaa !5
  store i32 %20727, ptr %568, align 4, !tbaa !5
  %20728 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20729 = call i32 @s2n_print_stacktrace(ptr noundef %20728)
  %20730 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20731 = trunc i8 %20730 to i1
  br i1 %20731, label %20732, label %20754

20732:                                            ; preds = %20725
  %20733 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20734 = call i32 @fileno(ptr noundef %20733) #11
  %20735 = call i32 @isatty(i32 noundef %20734) #11
  %20736 = icmp ne i32 %20735, 0
  br i1 %20736, label %20737, label %20754

20737:                                            ; preds = %20732
  %20738 = load i32, ptr %568, align 4, !tbaa !5
  %20739 = call ptr @__errno_location() #12
  store i32 %20738, ptr %20739, align 4, !tbaa !5
  %20740 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20741 = load i32, ptr @test_count, align 4, !tbaa !5
  %20742 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20743 = load i32, ptr %20742, align 4, !tbaa !5
  %20744 = call ptr @s2n_strerror(i32 noundef %20743, ptr noundef @.str.4)
  %20745 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20746 = load i32, ptr %20745, align 4, !tbaa !5
  %20747 = call ptr @s2n_strerror_debug(i32 noundef %20746, ptr noundef @.str.4)
  %20748 = call ptr @__errno_location() #12
  %20749 = load i32, ptr %20748, align 4, !tbaa !5
  %20750 = call ptr @strerror(i32 noundef %20749) #11
  %20751 = call ptr @__errno_location() #12
  %20752 = load i32, ptr %20751, align 4, !tbaa !5
  %20753 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20740, ptr noundef @.str.2, i32 noundef %20741, ptr noundef @.str.127, ptr noundef @.str.1, i32 noundef 863, ptr noundef %20744, ptr noundef %20747, ptr noundef %20750, i32 noundef %20752) #11
  br label %20771

20754:                                            ; preds = %20732, %20725
  %20755 = load i32, ptr %568, align 4, !tbaa !5
  %20756 = call ptr @__errno_location() #12
  store i32 %20755, ptr %20756, align 4, !tbaa !5
  %20757 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20758 = load i32, ptr @test_count, align 4, !tbaa !5
  %20759 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20760 = load i32, ptr %20759, align 4, !tbaa !5
  %20761 = call ptr @s2n_strerror(i32 noundef %20760, ptr noundef @.str.4)
  %20762 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20763 = load i32, ptr %20762, align 4, !tbaa !5
  %20764 = call ptr @s2n_strerror_debug(i32 noundef %20763, ptr noundef @.str.4)
  %20765 = call ptr @__errno_location() #12
  %20766 = load i32, ptr %20765, align 4, !tbaa !5
  %20767 = call ptr @strerror(i32 noundef %20766) #11
  %20768 = call ptr @__errno_location() #12
  %20769 = load i32, ptr %20768, align 4, !tbaa !5
  %20770 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20757, ptr noundef @.str.5, i32 noundef %20758, ptr noundef @.str.127, ptr noundef @.str.1, i32 noundef 863, ptr noundef %20761, ptr noundef %20764, ptr noundef %20767, i32 noundef %20769) #11
  br label %20771

20771:                                            ; preds = %20754, %20737
  call void @llvm.lifetime.end.p0(i64 4, ptr %568) #11
  br label %20772

20772:                                            ; preds = %20771
  br label %20773

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

20774:                                            ; No predecessors!
  br label %20775

20775:                                            ; preds = %20774
  br label %20776

20776:                                            ; preds = %20775, %20716
  br label %20777

20777:                                            ; preds = %20776
  br label %20778

20778:                                            ; preds = %20777
  call void @llvm.lifetime.start.p0(i64 80, ptr %569) #11
  call void @llvm.memset.p0.i64(ptr align 8 %569, i8 0, i64 80, i1 false)
  br label %20779

20779:                                            ; preds = %20778
  %20780 = load i32, ptr @test_count, align 4, !tbaa !5
  %20781 = add nsw i32 %20780, 1
  store i32 %20781, ptr @test_count, align 4, !tbaa !5
  %20782 = call i32 @s2n_io_stuffer_pair_init(ptr noundef %569)
  %20783 = getelementptr inbounds %struct.s2n_result, ptr %570, i32 0, i32 0
  store i32 %20782, ptr %20783, align 4
  %20784 = getelementptr inbounds %struct.s2n_result, ptr %570, i32 0, i32 0
  %20785 = load i32, ptr %20784, align 4
  %20786 = call zeroext i1 @s2n_result_is_ok(i32 %20785)
  br i1 %20786, label %20840, label %20787

20787:                                            ; preds = %20779
  br label %20788

20788:                                            ; preds = %20787
  br label %20789

20789:                                            ; preds = %20788
  call void @llvm.lifetime.start.p0(i64 4, ptr %571) #11
  %20790 = call ptr @__errno_location() #12
  %20791 = load i32, ptr %20790, align 4, !tbaa !5
  store i32 %20791, ptr %571, align 4, !tbaa !5
  %20792 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20793 = call i32 @s2n_print_stacktrace(ptr noundef %20792)
  %20794 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20795 = trunc i8 %20794 to i1
  br i1 %20795, label %20796, label %20818

20796:                                            ; preds = %20789
  %20797 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20798 = call i32 @fileno(ptr noundef %20797) #11
  %20799 = call i32 @isatty(i32 noundef %20798) #11
  %20800 = icmp ne i32 %20799, 0
  br i1 %20800, label %20801, label %20818

20801:                                            ; preds = %20796
  %20802 = load i32, ptr %571, align 4, !tbaa !5
  %20803 = call ptr @__errno_location() #12
  store i32 %20802, ptr %20803, align 4, !tbaa !5
  %20804 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20805 = load i32, ptr @test_count, align 4, !tbaa !5
  %20806 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20807 = load i32, ptr %20806, align 4, !tbaa !5
  %20808 = call ptr @s2n_strerror(i32 noundef %20807, ptr noundef @.str.4)
  %20809 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20810 = load i32, ptr %20809, align 4, !tbaa !5
  %20811 = call ptr @s2n_strerror_debug(i32 noundef %20810, ptr noundef @.str.4)
  %20812 = call ptr @__errno_location() #12
  %20813 = load i32, ptr %20812, align 4, !tbaa !5
  %20814 = call ptr @strerror(i32 noundef %20813) #11
  %20815 = call ptr @__errno_location() #12
  %20816 = load i32, ptr %20815, align 4, !tbaa !5
  %20817 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20804, ptr noundef @.str.2, i32 noundef %20805, ptr noundef @.str.46, ptr noundef @.str.1, i32 noundef 866, ptr noundef %20808, ptr noundef %20811, ptr noundef %20814, i32 noundef %20816) #11
  br label %20835

20818:                                            ; preds = %20796, %20789
  %20819 = load i32, ptr %571, align 4, !tbaa !5
  %20820 = call ptr @__errno_location() #12
  store i32 %20819, ptr %20820, align 4, !tbaa !5
  %20821 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20822 = load i32, ptr @test_count, align 4, !tbaa !5
  %20823 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20824 = load i32, ptr %20823, align 4, !tbaa !5
  %20825 = call ptr @s2n_strerror(i32 noundef %20824, ptr noundef @.str.4)
  %20826 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20827 = load i32, ptr %20826, align 4, !tbaa !5
  %20828 = call ptr @s2n_strerror_debug(i32 noundef %20827, ptr noundef @.str.4)
  %20829 = call ptr @__errno_location() #12
  %20830 = load i32, ptr %20829, align 4, !tbaa !5
  %20831 = call ptr @strerror(i32 noundef %20830) #11
  %20832 = call ptr @__errno_location() #12
  %20833 = load i32, ptr %20832, align 4, !tbaa !5
  %20834 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20821, ptr noundef @.str.5, i32 noundef %20822, ptr noundef @.str.46, ptr noundef @.str.1, i32 noundef 866, ptr noundef %20825, ptr noundef %20828, ptr noundef %20831, i32 noundef %20833) #11
  br label %20835

20835:                                            ; preds = %20818, %20801
  call void @llvm.lifetime.end.p0(i64 4, ptr %571) #11
  br label %20836

20836:                                            ; preds = %20835
  br label %20837

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

20838:                                            ; No predecessors!
  br label %20839

20839:                                            ; preds = %20838
  br label %20840

20840:                                            ; preds = %20839, %20779
  br label %20841

20841:                                            ; preds = %20840
  br label %20842

20842:                                            ; preds = %20841
  br label %20843

20843:                                            ; preds = %20842
  %20844 = load i32, ptr @test_count, align 4, !tbaa !5
  %20845 = add nsw i32 %20844, 1
  store i32 %20845, ptr @test_count, align 4, !tbaa !5
  %20846 = load ptr, ptr %566, align 8, !tbaa !9
  %20847 = load ptr, ptr %545, align 8, !tbaa !9
  %20848 = call i32 @s2n_connections_set_io_stuffer_pair(ptr noundef %20846, ptr noundef %20847, ptr noundef %569)
  %20849 = getelementptr inbounds %struct.s2n_result, ptr %572, i32 0, i32 0
  store i32 %20848, ptr %20849, align 4
  %20850 = getelementptr inbounds %struct.s2n_result, ptr %572, i32 0, i32 0
  %20851 = load i32, ptr %20850, align 4
  %20852 = call zeroext i1 @s2n_result_is_ok(i32 %20851)
  br i1 %20852, label %20906, label %20853

20853:                                            ; preds = %20843
  br label %20854

20854:                                            ; preds = %20853
  br label %20855

20855:                                            ; preds = %20854
  call void @llvm.lifetime.start.p0(i64 4, ptr %573) #11
  %20856 = call ptr @__errno_location() #12
  %20857 = load i32, ptr %20856, align 4, !tbaa !5
  store i32 %20857, ptr %573, align 4, !tbaa !5
  %20858 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20859 = call i32 @s2n_print_stacktrace(ptr noundef %20858)
  %20860 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20861 = trunc i8 %20860 to i1
  br i1 %20861, label %20862, label %20884

20862:                                            ; preds = %20855
  %20863 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20864 = call i32 @fileno(ptr noundef %20863) #11
  %20865 = call i32 @isatty(i32 noundef %20864) #11
  %20866 = icmp ne i32 %20865, 0
  br i1 %20866, label %20867, label %20884

20867:                                            ; preds = %20862
  %20868 = load i32, ptr %573, align 4, !tbaa !5
  %20869 = call ptr @__errno_location() #12
  store i32 %20868, ptr %20869, align 4, !tbaa !5
  %20870 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20871 = load i32, ptr @test_count, align 4, !tbaa !5
  %20872 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20873 = load i32, ptr %20872, align 4, !tbaa !5
  %20874 = call ptr @s2n_strerror(i32 noundef %20873, ptr noundef @.str.4)
  %20875 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20876 = load i32, ptr %20875, align 4, !tbaa !5
  %20877 = call ptr @s2n_strerror_debug(i32 noundef %20876, ptr noundef @.str.4)
  %20878 = call ptr @__errno_location() #12
  %20879 = load i32, ptr %20878, align 4, !tbaa !5
  %20880 = call ptr @strerror(i32 noundef %20879) #11
  %20881 = call ptr @__errno_location() #12
  %20882 = load i32, ptr %20881, align 4, !tbaa !5
  %20883 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20870, ptr noundef @.str.2, i32 noundef %20871, ptr noundef @.str.47, ptr noundef @.str.1, i32 noundef 867, ptr noundef %20874, ptr noundef %20877, ptr noundef %20880, i32 noundef %20882) #11
  br label %20901

20884:                                            ; preds = %20862, %20855
  %20885 = load i32, ptr %573, align 4, !tbaa !5
  %20886 = call ptr @__errno_location() #12
  store i32 %20885, ptr %20886, align 4, !tbaa !5
  %20887 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20888 = load i32, ptr @test_count, align 4, !tbaa !5
  %20889 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20890 = load i32, ptr %20889, align 4, !tbaa !5
  %20891 = call ptr @s2n_strerror(i32 noundef %20890, ptr noundef @.str.4)
  %20892 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20893 = load i32, ptr %20892, align 4, !tbaa !5
  %20894 = call ptr @s2n_strerror_debug(i32 noundef %20893, ptr noundef @.str.4)
  %20895 = call ptr @__errno_location() #12
  %20896 = load i32, ptr %20895, align 4, !tbaa !5
  %20897 = call ptr @strerror(i32 noundef %20896) #11
  %20898 = call ptr @__errno_location() #12
  %20899 = load i32, ptr %20898, align 4, !tbaa !5
  %20900 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20887, ptr noundef @.str.5, i32 noundef %20888, ptr noundef @.str.47, ptr noundef @.str.1, i32 noundef 867, ptr noundef %20891, ptr noundef %20894, ptr noundef %20897, i32 noundef %20899) #11
  br label %20901

20901:                                            ; preds = %20884, %20867
  call void @llvm.lifetime.end.p0(i64 4, ptr %573) #11
  br label %20902

20902:                                            ; preds = %20901
  br label %20903

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

20904:                                            ; No predecessors!
  br label %20905

20905:                                            ; preds = %20904
  br label %20906

20906:                                            ; preds = %20905, %20843
  br label %20907

20907:                                            ; preds = %20906
  br label %20908

20908:                                            ; preds = %20907
  br label %20909

20909:                                            ; preds = %20908
  %20910 = load i32, ptr @test_count, align 4, !tbaa !5
  %20911 = add nsw i32 %20910, 1
  store i32 %20911, ptr @test_count, align 4, !tbaa !5
  %20912 = load ptr, ptr %566, align 8, !tbaa !9
  %20913 = load ptr, ptr %545, align 8, !tbaa !9
  %20914 = call i32 @s2n_test_key_update(ptr noundef %20912, ptr noundef %20913)
  %20915 = getelementptr inbounds %struct.s2n_result, ptr %574, i32 0, i32 0
  store i32 %20914, ptr %20915, align 4
  %20916 = getelementptr inbounds %struct.s2n_result, ptr %574, i32 0, i32 0
  %20917 = load i32, ptr %20916, align 4
  %20918 = call zeroext i1 @s2n_result_is_ok(i32 %20917)
  br i1 %20918, label %20972, label %20919

20919:                                            ; preds = %20909
  br label %20920

20920:                                            ; preds = %20919
  br label %20921

20921:                                            ; preds = %20920
  call void @llvm.lifetime.start.p0(i64 4, ptr %575) #11
  %20922 = call ptr @__errno_location() #12
  %20923 = load i32, ptr %20922, align 4, !tbaa !5
  store i32 %20923, ptr %575, align 4, !tbaa !5
  %20924 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20925 = call i32 @s2n_print_stacktrace(ptr noundef %20924)
  %20926 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20927 = trunc i8 %20926 to i1
  br i1 %20927, label %20928, label %20950

20928:                                            ; preds = %20921
  %20929 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20930 = call i32 @fileno(ptr noundef %20929) #11
  %20931 = call i32 @isatty(i32 noundef %20930) #11
  %20932 = icmp ne i32 %20931, 0
  br i1 %20932, label %20933, label %20950

20933:                                            ; preds = %20928
  %20934 = load i32, ptr %575, align 4, !tbaa !5
  %20935 = call ptr @__errno_location() #12
  store i32 %20934, ptr %20935, align 4, !tbaa !5
  %20936 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20937 = load i32, ptr @test_count, align 4, !tbaa !5
  %20938 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20939 = load i32, ptr %20938, align 4, !tbaa !5
  %20940 = call ptr @s2n_strerror(i32 noundef %20939, ptr noundef @.str.4)
  %20941 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20942 = load i32, ptr %20941, align 4, !tbaa !5
  %20943 = call ptr @s2n_strerror_debug(i32 noundef %20942, ptr noundef @.str.4)
  %20944 = call ptr @__errno_location() #12
  %20945 = load i32, ptr %20944, align 4, !tbaa !5
  %20946 = call ptr @strerror(i32 noundef %20945) #11
  %20947 = call ptr @__errno_location() #12
  %20948 = load i32, ptr %20947, align 4, !tbaa !5
  %20949 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20936, ptr noundef @.str.2, i32 noundef %20937, ptr noundef @.str.142, ptr noundef @.str.1, i32 noundef 869, ptr noundef %20940, ptr noundef %20943, ptr noundef %20946, i32 noundef %20948) #11
  br label %20967

20950:                                            ; preds = %20928, %20921
  %20951 = load i32, ptr %575, align 4, !tbaa !5
  %20952 = call ptr @__errno_location() #12
  store i32 %20951, ptr %20952, align 4, !tbaa !5
  %20953 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20954 = load i32, ptr @test_count, align 4, !tbaa !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(i32 noundef %20956, ptr noundef @.str.4)
  %20958 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20959 = load i32, ptr %20958, align 4, !tbaa !5
  %20960 = call ptr @s2n_strerror_debug(i32 noundef %20959, ptr noundef @.str.4)
  %20961 = call ptr @__errno_location() #12
  %20962 = load i32, ptr %20961, align 4, !tbaa !5
  %20963 = call ptr @strerror(i32 noundef %20962) #11
  %20964 = call ptr @__errno_location() #12
  %20965 = load i32, ptr %20964, align 4, !tbaa !5
  %20966 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20953, ptr noundef @.str.5, i32 noundef %20954, ptr noundef @.str.142, ptr noundef @.str.1, i32 noundef 869, ptr noundef %20957, ptr noundef %20960, ptr noundef %20963, i32 noundef %20965) #11
  br label %20967

20967:                                            ; preds = %20950, %20933
  call void @llvm.lifetime.end.p0(i64 4, ptr %575) #11
  br label %20968

20968:                                            ; preds = %20967
  br label %20969

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

20970:                                            ; No predecessors!
  br label %20971

20971:                                            ; preds = %20970
  br label %20972

20972:                                            ; preds = %20971, %20909
  br label %20973

20973:                                            ; preds = %20972
  br label %20974

20974:                                            ; preds = %20973
  %20975 = call i32 @s2n_io_stuffer_pair_free(ptr noundef %569)
  %20976 = getelementptr inbounds %struct.s2n_result, ptr %576, i32 0, i32 0
  store i32 %20975, ptr %20976, align 4
  call void @llvm.lifetime.end.p0(i64 80, ptr %569) #11
  %20977 = call i32 @s2n_connection_ptr_free(ptr noundef %566)
  %20978 = getelementptr inbounds %struct.s2n_result, ptr %577, i32 0, i32 0
  store i32 %20977, ptr %20978, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %566) #11
  call void @llvm.lifetime.end.p0(i64 142, ptr %548) #11
  %20979 = call i32 @s2n_connection_ptr_free(ptr noundef %545)
  %20980 = getelementptr inbounds %struct.s2n_result, ptr %578, i32 0, i32 0
  store i32 %20979, ptr %20980, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %545) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %579) #11
  %20981 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %20981, ptr %579, align 8, !tbaa !9
  br label %20982

20982:                                            ; preds = %20974
  %20983 = load i32, ptr @test_count, align 4, !tbaa !5
  %20984 = add nsw i32 %20983, 1
  store i32 %20984, ptr @test_count, align 4, !tbaa !5
  %20985 = load ptr, ptr %579, align 8, !tbaa !9
  %20986 = icmp eq ptr %20985, null
  br i1 %20986, label %20987, label %21040

20987:                                            ; preds = %20982
  br label %20988

20988:                                            ; preds = %20987
  br label %20989

20989:                                            ; preds = %20988
  call void @llvm.lifetime.start.p0(i64 4, ptr %580) #11
  %20990 = call ptr @__errno_location() #12
  %20991 = load i32, ptr %20990, align 4, !tbaa !5
  store i32 %20991, ptr %580, align 4, !tbaa !5
  %20992 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20993 = call i32 @s2n_print_stacktrace(ptr noundef %20992)
  %20994 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20995 = trunc i8 %20994 to i1
  br i1 %20995, label %20996, label %21018

20996:                                            ; preds = %20989
  %20997 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20998 = call i32 @fileno(ptr noundef %20997) #11
  %20999 = call i32 @isatty(i32 noundef %20998) #11
  %21000 = icmp ne i32 %20999, 0
  br i1 %21000, label %21001, label %21018

21001:                                            ; preds = %20996
  %21002 = load i32, ptr %580, align 4, !tbaa !5
  %21003 = call ptr @__errno_location() #12
  store i32 %21002, ptr %21003, align 4, !tbaa !5
  %21004 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21005 = load i32, ptr @test_count, align 4, !tbaa !5
  %21006 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21007 = load i32, ptr %21006, align 4, !tbaa !5
  %21008 = call ptr @s2n_strerror(i32 noundef %21007, ptr noundef @.str.4)
  %21009 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21010 = load i32, ptr %21009, align 4, !tbaa !5
  %21011 = call ptr @s2n_strerror_debug(i32 noundef %21010, ptr noundef @.str.4)
  %21012 = call ptr @__errno_location() #12
  %21013 = load i32, ptr %21012, align 4, !tbaa !5
  %21014 = call ptr @strerror(i32 noundef %21013) #11
  %21015 = call ptr @__errno_location() #12
  %21016 = load i32, ptr %21015, align 4, !tbaa !5
  %21017 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21004, ptr noundef @.str.2, i32 noundef %21005, ptr noundef @.str.42, ptr noundef @.str.1, i32 noundef 877, ptr noundef %21008, ptr noundef %21011, ptr noundef %21014, i32 noundef %21016) #11
  br label %21035

21018:                                            ; preds = %20996, %20989
  %21019 = load i32, ptr %580, align 4, !tbaa !5
  %21020 = call ptr @__errno_location() #12
  store i32 %21019, ptr %21020, align 4, !tbaa !5
  %21021 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21022 = load i32, ptr @test_count, align 4, !tbaa !5
  %21023 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21024 = load i32, ptr %21023, align 4, !tbaa !5
  %21025 = call ptr @s2n_strerror(i32 noundef %21024, ptr noundef @.str.4)
  %21026 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21027 = load i32, ptr %21026, align 4, !tbaa !5
  %21028 = call ptr @s2n_strerror_debug(i32 noundef %21027, ptr noundef @.str.4)
  %21029 = call ptr @__errno_location() #12
  %21030 = load i32, ptr %21029, align 4, !tbaa !5
  %21031 = call ptr @strerror(i32 noundef %21030) #11
  %21032 = call ptr @__errno_location() #12
  %21033 = load i32, ptr %21032, align 4, !tbaa !5
  %21034 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21021, ptr noundef @.str.5, i32 noundef %21022, ptr noundef @.str.42, ptr noundef @.str.1, i32 noundef 877, ptr noundef %21025, ptr noundef %21028, ptr noundef %21031, i32 noundef %21033) #11
  br label %21035

21035:                                            ; preds = %21018, %21001
  call void @llvm.lifetime.end.p0(i64 4, ptr %580) #11
  br label %21036

21036:                                            ; preds = %21035
  br label %21037

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

21038:                                            ; No predecessors!
  br label %21039

21039:                                            ; preds = %21038
  br label %21040

21040:                                            ; preds = %21039, %20982
  br label %21041

21041:                                            ; preds = %21040
  br label %21042

21042:                                            ; preds = %21041
  br label %21043

21043:                                            ; preds = %21042
  %21044 = load i32, ptr @test_count, align 4, !tbaa !5
  %21045 = add nsw i32 %21044, 1
  store i32 %21045, ptr @test_count, align 4, !tbaa !5
  %21046 = load ptr, ptr %579, align 8, !tbaa !9
  %21047 = load ptr, ptr %16, align 8, !tbaa !9
  %21048 = call i32 @s2n_connection_set_config(ptr noundef %21046, ptr noundef %21047)
  %21049 = icmp eq i32 %21048, -1
  br i1 %21049, label %21050, label %21103

21050:                                            ; preds = %21043
  br label %21051

21051:                                            ; preds = %21050
  br label %21052

21052:                                            ; preds = %21051
  call void @llvm.lifetime.start.p0(i64 4, ptr %581) #11
  %21053 = call ptr @__errno_location() #12
  %21054 = load i32, ptr %21053, align 4, !tbaa !5
  store i32 %21054, ptr %581, align 4, !tbaa !5
  %21055 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21056 = call i32 @s2n_print_stacktrace(ptr noundef %21055)
  %21057 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21058 = trunc i8 %21057 to i1
  br i1 %21058, label %21059, label %21081

21059:                                            ; preds = %21052
  %21060 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21061 = call i32 @fileno(ptr noundef %21060) #11
  %21062 = call i32 @isatty(i32 noundef %21061) #11
  %21063 = icmp ne i32 %21062, 0
  br i1 %21063, label %21064, label %21081

21064:                                            ; preds = %21059
  %21065 = load i32, ptr %581, align 4, !tbaa !5
  %21066 = call ptr @__errno_location() #12
  store i32 %21065, ptr %21066, align 4, !tbaa !5
  %21067 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21068 = load i32, ptr @test_count, align 4, !tbaa !5
  %21069 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21070 = load i32, ptr %21069, align 4, !tbaa !5
  %21071 = call ptr @s2n_strerror(i32 noundef %21070, ptr noundef @.str.4)
  %21072 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21073 = load i32, ptr %21072, align 4, !tbaa !5
  %21074 = call ptr @s2n_strerror_debug(i32 noundef %21073, ptr noundef @.str.4)
  %21075 = call ptr @__errno_location() #12
  %21076 = load i32, ptr %21075, align 4, !tbaa !5
  %21077 = call ptr @strerror(i32 noundef %21076) #11
  %21078 = call ptr @__errno_location() #12
  %21079 = load i32, ptr %21078, align 4, !tbaa !5
  %21080 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21067, ptr noundef @.str.2, i32 noundef %21068, ptr noundef @.str.75, ptr noundef @.str.1, i32 noundef 878, ptr noundef %21071, ptr noundef %21074, ptr noundef %21077, i32 noundef %21079) #11
  br label %21098

21081:                                            ; preds = %21059, %21052
  %21082 = load i32, ptr %581, align 4, !tbaa !5
  %21083 = call ptr @__errno_location() #12
  store i32 %21082, ptr %21083, align 4, !tbaa !5
  %21084 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21085 = load i32, ptr @test_count, align 4, !tbaa !5
  %21086 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21087 = load i32, ptr %21086, align 4, !tbaa !5
  %21088 = call ptr @s2n_strerror(i32 noundef %21087, ptr noundef @.str.4)
  %21089 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21090 = load i32, ptr %21089, align 4, !tbaa !5
  %21091 = call ptr @s2n_strerror_debug(i32 noundef %21090, ptr noundef @.str.4)
  %21092 = call ptr @__errno_location() #12
  %21093 = load i32, ptr %21092, align 4, !tbaa !5
  %21094 = call ptr @strerror(i32 noundef %21093) #11
  %21095 = call ptr @__errno_location() #12
  %21096 = load i32, ptr %21095, align 4, !tbaa !5
  %21097 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21084, ptr noundef @.str.5, i32 noundef %21085, ptr noundef @.str.75, ptr noundef @.str.1, i32 noundef 878, ptr noundef %21088, ptr noundef %21091, ptr noundef %21094, i32 noundef %21096) #11
  br label %21098

21098:                                            ; preds = %21081, %21064
  call void @llvm.lifetime.end.p0(i64 4, ptr %581) #11
  br label %21099

21099:                                            ; preds = %21098
  br label %21100

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

21101:                                            ; No predecessors!
  br label %21102

21102:                                            ; preds = %21101
  br label %21103

21103:                                            ; preds = %21102, %21043
  br label %21104

21104:                                            ; preds = %21103
  br label %21105

21105:                                            ; preds = %21104
  call void @llvm.lifetime.start.p0(i64 142, ptr %582) #11
  call void @llvm.memset.p0.i64(ptr align 16 %582, i8 0, i64 142, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr %583) #11
  %21106 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %21106, ptr %583, align 8, !tbaa !9
  br label %21107

21107:                                            ; preds = %21105
  %21108 = load i32, ptr @test_count, align 4, !tbaa !5
  %21109 = add nsw i32 %21108, 1
  store i32 %21109, ptr @test_count, align 4, !tbaa !5
  %21110 = load ptr, ptr %583, align 8, !tbaa !9
  %21111 = icmp eq ptr %21110, null
  br i1 %21111, label %21112, label %21165

21112:                                            ; preds = %21107
  br label %21113

21113:                                            ; preds = %21112
  br label %21114

21114:                                            ; preds = %21113
  call void @llvm.lifetime.start.p0(i64 4, ptr %584) #11
  %21115 = call ptr @__errno_location() #12
  %21116 = load i32, ptr %21115, align 4, !tbaa !5
  store i32 %21116, ptr %584, align 4, !tbaa !5
  %21117 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21118 = call i32 @s2n_print_stacktrace(ptr noundef %21117)
  %21119 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21120 = trunc i8 %21119 to i1
  br i1 %21120, label %21121, label %21143

21121:                                            ; preds = %21114
  %21122 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21123 = call i32 @fileno(ptr noundef %21122) #11
  %21124 = call i32 @isatty(i32 noundef %21123) #11
  %21125 = icmp ne i32 %21124, 0
  br i1 %21125, label %21126, label %21143

21126:                                            ; preds = %21121
  %21127 = load i32, ptr %584, align 4, !tbaa !5
  %21128 = call ptr @__errno_location() #12
  store i32 %21127, ptr %21128, align 4, !tbaa !5
  %21129 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21130 = load i32, ptr @test_count, align 4, !tbaa !5
  %21131 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21132 = load i32, ptr %21131, align 4, !tbaa !5
  %21133 = call ptr @s2n_strerror(i32 noundef %21132, ptr noundef @.str.4)
  %21134 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21135 = load i32, ptr %21134, align 4, !tbaa !5
  %21136 = call ptr @s2n_strerror_debug(i32 noundef %21135, ptr noundef @.str.4)
  %21137 = call ptr @__errno_location() #12
  %21138 = load i32, ptr %21137, align 4, !tbaa !5
  %21139 = call ptr @strerror(i32 noundef %21138) #11
  %21140 = call ptr @__errno_location() #12
  %21141 = load i32, ptr %21140, align 4, !tbaa !5
  %21142 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21129, ptr noundef @.str.2, i32 noundef %21130, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 886, ptr noundef %21133, ptr noundef %21136, ptr noundef %21139, i32 noundef %21141) #11
  br label %21160

21143:                                            ; preds = %21121, %21114
  %21144 = load i32, ptr %584, align 4, !tbaa !5
  %21145 = call ptr @__errno_location() #12
  store i32 %21144, ptr %21145, align 4, !tbaa !5
  %21146 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21147 = load i32, ptr @test_count, align 4, !tbaa !5
  %21148 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21149 = load i32, ptr %21148, align 4, !tbaa !5
  %21150 = call ptr @s2n_strerror(i32 noundef %21149, ptr noundef @.str.4)
  %21151 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21152 = load i32, ptr %21151, align 4, !tbaa !5
  %21153 = call ptr @s2n_strerror_debug(i32 noundef %21152, ptr noundef @.str.4)
  %21154 = call ptr @__errno_location() #12
  %21155 = load i32, ptr %21154, align 4, !tbaa !5
  %21156 = call ptr @strerror(i32 noundef %21155) #11
  %21157 = call ptr @__errno_location() #12
  %21158 = load i32, ptr %21157, align 4, !tbaa !5
  %21159 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21146, ptr noundef @.str.5, i32 noundef %21147, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 886, ptr noundef %21150, ptr noundef %21153, ptr noundef %21156, i32 noundef %21158) #11
  br label %21160

21160:                                            ; preds = %21143, %21126
  call void @llvm.lifetime.end.p0(i64 4, ptr %584) #11
  br label %21161

21161:                                            ; preds = %21160
  br label %21162

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

21163:                                            ; No predecessors!
  br label %21164

21164:                                            ; preds = %21163
  br label %21165

21165:                                            ; preds = %21164, %21107
  br label %21166

21166:                                            ; preds = %21165
  br label %21167

21167:                                            ; preds = %21166
  br label %21168

21168:                                            ; preds = %21167
  %21169 = load i32, ptr @test_count, align 4, !tbaa !5
  %21170 = add nsw i32 %21169, 1
  store i32 %21170, ptr @test_count, align 4, !tbaa !5
  %21171 = load ptr, ptr %583, align 8, !tbaa !9
  %21172 = load ptr, ptr %16, align 8, !tbaa !9
  %21173 = call i32 @s2n_connection_set_config(ptr noundef %21171, ptr noundef %21172)
  %21174 = icmp eq i32 %21173, -1
  br i1 %21174, label %21175, label %21228

21175:                                            ; preds = %21168
  br label %21176

21176:                                            ; preds = %21175
  br label %21177

21177:                                            ; preds = %21176
  call void @llvm.lifetime.start.p0(i64 4, ptr %585) #11
  %21178 = call ptr @__errno_location() #12
  %21179 = load i32, ptr %21178, align 4, !tbaa !5
  store i32 %21179, ptr %585, align 4, !tbaa !5
  %21180 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21181 = call i32 @s2n_print_stacktrace(ptr noundef %21180)
  %21182 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21183 = trunc i8 %21182 to i1
  br i1 %21183, label %21184, label %21206

21184:                                            ; preds = %21177
  %21185 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21186 = call i32 @fileno(ptr noundef %21185) #11
  %21187 = call i32 @isatty(i32 noundef %21186) #11
  %21188 = icmp ne i32 %21187, 0
  br i1 %21188, label %21189, label %21206

21189:                                            ; preds = %21184
  %21190 = load i32, ptr %585, align 4, !tbaa !5
  %21191 = call ptr @__errno_location() #12
  store i32 %21190, ptr %21191, align 4, !tbaa !5
  %21192 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21193 = load i32, ptr @test_count, align 4, !tbaa !5
  %21194 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21195 = load i32, ptr %21194, align 4, !tbaa !5
  %21196 = call ptr @s2n_strerror(i32 noundef %21195, ptr noundef @.str.4)
  %21197 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21198 = load i32, ptr %21197, align 4, !tbaa !5
  %21199 = call ptr @s2n_strerror_debug(i32 noundef %21198, ptr noundef @.str.4)
  %21200 = call ptr @__errno_location() #12
  %21201 = load i32, ptr %21200, align 4, !tbaa !5
  %21202 = call ptr @strerror(i32 noundef %21201) #11
  %21203 = call ptr @__errno_location() #12
  %21204 = load i32, ptr %21203, align 4, !tbaa !5
  %21205 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21192, ptr noundef @.str.2, i32 noundef %21193, ptr noundef @.str.76, ptr noundef @.str.1, i32 noundef 888, ptr noundef %21196, ptr noundef %21199, ptr noundef %21202, i32 noundef %21204) #11
  br label %21223

21206:                                            ; preds = %21184, %21177
  %21207 = load i32, ptr %585, align 4, !tbaa !5
  %21208 = call ptr @__errno_location() #12
  store i32 %21207, ptr %21208, align 4, !tbaa !5
  %21209 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21210 = load i32, ptr @test_count, align 4, !tbaa !5
  %21211 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21212 = load i32, ptr %21211, align 4, !tbaa !5
  %21213 = call ptr @s2n_strerror(i32 noundef %21212, ptr noundef @.str.4)
  %21214 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21215 = load i32, ptr %21214, align 4, !tbaa !5
  %21216 = call ptr @s2n_strerror_debug(i32 noundef %21215, ptr noundef @.str.4)
  %21217 = call ptr @__errno_location() #12
  %21218 = load i32, ptr %21217, align 4, !tbaa !5
  %21219 = call ptr @strerror(i32 noundef %21218) #11
  %21220 = call ptr @__errno_location() #12
  %21221 = load i32, ptr %21220, align 4, !tbaa !5
  %21222 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21209, ptr noundef @.str.5, i32 noundef %21210, ptr noundef @.str.76, ptr noundef @.str.1, i32 noundef 888, ptr noundef %21213, ptr noundef %21216, ptr noundef %21219, i32 noundef %21221) #11
  br label %21223

21223:                                            ; preds = %21206, %21189
  call void @llvm.lifetime.end.p0(i64 4, ptr %585) #11
  br label %21224

21224:                                            ; preds = %21223
  br label %21225

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

21226:                                            ; No predecessors!
  br label %21227

21227:                                            ; preds = %21226
  br label %21228

21228:                                            ; preds = %21227, %21168
  br label %21229

21229:                                            ; preds = %21228
  br label %21230

21230:                                            ; preds = %21229
  call void @llvm.lifetime.start.p0(i64 80, ptr %586) #11
  call void @llvm.memset.p0.i64(ptr align 8 %586, i8 0, i64 80, i1 false)
  br label %21231

21231:                                            ; preds = %21230
  %21232 = load i32, ptr @test_count, align 4, !tbaa !5
  %21233 = add nsw i32 %21232, 1
  store i32 %21233, ptr @test_count, align 4, !tbaa !5
  %21234 = call i32 @s2n_io_stuffer_pair_init(ptr noundef %586)
  %21235 = getelementptr inbounds %struct.s2n_result, ptr %587, i32 0, i32 0
  store i32 %21234, ptr %21235, align 4
  %21236 = getelementptr inbounds %struct.s2n_result, ptr %587, i32 0, i32 0
  %21237 = load i32, ptr %21236, align 4
  %21238 = call zeroext i1 @s2n_result_is_ok(i32 %21237)
  br i1 %21238, label %21292, label %21239

21239:                                            ; preds = %21231
  br label %21240

21240:                                            ; preds = %21239
  br label %21241

21241:                                            ; preds = %21240
  call void @llvm.lifetime.start.p0(i64 4, ptr %588) #11
  %21242 = call ptr @__errno_location() #12
  %21243 = load i32, ptr %21242, align 4, !tbaa !5
  store i32 %21243, ptr %588, align 4, !tbaa !5
  %21244 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21245 = call i32 @s2n_print_stacktrace(ptr noundef %21244)
  %21246 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21247 = trunc i8 %21246 to i1
  br i1 %21247, label %21248, label %21270

21248:                                            ; preds = %21241
  %21249 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21250 = call i32 @fileno(ptr noundef %21249) #11
  %21251 = call i32 @isatty(i32 noundef %21250) #11
  %21252 = icmp ne i32 %21251, 0
  br i1 %21252, label %21253, label %21270

21253:                                            ; preds = %21248
  %21254 = load i32, ptr %588, align 4, !tbaa !5
  %21255 = call ptr @__errno_location() #12
  store i32 %21254, ptr %21255, align 4, !tbaa !5
  %21256 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21257 = load i32, ptr @test_count, align 4, !tbaa !5
  %21258 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21259 = load i32, ptr %21258, align 4, !tbaa !5
  %21260 = call ptr @s2n_strerror(i32 noundef %21259, ptr noundef @.str.4)
  %21261 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21262 = load i32, ptr %21261, align 4, !tbaa !5
  %21263 = call ptr @s2n_strerror_debug(i32 noundef %21262, ptr noundef @.str.4)
  %21264 = call ptr @__errno_location() #12
  %21265 = load i32, ptr %21264, align 4, !tbaa !5
  %21266 = call ptr @strerror(i32 noundef %21265) #11
  %21267 = call ptr @__errno_location() #12
  %21268 = load i32, ptr %21267, align 4, !tbaa !5
  %21269 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21256, ptr noundef @.str.2, i32 noundef %21257, ptr noundef @.str.46, ptr noundef @.str.1, i32 noundef 891, ptr noundef %21260, ptr noundef %21263, ptr noundef %21266, i32 noundef %21268) #11
  br label %21287

21270:                                            ; preds = %21248, %21241
  %21271 = load i32, ptr %588, align 4, !tbaa !5
  %21272 = call ptr @__errno_location() #12
  store i32 %21271, ptr %21272, align 4, !tbaa !5
  %21273 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21274 = load i32, ptr @test_count, align 4, !tbaa !5
  %21275 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21276 = load i32, ptr %21275, align 4, !tbaa !5
  %21277 = call ptr @s2n_strerror(i32 noundef %21276, ptr noundef @.str.4)
  %21278 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21279 = load i32, ptr %21278, align 4, !tbaa !5
  %21280 = call ptr @s2n_strerror_debug(i32 noundef %21279, ptr noundef @.str.4)
  %21281 = call ptr @__errno_location() #12
  %21282 = load i32, ptr %21281, align 4, !tbaa !5
  %21283 = call ptr @strerror(i32 noundef %21282) #11
  %21284 = call ptr @__errno_location() #12
  %21285 = load i32, ptr %21284, align 4, !tbaa !5
  %21286 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21273, ptr noundef @.str.5, i32 noundef %21274, ptr noundef @.str.46, ptr noundef @.str.1, i32 noundef 891, ptr noundef %21277, ptr noundef %21280, ptr noundef %21283, i32 noundef %21285) #11
  br label %21287

21287:                                            ; preds = %21270, %21253
  call void @llvm.lifetime.end.p0(i64 4, ptr %588) #11
  br label %21288

21288:                                            ; preds = %21287
  br label %21289

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

21290:                                            ; No predecessors!
  br label %21291

21291:                                            ; preds = %21290
  br label %21292

21292:                                            ; preds = %21291, %21231
  br label %21293

21293:                                            ; preds = %21292
  br label %21294

21294:                                            ; preds = %21293
  br label %21295

21295:                                            ; preds = %21294
  %21296 = load i32, ptr @test_count, align 4, !tbaa !5
  %21297 = add nsw i32 %21296, 1
  store i32 %21297, ptr @test_count, align 4, !tbaa !5
  %21298 = load ptr, ptr %579, align 8, !tbaa !9
  %21299 = load ptr, ptr %583, align 8, !tbaa !9
  %21300 = call i32 @s2n_connections_set_io_stuffer_pair(ptr noundef %21298, ptr noundef %21299, ptr noundef %586)
  %21301 = getelementptr inbounds %struct.s2n_result, ptr %589, i32 0, i32 0
  store i32 %21300, ptr %21301, align 4
  %21302 = getelementptr inbounds %struct.s2n_result, ptr %589, i32 0, i32 0
  %21303 = load i32, ptr %21302, align 4
  %21304 = call zeroext i1 @s2n_result_is_ok(i32 %21303)
  br i1 %21304, label %21358, label %21305

21305:                                            ; preds = %21295
  br label %21306

21306:                                            ; preds = %21305
  br label %21307

21307:                                            ; preds = %21306
  call void @llvm.lifetime.start.p0(i64 4, ptr %590) #11
  %21308 = call ptr @__errno_location() #12
  %21309 = load i32, ptr %21308, align 4, !tbaa !5
  store i32 %21309, ptr %590, align 4, !tbaa !5
  %21310 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21311 = call i32 @s2n_print_stacktrace(ptr noundef %21310)
  %21312 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21313 = trunc i8 %21312 to i1
  br i1 %21313, label %21314, label %21336

21314:                                            ; preds = %21307
  %21315 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21316 = call i32 @fileno(ptr noundef %21315) #11
  %21317 = call i32 @isatty(i32 noundef %21316) #11
  %21318 = icmp ne i32 %21317, 0
  br i1 %21318, label %21319, label %21336

21319:                                            ; preds = %21314
  %21320 = load i32, ptr %590, align 4, !tbaa !5
  %21321 = call ptr @__errno_location() #12
  store i32 %21320, ptr %21321, align 4, !tbaa !5
  %21322 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21323 = load i32, ptr @test_count, align 4, !tbaa !5
  %21324 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21325 = load i32, ptr %21324, align 4, !tbaa !5
  %21326 = call ptr @s2n_strerror(i32 noundef %21325, ptr noundef @.str.4)
  %21327 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21328 = load i32, ptr %21327, align 4, !tbaa !5
  %21329 = call ptr @s2n_strerror_debug(i32 noundef %21328, ptr noundef @.str.4)
  %21330 = call ptr @__errno_location() #12
  %21331 = load i32, ptr %21330, align 4, !tbaa !5
  %21332 = call ptr @strerror(i32 noundef %21331) #11
  %21333 = call ptr @__errno_location() #12
  %21334 = load i32, ptr %21333, align 4, !tbaa !5
  %21335 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21322, ptr noundef @.str.2, i32 noundef %21323, ptr noundef @.str.47, ptr noundef @.str.1, i32 noundef 892, ptr noundef %21326, ptr noundef %21329, ptr noundef %21332, i32 noundef %21334) #11
  br label %21353

21336:                                            ; preds = %21314, %21307
  %21337 = load i32, ptr %590, align 4, !tbaa !5
  %21338 = call ptr @__errno_location() #12
  store i32 %21337, ptr %21338, align 4, !tbaa !5
  %21339 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21340 = load i32, ptr @test_count, align 4, !tbaa !5
  %21341 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21342 = load i32, ptr %21341, align 4, !tbaa !5
  %21343 = call ptr @s2n_strerror(i32 noundef %21342, ptr noundef @.str.4)
  %21344 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21345 = load i32, ptr %21344, align 4, !tbaa !5
  %21346 = call ptr @s2n_strerror_debug(i32 noundef %21345, ptr noundef @.str.4)
  %21347 = call ptr @__errno_location() #12
  %21348 = load i32, ptr %21347, align 4, !tbaa !5
  %21349 = call ptr @strerror(i32 noundef %21348) #11
  %21350 = call ptr @__errno_location() #12
  %21351 = load i32, ptr %21350, align 4, !tbaa !5
  %21352 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21339, ptr noundef @.str.5, i32 noundef %21340, ptr noundef @.str.47, ptr noundef @.str.1, i32 noundef 892, ptr noundef %21343, ptr noundef %21346, ptr noundef %21349, i32 noundef %21351) #11
  br label %21353

21353:                                            ; preds = %21336, %21319
  call void @llvm.lifetime.end.p0(i64 4, ptr %590) #11
  br label %21354

21354:                                            ; preds = %21353
  br label %21355

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

21356:                                            ; No predecessors!
  br label %21357

21357:                                            ; preds = %21356
  br label %21358

21358:                                            ; preds = %21357, %21295
  br label %21359

21359:                                            ; preds = %21358
  br label %21360

21360:                                            ; preds = %21359
  br label %21361

21361:                                            ; preds = %21360
  %21362 = load i32, ptr @test_count, align 4, !tbaa !5
  %21363 = add nsw i32 %21362, 1
  store i32 %21363, ptr @test_count, align 4, !tbaa !5
  %21364 = load ptr, ptr %583, align 8, !tbaa !9
  %21365 = load ptr, ptr %579, align 8, !tbaa !9
  %21366 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %21364, ptr noundef %21365)
  %21367 = icmp eq i32 %21366, -1
  br i1 %21367, label %21368, label %21421

21368:                                            ; preds = %21361
  br label %21369

21369:                                            ; preds = %21368
  br label %21370

21370:                                            ; preds = %21369
  call void @llvm.lifetime.start.p0(i64 4, ptr %591) #11
  %21371 = call ptr @__errno_location() #12
  %21372 = load i32, ptr %21371, align 4, !tbaa !5
  store i32 %21372, ptr %591, align 4, !tbaa !5
  %21373 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21374 = call i32 @s2n_print_stacktrace(ptr noundef %21373)
  %21375 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21376 = trunc i8 %21375 to i1
  br i1 %21376, label %21377, label %21399

21377:                                            ; preds = %21370
  %21378 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21379 = call i32 @fileno(ptr noundef %21378) #11
  %21380 = call i32 @isatty(i32 noundef %21379) #11
  %21381 = icmp ne i32 %21380, 0
  br i1 %21381, label %21382, label %21399

21382:                                            ; preds = %21377
  %21383 = load i32, ptr %591, align 4, !tbaa !5
  %21384 = call ptr @__errno_location() #12
  store i32 %21383, ptr %21384, align 4, !tbaa !5
  %21385 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21386 = load i32, ptr @test_count, align 4, !tbaa !5
  %21387 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21388 = load i32, ptr %21387, align 4, !tbaa !5
  %21389 = call ptr @s2n_strerror(i32 noundef %21388, ptr noundef @.str.4)
  %21390 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21391 = load i32, ptr %21390, align 4, !tbaa !5
  %21392 = call ptr @s2n_strerror_debug(i32 noundef %21391, ptr noundef @.str.4)
  %21393 = call ptr @__errno_location() #12
  %21394 = load i32, ptr %21393, align 4, !tbaa !5
  %21395 = call ptr @strerror(i32 noundef %21394) #11
  %21396 = call ptr @__errno_location() #12
  %21397 = load i32, ptr %21396, align 4, !tbaa !5
  %21398 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21385, ptr noundef @.str.2, i32 noundef %21386, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 894, ptr noundef %21389, ptr noundef %21392, ptr noundef %21395, i32 noundef %21397) #11
  br label %21416

21399:                                            ; preds = %21377, %21370
  %21400 = load i32, ptr %591, align 4, !tbaa !5
  %21401 = call ptr @__errno_location() #12
  store i32 %21400, ptr %21401, align 4, !tbaa !5
  %21402 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21403 = load i32, ptr @test_count, align 4, !tbaa !5
  %21404 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21405 = load i32, ptr %21404, align 4, !tbaa !5
  %21406 = call ptr @s2n_strerror(i32 noundef %21405, ptr noundef @.str.4)
  %21407 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21408 = load i32, ptr %21407, align 4, !tbaa !5
  %21409 = call ptr @s2n_strerror_debug(i32 noundef %21408, ptr noundef @.str.4)
  %21410 = call ptr @__errno_location() #12
  %21411 = load i32, ptr %21410, align 4, !tbaa !5
  %21412 = call ptr @strerror(i32 noundef %21411) #11
  %21413 = call ptr @__errno_location() #12
  %21414 = load i32, ptr %21413, align 4, !tbaa !5
  %21415 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21402, ptr noundef @.str.5, i32 noundef %21403, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 894, ptr noundef %21406, ptr noundef %21409, ptr noundef %21412, i32 noundef %21414) #11
  br label %21416

21416:                                            ; preds = %21399, %21382
  call void @llvm.lifetime.end.p0(i64 4, ptr %591) #11
  br label %21417

21417:                                            ; preds = %21416
  br label %21418

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

21419:                                            ; No predecessors!
  br label %21420

21420:                                            ; preds = %21419
  br label %21421

21421:                                            ; preds = %21420, %21361
  br label %21422

21422:                                            ; preds = %21421
  br label %21423

21423:                                            ; preds = %21422
  br label %21424

21424:                                            ; preds = %21423
  %21425 = load i32, ptr @test_count, align 4, !tbaa !5
  %21426 = add nsw i32 %21425, 1
  store i32 %21426, ptr @test_count, align 4, !tbaa !5
  %21427 = load ptr, ptr %583, align 8, !tbaa !9
  %21428 = call i32 @s2n_connection_get_actual_protocol_version(ptr noundef %21427)
  %21429 = icmp eq i32 %21428, 34
  br i1 %21429, label %21483, label %21430

21430:                                            ; preds = %21424
  br label %21431

21431:                                            ; preds = %21430
  br label %21432

21432:                                            ; preds = %21431
  call void @llvm.lifetime.start.p0(i64 4, ptr %592) #11
  %21433 = call ptr @__errno_location() #12
  %21434 = load i32, ptr %21433, align 4, !tbaa !5
  store i32 %21434, ptr %592, align 4, !tbaa !5
  %21435 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21436 = call i32 @s2n_print_stacktrace(ptr noundef %21435)
  %21437 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21438 = trunc i8 %21437 to i1
  br i1 %21438, label %21439, label %21461

21439:                                            ; preds = %21432
  %21440 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21441 = call i32 @fileno(ptr noundef %21440) #11
  %21442 = call i32 @isatty(i32 noundef %21441) #11
  %21443 = icmp ne i32 %21442, 0
  br i1 %21443, label %21444, label %21461

21444:                                            ; preds = %21439
  %21445 = load i32, ptr %592, align 4, !tbaa !5
  %21446 = call ptr @__errno_location() #12
  store i32 %21445, ptr %21446, align 4, !tbaa !5
  %21447 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21448 = load i32, ptr @test_count, align 4, !tbaa !5
  %21449 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21450 = load i32, ptr %21449, align 4, !tbaa !5
  %21451 = call ptr @s2n_strerror(i32 noundef %21450, ptr noundef @.str.4)
  %21452 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21453 = load i32, ptr %21452, align 4, !tbaa !5
  %21454 = call ptr @s2n_strerror_debug(i32 noundef %21453, ptr noundef @.str.4)
  %21455 = call ptr @__errno_location() #12
  %21456 = load i32, ptr %21455, align 4, !tbaa !5
  %21457 = call ptr @strerror(i32 noundef %21456) #11
  %21458 = call ptr @__errno_location() #12
  %21459 = load i32, ptr %21458, align 4, !tbaa !5
  %21460 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21447, ptr noundef @.str.2, i32 noundef %21448, ptr noundef @.str.77, ptr noundef @.str.1, i32 noundef 895, ptr noundef %21451, ptr noundef %21454, ptr noundef %21457, i32 noundef %21459) #11
  br label %21478

21461:                                            ; preds = %21439, %21432
  %21462 = load i32, ptr %592, align 4, !tbaa !5
  %21463 = call ptr @__errno_location() #12
  store i32 %21462, ptr %21463, align 4, !tbaa !5
  %21464 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21465 = load i32, ptr @test_count, align 4, !tbaa !5
  %21466 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21467 = load i32, ptr %21466, align 4, !tbaa !5
  %21468 = call ptr @s2n_strerror(i32 noundef %21467, ptr noundef @.str.4)
  %21469 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21470 = load i32, ptr %21469, align 4, !tbaa !5
  %21471 = call ptr @s2n_strerror_debug(i32 noundef %21470, ptr noundef @.str.4)
  %21472 = call ptr @__errno_location() #12
  %21473 = load i32, ptr %21472, align 4, !tbaa !5
  %21474 = call ptr @strerror(i32 noundef %21473) #11
  %21475 = call ptr @__errno_location() #12
  %21476 = load i32, ptr %21475, align 4, !tbaa !5
  %21477 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21464, ptr noundef @.str.5, i32 noundef %21465, ptr noundef @.str.77, ptr noundef @.str.1, i32 noundef 895, ptr noundef %21468, ptr noundef %21471, ptr noundef %21474, i32 noundef %21476) #11
  br label %21478

21478:                                            ; preds = %21461, %21444
  call void @llvm.lifetime.end.p0(i64 4, ptr %592) #11
  br label %21479

21479:                                            ; preds = %21478
  br label %21480

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

21481:                                            ; No predecessors!
  br label %21482

21482:                                            ; preds = %21481
  br label %21483

21483:                                            ; preds = %21482, %21424
  br label %21484

21484:                                            ; preds = %21483
  br label %21485

21485:                                            ; preds = %21484
  br label %21486

21486:                                            ; preds = %21485
  %21487 = load i32, ptr @test_count, align 4, !tbaa !5
  %21488 = add nsw i32 %21487, 1
  store i32 %21488, ptr @test_count, align 4, !tbaa !5
  %21489 = load ptr, ptr %583, align 8, !tbaa !9
  %21490 = load ptr, ptr %579, align 8, !tbaa !9
  %21491 = call i32 @s2n_send_and_recv_test(ptr noundef %21489, ptr noundef %21490)
  %21492 = getelementptr inbounds %struct.s2n_result, ptr %593, i32 0, i32 0
  store i32 %21491, ptr %21492, align 4
  %21493 = getelementptr inbounds %struct.s2n_result, ptr %593, i32 0, i32 0
  %21494 = load i32, ptr %21493, align 4
  %21495 = call zeroext i1 @s2n_result_is_ok(i32 %21494)
  br i1 %21495, label %21549, label %21496

21496:                                            ; preds = %21486
  br label %21497

21497:                                            ; preds = %21496
  br label %21498

21498:                                            ; preds = %21497
  call void @llvm.lifetime.start.p0(i64 4, ptr %594) #11
  %21499 = call ptr @__errno_location() #12
  %21500 = load i32, ptr %21499, align 4, !tbaa !5
  store i32 %21500, ptr %594, align 4, !tbaa !5
  %21501 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21502 = call i32 @s2n_print_stacktrace(ptr noundef %21501)
  %21503 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21504 = trunc i8 %21503 to i1
  br i1 %21504, label %21505, label %21527

21505:                                            ; preds = %21498
  %21506 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21507 = call i32 @fileno(ptr noundef %21506) #11
  %21508 = call i32 @isatty(i32 noundef %21507) #11
  %21509 = icmp ne i32 %21508, 0
  br i1 %21509, label %21510, label %21527

21510:                                            ; preds = %21505
  %21511 = load i32, ptr %594, align 4, !tbaa !5
  %21512 = call ptr @__errno_location() #12
  store i32 %21511, ptr %21512, align 4, !tbaa !5
  %21513 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21514 = load i32, ptr @test_count, align 4, !tbaa !5
  %21515 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21516 = load i32, ptr %21515, align 4, !tbaa !5
  %21517 = call ptr @s2n_strerror(i32 noundef %21516, ptr noundef @.str.4)
  %21518 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21519 = load i32, ptr %21518, align 4, !tbaa !5
  %21520 = call ptr @s2n_strerror_debug(i32 noundef %21519, ptr noundef @.str.4)
  %21521 = call ptr @__errno_location() #12
  %21522 = load i32, ptr %21521, align 4, !tbaa !5
  %21523 = call ptr @strerror(i32 noundef %21522) #11
  %21524 = call ptr @__errno_location() #12
  %21525 = load i32, ptr %21524, align 4, !tbaa !5
  %21526 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21513, ptr noundef @.str.2, i32 noundef %21514, ptr noundef @.str.103, ptr noundef @.str.1, i32 noundef 898, ptr noundef %21517, ptr noundef %21520, ptr noundef %21523, i32 noundef %21525) #11
  br label %21544

21527:                                            ; preds = %21505, %21498
  %21528 = load i32, ptr %594, align 4, !tbaa !5
  %21529 = call ptr @__errno_location() #12
  store i32 %21528, ptr %21529, align 4, !tbaa !5
  %21530 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21531 = load i32, ptr @test_count, align 4, !tbaa !5
  %21532 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21533 = load i32, ptr %21532, align 4, !tbaa !5
  %21534 = call ptr @s2n_strerror(i32 noundef %21533, ptr noundef @.str.4)
  %21535 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21536 = load i32, ptr %21535, align 4, !tbaa !5
  %21537 = call ptr @s2n_strerror_debug(i32 noundef %21536, ptr noundef @.str.4)
  %21538 = call ptr @__errno_location() #12
  %21539 = load i32, ptr %21538, align 4, !tbaa !5
  %21540 = call ptr @strerror(i32 noundef %21539) #11
  %21541 = call ptr @__errno_location() #12
  %21542 = load i32, ptr %21541, align 4, !tbaa !5
  %21543 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21530, ptr noundef @.str.5, i32 noundef %21531, ptr noundef @.str.103, ptr noundef @.str.1, i32 noundef 898, ptr noundef %21534, ptr noundef %21537, ptr noundef %21540, i32 noundef %21542) #11
  br label %21544

21544:                                            ; preds = %21527, %21510
  call void @llvm.lifetime.end.p0(i64 4, ptr %594) #11
  br label %21545

21545:                                            ; preds = %21544
  br label %21546

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

21547:                                            ; No predecessors!
  br label %21548

21548:                                            ; preds = %21547
  br label %21549

21549:                                            ; preds = %21548, %21486
  br label %21550

21550:                                            ; preds = %21549
  br label %21551

21551:                                            ; preds = %21550
  br label %21552

21552:                                            ; preds = %21551
  %21553 = load i32, ptr @test_count, align 4, !tbaa !5
  %21554 = add nsw i32 %21553, 1
  store i32 %21554, ptr @test_count, align 4, !tbaa !5
  %21555 = load ptr, ptr %579, align 8, !tbaa !9
  %21556 = load ptr, ptr %583, align 8, !tbaa !9
  %21557 = call i32 @s2n_send_and_recv_test(ptr noundef %21555, ptr noundef %21556)
  %21558 = getelementptr inbounds %struct.s2n_result, ptr %595, i32 0, i32 0
  store i32 %21557, ptr %21558, align 4
  %21559 = getelementptr inbounds %struct.s2n_result, ptr %595, i32 0, i32 0
  %21560 = load i32, ptr %21559, align 4
  %21561 = call zeroext i1 @s2n_result_is_ok(i32 %21560)
  br i1 %21561, label %21615, label %21562

21562:                                            ; preds = %21552
  br label %21563

21563:                                            ; preds = %21562
  br label %21564

21564:                                            ; preds = %21563
  call void @llvm.lifetime.start.p0(i64 4, ptr %596) #11
  %21565 = call ptr @__errno_location() #12
  %21566 = load i32, ptr %21565, align 4, !tbaa !5
  store i32 %21566, ptr %596, align 4, !tbaa !5
  %21567 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21568 = call i32 @s2n_print_stacktrace(ptr noundef %21567)
  %21569 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21570 = trunc i8 %21569 to i1
  br i1 %21570, label %21571, label %21593

21571:                                            ; preds = %21564
  %21572 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21573 = call i32 @fileno(ptr noundef %21572) #11
  %21574 = call i32 @isatty(i32 noundef %21573) #11
  %21575 = icmp ne i32 %21574, 0
  br i1 %21575, label %21576, label %21593

21576:                                            ; preds = %21571
  %21577 = load i32, ptr %596, align 4, !tbaa !5
  %21578 = call ptr @__errno_location() #12
  store i32 %21577, ptr %21578, align 4, !tbaa !5
  %21579 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21580 = load i32, ptr @test_count, align 4, !tbaa !5
  %21581 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21582 = load i32, ptr %21581, align 4, !tbaa !5
  %21583 = call ptr @s2n_strerror(i32 noundef %21582, ptr noundef @.str.4)
  %21584 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21585 = load i32, ptr %21584, align 4, !tbaa !5
  %21586 = call ptr @s2n_strerror_debug(i32 noundef %21585, ptr noundef @.str.4)
  %21587 = call ptr @__errno_location() #12
  %21588 = load i32, ptr %21587, align 4, !tbaa !5
  %21589 = call ptr @strerror(i32 noundef %21588) #11
  %21590 = call ptr @__errno_location() #12
  %21591 = load i32, ptr %21590, align 4, !tbaa !5
  %21592 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21579, ptr noundef @.str.2, i32 noundef %21580, ptr noundef @.str.104, ptr noundef @.str.1, i32 noundef 899, ptr noundef %21583, ptr noundef %21586, ptr noundef %21589, i32 noundef %21591) #11
  br label %21610

21593:                                            ; preds = %21571, %21564
  %21594 = load i32, ptr %596, align 4, !tbaa !5
  %21595 = call ptr @__errno_location() #12
  store i32 %21594, ptr %21595, align 4, !tbaa !5
  %21596 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21597 = load i32, ptr @test_count, align 4, !tbaa !5
  %21598 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21599 = load i32, ptr %21598, align 4, !tbaa !5
  %21600 = call ptr @s2n_strerror(i32 noundef %21599, ptr noundef @.str.4)
  %21601 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21602 = load i32, ptr %21601, align 4, !tbaa !5
  %21603 = call ptr @s2n_strerror_debug(i32 noundef %21602, ptr noundef @.str.4)
  %21604 = call ptr @__errno_location() #12
  %21605 = load i32, ptr %21604, align 4, !tbaa !5
  %21606 = call ptr @strerror(i32 noundef %21605) #11
  %21607 = call ptr @__errno_location() #12
  %21608 = load i32, ptr %21607, align 4, !tbaa !5
  %21609 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21596, ptr noundef @.str.5, i32 noundef %21597, ptr noundef @.str.104, ptr noundef @.str.1, i32 noundef 899, ptr noundef %21600, ptr noundef %21603, ptr noundef %21606, i32 noundef %21608) #11
  br label %21610

21610:                                            ; preds = %21593, %21576
  call void @llvm.lifetime.end.p0(i64 4, ptr %596) #11
  br label %21611

21611:                                            ; preds = %21610
  br label %21612

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

21613:                                            ; No predecessors!
  br label %21614

21614:                                            ; preds = %21613
  br label %21615

21615:                                            ; preds = %21614, %21552
  br label %21616

21616:                                            ; preds = %21615
  br label %21617

21617:                                            ; preds = %21616
  br label %21618

21618:                                            ; preds = %21617
  %21619 = load i32, ptr @test_count, align 4, !tbaa !5
  %21620 = add nsw i32 %21619, 1
  store i32 %21620, ptr @test_count, align 4, !tbaa !5
  %21621 = load ptr, ptr %583, align 8, !tbaa !9
  %21622 = getelementptr inbounds [142 x i8], ptr %582, i64 0, i64 0
  %21623 = call i32 @s2n_connection_serialize(ptr noundef %21621, ptr noundef %21622, i32 noundef 142)
  %21624 = icmp eq i32 %21623, -1
  br i1 %21624, label %21625, label %21678

21625:                                            ; preds = %21618
  br label %21626

21626:                                            ; preds = %21625
  br label %21627

21627:                                            ; preds = %21626
  call void @llvm.lifetime.start.p0(i64 4, ptr %597) #11
  %21628 = call ptr @__errno_location() #12
  %21629 = load i32, ptr %21628, align 4, !tbaa !5
  store i32 %21629, ptr %597, align 4, !tbaa !5
  %21630 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21631 = call i32 @s2n_print_stacktrace(ptr noundef %21630)
  %21632 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21633 = trunc i8 %21632 to i1
  br i1 %21633, label %21634, label %21656

21634:                                            ; preds = %21627
  %21635 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21636 = call i32 @fileno(ptr noundef %21635) #11
  %21637 = call i32 @isatty(i32 noundef %21636) #11
  %21638 = icmp ne i32 %21637, 0
  br i1 %21638, label %21639, label %21656

21639:                                            ; preds = %21634
  %21640 = load i32, ptr %597, align 4, !tbaa !5
  %21641 = call ptr @__errno_location() #12
  store i32 %21640, ptr %21641, align 4, !tbaa !5
  %21642 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21643 = load i32, ptr @test_count, align 4, !tbaa !5
  %21644 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21645 = load i32, ptr %21644, align 4, !tbaa !5
  %21646 = call ptr @s2n_strerror(i32 noundef %21645, ptr noundef @.str.4)
  %21647 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21648 = load i32, ptr %21647, align 4, !tbaa !5
  %21649 = call ptr @s2n_strerror_debug(i32 noundef %21648, ptr noundef @.str.4)
  %21650 = call ptr @__errno_location() #12
  %21651 = load i32, ptr %21650, align 4, !tbaa !5
  %21652 = call ptr @strerror(i32 noundef %21651) #11
  %21653 = call ptr @__errno_location() #12
  %21654 = load i32, ptr %21653, align 4, !tbaa !5
  %21655 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21642, ptr noundef @.str.2, i32 noundef %21643, ptr noundef @.str.139, ptr noundef @.str.1, i32 noundef 901, ptr noundef %21646, ptr noundef %21649, ptr noundef %21652, i32 noundef %21654) #11
  br label %21673

21656:                                            ; preds = %21634, %21627
  %21657 = load i32, ptr %597, align 4, !tbaa !5
  %21658 = call ptr @__errno_location() #12
  store i32 %21657, ptr %21658, align 4, !tbaa !5
  %21659 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21660 = load i32, ptr @test_count, align 4, !tbaa !5
  %21661 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21662 = load i32, ptr %21661, align 4, !tbaa !5
  %21663 = call ptr @s2n_strerror(i32 noundef %21662, ptr noundef @.str.4)
  %21664 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21665 = load i32, ptr %21664, align 4, !tbaa !5
  %21666 = call ptr @s2n_strerror_debug(i32 noundef %21665, ptr noundef @.str.4)
  %21667 = call ptr @__errno_location() #12
  %21668 = load i32, ptr %21667, align 4, !tbaa !5
  %21669 = call ptr @strerror(i32 noundef %21668) #11
  %21670 = call ptr @__errno_location() #12
  %21671 = load i32, ptr %21670, align 4, !tbaa !5
  %21672 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21659, ptr noundef @.str.5, i32 noundef %21660, ptr noundef @.str.139, ptr noundef @.str.1, i32 noundef 901, ptr noundef %21663, ptr noundef %21666, ptr noundef %21669, i32 noundef %21671) #11
  br label %21673

21673:                                            ; preds = %21656, %21639
  call void @llvm.lifetime.end.p0(i64 4, ptr %597) #11
  br label %21674

21674:                                            ; preds = %21673
  br label %21675

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

21676:                                            ; No predecessors!
  br label %21677

21677:                                            ; preds = %21676
  br label %21678

21678:                                            ; preds = %21677, %21618
  br label %21679

21679:                                            ; preds = %21678
  br label %21680

21680:                                            ; preds = %21679
  %21681 = call i32 @s2n_io_stuffer_pair_free(ptr noundef %586)
  %21682 = getelementptr inbounds %struct.s2n_result, ptr %598, i32 0, i32 0
  store i32 %21681, ptr %21682, align 4
  call void @llvm.lifetime.end.p0(i64 80, ptr %586) #11
  %21683 = call i32 @s2n_connection_ptr_free(ptr noundef %583)
  %21684 = getelementptr inbounds %struct.s2n_result, ptr %599, i32 0, i32 0
  store i32 %21683, ptr %21684, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %583) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %600) #11
  %21685 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %21685, ptr %600, align 8, !tbaa !9
  br label %21686

21686:                                            ; preds = %21680
  %21687 = load i32, ptr @test_count, align 4, !tbaa !5
  %21688 = add nsw i32 %21687, 1
  store i32 %21688, ptr @test_count, align 4, !tbaa !5
  %21689 = load ptr, ptr %600, align 8, !tbaa !9
  %21690 = icmp eq ptr %21689, null
  br i1 %21690, label %21691, label %21744

21691:                                            ; preds = %21686
  br label %21692

21692:                                            ; preds = %21691
  br label %21693

21693:                                            ; preds = %21692
  call void @llvm.lifetime.start.p0(i64 4, ptr %601) #11
  %21694 = call ptr @__errno_location() #12
  %21695 = load i32, ptr %21694, align 4, !tbaa !5
  store i32 %21695, ptr %601, align 4, !tbaa !5
  %21696 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21697 = call i32 @s2n_print_stacktrace(ptr noundef %21696)
  %21698 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21699 = trunc i8 %21698 to i1
  br i1 %21699, label %21700, label %21722

21700:                                            ; preds = %21693
  %21701 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21702 = call i32 @fileno(ptr noundef %21701) #11
  %21703 = call i32 @isatty(i32 noundef %21702) #11
  %21704 = icmp ne i32 %21703, 0
  br i1 %21704, label %21705, label %21722

21705:                                            ; preds = %21700
  %21706 = load i32, ptr %601, align 4, !tbaa !5
  %21707 = call ptr @__errno_location() #12
  store i32 %21706, ptr %21707, align 4, !tbaa !5
  %21708 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21709 = load i32, ptr @test_count, align 4, !tbaa !5
  %21710 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21711 = load i32, ptr %21710, align 4, !tbaa !5
  %21712 = call ptr @s2n_strerror(i32 noundef %21711, ptr noundef @.str.4)
  %21713 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21714 = load i32, ptr %21713, align 4, !tbaa !5
  %21715 = call ptr @s2n_strerror_debug(i32 noundef %21714, ptr noundef @.str.4)
  %21716 = call ptr @__errno_location() #12
  %21717 = load i32, ptr %21716, align 4, !tbaa !5
  %21718 = call ptr @strerror(i32 noundef %21717) #11
  %21719 = call ptr @__errno_location() #12
  %21720 = load i32, ptr %21719, align 4, !tbaa !5
  %21721 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21708, ptr noundef @.str.2, i32 noundef %21709, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 908, ptr noundef %21712, ptr noundef %21715, ptr noundef %21718, i32 noundef %21720) #11
  br label %21739

21722:                                            ; preds = %21700, %21693
  %21723 = load i32, ptr %601, align 4, !tbaa !5
  %21724 = call ptr @__errno_location() #12
  store i32 %21723, ptr %21724, align 4, !tbaa !5
  %21725 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21726 = load i32, ptr @test_count, align 4, !tbaa !5
  %21727 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21728 = load i32, ptr %21727, align 4, !tbaa !5
  %21729 = call ptr @s2n_strerror(i32 noundef %21728, ptr noundef @.str.4)
  %21730 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21731 = load i32, ptr %21730, align 4, !tbaa !5
  %21732 = call ptr @s2n_strerror_debug(i32 noundef %21731, ptr noundef @.str.4)
  %21733 = call ptr @__errno_location() #12
  %21734 = load i32, ptr %21733, align 4, !tbaa !5
  %21735 = call ptr @strerror(i32 noundef %21734) #11
  %21736 = call ptr @__errno_location() #12
  %21737 = load i32, ptr %21736, align 4, !tbaa !5
  %21738 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21725, ptr noundef @.str.5, i32 noundef %21726, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 908, ptr noundef %21729, ptr noundef %21732, ptr noundef %21735, i32 noundef %21737) #11
  br label %21739

21739:                                            ; preds = %21722, %21705
  call void @llvm.lifetime.end.p0(i64 4, ptr %601) #11
  br label %21740

21740:                                            ; preds = %21739
  br label %21741

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

21742:                                            ; No predecessors!
  br label %21743

21743:                                            ; preds = %21742
  br label %21744

21744:                                            ; preds = %21743, %21686
  br label %21745

21745:                                            ; preds = %21744
  br label %21746

21746:                                            ; preds = %21745
  br label %21747

21747:                                            ; preds = %21746
  %21748 = load i32, ptr @test_count, align 4, !tbaa !5
  %21749 = add nsw i32 %21748, 1
  store i32 %21749, ptr @test_count, align 4, !tbaa !5
  %21750 = load ptr, ptr %600, align 8, !tbaa !9
  %21751 = getelementptr inbounds [142 x i8], ptr %582, i64 0, i64 0
  %21752 = call i32 @s2n_connection_deserialize(ptr noundef %21750, ptr noundef %21751, i32 noundef 142)
  %21753 = icmp eq i32 %21752, -1
  br i1 %21753, label %21754, label %21807

21754:                                            ; preds = %21747
  br label %21755

21755:                                            ; preds = %21754
  br label %21756

21756:                                            ; preds = %21755
  call void @llvm.lifetime.start.p0(i64 4, ptr %602) #11
  %21757 = call ptr @__errno_location() #12
  %21758 = load i32, ptr %21757, align 4, !tbaa !5
  store i32 %21758, ptr %602, align 4, !tbaa !5
  %21759 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21760 = call i32 @s2n_print_stacktrace(ptr noundef %21759)
  %21761 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21762 = trunc i8 %21761 to i1
  br i1 %21762, label %21763, label %21785

21763:                                            ; preds = %21756
  %21764 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21765 = call i32 @fileno(ptr noundef %21764) #11
  %21766 = call i32 @isatty(i32 noundef %21765) #11
  %21767 = icmp ne i32 %21766, 0
  br i1 %21767, label %21768, label %21785

21768:                                            ; preds = %21763
  %21769 = load i32, ptr %602, align 4, !tbaa !5
  %21770 = call ptr @__errno_location() #12
  store i32 %21769, ptr %21770, align 4, !tbaa !5
  %21771 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21772 = load i32, ptr @test_count, align 4, !tbaa !5
  %21773 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21774 = load i32, ptr %21773, align 4, !tbaa !5
  %21775 = call ptr @s2n_strerror(i32 noundef %21774, ptr noundef @.str.4)
  %21776 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21777 = load i32, ptr %21776, align 4, !tbaa !5
  %21778 = call ptr @s2n_strerror_debug(i32 noundef %21777, ptr noundef @.str.4)
  %21779 = call ptr @__errno_location() #12
  %21780 = load i32, ptr %21779, align 4, !tbaa !5
  %21781 = call ptr @strerror(i32 noundef %21780) #11
  %21782 = call ptr @__errno_location() #12
  %21783 = load i32, ptr %21782, align 4, !tbaa !5
  %21784 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21771, ptr noundef @.str.2, i32 noundef %21772, ptr noundef @.str.140, ptr noundef @.str.1, i32 noundef 909, ptr noundef %21775, ptr noundef %21778, ptr noundef %21781, i32 noundef %21783) #11
  br label %21802

21785:                                            ; preds = %21763, %21756
  %21786 = load i32, ptr %602, align 4, !tbaa !5
  %21787 = call ptr @__errno_location() #12
  store i32 %21786, ptr %21787, align 4, !tbaa !5
  %21788 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21789 = load i32, ptr @test_count, align 4, !tbaa !5
  %21790 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21791 = load i32, ptr %21790, align 4, !tbaa !5
  %21792 = call ptr @s2n_strerror(i32 noundef %21791, ptr noundef @.str.4)
  %21793 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21794 = load i32, ptr %21793, align 4, !tbaa !5
  %21795 = call ptr @s2n_strerror_debug(i32 noundef %21794, ptr noundef @.str.4)
  %21796 = call ptr @__errno_location() #12
  %21797 = load i32, ptr %21796, align 4, !tbaa !5
  %21798 = call ptr @strerror(i32 noundef %21797) #11
  %21799 = call ptr @__errno_location() #12
  %21800 = load i32, ptr %21799, align 4, !tbaa !5
  %21801 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21788, ptr noundef @.str.5, i32 noundef %21789, ptr noundef @.str.140, ptr noundef @.str.1, i32 noundef 909, ptr noundef %21792, ptr noundef %21795, ptr noundef %21798, i32 noundef %21800) #11
  br label %21802

21802:                                            ; preds = %21785, %21768
  call void @llvm.lifetime.end.p0(i64 4, ptr %602) #11
  br label %21803

21803:                                            ; preds = %21802
  br label %21804

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

21805:                                            ; No predecessors!
  br label %21806

21806:                                            ; preds = %21805
  br label %21807

21807:                                            ; preds = %21806, %21747
  br label %21808

21808:                                            ; preds = %21807
  br label %21809

21809:                                            ; preds = %21808
  call void @llvm.lifetime.start.p0(i64 80, ptr %603) #11
  call void @llvm.memset.p0.i64(ptr align 8 %603, i8 0, i64 80, i1 false)
  br label %21810

21810:                                            ; preds = %21809
  %21811 = load i32, ptr @test_count, align 4, !tbaa !5
  %21812 = add nsw i32 %21811, 1
  store i32 %21812, ptr @test_count, align 4, !tbaa !5
  %21813 = call i32 @s2n_io_stuffer_pair_init(ptr noundef %603)
  %21814 = getelementptr inbounds %struct.s2n_result, ptr %604, i32 0, i32 0
  store i32 %21813, ptr %21814, align 4
  %21815 = getelementptr inbounds %struct.s2n_result, ptr %604, i32 0, i32 0
  %21816 = load i32, ptr %21815, align 4
  %21817 = call zeroext i1 @s2n_result_is_ok(i32 %21816)
  br i1 %21817, label %21871, label %21818

21818:                                            ; preds = %21810
  br label %21819

21819:                                            ; preds = %21818
  br label %21820

21820:                                            ; preds = %21819
  call void @llvm.lifetime.start.p0(i64 4, ptr %605) #11
  %21821 = call ptr @__errno_location() #12
  %21822 = load i32, ptr %21821, align 4, !tbaa !5
  store i32 %21822, ptr %605, align 4, !tbaa !5
  %21823 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21824 = call i32 @s2n_print_stacktrace(ptr noundef %21823)
  %21825 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21826 = trunc i8 %21825 to i1
  br i1 %21826, label %21827, label %21849

21827:                                            ; preds = %21820
  %21828 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21829 = call i32 @fileno(ptr noundef %21828) #11
  %21830 = call i32 @isatty(i32 noundef %21829) #11
  %21831 = icmp ne i32 %21830, 0
  br i1 %21831, label %21832, label %21849

21832:                                            ; preds = %21827
  %21833 = load i32, ptr %605, align 4, !tbaa !5
  %21834 = call ptr @__errno_location() #12
  store i32 %21833, ptr %21834, align 4, !tbaa !5
  %21835 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21836 = load i32, ptr @test_count, align 4, !tbaa !5
  %21837 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21838 = load i32, ptr %21837, align 4, !tbaa !5
  %21839 = call ptr @s2n_strerror(i32 noundef %21838, ptr noundef @.str.4)
  %21840 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21841 = load i32, ptr %21840, align 4, !tbaa !5
  %21842 = call ptr @s2n_strerror_debug(i32 noundef %21841, ptr noundef @.str.4)
  %21843 = call ptr @__errno_location() #12
  %21844 = load i32, ptr %21843, align 4, !tbaa !5
  %21845 = call ptr @strerror(i32 noundef %21844) #11
  %21846 = call ptr @__errno_location() #12
  %21847 = load i32, ptr %21846, align 4, !tbaa !5
  %21848 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21835, ptr noundef @.str.2, i32 noundef %21836, ptr noundef @.str.46, ptr noundef @.str.1, i32 noundef 912, ptr noundef %21839, ptr noundef %21842, ptr noundef %21845, i32 noundef %21847) #11
  br label %21866

21849:                                            ; preds = %21827, %21820
  %21850 = load i32, ptr %605, align 4, !tbaa !5
  %21851 = call ptr @__errno_location() #12
  store i32 %21850, ptr %21851, align 4, !tbaa !5
  %21852 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21853 = load i32, ptr @test_count, align 4, !tbaa !5
  %21854 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21855 = load i32, ptr %21854, align 4, !tbaa !5
  %21856 = call ptr @s2n_strerror(i32 noundef %21855, ptr noundef @.str.4)
  %21857 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21858 = load i32, ptr %21857, align 4, !tbaa !5
  %21859 = call ptr @s2n_strerror_debug(i32 noundef %21858, ptr noundef @.str.4)
  %21860 = call ptr @__errno_location() #12
  %21861 = load i32, ptr %21860, align 4, !tbaa !5
  %21862 = call ptr @strerror(i32 noundef %21861) #11
  %21863 = call ptr @__errno_location() #12
  %21864 = load i32, ptr %21863, align 4, !tbaa !5
  %21865 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21852, ptr noundef @.str.5, i32 noundef %21853, ptr noundef @.str.46, ptr noundef @.str.1, i32 noundef 912, ptr noundef %21856, ptr noundef %21859, ptr noundef %21862, i32 noundef %21864) #11
  br label %21866

21866:                                            ; preds = %21849, %21832
  call void @llvm.lifetime.end.p0(i64 4, ptr %605) #11
  br label %21867

21867:                                            ; preds = %21866
  br label %21868

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

21869:                                            ; No predecessors!
  br label %21870

21870:                                            ; preds = %21869
  br label %21871

21871:                                            ; preds = %21870, %21810
  br label %21872

21872:                                            ; preds = %21871
  br label %21873

21873:                                            ; preds = %21872
  br label %21874

21874:                                            ; preds = %21873
  %21875 = load i32, ptr @test_count, align 4, !tbaa !5
  %21876 = add nsw i32 %21875, 1
  store i32 %21876, ptr @test_count, align 4, !tbaa !5
  %21877 = load ptr, ptr %579, align 8, !tbaa !9
  %21878 = load ptr, ptr %600, align 8, !tbaa !9
  %21879 = call i32 @s2n_connections_set_io_stuffer_pair(ptr noundef %21877, ptr noundef %21878, ptr noundef %603)
  %21880 = getelementptr inbounds %struct.s2n_result, ptr %606, i32 0, i32 0
  store i32 %21879, ptr %21880, align 4
  %21881 = getelementptr inbounds %struct.s2n_result, ptr %606, i32 0, i32 0
  %21882 = load i32, ptr %21881, align 4
  %21883 = call zeroext i1 @s2n_result_is_ok(i32 %21882)
  br i1 %21883, label %21937, label %21884

21884:                                            ; preds = %21874
  br label %21885

21885:                                            ; preds = %21884
  br label %21886

21886:                                            ; preds = %21885
  call void @llvm.lifetime.start.p0(i64 4, ptr %607) #11
  %21887 = call ptr @__errno_location() #12
  %21888 = load i32, ptr %21887, align 4, !tbaa !5
  store i32 %21888, ptr %607, align 4, !tbaa !5
  %21889 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21890 = call i32 @s2n_print_stacktrace(ptr noundef %21889)
  %21891 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21892 = trunc i8 %21891 to i1
  br i1 %21892, label %21893, label %21915

21893:                                            ; preds = %21886
  %21894 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21895 = call i32 @fileno(ptr noundef %21894) #11
  %21896 = call i32 @isatty(i32 noundef %21895) #11
  %21897 = icmp ne i32 %21896, 0
  br i1 %21897, label %21898, label %21915

21898:                                            ; preds = %21893
  %21899 = load i32, ptr %607, align 4, !tbaa !5
  %21900 = call ptr @__errno_location() #12
  store i32 %21899, ptr %21900, align 4, !tbaa !5
  %21901 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21902 = load i32, ptr @test_count, align 4, !tbaa !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(i32 noundef %21904, ptr noundef @.str.4)
  %21906 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21907 = load i32, ptr %21906, align 4, !tbaa !5
  %21908 = call ptr @s2n_strerror_debug(i32 noundef %21907, ptr noundef @.str.4)
  %21909 = call ptr @__errno_location() #12
  %21910 = load i32, ptr %21909, align 4, !tbaa !5
  %21911 = call ptr @strerror(i32 noundef %21910) #11
  %21912 = call ptr @__errno_location() #12
  %21913 = load i32, ptr %21912, align 4, !tbaa !5
  %21914 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21901, ptr noundef @.str.2, i32 noundef %21902, ptr noundef @.str.47, ptr noundef @.str.1, i32 noundef 913, ptr noundef %21905, ptr noundef %21908, ptr noundef %21911, i32 noundef %21913) #11
  br label %21932

21915:                                            ; preds = %21893, %21886
  %21916 = load i32, ptr %607, align 4, !tbaa !5
  %21917 = call ptr @__errno_location() #12
  store i32 %21916, ptr %21917, align 4, !tbaa !5
  %21918 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21919 = load i32, ptr @test_count, align 4, !tbaa !5
  %21920 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21921 = load i32, ptr %21920, align 4, !tbaa !5
  %21922 = call ptr @s2n_strerror(i32 noundef %21921, ptr noundef @.str.4)
  %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.4)
  %21926 = call ptr @__errno_location() #12
  %21927 = load i32, ptr %21926, align 4, !tbaa !5
  %21928 = call ptr @strerror(i32 noundef %21927) #11
  %21929 = call ptr @__errno_location() #12
  %21930 = load i32, ptr %21929, align 4, !tbaa !5
  %21931 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21918, ptr noundef @.str.5, i32 noundef %21919, ptr noundef @.str.47, ptr noundef @.str.1, i32 noundef 913, ptr noundef %21922, ptr noundef %21925, ptr noundef %21928, i32 noundef %21930) #11
  br label %21932

21932:                                            ; preds = %21915, %21898
  call void @llvm.lifetime.end.p0(i64 4, ptr %607) #11
  br label %21933

21933:                                            ; preds = %21932
  br label %21934

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

21935:                                            ; No predecessors!
  br label %21936

21936:                                            ; preds = %21935
  br label %21937

21937:                                            ; preds = %21936, %21874
  br label %21938

21938:                                            ; preds = %21937
  br label %21939

21939:                                            ; preds = %21938
  br label %21940

21940:                                            ; preds = %21939
  %21941 = load i32, ptr @test_count, align 4, !tbaa !5
  %21942 = add nsw i32 %21941, 1
  store i32 %21942, ptr @test_count, align 4, !tbaa !5
  %21943 = load ptr, ptr %579, align 8, !tbaa !9
  %21944 = load ptr, ptr %600, align 8, !tbaa !9
  %21945 = call i32 @s2n_test_key_update(ptr noundef %21943, ptr noundef %21944)
  %21946 = getelementptr inbounds %struct.s2n_result, ptr %608, i32 0, i32 0
  store i32 %21945, ptr %21946, align 4
  %21947 = getelementptr inbounds %struct.s2n_result, ptr %608, i32 0, i32 0
  %21948 = load i32, ptr %21947, align 4
  %21949 = call zeroext i1 @s2n_result_is_ok(i32 %21948)
  br i1 %21949, label %22003, label %21950

21950:                                            ; preds = %21940
  br label %21951

21951:                                            ; preds = %21950
  br label %21952

21952:                                            ; preds = %21951
  call void @llvm.lifetime.start.p0(i64 4, ptr %609) #11
  %21953 = call ptr @__errno_location() #12
  %21954 = load i32, ptr %21953, align 4, !tbaa !5
  store i32 %21954, ptr %609, align 4, !tbaa !5
  %21955 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21956 = call i32 @s2n_print_stacktrace(ptr noundef %21955)
  %21957 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21958 = trunc i8 %21957 to i1
  br i1 %21958, label %21959, label %21981

21959:                                            ; preds = %21952
  %21960 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21961 = call i32 @fileno(ptr noundef %21960) #11
  %21962 = call i32 @isatty(i32 noundef %21961) #11
  %21963 = icmp ne i32 %21962, 0
  br i1 %21963, label %21964, label %21981

21964:                                            ; preds = %21959
  %21965 = load i32, ptr %609, align 4, !tbaa !5
  %21966 = call ptr @__errno_location() #12
  store i32 %21965, ptr %21966, align 4, !tbaa !5
  %21967 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21968 = load i32, ptr @test_count, align 4, !tbaa !5
  %21969 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21970 = load i32, ptr %21969, align 4, !tbaa !5
  %21971 = call ptr @s2n_strerror(i32 noundef %21970, ptr noundef @.str.4)
  %21972 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21973 = load i32, ptr %21972, align 4, !tbaa !5
  %21974 = call ptr @s2n_strerror_debug(i32 noundef %21973, ptr noundef @.str.4)
  %21975 = call ptr @__errno_location() #12
  %21976 = load i32, ptr %21975, align 4, !tbaa !5
  %21977 = call ptr @strerror(i32 noundef %21976) #11
  %21978 = call ptr @__errno_location() #12
  %21979 = load i32, ptr %21978, align 4, !tbaa !5
  %21980 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21967, ptr noundef @.str.2, i32 noundef %21968, ptr noundef @.str.142, ptr noundef @.str.1, i32 noundef 915, ptr noundef %21971, ptr noundef %21974, ptr noundef %21977, i32 noundef %21979) #11
  br label %21998

21981:                                            ; preds = %21959, %21952
  %21982 = load i32, ptr %609, align 4, !tbaa !5
  %21983 = call ptr @__errno_location() #12
  store i32 %21982, ptr %21983, align 4, !tbaa !5
  %21984 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21985 = load i32, ptr @test_count, align 4, !tbaa !5
  %21986 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21987 = load i32, ptr %21986, align 4, !tbaa !5
  %21988 = call ptr @s2n_strerror(i32 noundef %21987, ptr noundef @.str.4)
  %21989 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21990 = load i32, ptr %21989, align 4, !tbaa !5
  %21991 = call ptr @s2n_strerror_debug(i32 noundef %21990, ptr noundef @.str.4)
  %21992 = call ptr @__errno_location() #12
  %21993 = load i32, ptr %21992, align 4, !tbaa !5
  %21994 = call ptr @strerror(i32 noundef %21993) #11
  %21995 = call ptr @__errno_location() #12
  %21996 = load i32, ptr %21995, align 4, !tbaa !5
  %21997 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21984, ptr noundef @.str.5, i32 noundef %21985, ptr noundef @.str.142, ptr noundef @.str.1, i32 noundef 915, ptr noundef %21988, ptr noundef %21991, ptr noundef %21994, i32 noundef %21996) #11
  br label %21998

21998:                                            ; preds = %21981, %21964
  call void @llvm.lifetime.end.p0(i64 4, ptr %609) #11
  br label %21999

21999:                                            ; preds = %21998
  br label %22000

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

22001:                                            ; No predecessors!
  br label %22002

22002:                                            ; preds = %22001
  br label %22003

22003:                                            ; preds = %22002, %21940
  br label %22004

22004:                                            ; preds = %22003
  br label %22005

22005:                                            ; preds = %22004
  %22006 = call i32 @s2n_io_stuffer_pair_free(ptr noundef %603)
  %22007 = getelementptr inbounds %struct.s2n_result, ptr %610, i32 0, i32 0
  store i32 %22006, ptr %22007, align 4
  call void @llvm.lifetime.end.p0(i64 80, ptr %603) #11
  %22008 = call i32 @s2n_connection_ptr_free(ptr noundef %600)
  %22009 = getelementptr inbounds %struct.s2n_result, ptr %611, i32 0, i32 0
  store i32 %22008, ptr %22009, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %600) #11
  call void @llvm.lifetime.end.p0(i64 142, ptr %582) #11
  %22010 = call i32 @s2n_connection_ptr_free(ptr noundef %579)
  %22011 = getelementptr inbounds %struct.s2n_result, ptr %612, i32 0, i32 0
  store i32 %22010, ptr %22011, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %579) #11
  br label %22012

22012:                                            ; preds = %22005, %19947
  call void @llvm.lifetime.start.p0(i64 8, ptr %613) #11
  %22013 = call ptr @s2n_config_new()
  store ptr %22013, ptr %613, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %614) #11
  %22014 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %22014, ptr %614, align 8, !tbaa !9
  br label %22015

22015:                                            ; preds = %22012
  %22016 = load i32, ptr @test_count, align 4, !tbaa !5
  %22017 = add nsw i32 %22016, 1
  store i32 %22017, ptr @test_count, align 4, !tbaa !5
  %22018 = load ptr, ptr %614, align 8, !tbaa !9
  %22019 = icmp eq ptr %22018, null
  br i1 %22019, label %22020, label %22073

22020:                                            ; preds = %22015
  br label %22021

22021:                                            ; preds = %22020
  br label %22022

22022:                                            ; preds = %22021
  call void @llvm.lifetime.start.p0(i64 4, ptr %615) #11
  %22023 = call ptr @__errno_location() #12
  %22024 = load i32, ptr %22023, align 4, !tbaa !5
  store i32 %22024, ptr %615, align 4, !tbaa !5
  %22025 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22026 = call i32 @s2n_print_stacktrace(ptr noundef %22025)
  %22027 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22028 = trunc i8 %22027 to i1
  br i1 %22028, label %22029, label %22051

22029:                                            ; preds = %22022
  %22030 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22031 = call i32 @fileno(ptr noundef %22030) #11
  %22032 = call i32 @isatty(i32 noundef %22031) #11
  %22033 = icmp ne i32 %22032, 0
  br i1 %22033, label %22034, label %22051

22034:                                            ; preds = %22029
  %22035 = load i32, ptr %615, align 4, !tbaa !5
  %22036 = call ptr @__errno_location() #12
  store i32 %22035, ptr %22036, align 4, !tbaa !5
  %22037 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22038 = load i32, ptr @test_count, align 4, !tbaa !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(i32 noundef %22040, ptr noundef @.str.4)
  %22042 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22043 = load i32, ptr %22042, align 4, !tbaa !5
  %22044 = call ptr @s2n_strerror_debug(i32 noundef %22043, ptr noundef @.str.4)
  %22045 = call ptr @__errno_location() #12
  %22046 = load i32, ptr %22045, align 4, !tbaa !5
  %22047 = call ptr @strerror(i32 noundef %22046) #11
  %22048 = call ptr @__errno_location() #12
  %22049 = load i32, ptr %22048, align 4, !tbaa !5
  %22050 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22037, ptr noundef @.str.2, i32 noundef %22038, ptr noundef @.str.42, ptr noundef @.str.1, i32 noundef 934, ptr noundef %22041, ptr noundef %22044, ptr noundef %22047, i32 noundef %22049) #11
  br label %22068

22051:                                            ; preds = %22029, %22022
  %22052 = load i32, ptr %615, align 4, !tbaa !5
  %22053 = call ptr @__errno_location() #12
  store i32 %22052, ptr %22053, align 4, !tbaa !5
  %22054 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22055 = load i32, ptr @test_count, align 4, !tbaa !5
  %22056 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22057 = load i32, ptr %22056, align 4, !tbaa !5
  %22058 = call ptr @s2n_strerror(i32 noundef %22057, ptr noundef @.str.4)
  %22059 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22060 = load i32, ptr %22059, align 4, !tbaa !5
  %22061 = call ptr @s2n_strerror_debug(i32 noundef %22060, ptr noundef @.str.4)
  %22062 = call ptr @__errno_location() #12
  %22063 = load i32, ptr %22062, align 4, !tbaa !5
  %22064 = call ptr @strerror(i32 noundef %22063) #11
  %22065 = call ptr @__errno_location() #12
  %22066 = load i32, ptr %22065, align 4, !tbaa !5
  %22067 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22054, ptr noundef @.str.5, i32 noundef %22055, ptr noundef @.str.42, ptr noundef @.str.1, i32 noundef 934, ptr noundef %22058, ptr noundef %22061, ptr noundef %22064, i32 noundef %22066) #11
  br label %22068

22068:                                            ; preds = %22051, %22034
  call void @llvm.lifetime.end.p0(i64 4, ptr %615) #11
  br label %22069

22069:                                            ; preds = %22068
  br label %22070

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

22071:                                            ; No predecessors!
  br label %22072

22072:                                            ; preds = %22071
  br label %22073

22073:                                            ; preds = %22072, %22015
  br label %22074

22074:                                            ; preds = %22073
  br label %22075

22075:                                            ; preds = %22074
  br label %22076

22076:                                            ; preds = %22075
  %22077 = load i32, ptr @test_count, align 4, !tbaa !5
  %22078 = add nsw i32 %22077, 1
  store i32 %22078, ptr @test_count, align 4, !tbaa !5
  %22079 = load ptr, ptr %613, align 8, !tbaa !9
  %22080 = call i32 @s2n_config_set_renegotiate_request_cb(ptr noundef %22079, ptr noundef @s2n_test_reneg_cb, ptr noundef null)
  %22081 = icmp eq i32 %22080, -1
  br i1 %22081, label %22082, label %22135

22082:                                            ; preds = %22076
  br label %22083

22083:                                            ; preds = %22082
  br label %22084

22084:                                            ; preds = %22083
  call void @llvm.lifetime.start.p0(i64 4, ptr %616) #11
  %22085 = call ptr @__errno_location() #12
  %22086 = load i32, ptr %22085, align 4, !tbaa !5
  store i32 %22086, ptr %616, align 4, !tbaa !5
  %22087 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22088 = call i32 @s2n_print_stacktrace(ptr noundef %22087)
  %22089 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22090 = trunc i8 %22089 to i1
  br i1 %22090, label %22091, label %22113

22091:                                            ; preds = %22084
  %22092 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22093 = call i32 @fileno(ptr noundef %22092) #11
  %22094 = call i32 @isatty(i32 noundef %22093) #11
  %22095 = icmp ne i32 %22094, 0
  br i1 %22095, label %22096, label %22113

22096:                                            ; preds = %22091
  %22097 = load i32, ptr %616, align 4, !tbaa !5
  %22098 = call ptr @__errno_location() #12
  store i32 %22097, ptr %22098, align 4, !tbaa !5
  %22099 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22100 = load i32, ptr @test_count, align 4, !tbaa !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(i32 noundef %22102, ptr noundef @.str.4)
  %22104 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22105 = load i32, ptr %22104, align 4, !tbaa !5
  %22106 = call ptr @s2n_strerror_debug(i32 noundef %22105, ptr noundef @.str.4)
  %22107 = call ptr @__errno_location() #12
  %22108 = load i32, ptr %22107, align 4, !tbaa !5
  %22109 = call ptr @strerror(i32 noundef %22108) #11
  %22110 = call ptr @__errno_location() #12
  %22111 = load i32, ptr %22110, align 4, !tbaa !5
  %22112 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22099, ptr noundef @.str.2, i32 noundef %22100, ptr noundef @.str.143, ptr noundef @.str.1, i32 noundef 937, ptr noundef %22103, ptr noundef %22106, ptr noundef %22109, i32 noundef %22111) #11
  br label %22130

22113:                                            ; preds = %22091, %22084
  %22114 = load i32, ptr %616, align 4, !tbaa !5
  %22115 = call ptr @__errno_location() #12
  store i32 %22114, ptr %22115, align 4, !tbaa !5
  %22116 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22117 = load i32, ptr @test_count, align 4, !tbaa !5
  %22118 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22119 = load i32, ptr %22118, align 4, !tbaa !5
  %22120 = call ptr @s2n_strerror(i32 noundef %22119, ptr noundef @.str.4)
  %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.4)
  %22124 = call ptr @__errno_location() #12
  %22125 = load i32, ptr %22124, align 4, !tbaa !5
  %22126 = call ptr @strerror(i32 noundef %22125) #11
  %22127 = call ptr @__errno_location() #12
  %22128 = load i32, ptr %22127, align 4, !tbaa !5
  %22129 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22116, ptr noundef @.str.5, i32 noundef %22117, ptr noundef @.str.143, ptr noundef @.str.1, i32 noundef 937, ptr noundef %22120, ptr noundef %22123, ptr noundef %22126, i32 noundef %22128) #11
  br label %22130

22130:                                            ; preds = %22113, %22096
  call void @llvm.lifetime.end.p0(i64 4, ptr %616) #11
  br label %22131

22131:                                            ; preds = %22130
  br label %22132

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

22133:                                            ; No predecessors!
  br label %22134

22134:                                            ; preds = %22133
  br label %22135

22135:                                            ; preds = %22134, %22076
  br label %22136

22136:                                            ; preds = %22135
  br label %22137

22137:                                            ; preds = %22136
  br label %22138

22138:                                            ; preds = %22137
  br label %22139

22139:                                            ; preds = %22138
  br label %22140

22140:                                            ; preds = %22139
  %22141 = load i32, ptr @test_count, align 4, !tbaa !5
  %22142 = add nsw i32 %22141, 1
  store i32 %22142, ptr @test_count, align 4, !tbaa !5
  %22143 = load ptr, ptr %613, align 8, !tbaa !9
  %22144 = call i32 @s2n_config_set_serialization_version(ptr noundef %22143, i32 noundef 1)
  %22145 = icmp eq i32 %22144, -1
  br i1 %22145, label %22199, label %22146

22146:                                            ; preds = %22140
  br label %22147

22147:                                            ; preds = %22146
  br label %22148

22148:                                            ; preds = %22147
  call void @llvm.lifetime.start.p0(i64 4, ptr %617) #11
  %22149 = call ptr @__errno_location() #12
  %22150 = load i32, ptr %22149, align 4, !tbaa !5
  store i32 %22150, ptr %617, align 4, !tbaa !5
  %22151 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22152 = call i32 @s2n_print_stacktrace(ptr noundef %22151)
  %22153 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22154 = trunc i8 %22153 to i1
  br i1 %22154, label %22155, label %22177

22155:                                            ; preds = %22148
  %22156 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22157 = call i32 @fileno(ptr noundef %22156) #11
  %22158 = call i32 @isatty(i32 noundef %22157) #11
  %22159 = icmp ne i32 %22158, 0
  br i1 %22159, label %22160, label %22177

22160:                                            ; preds = %22155
  %22161 = load i32, ptr %617, align 4, !tbaa !5
  %22162 = call ptr @__errno_location() #12
  store i32 %22161, ptr %22162, align 4, !tbaa !5
  %22163 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22164 = load i32, ptr @test_count, align 4, !tbaa !5
  %22165 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22166 = load i32, ptr %22165, align 4, !tbaa !5
  %22167 = call ptr @s2n_strerror(i32 noundef %22166, ptr noundef @.str.4)
  %22168 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22169 = load i32, ptr %22168, align 4, !tbaa !5
  %22170 = call ptr @s2n_strerror_debug(i32 noundef %22169, ptr noundef @.str.4)
  %22171 = call ptr @__errno_location() #12
  %22172 = load i32, ptr %22171, align 4, !tbaa !5
  %22173 = call ptr @strerror(i32 noundef %22172) #11
  %22174 = call ptr @__errno_location() #12
  %22175 = load i32, ptr %22174, align 4, !tbaa !5
  %22176 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22163, ptr noundef @.str.2, i32 noundef %22164, ptr noundef @.str.144, ptr noundef @.str.1, i32 noundef 939, ptr noundef %22167, ptr noundef %22170, ptr noundef %22173, i32 noundef %22175) #11
  br label %22194

22177:                                            ; preds = %22155, %22148
  %22178 = load i32, ptr %617, align 4, !tbaa !5
  %22179 = call ptr @__errno_location() #12
  store i32 %22178, ptr %22179, align 4, !tbaa !5
  %22180 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22181 = load i32, ptr @test_count, align 4, !tbaa !5
  %22182 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22183 = load i32, ptr %22182, align 4, !tbaa !5
  %22184 = call ptr @s2n_strerror(i32 noundef %22183, ptr noundef @.str.4)
  %22185 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22186 = load i32, ptr %22185, align 4, !tbaa !5
  %22187 = call ptr @s2n_strerror_debug(i32 noundef %22186, ptr noundef @.str.4)
  %22188 = call ptr @__errno_location() #12
  %22189 = load i32, ptr %22188, align 4, !tbaa !5
  %22190 = call ptr @strerror(i32 noundef %22189) #11
  %22191 = call ptr @__errno_location() #12
  %22192 = load i32, ptr %22191, align 4, !tbaa !5
  %22193 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22180, ptr noundef @.str.5, i32 noundef %22181, ptr noundef @.str.144, ptr noundef @.str.1, i32 noundef 939, ptr noundef %22184, ptr noundef %22187, ptr noundef %22190, i32 noundef %22192) #11
  br label %22194

22194:                                            ; preds = %22177, %22160
  call void @llvm.lifetime.end.p0(i64 4, ptr %617) #11
  br label %22195

22195:                                            ; preds = %22194
  br label %22196

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

22197:                                            ; No predecessors!
  br label %22198

22198:                                            ; preds = %22197
  br label %22199

22199:                                            ; preds = %22198, %22140
  br label %22200

22200:                                            ; preds = %22199
  br label %22201

22201:                                            ; preds = %22200
  br label %22202

22202:                                            ; preds = %22201
  %22203 = load i32, ptr @test_count, align 4, !tbaa !5
  %22204 = add nsw i32 %22203, 1
  store i32 %22204, ptr @test_count, align 4, !tbaa !5
  %22205 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22206 = load i32, ptr %22205, align 4, !tbaa !5
  %22207 = icmp eq i32 %22206, 469762112
  br i1 %22207, label %22261, label %22208

22208:                                            ; preds = %22202
  br label %22209

22209:                                            ; preds = %22208
  br label %22210

22210:                                            ; preds = %22209
  call void @llvm.lifetime.start.p0(i64 4, ptr %618) #11
  %22211 = call ptr @__errno_location() #12
  %22212 = load i32, ptr %22211, align 4, !tbaa !5
  store i32 %22212, ptr %618, align 4, !tbaa !5
  %22213 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22214 = call i32 @s2n_print_stacktrace(ptr noundef %22213)
  %22215 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22216 = trunc i8 %22215 to i1
  br i1 %22216, label %22217, label %22239

22217:                                            ; preds = %22210
  %22218 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22219 = call i32 @fileno(ptr noundef %22218) #11
  %22220 = call i32 @isatty(i32 noundef %22219) #11
  %22221 = icmp ne i32 %22220, 0
  br i1 %22221, label %22222, label %22239

22222:                                            ; preds = %22217
  %22223 = load i32, ptr %618, align 4, !tbaa !5
  %22224 = call ptr @__errno_location() #12
  store i32 %22223, ptr %22224, align 4, !tbaa !5
  %22225 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22226 = load i32, ptr @test_count, align 4, !tbaa !5
  %22227 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22228 = load i32, ptr %22227, align 4, !tbaa !5
  %22229 = call ptr @s2n_strerror(i32 noundef %22228, ptr noundef @.str.4)
  %22230 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22231 = load i32, ptr %22230, align 4, !tbaa !5
  %22232 = call ptr @s2n_strerror_debug(i32 noundef %22231, ptr noundef @.str.4)
  %22233 = call ptr @__errno_location() #12
  %22234 = load i32, ptr %22233, align 4, !tbaa !5
  %22235 = call ptr @strerror(i32 noundef %22234) #11
  %22236 = call ptr @__errno_location() #12
  %22237 = load i32, ptr %22236, align 4, !tbaa !5
  %22238 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22225, ptr noundef @.str.2, i32 noundef %22226, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 939, ptr noundef %22229, ptr noundef %22232, ptr noundef %22235, i32 noundef %22237) #11
  br label %22256

22239:                                            ; preds = %22217, %22210
  %22240 = load i32, ptr %618, align 4, !tbaa !5
  %22241 = call ptr @__errno_location() #12
  store i32 %22240, ptr %22241, align 4, !tbaa !5
  %22242 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22243 = load i32, ptr @test_count, align 4, !tbaa !5
  %22244 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22245 = load i32, ptr %22244, align 4, !tbaa !5
  %22246 = call ptr @s2n_strerror(i32 noundef %22245, ptr noundef @.str.4)
  %22247 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22248 = load i32, ptr %22247, align 4, !tbaa !5
  %22249 = call ptr @s2n_strerror_debug(i32 noundef %22248, ptr noundef @.str.4)
  %22250 = call ptr @__errno_location() #12
  %22251 = load i32, ptr %22250, align 4, !tbaa !5
  %22252 = call ptr @strerror(i32 noundef %22251) #11
  %22253 = call ptr @__errno_location() #12
  %22254 = load i32, ptr %22253, align 4, !tbaa !5
  %22255 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22242, ptr noundef @.str.5, i32 noundef %22243, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 939, ptr noundef %22246, ptr noundef %22249, ptr noundef %22252, i32 noundef %22254) #11
  br label %22256

22256:                                            ; preds = %22239, %22222
  call void @llvm.lifetime.end.p0(i64 4, ptr %618) #11
  br label %22257

22257:                                            ; preds = %22256
  br label %22258

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

22259:                                            ; No predecessors!
  br label %22260

22260:                                            ; preds = %22259
  br label %22261

22261:                                            ; preds = %22260, %22202
  br label %22262

22262:                                            ; preds = %22261
  br label %22263

22263:                                            ; preds = %22262
  br label %22264

22264:                                            ; preds = %22263
  %22265 = load i32, ptr @test_count, align 4, !tbaa !5
  %22266 = add nsw i32 %22265, 1
  store i32 %22266, ptr @test_count, align 4, !tbaa !5
  %22267 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22268 = load i32, ptr %22267, align 4, !tbaa !5
  %22269 = call ptr @s2n_strerror_debug(i32 noundef %22268, ptr noundef @.str.4)
  %22270 = icmp eq ptr %22269, null
  br i1 %22270, label %22271, label %22324

22271:                                            ; preds = %22264
  br label %22272

22272:                                            ; preds = %22271
  br label %22273

22273:                                            ; preds = %22272
  call void @llvm.lifetime.start.p0(i64 4, ptr %619) #11
  %22274 = call ptr @__errno_location() #12
  %22275 = load i32, ptr %22274, align 4, !tbaa !5
  store i32 %22275, ptr %619, align 4, !tbaa !5
  %22276 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22277 = call i32 @s2n_print_stacktrace(ptr noundef %22276)
  %22278 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22279 = trunc i8 %22278 to i1
  br i1 %22279, label %22280, label %22302

22280:                                            ; preds = %22273
  %22281 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22282 = call i32 @fileno(ptr noundef %22281) #11
  %22283 = call i32 @isatty(i32 noundef %22282) #11
  %22284 = icmp ne i32 %22283, 0
  br i1 %22284, label %22285, label %22302

22285:                                            ; preds = %22280
  %22286 = load i32, ptr %619, align 4, !tbaa !5
  %22287 = call ptr @__errno_location() #12
  store i32 %22286, ptr %22287, align 4, !tbaa !5
  %22288 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22289 = load i32, ptr @test_count, align 4, !tbaa !5
  %22290 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22291 = load i32, ptr %22290, align 4, !tbaa !5
  %22292 = call ptr @s2n_strerror(i32 noundef %22291, ptr noundef @.str.4)
  %22293 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22294 = load i32, ptr %22293, align 4, !tbaa !5
  %22295 = call ptr @s2n_strerror_debug(i32 noundef %22294, ptr noundef @.str.4)
  %22296 = call ptr @__errno_location() #12
  %22297 = load i32, ptr %22296, align 4, !tbaa !5
  %22298 = call ptr @strerror(i32 noundef %22297) #11
  %22299 = call ptr @__errno_location() #12
  %22300 = load i32, ptr %22299, align 4, !tbaa !5
  %22301 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22288, ptr noundef @.str.2, i32 noundef %22289, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 939, ptr noundef %22292, ptr noundef %22295, ptr noundef %22298, i32 noundef %22300) #11
  br label %22319

22302:                                            ; preds = %22280, %22273
  %22303 = load i32, ptr %619, align 4, !tbaa !5
  %22304 = call ptr @__errno_location() #12
  store i32 %22303, ptr %22304, align 4, !tbaa !5
  %22305 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22306 = load i32, ptr @test_count, align 4, !tbaa !5
  %22307 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22308 = load i32, ptr %22307, align 4, !tbaa !5
  %22309 = call ptr @s2n_strerror(i32 noundef %22308, ptr noundef @.str.4)
  %22310 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22311 = load i32, ptr %22310, align 4, !tbaa !5
  %22312 = call ptr @s2n_strerror_debug(i32 noundef %22311, ptr noundef @.str.4)
  %22313 = call ptr @__errno_location() #12
  %22314 = load i32, ptr %22313, align 4, !tbaa !5
  %22315 = call ptr @strerror(i32 noundef %22314) #11
  %22316 = call ptr @__errno_location() #12
  %22317 = load i32, ptr %22316, align 4, !tbaa !5
  %22318 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22305, ptr noundef @.str.5, i32 noundef %22306, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 939, ptr noundef %22309, ptr noundef %22312, ptr noundef %22315, i32 noundef %22317) #11
  br label %22319

22319:                                            ; preds = %22302, %22285
  call void @llvm.lifetime.end.p0(i64 4, ptr %619) #11
  br label %22320

22320:                                            ; preds = %22319
  br label %22321

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

22322:                                            ; No predecessors!
  br label %22323

22323:                                            ; preds = %22322
  br label %22324

22324:                                            ; preds = %22323, %22264
  br label %22325

22325:                                            ; preds = %22324
  br label %22326

22326:                                            ; preds = %22325
  br label %22327

22327:                                            ; preds = %22326
  br label %22328

22328:                                            ; preds = %22327
  br label %22329

22329:                                            ; preds = %22328
  %22330 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %22330, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %22331 = call ptr @__errno_location() #12
  store i32 0, ptr %22331, align 4, !tbaa !5
  br label %22332

22332:                                            ; preds = %22329
  br label %22333

22333:                                            ; preds = %22332
  br label %22334

22334:                                            ; preds = %22333
  br label %22335

22335:                                            ; preds = %22334
  br label %22336

22336:                                            ; preds = %22335
  %22337 = load i32, ptr @test_count, align 4, !tbaa !5
  %22338 = add nsw i32 %22337, 1
  store i32 %22338, ptr @test_count, align 4, !tbaa !5
  %22339 = load ptr, ptr %613, align 8, !tbaa !9
  %22340 = call i32 @s2n_config_set_renegotiate_request_cb(ptr noundef %22339, ptr noundef null, ptr noundef null)
  %22341 = icmp eq i32 %22340, -1
  br i1 %22341, label %22342, label %22395

22342:                                            ; preds = %22336
  br label %22343

22343:                                            ; preds = %22342
  br label %22344

22344:                                            ; preds = %22343
  call void @llvm.lifetime.start.p0(i64 4, ptr %620) #11
  %22345 = call ptr @__errno_location() #12
  %22346 = load i32, ptr %22345, align 4, !tbaa !5
  store i32 %22346, ptr %620, align 4, !tbaa !5
  %22347 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22348 = call i32 @s2n_print_stacktrace(ptr noundef %22347)
  %22349 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22350 = trunc i8 %22349 to i1
  br i1 %22350, label %22351, label %22373

22351:                                            ; preds = %22344
  %22352 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22353 = call i32 @fileno(ptr noundef %22352) #11
  %22354 = call i32 @isatty(i32 noundef %22353) #11
  %22355 = icmp ne i32 %22354, 0
  br i1 %22355, label %22356, label %22373

22356:                                            ; preds = %22351
  %22357 = load i32, ptr %620, align 4, !tbaa !5
  %22358 = call ptr @__errno_location() #12
  store i32 %22357, ptr %22358, align 4, !tbaa !5
  %22359 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22360 = load i32, ptr @test_count, align 4, !tbaa !5
  %22361 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22362 = load i32, ptr %22361, align 4, !tbaa !5
  %22363 = call ptr @s2n_strerror(i32 noundef %22362, ptr noundef @.str.4)
  %22364 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22365 = load i32, ptr %22364, align 4, !tbaa !5
  %22366 = call ptr @s2n_strerror_debug(i32 noundef %22365, ptr noundef @.str.4)
  %22367 = call ptr @__errno_location() #12
  %22368 = load i32, ptr %22367, align 4, !tbaa !5
  %22369 = call ptr @strerror(i32 noundef %22368) #11
  %22370 = call ptr @__errno_location() #12
  %22371 = load i32, ptr %22370, align 4, !tbaa !5
  %22372 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22359, ptr noundef @.str.2, i32 noundef %22360, ptr noundef @.str.145, ptr noundef @.str.1, i32 noundef 942, ptr noundef %22363, ptr noundef %22366, ptr noundef %22369, i32 noundef %22371) #11
  br label %22390

22373:                                            ; preds = %22351, %22344
  %22374 = load i32, ptr %620, align 4, !tbaa !5
  %22375 = call ptr @__errno_location() #12
  store i32 %22374, ptr %22375, align 4, !tbaa !5
  %22376 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22377 = load i32, ptr @test_count, align 4, !tbaa !5
  %22378 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22379 = load i32, ptr %22378, align 4, !tbaa !5
  %22380 = call ptr @s2n_strerror(i32 noundef %22379, ptr noundef @.str.4)
  %22381 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22382 = load i32, ptr %22381, align 4, !tbaa !5
  %22383 = call ptr @s2n_strerror_debug(i32 noundef %22382, ptr noundef @.str.4)
  %22384 = call ptr @__errno_location() #12
  %22385 = load i32, ptr %22384, align 4, !tbaa !5
  %22386 = call ptr @strerror(i32 noundef %22385) #11
  %22387 = call ptr @__errno_location() #12
  %22388 = load i32, ptr %22387, align 4, !tbaa !5
  %22389 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22376, ptr noundef @.str.5, i32 noundef %22377, ptr noundef @.str.145, ptr noundef @.str.1, i32 noundef 942, ptr noundef %22380, ptr noundef %22383, ptr noundef %22386, i32 noundef %22388) #11
  br label %22390

22390:                                            ; preds = %22373, %22356
  call void @llvm.lifetime.end.p0(i64 4, ptr %620) #11
  br label %22391

22391:                                            ; preds = %22390
  br label %22392

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

22393:                                            ; No predecessors!
  br label %22394

22394:                                            ; preds = %22393
  br label %22395

22395:                                            ; preds = %22394, %22336
  br label %22396

22396:                                            ; preds = %22395
  br label %22397

22397:                                            ; preds = %22396
  br label %22398

22398:                                            ; preds = %22397
  %22399 = load i32, ptr @test_count, align 4, !tbaa !5
  %22400 = add nsw i32 %22399, 1
  store i32 %22400, ptr @test_count, align 4, !tbaa !5
  %22401 = load ptr, ptr %613, align 8, !tbaa !9
  %22402 = call i32 @s2n_config_set_serialization_version(ptr noundef %22401, i32 noundef 1)
  %22403 = icmp eq i32 %22402, -1
  br i1 %22403, label %22404, label %22457

22404:                                            ; preds = %22398
  br label %22405

22405:                                            ; preds = %22404
  br label %22406

22406:                                            ; preds = %22405
  call void @llvm.lifetime.start.p0(i64 4, ptr %621) #11
  %22407 = call ptr @__errno_location() #12
  %22408 = load i32, ptr %22407, align 4, !tbaa !5
  store i32 %22408, ptr %621, align 4, !tbaa !5
  %22409 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22410 = call i32 @s2n_print_stacktrace(ptr noundef %22409)
  %22411 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22412 = trunc i8 %22411 to i1
  br i1 %22412, label %22413, label %22435

22413:                                            ; preds = %22406
  %22414 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22415 = call i32 @fileno(ptr noundef %22414) #11
  %22416 = call i32 @isatty(i32 noundef %22415) #11
  %22417 = icmp ne i32 %22416, 0
  br i1 %22417, label %22418, label %22435

22418:                                            ; preds = %22413
  %22419 = load i32, ptr %621, align 4, !tbaa !5
  %22420 = call ptr @__errno_location() #12
  store i32 %22419, ptr %22420, align 4, !tbaa !5
  %22421 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22422 = load i32, ptr @test_count, align 4, !tbaa !5
  %22423 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22424 = load i32, ptr %22423, align 4, !tbaa !5
  %22425 = call ptr @s2n_strerror(i32 noundef %22424, ptr noundef @.str.4)
  %22426 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22427 = load i32, ptr %22426, align 4, !tbaa !5
  %22428 = call ptr @s2n_strerror_debug(i32 noundef %22427, ptr noundef @.str.4)
  %22429 = call ptr @__errno_location() #12
  %22430 = load i32, ptr %22429, align 4, !tbaa !5
  %22431 = call ptr @strerror(i32 noundef %22430) #11
  %22432 = call ptr @__errno_location() #12
  %22433 = load i32, ptr %22432, align 4, !tbaa !5
  %22434 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22421, ptr noundef @.str.2, i32 noundef %22422, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 945, ptr noundef %22425, ptr noundef %22428, ptr noundef %22431, i32 noundef %22433) #11
  br label %22452

22435:                                            ; preds = %22413, %22406
  %22436 = load i32, ptr %621, align 4, !tbaa !5
  %22437 = call ptr @__errno_location() #12
  store i32 %22436, ptr %22437, align 4, !tbaa !5
  %22438 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22439 = load i32, ptr @test_count, align 4, !tbaa !5
  %22440 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22441 = load i32, ptr %22440, align 4, !tbaa !5
  %22442 = call ptr @s2n_strerror(i32 noundef %22441, ptr noundef @.str.4)
  %22443 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22444 = load i32, ptr %22443, align 4, !tbaa !5
  %22445 = call ptr @s2n_strerror_debug(i32 noundef %22444, ptr noundef @.str.4)
  %22446 = call ptr @__errno_location() #12
  %22447 = load i32, ptr %22446, align 4, !tbaa !5
  %22448 = call ptr @strerror(i32 noundef %22447) #11
  %22449 = call ptr @__errno_location() #12
  %22450 = load i32, ptr %22449, align 4, !tbaa !5
  %22451 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22438, ptr noundef @.str.5, i32 noundef %22439, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 945, ptr noundef %22442, ptr noundef %22445, ptr noundef %22448, i32 noundef %22450) #11
  br label %22452

22452:                                            ; preds = %22435, %22418
  call void @llvm.lifetime.end.p0(i64 4, ptr %621) #11
  br label %22453

22453:                                            ; preds = %22452
  br label %22454

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

22455:                                            ; No predecessors!
  br label %22456

22456:                                            ; preds = %22455
  br label %22457

22457:                                            ; preds = %22456, %22398
  br label %22458

22458:                                            ; preds = %22457
  br label %22459

22459:                                            ; preds = %22458
  br label %22460

22460:                                            ; preds = %22459
  br label %22461

22461:                                            ; preds = %22460
  br label %22462

22462:                                            ; preds = %22461
  %22463 = load i32, ptr @test_count, align 4, !tbaa !5
  %22464 = add nsw i32 %22463, 1
  store i32 %22464, ptr @test_count, align 4, !tbaa !5
  %22465 = load ptr, ptr %613, align 8, !tbaa !9
  %22466 = call i32 @s2n_config_set_renegotiate_request_cb(ptr noundef %22465, ptr noundef @s2n_test_reneg_cb, ptr noundef null)
  %22467 = icmp eq i32 %22466, -1
  br i1 %22467, label %22521, label %22468

22468:                                            ; preds = %22462
  br label %22469

22469:                                            ; preds = %22468
  br label %22470

22470:                                            ; preds = %22469
  call void @llvm.lifetime.start.p0(i64 4, ptr %622) #11
  %22471 = call ptr @__errno_location() #12
  %22472 = load i32, ptr %22471, align 4, !tbaa !5
  store i32 %22472, ptr %622, align 4, !tbaa !5
  %22473 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22474 = call i32 @s2n_print_stacktrace(ptr noundef %22473)
  %22475 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22476 = trunc i8 %22475 to i1
  br i1 %22476, label %22477, label %22499

22477:                                            ; preds = %22470
  %22478 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22479 = call i32 @fileno(ptr noundef %22478) #11
  %22480 = call i32 @isatty(i32 noundef %22479) #11
  %22481 = icmp ne i32 %22480, 0
  br i1 %22481, label %22482, label %22499

22482:                                            ; preds = %22477
  %22483 = load i32, ptr %622, align 4, !tbaa !5
  %22484 = call ptr @__errno_location() #12
  store i32 %22483, ptr %22484, align 4, !tbaa !5
  %22485 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22486 = load i32, ptr @test_count, align 4, !tbaa !5
  %22487 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22488 = load i32, ptr %22487, align 4, !tbaa !5
  %22489 = call ptr @s2n_strerror(i32 noundef %22488, ptr noundef @.str.4)
  %22490 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22491 = load i32, ptr %22490, align 4, !tbaa !5
  %22492 = call ptr @s2n_strerror_debug(i32 noundef %22491, ptr noundef @.str.4)
  %22493 = call ptr @__errno_location() #12
  %22494 = load i32, ptr %22493, align 4, !tbaa !5
  %22495 = call ptr @strerror(i32 noundef %22494) #11
  %22496 = call ptr @__errno_location() #12
  %22497 = load i32, ptr %22496, align 4, !tbaa !5
  %22498 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22485, ptr noundef @.str.2, i32 noundef %22486, ptr noundef @.str.146, ptr noundef @.str.1, i32 noundef 948, ptr noundef %22489, ptr noundef %22492, ptr noundef %22495, i32 noundef %22497) #11
  br label %22516

22499:                                            ; preds = %22477, %22470
  %22500 = load i32, ptr %622, align 4, !tbaa !5
  %22501 = call ptr @__errno_location() #12
  store i32 %22500, ptr %22501, align 4, !tbaa !5
  %22502 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22503 = load i32, ptr @test_count, align 4, !tbaa !5
  %22504 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22505 = load i32, ptr %22504, align 4, !tbaa !5
  %22506 = call ptr @s2n_strerror(i32 noundef %22505, ptr noundef @.str.4)
  %22507 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22508 = load i32, ptr %22507, align 4, !tbaa !5
  %22509 = call ptr @s2n_strerror_debug(i32 noundef %22508, ptr noundef @.str.4)
  %22510 = call ptr @__errno_location() #12
  %22511 = load i32, ptr %22510, align 4, !tbaa !5
  %22512 = call ptr @strerror(i32 noundef %22511) #11
  %22513 = call ptr @__errno_location() #12
  %22514 = load i32, ptr %22513, align 4, !tbaa !5
  %22515 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22502, ptr noundef @.str.5, i32 noundef %22503, ptr noundef @.str.146, ptr noundef @.str.1, i32 noundef 948, ptr noundef %22506, ptr noundef %22509, ptr noundef %22512, i32 noundef %22514) #11
  br label %22516

22516:                                            ; preds = %22499, %22482
  call void @llvm.lifetime.end.p0(i64 4, ptr %622) #11
  br label %22517

22517:                                            ; preds = %22516
  br label %22518

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

22519:                                            ; No predecessors!
  br label %22520

22520:                                            ; preds = %22519
  br label %22521

22521:                                            ; preds = %22520, %22462
  br label %22522

22522:                                            ; preds = %22521
  br label %22523

22523:                                            ; preds = %22522
  br label %22524

22524:                                            ; preds = %22523
  %22525 = load i32, ptr @test_count, align 4, !tbaa !5
  %22526 = add nsw i32 %22525, 1
  store i32 %22526, ptr @test_count, align 4, !tbaa !5
  %22527 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22528 = load i32, ptr %22527, align 4, !tbaa !5
  %22529 = icmp eq i32 %22528, 469762112
  br i1 %22529, label %22583, label %22530

22530:                                            ; preds = %22524
  br label %22531

22531:                                            ; preds = %22530
  br label %22532

22532:                                            ; preds = %22531
  call void @llvm.lifetime.start.p0(i64 4, ptr %623) #11
  %22533 = call ptr @__errno_location() #12
  %22534 = load i32, ptr %22533, align 4, !tbaa !5
  store i32 %22534, ptr %623, align 4, !tbaa !5
  %22535 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22536 = call i32 @s2n_print_stacktrace(ptr noundef %22535)
  %22537 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22538 = trunc i8 %22537 to i1
  br i1 %22538, label %22539, label %22561

22539:                                            ; preds = %22532
  %22540 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22541 = call i32 @fileno(ptr noundef %22540) #11
  %22542 = call i32 @isatty(i32 noundef %22541) #11
  %22543 = icmp ne i32 %22542, 0
  br i1 %22543, label %22544, label %22561

22544:                                            ; preds = %22539
  %22545 = load i32, ptr %623, align 4, !tbaa !5
  %22546 = call ptr @__errno_location() #12
  store i32 %22545, ptr %22546, align 4, !tbaa !5
  %22547 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22548 = load i32, ptr @test_count, align 4, !tbaa !5
  %22549 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22550 = load i32, ptr %22549, align 4, !tbaa !5
  %22551 = call ptr @s2n_strerror(i32 noundef %22550, ptr noundef @.str.4)
  %22552 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22553 = load i32, ptr %22552, align 4, !tbaa !5
  %22554 = call ptr @s2n_strerror_debug(i32 noundef %22553, ptr noundef @.str.4)
  %22555 = call ptr @__errno_location() #12
  %22556 = load i32, ptr %22555, align 4, !tbaa !5
  %22557 = call ptr @strerror(i32 noundef %22556) #11
  %22558 = call ptr @__errno_location() #12
  %22559 = load i32, ptr %22558, align 4, !tbaa !5
  %22560 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22547, ptr noundef @.str.2, i32 noundef %22548, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 948, ptr noundef %22551, ptr noundef %22554, ptr noundef %22557, i32 noundef %22559) #11
  br label %22578

22561:                                            ; preds = %22539, %22532
  %22562 = load i32, ptr %623, align 4, !tbaa !5
  %22563 = call ptr @__errno_location() #12
  store i32 %22562, ptr %22563, align 4, !tbaa !5
  %22564 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22565 = load i32, ptr @test_count, align 4, !tbaa !5
  %22566 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22567 = load i32, ptr %22566, align 4, !tbaa !5
  %22568 = call ptr @s2n_strerror(i32 noundef %22567, ptr noundef @.str.4)
  %22569 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22570 = load i32, ptr %22569, align 4, !tbaa !5
  %22571 = call ptr @s2n_strerror_debug(i32 noundef %22570, ptr noundef @.str.4)
  %22572 = call ptr @__errno_location() #12
  %22573 = load i32, ptr %22572, align 4, !tbaa !5
  %22574 = call ptr @strerror(i32 noundef %22573) #11
  %22575 = call ptr @__errno_location() #12
  %22576 = load i32, ptr %22575, align 4, !tbaa !5
  %22577 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22564, ptr noundef @.str.5, i32 noundef %22565, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 948, ptr noundef %22568, ptr noundef %22571, ptr noundef %22574, i32 noundef %22576) #11
  br label %22578

22578:                                            ; preds = %22561, %22544
  call void @llvm.lifetime.end.p0(i64 4, ptr %623) #11
  br label %22579

22579:                                            ; preds = %22578
  br label %22580

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

22581:                                            ; No predecessors!
  br label %22582

22582:                                            ; preds = %22581
  br label %22583

22583:                                            ; preds = %22582, %22524
  br label %22584

22584:                                            ; preds = %22583
  br label %22585

22585:                                            ; preds = %22584
  br label %22586

22586:                                            ; preds = %22585
  %22587 = load i32, ptr @test_count, align 4, !tbaa !5
  %22588 = add nsw i32 %22587, 1
  store i32 %22588, ptr @test_count, align 4, !tbaa !5
  %22589 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22590 = load i32, ptr %22589, align 4, !tbaa !5
  %22591 = call ptr @s2n_strerror_debug(i32 noundef %22590, ptr noundef @.str.4)
  %22592 = icmp eq ptr %22591, null
  br i1 %22592, label %22593, label %22646

22593:                                            ; preds = %22586
  br label %22594

22594:                                            ; preds = %22593
  br label %22595

22595:                                            ; preds = %22594
  call void @llvm.lifetime.start.p0(i64 4, ptr %624) #11
  %22596 = call ptr @__errno_location() #12
  %22597 = load i32, ptr %22596, align 4, !tbaa !5
  store i32 %22597, ptr %624, align 4, !tbaa !5
  %22598 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22599 = call i32 @s2n_print_stacktrace(ptr noundef %22598)
  %22600 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22601 = trunc i8 %22600 to i1
  br i1 %22601, label %22602, label %22624

22602:                                            ; preds = %22595
  %22603 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22604 = call i32 @fileno(ptr noundef %22603) #11
  %22605 = call i32 @isatty(i32 noundef %22604) #11
  %22606 = icmp ne i32 %22605, 0
  br i1 %22606, label %22607, label %22624

22607:                                            ; preds = %22602
  %22608 = load i32, ptr %624, align 4, !tbaa !5
  %22609 = call ptr @__errno_location() #12
  store i32 %22608, ptr %22609, align 4, !tbaa !5
  %22610 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22611 = load i32, ptr @test_count, align 4, !tbaa !5
  %22612 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22613 = load i32, ptr %22612, align 4, !tbaa !5
  %22614 = call ptr @s2n_strerror(i32 noundef %22613, ptr noundef @.str.4)
  %22615 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22616 = load i32, ptr %22615, align 4, !tbaa !5
  %22617 = call ptr @s2n_strerror_debug(i32 noundef %22616, ptr noundef @.str.4)
  %22618 = call ptr @__errno_location() #12
  %22619 = load i32, ptr %22618, align 4, !tbaa !5
  %22620 = call ptr @strerror(i32 noundef %22619) #11
  %22621 = call ptr @__errno_location() #12
  %22622 = load i32, ptr %22621, align 4, !tbaa !5
  %22623 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22610, ptr noundef @.str.2, i32 noundef %22611, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 948, ptr noundef %22614, ptr noundef %22617, ptr noundef %22620, i32 noundef %22622) #11
  br label %22641

22624:                                            ; preds = %22602, %22595
  %22625 = load i32, ptr %624, align 4, !tbaa !5
  %22626 = call ptr @__errno_location() #12
  store i32 %22625, ptr %22626, align 4, !tbaa !5
  %22627 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22628 = load i32, ptr @test_count, align 4, !tbaa !5
  %22629 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22630 = load i32, ptr %22629, align 4, !tbaa !5
  %22631 = call ptr @s2n_strerror(i32 noundef %22630, ptr noundef @.str.4)
  %22632 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22633 = load i32, ptr %22632, align 4, !tbaa !5
  %22634 = call ptr @s2n_strerror_debug(i32 noundef %22633, ptr noundef @.str.4)
  %22635 = call ptr @__errno_location() #12
  %22636 = load i32, ptr %22635, align 4, !tbaa !5
  %22637 = call ptr @strerror(i32 noundef %22636) #11
  %22638 = call ptr @__errno_location() #12
  %22639 = load i32, ptr %22638, align 4, !tbaa !5
  %22640 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22627, ptr noundef @.str.5, i32 noundef %22628, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 948, ptr noundef %22631, ptr noundef %22634, ptr noundef %22637, i32 noundef %22639) #11
  br label %22641

22641:                                            ; preds = %22624, %22607
  call void @llvm.lifetime.end.p0(i64 4, ptr %624) #11
  br label %22642

22642:                                            ; preds = %22641
  br label %22643

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

22644:                                            ; No predecessors!
  br label %22645

22645:                                            ; preds = %22644
  br label %22646

22646:                                            ; preds = %22645, %22586
  br label %22647

22647:                                            ; preds = %22646
  br label %22648

22648:                                            ; preds = %22647
  br label %22649

22649:                                            ; preds = %22648
  br label %22650

22650:                                            ; preds = %22649
  br label %22651

22651:                                            ; preds = %22650
  %22652 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %22652, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %22653 = call ptr @__errno_location() #12
  store i32 0, ptr %22653, align 4, !tbaa !5
  br label %22654

22654:                                            ; preds = %22651
  br label %22655

22655:                                            ; preds = %22654
  br label %22656

22656:                                            ; preds = %22655
  br label %22657

22657:                                            ; preds = %22656
  %22658 = call i32 @s2n_connection_ptr_free(ptr noundef %614)
  %22659 = getelementptr inbounds %struct.s2n_result, ptr %625, i32 0, i32 0
  store i32 %22658, ptr %22659, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %614) #11
  %22660 = call i32 @s2n_config_ptr_free(ptr noundef %613)
  %22661 = getelementptr inbounds %struct.s2n_result, ptr %626, i32 0, i32 0
  store i32 %22660, ptr %22661, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %613) #11
  br label %22662

22662:                                            ; preds = %22657
  br label %22663

22663:                                            ; preds = %22662
  %22664 = call i32 @s2n_cleanup()
  %22665 = icmp eq i32 %22664, -1
  br i1 %22665, label %22666, label %22719

22666:                                            ; preds = %22663
  br label %22667

22667:                                            ; preds = %22666
  br label %22668

22668:                                            ; preds = %22667
  call void @llvm.lifetime.start.p0(i64 4, ptr %627) #11
  %22669 = call ptr @__errno_location() #12
  %22670 = load i32, ptr %22669, align 4, !tbaa !5
  store i32 %22670, ptr %627, align 4, !tbaa !5
  %22671 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22672 = call i32 @s2n_print_stacktrace(ptr noundef %22671)
  %22673 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22674 = trunc i8 %22673 to i1
  br i1 %22674, label %22675, label %22697

22675:                                            ; preds = %22668
  %22676 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22677 = call i32 @fileno(ptr noundef %22676) #11
  %22678 = call i32 @isatty(i32 noundef %22677) #11
  %22679 = icmp ne i32 %22678, 0
  br i1 %22679, label %22680, label %22697

22680:                                            ; preds = %22675
  %22681 = load i32, ptr %627, align 4, !tbaa !5
  %22682 = call ptr @__errno_location() #12
  store i32 %22681, ptr %22682, align 4, !tbaa !5
  %22683 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22684 = load i32, ptr @test_count, align 4, !tbaa !5
  %22685 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22686 = load i32, ptr %22685, align 4, !tbaa !5
  %22687 = call ptr @s2n_strerror(i32 noundef %22686, ptr noundef @.str.4)
  %22688 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22689 = load i32, ptr %22688, align 4, !tbaa !5
  %22690 = call ptr @s2n_strerror_debug(i32 noundef %22689, ptr noundef @.str.4)
  %22691 = call ptr @__errno_location() #12
  %22692 = load i32, ptr %22691, align 4, !tbaa !5
  %22693 = call ptr @strerror(i32 noundef %22692) #11
  %22694 = call ptr @__errno_location() #12
  %22695 = load i32, ptr %22694, align 4, !tbaa !5
  %22696 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22683, ptr noundef @.str.2, i32 noundef %22684, ptr noundef @.str.147, ptr noundef @.str.1, i32 noundef 951, ptr noundef %22687, ptr noundef %22690, ptr noundef %22693, i32 noundef %22695) #11
  br label %22714

22697:                                            ; preds = %22675, %22668
  %22698 = load i32, ptr %627, align 4, !tbaa !5
  %22699 = call ptr @__errno_location() #12
  store i32 %22698, ptr %22699, align 4, !tbaa !5
  %22700 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22701 = load i32, ptr @test_count, align 4, !tbaa !5
  %22702 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22703 = load i32, ptr %22702, align 4, !tbaa !5
  %22704 = call ptr @s2n_strerror(i32 noundef %22703, ptr noundef @.str.4)
  %22705 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22706 = load i32, ptr %22705, align 4, !tbaa !5
  %22707 = call ptr @s2n_strerror_debug(i32 noundef %22706, ptr noundef @.str.4)
  %22708 = call ptr @__errno_location() #12
  %22709 = load i32, ptr %22708, align 4, !tbaa !5
  %22710 = call ptr @strerror(i32 noundef %22709) #11
  %22711 = call ptr @__errno_location() #12
  %22712 = load i32, ptr %22711, align 4, !tbaa !5
  %22713 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22700, ptr noundef @.str.5, i32 noundef %22701, ptr noundef @.str.147, ptr noundef @.str.1, i32 noundef 951, ptr noundef %22704, ptr noundef %22707, ptr noundef %22710, i32 noundef %22712) #11
  br label %22714

22714:                                            ; preds = %22697, %22680
  call void @llvm.lifetime.end.p0(i64 4, ptr %627) #11
  br label %22715

22715:                                            ; preds = %22714
  br label %22716

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

22717:                                            ; No predecessors!
  br label %22718

22718:                                            ; preds = %22717
  br label %22719

22719:                                            ; preds = %22718, %22663
  br label %22720

22720:                                            ; preds = %22719
  br label %22721

22721:                                            ; preds = %22720
  br label %22722

22722:                                            ; preds = %22721
  br label %22723

22723:                                            ; preds = %22722
  %22724 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext false)
  %22725 = icmp eq i32 %22724, -1
  br i1 %22725, label %22726, label %22779

22726:                                            ; preds = %22723
  br label %22727

22727:                                            ; preds = %22726
  br label %22728

22728:                                            ; preds = %22727
  call void @llvm.lifetime.start.p0(i64 4, ptr %628) #11
  %22729 = call ptr @__errno_location() #12
  %22730 = load i32, ptr %22729, align 4, !tbaa !5
  store i32 %22730, ptr %628, align 4, !tbaa !5
  %22731 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22732 = call i32 @s2n_print_stacktrace(ptr noundef %22731)
  %22733 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22734 = trunc i8 %22733 to i1
  br i1 %22734, label %22735, label %22757

22735:                                            ; preds = %22728
  %22736 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22737 = call i32 @fileno(ptr noundef %22736) #11
  %22738 = call i32 @isatty(i32 noundef %22737) #11
  %22739 = icmp ne i32 %22738, 0
  br i1 %22739, label %22740, label %22757

22740:                                            ; preds = %22735
  %22741 = load i32, ptr %628, align 4, !tbaa !5
  %22742 = call ptr @__errno_location() #12
  store i32 %22741, ptr %22742, align 4, !tbaa !5
  %22743 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22744 = load i32, ptr @test_count, align 4, !tbaa !5
  %22745 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22746 = load i32, ptr %22745, align 4, !tbaa !5
  %22747 = call ptr @s2n_strerror(i32 noundef %22746, ptr noundef @.str.4)
  %22748 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22749 = load i32, ptr %22748, align 4, !tbaa !5
  %22750 = call ptr @s2n_strerror_debug(i32 noundef %22749, ptr noundef @.str.4)
  %22751 = call ptr @__errno_location() #12
  %22752 = load i32, ptr %22751, align 4, !tbaa !5
  %22753 = call ptr @strerror(i32 noundef %22752) #11
  %22754 = call ptr @__errno_location() #12
  %22755 = load i32, ptr %22754, align 4, !tbaa !5
  %22756 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22743, ptr noundef @.str.2, i32 noundef %22744, ptr noundef @.str.148, ptr noundef @.str.1, i32 noundef 951, ptr noundef %22747, ptr noundef %22750, ptr noundef %22753, i32 noundef %22755) #11
  br label %22774

22757:                                            ; preds = %22735, %22728
  %22758 = load i32, ptr %628, align 4, !tbaa !5
  %22759 = call ptr @__errno_location() #12
  store i32 %22758, ptr %22759, align 4, !tbaa !5
  %22760 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22761 = load i32, ptr @test_count, align 4, !tbaa !5
  %22762 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22763 = load i32, ptr %22762, align 4, !tbaa !5
  %22764 = call ptr @s2n_strerror(i32 noundef %22763, ptr noundef @.str.4)
  %22765 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22766 = load i32, ptr %22765, align 4, !tbaa !5
  %22767 = call ptr @s2n_strerror_debug(i32 noundef %22766, ptr noundef @.str.4)
  %22768 = call ptr @__errno_location() #12
  %22769 = load i32, ptr %22768, align 4, !tbaa !5
  %22770 = call ptr @strerror(i32 noundef %22769) #11
  %22771 = call ptr @__errno_location() #12
  %22772 = load i32, ptr %22771, align 4, !tbaa !5
  %22773 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22760, ptr noundef @.str.5, i32 noundef %22761, ptr noundef @.str.148, ptr noundef @.str.1, i32 noundef 951, ptr noundef %22764, ptr noundef %22767, ptr noundef %22770, i32 noundef %22772) #11
  br label %22774

22774:                                            ; preds = %22757, %22740
  call void @llvm.lifetime.end.p0(i64 4, ptr %628) #11
  br label %22775

22775:                                            ; preds = %22774
  br label %22776

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

22777:                                            ; No predecessors!
  br label %22778

22778:                                            ; preds = %22777
  br label %22779

22779:                                            ; preds = %22778, %22723
  br label %22780

22780:                                            ; preds = %22779
  br label %22781

22781:                                            ; preds = %22780
  %22782 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22783 = trunc i8 %22782 to i1
  br i1 %22783, label %22784, label %22800

22784:                                            ; preds = %22781
  %22785 = load ptr, ptr @stdout, align 8, !tbaa !9
  %22786 = call i32 @fileno(ptr noundef %22785) #11
  %22787 = call i32 @isatty(i32 noundef %22786) #11
  %22788 = icmp ne i32 %22787, 0
  br i1 %22788, label %22789, label %22800

22789:                                            ; preds = %22784
  %22790 = load i32, ptr @test_count, align 4, !tbaa !5
  %22791 = icmp ne i32 %22790, 0
  br i1 %22791, label %22792, label %22796

22792:                                            ; preds = %22789
  %22793 = load ptr, ptr @stdout, align 8, !tbaa !9
  %22794 = load i32, ptr @test_count, align 4, !tbaa !5
  %22795 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22793, ptr noundef @.str.149, i32 noundef %22794) #11
  br label %22799

22796:                                            ; preds = %22789
  %22797 = load ptr, ptr @stdout, align 8, !tbaa !9
  %22798 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22797, ptr noundef @.str.150) #11
  br label %22799

22799:                                            ; preds = %22796, %22792
  br label %22811

22800:                                            ; preds = %22784, %22781
  %22801 = load i32, ptr @test_count, align 4, !tbaa !5
  %22802 = icmp ne i32 %22801, 0
  br i1 %22802, label %22803, label %22807

22803:                                            ; preds = %22800
  %22804 = load ptr, ptr @stdout, align 8, !tbaa !9
  %22805 = load i32, ptr @test_count, align 4, !tbaa !5
  %22806 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22804, ptr noundef @.str.151, i32 noundef %22805) #11
  br label %22810

22807:                                            ; preds = %22800
  %22808 = load ptr, ptr @stdout, align 8, !tbaa !9
  %22809 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22808, ptr noundef @.str.152) #11
  br label %22810

22810:                                            ; preds = %22807, %22803
  br label %22811

22811:                                            ; preds = %22810, %22799
  store i32 0, ptr %3, align 4
  store i32 1, ptr %296, align 4
  br label %22816

22812:                                            ; No predecessors!
  br label %22813

22813:                                            ; preds = %22812
  br label %22814

22814:                                            ; preds = %22813
  br label %22815

22815:                                            ; preds = %22814
  store i32 0, ptr %296, align 4
  br label %22816

22816:                                            ; preds = %22815, %22811
  call void @llvm.lifetime.end.p0(i64 16, ptr %294) #11
  %22817 = call i32 @s2n_config_ptr_free(ptr noundef %16)
  %22818 = getelementptr inbounds %struct.s2n_result, ptr %629, i32 0, i32 0
  store i32 %22817, ptr %22818, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %16) #11
  %22819 = call i32 @s2n_config_ptr_free(ptr noundef %11)
  %22820 = getelementptr inbounds %struct.s2n_result, ptr %630, i32 0, i32 0
  store i32 %22819, ptr %22820, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %11) #11
  %22821 = call i32 @s2n_cert_chain_and_key_ptr_free(ptr noundef %9)
  %22822 = getelementptr inbounds %struct.s2n_result, ptr %631, i32 0, i32 0
  store i32 %22821, ptr %22822, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %9) #11
  %22823 = load i32, ptr %296, align 4
  switch i32 %22823, label %22826 [
    i32 0, label %22824
    i32 1, label %22824
  ]

22824:                                            ; preds = %22816, %22816
  %22825 = load i32, ptr %3, align 4
  ret i32 %22825

22826:                                            ; preds = %22816
  unreachable
}

; Function Attrs: nounwind
declare i32 @fprintf(ptr noundef, ptr noundef, ...) #1

declare i32 @fflush(ptr noundef) #2

declare i32 @s2n_in_unit_test_set(i1 noundef zeroext) #2

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

; Function Attrs: nounwind willreturn memory(none)
declare ptr @__errno_location() #4

declare i32 @s2n_print_stacktrace(ptr noundef) #2

; Function Attrs: nounwind
declare i32 @isatty(i32 noundef) #1

; Function Attrs: nounwind
declare i32 @fileno(ptr noundef) #1

declare ptr @s2n_strerror(i32 noundef, ptr noundef) #2

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

declare ptr @s2n_strerror_debug(i32 noundef, ptr noundef) #2

; Function Attrs: nounwind
declare ptr @strerror(i32 noundef) #1

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

; Function Attrs: noreturn nounwind
declare void @exit(i32 noundef) #6

declare i32 @s2n_enable_atexit() #2

declare i32 @s2n_init() #2

declare i32 @s2n_cert_chain_and_key_ptr_free(ptr noundef) #2

declare i32 @s2n_test_cert_chain_and_key_new(ptr noundef, ptr noundef, ptr noundef) #2

declare ptr @s2n_config_new() #2

declare i32 @s2n_config_ptr_free(ptr noundef) #2

declare i32 @s2n_config_set_cipher_preferences(ptr noundef, ptr noundef) #2

declare i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef, ptr noundef) #2

declare i32 @s2n_config_disable_x509_verification(ptr noundef) #2

declare i32 @s2n_config_set_serialization_version(ptr noundef, i32 noundef) #2

declare ptr @s2n_connection_new(i32 noundef) #2

declare i32 @s2n_connection_ptr_free(ptr noundef) #2

declare i32 @s2n_connection_serialization_length(ptr noundef, ptr noundef) #2

declare void @s2n_debug_info_reset() #2

declare i32 @s2n_connection_set_config(ptr noundef, ptr noundef) #2

declare i32 @s2n_hmac_digest_size(i32 noundef, ptr noundef) #2

declare i32 @s2n_connection_serialize(ptr noundef, ptr noundef, i32 noundef) #2

; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: write)
declare void @llvm.memset.p0.i64(ptr nocapture writeonly, i8, i64, i1 immarg) #7

; Function Attrs: inlinehint nounwind uwtable
declare hidden zeroext i1 @s2n_result_is_ok(i32) #8

declare i32 @s2n_skip_handshake(ptr noundef) #2

declare i32 @s2n_io_stuffer_pair_free(ptr noundef) #2

declare i32 @s2n_io_stuffer_pair_init(ptr noundef) #2

declare i32 @s2n_connections_set_io_stuffer_pair(ptr noundef, ptr noundef, ptr noundef) #2

declare i32 @s2n_negotiate_test_server_and_client(ptr noundef, ptr noundef) #2

declare i32 @s2n_connection_get_actual_protocol_version(ptr noundef) #2

declare i32 @s2n_connection_get_cipher_iana_value(ptr noundef, ptr noundef, ptr noundef) #2

declare i32 @s2n_blob_init(ptr noundef, ptr noundef, i32 noundef) #2

declare i32 @s2n_stuffer_init_written(ptr noundef, ptr noundef) #2

declare i32 @s2n_stuffer_read_uint64(ptr noundef, ptr noundef) #2

declare i32 @s2n_stuffer_read_bytes(ptr noundef, ptr noundef, i32 noundef) #2

; Function Attrs: nounwind willreturn memory(read)
declare i32 @memcmp(ptr noundef, ptr noundef, i64 noundef) #9

; 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) #10

declare i32 @s2n_stuffer_read_uint16(ptr noundef, ptr noundef) #2

declare zeroext i1 @s2n_is_tls13_fully_supported(...) #2

declare i64 @s2n_send(ptr noundef, ptr noundef, i64 noundef, ptr noundef) #2

declare i64 @s2n_recv(ptr noundef, ptr noundef, i64 noundef, ptr noundef) #2

declare i32 @s2n_shutdown_send(ptr noundef, ptr noundef) #2

declare i32 @s2n_connection_deserialize(ptr noundef, ptr noundef, i32 noundef) #2

declare i32 @s2n_send_and_recv_test(ptr noundef, ptr noundef) #2

declare i32 @s2n_stuffer_wipe(ptr noundef) #2

declare i32 @s2n_resumption_test_ticket_key_setup(ptr noundef) #2

declare i32 @s2n_connection_get_session_length(ptr noundef) #2

declare i32 @s2n_free(ptr noundef) #2

; Function Attrs: nounwind uwtable
declare hidden i32 @s2n_ticket_pickup(ptr noundef, ptr noundef) #0

declare i32 @s2n_connection_add_new_tickets_to_send(ptr noundef, i8 noundef zeroext) #2

declare i32 @s2n_connection_set_session(ptr noundef, ptr noundef, i64 noundef) #2

declare i32 @s2n_connection_wipe(ptr noundef) #2

declare zeroext i1 @s2n_handshake_type_check_flag(ptr noundef, i32 noundef) #2

; Function Attrs: nounwind uwtable
declare hidden i32 @s2n_test_key_update(ptr noundef, ptr noundef) #0

declare i32 @s2n_config_set_renegotiate_request_cb(ptr noundef, ptr noundef, ptr noundef) #2

; Function Attrs: nounwind uwtable
declare hidden i32 @s2n_test_reneg_cb(ptr noundef, ptr noundef, ptr noundef) #0

declare i32 @s2n_cleanup() #2

attributes #0 = { nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #1 = { nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #2 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #3 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #4 = { nounwind willreturn memory(none) "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #5 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) }
attributes #6 = { noreturn nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #7 = { nocallback nofree nounwind willreturn memory(argmem: write) }
attributes #8 = { 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 = { nounwind willreturn memory(read) "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #10 = { nocallback nofree nounwind willreturn memory(argmem: readwrite) }
attributes #11 = { nounwind }
attributes #12 = { nounwind willreturn memory(none) }
attributes #13 = { noreturn nounwind }
attributes #14 = { nounwind willreturn memory(read) }

!llvm.module.flags = !{!0, !1, !2, !3}
!llvm.ident = !{!4}

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"int", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C/C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"any pointer", !7, i64 0}
!11 = !{!12, !12, i64 0}
!12 = !{!"_Bool", !7, i64 0}
!13 = !{i8 0, i8 2}
!14 = !{}
!15 = !{!16, !7, i64 220}
!16 = !{!"s2n_connection", !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 2, !6, i64 2, !6, i64 2, !6, i64 2, !6, i64 2, !6, i64 2, !6, i64 2, !10, i64 8, !10, i64 16, !10, i64 24, !10, i64 32, !10, i64 40, !10, i64 48, !10, i64 56, !10, i64 64, !10, i64 72, !7, i64 80, !7, i64 102, !7, i64 124, !6, i64 148, !6, i64 152, !17, i64 160, !18, i64 168, !18, i64 176, !7, i64 184, !7, i64 216, !7, i64 217, !7, i64 218, !7, i64 219, !7, i64 220, !7, i64 221, !7, i64 222, !10, i64 224, !10, i64 232, !19, i64 240, !10, i64 632, !10, i64 640, !20, i64 648, !26, i64 1144, !29, i64 1688, !10, i64 1752, !7, i64 1760, !6, i64 1764, !7, i64 1768, !32, i64 1776, !32, i64 1816, !32, i64 1856, !32, i64 1896, !6, i64 1936, !18, i64 1944, !7, i64 1952, !32, i64 1960, !7, i64 2000, !7, i64 2001, !7, i64 2002, !12, i64 2003, !33, i64 2004, !33, i64 2008, !34, i64 2016, !31, i64 2208, !6, i64 2212, !31, i64 2216, !18, i64 2224, !7, i64 2232, !18, i64 2240, !18, i64 2248, !18, i64 2256, !33, i64 2264, !33, i64 2268, !7, i64 2272, !7, i64 2528, !6, i64 2784, !25, i64 2792, !6, i64 2816, !25, i64 2824, !25, i64 2848, !25, i64 2872, !36, i64 2896, !38, i64 3704, !10, i64 3760, !10, i64 3768, !7, i64 3776, !6, i64 3780, !25, i64 3784, !6, i64 3808, !40, i64 3816, !7, i64 3848, !32, i64 3992, !25, i64 4032, !25, i64 4056, !12, i64 4080, !12, i64 4081, !12, i64 4082, !31, i64 4084, !31, i64 4086, !6, i64 4088, !6, i64 4092, !25, i64 4096, !6, i64 4120, !41, i64 4128, !33, i64 4176, !7, i64 4180, !7, i64 4181}
!17 = !{!"s2n_timer", !18, i64 0}
!18 = !{!"long", !7, i64 0}
!19 = !{!"s2n_secrets", !7, i64 0, !6, i64 388}
!20 = !{!"s2n_kex_parameters", !21, i64 0, !22, i64 8, !7, i64 24, !22, i64 56, !23, i64 72, !23, i64 184, !7, i64 296, !24, i64 360, !25, i64 448, !25, i64 472}
!21 = !{!"s2n_dh_params", !10, i64 0}
!22 = !{!"s2n_ecc_evp_params", !10, i64 0, !10, i64 8}
!23 = !{!"s2n_kem_group_params", !10, i64 0, !24, i64 8, !22, i64 96}
!24 = !{!"s2n_kem_params", !10, i64 0, !25, i64 8, !25, i64 32, !25, i64 56, !12, i64 80}
!25 = !{!"s2n_blob", !10, i64 0, !6, i64 8, !6, i64 12, !6, i64 16}
!26 = !{!"s2n_handshake_parameters", !27, i64 0, !27, i64 48, !25, i64 96, !6, i64 120, !28, i64 124, !10, i64 384, !10, i64 392, !10, i64 400, !7, i64 408, !7, i64 440, !7, i64 472, !7, i64 473, !7, i64 474, !7, i64 506}
!27 = !{!"s2n_pkey", !10, i64 0, !10, i64 8, !10, i64 16, !10, i64 24, !10, i64 32, !10, i64 40}
!28 = !{!"s2n_sig_scheme_list", !7, i64 0, !7, i64 256}
!29 = !{!"s2n_psk_parameters", !6, i64 0, !30, i64 8, !31, i64 40, !31, i64 42, !10, i64 48, !6, i64 56}
!30 = !{!"s2n_array", !25, i64 0, !6, i64 24, !6, i64 28}
!31 = !{!"short", !7, i64 0}
!32 = !{!"s2n_stuffer", !25, i64 0, !6, i64 24, !6, i64 28, !6, i64 32, !6, i64 36, !6, i64 36, !6, i64 36}
!33 = !{!"", !6, i64 0}
!34 = !{!"s2n_handshake", !32, i64 0, !10, i64 40, !7, i64 48, !7, i64 56, !7, i64 104, !7, i64 152, !6, i64 156, !6, i64 160, !6, i64 164, !6, i64 168, !35, i64 176, !6, i64 184, !6, i64 184, !6, i64 184, !6, i64 184, !6, i64 188}
!35 = !{!"s2n_offered_early_data", !10, i64 0}
!36 = !{!"s2n_client_hello", !25, i64 0, !37, i64 24, !25, i64 728, !25, i64 752, !25, i64 776, !7, i64 800, !7, i64 801, !6, i64 802, !6, i64 802, !6, i64 802, !6, i64 802, !6, i64 802, !6, i64 802, !6, i64 802}
!37 = !{!"", !7, i64 0, !25, i64 672, !31, i64 696}
!38 = !{!"s2n_x509_validator", !10, i64 0, !10, i64 8, !7, i64 16, !7, i64 17, !31, i64 18, !10, i64 24, !6, i64 32, !10, i64 40, !39, i64 48, !12, i64 52}
!39 = !{!"s2n_cert_validation_info", !6, i64 0, !6, i64 0}
!40 = !{!"s2n_ticket_fields", !25, i64 0, !6, i64 24}
!41 = !{!"s2n_post_handshake", !32, i64 0, !7, i64 40}
!42 = !{!18, !18, i64 0}
!43 = !{!44, !31, i64 0}
!44 = !{!"s2n_cipher_preferences", !31, i64 0, !10, i64 8, !12, i64 16}
!45 = !{!44, !10, i64 8}
!46 = !{!16, !10, i64 232}
!47 = !{!48, !10, i64 0}
!48 = !{!"s2n_crypto_parameters", !10, i64 0, !49, i64 8, !49, i64 16, !50, i64 24, !50, i64 456, !7, i64 888, !7, i64 904, !7, i64 920, !7, i64 928}
!49 = !{!"s2n_session_key", !10, i64 0}
!50 = !{!"s2n_hmac_state", !6, i64 0, !31, i64 4, !6, i64 8, !31, i64 12, !7, i64 14, !51, i64 16, !51, i64 72, !51, i64 128, !51, i64 184, !7, i64 240, !7, i64 368}
!51 = !{!"s2n_hash_state", !10, i64 0, !6, i64 8, !7, i64 12, !18, i64 16, !7, i64 24}
!52 = !{!7, !7, i64 0}
!53 = !{!54, !6, i64 96}
!54 = !{!"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}
!55 = distinct !{!55, !56}
!56 = !{!"llvm.loop.mustprogress"}
!57 = !{!32, !6, i64 28}
!58 = !{!32, !6, i64 24}
!59 = !{!31, !31, i64 0}
!60 = distinct !{!60, !56}
!61 = distinct !{!61, !56}
!62 = distinct !{!62, !56}
!63 = distinct !{!63, !56}
!64 = !{!25, !10, i64 0}
!65 = !{!25, !6, i64 8}


; Optimized IR (opt -passes='default<O3>'):
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"

%struct.s2n_cipher_preferences = type { i16, ptr, i8 }
%struct.s2n_test_io_stuffer_pair = type { %struct.s2n_stuffer, %struct.s2n_stuffer }
%struct.s2n_stuffer = type { %struct.s2n_blob, i32, i32, i32, i8 }
%struct.s2n_blob = type { ptr, i32, i32, i8 }

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

; Function Attrs: nounwind uwtable
define dso_local noundef i32 @main(i32 noundef %0, ptr nocapture noundef readnone %1) local_unnamed_addr #0 {
  %3 = alloca ptr, align 8
  %4 = alloca ptr, align 8
  %5 = alloca ptr, align 8
  %6 = alloca ptr, align 8
  %7 = alloca i32, align 4
  %8 = alloca ptr, align 8
  %9 = alloca i8, align 1
  %10 = alloca i32, align 4
  %11 = alloca ptr, align 8
  %12 = alloca i32, align 4
  %13 = alloca ptr, align 8
  %14 = alloca i8, align 1
  %15 = alloca ptr, align 8
  %16 = alloca ptr, align 8
  %17 = alloca [10 x i8], align 1
  %18 = alloca ptr, align 8
  %19 = alloca ptr, align 8
  %20 = alloca %struct.s2n_test_io_stuffer_pair, align 8
  %21 = alloca [2 x i8], align 2
  %22 = alloca i32, align 4
  %23 = alloca [142 x i8], align 16
  %24 = alloca %struct.s2n_blob, align 8
  %25 = alloca %struct.s2n_stuffer, align 8
  %26 = alloca i64, align 8
  %27 = alloca [2 x i8], align 2
  %28 = alloca [2 x i8], align 2
  %29 = alloca [8 x i8], align 8
  %30 = alloca [8 x i8], align 8
  %31 = alloca i16, align 2
  %32 = alloca [48 x i8], align 16
  %33 = alloca [32 x i8], align 16
  %34 = alloca [32 x i8], align 16
  %35 = alloca ptr, align 8
  %36 = alloca ptr, align 8
  %37 = alloca %struct.s2n_test_io_stuffer_pair, align 8
  %38 = alloca [2 x i8], align 2
  %39 = alloca i32, align 4
  %40 = alloca [126 x i8], align 16
  %41 = alloca %struct.s2n_blob, align 8
  %42 = alloca %struct.s2n_stuffer, align 8
  %43 = alloca i64, align 8
  %44 = alloca [2 x i8], align 2
  %45 = alloca [2 x i8], align 2
  %46 = alloca [8 x i8], align 8
  %47 = alloca [8 x i8], align 8
  %48 = alloca i16, align 2
  %49 = alloca [32 x i8], align 16
  %50 = alloca [32 x i8], align 16
  %51 = alloca [32 x i8], align 16
  %52 = alloca ptr, align 8
  %53 = alloca ptr, align 8
  %54 = alloca %struct.s2n_test_io_stuffer_pair, align 8
  %55 = alloca [6 x i8], align 1
  %56 = alloca i32, align 4
  %57 = alloca [10 x i8], align 1
  %58 = alloca [142 x i8], align 16
  %59 = alloca ptr, align 8
  %60 = alloca ptr, align 8
  %61 = alloca %struct.s2n_test_io_stuffer_pair, align 8
  %62 = alloca [142 x i8], align 16
  %63 = alloca i32, align 4
  %64 = alloca [12 x i8], align 1
  %65 = alloca i8, align 1
  %66 = alloca [7 x i8], align 1
  %67 = alloca ptr, align 8
  %68 = alloca ptr, align 8
  %69 = alloca %struct.s2n_test_io_stuffer_pair, align 8
  %70 = alloca i32, align 4
  %71 = alloca [142 x i8], align 16
  %72 = alloca ptr, align 8
  %73 = alloca i8, align 1
  %74 = alloca [126 x i8], align 16
  %75 = alloca ptr, align 8
  %76 = alloca [126 x i8], align 16
  %77 = alloca ptr, align 8
  %.sroa.0 = alloca ptr, align 16
  %.sroa.5 = alloca ptr, align 8
  %78 = alloca ptr, align 8
  %79 = alloca ptr, align 8
  %80 = alloca %struct.s2n_test_io_stuffer_pair, align 8
  %81 = alloca [142 x i8], align 16
  %82 = alloca ptr, align 8
  %83 = alloca ptr, align 8
  %84 = alloca ptr, align 8
  %85 = alloca %struct.s2n_test_io_stuffer_pair, align 8
  %86 = alloca [142 x i8], align 16
  %87 = alloca ptr, align 8
  %88 = alloca ptr, align 8
  %89 = alloca [142 x i8], align 16
  %90 = alloca ptr, align 8
  %91 = alloca ptr, align 8
  %92 = alloca %struct.s2n_test_io_stuffer_pair, align 8
  %93 = alloca ptr, align 8
  %94 = alloca ptr, align 8
  %95 = alloca [142 x i8], align 16
  %96 = alloca %struct.s2n_blob, align 8
  %97 = alloca %struct.s2n_blob, align 8
  %98 = alloca ptr, align 8
  %99 = alloca ptr, align 8
  %100 = alloca %struct.s2n_test_io_stuffer_pair, align 8
  %101 = alloca ptr, align 8
  %102 = alloca %struct.s2n_test_io_stuffer_pair, align 8
  %103 = alloca ptr, align 8
  %104 = alloca %struct.s2n_test_io_stuffer_pair, align 8
  %105 = alloca ptr, align 8
  %106 = alloca %struct.s2n_test_io_stuffer_pair, align 8
  %107 = alloca [142 x i8], align 16
  %108 = alloca %struct.s2n_blob, align 8
  %109 = alloca %struct.s2n_blob, align 8
  %110 = alloca ptr, align 8
  %111 = alloca ptr, align 8
  %112 = alloca %struct.s2n_test_io_stuffer_pair, align 8
  %113 = alloca ptr, align 8
  %114 = alloca %struct.s2n_test_io_stuffer_pair, align 8
  %115 = alloca ptr, align 8
  %116 = alloca %struct.s2n_test_io_stuffer_pair, align 8
  %117 = alloca ptr, align 8
  %118 = alloca %struct.s2n_test_io_stuffer_pair, align 8
  %119 = alloca ptr, align 8
  %120 = alloca [142 x i8], align 16
  %121 = alloca ptr, align 8
  %122 = alloca %struct.s2n_test_io_stuffer_pair, align 8
  %123 = alloca ptr, align 8
  %124 = alloca %struct.s2n_test_io_stuffer_pair, align 8
  %125 = alloca ptr, align 8
  %126 = alloca [142 x i8], align 16
  %127 = alloca ptr, align 8
  %128 = alloca %struct.s2n_test_io_stuffer_pair, align 8
  %129 = alloca ptr, align 8
  %130 = alloca %struct.s2n_test_io_stuffer_pair, align 8
  %131 = alloca ptr, align 8
  %132 = alloca ptr, align 8
  store i32 0, ptr @test_count, align 4, !tbaa !5
  %133 = load ptr, ptr @stdout, align 8, !tbaa !9
  %134 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %133, ptr noundef nonnull @.str, ptr noundef nonnull @.str.1) #12
  %135 = load ptr, ptr @stdout, align 8, !tbaa !9
  %136 = tail call i32 @fflush(ptr noundef %135)
  %137 = tail call i32 @s2n_in_unit_test_set(i1 noundef zeroext true) #12
  %138 = icmp eq i32 %137, -1
  br i1 %138, label %139, label %163

139:                                              ; preds = %2
  %140 = tail call ptr @__errno_location() #13
  %141 = load i32, ptr %140, align 4, !tbaa !5
  %142 = load ptr, ptr @stderr, align 8, !tbaa !9
  %143 = tail call i32 @s2n_print_stacktrace(ptr noundef %142) #12
  %144 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %145 = trunc nuw i8 %144 to i1
  br i1 %145, label %146, label %150

146:                                              ; preds = %139
  %147 = load ptr, ptr @stderr, align 8, !tbaa !9
  %148 = tail call i32 @fileno(ptr noundef %147) #12
  %149 = tail call i32 @isatty(i32 noundef %148) #12
  %.not1212 = icmp eq i32 %149, 0
  br i1 %.not1212, label %150, label %151

150:                                              ; preds = %146, %139
  br label %151

151:                                              ; preds = %146, %150
  %.str.5.sink = phi ptr [ @.str.5, %150 ], [ @.str.2, %146 ]
  store i32 %141, ptr %140, align 4, !tbaa !5
  %152 = load ptr, ptr @stderr, align 8, !tbaa !9
  %153 = load i32, ptr @test_count, align 4, !tbaa !5
  %154 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %155 = load i32, ptr %154, align 4, !tbaa !5
  %156 = tail call ptr @s2n_strerror(i32 noundef %155, ptr noundef nonnull @.str.4) #12
  %157 = load i32, ptr %154, align 4, !tbaa !5
  %158 = tail call ptr @s2n_strerror_debug(i32 noundef %157, ptr noundef nonnull @.str.4) #12
  %159 = load i32, ptr %140, align 4, !tbaa !5
  %160 = tail call ptr @strerror(i32 noundef %159) #12
  %161 = load i32, ptr %140, align 4, !tbaa !5
  %162 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %152, ptr noundef nonnull %.str.5.sink, i32 noundef %153, ptr noundef nonnull @.str.3, ptr noundef nonnull @.str.1, i32 noundef 73, ptr noundef %156, ptr noundef %158, ptr noundef %160, i32 noundef %161) #14
  tail call void @exit(i32 noundef 1) #15
  unreachable

163:                                              ; preds = %2
  %164 = load i32, ptr @test_count, align 4, !tbaa !5
  %165 = add nsw i32 %164, 1
  store i32 %165, ptr @test_count, align 4, !tbaa !5
  %166 = tail call i32 @s2n_enable_atexit() #12
  %167 = icmp eq i32 %166, -1
  br i1 %167, label %168, label %192

168:                                              ; preds = %163
  %169 = tail call ptr @__errno_location() #13
  %170 = load i32, ptr %169, align 4, !tbaa !5
  %171 = load ptr, ptr @stderr, align 8, !tbaa !9
  %172 = tail call i32 @s2n_print_stacktrace(ptr noundef %171) #12
  %173 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %174 = trunc nuw i8 %173 to i1
  br i1 %174, label %175, label %179

175:                                              ; preds = %168
  %176 = load ptr, ptr @stderr, align 8, !tbaa !9
  %177 = tail call i32 @fileno(ptr noundef %176) #12
  %178 = tail call i32 @isatty(i32 noundef %177) #12
  %.not1211 = icmp eq i32 %178, 0
  br i1 %.not1211, label %179, label %180

179:                                              ; preds = %175, %168
  br label %180

180:                                              ; preds = %175, %179
  %.str.5.sink1233 = phi ptr [ @.str.5, %179 ], [ @.str.2, %175 ]
  store i32 %170, ptr %169, align 4, !tbaa !5
  %181 = load ptr, ptr @stderr, align 8, !tbaa !9
  %182 = load i32, ptr @test_count, align 4, !tbaa !5
  %183 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %184 = load i32, ptr %183, align 4, !tbaa !5
  %185 = tail call ptr @s2n_strerror(i32 noundef %184, ptr noundef nonnull @.str.4) #12
  %186 = load i32, ptr %183, align 4, !tbaa !5
  %187 = tail call ptr @s2n_strerror_debug(i32 noundef %186, ptr noundef nonnull @.str.4) #12
  %188 = load i32, ptr %169, align 4, !tbaa !5
  %189 = tail call ptr @strerror(i32 noundef %188) #12
  %190 = load i32, ptr %169, align 4, !tbaa !5
  %191 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %181, ptr noundef nonnull %.str.5.sink1233, i32 noundef %182, ptr noundef nonnull @.str.6, ptr noundef nonnull @.str.1, i32 noundef 73, ptr noundef %185, ptr noundef %187, ptr noundef %189, i32 noundef %190) #14
  tail call void @exit(i32 noundef 1) #15
  unreachable

192:                                              ; preds = %163
  %193 = tail call i32 @s2n_init() #12
  %194 = icmp eq i32 %193, -1
  br i1 %194, label %195, label %219

195:                                              ; preds = %192
  %196 = tail call ptr @__errno_location() #13
  %197 = load i32, ptr %196, align 4, !tbaa !5
  %198 = load ptr, ptr @stderr, align 8, !tbaa !9
  %199 = tail call i32 @s2n_print_stacktrace(ptr noundef %198) #12
  %200 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %201 = trunc nuw i8 %200 to i1
  br i1 %201, label %202, label %206

202:                                              ; preds = %195
  %203 = load ptr, ptr @stderr, align 8, !tbaa !9
  %204 = tail call i32 @fileno(ptr noundef %203) #12
  %205 = tail call i32 @isatty(i32 noundef %204) #12
  %.not1210 = icmp eq i32 %205, 0
  br i1 %.not1210, label %206, label %207

206:                                              ; preds = %202, %195
  br label %207

207:                                              ; preds = %202, %206
  %.str.5.sink1244 = phi ptr [ @.str.5, %206 ], [ @.str.2, %202 ]
  store i32 %197, ptr %196, align 4, !tbaa !5
  %208 = load ptr, ptr @stderr, align 8, !tbaa !9
  %209 = load i32, ptr @test_count, align 4, !tbaa !5
  %210 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %211 = load i32, ptr %210, align 4, !tbaa !5
  %212 = tail call ptr @s2n_strerror(i32 noundef %211, ptr noundef nonnull @.str.4) #12
  %213 = load i32, ptr %210, align 4, !tbaa !5
  %214 = tail call ptr @s2n_strerror_debug(i32 noundef %213, ptr noundef nonnull @.str.4) #12
  %215 = load i32, ptr %196, align 4, !tbaa !5
  %216 = tail call ptr @strerror(i32 noundef %215) #12
  %217 = load i32, ptr %196, align 4, !tbaa !5
  %218 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %208, ptr noundef nonnull %.str.5.sink1244, i32 noundef %209, ptr noundef nonnull @.str.7, ptr noundef nonnull @.str.1, i32 noundef 73, ptr noundef %212, ptr noundef %214, ptr noundef %216, i32 noundef %217) #14
  tail call void @exit(i32 noundef 1) #15
  unreachable

219:                                              ; preds = %192
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %3) #12
  store ptr null, ptr %3, align 8, !tbaa !9
  %220 = load i32, ptr @test_count, align 4, !tbaa !5
  %221 = add nsw i32 %220, 1
  store i32 %221, ptr @test_count, align 4, !tbaa !5
  %222 = call i32 @s2n_test_cert_chain_and_key_new(ptr noundef nonnull %3, ptr noundef nonnull @.str.8, ptr noundef nonnull @.str.9) #12
  %223 = icmp eq i32 %222, -1
  br i1 %223, label %224, label %248

224:                                              ; preds = %219
  %225 = tail call ptr @__errno_location() #13
  %226 = load i32, ptr %225, align 4, !tbaa !5
  %227 = load ptr, ptr @stderr, align 8, !tbaa !9
  %228 = call i32 @s2n_print_stacktrace(ptr noundef %227) #12
  %229 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %230 = trunc nuw i8 %229 to i1
  br i1 %230, label %231, label %235

231:                                              ; preds = %224
  %232 = load ptr, ptr @stderr, align 8, !tbaa !9
  %233 = call i32 @fileno(ptr noundef %232) #12
  %234 = call i32 @isatty(i32 noundef %233) #12
  %.not1209 = icmp eq i32 %234, 0
  br i1 %.not1209, label %235, label %236

235:                                              ; preds = %231, %224
  br label %236

236:                                              ; preds = %231, %235
  %.str.5.sink1255 = phi ptr [ @.str.5, %235 ], [ @.str.2, %231 ]
  store i32 %226, ptr %225, align 4, !tbaa !5
  %237 = load ptr, ptr @stderr, align 8, !tbaa !9
  %238 = load i32, ptr @test_count, align 4, !tbaa !5
  %239 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %240 = load i32, ptr %239, align 4, !tbaa !5
  %241 = call ptr @s2n_strerror(i32 noundef %240, ptr noundef nonnull @.str.4) #12
  %242 = load i32, ptr %239, align 4, !tbaa !5
  %243 = call ptr @s2n_strerror_debug(i32 noundef %242, ptr noundef nonnull @.str.4) #12
  %244 = load i32, ptr %225, align 4, !tbaa !5
  %245 = call ptr @strerror(i32 noundef %244) #12
  %246 = load i32, ptr %225, align 4, !tbaa !5
  %247 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %237, ptr noundef nonnull %.str.5.sink1255, i32 noundef %238, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 78, ptr noundef %241, ptr noundef %243, ptr noundef %245, i32 noundef %246) #14
  call void @exit(i32 noundef 1) #15
  unreachable

248:                                              ; preds = %219
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %4) #12
  %249 = call ptr @s2n_config_new() #12
  store ptr %249, ptr %4, align 8, !tbaa !9
  %250 = load i32, ptr @test_count, align 4, !tbaa !5
  %251 = add nsw i32 %250, 1
  store i32 %251, ptr @test_count, align 4, !tbaa !5
  %252 = call i32 @s2n_config_set_cipher_preferences(ptr noundef %249, ptr noundef nonnull @.str.11) #12
  %253 = icmp eq i32 %252, -1
  br i1 %253, label %254, label %278

254:                                              ; preds = %248
  %255 = tail call ptr @__errno_location() #13
  %256 = load i32, ptr %255, align 4, !tbaa !5
  %257 = load ptr, ptr @stderr, align 8, !tbaa !9
  %258 = call i32 @s2n_print_stacktrace(ptr noundef %257) #12
  %259 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %260 = trunc nuw i8 %259 to i1
  br i1 %260, label %261, label %265

261:                                              ; preds = %254
  %262 = load ptr, ptr @stderr, align 8, !tbaa !9
  %263 = call i32 @fileno(ptr noundef %262) #12
  %264 = call i32 @isatty(i32 noundef %263) #12
  %.not1208 = icmp eq i32 %264, 0
  br i1 %.not1208, label %265, label %266

265:                                              ; preds = %261, %254
  br label %266

266:                                              ; preds = %261, %265
  %.str.5.sink1266 = phi ptr [ @.str.5, %265 ], [ @.str.2, %261 ]
  store i32 %256, ptr %255, align 4, !tbaa !5
  %267 = load ptr, ptr @stderr, align 8, !tbaa !9
  %268 = load i32, ptr @test_count, align 4, !tbaa !5
  %269 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %270 = load i32, ptr %269, align 4, !tbaa !5
  %271 = call ptr @s2n_strerror(i32 noundef %270, ptr noundef nonnull @.str.4) #12
  %272 = load i32, ptr %269, align 4, !tbaa !5
  %273 = call ptr @s2n_strerror_debug(i32 noundef %272, ptr noundef nonnull @.str.4) #12
  %274 = load i32, ptr %255, align 4, !tbaa !5
  %275 = call ptr @strerror(i32 noundef %274) #12
  %276 = load i32, ptr %255, align 4, !tbaa !5
  %277 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %267, ptr noundef nonnull %.str.5.sink1266, i32 noundef %268, ptr noundef nonnull @.str.12, ptr noundef nonnull @.str.1, i32 noundef 81, ptr noundef %271, ptr noundef %273, ptr noundef %275, i32 noundef %276) #14
  call void @exit(i32 noundef 1) #15
  unreachable

278:                                              ; preds = %248
  %279 = load i32, ptr @test_count, align 4, !tbaa !5
  %280 = add nsw i32 %279, 1
  store i32 %280, ptr @test_count, align 4, !tbaa !5
  %281 = load ptr, ptr %3, align 8, !tbaa !9
  %282 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef %249, ptr noundef %281) #12
  %283 = icmp eq i32 %282, -1
  br i1 %283, label %284, label %308

284:                                              ; preds = %278
  %285 = tail call ptr @__errno_location() #13
  %286 = load i32, ptr %285, align 4, !tbaa !5
  %287 = load ptr, ptr @stderr, align 8, !tbaa !9
  %288 = call i32 @s2n_print_stacktrace(ptr noundef %287) #12
  %289 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %290 = trunc nuw i8 %289 to i1
  br i1 %290, label %291, label %295

291:                                              ; preds = %284
  %292 = load ptr, ptr @stderr, align 8, !tbaa !9
  %293 = call i32 @fileno(ptr noundef %292) #12
  %294 = call i32 @isatty(i32 noundef %293) #12
  %.not1207 = icmp eq i32 %294, 0
  br i1 %.not1207, label %295, label %296

295:                                              ; preds = %291, %284
  br label %296

296:                                              ; preds = %291, %295
  %.str.5.sink1277 = phi ptr [ @.str.5, %295 ], [ @.str.2, %291 ]
  store i32 %286, ptr %285, align 4, !tbaa !5
  %297 = load ptr, ptr @stderr, align 8, !tbaa !9
  %298 = load i32, ptr @test_count, align 4, !tbaa !5
  %299 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %300 = load i32, ptr %299, align 4, !tbaa !5
  %301 = call ptr @s2n_strerror(i32 noundef %300, ptr noundef nonnull @.str.4) #12
  %302 = load i32, ptr %299, align 4, !tbaa !5
  %303 = call ptr @s2n_strerror_debug(i32 noundef %302, ptr noundef nonnull @.str.4) #12
  %304 = load i32, ptr %285, align 4, !tbaa !5
  %305 = call ptr @strerror(i32 noundef %304) #12
  %306 = load i32, ptr %285, align 4, !tbaa !5
  %307 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %297, ptr noundef nonnull %.str.5.sink1277, i32 noundef %298, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.1, i32 noundef 82, ptr noundef %301, ptr noundef %303, ptr noundef %305, i32 noundef %306) #14
  call void @exit(i32 noundef 1) #15
  unreachable

308:                                              ; preds = %278
  %309 = load i32, ptr @test_count, align 4, !tbaa !5
  %310 = add nsw i32 %309, 1
  store i32 %310, ptr @test_count, align 4, !tbaa !5
  %311 = call i32 @s2n_config_disable_x509_verification(ptr noundef %249) #12
  %312 = icmp eq i32 %311, -1
  br i1 %312, label %313, label %337

313:                                              ; preds = %308
  %314 = tail call ptr @__errno_location() #13
  %315 = load i32, ptr %314, align 4, !tbaa !5
  %316 = load ptr, ptr @stderr, align 8, !tbaa !9
  %317 = call i32 @s2n_print_stacktrace(ptr noundef %316) #12
  %318 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %319 = trunc nuw i8 %318 to i1
  br i1 %319, label %320, label %324

320:                                              ; preds = %313
  %321 = load ptr, ptr @stderr, align 8, !tbaa !9
  %322 = call i32 @fileno(ptr noundef %321) #12
  %323 = call i32 @isatty(i32 noundef %322) #12
  %.not1206 = icmp eq i32 %323, 0
  br i1 %.not1206, label %324, label %325

324:                                              ; preds = %320, %313
  br label %325

325:                                              ; preds = %320, %324
  %.str.5.sink1288 = phi ptr [ @.str.5, %324 ], [ @.str.2, %320 ]
  store i32 %315, ptr %314, align 4, !tbaa !5
  %326 = load ptr, ptr @stderr, align 8, !tbaa !9
  %327 = load i32, ptr @test_count, align 4, !tbaa !5
  %328 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %329 = load i32, ptr %328, align 4, !tbaa !5
  %330 = call ptr @s2n_strerror(i32 noundef %329, ptr noundef nonnull @.str.4) #12
  %331 = load i32, ptr %328, align 4, !tbaa !5
  %332 = call ptr @s2n_strerror_debug(i32 noundef %331, ptr noundef nonnull @.str.4) #12
  %333 = load i32, ptr %314, align 4, !tbaa !5
  %334 = call ptr @strerror(i32 noundef %333) #12
  %335 = load i32, ptr %314, align 4, !tbaa !5
  %336 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %326, ptr noundef nonnull %.str.5.sink1288, i32 noundef %327, ptr noundef nonnull @.str.14, ptr noundef nonnull @.str.1, i32 noundef 83, ptr noundef %330, ptr noundef %332, ptr noundef %334, i32 noundef %335) #14
  call void @exit(i32 noundef 1) #15
  unreachable

337:                                              ; preds = %308
  %338 = load i32, ptr @test_count, align 4, !tbaa !5
  %339 = add nsw i32 %338, 1
  store i32 %339, ptr @test_count, align 4, !tbaa !5
  %340 = call i32 @s2n_config_set_serialization_version(ptr noundef %249, i32 noundef 1) #12
  %341 = icmp eq i32 %340, -1
  br i1 %341, label %342, label %366

342:                                              ; preds = %337
  %343 = tail call ptr @__errno_location() #13
  %344 = load i32, ptr %343, align 4, !tbaa !5
  %345 = load ptr, ptr @stderr, align 8, !tbaa !9
  %346 = call i32 @s2n_print_stacktrace(ptr noundef %345) #12
  %347 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %348 = trunc nuw i8 %347 to i1
  br i1 %348, label %349, label %353

349:                                              ; preds = %342
  %350 = load ptr, ptr @stderr, align 8, !tbaa !9
  %351 = call i32 @fileno(ptr noundef %350) #12
  %352 = call i32 @isatty(i32 noundef %351) #12
  %.not1205 = icmp eq i32 %352, 0
  br i1 %.not1205, label %353, label %354

353:                                              ; preds = %349, %342
  br label %354

354:                                              ; preds = %349, %353
  %.str.5.sink1299 = phi ptr [ @.str.5, %353 ], [ @.str.2, %349 ]
  store i32 %344, ptr %343, align 4, !tbaa !5
  %355 = load ptr, ptr @stderr, align 8, !tbaa !9
  %356 = load i32, ptr @test_count, align 4, !tbaa !5
  %357 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %358 = load i32, ptr %357, align 4, !tbaa !5
  %359 = call ptr @s2n_strerror(i32 noundef %358, ptr noundef nonnull @.str.4) #12
  %360 = load i32, ptr %357, align 4, !tbaa !5
  %361 = call ptr @s2n_strerror_debug(i32 noundef %360, ptr noundef nonnull @.str.4) #12
  %362 = load i32, ptr %343, align 4, !tbaa !5
  %363 = call ptr @strerror(i32 noundef %362) #12
  %364 = load i32, ptr %343, align 4, !tbaa !5
  %365 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %355, ptr noundef nonnull %.str.5.sink1299, i32 noundef %356, ptr noundef nonnull @.str.15, ptr noundef nonnull @.str.1, i32 noundef 84, ptr noundef %359, ptr noundef %361, ptr noundef %363, i32 noundef %364) #14
  call void @exit(i32 noundef 1) #15
  unreachable

366:                                              ; preds = %337
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %5) #12
  %367 = call ptr @s2n_config_new() #12
  store ptr %367, ptr %5, align 8, !tbaa !9
  %368 = load i32, ptr @test_count, align 4, !tbaa !5
  %369 = add nsw i32 %368, 1
  store i32 %369, ptr @test_count, align 4, !tbaa !5
  %370 = load ptr, ptr %3, align 8, !tbaa !9
  %371 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef %367, ptr noundef %370) #12
  %372 = icmp eq i32 %371, -1
  br i1 %372, label %373, label %397

373:                                              ; preds = %366
  %374 = tail call ptr @__errno_location() #13
  %375 = load i32, ptr %374, align 4, !tbaa !5
  %376 = load ptr, ptr @stderr, align 8, !tbaa !9
  %377 = call i32 @s2n_print_stacktrace(ptr noundef %376) #12
  %378 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %379 = trunc nuw i8 %378 to i1
  br i1 %379, label %380, label %384

380:                                              ; preds = %373
  %381 = load ptr, ptr @stderr, align 8, !tbaa !9
  %382 = call i32 @fileno(ptr noundef %381) #12
  %383 = call i32 @isatty(i32 noundef %382) #12
  %.not1204 = icmp eq i32 %383, 0
  br i1 %.not1204, label %384, label %385

384:                                              ; preds = %380, %373
  br label %385

385:                                              ; preds = %380, %384
  %.str.5.sink1310 = phi ptr [ @.str.5, %384 ], [ @.str.2, %380 ]
  store i32 %375, ptr %374, align 4, !tbaa !5
  %386 = load ptr, ptr @stderr, align 8, !tbaa !9
  %387 = load i32, ptr @test_count, align 4, !tbaa !5
  %388 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %389 = load i32, ptr %388, align 4, !tbaa !5
  %390 = call ptr @s2n_strerror(i32 noundef %389, ptr noundef nonnull @.str.4) #12
  %391 = load i32, ptr %388, align 4, !tbaa !5
  %392 = call ptr @s2n_strerror_debug(i32 noundef %391, ptr noundef nonnull @.str.4) #12
  %393 = load i32, ptr %374, align 4, !tbaa !5
  %394 = call ptr @strerror(i32 noundef %393) #12
  %395 = load i32, ptr %374, align 4, !tbaa !5
  %396 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %386, ptr noundef nonnull %.str.5.sink1310, i32 noundef %387, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.1, i32 noundef 87, ptr noundef %390, ptr noundef %392, ptr noundef %394, i32 noundef %395) #14
  call void @exit(i32 noundef 1) #15
  unreachable

397:                                              ; preds = %366
  %398 = load i32, ptr @test_count, align 4, !tbaa !5
  %399 = add nsw i32 %398, 1
  store i32 %399, ptr @test_count, align 4, !tbaa !5
  %400 = call i32 @s2n_config_disable_x509_verification(ptr noundef %367) #12
  %401 = icmp eq i32 %400, -1
  br i1 %401, label %402, label %426

402:                                              ; preds = %397
  %403 = tail call ptr @__errno_location() #13
  %404 = load i32, ptr %403, align 4, !tbaa !5
  %405 = load ptr, ptr @stderr, align 8, !tbaa !9
  %406 = call i32 @s2n_print_stacktrace(ptr noundef %405) #12
  %407 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %408 = trunc nuw i8 %407 to i1
  br i1 %408, label %409, label %413

409:                                              ; preds = %402
  %410 = load ptr, ptr @stderr, align 8, !tbaa !9
  %411 = call i32 @fileno(ptr noundef %410) #12
  %412 = call i32 @isatty(i32 noundef %411) #12
  %.not1203 = icmp eq i32 %412, 0
  br i1 %.not1203, label %413, label %414

413:                                              ; preds = %409, %402
  br label %414

414:                                              ; preds = %409, %413
  %.str.5.sink1321 = phi ptr [ @.str.5, %413 ], [ @.str.2, %409 ]
  store i32 %404, ptr %403, align 4, !tbaa !5
  %415 = load ptr, ptr @stderr, align 8, !tbaa !9
  %416 = load i32, ptr @test_count, align 4, !tbaa !5
  %417 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %418 = load i32, ptr %417, align 4, !tbaa !5
  %419 = call ptr @s2n_strerror(i32 noundef %418, ptr noundef nonnull @.str.4) #12
  %420 = load i32, ptr %417, align 4, !tbaa !5
  %421 = call ptr @s2n_strerror_debug(i32 noundef %420, ptr noundef nonnull @.str.4) #12
  %422 = load i32, ptr %403, align 4, !tbaa !5
  %423 = call ptr @strerror(i32 noundef %422) #12
  %424 = load i32, ptr %403, align 4, !tbaa !5
  %425 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %415, ptr noundef nonnull %.str.5.sink1321, i32 noundef %416, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.1, i32 noundef 88, ptr noundef %419, ptr noundef %421, ptr noundef %423, i32 noundef %424) #14
  call void @exit(i32 noundef 1) #15
  unreachable

426:                                              ; preds = %397
  %427 = load i32, ptr @test_count, align 4, !tbaa !5
  %428 = add nsw i32 %427, 1
  store i32 %428, ptr @test_count, align 4, !tbaa !5
  %429 = call i32 @s2n_config_set_serialization_version(ptr noundef %367, i32 noundef 1) #12
  %430 = icmp eq i32 %429, -1
  br i1 %430, label %431, label %455

431:                                              ; preds = %426
  %432 = tail call ptr @__errno_location() #13
  %433 = load i32, ptr %432, align 4, !tbaa !5
  %434 = load ptr, ptr @stderr, align 8, !tbaa !9
  %435 = call i32 @s2n_print_stacktrace(ptr noundef %434) #12
  %436 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %437 = trunc nuw i8 %436 to i1
  br i1 %437, label %438, label %442

438:                                              ; preds = %431
  %439 = load ptr, ptr @stderr, align 8, !tbaa !9
  %440 = call i32 @fileno(ptr noundef %439) #12
  %441 = call i32 @isatty(i32 noundef %440) #12
  %.not1202 = icmp eq i32 %441, 0
  br i1 %.not1202, label %442, label %443

442:                                              ; preds = %438, %431
  br label %443

443:                                              ; preds = %438, %442
  %.str.5.sink1332 = phi ptr [ @.str.5, %442 ], [ @.str.2, %438 ]
  store i32 %433, ptr %432, align 4, !tbaa !5
  %444 = load ptr, ptr @stderr, align 8, !tbaa !9
  %445 = load i32, ptr @test_count, align 4, !tbaa !5
  %446 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %447 = load i32, ptr %446, align 4, !tbaa !5
  %448 = call ptr @s2n_strerror(i32 noundef %447, ptr noundef nonnull @.str.4) #12
  %449 = load i32, ptr %446, align 4, !tbaa !5
  %450 = call ptr @s2n_strerror_debug(i32 noundef %449, ptr noundef nonnull @.str.4) #12
  %451 = load i32, ptr %432, align 4, !tbaa !5
  %452 = call ptr @strerror(i32 noundef %451) #12
  %453 = load i32, ptr %432, align 4, !tbaa !5
  %454 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %444, ptr noundef nonnull %.str.5.sink1332, i32 noundef %445, ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.1, i32 noundef 89, ptr noundef %448, ptr noundef %450, ptr noundef %452, i32 noundef %453) #14
  call void @exit(i32 noundef 1) #15
  unreachable

455:                                              ; preds = %426
  %456 = load i32, ptr @test_count, align 4, !tbaa !5
  %457 = add nsw i32 %456, 1
  store i32 %457, ptr @test_count, align 4, !tbaa !5
  %458 = call i32 @s2n_config_set_cipher_preferences(ptr noundef %367, ptr noundef nonnull @.str.19) #12
  %459 = icmp eq i32 %458, -1
  br i1 %459, label %460, label %484

460:                                              ; preds = %455
  %461 = tail call ptr @__errno_location() #13
  %462 = load i32, ptr %461, align 4, !tbaa !5
  %463 = load ptr, ptr @stderr, align 8, !tbaa !9
  %464 = call i32 @s2n_print_stacktrace(ptr noundef %463) #12
  %465 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %466 = trunc nuw i8 %465 to i1
  br i1 %466, label %467, label %471

467:                                              ; preds = %460
  %468 = load ptr, ptr @stderr, align 8, !tbaa !9
  %469 = call i32 @fileno(ptr noundef %468) #12
  %470 = call i32 @isatty(i32 noundef %469) #12
  %.not1201 = icmp eq i32 %470, 0
  br i1 %.not1201, label %471, label %472

471:                                              ; preds = %467, %460
  br label %472

472:                                              ; preds = %467, %471
  %.str.5.sink1343 = phi ptr [ @.str.5, %471 ], [ @.str.2, %467 ]
  store i32 %462, ptr %461, align 4, !tbaa !5
  %473 = load ptr, ptr @stderr, align 8, !tbaa !9
  %474 = load i32, ptr @test_count, align 4, !tbaa !5
  %475 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %476 = load i32, ptr %475, align 4, !tbaa !5
  %477 = call ptr @s2n_strerror(i32 noundef %476, ptr noundef nonnull @.str.4) #12
  %478 = load i32, ptr %475, align 4, !tbaa !5
  %479 = call ptr @s2n_strerror_debug(i32 noundef %478, ptr noundef nonnull @.str.4) #12
  %480 = load i32, ptr %461, align 4, !tbaa !5
  %481 = call ptr @strerror(i32 noundef %480) #12
  %482 = load i32, ptr %461, align 4, !tbaa !5
  %483 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %473, ptr noundef nonnull %.str.5.sink1343, i32 noundef %474, ptr noundef nonnull @.str.20, ptr noundef nonnull @.str.1, i32 noundef 91, ptr noundef %477, ptr noundef %479, ptr noundef %481, i32 noundef %482) #14
  call void @exit(i32 noundef 1) #15
  unreachable

484:                                              ; preds = %455
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %6) #12
  %485 = call ptr @s2n_connection_new(i32 noundef 1) #12
  store ptr %485, ptr %6, align 8, !tbaa !9
  %486 = load i32, ptr @test_count, align 4, !tbaa !5
  %487 = add nsw i32 %486, 1
  store i32 %487, ptr @test_count, align 4, !tbaa !5
  %488 = icmp eq ptr %485, null
  br i1 %488, label %489, label %513

489:                                              ; preds = %484
  %490 = tail call ptr @__errno_location() #13
  %491 = load i32, ptr %490, align 4, !tbaa !5
  %492 = load ptr, ptr @stderr, align 8, !tbaa !9
  %493 = call i32 @s2n_print_stacktrace(ptr noundef %492) #12
  %494 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %495 = trunc nuw i8 %494 to i1
  br i1 %495, label %496, label %500

496:                                              ; preds = %489
  %497 = load ptr, ptr @stderr, align 8, !tbaa !9
  %498 = call i32 @fileno(ptr noundef %497) #12
  %499 = call i32 @isatty(i32 noundef %498) #12
  %.not1200 = icmp eq i32 %499, 0
  br i1 %.not1200, label %500, label %501

500:                                              ; preds = %496, %489
  br label %501

501:                                              ; preds = %496, %500
  %.str.5.sink1354 = phi ptr [ @.str.5, %500 ], [ @.str.2, %496 ]
  store i32 %491, ptr %490, align 4, !tbaa !5
  %502 = load ptr, ptr @stderr, align 8, !tbaa !9
  %503 = load i32, ptr @test_count, align 4, !tbaa !5
  %504 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %505 = load i32, ptr %504, align 4, !tbaa !5
  %506 = call ptr @s2n_strerror(i32 noundef %505, ptr noundef nonnull @.str.4) #12
  %507 = load i32, ptr %504, align 4, !tbaa !5
  %508 = call ptr @s2n_strerror_debug(i32 noundef %507, ptr noundef nonnull @.str.4) #12
  %509 = load i32, ptr %490, align 4, !tbaa !5
  %510 = call ptr @strerror(i32 noundef %509) #12
  %511 = load i32, ptr %490, align 4, !tbaa !5
  %512 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %502, ptr noundef nonnull %.str.5.sink1354, i32 noundef %503, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 99, ptr noundef %506, ptr noundef %508, ptr noundef %510, i32 noundef %511) #14
  call void @exit(i32 noundef 1) #15
  unreachable

513:                                              ; preds = %484
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %7) #12
  store i32 0, ptr %7, align 4, !tbaa !5
  %514 = add nsw i32 %486, 2
  store i32 %514, ptr @test_count, align 4, !tbaa !5
  %515 = call i32 @s2n_connection_serialization_length(ptr noundef nonnull %485, ptr noundef null) #12
  %516 = icmp eq i32 %515, -1
  br i1 %516, label %541, label %517

517:                                              ; preds = %513
  %518 = tail call ptr @__errno_location() #13
  %519 = load i32, ptr %518, align 4, !tbaa !5
  %520 = load ptr, ptr @stderr, align 8, !tbaa !9
  %521 = call i32 @s2n_print_stacktrace(ptr noundef %520) #12
  %522 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %523 = trunc nuw i8 %522 to i1
  br i1 %523, label %524, label %528

524:                                              ; preds = %517
  %525 = load ptr, ptr @stderr, align 8, !tbaa !9
  %526 = call i32 @fileno(ptr noundef %525) #12
  %527 = call i32 @isatty(i32 noundef %526) #12
  %.not = icmp eq i32 %527, 0
  br i1 %.not, label %528, label %529

528:                                              ; preds = %524, %517
  br label %529

529:                                              ; preds = %524, %528
  %.str.5.sink1365 = phi ptr [ @.str.5, %528 ], [ @.str.2, %524 ]
  store i32 %519, ptr %518, align 4, !tbaa !5
  %530 = load ptr, ptr @stderr, align 8, !tbaa !9
  %531 = load i32, ptr @test_count, align 4, !tbaa !5
  %532 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %533 = load i32, ptr %532, align 4, !tbaa !5
  %534 = call ptr @s2n_strerror(i32 noundef %533, ptr noundef nonnull @.str.4) #12
  %535 = load i32, ptr %532, align 4, !tbaa !5
  %536 = call ptr @s2n_strerror_debug(i32 noundef %535, ptr noundef nonnull @.str.4) #12
  %537 = load i32, ptr %518, align 4, !tbaa !5
  %538 = call ptr @strerror(i32 noundef %537) #12
  %539 = load i32, ptr %518, align 4, !tbaa !5
  %540 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %530, ptr noundef nonnull %.str.5.sink1365, i32 noundef %531, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 101, ptr noundef %534, ptr noundef %536, ptr noundef %538, i32 noundef %539) #14
  call void @exit(i32 noundef 1) #15
  unreachable

541:                                              ; preds = %513
  %542 = load i32, ptr @test_count, align 4, !tbaa !5
  %543 = add nsw i32 %542, 1
  store i32 %543, ptr @test_count, align 4, !tbaa !5
  %544 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %545 = load i32, ptr %544, align 4, !tbaa !5
  %546 = icmp eq i32 %545, 402653193
  br i1 %546, label %570, label %547

547:                                              ; preds = %541
  %548 = tail call ptr @__errno_location() #13
  %549 = load i32, ptr %548, align 4, !tbaa !5
  %550 = load ptr, ptr @stderr, align 8, !tbaa !9
  %551 = call i32 @s2n_print_stacktrace(ptr noundef %550) #12
  %552 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %553 = trunc nuw i8 %552 to i1
  br i1 %553, label %554, label %558

554:                                              ; preds = %547
  %555 = load ptr, ptr @stderr, align 8, !tbaa !9
  %556 = call i32 @fileno(ptr noundef %555) #12
  %557 = call i32 @isatty(i32 noundef %556) #12
  %.not855 = icmp eq i32 %557, 0
  br i1 %.not855, label %558, label %559

558:                                              ; preds = %554, %547
  br label %559

559:                                              ; preds = %554, %558
  %.str.5.sink1376 = phi ptr [ @.str.5, %558 ], [ @.str.2, %554 ]
  store i32 %549, ptr %548, align 4, !tbaa !5
  %560 = load ptr, ptr @stderr, align 8, !tbaa !9
  %561 = load i32, ptr @test_count, align 4, !tbaa !5
  %562 = load i32, ptr %544, align 4, !tbaa !5
  %563 = call ptr @s2n_strerror(i32 noundef %562, ptr noundef nonnull @.str.4) #12
  %564 = load i32, ptr %544, align 4, !tbaa !5
  %565 = call ptr @s2n_strerror_debug(i32 noundef %564, ptr noundef nonnull @.str.4) #12
  %566 = load i32, ptr %548, align 4, !tbaa !5
  %567 = call ptr @strerror(i32 noundef %566) #12
  %568 = load i32, ptr %548, align 4, !tbaa !5
  %569 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %560, ptr noundef nonnull %.str.5.sink1376, i32 noundef %561, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.1, i32 noundef 101, ptr noundef %563, ptr noundef %565, ptr noundef %567, i32 noundef %568) #14
  call void @exit(i32 noundef 1) #15
  unreachable

570:                                              ; preds = %541
  %571 = add nsw i32 %542, 2
  store i32 %571, ptr @test_count, align 4, !tbaa !5
  %572 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.4) #12
  %573 = icmp eq ptr %572, null
  br i1 %573, label %574, label %597

574:                                              ; preds = %570
  %575 = tail call ptr @__errno_location() #13
  %576 = load i32, ptr %575, align 4, !tbaa !5
  %577 = load ptr, ptr @stderr, align 8, !tbaa !9
  %578 = call i32 @s2n_print_stacktrace(ptr noundef %577) #12
  %579 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %580 = trunc nuw i8 %579 to i1
  br i1 %580, label %581, label %585

581:                                              ; preds = %574
  %582 = load ptr, ptr @stderr, align 8, !tbaa !9
  %583 = call i32 @fileno(ptr noundef %582) #12
  %584 = call i32 @isatty(i32 noundef %583) #12
  %.not1199 = icmp eq i32 %584, 0
  br i1 %.not1199, label %585, label %586

585:                                              ; preds = %581, %574
  br label %586

586:                                              ; preds = %581, %585
  %.str.5.sink1385 = phi ptr [ @.str.5, %585 ], [ @.str.2, %581 ]
  store i32 %576, ptr %575, align 4, !tbaa !5
  %587 = load ptr, ptr @stderr, align 8, !tbaa !9
  %588 = load i32, ptr @test_count, align 4, !tbaa !5
  %589 = load i32, ptr %544, align 4, !tbaa !5
  %590 = call ptr @s2n_strerror(i32 noundef %589, ptr noundef nonnull @.str.4) #12
  %591 = load i32, ptr %544, align 4, !tbaa !5
  %592 = call ptr @s2n_strerror_debug(i32 noundef %591, ptr noundef nonnull @.str.4) #12
  %593 = load i32, ptr %575, align 4, !tbaa !5
  %594 = call ptr @strerror(i32 noundef %593) #12
  %595 = load i32, ptr %575, align 4, !tbaa !5
  %596 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %587, ptr noundef nonnull %.str.5.sink1385, i32 noundef %588, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 101, ptr noundef %590, ptr noundef %592, ptr noundef %594, i32 noundef %595) #14
  call void @exit(i32 noundef 1) #15
  unreachable

597:                                              ; preds = %570
  store i32 0, ptr %544, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  %598 = tail call ptr @__errno_location() #13
  store i32 0, ptr %598, align 4, !tbaa !5
  %599 = load i32, ptr @test_count, align 4, !tbaa !5
  %600 = add nsw i32 %599, 1
  store i32 %600, ptr @test_count, align 4, !tbaa !5
  %601 = call i32 @s2n_connection_serialization_length(ptr noundef null, ptr noundef nonnull %7) #12
  %602 = icmp eq i32 %601, -1
  br i1 %602, label %625, label %603

603:                                              ; preds = %597
  %604 = load i32, ptr %598, align 4, !tbaa !5
  %605 = load ptr, ptr @stderr, align 8, !tbaa !9
  %606 = call i32 @s2n_print_stacktrace(ptr noundef %605) #12
  %607 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %608 = trunc nuw i8 %607 to i1
  br i1 %608, label %609, label %613

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

613:                                              ; preds = %609, %603
  br label %614

614:                                              ; preds = %609, %613
  %.str.5.sink1394 = phi ptr [ @.str.5, %613 ], [ @.str.2, %609 ]
  store i32 %604, ptr %598, align 4, !tbaa !5
  %615 = load ptr, ptr @stderr, align 8, !tbaa !9
  %616 = load i32, ptr @test_count, align 4, !tbaa !5
  %617 = load i32, ptr %544, align 4, !tbaa !5
  %618 = call ptr @s2n_strerror(i32 noundef %617, ptr noundef nonnull @.str.4) #12
  %619 = load i32, ptr %544, align 4, !tbaa !5
  %620 = call ptr @s2n_strerror_debug(i32 noundef %619, ptr noundef nonnull @.str.4) #12
  %621 = load i32, ptr %598, align 4, !tbaa !5
  %622 = call ptr @strerror(i32 noundef %621) #12
  %623 = load i32, ptr %598, align 4, !tbaa !5
  %624 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %615, ptr noundef nonnull %.str.5.sink1394, i32 noundef %616, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 102, ptr noundef %618, ptr noundef %620, ptr noundef %622, i32 noundef %623) #14
  call void @exit(i32 noundef 1) #15
  unreachable

625:                                              ; preds = %597
  %626 = load i32, ptr @test_count, align 4, !tbaa !5
  %627 = add nsw i32 %626, 1
  store i32 %627, ptr @test_count, align 4, !tbaa !5
  %628 = load i32, ptr %544, align 4, !tbaa !5
  %629 = icmp eq i32 %628, 402653193
  br i1 %629, label %652, label %630

630:                                              ; preds = %625
  %631 = load i32, ptr %598, align 4, !tbaa !5
  %632 = load ptr, ptr @stderr, align 8, !tbaa !9
  %633 = call i32 @s2n_print_stacktrace(ptr noundef %632) #12
  %634 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %635 = trunc nuw i8 %634 to i1
  br i1 %635, label %636, label %640

636:                                              ; preds = %630
  %637 = load ptr, ptr @stderr, align 8, !tbaa !9
  %638 = call i32 @fileno(ptr noundef %637) #12
  %639 = call i32 @isatty(i32 noundef %638) #12
  %.not857 = icmp eq i32 %639, 0
  br i1 %.not857, label %640, label %641

640:                                              ; preds = %636, %630
  br label %641

641:                                              ; preds = %636, %640
  %.str.5.sink1403 = phi ptr [ @.str.5, %640 ], [ @.str.2, %636 ]
  store i32 %631, ptr %598, align 4, !tbaa !5
  %642 = load ptr, ptr @stderr, align 8, !tbaa !9
  %643 = load i32, ptr @test_count, align 4, !tbaa !5
  %644 = load i32, ptr %544, align 4, !tbaa !5
  %645 = call ptr @s2n_strerror(i32 noundef %644, ptr noundef nonnull @.str.4) #12
  %646 = load i32, ptr %544, align 4, !tbaa !5
  %647 = call ptr @s2n_strerror_debug(i32 noundef %646, ptr noundef nonnull @.str.4) #12
  %648 = load i32, ptr %598, align 4, !tbaa !5
  %649 = call ptr @strerror(i32 noundef %648) #12
  %650 = load i32, ptr %598, align 4, !tbaa !5
  %651 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %642, ptr noundef nonnull %.str.5.sink1403, i32 noundef %643, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.1, i32 noundef 102, ptr noundef %645, ptr noundef %647, ptr noundef %649, i32 noundef %650) #14
  call void @exit(i32 noundef 1) #15
  unreachable

652:                                              ; preds = %625
  %653 = add nsw i32 %626, 2
  store i32 %653, ptr @test_count, align 4, !tbaa !5
  %654 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.4) #12
  %655 = icmp eq ptr %654, null
  br i1 %655, label %656, label %678

656:                                              ; preds = %652
  %657 = load i32, ptr %598, align 4, !tbaa !5
  %658 = load ptr, ptr @stderr, align 8, !tbaa !9
  %659 = call i32 @s2n_print_stacktrace(ptr noundef %658) #12
  %660 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %661 = trunc nuw i8 %660 to i1
  br i1 %661, label %662, label %666

662:                                              ; preds = %656
  %663 = load ptr, ptr @stderr, align 8, !tbaa !9
  %664 = call i32 @fileno(ptr noundef %663) #12
  %665 = call i32 @isatty(i32 noundef %664) #12
  %.not1198 = icmp eq i32 %665, 0
  br i1 %.not1198, label %666, label %667

666:                                              ; preds = %662, %656
  br label %667

667:                                              ; preds = %662, %666
  %.str.5.sink1412 = phi ptr [ @.str.5, %666 ], [ @.str.2, %662 ]
  store i32 %657, ptr %598, align 4, !tbaa !5
  %668 = load ptr, ptr @stderr, align 8, !tbaa !9
  %669 = load i32, ptr @test_count, align 4, !tbaa !5
  %670 = load i32, ptr %544, align 4, !tbaa !5
  %671 = call ptr @s2n_strerror(i32 noundef %670, ptr noundef nonnull @.str.4) #12
  %672 = load i32, ptr %544, align 4, !tbaa !5
  %673 = call ptr @s2n_strerror_debug(i32 noundef %672, ptr noundef nonnull @.str.4) #12
  %674 = load i32, ptr %598, align 4, !tbaa !5
  %675 = call ptr @strerror(i32 noundef %674) #12
  %676 = load i32, ptr %598, align 4, !tbaa !5
  %677 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %668, ptr noundef nonnull %.str.5.sink1412, i32 noundef %669, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 102, ptr noundef %671, ptr noundef %673, ptr noundef %675, i32 noundef %676) #14
  call void @exit(i32 noundef 1) #15
  unreachable

678:                                              ; preds = %652
  store i32 0, ptr %544, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %598, align 4, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %7) #12
  %679 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %6) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %6) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %8) #12
  %680 = call ptr @s2n_connection_new(i32 noundef 1) #12
  store ptr %680, ptr %8, align 8, !tbaa !9
  %681 = load i32, ptr @test_count, align 4, !tbaa !5
  %682 = add nsw i32 %681, 1
  store i32 %682, ptr @test_count, align 4, !tbaa !5
  %683 = icmp eq ptr %680, null
  br i1 %683, label %684, label %706

684:                                              ; preds = %678
  %685 = load i32, ptr %598, align 4, !tbaa !5
  %686 = load ptr, ptr @stderr, align 8, !tbaa !9
  %687 = call i32 @s2n_print_stacktrace(ptr noundef %686) #12
  %688 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %689 = trunc nuw i8 %688 to i1
  br i1 %689, label %690, label %694

690:                                              ; preds = %684
  %691 = load ptr, ptr @stderr, align 8, !tbaa !9
  %692 = call i32 @fileno(ptr noundef %691) #12
  %693 = call i32 @isatty(i32 noundef %692) #12
  %.not1197 = icmp eq i32 %693, 0
  br i1 %.not1197, label %694, label %695

694:                                              ; preds = %690, %684
  br label %695

695:                                              ; preds = %690, %694
  %.str.5.sink1421 = phi ptr [ @.str.5, %694 ], [ @.str.2, %690 ]
  store i32 %685, ptr %598, align 4, !tbaa !5
  %696 = load ptr, ptr @stderr, align 8, !tbaa !9
  %697 = load i32, ptr @test_count, align 4, !tbaa !5
  %698 = load i32, ptr %544, align 4, !tbaa !5
  %699 = call ptr @s2n_strerror(i32 noundef %698, ptr noundef nonnull @.str.4) #12
  %700 = load i32, ptr %544, align 4, !tbaa !5
  %701 = call ptr @s2n_strerror_debug(i32 noundef %700, ptr noundef nonnull @.str.4) #12
  %702 = load i32, ptr %598, align 4, !tbaa !5
  %703 = call ptr @strerror(i32 noundef %702) #12
  %704 = load i32, ptr %598, align 4, !tbaa !5
  %705 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %696, ptr noundef nonnull %.str.5.sink1421, i32 noundef %697, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 109, ptr noundef %699, ptr noundef %701, ptr noundef %703, i32 noundef %704) #14
  call void @exit(i32 noundef 1) #15
  unreachable

706:                                              ; preds = %678
  %707 = add nsw i32 %681, 2
  store i32 %707, ptr @test_count, align 4, !tbaa !5
  %708 = call i32 @s2n_connection_set_config(ptr noundef nonnull %680, ptr noundef %367) #12
  %709 = icmp eq i32 %708, -1
  br i1 %709, label %710, label %732

710:                                              ; preds = %706
  %711 = load i32, ptr %598, align 4, !tbaa !5
  %712 = load ptr, ptr @stderr, align 8, !tbaa !9
  %713 = call i32 @s2n_print_stacktrace(ptr noundef %712) #12
  %714 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %715 = trunc nuw i8 %714 to i1
  br i1 %715, label %716, label %720

716:                                              ; preds = %710
  %717 = load ptr, ptr @stderr, align 8, !tbaa !9
  %718 = call i32 @fileno(ptr noundef %717) #12
  %719 = call i32 @isatty(i32 noundef %718) #12
  %.not1196 = icmp eq i32 %719, 0
  br i1 %.not1196, label %720, label %721

720:                                              ; preds = %716, %710
  br label %721

721:                                              ; preds = %716, %720
  %.str.5.sink1430 = phi ptr [ @.str.5, %720 ], [ @.str.2, %716 ]
  store i32 %711, ptr %598, align 4, !tbaa !5
  %722 = load ptr, ptr @stderr, align 8, !tbaa !9
  %723 = load i32, ptr @test_count, align 4, !tbaa !5
  %724 = load i32, ptr %544, align 4, !tbaa !5
  %725 = call ptr @s2n_strerror(i32 noundef %724, ptr noundef nonnull @.str.4) #12
  %726 = load i32, ptr %544, align 4, !tbaa !5
  %727 = call ptr @s2n_strerror_debug(i32 noundef %726, ptr noundef nonnull @.str.4) #12
  %728 = load i32, ptr %598, align 4, !tbaa !5
  %729 = call ptr @strerror(i32 noundef %728) #12
  %730 = load i32, ptr %598, align 4, !tbaa !5
  %731 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %722, ptr noundef nonnull %.str.5.sink1430, i32 noundef %723, ptr noundef nonnull @.str.26, ptr noundef nonnull @.str.1, i32 noundef 110, ptr noundef %725, ptr noundef %727, ptr noundef %729, i32 noundef %730) #14
  call void @exit(i32 noundef 1) #15
  unreachable

732:                                              ; preds = %706
  %733 = load ptr, ptr %8, align 8, !tbaa !9
  %734 = getelementptr inbounds i8, ptr %733, i64 220
  store i8 34, ptr %734, align 4, !tbaa !15
  %735 = load i16, ptr @cipher_preferences_test_all, align 8, !tbaa !42
  %736 = zext i16 %735 to i64
  %.not1220 = icmp eq i16 %735, 0
  br i1 %.not1220, label %._crit_edge, label %.lr.ph

.lr.ph:                                           ; preds = %732
  %737 = load ptr, ptr getelementptr inbounds (i8, ptr @cipher_preferences_test_all, i64 8), align 8, !tbaa !44
  %.pre = load i32, ptr @test_count, align 4, !tbaa !5
  br label %743

._crit_edge:                                      ; preds = %836, %732
  %738 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %8) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %8) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %11) #12
  %739 = call ptr @s2n_connection_new(i32 noundef 1) #12
  store ptr %739, ptr %11, align 8, !tbaa !9
  %740 = load i32, ptr @test_count, align 4, !tbaa !5
  %741 = add nsw i32 %740, 1
  store i32 %741, ptr @test_count, align 4, !tbaa !5
  %742 = icmp eq ptr %739, null
  br i1 %742, label %838, label %860

743:                                              ; preds = %.lr.ph, %836
  %744 = phi i32 [ %.pre, %.lr.ph ], [ %807, %836 ]
  %.01215 = phi i64 [ 0, %.lr.ph ], [ %837, %836 ]
  %745 = getelementptr inbounds ptr, ptr %737, i64 %.01215
  %746 = load ptr, ptr %745, align 8, !tbaa !9
  %747 = load ptr, ptr %8, align 8, !tbaa !9
  %748 = getelementptr inbounds i8, ptr %747, i64 232
  %749 = load ptr, ptr %748, align 8, !tbaa !45
  store ptr %746, ptr %749, align 8, !tbaa !46
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %9) #12
  store i8 0, ptr %9, align 1, !tbaa !51
  %750 = add nsw i32 %744, 1
  store i32 %750, ptr @test_count, align 4, !tbaa !5
  %751 = getelementptr inbounds i8, ptr %746, i64 96
  %752 = load i32, ptr %751, align 8, !tbaa !52
  %753 = call i32 @s2n_hmac_digest_size(i32 noundef %752, ptr noundef nonnull %9) #12
  %754 = icmp eq i32 %753, -1
  br i1 %754, label %755, label %777

755:                                              ; preds = %743
  %756 = load i32, ptr %598, align 4, !tbaa !5
  %757 = load ptr, ptr @stderr, align 8, !tbaa !9
  %758 = call i32 @s2n_print_stacktrace(ptr noundef %757) #12
  %759 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %760 = trunc nuw i8 %759 to i1
  br i1 %760, label %761, label %765

761:                                              ; preds = %755
  %762 = load ptr, ptr @stderr, align 8, !tbaa !9
  %763 = call i32 @fileno(ptr noundef %762) #12
  %764 = call i32 @isatty(i32 noundef %763) #12
  %.not1195 = icmp eq i32 %764, 0
  br i1 %.not1195, label %765, label %766

765:                                              ; preds = %761, %755
  br label %766

766:                                              ; preds = %761, %765
  %.str.5.sink1439 = phi ptr [ @.str.5, %765 ], [ @.str.2, %761 ]
  store i32 %756, ptr %598, align 4, !tbaa !5
  %767 = load ptr, ptr @stderr, align 8, !tbaa !9
  %768 = load i32, ptr @test_count, align 4, !tbaa !5
  %769 = load i32, ptr %544, align 4, !tbaa !5
  %770 = call ptr @s2n_strerror(i32 noundef %769, ptr noundef nonnull @.str.4) #12
  %771 = load i32, ptr %544, align 4, !tbaa !5
  %772 = call ptr @s2n_strerror_debug(i32 noundef %771, ptr noundef nonnull @.str.4) #12
  %773 = load i32, ptr %598, align 4, !tbaa !5
  %774 = call ptr @strerror(i32 noundef %773) #12
  %775 = load i32, ptr %598, align 4, !tbaa !5
  %776 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %767, ptr noundef nonnull %.str.5.sink1439, i32 noundef %768, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.1, i32 noundef 117, ptr noundef %770, ptr noundef %772, ptr noundef %774, i32 noundef %775) #14
  call void @exit(i32 noundef 1) #15
  unreachable

777:                                              ; preds = %743
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %10) #12
  store i32 0, ptr %10, align 4, !tbaa !5
  %778 = load i32, ptr @test_count, align 4, !tbaa !5
  %779 = add nsw i32 %778, 1
  store i32 %779, ptr @test_count, align 4, !tbaa !5
  %780 = load ptr, ptr %8, align 8, !tbaa !9
  %781 = call i32 @s2n_connection_serialization_length(ptr noundef %780, ptr noundef nonnull %10) #12
  %782 = icmp eq i32 %781, -1
  br i1 %782, label %783, label %805

783:                                              ; preds = %777
  %784 = load i32, ptr %598, align 4, !tbaa !5
  %785 = load ptr, ptr @stderr, align 8, !tbaa !9
  %786 = call i32 @s2n_print_stacktrace(ptr noundef %785) #12
  %787 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %788 = trunc nuw i8 %787 to i1
  br i1 %788, label %789, label %793

789:                                              ; preds = %783
  %790 = load ptr, ptr @stderr, align 8, !tbaa !9
  %791 = call i32 @fileno(ptr noundef %790) #12
  %792 = call i32 @isatty(i32 noundef %791) #12
  %.not1194 = icmp eq i32 %792, 0
  br i1 %.not1194, label %793, label %794

793:                                              ; preds = %789, %783
  br label %794

794:                                              ; preds = %789, %793
  %.str.5.sink1448 = phi ptr [ @.str.5, %793 ], [ @.str.2, %789 ]
  store i32 %784, ptr %598, align 4, !tbaa !5
  %795 = load ptr, ptr @stderr, align 8, !tbaa !9
  %796 = load i32, ptr @test_count, align 4, !tbaa !5
  %797 = load i32, ptr %544, align 4, !tbaa !5
  %798 = call ptr @s2n_strerror(i32 noundef %797, ptr noundef nonnull @.str.4) #12
  %799 = load i32, ptr %544, align 4, !tbaa !5
  %800 = call ptr @s2n_strerror_debug(i32 noundef %799, ptr noundef nonnull @.str.4) #12
  %801 = load i32, ptr %598, align 4, !tbaa !5
  %802 = call ptr @strerror(i32 noundef %801) #12
  %803 = load i32, ptr %598, align 4, !tbaa !5
  %804 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %795, ptr noundef nonnull %.str.5.sink1448, i32 noundef %796, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.1, i32 noundef 120, ptr noundef %798, ptr noundef %800, ptr noundef %802, i32 noundef %803) #14
  call void @exit(i32 noundef 1) #15
  unreachable

805:                                              ; preds = %777
  %806 = load i32, ptr @test_count, align 4, !tbaa !5
  %807 = add nsw i32 %806, 1
  store i32 %807, ptr @test_count, align 4, !tbaa !5
  %808 = load i32, ptr %10, align 4, !tbaa !5
  %809 = load i8, ptr %9, align 1, !tbaa !51
  %810 = zext i8 %809 to i32
  %811 = mul nuw nsw i32 %810, 3
  %812 = add nuw nsw i32 %811, 30
  %813 = icmp eq i32 %808, %812
  br i1 %813, label %836, label %814

814:                                              ; preds = %805
  %815 = load i32, ptr %598, align 4, !tbaa !5
  %816 = load ptr, ptr @stderr, align 8, !tbaa !9
  %817 = call i32 @s2n_print_stacktrace(ptr noundef %816) #12
  %818 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %819 = trunc nuw i8 %818 to i1
  br i1 %819, label %820, label %824

820:                                              ; preds = %814
  %821 = load ptr, ptr @stderr, align 8, !tbaa !9
  %822 = call i32 @fileno(ptr noundef %821) #12
  %823 = call i32 @isatty(i32 noundef %822) #12
  %.not1193 = icmp eq i32 %823, 0
  br i1 %.not1193, label %824, label %825

824:                                              ; preds = %820, %814
  br label %825

825:                                              ; preds = %820, %824
  %.str.5.sink1457 = phi ptr [ @.str.5, %824 ], [ @.str.2, %820 ]
  store i32 %815, ptr %598, align 4, !tbaa !5
  %826 = load ptr, ptr @stderr, align 8, !tbaa !9
  %827 = load i32, ptr @test_count, align 4, !tbaa !5
  %828 = load i32, ptr %544, align 4, !tbaa !5
  %829 = call ptr @s2n_strerror(i32 noundef %828, ptr noundef nonnull @.str.4) #12
  %830 = load i32, ptr %544, align 4, !tbaa !5
  %831 = call ptr @s2n_strerror_debug(i32 noundef %830, ptr noundef nonnull @.str.4) #12
  %832 = load i32, ptr %598, align 4, !tbaa !5
  %833 = call ptr @strerror(i32 noundef %832) #12
  %834 = load i32, ptr %598, align 4, !tbaa !5
  %835 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %826, ptr noundef nonnull %.str.5.sink1457, i32 noundef %827, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 121, ptr noundef %829, ptr noundef %831, ptr noundef %833, i32 noundef %834) #14
  call void @exit(i32 noundef 1) #15
  unreachable

836:                                              ; preds = %805
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %10) #12
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %9) #12
  %837 = add nuw nsw i64 %.01215, 1
  %exitcond.not = icmp eq i64 %837, %736
  br i1 %exitcond.not, label %._crit_edge, label %743, !llvm.loop !54

838:                                              ; preds = %._crit_edge
  %839 = load i32, ptr %598, align 4, !tbaa !5
  %840 = load ptr, ptr @stderr, align 8, !tbaa !9
  %841 = call i32 @s2n_print_stacktrace(ptr noundef %840) #12
  %842 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %843 = trunc nuw i8 %842 to i1
  br i1 %843, label %844, label %848

844:                                              ; preds = %838
  %845 = load ptr, ptr @stderr, align 8, !tbaa !9
  %846 = call i32 @fileno(ptr noundef %845) #12
  %847 = call i32 @isatty(i32 noundef %846) #12
  %.not1192 = icmp eq i32 %847, 0
  br i1 %.not1192, label %848, label %849

848:                                              ; preds = %844, %838
  br label %849

849:                                              ; preds = %844, %848
  %.str.5.sink1466 = phi ptr [ @.str.5, %848 ], [ @.str.2, %844 ]
  store i32 %839, ptr %598, align 4, !tbaa !5
  %850 = load ptr, ptr @stderr, align 8, !tbaa !9
  %851 = load i32, ptr @test_count, align 4, !tbaa !5
  %852 = load i32, ptr %544, align 4, !tbaa !5
  %853 = call ptr @s2n_strerror(i32 noundef %852, ptr noundef nonnull @.str.4) #12
  %854 = load i32, ptr %544, align 4, !tbaa !5
  %855 = call ptr @s2n_strerror_debug(i32 noundef %854, ptr noundef nonnull @.str.4) #12
  %856 = load i32, ptr %598, align 4, !tbaa !5
  %857 = call ptr @strerror(i32 noundef %856) #12
  %858 = load i32, ptr %598, align 4, !tbaa !5
  %859 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %850, ptr noundef nonnull %.str.5.sink1466, i32 noundef %851, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 129, ptr noundef %853, ptr noundef %855, ptr noundef %857, i32 noundef %858) #14
  call void @exit(i32 noundef 1) #15
  unreachable

860:                                              ; preds = %._crit_edge
  %861 = add nsw i32 %740, 2
  store i32 %861, ptr @test_count, align 4, !tbaa !5
  %862 = call i32 @s2n_connection_set_config(ptr noundef nonnull %739, ptr noundef %249) #12
  %863 = icmp eq i32 %862, -1
  br i1 %863, label %864, label %886

864:                                              ; preds = %860
  %865 = load i32, ptr %598, align 4, !tbaa !5
  %866 = load ptr, ptr @stderr, align 8, !tbaa !9
  %867 = call i32 @s2n_print_stacktrace(ptr noundef %866) #12
  %868 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %869 = trunc nuw i8 %868 to i1
  br i1 %869, label %870, label %874

870:                                              ; preds = %864
  %871 = load ptr, ptr @stderr, align 8, !tbaa !9
  %872 = call i32 @fileno(ptr noundef %871) #12
  %873 = call i32 @isatty(i32 noundef %872) #12
  %.not1191 = icmp eq i32 %873, 0
  br i1 %.not1191, label %874, label %875

874:                                              ; preds = %870, %864
  br label %875

875:                                              ; preds = %870, %874
  %.str.5.sink1475 = phi ptr [ @.str.5, %874 ], [ @.str.2, %870 ]
  store i32 %865, ptr %598, align 4, !tbaa !5
  %876 = load ptr, ptr @stderr, align 8, !tbaa !9
  %877 = load i32, ptr @test_count, align 4, !tbaa !5
  %878 = load i32, ptr %544, align 4, !tbaa !5
  %879 = call ptr @s2n_strerror(i32 noundef %878, ptr noundef nonnull @.str.4) #12
  %880 = load i32, ptr %544, align 4, !tbaa !5
  %881 = call ptr @s2n_strerror_debug(i32 noundef %880, ptr noundef nonnull @.str.4) #12
  %882 = load i32, ptr %598, align 4, !tbaa !5
  %883 = call ptr @strerror(i32 noundef %882) #12
  %884 = load i32, ptr %598, align 4, !tbaa !5
  %885 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %876, ptr noundef nonnull %.str.5.sink1475, i32 noundef %877, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.1, i32 noundef 130, ptr noundef %879, ptr noundef %881, ptr noundef %883, i32 noundef %884) #14
  call void @exit(i32 noundef 1) #15
  unreachable

886:                                              ; preds = %860
  %887 = load ptr, ptr %11, align 8, !tbaa !9
  %888 = getelementptr inbounds i8, ptr %887, i64 220
  store i8 33, ptr %888, align 4, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %12) #12
  store i32 0, ptr %12, align 4, !tbaa !5
  %889 = load i32, ptr @test_count, align 4, !tbaa !5
  %890 = add nsw i32 %889, 1
  store i32 %890, ptr @test_count, align 4, !tbaa !5
  %891 = call i32 @s2n_connection_serialization_length(ptr noundef %887, ptr noundef nonnull %12) #12
  %892 = icmp eq i32 %891, -1
  br i1 %892, label %893, label %915

893:                                              ; preds = %886
  %894 = load i32, ptr %598, align 4, !tbaa !5
  %895 = load ptr, ptr @stderr, align 8, !tbaa !9
  %896 = call i32 @s2n_print_stacktrace(ptr noundef %895) #12
  %897 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %898 = trunc nuw i8 %897 to i1
  br i1 %898, label %899, label %903

899:                                              ; preds = %893
  %900 = load ptr, ptr @stderr, align 8, !tbaa !9
  %901 = call i32 @fileno(ptr noundef %900) #12
  %902 = call i32 @isatty(i32 noundef %901) #12
  %.not1190 = icmp eq i32 %902, 0
  br i1 %.not1190, label %903, label %904

903:                                              ; preds = %899, %893
  br label %904

904:                                              ; preds = %899, %903
  %.str.5.sink1484 = phi ptr [ @.str.5, %903 ], [ @.str.2, %899 ]
  store i32 %894, ptr %598, align 4, !tbaa !5
  %905 = load ptr, ptr @stderr, align 8, !tbaa !9
  %906 = load i32, ptr @test_count, align 4, !tbaa !5
  %907 = load i32, ptr %544, align 4, !tbaa !5
  %908 = call ptr @s2n_strerror(i32 noundef %907, ptr noundef nonnull @.str.4) #12
  %909 = load i32, ptr %544, align 4, !tbaa !5
  %910 = call ptr @s2n_strerror_debug(i32 noundef %909, ptr noundef nonnull @.str.4) #12
  %911 = load i32, ptr %598, align 4, !tbaa !5
  %912 = call ptr @strerror(i32 noundef %911) #12
  %913 = load i32, ptr %598, align 4, !tbaa !5
  %914 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %905, ptr noundef nonnull %.str.5.sink1484, i32 noundef %906, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.1, i32 noundef 134, ptr noundef %908, ptr noundef %910, ptr noundef %912, i32 noundef %913) #14
  call void @exit(i32 noundef 1) #15
  unreachable

915:                                              ; preds = %886
  %916 = load i32, ptr @test_count, align 4, !tbaa !5
  %917 = add nsw i32 %916, 1
  store i32 %917, ptr @test_count, align 4, !tbaa !5
  %918 = load i32, ptr %12, align 4, !tbaa !5
  %919 = icmp eq i32 %918, 142
  br i1 %919, label %942, label %920

920:                                              ; preds = %915
  %921 = load i32, ptr %598, align 4, !tbaa !5
  %922 = load ptr, ptr @stderr, align 8, !tbaa !9
  %923 = call i32 @s2n_print_stacktrace(ptr noundef %922) #12
  %924 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %925 = trunc nuw i8 %924 to i1
  br i1 %925, label %926, label %930

926:                                              ; preds = %920
  %927 = load ptr, ptr @stderr, align 8, !tbaa !9
  %928 = call i32 @fileno(ptr noundef %927) #12
  %929 = call i32 @isatty(i32 noundef %928) #12
  %.not858 = icmp eq i32 %929, 0
  br i1 %.not858, label %930, label %931

930:                                              ; preds = %926, %920
  br label %931

931:                                              ; preds = %926, %930
  %.str.5.sink1493 = phi ptr [ @.str.5, %930 ], [ @.str.2, %926 ]
  store i32 %921, ptr %598, align 4, !tbaa !5
  %932 = load ptr, ptr @stderr, align 8, !tbaa !9
  %933 = load i32, ptr @test_count, align 4, !tbaa !5
  %934 = load i32, ptr %544, align 4, !tbaa !5
  %935 = call ptr @s2n_strerror(i32 noundef %934, ptr noundef nonnull @.str.4) #12
  %936 = load i32, ptr %544, align 4, !tbaa !5
  %937 = call ptr @s2n_strerror_debug(i32 noundef %936, ptr noundef nonnull @.str.4) #12
  %938 = load i32, ptr %598, align 4, !tbaa !5
  %939 = call ptr @strerror(i32 noundef %938) #12
  %940 = load i32, ptr %598, align 4, !tbaa !5
  %941 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %932, ptr noundef nonnull %.str.5.sink1493, i32 noundef %933, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.1, i32 noundef 135, ptr noundef %935, ptr noundef %937, ptr noundef %939, i32 noundef %940) #14
  call void @exit(i32 noundef 1) #15
  unreachable

942:                                              ; preds = %915
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %12) #12
  %943 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %11) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %11) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %13) #12
  %944 = call ptr @s2n_connection_new(i32 noundef 1) #12
  store ptr %944, ptr %13, align 8, !tbaa !9
  %945 = load i32, ptr @test_count, align 4, !tbaa !5
  %946 = add nsw i32 %945, 1
  store i32 %946, ptr @test_count, align 4, !tbaa !5
  %947 = icmp eq ptr %944, null
  br i1 %947, label %948, label %970

948:                                              ; preds = %942
  %949 = load i32, ptr %598, align 4, !tbaa !5
  %950 = load ptr, ptr @stderr, align 8, !tbaa !9
  %951 = call i32 @s2n_print_stacktrace(ptr noundef %950) #12
  %952 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %953 = trunc nuw i8 %952 to i1
  br i1 %953, label %954, label %958

954:                                              ; preds = %948
  %955 = load ptr, ptr @stderr, align 8, !tbaa !9
  %956 = call i32 @fileno(ptr noundef %955) #12
  %957 = call i32 @isatty(i32 noundef %956) #12
  %.not1189 = icmp eq i32 %957, 0
  br i1 %.not1189, label %958, label %959

958:                                              ; preds = %954, %948
  br label %959

959:                                              ; preds = %954, %958
  %.str.5.sink1502 = phi ptr [ @.str.5, %958 ], [ @.str.2, %954 ]
  store i32 %949, ptr %598, align 4, !tbaa !5
  %960 = load ptr, ptr @stderr, align 8, !tbaa !9
  %961 = load i32, ptr @test_count, align 4, !tbaa !5
  %962 = load i32, ptr %544, align 4, !tbaa !5
  %963 = call ptr @s2n_strerror(i32 noundef %962, ptr noundef nonnull @.str.4) #12
  %964 = load i32, ptr %544, align 4, !tbaa !5
  %965 = call ptr @s2n_strerror_debug(i32 noundef %964, ptr noundef nonnull @.str.4) #12
  %966 = load i32, ptr %598, align 4, !tbaa !5
  %967 = call ptr @strerror(i32 noundef %966) #12
  %968 = load i32, ptr %598, align 4, !tbaa !5
  %969 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %960, ptr noundef nonnull %.str.5.sink1502, i32 noundef %961, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 145, ptr noundef %963, ptr noundef %965, ptr noundef %967, i32 noundef %968) #14
  call void @exit(i32 noundef 1) #15
  unreachable

970:                                              ; preds = %942
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %14) #12
  store i8 0, ptr %14, align 1, !tbaa !51
  %971 = add nsw i32 %945, 2
  store i32 %971, ptr @test_count, align 4, !tbaa !5
  %972 = call i32 @s2n_connection_serialize(ptr noundef null, ptr noundef nonnull %14, i32 noundef 0) #12
  %973 = icmp eq i32 %972, -1
  br i1 %973, label %996, label %974

974:                                              ; preds = %970
  %975 = load i32, ptr %598, align 4, !tbaa !5
  %976 = load ptr, ptr @stderr, align 8, !tbaa !9
  %977 = call i32 @s2n_print_stacktrace(ptr noundef %976) #12
  %978 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %979 = trunc nuw i8 %978 to i1
  br i1 %979, label %980, label %984

980:                                              ; preds = %974
  %981 = load ptr, ptr @stderr, align 8, !tbaa !9
  %982 = call i32 @fileno(ptr noundef %981) #12
  %983 = call i32 @isatty(i32 noundef %982) #12
  %.not859 = icmp eq i32 %983, 0
  br i1 %.not859, label %984, label %985

984:                                              ; preds = %980, %974
  br label %985

985:                                              ; preds = %980, %984
  %.str.5.sink1511 = phi ptr [ @.str.5, %984 ], [ @.str.2, %980 ]
  store i32 %975, ptr %598, align 4, !tbaa !5
  %986 = load ptr, ptr @stderr, align 8, !tbaa !9
  %987 = load i32, ptr @test_count, align 4, !tbaa !5
  %988 = load i32, ptr %544, align 4, !tbaa !5
  %989 = call ptr @s2n_strerror(i32 noundef %988, ptr noundef nonnull @.str.4) #12
  %990 = load i32, ptr %544, align 4, !tbaa !5
  %991 = call ptr @s2n_strerror_debug(i32 noundef %990, ptr noundef nonnull @.str.4) #12
  %992 = load i32, ptr %598, align 4, !tbaa !5
  %993 = call ptr @strerror(i32 noundef %992) #12
  %994 = load i32, ptr %598, align 4, !tbaa !5
  %995 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %986, ptr noundef nonnull %.str.5.sink1511, i32 noundef %987, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.1, i32 noundef 148, ptr noundef %989, ptr noundef %991, ptr noundef %993, i32 noundef %994) #14
  call void @exit(i32 noundef 1) #15
  unreachable

996:                                              ; preds = %970
  %997 = load i32, ptr @test_count, align 4, !tbaa !5
  %998 = add nsw i32 %997, 1
  store i32 %998, ptr @test_count, align 4, !tbaa !5
  %999 = load i32, ptr %544, align 4, !tbaa !5
  %1000 = icmp eq i32 %999, 402653193
  br i1 %1000, label %1023, label %1001

1001:                                             ; preds = %996
  %1002 = load i32, ptr %598, align 4, !tbaa !5
  %1003 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1004 = call i32 @s2n_print_stacktrace(ptr noundef %1003) #12
  %1005 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1006 = trunc nuw i8 %1005 to i1
  br i1 %1006, label %1007, label %1011

1007:                                             ; preds = %1001
  %1008 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1009 = call i32 @fileno(ptr noundef %1008) #12
  %1010 = call i32 @isatty(i32 noundef %1009) #12
  %.not860 = icmp eq i32 %1010, 0
  br i1 %.not860, label %1011, label %1012

1011:                                             ; preds = %1007, %1001
  br label %1012

1012:                                             ; preds = %1007, %1011
  %.str.5.sink1520 = phi ptr [ @.str.5, %1011 ], [ @.str.2, %1007 ]
  store i32 %1002, ptr %598, align 4, !tbaa !5
  %1013 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1014 = load i32, ptr @test_count, align 4, !tbaa !5
  %1015 = load i32, ptr %544, align 4, !tbaa !5
  %1016 = call ptr @s2n_strerror(i32 noundef %1015, ptr noundef nonnull @.str.4) #12
  %1017 = load i32, ptr %544, align 4, !tbaa !5
  %1018 = call ptr @s2n_strerror_debug(i32 noundef %1017, ptr noundef nonnull @.str.4) #12
  %1019 = load i32, ptr %598, align 4, !tbaa !5
  %1020 = call ptr @strerror(i32 noundef %1019) #12
  %1021 = load i32, ptr %598, align 4, !tbaa !5
  %1022 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1013, ptr noundef nonnull %.str.5.sink1520, i32 noundef %1014, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.1, i32 noundef 148, ptr noundef %1016, ptr noundef %1018, ptr noundef %1020, i32 noundef %1021) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1023:                                             ; preds = %996
  %1024 = add nsw i32 %997, 2
  store i32 %1024, ptr @test_count, align 4, !tbaa !5
  %1025 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.4) #12
  %1026 = icmp eq ptr %1025, null
  br i1 %1026, label %1027, label %1049

1027:                                             ; preds = %1023
  %1028 = load i32, ptr %598, align 4, !tbaa !5
  %1029 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1030 = call i32 @s2n_print_stacktrace(ptr noundef %1029) #12
  %1031 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1032 = trunc nuw i8 %1031 to i1
  br i1 %1032, label %1033, label %1037

1033:                                             ; preds = %1027
  %1034 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1035 = call i32 @fileno(ptr noundef %1034) #12
  %1036 = call i32 @isatty(i32 noundef %1035) #12
  %.not1188 = icmp eq i32 %1036, 0
  br i1 %.not1188, label %1037, label %1038

1037:                                             ; preds = %1033, %1027
  br label %1038

1038:                                             ; preds = %1033, %1037
  %.str.5.sink1529 = phi ptr [ @.str.5, %1037 ], [ @.str.2, %1033 ]
  store i32 %1028, ptr %598, align 4, !tbaa !5
  %1039 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1040 = load i32, ptr @test_count, align 4, !tbaa !5
  %1041 = load i32, ptr %544, align 4, !tbaa !5
  %1042 = call ptr @s2n_strerror(i32 noundef %1041, ptr noundef nonnull @.str.4) #12
  %1043 = load i32, ptr %544, align 4, !tbaa !5
  %1044 = call ptr @s2n_strerror_debug(i32 noundef %1043, ptr noundef nonnull @.str.4) #12
  %1045 = load i32, ptr %598, align 4, !tbaa !5
  %1046 = call ptr @strerror(i32 noundef %1045) #12
  %1047 = load i32, ptr %598, align 4, !tbaa !5
  %1048 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1039, ptr noundef nonnull %.str.5.sink1529, i32 noundef %1040, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 148, ptr noundef %1042, ptr noundef %1044, ptr noundef %1046, i32 noundef %1047) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1049:                                             ; preds = %1023
  store i32 0, ptr %544, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %598, align 4, !tbaa !5
  %1050 = load i32, ptr @test_count, align 4, !tbaa !5
  %1051 = add nsw i32 %1050, 1
  store i32 %1051, ptr @test_count, align 4, !tbaa !5
  %1052 = load ptr, ptr %13, align 8, !tbaa !9
  %1053 = call i32 @s2n_connection_serialize(ptr noundef %1052, ptr noundef null, i32 noundef 0) #12
  %1054 = icmp eq i32 %1053, -1
  br i1 %1054, label %1077, label %1055

1055:                                             ; preds = %1049
  %1056 = load i32, ptr %598, align 4, !tbaa !5
  %1057 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1058 = call i32 @s2n_print_stacktrace(ptr noundef %1057) #12
  %1059 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1060 = trunc nuw i8 %1059 to i1
  br i1 %1060, label %1061, label %1065

1061:                                             ; preds = %1055
  %1062 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1063 = call i32 @fileno(ptr noundef %1062) #12
  %1064 = call i32 @isatty(i32 noundef %1063) #12
  %.not861 = icmp eq i32 %1064, 0
  br i1 %.not861, label %1065, label %1066

1065:                                             ; preds = %1061, %1055
  br label %1066

1066:                                             ; preds = %1061, %1065
  %.str.5.sink1538 = phi ptr [ @.str.5, %1065 ], [ @.str.2, %1061 ]
  store i32 %1056, ptr %598, align 4, !tbaa !5
  %1067 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1068 = load i32, ptr @test_count, align 4, !tbaa !5
  %1069 = load i32, ptr %544, align 4, !tbaa !5
  %1070 = call ptr @s2n_strerror(i32 noundef %1069, ptr noundef nonnull @.str.4) #12
  %1071 = load i32, ptr %544, align 4, !tbaa !5
  %1072 = call ptr @s2n_strerror_debug(i32 noundef %1071, ptr noundef nonnull @.str.4) #12
  %1073 = load i32, ptr %598, align 4, !tbaa !5
  %1074 = call ptr @strerror(i32 noundef %1073) #12
  %1075 = load i32, ptr %598, align 4, !tbaa !5
  %1076 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1067, ptr noundef nonnull %.str.5.sink1538, i32 noundef %1068, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.1, i32 noundef 149, ptr noundef %1070, ptr noundef %1072, ptr noundef %1074, i32 noundef %1075) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1077:                                             ; preds = %1049
  %1078 = load i32, ptr @test_count, align 4, !tbaa !5
  %1079 = add nsw i32 %1078, 1
  store i32 %1079, ptr @test_count, align 4, !tbaa !5
  %1080 = load i32, ptr %544, align 4, !tbaa !5
  %1081 = icmp eq i32 %1080, 402653193
  br i1 %1081, label %1104, label %1082

1082:                                             ; preds = %1077
  %1083 = load i32, ptr %598, align 4, !tbaa !5
  %1084 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1085 = call i32 @s2n_print_stacktrace(ptr noundef %1084) #12
  %1086 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1087 = trunc nuw i8 %1086 to i1
  br i1 %1087, label %1088, label %1092

1088:                                             ; preds = %1082
  %1089 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1090 = call i32 @fileno(ptr noundef %1089) #12
  %1091 = call i32 @isatty(i32 noundef %1090) #12
  %.not862 = icmp eq i32 %1091, 0
  br i1 %.not862, label %1092, label %1093

1092:                                             ; preds = %1088, %1082
  br label %1093

1093:                                             ; preds = %1088, %1092
  %.str.5.sink1547 = phi ptr [ @.str.5, %1092 ], [ @.str.2, %1088 ]
  store i32 %1083, ptr %598, align 4, !tbaa !5
  %1094 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1095 = load i32, ptr @test_count, align 4, !tbaa !5
  %1096 = load i32, ptr %544, align 4, !tbaa !5
  %1097 = call ptr @s2n_strerror(i32 noundef %1096, ptr noundef nonnull @.str.4) #12
  %1098 = load i32, ptr %544, align 4, !tbaa !5
  %1099 = call ptr @s2n_strerror_debug(i32 noundef %1098, ptr noundef nonnull @.str.4) #12
  %1100 = load i32, ptr %598, align 4, !tbaa !5
  %1101 = call ptr @strerror(i32 noundef %1100) #12
  %1102 = load i32, ptr %598, align 4, !tbaa !5
  %1103 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1094, ptr noundef nonnull %.str.5.sink1547, i32 noundef %1095, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.1, i32 noundef 149, ptr noundef %1097, ptr noundef %1099, ptr noundef %1101, i32 noundef %1102) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1104:                                             ; preds = %1077
  %1105 = add nsw i32 %1078, 2
  store i32 %1105, ptr @test_count, align 4, !tbaa !5
  %1106 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.4) #12
  %1107 = icmp eq ptr %1106, null
  br i1 %1107, label %1108, label %1130

1108:                                             ; preds = %1104
  %1109 = load i32, ptr %598, align 4, !tbaa !5
  %1110 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1111 = call i32 @s2n_print_stacktrace(ptr noundef %1110) #12
  %1112 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1113 = trunc nuw i8 %1112 to i1
  br i1 %1113, label %1114, label %1118

1114:                                             ; preds = %1108
  %1115 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1116 = call i32 @fileno(ptr noundef %1115) #12
  %1117 = call i32 @isatty(i32 noundef %1116) #12
  %.not1187 = icmp eq i32 %1117, 0
  br i1 %.not1187, label %1118, label %1119

1118:                                             ; preds = %1114, %1108
  br label %1119

1119:                                             ; preds = %1114, %1118
  %.str.5.sink1556 = phi ptr [ @.str.5, %1118 ], [ @.str.2, %1114 ]
  store i32 %1109, ptr %598, align 4, !tbaa !5
  %1120 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1121 = load i32, ptr @test_count, align 4, !tbaa !5
  %1122 = load i32, ptr %544, align 4, !tbaa !5
  %1123 = call ptr @s2n_strerror(i32 noundef %1122, ptr noundef nonnull @.str.4) #12
  %1124 = load i32, ptr %544, align 4, !tbaa !5
  %1125 = call ptr @s2n_strerror_debug(i32 noundef %1124, ptr noundef nonnull @.str.4) #12
  %1126 = load i32, ptr %598, align 4, !tbaa !5
  %1127 = call ptr @strerror(i32 noundef %1126) #12
  %1128 = load i32, ptr %598, align 4, !tbaa !5
  %1129 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1120, ptr noundef nonnull %.str.5.sink1556, i32 noundef %1121, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 149, ptr noundef %1123, ptr noundef %1125, ptr noundef %1127, i32 noundef %1128) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1130:                                             ; preds = %1104
  store i32 0, ptr %544, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %598, align 4, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %14) #12
  %1131 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %13) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %13) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %15) #12
  %1132 = call ptr @s2n_connection_new(i32 noundef 1) #12
  store ptr %1132, ptr %15, align 8, !tbaa !9
  %1133 = load i32, ptr @test_count, align 4, !tbaa !5
  %1134 = add nsw i32 %1133, 1
  store i32 %1134, ptr @test_count, align 4, !tbaa !5
  %1135 = icmp eq ptr %1132, null
  br i1 %1135, label %1136, label %1158

1136:                                             ; preds = %1130
  %1137 = load i32, ptr %598, align 4, !tbaa !5
  %1138 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1139 = call i32 @s2n_print_stacktrace(ptr noundef %1138) #12
  %1140 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1141 = trunc nuw i8 %1140 to i1
  br i1 %1141, label %1142, label %1146

1142:                                             ; preds = %1136
  %1143 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1144 = call i32 @fileno(ptr noundef %1143) #12
  %1145 = call i32 @isatty(i32 noundef %1144) #12
  %.not1186 = icmp eq i32 %1145, 0
  br i1 %.not1186, label %1146, label %1147

1146:                                             ; preds = %1142, %1136
  br label %1147

1147:                                             ; preds = %1142, %1146
  %.str.5.sink1565 = phi ptr [ @.str.5, %1146 ], [ @.str.2, %1142 ]
  store i32 %1137, ptr %598, align 4, !tbaa !5
  %1148 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1149 = load i32, ptr @test_count, align 4, !tbaa !5
  %1150 = load i32, ptr %544, align 4, !tbaa !5
  %1151 = call ptr @s2n_strerror(i32 noundef %1150, ptr noundef nonnull @.str.4) #12
  %1152 = load i32, ptr %544, align 4, !tbaa !5
  %1153 = call ptr @s2n_strerror_debug(i32 noundef %1152, ptr noundef nonnull @.str.4) #12
  %1154 = load i32, ptr %598, align 4, !tbaa !5
  %1155 = call ptr @strerror(i32 noundef %1154) #12
  %1156 = load i32, ptr %598, align 4, !tbaa !5
  %1157 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1148, ptr noundef nonnull %.str.5.sink1565, i32 noundef %1149, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 156, ptr noundef %1151, ptr noundef %1153, ptr noundef %1155, i32 noundef %1156) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1158:                                             ; preds = %1130
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %16) #12
  %1159 = call ptr @s2n_config_new() #12
  store ptr %1159, ptr %16, align 8, !tbaa !9
  %1160 = load i32, ptr @test_count, align 4, !tbaa !5
  %1161 = add nsw i32 %1160, 1
  store i32 %1161, ptr @test_count, align 4, !tbaa !5
  %1162 = icmp eq ptr %1159, null
  br i1 %1162, label %1163, label %1185

1163:                                             ; preds = %1158
  %1164 = load i32, ptr %598, align 4, !tbaa !5
  %1165 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1166 = call i32 @s2n_print_stacktrace(ptr noundef %1165) #12
  %1167 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1168 = trunc nuw i8 %1167 to i1
  br i1 %1168, label %1169, label %1173

1169:                                             ; preds = %1163
  %1170 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1171 = call i32 @fileno(ptr noundef %1170) #12
  %1172 = call i32 @isatty(i32 noundef %1171) #12
  %.not1185 = icmp eq i32 %1172, 0
  br i1 %.not1185, label %1173, label %1174

1173:                                             ; preds = %1169, %1163
  br label %1174

1174:                                             ; preds = %1169, %1173
  %.str.5.sink1574 = phi ptr [ @.str.5, %1173 ], [ @.str.2, %1169 ]
  store i32 %1164, ptr %598, align 4, !tbaa !5
  %1175 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1176 = load i32, ptr @test_count, align 4, !tbaa !5
  %1177 = load i32, ptr %544, align 4, !tbaa !5
  %1178 = call ptr @s2n_strerror(i32 noundef %1177, ptr noundef nonnull @.str.4) #12
  %1179 = load i32, ptr %544, align 4, !tbaa !5
  %1180 = call ptr @s2n_strerror_debug(i32 noundef %1179, ptr noundef nonnull @.str.4) #12
  %1181 = load i32, ptr %598, align 4, !tbaa !5
  %1182 = call ptr @strerror(i32 noundef %1181) #12
  %1183 = load i32, ptr %598, align 4, !tbaa !5
  %1184 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1175, ptr noundef nonnull %.str.5.sink1574, i32 noundef %1176, ptr noundef nonnull @.str.34, ptr noundef nonnull @.str.1, i32 noundef 158, ptr noundef %1178, ptr noundef %1180, ptr noundef %1182, i32 noundef %1183) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1185:                                             ; preds = %1158
  %1186 = add nsw i32 %1160, 2
  store i32 %1186, ptr @test_count, align 4, !tbaa !5
  %1187 = load ptr, ptr %15, align 8, !tbaa !9
  %1188 = call i32 @s2n_connection_set_config(ptr noundef %1187, ptr noundef nonnull %1159) #12
  %1189 = icmp eq i32 %1188, -1
  br i1 %1189, label %1190, label %1212

1190:                                             ; preds = %1185
  %1191 = load i32, ptr %598, align 4, !tbaa !5
  %1192 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1193 = call i32 @s2n_print_stacktrace(ptr noundef %1192) #12
  %1194 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1195 = trunc nuw i8 %1194 to i1
  br i1 %1195, label %1196, label %1200

1196:                                             ; preds = %1190
  %1197 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1198 = call i32 @fileno(ptr noundef %1197) #12
  %1199 = call i32 @isatty(i32 noundef %1198) #12
  %.not1184 = icmp eq i32 %1199, 0
  br i1 %.not1184, label %1200, label %1201

1200:                                             ; preds = %1196, %1190
  br label %1201

1201:                                             ; preds = %1196, %1200
  %.str.5.sink1583 = phi ptr [ @.str.5, %1200 ], [ @.str.2, %1196 ]
  store i32 %1191, ptr %598, align 4, !tbaa !5
  %1202 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1203 = load i32, ptr @test_count, align 4, !tbaa !5
  %1204 = load i32, ptr %544, align 4, !tbaa !5
  %1205 = call ptr @s2n_strerror(i32 noundef %1204, ptr noundef nonnull @.str.4) #12
  %1206 = load i32, ptr %544, align 4, !tbaa !5
  %1207 = call ptr @s2n_strerror_debug(i32 noundef %1206, ptr noundef nonnull @.str.4) #12
  %1208 = load i32, ptr %598, align 4, !tbaa !5
  %1209 = call ptr @strerror(i32 noundef %1208) #12
  %1210 = load i32, ptr %598, align 4, !tbaa !5
  %1211 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1202, ptr noundef nonnull %.str.5.sink1583, i32 noundef %1203, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.1, i32 noundef 159, ptr noundef %1205, ptr noundef %1207, ptr noundef %1209, i32 noundef %1210) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1212:                                             ; preds = %1185
  call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %17) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 1 dereferenceable(10) %17, i8 0, i64 10, i1 false)
  %1213 = load i32, ptr @test_count, align 4, !tbaa !5
  %1214 = add nsw i32 %1213, 1
  store i32 %1214, ptr @test_count, align 4, !tbaa !5
  %1215 = load ptr, ptr %15, align 8, !tbaa !9
  %1216 = call i32 @s2n_connection_serialize(ptr noundef %1215, ptr noundef nonnull %17, i32 noundef 10) #12
  %1217 = icmp eq i32 %1216, -1
  br i1 %1217, label %1240, label %1218

1218:                                             ; preds = %1212
  %1219 = load i32, ptr %598, align 4, !tbaa !5
  %1220 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1221 = call i32 @s2n_print_stacktrace(ptr noundef %1220) #12
  %1222 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1223 = trunc nuw i8 %1222 to i1
  br i1 %1223, label %1224, label %1228

1224:                                             ; preds = %1218
  %1225 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1226 = call i32 @fileno(ptr noundef %1225) #12
  %1227 = call i32 @isatty(i32 noundef %1226) #12
  %.not863 = icmp eq i32 %1227, 0
  br i1 %.not863, label %1228, label %1229

1228:                                             ; preds = %1224, %1218
  br label %1229

1229:                                             ; preds = %1224, %1228
  %.str.5.sink1592 = phi ptr [ @.str.5, %1228 ], [ @.str.2, %1224 ]
  store i32 %1219, ptr %598, align 4, !tbaa !5
  %1230 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1231 = load i32, ptr @test_count, align 4, !tbaa !5
  %1232 = load i32, ptr %544, align 4, !tbaa !5
  %1233 = call ptr @s2n_strerror(i32 noundef %1232, ptr noundef nonnull @.str.4) #12
  %1234 = load i32, ptr %544, align 4, !tbaa !5
  %1235 = call ptr @s2n_strerror_debug(i32 noundef %1234, ptr noundef nonnull @.str.4) #12
  %1236 = load i32, ptr %598, align 4, !tbaa !5
  %1237 = call ptr @strerror(i32 noundef %1236) #12
  %1238 = load i32, ptr %598, align 4, !tbaa !5
  %1239 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1230, ptr noundef nonnull %.str.5.sink1592, i32 noundef %1231, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.1, i32 noundef 166, ptr noundef %1233, ptr noundef %1235, ptr noundef %1237, i32 noundef %1238) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1240:                                             ; preds = %1212
  %1241 = load i32, ptr @test_count, align 4, !tbaa !5
  %1242 = add nsw i32 %1241, 1
  store i32 %1242, ptr @test_count, align 4, !tbaa !5
  %1243 = load i32, ptr %544, align 4, !tbaa !5
  %1244 = icmp eq i32 %1243, 469762112
  br i1 %1244, label %1267, label %1245

1245:                                             ; preds = %1240
  %1246 = load i32, ptr %598, align 4, !tbaa !5
  %1247 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1248 = call i32 @s2n_print_stacktrace(ptr noundef %1247) #12
  %1249 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1250 = trunc nuw i8 %1249 to i1
  br i1 %1250, label %1251, label %1255

1251:                                             ; preds = %1245
  %1252 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1253 = call i32 @fileno(ptr noundef %1252) #12
  %1254 = call i32 @isatty(i32 noundef %1253) #12
  %.not864 = icmp eq i32 %1254, 0
  br i1 %.not864, label %1255, label %1256

1255:                                             ; preds = %1251, %1245
  br label %1256

1256:                                             ; preds = %1251, %1255
  %.str.5.sink1601 = phi ptr [ @.str.5, %1255 ], [ @.str.2, %1251 ]
  store i32 %1246, ptr %598, align 4, !tbaa !5
  %1257 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1258 = load i32, ptr @test_count, align 4, !tbaa !5
  %1259 = load i32, ptr %544, align 4, !tbaa !5
  %1260 = call ptr @s2n_strerror(i32 noundef %1259, ptr noundef nonnull @.str.4) #12
  %1261 = load i32, ptr %544, align 4, !tbaa !5
  %1262 = call ptr @s2n_strerror_debug(i32 noundef %1261, ptr noundef nonnull @.str.4) #12
  %1263 = load i32, ptr %598, align 4, !tbaa !5
  %1264 = call ptr @strerror(i32 noundef %1263) #12
  %1265 = load i32, ptr %598, align 4, !tbaa !5
  %1266 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1257, ptr noundef nonnull %.str.5.sink1601, i32 noundef %1258, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.1, i32 noundef 166, ptr noundef %1260, ptr noundef %1262, ptr noundef %1264, i32 noundef %1265) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1267:                                             ; preds = %1240
  %1268 = add nsw i32 %1241, 2
  store i32 %1268, ptr @test_count, align 4, !tbaa !5
  %1269 = call ptr @s2n_strerror_debug(i32 noundef 469762112, ptr noundef nonnull @.str.4) #12
  %1270 = icmp eq ptr %1269, null
  br i1 %1270, label %1271, label %1293

1271:                                             ; preds = %1267
  %1272 = load i32, ptr %598, align 4, !tbaa !5
  %1273 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1274 = call i32 @s2n_print_stacktrace(ptr noundef %1273) #12
  %1275 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1276 = trunc nuw i8 %1275 to i1
  br i1 %1276, label %1277, label %1281

1277:                                             ; preds = %1271
  %1278 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1279 = call i32 @fileno(ptr noundef %1278) #12
  %1280 = call i32 @isatty(i32 noundef %1279) #12
  %.not1183 = icmp eq i32 %1280, 0
  br i1 %.not1183, label %1281, label %1282

1281:                                             ; preds = %1277, %1271
  br label %1282

1282:                                             ; preds = %1277, %1281
  %.str.5.sink1610 = phi ptr [ @.str.5, %1281 ], [ @.str.2, %1277 ]
  store i32 %1272, ptr %598, align 4, !tbaa !5
  %1283 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1284 = load i32, ptr @test_count, align 4, !tbaa !5
  %1285 = load i32, ptr %544, align 4, !tbaa !5
  %1286 = call ptr @s2n_strerror(i32 noundef %1285, ptr noundef nonnull @.str.4) #12
  %1287 = load i32, ptr %544, align 4, !tbaa !5
  %1288 = call ptr @s2n_strerror_debug(i32 noundef %1287, ptr noundef nonnull @.str.4) #12
  %1289 = load i32, ptr %598, align 4, !tbaa !5
  %1290 = call ptr @strerror(i32 noundef %1289) #12
  %1291 = load i32, ptr %598, align 4, !tbaa !5
  %1292 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1283, ptr noundef nonnull %.str.5.sink1610, i32 noundef %1284, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 166, ptr noundef %1286, ptr noundef %1288, ptr noundef %1290, i32 noundef %1291) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1293:                                             ; preds = %1267
  store i32 0, ptr %544, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %598, align 4, !tbaa !5
  %1294 = load i32, ptr @test_count, align 4, !tbaa !5
  %1295 = add nsw i32 %1294, 1
  store i32 %1295, ptr @test_count, align 4, !tbaa !5
  %1296 = load ptr, ptr %16, align 8, !tbaa !9
  %1297 = call i32 @s2n_config_set_serialization_version(ptr noundef %1296, i32 noundef 1) #12
  %1298 = icmp eq i32 %1297, -1
  br i1 %1298, label %1299, label %1321

1299:                                             ; preds = %1293
  %1300 = load i32, ptr %598, align 4, !tbaa !5
  %1301 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1302 = call i32 @s2n_print_stacktrace(ptr noundef %1301) #12
  %1303 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1304 = trunc nuw i8 %1303 to i1
  br i1 %1304, label %1305, label %1309

1305:                                             ; preds = %1299
  %1306 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1307 = call i32 @fileno(ptr noundef %1306) #12
  %1308 = call i32 @isatty(i32 noundef %1307) #12
  %.not1182 = icmp eq i32 %1308, 0
  br i1 %.not1182, label %1309, label %1310

1309:                                             ; preds = %1305, %1299
  br label %1310

1310:                                             ; preds = %1305, %1309
  %.str.5.sink1619 = phi ptr [ @.str.5, %1309 ], [ @.str.2, %1305 ]
  store i32 %1300, ptr %598, align 4, !tbaa !5
  %1311 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1312 = load i32, ptr @test_count, align 4, !tbaa !5
  %1313 = load i32, ptr %544, align 4, !tbaa !5
  %1314 = call ptr @s2n_strerror(i32 noundef %1313, ptr noundef nonnull @.str.4) #12
  %1315 = load i32, ptr %544, align 4, !tbaa !5
  %1316 = call ptr @s2n_strerror_debug(i32 noundef %1315, ptr noundef nonnull @.str.4) #12
  %1317 = load i32, ptr %598, align 4, !tbaa !5
  %1318 = call ptr @strerror(i32 noundef %1317) #12
  %1319 = load i32, ptr %598, align 4, !tbaa !5
  %1320 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1311, ptr noundef nonnull %.str.5.sink1619, i32 noundef %1312, ptr noundef nonnull @.str.38, ptr noundef nonnull @.str.1, i32 noundef 169, ptr noundef %1314, ptr noundef %1316, ptr noundef %1318, i32 noundef %1319) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1321:                                             ; preds = %1293
  %1322 = load i32, ptr @test_count, align 4, !tbaa !5
  %1323 = add nsw i32 %1322, 1
  store i32 %1323, ptr @test_count, align 4, !tbaa !5
  %1324 = load ptr, ptr %15, align 8, !tbaa !9
  %1325 = call i32 @s2n_connection_serialize(ptr noundef %1324, ptr noundef nonnull %17, i32 noundef 10) #12
  %1326 = icmp eq i32 %1325, -1
  br i1 %1326, label %1349, label %1327

1327:                                             ; preds = %1321
  %1328 = load i32, ptr %598, align 4, !tbaa !5
  %1329 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1330 = call i32 @s2n_print_stacktrace(ptr noundef %1329) #12
  %1331 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1332 = trunc nuw i8 %1331 to i1
  br i1 %1332, label %1333, label %1337

1333:                                             ; preds = %1327
  %1334 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1335 = call i32 @fileno(ptr noundef %1334) #12
  %1336 = call i32 @isatty(i32 noundef %1335) #12
  %.not865 = icmp eq i32 %1336, 0
  br i1 %.not865, label %1337, label %1338

1337:                                             ; preds = %1333, %1327
  br label %1338

1338:                                             ; preds = %1333, %1337
  %.str.5.sink1628 = phi ptr [ @.str.5, %1337 ], [ @.str.2, %1333 ]
  store i32 %1328, ptr %598, align 4, !tbaa !5
  %1339 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1340 = load i32, ptr @test_count, align 4, !tbaa !5
  %1341 = load i32, ptr %544, align 4, !tbaa !5
  %1342 = call ptr @s2n_strerror(i32 noundef %1341, ptr noundef nonnull @.str.4) #12
  %1343 = load i32, ptr %544, align 4, !tbaa !5
  %1344 = call ptr @s2n_strerror_debug(i32 noundef %1343, ptr noundef nonnull @.str.4) #12
  %1345 = load i32, ptr %598, align 4, !tbaa !5
  %1346 = call ptr @strerror(i32 noundef %1345) #12
  %1347 = load i32, ptr %598, align 4, !tbaa !5
  %1348 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1339, ptr noundef nonnull %.str.5.sink1628, i32 noundef %1340, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.1, i32 noundef 171, ptr noundef %1342, ptr noundef %1344, ptr noundef %1346, i32 noundef %1347) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1349:                                             ; preds = %1321
  %1350 = load i32, ptr @test_count, align 4, !tbaa !5
  %1351 = add nsw i32 %1350, 1
  store i32 %1351, ptr @test_count, align 4, !tbaa !5
  %1352 = load i32, ptr %544, align 4, !tbaa !5
  %1353 = icmp eq i32 %1352, 469762124
  br i1 %1353, label %1376, label %1354

1354:                                             ; preds = %1349
  %1355 = load i32, ptr %598, align 4, !tbaa !5
  %1356 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1357 = call i32 @s2n_print_stacktrace(ptr noundef %1356) #12
  %1358 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1359 = trunc nuw i8 %1358 to i1
  br i1 %1359, label %1360, label %1364

1360:                                             ; preds = %1354
  %1361 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1362 = call i32 @fileno(ptr noundef %1361) #12
  %1363 = call i32 @isatty(i32 noundef %1362) #12
  %.not866 = icmp eq i32 %1363, 0
  br i1 %.not866, label %1364, label %1365

1364:                                             ; preds = %1360, %1354
  br label %1365

1365:                                             ; preds = %1360, %1364
  %.str.5.sink1637 = phi ptr [ @.str.5, %1364 ], [ @.str.2, %1360 ]
  store i32 %1355, ptr %598, align 4, !tbaa !5
  %1366 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1367 = load i32, ptr @test_count, align 4, !tbaa !5
  %1368 = load i32, ptr %544, align 4, !tbaa !5
  %1369 = call ptr @s2n_strerror(i32 noundef %1368, ptr noundef nonnull @.str.4) #12
  %1370 = load i32, ptr %544, align 4, !tbaa !5
  %1371 = call ptr @s2n_strerror_debug(i32 noundef %1370, ptr noundef nonnull @.str.4) #12
  %1372 = load i32, ptr %598, align 4, !tbaa !5
  %1373 = call ptr @strerror(i32 noundef %1372) #12
  %1374 = load i32, ptr %598, align 4, !tbaa !5
  %1375 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1366, ptr noundef nonnull %.str.5.sink1637, i32 noundef %1367, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.1, i32 noundef 171, ptr noundef %1369, ptr noundef %1371, ptr noundef %1373, i32 noundef %1374) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1376:                                             ; preds = %1349
  %1377 = add nsw i32 %1350, 2
  store i32 %1377, ptr @test_count, align 4, !tbaa !5
  %1378 = call ptr @s2n_strerror_debug(i32 noundef 469762124, ptr noundef nonnull @.str.4) #12
  %1379 = icmp eq ptr %1378, null
  br i1 %1379, label %1380, label %1402

1380:                                             ; preds = %1376
  %1381 = load i32, ptr %598, align 4, !tbaa !5
  %1382 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1383 = call i32 @s2n_print_stacktrace(ptr noundef %1382) #12
  %1384 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1385 = trunc nuw i8 %1384 to i1
  br i1 %1385, label %1386, label %1390

1386:                                             ; preds = %1380
  %1387 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1388 = call i32 @fileno(ptr noundef %1387) #12
  %1389 = call i32 @isatty(i32 noundef %1388) #12
  %.not1181 = icmp eq i32 %1389, 0
  br i1 %.not1181, label %1390, label %1391

1390:                                             ; preds = %1386, %1380
  br label %1391

1391:                                             ; preds = %1386, %1390
  %.str.5.sink1646 = phi ptr [ @.str.5, %1390 ], [ @.str.2, %1386 ]
  store i32 %1381, ptr %598, align 4, !tbaa !5
  %1392 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1393 = load i32, ptr @test_count, align 4, !tbaa !5
  %1394 = load i32, ptr %544, align 4, !tbaa !5
  %1395 = call ptr @s2n_strerror(i32 noundef %1394, ptr noundef nonnull @.str.4) #12
  %1396 = load i32, ptr %544, align 4, !tbaa !5
  %1397 = call ptr @s2n_strerror_debug(i32 noundef %1396, ptr noundef nonnull @.str.4) #12
  %1398 = load i32, ptr %598, align 4, !tbaa !5
  %1399 = call ptr @strerror(i32 noundef %1398) #12
  %1400 = load i32, ptr %598, align 4, !tbaa !5
  %1401 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1392, ptr noundef nonnull %.str.5.sink1646, i32 noundef %1393, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 171, ptr noundef %1395, ptr noundef %1397, ptr noundef %1399, i32 noundef %1400) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1402:                                             ; preds = %1376
  store i32 0, ptr %544, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %598, align 4, !tbaa !5
  %1403 = load i32, ptr @test_count, align 4, !tbaa !5
  %1404 = add nsw i32 %1403, 1
  store i32 %1404, ptr @test_count, align 4, !tbaa !5
  %1405 = load ptr, ptr %15, align 8, !tbaa !9
  %1406 = call i32 @s2n_skip_handshake(ptr noundef %1405) #12
  %1407 = call zeroext i1 @s2n_result_is_ok(i32 %1406)
  br i1 %1407, label %1430, label %1408

1408:                                             ; preds = %1402
  %1409 = load i32, ptr %598, align 4, !tbaa !5
  %1410 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1411 = call i32 @s2n_print_stacktrace(ptr noundef %1410) #12
  %1412 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1413 = trunc nuw i8 %1412 to i1
  br i1 %1413, label %1414, label %1418

1414:                                             ; preds = %1408
  %1415 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1416 = call i32 @fileno(ptr noundef %1415) #12
  %1417 = call i32 @isatty(i32 noundef %1416) #12
  %.not867 = icmp eq i32 %1417, 0
  br i1 %.not867, label %1418, label %1419

1418:                                             ; preds = %1414, %1408
  br label %1419

1419:                                             ; preds = %1414, %1418
  %.str.5.sink1655 = phi ptr [ @.str.5, %1418 ], [ @.str.2, %1414 ]
  store i32 %1409, ptr %598, align 4, !tbaa !5
  %1420 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1421 = load i32, ptr @test_count, align 4, !tbaa !5
  %1422 = load i32, ptr %544, align 4, !tbaa !5
  %1423 = call ptr @s2n_strerror(i32 noundef %1422, ptr noundef nonnull @.str.4) #12
  %1424 = load i32, ptr %544, align 4, !tbaa !5
  %1425 = call ptr @s2n_strerror_debug(i32 noundef %1424, ptr noundef nonnull @.str.4) #12
  %1426 = load i32, ptr %598, align 4, !tbaa !5
  %1427 = call ptr @strerror(i32 noundef %1426) #12
  %1428 = load i32, ptr %598, align 4, !tbaa !5
  %1429 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1420, ptr noundef nonnull %.str.5.sink1655, i32 noundef %1421, ptr noundef nonnull @.str.40, ptr noundef nonnull @.str.1, i32 noundef 174, ptr noundef %1423, ptr noundef %1425, ptr noundef %1427, i32 noundef %1428) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1430:                                             ; preds = %1402
  %1431 = load i32, ptr @test_count, align 4, !tbaa !5
  %1432 = add nsw i32 %1431, 1
  store i32 %1432, ptr @test_count, align 4, !tbaa !5
  %1433 = load ptr, ptr %15, align 8, !tbaa !9
  %1434 = call i32 @s2n_connection_serialize(ptr noundef %1433, ptr noundef nonnull %17, i32 noundef 10) #12
  %1435 = icmp eq i32 %1434, -1
  br i1 %1435, label %1458, label %1436

1436:                                             ; preds = %1430
  %1437 = load i32, ptr %598, align 4, !tbaa !5
  %1438 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1439 = call i32 @s2n_print_stacktrace(ptr noundef %1438) #12
  %1440 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1441 = trunc nuw i8 %1440 to i1
  br i1 %1441, label %1442, label %1446

1442:                                             ; preds = %1436
  %1443 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1444 = call i32 @fileno(ptr noundef %1443) #12
  %1445 = call i32 @isatty(i32 noundef %1444) #12
  %.not868 = icmp eq i32 %1445, 0
  br i1 %.not868, label %1446, label %1447

1446:                                             ; preds = %1442, %1436
  br label %1447

1447:                                             ; preds = %1442, %1446
  %.str.5.sink1664 = phi ptr [ @.str.5, %1446 ], [ @.str.2, %1442 ]
  store i32 %1437, ptr %598, align 4, !tbaa !5
  %1448 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1449 = load i32, ptr @test_count, align 4, !tbaa !5
  %1450 = load i32, ptr %544, align 4, !tbaa !5
  %1451 = call ptr @s2n_strerror(i32 noundef %1450, ptr noundef nonnull @.str.4) #12
  %1452 = load i32, ptr %544, align 4, !tbaa !5
  %1453 = call ptr @s2n_strerror_debug(i32 noundef %1452, ptr noundef nonnull @.str.4) #12
  %1454 = load i32, ptr %598, align 4, !tbaa !5
  %1455 = call ptr @strerror(i32 noundef %1454) #12
  %1456 = load i32, ptr %598, align 4, !tbaa !5
  %1457 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1448, ptr noundef nonnull %.str.5.sink1664, i32 noundef %1449, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.1, i32 noundef 176, ptr noundef %1451, ptr noundef %1453, ptr noundef %1455, i32 noundef %1456) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1458:                                             ; preds = %1430
  %1459 = load i32, ptr @test_count, align 4, !tbaa !5
  %1460 = add nsw i32 %1459, 1
  store i32 %1460, ptr @test_count, align 4, !tbaa !5
  %1461 = load i32, ptr %544, align 4, !tbaa !5
  %1462 = icmp eq i32 %1461, 469762120
  br i1 %1462, label %1485, label %1463

1463:                                             ; preds = %1458
  %1464 = load i32, ptr %598, align 4, !tbaa !5
  %1465 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1466 = call i32 @s2n_print_stacktrace(ptr noundef %1465) #12
  %1467 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1468 = trunc nuw i8 %1467 to i1
  br i1 %1468, label %1469, label %1473

1469:                                             ; preds = %1463
  %1470 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1471 = call i32 @fileno(ptr noundef %1470) #12
  %1472 = call i32 @isatty(i32 noundef %1471) #12
  %.not869 = icmp eq i32 %1472, 0
  br i1 %.not869, label %1473, label %1474

1473:                                             ; preds = %1469, %1463
  br label %1474

1474:                                             ; preds = %1469, %1473
  %.str.5.sink1673 = phi ptr [ @.str.5, %1473 ], [ @.str.2, %1469 ]
  store i32 %1464, ptr %598, align 4, !tbaa !5
  %1475 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1476 = load i32, ptr @test_count, align 4, !tbaa !5
  %1477 = load i32, ptr %544, align 4, !tbaa !5
  %1478 = call ptr @s2n_strerror(i32 noundef %1477, ptr noundef nonnull @.str.4) #12
  %1479 = load i32, ptr %544, align 4, !tbaa !5
  %1480 = call ptr @s2n_strerror_debug(i32 noundef %1479, ptr noundef nonnull @.str.4) #12
  %1481 = load i32, ptr %598, align 4, !tbaa !5
  %1482 = call ptr @strerror(i32 noundef %1481) #12
  %1483 = load i32, ptr %598, align 4, !tbaa !5
  %1484 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1475, ptr noundef nonnull %.str.5.sink1673, i32 noundef %1476, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.1, i32 noundef 176, ptr noundef %1478, ptr noundef %1480, ptr noundef %1482, i32 noundef %1483) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1485:                                             ; preds = %1458
  %1486 = add nsw i32 %1459, 2
  store i32 %1486, ptr @test_count, align 4, !tbaa !5
  %1487 = call ptr @s2n_strerror_debug(i32 noundef 469762120, ptr noundef nonnull @.str.4) #12
  %1488 = icmp eq ptr %1487, null
  br i1 %1488, label %1489, label %1511

1489:                                             ; preds = %1485
  %1490 = load i32, ptr %598, align 4, !tbaa !5
  %1491 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1492 = call i32 @s2n_print_stacktrace(ptr noundef %1491) #12
  %1493 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1494 = trunc nuw i8 %1493 to i1
  br i1 %1494, label %1495, label %1499

1495:                                             ; preds = %1489
  %1496 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1497 = call i32 @fileno(ptr noundef %1496) #12
  %1498 = call i32 @isatty(i32 noundef %1497) #12
  %.not1180 = icmp eq i32 %1498, 0
  br i1 %.not1180, label %1499, label %1500

1499:                                             ; preds = %1495, %1489
  br label %1500

1500:                                             ; preds = %1495, %1499
  %.str.5.sink1682 = phi ptr [ @.str.5, %1499 ], [ @.str.2, %1495 ]
  store i32 %1490, ptr %598, align 4, !tbaa !5
  %1501 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1502 = load i32, ptr @test_count, align 4, !tbaa !5
  %1503 = load i32, ptr %544, align 4, !tbaa !5
  %1504 = call ptr @s2n_strerror(i32 noundef %1503, ptr noundef nonnull @.str.4) #12
  %1505 = load i32, ptr %544, align 4, !tbaa !5
  %1506 = call ptr @s2n_strerror_debug(i32 noundef %1505, ptr noundef nonnull @.str.4) #12
  %1507 = load i32, ptr %598, align 4, !tbaa !5
  %1508 = call ptr @strerror(i32 noundef %1507) #12
  %1509 = load i32, ptr %598, align 4, !tbaa !5
  %1510 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1501, ptr noundef nonnull %.str.5.sink1682, i32 noundef %1502, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 176, ptr noundef %1504, ptr noundef %1506, ptr noundef %1508, i32 noundef %1509) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1511:                                             ; preds = %1485
  store i32 0, ptr %544, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %598, align 4, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %17) #12
  %1512 = call i32 @s2n_config_ptr_free(ptr noundef nonnull %16) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %16) #12
  %1513 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %15) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %15) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %18) #12
  %1514 = call ptr @s2n_connection_new(i32 noundef 1) #12
  store ptr %1514, ptr %18, align 8, !tbaa !9
  %1515 = load i32, ptr @test_count, align 4, !tbaa !5
  %1516 = add nsw i32 %1515, 1
  store i32 %1516, ptr @test_count, align 4, !tbaa !5
  %1517 = icmp eq ptr %1514, null
  br i1 %1517, label %1518, label %1540

1518:                                             ; preds = %1511
  %1519 = load i32, ptr %598, align 4, !tbaa !5
  %1520 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1521 = call i32 @s2n_print_stacktrace(ptr noundef %1520) #12
  %1522 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1523 = trunc nuw i8 %1522 to i1
  br i1 %1523, label %1524, label %1528

1524:                                             ; preds = %1518
  %1525 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1526 = call i32 @fileno(ptr noundef %1525) #12
  %1527 = call i32 @isatty(i32 noundef %1526) #12
  %.not1179 = icmp eq i32 %1527, 0
  br i1 %.not1179, label %1528, label %1529

1528:                                             ; preds = %1524, %1518
  br label %1529

1529:                                             ; preds = %1524, %1528
  %.str.5.sink1691 = phi ptr [ @.str.5, %1528 ], [ @.str.2, %1524 ]
  store i32 %1519, ptr %598, align 4, !tbaa !5
  %1530 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1531 = load i32, ptr @test_count, align 4, !tbaa !5
  %1532 = load i32, ptr %544, align 4, !tbaa !5
  %1533 = call ptr @s2n_strerror(i32 noundef %1532, ptr noundef nonnull @.str.4) #12
  %1534 = load i32, ptr %544, align 4, !tbaa !5
  %1535 = call ptr @s2n_strerror_debug(i32 noundef %1534, ptr noundef nonnull @.str.4) #12
  %1536 = load i32, ptr %598, align 4, !tbaa !5
  %1537 = call ptr @strerror(i32 noundef %1536) #12
  %1538 = load i32, ptr %598, align 4, !tbaa !5
  %1539 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1530, ptr noundef nonnull %.str.5.sink1691, i32 noundef %1531, ptr noundef nonnull @.str.42, ptr noundef nonnull @.str.1, i32 noundef 183, ptr noundef %1533, ptr noundef %1535, ptr noundef %1537, i32 noundef %1538) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1540:                                             ; preds = %1511
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %19) #12
  %1541 = call ptr @s2n_connection_new(i32 noundef 0) #12
  store ptr %1541, ptr %19, align 8, !tbaa !9
  %1542 = load i32, ptr @test_count, align 4, !tbaa !5
  %1543 = add nsw i32 %1542, 1
  store i32 %1543, ptr @test_count, align 4, !tbaa !5
  %1544 = icmp eq ptr %1541, null
  br i1 %1544, label %1545, label %1567

1545:                                             ; preds = %1540
  %1546 = load i32, ptr %598, align 4, !tbaa !5
  %1547 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1548 = call i32 @s2n_print_stacktrace(ptr noundef %1547) #12
  %1549 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1550 = trunc nuw i8 %1549 to i1
  br i1 %1550, label %1551, label %1555

1551:                                             ; preds = %1545
  %1552 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1553 = call i32 @fileno(ptr noundef %1552) #12
  %1554 = call i32 @isatty(i32 noundef %1553) #12
  %.not1178 = icmp eq i32 %1554, 0
  br i1 %.not1178, label %1555, label %1556

1555:                                             ; preds = %1551, %1545
  br label %1556

1556:                                             ; preds = %1551, %1555
  %.str.5.sink1700 = phi ptr [ @.str.5, %1555 ], [ @.str.2, %1551 ]
  store i32 %1546, ptr %598, align 4, !tbaa !5
  %1557 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1558 = load i32, ptr @test_count, align 4, !tbaa !5
  %1559 = load i32, ptr %544, align 4, !tbaa !5
  %1560 = call ptr @s2n_strerror(i32 noundef %1559, ptr noundef nonnull @.str.4) #12
  %1561 = load i32, ptr %544, align 4, !tbaa !5
  %1562 = call ptr @s2n_strerror_debug(i32 noundef %1561, ptr noundef nonnull @.str.4) #12
  %1563 = load i32, ptr %598, align 4, !tbaa !5
  %1564 = call ptr @strerror(i32 noundef %1563) #12
  %1565 = load i32, ptr %598, align 4, !tbaa !5
  %1566 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1557, ptr noundef nonnull %.str.5.sink1700, i32 noundef %1558, ptr noundef nonnull @.str.43, ptr noundef nonnull @.str.1, i32 noundef 186, ptr noundef %1560, ptr noundef %1562, ptr noundef %1564, i32 noundef %1565) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1567:                                             ; preds = %1540
  %1568 = add nsw i32 %1542, 2
  store i32 %1568, ptr @test_count, align 4, !tbaa !5
  %1569 = load ptr, ptr %18, align 8, !tbaa !9
  %1570 = call i32 @s2n_connection_set_config(ptr noundef %1569, ptr noundef %249) #12
  %1571 = icmp eq i32 %1570, -1
  br i1 %1571, label %1572, label %1594

1572:                                             ; preds = %1567
  %1573 = load i32, ptr %598, 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
  %.not1177 = icmp eq i32 %1581, 0
  br i1 %.not1177, label %1582, label %1583

1582:                                             ; preds = %1578, %1572
  br label %1583

1583:                                             ; preds = %1578, %1582
  %.str.5.sink1709 = phi ptr [ @.str.5, %1582 ], [ @.str.2, %1578 ]
  store i32 %1573, ptr %598, 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 %544, align 4, !tbaa !5
  %1587 = call ptr @s2n_strerror(i32 noundef %1586, ptr noundef nonnull @.str.4) #12
  %1588 = load i32, ptr %544, align 4, !tbaa !5
  %1589 = call ptr @s2n_strerror_debug(i32 noundef %1588, ptr noundef nonnull @.str.4) #12
  %1590 = load i32, ptr %598, align 4, !tbaa !5
  %1591 = call ptr @strerror(i32 noundef %1590) #12
  %1592 = load i32, ptr %598, align 4, !tbaa !5
  %1593 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1584, ptr noundef nonnull %.str.5.sink1709, i32 noundef %1585, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.1, i32 noundef 188, ptr noundef %1587, ptr noundef %1589, ptr noundef %1591, i32 noundef %1592) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1594:                                             ; preds = %1567
  %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 = load ptr, ptr %19, align 8, !tbaa !9
  %1598 = call i32 @s2n_connection_set_config(ptr noundef %1597, ptr noundef %249) #12
  %1599 = icmp eq i32 %1598, -1
  br i1 %1599, label %1600, label %1622

1600:                                             ; preds = %1594
  %1601 = load i32, ptr %598, align 4, !tbaa !5
  %1602 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1603 = call i32 @s2n_print_stacktrace(ptr noundef %1602) #12
  %1604 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1605 = trunc nuw i8 %1604 to i1
  br i1 %1605, label %1606, label %1610

1606:                                             ; preds = %1600
  %1607 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1608 = call i32 @fileno(ptr noundef %1607) #12
  %1609 = call i32 @isatty(i32 noundef %1608) #12
  %.not1176 = icmp eq i32 %1609, 0
  br i1 %.not1176, label %1610, label %1611

1610:                                             ; preds = %1606, %1600
  br label %1611

1611:                                             ; preds = %1606, %1610
  %.str.5.sink1718 = phi ptr [ @.str.5, %1610 ], [ @.str.2, %1606 ]
  store i32 %1601, ptr %598, align 4, !tbaa !5
  %1612 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1613 = load i32, ptr @test_count, align 4, !tbaa !5
  %1614 = load i32, ptr %544, align 4, !tbaa !5
  %1615 = call ptr @s2n_strerror(i32 noundef %1614, ptr noundef nonnull @.str.4) #12
  %1616 = load i32, ptr %544, align 4, !tbaa !5
  %1617 = call ptr @s2n_strerror_debug(i32 noundef %1616, ptr noundef nonnull @.str.4) #12
  %1618 = load i32, ptr %598, align 4, !tbaa !5
  %1619 = call ptr @strerror(i32 noundef %1618) #12
  %1620 = load i32, ptr %598, align 4, !tbaa !5
  %1621 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1612, ptr noundef nonnull %.str.5.sink1718, i32 noundef %1613, ptr noundef nonnull @.str.45, ptr noundef nonnull @.str.1, i32 noundef 189, ptr noundef %1615, ptr noundef %1617, ptr noundef %1619, i32 noundef %1620) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1622:                                             ; preds = %1594
  call void @llvm.lifetime.start.p0(i64 80, ptr nonnull %20) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(80) %20, i8 0, i64 80, i1 false)
  %1623 = load i32, ptr @test_count, align 4, !tbaa !5
  %1624 = add nsw i32 %1623, 1
  store i32 %1624, ptr @test_count, align 4, !tbaa !5
  %1625 = call i32 @s2n_io_stuffer_pair_init(ptr noundef nonnull %20) #12
  %1626 = call zeroext i1 @s2n_result_is_ok(i32 %1625)
  br i1 %1626, label %1649, label %1627

1627:                                             ; preds = %1622
  %1628 = load i32, ptr %598, align 4, !tbaa !5
  %1629 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1630 = call i32 @s2n_print_stacktrace(ptr noundef %1629) #12
  %1631 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1632 = trunc nuw i8 %1631 to i1
  br i1 %1632, label %1633, label %1637

1633:                                             ; preds = %1627
  %1634 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1635 = call i32 @fileno(ptr noundef %1634) #12
  %1636 = call i32 @isatty(i32 noundef %1635) #12
  %.not870 = icmp eq i32 %1636, 0
  br i1 %.not870, label %1637, label %1638

1637:                                             ; preds = %1633, %1627
  br label %1638

1638:                                             ; preds = %1633, %1637
  %.str.5.sink1727 = phi ptr [ @.str.5, %1637 ], [ @.str.2, %1633 ]
  store i32 %1628, ptr %598, align 4, !tbaa !5
  %1639 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1640 = load i32, ptr @test_count, align 4, !tbaa !5
  %1641 = load i32, ptr %544, align 4, !tbaa !5
  %1642 = call ptr @s2n_strerror(i32 noundef %1641, ptr noundef nonnull @.str.4) #12
  %1643 = load i32, ptr %544, align 4, !tbaa !5
  %1644 = call ptr @s2n_strerror_debug(i32 noundef %1643, ptr noundef nonnull @.str.4) #12
  %1645 = load i32, ptr %598, align 4, !tbaa !5
  %1646 = call ptr @strerror(i32 noundef %1645) #12
  %1647 = load i32, ptr %598, align 4, !tbaa !5
  %1648 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1639, ptr noundef nonnull %.str.5.sink1727, i32 noundef %1640, ptr noundef nonnull @.str.46, ptr noundef nonnull @.str.1, i32 noundef 192, ptr noundef %1642, ptr noundef %1644, ptr noundef %1646, i32 noundef %1647) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1649:                                             ; preds = %1622
  %1650 = load i32, ptr @test_count, align 4, !tbaa !5
  %1651 = add nsw i32 %1650, 1
  store i32 %1651, ptr @test_count, align 4, !tbaa !5
  %1652 = load ptr, ptr %18, align 8, !tbaa !9
  %1653 = load ptr, ptr %19, align 8, !tbaa !9
  %1654 = call i32 @s2n_connections_set_io_stuffer_pair(ptr noundef %1652, ptr noundef %1653, ptr noundef nonnull %20) #12
  %1655 = call zeroext i1 @s2n_result_is_ok(i32 %1654)
  br i1 %1655, label %1678, label %1656

1656:                                             ; preds = %1649
  %1657 = load i32, ptr %598, align 4, !tbaa !5
  %1658 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1659 = call i32 @s2n_print_stacktrace(ptr noundef %1658) #12
  %1660 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1661 = trunc nuw i8 %1660 to i1
  br i1 %1661, label %1662, label %1666

1662:                                             ; preds = %1656
  %1663 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1664 = call i32 @fileno(ptr noundef %1663) #12
  %1665 = call i32 @isatty(i32 noundef %1664) #12
  %.not871 = icmp eq i32 %1665, 0
  br i1 %.not871, label %1666, label %1667

1666:                                             ; preds = %1662, %1656
  br label %1667

1667:                                             ; preds = %1662, %1666
  %.str.5.sink1736 = phi ptr [ @.str.5, %1666 ], [ @.str.2, %1662 ]
  store i32 %1657, ptr %598, align 4, !tbaa !5
  %1668 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1669 = load i32, ptr @test_count, align 4, !tbaa !5
  %1670 = load i32, ptr %544, align 4, !tbaa !5
  %1671 = call ptr @s2n_strerror(i32 noundef %1670, ptr noundef nonnull @.str.4) #12
  %1672 = load i32, ptr %544, align 4, !tbaa !5
  %1673 = call ptr @s2n_strerror_debug(i32 noundef %1672, ptr noundef nonnull @.str.4) #12
  %1674 = load i32, ptr %598, align 4, !tbaa !5
  %1675 = call ptr @strerror(i32 noundef %1674) #12
  %1676 = load i32, ptr %598, align 4, !tbaa !5
  %1677 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1668, ptr noundef nonnull %.str.5.sink1736, i32 noundef %1669, ptr noundef nonnull @.str.47, ptr noundef nonnull @.str.1, i32 noundef 193, ptr noundef %1671, ptr noundef %1673, ptr noundef %1675, i32 noundef %1676) #14
  call void @exit(i32 noundef 1) #15
  unreachable

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

1685:                                             ; preds = %1678
  %1686 = load i32, ptr %598, align 4, !tbaa !5
  %1687 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1688 = call i32 @s2n_print_stacktrace(ptr noundef %1687) #12
  %1689 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1690 = trunc nuw i8 %1689 to i1
  br i1 %1690, label %1691, label %1695

1691:                                             ; preds = %1685
  %1692 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1693 = call i32 @fileno(ptr noundef %1692) #12
  %1694 = call i32 @isatty(i32 noundef %1693) #12
  %.not1175 = icmp eq i32 %1694, 0
  br i1 %.not1175, label %1695, label %1696

1695:                                             ; preds = %1691, %1685
  br label %1696

1696:                                             ; preds = %1691, %1695
  %.str.5.sink1745 = phi ptr [ @.str.5, %1695 ], [ @.str.2, %1691 ]
  store i32 %1686, ptr %598, align 4, !tbaa !5
  %1697 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1698 = load i32, ptr @test_count, align 4, !tbaa !5
  %1699 = load i32, ptr %544, align 4, !tbaa !5
  %1700 = call ptr @s2n_strerror(i32 noundef %1699, ptr noundef nonnull @.str.4) #12
  %1701 = load i32, ptr %544, align 4, !tbaa !5
  %1702 = call ptr @s2n_strerror_debug(i32 noundef %1701, ptr noundef nonnull @.str.4) #12
  %1703 = load i32, ptr %598, align 4, !tbaa !5
  %1704 = call ptr @strerror(i32 noundef %1703) #12
  %1705 = load i32, ptr %598, align 4, !tbaa !5
  %1706 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1697, ptr noundef nonnull %.str.5.sink1745, i32 noundef %1698, ptr noundef nonnull @.str.48, ptr noundef nonnull @.str.1, i32 noundef 195, ptr noundef %1700, ptr noundef %1702, ptr noundef %1704, i32 noundef %1705) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1707:                                             ; preds = %1678
  %1708 = load i32, ptr @test_count, align 4, !tbaa !5
  %1709 = add nsw i32 %1708, 1
  store i32 %1709, ptr @test_count, align 4, !tbaa !5
  %1710 = load ptr, ptr %19, align 8, !tbaa !9
  %1711 = call i32 @s2n_connection_get_actual_protocol_version(ptr noundef %1710) #12
  %1712 = icmp eq i32 %1711, 33
  br i1 %1712, label %1735, label %1713

1713:                                             ; preds = %1707
  %1714 = load i32, ptr %598, align 4, !tbaa !5
  %1715 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1716 = call i32 @s2n_print_stacktrace(ptr noundef %1715) #12
  %1717 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1718 = trunc nuw i8 %1717 to i1
  br i1 %1718, label %1719, label %1723

1719:                                             ; preds = %1713
  %1720 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1721 = call i32 @fileno(ptr noundef %1720) #12
  %1722 = call i32 @isatty(i32 noundef %1721) #12
  %.not872 = icmp eq i32 %1722, 0
  br i1 %.not872, label %1723, label %1724

1723:                                             ; preds = %1719, %1713
  br label %1724

1724:                                             ; preds = %1719, %1723
  %.str.5.sink1754 = phi ptr [ @.str.5, %1723 ], [ @.str.2, %1719 ]
  store i32 %1714, ptr %598, align 4, !tbaa !5
  %1725 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1726 = load i32, ptr @test_count, align 4, !tbaa !5
  %1727 = load i32, ptr %544, align 4, !tbaa !5
  %1728 = call ptr @s2n_strerror(i32 noundef %1727, ptr noundef nonnull @.str.4) #12
  %1729 = load i32, ptr %544, align 4, !tbaa !5
  %1730 = call ptr @s2n_strerror_debug(i32 noundef %1729, ptr noundef nonnull @.str.4) #12
  %1731 = load i32, ptr %598, align 4, !tbaa !5
  %1732 = call ptr @strerror(i32 noundef %1731) #12
  %1733 = load i32, ptr %598, align 4, !tbaa !5
  %1734 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1725, ptr noundef nonnull %.str.5.sink1754, i32 noundef %1726, ptr noundef nonnull @.str.49, ptr noundef nonnull @.str.1, i32 noundef 196, ptr noundef %1728, ptr noundef %1730, ptr noundef %1732, i32 noundef %1733) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1735:                                             ; preds = %1707
  call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %21) #12
  store i16 0, ptr %21, align 2
  %1736 = load i32, ptr @test_count, align 4, !tbaa !5
  %1737 = add nsw i32 %1736, 1
  store i32 %1737, ptr @test_count, align 4, !tbaa !5
  %1738 = load ptr, ptr %19, align 8, !tbaa !9
  %1739 = getelementptr inbounds i8, ptr %21, i64 1
  %1740 = call i32 @s2n_connection_get_cipher_iana_value(ptr noundef %1738, ptr noundef nonnull %21, ptr noundef nonnull %1739) #12
  %1741 = icmp eq i32 %1740, -1
  br i1 %1741, label %1742, label %1764

1742:                                             ; preds = %1735
  %1743 = load i32, ptr %598, align 4, !tbaa !5
  %1744 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1745 = call i32 @s2n_print_stacktrace(ptr noundef %1744) #12
  %1746 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1747 = trunc nuw i8 %1746 to i1
  br i1 %1747, label %1748, label %1752

1748:                                             ; preds = %1742
  %1749 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1750 = call i32 @fileno(ptr noundef %1749) #12
  %1751 = call i32 @isatty(i32 noundef %1750) #12
  %.not1174 = icmp eq i32 %1751, 0
  br i1 %.not1174, label %1752, label %1753

1752:                                             ; preds = %1748, %1742
  br label %1753

1753:                                             ; preds = %1748, %1752
  %.str.5.sink1763 = phi ptr [ @.str.5, %1752 ], [ @.str.2, %1748 ]
  store i32 %1743, ptr %598, align 4, !tbaa !5
  %1754 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1755 = load i32, ptr @test_count, align 4, !tbaa !5
  %1756 = load i32, ptr %544, align 4, !tbaa !5
  %1757 = call ptr @s2n_strerror(i32 noundef %1756, ptr noundef nonnull @.str.4) #12
  %1758 = load i32, ptr %544, align 4, !tbaa !5
  %1759 = call ptr @s2n_strerror_debug(i32 noundef %1758, ptr noundef nonnull @.str.4) #12
  %1760 = load i32, ptr %598, align 4, !tbaa !5
  %1761 = call ptr @strerror(i32 noundef %1760) #12
  %1762 = load i32, ptr %598, align 4, !tbaa !5
  %1763 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1754, ptr noundef nonnull %.str.5.sink1763, i32 noundef %1755, ptr noundef nonnull @.str.50, ptr noundef nonnull @.str.1, i32 noundef 198, ptr noundef %1757, ptr noundef %1759, ptr noundef %1761, i32 noundef %1762) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1764:                                             ; preds = %1735
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %22) #12
  store i32 0, ptr %22, align 4, !tbaa !5
  %1765 = load i32, ptr @test_count, align 4, !tbaa !5
  %1766 = add nsw i32 %1765, 1
  store i32 %1766, ptr @test_count, align 4, !tbaa !5
  %1767 = load ptr, ptr %19, align 8, !tbaa !9
  %1768 = call i32 @s2n_connection_serialization_length(ptr noundef %1767, ptr noundef nonnull %22) #12
  %1769 = icmp eq i32 %1768, -1
  br i1 %1769, label %1770, label %1792

1770:                                             ; preds = %1764
  %1771 = load i32, ptr %598, align 4, !tbaa !5
  %1772 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1773 = call i32 @s2n_print_stacktrace(ptr noundef %1772) #12
  %1774 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1775 = trunc nuw i8 %1774 to i1
  br i1 %1775, label %1776, label %1780

1776:                                             ; preds = %1770
  %1777 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1778 = call i32 @fileno(ptr noundef %1777) #12
  %1779 = call i32 @isatty(i32 noundef %1778) #12
  %.not1173 = icmp eq i32 %1779, 0
  br i1 %.not1173, label %1780, label %1781

1780:                                             ; preds = %1776, %1770
  br label %1781

1781:                                             ; preds = %1776, %1780
  %.str.5.sink1772 = phi ptr [ @.str.5, %1780 ], [ @.str.2, %1776 ]
  store i32 %1771, ptr %598, align 4, !tbaa !5
  %1782 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1783 = load i32, ptr @test_count, align 4, !tbaa !5
  %1784 = load i32, ptr %544, align 4, !tbaa !5
  %1785 = call ptr @s2n_strerror(i32 noundef %1784, ptr noundef nonnull @.str.4) #12
  %1786 = load i32, ptr %544, align 4, !tbaa !5
  %1787 = call ptr @s2n_strerror_debug(i32 noundef %1786, ptr noundef nonnull @.str.4) #12
  %1788 = load i32, ptr %598, align 4, !tbaa !5
  %1789 = call ptr @strerror(i32 noundef %1788) #12
  %1790 = load i32, ptr %598, align 4, !tbaa !5
  %1791 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1782, ptr noundef nonnull %.str.5.sink1772, i32 noundef %1783, ptr noundef nonnull @.str.51, ptr noundef nonnull @.str.1, i32 noundef 201, ptr noundef %1785, ptr noundef %1787, ptr noundef %1789, i32 noundef %1790) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1792:                                             ; preds = %1764
  call void @llvm.lifetime.start.p0(i64 142, ptr nonnull %23) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(142) %23, i8 0, i64 142, i1 false)
  %1793 = load i32, ptr @test_count, align 4, !tbaa !5
  %1794 = add nsw i32 %1793, 1
  store i32 %1794, ptr @test_count, align 4, !tbaa !5
  %1795 = load ptr, ptr %19, align 8, !tbaa !9
  %1796 = call i32 @s2n_connection_serialize(ptr noundef %1795, ptr noundef nonnull %23, i32 noundef 142) #12
  %1797 = icmp eq i32 %1796, -1
  br i1 %1797, label %1798, label %1820

1798:                                             ; preds = %1792
  %1799 = load i32, ptr %598, align 4, !tbaa !5
  %1800 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1801 = call i32 @s2n_print_stacktrace(ptr noundef %1800) #12
  %1802 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1803 = trunc nuw i8 %1802 to i1
  br i1 %1803, label %1804, label %1808

1804:                                             ; preds = %1798
  %1805 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1806 = call i32 @fileno(ptr noundef %1805) #12
  %1807 = call i32 @isatty(i32 noundef %1806) #12
  %.not1172 = icmp eq i32 %1807, 0
  br i1 %.not1172, label %1808, label %1809

1808:                                             ; preds = %1804, %1798
  br label %1809

1809:                                             ; preds = %1804, %1808
  %.str.5.sink1781 = phi ptr [ @.str.5, %1808 ], [ @.str.2, %1804 ]
  store i32 %1799, ptr %598, align 4, !tbaa !5
  %1810 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1811 = load i32, ptr @test_count, align 4, !tbaa !5
  %1812 = load i32, ptr %544, align 4, !tbaa !5
  %1813 = call ptr @s2n_strerror(i32 noundef %1812, ptr noundef nonnull @.str.4) #12
  %1814 = load i32, ptr %544, align 4, !tbaa !5
  %1815 = call ptr @s2n_strerror_debug(i32 noundef %1814, ptr noundef nonnull @.str.4) #12
  %1816 = load i32, ptr %598, align 4, !tbaa !5
  %1817 = call ptr @strerror(i32 noundef %1816) #12
  %1818 = load i32, ptr %598, align 4, !tbaa !5
  %1819 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1810, ptr noundef nonnull %.str.5.sink1781, i32 noundef %1811, ptr noundef nonnull @.str.52, ptr noundef nonnull @.str.1, i32 noundef 204, ptr noundef %1813, ptr noundef %1815, ptr noundef %1817, i32 noundef %1818) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1820:                                             ; preds = %1792
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %24) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %24, i8 0, i64 24, i1 false)
  %1821 = load i32, ptr @test_count, align 4, !tbaa !5
  %1822 = add nsw i32 %1821, 1
  store i32 %1822, ptr @test_count, align 4, !tbaa !5
  %1823 = call i32 @s2n_blob_init(ptr noundef nonnull %24, ptr noundef nonnull %23, i32 noundef 142) #12
  %1824 = icmp eq i32 %1823, -1
  br i1 %1824, label %1825, label %1847

1825:                                             ; preds = %1820
  %1826 = load i32, ptr %598, align 4, !tbaa !5
  %1827 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1828 = call i32 @s2n_print_stacktrace(ptr noundef %1827) #12
  %1829 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1830 = trunc nuw i8 %1829 to i1
  br i1 %1830, label %1831, label %1835

1831:                                             ; preds = %1825
  %1832 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1833 = call i32 @fileno(ptr noundef %1832) #12
  %1834 = call i32 @isatty(i32 noundef %1833) #12
  %.not1171 = icmp eq i32 %1834, 0
  br i1 %.not1171, label %1835, label %1836

1835:                                             ; preds = %1831, %1825
  br label %1836

1836:                                             ; preds = %1831, %1835
  %.str.5.sink1790 = phi ptr [ @.str.5, %1835 ], [ @.str.2, %1831 ]
  store i32 %1826, ptr %598, align 4, !tbaa !5
  %1837 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1838 = load i32, ptr @test_count, align 4, !tbaa !5
  %1839 = load i32, ptr %544, align 4, !tbaa !5
  %1840 = call ptr @s2n_strerror(i32 noundef %1839, ptr noundef nonnull @.str.4) #12
  %1841 = load i32, ptr %544, align 4, !tbaa !5
  %1842 = call ptr @s2n_strerror_debug(i32 noundef %1841, ptr noundef nonnull @.str.4) #12
  %1843 = load i32, ptr %598, align 4, !tbaa !5
  %1844 = call ptr @strerror(i32 noundef %1843) #12
  %1845 = load i32, ptr %598, align 4, !tbaa !5
  %1846 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1837, ptr noundef nonnull %.str.5.sink1790, i32 noundef %1838, ptr noundef nonnull @.str.53, ptr noundef nonnull @.str.1, i32 noundef 207, ptr noundef %1840, ptr noundef %1842, ptr noundef %1844, i32 noundef %1845) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1847:                                             ; preds = %1820
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %25) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %25, i8 0, i64 40, i1 false)
  %1848 = load i32, ptr @test_count, align 4, !tbaa !5
  %1849 = add nsw i32 %1848, 1
  store i32 %1849, ptr @test_count, align 4, !tbaa !5
  %1850 = call i32 @s2n_stuffer_init_written(ptr noundef nonnull %25, ptr noundef nonnull %24) #12
  %1851 = icmp eq i32 %1850, -1
  br i1 %1851, label %1852, label %1874

1852:                                             ; preds = %1847
  %1853 = load i32, ptr %598, align 4, !tbaa !5
  %1854 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1855 = call i32 @s2n_print_stacktrace(ptr noundef %1854) #12
  %1856 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1857 = trunc nuw i8 %1856 to i1
  br i1 %1857, label %1858, label %1862

1858:                                             ; preds = %1852
  %1859 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1860 = call i32 @fileno(ptr noundef %1859) #12
  %1861 = call i32 @isatty(i32 noundef %1860) #12
  %.not1170 = icmp eq i32 %1861, 0
  br i1 %.not1170, label %1862, label %1863

1862:                                             ; preds = %1858, %1852
  br label %1863

1863:                                             ; preds = %1858, %1862
  %.str.5.sink1799 = phi ptr [ @.str.5, %1862 ], [ @.str.2, %1858 ]
  store i32 %1853, ptr %598, align 4, !tbaa !5
  %1864 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1865 = load i32, ptr @test_count, align 4, !tbaa !5
  %1866 = load i32, ptr %544, align 4, !tbaa !5
  %1867 = call ptr @s2n_strerror(i32 noundef %1866, ptr noundef nonnull @.str.4) #12
  %1868 = load i32, ptr %544, align 4, !tbaa !5
  %1869 = call ptr @s2n_strerror_debug(i32 noundef %1868, ptr noundef nonnull @.str.4) #12
  %1870 = load i32, ptr %598, align 4, !tbaa !5
  %1871 = call ptr @strerror(i32 noundef %1870) #12
  %1872 = load i32, ptr %598, align 4, !tbaa !5
  %1873 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1864, ptr noundef nonnull %.str.5.sink1799, i32 noundef %1865, ptr noundef nonnull @.str.54, ptr noundef nonnull @.str.1, i32 noundef 209, ptr noundef %1867, ptr noundef %1869, ptr noundef %1871, i32 noundef %1872) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1874:                                             ; preds = %1847
  %1875 = load i32, ptr @test_count, align 4, !tbaa !5
  %1876 = add nsw i32 %1875, 1
  store i32 %1876, ptr @test_count, align 4, !tbaa !5
  %1877 = load i32, ptr %22, align 4, !tbaa !5
  %1878 = getelementptr inbounds i8, ptr %25, i64 28
  %1879 = load i32, ptr %1878, align 4, !tbaa !56
  %1880 = getelementptr inbounds i8, ptr %25, i64 24
  %1881 = load i32, ptr %1880, align 8, !tbaa !57
  %1882 = sub i32 %1879, %1881
  %1883 = icmp eq i32 %1877, %1882
  br i1 %1883, label %1906, label %1884

1884:                                             ; preds = %1874
  %1885 = load i32, ptr %598, align 4, !tbaa !5
  %1886 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1887 = call i32 @s2n_print_stacktrace(ptr noundef %1886) #12
  %1888 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1889 = trunc nuw i8 %1888 to i1
  br i1 %1889, label %1890, label %1894

1890:                                             ; preds = %1884
  %1891 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1892 = call i32 @fileno(ptr noundef %1891) #12
  %1893 = call i32 @isatty(i32 noundef %1892) #12
  %.not873 = icmp eq i32 %1893, 0
  br i1 %.not873, label %1894, label %1895

1894:                                             ; preds = %1890, %1884
  br label %1895

1895:                                             ; preds = %1890, %1894
  %.str.5.sink1808 = phi ptr [ @.str.5, %1894 ], [ @.str.2, %1890 ]
  store i32 %1885, ptr %598, align 4, !tbaa !5
  %1896 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1897 = load i32, ptr @test_count, align 4, !tbaa !5
  %1898 = load i32, ptr %544, align 4, !tbaa !5
  %1899 = call ptr @s2n_strerror(i32 noundef %1898, ptr noundef nonnull @.str.4) #12
  %1900 = load i32, ptr %544, align 4, !tbaa !5
  %1901 = call ptr @s2n_strerror_debug(i32 noundef %1900, ptr noundef nonnull @.str.4) #12
  %1902 = load i32, ptr %598, align 4, !tbaa !5
  %1903 = call ptr @strerror(i32 noundef %1902) #12
  %1904 = load i32, ptr %598, align 4, !tbaa !5
  %1905 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1896, ptr noundef nonnull %.str.5.sink1808, i32 noundef %1897, ptr noundef nonnull @.str.55, ptr noundef nonnull @.str.1, i32 noundef 210, ptr noundef %1899, ptr noundef %1901, ptr noundef %1903, i32 noundef %1904) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1906:                                             ; preds = %1874
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %26) #12
  store i64 0, ptr %26, align 8, !tbaa !58
  %1907 = add nsw i32 %1875, 2
  store i32 %1907, ptr @test_count, align 4, !tbaa !5
  %1908 = call i32 @s2n_stuffer_read_uint64(ptr noundef nonnull %25, ptr noundef nonnull %26) #12
  %1909 = icmp eq i32 %1908, -1
  br i1 %1909, label %1910, label %1932

1910:                                             ; preds = %1906
  %1911 = load i32, ptr %598, align 4, !tbaa !5
  %1912 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1913 = call i32 @s2n_print_stacktrace(ptr noundef %1912) #12
  %1914 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1915 = trunc nuw i8 %1914 to i1
  br i1 %1915, label %1916, label %1920

1916:                                             ; preds = %1910
  %1917 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1918 = call i32 @fileno(ptr noundef %1917) #12
  %1919 = call i32 @isatty(i32 noundef %1918) #12
  %.not1169 = icmp eq i32 %1919, 0
  br i1 %.not1169, label %1920, label %1921

1920:                                             ; preds = %1916, %1910
  br label %1921

1921:                                             ; preds = %1916, %1920
  %.str.5.sink1817 = phi ptr [ @.str.5, %1920 ], [ @.str.2, %1916 ]
  store i32 %1911, ptr %598, align 4, !tbaa !5
  %1922 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1923 = load i32, ptr @test_count, align 4, !tbaa !5
  %1924 = load i32, ptr %544, align 4, !tbaa !5
  %1925 = call ptr @s2n_strerror(i32 noundef %1924, ptr noundef nonnull @.str.4) #12
  %1926 = load i32, ptr %544, align 4, !tbaa !5
  %1927 = call ptr @s2n_strerror_debug(i32 noundef %1926, ptr noundef nonnull @.str.4) #12
  %1928 = load i32, ptr %598, align 4, !tbaa !5
  %1929 = call ptr @strerror(i32 noundef %1928) #12
  %1930 = load i32, ptr %598, align 4, !tbaa !5
  %1931 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1922, ptr noundef nonnull %.str.5.sink1817, i32 noundef %1923, ptr noundef nonnull @.str.56, ptr noundef nonnull @.str.1, i32 noundef 213, ptr noundef %1925, ptr noundef %1927, ptr noundef %1929, i32 noundef %1930) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1932:                                             ; preds = %1906
  %1933 = load i32, ptr @test_count, align 4, !tbaa !5
  %1934 = add nsw i32 %1933, 1
  store i32 %1934, ptr @test_count, align 4, !tbaa !5
  %1935 = load i64, ptr %26, align 8, !tbaa !58
  %1936 = icmp eq i64 %1935, 1
  br i1 %1936, label %1959, label %1937

1937:                                             ; preds = %1932
  %1938 = load i32, ptr %598, align 4, !tbaa !5
  %1939 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1940 = call i32 @s2n_print_stacktrace(ptr noundef %1939) #12
  %1941 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1942 = trunc nuw i8 %1941 to i1
  br i1 %1942, label %1943, label %1947

1943:                                             ; preds = %1937
  %1944 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1945 = call i32 @fileno(ptr noundef %1944) #12
  %1946 = call i32 @isatty(i32 noundef %1945) #12
  %.not874 = icmp eq i32 %1946, 0
  br i1 %.not874, label %1947, label %1948

1947:                                             ; preds = %1943, %1937
  br label %1948

1948:                                             ; preds = %1943, %1947
  %.str.5.sink1826 = phi ptr [ @.str.5, %1947 ], [ @.str.2, %1943 ]
  store i32 %1938, ptr %598, align 4, !tbaa !5
  %1949 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1950 = load i32, ptr @test_count, align 4, !tbaa !5
  %1951 = load i32, ptr %544, align 4, !tbaa !5
  %1952 = call ptr @s2n_strerror(i32 noundef %1951, ptr noundef nonnull @.str.4) #12
  %1953 = load i32, ptr %544, align 4, !tbaa !5
  %1954 = call ptr @s2n_strerror_debug(i32 noundef %1953, ptr noundef nonnull @.str.4) #12
  %1955 = load i32, ptr %598, align 4, !tbaa !5
  %1956 = call ptr @strerror(i32 noundef %1955) #12
  %1957 = load i32, ptr %598, align 4, !tbaa !5
  %1958 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1949, ptr noundef nonnull %.str.5.sink1826, i32 noundef %1950, ptr noundef nonnull @.str.57, ptr noundef nonnull @.str.1, i32 noundef 214, ptr noundef %1952, ptr noundef %1954, ptr noundef %1956, i32 noundef %1957) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1959:                                             ; preds = %1932
  call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %27) #12
  store i16 0, ptr %27, align 2
  %1960 = add nsw i32 %1933, 2
  store i32 %1960, ptr @test_count, align 4, !tbaa !5
  %1961 = call i32 @s2n_stuffer_read_bytes(ptr noundef nonnull %25, ptr noundef nonnull %27, i32 noundef 2) #12
  %1962 = icmp eq i32 %1961, -1
  br i1 %1962, label %1963, label %1985

1963:                                             ; preds = %1959
  %1964 = load i32, ptr %598, align 4, !tbaa !5
  %1965 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1966 = call i32 @s2n_print_stacktrace(ptr noundef %1965) #12
  %1967 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1968 = trunc nuw i8 %1967 to i1
  br i1 %1968, label %1969, label %1973

1969:                                             ; preds = %1963
  %1970 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1971 = call i32 @fileno(ptr noundef %1970) #12
  %1972 = call i32 @isatty(i32 noundef %1971) #12
  %.not1168 = icmp eq i32 %1972, 0
  br i1 %.not1168, label %1973, label %1974

1973:                                             ; preds = %1969, %1963
  br label %1974

1974:                                             ; preds = %1969, %1973
  %.str.5.sink1835 = phi ptr [ @.str.5, %1973 ], [ @.str.2, %1969 ]
  store i32 %1964, ptr %598, align 4, !tbaa !5
  %1975 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1976 = load i32, ptr @test_count, align 4, !tbaa !5
  %1977 = load i32, ptr %544, align 4, !tbaa !5
  %1978 = call ptr @s2n_strerror(i32 noundef %1977, ptr noundef nonnull @.str.4) #12
  %1979 = load i32, ptr %544, align 4, !tbaa !5
  %1980 = call ptr @s2n_strerror_debug(i32 noundef %1979, ptr noundef nonnull @.str.4) #12
  %1981 = load i32, ptr %598, align 4, !tbaa !5
  %1982 = call ptr @strerror(i32 noundef %1981) #12
  %1983 = load i32, ptr %598, align 4, !tbaa !5
  %1984 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1975, ptr noundef nonnull %.str.5.sink1835, i32 noundef %1976, ptr noundef nonnull @.str.58, ptr noundef nonnull @.str.1, i32 noundef 218, ptr noundef %1978, ptr noundef %1980, ptr noundef %1982, i32 noundef %1983) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1985:                                             ; preds = %1959
  %1986 = load i32, ptr @test_count, align 4, !tbaa !5
  %1987 = add nsw i32 %1986, 1
  store i32 %1987, ptr @test_count, align 4, !tbaa !5
  %1988 = load i8, ptr %27, align 2, !tbaa !51
  %1989 = zext i8 %1988 to i32
  %1990 = mul nuw nsw i32 %1989, 10
  %1991 = getelementptr inbounds i8, ptr %27, i64 1
  %1992 = load i8, ptr %1991, align 1, !tbaa !51
  %1993 = zext i8 %1992 to i32
  %1994 = add nuw nsw i32 %1990, %1993
  %1995 = icmp eq i32 %1994, 33
  br i1 %1995, label %2018, label %1996

1996:                                             ; preds = %1985
  %1997 = load i32, ptr %598, 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
  %.not875 = icmp eq i32 %2005, 0
  br i1 %.not875, label %2006, label %2007

2006:                                             ; preds = %2002, %1996
  br label %2007

2007:                                             ; preds = %2002, %2006
  %.str.5.sink1844 = phi ptr [ @.str.5, %2006 ], [ @.str.2, %2002 ]
  store i32 %1997, ptr %598, 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 %544, align 4, !tbaa !5
  %2011 = call ptr @s2n_strerror(i32 noundef %2010, ptr noundef nonnull @.str.4) #12
  %2012 = load i32, ptr %544, align 4, !tbaa !5
  %2013 = call ptr @s2n_strerror_debug(i32 noundef %2012, ptr noundef nonnull @.str.4) #12
  %2014 = load i32, ptr %598, align 4, !tbaa !5
  %2015 = call ptr @strerror(i32 noundef %2014) #12
  %2016 = load i32, ptr %598, align 4, !tbaa !5
  %2017 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2008, ptr noundef nonnull %.str.5.sink1844, i32 noundef %2009, ptr noundef nonnull @.str.59, ptr noundef nonnull @.str.1, i32 noundef 219, ptr noundef %2011, ptr noundef %2013, ptr noundef %2015, i32 noundef %2016) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2018:                                             ; preds = %1985
  call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %28) #12
  store i16 0, ptr %28, align 2
  %2019 = add nsw i32 %1986, 2
  store i32 %2019, ptr @test_count, align 4, !tbaa !5
  %2020 = call i32 @s2n_stuffer_read_bytes(ptr noundef nonnull %25, ptr noundef nonnull %28, i32 noundef 2) #12
  %2021 = icmp eq i32 %2020, -1
  br i1 %2021, label %2022, label %2044

2022:                                             ; preds = %2018
  %2023 = load i32, ptr %598, align 4, !tbaa !5
  %2024 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2025 = call i32 @s2n_print_stacktrace(ptr noundef %2024) #12
  %2026 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2027 = trunc nuw i8 %2026 to i1
  br i1 %2027, label %2028, label %2032

2028:                                             ; preds = %2022
  %2029 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2030 = call i32 @fileno(ptr noundef %2029) #12
  %2031 = call i32 @isatty(i32 noundef %2030) #12
  %.not1167 = icmp eq i32 %2031, 0
  br i1 %.not1167, label %2032, label %2033

2032:                                             ; preds = %2028, %2022
  br label %2033

2033:                                             ; preds = %2028, %2032
  %.str.5.sink1853 = phi ptr [ @.str.5, %2032 ], [ @.str.2, %2028 ]
  store i32 %2023, ptr %598, align 4, !tbaa !5
  %2034 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2035 = load i32, ptr @test_count, align 4, !tbaa !5
  %2036 = load i32, ptr %544, align 4, !tbaa !5
  %2037 = call ptr @s2n_strerror(i32 noundef %2036, ptr noundef nonnull @.str.4) #12
  %2038 = load i32, ptr %544, align 4, !tbaa !5
  %2039 = call ptr @s2n_strerror_debug(i32 noundef %2038, ptr noundef nonnull @.str.4) #12
  %2040 = load i32, ptr %598, align 4, !tbaa !5
  %2041 = call ptr @strerror(i32 noundef %2040) #12
  %2042 = load i32, ptr %598, align 4, !tbaa !5
  %2043 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2034, ptr noundef nonnull %.str.5.sink1853, i32 noundef %2035, ptr noundef nonnull @.str.60, ptr noundef nonnull @.str.1, i32 noundef 222, ptr noundef %2037, ptr noundef %2039, ptr noundef %2041, i32 noundef %2042) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2044:                                             ; preds = %2018
  %2045 = load i32, ptr @test_count, align 4, !tbaa !5
  %2046 = add nsw i32 %2045, 1
  store i32 %2046, ptr @test_count, align 4, !tbaa !5
  %lhsv = load i16, ptr %28, align 2
  %rhsv = load i16, ptr %21, align 2
  %.not4346 = icmp eq i16 %lhsv, %rhsv
  br i1 %.not4346, label %2069, label %2047

2047:                                             ; preds = %2044
  %2048 = load i32, ptr %598, align 4, !tbaa !5
  %2049 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2050 = call i32 @s2n_print_stacktrace(ptr noundef %2049) #12
  %2051 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2052 = trunc nuw i8 %2051 to i1
  br i1 %2052, label %2053, label %2057

2053:                                             ; preds = %2047
  %2054 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2055 = call i32 @fileno(ptr noundef %2054) #12
  %2056 = call i32 @isatty(i32 noundef %2055) #12
  %.not876 = icmp eq i32 %2056, 0
  br i1 %.not876, label %2057, label %2058

2057:                                             ; preds = %2053, %2047
  br label %2058

2058:                                             ; preds = %2053, %2057
  %.str.5.sink1862 = phi ptr [ @.str.5, %2057 ], [ @.str.2, %2053 ]
  store i32 %2048, ptr %598, align 4, !tbaa !5
  %2059 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2060 = load i32, ptr @test_count, align 4, !tbaa !5
  %2061 = load i32, ptr %544, align 4, !tbaa !5
  %2062 = call ptr @s2n_strerror(i32 noundef %2061, ptr noundef nonnull @.str.4) #12
  %2063 = load i32, ptr %544, align 4, !tbaa !5
  %2064 = call ptr @s2n_strerror_debug(i32 noundef %2063, ptr noundef nonnull @.str.4) #12
  %2065 = load i32, ptr %598, align 4, !tbaa !5
  %2066 = call ptr @strerror(i32 noundef %2065) #12
  %2067 = load i32, ptr %598, align 4, !tbaa !5
  %2068 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2059, ptr noundef nonnull %.str.5.sink1862, i32 noundef %2060, ptr noundef nonnull @.str.61, ptr noundef nonnull @.str.1, i32 noundef 223, ptr noundef %2062, ptr noundef %2064, ptr noundef %2066, i32 noundef %2067) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2069:                                             ; preds = %2044
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %29) #12
  store i64 0, ptr %29, align 8
  %2070 = add nsw i32 %2045, 2
  store i32 %2070, ptr @test_count, align 4, !tbaa !5
  %2071 = call i32 @s2n_stuffer_read_bytes(ptr noundef nonnull %25, ptr noundef nonnull %29, i32 noundef 8) #12
  %2072 = icmp eq i32 %2071, -1
  br i1 %2072, label %2073, label %2095

2073:                                             ; preds = %2069
  %2074 = load i32, ptr %598, align 4, !tbaa !5
  %2075 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2076 = call i32 @s2n_print_stacktrace(ptr noundef %2075) #12
  %2077 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2078 = trunc nuw i8 %2077 to i1
  br i1 %2078, label %2079, label %2083

2079:                                             ; preds = %2073
  %2080 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2081 = call i32 @fileno(ptr noundef %2080) #12
  %2082 = call i32 @isatty(i32 noundef %2081) #12
  %.not1166 = icmp eq i32 %2082, 0
  br i1 %.not1166, label %2083, label %2084

2083:                                             ; preds = %2079, %2073
  br label %2084

2084:                                             ; preds = %2079, %2083
  %.str.5.sink1871 = phi ptr [ @.str.5, %2083 ], [ @.str.2, %2079 ]
  store i32 %2074, ptr %598, align 4, !tbaa !5
  %2085 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2086 = load i32, ptr @test_count, align 4, !tbaa !5
  %2087 = load i32, ptr %544, align 4, !tbaa !5
  %2088 = call ptr @s2n_strerror(i32 noundef %2087, ptr noundef nonnull @.str.4) #12
  %2089 = load i32, ptr %544, align 4, !tbaa !5
  %2090 = call ptr @s2n_strerror_debug(i32 noundef %2089, ptr noundef nonnull @.str.4) #12
  %2091 = load i32, ptr %598, align 4, !tbaa !5
  %2092 = call ptr @strerror(i32 noundef %2091) #12
  %2093 = load i32, ptr %598, align 4, !tbaa !5
  %2094 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2085, ptr noundef nonnull %.str.5.sink1871, i32 noundef %2086, ptr noundef nonnull @.str.62, ptr noundef nonnull @.str.1, i32 noundef 227, ptr noundef %2088, ptr noundef %2090, ptr noundef %2092, i32 noundef %2093) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2095:                                             ; preds = %2069
  %2096 = load i32, ptr @test_count, align 4, !tbaa !5
  %2097 = add nsw i32 %2096, 1
  store i32 %2097, ptr @test_count, align 4, !tbaa !5
  %bcmp877 = call i32 @bcmp(ptr noundef nonnull dereferenceable(8) %29, ptr noundef nonnull dereferenceable(8) @__const.main.expected_sequence_number, i64 8)
  %2098 = icmp eq i32 %bcmp877, 0
  br i1 %2098, label %2121, label %2099

2099:                                             ; preds = %2095
  %2100 = load i32, ptr %598, align 4, !tbaa !5
  %2101 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2102 = call i32 @s2n_print_stacktrace(ptr noundef %2101) #12
  %2103 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2104 = trunc nuw i8 %2103 to i1
  br i1 %2104, label %2105, label %2109

2105:                                             ; preds = %2099
  %2106 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2107 = call i32 @fileno(ptr noundef %2106) #12
  %2108 = call i32 @isatty(i32 noundef %2107) #12
  %.not878 = icmp eq i32 %2108, 0
  br i1 %.not878, label %2109, label %2110

2109:                                             ; preds = %2105, %2099
  br label %2110

2110:                                             ; preds = %2105, %2109
  %.str.5.sink1880 = phi ptr [ @.str.5, %2109 ], [ @.str.2, %2105 ]
  store i32 %2100, ptr %598, align 4, !tbaa !5
  %2111 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2112 = load i32, ptr @test_count, align 4, !tbaa !5
  %2113 = load i32, ptr %544, align 4, !tbaa !5
  %2114 = call ptr @s2n_strerror(i32 noundef %2113, ptr noundef nonnull @.str.4) #12
  %2115 = load i32, ptr %544, align 4, !tbaa !5
  %2116 = call ptr @s2n_strerror_debug(i32 noundef %2115, ptr noundef nonnull @.str.4) #12
  %2117 = load i32, ptr %598, align 4, !tbaa !5
  %2118 = call ptr @strerror(i32 noundef %2117) #12
  %2119 = load i32, ptr %598, align 4, !tbaa !5
  %2120 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2111, ptr noundef nonnull %.str.5.sink1880, i32 noundef %2112, ptr noundef nonnull @.str.63, ptr noundef nonnull @.str.1, i32 noundef 230, ptr noundef %2114, ptr noundef %2116, ptr noundef %2118, i32 noundef %2119) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2121:                                             ; preds = %2095
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %30) #12
  store i64 0, ptr %30, align 8
  %2122 = add nsw i32 %2096, 2
  store i32 %2122, ptr @test_count, align 4, !tbaa !5
  %2123 = call i32 @s2n_stuffer_read_bytes(ptr noundef nonnull %25, ptr noundef nonnull %30, i32 noundef 8) #12
  %2124 = icmp eq i32 %2123, -1
  br i1 %2124, label %2125, label %2147

2125:                                             ; preds = %2121
  %2126 = load i32, ptr %598, align 4, !tbaa !5
  %2127 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2128 = call i32 @s2n_print_stacktrace(ptr noundef %2127) #12
  %2129 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2130 = trunc nuw i8 %2129 to i1
  br i1 %2130, label %2131, label %2135

2131:                                             ; preds = %2125
  %2132 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2133 = call i32 @fileno(ptr noundef %2132) #12
  %2134 = call i32 @isatty(i32 noundef %2133) #12
  %.not1165 = icmp eq i32 %2134, 0
  br i1 %.not1165, label %2135, label %2136

2135:                                             ; preds = %2131, %2125
  br label %2136

2136:                                             ; preds = %2131, %2135
  %.str.5.sink1889 = phi ptr [ @.str.5, %2135 ], [ @.str.2, %2131 ]
  store i32 %2126, ptr %598, align 4, !tbaa !5
  %2137 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2138 = load i32, ptr @test_count, align 4, !tbaa !5
  %2139 = load i32, ptr %544, align 4, !tbaa !5
  %2140 = call ptr @s2n_strerror(i32 noundef %2139, ptr noundef nonnull @.str.4) #12
  %2141 = load i32, ptr %544, align 4, !tbaa !5
  %2142 = call ptr @s2n_strerror_debug(i32 noundef %2141, ptr noundef nonnull @.str.4) #12
  %2143 = load i32, ptr %598, align 4, !tbaa !5
  %2144 = call ptr @strerror(i32 noundef %2143) #12
  %2145 = load i32, ptr %598, align 4, !tbaa !5
  %2146 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2137, ptr noundef nonnull %.str.5.sink1889, i32 noundef %2138, ptr noundef nonnull @.str.64, ptr noundef nonnull @.str.1, i32 noundef 234, ptr noundef %2140, ptr noundef %2142, ptr noundef %2144, i32 noundef %2145) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2147:                                             ; preds = %2121
  %2148 = load i32, ptr @test_count, align 4, !tbaa !5
  %2149 = add nsw i32 %2148, 1
  store i32 %2149, ptr @test_count, align 4, !tbaa !5
  %bcmp879 = call i32 @bcmp(ptr noundef nonnull dereferenceable(8) %30, ptr noundef nonnull dereferenceable(8) @__const.main.expected_sequence_number, i64 8)
  %2150 = icmp eq i32 %bcmp879, 0
  br i1 %2150, label %2173, label %2151

2151:                                             ; preds = %2147
  %2152 = load i32, ptr %598, align 4, !tbaa !5
  %2153 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2154 = call i32 @s2n_print_stacktrace(ptr noundef %2153) #12
  %2155 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2156 = trunc nuw i8 %2155 to i1
  br i1 %2156, label %2157, label %2161

2157:                                             ; preds = %2151
  %2158 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2159 = call i32 @fileno(ptr noundef %2158) #12
  %2160 = call i32 @isatty(i32 noundef %2159) #12
  %.not880 = icmp eq i32 %2160, 0
  br i1 %.not880, label %2161, label %2162

2161:                                             ; preds = %2157, %2151
  br label %2162

2162:                                             ; preds = %2157, %2161
  %.str.5.sink1898 = phi ptr [ @.str.5, %2161 ], [ @.str.2, %2157 ]
  store i32 %2152, ptr %598, align 4, !tbaa !5
  %2163 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2164 = load i32, ptr @test_count, align 4, !tbaa !5
  %2165 = load i32, ptr %544, align 4, !tbaa !5
  %2166 = call ptr @s2n_strerror(i32 noundef %2165, ptr noundef nonnull @.str.4) #12
  %2167 = load i32, ptr %544, align 4, !tbaa !5
  %2168 = call ptr @s2n_strerror_debug(i32 noundef %2167, ptr noundef nonnull @.str.4) #12
  %2169 = load i32, ptr %598, align 4, !tbaa !5
  %2170 = call ptr @strerror(i32 noundef %2169) #12
  %2171 = load i32, ptr %598, align 4, !tbaa !5
  %2172 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2163, ptr noundef nonnull %.str.5.sink1898, i32 noundef %2164, ptr noundef nonnull @.str.65, ptr noundef nonnull @.str.1, i32 noundef 236, ptr noundef %2166, ptr noundef %2168, ptr noundef %2170, i32 noundef %2171) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2173:                                             ; preds = %2147
  call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %31) #12
  store i16 0, ptr %31, align 2, !tbaa !59
  %2174 = add nsw i32 %2148, 2
  store i32 %2174, ptr @test_count, align 4, !tbaa !5
  %2175 = call i32 @s2n_stuffer_read_uint16(ptr noundef nonnull %25, ptr noundef nonnull %31) #12
  %2176 = icmp eq i32 %2175, -1
  br i1 %2176, label %2177, label %2199

2177:                                             ; preds = %2173
  %2178 = load i32, ptr %598, align 4, !tbaa !5
  %2179 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2180 = call i32 @s2n_print_stacktrace(ptr noundef %2179) #12
  %2181 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2182 = trunc nuw i8 %2181 to i1
  br i1 %2182, label %2183, label %2187

2183:                                             ; preds = %2177
  %2184 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2185 = call i32 @fileno(ptr noundef %2184) #12
  %2186 = call i32 @isatty(i32 noundef %2185) #12
  %.not1164 = icmp eq i32 %2186, 0
  br i1 %.not1164, label %2187, label %2188

2187:                                             ; preds = %2183, %2177
  br label %2188

2188:                                             ; preds = %2183, %2187
  %.str.5.sink1907 = phi ptr [ @.str.5, %2187 ], [ @.str.2, %2183 ]
  store i32 %2178, ptr %598, align 4, !tbaa !5
  %2189 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2190 = load i32, ptr @test_count, align 4, !tbaa !5
  %2191 = load i32, ptr %544, align 4, !tbaa !5
  %2192 = call ptr @s2n_strerror(i32 noundef %2191, ptr noundef nonnull @.str.4) #12
  %2193 = load i32, ptr %544, align 4, !tbaa !5
  %2194 = call ptr @s2n_strerror_debug(i32 noundef %2193, ptr noundef nonnull @.str.4) #12
  %2195 = load i32, ptr %598, align 4, !tbaa !5
  %2196 = call ptr @strerror(i32 noundef %2195) #12
  %2197 = load i32, ptr %598, align 4, !tbaa !5
  %2198 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2189, ptr noundef nonnull %.str.5.sink1907, i32 noundef %2190, ptr noundef nonnull @.str.66, ptr noundef nonnull @.str.1, i32 noundef 239, ptr noundef %2192, ptr noundef %2194, ptr noundef %2196, i32 noundef %2197) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2199:                                             ; preds = %2173
  %2200 = load i32, ptr @test_count, align 4, !tbaa !5
  %2201 = add nsw i32 %2200, 1
  store i32 %2201, ptr @test_count, align 4, !tbaa !5
  %2202 = load i16, ptr %31, align 2, !tbaa !59
  %2203 = icmp eq i16 %2202, 8087
  br i1 %2203, label %2226, label %2204

2204:                                             ; preds = %2199
  %2205 = load i32, ptr %598, align 4, !tbaa !5
  %2206 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2207 = call i32 @s2n_print_stacktrace(ptr noundef %2206) #12
  %2208 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2209 = trunc nuw i8 %2208 to i1
  br i1 %2209, label %2210, label %2214

2210:                                             ; preds = %2204
  %2211 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2212 = call i32 @fileno(ptr noundef %2211) #12
  %2213 = call i32 @isatty(i32 noundef %2212) #12
  %.not881 = icmp eq i32 %2213, 0
  br i1 %.not881, label %2214, label %2215

2214:                                             ; preds = %2210, %2204
  br label %2215

2215:                                             ; preds = %2210, %2214
  %.str.5.sink1916 = phi ptr [ @.str.5, %2214 ], [ @.str.2, %2210 ]
  store i32 %2205, ptr %598, align 4, !tbaa !5
  %2216 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2217 = load i32, ptr @test_count, align 4, !tbaa !5
  %2218 = load i32, ptr %544, align 4, !tbaa !5
  %2219 = call ptr @s2n_strerror(i32 noundef %2218, ptr noundef nonnull @.str.4) #12
  %2220 = load i32, ptr %544, align 4, !tbaa !5
  %2221 = call ptr @s2n_strerror_debug(i32 noundef %2220, ptr noundef nonnull @.str.4) #12
  %2222 = load i32, ptr %598, align 4, !tbaa !5
  %2223 = call ptr @strerror(i32 noundef %2222) #12
  %2224 = load i32, ptr %598, align 4, !tbaa !5
  %2225 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2216, ptr noundef nonnull %.str.5.sink1916, i32 noundef %2217, ptr noundef nonnull @.str.67, ptr noundef nonnull @.str.1, i32 noundef 240, ptr noundef %2219, ptr noundef %2221, ptr noundef %2223, i32 noundef %2224) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2226:                                             ; preds = %2199
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %32) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(48) %32, i8 0, i64 48, i1 false)
  %2227 = add nsw i32 %2200, 2
  store i32 %2227, ptr @test_count, align 4, !tbaa !5
  %2228 = call i32 @s2n_stuffer_read_bytes(ptr noundef nonnull %25, ptr noundef nonnull %32, i32 noundef 48) #12
  %2229 = icmp eq i32 %2228, -1
  br i1 %2229, label %2230, label %2252

2230:                                             ; preds = %2226
  %2231 = load i32, ptr %598, align 4, !tbaa !5
  %2232 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2233 = call i32 @s2n_print_stacktrace(ptr noundef %2232) #12
  %2234 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2235 = trunc nuw i8 %2234 to i1
  br i1 %2235, label %2236, label %2240

2236:                                             ; preds = %2230
  %2237 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2238 = call i32 @fileno(ptr noundef %2237) #12
  %2239 = call i32 @isatty(i32 noundef %2238) #12
  %.not1163 = icmp eq i32 %2239, 0
  br i1 %.not1163, label %2240, label %2241

2240:                                             ; preds = %2236, %2230
  br label %2241

2241:                                             ; preds = %2236, %2240
  %.str.5.sink1925 = phi ptr [ @.str.5, %2240 ], [ @.str.2, %2236 ]
  store i32 %2231, ptr %598, align 4, !tbaa !5
  %2242 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2243 = load i32, ptr @test_count, align 4, !tbaa !5
  %2244 = load i32, ptr %544, align 4, !tbaa !5
  %2245 = call ptr @s2n_strerror(i32 noundef %2244, ptr noundef nonnull @.str.4) #12
  %2246 = load i32, ptr %544, align 4, !tbaa !5
  %2247 = call ptr @s2n_strerror_debug(i32 noundef %2246, ptr noundef nonnull @.str.4) #12
  %2248 = load i32, ptr %598, align 4, !tbaa !5
  %2249 = call ptr @strerror(i32 noundef %2248) #12
  %2250 = load i32, ptr %598, align 4, !tbaa !5
  %2251 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2242, ptr noundef nonnull %.str.5.sink1925, i32 noundef %2243, ptr noundef nonnull @.str.68, ptr noundef nonnull @.str.1, i32 noundef 243, ptr noundef %2245, ptr noundef %2247, ptr noundef %2249, i32 noundef %2250) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2252:                                             ; preds = %2226
  %2253 = load i32, ptr @test_count, align 4, !tbaa !5
  %2254 = add nsw i32 %2253, 1
  store i32 %2254, ptr @test_count, align 4, !tbaa !5
  %2255 = load ptr, ptr %19, align 8, !tbaa !9
  %2256 = getelementptr inbounds i8, ptr %2255, i64 288
  %bcmp882 = call i32 @bcmp(ptr noundef nonnull dereferenceable(48) %32, ptr noundef nonnull dereferenceable(48) %2256, i64 48)
  %2257 = icmp eq i32 %bcmp882, 0
  br i1 %2257, label %2280, label %2258

2258:                                             ; preds = %2252
  %2259 = load i32, ptr %598, align 4, !tbaa !5
  %2260 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2261 = call i32 @s2n_print_stacktrace(ptr noundef %2260) #12
  %2262 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2263 = trunc nuw i8 %2262 to i1
  br i1 %2263, label %2264, label %2268

2264:                                             ; preds = %2258
  %2265 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2266 = call i32 @fileno(ptr noundef %2265) #12
  %2267 = call i32 @isatty(i32 noundef %2266) #12
  %.not883 = icmp eq i32 %2267, 0
  br i1 %.not883, label %2268, label %2269

2268:                                             ; preds = %2264, %2258
  br label %2269

2269:                                             ; preds = %2264, %2268
  %.str.5.sink1934 = phi ptr [ @.str.5, %2268 ], [ @.str.2, %2264 ]
  store i32 %2259, ptr %598, align 4, !tbaa !5
  %2270 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2271 = load i32, ptr @test_count, align 4, !tbaa !5
  %2272 = load i32, ptr %544, align 4, !tbaa !5
  %2273 = call ptr @s2n_strerror(i32 noundef %2272, ptr noundef nonnull @.str.4) #12
  %2274 = load i32, ptr %544, align 4, !tbaa !5
  %2275 = call ptr @s2n_strerror_debug(i32 noundef %2274, ptr noundef nonnull @.str.4) #12
  %2276 = load i32, ptr %598, align 4, !tbaa !5
  %2277 = call ptr @strerror(i32 noundef %2276) #12
  %2278 = load i32, ptr %598, align 4, !tbaa !5
  %2279 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2270, ptr noundef nonnull %.str.5.sink1934, i32 noundef %2271, ptr noundef nonnull @.str.69, ptr noundef nonnull @.str.1, i32 noundef 245, ptr noundef %2273, ptr noundef %2275, ptr noundef %2277, i32 noundef %2278) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2280:                                             ; preds = %2252
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %33) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(32) %33, i8 0, i64 32, i1 false)
  %2281 = add nsw i32 %2253, 2
  store i32 %2281, ptr @test_count, align 4, !tbaa !5
  %2282 = call i32 @s2n_stuffer_read_bytes(ptr noundef nonnull %25, ptr noundef nonnull %33, i32 noundef 32) #12
  %2283 = icmp eq i32 %2282, -1
  br i1 %2283, label %2284, label %2306

2284:                                             ; preds = %2280
  %2285 = load i32, ptr %598, align 4, !tbaa !5
  %2286 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2287 = call i32 @s2n_print_stacktrace(ptr noundef %2286) #12
  %2288 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2289 = trunc nuw i8 %2288 to i1
  br i1 %2289, label %2290, label %2294

2290:                                             ; preds = %2284
  %2291 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2292 = call i32 @fileno(ptr noundef %2291) #12
  %2293 = call i32 @isatty(i32 noundef %2292) #12
  %.not1162 = icmp eq i32 %2293, 0
  br i1 %.not1162, label %2294, label %2295

2294:                                             ; preds = %2290, %2284
  br label %2295

2295:                                             ; preds = %2290, %2294
  %.str.5.sink1943 = phi ptr [ @.str.5, %2294 ], [ @.str.2, %2290 ]
  store i32 %2285, ptr %598, align 4, !tbaa !5
  %2296 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2297 = load i32, ptr @test_count, align 4, !tbaa !5
  %2298 = load i32, ptr %544, align 4, !tbaa !5
  %2299 = call ptr @s2n_strerror(i32 noundef %2298, ptr noundef nonnull @.str.4) #12
  %2300 = load i32, ptr %544, align 4, !tbaa !5
  %2301 = call ptr @s2n_strerror_debug(i32 noundef %2300, ptr noundef nonnull @.str.4) #12
  %2302 = load i32, ptr %598, align 4, !tbaa !5
  %2303 = call ptr @strerror(i32 noundef %2302) #12
  %2304 = load i32, ptr %598, align 4, !tbaa !5
  %2305 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2296, ptr noundef nonnull %.str.5.sink1943, i32 noundef %2297, ptr noundef nonnull @.str.70, ptr noundef nonnull @.str.1, i32 noundef 248, ptr noundef %2299, ptr noundef %2301, ptr noundef %2303, i32 noundef %2304) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2306:                                             ; preds = %2280
  %2307 = load i32, ptr @test_count, align 4, !tbaa !5
  %2308 = add nsw i32 %2307, 1
  store i32 %2308, ptr @test_count, align 4, !tbaa !5
  %2309 = load ptr, ptr %19, align 8, !tbaa !9
  %2310 = getelementptr inbounds i8, ptr %2309, i64 1618
  %bcmp884 = call i32 @bcmp(ptr noundef nonnull dereferenceable(32) %33, ptr noundef nonnull dereferenceable(32) %2310, i64 32)
  %2311 = icmp eq i32 %bcmp884, 0
  br i1 %2311, label %2334, label %2312

2312:                                             ; preds = %2306
  %2313 = load i32, ptr %598, align 4, !tbaa !5
  %2314 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2315 = call i32 @s2n_print_stacktrace(ptr noundef %2314) #12
  %2316 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2317 = trunc nuw i8 %2316 to i1
  br i1 %2317, label %2318, label %2322

2318:                                             ; preds = %2312
  %2319 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2320 = call i32 @fileno(ptr noundef %2319) #12
  %2321 = call i32 @isatty(i32 noundef %2320) #12
  %.not885 = icmp eq i32 %2321, 0
  br i1 %.not885, label %2322, label %2323

2322:                                             ; preds = %2318, %2312
  br label %2323

2323:                                             ; preds = %2318, %2322
  %.str.5.sink1952 = phi ptr [ @.str.5, %2322 ], [ @.str.2, %2318 ]
  store i32 %2313, ptr %598, align 4, !tbaa !5
  %2324 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2325 = load i32, ptr @test_count, align 4, !tbaa !5
  %2326 = load i32, ptr %544, align 4, !tbaa !5
  %2327 = call ptr @s2n_strerror(i32 noundef %2326, ptr noundef nonnull @.str.4) #12
  %2328 = load i32, ptr %544, align 4, !tbaa !5
  %2329 = call ptr @s2n_strerror_debug(i32 noundef %2328, ptr noundef nonnull @.str.4) #12
  %2330 = load i32, ptr %598, align 4, !tbaa !5
  %2331 = call ptr @strerror(i32 noundef %2330) #12
  %2332 = load i32, ptr %598, align 4, !tbaa !5
  %2333 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2324, ptr noundef nonnull %.str.5.sink1952, i32 noundef %2325, ptr noundef nonnull @.str.71, ptr noundef nonnull @.str.1, i32 noundef 250, ptr noundef %2327, ptr noundef %2329, ptr noundef %2331, i32 noundef %2332) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2334:                                             ; preds = %2306
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %34) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(32) %34, i8 0, i64 32, i1 false)
  %2335 = add nsw i32 %2307, 2
  store i32 %2335, ptr @test_count, align 4, !tbaa !5
  %2336 = call i32 @s2n_stuffer_read_bytes(ptr noundef nonnull %25, ptr noundef nonnull %34, i32 noundef 32) #12
  %2337 = icmp eq i32 %2336, -1
  br i1 %2337, label %2338, label %2360

2338:                                             ; preds = %2334
  %2339 = load i32, ptr %598, align 4, !tbaa !5
  %2340 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2341 = call i32 @s2n_print_stacktrace(ptr noundef %2340) #12
  %2342 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2343 = trunc nuw i8 %2342 to i1
  br i1 %2343, label %2344, label %2348

2344:                                             ; preds = %2338
  %2345 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2346 = call i32 @fileno(ptr noundef %2345) #12
  %2347 = call i32 @isatty(i32 noundef %2346) #12
  %.not1161 = icmp eq i32 %2347, 0
  br i1 %.not1161, label %2348, label %2349

2348:                                             ; preds = %2344, %2338
  br label %2349

2349:                                             ; preds = %2344, %2348
  %.str.5.sink1961 = phi ptr [ @.str.5, %2348 ], [ @.str.2, %2344 ]
  store i32 %2339, ptr %598, align 4, !tbaa !5
  %2350 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2351 = load i32, ptr @test_count, align 4, !tbaa !5
  %2352 = load i32, ptr %544, align 4, !tbaa !5
  %2353 = call ptr @s2n_strerror(i32 noundef %2352, ptr noundef nonnull @.str.4) #12
  %2354 = load i32, ptr %544, align 4, !tbaa !5
  %2355 = call ptr @s2n_strerror_debug(i32 noundef %2354, ptr noundef nonnull @.str.4) #12
  %2356 = load i32, ptr %598, align 4, !tbaa !5
  %2357 = call ptr @strerror(i32 noundef %2356) #12
  %2358 = load i32, ptr %598, align 4, !tbaa !5
  %2359 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2350, ptr noundef nonnull %.str.5.sink1961, i32 noundef %2351, ptr noundef nonnull @.str.72, ptr noundef nonnull @.str.1, i32 noundef 253, ptr noundef %2353, ptr noundef %2355, ptr noundef %2357, i32 noundef %2358) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2360:                                             ; preds = %2334
  %2361 = load i32, ptr @test_count, align 4, !tbaa !5
  %2362 = add nsw i32 %2361, 1
  store i32 %2362, ptr @test_count, align 4, !tbaa !5
  %2363 = load ptr, ptr %19, align 8, !tbaa !9
  %2364 = getelementptr inbounds i8, ptr %2363, i64 1650
  %bcmp886 = call i32 @bcmp(ptr noundef nonnull dereferenceable(32) %34, ptr noundef nonnull dereferenceable(32) %2364, i64 32)
  %2365 = icmp eq i32 %bcmp886, 0
  br i1 %2365, label %2388, label %2366

2366:                                             ; preds = %2360
  %2367 = load i32, ptr %598, align 4, !tbaa !5
  %2368 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2369 = call i32 @s2n_print_stacktrace(ptr noundef %2368) #12
  %2370 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2371 = trunc nuw i8 %2370 to i1
  br i1 %2371, label %2372, label %2376

2372:                                             ; preds = %2366
  %2373 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2374 = call i32 @fileno(ptr noundef %2373) #12
  %2375 = call i32 @isatty(i32 noundef %2374) #12
  %.not887 = icmp eq i32 %2375, 0
  br i1 %.not887, label %2376, label %2377

2376:                                             ; preds = %2372, %2366
  br label %2377

2377:                                             ; preds = %2372, %2376
  %.str.5.sink1970 = phi ptr [ @.str.5, %2376 ], [ @.str.2, %2372 ]
  store i32 %2367, ptr %598, align 4, !tbaa !5
  %2378 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2379 = load i32, ptr @test_count, align 4, !tbaa !5
  %2380 = load i32, ptr %544, align 4, !tbaa !5
  %2381 = call ptr @s2n_strerror(i32 noundef %2380, ptr noundef nonnull @.str.4) #12
  %2382 = load i32, ptr %544, align 4, !tbaa !5
  %2383 = call ptr @s2n_strerror_debug(i32 noundef %2382, ptr noundef nonnull @.str.4) #12
  %2384 = load i32, ptr %598, align 4, !tbaa !5
  %2385 = call ptr @strerror(i32 noundef %2384) #12
  %2386 = load i32, ptr %598, align 4, !tbaa !5
  %2387 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2378, ptr noundef nonnull %.str.5.sink1970, i32 noundef %2379, ptr noundef nonnull @.str.73, ptr noundef nonnull @.str.1, i32 noundef 255, ptr noundef %2381, ptr noundef %2383, ptr noundef %2385, i32 noundef %2386) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2388:                                             ; preds = %2360
  %2389 = add nsw i32 %2361, 2
  store i32 %2389, ptr @test_count, align 4, !tbaa !5
  %2390 = load i32, ptr %1878, align 4, !tbaa !56
  %2391 = load i32, ptr %1880, align 8, !tbaa !57
  %2392 = icmp eq i32 %2390, %2391
  br i1 %2392, label %2415, label %2393

2393:                                             ; preds = %2388
  %2394 = load i32, ptr %598, align 4, !tbaa !5
  %2395 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2396 = call i32 @s2n_print_stacktrace(ptr noundef %2395) #12
  %2397 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2398 = trunc nuw i8 %2397 to i1
  br i1 %2398, label %2399, label %2403

2399:                                             ; preds = %2393
  %2400 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2401 = call i32 @fileno(ptr noundef %2400) #12
  %2402 = call i32 @isatty(i32 noundef %2401) #12
  %.not888 = icmp eq i32 %2402, 0
  br i1 %.not888, label %2403, label %2404

2403:                                             ; preds = %2399, %2393
  br label %2404

2404:                                             ; preds = %2399, %2403
  %.str.5.sink1979 = phi ptr [ @.str.5, %2403 ], [ @.str.2, %2399 ]
  store i32 %2394, ptr %598, align 4, !tbaa !5
  %2405 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2406 = load i32, ptr @test_count, align 4, !tbaa !5
  %2407 = load i32, ptr %544, align 4, !tbaa !5
  %2408 = call ptr @s2n_strerror(i32 noundef %2407, ptr noundef nonnull @.str.4) #12
  %2409 = load i32, ptr %544, align 4, !tbaa !5
  %2410 = call ptr @s2n_strerror_debug(i32 noundef %2409, ptr noundef nonnull @.str.4) #12
  %2411 = load i32, ptr %598, align 4, !tbaa !5
  %2412 = call ptr @strerror(i32 noundef %2411) #12
  %2413 = load i32, ptr %598, align 4, !tbaa !5
  %2414 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2405, ptr noundef nonnull %.str.5.sink1979, i32 noundef %2406, ptr noundef nonnull @.str.74, ptr noundef nonnull @.str.1, i32 noundef 257, ptr noundef %2408, ptr noundef %2410, ptr noundef %2412, i32 noundef %2413) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2415:                                             ; preds = %2388
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %34) #12
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %33) #12
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %32) #12
  call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %31) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %30) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %29) #12
  call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %28) #12
  call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %27) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %26) #12
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %25) #12
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %24) #12
  call void @llvm.lifetime.end.p0(i64 142, ptr nonnull %23) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %22) #12
  call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %21) #12
  %2416 = call i32 @s2n_io_stuffer_pair_free(ptr noundef nonnull %20) #12
  call void @llvm.lifetime.end.p0(i64 80, ptr nonnull %20) #12
  %2417 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %19) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %19) #12
  %2418 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %18) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %18) #12
  %2419 = call zeroext i1 (...) @s2n_is_tls13_fully_supported() #12
  br i1 %2419, label %2420, label %3324

2420:                                             ; preds = %2415
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %35) #12
  %2421 = call ptr @s2n_connection_new(i32 noundef 1) #12
  store ptr %2421, ptr %35, align 8, !tbaa !9
  %2422 = load i32, ptr @test_count, align 4, !tbaa !5
  %2423 = add nsw i32 %2422, 1
  store i32 %2423, ptr @test_count, align 4, !tbaa !5
  %2424 = icmp eq ptr %2421, null
  br i1 %2424, label %2425, label %2447

2425:                                             ; preds = %2420
  %2426 = load i32, ptr %598, align 4, !tbaa !5
  %2427 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2428 = call i32 @s2n_print_stacktrace(ptr noundef %2427) #12
  %2429 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2430 = trunc nuw i8 %2429 to i1
  br i1 %2430, label %2431, label %2435

2431:                                             ; preds = %2425
  %2432 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2433 = call i32 @fileno(ptr noundef %2432) #12
  %2434 = call i32 @isatty(i32 noundef %2433) #12
  %.not1160 = icmp eq i32 %2434, 0
  br i1 %.not1160, label %2435, label %2436

2435:                                             ; preds = %2431, %2425
  br label %2436

2436:                                             ; preds = %2431, %2435
  %.str.5.sink1988 = phi ptr [ @.str.5, %2435 ], [ @.str.2, %2431 ]
  store i32 %2426, ptr %598, align 4, !tbaa !5
  %2437 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2438 = load i32, ptr @test_count, align 4, !tbaa !5
  %2439 = load i32, ptr %544, align 4, !tbaa !5
  %2440 = call ptr @s2n_strerror(i32 noundef %2439, ptr noundef nonnull @.str.4) #12
  %2441 = load i32, ptr %544, align 4, !tbaa !5
  %2442 = call ptr @s2n_strerror_debug(i32 noundef %2441, ptr noundef nonnull @.str.4) #12
  %2443 = load i32, ptr %598, align 4, !tbaa !5
  %2444 = call ptr @strerror(i32 noundef %2443) #12
  %2445 = load i32, ptr %598, align 4, !tbaa !5
  %2446 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2437, ptr noundef nonnull %.str.5.sink1988, i32 noundef %2438, ptr noundef nonnull @.str.42, ptr noundef nonnull @.str.1, i32 noundef 264, ptr noundef %2440, ptr noundef %2442, ptr noundef %2444, i32 noundef %2445) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2447:                                             ; preds = %2420
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %36) #12
  %2448 = call ptr @s2n_connection_new(i32 noundef 0) #12
  store ptr %2448, ptr %36, align 8, !tbaa !9
  %2449 = load i32, ptr @test_count, align 4, !tbaa !5
  %2450 = add nsw i32 %2449, 1
  store i32 %2450, ptr @test_count, align 4, !tbaa !5
  %2451 = icmp eq ptr %2448, null
  br i1 %2451, label %2452, label %2474

2452:                                             ; preds = %2447
  %2453 = load i32, ptr %598, align 4, !tbaa !5
  %2454 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2455 = call i32 @s2n_print_stacktrace(ptr noundef %2454) #12
  %2456 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2457 = trunc nuw i8 %2456 to i1
  br i1 %2457, label %2458, label %2462

2458:                                             ; preds = %2452
  %2459 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2460 = call i32 @fileno(ptr noundef %2459) #12
  %2461 = call i32 @isatty(i32 noundef %2460) #12
  %.not1159 = icmp eq i32 %2461, 0
  br i1 %.not1159, label %2462, label %2463

2462:                                             ; preds = %2458, %2452
  br label %2463

2463:                                             ; preds = %2458, %2462
  %.str.5.sink1997 = phi ptr [ @.str.5, %2462 ], [ @.str.2, %2458 ]
  store i32 %2453, ptr %598, align 4, !tbaa !5
  %2464 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2465 = load i32, ptr @test_count, align 4, !tbaa !5
  %2466 = load i32, ptr %544, align 4, !tbaa !5
  %2467 = call ptr @s2n_strerror(i32 noundef %2466, ptr noundef nonnull @.str.4) #12
  %2468 = load i32, ptr %544, align 4, !tbaa !5
  %2469 = call ptr @s2n_strerror_debug(i32 noundef %2468, ptr noundef nonnull @.str.4) #12
  %2470 = load i32, ptr %598, align 4, !tbaa !5
  %2471 = call ptr @strerror(i32 noundef %2470) #12
  %2472 = load i32, ptr %598, align 4, !tbaa !5
  %2473 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2464, ptr noundef nonnull %.str.5.sink1997, i32 noundef %2465, ptr noundef nonnull @.str.43, ptr noundef nonnull @.str.1, i32 noundef 267, ptr noundef %2467, ptr noundef %2469, ptr noundef %2471, i32 noundef %2472) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2474:                                             ; preds = %2447
  %2475 = add nsw i32 %2449, 2
  store i32 %2475, ptr @test_count, align 4, !tbaa !5
  %2476 = load ptr, ptr %35, align 8, !tbaa !9
  %2477 = call i32 @s2n_connection_set_config(ptr noundef %2476, ptr noundef %367) #12
  %2478 = icmp eq i32 %2477, -1
  br i1 %2478, label %2479, label %2501

2479:                                             ; preds = %2474
  %2480 = load i32, ptr %598, align 4, !tbaa !5
  %2481 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2482 = call i32 @s2n_print_stacktrace(ptr noundef %2481) #12
  %2483 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2484 = trunc nuw i8 %2483 to i1
  br i1 %2484, label %2485, label %2489

2485:                                             ; preds = %2479
  %2486 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2487 = call i32 @fileno(ptr noundef %2486) #12
  %2488 = call i32 @isatty(i32 noundef %2487) #12
  %.not1158 = icmp eq i32 %2488, 0
  br i1 %.not1158, label %2489, label %2490

2489:                                             ; preds = %2485, %2479
  br label %2490

2490:                                             ; preds = %2485, %2489
  %.str.5.sink2006 = phi ptr [ @.str.5, %2489 ], [ @.str.2, %2485 ]
  store i32 %2480, ptr %598, align 4, !tbaa !5
  %2491 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2492 = load i32, ptr @test_count, align 4, !tbaa !5
  %2493 = load i32, ptr %544, align 4, !tbaa !5
  %2494 = call ptr @s2n_strerror(i32 noundef %2493, ptr noundef nonnull @.str.4) #12
  %2495 = load i32, ptr %544, align 4, !tbaa !5
  %2496 = call ptr @s2n_strerror_debug(i32 noundef %2495, ptr noundef nonnull @.str.4) #12
  %2497 = load i32, ptr %598, align 4, !tbaa !5
  %2498 = call ptr @strerror(i32 noundef %2497) #12
  %2499 = load i32, ptr %598, align 4, !tbaa !5
  %2500 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2491, ptr noundef nonnull %.str.5.sink2006, i32 noundef %2492, ptr noundef nonnull @.str.75, ptr noundef nonnull @.str.1, i32 noundef 269, ptr noundef %2494, ptr noundef %2496, ptr noundef %2498, i32 noundef %2499) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2501:                                             ; preds = %2474
  %2502 = load i32, ptr @test_count, align 4, !tbaa !5
  %2503 = add nsw i32 %2502, 1
  store i32 %2503, ptr @test_count, align 4, !tbaa !5
  %2504 = load ptr, ptr %36, align 8, !tbaa !9
  %2505 = call i32 @s2n_connection_set_config(ptr noundef %2504, ptr noundef %367) #12
  %2506 = icmp eq i32 %2505, -1
  br i1 %2506, label %2507, label %2529

2507:                                             ; preds = %2501
  %2508 = load i32, ptr %598, align 4, !tbaa !5
  %2509 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2510 = call i32 @s2n_print_stacktrace(ptr noundef %2509) #12
  %2511 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2512 = trunc nuw i8 %2511 to i1
  br i1 %2512, label %2513, label %2517

2513:                                             ; preds = %2507
  %2514 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2515 = call i32 @fileno(ptr noundef %2514) #12
  %2516 = call i32 @isatty(i32 noundef %2515) #12
  %.not1157 = icmp eq i32 %2516, 0
  br i1 %.not1157, label %2517, label %2518

2517:                                             ; preds = %2513, %2507
  br label %2518

2518:                                             ; preds = %2513, %2517
  %.str.5.sink2015 = phi ptr [ @.str.5, %2517 ], [ @.str.2, %2513 ]
  store i32 %2508, ptr %598, align 4, !tbaa !5
  %2519 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2520 = load i32, ptr @test_count, align 4, !tbaa !5
  %2521 = load i32, ptr %544, align 4, !tbaa !5
  %2522 = call ptr @s2n_strerror(i32 noundef %2521, ptr noundef nonnull @.str.4) #12
  %2523 = load i32, ptr %544, align 4, !tbaa !5
  %2524 = call ptr @s2n_strerror_debug(i32 noundef %2523, ptr noundef nonnull @.str.4) #12
  %2525 = load i32, ptr %598, align 4, !tbaa !5
  %2526 = call ptr @strerror(i32 noundef %2525) #12
  %2527 = load i32, ptr %598, align 4, !tbaa !5
  %2528 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2519, ptr noundef nonnull %.str.5.sink2015, i32 noundef %2520, ptr noundef nonnull @.str.76, ptr noundef nonnull @.str.1, i32 noundef 270, ptr noundef %2522, ptr noundef %2524, ptr noundef %2526, i32 noundef %2527) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2529:                                             ; preds = %2501
  call void @llvm.lifetime.start.p0(i64 80, ptr nonnull %37) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(80) %37, i8 0, i64 80, i1 false)
  %2530 = load i32, ptr @test_count, align 4, !tbaa !5
  %2531 = add nsw i32 %2530, 1
  store i32 %2531, ptr @test_count, align 4, !tbaa !5
  %2532 = call i32 @s2n_io_stuffer_pair_init(ptr noundef nonnull %37) #12
  %2533 = call zeroext i1 @s2n_result_is_ok(i32 %2532)
  br i1 %2533, label %2556, label %2534

2534:                                             ; preds = %2529
  %2535 = load i32, ptr %598, align 4, !tbaa !5
  %2536 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2537 = call i32 @s2n_print_stacktrace(ptr noundef %2536) #12
  %2538 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2539 = trunc nuw i8 %2538 to i1
  br i1 %2539, label %2540, label %2544

2540:                                             ; preds = %2534
  %2541 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2542 = call i32 @fileno(ptr noundef %2541) #12
  %2543 = call i32 @isatty(i32 noundef %2542) #12
  %.not889 = icmp eq i32 %2543, 0
  br i1 %.not889, label %2544, label %2545

2544:                                             ; preds = %2540, %2534
  br label %2545

2545:                                             ; preds = %2540, %2544
  %.str.5.sink2024 = phi ptr [ @.str.5, %2544 ], [ @.str.2, %2540 ]
  store i32 %2535, ptr %598, align 4, !tbaa !5
  %2546 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2547 = load i32, ptr @test_count, align 4, !tbaa !5
  %2548 = load i32, ptr %544, align 4, !tbaa !5
  %2549 = call ptr @s2n_strerror(i32 noundef %2548, ptr noundef nonnull @.str.4) #12
  %2550 = load i32, ptr %544, align 4, !tbaa !5
  %2551 = call ptr @s2n_strerror_debug(i32 noundef %2550, ptr noundef nonnull @.str.4) #12
  %2552 = load i32, ptr %598, align 4, !tbaa !5
  %2553 = call ptr @strerror(i32 noundef %2552) #12
  %2554 = load i32, ptr %598, align 4, !tbaa !5
  %2555 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2546, ptr noundef nonnull %.str.5.sink2024, i32 noundef %2547, ptr noundef nonnull @.str.46, ptr noundef nonnull @.str.1, i32 noundef 273, ptr noundef %2549, ptr noundef %2551, ptr noundef %2553, i32 noundef %2554) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2556:                                             ; preds = %2529
  %2557 = load i32, ptr @test_count, align 4, !tbaa !5
  %2558 = add nsw i32 %2557, 1
  store i32 %2558, ptr @test_count, align 4, !tbaa !5
  %2559 = load ptr, ptr %35, align 8, !tbaa !9
  %2560 = load ptr, ptr %36, align 8, !tbaa !9
  %2561 = call i32 @s2n_connections_set_io_stuffer_pair(ptr noundef %2559, ptr noundef %2560, ptr noundef nonnull %37) #12
  %2562 = call zeroext i1 @s2n_result_is_ok(i32 %2561)
  br i1 %2562, label %2585, label %2563

2563:                                             ; preds = %2556
  %2564 = load i32, ptr %598, align 4, !tbaa !5
  %2565 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2566 = call i32 @s2n_print_stacktrace(ptr noundef %2565) #12
  %2567 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2568 = trunc nuw i8 %2567 to i1
  br i1 %2568, label %2569, label %2573

2569:                                             ; preds = %2563
  %2570 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2571 = call i32 @fileno(ptr noundef %2570) #12
  %2572 = call i32 @isatty(i32 noundef %2571) #12
  %.not890 = icmp eq i32 %2572, 0
  br i1 %.not890, label %2573, label %2574

2573:                                             ; preds = %2569, %2563
  br label %2574

2574:                                             ; preds = %2569, %2573
  %.str.5.sink2033 = phi ptr [ @.str.5, %2573 ], [ @.str.2, %2569 ]
  store i32 %2564, ptr %598, align 4, !tbaa !5
  %2575 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2576 = load i32, ptr @test_count, align 4, !tbaa !5
  %2577 = load i32, ptr %544, align 4, !tbaa !5
  %2578 = call ptr @s2n_strerror(i32 noundef %2577, ptr noundef nonnull @.str.4) #12
  %2579 = load i32, ptr %544, align 4, !tbaa !5
  %2580 = call ptr @s2n_strerror_debug(i32 noundef %2579, ptr noundef nonnull @.str.4) #12
  %2581 = load i32, ptr %598, align 4, !tbaa !5
  %2582 = call ptr @strerror(i32 noundef %2581) #12
  %2583 = load i32, ptr %598, align 4, !tbaa !5
  %2584 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2575, ptr noundef nonnull %.str.5.sink2033, i32 noundef %2576, ptr noundef nonnull @.str.47, ptr noundef nonnull @.str.1, i32 noundef 274, ptr noundef %2578, ptr noundef %2580, ptr noundef %2582, i32 noundef %2583) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2585:                                             ; preds = %2556
  %2586 = load i32, ptr @test_count, align 4, !tbaa !5
  %2587 = add nsw i32 %2586, 1
  store i32 %2587, ptr @test_count, align 4, !tbaa !5
  %2588 = load ptr, ptr %36, align 8, !tbaa !9
  %2589 = load ptr, ptr %35, align 8, !tbaa !9
  %2590 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %2588, ptr noundef %2589) #12
  %2591 = icmp eq i32 %2590, -1
  br i1 %2591, label %2592, label %2614

2592:                                             ; preds = %2585
  %2593 = load i32, ptr %598, align 4, !tbaa !5
  %2594 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2595 = call i32 @s2n_print_stacktrace(ptr noundef %2594) #12
  %2596 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2597 = trunc nuw i8 %2596 to i1
  br i1 %2597, label %2598, label %2602

2598:                                             ; preds = %2592
  %2599 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2600 = call i32 @fileno(ptr noundef %2599) #12
  %2601 = call i32 @isatty(i32 noundef %2600) #12
  %.not1156 = icmp eq i32 %2601, 0
  br i1 %.not1156, label %2602, label %2603

2602:                                             ; preds = %2598, %2592
  br label %2603

2603:                                             ; preds = %2598, %2602
  %.str.5.sink2042 = phi ptr [ @.str.5, %2602 ], [ @.str.2, %2598 ]
  store i32 %2593, ptr %598, align 4, !tbaa !5
  %2604 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2605 = load i32, ptr @test_count, align 4, !tbaa !5
  %2606 = load i32, ptr %544, align 4, !tbaa !5
  %2607 = call ptr @s2n_strerror(i32 noundef %2606, ptr noundef nonnull @.str.4) #12
  %2608 = load i32, ptr %544, align 4, !tbaa !5
  %2609 = call ptr @s2n_strerror_debug(i32 noundef %2608, ptr noundef nonnull @.str.4) #12
  %2610 = load i32, ptr %598, align 4, !tbaa !5
  %2611 = call ptr @strerror(i32 noundef %2610) #12
  %2612 = load i32, ptr %598, align 4, !tbaa !5
  %2613 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2604, ptr noundef nonnull %.str.5.sink2042, i32 noundef %2605, ptr noundef nonnull @.str.48, ptr noundef nonnull @.str.1, i32 noundef 276, ptr noundef %2607, ptr noundef %2609, ptr noundef %2611, i32 noundef %2612) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2614:                                             ; preds = %2585
  %2615 = load i32, ptr @test_count, align 4, !tbaa !5
  %2616 = add nsw i32 %2615, 1
  store i32 %2616, ptr @test_count, align 4, !tbaa !5
  %2617 = load ptr, ptr %36, align 8, !tbaa !9
  %2618 = call i32 @s2n_connection_get_actual_protocol_version(ptr noundef %2617) #12
  %2619 = icmp eq i32 %2618, 34
  br i1 %2619, label %2642, label %2620

2620:                                             ; preds = %2614
  %2621 = load i32, ptr %598, align 4, !tbaa !5
  %2622 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2623 = call i32 @s2n_print_stacktrace(ptr noundef %2622) #12
  %2624 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2625 = trunc nuw i8 %2624 to i1
  br i1 %2625, label %2626, label %2630

2626:                                             ; preds = %2620
  %2627 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2628 = call i32 @fileno(ptr noundef %2627) #12
  %2629 = call i32 @isatty(i32 noundef %2628) #12
  %.not891 = icmp eq i32 %2629, 0
  br i1 %.not891, label %2630, label %2631

2630:                                             ; preds = %2626, %2620
  br label %2631

2631:                                             ; preds = %2626, %2630
  %.str.5.sink2051 = phi ptr [ @.str.5, %2630 ], [ @.str.2, %2626 ]
  store i32 %2621, ptr %598, align 4, !tbaa !5
  %2632 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2633 = load i32, ptr @test_count, align 4, !tbaa !5
  %2634 = load i32, ptr %544, align 4, !tbaa !5
  %2635 = call ptr @s2n_strerror(i32 noundef %2634, ptr noundef nonnull @.str.4) #12
  %2636 = load i32, ptr %544, align 4, !tbaa !5
  %2637 = call ptr @s2n_strerror_debug(i32 noundef %2636, ptr noundef nonnull @.str.4) #12
  %2638 = load i32, ptr %598, align 4, !tbaa !5
  %2639 = call ptr @strerror(i32 noundef %2638) #12
  %2640 = load i32, ptr %598, align 4, !tbaa !5
  %2641 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2632, ptr noundef nonnull %.str.5.sink2051, i32 noundef %2633, ptr noundef nonnull @.str.77, ptr noundef nonnull @.str.1, i32 noundef 277, ptr noundef %2635, ptr noundef %2637, ptr noundef %2639, i32 noundef %2640) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2642:                                             ; preds = %2614
  call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %38) #12
  store i16 0, ptr %38, align 2
  %2643 = load i32, ptr @test_count, align 4, !tbaa !5
  %2644 = add nsw i32 %2643, 1
  store i32 %2644, ptr @test_count, align 4, !tbaa !5
  %2645 = load ptr, ptr %36, align 8, !tbaa !9
  %2646 = getelementptr inbounds i8, ptr %38, i64 1
  %2647 = call i32 @s2n_connection_get_cipher_iana_value(ptr noundef %2645, ptr noundef nonnull %38, ptr noundef nonnull %2646) #12
  %2648 = icmp eq i32 %2647, -1
  br i1 %2648, label %2649, label %2671

2649:                                             ; preds = %2642
  %2650 = load i32, ptr %598, align 4, !tbaa !5
  %2651 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2652 = call i32 @s2n_print_stacktrace(ptr noundef %2651) #12
  %2653 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2654 = trunc nuw i8 %2653 to i1
  br i1 %2654, label %2655, label %2659

2655:                                             ; preds = %2649
  %2656 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2657 = call i32 @fileno(ptr noundef %2656) #12
  %2658 = call i32 @isatty(i32 noundef %2657) #12
  %.not1155 = icmp eq i32 %2658, 0
  br i1 %.not1155, label %2659, label %2660

2659:                                             ; preds = %2655, %2649
  br label %2660

2660:                                             ; preds = %2655, %2659
  %.str.5.sink2060 = phi ptr [ @.str.5, %2659 ], [ @.str.2, %2655 ]
  store i32 %2650, ptr %598, align 4, !tbaa !5
  %2661 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2662 = load i32, ptr @test_count, align 4, !tbaa !5
  %2663 = load i32, ptr %544, align 4, !tbaa !5
  %2664 = call ptr @s2n_strerror(i32 noundef %2663, ptr noundef nonnull @.str.4) #12
  %2665 = load i32, ptr %544, align 4, !tbaa !5
  %2666 = call ptr @s2n_strerror_debug(i32 noundef %2665, ptr noundef nonnull @.str.4) #12
  %2667 = load i32, ptr %598, align 4, !tbaa !5
  %2668 = call ptr @strerror(i32 noundef %2667) #12
  %2669 = load i32, ptr %598, align 4, !tbaa !5
  %2670 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2661, ptr noundef nonnull %.str.5.sink2060, i32 noundef %2662, ptr noundef nonnull @.str.50, ptr noundef nonnull @.str.1, i32 noundef 279, ptr noundef %2664, ptr noundef %2666, ptr noundef %2668, i32 noundef %2669) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2671:                                             ; preds = %2642
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %39) #12
  store i32 0, ptr %39, align 4, !tbaa !5
  %2672 = load i32, ptr @test_count, align 4, !tbaa !5
  %2673 = add nsw i32 %2672, 1
  store i32 %2673, ptr @test_count, align 4, !tbaa !5
  %2674 = load ptr, ptr %36, align 8, !tbaa !9
  %2675 = call i32 @s2n_connection_serialization_length(ptr noundef %2674, ptr noundef nonnull %39) #12
  %2676 = icmp eq i32 %2675, -1
  br i1 %2676, label %2677, label %2699

2677:                                             ; preds = %2671
  %2678 = load i32, ptr %598, align 4, !tbaa !5
  %2679 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2680 = call i32 @s2n_print_stacktrace(ptr noundef %2679) #12
  %2681 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2682 = trunc nuw i8 %2681 to i1
  br i1 %2682, label %2683, label %2687

2683:                                             ; preds = %2677
  %2684 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2685 = call i32 @fileno(ptr noundef %2684) #12
  %2686 = call i32 @isatty(i32 noundef %2685) #12
  %.not1154 = icmp eq i32 %2686, 0
  br i1 %.not1154, label %2687, label %2688

2687:                                             ; preds = %2683, %2677
  br label %2688

2688:                                             ; preds = %2683, %2687
  %.str.5.sink2069 = phi ptr [ @.str.5, %2687 ], [ @.str.2, %2683 ]
  store i32 %2678, ptr %598, align 4, !tbaa !5
  %2689 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2690 = load i32, ptr @test_count, align 4, !tbaa !5
  %2691 = load i32, ptr %544, align 4, !tbaa !5
  %2692 = call ptr @s2n_strerror(i32 noundef %2691, ptr noundef nonnull @.str.4) #12
  %2693 = load i32, ptr %544, align 4, !tbaa !5
  %2694 = call ptr @s2n_strerror_debug(i32 noundef %2693, ptr noundef nonnull @.str.4) #12
  %2695 = load i32, ptr %598, align 4, !tbaa !5
  %2696 = call ptr @strerror(i32 noundef %2695) #12
  %2697 = load i32, ptr %598, align 4, !tbaa !5
  %2698 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2689, ptr noundef nonnull %.str.5.sink2069, i32 noundef %2690, ptr noundef nonnull @.str.51, ptr noundef nonnull @.str.1, i32 noundef 282, ptr noundef %2692, ptr noundef %2694, ptr noundef %2696, i32 noundef %2697) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2699:                                             ; preds = %2671
  call void @llvm.lifetime.start.p0(i64 126, ptr nonnull %40) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(126) %40, i8 0, i64 126, i1 false)
  %2700 = load i32, ptr @test_count, align 4, !tbaa !5
  %2701 = add nsw i32 %2700, 1
  store i32 %2701, ptr @test_count, align 4, !tbaa !5
  %2702 = load ptr, ptr %36, align 8, !tbaa !9
  %2703 = call i32 @s2n_connection_serialize(ptr noundef %2702, ptr noundef nonnull %40, i32 noundef 126) #12
  %2704 = icmp eq i32 %2703, -1
  br i1 %2704, label %2705, label %2727

2705:                                             ; preds = %2699
  %2706 = load i32, ptr %598, align 4, !tbaa !5
  %2707 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2708 = call i32 @s2n_print_stacktrace(ptr noundef %2707) #12
  %2709 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2710 = trunc nuw i8 %2709 to i1
  br i1 %2710, label %2711, label %2715

2711:                                             ; preds = %2705
  %2712 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2713 = call i32 @fileno(ptr noundef %2712) #12
  %2714 = call i32 @isatty(i32 noundef %2713) #12
  %.not1153 = icmp eq i32 %2714, 0
  br i1 %.not1153, label %2715, label %2716

2715:                                             ; preds = %2711, %2705
  br label %2716

2716:                                             ; preds = %2711, %2715
  %.str.5.sink2078 = phi ptr [ @.str.5, %2715 ], [ @.str.2, %2711 ]
  store i32 %2706, ptr %598, align 4, !tbaa !5
  %2717 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2718 = load i32, ptr @test_count, align 4, !tbaa !5
  %2719 = load i32, ptr %544, align 4, !tbaa !5
  %2720 = call ptr @s2n_strerror(i32 noundef %2719, ptr noundef nonnull @.str.4) #12
  %2721 = load i32, ptr %544, align 4, !tbaa !5
  %2722 = call ptr @s2n_strerror_debug(i32 noundef %2721, ptr noundef nonnull @.str.4) #12
  %2723 = load i32, ptr %598, align 4, !tbaa !5
  %2724 = call ptr @strerror(i32 noundef %2723) #12
  %2725 = load i32, ptr %598, align 4, !tbaa !5
  %2726 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2717, ptr noundef nonnull %.str.5.sink2078, i32 noundef %2718, ptr noundef nonnull @.str.52, ptr noundef nonnull @.str.1, i32 noundef 285, ptr noundef %2720, ptr noundef %2722, ptr noundef %2724, i32 noundef %2725) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2727:                                             ; preds = %2699
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %41) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %41, i8 0, i64 24, i1 false)
  %2728 = load i32, ptr @test_count, align 4, !tbaa !5
  %2729 = add nsw i32 %2728, 1
  store i32 %2729, ptr @test_count, align 4, !tbaa !5
  %2730 = call i32 @s2n_blob_init(ptr noundef nonnull %41, ptr noundef nonnull %40, i32 noundef 126) #12
  %2731 = icmp eq i32 %2730, -1
  br i1 %2731, label %2732, label %2754

2732:                                             ; preds = %2727
  %2733 = load i32, ptr %598, align 4, !tbaa !5
  %2734 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2735 = call i32 @s2n_print_stacktrace(ptr noundef %2734) #12
  %2736 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2737 = trunc nuw i8 %2736 to i1
  br i1 %2737, label %2738, label %2742

2738:                                             ; preds = %2732
  %2739 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2740 = call i32 @fileno(ptr noundef %2739) #12
  %2741 = call i32 @isatty(i32 noundef %2740) #12
  %.not1152 = icmp eq i32 %2741, 0
  br i1 %.not1152, label %2742, label %2743

2742:                                             ; preds = %2738, %2732
  br label %2743

2743:                                             ; preds = %2738, %2742
  %.str.5.sink2087 = phi ptr [ @.str.5, %2742 ], [ @.str.2, %2738 ]
  store i32 %2733, ptr %598, align 4, !tbaa !5
  %2744 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2745 = load i32, ptr @test_count, align 4, !tbaa !5
  %2746 = load i32, ptr %544, align 4, !tbaa !5
  %2747 = call ptr @s2n_strerror(i32 noundef %2746, ptr noundef nonnull @.str.4) #12
  %2748 = load i32, ptr %544, align 4, !tbaa !5
  %2749 = call ptr @s2n_strerror_debug(i32 noundef %2748, ptr noundef nonnull @.str.4) #12
  %2750 = load i32, ptr %598, align 4, !tbaa !5
  %2751 = call ptr @strerror(i32 noundef %2750) #12
  %2752 = load i32, ptr %598, align 4, !tbaa !5
  %2753 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2744, ptr noundef nonnull %.str.5.sink2087, i32 noundef %2745, ptr noundef nonnull @.str.53, ptr noundef nonnull @.str.1, i32 noundef 288, ptr noundef %2747, ptr noundef %2749, ptr noundef %2751, i32 noundef %2752) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2754:                                             ; preds = %2727
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %42) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %42, i8 0, i64 40, i1 false)
  %2755 = load i32, ptr @test_count, align 4, !tbaa !5
  %2756 = add nsw i32 %2755, 1
  store i32 %2756, ptr @test_count, align 4, !tbaa !5
  %2757 = call i32 @s2n_stuffer_init_written(ptr noundef nonnull %42, ptr noundef nonnull %41) #12
  %2758 = icmp eq i32 %2757, -1
  br i1 %2758, label %2759, label %2781

2759:                                             ; preds = %2754
  %2760 = load i32, ptr %598, align 4, !tbaa !5
  %2761 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2762 = call i32 @s2n_print_stacktrace(ptr noundef %2761) #12
  %2763 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2764 = trunc nuw i8 %2763 to i1
  br i1 %2764, label %2765, label %2769

2765:                                             ; preds = %2759
  %2766 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2767 = call i32 @fileno(ptr noundef %2766) #12
  %2768 = call i32 @isatty(i32 noundef %2767) #12
  %.not1151 = icmp eq i32 %2768, 0
  br i1 %.not1151, label %2769, label %2770

2769:                                             ; preds = %2765, %2759
  br label %2770

2770:                                             ; preds = %2765, %2769
  %.str.5.sink2096 = phi ptr [ @.str.5, %2769 ], [ @.str.2, %2765 ]
  store i32 %2760, ptr %598, align 4, !tbaa !5
  %2771 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2772 = load i32, ptr @test_count, align 4, !tbaa !5
  %2773 = load i32, ptr %544, align 4, !tbaa !5
  %2774 = call ptr @s2n_strerror(i32 noundef %2773, ptr noundef nonnull @.str.4) #12
  %2775 = load i32, ptr %544, align 4, !tbaa !5
  %2776 = call ptr @s2n_strerror_debug(i32 noundef %2775, ptr noundef nonnull @.str.4) #12
  %2777 = load i32, ptr %598, align 4, !tbaa !5
  %2778 = call ptr @strerror(i32 noundef %2777) #12
  %2779 = load i32, ptr %598, align 4, !tbaa !5
  %2780 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2771, ptr noundef nonnull %.str.5.sink2096, i32 noundef %2772, ptr noundef nonnull @.str.54, ptr noundef nonnull @.str.1, i32 noundef 290, ptr noundef %2774, ptr noundef %2776, ptr noundef %2778, i32 noundef %2779) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2781:                                             ; preds = %2754
  %2782 = load i32, ptr @test_count, align 4, !tbaa !5
  %2783 = add nsw i32 %2782, 1
  store i32 %2783, ptr @test_count, align 4, !tbaa !5
  %2784 = load i32, ptr %39, align 4, !tbaa !5
  %2785 = getelementptr inbounds i8, ptr %42, i64 28
  %2786 = load i32, ptr %2785, align 4, !tbaa !56
  %2787 = getelementptr inbounds i8, ptr %42, i64 24
  %2788 = load i32, ptr %2787, align 8, !tbaa !57
  %2789 = sub i32 %2786, %2788
  %2790 = icmp eq i32 %2784, %2789
  br i1 %2790, label %2813, label %2791

2791:                                             ; preds = %2781
  %2792 = load i32, ptr %598, align 4, !tbaa !5
  %2793 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2794 = call i32 @s2n_print_stacktrace(ptr noundef %2793) #12
  %2795 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2796 = trunc nuw i8 %2795 to i1
  br i1 %2796, label %2797, label %2801

2797:                                             ; preds = %2791
  %2798 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2799 = call i32 @fileno(ptr noundef %2798) #12
  %2800 = call i32 @isatty(i32 noundef %2799) #12
  %.not892 = icmp eq i32 %2800, 0
  br i1 %.not892, label %2801, label %2802

2801:                                             ; preds = %2797, %2791
  br label %2802

2802:                                             ; preds = %2797, %2801
  %.str.5.sink2105 = phi ptr [ @.str.5, %2801 ], [ @.str.2, %2797 ]
  store i32 %2792, ptr %598, align 4, !tbaa !5
  %2803 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2804 = load i32, ptr @test_count, align 4, !tbaa !5
  %2805 = load i32, ptr %544, align 4, !tbaa !5
  %2806 = call ptr @s2n_strerror(i32 noundef %2805, ptr noundef nonnull @.str.4) #12
  %2807 = load i32, ptr %544, align 4, !tbaa !5
  %2808 = call ptr @s2n_strerror_debug(i32 noundef %2807, ptr noundef nonnull @.str.4) #12
  %2809 = load i32, ptr %598, align 4, !tbaa !5
  %2810 = call ptr @strerror(i32 noundef %2809) #12
  %2811 = load i32, ptr %598, align 4, !tbaa !5
  %2812 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2803, ptr noundef nonnull %.str.5.sink2105, i32 noundef %2804, ptr noundef nonnull @.str.55, ptr noundef nonnull @.str.1, i32 noundef 291, ptr noundef %2806, ptr noundef %2808, ptr noundef %2810, i32 noundef %2811) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2813:                                             ; preds = %2781
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %43) #12
  store i64 0, ptr %43, align 8, !tbaa !58
  %2814 = add nsw i32 %2782, 2
  store i32 %2814, ptr @test_count, align 4, !tbaa !5
  %2815 = call i32 @s2n_stuffer_read_uint64(ptr noundef nonnull %42, ptr noundef nonnull %43) #12
  %2816 = icmp eq i32 %2815, -1
  br i1 %2816, label %2817, label %2839

2817:                                             ; preds = %2813
  %2818 = load i32, ptr %598, align 4, !tbaa !5
  %2819 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2820 = call i32 @s2n_print_stacktrace(ptr noundef %2819) #12
  %2821 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2822 = trunc nuw i8 %2821 to i1
  br i1 %2822, label %2823, label %2827

2823:                                             ; preds = %2817
  %2824 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2825 = call i32 @fileno(ptr noundef %2824) #12
  %2826 = call i32 @isatty(i32 noundef %2825) #12
  %.not1150 = icmp eq i32 %2826, 0
  br i1 %.not1150, label %2827, label %2828

2827:                                             ; preds = %2823, %2817
  br label %2828

2828:                                             ; preds = %2823, %2827
  %.str.5.sink2114 = phi ptr [ @.str.5, %2827 ], [ @.str.2, %2823 ]
  store i32 %2818, ptr %598, align 4, !tbaa !5
  %2829 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2830 = load i32, ptr @test_count, align 4, !tbaa !5
  %2831 = load i32, ptr %544, align 4, !tbaa !5
  %2832 = call ptr @s2n_strerror(i32 noundef %2831, ptr noundef nonnull @.str.4) #12
  %2833 = load i32, ptr %544, align 4, !tbaa !5
  %2834 = call ptr @s2n_strerror_debug(i32 noundef %2833, ptr noundef nonnull @.str.4) #12
  %2835 = load i32, ptr %598, align 4, !tbaa !5
  %2836 = call ptr @strerror(i32 noundef %2835) #12
  %2837 = load i32, ptr %598, align 4, !tbaa !5
  %2838 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2829, ptr noundef nonnull %.str.5.sink2114, i32 noundef %2830, ptr noundef nonnull @.str.56, ptr noundef nonnull @.str.1, i32 noundef 294, ptr noundef %2832, ptr noundef %2834, ptr noundef %2836, i32 noundef %2837) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2839:                                             ; preds = %2813
  %2840 = load i32, ptr @test_count, align 4, !tbaa !5
  %2841 = add nsw i32 %2840, 1
  store i32 %2841, ptr @test_count, align 4, !tbaa !5
  %2842 = load i64, ptr %43, align 8, !tbaa !58
  %2843 = icmp eq i64 %2842, 1
  br i1 %2843, label %2866, label %2844

2844:                                             ; preds = %2839
  %2845 = load i32, ptr %598, align 4, !tbaa !5
  %2846 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2847 = call i32 @s2n_print_stacktrace(ptr noundef %2846) #12
  %2848 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2849 = trunc nuw i8 %2848 to i1
  br i1 %2849, label %2850, label %2854

2850:                                             ; preds = %2844
  %2851 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2852 = call i32 @fileno(ptr noundef %2851) #12
  %2853 = call i32 @isatty(i32 noundef %2852) #12
  %.not893 = icmp eq i32 %2853, 0
  br i1 %.not893, label %2854, label %2855

2854:                                             ; preds = %2850, %2844
  br label %2855

2855:                                             ; preds = %2850, %2854
  %.str.5.sink2123 = phi ptr [ @.str.5, %2854 ], [ @.str.2, %2850 ]
  store i32 %2845, ptr %598, align 4, !tbaa !5
  %2856 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2857 = load i32, ptr @test_count, align 4, !tbaa !5
  %2858 = load i32, ptr %544, align 4, !tbaa !5
  %2859 = call ptr @s2n_strerror(i32 noundef %2858, ptr noundef nonnull @.str.4) #12
  %2860 = load i32, ptr %544, align 4, !tbaa !5
  %2861 = call ptr @s2n_strerror_debug(i32 noundef %2860, ptr noundef nonnull @.str.4) #12
  %2862 = load i32, ptr %598, align 4, !tbaa !5
  %2863 = call ptr @strerror(i32 noundef %2862) #12
  %2864 = load i32, ptr %598, align 4, !tbaa !5
  %2865 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2856, ptr noundef nonnull %.str.5.sink2123, i32 noundef %2857, ptr noundef nonnull @.str.57, ptr noundef nonnull @.str.1, i32 noundef 295, ptr noundef %2859, ptr noundef %2861, ptr noundef %2863, i32 noundef %2864) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2866:                                             ; preds = %2839
  call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %44) #12
  store i16 0, ptr %44, align 2
  %2867 = add nsw i32 %2840, 2
  store i32 %2867, ptr @test_count, align 4, !tbaa !5
  %2868 = call i32 @s2n_stuffer_read_bytes(ptr noundef nonnull %42, ptr noundef nonnull %44, i32 noundef 2) #12
  %2869 = icmp eq i32 %2868, -1
  br i1 %2869, label %2870, label %2892

2870:                                             ; preds = %2866
  %2871 = load i32, ptr %598, align 4, !tbaa !5
  %2872 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2873 = call i32 @s2n_print_stacktrace(ptr noundef %2872) #12
  %2874 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2875 = trunc nuw i8 %2874 to i1
  br i1 %2875, label %2876, label %2880

2876:                                             ; preds = %2870
  %2877 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2878 = call i32 @fileno(ptr noundef %2877) #12
  %2879 = call i32 @isatty(i32 noundef %2878) #12
  %.not1149 = icmp eq i32 %2879, 0
  br i1 %.not1149, label %2880, label %2881

2880:                                             ; preds = %2876, %2870
  br label %2881

2881:                                             ; preds = %2876, %2880
  %.str.5.sink2132 = phi ptr [ @.str.5, %2880 ], [ @.str.2, %2876 ]
  store i32 %2871, ptr %598, align 4, !tbaa !5
  %2882 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2883 = load i32, ptr @test_count, align 4, !tbaa !5
  %2884 = load i32, ptr %544, align 4, !tbaa !5
  %2885 = call ptr @s2n_strerror(i32 noundef %2884, ptr noundef nonnull @.str.4) #12
  %2886 = load i32, ptr %544, align 4, !tbaa !5
  %2887 = call ptr @s2n_strerror_debug(i32 noundef %2886, ptr noundef nonnull @.str.4) #12
  %2888 = load i32, ptr %598, align 4, !tbaa !5
  %2889 = call ptr @strerror(i32 noundef %2888) #12
  %2890 = load i32, ptr %598, align 4, !tbaa !5
  %2891 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2882, ptr noundef nonnull %.str.5.sink2132, i32 noundef %2883, ptr noundef nonnull @.str.58, ptr noundef nonnull @.str.1, i32 noundef 299, ptr noundef %2885, ptr noundef %2887, ptr noundef %2889, i32 noundef %2890) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2892:                                             ; preds = %2866
  %2893 = load i32, ptr @test_count, align 4, !tbaa !5
  %2894 = add nsw i32 %2893, 1
  store i32 %2894, ptr @test_count, align 4, !tbaa !5
  %2895 = load i8, ptr %44, align 2, !tbaa !51
  %2896 = zext i8 %2895 to i32
  %2897 = mul nuw nsw i32 %2896, 10
  %2898 = getelementptr inbounds i8, ptr %44, i64 1
  %2899 = load i8, ptr %2898, align 1, !tbaa !51
  %2900 = zext i8 %2899 to i32
  %2901 = add nuw nsw i32 %2897, %2900
  %2902 = icmp eq i32 %2901, 34
  br i1 %2902, label %2925, label %2903

2903:                                             ; preds = %2892
  %2904 = load i32, ptr %598, align 4, !tbaa !5
  %2905 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2906 = call i32 @s2n_print_stacktrace(ptr noundef %2905) #12
  %2907 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2908 = trunc nuw i8 %2907 to i1
  br i1 %2908, label %2909, label %2913

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

2913:                                             ; preds = %2909, %2903
  br label %2914

2914:                                             ; preds = %2909, %2913
  %.str.5.sink2141 = phi ptr [ @.str.5, %2913 ], [ @.str.2, %2909 ]
  store i32 %2904, ptr %598, align 4, !tbaa !5
  %2915 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2916 = load i32, ptr @test_count, align 4, !tbaa !5
  %2917 = load i32, ptr %544, align 4, !tbaa !5
  %2918 = call ptr @s2n_strerror(i32 noundef %2917, ptr noundef nonnull @.str.4) #12
  %2919 = load i32, ptr %544, align 4, !tbaa !5
  %2920 = call ptr @s2n_strerror_debug(i32 noundef %2919, ptr noundef nonnull @.str.4) #12
  %2921 = load i32, ptr %598, align 4, !tbaa !5
  %2922 = call ptr @strerror(i32 noundef %2921) #12
  %2923 = load i32, ptr %598, align 4, !tbaa !5
  %2924 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2915, ptr noundef nonnull %.str.5.sink2141, i32 noundef %2916, ptr noundef nonnull @.str.78, ptr noundef nonnull @.str.1, i32 noundef 300, ptr noundef %2918, ptr noundef %2920, ptr noundef %2922, i32 noundef %2923) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2925:                                             ; preds = %2892
  call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %45) #12
  store i16 0, ptr %45, align 2
  %2926 = add nsw i32 %2893, 2
  store i32 %2926, ptr @test_count, align 4, !tbaa !5
  %2927 = call i32 @s2n_stuffer_read_bytes(ptr noundef nonnull %42, ptr noundef nonnull %45, i32 noundef 2) #12
  %2928 = icmp eq i32 %2927, -1
  br i1 %2928, label %2929, label %2951

2929:                                             ; preds = %2925
  %2930 = load i32, ptr %598, align 4, !tbaa !5
  %2931 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2932 = call i32 @s2n_print_stacktrace(ptr noundef %2931) #12
  %2933 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2934 = trunc nuw i8 %2933 to i1
  br i1 %2934, label %2935, label %2939

2935:                                             ; preds = %2929
  %2936 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2937 = call i32 @fileno(ptr noundef %2936) #12
  %2938 = call i32 @isatty(i32 noundef %2937) #12
  %.not1148 = icmp eq i32 %2938, 0
  br i1 %.not1148, label %2939, label %2940

2939:                                             ; preds = %2935, %2929
  br label %2940

2940:                                             ; preds = %2935, %2939
  %.str.5.sink2150 = phi ptr [ @.str.5, %2939 ], [ @.str.2, %2935 ]
  store i32 %2930, ptr %598, align 4, !tbaa !5
  %2941 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2942 = load i32, ptr @test_count, align 4, !tbaa !5
  %2943 = load i32, ptr %544, align 4, !tbaa !5
  %2944 = call ptr @s2n_strerror(i32 noundef %2943, ptr noundef nonnull @.str.4) #12
  %2945 = load i32, ptr %544, align 4, !tbaa !5
  %2946 = call ptr @s2n_strerror_debug(i32 noundef %2945, ptr noundef nonnull @.str.4) #12
  %2947 = load i32, ptr %598, align 4, !tbaa !5
  %2948 = call ptr @strerror(i32 noundef %2947) #12
  %2949 = load i32, ptr %598, align 4, !tbaa !5
  %2950 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2941, ptr noundef nonnull %.str.5.sink2150, i32 noundef %2942, ptr noundef nonnull @.str.60, ptr noundef nonnull @.str.1, i32 noundef 303, ptr noundef %2944, ptr noundef %2946, ptr noundef %2948, i32 noundef %2949) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2951:                                             ; preds = %2925
  %2952 = load i32, ptr @test_count, align 4, !tbaa !5
  %2953 = add nsw i32 %2952, 1
  store i32 %2953, ptr @test_count, align 4, !tbaa !5
  %lhsv4347 = load i16, ptr %45, align 2
  %rhsv4348 = load i16, ptr %38, align 2
  %.not4349 = icmp eq i16 %lhsv4347, %rhsv4348
  br i1 %.not4349, label %2976, label %2954

2954:                                             ; preds = %2951
  %2955 = load i32, ptr %598, align 4, !tbaa !5
  %2956 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2957 = call i32 @s2n_print_stacktrace(ptr noundef %2956) #12
  %2958 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2959 = trunc nuw i8 %2958 to i1
  br i1 %2959, label %2960, label %2964

2960:                                             ; preds = %2954
  %2961 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2962 = call i32 @fileno(ptr noundef %2961) #12
  %2963 = call i32 @isatty(i32 noundef %2962) #12
  %.not896 = icmp eq i32 %2963, 0
  br i1 %.not896, label %2964, label %2965

2964:                                             ; preds = %2960, %2954
  br label %2965

2965:                                             ; preds = %2960, %2964
  %.str.5.sink2159 = phi ptr [ @.str.5, %2964 ], [ @.str.2, %2960 ]
  store i32 %2955, ptr %598, align 4, !tbaa !5
  %2966 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2967 = load i32, ptr @test_count, align 4, !tbaa !5
  %2968 = load i32, ptr %544, align 4, !tbaa !5
  %2969 = call ptr @s2n_strerror(i32 noundef %2968, ptr noundef nonnull @.str.4) #12
  %2970 = load i32, ptr %544, align 4, !tbaa !5
  %2971 = call ptr @s2n_strerror_debug(i32 noundef %2970, ptr noundef nonnull @.str.4) #12
  %2972 = load i32, ptr %598, align 4, !tbaa !5
  %2973 = call ptr @strerror(i32 noundef %2972) #12
  %2974 = load i32, ptr %598, align 4, !tbaa !5
  %2975 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2966, ptr noundef nonnull %.str.5.sink2159, i32 noundef %2967, ptr noundef nonnull @.str.61, ptr noundef nonnull @.str.1, i32 noundef 304, ptr noundef %2969, ptr noundef %2971, ptr noundef %2973, i32 noundef %2974) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2976:                                             ; preds = %2951
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %46) #12
  store i64 0, ptr %46, align 8
  %2977 = add nsw i32 %2952, 2
  store i32 %2977, ptr @test_count, align 4, !tbaa !5
  %2978 = call i32 @s2n_stuffer_read_bytes(ptr noundef nonnull %42, ptr noundef nonnull %46, i32 noundef 8) #12
  %2979 = icmp eq i32 %2978, -1
  br i1 %2979, label %2980, label %3002

2980:                                             ; preds = %2976
  %2981 = load i32, ptr %598, align 4, !tbaa !5
  %2982 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2983 = call i32 @s2n_print_stacktrace(ptr noundef %2982) #12
  %2984 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2985 = trunc nuw i8 %2984 to i1
  br i1 %2985, label %2986, label %2990

2986:                                             ; preds = %2980
  %2987 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2988 = call i32 @fileno(ptr noundef %2987) #12
  %2989 = call i32 @isatty(i32 noundef %2988) #12
  %.not1147 = icmp eq i32 %2989, 0
  br i1 %.not1147, label %2990, label %2991

2990:                                             ; preds = %2986, %2980
  br label %2991

2991:                                             ; preds = %2986, %2990
  %.str.5.sink2168 = phi ptr [ @.str.5, %2990 ], [ @.str.2, %2986 ]
  store i32 %2981, ptr %598, align 4, !tbaa !5
  %2992 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2993 = load i32, ptr @test_count, align 4, !tbaa !5
  %2994 = load i32, ptr %544, align 4, !tbaa !5
  %2995 = call ptr @s2n_strerror(i32 noundef %2994, ptr noundef nonnull @.str.4) #12
  %2996 = load i32, ptr %544, align 4, !tbaa !5
  %2997 = call ptr @s2n_strerror_debug(i32 noundef %2996, ptr noundef nonnull @.str.4) #12
  %2998 = load i32, ptr %598, align 4, !tbaa !5
  %2999 = call ptr @strerror(i32 noundef %2998) #12
  %3000 = load i32, ptr %598, align 4, !tbaa !5
  %3001 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2992, ptr noundef nonnull %.str.5.sink2168, i32 noundef %2993, ptr noundef nonnull @.str.62, ptr noundef nonnull @.str.1, i32 noundef 308, ptr noundef %2995, ptr noundef %2997, ptr noundef %2999, i32 noundef %3000) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3002:                                             ; preds = %2976
  %3003 = load i32, ptr @test_count, align 4, !tbaa !5
  %3004 = add nsw i32 %3003, 1
  store i32 %3004, ptr @test_count, align 4, !tbaa !5
  %lhsv4350 = load i64, ptr %46, align 8
  %.not4352 = icmp eq i64 %lhsv4350, 0
  br i1 %.not4352, label %3027, label %3005

3005:                                             ; preds = %3002
  %3006 = load i32, ptr %598, align 4, !tbaa !5
  %3007 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3008 = call i32 @s2n_print_stacktrace(ptr noundef %3007) #12
  %3009 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3010 = trunc nuw i8 %3009 to i1
  br i1 %3010, label %3011, label %3015

3011:                                             ; preds = %3005
  %3012 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3013 = call i32 @fileno(ptr noundef %3012) #12
  %3014 = call i32 @isatty(i32 noundef %3013) #12
  %.not898 = icmp eq i32 %3014, 0
  br i1 %.not898, label %3015, label %3016

3015:                                             ; preds = %3011, %3005
  br label %3016

3016:                                             ; preds = %3011, %3015
  %.str.5.sink2177 = phi ptr [ @.str.5, %3015 ], [ @.str.2, %3011 ]
  store i32 %3006, ptr %598, align 4, !tbaa !5
  %3017 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3018 = load i32, ptr @test_count, align 4, !tbaa !5
  %3019 = load i32, ptr %544, align 4, !tbaa !5
  %3020 = call ptr @s2n_strerror(i32 noundef %3019, ptr noundef nonnull @.str.4) #12
  %3021 = load i32, ptr %544, align 4, !tbaa !5
  %3022 = call ptr @s2n_strerror_debug(i32 noundef %3021, ptr noundef nonnull @.str.4) #12
  %3023 = load i32, ptr %598, align 4, !tbaa !5
  %3024 = call ptr @strerror(i32 noundef %3023) #12
  %3025 = load i32, ptr %598, align 4, !tbaa !5
  %3026 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3017, ptr noundef nonnull %.str.5.sink2177, i32 noundef %3018, ptr noundef nonnull @.str.63, ptr noundef nonnull @.str.1, i32 noundef 311, ptr noundef %3020, ptr noundef %3022, ptr noundef %3024, i32 noundef %3025) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3027:                                             ; preds = %3002
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %47) #12
  store i64 0, ptr %47, align 8
  %3028 = add nsw i32 %3003, 2
  store i32 %3028, ptr @test_count, align 4, !tbaa !5
  %3029 = call i32 @s2n_stuffer_read_bytes(ptr noundef nonnull %42, ptr noundef nonnull %47, i32 noundef 8) #12
  %3030 = icmp eq i32 %3029, -1
  br i1 %3030, label %3031, label %3053

3031:                                             ; preds = %3027
  %3032 = load i32, ptr %598, align 4, !tbaa !5
  %3033 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3034 = call i32 @s2n_print_stacktrace(ptr noundef %3033) #12
  %3035 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3036 = trunc nuw i8 %3035 to i1
  br i1 %3036, label %3037, label %3041

3037:                                             ; preds = %3031
  %3038 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3039 = call i32 @fileno(ptr noundef %3038) #12
  %3040 = call i32 @isatty(i32 noundef %3039) #12
  %.not1146 = icmp eq i32 %3040, 0
  br i1 %.not1146, label %3041, label %3042

3041:                                             ; preds = %3037, %3031
  br label %3042

3042:                                             ; preds = %3037, %3041
  %.str.5.sink2186 = phi ptr [ @.str.5, %3041 ], [ @.str.2, %3037 ]
  store i32 %3032, ptr %598, align 4, !tbaa !5
  %3043 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3044 = load i32, ptr @test_count, align 4, !tbaa !5
  %3045 = load i32, ptr %544, align 4, !tbaa !5
  %3046 = call ptr @s2n_strerror(i32 noundef %3045, ptr noundef nonnull @.str.4) #12
  %3047 = load i32, ptr %544, align 4, !tbaa !5
  %3048 = call ptr @s2n_strerror_debug(i32 noundef %3047, ptr noundef nonnull @.str.4) #12
  %3049 = load i32, ptr %598, align 4, !tbaa !5
  %3050 = call ptr @strerror(i32 noundef %3049) #12
  %3051 = load i32, ptr %598, align 4, !tbaa !5
  %3052 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3043, ptr noundef nonnull %.str.5.sink2186, i32 noundef %3044, ptr noundef nonnull @.str.64, ptr noundef nonnull @.str.1, i32 noundef 315, ptr noundef %3046, ptr noundef %3048, ptr noundef %3050, i32 noundef %3051) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3053:                                             ; preds = %3027
  %3054 = load i32, ptr @test_count, align 4, !tbaa !5
  %3055 = add nsw i32 %3054, 1
  store i32 %3055, ptr @test_count, align 4, !tbaa !5
  %lhsv4353 = load i64, ptr %47, align 8
  %.not4355 = icmp eq i64 %lhsv4353, 0
  br i1 %.not4355, label %3078, label %3056

3056:                                             ; preds = %3053
  %3057 = load i32, ptr %598, align 4, !tbaa !5
  %3058 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3059 = call i32 @s2n_print_stacktrace(ptr noundef %3058) #12
  %3060 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3061 = trunc nuw i8 %3060 to i1
  br i1 %3061, label %3062, label %3066

3062:                                             ; preds = %3056
  %3063 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3064 = call i32 @fileno(ptr noundef %3063) #12
  %3065 = call i32 @isatty(i32 noundef %3064) #12
  %.not900 = icmp eq i32 %3065, 0
  br i1 %.not900, label %3066, label %3067

3066:                                             ; preds = %3062, %3056
  br label %3067

3067:                                             ; preds = %3062, %3066
  %.str.5.sink2195 = phi ptr [ @.str.5, %3066 ], [ @.str.2, %3062 ]
  store i32 %3057, ptr %598, align 4, !tbaa !5
  %3068 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3069 = load i32, ptr @test_count, align 4, !tbaa !5
  %3070 = load i32, ptr %544, align 4, !tbaa !5
  %3071 = call ptr @s2n_strerror(i32 noundef %3070, ptr noundef nonnull @.str.4) #12
  %3072 = load i32, ptr %544, align 4, !tbaa !5
  %3073 = call ptr @s2n_strerror_debug(i32 noundef %3072, ptr noundef nonnull @.str.4) #12
  %3074 = load i32, ptr %598, align 4, !tbaa !5
  %3075 = call ptr @strerror(i32 noundef %3074) #12
  %3076 = load i32, ptr %598, align 4, !tbaa !5
  %3077 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3068, ptr noundef nonnull %.str.5.sink2195, i32 noundef %3069, ptr noundef nonnull @.str.65, ptr noundef nonnull @.str.1, i32 noundef 317, ptr noundef %3071, ptr noundef %3073, ptr noundef %3075, i32 noundef %3076) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3078:                                             ; preds = %3053
  call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %48) #12
  store i16 0, ptr %48, align 2, !tbaa !59
  %3079 = add nsw i32 %3054, 2
  store i32 %3079, ptr @test_count, align 4, !tbaa !5
  %3080 = call i32 @s2n_stuffer_read_uint16(ptr noundef nonnull %42, ptr noundef nonnull %48) #12
  %3081 = icmp eq i32 %3080, -1
  br i1 %3081, label %3082, label %3104

3082:                                             ; preds = %3078
  %3083 = load i32, ptr %598, align 4, !tbaa !5
  %3084 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3085 = call i32 @s2n_print_stacktrace(ptr noundef %3084) #12
  %3086 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3087 = trunc nuw i8 %3086 to i1
  br i1 %3087, label %3088, label %3092

3088:                                             ; preds = %3082
  %3089 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3090 = call i32 @fileno(ptr noundef %3089) #12
  %3091 = call i32 @isatty(i32 noundef %3090) #12
  %.not1145 = icmp eq i32 %3091, 0
  br i1 %.not1145, label %3092, label %3093

3092:                                             ; preds = %3088, %3082
  br label %3093

3093:                                             ; preds = %3088, %3092
  %.str.5.sink2204 = phi ptr [ @.str.5, %3092 ], [ @.str.2, %3088 ]
  store i32 %3083, ptr %598, align 4, !tbaa !5
  %3094 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3095 = load i32, ptr @test_count, align 4, !tbaa !5
  %3096 = load i32, ptr %544, align 4, !tbaa !5
  %3097 = call ptr @s2n_strerror(i32 noundef %3096, ptr noundef nonnull @.str.4) #12
  %3098 = load i32, ptr %544, align 4, !tbaa !5
  %3099 = call ptr @s2n_strerror_debug(i32 noundef %3098, ptr noundef nonnull @.str.4) #12
  %3100 = load i32, ptr %598, align 4, !tbaa !5
  %3101 = call ptr @strerror(i32 noundef %3100) #12
  %3102 = load i32, ptr %598, align 4, !tbaa !5
  %3103 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3094, ptr noundef nonnull %.str.5.sink2204, i32 noundef %3095, ptr noundef nonnull @.str.66, ptr noundef nonnull @.str.1, i32 noundef 320, ptr noundef %3097, ptr noundef %3099, ptr noundef %3101, i32 noundef %3102) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3104:                                             ; preds = %3078
  %3105 = load i32, ptr @test_count, align 4, !tbaa !5
  %3106 = add nsw i32 %3105, 1
  store i32 %3106, ptr @test_count, align 4, !tbaa !5
  %3107 = load i16, ptr %48, align 2, !tbaa !59
  %3108 = icmp eq i16 %3107, 8087
  br i1 %3108, label %3131, label %3109

3109:                                             ; preds = %3104
  %3110 = load i32, ptr %598, align 4, !tbaa !5
  %3111 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3112 = call i32 @s2n_print_stacktrace(ptr noundef %3111) #12
  %3113 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3114 = trunc nuw i8 %3113 to i1
  br i1 %3114, label %3115, label %3119

3115:                                             ; preds = %3109
  %3116 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3117 = call i32 @fileno(ptr noundef %3116) #12
  %3118 = call i32 @isatty(i32 noundef %3117) #12
  %.not901 = icmp eq i32 %3118, 0
  br i1 %.not901, label %3119, label %3120

3119:                                             ; preds = %3115, %3109
  br label %3120

3120:                                             ; preds = %3115, %3119
  %.str.5.sink2213 = phi ptr [ @.str.5, %3119 ], [ @.str.2, %3115 ]
  store i32 %3110, ptr %598, align 4, !tbaa !5
  %3121 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3122 = load i32, ptr @test_count, align 4, !tbaa !5
  %3123 = load i32, ptr %544, align 4, !tbaa !5
  %3124 = call ptr @s2n_strerror(i32 noundef %3123, ptr noundef nonnull @.str.4) #12
  %3125 = load i32, ptr %544, align 4, !tbaa !5
  %3126 = call ptr @s2n_strerror_debug(i32 noundef %3125, ptr noundef nonnull @.str.4) #12
  %3127 = load i32, ptr %598, align 4, !tbaa !5
  %3128 = call ptr @strerror(i32 noundef %3127) #12
  %3129 = load i32, ptr %598, align 4, !tbaa !5
  %3130 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3121, ptr noundef nonnull %.str.5.sink2213, i32 noundef %3122, ptr noundef nonnull @.str.67, ptr noundef nonnull @.str.1, i32 noundef 321, ptr noundef %3124, ptr noundef %3126, ptr noundef %3128, i32 noundef %3129) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3131:                                             ; preds = %3104
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %49) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(32) %49, i8 0, i64 32, i1 false)
  %3132 = add nsw i32 %3105, 2
  store i32 %3132, ptr @test_count, align 4, !tbaa !5
  %3133 = call i32 @s2n_stuffer_read_bytes(ptr noundef nonnull %42, ptr noundef nonnull %49, i32 noundef 32) #12
  %3134 = icmp eq i32 %3133, -1
  br i1 %3134, label %3135, label %3157

3135:                                             ; preds = %3131
  %3136 = load i32, ptr %598, align 4, !tbaa !5
  %3137 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3138 = call i32 @s2n_print_stacktrace(ptr noundef %3137) #12
  %3139 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3140 = trunc nuw i8 %3139 to i1
  br i1 %3140, label %3141, label %3145

3141:                                             ; preds = %3135
  %3142 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3143 = call i32 @fileno(ptr noundef %3142) #12
  %3144 = call i32 @isatty(i32 noundef %3143) #12
  %.not1144 = icmp eq i32 %3144, 0
  br i1 %.not1144, label %3145, label %3146

3145:                                             ; preds = %3141, %3135
  br label %3146

3146:                                             ; preds = %3141, %3145
  %.str.5.sink2222 = phi ptr [ @.str.5, %3145 ], [ @.str.2, %3141 ]
  store i32 %3136, ptr %598, align 4, !tbaa !5
  %3147 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3148 = load i32, ptr @test_count, align 4, !tbaa !5
  %3149 = load i32, ptr %544, align 4, !tbaa !5
  %3150 = call ptr @s2n_strerror(i32 noundef %3149, ptr noundef nonnull @.str.4) #12
  %3151 = load i32, ptr %544, align 4, !tbaa !5
  %3152 = call ptr @s2n_strerror_debug(i32 noundef %3151, ptr noundef nonnull @.str.4) #12
  %3153 = load i32, ptr %598, align 4, !tbaa !5
  %3154 = call ptr @strerror(i32 noundef %3153) #12
  %3155 = load i32, ptr %598, align 4, !tbaa !5
  %3156 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3147, ptr noundef nonnull %.str.5.sink2222, i32 noundef %3148, ptr noundef nonnull @.str.79, ptr noundef nonnull @.str.1, i32 noundef 324, ptr noundef %3150, ptr noundef %3152, ptr noundef %3154, i32 noundef %3155) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3157:                                             ; preds = %3131
  %3158 = load i32, ptr @test_count, align 4, !tbaa !5
  %3159 = add nsw i32 %3158, 1
  store i32 %3159, ptr @test_count, align 4, !tbaa !5
  %3160 = load ptr, ptr %36, align 8, !tbaa !9
  %3161 = getelementptr inbounds i8, ptr %3160, i64 432
  %bcmp902 = call i32 @bcmp(ptr noundef nonnull dereferenceable(32) %49, ptr noundef nonnull dereferenceable(32) %3161, i64 32)
  %3162 = icmp eq i32 %bcmp902, 0
  br i1 %3162, label %3185, label %3163

3163:                                             ; preds = %3157
  %3164 = load i32, ptr %598, align 4, !tbaa !5
  %3165 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3166 = call i32 @s2n_print_stacktrace(ptr noundef %3165) #12
  %3167 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3168 = trunc nuw i8 %3167 to i1
  br i1 %3168, label %3169, label %3173

3169:                                             ; preds = %3163
  %3170 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3171 = call i32 @fileno(ptr noundef %3170) #12
  %3172 = call i32 @isatty(i32 noundef %3171) #12
  %.not903 = icmp eq i32 %3172, 0
  br i1 %.not903, label %3173, label %3174

3173:                                             ; preds = %3169, %3163
  br label %3174

3174:                                             ; preds = %3169, %3173
  %.str.5.sink2231 = phi ptr [ @.str.5, %3173 ], [ @.str.2, %3169 ]
  store i32 %3164, ptr %598, align 4, !tbaa !5
  %3175 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3176 = load i32, ptr @test_count, align 4, !tbaa !5
  %3177 = load i32, ptr %544, align 4, !tbaa !5
  %3178 = call ptr @s2n_strerror(i32 noundef %3177, ptr noundef nonnull @.str.4) #12
  %3179 = load i32, ptr %544, align 4, !tbaa !5
  %3180 = call ptr @s2n_strerror_debug(i32 noundef %3179, ptr noundef nonnull @.str.4) #12
  %3181 = load i32, ptr %598, align 4, !tbaa !5
  %3182 = call ptr @strerror(i32 noundef %3181) #12
  %3183 = load i32, ptr %598, align 4, !tbaa !5
  %3184 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3175, ptr noundef nonnull %.str.5.sink2231, i32 noundef %3176, ptr noundef nonnull @.str.80, ptr noundef nonnull @.str.1, i32 noundef 326, ptr noundef %3178, ptr noundef %3180, ptr noundef %3182, i32 noundef %3183) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3185:                                             ; preds = %3157
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %50) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(32) %50, i8 0, i64 32, i1 false)
  %3186 = add nsw i32 %3158, 2
  store i32 %3186, ptr @test_count, align 4, !tbaa !5
  %3187 = call i32 @s2n_stuffer_read_bytes(ptr noundef nonnull %42, ptr noundef nonnull %50, i32 noundef 32) #12
  %3188 = icmp eq i32 %3187, -1
  br i1 %3188, label %3189, label %3211

3189:                                             ; preds = %3185
  %3190 = load i32, ptr %598, align 4, !tbaa !5
  %3191 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3192 = call i32 @s2n_print_stacktrace(ptr noundef %3191) #12
  %3193 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3194 = trunc nuw i8 %3193 to i1
  br i1 %3194, label %3195, label %3199

3195:                                             ; preds = %3189
  %3196 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3197 = call i32 @fileno(ptr noundef %3196) #12
  %3198 = call i32 @isatty(i32 noundef %3197) #12
  %.not1143 = icmp eq i32 %3198, 0
  br i1 %.not1143, label %3199, label %3200

3199:                                             ; preds = %3195, %3189
  br label %3200

3200:                                             ; preds = %3195, %3199
  %.str.5.sink2240 = phi ptr [ @.str.5, %3199 ], [ @.str.2, %3195 ]
  store i32 %3190, ptr %598, align 4, !tbaa !5
  %3201 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3202 = load i32, ptr @test_count, align 4, !tbaa !5
  %3203 = load i32, ptr %544, align 4, !tbaa !5
  %3204 = call ptr @s2n_strerror(i32 noundef %3203, ptr noundef nonnull @.str.4) #12
  %3205 = load i32, ptr %544, align 4, !tbaa !5
  %3206 = call ptr @s2n_strerror_debug(i32 noundef %3205, ptr noundef nonnull @.str.4) #12
  %3207 = load i32, ptr %598, align 4, !tbaa !5
  %3208 = call ptr @strerror(i32 noundef %3207) #12
  %3209 = load i32, ptr %598, align 4, !tbaa !5
  %3210 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3201, ptr noundef nonnull %.str.5.sink2240, i32 noundef %3202, ptr noundef nonnull @.str.81, ptr noundef nonnull @.str.1, i32 noundef 329, ptr noundef %3204, ptr noundef %3206, ptr noundef %3208, i32 noundef %3209) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3211:                                             ; preds = %3185
  %3212 = load i32, ptr @test_count, align 4, !tbaa !5
  %3213 = add nsw i32 %3212, 1
  store i32 %3213, ptr @test_count, align 4, !tbaa !5
  %3214 = load ptr, ptr %36, align 8, !tbaa !9
  %3215 = getelementptr inbounds i8, ptr %3214, i64 480
  %bcmp904 = call i32 @bcmp(ptr noundef nonnull dereferenceable(32) %50, ptr noundef nonnull dereferenceable(32) %3215, i64 32)
  %3216 = icmp eq i32 %bcmp904, 0
  br i1 %3216, label %3239, label %3217

3217:                                             ; preds = %3211
  %3218 = load i32, ptr %598, align 4, !tbaa !5
  %3219 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3220 = call i32 @s2n_print_stacktrace(ptr noundef %3219) #12
  %3221 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3222 = trunc nuw i8 %3221 to i1
  br i1 %3222, label %3223, label %3227

3223:                                             ; preds = %3217
  %3224 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3225 = call i32 @fileno(ptr noundef %3224) #12
  %3226 = call i32 @isatty(i32 noundef %3225) #12
  %.not905 = icmp eq i32 %3226, 0
  br i1 %.not905, label %3227, label %3228

3227:                                             ; preds = %3223, %3217
  br label %3228

3228:                                             ; preds = %3223, %3227
  %.str.5.sink2249 = phi ptr [ @.str.5, %3227 ], [ @.str.2, %3223 ]
  store i32 %3218, ptr %598, align 4, !tbaa !5
  %3229 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3230 = load i32, ptr @test_count, align 4, !tbaa !5
  %3231 = load i32, ptr %544, align 4, !tbaa !5
  %3232 = call ptr @s2n_strerror(i32 noundef %3231, ptr noundef nonnull @.str.4) #12
  %3233 = load i32, ptr %544, align 4, !tbaa !5
  %3234 = call ptr @s2n_strerror_debug(i32 noundef %3233, ptr noundef nonnull @.str.4) #12
  %3235 = load i32, ptr %598, align 4, !tbaa !5
  %3236 = call ptr @strerror(i32 noundef %3235) #12
  %3237 = load i32, ptr %598, align 4, !tbaa !5
  %3238 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3229, ptr noundef nonnull %.str.5.sink2249, i32 noundef %3230, ptr noundef nonnull @.str.82, ptr noundef nonnull @.str.1, i32 noundef 331, ptr noundef %3232, ptr noundef %3234, ptr noundef %3236, i32 noundef %3237) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3239:                                             ; preds = %3211
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %51) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(32) %51, i8 0, i64 32, i1 false)
  %3240 = add nsw i32 %3212, 2
  store i32 %3240, ptr @test_count, align 4, !tbaa !5
  %3241 = call i32 @s2n_stuffer_read_bytes(ptr noundef nonnull %42, ptr noundef nonnull %51, i32 noundef 32) #12
  %3242 = icmp eq i32 %3241, -1
  br i1 %3242, label %3243, label %3265

3243:                                             ; preds = %3239
  %3244 = load i32, ptr %598, align 4, !tbaa !5
  %3245 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3246 = call i32 @s2n_print_stacktrace(ptr noundef %3245) #12
  %3247 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3248 = trunc nuw i8 %3247 to i1
  br i1 %3248, label %3249, label %3253

3249:                                             ; preds = %3243
  %3250 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3251 = call i32 @fileno(ptr noundef %3250) #12
  %3252 = call i32 @isatty(i32 noundef %3251) #12
  %.not1142 = icmp eq i32 %3252, 0
  br i1 %.not1142, label %3253, label %3254

3253:                                             ; preds = %3249, %3243
  br label %3254

3254:                                             ; preds = %3249, %3253
  %.str.5.sink2258 = phi ptr [ @.str.5, %3253 ], [ @.str.2, %3249 ]
  store i32 %3244, ptr %598, align 4, !tbaa !5
  %3255 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3256 = load i32, ptr @test_count, align 4, !tbaa !5
  %3257 = load i32, ptr %544, align 4, !tbaa !5
  %3258 = call ptr @s2n_strerror(i32 noundef %3257, ptr noundef nonnull @.str.4) #12
  %3259 = load i32, ptr %544, align 4, !tbaa !5
  %3260 = call ptr @s2n_strerror_debug(i32 noundef %3259, ptr noundef nonnull @.str.4) #12
  %3261 = load i32, ptr %598, align 4, !tbaa !5
  %3262 = call ptr @strerror(i32 noundef %3261) #12
  %3263 = load i32, ptr %598, align 4, !tbaa !5
  %3264 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3255, ptr noundef nonnull %.str.5.sink2258, i32 noundef %3256, ptr noundef nonnull @.str.83, ptr noundef nonnull @.str.1, i32 noundef 334, ptr noundef %3258, ptr noundef %3260, ptr noundef %3262, i32 noundef %3263) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3265:                                             ; preds = %3239
  %3266 = load i32, ptr @test_count, align 4, !tbaa !5
  %3267 = add nsw i32 %3266, 1
  store i32 %3267, ptr @test_count, align 4, !tbaa !5
  %3268 = load ptr, ptr %36, align 8, !tbaa !9
  %3269 = getelementptr inbounds i8, ptr %3268, i64 528
  %bcmp906 = call i32 @bcmp(ptr noundef nonnull dereferenceable(32) %51, ptr noundef nonnull dereferenceable(32) %3269, i64 32)
  %3270 = icmp eq i32 %bcmp906, 0
  br i1 %3270, label %3293, label %3271

3271:                                             ; preds = %3265
  %3272 = load i32, ptr %598, align 4, !tbaa !5
  %3273 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3274 = call i32 @s2n_print_stacktrace(ptr noundef %3273) #12
  %3275 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3276 = trunc nuw i8 %3275 to i1
  br i1 %3276, label %3277, label %3281

3277:                                             ; preds = %3271
  %3278 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3279 = call i32 @fileno(ptr noundef %3278) #12
  %3280 = call i32 @isatty(i32 noundef %3279) #12
  %.not907 = icmp eq i32 %3280, 0
  br i1 %.not907, label %3281, label %3282

3281:                                             ; preds = %3277, %3271
  br label %3282

3282:                                             ; preds = %3277, %3281
  %.str.5.sink2267 = phi ptr [ @.str.5, %3281 ], [ @.str.2, %3277 ]
  store i32 %3272, ptr %598, align 4, !tbaa !5
  %3283 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3284 = load i32, ptr @test_count, align 4, !tbaa !5
  %3285 = load i32, ptr %544, align 4, !tbaa !5
  %3286 = call ptr @s2n_strerror(i32 noundef %3285, ptr noundef nonnull @.str.4) #12
  %3287 = load i32, ptr %544, align 4, !tbaa !5
  %3288 = call ptr @s2n_strerror_debug(i32 noundef %3287, ptr noundef nonnull @.str.4) #12
  %3289 = load i32, ptr %598, align 4, !tbaa !5
  %3290 = call ptr @strerror(i32 noundef %3289) #12
  %3291 = load i32, ptr %598, align 4, !tbaa !5
  %3292 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3283, ptr noundef nonnull %.str.5.sink2267, i32 noundef %3284, ptr noundef nonnull @.str.84, ptr noundef nonnull @.str.1, i32 noundef 336, ptr noundef %3286, ptr noundef %3288, ptr noundef %3290, i32 noundef %3291) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3293:                                             ; preds = %3265
  %3294 = add nsw i32 %3266, 2
  store i32 %3294, ptr @test_count, align 4, !tbaa !5
  %3295 = load i32, ptr %2785, align 4, !tbaa !56
  %3296 = load i32, ptr %2787, align 8, !tbaa !57
  %3297 = icmp eq i32 %3295, %3296
  br i1 %3297, label %3320, label %3298

3298:                                             ; preds = %3293
  %3299 = load i32, ptr %598, align 4, !tbaa !5
  %3300 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3301 = call i32 @s2n_print_stacktrace(ptr noundef %3300) #12
  %3302 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3303 = trunc nuw i8 %3302 to i1
  br i1 %3303, label %3304, label %3308

3304:                                             ; preds = %3298
  %3305 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3306 = call i32 @fileno(ptr noundef %3305) #12
  %3307 = call i32 @isatty(i32 noundef %3306) #12
  %.not908 = icmp eq i32 %3307, 0
  br i1 %.not908, label %3308, label %3309

3308:                                             ; preds = %3304, %3298
  br label %3309

3309:                                             ; preds = %3304, %3308
  %.str.5.sink2276 = phi ptr [ @.str.5, %3308 ], [ @.str.2, %3304 ]
  store i32 %3299, ptr %598, align 4, !tbaa !5
  %3310 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3311 = load i32, ptr @test_count, align 4, !tbaa !5
  %3312 = load i32, ptr %544, align 4, !tbaa !5
  %3313 = call ptr @s2n_strerror(i32 noundef %3312, ptr noundef nonnull @.str.4) #12
  %3314 = load i32, ptr %544, align 4, !tbaa !5
  %3315 = call ptr @s2n_strerror_debug(i32 noundef %3314, ptr noundef nonnull @.str.4) #12
  %3316 = load i32, ptr %598, align 4, !tbaa !5
  %3317 = call ptr @strerror(i32 noundef %3316) #12
  %3318 = load i32, ptr %598, align 4, !tbaa !5
  %3319 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3310, ptr noundef nonnull %.str.5.sink2276, i32 noundef %3311, ptr noundef nonnull @.str.74, ptr noundef nonnull @.str.1, i32 noundef 338, ptr noundef %3313, ptr noundef %3315, ptr noundef %3317, i32 noundef %3318) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3320:                                             ; preds = %3293
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %51) #12
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %50) #12
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %49) #12
  call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %48) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %47) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %46) #12
  call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %45) #12
  call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %44) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %43) #12
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %42) #12
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %41) #12
  call void @llvm.lifetime.end.p0(i64 126, ptr nonnull %40) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %39) #12
  call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %38) #12
  %3321 = call i32 @s2n_io_stuffer_pair_free(ptr noundef nonnull %37) #12
  call void @llvm.lifetime.end.p0(i64 80, ptr nonnull %37) #12
  %3322 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %36) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %36) #12
  %3323 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %35) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %35) #12
  br label %3324

3324:                                             ; preds = %3320, %2415
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %52) #12
  %3325 = call ptr @s2n_connection_new(i32 noundef 1) #12
  store ptr %3325, ptr %52, align 8, !tbaa !9
  %3326 = load i32, ptr @test_count, align 4, !tbaa !5
  %3327 = add nsw i32 %3326, 1
  store i32 %3327, ptr @test_count, align 4, !tbaa !5
  %3328 = icmp eq ptr %3325, null
  br i1 %3328, label %3329, label %3351

3329:                                             ; preds = %3324
  %3330 = load i32, ptr %598, align 4, !tbaa !5
  %3331 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3332 = call i32 @s2n_print_stacktrace(ptr noundef %3331) #12
  %3333 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3334 = trunc nuw i8 %3333 to i1
  br i1 %3334, label %3335, label %3339

3335:                                             ; preds = %3329
  %3336 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3337 = call i32 @fileno(ptr noundef %3336) #12
  %3338 = call i32 @isatty(i32 noundef %3337) #12
  %.not1141 = icmp eq i32 %3338, 0
  br i1 %.not1141, label %3339, label %3340

3339:                                             ; preds = %3335, %3329
  br label %3340

3340:                                             ; preds = %3335, %3339
  %.str.5.sink2285 = phi ptr [ @.str.5, %3339 ], [ @.str.2, %3335 ]
  store i32 %3330, ptr %598, align 4, !tbaa !5
  %3341 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3342 = load i32, ptr @test_count, align 4, !tbaa !5
  %3343 = load i32, ptr %544, align 4, !tbaa !5
  %3344 = call ptr @s2n_strerror(i32 noundef %3343, ptr noundef nonnull @.str.4) #12
  %3345 = load i32, ptr %544, align 4, !tbaa !5
  %3346 = call ptr @s2n_strerror_debug(i32 noundef %3345, ptr noundef nonnull @.str.4) #12
  %3347 = load i32, ptr %598, align 4, !tbaa !5
  %3348 = call ptr @strerror(i32 noundef %3347) #12
  %3349 = load i32, ptr %598, align 4, !tbaa !5
  %3350 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3341, ptr noundef nonnull %.str.5.sink2285, i32 noundef %3342, ptr noundef nonnull @.str.42, ptr noundef nonnull @.str.1, i32 noundef 345, ptr noundef %3344, ptr noundef %3346, ptr noundef %3348, i32 noundef %3349) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3351:                                             ; preds = %3324
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %53) #12
  %3352 = call ptr @s2n_connection_new(i32 noundef 0) #12
  store ptr %3352, ptr %53, align 8, !tbaa !9
  %3353 = load i32, ptr @test_count, align 4, !tbaa !5
  %3354 = add nsw i32 %3353, 1
  store i32 %3354, ptr @test_count, align 4, !tbaa !5
  %3355 = icmp eq ptr %3352, null
  br i1 %3355, label %3356, label %3378

3356:                                             ; preds = %3351
  %3357 = load i32, ptr %598, align 4, !tbaa !5
  %3358 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3359 = call i32 @s2n_print_stacktrace(ptr noundef %3358) #12
  %3360 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3361 = trunc nuw i8 %3360 to i1
  br i1 %3361, label %3362, label %3366

3362:                                             ; preds = %3356
  %3363 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3364 = call i32 @fileno(ptr noundef %3363) #12
  %3365 = call i32 @isatty(i32 noundef %3364) #12
  %.not1140 = icmp eq i32 %3365, 0
  br i1 %.not1140, label %3366, label %3367

3366:                                             ; preds = %3362, %3356
  br label %3367

3367:                                             ; preds = %3362, %3366
  %.str.5.sink2294 = phi ptr [ @.str.5, %3366 ], [ @.str.2, %3362 ]
  store i32 %3357, ptr %598, align 4, !tbaa !5
  %3368 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3369 = load i32, ptr @test_count, align 4, !tbaa !5
  %3370 = load i32, ptr %544, align 4, !tbaa !5
  %3371 = call ptr @s2n_strerror(i32 noundef %3370, ptr noundef nonnull @.str.4) #12
  %3372 = load i32, ptr %544, align 4, !tbaa !5
  %3373 = call ptr @s2n_strerror_debug(i32 noundef %3372, ptr noundef nonnull @.str.4) #12
  %3374 = load i32, ptr %598, align 4, !tbaa !5
  %3375 = call ptr @strerror(i32 noundef %3374) #12
  %3376 = load i32, ptr %598, align 4, !tbaa !5
  %3377 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3368, ptr noundef nonnull %.str.5.sink2294, i32 noundef %3369, ptr noundef nonnull @.str.43, ptr noundef nonnull @.str.1, i32 noundef 348, ptr noundef %3371, ptr noundef %3373, ptr noundef %3375, i32 noundef %3376) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3378:                                             ; preds = %3351
  %3379 = add nsw i32 %3353, 2
  store i32 %3379, ptr @test_count, align 4, !tbaa !5
  %3380 = load ptr, ptr %52, align 8, !tbaa !9
  %3381 = call i32 @s2n_connection_set_config(ptr noundef %3380, ptr noundef %249) #12
  %3382 = icmp eq i32 %3381, -1
  br i1 %3382, label %3383, label %3405

3383:                                             ; preds = %3378
  %3384 = load i32, ptr %598, align 4, !tbaa !5
  %3385 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3386 = call i32 @s2n_print_stacktrace(ptr noundef %3385) #12
  %3387 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3388 = trunc nuw i8 %3387 to i1
  br i1 %3388, label %3389, label %3393

3389:                                             ; preds = %3383
  %3390 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3391 = call i32 @fileno(ptr noundef %3390) #12
  %3392 = call i32 @isatty(i32 noundef %3391) #12
  %.not1139 = icmp eq i32 %3392, 0
  br i1 %.not1139, label %3393, label %3394

3393:                                             ; preds = %3389, %3383
  br label %3394

3394:                                             ; preds = %3389, %3393
  %.str.5.sink2303 = phi ptr [ @.str.5, %3393 ], [ @.str.2, %3389 ]
  store i32 %3384, ptr %598, align 4, !tbaa !5
  %3395 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3396 = load i32, ptr @test_count, align 4, !tbaa !5
  %3397 = load i32, ptr %544, align 4, !tbaa !5
  %3398 = call ptr @s2n_strerror(i32 noundef %3397, ptr noundef nonnull @.str.4) #12
  %3399 = load i32, ptr %544, align 4, !tbaa !5
  %3400 = call ptr @s2n_strerror_debug(i32 noundef %3399, ptr noundef nonnull @.str.4) #12
  %3401 = load i32, ptr %598, align 4, !tbaa !5
  %3402 = call ptr @strerror(i32 noundef %3401) #12
  %3403 = load i32, ptr %598, align 4, !tbaa !5
  %3404 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3395, ptr noundef nonnull %.str.5.sink2303, i32 noundef %3396, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.1, i32 noundef 350, ptr noundef %3398, ptr noundef %3400, ptr noundef %3402, i32 noundef %3403) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3405:                                             ; preds = %3378
  %3406 = load i32, ptr @test_count, align 4, !tbaa !5
  %3407 = add nsw i32 %3406, 1
  store i32 %3407, ptr @test_count, align 4, !tbaa !5
  %3408 = load ptr, ptr %53, align 8, !tbaa !9
  %3409 = call i32 @s2n_connection_set_config(ptr noundef %3408, ptr noundef %249) #12
  %3410 = icmp eq i32 %3409, -1
  br i1 %3410, label %3411, label %3433

3411:                                             ; preds = %3405
  %3412 = load i32, ptr %598, align 4, !tbaa !5
  %3413 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3414 = call i32 @s2n_print_stacktrace(ptr noundef %3413) #12
  %3415 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3416 = trunc nuw i8 %3415 to i1
  br i1 %3416, label %3417, label %3421

3417:                                             ; preds = %3411
  %3418 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3419 = call i32 @fileno(ptr noundef %3418) #12
  %3420 = call i32 @isatty(i32 noundef %3419) #12
  %.not1138 = icmp eq i32 %3420, 0
  br i1 %.not1138, label %3421, label %3422

3421:                                             ; preds = %3417, %3411
  br label %3422

3422:                                             ; preds = %3417, %3421
  %.str.5.sink2312 = phi ptr [ @.str.5, %3421 ], [ @.str.2, %3417 ]
  store i32 %3412, ptr %598, align 4, !tbaa !5
  %3423 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3424 = load i32, ptr @test_count, align 4, !tbaa !5
  %3425 = load i32, ptr %544, align 4, !tbaa !5
  %3426 = call ptr @s2n_strerror(i32 noundef %3425, ptr noundef nonnull @.str.4) #12
  %3427 = load i32, ptr %544, align 4, !tbaa !5
  %3428 = call ptr @s2n_strerror_debug(i32 noundef %3427, ptr noundef nonnull @.str.4) #12
  %3429 = load i32, ptr %598, align 4, !tbaa !5
  %3430 = call ptr @strerror(i32 noundef %3429) #12
  %3431 = load i32, ptr %598, align 4, !tbaa !5
  %3432 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3423, ptr noundef nonnull %.str.5.sink2312, i32 noundef %3424, ptr noundef nonnull @.str.45, ptr noundef nonnull @.str.1, i32 noundef 351, ptr noundef %3426, ptr noundef %3428, ptr noundef %3430, i32 noundef %3431) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3433:                                             ; preds = %3405
  call void @llvm.lifetime.start.p0(i64 80, ptr nonnull %54) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(80) %54, i8 0, i64 80, i1 false)
  %3434 = load i32, ptr @test_count, align 4, !tbaa !5
  %3435 = add nsw i32 %3434, 1
  store i32 %3435, ptr @test_count, align 4, !tbaa !5
  %3436 = call i32 @s2n_io_stuffer_pair_init(ptr noundef nonnull %54) #12
  %3437 = call zeroext i1 @s2n_result_is_ok(i32 %3436)
  br i1 %3437, label %3460, label %3438

3438:                                             ; preds = %3433
  %3439 = load i32, ptr %598, align 4, !tbaa !5
  %3440 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3441 = call i32 @s2n_print_stacktrace(ptr noundef %3440) #12
  %3442 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3443 = trunc nuw i8 %3442 to i1
  br i1 %3443, label %3444, label %3448

3444:                                             ; preds = %3438
  %3445 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3446 = call i32 @fileno(ptr noundef %3445) #12
  %3447 = call i32 @isatty(i32 noundef %3446) #12
  %.not909 = icmp eq i32 %3447, 0
  br i1 %.not909, label %3448, label %3449

3448:                                             ; preds = %3444, %3438
  br label %3449

3449:                                             ; preds = %3444, %3448
  %.str.5.sink2321 = phi ptr [ @.str.5, %3448 ], [ @.str.2, %3444 ]
  store i32 %3439, ptr %598, align 4, !tbaa !5
  %3450 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3451 = load i32, ptr @test_count, align 4, !tbaa !5
  %3452 = load i32, ptr %544, align 4, !tbaa !5
  %3453 = call ptr @s2n_strerror(i32 noundef %3452, ptr noundef nonnull @.str.4) #12
  %3454 = load i32, ptr %544, align 4, !tbaa !5
  %3455 = call ptr @s2n_strerror_debug(i32 noundef %3454, ptr noundef nonnull @.str.4) #12
  %3456 = load i32, ptr %598, align 4, !tbaa !5
  %3457 = call ptr @strerror(i32 noundef %3456) #12
  %3458 = load i32, ptr %598, align 4, !tbaa !5
  %3459 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3450, ptr noundef nonnull %.str.5.sink2321, i32 noundef %3451, ptr noundef nonnull @.str.46, ptr noundef nonnull @.str.1, i32 noundef 354, ptr noundef %3453, ptr noundef %3455, ptr noundef %3457, i32 noundef %3458) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3460:                                             ; preds = %3433
  %3461 = load i32, ptr @test_count, align 4, !tbaa !5
  %3462 = add nsw i32 %3461, 1
  store i32 %3462, ptr @test_count, align 4, !tbaa !5
  %3463 = load ptr, ptr %52, align 8, !tbaa !9
  %3464 = load ptr, ptr %53, align 8, !tbaa !9
  %3465 = call i32 @s2n_connections_set_io_stuffer_pair(ptr noundef %3463, ptr noundef %3464, ptr noundef nonnull %54) #12
  %3466 = call zeroext i1 @s2n_result_is_ok(i32 %3465)
  br i1 %3466, label %3489, label %3467

3467:                                             ; preds = %3460
  %3468 = load i32, ptr %598, align 4, !tbaa !5
  %3469 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3470 = call i32 @s2n_print_stacktrace(ptr noundef %3469) #12
  %3471 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3472 = trunc nuw i8 %3471 to i1
  br i1 %3472, label %3473, label %3477

3473:                                             ; preds = %3467
  %3474 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3475 = call i32 @fileno(ptr noundef %3474) #12
  %3476 = call i32 @isatty(i32 noundef %3475) #12
  %.not910 = icmp eq i32 %3476, 0
  br i1 %.not910, label %3477, label %3478

3477:                                             ; preds = %3473, %3467
  br label %3478

3478:                                             ; preds = %3473, %3477
  %.str.5.sink2330 = phi ptr [ @.str.5, %3477 ], [ @.str.2, %3473 ]
  store i32 %3468, ptr %598, align 4, !tbaa !5
  %3479 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3480 = load i32, ptr @test_count, align 4, !tbaa !5
  %3481 = load i32, ptr %544, align 4, !tbaa !5
  %3482 = call ptr @s2n_strerror(i32 noundef %3481, ptr noundef nonnull @.str.4) #12
  %3483 = load i32, ptr %544, align 4, !tbaa !5
  %3484 = call ptr @s2n_strerror_debug(i32 noundef %3483, ptr noundef nonnull @.str.4) #12
  %3485 = load i32, ptr %598, align 4, !tbaa !5
  %3486 = call ptr @strerror(i32 noundef %3485) #12
  %3487 = load i32, ptr %598, align 4, !tbaa !5
  %3488 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3479, ptr noundef nonnull %.str.5.sink2330, i32 noundef %3480, ptr noundef nonnull @.str.47, ptr noundef nonnull @.str.1, i32 noundef 355, ptr noundef %3482, ptr noundef %3484, ptr noundef %3486, i32 noundef %3487) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3489:                                             ; preds = %3460
  %3490 = load i32, ptr @test_count, align 4, !tbaa !5
  %3491 = add nsw i32 %3490, 1
  store i32 %3491, ptr @test_count, align 4, !tbaa !5
  %3492 = load ptr, ptr %53, align 8, !tbaa !9
  %3493 = load ptr, ptr %52, align 8, !tbaa !9
  %3494 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %3492, ptr noundef %3493) #12
  %3495 = icmp eq i32 %3494, -1
  br i1 %3495, label %3496, label %3518

3496:                                             ; preds = %3489
  %3497 = load i32, ptr %598, align 4, !tbaa !5
  %3498 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3499 = call i32 @s2n_print_stacktrace(ptr noundef %3498) #12
  %3500 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3501 = trunc nuw i8 %3500 to i1
  br i1 %3501, label %3502, label %3506

3502:                                             ; preds = %3496
  %3503 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3504 = call i32 @fileno(ptr noundef %3503) #12
  %3505 = call i32 @isatty(i32 noundef %3504) #12
  %.not1137 = icmp eq i32 %3505, 0
  br i1 %.not1137, label %3506, label %3507

3506:                                             ; preds = %3502, %3496
  br label %3507

3507:                                             ; preds = %3502, %3506
  %.str.5.sink2339 = phi ptr [ @.str.5, %3506 ], [ @.str.2, %3502 ]
  store i32 %3497, ptr %598, align 4, !tbaa !5
  %3508 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3509 = load i32, ptr @test_count, align 4, !tbaa !5
  %3510 = load i32, ptr %544, align 4, !tbaa !5
  %3511 = call ptr @s2n_strerror(i32 noundef %3510, ptr noundef nonnull @.str.4) #12
  %3512 = load i32, ptr %544, align 4, !tbaa !5
  %3513 = call ptr @s2n_strerror_debug(i32 noundef %3512, ptr noundef nonnull @.str.4) #12
  %3514 = load i32, ptr %598, align 4, !tbaa !5
  %3515 = call ptr @strerror(i32 noundef %3514) #12
  %3516 = load i32, ptr %598, align 4, !tbaa !5
  %3517 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3508, ptr noundef nonnull %.str.5.sink2339, i32 noundef %3509, ptr noundef nonnull @.str.48, ptr noundef nonnull @.str.1, i32 noundef 357, ptr noundef %3511, ptr noundef %3513, ptr noundef %3515, i32 noundef %3516) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3518:                                             ; preds = %3489
  call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %55) #12
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(6) %55, ptr noundef nonnull align 1 dereferenceable(6) @__const.main.data, i64 6, i1 false)
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %56) #12
  store i32 0, ptr %56, align 4, !tbaa !5
  %3519 = load i32, ptr @test_count, align 4, !tbaa !5
  %3520 = add nsw i32 %3519, 1
  store i32 %3520, ptr @test_count, align 4, !tbaa !5
  %3521 = load ptr, ptr %52, align 8, !tbaa !9
  %3522 = call i64 @s2n_send(ptr noundef %3521, ptr noundef nonnull %55, i64 noundef 6, ptr noundef nonnull %56) #12
  %3523 = icmp eq i64 %3522, -1
  br i1 %3523, label %3524, label %3546

3524:                                             ; preds = %3518
  %3525 = load i32, ptr %598, align 4, !tbaa !5
  %3526 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3527 = call i32 @s2n_print_stacktrace(ptr noundef %3526) #12
  %3528 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3529 = trunc nuw i8 %3528 to i1
  br i1 %3529, label %3530, label %3534

3530:                                             ; preds = %3524
  %3531 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3532 = call i32 @fileno(ptr noundef %3531) #12
  %3533 = call i32 @isatty(i32 noundef %3532) #12
  %.not1136 = icmp eq i32 %3533, 0
  br i1 %.not1136, label %3534, label %3535

3534:                                             ; preds = %3530, %3524
  br label %3535

3535:                                             ; preds = %3530, %3534
  %.str.5.sink2348 = phi ptr [ @.str.5, %3534 ], [ @.str.2, %3530 ]
  store i32 %3525, ptr %598, align 4, !tbaa !5
  %3536 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3537 = load i32, ptr @test_count, align 4, !tbaa !5
  %3538 = load i32, ptr %544, align 4, !tbaa !5
  %3539 = call ptr @s2n_strerror(i32 noundef %3538, ptr noundef nonnull @.str.4) #12
  %3540 = load i32, ptr %544, align 4, !tbaa !5
  %3541 = call ptr @s2n_strerror_debug(i32 noundef %3540, ptr noundef nonnull @.str.4) #12
  %3542 = load i32, ptr %598, align 4, !tbaa !5
  %3543 = call ptr @strerror(i32 noundef %3542) #12
  %3544 = load i32, ptr %598, align 4, !tbaa !5
  %3545 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3536, ptr noundef nonnull %.str.5.sink2348, i32 noundef %3537, ptr noundef nonnull @.str.85, ptr noundef nonnull @.str.1, i32 noundef 361, ptr noundef %3539, ptr noundef %3541, ptr noundef %3543, i32 noundef %3544) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3546:                                             ; preds = %3518
  call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %57) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 1 dereferenceable(10) %57, i8 0, i64 10, i1 false)
  %3547 = load i32, ptr @test_count, align 4, !tbaa !5
  %3548 = add nsw i32 %3547, 1
  store i32 %3548, ptr @test_count, align 4, !tbaa !5
  %3549 = load ptr, ptr %53, align 8, !tbaa !9
  %3550 = call i64 @s2n_recv(ptr noundef %3549, ptr noundef nonnull %57, i64 noundef 1, ptr noundef nonnull %56) #12
  %3551 = icmp eq i64 %3550, -1
  br i1 %3551, label %3552, label %3574

3552:                                             ; preds = %3546
  %3553 = load i32, ptr %598, align 4, !tbaa !5
  %3554 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3555 = call i32 @s2n_print_stacktrace(ptr noundef %3554) #12
  %3556 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3557 = trunc nuw i8 %3556 to i1
  br i1 %3557, label %3558, label %3562

3558:                                             ; preds = %3552
  %3559 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3560 = call i32 @fileno(ptr noundef %3559) #12
  %3561 = call i32 @isatty(i32 noundef %3560) #12
  %.not1135 = icmp eq i32 %3561, 0
  br i1 %.not1135, label %3562, label %3563

3562:                                             ; preds = %3558, %3552
  br label %3563

3563:                                             ; preds = %3558, %3562
  %.str.5.sink2357 = phi ptr [ @.str.5, %3562 ], [ @.str.2, %3558 ]
  store i32 %3553, ptr %598, align 4, !tbaa !5
  %3564 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3565 = load i32, ptr @test_count, align 4, !tbaa !5
  %3566 = load i32, ptr %544, align 4, !tbaa !5
  %3567 = call ptr @s2n_strerror(i32 noundef %3566, ptr noundef nonnull @.str.4) #12
  %3568 = load i32, ptr %544, align 4, !tbaa !5
  %3569 = call ptr @s2n_strerror_debug(i32 noundef %3568, ptr noundef nonnull @.str.4) #12
  %3570 = load i32, ptr %598, align 4, !tbaa !5
  %3571 = call ptr @strerror(i32 noundef %3570) #12
  %3572 = load i32, ptr %598, align 4, !tbaa !5
  %3573 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3564, ptr noundef nonnull %.str.5.sink2357, i32 noundef %3565, ptr noundef nonnull @.str.86, ptr noundef nonnull @.str.1, i32 noundef 365, ptr noundef %3567, ptr noundef %3569, ptr noundef %3571, i32 noundef %3572) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3574:                                             ; preds = %3546
  call void @llvm.lifetime.start.p0(i64 142, ptr nonnull %58) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(142) %58, i8 0, i64 142, i1 false)
  %3575 = load i32, ptr @test_count, align 4, !tbaa !5
  %3576 = add nsw i32 %3575, 1
  store i32 %3576, ptr @test_count, align 4, !tbaa !5
  %3577 = load ptr, ptr %53, align 8, !tbaa !9
  %3578 = call i32 @s2n_connection_serialize(ptr noundef %3577, ptr noundef nonnull %58, i32 noundef 142) #12
  %3579 = icmp eq i32 %3578, -1
  br i1 %3579, label %3602, label %3580

3580:                                             ; preds = %3574
  %3581 = load i32, ptr %598, align 4, !tbaa !5
  %3582 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3583 = call i32 @s2n_print_stacktrace(ptr noundef %3582) #12
  %3584 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3585 = trunc nuw i8 %3584 to i1
  br i1 %3585, label %3586, label %3590

3586:                                             ; preds = %3580
  %3587 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3588 = call i32 @fileno(ptr noundef %3587) #12
  %3589 = call i32 @isatty(i32 noundef %3588) #12
  %.not911 = icmp eq i32 %3589, 0
  br i1 %.not911, label %3590, label %3591

3590:                                             ; preds = %3586, %3580
  br label %3591

3591:                                             ; preds = %3586, %3590
  %.str.5.sink2366 = phi ptr [ @.str.5, %3590 ], [ @.str.2, %3586 ]
  store i32 %3581, ptr %598, align 4, !tbaa !5
  %3592 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3593 = load i32, ptr @test_count, align 4, !tbaa !5
  %3594 = load i32, ptr %544, align 4, !tbaa !5
  %3595 = call ptr @s2n_strerror(i32 noundef %3594, ptr noundef nonnull @.str.4) #12
  %3596 = load i32, ptr %544, align 4, !tbaa !5
  %3597 = call ptr @s2n_strerror_debug(i32 noundef %3596, ptr noundef nonnull @.str.4) #12
  %3598 = load i32, ptr %598, align 4, !tbaa !5
  %3599 = call ptr @strerror(i32 noundef %3598) #12
  %3600 = load i32, ptr %598, align 4, !tbaa !5
  %3601 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3592, ptr noundef nonnull %.str.5.sink2366, i32 noundef %3593, ptr noundef nonnull @.str.87, ptr noundef nonnull @.str.1, i32 noundef 370, ptr noundef %3595, ptr noundef %3597, ptr noundef %3599, i32 noundef %3600) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3602:                                             ; preds = %3574
  %3603 = load i32, ptr @test_count, align 4, !tbaa !5
  %3604 = add nsw i32 %3603, 1
  store i32 %3604, ptr @test_count, align 4, !tbaa !5
  %3605 = load i32, ptr %544, align 4, !tbaa !5
  %3606 = icmp eq i32 %3605, 469762112
  br i1 %3606, label %3629, label %3607

3607:                                             ; preds = %3602
  %3608 = load i32, ptr %598, align 4, !tbaa !5
  %3609 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3610 = call i32 @s2n_print_stacktrace(ptr noundef %3609) #12
  %3611 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3612 = trunc nuw i8 %3611 to i1
  br i1 %3612, label %3613, label %3617

3613:                                             ; preds = %3607
  %3614 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3615 = call i32 @fileno(ptr noundef %3614) #12
  %3616 = call i32 @isatty(i32 noundef %3615) #12
  %.not912 = icmp eq i32 %3616, 0
  br i1 %.not912, label %3617, label %3618

3617:                                             ; preds = %3613, %3607
  br label %3618

3618:                                             ; preds = %3613, %3617
  %.str.5.sink2375 = phi ptr [ @.str.5, %3617 ], [ @.str.2, %3613 ]
  store i32 %3608, ptr %598, align 4, !tbaa !5
  %3619 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3620 = load i32, ptr @test_count, align 4, !tbaa !5
  %3621 = load i32, ptr %544, align 4, !tbaa !5
  %3622 = call ptr @s2n_strerror(i32 noundef %3621, ptr noundef nonnull @.str.4) #12
  %3623 = load i32, ptr %544, align 4, !tbaa !5
  %3624 = call ptr @s2n_strerror_debug(i32 noundef %3623, ptr noundef nonnull @.str.4) #12
  %3625 = load i32, ptr %598, align 4, !tbaa !5
  %3626 = call ptr @strerror(i32 noundef %3625) #12
  %3627 = load i32, ptr %598, align 4, !tbaa !5
  %3628 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3619, ptr noundef nonnull %.str.5.sink2375, i32 noundef %3620, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.1, i32 noundef 370, ptr noundef %3622, ptr noundef %3624, ptr noundef %3626, i32 noundef %3627) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3629:                                             ; preds = %3602
  %3630 = add nsw i32 %3603, 2
  store i32 %3630, ptr @test_count, align 4, !tbaa !5
  %3631 = call ptr @s2n_strerror_debug(i32 noundef 469762112, ptr noundef nonnull @.str.4) #12
  %3632 = icmp eq ptr %3631, null
  br i1 %3632, label %3633, label %3655

3633:                                             ; preds = %3629
  %3634 = load i32, ptr %598, align 4, !tbaa !5
  %3635 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3636 = call i32 @s2n_print_stacktrace(ptr noundef %3635) #12
  %3637 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3638 = trunc nuw i8 %3637 to i1
  br i1 %3638, label %3639, label %3643

3639:                                             ; preds = %3633
  %3640 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3641 = call i32 @fileno(ptr noundef %3640) #12
  %3642 = call i32 @isatty(i32 noundef %3641) #12
  %.not1134 = icmp eq i32 %3642, 0
  br i1 %.not1134, label %3643, label %3644

3643:                                             ; preds = %3639, %3633
  br label %3644

3644:                                             ; preds = %3639, %3643
  %.str.5.sink2384 = phi ptr [ @.str.5, %3643 ], [ @.str.2, %3639 ]
  store i32 %3634, ptr %598, align 4, !tbaa !5
  %3645 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3646 = load i32, ptr @test_count, align 4, !tbaa !5
  %3647 = load i32, ptr %544, align 4, !tbaa !5
  %3648 = call ptr @s2n_strerror(i32 noundef %3647, ptr noundef nonnull @.str.4) #12
  %3649 = load i32, ptr %544, align 4, !tbaa !5
  %3650 = call ptr @s2n_strerror_debug(i32 noundef %3649, ptr noundef nonnull @.str.4) #12
  %3651 = load i32, ptr %598, align 4, !tbaa !5
  %3652 = call ptr @strerror(i32 noundef %3651) #12
  %3653 = load i32, ptr %598, align 4, !tbaa !5
  %3654 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3645, ptr noundef nonnull %.str.5.sink2384, i32 noundef %3646, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 370, ptr noundef %3648, ptr noundef %3650, ptr noundef %3652, i32 noundef %3653) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3655:                                             ; preds = %3629
  store i32 0, ptr %544, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %598, align 4, !tbaa !5
  %3656 = load i32, ptr @test_count, align 4, !tbaa !5
  %3657 = add nsw i32 %3656, 1
  store i32 %3657, ptr @test_count, align 4, !tbaa !5
  %3658 = load ptr, ptr %53, align 8, !tbaa !9
  %3659 = call i64 @s2n_recv(ptr noundef %3658, ptr noundef nonnull %57, i64 noundef 10, ptr noundef nonnull %56) #12
  %3660 = icmp eq i64 %3659, -1
  br i1 %3660, label %3661, label %3683

3661:                                             ; preds = %3655
  %3662 = load i32, ptr %598, align 4, !tbaa !5
  %3663 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3664 = call i32 @s2n_print_stacktrace(ptr noundef %3663) #12
  %3665 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3666 = trunc nuw i8 %3665 to i1
  br i1 %3666, label %3667, label %3671

3667:                                             ; preds = %3661
  %3668 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3669 = call i32 @fileno(ptr noundef %3668) #12
  %3670 = call i32 @isatty(i32 noundef %3669) #12
  %.not1133 = icmp eq i32 %3670, 0
  br i1 %.not1133, label %3671, label %3672

3671:                                             ; preds = %3667, %3661
  br label %3672

3672:                                             ; preds = %3667, %3671
  %.str.5.sink2393 = phi ptr [ @.str.5, %3671 ], [ @.str.2, %3667 ]
  store i32 %3662, ptr %598, align 4, !tbaa !5
  %3673 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3674 = load i32, ptr @test_count, align 4, !tbaa !5
  %3675 = load i32, ptr %544, align 4, !tbaa !5
  %3676 = call ptr @s2n_strerror(i32 noundef %3675, ptr noundef nonnull @.str.4) #12
  %3677 = load i32, ptr %544, align 4, !tbaa !5
  %3678 = call ptr @s2n_strerror_debug(i32 noundef %3677, ptr noundef nonnull @.str.4) #12
  %3679 = load i32, ptr %598, align 4, !tbaa !5
  %3680 = call ptr @strerror(i32 noundef %3679) #12
  %3681 = load i32, ptr %598, align 4, !tbaa !5
  %3682 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3673, ptr noundef nonnull %.str.5.sink2393, i32 noundef %3674, ptr noundef nonnull @.str.88, ptr noundef nonnull @.str.1, i32 noundef 373, ptr noundef %3676, ptr noundef %3678, ptr noundef %3680, i32 noundef %3681) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3683:                                             ; preds = %3655
  %3684 = load i32, ptr @test_count, align 4, !tbaa !5
  %3685 = add nsw i32 %3684, 1
  store i32 %3685, ptr @test_count, align 4, !tbaa !5
  %3686 = load ptr, ptr %53, align 8, !tbaa !9
  %3687 = call i32 @s2n_connection_serialize(ptr noundef %3686, ptr noundef nonnull %58, i32 noundef 142) #12
  %3688 = icmp eq i32 %3687, -1
  br i1 %3688, label %3689, label %3711

3689:                                             ; preds = %3683
  %3690 = load i32, ptr %598, align 4, !tbaa !5
  %3691 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3692 = call i32 @s2n_print_stacktrace(ptr noundef %3691) #12
  %3693 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3694 = trunc nuw i8 %3693 to i1
  br i1 %3694, label %3695, label %3699

3695:                                             ; preds = %3689
  %3696 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3697 = call i32 @fileno(ptr noundef %3696) #12
  %3698 = call i32 @isatty(i32 noundef %3697) #12
  %.not1132 = icmp eq i32 %3698, 0
  br i1 %.not1132, label %3699, label %3700

3699:                                             ; preds = %3695, %3689
  br label %3700

3700:                                             ; preds = %3695, %3699
  %.str.5.sink2402 = phi ptr [ @.str.5, %3699 ], [ @.str.2, %3695 ]
  store i32 %3690, ptr %598, align 4, !tbaa !5
  %3701 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3702 = load i32, ptr @test_count, align 4, !tbaa !5
  %3703 = load i32, ptr %544, align 4, !tbaa !5
  %3704 = call ptr @s2n_strerror(i32 noundef %3703, ptr noundef nonnull @.str.4) #12
  %3705 = load i32, ptr %544, align 4, !tbaa !5
  %3706 = call ptr @s2n_strerror_debug(i32 noundef %3705, ptr noundef nonnull @.str.4) #12
  %3707 = load i32, ptr %598, align 4, !tbaa !5
  %3708 = call ptr @strerror(i32 noundef %3707) #12
  %3709 = load i32, ptr %598, align 4, !tbaa !5
  %3710 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3701, ptr noundef nonnull %.str.5.sink2402, i32 noundef %3702, ptr noundef nonnull @.str.52, ptr noundef nonnull @.str.1, i32 noundef 374, ptr noundef %3704, ptr noundef %3706, ptr noundef %3708, i32 noundef %3709) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3711:                                             ; preds = %3683
  call void @llvm.lifetime.end.p0(i64 142, ptr nonnull %58) #12
  call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %57) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %56) #12
  call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %55) #12
  %3712 = call i32 @s2n_io_stuffer_pair_free(ptr noundef nonnull %54) #12
  call void @llvm.lifetime.end.p0(i64 80, ptr nonnull %54) #12
  %3713 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %53) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %53) #12
  %3714 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %52) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %52) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %59) #12
  %3715 = call ptr @s2n_connection_new(i32 noundef 1) #12
  store ptr %3715, ptr %59, align 8, !tbaa !9
  %3716 = load i32, ptr @test_count, align 4, !tbaa !5
  %3717 = add nsw i32 %3716, 1
  store i32 %3717, ptr @test_count, align 4, !tbaa !5
  %3718 = icmp eq ptr %3715, null
  br i1 %3718, label %3719, label %3741

3719:                                             ; preds = %3711
  %3720 = load i32, ptr %598, 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
  %.not1131 = icmp eq i32 %3728, 0
  br i1 %.not1131, label %3729, label %3730

3729:                                             ; preds = %3725, %3719
  br label %3730

3730:                                             ; preds = %3725, %3729
  %.str.5.sink2411 = phi ptr [ @.str.5, %3729 ], [ @.str.2, %3725 ]
  store i32 %3720, ptr %598, 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 %544, align 4, !tbaa !5
  %3734 = call ptr @s2n_strerror(i32 noundef %3733, ptr noundef nonnull @.str.4) #12
  %3735 = load i32, ptr %544, align 4, !tbaa !5
  %3736 = call ptr @s2n_strerror_debug(i32 noundef %3735, ptr noundef nonnull @.str.4) #12
  %3737 = load i32, ptr %598, align 4, !tbaa !5
  %3738 = call ptr @strerror(i32 noundef %3737) #12
  %3739 = load i32, ptr %598, align 4, !tbaa !5
  %3740 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3731, ptr noundef nonnull %.str.5.sink2411, i32 noundef %3732, ptr noundef nonnull @.str.42, ptr noundef nonnull @.str.1, i32 noundef 381, ptr noundef %3734, ptr noundef %3736, ptr noundef %3738, i32 noundef %3739) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3741:                                             ; preds = %3711
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %60) #12
  %3742 = call ptr @s2n_connection_new(i32 noundef 0) #12
  store ptr %3742, ptr %60, align 8, !tbaa !9
  %3743 = load i32, ptr @test_count, align 4, !tbaa !5
  %3744 = add nsw i32 %3743, 1
  store i32 %3744, ptr @test_count, align 4, !tbaa !5
  %3745 = icmp eq ptr %3742, null
  br i1 %3745, label %3746, label %3768

3746:                                             ; preds = %3741
  %3747 = load i32, ptr %598, align 4, !tbaa !5
  %3748 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3749 = call i32 @s2n_print_stacktrace(ptr noundef %3748) #12
  %3750 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3751 = trunc nuw i8 %3750 to i1
  br i1 %3751, label %3752, label %3756

3752:                                             ; preds = %3746
  %3753 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3754 = call i32 @fileno(ptr noundef %3753) #12
  %3755 = call i32 @isatty(i32 noundef %3754) #12
  %.not1130 = icmp eq i32 %3755, 0
  br i1 %.not1130, label %3756, label %3757

3756:                                             ; preds = %3752, %3746
  br label %3757

3757:                                             ; preds = %3752, %3756
  %.str.5.sink2420 = phi ptr [ @.str.5, %3756 ], [ @.str.2, %3752 ]
  store i32 %3747, ptr %598, align 4, !tbaa !5
  %3758 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3759 = load i32, ptr @test_count, align 4, !tbaa !5
  %3760 = load i32, ptr %544, align 4, !tbaa !5
  %3761 = call ptr @s2n_strerror(i32 noundef %3760, ptr noundef nonnull @.str.4) #12
  %3762 = load i32, ptr %544, align 4, !tbaa !5
  %3763 = call ptr @s2n_strerror_debug(i32 noundef %3762, ptr noundef nonnull @.str.4) #12
  %3764 = load i32, ptr %598, align 4, !tbaa !5
  %3765 = call ptr @strerror(i32 noundef %3764) #12
  %3766 = load i32, ptr %598, align 4, !tbaa !5
  %3767 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3758, ptr noundef nonnull %.str.5.sink2420, i32 noundef %3759, ptr noundef nonnull @.str.43, ptr noundef nonnull @.str.1, i32 noundef 384, ptr noundef %3761, ptr noundef %3763, ptr noundef %3765, i32 noundef %3766) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3768:                                             ; preds = %3741
  %3769 = add nsw i32 %3743, 2
  store i32 %3769, ptr @test_count, align 4, !tbaa !5
  %3770 = load ptr, ptr %59, align 8, !tbaa !9
  %3771 = call i32 @s2n_connection_set_config(ptr noundef %3770, ptr noundef %367) #12
  %3772 = icmp eq i32 %3771, -1
  br i1 %3772, label %3773, label %3795

3773:                                             ; preds = %3768
  %3774 = load i32, ptr %598, align 4, !tbaa !5
  %3775 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3776 = call i32 @s2n_print_stacktrace(ptr noundef %3775) #12
  %3777 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3778 = trunc nuw i8 %3777 to i1
  br i1 %3778, label %3779, label %3783

3779:                                             ; preds = %3773
  %3780 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3781 = call i32 @fileno(ptr noundef %3780) #12
  %3782 = call i32 @isatty(i32 noundef %3781) #12
  %.not1129 = icmp eq i32 %3782, 0
  br i1 %.not1129, label %3783, label %3784

3783:                                             ; preds = %3779, %3773
  br label %3784

3784:                                             ; preds = %3779, %3783
  %.str.5.sink2429 = phi ptr [ @.str.5, %3783 ], [ @.str.2, %3779 ]
  store i32 %3774, ptr %598, align 4, !tbaa !5
  %3785 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3786 = load i32, ptr @test_count, align 4, !tbaa !5
  %3787 = load i32, ptr %544, align 4, !tbaa !5
  %3788 = call ptr @s2n_strerror(i32 noundef %3787, ptr noundef nonnull @.str.4) #12
  %3789 = load i32, ptr %544, align 4, !tbaa !5
  %3790 = call ptr @s2n_strerror_debug(i32 noundef %3789, ptr noundef nonnull @.str.4) #12
  %3791 = load i32, ptr %598, align 4, !tbaa !5
  %3792 = call ptr @strerror(i32 noundef %3791) #12
  %3793 = load i32, ptr %598, align 4, !tbaa !5
  %3794 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3785, ptr noundef nonnull %.str.5.sink2429, i32 noundef %3786, ptr noundef nonnull @.str.75, ptr noundef nonnull @.str.1, i32 noundef 386, ptr noundef %3788, ptr noundef %3790, ptr noundef %3792, i32 noundef %3793) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3795:                                             ; preds = %3768
  %3796 = load i32, ptr @test_count, align 4, !tbaa !5
  %3797 = add nsw i32 %3796, 1
  store i32 %3797, ptr @test_count, align 4, !tbaa !5
  %3798 = load ptr, ptr %60, align 8, !tbaa !9
  %3799 = call i32 @s2n_connection_set_config(ptr noundef %3798, ptr noundef %367) #12
  %3800 = icmp eq i32 %3799, -1
  br i1 %3800, label %3801, label %3823

3801:                                             ; preds = %3795
  %3802 = load i32, ptr %598, align 4, !tbaa !5
  %3803 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3804 = call i32 @s2n_print_stacktrace(ptr noundef %3803) #12
  %3805 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3806 = trunc nuw i8 %3805 to i1
  br i1 %3806, label %3807, label %3811

3807:                                             ; preds = %3801
  %3808 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3809 = call i32 @fileno(ptr noundef %3808) #12
  %3810 = call i32 @isatty(i32 noundef %3809) #12
  %.not1128 = icmp eq i32 %3810, 0
  br i1 %.not1128, label %3811, label %3812

3811:                                             ; preds = %3807, %3801
  br label %3812

3812:                                             ; preds = %3807, %3811
  %.str.5.sink2438 = phi ptr [ @.str.5, %3811 ], [ @.str.2, %3807 ]
  store i32 %3802, ptr %598, align 4, !tbaa !5
  %3813 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3814 = load i32, ptr @test_count, align 4, !tbaa !5
  %3815 = load i32, ptr %544, align 4, !tbaa !5
  %3816 = call ptr @s2n_strerror(i32 noundef %3815, ptr noundef nonnull @.str.4) #12
  %3817 = load i32, ptr %544, align 4, !tbaa !5
  %3818 = call ptr @s2n_strerror_debug(i32 noundef %3817, ptr noundef nonnull @.str.4) #12
  %3819 = load i32, ptr %598, align 4, !tbaa !5
  %3820 = call ptr @strerror(i32 noundef %3819) #12
  %3821 = load i32, ptr %598, align 4, !tbaa !5
  %3822 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3813, ptr noundef nonnull %.str.5.sink2438, i32 noundef %3814, ptr noundef nonnull @.str.76, ptr noundef nonnull @.str.1, i32 noundef 387, ptr noundef %3816, ptr noundef %3818, ptr noundef %3820, i32 noundef %3821) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3823:                                             ; preds = %3795
  call void @llvm.lifetime.start.p0(i64 80, ptr nonnull %61) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(80) %61, i8 0, i64 80, i1 false)
  %3824 = load i32, ptr @test_count, align 4, !tbaa !5
  %3825 = add nsw i32 %3824, 1
  store i32 %3825, ptr @test_count, align 4, !tbaa !5
  %3826 = call i32 @s2n_io_stuffer_pair_init(ptr noundef nonnull %61) #12
  %3827 = call zeroext i1 @s2n_result_is_ok(i32 %3826)
  br i1 %3827, label %3850, label %3828

3828:                                             ; preds = %3823
  %3829 = load i32, ptr %598, align 4, !tbaa !5
  %3830 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3831 = call i32 @s2n_print_stacktrace(ptr noundef %3830) #12
  %3832 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3833 = trunc nuw i8 %3832 to i1
  br i1 %3833, label %3834, label %3838

3834:                                             ; preds = %3828
  %3835 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3836 = call i32 @fileno(ptr noundef %3835) #12
  %3837 = call i32 @isatty(i32 noundef %3836) #12
  %.not913 = icmp eq i32 %3837, 0
  br i1 %.not913, label %3838, label %3839

3838:                                             ; preds = %3834, %3828
  br label %3839

3839:                                             ; preds = %3834, %3838
  %.str.5.sink2447 = phi ptr [ @.str.5, %3838 ], [ @.str.2, %3834 ]
  store i32 %3829, ptr %598, align 4, !tbaa !5
  %3840 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3841 = load i32, ptr @test_count, align 4, !tbaa !5
  %3842 = load i32, ptr %544, align 4, !tbaa !5
  %3843 = call ptr @s2n_strerror(i32 noundef %3842, ptr noundef nonnull @.str.4) #12
  %3844 = load i32, ptr %544, align 4, !tbaa !5
  %3845 = call ptr @s2n_strerror_debug(i32 noundef %3844, ptr noundef nonnull @.str.4) #12
  %3846 = load i32, ptr %598, align 4, !tbaa !5
  %3847 = call ptr @strerror(i32 noundef %3846) #12
  %3848 = load i32, ptr %598, align 4, !tbaa !5
  %3849 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3840, ptr noundef nonnull %.str.5.sink2447, i32 noundef %3841, ptr noundef nonnull @.str.46, ptr noundef nonnull @.str.1, i32 noundef 390, ptr noundef %3843, ptr noundef %3845, ptr noundef %3847, i32 noundef %3848) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3850:                                             ; preds = %3823
  %3851 = load i32, ptr @test_count, align 4, !tbaa !5
  %3852 = add nsw i32 %3851, 1
  store i32 %3852, ptr @test_count, align 4, !tbaa !5
  %3853 = load ptr, ptr %59, align 8, !tbaa !9
  %3854 = load ptr, ptr %60, align 8, !tbaa !9
  %3855 = call i32 @s2n_connections_set_io_stuffer_pair(ptr noundef %3853, ptr noundef %3854, ptr noundef nonnull %61) #12
  %3856 = call zeroext i1 @s2n_result_is_ok(i32 %3855)
  br i1 %3856, label %3879, label %3857

3857:                                             ; preds = %3850
  %3858 = load i32, ptr %598, align 4, !tbaa !5
  %3859 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3860 = call i32 @s2n_print_stacktrace(ptr noundef %3859) #12
  %3861 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3862 = trunc nuw i8 %3861 to i1
  br i1 %3862, label %3863, label %3867

3863:                                             ; preds = %3857
  %3864 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3865 = call i32 @fileno(ptr noundef %3864) #12
  %3866 = call i32 @isatty(i32 noundef %3865) #12
  %.not914 = icmp eq i32 %3866, 0
  br i1 %.not914, label %3867, label %3868

3867:                                             ; preds = %3863, %3857
  br label %3868

3868:                                             ; preds = %3863, %3867
  %.str.5.sink2456 = phi ptr [ @.str.5, %3867 ], [ @.str.2, %3863 ]
  store i32 %3858, ptr %598, align 4, !tbaa !5
  %3869 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3870 = load i32, ptr @test_count, align 4, !tbaa !5
  %3871 = load i32, ptr %544, align 4, !tbaa !5
  %3872 = call ptr @s2n_strerror(i32 noundef %3871, ptr noundef nonnull @.str.4) #12
  %3873 = load i32, ptr %544, align 4, !tbaa !5
  %3874 = call ptr @s2n_strerror_debug(i32 noundef %3873, ptr noundef nonnull @.str.4) #12
  %3875 = load i32, ptr %598, align 4, !tbaa !5
  %3876 = call ptr @strerror(i32 noundef %3875) #12
  %3877 = load i32, ptr %598, align 4, !tbaa !5
  %3878 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3869, ptr noundef nonnull %.str.5.sink2456, i32 noundef %3870, ptr noundef nonnull @.str.47, ptr noundef nonnull @.str.1, i32 noundef 391, ptr noundef %3872, ptr noundef %3874, ptr noundef %3876, i32 noundef %3877) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3879:                                             ; preds = %3850
  %3880 = load i32, ptr @test_count, align 4, !tbaa !5
  %3881 = add nsw i32 %3880, 1
  store i32 %3881, ptr @test_count, align 4, !tbaa !5
  %3882 = load ptr, ptr %60, align 8, !tbaa !9
  %3883 = load ptr, ptr %59, align 8, !tbaa !9
  %3884 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %3882, ptr noundef %3883) #12
  %3885 = icmp eq i32 %3884, -1
  br i1 %3885, label %3886, label %3908

3886:                                             ; preds = %3879
  %3887 = load i32, ptr %598, align 4, !tbaa !5
  %3888 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3889 = call i32 @s2n_print_stacktrace(ptr noundef %3888) #12
  %3890 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3891 = trunc nuw i8 %3890 to i1
  br i1 %3891, label %3892, label %3896

3892:                                             ; preds = %3886
  %3893 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3894 = call i32 @fileno(ptr noundef %3893) #12
  %3895 = call i32 @isatty(i32 noundef %3894) #12
  %.not1127 = icmp eq i32 %3895, 0
  br i1 %.not1127, label %3896, label %3897

3896:                                             ; preds = %3892, %3886
  br label %3897

3897:                                             ; preds = %3892, %3896
  %.str.5.sink2465 = phi ptr [ @.str.5, %3896 ], [ @.str.2, %3892 ]
  store i32 %3887, ptr %598, align 4, !tbaa !5
  %3898 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3899 = load i32, ptr @test_count, align 4, !tbaa !5
  %3900 = load i32, ptr %544, align 4, !tbaa !5
  %3901 = call ptr @s2n_strerror(i32 noundef %3900, ptr noundef nonnull @.str.4) #12
  %3902 = load i32, ptr %544, align 4, !tbaa !5
  %3903 = call ptr @s2n_strerror_debug(i32 noundef %3902, ptr noundef nonnull @.str.4) #12
  %3904 = load i32, ptr %598, align 4, !tbaa !5
  %3905 = call ptr @strerror(i32 noundef %3904) #12
  %3906 = load i32, ptr %598, align 4, !tbaa !5
  %3907 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3898, ptr noundef nonnull %.str.5.sink2465, i32 noundef %3899, ptr noundef nonnull @.str.48, ptr noundef nonnull @.str.1, i32 noundef 393, ptr noundef %3901, ptr noundef %3903, ptr noundef %3905, i32 noundef %3906) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3908:                                             ; preds = %3879
  call void @llvm.lifetime.start.p0(i64 142, ptr nonnull %62) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(142) %62, i8 0, i64 142, i1 false)
  %3909 = load i32, ptr @test_count, align 4, !tbaa !5
  %3910 = add nsw i32 %3909, 1
  store i32 %3910, ptr @test_count, align 4, !tbaa !5
  %3911 = load ptr, ptr %60, align 8, !tbaa !9
  %3912 = call i32 @s2n_connection_serialize(ptr noundef %3911, ptr noundef nonnull %62, i32 noundef 142) #12
  %3913 = icmp eq i32 %3912, -1
  br i1 %3913, label %3914, label %3936

3914:                                             ; preds = %3908
  %3915 = load i32, ptr %598, align 4, !tbaa !5
  %3916 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3917 = call i32 @s2n_print_stacktrace(ptr noundef %3916) #12
  %3918 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3919 = trunc nuw i8 %3918 to i1
  br i1 %3919, label %3920, label %3924

3920:                                             ; preds = %3914
  %3921 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3922 = call i32 @fileno(ptr noundef %3921) #12
  %3923 = call i32 @isatty(i32 noundef %3922) #12
  %.not1126 = icmp eq i32 %3923, 0
  br i1 %.not1126, label %3924, label %3925

3924:                                             ; preds = %3920, %3914
  br label %3925

3925:                                             ; preds = %3920, %3924
  %.str.5.sink2474 = phi ptr [ @.str.5, %3924 ], [ @.str.2, %3920 ]
  store i32 %3915, ptr %598, align 4, !tbaa !5
  %3926 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3927 = load i32, ptr @test_count, align 4, !tbaa !5
  %3928 = load i32, ptr %544, align 4, !tbaa !5
  %3929 = call ptr @s2n_strerror(i32 noundef %3928, ptr noundef nonnull @.str.4) #12
  %3930 = load i32, ptr %544, align 4, !tbaa !5
  %3931 = call ptr @s2n_strerror_debug(i32 noundef %3930, ptr noundef nonnull @.str.4) #12
  %3932 = load i32, ptr %598, align 4, !tbaa !5
  %3933 = call ptr @strerror(i32 noundef %3932) #12
  %3934 = load i32, ptr %598, align 4, !tbaa !5
  %3935 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3926, ptr noundef nonnull %.str.5.sink2474, i32 noundef %3927, ptr noundef nonnull @.str.52, ptr noundef nonnull @.str.1, i32 noundef 396, ptr noundef %3929, ptr noundef %3931, ptr noundef %3933, i32 noundef %3934) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3936:                                             ; preds = %3908
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %63) #12
  store i32 0, ptr %63, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %64) #12
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(12) %64, ptr noundef nonnull align 1 dereferenceable(12) @__const.main.send_data, i64 12, i1 false)
  %3937 = load i32, ptr @test_count, align 4, !tbaa !5
  %3938 = add nsw i32 %3937, 1
  store i32 %3938, ptr @test_count, align 4, !tbaa !5
  %3939 = load ptr, ptr %60, align 8, !tbaa !9
  %3940 = call i64 @s2n_send(ptr noundef %3939, ptr noundef nonnull %64, i64 noundef 12, ptr noundef nonnull %63) #12
  %3941 = icmp eq i64 %3940, -1
  br i1 %3941, label %3964, label %3942

3942:                                             ; preds = %3936
  %3943 = load i32, ptr %598, align 4, !tbaa !5
  %3944 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3945 = call i32 @s2n_print_stacktrace(ptr noundef %3944) #12
  %3946 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3947 = trunc nuw i8 %3946 to i1
  br i1 %3947, label %3948, label %3952

3948:                                             ; preds = %3942
  %3949 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3950 = call i32 @fileno(ptr noundef %3949) #12
  %3951 = call i32 @isatty(i32 noundef %3950) #12
  %.not915 = icmp eq i32 %3951, 0
  br i1 %.not915, label %3952, label %3953

3952:                                             ; preds = %3948, %3942
  br label %3953

3953:                                             ; preds = %3948, %3952
  %.str.5.sink2483 = phi ptr [ @.str.5, %3952 ], [ @.str.2, %3948 ]
  store i32 %3943, ptr %598, align 4, !tbaa !5
  %3954 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3955 = load i32, ptr @test_count, align 4, !tbaa !5
  %3956 = load i32, ptr %544, align 4, !tbaa !5
  %3957 = call ptr @s2n_strerror(i32 noundef %3956, ptr noundef nonnull @.str.4) #12
  %3958 = load i32, ptr %544, align 4, !tbaa !5
  %3959 = call ptr @s2n_strerror_debug(i32 noundef %3958, ptr noundef nonnull @.str.4) #12
  %3960 = load i32, ptr %598, align 4, !tbaa !5
  %3961 = call ptr @strerror(i32 noundef %3960) #12
  %3962 = load i32, ptr %598, align 4, !tbaa !5
  %3963 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3954, ptr noundef nonnull %.str.5.sink2483, i32 noundef %3955, ptr noundef nonnull @.str.89, ptr noundef nonnull @.str.1, i32 noundef 400, ptr noundef %3957, ptr noundef %3959, ptr noundef %3961, i32 noundef %3962) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3964:                                             ; preds = %3936
  %3965 = load i32, ptr @test_count, align 4, !tbaa !5
  %3966 = add nsw i32 %3965, 1
  store i32 %3966, ptr @test_count, align 4, !tbaa !5
  %3967 = load i32, ptr %544, align 4, !tbaa !5
  %3968 = icmp eq i32 %3967, 134217728
  br i1 %3968, label %3991, label %3969

3969:                                             ; preds = %3964
  %3970 = load i32, ptr %598, align 4, !tbaa !5
  %3971 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3972 = call i32 @s2n_print_stacktrace(ptr noundef %3971) #12
  %3973 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3974 = trunc nuw i8 %3973 to i1
  br i1 %3974, label %3975, label %3979

3975:                                             ; preds = %3969
  %3976 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3977 = call i32 @fileno(ptr noundef %3976) #12
  %3978 = call i32 @isatty(i32 noundef %3977) #12
  %.not916 = icmp eq i32 %3978, 0
  br i1 %.not916, label %3979, label %3980

3979:                                             ; preds = %3975, %3969
  br label %3980

3980:                                             ; preds = %3975, %3979
  %.str.5.sink2492 = phi ptr [ @.str.5, %3979 ], [ @.str.2, %3975 ]
  store i32 %3970, ptr %598, align 4, !tbaa !5
  %3981 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3982 = load i32, ptr @test_count, align 4, !tbaa !5
  %3983 = load i32, ptr %544, align 4, !tbaa !5
  %3984 = call ptr @s2n_strerror(i32 noundef %3983, ptr noundef nonnull @.str.4) #12
  %3985 = load i32, ptr %544, align 4, !tbaa !5
  %3986 = call ptr @s2n_strerror_debug(i32 noundef %3985, ptr noundef nonnull @.str.4) #12
  %3987 = load i32, ptr %598, align 4, !tbaa !5
  %3988 = call ptr @strerror(i32 noundef %3987) #12
  %3989 = load i32, ptr %598, align 4, !tbaa !5
  %3990 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3981, ptr noundef nonnull %.str.5.sink2492, i32 noundef %3982, ptr noundef nonnull @.str.90, ptr noundef nonnull @.str.1, i32 noundef 400, ptr noundef %3984, ptr noundef %3986, ptr noundef %3988, i32 noundef %3989) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3991:                                             ; preds = %3964
  %3992 = add nsw i32 %3965, 2
  store i32 %3992, ptr @test_count, align 4, !tbaa !5
  %3993 = call ptr @s2n_strerror_debug(i32 noundef 134217728, ptr noundef nonnull @.str.4) #12
  %3994 = icmp eq ptr %3993, null
  br i1 %3994, label %3995, label %4017

3995:                                             ; preds = %3991
  %3996 = load i32, ptr %598, align 4, !tbaa !5
  %3997 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3998 = call i32 @s2n_print_stacktrace(ptr noundef %3997) #12
  %3999 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4000 = trunc nuw i8 %3999 to i1
  br i1 %4000, label %4001, label %4005

4001:                                             ; preds = %3995
  %4002 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4003 = call i32 @fileno(ptr noundef %4002) #12
  %4004 = call i32 @isatty(i32 noundef %4003) #12
  %.not1125 = icmp eq i32 %4004, 0
  br i1 %.not1125, label %4005, label %4006

4005:                                             ; preds = %4001, %3995
  br label %4006

4006:                                             ; preds = %4001, %4005
  %.str.5.sink2501 = phi ptr [ @.str.5, %4005 ], [ @.str.2, %4001 ]
  store i32 %3996, ptr %598, align 4, !tbaa !5
  %4007 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4008 = load i32, ptr @test_count, align 4, !tbaa !5
  %4009 = load i32, ptr %544, align 4, !tbaa !5
  %4010 = call ptr @s2n_strerror(i32 noundef %4009, ptr noundef nonnull @.str.4) #12
  %4011 = load i32, ptr %544, align 4, !tbaa !5
  %4012 = call ptr @s2n_strerror_debug(i32 noundef %4011, ptr noundef nonnull @.str.4) #12
  %4013 = load i32, ptr %598, align 4, !tbaa !5
  %4014 = call ptr @strerror(i32 noundef %4013) #12
  %4015 = load i32, ptr %598, align 4, !tbaa !5
  %4016 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4007, ptr noundef nonnull %.str.5.sink2501, i32 noundef %4008, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 400, ptr noundef %4010, ptr noundef %4012, ptr noundef %4014, i32 noundef %4015) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4017:                                             ; preds = %3991
  store i32 0, ptr %544, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %598, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %65) #12
  store i8 0, ptr %65, align 1, !tbaa !51
  %4018 = load i32, ptr @test_count, align 4, !tbaa !5
  %4019 = add nsw i32 %4018, 1
  store i32 %4019, ptr @test_count, align 4, !tbaa !5
  %4020 = load ptr, ptr %60, align 8, !tbaa !9
  %4021 = call i64 @s2n_recv(ptr noundef %4020, ptr noundef nonnull %65, i64 noundef 1, ptr noundef nonnull %63) #12
  %4022 = icmp eq i64 %4021, -1
  br i1 %4022, label %4045, label %4023

4023:                                             ; preds = %4017
  %4024 = load i32, ptr %598, align 4, !tbaa !5
  %4025 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4026 = call i32 @s2n_print_stacktrace(ptr noundef %4025) #12
  %4027 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4028 = trunc nuw i8 %4027 to i1
  br i1 %4028, label %4029, label %4033

4029:                                             ; preds = %4023
  %4030 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4031 = call i32 @fileno(ptr noundef %4030) #12
  %4032 = call i32 @isatty(i32 noundef %4031) #12
  %.not917 = icmp eq i32 %4032, 0
  br i1 %.not917, label %4033, label %4034

4033:                                             ; preds = %4029, %4023
  br label %4034

4034:                                             ; preds = %4029, %4033
  %.str.5.sink2510 = phi ptr [ @.str.5, %4033 ], [ @.str.2, %4029 ]
  store i32 %4024, ptr %598, align 4, !tbaa !5
  %4035 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4036 = load i32, ptr @test_count, align 4, !tbaa !5
  %4037 = load i32, ptr %544, align 4, !tbaa !5
  %4038 = call ptr @s2n_strerror(i32 noundef %4037, ptr noundef nonnull @.str.4) #12
  %4039 = load i32, ptr %544, align 4, !tbaa !5
  %4040 = call ptr @s2n_strerror_debug(i32 noundef %4039, ptr noundef nonnull @.str.4) #12
  %4041 = load i32, ptr %598, align 4, !tbaa !5
  %4042 = call ptr @strerror(i32 noundef %4041) #12
  %4043 = load i32, ptr %598, align 4, !tbaa !5
  %4044 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4035, ptr noundef nonnull %.str.5.sink2510, i32 noundef %4036, ptr noundef nonnull @.str.91, ptr noundef nonnull @.str.1, i32 noundef 403, ptr noundef %4038, ptr noundef %4040, ptr noundef %4042, i32 noundef %4043) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4045:                                             ; preds = %4017
  %4046 = load i32, ptr @test_count, align 4, !tbaa !5
  %4047 = add nsw i32 %4046, 1
  store i32 %4047, ptr @test_count, align 4, !tbaa !5
  %4048 = load i32, ptr %544, align 4, !tbaa !5
  %4049 = icmp eq i32 %4048, 134217728
  br i1 %4049, label %4072, label %4050

4050:                                             ; preds = %4045
  %4051 = load i32, ptr %598, align 4, !tbaa !5
  %4052 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4053 = call i32 @s2n_print_stacktrace(ptr noundef %4052) #12
  %4054 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4055 = trunc nuw i8 %4054 to i1
  br i1 %4055, label %4056, label %4060

4056:                                             ; preds = %4050
  %4057 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4058 = call i32 @fileno(ptr noundef %4057) #12
  %4059 = call i32 @isatty(i32 noundef %4058) #12
  %.not918 = icmp eq i32 %4059, 0
  br i1 %.not918, label %4060, label %4061

4060:                                             ; preds = %4056, %4050
  br label %4061

4061:                                             ; preds = %4056, %4060
  %.str.5.sink2519 = phi ptr [ @.str.5, %4060 ], [ @.str.2, %4056 ]
  store i32 %4051, ptr %598, align 4, !tbaa !5
  %4062 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4063 = load i32, ptr @test_count, align 4, !tbaa !5
  %4064 = load i32, ptr %544, align 4, !tbaa !5
  %4065 = call ptr @s2n_strerror(i32 noundef %4064, ptr noundef nonnull @.str.4) #12
  %4066 = load i32, ptr %544, align 4, !tbaa !5
  %4067 = call ptr @s2n_strerror_debug(i32 noundef %4066, ptr noundef nonnull @.str.4) #12
  %4068 = load i32, ptr %598, align 4, !tbaa !5
  %4069 = call ptr @strerror(i32 noundef %4068) #12
  %4070 = load i32, ptr %598, align 4, !tbaa !5
  %4071 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4062, ptr noundef nonnull %.str.5.sink2519, i32 noundef %4063, ptr noundef nonnull @.str.90, ptr noundef nonnull @.str.1, i32 noundef 403, ptr noundef %4065, ptr noundef %4067, ptr noundef %4069, i32 noundef %4070) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4072:                                             ; preds = %4045
  %4073 = add nsw i32 %4046, 2
  store i32 %4073, ptr @test_count, align 4, !tbaa !5
  %4074 = call ptr @s2n_strerror_debug(i32 noundef 134217728, ptr noundef nonnull @.str.4) #12
  %4075 = icmp eq ptr %4074, null
  br i1 %4075, label %4076, label %4098

4076:                                             ; preds = %4072
  %4077 = load i32, ptr %598, align 4, !tbaa !5
  %4078 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4079 = call i32 @s2n_print_stacktrace(ptr noundef %4078) #12
  %4080 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4081 = trunc nuw i8 %4080 to i1
  br i1 %4081, label %4082, label %4086

4082:                                             ; preds = %4076
  %4083 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4084 = call i32 @fileno(ptr noundef %4083) #12
  %4085 = call i32 @isatty(i32 noundef %4084) #12
  %.not1124 = icmp eq i32 %4085, 0
  br i1 %.not1124, label %4086, label %4087

4086:                                             ; preds = %4082, %4076
  br label %4087

4087:                                             ; preds = %4082, %4086
  %.str.5.sink2528 = phi ptr [ @.str.5, %4086 ], [ @.str.2, %4082 ]
  store i32 %4077, ptr %598, align 4, !tbaa !5
  %4088 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4089 = load i32, ptr @test_count, align 4, !tbaa !5
  %4090 = load i32, ptr %544, align 4, !tbaa !5
  %4091 = call ptr @s2n_strerror(i32 noundef %4090, ptr noundef nonnull @.str.4) #12
  %4092 = load i32, ptr %544, align 4, !tbaa !5
  %4093 = call ptr @s2n_strerror_debug(i32 noundef %4092, ptr noundef nonnull @.str.4) #12
  %4094 = load i32, ptr %598, align 4, !tbaa !5
  %4095 = call ptr @strerror(i32 noundef %4094) #12
  %4096 = load i32, ptr %598, align 4, !tbaa !5
  %4097 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4088, ptr noundef nonnull %.str.5.sink2528, i32 noundef %4089, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 403, ptr noundef %4091, ptr noundef %4093, ptr noundef %4095, i32 noundef %4096) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4098:                                             ; preds = %4072
  store i32 0, ptr %544, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %598, align 4, !tbaa !5
  %4099 = load i32, ptr @test_count, align 4, !tbaa !5
  %4100 = add nsw i32 %4099, 1
  store i32 %4100, ptr @test_count, align 4, !tbaa !5
  %4101 = load ptr, ptr %60, align 8, !tbaa !9
  %4102 = call i32 @s2n_shutdown_send(ptr noundef %4101, ptr noundef nonnull %63) #12
  %4103 = icmp eq i32 %4102, -1
  br i1 %4103, label %4104, label %4126

4104:                                             ; preds = %4098
  %4105 = load i32, ptr %598, align 4, !tbaa !5
  %4106 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4107 = call i32 @s2n_print_stacktrace(ptr noundef %4106) #12
  %4108 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4109 = trunc nuw i8 %4108 to i1
  br i1 %4109, label %4110, label %4114

4110:                                             ; preds = %4104
  %4111 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4112 = call i32 @fileno(ptr noundef %4111) #12
  %4113 = call i32 @isatty(i32 noundef %4112) #12
  %.not1123 = icmp eq i32 %4113, 0
  br i1 %.not1123, label %4114, label %4115

4114:                                             ; preds = %4110, %4104
  br label %4115

4115:                                             ; preds = %4110, %4114
  %.str.5.sink2537 = phi ptr [ @.str.5, %4114 ], [ @.str.2, %4110 ]
  store i32 %4105, ptr %598, align 4, !tbaa !5
  %4116 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4117 = load i32, ptr @test_count, align 4, !tbaa !5
  %4118 = load i32, ptr %544, align 4, !tbaa !5
  %4119 = call ptr @s2n_strerror(i32 noundef %4118, ptr noundef nonnull @.str.4) #12
  %4120 = load i32, ptr %544, align 4, !tbaa !5
  %4121 = call ptr @s2n_strerror_debug(i32 noundef %4120, ptr noundef nonnull @.str.4) #12
  %4122 = load i32, ptr %598, align 4, !tbaa !5
  %4123 = call ptr @strerror(i32 noundef %4122) #12
  %4124 = load i32, ptr %598, align 4, !tbaa !5
  %4125 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4116, ptr noundef nonnull %.str.5.sink2537, i32 noundef %4117, ptr noundef nonnull @.str.92, ptr noundef nonnull @.str.1, i32 noundef 407, ptr noundef %4119, ptr noundef %4121, ptr noundef %4123, i32 noundef %4124) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4126:                                             ; preds = %4098
  call void @llvm.lifetime.start.p0(i64 7, ptr nonnull %66) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 1 dereferenceable(7) %66, i8 0, i64 7, i1 false)
  %4127 = load i32, ptr @test_count, align 4, !tbaa !5
  %4128 = add nsw i32 %4127, 1
  store i32 %4128, ptr @test_count, align 4, !tbaa !5
  %4129 = call i32 @s2n_stuffer_read_bytes(ptr noundef nonnull %61, ptr noundef nonnull %66, i32 noundef 7) #12
  %4130 = icmp eq i32 %4129, -1
  br i1 %4130, label %4131, label %4153

4131:                                             ; preds = %4126
  %4132 = load i32, ptr %598, align 4, !tbaa !5
  %4133 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4134 = call i32 @s2n_print_stacktrace(ptr noundef %4133) #12
  %4135 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4136 = trunc nuw i8 %4135 to i1
  br i1 %4136, label %4137, label %4141

4137:                                             ; preds = %4131
  %4138 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4139 = call i32 @fileno(ptr noundef %4138) #12
  %4140 = call i32 @isatty(i32 noundef %4139) #12
  %.not1122 = icmp eq i32 %4140, 0
  br i1 %.not1122, label %4141, label %4142

4141:                                             ; preds = %4137, %4131
  br label %4142

4142:                                             ; preds = %4137, %4141
  %.str.5.sink2546 = phi ptr [ @.str.5, %4141 ], [ @.str.2, %4137 ]
  store i32 %4132, ptr %598, align 4, !tbaa !5
  %4143 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4144 = load i32, ptr @test_count, align 4, !tbaa !5
  %4145 = load i32, ptr %544, align 4, !tbaa !5
  %4146 = call ptr @s2n_strerror(i32 noundef %4145, ptr noundef nonnull @.str.4) #12
  %4147 = load i32, ptr %544, align 4, !tbaa !5
  %4148 = call ptr @s2n_strerror_debug(i32 noundef %4147, ptr noundef nonnull @.str.4) #12
  %4149 = load i32, ptr %598, align 4, !tbaa !5
  %4150 = call ptr @strerror(i32 noundef %4149) #12
  %4151 = load i32, ptr %598, align 4, !tbaa !5
  %4152 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4143, ptr noundef nonnull %.str.5.sink2546, i32 noundef %4144, ptr noundef nonnull @.str.93, ptr noundef nonnull @.str.1, i32 noundef 417, ptr noundef %4146, ptr noundef %4148, ptr noundef %4150, i32 noundef %4151) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4153:                                             ; preds = %4126
  %4154 = load i32, ptr @test_count, align 4, !tbaa !5
  %4155 = add nsw i32 %4154, 1
  store i32 %4155, ptr @test_count, align 4, !tbaa !5
  %bcmp919 = call i32 @bcmp(ptr noundef nonnull dereferenceable(7) %66, ptr noundef nonnull dereferenceable(7) @__const.main.expected_alert, i64 7)
  %4156 = icmp eq i32 %bcmp919, 0
  br i1 %4156, label %4179, label %4157

4157:                                             ; preds = %4153
  %4158 = load i32, ptr %598, align 4, !tbaa !5
  %4159 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4160 = call i32 @s2n_print_stacktrace(ptr noundef %4159) #12
  %4161 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4162 = trunc nuw i8 %4161 to i1
  br i1 %4162, label %4163, label %4167

4163:                                             ; preds = %4157
  %4164 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4165 = call i32 @fileno(ptr noundef %4164) #12
  %4166 = call i32 @isatty(i32 noundef %4165) #12
  %.not920 = icmp eq i32 %4166, 0
  br i1 %.not920, label %4167, label %4168

4167:                                             ; preds = %4163, %4157
  br label %4168

4168:                                             ; preds = %4163, %4167
  %.str.5.sink2555 = phi ptr [ @.str.5, %4167 ], [ @.str.2, %4163 ]
  store i32 %4158, ptr %598, align 4, !tbaa !5
  %4169 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4170 = load i32, ptr @test_count, align 4, !tbaa !5
  %4171 = load i32, ptr %544, align 4, !tbaa !5
  %4172 = call ptr @s2n_strerror(i32 noundef %4171, ptr noundef nonnull @.str.4) #12
  %4173 = load i32, ptr %544, align 4, !tbaa !5
  %4174 = call ptr @s2n_strerror_debug(i32 noundef %4173, ptr noundef nonnull @.str.4) #12
  %4175 = load i32, ptr %598, align 4, !tbaa !5
  %4176 = call ptr @strerror(i32 noundef %4175) #12
  %4177 = load i32, ptr %598, align 4, !tbaa !5
  %4178 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4169, ptr noundef nonnull %.str.5.sink2555, i32 noundef %4170, ptr noundef nonnull @.str.94, ptr noundef nonnull @.str.1, i32 noundef 418, ptr noundef %4172, ptr noundef %4174, ptr noundef %4176, i32 noundef %4177) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4179:                                             ; preds = %4153
  call void @llvm.lifetime.end.p0(i64 7, ptr nonnull %66) #12
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %65) #12
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %64) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %63) #12
  call void @llvm.lifetime.end.p0(i64 142, ptr nonnull %62) #12
  %4180 = call i32 @s2n_io_stuffer_pair_free(ptr noundef nonnull %61) #12
  call void @llvm.lifetime.end.p0(i64 80, ptr nonnull %61) #12
  %4181 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %60) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %60) #12
  %4182 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %59) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %59) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %67) #12
  %4183 = call ptr @s2n_connection_new(i32 noundef 1) #12
  store ptr %4183, ptr %67, align 8, !tbaa !9
  %4184 = load i32, ptr @test_count, align 4, !tbaa !5
  %4185 = add nsw i32 %4184, 1
  store i32 %4185, ptr @test_count, align 4, !tbaa !5
  %4186 = icmp eq ptr %4183, null
  br i1 %4186, label %4187, label %4209

4187:                                             ; preds = %4179
  %4188 = load i32, ptr %598, align 4, !tbaa !5
  %4189 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4190 = call i32 @s2n_print_stacktrace(ptr noundef %4189) #12
  %4191 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4192 = trunc nuw i8 %4191 to i1
  br i1 %4192, label %4193, label %4197

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

4197:                                             ; preds = %4193, %4187
  br label %4198

4198:                                             ; preds = %4193, %4197
  %.str.5.sink2564 = phi ptr [ @.str.5, %4197 ], [ @.str.2, %4193 ]
  store i32 %4188, ptr %598, align 4, !tbaa !5
  %4199 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4200 = load i32, ptr @test_count, align 4, !tbaa !5
  %4201 = load i32, ptr %544, align 4, !tbaa !5
  %4202 = call ptr @s2n_strerror(i32 noundef %4201, ptr noundef nonnull @.str.4) #12
  %4203 = load i32, ptr %544, align 4, !tbaa !5
  %4204 = call ptr @s2n_strerror_debug(i32 noundef %4203, ptr noundef nonnull @.str.4) #12
  %4205 = load i32, ptr %598, align 4, !tbaa !5
  %4206 = call ptr @strerror(i32 noundef %4205) #12
  %4207 = load i32, ptr %598, align 4, !tbaa !5
  %4208 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4199, ptr noundef nonnull %.str.5.sink2564, i32 noundef %4200, ptr noundef nonnull @.str.42, ptr noundef nonnull @.str.1, i32 noundef 425, ptr noundef %4202, ptr noundef %4204, ptr noundef %4206, i32 noundef %4207) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4209:                                             ; preds = %4179
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %68) #12
  %4210 = call ptr @s2n_connection_new(i32 noundef 0) #12
  store ptr %4210, ptr %68, align 8, !tbaa !9
  %4211 = load i32, ptr @test_count, align 4, !tbaa !5
  %4212 = add nsw i32 %4211, 1
  store i32 %4212, ptr @test_count, align 4, !tbaa !5
  %4213 = icmp eq ptr %4210, null
  br i1 %4213, label %4214, label %4236

4214:                                             ; preds = %4209
  %4215 = load i32, ptr %598, align 4, !tbaa !5
  %4216 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4217 = call i32 @s2n_print_stacktrace(ptr noundef %4216) #12
  %4218 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4219 = trunc nuw i8 %4218 to i1
  br i1 %4219, label %4220, label %4224

4220:                                             ; preds = %4214
  %4221 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4222 = call i32 @fileno(ptr noundef %4221) #12
  %4223 = call i32 @isatty(i32 noundef %4222) #12
  %.not1120 = icmp eq i32 %4223, 0
  br i1 %.not1120, label %4224, label %4225

4224:                                             ; preds = %4220, %4214
  br label %4225

4225:                                             ; preds = %4220, %4224
  %.str.5.sink2573 = phi ptr [ @.str.5, %4224 ], [ @.str.2, %4220 ]
  store i32 %4215, ptr %598, align 4, !tbaa !5
  %4226 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4227 = load i32, ptr @test_count, align 4, !tbaa !5
  %4228 = load i32, ptr %544, align 4, !tbaa !5
  %4229 = call ptr @s2n_strerror(i32 noundef %4228, ptr noundef nonnull @.str.4) #12
  %4230 = load i32, ptr %544, align 4, !tbaa !5
  %4231 = call ptr @s2n_strerror_debug(i32 noundef %4230, ptr noundef nonnull @.str.4) #12
  %4232 = load i32, ptr %598, align 4, !tbaa !5
  %4233 = call ptr @strerror(i32 noundef %4232) #12
  %4234 = load i32, ptr %598, align 4, !tbaa !5
  %4235 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4226, ptr noundef nonnull %.str.5.sink2573, i32 noundef %4227, ptr noundef nonnull @.str.43, ptr noundef nonnull @.str.1, i32 noundef 428, ptr noundef %4229, ptr noundef %4231, ptr noundef %4233, i32 noundef %4234) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4236:                                             ; preds = %4209
  %4237 = add nsw i32 %4211, 2
  store i32 %4237, ptr @test_count, align 4, !tbaa !5
  %4238 = load ptr, ptr %67, align 8, !tbaa !9
  %4239 = call i32 @s2n_connection_set_config(ptr noundef %4238, ptr noundef %367) #12
  %4240 = icmp eq i32 %4239, -1
  br i1 %4240, label %4241, label %4263

4241:                                             ; preds = %4236
  %4242 = load i32, ptr %598, align 4, !tbaa !5
  %4243 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4244 = call i32 @s2n_print_stacktrace(ptr noundef %4243) #12
  %4245 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4246 = trunc nuw i8 %4245 to i1
  br i1 %4246, label %4247, label %4251

4247:                                             ; preds = %4241
  %4248 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4249 = call i32 @fileno(ptr noundef %4248) #12
  %4250 = call i32 @isatty(i32 noundef %4249) #12
  %.not1119 = icmp eq i32 %4250, 0
  br i1 %.not1119, label %4251, label %4252

4251:                                             ; preds = %4247, %4241
  br label %4252

4252:                                             ; preds = %4247, %4251
  %.str.5.sink2582 = phi ptr [ @.str.5, %4251 ], [ @.str.2, %4247 ]
  store i32 %4242, ptr %598, align 4, !tbaa !5
  %4253 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4254 = load i32, ptr @test_count, align 4, !tbaa !5
  %4255 = load i32, ptr %544, align 4, !tbaa !5
  %4256 = call ptr @s2n_strerror(i32 noundef %4255, ptr noundef nonnull @.str.4) #12
  %4257 = load i32, ptr %544, align 4, !tbaa !5
  %4258 = call ptr @s2n_strerror_debug(i32 noundef %4257, ptr noundef nonnull @.str.4) #12
  %4259 = load i32, ptr %598, align 4, !tbaa !5
  %4260 = call ptr @strerror(i32 noundef %4259) #12
  %4261 = load i32, ptr %598, align 4, !tbaa !5
  %4262 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4253, ptr noundef nonnull %.str.5.sink2582, i32 noundef %4254, ptr noundef nonnull @.str.75, ptr noundef nonnull @.str.1, i32 noundef 430, ptr noundef %4256, ptr noundef %4258, ptr noundef %4260, i32 noundef %4261) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4263:                                             ; preds = %4236
  %4264 = load i32, ptr @test_count, align 4, !tbaa !5
  %4265 = add nsw i32 %4264, 1
  store i32 %4265, ptr @test_count, align 4, !tbaa !5
  %4266 = load ptr, ptr %68, align 8, !tbaa !9
  %4267 = call i32 @s2n_connection_set_config(ptr noundef %4266, ptr noundef %367) #12
  %4268 = icmp eq i32 %4267, -1
  br i1 %4268, label %4269, label %4291

4269:                                             ; preds = %4263
  %4270 = load i32, ptr %598, align 4, !tbaa !5
  %4271 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4272 = call i32 @s2n_print_stacktrace(ptr noundef %4271) #12
  %4273 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4274 = trunc nuw i8 %4273 to i1
  br i1 %4274, label %4275, label %4279

4275:                                             ; preds = %4269
  %4276 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4277 = call i32 @fileno(ptr noundef %4276) #12
  %4278 = call i32 @isatty(i32 noundef %4277) #12
  %.not1118 = icmp eq i32 %4278, 0
  br i1 %.not1118, label %4279, label %4280

4279:                                             ; preds = %4275, %4269
  br label %4280

4280:                                             ; preds = %4275, %4279
  %.str.5.sink2591 = phi ptr [ @.str.5, %4279 ], [ @.str.2, %4275 ]
  store i32 %4270, ptr %598, align 4, !tbaa !5
  %4281 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4282 = load i32, ptr @test_count, align 4, !tbaa !5
  %4283 = load i32, ptr %544, align 4, !tbaa !5
  %4284 = call ptr @s2n_strerror(i32 noundef %4283, ptr noundef nonnull @.str.4) #12
  %4285 = load i32, ptr %544, align 4, !tbaa !5
  %4286 = call ptr @s2n_strerror_debug(i32 noundef %4285, ptr noundef nonnull @.str.4) #12
  %4287 = load i32, ptr %598, align 4, !tbaa !5
  %4288 = call ptr @strerror(i32 noundef %4287) #12
  %4289 = load i32, ptr %598, align 4, !tbaa !5
  %4290 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4281, ptr noundef nonnull %.str.5.sink2591, i32 noundef %4282, ptr noundef nonnull @.str.76, ptr noundef nonnull @.str.1, i32 noundef 431, ptr noundef %4284, ptr noundef %4286, ptr noundef %4288, i32 noundef %4289) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4291:                                             ; preds = %4263
  call void @llvm.lifetime.start.p0(i64 80, ptr nonnull %69) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(80) %69, i8 0, i64 80, i1 false)
  %4292 = load i32, ptr @test_count, align 4, !tbaa !5
  %4293 = add nsw i32 %4292, 1
  store i32 %4293, ptr @test_count, align 4, !tbaa !5
  %4294 = call i32 @s2n_io_stuffer_pair_init(ptr noundef nonnull %69) #12
  %4295 = call zeroext i1 @s2n_result_is_ok(i32 %4294)
  br i1 %4295, label %4318, label %4296

4296:                                             ; preds = %4291
  %4297 = load i32, ptr %598, align 4, !tbaa !5
  %4298 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4299 = call i32 @s2n_print_stacktrace(ptr noundef %4298) #12
  %4300 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4301 = trunc nuw i8 %4300 to i1
  br i1 %4301, label %4302, label %4306

4302:                                             ; preds = %4296
  %4303 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4304 = call i32 @fileno(ptr noundef %4303) #12
  %4305 = call i32 @isatty(i32 noundef %4304) #12
  %.not921 = icmp eq i32 %4305, 0
  br i1 %.not921, label %4306, label %4307

4306:                                             ; preds = %4302, %4296
  br label %4307

4307:                                             ; preds = %4302, %4306
  %.str.5.sink2600 = phi ptr [ @.str.5, %4306 ], [ @.str.2, %4302 ]
  store i32 %4297, ptr %598, align 4, !tbaa !5
  %4308 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4309 = load i32, ptr @test_count, align 4, !tbaa !5
  %4310 = load i32, ptr %544, align 4, !tbaa !5
  %4311 = call ptr @s2n_strerror(i32 noundef %4310, ptr noundef nonnull @.str.4) #12
  %4312 = load i32, ptr %544, align 4, !tbaa !5
  %4313 = call ptr @s2n_strerror_debug(i32 noundef %4312, ptr noundef nonnull @.str.4) #12
  %4314 = load i32, ptr %598, align 4, !tbaa !5
  %4315 = call ptr @strerror(i32 noundef %4314) #12
  %4316 = load i32, ptr %598, align 4, !tbaa !5
  %4317 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4308, ptr noundef nonnull %.str.5.sink2600, i32 noundef %4309, ptr noundef nonnull @.str.46, ptr noundef nonnull @.str.1, i32 noundef 434, ptr noundef %4311, ptr noundef %4313, ptr noundef %4315, i32 noundef %4316) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4318:                                             ; preds = %4291
  %4319 = load i32, ptr @test_count, align 4, !tbaa !5
  %4320 = add nsw i32 %4319, 1
  store i32 %4320, ptr @test_count, align 4, !tbaa !5
  %4321 = load ptr, ptr %67, align 8, !tbaa !9
  %4322 = load ptr, ptr %68, align 8, !tbaa !9
  %4323 = call i32 @s2n_connections_set_io_stuffer_pair(ptr noundef %4321, ptr noundef %4322, ptr noundef nonnull %69) #12
  %4324 = call zeroext i1 @s2n_result_is_ok(i32 %4323)
  br i1 %4324, label %4347, label %4325

4325:                                             ; preds = %4318
  %4326 = load i32, ptr %598, align 4, !tbaa !5
  %4327 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4328 = call i32 @s2n_print_stacktrace(ptr noundef %4327) #12
  %4329 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4330 = trunc nuw i8 %4329 to i1
  br i1 %4330, label %4331, label %4335

4331:                                             ; preds = %4325
  %4332 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4333 = call i32 @fileno(ptr noundef %4332) #12
  %4334 = call i32 @isatty(i32 noundef %4333) #12
  %.not922 = icmp eq i32 %4334, 0
  br i1 %.not922, label %4335, label %4336

4335:                                             ; preds = %4331, %4325
  br label %4336

4336:                                             ; preds = %4331, %4335
  %.str.5.sink2609 = phi ptr [ @.str.5, %4335 ], [ @.str.2, %4331 ]
  store i32 %4326, ptr %598, align 4, !tbaa !5
  %4337 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4338 = load i32, ptr @test_count, align 4, !tbaa !5
  %4339 = load i32, ptr %544, align 4, !tbaa !5
  %4340 = call ptr @s2n_strerror(i32 noundef %4339, ptr noundef nonnull @.str.4) #12
  %4341 = load i32, ptr %544, align 4, !tbaa !5
  %4342 = call ptr @s2n_strerror_debug(i32 noundef %4341, ptr noundef nonnull @.str.4) #12
  %4343 = load i32, ptr %598, align 4, !tbaa !5
  %4344 = call ptr @strerror(i32 noundef %4343) #12
  %4345 = load i32, ptr %598, align 4, !tbaa !5
  %4346 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4337, ptr noundef nonnull %.str.5.sink2609, i32 noundef %4338, ptr noundef nonnull @.str.47, ptr noundef nonnull @.str.1, i32 noundef 435, ptr noundef %4340, ptr noundef %4342, ptr noundef %4344, i32 noundef %4345) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4347:                                             ; preds = %4318
  %4348 = load i32, ptr @test_count, align 4, !tbaa !5
  %4349 = add nsw i32 %4348, 1
  store i32 %4349, ptr @test_count, align 4, !tbaa !5
  %4350 = load ptr, ptr %68, align 8, !tbaa !9
  %4351 = load ptr, ptr %67, align 8, !tbaa !9
  %4352 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %4350, ptr noundef %4351) #12
  %4353 = icmp eq i32 %4352, -1
  br i1 %4353, label %4354, label %4376

4354:                                             ; preds = %4347
  %4355 = load i32, ptr %598, align 4, !tbaa !5
  %4356 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4357 = call i32 @s2n_print_stacktrace(ptr noundef %4356) #12
  %4358 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4359 = trunc nuw i8 %4358 to i1
  br i1 %4359, label %4360, label %4364

4360:                                             ; preds = %4354
  %4361 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4362 = call i32 @fileno(ptr noundef %4361) #12
  %4363 = call i32 @isatty(i32 noundef %4362) #12
  %.not1117 = icmp eq i32 %4363, 0
  br i1 %.not1117, label %4364, label %4365

4364:                                             ; preds = %4360, %4354
  br label %4365

4365:                                             ; preds = %4360, %4364
  %.str.5.sink2618 = phi ptr [ @.str.5, %4364 ], [ @.str.2, %4360 ]
  store i32 %4355, ptr %598, align 4, !tbaa !5
  %4366 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4367 = load i32, ptr @test_count, align 4, !tbaa !5
  %4368 = load i32, ptr %544, align 4, !tbaa !5
  %4369 = call ptr @s2n_strerror(i32 noundef %4368, ptr noundef nonnull @.str.4) #12
  %4370 = load i32, ptr %544, align 4, !tbaa !5
  %4371 = call ptr @s2n_strerror_debug(i32 noundef %4370, ptr noundef nonnull @.str.4) #12
  %4372 = load i32, ptr %598, align 4, !tbaa !5
  %4373 = call ptr @strerror(i32 noundef %4372) #12
  %4374 = load i32, ptr %598, align 4, !tbaa !5
  %4375 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4366, ptr noundef nonnull %.str.5.sink2618, i32 noundef %4367, ptr noundef nonnull @.str.48, ptr noundef nonnull @.str.1, i32 noundef 437, ptr noundef %4369, ptr noundef %4371, ptr noundef %4373, i32 noundef %4374) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4376:                                             ; preds = %4347
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %70) #12
  store i32 0, ptr %70, align 4, !tbaa !5
  %4377 = load i32, ptr @test_count, align 4, !tbaa !5
  %4378 = add nsw i32 %4377, 1
  store i32 %4378, ptr @test_count, align 4, !tbaa !5
  %4379 = load ptr, ptr %68, align 8, !tbaa !9
  %4380 = call i32 @s2n_shutdown_send(ptr noundef %4379, ptr noundef nonnull %70) #12
  %4381 = icmp eq i32 %4380, -1
  br i1 %4381, label %4382, label %4404

4382:                                             ; preds = %4376
  %4383 = load i32, ptr %598, align 4, !tbaa !5
  %4384 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4385 = call i32 @s2n_print_stacktrace(ptr noundef %4384) #12
  %4386 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4387 = trunc nuw i8 %4386 to i1
  br i1 %4387, label %4388, label %4392

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

4392:                                             ; preds = %4388, %4382
  br label %4393

4393:                                             ; preds = %4388, %4392
  %.str.5.sink2627 = phi ptr [ @.str.5, %4392 ], [ @.str.2, %4388 ]
  store i32 %4383, ptr %598, align 4, !tbaa !5
  %4394 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4395 = load i32, ptr @test_count, align 4, !tbaa !5
  %4396 = load i32, ptr %544, align 4, !tbaa !5
  %4397 = call ptr @s2n_strerror(i32 noundef %4396, ptr noundef nonnull @.str.4) #12
  %4398 = load i32, ptr %544, align 4, !tbaa !5
  %4399 = call ptr @s2n_strerror_debug(i32 noundef %4398, ptr noundef nonnull @.str.4) #12
  %4400 = load i32, ptr %598, align 4, !tbaa !5
  %4401 = call ptr @strerror(i32 noundef %4400) #12
  %4402 = load i32, ptr %598, align 4, !tbaa !5
  %4403 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4394, ptr noundef nonnull %.str.5.sink2627, i32 noundef %4395, ptr noundef nonnull @.str.92, ptr noundef nonnull @.str.1, i32 noundef 440, ptr noundef %4397, ptr noundef %4399, ptr noundef %4401, i32 noundef %4402) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4404:                                             ; preds = %4376
  call void @llvm.lifetime.start.p0(i64 142, ptr nonnull %71) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(142) %71, i8 0, i64 142, i1 false)
  %4405 = load i32, ptr @test_count, align 4, !tbaa !5
  %4406 = add nsw i32 %4405, 1
  store i32 %4406, ptr @test_count, align 4, !tbaa !5
  %4407 = load ptr, ptr %68, align 8, !tbaa !9
  %4408 = call i32 @s2n_connection_serialize(ptr noundef %4407, ptr noundef nonnull %71, i32 noundef 142) #12
  %4409 = icmp eq i32 %4408, -1
  br i1 %4409, label %4432, label %4410

4410:                                             ; preds = %4404
  %4411 = load i32, ptr %598, align 4, !tbaa !5
  %4412 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4413 = call i32 @s2n_print_stacktrace(ptr noundef %4412) #12
  %4414 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4415 = trunc nuw i8 %4414 to i1
  br i1 %4415, label %4416, label %4420

4416:                                             ; preds = %4410
  %4417 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4418 = call i32 @fileno(ptr noundef %4417) #12
  %4419 = call i32 @isatty(i32 noundef %4418) #12
  %.not923 = icmp eq i32 %4419, 0
  br i1 %.not923, label %4420, label %4421

4420:                                             ; preds = %4416, %4410
  br label %4421

4421:                                             ; preds = %4416, %4420
  %.str.5.sink2636 = phi ptr [ @.str.5, %4420 ], [ @.str.2, %4416 ]
  store i32 %4411, ptr %598, align 4, !tbaa !5
  %4422 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4423 = load i32, ptr @test_count, align 4, !tbaa !5
  %4424 = load i32, ptr %544, align 4, !tbaa !5
  %4425 = call ptr @s2n_strerror(i32 noundef %4424, ptr noundef nonnull @.str.4) #12
  %4426 = load i32, ptr %544, align 4, !tbaa !5
  %4427 = call ptr @s2n_strerror_debug(i32 noundef %4426, ptr noundef nonnull @.str.4) #12
  %4428 = load i32, ptr %598, align 4, !tbaa !5
  %4429 = call ptr @strerror(i32 noundef %4428) #12
  %4430 = load i32, ptr %598, align 4, !tbaa !5
  %4431 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4422, ptr noundef nonnull %.str.5.sink2636, i32 noundef %4423, ptr noundef nonnull @.str.87, ptr noundef nonnull @.str.1, i32 noundef 444, ptr noundef %4425, ptr noundef %4427, ptr noundef %4429, i32 noundef %4430) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4432:                                             ; preds = %4404
  %4433 = load i32, ptr @test_count, align 4, !tbaa !5
  %4434 = add nsw i32 %4433, 1
  store i32 %4434, ptr @test_count, align 4, !tbaa !5
  %4435 = load i32, ptr %544, align 4, !tbaa !5
  %4436 = icmp eq i32 %4435, 134217728
  br i1 %4436, label %4459, label %4437

4437:                                             ; preds = %4432
  %4438 = load i32, ptr %598, align 4, !tbaa !5
  %4439 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4440 = call i32 @s2n_print_stacktrace(ptr noundef %4439) #12
  %4441 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4442 = trunc nuw i8 %4441 to i1
  br i1 %4442, label %4443, label %4447

4443:                                             ; preds = %4437
  %4444 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4445 = call i32 @fileno(ptr noundef %4444) #12
  %4446 = call i32 @isatty(i32 noundef %4445) #12
  %.not924 = icmp eq i32 %4446, 0
  br i1 %.not924, label %4447, label %4448

4447:                                             ; preds = %4443, %4437
  br label %4448

4448:                                             ; preds = %4443, %4447
  %.str.5.sink2645 = phi ptr [ @.str.5, %4447 ], [ @.str.2, %4443 ]
  store i32 %4438, ptr %598, align 4, !tbaa !5
  %4449 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4450 = load i32, ptr @test_count, align 4, !tbaa !5
  %4451 = load i32, ptr %544, align 4, !tbaa !5
  %4452 = call ptr @s2n_strerror(i32 noundef %4451, ptr noundef nonnull @.str.4) #12
  %4453 = load i32, ptr %544, align 4, !tbaa !5
  %4454 = call ptr @s2n_strerror_debug(i32 noundef %4453, ptr noundef nonnull @.str.4) #12
  %4455 = load i32, ptr %598, align 4, !tbaa !5
  %4456 = call ptr @strerror(i32 noundef %4455) #12
  %4457 = load i32, ptr %598, align 4, !tbaa !5
  %4458 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4449, ptr noundef nonnull %.str.5.sink2645, i32 noundef %4450, ptr noundef nonnull @.str.90, ptr noundef nonnull @.str.1, i32 noundef 444, ptr noundef %4452, ptr noundef %4454, ptr noundef %4456, i32 noundef %4457) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4459:                                             ; preds = %4432
  %4460 = add nsw i32 %4433, 2
  store i32 %4460, ptr @test_count, align 4, !tbaa !5
  %4461 = call ptr @s2n_strerror_debug(i32 noundef 134217728, ptr noundef nonnull @.str.4) #12
  %4462 = icmp eq ptr %4461, null
  br i1 %4462, label %4463, label %4485

4463:                                             ; preds = %4459
  %4464 = load i32, ptr %598, align 4, !tbaa !5
  %4465 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4466 = call i32 @s2n_print_stacktrace(ptr noundef %4465) #12
  %4467 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4468 = trunc nuw i8 %4467 to i1
  br i1 %4468, label %4469, label %4473

4469:                                             ; preds = %4463
  %4470 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4471 = call i32 @fileno(ptr noundef %4470) #12
  %4472 = call i32 @isatty(i32 noundef %4471) #12
  %.not1115 = icmp eq i32 %4472, 0
  br i1 %.not1115, label %4473, label %4474

4473:                                             ; preds = %4469, %4463
  br label %4474

4474:                                             ; preds = %4469, %4473
  %.str.5.sink2654 = phi ptr [ @.str.5, %4473 ], [ @.str.2, %4469 ]
  store i32 %4464, ptr %598, align 4, !tbaa !5
  %4475 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4476 = load i32, ptr @test_count, align 4, !tbaa !5
  %4477 = load i32, ptr %544, align 4, !tbaa !5
  %4478 = call ptr @s2n_strerror(i32 noundef %4477, ptr noundef nonnull @.str.4) #12
  %4479 = load i32, ptr %544, align 4, !tbaa !5
  %4480 = call ptr @s2n_strerror_debug(i32 noundef %4479, ptr noundef nonnull @.str.4) #12
  %4481 = load i32, ptr %598, align 4, !tbaa !5
  %4482 = call ptr @strerror(i32 noundef %4481) #12
  %4483 = load i32, ptr %598, align 4, !tbaa !5
  %4484 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4475, ptr noundef nonnull %.str.5.sink2654, i32 noundef %4476, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 444, ptr noundef %4478, ptr noundef %4480, ptr noundef %4482, i32 noundef %4483) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4485:                                             ; preds = %4459
  store i32 0, ptr %544, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %598, align 4, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 142, ptr nonnull %71) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %70) #12
  %4486 = call i32 @s2n_io_stuffer_pair_free(ptr noundef nonnull %69) #12
  call void @llvm.lifetime.end.p0(i64 80, ptr nonnull %69) #12
  %4487 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %68) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %68) #12
  %4488 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %67) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %67) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %72) #12
  %4489 = call ptr @s2n_connection_new(i32 noundef 1) #12
  store ptr %4489, ptr %72, align 8, !tbaa !9
  %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 = icmp eq ptr %4489, null
  br i1 %4492, label %4493, label %4515

4493:                                             ; preds = %4485
  %4494 = load i32, ptr %598, align 4, !tbaa !5
  %4495 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4496 = call i32 @s2n_print_stacktrace(ptr noundef %4495) #12
  %4497 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4498 = trunc nuw i8 %4497 to i1
  br i1 %4498, label %4499, label %4503

4499:                                             ; preds = %4493
  %4500 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4501 = call i32 @fileno(ptr noundef %4500) #12
  %4502 = call i32 @isatty(i32 noundef %4501) #12
  %.not1114 = icmp eq i32 %4502, 0
  br i1 %.not1114, label %4503, label %4504

4503:                                             ; preds = %4499, %4493
  br label %4504

4504:                                             ; preds = %4499, %4503
  %.str.5.sink2663 = phi ptr [ @.str.5, %4503 ], [ @.str.2, %4499 ]
  store i32 %4494, ptr %598, align 4, !tbaa !5
  %4505 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4506 = load i32, ptr @test_count, align 4, !tbaa !5
  %4507 = load i32, ptr %544, align 4, !tbaa !5
  %4508 = call ptr @s2n_strerror(i32 noundef %4507, ptr noundef nonnull @.str.4) #12
  %4509 = load i32, ptr %544, align 4, !tbaa !5
  %4510 = call ptr @s2n_strerror_debug(i32 noundef %4509, ptr noundef nonnull @.str.4) #12
  %4511 = load i32, ptr %598, align 4, !tbaa !5
  %4512 = call ptr @strerror(i32 noundef %4511) #12
  %4513 = load i32, ptr %598, align 4, !tbaa !5
  %4514 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4505, ptr noundef nonnull %.str.5.sink2663, i32 noundef %4506, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 454, ptr noundef %4508, ptr noundef %4510, ptr noundef %4512, i32 noundef %4513) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4515:                                             ; preds = %4485
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %73) #12
  store i8 0, ptr %73, align 1, !tbaa !51
  %4516 = add nsw i32 %4490, 2
  store i32 %4516, ptr @test_count, align 4, !tbaa !5
  %4517 = call i32 @s2n_connection_deserialize(ptr noundef null, ptr noundef nonnull %73, i32 noundef 0) #12
  %4518 = icmp eq i32 %4517, -1
  br i1 %4518, label %4541, label %4519

4519:                                             ; preds = %4515
  %4520 = load i32, ptr %598, align 4, !tbaa !5
  %4521 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4522 = call i32 @s2n_print_stacktrace(ptr noundef %4521) #12
  %4523 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4524 = trunc nuw i8 %4523 to i1
  br i1 %4524, label %4525, label %4529

4525:                                             ; preds = %4519
  %4526 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4527 = call i32 @fileno(ptr noundef %4526) #12
  %4528 = call i32 @isatty(i32 noundef %4527) #12
  %.not925 = icmp eq i32 %4528, 0
  br i1 %.not925, label %4529, label %4530

4529:                                             ; preds = %4525, %4519
  br label %4530

4530:                                             ; preds = %4525, %4529
  %.str.5.sink2672 = phi ptr [ @.str.5, %4529 ], [ @.str.2, %4525 ]
  store i32 %4520, ptr %598, align 4, !tbaa !5
  %4531 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4532 = load i32, ptr @test_count, align 4, !tbaa !5
  %4533 = load i32, ptr %544, align 4, !tbaa !5
  %4534 = call ptr @s2n_strerror(i32 noundef %4533, ptr noundef nonnull @.str.4) #12
  %4535 = load i32, ptr %544, align 4, !tbaa !5
  %4536 = call ptr @s2n_strerror_debug(i32 noundef %4535, ptr noundef nonnull @.str.4) #12
  %4537 = load i32, ptr %598, align 4, !tbaa !5
  %4538 = call ptr @strerror(i32 noundef %4537) #12
  %4539 = load i32, ptr %598, align 4, !tbaa !5
  %4540 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4531, ptr noundef nonnull %.str.5.sink2672, i32 noundef %4532, ptr noundef nonnull @.str.95, ptr noundef nonnull @.str.1, i32 noundef 457, ptr noundef %4534, ptr noundef %4536, ptr noundef %4538, i32 noundef %4539) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4541:                                             ; preds = %4515
  %4542 = load i32, ptr @test_count, align 4, !tbaa !5
  %4543 = add nsw i32 %4542, 1
  store i32 %4543, ptr @test_count, align 4, !tbaa !5
  %4544 = load i32, ptr %544, align 4, !tbaa !5
  %4545 = icmp eq i32 %4544, 402653193
  br i1 %4545, label %4568, label %4546

4546:                                             ; preds = %4541
  %4547 = load i32, ptr %598, align 4, !tbaa !5
  %4548 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4549 = call i32 @s2n_print_stacktrace(ptr noundef %4548) #12
  %4550 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4551 = trunc nuw i8 %4550 to i1
  br i1 %4551, label %4552, label %4556

4552:                                             ; preds = %4546
  %4553 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4554 = call i32 @fileno(ptr noundef %4553) #12
  %4555 = call i32 @isatty(i32 noundef %4554) #12
  %.not926 = icmp eq i32 %4555, 0
  br i1 %.not926, label %4556, label %4557

4556:                                             ; preds = %4552, %4546
  br label %4557

4557:                                             ; preds = %4552, %4556
  %.str.5.sink2681 = phi ptr [ @.str.5, %4556 ], [ @.str.2, %4552 ]
  store i32 %4547, ptr %598, align 4, !tbaa !5
  %4558 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4559 = load i32, ptr @test_count, align 4, !tbaa !5
  %4560 = load i32, ptr %544, align 4, !tbaa !5
  %4561 = call ptr @s2n_strerror(i32 noundef %4560, ptr noundef nonnull @.str.4) #12
  %4562 = load i32, ptr %544, align 4, !tbaa !5
  %4563 = call ptr @s2n_strerror_debug(i32 noundef %4562, ptr noundef nonnull @.str.4) #12
  %4564 = load i32, ptr %598, align 4, !tbaa !5
  %4565 = call ptr @strerror(i32 noundef %4564) #12
  %4566 = load i32, ptr %598, align 4, !tbaa !5
  %4567 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4558, ptr noundef nonnull %.str.5.sink2681, i32 noundef %4559, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.1, i32 noundef 457, ptr noundef %4561, ptr noundef %4563, ptr noundef %4565, i32 noundef %4566) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4568:                                             ; preds = %4541
  %4569 = add nsw i32 %4542, 2
  store i32 %4569, ptr @test_count, align 4, !tbaa !5
  %4570 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.4) #12
  %4571 = icmp eq ptr %4570, null
  br i1 %4571, label %4572, label %4594

4572:                                             ; preds = %4568
  %4573 = load i32, ptr %598, align 4, !tbaa !5
  %4574 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4575 = call i32 @s2n_print_stacktrace(ptr noundef %4574) #12
  %4576 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4577 = trunc nuw i8 %4576 to i1
  br i1 %4577, label %4578, label %4582

4578:                                             ; preds = %4572
  %4579 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4580 = call i32 @fileno(ptr noundef %4579) #12
  %4581 = call i32 @isatty(i32 noundef %4580) #12
  %.not1113 = icmp eq i32 %4581, 0
  br i1 %.not1113, label %4582, label %4583

4582:                                             ; preds = %4578, %4572
  br label %4583

4583:                                             ; preds = %4578, %4582
  %.str.5.sink2690 = phi ptr [ @.str.5, %4582 ], [ @.str.2, %4578 ]
  store i32 %4573, ptr %598, align 4, !tbaa !5
  %4584 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4585 = load i32, ptr @test_count, align 4, !tbaa !5
  %4586 = load i32, ptr %544, align 4, !tbaa !5
  %4587 = call ptr @s2n_strerror(i32 noundef %4586, ptr noundef nonnull @.str.4) #12
  %4588 = load i32, ptr %544, align 4, !tbaa !5
  %4589 = call ptr @s2n_strerror_debug(i32 noundef %4588, ptr noundef nonnull @.str.4) #12
  %4590 = load i32, ptr %598, align 4, !tbaa !5
  %4591 = call ptr @strerror(i32 noundef %4590) #12
  %4592 = load i32, ptr %598, align 4, !tbaa !5
  %4593 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4584, ptr noundef nonnull %.str.5.sink2690, i32 noundef %4585, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 457, ptr noundef %4587, ptr noundef %4589, ptr noundef %4591, i32 noundef %4592) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4594:                                             ; preds = %4568
  store i32 0, ptr %544, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %598, align 4, !tbaa !5
  %4595 = load i32, ptr @test_count, align 4, !tbaa !5
  %4596 = add nsw i32 %4595, 1
  store i32 %4596, ptr @test_count, align 4, !tbaa !5
  %4597 = load ptr, ptr %72, align 8, !tbaa !9
  %4598 = call i32 @s2n_connection_deserialize(ptr noundef %4597, ptr noundef null, i32 noundef 0) #12
  %4599 = icmp eq i32 %4598, -1
  br i1 %4599, label %4622, label %4600

4600:                                             ; preds = %4594
  %4601 = load i32, ptr %598, align 4, !tbaa !5
  %4602 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4603 = call i32 @s2n_print_stacktrace(ptr noundef %4602) #12
  %4604 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4605 = trunc nuw i8 %4604 to i1
  br i1 %4605, label %4606, label %4610

4606:                                             ; preds = %4600
  %4607 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4608 = call i32 @fileno(ptr noundef %4607) #12
  %4609 = call i32 @isatty(i32 noundef %4608) #12
  %.not927 = icmp eq i32 %4609, 0
  br i1 %.not927, label %4610, label %4611

4610:                                             ; preds = %4606, %4600
  br label %4611

4611:                                             ; preds = %4606, %4610
  %.str.5.sink2699 = phi ptr [ @.str.5, %4610 ], [ @.str.2, %4606 ]
  store i32 %4601, ptr %598, align 4, !tbaa !5
  %4612 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4613 = load i32, ptr @test_count, align 4, !tbaa !5
  %4614 = load i32, ptr %544, align 4, !tbaa !5
  %4615 = call ptr @s2n_strerror(i32 noundef %4614, ptr noundef nonnull @.str.4) #12
  %4616 = load i32, ptr %544, align 4, !tbaa !5
  %4617 = call ptr @s2n_strerror_debug(i32 noundef %4616, ptr noundef nonnull @.str.4) #12
  %4618 = load i32, ptr %598, align 4, !tbaa !5
  %4619 = call ptr @strerror(i32 noundef %4618) #12
  %4620 = load i32, ptr %598, align 4, !tbaa !5
  %4621 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4612, ptr noundef nonnull %.str.5.sink2699, i32 noundef %4613, ptr noundef nonnull @.str.96, ptr noundef nonnull @.str.1, i32 noundef 458, ptr noundef %4615, ptr noundef %4617, ptr noundef %4619, i32 noundef %4620) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4622:                                             ; preds = %4594
  %4623 = load i32, ptr @test_count, align 4, !tbaa !5
  %4624 = add nsw i32 %4623, 1
  store i32 %4624, ptr @test_count, align 4, !tbaa !5
  %4625 = load i32, ptr %544, align 4, !tbaa !5
  %4626 = icmp eq i32 %4625, 402653193
  br i1 %4626, label %4649, label %4627

4627:                                             ; preds = %4622
  %4628 = load i32, ptr %598, align 4, !tbaa !5
  %4629 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4630 = call i32 @s2n_print_stacktrace(ptr noundef %4629) #12
  %4631 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4632 = trunc nuw i8 %4631 to i1
  br i1 %4632, label %4633, label %4637

4633:                                             ; preds = %4627
  %4634 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4635 = call i32 @fileno(ptr noundef %4634) #12
  %4636 = call i32 @isatty(i32 noundef %4635) #12
  %.not928 = icmp eq i32 %4636, 0
  br i1 %.not928, label %4637, label %4638

4637:                                             ; preds = %4633, %4627
  br label %4638

4638:                                             ; preds = %4633, %4637
  %.str.5.sink2708 = phi ptr [ @.str.5, %4637 ], [ @.str.2, %4633 ]
  store i32 %4628, ptr %598, align 4, !tbaa !5
  %4639 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4640 = load i32, ptr @test_count, align 4, !tbaa !5
  %4641 = load i32, ptr %544, align 4, !tbaa !5
  %4642 = call ptr @s2n_strerror(i32 noundef %4641, ptr noundef nonnull @.str.4) #12
  %4643 = load i32, ptr %544, align 4, !tbaa !5
  %4644 = call ptr @s2n_strerror_debug(i32 noundef %4643, ptr noundef nonnull @.str.4) #12
  %4645 = load i32, ptr %598, align 4, !tbaa !5
  %4646 = call ptr @strerror(i32 noundef %4645) #12
  %4647 = load i32, ptr %598, align 4, !tbaa !5
  %4648 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4639, ptr noundef nonnull %.str.5.sink2708, i32 noundef %4640, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.1, i32 noundef 458, ptr noundef %4642, ptr noundef %4644, ptr noundef %4646, i32 noundef %4647) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4649:                                             ; preds = %4622
  %4650 = add nsw i32 %4623, 2
  store i32 %4650, ptr @test_count, align 4, !tbaa !5
  %4651 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.4) #12
  %4652 = icmp eq ptr %4651, null
  br i1 %4652, label %4653, label %4675

4653:                                             ; preds = %4649
  %4654 = load i32, ptr %598, align 4, !tbaa !5
  %4655 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4656 = call i32 @s2n_print_stacktrace(ptr noundef %4655) #12
  %4657 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4658 = trunc nuw i8 %4657 to i1
  br i1 %4658, label %4659, label %4663

4659:                                             ; preds = %4653
  %4660 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4661 = call i32 @fileno(ptr noundef %4660) #12
  %4662 = call i32 @isatty(i32 noundef %4661) #12
  %.not1112 = icmp eq i32 %4662, 0
  br i1 %.not1112, label %4663, label %4664

4663:                                             ; preds = %4659, %4653
  br label %4664

4664:                                             ; preds = %4659, %4663
  %.str.5.sink2717 = phi ptr [ @.str.5, %4663 ], [ @.str.2, %4659 ]
  store i32 %4654, ptr %598, align 4, !tbaa !5
  %4665 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4666 = load i32, ptr @test_count, align 4, !tbaa !5
  %4667 = load i32, ptr %544, align 4, !tbaa !5
  %4668 = call ptr @s2n_strerror(i32 noundef %4667, ptr noundef nonnull @.str.4) #12
  %4669 = load i32, ptr %544, align 4, !tbaa !5
  %4670 = call ptr @s2n_strerror_debug(i32 noundef %4669, ptr noundef nonnull @.str.4) #12
  %4671 = load i32, ptr %598, align 4, !tbaa !5
  %4672 = call ptr @strerror(i32 noundef %4671) #12
  %4673 = load i32, ptr %598, align 4, !tbaa !5
  %4674 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4665, ptr noundef nonnull %.str.5.sink2717, i32 noundef %4666, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 458, ptr noundef %4668, ptr noundef %4670, ptr noundef %4672, i32 noundef %4673) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4675:                                             ; preds = %4649
  store i32 0, ptr %544, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %598, align 4, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %73) #12
  %4676 = 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 126, ptr nonnull %74) #12
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(126) %74, ptr noundef nonnull align 16 dereferenceable(126) @__const.main.test_context, i64 126, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %75) #12
  %4677 = call ptr @s2n_connection_new(i32 noundef 1) #12
  store ptr %4677, ptr %75, align 8, !tbaa !9
  %4678 = load i32, ptr @test_count, align 4, !tbaa !5
  %4679 = add nsw i32 %4678, 1
  store i32 %4679, ptr @test_count, align 4, !tbaa !5
  %4680 = icmp eq ptr %4677, null
  br i1 %4680, label %4681, label %4703

4681:                                             ; preds = %4675
  %4682 = load i32, ptr %598, 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
  %.not1111 = icmp eq i32 %4690, 0
  br i1 %.not1111, label %4691, label %4692

4691:                                             ; preds = %4687, %4681
  br label %4692

4692:                                             ; preds = %4687, %4691
  %.str.5.sink2726 = phi ptr [ @.str.5, %4691 ], [ @.str.2, %4687 ]
  store i32 %4682, ptr %598, 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 %544, align 4, !tbaa !5
  %4696 = call ptr @s2n_strerror(i32 noundef %4695, ptr noundef nonnull @.str.4) #12
  %4697 = load i32, ptr %544, align 4, !tbaa !5
  %4698 = call ptr @s2n_strerror_debug(i32 noundef %4697, ptr noundef nonnull @.str.4) #12
  %4699 = load i32, ptr %598, align 4, !tbaa !5
  %4700 = call ptr @strerror(i32 noundef %4699) #12
  %4701 = load i32, ptr %598, align 4, !tbaa !5
  %4702 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4693, ptr noundef nonnull %.str.5.sink2726, i32 noundef %4694, ptr noundef nonnull @.str.42, ptr noundef nonnull @.str.1, i32 noundef 477, ptr noundef %4696, ptr noundef %4698, ptr noundef %4700, i32 noundef %4701) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4703:                                             ; preds = %4675
  %4704 = add nsw i32 %4678, 2
  store i32 %4704, ptr @test_count, align 4, !tbaa !5
  %4705 = call i32 @s2n_connection_deserialize(ptr noundef nonnull %4677, ptr noundef nonnull %74, i32 noundef 126) #12
  %4706 = icmp eq i32 %4705, -1
  br i1 %4706, label %4729, label %4707

4707:                                             ; preds = %4703
  %4708 = load i32, ptr %598, align 4, !tbaa !5
  %4709 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4710 = call i32 @s2n_print_stacktrace(ptr noundef %4709) #12
  %4711 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4712 = trunc nuw i8 %4711 to i1
  br i1 %4712, label %4713, label %4717

4713:                                             ; preds = %4707
  %4714 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4715 = call i32 @fileno(ptr noundef %4714) #12
  %4716 = call i32 @isatty(i32 noundef %4715) #12
  %.not929 = icmp eq i32 %4716, 0
  br i1 %.not929, label %4717, label %4718

4717:                                             ; preds = %4713, %4707
  br label %4718

4718:                                             ; preds = %4713, %4717
  %.str.5.sink2735 = phi ptr [ @.str.5, %4717 ], [ @.str.2, %4713 ]
  store i32 %4708, ptr %598, align 4, !tbaa !5
  %4719 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4720 = load i32, ptr @test_count, align 4, !tbaa !5
  %4721 = load i32, ptr %544, align 4, !tbaa !5
  %4722 = call ptr @s2n_strerror(i32 noundef %4721, ptr noundef nonnull @.str.4) #12
  %4723 = load i32, ptr %544, align 4, !tbaa !5
  %4724 = call ptr @s2n_strerror_debug(i32 noundef %4723, ptr noundef nonnull @.str.4) #12
  %4725 = load i32, ptr %598, align 4, !tbaa !5
  %4726 = call ptr @strerror(i32 noundef %4725) #12
  %4727 = load i32, ptr %598, align 4, !tbaa !5
  %4728 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4719, ptr noundef nonnull %.str.5.sink2735, i32 noundef %4720, ptr noundef nonnull @.str.97, ptr noundef nonnull @.str.1, i32 noundef 480, ptr noundef %4722, ptr noundef %4724, ptr noundef %4726, i32 noundef %4727) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4729:                                             ; preds = %4703
  %4730 = load i32, ptr @test_count, align 4, !tbaa !5
  %4731 = add nsw i32 %4730, 1
  store i32 %4731, ptr @test_count, align 4, !tbaa !5
  %4732 = load i32, ptr %544, align 4, !tbaa !5
  %4733 = icmp eq i32 %4732, 469762134
  br i1 %4733, label %4756, label %4734

4734:                                             ; preds = %4729
  %4735 = load i32, ptr %598, align 4, !tbaa !5
  %4736 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4737 = call i32 @s2n_print_stacktrace(ptr noundef %4736) #12
  %4738 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4739 = trunc nuw i8 %4738 to i1
  br i1 %4739, label %4740, label %4744

4740:                                             ; preds = %4734
  %4741 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4742 = call i32 @fileno(ptr noundef %4741) #12
  %4743 = call i32 @isatty(i32 noundef %4742) #12
  %.not930 = icmp eq i32 %4743, 0
  br i1 %.not930, label %4744, label %4745

4744:                                             ; preds = %4740, %4734
  br label %4745

4745:                                             ; preds = %4740, %4744
  %.str.5.sink2744 = phi ptr [ @.str.5, %4744 ], [ @.str.2, %4740 ]
  store i32 %4735, ptr %598, align 4, !tbaa !5
  %4746 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4747 = load i32, ptr @test_count, align 4, !tbaa !5
  %4748 = load i32, ptr %544, align 4, !tbaa !5
  %4749 = call ptr @s2n_strerror(i32 noundef %4748, ptr noundef nonnull @.str.4) #12
  %4750 = load i32, ptr %544, align 4, !tbaa !5
  %4751 = call ptr @s2n_strerror_debug(i32 noundef %4750, ptr noundef nonnull @.str.4) #12
  %4752 = load i32, ptr %598, align 4, !tbaa !5
  %4753 = call ptr @strerror(i32 noundef %4752) #12
  %4754 = load i32, ptr %598, align 4, !tbaa !5
  %4755 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4746, ptr noundef nonnull %.str.5.sink2744, i32 noundef %4747, ptr noundef nonnull @.str.98, ptr noundef nonnull @.str.1, i32 noundef 480, ptr noundef %4749, ptr noundef %4751, ptr noundef %4753, i32 noundef %4754) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4756:                                             ; preds = %4729
  %4757 = add nsw i32 %4730, 2
  store i32 %4757, ptr @test_count, align 4, !tbaa !5
  %4758 = call ptr @s2n_strerror_debug(i32 noundef 469762134, ptr noundef nonnull @.str.4) #12
  %4759 = icmp eq ptr %4758, null
  br i1 %4759, label %4760, label %4782

4760:                                             ; preds = %4756
  %4761 = load i32, ptr %598, align 4, !tbaa !5
  %4762 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4763 = call i32 @s2n_print_stacktrace(ptr noundef %4762) #12
  %4764 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4765 = trunc nuw i8 %4764 to i1
  br i1 %4765, label %4766, label %4770

4766:                                             ; preds = %4760
  %4767 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4768 = call i32 @fileno(ptr noundef %4767) #12
  %4769 = call i32 @isatty(i32 noundef %4768) #12
  %.not1110 = icmp eq i32 %4769, 0
  br i1 %.not1110, label %4770, label %4771

4770:                                             ; preds = %4766, %4760
  br label %4771

4771:                                             ; preds = %4766, %4770
  %.str.5.sink2753 = phi ptr [ @.str.5, %4770 ], [ @.str.2, %4766 ]
  store i32 %4761, ptr %598, align 4, !tbaa !5
  %4772 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4773 = load i32, ptr @test_count, align 4, !tbaa !5
  %4774 = load i32, ptr %544, align 4, !tbaa !5
  %4775 = call ptr @s2n_strerror(i32 noundef %4774, ptr noundef nonnull @.str.4) #12
  %4776 = load i32, ptr %544, align 4, !tbaa !5
  %4777 = call ptr @s2n_strerror_debug(i32 noundef %4776, ptr noundef nonnull @.str.4) #12
  %4778 = load i32, ptr %598, align 4, !tbaa !5
  %4779 = call ptr @strerror(i32 noundef %4778) #12
  %4780 = load i32, ptr %598, align 4, !tbaa !5
  %4781 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4772, ptr noundef nonnull %.str.5.sink2753, i32 noundef %4773, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 480, ptr noundef %4775, ptr noundef %4777, ptr noundef %4779, i32 noundef %4780) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4782:                                             ; preds = %4756
  store i32 0, ptr %544, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %598, align 4, !tbaa !5
  %4783 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %75) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %75) #12
  call void @llvm.lifetime.end.p0(i64 126, ptr nonnull %74) #12
  call void @llvm.lifetime.start.p0(i64 126, ptr nonnull %76) #12
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(126) %76, ptr noundef nonnull align 16 dereferenceable(126) @__const.main.test_context.99, i64 126, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %77) #12
  %4784 = call ptr @s2n_connection_new(i32 noundef 1) #12
  store ptr %4784, ptr %77, align 8, !tbaa !9
  %4785 = load i32, ptr @test_count, align 4, !tbaa !5
  %4786 = add nsw i32 %4785, 1
  store i32 %4786, ptr @test_count, align 4, !tbaa !5
  %4787 = icmp eq ptr %4784, null
  br i1 %4787, label %4788, label %4810

4788:                                             ; preds = %4782
  %4789 = load i32, ptr %598, align 4, !tbaa !5
  %4790 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4791 = call i32 @s2n_print_stacktrace(ptr noundef %4790) #12
  %4792 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4793 = trunc nuw i8 %4792 to i1
  br i1 %4793, label %4794, label %4798

4794:                                             ; preds = %4788
  %4795 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4796 = call i32 @fileno(ptr noundef %4795) #12
  %4797 = call i32 @isatty(i32 noundef %4796) #12
  %.not1109 = icmp eq i32 %4797, 0
  br i1 %.not1109, label %4798, label %4799

4798:                                             ; preds = %4794, %4788
  br label %4799

4799:                                             ; preds = %4794, %4798
  %.str.5.sink2762 = phi ptr [ @.str.5, %4798 ], [ @.str.2, %4794 ]
  store i32 %4789, ptr %598, align 4, !tbaa !5
  %4800 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4801 = load i32, ptr @test_count, align 4, !tbaa !5
  %4802 = load i32, ptr %544, align 4, !tbaa !5
  %4803 = call ptr @s2n_strerror(i32 noundef %4802, ptr noundef nonnull @.str.4) #12
  %4804 = load i32, ptr %544, align 4, !tbaa !5
  %4805 = call ptr @s2n_strerror_debug(i32 noundef %4804, ptr noundef nonnull @.str.4) #12
  %4806 = load i32, ptr %598, align 4, !tbaa !5
  %4807 = call ptr @strerror(i32 noundef %4806) #12
  %4808 = load i32, ptr %598, align 4, !tbaa !5
  %4809 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4800, ptr noundef nonnull %.str.5.sink2762, i32 noundef %4801, ptr noundef nonnull @.str.42, ptr noundef nonnull @.str.1, i32 noundef 499, ptr noundef %4803, ptr noundef %4805, ptr noundef %4807, i32 noundef %4808) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4810:                                             ; preds = %4782
  %4811 = add nsw i32 %4785, 2
  store i32 %4811, ptr @test_count, align 4, !tbaa !5
  %4812 = call i32 @s2n_connection_deserialize(ptr noundef nonnull %4784, ptr noundef nonnull %76, i32 noundef 126) #12
  %4813 = icmp eq i32 %4812, -1
  br i1 %4813, label %4814, label %4836

4814:                                             ; preds = %4810
  %4815 = load i32, ptr %598, align 4, !tbaa !5
  %4816 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4817 = call i32 @s2n_print_stacktrace(ptr noundef %4816) #12
  %4818 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4819 = trunc nuw i8 %4818 to i1
  br i1 %4819, label %4820, label %4824

4820:                                             ; preds = %4814
  %4821 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4822 = call i32 @fileno(ptr noundef %4821) #12
  %4823 = call i32 @isatty(i32 noundef %4822) #12
  %.not1108 = icmp eq i32 %4823, 0
  br i1 %.not1108, label %4824, label %4825

4824:                                             ; preds = %4820, %4814
  br label %4825

4825:                                             ; preds = %4820, %4824
  %.str.5.sink2771 = phi ptr [ @.str.5, %4824 ], [ @.str.2, %4820 ]
  store i32 %4815, ptr %598, align 4, !tbaa !5
  %4826 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4827 = load i32, ptr @test_count, align 4, !tbaa !5
  %4828 = load i32, ptr %544, align 4, !tbaa !5
  %4829 = call ptr @s2n_strerror(i32 noundef %4828, ptr noundef nonnull @.str.4) #12
  %4830 = load i32, ptr %544, align 4, !tbaa !5
  %4831 = call ptr @s2n_strerror_debug(i32 noundef %4830, ptr noundef nonnull @.str.4) #12
  %4832 = load i32, ptr %598, align 4, !tbaa !5
  %4833 = call ptr @strerror(i32 noundef %4832) #12
  %4834 = load i32, ptr %598, align 4, !tbaa !5
  %4835 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4826, ptr noundef nonnull %.str.5.sink2771, i32 noundef %4827, ptr noundef nonnull @.str.100, ptr noundef nonnull @.str.1, i32 noundef 501, ptr noundef %4829, ptr noundef %4831, ptr noundef %4833, i32 noundef %4834) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4836:                                             ; preds = %4810
  %4837 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %77) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %77) #12
  call void @llvm.lifetime.end.p0(i64 126, ptr nonnull %76) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %.sroa.0)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %.sroa.5)
  store ptr %249, ptr %.sroa.0, align 16, !tbaa !9
  store ptr %367, ptr %.sroa.5, align 8, !tbaa !9
  %4838 = getelementptr inbounds i8, ptr %80, i64 40
  br label %4840

.preheader1213:                                   ; preds = %5260
  %4839 = getelementptr inbounds i8, ptr %85, i64 40
  br label %5328

4840:                                             ; preds = %4836, %5260
  %4841 = phi i1 [ true, %4836 ], [ false, %5260 ]
  %.08491217.sroa.phi = phi ptr [ %.sroa.0, %4836 ], [ %.sroa.5, %5260 ]
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %78) #12
  %4842 = call ptr @s2n_connection_new(i32 noundef 1) #12
  store ptr %4842, ptr %78, align 8, !tbaa !9
  %4843 = load i32, ptr @test_count, align 4, !tbaa !5
  %4844 = add nsw i32 %4843, 1
  store i32 %4844, ptr @test_count, align 4, !tbaa !5
  %4845 = icmp eq ptr %4842, null
  br i1 %4845, label %4846, label %4868

4846:                                             ; preds = %4840
  %4847 = load i32, ptr %598, align 4, !tbaa !5
  %4848 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4849 = call i32 @s2n_print_stacktrace(ptr noundef %4848) #12
  %4850 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4851 = trunc nuw i8 %4850 to i1
  br i1 %4851, label %4852, label %4856

4852:                                             ; preds = %4846
  %4853 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4854 = call i32 @fileno(ptr noundef %4853) #12
  %4855 = call i32 @isatty(i32 noundef %4854) #12
  %.not1107 = icmp eq i32 %4855, 0
  br i1 %.not1107, label %4856, label %4857

4856:                                             ; preds = %4852, %4846
  br label %4857

4857:                                             ; preds = %4852, %4856
  %.str.5.sink2780 = phi ptr [ @.str.5, %4856 ], [ @.str.2, %4852 ]
  store i32 %4847, ptr %598, align 4, !tbaa !5
  %4858 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4859 = load i32, ptr @test_count, align 4, !tbaa !5
  %4860 = load i32, ptr %544, align 4, !tbaa !5
  %4861 = call ptr @s2n_strerror(i32 noundef %4860, ptr noundef nonnull @.str.4) #12
  %4862 = load i32, ptr %544, align 4, !tbaa !5
  %4863 = call ptr @s2n_strerror_debug(i32 noundef %4862, ptr noundef nonnull @.str.4) #12
  %4864 = load i32, ptr %598, align 4, !tbaa !5
  %4865 = call ptr @strerror(i32 noundef %4864) #12
  %4866 = load i32, ptr %598, align 4, !tbaa !5
  %4867 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4858, ptr noundef nonnull %.str.5.sink2780, i32 noundef %4859, ptr noundef nonnull @.str.42, ptr noundef nonnull @.str.1, i32 noundef 512, ptr noundef %4861, ptr noundef %4863, ptr noundef %4865, i32 noundef %4866) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4868:                                             ; preds = %4840
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %79) #12
  %4869 = call ptr @s2n_connection_new(i32 noundef 0) #12
  store ptr %4869, ptr %79, align 8, !tbaa !9
  %4870 = load i32, ptr @test_count, align 4, !tbaa !5
  %4871 = add nsw i32 %4870, 1
  store i32 %4871, ptr @test_count, align 4, !tbaa !5
  %4872 = icmp eq ptr %4869, null
  br i1 %4872, label %4873, label %4895

4873:                                             ; preds = %4868
  %4874 = load i32, ptr %598, align 4, !tbaa !5
  %4875 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4876 = call i32 @s2n_print_stacktrace(ptr noundef %4875) #12
  %4877 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4878 = trunc nuw i8 %4877 to i1
  br i1 %4878, label %4879, label %4883

4879:                                             ; preds = %4873
  %4880 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4881 = call i32 @fileno(ptr noundef %4880) #12
  %4882 = call i32 @isatty(i32 noundef %4881) #12
  %.not1106 = icmp eq i32 %4882, 0
  br i1 %.not1106, label %4883, label %4884

4883:                                             ; preds = %4879, %4873
  br label %4884

4884:                                             ; preds = %4879, %4883
  %.str.5.sink2789 = phi ptr [ @.str.5, %4883 ], [ @.str.2, %4879 ]
  store i32 %4874, ptr %598, align 4, !tbaa !5
  %4885 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4886 = load i32, ptr @test_count, align 4, !tbaa !5
  %4887 = load i32, ptr %544, align 4, !tbaa !5
  %4888 = call ptr @s2n_strerror(i32 noundef %4887, ptr noundef nonnull @.str.4) #12
  %4889 = load i32, ptr %544, align 4, !tbaa !5
  %4890 = call ptr @s2n_strerror_debug(i32 noundef %4889, ptr noundef nonnull @.str.4) #12
  %4891 = load i32, ptr %598, align 4, !tbaa !5
  %4892 = call ptr @strerror(i32 noundef %4891) #12
  %4893 = load i32, ptr %598, align 4, !tbaa !5
  %4894 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4885, ptr noundef nonnull %.str.5.sink2789, i32 noundef %4886, ptr noundef nonnull @.str.43, ptr noundef nonnull @.str.1, i32 noundef 515, ptr noundef %4888, ptr noundef %4890, ptr noundef %4892, i32 noundef %4893) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4895:                                             ; preds = %4868
  %4896 = add nsw i32 %4870, 2
  store i32 %4896, ptr @test_count, align 4, !tbaa !5
  %4897 = load ptr, ptr %78, align 8, !tbaa !9
  %4898 = load ptr, ptr %.08491217.sroa.phi, align 8, !tbaa !9
  %4899 = call i32 @s2n_connection_set_config(ptr noundef %4897, ptr noundef %4898) #12
  %4900 = icmp eq i32 %4899, -1
  br i1 %4900, label %4901, label %4923

4901:                                             ; preds = %4895
  %4902 = load i32, ptr %598, align 4, !tbaa !5
  %4903 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4904 = call i32 @s2n_print_stacktrace(ptr noundef %4903) #12
  %4905 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4906 = trunc nuw i8 %4905 to i1
  br i1 %4906, label %4907, label %4911

4907:                                             ; preds = %4901
  %4908 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4909 = call i32 @fileno(ptr noundef %4908) #12
  %4910 = call i32 @isatty(i32 noundef %4909) #12
  %.not1105 = icmp eq i32 %4910, 0
  br i1 %.not1105, label %4911, label %4912

4911:                                             ; preds = %4907, %4901
  br label %4912

4912:                                             ; preds = %4907, %4911
  %.str.5.sink2798 = phi ptr [ @.str.5, %4911 ], [ @.str.2, %4907 ]
  store i32 %4902, ptr %598, align 4, !tbaa !5
  %4913 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4914 = load i32, ptr @test_count, align 4, !tbaa !5
  %4915 = load i32, ptr %544, align 4, !tbaa !5
  %4916 = call ptr @s2n_strerror(i32 noundef %4915, ptr noundef nonnull @.str.4) #12
  %4917 = load i32, ptr %544, align 4, !tbaa !5
  %4918 = call ptr @s2n_strerror_debug(i32 noundef %4917, ptr noundef nonnull @.str.4) #12
  %4919 = load i32, ptr %598, align 4, !tbaa !5
  %4920 = call ptr @strerror(i32 noundef %4919) #12
  %4921 = load i32, ptr %598, align 4, !tbaa !5
  %4922 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4913, ptr noundef nonnull %.str.5.sink2798, i32 noundef %4914, ptr noundef nonnull @.str.101, ptr noundef nonnull @.str.1, i32 noundef 517, ptr noundef %4916, ptr noundef %4918, ptr noundef %4920, i32 noundef %4921) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4923:                                             ; preds = %4895
  %4924 = load i32, ptr @test_count, align 4, !tbaa !5
  %4925 = add nsw i32 %4924, 1
  store i32 %4925, ptr @test_count, align 4, !tbaa !5
  %4926 = load ptr, ptr %79, align 8, !tbaa !9
  %4927 = call i32 @s2n_connection_set_config(ptr noundef %4926, ptr noundef %4898) #12
  %4928 = icmp eq i32 %4927, -1
  br i1 %4928, label %4929, label %4951

4929:                                             ; preds = %4923
  %4930 = load i32, ptr %598, align 4, !tbaa !5
  %4931 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4932 = call i32 @s2n_print_stacktrace(ptr noundef %4931) #12
  %4933 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4934 = trunc nuw i8 %4933 to i1
  br i1 %4934, label %4935, label %4939

4935:                                             ; preds = %4929
  %4936 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4937 = call i32 @fileno(ptr noundef %4936) #12
  %4938 = call i32 @isatty(i32 noundef %4937) #12
  %.not1104 = icmp eq i32 %4938, 0
  br i1 %.not1104, label %4939, label %4940

4939:                                             ; preds = %4935, %4929
  br label %4940

4940:                                             ; preds = %4935, %4939
  %.str.5.sink2807 = phi ptr [ @.str.5, %4939 ], [ @.str.2, %4935 ]
  store i32 %4930, ptr %598, align 4, !tbaa !5
  %4941 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4942 = load i32, ptr @test_count, align 4, !tbaa !5
  %4943 = load i32, ptr %544, align 4, !tbaa !5
  %4944 = call ptr @s2n_strerror(i32 noundef %4943, ptr noundef nonnull @.str.4) #12
  %4945 = load i32, ptr %544, align 4, !tbaa !5
  %4946 = call ptr @s2n_strerror_debug(i32 noundef %4945, ptr noundef nonnull @.str.4) #12
  %4947 = load i32, ptr %598, align 4, !tbaa !5
  %4948 = call ptr @strerror(i32 noundef %4947) #12
  %4949 = load i32, ptr %598, align 4, !tbaa !5
  %4950 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4941, ptr noundef nonnull %.str.5.sink2807, i32 noundef %4942, ptr noundef nonnull @.str.102, ptr noundef nonnull @.str.1, i32 noundef 518, ptr noundef %4944, ptr noundef %4946, ptr noundef %4948, i32 noundef %4949) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4951:                                             ; preds = %4923
  call void @llvm.lifetime.start.p0(i64 80, ptr nonnull %80) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(80) %80, i8 0, i64 80, i1 false)
  %4952 = load i32, ptr @test_count, align 4, !tbaa !5
  %4953 = add nsw i32 %4952, 1
  store i32 %4953, ptr @test_count, align 4, !tbaa !5
  %4954 = call i32 @s2n_io_stuffer_pair_init(ptr noundef nonnull %80) #12
  %4955 = call zeroext i1 @s2n_result_is_ok(i32 %4954)
  br i1 %4955, label %4978, label %4956

4956:                                             ; preds = %4951
  %4957 = load i32, ptr %598, align 4, !tbaa !5
  %4958 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4959 = call i32 @s2n_print_stacktrace(ptr noundef %4958) #12
  %4960 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4961 = trunc nuw i8 %4960 to i1
  br i1 %4961, label %4962, label %4966

4962:                                             ; preds = %4956
  %4963 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4964 = call i32 @fileno(ptr noundef %4963) #12
  %4965 = call i32 @isatty(i32 noundef %4964) #12
  %.not1091 = icmp eq i32 %4965, 0
  br i1 %.not1091, label %4966, label %4967

4966:                                             ; preds = %4962, %4956
  br label %4967

4967:                                             ; preds = %4962, %4966
  %.str.5.sink2816 = phi ptr [ @.str.5, %4966 ], [ @.str.2, %4962 ]
  store i32 %4957, ptr %598, align 4, !tbaa !5
  %4968 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4969 = load i32, ptr @test_count, align 4, !tbaa !5
  %4970 = load i32, ptr %544, align 4, !tbaa !5
  %4971 = call ptr @s2n_strerror(i32 noundef %4970, ptr noundef nonnull @.str.4) #12
  %4972 = load i32, ptr %544, align 4, !tbaa !5
  %4973 = call ptr @s2n_strerror_debug(i32 noundef %4972, ptr noundef nonnull @.str.4) #12
  %4974 = load i32, ptr %598, align 4, !tbaa !5
  %4975 = call ptr @strerror(i32 noundef %4974) #12
  %4976 = load i32, ptr %598, align 4, !tbaa !5
  %4977 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4968, ptr noundef nonnull %.str.5.sink2816, i32 noundef %4969, ptr noundef nonnull @.str.46, ptr noundef nonnull @.str.1, i32 noundef 521, ptr noundef %4971, ptr noundef %4973, ptr noundef %4975, i32 noundef %4976) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4978:                                             ; preds = %4951
  %4979 = load i32, ptr @test_count, align 4, !tbaa !5
  %4980 = add nsw i32 %4979, 1
  store i32 %4980, ptr @test_count, align 4, !tbaa !5
  %4981 = load ptr, ptr %78, align 8, !tbaa !9
  %4982 = load ptr, ptr %79, align 8, !tbaa !9
  %4983 = call i32 @s2n_connections_set_io_stuffer_pair(ptr noundef %4981, ptr noundef %4982, ptr noundef nonnull %80) #12
  %4984 = call zeroext i1 @s2n_result_is_ok(i32 %4983)
  br i1 %4984, label %5007, label %4985

4985:                                             ; preds = %4978
  %4986 = load i32, ptr %598, align 4, !tbaa !5
  %4987 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4988 = call i32 @s2n_print_stacktrace(ptr noundef %4987) #12
  %4989 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4990 = trunc nuw i8 %4989 to i1
  br i1 %4990, label %4991, label %4995

4991:                                             ; preds = %4985
  %4992 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4993 = call i32 @fileno(ptr noundef %4992) #12
  %4994 = call i32 @isatty(i32 noundef %4993) #12
  %.not1092 = icmp eq i32 %4994, 0
  br i1 %.not1092, label %4995, label %4996

4995:                                             ; preds = %4991, %4985
  br label %4996

4996:                                             ; preds = %4991, %4995
  %.str.5.sink2825 = phi ptr [ @.str.5, %4995 ], [ @.str.2, %4991 ]
  store i32 %4986, ptr %598, align 4, !tbaa !5
  %4997 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4998 = load i32, ptr @test_count, align 4, !tbaa !5
  %4999 = load i32, ptr %544, align 4, !tbaa !5
  %5000 = call ptr @s2n_strerror(i32 noundef %4999, ptr noundef nonnull @.str.4) #12
  %5001 = load i32, ptr %544, align 4, !tbaa !5
  %5002 = call ptr @s2n_strerror_debug(i32 noundef %5001, ptr noundef nonnull @.str.4) #12
  %5003 = load i32, ptr %598, align 4, !tbaa !5
  %5004 = call ptr @strerror(i32 noundef %5003) #12
  %5005 = load i32, ptr %598, align 4, !tbaa !5
  %5006 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4997, ptr noundef nonnull %.str.5.sink2825, i32 noundef %4998, ptr noundef nonnull @.str.47, ptr noundef nonnull @.str.1, i32 noundef 522, ptr noundef %5000, ptr noundef %5002, ptr noundef %5004, i32 noundef %5005) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5007:                                             ; preds = %4978
  %5008 = load i32, ptr @test_count, align 4, !tbaa !5
  %5009 = add nsw i32 %5008, 1
  store i32 %5009, ptr @test_count, align 4, !tbaa !5
  %5010 = load ptr, ptr %79, align 8, !tbaa !9
  %5011 = load ptr, ptr %78, align 8, !tbaa !9
  %5012 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %5010, ptr noundef %5011) #12
  %5013 = icmp eq i32 %5012, -1
  br i1 %5013, label %5014, label %5036

5014:                                             ; preds = %5007
  %5015 = load i32, ptr %598, align 4, !tbaa !5
  %5016 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5017 = call i32 @s2n_print_stacktrace(ptr noundef %5016) #12
  %5018 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5019 = trunc nuw i8 %5018 to i1
  br i1 %5019, label %5020, label %5024

5020:                                             ; preds = %5014
  %5021 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5022 = call i32 @fileno(ptr noundef %5021) #12
  %5023 = call i32 @isatty(i32 noundef %5022) #12
  %.not1103 = icmp eq i32 %5023, 0
  br i1 %.not1103, label %5024, label %5025

5024:                                             ; preds = %5020, %5014
  br label %5025

5025:                                             ; preds = %5020, %5024
  %.str.5.sink2834 = phi ptr [ @.str.5, %5024 ], [ @.str.2, %5020 ]
  store i32 %5015, ptr %598, align 4, !tbaa !5
  %5026 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5027 = load i32, ptr @test_count, align 4, !tbaa !5
  %5028 = load i32, ptr %544, align 4, !tbaa !5
  %5029 = call ptr @s2n_strerror(i32 noundef %5028, ptr noundef nonnull @.str.4) #12
  %5030 = load i32, ptr %544, align 4, !tbaa !5
  %5031 = call ptr @s2n_strerror_debug(i32 noundef %5030, ptr noundef nonnull @.str.4) #12
  %5032 = load i32, ptr %598, align 4, !tbaa !5
  %5033 = call ptr @strerror(i32 noundef %5032) #12
  %5034 = load i32, ptr %598, align 4, !tbaa !5
  %5035 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5026, ptr noundef nonnull %.str.5.sink2834, i32 noundef %5027, ptr noundef nonnull @.str.48, ptr noundef nonnull @.str.1, i32 noundef 524, ptr noundef %5029, ptr noundef %5031, ptr noundef %5033, i32 noundef %5034) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5036:                                             ; preds = %5007
  %5037 = load i32, ptr @test_count, align 4, !tbaa !5
  %5038 = add nsw i32 %5037, 1
  store i32 %5038, ptr @test_count, align 4, !tbaa !5
  %5039 = load ptr, ptr %79, align 8, !tbaa !9
  %5040 = load ptr, ptr %78, align 8, !tbaa !9
  %5041 = call i32 @s2n_send_and_recv_test(ptr noundef %5039, ptr noundef %5040) #12
  %5042 = call zeroext i1 @s2n_result_is_ok(i32 %5041)
  br i1 %5042, label %5065, label %5043

5043:                                             ; preds = %5036
  %5044 = load i32, ptr %598, align 4, !tbaa !5
  %5045 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5046 = call i32 @s2n_print_stacktrace(ptr noundef %5045) #12
  %5047 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5048 = trunc nuw i8 %5047 to i1
  br i1 %5048, label %5049, label %5053

5049:                                             ; preds = %5043
  %5050 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5051 = call i32 @fileno(ptr noundef %5050) #12
  %5052 = call i32 @isatty(i32 noundef %5051) #12
  %.not1093 = icmp eq i32 %5052, 0
  br i1 %.not1093, label %5053, label %5054

5053:                                             ; preds = %5049, %5043
  br label %5054

5054:                                             ; preds = %5049, %5053
  %.str.5.sink2843 = phi ptr [ @.str.5, %5053 ], [ @.str.2, %5049 ]
  store i32 %5044, ptr %598, align 4, !tbaa !5
  %5055 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5056 = load i32, ptr @test_count, align 4, !tbaa !5
  %5057 = load i32, ptr %544, align 4, !tbaa !5
  %5058 = call ptr @s2n_strerror(i32 noundef %5057, ptr noundef nonnull @.str.4) #12
  %5059 = load i32, ptr %544, align 4, !tbaa !5
  %5060 = call ptr @s2n_strerror_debug(i32 noundef %5059, ptr noundef nonnull @.str.4) #12
  %5061 = load i32, ptr %598, align 4, !tbaa !5
  %5062 = call ptr @strerror(i32 noundef %5061) #12
  %5063 = load i32, ptr %598, align 4, !tbaa !5
  %5064 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5055, ptr noundef nonnull %.str.5.sink2843, i32 noundef %5056, ptr noundef nonnull @.str.103, ptr noundef nonnull @.str.1, i32 noundef 527, ptr noundef %5058, ptr noundef %5060, ptr noundef %5062, i32 noundef %5063) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5065:                                             ; preds = %5036
  %5066 = load i32, ptr @test_count, align 4, !tbaa !5
  %5067 = add nsw i32 %5066, 1
  store i32 %5067, ptr @test_count, align 4, !tbaa !5
  %5068 = load ptr, ptr %78, align 8, !tbaa !9
  %5069 = load ptr, ptr %79, align 8, !tbaa !9
  %5070 = call i32 @s2n_send_and_recv_test(ptr noundef %5068, ptr noundef %5069) #12
  %5071 = call zeroext i1 @s2n_result_is_ok(i32 %5070)
  br i1 %5071, label %5094, label %5072

5072:                                             ; preds = %5065
  %5073 = load i32, ptr %598, align 4, !tbaa !5
  %5074 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5075 = call i32 @s2n_print_stacktrace(ptr noundef %5074) #12
  %5076 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5077 = trunc nuw i8 %5076 to i1
  br i1 %5077, label %5078, label %5082

5078:                                             ; preds = %5072
  %5079 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5080 = call i32 @fileno(ptr noundef %5079) #12
  %5081 = call i32 @isatty(i32 noundef %5080) #12
  %.not1094 = icmp eq i32 %5081, 0
  br i1 %.not1094, label %5082, label %5083

5082:                                             ; preds = %5078, %5072
  br label %5083

5083:                                             ; preds = %5078, %5082
  %.str.5.sink2852 = phi ptr [ @.str.5, %5082 ], [ @.str.2, %5078 ]
  store i32 %5073, ptr %598, align 4, !tbaa !5
  %5084 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5085 = load i32, ptr @test_count, align 4, !tbaa !5
  %5086 = load i32, ptr %544, align 4, !tbaa !5
  %5087 = call ptr @s2n_strerror(i32 noundef %5086, ptr noundef nonnull @.str.4) #12
  %5088 = load i32, ptr %544, align 4, !tbaa !5
  %5089 = call ptr @s2n_strerror_debug(i32 noundef %5088, ptr noundef nonnull @.str.4) #12
  %5090 = load i32, ptr %598, align 4, !tbaa !5
  %5091 = call ptr @strerror(i32 noundef %5090) #12
  %5092 = load i32, ptr %598, align 4, !tbaa !5
  %5093 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5084, ptr noundef nonnull %.str.5.sink2852, i32 noundef %5085, ptr noundef nonnull @.str.104, ptr noundef nonnull @.str.1, i32 noundef 528, ptr noundef %5087, ptr noundef %5089, ptr noundef %5091, i32 noundef %5092) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5094:                                             ; preds = %5065
  call void @llvm.lifetime.start.p0(i64 142, ptr nonnull %81) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(142) %81, i8 0, i64 142, i1 false)
  %5095 = load i32, ptr @test_count, align 4, !tbaa !5
  %5096 = add nsw i32 %5095, 1
  store i32 %5096, ptr @test_count, align 4, !tbaa !5
  %5097 = load ptr, ptr %78, align 8, !tbaa !9
  %5098 = call i32 @s2n_connection_serialize(ptr noundef %5097, ptr noundef nonnull %81, i32 noundef 142) #12
  %5099 = icmp eq i32 %5098, -1
  br i1 %5099, label %5100, label %5122

5100:                                             ; preds = %5094
  %5101 = load i32, ptr %598, align 4, !tbaa !5
  %5102 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5103 = call i32 @s2n_print_stacktrace(ptr noundef %5102) #12
  %5104 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5105 = trunc nuw i8 %5104 to i1
  br i1 %5105, label %5106, label %5110

5106:                                             ; preds = %5100
  %5107 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5108 = call i32 @fileno(ptr noundef %5107) #12
  %5109 = call i32 @isatty(i32 noundef %5108) #12
  %.not1102 = icmp eq i32 %5109, 0
  br i1 %.not1102, label %5110, label %5111

5110:                                             ; preds = %5106, %5100
  br label %5111

5111:                                             ; preds = %5106, %5110
  %.str.5.sink2861 = phi ptr [ @.str.5, %5110 ], [ @.str.2, %5106 ]
  store i32 %5101, ptr %598, align 4, !tbaa !5
  %5112 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5113 = load i32, ptr @test_count, align 4, !tbaa !5
  %5114 = load i32, ptr %544, align 4, !tbaa !5
  %5115 = call ptr @s2n_strerror(i32 noundef %5114, ptr noundef nonnull @.str.4) #12
  %5116 = load i32, ptr %544, align 4, !tbaa !5
  %5117 = call ptr @s2n_strerror_debug(i32 noundef %5116, ptr noundef nonnull @.str.4) #12
  %5118 = load i32, ptr %598, align 4, !tbaa !5
  %5119 = call ptr @strerror(i32 noundef %5118) #12
  %5120 = load i32, ptr %598, align 4, !tbaa !5
  %5121 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5112, ptr noundef nonnull %.str.5.sink2861, i32 noundef %5113, ptr noundef nonnull @.str.105, ptr noundef nonnull @.str.1, i32 noundef 531, ptr noundef %5115, ptr noundef %5117, ptr noundef %5119, i32 noundef %5120) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5122:                                             ; preds = %5094
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %82) #12
  %5123 = call ptr @s2n_connection_new(i32 noundef 1) #12
  store ptr %5123, ptr %82, align 8, !tbaa !9
  %5124 = load i32, ptr @test_count, align 4, !tbaa !5
  %5125 = add nsw i32 %5124, 1
  store i32 %5125, ptr @test_count, align 4, !tbaa !5
  %5126 = icmp eq ptr %5123, null
  br i1 %5126, label %5127, label %5149

5127:                                             ; preds = %5122
  %5128 = load i32, ptr %598, align 4, !tbaa !5
  %5129 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5130 = call i32 @s2n_print_stacktrace(ptr noundef %5129) #12
  %5131 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5132 = trunc nuw i8 %5131 to i1
  br i1 %5132, label %5133, label %5137

5133:                                             ; preds = %5127
  %5134 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5135 = call i32 @fileno(ptr noundef %5134) #12
  %5136 = call i32 @isatty(i32 noundef %5135) #12
  %.not1101 = icmp eq i32 %5136, 0
  br i1 %.not1101, label %5137, label %5138

5137:                                             ; preds = %5133, %5127
  br label %5138

5138:                                             ; preds = %5133, %5137
  %.str.5.sink2870 = phi ptr [ @.str.5, %5137 ], [ @.str.2, %5133 ]
  store i32 %5128, ptr %598, align 4, !tbaa !5
  %5139 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5140 = load i32, ptr @test_count, align 4, !tbaa !5
  %5141 = load i32, ptr %544, align 4, !tbaa !5
  %5142 = call ptr @s2n_strerror(i32 noundef %5141, ptr noundef nonnull @.str.4) #12
  %5143 = load i32, ptr %544, align 4, !tbaa !5
  %5144 = call ptr @s2n_strerror_debug(i32 noundef %5143, ptr noundef nonnull @.str.4) #12
  %5145 = load i32, ptr %598, align 4, !tbaa !5
  %5146 = call ptr @strerror(i32 noundef %5145) #12
  %5147 = load i32, ptr %598, align 4, !tbaa !5
  %5148 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5139, ptr noundef nonnull %.str.5.sink2870, i32 noundef %5140, ptr noundef nonnull @.str.106, ptr noundef nonnull @.str.1, i32 noundef 536, ptr noundef %5142, ptr noundef %5144, ptr noundef %5146, i32 noundef %5147) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5149:                                             ; preds = %5122
  %5150 = add nsw i32 %5124, 2
  store i32 %5150, ptr @test_count, align 4, !tbaa !5
  %5151 = call i32 @s2n_connection_deserialize(ptr noundef nonnull %5123, ptr noundef nonnull %81, i32 noundef 142) #12
  %5152 = icmp eq i32 %5151, -1
  br i1 %5152, label %5153, label %5175

5153:                                             ; preds = %5149
  %5154 = load i32, ptr %598, align 4, !tbaa !5
  %5155 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5156 = call i32 @s2n_print_stacktrace(ptr noundef %5155) #12
  %5157 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5158 = trunc nuw i8 %5157 to i1
  br i1 %5158, label %5159, label %5163

5159:                                             ; preds = %5153
  %5160 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5161 = call i32 @fileno(ptr noundef %5160) #12
  %5162 = call i32 @isatty(i32 noundef %5161) #12
  %.not1100 = icmp eq i32 %5162, 0
  br i1 %.not1100, label %5163, label %5164

5163:                                             ; preds = %5159, %5153
  br label %5164

5164:                                             ; preds = %5159, %5163
  %.str.5.sink2879 = phi ptr [ @.str.5, %5163 ], [ @.str.2, %5159 ]
  store i32 %5154, ptr %598, align 4, !tbaa !5
  %5165 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5166 = load i32, ptr @test_count, align 4, !tbaa !5
  %5167 = load i32, ptr %544, align 4, !tbaa !5
  %5168 = call ptr @s2n_strerror(i32 noundef %5167, ptr noundef nonnull @.str.4) #12
  %5169 = load i32, ptr %544, align 4, !tbaa !5
  %5170 = call ptr @s2n_strerror_debug(i32 noundef %5169, ptr noundef nonnull @.str.4) #12
  %5171 = load i32, ptr %598, align 4, !tbaa !5
  %5172 = call ptr @strerror(i32 noundef %5171) #12
  %5173 = load i32, ptr %598, align 4, !tbaa !5
  %5174 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5165, ptr noundef nonnull %.str.5.sink2879, i32 noundef %5166, ptr noundef nonnull @.str.107, ptr noundef nonnull @.str.1, i32 noundef 537, ptr noundef %5168, ptr noundef %5170, ptr noundef %5172, i32 noundef %5173) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5175:                                             ; preds = %5149
  %5176 = load i32, ptr @test_count, align 4, !tbaa !5
  %5177 = add nsw i32 %5176, 1
  store i32 %5177, ptr @test_count, align 4, !tbaa !5
  %5178 = call i32 @s2n_stuffer_wipe(ptr noundef nonnull %80) #12
  %5179 = icmp eq i32 %5178, -1
  br i1 %5179, label %5180, label %5202

5180:                                             ; preds = %5175
  %5181 = load i32, ptr %598, align 4, !tbaa !5
  %5182 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5183 = call i32 @s2n_print_stacktrace(ptr noundef %5182) #12
  %5184 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5185 = trunc nuw i8 %5184 to i1
  br i1 %5185, label %5186, label %5190

5186:                                             ; preds = %5180
  %5187 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5188 = call i32 @fileno(ptr noundef %5187) #12
  %5189 = call i32 @isatty(i32 noundef %5188) #12
  %.not1099 = icmp eq i32 %5189, 0
  br i1 %.not1099, label %5190, label %5191

5190:                                             ; preds = %5186, %5180
  br label %5191

5191:                                             ; preds = %5186, %5190
  %.str.5.sink2888 = phi ptr [ @.str.5, %5190 ], [ @.str.2, %5186 ]
  store i32 %5181, ptr %598, align 4, !tbaa !5
  %5192 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5193 = load i32, ptr @test_count, align 4, !tbaa !5
  %5194 = load i32, ptr %544, align 4, !tbaa !5
  %5195 = call ptr @s2n_strerror(i32 noundef %5194, ptr noundef nonnull @.str.4) #12
  %5196 = load i32, ptr %544, align 4, !tbaa !5
  %5197 = call ptr @s2n_strerror_debug(i32 noundef %5196, ptr noundef nonnull @.str.4) #12
  %5198 = load i32, ptr %598, align 4, !tbaa !5
  %5199 = call ptr @strerror(i32 noundef %5198) #12
  %5200 = load i32, ptr %598, align 4, !tbaa !5
  %5201 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5192, ptr noundef nonnull %.str.5.sink2888, i32 noundef %5193, ptr noundef nonnull @.str.108, ptr noundef nonnull @.str.1, i32 noundef 540, ptr noundef %5195, ptr noundef %5197, ptr noundef %5199, i32 noundef %5200) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5202:                                             ; preds = %5175
  %5203 = load i32, ptr @test_count, align 4, !tbaa !5
  %5204 = add nsw i32 %5203, 1
  store i32 %5204, ptr @test_count, align 4, !tbaa !5
  %5205 = call i32 @s2n_stuffer_wipe(ptr noundef nonnull %4838) #12
  %5206 = icmp eq i32 %5205, -1
  br i1 %5206, label %5207, label %5229

5207:                                             ; preds = %5202
  %5208 = load i32, ptr %598, align 4, !tbaa !5
  %5209 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5210 = call i32 @s2n_print_stacktrace(ptr noundef %5209) #12
  %5211 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5212 = trunc nuw i8 %5211 to i1
  br i1 %5212, label %5213, label %5217

5213:                                             ; preds = %5207
  %5214 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5215 = call i32 @fileno(ptr noundef %5214) #12
  %5216 = call i32 @isatty(i32 noundef %5215) #12
  %.not1098 = icmp eq i32 %5216, 0
  br i1 %.not1098, label %5217, label %5218

5217:                                             ; preds = %5213, %5207
  br label %5218

5218:                                             ; preds = %5213, %5217
  %.str.5.sink2897 = phi ptr [ @.str.5, %5217 ], [ @.str.2, %5213 ]
  store i32 %5208, ptr %598, align 4, !tbaa !5
  %5219 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5220 = load i32, ptr @test_count, align 4, !tbaa !5
  %5221 = load i32, ptr %544, align 4, !tbaa !5
  %5222 = call ptr @s2n_strerror(i32 noundef %5221, ptr noundef nonnull @.str.4) #12
  %5223 = load i32, ptr %544, align 4, !tbaa !5
  %5224 = call ptr @s2n_strerror_debug(i32 noundef %5223, ptr noundef nonnull @.str.4) #12
  %5225 = load i32, ptr %598, align 4, !tbaa !5
  %5226 = call ptr @strerror(i32 noundef %5225) #12
  %5227 = load i32, ptr %598, align 4, !tbaa !5
  %5228 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5219, ptr noundef nonnull %.str.5.sink2897, i32 noundef %5220, ptr noundef nonnull @.str.109, ptr noundef nonnull @.str.1, i32 noundef 541, ptr noundef %5222, ptr noundef %5224, ptr noundef %5226, i32 noundef %5227) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5229:                                             ; preds = %5202
  %5230 = load i32, ptr @test_count, align 4, !tbaa !5
  %5231 = add nsw i32 %5230, 1
  store i32 %5231, ptr @test_count, align 4, !tbaa !5
  %5232 = load ptr, ptr %82, align 8, !tbaa !9
  %5233 = load ptr, ptr %79, align 8, !tbaa !9
  %5234 = call i32 @s2n_connections_set_io_stuffer_pair(ptr noundef %5232, ptr noundef %5233, ptr noundef nonnull %80) #12
  %5235 = call zeroext i1 @s2n_result_is_ok(i32 %5234)
  br i1 %5235, label %.preheader1214, label %5236

5236:                                             ; preds = %5229
  %5237 = load i32, ptr %598, align 4, !tbaa !5
  %5238 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5239 = call i32 @s2n_print_stacktrace(ptr noundef %5238) #12
  %5240 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5241 = trunc nuw i8 %5240 to i1
  br i1 %5241, label %5242, label %5246

5242:                                             ; preds = %5236
  %5243 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5244 = call i32 @fileno(ptr noundef %5243) #12
  %5245 = call i32 @isatty(i32 noundef %5244) #12
  %.not1095 = icmp eq i32 %5245, 0
  br i1 %.not1095, label %5246, label %5247

5246:                                             ; preds = %5242, %5236
  br label %5247

5247:                                             ; preds = %5242, %5246
  %.str.5.sink2906 = phi ptr [ @.str.5, %5246 ], [ @.str.2, %5242 ]
  store i32 %5237, ptr %598, align 4, !tbaa !5
  %5248 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5249 = load i32, ptr @test_count, align 4, !tbaa !5
  %5250 = load i32, ptr %544, align 4, !tbaa !5
  %5251 = call ptr @s2n_strerror(i32 noundef %5250, ptr noundef nonnull @.str.4) #12
  %5252 = load i32, ptr %544, align 4, !tbaa !5
  %5253 = call ptr @s2n_strerror_debug(i32 noundef %5252, ptr noundef nonnull @.str.4) #12
  %5254 = load i32, ptr %598, align 4, !tbaa !5
  %5255 = call ptr @strerror(i32 noundef %5254) #12
  %5256 = load i32, ptr %598, align 4, !tbaa !5
  %5257 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5248, ptr noundef nonnull %.str.5.sink2906, i32 noundef %5249, ptr noundef nonnull @.str.110, ptr noundef nonnull @.str.1, i32 noundef 542, ptr noundef %5251, ptr noundef %5253, ptr noundef %5255, i32 noundef %5256) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5258:                                             ; preds = %5293
  %5259 = add nuw nsw i64 %.08501216, 1
  %exitcond1221.not = icmp eq i64 %5259, 1000
  br i1 %exitcond1221.not, label %5260, label %.preheader1214, !llvm.loop !60

5260:                                             ; preds = %5258
  %5261 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %82) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %82) #12
  call void @llvm.lifetime.end.p0(i64 142, ptr nonnull %81) #12
  %5262 = call i32 @s2n_io_stuffer_pair_free(ptr noundef nonnull %80) #12
  call void @llvm.lifetime.end.p0(i64 80, ptr nonnull %80) #12
  %5263 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %79) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %79) #12
  %5264 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %78) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %78) #12
  br i1 %4841, label %4840, label %.preheader1213, !llvm.loop !61

.preheader1214:                                   ; preds = %5229, %5258
  %.08501216 = phi i64 [ %5259, %5258 ], [ 0, %5229 ]
  %5265 = load i32, ptr @test_count, align 4, !tbaa !5
  %5266 = add nsw i32 %5265, 1
  store i32 %5266, ptr @test_count, align 4, !tbaa !5
  %5267 = load ptr, ptr %79, align 8, !tbaa !9
  %5268 = load ptr, ptr %82, align 8, !tbaa !9
  %5269 = call i32 @s2n_send_and_recv_test(ptr noundef %5267, ptr noundef %5268) #12
  %5270 = call zeroext i1 @s2n_result_is_ok(i32 %5269)
  br i1 %5270, label %5293, label %5271

5271:                                             ; preds = %.preheader1214
  %5272 = load i32, ptr %598, align 4, !tbaa !5
  %5273 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5274 = call i32 @s2n_print_stacktrace(ptr noundef %5273) #12
  %5275 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5276 = trunc nuw i8 %5275 to i1
  br i1 %5276, label %5277, label %5281

5277:                                             ; preds = %5271
  %5278 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5279 = call i32 @fileno(ptr noundef %5278) #12
  %5280 = call i32 @isatty(i32 noundef %5279) #12
  %.not1096 = icmp eq i32 %5280, 0
  br i1 %.not1096, label %5281, label %5282

5281:                                             ; preds = %5277, %5271
  br label %5282

5282:                                             ; preds = %5277, %5281
  %.str.5.sink2915 = phi ptr [ @.str.5, %5281 ], [ @.str.2, %5277 ]
  store i32 %5272, ptr %598, align 4, !tbaa !5
  %5283 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5284 = load i32, ptr @test_count, align 4, !tbaa !5
  %5285 = load i32, ptr %544, align 4, !tbaa !5
  %5286 = call ptr @s2n_strerror(i32 noundef %5285, ptr noundef nonnull @.str.4) #12
  %5287 = load i32, ptr %544, align 4, !tbaa !5
  %5288 = call ptr @s2n_strerror_debug(i32 noundef %5287, ptr noundef nonnull @.str.4) #12
  %5289 = load i32, ptr %598, align 4, !tbaa !5
  %5290 = call ptr @strerror(i32 noundef %5289) #12
  %5291 = load i32, ptr %598, align 4, !tbaa !5
  %5292 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5283, ptr noundef nonnull %.str.5.sink2915, i32 noundef %5284, ptr noundef nonnull @.str.111, ptr noundef nonnull @.str.1, i32 noundef 546, ptr noundef %5286, ptr noundef %5288, ptr noundef %5290, i32 noundef %5291) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5293:                                             ; preds = %.preheader1214
  %5294 = load i32, ptr @test_count, align 4, !tbaa !5
  %5295 = add nsw i32 %5294, 1
  store i32 %5295, ptr @test_count, align 4, !tbaa !5
  %5296 = load ptr, ptr %82, align 8, !tbaa !9
  %5297 = load ptr, ptr %79, align 8, !tbaa !9
  %5298 = call i32 @s2n_send_and_recv_test(ptr noundef %5296, ptr noundef %5297) #12
  %5299 = call zeroext i1 @s2n_result_is_ok(i32 %5298)
  br i1 %5299, label %5258, label %5300

5300:                                             ; preds = %5293
  %5301 = load i32, ptr %598, align 4, !tbaa !5
  %5302 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5303 = call i32 @s2n_print_stacktrace(ptr noundef %5302) #12
  %5304 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5305 = trunc nuw i8 %5304 to i1
  br i1 %5305, label %5306, label %5310

5306:                                             ; preds = %5300
  %5307 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5308 = call i32 @fileno(ptr noundef %5307) #12
  %5309 = call i32 @isatty(i32 noundef %5308) #12
  %.not1097 = icmp eq i32 %5309, 0
  br i1 %.not1097, label %5310, label %5311

5310:                                             ; preds = %5306, %5300
  br label %5311

5311:                                             ; preds = %5306, %5310
  %.str.5.sink2924 = phi ptr [ @.str.5, %5310 ], [ @.str.2, %5306 ]
  store i32 %5301, ptr %598, align 4, !tbaa !5
  %5312 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5313 = load i32, ptr @test_count, align 4, !tbaa !5
  %5314 = load i32, ptr %544, align 4, !tbaa !5
  %5315 = call ptr @s2n_strerror(i32 noundef %5314, ptr noundef nonnull @.str.4) #12
  %5316 = load i32, ptr %544, align 4, !tbaa !5
  %5317 = call ptr @s2n_strerror_debug(i32 noundef %5316, ptr noundef nonnull @.str.4) #12
  %5318 = load i32, ptr %598, align 4, !tbaa !5
  %5319 = call ptr @strerror(i32 noundef %5318) #12
  %5320 = load i32, ptr %598, align 4, !tbaa !5
  %5321 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5312, ptr noundef nonnull %.str.5.sink2924, i32 noundef %5313, ptr noundef nonnull @.str.112, ptr noundef nonnull @.str.1, i32 noundef 547, ptr noundef %5315, ptr noundef %5317, ptr noundef %5319, i32 noundef %5320) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5322:                                             ; preds = %5748
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %88) #12
  %5323 = call ptr @s2n_config_new() #12
  store ptr %5323, ptr %88, align 8, !tbaa !9
  %5324 = load i32, ptr @test_count, align 4, !tbaa !5
  %5325 = add nsw i32 %5324, 1
  store i32 %5325, ptr @test_count, align 4, !tbaa !5
  %5326 = call i32 @s2n_config_set_cipher_preferences(ptr noundef %5323, ptr noundef nonnull @.str.11) #12
  %5327 = icmp eq i32 %5326, -1
  br i1 %5327, label %5810, label %5832

5328:                                             ; preds = %.preheader1213, %5748
  %5329 = phi i1 [ true, %.preheader1213 ], [ false, %5748 ]
  %.08511219.sroa.phi = phi ptr [ %.sroa.0, %.preheader1213 ], [ %.sroa.5, %5748 ]
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %83) #12
  %5330 = call ptr @s2n_connection_new(i32 noundef 1) #12
  store ptr %5330, ptr %83, align 8, !tbaa !9
  %5331 = load i32, ptr @test_count, align 4, !tbaa !5
  %5332 = add nsw i32 %5331, 1
  store i32 %5332, ptr @test_count, align 4, !tbaa !5
  %5333 = icmp eq ptr %5330, null
  br i1 %5333, label %5334, label %5356

5334:                                             ; preds = %5328
  %5335 = load i32, ptr %598, align 4, !tbaa !5
  %5336 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5337 = call i32 @s2n_print_stacktrace(ptr noundef %5336) #12
  %5338 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5339 = trunc nuw i8 %5338 to i1
  br i1 %5339, label %5340, label %5344

5340:                                             ; preds = %5334
  %5341 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5342 = call i32 @fileno(ptr noundef %5341) #12
  %5343 = call i32 @isatty(i32 noundef %5342) #12
  %.not1090 = icmp eq i32 %5343, 0
  br i1 %.not1090, label %5344, label %5345

5344:                                             ; preds = %5340, %5334
  br label %5345

5345:                                             ; preds = %5340, %5344
  %.str.5.sink2933 = phi ptr [ @.str.5, %5344 ], [ @.str.2, %5340 ]
  store i32 %5335, ptr %598, align 4, !tbaa !5
  %5346 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5347 = load i32, ptr @test_count, align 4, !tbaa !5
  %5348 = load i32, ptr %544, align 4, !tbaa !5
  %5349 = call ptr @s2n_strerror(i32 noundef %5348, ptr noundef nonnull @.str.4) #12
  %5350 = load i32, ptr %544, align 4, !tbaa !5
  %5351 = call ptr @s2n_strerror_debug(i32 noundef %5350, ptr noundef nonnull @.str.4) #12
  %5352 = load i32, ptr %598, align 4, !tbaa !5
  %5353 = call ptr @strerror(i32 noundef %5352) #12
  %5354 = load i32, ptr %598, align 4, !tbaa !5
  %5355 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5346, ptr noundef nonnull %.str.5.sink2933, i32 noundef %5347, ptr noundef nonnull @.str.42, ptr noundef nonnull @.str.1, i32 noundef 556, ptr noundef %5349, ptr noundef %5351, ptr noundef %5353, i32 noundef %5354) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5356:                                             ; preds = %5328
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %84) #12
  %5357 = call ptr @s2n_connection_new(i32 noundef 0) #12
  store ptr %5357, ptr %84, align 8, !tbaa !9
  %5358 = load i32, ptr @test_count, align 4, !tbaa !5
  %5359 = add nsw i32 %5358, 1
  store i32 %5359, ptr @test_count, align 4, !tbaa !5
  %5360 = icmp eq ptr %5357, null
  br i1 %5360, label %5361, label %5383

5361:                                             ; preds = %5356
  %5362 = load i32, ptr %598, align 4, !tbaa !5
  %5363 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5364 = call i32 @s2n_print_stacktrace(ptr noundef %5363) #12
  %5365 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5366 = trunc nuw i8 %5365 to i1
  br i1 %5366, label %5367, label %5371

5367:                                             ; preds = %5361
  %5368 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5369 = call i32 @fileno(ptr noundef %5368) #12
  %5370 = call i32 @isatty(i32 noundef %5369) #12
  %.not1089 = icmp eq i32 %5370, 0
  br i1 %.not1089, label %5371, label %5372

5371:                                             ; preds = %5367, %5361
  br label %5372

5372:                                             ; preds = %5367, %5371
  %.str.5.sink2942 = phi ptr [ @.str.5, %5371 ], [ @.str.2, %5367 ]
  store i32 %5362, ptr %598, align 4, !tbaa !5
  %5373 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5374 = load i32, ptr @test_count, align 4, !tbaa !5
  %5375 = load i32, ptr %544, align 4, !tbaa !5
  %5376 = call ptr @s2n_strerror(i32 noundef %5375, ptr noundef nonnull @.str.4) #12
  %5377 = load i32, ptr %544, align 4, !tbaa !5
  %5378 = call ptr @s2n_strerror_debug(i32 noundef %5377, ptr noundef nonnull @.str.4) #12
  %5379 = load i32, ptr %598, align 4, !tbaa !5
  %5380 = call ptr @strerror(i32 noundef %5379) #12
  %5381 = load i32, ptr %598, align 4, !tbaa !5
  %5382 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5373, ptr noundef nonnull %.str.5.sink2942, i32 noundef %5374, ptr noundef nonnull @.str.43, ptr noundef nonnull @.str.1, i32 noundef 559, ptr noundef %5376, ptr noundef %5378, ptr noundef %5380, i32 noundef %5381) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5383:                                             ; preds = %5356
  %5384 = add nsw i32 %5358, 2
  store i32 %5384, ptr @test_count, align 4, !tbaa !5
  %5385 = load ptr, ptr %83, align 8, !tbaa !9
  %5386 = load ptr, ptr %.08511219.sroa.phi, align 8, !tbaa !9
  %5387 = call i32 @s2n_connection_set_config(ptr noundef %5385, ptr noundef %5386) #12
  %5388 = icmp eq i32 %5387, -1
  br i1 %5388, label %5389, label %5411

5389:                                             ; preds = %5383
  %5390 = load i32, ptr %598, align 4, !tbaa !5
  %5391 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5392 = call i32 @s2n_print_stacktrace(ptr noundef %5391) #12
  %5393 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5394 = trunc nuw i8 %5393 to i1
  br i1 %5394, label %5395, label %5399

5395:                                             ; preds = %5389
  %5396 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5397 = call i32 @fileno(ptr noundef %5396) #12
  %5398 = call i32 @isatty(i32 noundef %5397) #12
  %.not1088 = icmp eq i32 %5398, 0
  br i1 %.not1088, label %5399, label %5400

5399:                                             ; preds = %5395, %5389
  br label %5400

5400:                                             ; preds = %5395, %5399
  %.str.5.sink2951 = phi ptr [ @.str.5, %5399 ], [ @.str.2, %5395 ]
  store i32 %5390, ptr %598, align 4, !tbaa !5
  %5401 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5402 = load i32, ptr @test_count, align 4, !tbaa !5
  %5403 = load i32, ptr %544, align 4, !tbaa !5
  %5404 = call ptr @s2n_strerror(i32 noundef %5403, ptr noundef nonnull @.str.4) #12
  %5405 = load i32, ptr %544, align 4, !tbaa !5
  %5406 = call ptr @s2n_strerror_debug(i32 noundef %5405, ptr noundef nonnull @.str.4) #12
  %5407 = load i32, ptr %598, align 4, !tbaa !5
  %5408 = call ptr @strerror(i32 noundef %5407) #12
  %5409 = load i32, ptr %598, align 4, !tbaa !5
  %5410 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5401, ptr noundef nonnull %.str.5.sink2951, i32 noundef %5402, ptr noundef nonnull @.str.101, ptr noundef nonnull @.str.1, i32 noundef 561, ptr noundef %5404, ptr noundef %5406, ptr noundef %5408, i32 noundef %5409) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5411:                                             ; preds = %5383
  %5412 = load i32, ptr @test_count, align 4, !tbaa !5
  %5413 = add nsw i32 %5412, 1
  store i32 %5413, ptr @test_count, align 4, !tbaa !5
  %5414 = load ptr, ptr %84, align 8, !tbaa !9
  %5415 = call i32 @s2n_connection_set_config(ptr noundef %5414, ptr noundef %5386) #12
  %5416 = icmp eq i32 %5415, -1
  br i1 %5416, label %5417, label %5439

5417:                                             ; preds = %5411
  %5418 = load i32, ptr %598, align 4, !tbaa !5
  %5419 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5420 = call i32 @s2n_print_stacktrace(ptr noundef %5419) #12
  %5421 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5422 = trunc nuw i8 %5421 to i1
  br i1 %5422, label %5423, label %5427

5423:                                             ; preds = %5417
  %5424 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5425 = call i32 @fileno(ptr noundef %5424) #12
  %5426 = call i32 @isatty(i32 noundef %5425) #12
  %.not1087 = icmp eq i32 %5426, 0
  br i1 %.not1087, label %5427, label %5428

5427:                                             ; preds = %5423, %5417
  br label %5428

5428:                                             ; preds = %5423, %5427
  %.str.5.sink2960 = phi ptr [ @.str.5, %5427 ], [ @.str.2, %5423 ]
  store i32 %5418, ptr %598, align 4, !tbaa !5
  %5429 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5430 = load i32, ptr @test_count, align 4, !tbaa !5
  %5431 = load i32, ptr %544, align 4, !tbaa !5
  %5432 = call ptr @s2n_strerror(i32 noundef %5431, ptr noundef nonnull @.str.4) #12
  %5433 = load i32, ptr %544, align 4, !tbaa !5
  %5434 = call ptr @s2n_strerror_debug(i32 noundef %5433, ptr noundef nonnull @.str.4) #12
  %5435 = load i32, ptr %598, align 4, !tbaa !5
  %5436 = call ptr @strerror(i32 noundef %5435) #12
  %5437 = load i32, ptr %598, align 4, !tbaa !5
  %5438 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5429, ptr noundef nonnull %.str.5.sink2960, i32 noundef %5430, ptr noundef nonnull @.str.102, ptr noundef nonnull @.str.1, i32 noundef 562, ptr noundef %5432, ptr noundef %5434, ptr noundef %5436, i32 noundef %5437) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5439:                                             ; preds = %5411
  call void @llvm.lifetime.start.p0(i64 80, ptr nonnull %85) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(80) %85, i8 0, i64 80, i1 false)
  %5440 = load i32, ptr @test_count, align 4, !tbaa !5
  %5441 = add nsw i32 %5440, 1
  store i32 %5441, ptr @test_count, align 4, !tbaa !5
  %5442 = call i32 @s2n_io_stuffer_pair_init(ptr noundef nonnull %85) #12
  %5443 = call zeroext i1 @s2n_result_is_ok(i32 %5442)
  br i1 %5443, label %5466, label %5444

5444:                                             ; preds = %5439
  %5445 = load i32, ptr %598, align 4, !tbaa !5
  %5446 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5447 = call i32 @s2n_print_stacktrace(ptr noundef %5446) #12
  %5448 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5449 = trunc nuw i8 %5448 to i1
  br i1 %5449, label %5450, label %5454

5450:                                             ; preds = %5444
  %5451 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5452 = call i32 @fileno(ptr noundef %5451) #12
  %5453 = call i32 @isatty(i32 noundef %5452) #12
  %.not1074 = icmp eq i32 %5453, 0
  br i1 %.not1074, label %5454, label %5455

5454:                                             ; preds = %5450, %5444
  br label %5455

5455:                                             ; preds = %5450, %5454
  %.str.5.sink2969 = phi ptr [ @.str.5, %5454 ], [ @.str.2, %5450 ]
  store i32 %5445, ptr %598, align 4, !tbaa !5
  %5456 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5457 = load i32, ptr @test_count, align 4, !tbaa !5
  %5458 = load i32, ptr %544, align 4, !tbaa !5
  %5459 = call ptr @s2n_strerror(i32 noundef %5458, ptr noundef nonnull @.str.4) #12
  %5460 = load i32, ptr %544, align 4, !tbaa !5
  %5461 = call ptr @s2n_strerror_debug(i32 noundef %5460, ptr noundef nonnull @.str.4) #12
  %5462 = load i32, ptr %598, align 4, !tbaa !5
  %5463 = call ptr @strerror(i32 noundef %5462) #12
  %5464 = load i32, ptr %598, align 4, !tbaa !5
  %5465 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5456, ptr noundef nonnull %.str.5.sink2969, i32 noundef %5457, ptr noundef nonnull @.str.46, ptr noundef nonnull @.str.1, i32 noundef 565, ptr noundef %5459, ptr noundef %5461, ptr noundef %5463, i32 noundef %5464) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5466:                                             ; preds = %5439
  %5467 = load i32, ptr @test_count, align 4, !tbaa !5
  %5468 = add nsw i32 %5467, 1
  store i32 %5468, ptr @test_count, align 4, !tbaa !5
  %5469 = load ptr, ptr %83, align 8, !tbaa !9
  %5470 = load ptr, ptr %84, align 8, !tbaa !9
  %5471 = call i32 @s2n_connections_set_io_stuffer_pair(ptr noundef %5469, ptr noundef %5470, ptr noundef nonnull %85) #12
  %5472 = call zeroext i1 @s2n_result_is_ok(i32 %5471)
  br i1 %5472, label %5495, label %5473

5473:                                             ; preds = %5466
  %5474 = load i32, ptr %598, align 4, !tbaa !5
  %5475 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5476 = call i32 @s2n_print_stacktrace(ptr noundef %5475) #12
  %5477 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5478 = trunc nuw i8 %5477 to i1
  br i1 %5478, label %5479, label %5483

5479:                                             ; preds = %5473
  %5480 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5481 = call i32 @fileno(ptr noundef %5480) #12
  %5482 = call i32 @isatty(i32 noundef %5481) #12
  %.not1075 = icmp eq i32 %5482, 0
  br i1 %.not1075, label %5483, label %5484

5483:                                             ; preds = %5479, %5473
  br label %5484

5484:                                             ; preds = %5479, %5483
  %.str.5.sink2978 = phi ptr [ @.str.5, %5483 ], [ @.str.2, %5479 ]
  store i32 %5474, ptr %598, align 4, !tbaa !5
  %5485 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5486 = load i32, ptr @test_count, align 4, !tbaa !5
  %5487 = load i32, ptr %544, align 4, !tbaa !5
  %5488 = call ptr @s2n_strerror(i32 noundef %5487, ptr noundef nonnull @.str.4) #12
  %5489 = load i32, ptr %544, align 4, !tbaa !5
  %5490 = call ptr @s2n_strerror_debug(i32 noundef %5489, ptr noundef nonnull @.str.4) #12
  %5491 = load i32, ptr %598, align 4, !tbaa !5
  %5492 = call ptr @strerror(i32 noundef %5491) #12
  %5493 = load i32, ptr %598, align 4, !tbaa !5
  %5494 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5485, ptr noundef nonnull %.str.5.sink2978, i32 noundef %5486, ptr noundef nonnull @.str.47, ptr noundef nonnull @.str.1, i32 noundef 566, ptr noundef %5488, ptr noundef %5490, ptr noundef %5492, i32 noundef %5493) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5495:                                             ; preds = %5466
  %5496 = load i32, ptr @test_count, align 4, !tbaa !5
  %5497 = add nsw i32 %5496, 1
  store i32 %5497, ptr @test_count, align 4, !tbaa !5
  %5498 = load ptr, ptr %84, align 8, !tbaa !9
  %5499 = load ptr, ptr %83, align 8, !tbaa !9
  %5500 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %5498, ptr noundef %5499) #12
  %5501 = icmp eq i32 %5500, -1
  br i1 %5501, label %5502, label %5524

5502:                                             ; preds = %5495
  %5503 = load i32, ptr %598, align 4, !tbaa !5
  %5504 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5505 = call i32 @s2n_print_stacktrace(ptr noundef %5504) #12
  %5506 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5507 = trunc nuw i8 %5506 to i1
  br i1 %5507, label %5508, label %5512

5508:                                             ; preds = %5502
  %5509 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5510 = call i32 @fileno(ptr noundef %5509) #12
  %5511 = call i32 @isatty(i32 noundef %5510) #12
  %.not1086 = icmp eq i32 %5511, 0
  br i1 %.not1086, label %5512, label %5513

5512:                                             ; preds = %5508, %5502
  br label %5513

5513:                                             ; preds = %5508, %5512
  %.str.5.sink2987 = phi ptr [ @.str.5, %5512 ], [ @.str.2, %5508 ]
  store i32 %5503, ptr %598, align 4, !tbaa !5
  %5514 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5515 = load i32, ptr @test_count, align 4, !tbaa !5
  %5516 = load i32, ptr %544, align 4, !tbaa !5
  %5517 = call ptr @s2n_strerror(i32 noundef %5516, ptr noundef nonnull @.str.4) #12
  %5518 = load i32, ptr %544, align 4, !tbaa !5
  %5519 = call ptr @s2n_strerror_debug(i32 noundef %5518, ptr noundef nonnull @.str.4) #12
  %5520 = load i32, ptr %598, align 4, !tbaa !5
  %5521 = call ptr @strerror(i32 noundef %5520) #12
  %5522 = load i32, ptr %598, align 4, !tbaa !5
  %5523 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5514, ptr noundef nonnull %.str.5.sink2987, i32 noundef %5515, ptr noundef nonnull @.str.48, ptr noundef nonnull @.str.1, i32 noundef 568, ptr noundef %5517, ptr noundef %5519, ptr noundef %5521, i32 noundef %5522) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5524:                                             ; preds = %5495
  %5525 = load i32, ptr @test_count, align 4, !tbaa !5
  %5526 = add nsw i32 %5525, 1
  store i32 %5526, ptr @test_count, align 4, !tbaa !5
  %5527 = load ptr, ptr %84, align 8, !tbaa !9
  %5528 = load ptr, ptr %83, align 8, !tbaa !9
  %5529 = call i32 @s2n_send_and_recv_test(ptr noundef %5527, ptr noundef %5528) #12
  %5530 = call zeroext i1 @s2n_result_is_ok(i32 %5529)
  br i1 %5530, label %5553, label %5531

5531:                                             ; preds = %5524
  %5532 = load i32, ptr %598, align 4, !tbaa !5
  %5533 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5534 = call i32 @s2n_print_stacktrace(ptr noundef %5533) #12
  %5535 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5536 = trunc nuw i8 %5535 to i1
  br i1 %5536, label %5537, label %5541

5537:                                             ; preds = %5531
  %5538 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5539 = call i32 @fileno(ptr noundef %5538) #12
  %5540 = call i32 @isatty(i32 noundef %5539) #12
  %.not1076 = icmp eq i32 %5540, 0
  br i1 %.not1076, label %5541, label %5542

5541:                                             ; preds = %5537, %5531
  br label %5542

5542:                                             ; preds = %5537, %5541
  %.str.5.sink2996 = phi ptr [ @.str.5, %5541 ], [ @.str.2, %5537 ]
  store i32 %5532, ptr %598, align 4, !tbaa !5
  %5543 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5544 = load i32, ptr @test_count, align 4, !tbaa !5
  %5545 = load i32, ptr %544, align 4, !tbaa !5
  %5546 = call ptr @s2n_strerror(i32 noundef %5545, ptr noundef nonnull @.str.4) #12
  %5547 = load i32, ptr %544, align 4, !tbaa !5
  %5548 = call ptr @s2n_strerror_debug(i32 noundef %5547, ptr noundef nonnull @.str.4) #12
  %5549 = load i32, ptr %598, align 4, !tbaa !5
  %5550 = call ptr @strerror(i32 noundef %5549) #12
  %5551 = load i32, ptr %598, align 4, !tbaa !5
  %5552 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5543, ptr noundef nonnull %.str.5.sink2996, i32 noundef %5544, ptr noundef nonnull @.str.103, ptr noundef nonnull @.str.1, i32 noundef 571, ptr noundef %5546, ptr noundef %5548, ptr noundef %5550, i32 noundef %5551) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5553:                                             ; preds = %5524
  %5554 = load i32, ptr @test_count, align 4, !tbaa !5
  %5555 = add nsw i32 %5554, 1
  store i32 %5555, ptr @test_count, align 4, !tbaa !5
  %5556 = load ptr, ptr %83, align 8, !tbaa !9
  %5557 = load ptr, ptr %84, align 8, !tbaa !9
  %5558 = call i32 @s2n_send_and_recv_test(ptr noundef %5556, ptr noundef %5557) #12
  %5559 = call zeroext i1 @s2n_result_is_ok(i32 %5558)
  br i1 %5559, label %5582, label %5560

5560:                                             ; preds = %5553
  %5561 = load i32, ptr %598, align 4, !tbaa !5
  %5562 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5563 = call i32 @s2n_print_stacktrace(ptr noundef %5562) #12
  %5564 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5565 = trunc nuw i8 %5564 to i1
  br i1 %5565, label %5566, label %5570

5566:                                             ; preds = %5560
  %5567 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5568 = call i32 @fileno(ptr noundef %5567) #12
  %5569 = call i32 @isatty(i32 noundef %5568) #12
  %.not1077 = icmp eq i32 %5569, 0
  br i1 %.not1077, label %5570, label %5571

5570:                                             ; preds = %5566, %5560
  br label %5571

5571:                                             ; preds = %5566, %5570
  %.str.5.sink3005 = phi ptr [ @.str.5, %5570 ], [ @.str.2, %5566 ]
  store i32 %5561, ptr %598, align 4, !tbaa !5
  %5572 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5573 = load i32, ptr @test_count, align 4, !tbaa !5
  %5574 = load i32, ptr %544, align 4, !tbaa !5
  %5575 = call ptr @s2n_strerror(i32 noundef %5574, ptr noundef nonnull @.str.4) #12
  %5576 = load i32, ptr %544, align 4, !tbaa !5
  %5577 = call ptr @s2n_strerror_debug(i32 noundef %5576, ptr noundef nonnull @.str.4) #12
  %5578 = load i32, ptr %598, align 4, !tbaa !5
  %5579 = call ptr @strerror(i32 noundef %5578) #12
  %5580 = load i32, ptr %598, align 4, !tbaa !5
  %5581 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5572, ptr noundef nonnull %.str.5.sink3005, i32 noundef %5573, ptr noundef nonnull @.str.104, ptr noundef nonnull @.str.1, i32 noundef 572, ptr noundef %5575, ptr noundef %5577, ptr noundef %5579, i32 noundef %5580) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5582:                                             ; preds = %5553
  call void @llvm.lifetime.start.p0(i64 142, ptr nonnull %86) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(142) %86, i8 0, i64 142, i1 false)
  %5583 = load i32, ptr @test_count, align 4, !tbaa !5
  %5584 = add nsw i32 %5583, 1
  store i32 %5584, ptr @test_count, align 4, !tbaa !5
  %5585 = load ptr, ptr %84, align 8, !tbaa !9
  %5586 = call i32 @s2n_connection_serialize(ptr noundef %5585, ptr noundef nonnull %86, i32 noundef 142) #12
  %5587 = icmp eq i32 %5586, -1
  br i1 %5587, label %5588, label %5610

5588:                                             ; preds = %5582
  %5589 = load i32, ptr %598, align 4, !tbaa !5
  %5590 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5591 = call i32 @s2n_print_stacktrace(ptr noundef %5590) #12
  %5592 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5593 = trunc nuw i8 %5592 to i1
  br i1 %5593, label %5594, label %5598

5594:                                             ; preds = %5588
  %5595 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5596 = call i32 @fileno(ptr noundef %5595) #12
  %5597 = call i32 @isatty(i32 noundef %5596) #12
  %.not1085 = icmp eq i32 %5597, 0
  br i1 %.not1085, label %5598, label %5599

5598:                                             ; preds = %5594, %5588
  br label %5599

5599:                                             ; preds = %5594, %5598
  %.str.5.sink3014 = phi ptr [ @.str.5, %5598 ], [ @.str.2, %5594 ]
  store i32 %5589, ptr %598, align 4, !tbaa !5
  %5600 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5601 = load i32, ptr @test_count, align 4, !tbaa !5
  %5602 = load i32, ptr %544, align 4, !tbaa !5
  %5603 = call ptr @s2n_strerror(i32 noundef %5602, ptr noundef nonnull @.str.4) #12
  %5604 = load i32, ptr %544, align 4, !tbaa !5
  %5605 = call ptr @s2n_strerror_debug(i32 noundef %5604, ptr noundef nonnull @.str.4) #12
  %5606 = load i32, ptr %598, align 4, !tbaa !5
  %5607 = call ptr @strerror(i32 noundef %5606) #12
  %5608 = load i32, ptr %598, align 4, !tbaa !5
  %5609 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5600, ptr noundef nonnull %.str.5.sink3014, i32 noundef %5601, ptr noundef nonnull @.str.52, ptr noundef nonnull @.str.1, i32 noundef 575, ptr noundef %5603, ptr noundef %5605, ptr noundef %5607, i32 noundef %5608) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5610:                                             ; preds = %5582
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %87) #12
  %5611 = call ptr @s2n_connection_new(i32 noundef 0) #12
  store ptr %5611, ptr %87, align 8, !tbaa !9
  %5612 = load i32, ptr @test_count, align 4, !tbaa !5
  %5613 = add nsw i32 %5612, 1
  store i32 %5613, ptr @test_count, align 4, !tbaa !5
  %5614 = icmp eq ptr %5611, null
  br i1 %5614, label %5615, label %5637

5615:                                             ; preds = %5610
  %5616 = load i32, ptr %598, align 4, !tbaa !5
  %5617 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5618 = call i32 @s2n_print_stacktrace(ptr noundef %5617) #12
  %5619 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5620 = trunc nuw i8 %5619 to i1
  br i1 %5620, label %5621, label %5625

5621:                                             ; preds = %5615
  %5622 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5623 = call i32 @fileno(ptr noundef %5622) #12
  %5624 = call i32 @isatty(i32 noundef %5623) #12
  %.not1084 = icmp eq i32 %5624, 0
  br i1 %.not1084, label %5625, label %5626

5625:                                             ; preds = %5621, %5615
  br label %5626

5626:                                             ; preds = %5621, %5625
  %.str.5.sink3023 = phi ptr [ @.str.5, %5625 ], [ @.str.2, %5621 ]
  store i32 %5616, ptr %598, align 4, !tbaa !5
  %5627 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5628 = load i32, ptr @test_count, align 4, !tbaa !5
  %5629 = load i32, ptr %544, align 4, !tbaa !5
  %5630 = call ptr @s2n_strerror(i32 noundef %5629, ptr noundef nonnull @.str.4) #12
  %5631 = load i32, ptr %544, align 4, !tbaa !5
  %5632 = call ptr @s2n_strerror_debug(i32 noundef %5631, ptr noundef nonnull @.str.4) #12
  %5633 = load i32, ptr %598, align 4, !tbaa !5
  %5634 = call ptr @strerror(i32 noundef %5633) #12
  %5635 = load i32, ptr %598, align 4, !tbaa !5
  %5636 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5627, ptr noundef nonnull %.str.5.sink3023, i32 noundef %5628, ptr noundef nonnull @.str.113, ptr noundef nonnull @.str.1, i32 noundef 580, ptr noundef %5630, ptr noundef %5632, ptr noundef %5634, i32 noundef %5635) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5637:                                             ; preds = %5610
  %5638 = add nsw i32 %5612, 2
  store i32 %5638, ptr @test_count, align 4, !tbaa !5
  %5639 = call i32 @s2n_connection_deserialize(ptr noundef nonnull %5611, ptr noundef nonnull %86, i32 noundef 142) #12
  %5640 = icmp eq i32 %5639, -1
  br i1 %5640, label %5641, label %5663

5641:                                             ; preds = %5637
  %5642 = load i32, ptr %598, align 4, !tbaa !5
  %5643 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5644 = call i32 @s2n_print_stacktrace(ptr noundef %5643) #12
  %5645 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5646 = trunc nuw i8 %5645 to i1
  br i1 %5646, label %5647, label %5651

5647:                                             ; preds = %5641
  %5648 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5649 = call i32 @fileno(ptr noundef %5648) #12
  %5650 = call i32 @isatty(i32 noundef %5649) #12
  %.not1083 = icmp eq i32 %5650, 0
  br i1 %.not1083, label %5651, label %5652

5651:                                             ; preds = %5647, %5641
  br label %5652

5652:                                             ; preds = %5647, %5651
  %.str.5.sink3032 = phi ptr [ @.str.5, %5651 ], [ @.str.2, %5647 ]
  store i32 %5642, ptr %598, align 4, !tbaa !5
  %5653 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5654 = load i32, ptr @test_count, align 4, !tbaa !5
  %5655 = load i32, ptr %544, align 4, !tbaa !5
  %5656 = call ptr @s2n_strerror(i32 noundef %5655, ptr noundef nonnull @.str.4) #12
  %5657 = load i32, ptr %544, align 4, !tbaa !5
  %5658 = call ptr @s2n_strerror_debug(i32 noundef %5657, ptr noundef nonnull @.str.4) #12
  %5659 = load i32, ptr %598, align 4, !tbaa !5
  %5660 = call ptr @strerror(i32 noundef %5659) #12
  %5661 = load i32, ptr %598, align 4, !tbaa !5
  %5662 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5653, ptr noundef nonnull %.str.5.sink3032, i32 noundef %5654, ptr noundef nonnull @.str.114, ptr noundef nonnull @.str.1, i32 noundef 581, ptr noundef %5656, ptr noundef %5658, ptr noundef %5660, i32 noundef %5661) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5663:                                             ; preds = %5637
  %5664 = load i32, ptr @test_count, align 4, !tbaa !5
  %5665 = add nsw i32 %5664, 1
  store i32 %5665, ptr @test_count, align 4, !tbaa !5
  %5666 = call i32 @s2n_stuffer_wipe(ptr noundef nonnull %85) #12
  %5667 = icmp eq i32 %5666, -1
  br i1 %5667, label %5668, label %5690

5668:                                             ; preds = %5663
  %5669 = load i32, ptr %598, align 4, !tbaa !5
  %5670 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5671 = call i32 @s2n_print_stacktrace(ptr noundef %5670) #12
  %5672 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5673 = trunc nuw i8 %5672 to i1
  br i1 %5673, label %5674, label %5678

5674:                                             ; preds = %5668
  %5675 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5676 = call i32 @fileno(ptr noundef %5675) #12
  %5677 = call i32 @isatty(i32 noundef %5676) #12
  %.not1082 = icmp eq i32 %5677, 0
  br i1 %.not1082, label %5678, label %5679

5678:                                             ; preds = %5674, %5668
  br label %5679

5679:                                             ; preds = %5674, %5678
  %.str.5.sink3041 = phi ptr [ @.str.5, %5678 ], [ @.str.2, %5674 ]
  store i32 %5669, ptr %598, align 4, !tbaa !5
  %5680 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5681 = load i32, ptr @test_count, align 4, !tbaa !5
  %5682 = load i32, ptr %544, align 4, !tbaa !5
  %5683 = call ptr @s2n_strerror(i32 noundef %5682, ptr noundef nonnull @.str.4) #12
  %5684 = load i32, ptr %544, align 4, !tbaa !5
  %5685 = call ptr @s2n_strerror_debug(i32 noundef %5684, ptr noundef nonnull @.str.4) #12
  %5686 = load i32, ptr %598, align 4, !tbaa !5
  %5687 = call ptr @strerror(i32 noundef %5686) #12
  %5688 = load i32, ptr %598, align 4, !tbaa !5
  %5689 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5680, ptr noundef nonnull %.str.5.sink3041, i32 noundef %5681, ptr noundef nonnull @.str.108, ptr noundef nonnull @.str.1, i32 noundef 584, ptr noundef %5683, ptr noundef %5685, ptr noundef %5687, i32 noundef %5688) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5690:                                             ; preds = %5663
  %5691 = load i32, ptr @test_count, align 4, !tbaa !5
  %5692 = add nsw i32 %5691, 1
  store i32 %5692, ptr @test_count, align 4, !tbaa !5
  %5693 = call i32 @s2n_stuffer_wipe(ptr noundef nonnull %4839) #12
  %5694 = icmp eq i32 %5693, -1
  br i1 %5694, label %5695, label %5717

5695:                                             ; preds = %5690
  %5696 = load i32, ptr %598, align 4, !tbaa !5
  %5697 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5698 = call i32 @s2n_print_stacktrace(ptr noundef %5697) #12
  %5699 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5700 = trunc nuw i8 %5699 to i1
  br i1 %5700, label %5701, label %5705

5701:                                             ; preds = %5695
  %5702 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5703 = call i32 @fileno(ptr noundef %5702) #12
  %5704 = call i32 @isatty(i32 noundef %5703) #12
  %.not1081 = icmp eq i32 %5704, 0
  br i1 %.not1081, label %5705, label %5706

5705:                                             ; preds = %5701, %5695
  br label %5706

5706:                                             ; preds = %5701, %5705
  %.str.5.sink3050 = phi ptr [ @.str.5, %5705 ], [ @.str.2, %5701 ]
  store i32 %5696, ptr %598, align 4, !tbaa !5
  %5707 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5708 = load i32, ptr @test_count, align 4, !tbaa !5
  %5709 = load i32, ptr %544, align 4, !tbaa !5
  %5710 = call ptr @s2n_strerror(i32 noundef %5709, ptr noundef nonnull @.str.4) #12
  %5711 = load i32, ptr %544, align 4, !tbaa !5
  %5712 = call ptr @s2n_strerror_debug(i32 noundef %5711, ptr noundef nonnull @.str.4) #12
  %5713 = load i32, ptr %598, align 4, !tbaa !5
  %5714 = call ptr @strerror(i32 noundef %5713) #12
  %5715 = load i32, ptr %598, align 4, !tbaa !5
  %5716 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5707, ptr noundef nonnull %.str.5.sink3050, i32 noundef %5708, ptr noundef nonnull @.str.109, ptr noundef nonnull @.str.1, i32 noundef 585, ptr noundef %5710, ptr noundef %5712, ptr noundef %5714, i32 noundef %5715) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5717:                                             ; preds = %5690
  %5718 = load i32, ptr @test_count, align 4, !tbaa !5
  %5719 = add nsw i32 %5718, 1
  store i32 %5719, ptr @test_count, align 4, !tbaa !5
  %5720 = load ptr, ptr %83, align 8, !tbaa !9
  %5721 = load ptr, ptr %87, align 8, !tbaa !9
  %5722 = call i32 @s2n_connections_set_io_stuffer_pair(ptr noundef %5720, ptr noundef %5721, ptr noundef nonnull %85) #12
  %5723 = call zeroext i1 @s2n_result_is_ok(i32 %5722)
  br i1 %5723, label %.preheader, label %5724

5724:                                             ; preds = %5717
  %5725 = load i32, ptr %598, align 4, !tbaa !5
  %5726 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5727 = call i32 @s2n_print_stacktrace(ptr noundef %5726) #12
  %5728 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5729 = trunc nuw i8 %5728 to i1
  br i1 %5729, label %5730, label %5734

5730:                                             ; preds = %5724
  %5731 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5732 = call i32 @fileno(ptr noundef %5731) #12
  %5733 = call i32 @isatty(i32 noundef %5732) #12
  %.not1078 = icmp eq i32 %5733, 0
  br i1 %.not1078, label %5734, label %5735

5734:                                             ; preds = %5730, %5724
  br label %5735

5735:                                             ; preds = %5730, %5734
  %.str.5.sink3059 = phi ptr [ @.str.5, %5734 ], [ @.str.2, %5730 ]
  store i32 %5725, ptr %598, align 4, !tbaa !5
  %5736 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5737 = load i32, ptr @test_count, align 4, !tbaa !5
  %5738 = load i32, ptr %544, align 4, !tbaa !5
  %5739 = call ptr @s2n_strerror(i32 noundef %5738, ptr noundef nonnull @.str.4) #12
  %5740 = load i32, ptr %544, align 4, !tbaa !5
  %5741 = call ptr @s2n_strerror_debug(i32 noundef %5740, ptr noundef nonnull @.str.4) #12
  %5742 = load i32, ptr %598, align 4, !tbaa !5
  %5743 = call ptr @strerror(i32 noundef %5742) #12
  %5744 = load i32, ptr %598, align 4, !tbaa !5
  %5745 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5736, ptr noundef nonnull %.str.5.sink3059, i32 noundef %5737, ptr noundef nonnull @.str.115, ptr noundef nonnull @.str.1, i32 noundef 586, ptr noundef %5739, ptr noundef %5741, ptr noundef %5743, i32 noundef %5744) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5746:                                             ; preds = %5781
  %5747 = add nuw nsw i64 %.08521218, 1
  %exitcond1222.not = icmp eq i64 %5747, 1000
  br i1 %exitcond1222.not, label %5748, label %.preheader, !llvm.loop !62

5748:                                             ; preds = %5746
  %5749 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %87) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %87) #12
  call void @llvm.lifetime.end.p0(i64 142, ptr nonnull %86) #12
  %5750 = call i32 @s2n_io_stuffer_pair_free(ptr noundef nonnull %85) #12
  call void @llvm.lifetime.end.p0(i64 80, ptr nonnull %85) #12
  %5751 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %84) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %84) #12
  %5752 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %83) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %83) #12
  br i1 %5329, label %5328, label %5322, !llvm.loop !63

.preheader:                                       ; preds = %5717, %5746
  %.08521218 = phi i64 [ %5747, %5746 ], [ 0, %5717 ]
  %5753 = load i32, ptr @test_count, align 4, !tbaa !5
  %5754 = add nsw i32 %5753, 1
  store i32 %5754, ptr @test_count, align 4, !tbaa !5
  %5755 = load ptr, ptr %87, align 8, !tbaa !9
  %5756 = load ptr, ptr %83, align 8, !tbaa !9
  %5757 = call i32 @s2n_send_and_recv_test(ptr noundef %5755, ptr noundef %5756) #12
  %5758 = call zeroext i1 @s2n_result_is_ok(i32 %5757)
  br i1 %5758, label %5781, label %5759

5759:                                             ; preds = %.preheader
  %5760 = load i32, ptr %598, align 4, !tbaa !5
  %5761 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5762 = call i32 @s2n_print_stacktrace(ptr noundef %5761) #12
  %5763 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5764 = trunc nuw i8 %5763 to i1
  br i1 %5764, label %5765, label %5769

5765:                                             ; preds = %5759
  %5766 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5767 = call i32 @fileno(ptr noundef %5766) #12
  %5768 = call i32 @isatty(i32 noundef %5767) #12
  %.not1079 = icmp eq i32 %5768, 0
  br i1 %.not1079, label %5769, label %5770

5769:                                             ; preds = %5765, %5759
  br label %5770

5770:                                             ; preds = %5765, %5769
  %.str.5.sink3068 = phi ptr [ @.str.5, %5769 ], [ @.str.2, %5765 ]
  store i32 %5760, ptr %598, align 4, !tbaa !5
  %5771 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5772 = load i32, ptr @test_count, align 4, !tbaa !5
  %5773 = load i32, ptr %544, align 4, !tbaa !5
  %5774 = call ptr @s2n_strerror(i32 noundef %5773, ptr noundef nonnull @.str.4) #12
  %5775 = load i32, ptr %544, align 4, !tbaa !5
  %5776 = call ptr @s2n_strerror_debug(i32 noundef %5775, ptr noundef nonnull @.str.4) #12
  %5777 = load i32, ptr %598, align 4, !tbaa !5
  %5778 = call ptr @strerror(i32 noundef %5777) #12
  %5779 = load i32, ptr %598, align 4, !tbaa !5
  %5780 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5771, ptr noundef nonnull %.str.5.sink3068, i32 noundef %5772, ptr noundef nonnull @.str.116, ptr noundef nonnull @.str.1, i32 noundef 590, ptr noundef %5774, ptr noundef %5776, ptr noundef %5778, i32 noundef %5779) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5781:                                             ; preds = %.preheader
  %5782 = load i32, ptr @test_count, align 4, !tbaa !5
  %5783 = add nsw i32 %5782, 1
  store i32 %5783, ptr @test_count, align 4, !tbaa !5
  %5784 = load ptr, ptr %83, align 8, !tbaa !9
  %5785 = load ptr, ptr %87, align 8, !tbaa !9
  %5786 = call i32 @s2n_send_and_recv_test(ptr noundef %5784, ptr noundef %5785) #12
  %5787 = call zeroext i1 @s2n_result_is_ok(i32 %5786)
  br i1 %5787, label %5746, label %5788

5788:                                             ; preds = %5781
  %5789 = load i32, ptr %598, align 4, !tbaa !5
  %5790 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5791 = call i32 @s2n_print_stacktrace(ptr noundef %5790) #12
  %5792 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5793 = trunc nuw i8 %5792 to i1
  br i1 %5793, label %5794, label %5798

5794:                                             ; preds = %5788
  %5795 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5796 = call i32 @fileno(ptr noundef %5795) #12
  %5797 = call i32 @isatty(i32 noundef %5796) #12
  %.not1080 = icmp eq i32 %5797, 0
  br i1 %.not1080, label %5798, label %5799

5798:                                             ; preds = %5794, %5788
  br label %5799

5799:                                             ; preds = %5794, %5798
  %.str.5.sink3077 = phi ptr [ @.str.5, %5798 ], [ @.str.2, %5794 ]
  store i32 %5789, ptr %598, align 4, !tbaa !5
  %5800 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5801 = load i32, ptr @test_count, align 4, !tbaa !5
  %5802 = load i32, ptr %544, align 4, !tbaa !5
  %5803 = call ptr @s2n_strerror(i32 noundef %5802, ptr noundef nonnull @.str.4) #12
  %5804 = load i32, ptr %544, align 4, !tbaa !5
  %5805 = call ptr @s2n_strerror_debug(i32 noundef %5804, ptr noundef nonnull @.str.4) #12
  %5806 = load i32, ptr %598, align 4, !tbaa !5
  %5807 = call ptr @strerror(i32 noundef %5806) #12
  %5808 = load i32, ptr %598, align 4, !tbaa !5
  %5809 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5800, ptr noundef nonnull %.str.5.sink3077, i32 noundef %5801, ptr noundef nonnull @.str.117, ptr noundef nonnull @.str.1, i32 noundef 591, ptr noundef %5803, ptr noundef %5805, ptr noundef %5807, i32 noundef %5808) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5810:                                             ; preds = %5322
  %5811 = load i32, ptr %598, align 4, !tbaa !5
  %5812 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5813 = call i32 @s2n_print_stacktrace(ptr noundef %5812) #12
  %5814 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5815 = trunc nuw i8 %5814 to i1
  br i1 %5815, label %5816, label %5820

5816:                                             ; preds = %5810
  %5817 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5818 = call i32 @fileno(ptr noundef %5817) #12
  %5819 = call i32 @isatty(i32 noundef %5818) #12
  %.not1073 = icmp eq i32 %5819, 0
  br i1 %.not1073, label %5820, label %5821

5820:                                             ; preds = %5816, %5810
  br label %5821

5821:                                             ; preds = %5816, %5820
  %.str.5.sink3086 = phi ptr [ @.str.5, %5820 ], [ @.str.2, %5816 ]
  store i32 %5811, ptr %598, align 4, !tbaa !5
  %5822 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5823 = load i32, ptr @test_count, align 4, !tbaa !5
  %5824 = load i32, ptr %544, align 4, !tbaa !5
  %5825 = call ptr @s2n_strerror(i32 noundef %5824, ptr noundef nonnull @.str.4) #12
  %5826 = load i32, ptr %544, align 4, !tbaa !5
  %5827 = call ptr @s2n_strerror_debug(i32 noundef %5826, ptr noundef nonnull @.str.4) #12
  %5828 = load i32, ptr %598, align 4, !tbaa !5
  %5829 = call ptr @strerror(i32 noundef %5828) #12
  %5830 = load i32, ptr %598, align 4, !tbaa !5
  %5831 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5822, ptr noundef nonnull %.str.5.sink3086, i32 noundef %5823, ptr noundef nonnull @.str.118, ptr noundef nonnull @.str.1, i32 noundef 598, ptr noundef %5825, ptr noundef %5827, ptr noundef %5829, i32 noundef %5830) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5832:                                             ; preds = %5322
  %5833 = load i32, ptr @test_count, align 4, !tbaa !5
  %5834 = add nsw i32 %5833, 1
  store i32 %5834, ptr @test_count, align 4, !tbaa !5
  %5835 = load ptr, ptr %88, align 8, !tbaa !9
  %5836 = load ptr, ptr %3, align 8, !tbaa !9
  %5837 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef %5835, ptr noundef %5836) #12
  %5838 = icmp eq i32 %5837, -1
  br i1 %5838, label %5839, label %5861

5839:                                             ; preds = %5832
  %5840 = load i32, ptr %598, align 4, !tbaa !5
  %5841 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5842 = call i32 @s2n_print_stacktrace(ptr noundef %5841) #12
  %5843 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5844 = trunc nuw i8 %5843 to i1
  br i1 %5844, label %5845, label %5849

5845:                                             ; preds = %5839
  %5846 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5847 = call i32 @fileno(ptr noundef %5846) #12
  %5848 = call i32 @isatty(i32 noundef %5847) #12
  %.not1072 = icmp eq i32 %5848, 0
  br i1 %.not1072, label %5849, label %5850

5849:                                             ; preds = %5845, %5839
  br label %5850

5850:                                             ; preds = %5845, %5849
  %.str.5.sink3095 = phi ptr [ @.str.5, %5849 ], [ @.str.2, %5845 ]
  store i32 %5840, ptr %598, align 4, !tbaa !5
  %5851 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5852 = load i32, ptr @test_count, align 4, !tbaa !5
  %5853 = load i32, ptr %544, align 4, !tbaa !5
  %5854 = call ptr @s2n_strerror(i32 noundef %5853, ptr noundef nonnull @.str.4) #12
  %5855 = load i32, ptr %544, align 4, !tbaa !5
  %5856 = call ptr @s2n_strerror_debug(i32 noundef %5855, ptr noundef nonnull @.str.4) #12
  %5857 = load i32, ptr %598, align 4, !tbaa !5
  %5858 = call ptr @strerror(i32 noundef %5857) #12
  %5859 = load i32, ptr %598, align 4, !tbaa !5
  %5860 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5851, ptr noundef nonnull %.str.5.sink3095, i32 noundef %5852, ptr noundef nonnull @.str.119, ptr noundef nonnull @.str.1, i32 noundef 599, ptr noundef %5854, ptr noundef %5856, ptr noundef %5858, i32 noundef %5859) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5861:                                             ; preds = %5832
  %5862 = load i32, ptr @test_count, align 4, !tbaa !5
  %5863 = add nsw i32 %5862, 1
  store i32 %5863, ptr @test_count, align 4, !tbaa !5
  %5864 = load ptr, ptr %88, align 8, !tbaa !9
  %5865 = call i32 @s2n_config_disable_x509_verification(ptr noundef %5864) #12
  %5866 = icmp eq i32 %5865, -1
  br i1 %5866, label %5867, label %5889

5867:                                             ; preds = %5861
  %5868 = load i32, ptr %598, align 4, !tbaa !5
  %5869 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5870 = call i32 @s2n_print_stacktrace(ptr noundef %5869) #12
  %5871 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5872 = trunc nuw i8 %5871 to i1
  br i1 %5872, label %5873, label %5877

5873:                                             ; preds = %5867
  %5874 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5875 = call i32 @fileno(ptr noundef %5874) #12
  %5876 = call i32 @isatty(i32 noundef %5875) #12
  %.not1071 = icmp eq i32 %5876, 0
  br i1 %.not1071, label %5877, label %5878

5877:                                             ; preds = %5873, %5867
  br label %5878

5878:                                             ; preds = %5873, %5877
  %.str.5.sink3104 = phi ptr [ @.str.5, %5877 ], [ @.str.2, %5873 ]
  store i32 %5868, ptr %598, align 4, !tbaa !5
  %5879 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5880 = load i32, ptr @test_count, align 4, !tbaa !5
  %5881 = load i32, ptr %544, align 4, !tbaa !5
  %5882 = call ptr @s2n_strerror(i32 noundef %5881, ptr noundef nonnull @.str.4) #12
  %5883 = load i32, ptr %544, align 4, !tbaa !5
  %5884 = call ptr @s2n_strerror_debug(i32 noundef %5883, ptr noundef nonnull @.str.4) #12
  %5885 = load i32, ptr %598, align 4, !tbaa !5
  %5886 = call ptr @strerror(i32 noundef %5885) #12
  %5887 = load i32, ptr %598, align 4, !tbaa !5
  %5888 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5879, ptr noundef nonnull %.str.5.sink3104, i32 noundef %5880, ptr noundef nonnull @.str.120, ptr noundef nonnull @.str.1, i32 noundef 600, ptr noundef %5882, ptr noundef %5884, ptr noundef %5886, i32 noundef %5887) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5889:                                             ; preds = %5861
  %5890 = load i32, ptr @test_count, align 4, !tbaa !5
  %5891 = add nsw i32 %5890, 1
  store i32 %5891, ptr @test_count, align 4, !tbaa !5
  %5892 = load ptr, ptr %88, align 8, !tbaa !9
  %5893 = call i32 @s2n_config_set_serialization_version(ptr noundef %5892, i32 noundef 1) #12
  %5894 = icmp eq i32 %5893, -1
  br i1 %5894, label %5895, label %5917

5895:                                             ; preds = %5889
  %5896 = load i32, ptr %598, align 4, !tbaa !5
  %5897 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5898 = call i32 @s2n_print_stacktrace(ptr noundef %5897) #12
  %5899 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5900 = trunc nuw i8 %5899 to i1
  br i1 %5900, label %5901, label %5905

5901:                                             ; preds = %5895
  %5902 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5903 = call i32 @fileno(ptr noundef %5902) #12
  %5904 = call i32 @isatty(i32 noundef %5903) #12
  %.not1070 = icmp eq i32 %5904, 0
  br i1 %.not1070, label %5905, label %5906

5905:                                             ; preds = %5901, %5895
  br label %5906

5906:                                             ; preds = %5901, %5905
  %.str.5.sink3113 = phi ptr [ @.str.5, %5905 ], [ @.str.2, %5901 ]
  store i32 %5896, ptr %598, align 4, !tbaa !5
  %5907 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5908 = load i32, ptr @test_count, align 4, !tbaa !5
  %5909 = load i32, ptr %544, align 4, !tbaa !5
  %5910 = call ptr @s2n_strerror(i32 noundef %5909, ptr noundef nonnull @.str.4) #12
  %5911 = load i32, ptr %544, align 4, !tbaa !5
  %5912 = call ptr @s2n_strerror_debug(i32 noundef %5911, ptr noundef nonnull @.str.4) #12
  %5913 = load i32, ptr %598, align 4, !tbaa !5
  %5914 = call ptr @strerror(i32 noundef %5913) #12
  %5915 = load i32, ptr %598, align 4, !tbaa !5
  %5916 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5907, ptr noundef nonnull %.str.5.sink3113, i32 noundef %5908, ptr noundef nonnull @.str.121, ptr noundef nonnull @.str.1, i32 noundef 601, ptr noundef %5910, ptr noundef %5912, ptr noundef %5914, i32 noundef %5915) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5917:                                             ; preds = %5889
  %5918 = load i32, ptr @test_count, align 4, !tbaa !5
  %5919 = add nsw i32 %5918, 1
  store i32 %5919, ptr @test_count, align 4, !tbaa !5
  %5920 = load ptr, ptr %88, align 8, !tbaa !9
  %5921 = call i32 @s2n_resumption_test_ticket_key_setup(ptr noundef %5920) #12
  %5922 = call zeroext i1 @s2n_result_is_ok(i32 %5921)
  br i1 %5922, label %5945, label %5923

5923:                                             ; preds = %5917
  %5924 = load i32, ptr %598, align 4, !tbaa !5
  %5925 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5926 = call i32 @s2n_print_stacktrace(ptr noundef %5925) #12
  %5927 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5928 = trunc nuw i8 %5927 to i1
  br i1 %5928, label %5929, label %5933

5929:                                             ; preds = %5923
  %5930 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5931 = call i32 @fileno(ptr noundef %5930) #12
  %5932 = call i32 @isatty(i32 noundef %5931) #12
  %.not931 = icmp eq i32 %5932, 0
  br i1 %.not931, label %5933, label %5934

5933:                                             ; preds = %5929, %5923
  br label %5934

5934:                                             ; preds = %5929, %5933
  %.str.5.sink3122 = phi ptr [ @.str.5, %5933 ], [ @.str.2, %5929 ]
  store i32 %5924, ptr %598, align 4, !tbaa !5
  %5935 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5936 = load i32, ptr @test_count, align 4, !tbaa !5
  %5937 = load i32, ptr %544, align 4, !tbaa !5
  %5938 = call ptr @s2n_strerror(i32 noundef %5937, ptr noundef nonnull @.str.4) #12
  %5939 = load i32, ptr %544, align 4, !tbaa !5
  %5940 = call ptr @s2n_strerror_debug(i32 noundef %5939, ptr noundef nonnull @.str.4) #12
  %5941 = load i32, ptr %598, align 4, !tbaa !5
  %5942 = call ptr @strerror(i32 noundef %5941) #12
  %5943 = load i32, ptr %598, align 4, !tbaa !5
  %5944 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5935, ptr noundef nonnull %.str.5.sink3122, i32 noundef %5936, ptr noundef nonnull @.str.122, ptr noundef nonnull @.str.1, i32 noundef 602, ptr noundef %5938, ptr noundef %5940, ptr noundef %5942, i32 noundef %5943) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5945:                                             ; preds = %5917
  call void @llvm.lifetime.start.p0(i64 142, ptr nonnull %89) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(142) %89, i8 0, i64 142, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %90) #12
  %5946 = call ptr @s2n_connection_new(i32 noundef 1) #12
  store ptr %5946, ptr %90, align 8, !tbaa !9
  %5947 = load i32, ptr @test_count, align 4, !tbaa !5
  %5948 = add nsw i32 %5947, 1
  store i32 %5948, ptr @test_count, align 4, !tbaa !5
  %5949 = icmp eq ptr %5946, null
  br i1 %5949, label %5950, label %5972

5950:                                             ; preds = %5945
  %5951 = load i32, ptr %598, align 4, !tbaa !5
  %5952 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5953 = call i32 @s2n_print_stacktrace(ptr noundef %5952) #12
  %5954 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5955 = trunc nuw i8 %5954 to i1
  br i1 %5955, label %5956, label %5960

5956:                                             ; preds = %5950
  %5957 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5958 = call i32 @fileno(ptr noundef %5957) #12
  %5959 = call i32 @isatty(i32 noundef %5958) #12
  %.not1069 = icmp eq i32 %5959, 0
  br i1 %.not1069, label %5960, label %5961

5960:                                             ; preds = %5956, %5950
  br label %5961

5961:                                             ; preds = %5956, %5960
  %.str.5.sink3131 = phi ptr [ @.str.5, %5960 ], [ @.str.2, %5956 ]
  store i32 %5951, ptr %598, align 4, !tbaa !5
  %5962 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5963 = load i32, ptr @test_count, align 4, !tbaa !5
  %5964 = load i32, ptr %544, align 4, !tbaa !5
  %5965 = call ptr @s2n_strerror(i32 noundef %5964, ptr noundef nonnull @.str.4) #12
  %5966 = load i32, ptr %544, align 4, !tbaa !5
  %5967 = call ptr @s2n_strerror_debug(i32 noundef %5966, ptr noundef nonnull @.str.4) #12
  %5968 = load i32, ptr %598, align 4, !tbaa !5
  %5969 = call ptr @strerror(i32 noundef %5968) #12
  %5970 = load i32, ptr %598, align 4, !tbaa !5
  %5971 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5962, ptr noundef nonnull %.str.5.sink3131, i32 noundef %5963, ptr noundef nonnull @.str.42, ptr noundef nonnull @.str.1, i32 noundef 610, ptr noundef %5965, ptr noundef %5967, ptr noundef %5969, i32 noundef %5970) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5972:                                             ; preds = %5945
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %91) #12
  %5973 = call ptr @s2n_connection_new(i32 noundef 0) #12
  store ptr %5973, ptr %91, align 8, !tbaa !9
  %5974 = load i32, ptr @test_count, align 4, !tbaa !5
  %5975 = add nsw i32 %5974, 1
  store i32 %5975, ptr @test_count, align 4, !tbaa !5
  %5976 = icmp eq ptr %5973, null
  br i1 %5976, label %5977, label %5999

5977:                                             ; preds = %5972
  %5978 = load i32, ptr %598, align 4, !tbaa !5
  %5979 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5980 = call i32 @s2n_print_stacktrace(ptr noundef %5979) #12
  %5981 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5982 = trunc nuw i8 %5981 to i1
  br i1 %5982, label %5983, label %5987

5983:                                             ; preds = %5977
  %5984 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5985 = call i32 @fileno(ptr noundef %5984) #12
  %5986 = call i32 @isatty(i32 noundef %5985) #12
  %.not1068 = icmp eq i32 %5986, 0
  br i1 %.not1068, label %5987, label %5988

5987:                                             ; preds = %5983, %5977
  br label %5988

5988:                                             ; preds = %5983, %5987
  %.str.5.sink3140 = phi ptr [ @.str.5, %5987 ], [ @.str.2, %5983 ]
  store i32 %5978, ptr %598, align 4, !tbaa !5
  %5989 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5990 = load i32, ptr @test_count, align 4, !tbaa !5
  %5991 = load i32, ptr %544, align 4, !tbaa !5
  %5992 = call ptr @s2n_strerror(i32 noundef %5991, ptr noundef nonnull @.str.4) #12
  %5993 = load i32, ptr %544, align 4, !tbaa !5
  %5994 = call ptr @s2n_strerror_debug(i32 noundef %5993, ptr noundef nonnull @.str.4) #12
  %5995 = load i32, ptr %598, align 4, !tbaa !5
  %5996 = call ptr @strerror(i32 noundef %5995) #12
  %5997 = load i32, ptr %598, align 4, !tbaa !5
  %5998 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5989, ptr noundef nonnull %.str.5.sink3140, i32 noundef %5990, ptr noundef nonnull @.str.43, ptr noundef nonnull @.str.1, i32 noundef 613, ptr noundef %5992, ptr noundef %5994, ptr noundef %5996, i32 noundef %5997) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5999:                                             ; preds = %5972
  %6000 = add nsw i32 %5974, 2
  store i32 %6000, ptr @test_count, align 4, !tbaa !5
  %6001 = load ptr, ptr %90, align 8, !tbaa !9
  %6002 = load ptr, ptr %88, align 8, !tbaa !9
  %6003 = call i32 @s2n_connection_set_config(ptr noundef %6001, ptr noundef %6002) #12
  %6004 = icmp eq i32 %6003, -1
  br i1 %6004, label %6005, label %6027

6005:                                             ; preds = %5999
  %6006 = load i32, ptr %598, align 4, !tbaa !5
  %6007 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6008 = call i32 @s2n_print_stacktrace(ptr noundef %6007) #12
  %6009 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6010 = trunc nuw i8 %6009 to i1
  br i1 %6010, label %6011, label %6015

6011:                                             ; preds = %6005
  %6012 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6013 = call i32 @fileno(ptr noundef %6012) #12
  %6014 = call i32 @isatty(i32 noundef %6013) #12
  %.not1067 = icmp eq i32 %6014, 0
  br i1 %.not1067, label %6015, label %6016

6015:                                             ; preds = %6011, %6005
  br label %6016

6016:                                             ; preds = %6011, %6015
  %.str.5.sink3149 = phi ptr [ @.str.5, %6015 ], [ @.str.2, %6011 ]
  store i32 %6006, ptr %598, align 4, !tbaa !5
  %6017 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6018 = load i32, ptr @test_count, align 4, !tbaa !5
  %6019 = load i32, ptr %544, align 4, !tbaa !5
  %6020 = call ptr @s2n_strerror(i32 noundef %6019, ptr noundef nonnull @.str.4) #12
  %6021 = load i32, ptr %544, align 4, !tbaa !5
  %6022 = call ptr @s2n_strerror_debug(i32 noundef %6021, ptr noundef nonnull @.str.4) #12
  %6023 = load i32, ptr %598, align 4, !tbaa !5
  %6024 = call ptr @strerror(i32 noundef %6023) #12
  %6025 = load i32, ptr %598, align 4, !tbaa !5
  %6026 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6017, ptr noundef nonnull %.str.5.sink3149, i32 noundef %6018, ptr noundef nonnull @.str.123, ptr noundef nonnull @.str.1, i32 noundef 615, ptr noundef %6020, ptr noundef %6022, ptr noundef %6024, i32 noundef %6025) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6027:                                             ; preds = %5999
  %6028 = load i32, ptr @test_count, align 4, !tbaa !5
  %6029 = add nsw i32 %6028, 1
  store i32 %6029, ptr @test_count, align 4, !tbaa !5
  %6030 = load ptr, ptr %91, align 8, !tbaa !9
  %6031 = load ptr, ptr %88, align 8, !tbaa !9
  %6032 = call i32 @s2n_connection_set_config(ptr noundef %6030, ptr noundef %6031) #12
  %6033 = icmp eq i32 %6032, -1
  br i1 %6033, label %6034, label %6056

6034:                                             ; preds = %6027
  %6035 = load i32, ptr %598, align 4, !tbaa !5
  %6036 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6037 = call i32 @s2n_print_stacktrace(ptr noundef %6036) #12
  %6038 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6039 = trunc nuw i8 %6038 to i1
  br i1 %6039, label %6040, label %6044

6040:                                             ; preds = %6034
  %6041 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6042 = call i32 @fileno(ptr noundef %6041) #12
  %6043 = call i32 @isatty(i32 noundef %6042) #12
  %.not1066 = icmp eq i32 %6043, 0
  br i1 %.not1066, label %6044, label %6045

6044:                                             ; preds = %6040, %6034
  br label %6045

6045:                                             ; preds = %6040, %6044
  %.str.5.sink3158 = phi ptr [ @.str.5, %6044 ], [ @.str.2, %6040 ]
  store i32 %6035, ptr %598, align 4, !tbaa !5
  %6046 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6047 = load i32, ptr @test_count, align 4, !tbaa !5
  %6048 = load i32, ptr %544, align 4, !tbaa !5
  %6049 = call ptr @s2n_strerror(i32 noundef %6048, ptr noundef nonnull @.str.4) #12
  %6050 = load i32, ptr %544, align 4, !tbaa !5
  %6051 = call ptr @s2n_strerror_debug(i32 noundef %6050, ptr noundef nonnull @.str.4) #12
  %6052 = load i32, ptr %598, align 4, !tbaa !5
  %6053 = call ptr @strerror(i32 noundef %6052) #12
  %6054 = load i32, ptr %598, align 4, !tbaa !5
  %6055 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6046, ptr noundef nonnull %.str.5.sink3158, i32 noundef %6047, ptr noundef nonnull @.str.124, ptr noundef nonnull @.str.1, i32 noundef 616, ptr noundef %6049, ptr noundef %6051, ptr noundef %6053, i32 noundef %6054) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6056:                                             ; preds = %6027
  call void @llvm.lifetime.start.p0(i64 80, ptr nonnull %92) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(80) %92, i8 0, i64 80, i1 false)
  %6057 = load i32, ptr @test_count, align 4, !tbaa !5
  %6058 = add nsw i32 %6057, 1
  store i32 %6058, ptr @test_count, align 4, !tbaa !5
  %6059 = call i32 @s2n_io_stuffer_pair_init(ptr noundef nonnull %92) #12
  %6060 = call zeroext i1 @s2n_result_is_ok(i32 %6059)
  br i1 %6060, label %6083, label %6061

6061:                                             ; preds = %6056
  %6062 = load i32, ptr %598, align 4, !tbaa !5
  %6063 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6064 = call i32 @s2n_print_stacktrace(ptr noundef %6063) #12
  %6065 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6066 = trunc nuw i8 %6065 to i1
  br i1 %6066, label %6067, label %6071

6067:                                             ; preds = %6061
  %6068 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6069 = call i32 @fileno(ptr noundef %6068) #12
  %6070 = call i32 @isatty(i32 noundef %6069) #12
  %.not932 = icmp eq i32 %6070, 0
  br i1 %.not932, label %6071, label %6072

6071:                                             ; preds = %6067, %6061
  br label %6072

6072:                                             ; preds = %6067, %6071
  %.str.5.sink3167 = phi ptr [ @.str.5, %6071 ], [ @.str.2, %6067 ]
  store i32 %6062, ptr %598, align 4, !tbaa !5
  %6073 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6074 = load i32, ptr @test_count, align 4, !tbaa !5
  %6075 = load i32, ptr %544, align 4, !tbaa !5
  %6076 = call ptr @s2n_strerror(i32 noundef %6075, ptr noundef nonnull @.str.4) #12
  %6077 = load i32, ptr %544, align 4, !tbaa !5
  %6078 = call ptr @s2n_strerror_debug(i32 noundef %6077, ptr noundef nonnull @.str.4) #12
  %6079 = load i32, ptr %598, align 4, !tbaa !5
  %6080 = call ptr @strerror(i32 noundef %6079) #12
  %6081 = load i32, ptr %598, align 4, !tbaa !5
  %6082 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6073, ptr noundef nonnull %.str.5.sink3167, i32 noundef %6074, ptr noundef nonnull @.str.46, ptr noundef nonnull @.str.1, i32 noundef 619, ptr noundef %6076, ptr noundef %6078, ptr noundef %6080, i32 noundef %6081) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6083:                                             ; preds = %6056
  %6084 = load i32, ptr @test_count, align 4, !tbaa !5
  %6085 = add nsw i32 %6084, 1
  store i32 %6085, ptr @test_count, align 4, !tbaa !5
  %6086 = load ptr, ptr %90, align 8, !tbaa !9
  %6087 = load ptr, ptr %91, align 8, !tbaa !9
  %6088 = call i32 @s2n_connections_set_io_stuffer_pair(ptr noundef %6086, ptr noundef %6087, ptr noundef nonnull %92) #12
  %6089 = call zeroext i1 @s2n_result_is_ok(i32 %6088)
  br i1 %6089, label %6112, label %6090

6090:                                             ; preds = %6083
  %6091 = load i32, ptr %598, align 4, !tbaa !5
  %6092 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6093 = call i32 @s2n_print_stacktrace(ptr noundef %6092) #12
  %6094 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6095 = trunc nuw i8 %6094 to i1
  br i1 %6095, label %6096, label %6100

6096:                                             ; preds = %6090
  %6097 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6098 = call i32 @fileno(ptr noundef %6097) #12
  %6099 = call i32 @isatty(i32 noundef %6098) #12
  %.not933 = icmp eq i32 %6099, 0
  br i1 %.not933, label %6100, label %6101

6100:                                             ; preds = %6096, %6090
  br label %6101

6101:                                             ; preds = %6096, %6100
  %.str.5.sink3176 = phi ptr [ @.str.5, %6100 ], [ @.str.2, %6096 ]
  store i32 %6091, ptr %598, align 4, !tbaa !5
  %6102 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6103 = load i32, ptr @test_count, align 4, !tbaa !5
  %6104 = load i32, ptr %544, align 4, !tbaa !5
  %6105 = call ptr @s2n_strerror(i32 noundef %6104, ptr noundef nonnull @.str.4) #12
  %6106 = load i32, ptr %544, align 4, !tbaa !5
  %6107 = call ptr @s2n_strerror_debug(i32 noundef %6106, ptr noundef nonnull @.str.4) #12
  %6108 = load i32, ptr %598, align 4, !tbaa !5
  %6109 = call ptr @strerror(i32 noundef %6108) #12
  %6110 = load i32, ptr %598, align 4, !tbaa !5
  %6111 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6102, ptr noundef nonnull %.str.5.sink3176, i32 noundef %6103, ptr noundef nonnull @.str.47, ptr noundef nonnull @.str.1, i32 noundef 620, ptr noundef %6105, ptr noundef %6107, ptr noundef %6109, i32 noundef %6110) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6112:                                             ; preds = %6083
  %6113 = load i32, ptr @test_count, align 4, !tbaa !5
  %6114 = add nsw i32 %6113, 1
  store i32 %6114, ptr @test_count, align 4, !tbaa !5
  %6115 = load ptr, ptr %91, align 8, !tbaa !9
  %6116 = load ptr, ptr %90, align 8, !tbaa !9
  %6117 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %6115, ptr noundef %6116) #12
  %6118 = icmp eq i32 %6117, -1
  br i1 %6118, label %6119, label %6141

6119:                                             ; preds = %6112
  %6120 = load i32, ptr %598, align 4, !tbaa !5
  %6121 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6122 = call i32 @s2n_print_stacktrace(ptr noundef %6121) #12
  %6123 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6124 = trunc nuw i8 %6123 to i1
  br i1 %6124, label %6125, label %6129

6125:                                             ; preds = %6119
  %6126 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6127 = call i32 @fileno(ptr noundef %6126) #12
  %6128 = call i32 @isatty(i32 noundef %6127) #12
  %.not1065 = icmp eq i32 %6128, 0
  br i1 %.not1065, label %6129, label %6130

6129:                                             ; preds = %6125, %6119
  br label %6130

6130:                                             ; preds = %6125, %6129
  %.str.5.sink3185 = phi ptr [ @.str.5, %6129 ], [ @.str.2, %6125 ]
  store i32 %6120, ptr %598, align 4, !tbaa !5
  %6131 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6132 = load i32, ptr @test_count, align 4, !tbaa !5
  %6133 = load i32, ptr %544, align 4, !tbaa !5
  %6134 = call ptr @s2n_strerror(i32 noundef %6133, ptr noundef nonnull @.str.4) #12
  %6135 = load i32, ptr %544, align 4, !tbaa !5
  %6136 = call ptr @s2n_strerror_debug(i32 noundef %6135, ptr noundef nonnull @.str.4) #12
  %6137 = load i32, ptr %598, align 4, !tbaa !5
  %6138 = call ptr @strerror(i32 noundef %6137) #12
  %6139 = load i32, ptr %598, align 4, !tbaa !5
  %6140 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6131, ptr noundef nonnull %.str.5.sink3185, i32 noundef %6132, ptr noundef nonnull @.str.48, ptr noundef nonnull @.str.1, i32 noundef 622, ptr noundef %6134, ptr noundef %6136, ptr noundef %6138, i32 noundef %6139) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6141:                                             ; preds = %6112
  %6142 = load i32, ptr @test_count, align 4, !tbaa !5
  %6143 = add nsw i32 %6142, 1
  store i32 %6143, ptr @test_count, align 4, !tbaa !5
  %6144 = load ptr, ptr %91, align 8, !tbaa !9
  %6145 = call i32 @s2n_connection_get_actual_protocol_version(ptr noundef %6144) #12
  %6146 = icmp eq i32 %6145, 33
  br i1 %6146, label %6169, label %6147

6147:                                             ; preds = %6141
  %6148 = load i32, ptr %598, align 4, !tbaa !5
  %6149 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6150 = call i32 @s2n_print_stacktrace(ptr noundef %6149) #12
  %6151 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6152 = trunc nuw i8 %6151 to i1
  br i1 %6152, label %6153, label %6157

6153:                                             ; preds = %6147
  %6154 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6155 = call i32 @fileno(ptr noundef %6154) #12
  %6156 = call i32 @isatty(i32 noundef %6155) #12
  %.not934 = icmp eq i32 %6156, 0
  br i1 %.not934, label %6157, label %6158

6157:                                             ; preds = %6153, %6147
  br label %6158

6158:                                             ; preds = %6153, %6157
  %.str.5.sink3194 = phi ptr [ @.str.5, %6157 ], [ @.str.2, %6153 ]
  store i32 %6148, ptr %598, align 4, !tbaa !5
  %6159 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6160 = load i32, ptr @test_count, align 4, !tbaa !5
  %6161 = load i32, ptr %544, align 4, !tbaa !5
  %6162 = call ptr @s2n_strerror(i32 noundef %6161, ptr noundef nonnull @.str.4) #12
  %6163 = load i32, ptr %544, align 4, !tbaa !5
  %6164 = call ptr @s2n_strerror_debug(i32 noundef %6163, ptr noundef nonnull @.str.4) #12
  %6165 = load i32, ptr %598, align 4, !tbaa !5
  %6166 = call ptr @strerror(i32 noundef %6165) #12
  %6167 = load i32, ptr %598, align 4, !tbaa !5
  %6168 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6159, ptr noundef nonnull %.str.5.sink3194, i32 noundef %6160, ptr noundef nonnull @.str.49, ptr noundef nonnull @.str.1, i32 noundef 623, ptr noundef %6162, ptr noundef %6164, ptr noundef %6166, i32 noundef %6167) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6169:                                             ; preds = %6141
  %6170 = load i32, ptr @test_count, align 4, !tbaa !5
  %6171 = add nsw i32 %6170, 1
  store i32 %6171, ptr @test_count, align 4, !tbaa !5
  %6172 = load ptr, ptr %90, align 8, !tbaa !9
  %6173 = call i32 @s2n_connection_get_session_length(ptr noundef %6172) #12
  %6174 = icmp sgt i32 %6173, 0
  br i1 %6174, label %6197, label %6175

6175:                                             ; preds = %6169
  %6176 = load i32, ptr %598, 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
  %.not935 = icmp eq i32 %6184, 0
  br i1 %.not935, label %6185, label %6186

6185:                                             ; preds = %6181, %6175
  br label %6186

6186:                                             ; preds = %6181, %6185
  %.str.5.sink3203 = phi ptr [ @.str.5, %6185 ], [ @.str.2, %6181 ]
  store i32 %6176, ptr %598, 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 %544, align 4, !tbaa !5
  %6190 = call ptr @s2n_strerror(i32 noundef %6189, ptr noundef nonnull @.str.4) #12
  %6191 = load i32, ptr %544, align 4, !tbaa !5
  %6192 = call ptr @s2n_strerror_debug(i32 noundef %6191, ptr noundef nonnull @.str.4) #12
  %6193 = load i32, ptr %598, align 4, !tbaa !5
  %6194 = call ptr @strerror(i32 noundef %6193) #12
  %6195 = load i32, ptr %598, align 4, !tbaa !5
  %6196 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6187, ptr noundef nonnull %.str.5.sink3203, i32 noundef %6188, ptr noundef nonnull @.str.125, ptr noundef nonnull @.str.1, i32 noundef 626, ptr noundef %6190, ptr noundef %6192, ptr noundef %6194, i32 noundef %6195) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6197:                                             ; preds = %6169
  %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 = load ptr, ptr %90, align 8, !tbaa !9
  %6201 = call i32 @s2n_connection_serialize(ptr noundef %6200, ptr noundef nonnull %89, i32 noundef 142) #12
  %6202 = icmp eq i32 %6201, -1
  br i1 %6202, label %6203, label %6225

6203:                                             ; preds = %6197
  %6204 = load i32, ptr %598, align 4, !tbaa !5
  %6205 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6206 = call i32 @s2n_print_stacktrace(ptr noundef %6205) #12
  %6207 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6208 = trunc nuw i8 %6207 to i1
  br i1 %6208, label %6209, label %6213

6209:                                             ; preds = %6203
  %6210 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6211 = call i32 @fileno(ptr noundef %6210) #12
  %6212 = call i32 @isatty(i32 noundef %6211) #12
  %.not1064 = icmp eq i32 %6212, 0
  br i1 %.not1064, label %6213, label %6214

6213:                                             ; preds = %6209, %6203
  br label %6214

6214:                                             ; preds = %6209, %6213
  %.str.5.sink3212 = phi ptr [ @.str.5, %6213 ], [ @.str.2, %6209 ]
  store i32 %6204, ptr %598, align 4, !tbaa !5
  %6215 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6216 = load i32, ptr @test_count, align 4, !tbaa !5
  %6217 = load i32, ptr %544, align 4, !tbaa !5
  %6218 = call ptr @s2n_strerror(i32 noundef %6217, ptr noundef nonnull @.str.4) #12
  %6219 = load i32, ptr %544, align 4, !tbaa !5
  %6220 = call ptr @s2n_strerror_debug(i32 noundef %6219, ptr noundef nonnull @.str.4) #12
  %6221 = load i32, ptr %598, align 4, !tbaa !5
  %6222 = call ptr @strerror(i32 noundef %6221) #12
  %6223 = load i32, ptr %598, align 4, !tbaa !5
  %6224 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6215, ptr noundef nonnull %.str.5.sink3212, i32 noundef %6216, ptr noundef nonnull @.str.126, ptr noundef nonnull @.str.1, i32 noundef 628, ptr noundef %6218, ptr noundef %6220, ptr noundef %6222, i32 noundef %6223) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6225:                                             ; preds = %6197
  %6226 = call i32 @s2n_io_stuffer_pair_free(ptr noundef nonnull %92) #12
  call void @llvm.lifetime.end.p0(i64 80, ptr nonnull %92) #12
  %6227 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %91) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %91) #12
  %6228 = 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 8, ptr nonnull %93) #12
  %6229 = call ptr @s2n_connection_new(i32 noundef 1) #12
  store ptr %6229, ptr %93, align 8, !tbaa !9
  %6230 = load i32, ptr @test_count, align 4, !tbaa !5
  %6231 = add nsw i32 %6230, 1
  store i32 %6231, ptr @test_count, align 4, !tbaa !5
  %6232 = icmp eq ptr %6229, null
  br i1 %6232, label %6233, label %6255

6233:                                             ; preds = %6225
  %6234 = load i32, ptr %598, align 4, !tbaa !5
  %6235 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6236 = call i32 @s2n_print_stacktrace(ptr noundef %6235) #12
  %6237 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6238 = trunc nuw i8 %6237 to i1
  br i1 %6238, label %6239, label %6243

6239:                                             ; preds = %6233
  %6240 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6241 = call i32 @fileno(ptr noundef %6240) #12
  %6242 = call i32 @isatty(i32 noundef %6241) #12
  %.not1063 = icmp eq i32 %6242, 0
  br i1 %.not1063, label %6243, label %6244

6243:                                             ; preds = %6239, %6233
  br label %6244

6244:                                             ; preds = %6239, %6243
  %.str.5.sink3221 = phi ptr [ @.str.5, %6243 ], [ @.str.2, %6239 ]
  store i32 %6234, ptr %598, align 4, !tbaa !5
  %6245 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6246 = load i32, ptr @test_count, align 4, !tbaa !5
  %6247 = load i32, ptr %544, align 4, !tbaa !5
  %6248 = call ptr @s2n_strerror(i32 noundef %6247, ptr noundef nonnull @.str.4) #12
  %6249 = load i32, ptr %544, align 4, !tbaa !5
  %6250 = call ptr @s2n_strerror_debug(i32 noundef %6249, ptr noundef nonnull @.str.4) #12
  %6251 = load i32, ptr %598, align 4, !tbaa !5
  %6252 = call ptr @strerror(i32 noundef %6251) #12
  %6253 = load i32, ptr %598, align 4, !tbaa !5
  %6254 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6245, ptr noundef nonnull %.str.5.sink3221, i32 noundef %6246, ptr noundef nonnull @.str.42, ptr noundef nonnull @.str.1, i32 noundef 635, ptr noundef %6248, ptr noundef %6250, ptr noundef %6252, i32 noundef %6253) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6255:                                             ; preds = %6225
  %6256 = add nsw i32 %6230, 2
  store i32 %6256, ptr @test_count, align 4, !tbaa !5
  %6257 = call i32 @s2n_connection_deserialize(ptr noundef nonnull %6229, ptr noundef nonnull %89, i32 noundef 142) #12
  %6258 = icmp eq i32 %6257, -1
  br i1 %6258, label %6259, label %6281

6259:                                             ; preds = %6255
  %6260 = load i32, ptr %598, align 4, !tbaa !5
  %6261 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6262 = call i32 @s2n_print_stacktrace(ptr noundef %6261) #12
  %6263 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6264 = trunc nuw i8 %6263 to i1
  br i1 %6264, label %6265, label %6269

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

6269:                                             ; preds = %6265, %6259
  br label %6270

6270:                                             ; preds = %6265, %6269
  %.str.5.sink3230 = phi ptr [ @.str.5, %6269 ], [ @.str.2, %6265 ]
  store i32 %6260, ptr %598, align 4, !tbaa !5
  %6271 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6272 = load i32, ptr @test_count, align 4, !tbaa !5
  %6273 = load i32, ptr %544, align 4, !tbaa !5
  %6274 = call ptr @s2n_strerror(i32 noundef %6273, ptr noundef nonnull @.str.4) #12
  %6275 = load i32, ptr %544, align 4, !tbaa !5
  %6276 = call ptr @s2n_strerror_debug(i32 noundef %6275, ptr noundef nonnull @.str.4) #12
  %6277 = load i32, ptr %598, align 4, !tbaa !5
  %6278 = call ptr @strerror(i32 noundef %6277) #12
  %6279 = load i32, ptr %598, align 4, !tbaa !5
  %6280 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6271, ptr noundef nonnull %.str.5.sink3230, i32 noundef %6272, ptr noundef nonnull @.str.127, ptr noundef nonnull @.str.1, i32 noundef 636, ptr noundef %6274, ptr noundef %6276, ptr noundef %6278, i32 noundef %6279) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6281:                                             ; preds = %6255
  %6282 = load i32, ptr @test_count, align 4, !tbaa !5
  %6283 = add nsw i32 %6282, 1
  store i32 %6283, ptr @test_count, align 4, !tbaa !5
  %6284 = load ptr, ptr %93, align 8, !tbaa !9
  %6285 = call i32 @s2n_connection_get_session_length(ptr noundef %6284) #12
  %6286 = icmp eq i32 %6285, 0
  br i1 %6286, label %6309, label %6287

6287:                                             ; preds = %6281
  %6288 = load i32, ptr %598, 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
  %.not936 = icmp eq i32 %6296, 0
  br i1 %.not936, label %6297, label %6298

6297:                                             ; preds = %6293, %6287
  br label %6298

6298:                                             ; preds = %6293, %6297
  %.str.5.sink3239 = phi ptr [ @.str.5, %6297 ], [ @.str.2, %6293 ]
  store i32 %6288, ptr %598, 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 %544, align 4, !tbaa !5
  %6302 = call ptr @s2n_strerror(i32 noundef %6301, ptr noundef nonnull @.str.4) #12
  %6303 = load i32, ptr %544, align 4, !tbaa !5
  %6304 = call ptr @s2n_strerror_debug(i32 noundef %6303, ptr noundef nonnull @.str.4) #12
  %6305 = load i32, ptr %598, align 4, !tbaa !5
  %6306 = call ptr @strerror(i32 noundef %6305) #12
  %6307 = load i32, ptr %598, align 4, !tbaa !5
  %6308 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6299, ptr noundef nonnull %.str.5.sink3239, i32 noundef %6300, ptr noundef nonnull @.str.128, ptr noundef nonnull @.str.1, i32 noundef 639, ptr noundef %6302, ptr noundef %6304, ptr noundef %6306, i32 noundef %6307) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6309:                                             ; preds = %6281
  %6310 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %93) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %93) #12
  call void @llvm.lifetime.end.p0(i64 142, ptr nonnull %89) #12
  %6311 = call i32 @s2n_config_ptr_free(ptr noundef nonnull %88) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %88) #12
  %6312 = call zeroext i1 (...) @s2n_is_tls13_fully_supported() #12
  br i1 %6312, label %6313, label %8520

6313:                                             ; preds = %6309
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %94) #12
  %6314 = call ptr @s2n_config_new() #12
  store ptr %6314, ptr %94, align 8, !tbaa !9
  %6315 = load i32, ptr @test_count, align 4, !tbaa !5
  %6316 = add nsw i32 %6315, 1
  store i32 %6316, ptr @test_count, align 4, !tbaa !5
  %6317 = load ptr, ptr %3, align 8, !tbaa !9
  %6318 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef %6314, ptr noundef %6317) #12
  %6319 = icmp eq i32 %6318, -1
  br i1 %6319, label %6320, label %6342

6320:                                             ; preds = %6313
  %6321 = load i32, ptr %598, align 4, !tbaa !5
  %6322 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6323 = call i32 @s2n_print_stacktrace(ptr noundef %6322) #12
  %6324 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6325 = trunc nuw i8 %6324 to i1
  br i1 %6325, label %6326, label %6330

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

6330:                                             ; preds = %6326, %6320
  br label %6331

6331:                                             ; preds = %6326, %6330
  %.str.5.sink3248 = phi ptr [ @.str.5, %6330 ], [ @.str.2, %6326 ]
  store i32 %6321, ptr %598, align 4, !tbaa !5
  %6332 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6333 = load i32, ptr @test_count, align 4, !tbaa !5
  %6334 = load i32, ptr %544, align 4, !tbaa !5
  %6335 = call ptr @s2n_strerror(i32 noundef %6334, ptr noundef nonnull @.str.4) #12
  %6336 = load i32, ptr %544, align 4, !tbaa !5
  %6337 = call ptr @s2n_strerror_debug(i32 noundef %6336, ptr noundef nonnull @.str.4) #12
  %6338 = load i32, ptr %598, align 4, !tbaa !5
  %6339 = call ptr @strerror(i32 noundef %6338) #12
  %6340 = load i32, ptr %598, align 4, !tbaa !5
  %6341 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6332, ptr noundef nonnull %.str.5.sink3248, i32 noundef %6333, ptr noundef nonnull @.str.119, ptr noundef nonnull @.str.1, i32 noundef 646, ptr noundef %6335, ptr noundef %6337, ptr noundef %6339, i32 noundef %6340) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6342:                                             ; preds = %6313
  %6343 = load i32, ptr @test_count, align 4, !tbaa !5
  %6344 = add nsw i32 %6343, 1
  store i32 %6344, ptr @test_count, align 4, !tbaa !5
  %6345 = load ptr, ptr %94, align 8, !tbaa !9
  %6346 = call i32 @s2n_config_disable_x509_verification(ptr noundef %6345) #12
  %6347 = icmp eq i32 %6346, -1
  br i1 %6347, label %6348, label %6370

6348:                                             ; preds = %6342
  %6349 = load i32, ptr %598, align 4, !tbaa !5
  %6350 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6351 = call i32 @s2n_print_stacktrace(ptr noundef %6350) #12
  %6352 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6353 = trunc nuw i8 %6352 to i1
  br i1 %6353, label %6354, label %6358

6354:                                             ; preds = %6348
  %6355 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6356 = call i32 @fileno(ptr noundef %6355) #12
  %6357 = call i32 @isatty(i32 noundef %6356) #12
  %.not1060 = icmp eq i32 %6357, 0
  br i1 %.not1060, label %6358, label %6359

6358:                                             ; preds = %6354, %6348
  br label %6359

6359:                                             ; preds = %6354, %6358
  %.str.5.sink3257 = phi ptr [ @.str.5, %6358 ], [ @.str.2, %6354 ]
  store i32 %6349, ptr %598, align 4, !tbaa !5
  %6360 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6361 = load i32, ptr @test_count, align 4, !tbaa !5
  %6362 = load i32, ptr %544, align 4, !tbaa !5
  %6363 = call ptr @s2n_strerror(i32 noundef %6362, ptr noundef nonnull @.str.4) #12
  %6364 = load i32, ptr %544, align 4, !tbaa !5
  %6365 = call ptr @s2n_strerror_debug(i32 noundef %6364, ptr noundef nonnull @.str.4) #12
  %6366 = load i32, ptr %598, align 4, !tbaa !5
  %6367 = call ptr @strerror(i32 noundef %6366) #12
  %6368 = load i32, ptr %598, align 4, !tbaa !5
  %6369 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6360, ptr noundef nonnull %.str.5.sink3257, i32 noundef %6361, ptr noundef nonnull @.str.120, ptr noundef nonnull @.str.1, i32 noundef 647, ptr noundef %6363, ptr noundef %6365, ptr noundef %6367, i32 noundef %6368) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6370:                                             ; preds = %6342
  %6371 = load i32, ptr @test_count, align 4, !tbaa !5
  %6372 = add nsw i32 %6371, 1
  store i32 %6372, ptr @test_count, align 4, !tbaa !5
  %6373 = load ptr, ptr %94, align 8, !tbaa !9
  %6374 = call i32 @s2n_config_set_serialization_version(ptr noundef %6373, i32 noundef 1) #12
  %6375 = icmp eq i32 %6374, -1
  br i1 %6375, label %6376, label %6398

6376:                                             ; preds = %6370
  %6377 = load i32, ptr %598, align 4, !tbaa !5
  %6378 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6379 = call i32 @s2n_print_stacktrace(ptr noundef %6378) #12
  %6380 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6381 = trunc nuw i8 %6380 to i1
  br i1 %6381, label %6382, label %6386

6382:                                             ; preds = %6376
  %6383 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6384 = call i32 @fileno(ptr noundef %6383) #12
  %6385 = call i32 @isatty(i32 noundef %6384) #12
  %.not1059 = icmp eq i32 %6385, 0
  br i1 %.not1059, label %6386, label %6387

6386:                                             ; preds = %6382, %6376
  br label %6387

6387:                                             ; preds = %6382, %6386
  %.str.5.sink3266 = phi ptr [ @.str.5, %6386 ], [ @.str.2, %6382 ]
  store i32 %6377, ptr %598, align 4, !tbaa !5
  %6388 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6389 = load i32, ptr @test_count, align 4, !tbaa !5
  %6390 = load i32, ptr %544, align 4, !tbaa !5
  %6391 = call ptr @s2n_strerror(i32 noundef %6390, ptr noundef nonnull @.str.4) #12
  %6392 = load i32, ptr %544, align 4, !tbaa !5
  %6393 = call ptr @s2n_strerror_debug(i32 noundef %6392, ptr noundef nonnull @.str.4) #12
  %6394 = load i32, ptr %598, align 4, !tbaa !5
  %6395 = call ptr @strerror(i32 noundef %6394) #12
  %6396 = load i32, ptr %598, align 4, !tbaa !5
  %6397 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6388, ptr noundef nonnull %.str.5.sink3266, i32 noundef %6389, ptr noundef nonnull @.str.121, ptr noundef nonnull @.str.1, i32 noundef 648, ptr noundef %6391, ptr noundef %6393, ptr noundef %6395, i32 noundef %6396) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6398:                                             ; preds = %6370
  %6399 = load i32, ptr @test_count, align 4, !tbaa !5
  %6400 = add nsw i32 %6399, 1
  store i32 %6400, ptr @test_count, align 4, !tbaa !5
  %6401 = load ptr, ptr %94, align 8, !tbaa !9
  %6402 = call i32 @s2n_config_set_cipher_preferences(ptr noundef %6401, ptr noundef nonnull @.str.129) #12
  %6403 = icmp eq i32 %6402, -1
  br i1 %6403, label %6404, label %6426

6404:                                             ; preds = %6398
  %6405 = load i32, ptr %598, align 4, !tbaa !5
  %6406 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6407 = call i32 @s2n_print_stacktrace(ptr noundef %6406) #12
  %6408 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6409 = trunc nuw i8 %6408 to i1
  br i1 %6409, label %6410, label %6414

6410:                                             ; preds = %6404
  %6411 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6412 = call i32 @fileno(ptr noundef %6411) #12
  %6413 = call i32 @isatty(i32 noundef %6412) #12
  %.not1058 = icmp eq i32 %6413, 0
  br i1 %.not1058, label %6414, label %6415

6414:                                             ; preds = %6410, %6404
  br label %6415

6415:                                             ; preds = %6410, %6414
  %.str.5.sink3275 = phi ptr [ @.str.5, %6414 ], [ @.str.2, %6410 ]
  store i32 %6405, ptr %598, align 4, !tbaa !5
  %6416 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6417 = load i32, ptr @test_count, align 4, !tbaa !5
  %6418 = load i32, ptr %544, align 4, !tbaa !5
  %6419 = call ptr @s2n_strerror(i32 noundef %6418, ptr noundef nonnull @.str.4) #12
  %6420 = load i32, ptr %544, align 4, !tbaa !5
  %6421 = call ptr @s2n_strerror_debug(i32 noundef %6420, ptr noundef nonnull @.str.4) #12
  %6422 = load i32, ptr %598, align 4, !tbaa !5
  %6423 = call ptr @strerror(i32 noundef %6422) #12
  %6424 = load i32, ptr %598, align 4, !tbaa !5
  %6425 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6416, ptr noundef nonnull %.str.5.sink3275, i32 noundef %6417, ptr noundef nonnull @.str.130, ptr noundef nonnull @.str.1, i32 noundef 649, ptr noundef %6419, ptr noundef %6421, ptr noundef %6423, i32 noundef %6424) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6426:                                             ; preds = %6398
  %6427 = load i32, ptr @test_count, align 4, !tbaa !5
  %6428 = add nsw i32 %6427, 1
  store i32 %6428, ptr @test_count, align 4, !tbaa !5
  %6429 = load ptr, ptr %94, align 8, !tbaa !9
  %6430 = call i32 @s2n_resumption_test_ticket_key_setup(ptr noundef %6429) #12
  %6431 = call zeroext i1 @s2n_result_is_ok(i32 %6430)
  br i1 %6431, label %6454, label %6432

6432:                                             ; preds = %6426
  %6433 = load i32, ptr %598, align 4, !tbaa !5
  %6434 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6435 = call i32 @s2n_print_stacktrace(ptr noundef %6434) #12
  %6436 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6437 = trunc nuw i8 %6436 to i1
  br i1 %6437, label %6438, label %6442

6438:                                             ; preds = %6432
  %6439 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6440 = call i32 @fileno(ptr noundef %6439) #12
  %6441 = call i32 @isatty(i32 noundef %6440) #12
  %.not937 = icmp eq i32 %6441, 0
  br i1 %.not937, label %6442, label %6443

6442:                                             ; preds = %6438, %6432
  br label %6443

6443:                                             ; preds = %6438, %6442
  %.str.5.sink3284 = phi ptr [ @.str.5, %6442 ], [ @.str.2, %6438 ]
  store i32 %6433, ptr %598, align 4, !tbaa !5
  %6444 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6445 = load i32, ptr @test_count, align 4, !tbaa !5
  %6446 = load i32, ptr %544, align 4, !tbaa !5
  %6447 = call ptr @s2n_strerror(i32 noundef %6446, ptr noundef nonnull @.str.4) #12
  %6448 = load i32, ptr %544, align 4, !tbaa !5
  %6449 = call ptr @s2n_strerror_debug(i32 noundef %6448, ptr noundef nonnull @.str.4) #12
  %6450 = load i32, ptr %598, align 4, !tbaa !5
  %6451 = call ptr @strerror(i32 noundef %6450) #12
  %6452 = load i32, ptr %598, align 4, !tbaa !5
  %6453 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6444, ptr noundef nonnull %.str.5.sink3284, i32 noundef %6445, ptr noundef nonnull @.str.122, ptr noundef nonnull @.str.1, i32 noundef 650, ptr noundef %6447, ptr noundef %6449, ptr noundef %6451, i32 noundef %6452) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6454:                                             ; preds = %6426
  call void @llvm.lifetime.start.p0(i64 142, ptr nonnull %95) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(142) %95, i8 0, i64 142, i1 false)
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %96) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %96, i8 0, i64 24, i1 false)
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %97) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %97, i8 0, i64 24, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %98) #12
  %6455 = call ptr @s2n_connection_new(i32 noundef 0) #12
  store ptr %6455, ptr %98, align 8, !tbaa !9
  %6456 = load i32, ptr @test_count, align 4, !tbaa !5
  %6457 = add nsw i32 %6456, 1
  store i32 %6457, ptr @test_count, align 4, !tbaa !5
  %6458 = icmp eq ptr %6455, null
  br i1 %6458, label %6459, label %6481

6459:                                             ; preds = %6454
  %6460 = load i32, ptr %598, align 4, !tbaa !5
  %6461 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6462 = call i32 @s2n_print_stacktrace(ptr noundef %6461) #12
  %6463 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6464 = trunc nuw i8 %6463 to i1
  br i1 %6464, label %6465, label %6469

6465:                                             ; preds = %6459
  %6466 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6467 = call i32 @fileno(ptr noundef %6466) #12
  %6468 = call i32 @isatty(i32 noundef %6467) #12
  %.not1057 = icmp eq i32 %6468, 0
  br i1 %.not1057, label %6469, label %6470

6469:                                             ; preds = %6465, %6459
  br label %6470

6470:                                             ; preds = %6465, %6469
  %.str.5.sink3293 = phi ptr [ @.str.5, %6469 ], [ @.str.2, %6465 ]
  store i32 %6460, ptr %598, align 4, !tbaa !5
  %6471 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6472 = load i32, ptr @test_count, align 4, !tbaa !5
  %6473 = load i32, ptr %544, align 4, !tbaa !5
  %6474 = call ptr @s2n_strerror(i32 noundef %6473, ptr noundef nonnull @.str.4) #12
  %6475 = load i32, ptr %544, align 4, !tbaa !5
  %6476 = call ptr @s2n_strerror_debug(i32 noundef %6475, ptr noundef nonnull @.str.4) #12
  %6477 = load i32, ptr %598, align 4, !tbaa !5
  %6478 = call ptr @strerror(i32 noundef %6477) #12
  %6479 = load i32, ptr %598, align 4, !tbaa !5
  %6480 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6471, ptr noundef nonnull %.str.5.sink3293, i32 noundef %6472, ptr noundef nonnull @.str.43, ptr noundef nonnull @.str.1, i32 noundef 660, ptr noundef %6474, ptr noundef %6476, ptr noundef %6478, i32 noundef %6479) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6481:                                             ; preds = %6454
  %6482 = add nsw i32 %6456, 2
  store i32 %6482, ptr @test_count, align 4, !tbaa !5
  %6483 = load ptr, ptr %94, align 8, !tbaa !9
  %6484 = call i32 @s2n_connection_set_config(ptr noundef nonnull %6455, ptr noundef %6483) #12
  %6485 = icmp eq i32 %6484, -1
  br i1 %6485, label %6486, label %6508

6486:                                             ; preds = %6481
  %6487 = load i32, ptr %598, align 4, !tbaa !5
  %6488 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6489 = call i32 @s2n_print_stacktrace(ptr noundef %6488) #12
  %6490 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6491 = trunc nuw i8 %6490 to i1
  br i1 %6491, label %6492, label %6496

6492:                                             ; preds = %6486
  %6493 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6494 = call i32 @fileno(ptr noundef %6493) #12
  %6495 = call i32 @isatty(i32 noundef %6494) #12
  %.not1056 = icmp eq i32 %6495, 0
  br i1 %.not1056, label %6496, label %6497

6496:                                             ; preds = %6492, %6486
  br label %6497

6497:                                             ; preds = %6492, %6496
  %.str.5.sink3302 = phi ptr [ @.str.5, %6496 ], [ @.str.2, %6492 ]
  store i32 %6487, ptr %598, align 4, !tbaa !5
  %6498 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6499 = load i32, ptr @test_count, align 4, !tbaa !5
  %6500 = load i32, ptr %544, align 4, !tbaa !5
  %6501 = call ptr @s2n_strerror(i32 noundef %6500, ptr noundef nonnull @.str.4) #12
  %6502 = load i32, ptr %544, align 4, !tbaa !5
  %6503 = call ptr @s2n_strerror_debug(i32 noundef %6502, ptr noundef nonnull @.str.4) #12
  %6504 = load i32, ptr %598, align 4, !tbaa !5
  %6505 = call ptr @strerror(i32 noundef %6504) #12
  %6506 = load i32, ptr %598, align 4, !tbaa !5
  %6507 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6498, ptr noundef nonnull %.str.5.sink3302, i32 noundef %6499, ptr noundef nonnull @.str.124, ptr noundef nonnull @.str.1, i32 noundef 661, ptr noundef %6501, ptr noundef %6503, ptr noundef %6505, i32 noundef %6506) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6508:                                             ; preds = %6481
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %99) #12
  %6509 = call ptr @s2n_connection_new(i32 noundef 1) #12
  store ptr %6509, ptr %99, align 8, !tbaa !9
  %6510 = load i32, ptr @test_count, align 4, !tbaa !5
  %6511 = add nsw i32 %6510, 1
  store i32 %6511, ptr @test_count, align 4, !tbaa !5
  %6512 = icmp eq ptr %6509, null
  br i1 %6512, label %6513, label %6535

6513:                                             ; preds = %6508
  %6514 = load i32, ptr %598, align 4, !tbaa !5
  %6515 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6516 = call i32 @s2n_print_stacktrace(ptr noundef %6515) #12
  %6517 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6518 = trunc nuw i8 %6517 to i1
  br i1 %6518, label %6519, label %6523

6519:                                             ; preds = %6513
  %6520 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6521 = call i32 @fileno(ptr noundef %6520) #12
  %6522 = call i32 @isatty(i32 noundef %6521) #12
  %.not1055 = icmp eq i32 %6522, 0
  br i1 %.not1055, label %6523, label %6524

6523:                                             ; preds = %6519, %6513
  br label %6524

6524:                                             ; preds = %6519, %6523
  %.str.5.sink3311 = phi ptr [ @.str.5, %6523 ], [ @.str.2, %6519 ]
  store i32 %6514, ptr %598, align 4, !tbaa !5
  %6525 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6526 = load i32, ptr @test_count, align 4, !tbaa !5
  %6527 = load i32, ptr %544, align 4, !tbaa !5
  %6528 = call ptr @s2n_strerror(i32 noundef %6527, ptr noundef nonnull @.str.4) #12
  %6529 = load i32, ptr %544, align 4, !tbaa !5
  %6530 = call ptr @s2n_strerror_debug(i32 noundef %6529, ptr noundef nonnull @.str.4) #12
  %6531 = load i32, ptr %598, align 4, !tbaa !5
  %6532 = call ptr @strerror(i32 noundef %6531) #12
  %6533 = load i32, ptr %598, align 4, !tbaa !5
  %6534 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6525, ptr noundef nonnull %.str.5.sink3311, i32 noundef %6526, ptr noundef nonnull @.str.42, ptr noundef nonnull @.str.1, i32 noundef 667, ptr noundef %6528, ptr noundef %6530, ptr noundef %6532, i32 noundef %6533) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6535:                                             ; preds = %6508
  %6536 = add nsw i32 %6510, 2
  store i32 %6536, ptr @test_count, align 4, !tbaa !5
  %6537 = load ptr, ptr %94, align 8, !tbaa !9
  %6538 = call i32 @s2n_connection_set_config(ptr noundef nonnull %6509, ptr noundef %6537) #12
  %6539 = icmp eq i32 %6538, -1
  br i1 %6539, label %6540, label %6562

6540:                                             ; preds = %6535
  %6541 = load i32, ptr %598, align 4, !tbaa !5
  %6542 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6543 = call i32 @s2n_print_stacktrace(ptr noundef %6542) #12
  %6544 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6545 = trunc nuw i8 %6544 to i1
  br i1 %6545, label %6546, label %6550

6546:                                             ; preds = %6540
  %6547 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6548 = call i32 @fileno(ptr noundef %6547) #12
  %6549 = call i32 @isatty(i32 noundef %6548) #12
  %.not1054 = icmp eq i32 %6549, 0
  br i1 %.not1054, label %6550, label %6551

6550:                                             ; preds = %6546, %6540
  br label %6551

6551:                                             ; preds = %6546, %6550
  %.str.5.sink3320 = phi ptr [ @.str.5, %6550 ], [ @.str.2, %6546 ]
  store i32 %6541, ptr %598, align 4, !tbaa !5
  %6552 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6553 = load i32, ptr @test_count, align 4, !tbaa !5
  %6554 = load i32, ptr %544, align 4, !tbaa !5
  %6555 = call ptr @s2n_strerror(i32 noundef %6554, ptr noundef nonnull @.str.4) #12
  %6556 = load i32, ptr %544, align 4, !tbaa !5
  %6557 = call ptr @s2n_strerror_debug(i32 noundef %6556, ptr noundef nonnull @.str.4) #12
  %6558 = load i32, ptr %598, align 4, !tbaa !5
  %6559 = call ptr @strerror(i32 noundef %6558) #12
  %6560 = load i32, ptr %598, align 4, !tbaa !5
  %6561 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6552, ptr noundef nonnull %.str.5.sink3320, i32 noundef %6553, ptr noundef nonnull @.str.123, ptr noundef nonnull @.str.1, i32 noundef 668, ptr noundef %6555, ptr noundef %6557, ptr noundef %6559, i32 noundef %6560) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6562:                                             ; preds = %6535
  call void @llvm.lifetime.start.p0(i64 80, ptr nonnull %100) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(80) %100, i8 0, i64 80, i1 false)
  %6563 = load i32, ptr @test_count, align 4, !tbaa !5
  %6564 = add nsw i32 %6563, 1
  store i32 %6564, ptr @test_count, align 4, !tbaa !5
  %6565 = call i32 @s2n_io_stuffer_pair_init(ptr noundef nonnull %100) #12
  %6566 = call zeroext i1 @s2n_result_is_ok(i32 %6565)
  br i1 %6566, label %6589, label %6567

6567:                                             ; preds = %6562
  %6568 = load i32, ptr %598, align 4, !tbaa !5
  %6569 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6570 = call i32 @s2n_print_stacktrace(ptr noundef %6569) #12
  %6571 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6572 = trunc nuw i8 %6571 to i1
  br i1 %6572, label %6573, label %6577

6573:                                             ; preds = %6567
  %6574 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6575 = call i32 @fileno(ptr noundef %6574) #12
  %6576 = call i32 @isatty(i32 noundef %6575) #12
  %.not938 = icmp eq i32 %6576, 0
  br i1 %.not938, label %6577, label %6578

6577:                                             ; preds = %6573, %6567
  br label %6578

6578:                                             ; preds = %6573, %6577
  %.str.5.sink3329 = phi ptr [ @.str.5, %6577 ], [ @.str.2, %6573 ]
  store i32 %6568, ptr %598, align 4, !tbaa !5
  %6579 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6580 = load i32, ptr @test_count, align 4, !tbaa !5
  %6581 = load i32, ptr %544, align 4, !tbaa !5
  %6582 = call ptr @s2n_strerror(i32 noundef %6581, ptr noundef nonnull @.str.4) #12
  %6583 = load i32, ptr %544, align 4, !tbaa !5
  %6584 = call ptr @s2n_strerror_debug(i32 noundef %6583, ptr noundef nonnull @.str.4) #12
  %6585 = load i32, ptr %598, align 4, !tbaa !5
  %6586 = call ptr @strerror(i32 noundef %6585) #12
  %6587 = load i32, ptr %598, align 4, !tbaa !5
  %6588 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6579, ptr noundef nonnull %.str.5.sink3329, i32 noundef %6580, ptr noundef nonnull @.str.46, ptr noundef nonnull @.str.1, i32 noundef 671, ptr noundef %6582, ptr noundef %6584, ptr noundef %6586, i32 noundef %6587) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6589:                                             ; preds = %6562
  %6590 = load i32, ptr @test_count, align 4, !tbaa !5
  %6591 = add nsw i32 %6590, 1
  store i32 %6591, ptr @test_count, align 4, !tbaa !5
  %6592 = load ptr, ptr %99, align 8, !tbaa !9
  %6593 = load ptr, ptr %98, align 8, !tbaa !9
  %6594 = call i32 @s2n_connections_set_io_stuffer_pair(ptr noundef %6592, ptr noundef %6593, ptr noundef nonnull %100) #12
  %6595 = call zeroext i1 @s2n_result_is_ok(i32 %6594)
  br i1 %6595, label %6618, label %6596

6596:                                             ; preds = %6589
  %6597 = load i32, ptr %598, align 4, !tbaa !5
  %6598 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6599 = call i32 @s2n_print_stacktrace(ptr noundef %6598) #12
  %6600 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6601 = trunc nuw i8 %6600 to i1
  br i1 %6601, label %6602, label %6606

6602:                                             ; preds = %6596
  %6603 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6604 = call i32 @fileno(ptr noundef %6603) #12
  %6605 = call i32 @isatty(i32 noundef %6604) #12
  %.not939 = icmp eq i32 %6605, 0
  br i1 %.not939, label %6606, label %6607

6606:                                             ; preds = %6602, %6596
  br label %6607

6607:                                             ; preds = %6602, %6606
  %.str.5.sink3338 = phi ptr [ @.str.5, %6606 ], [ @.str.2, %6602 ]
  store i32 %6597, ptr %598, align 4, !tbaa !5
  %6608 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6609 = load i32, ptr @test_count, align 4, !tbaa !5
  %6610 = load i32, ptr %544, align 4, !tbaa !5
  %6611 = call ptr @s2n_strerror(i32 noundef %6610, ptr noundef nonnull @.str.4) #12
  %6612 = load i32, ptr %544, align 4, !tbaa !5
  %6613 = call ptr @s2n_strerror_debug(i32 noundef %6612, ptr noundef nonnull @.str.4) #12
  %6614 = load i32, ptr %598, align 4, !tbaa !5
  %6615 = call ptr @strerror(i32 noundef %6614) #12
  %6616 = load i32, ptr %598, align 4, !tbaa !5
  %6617 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6608, ptr noundef nonnull %.str.5.sink3338, i32 noundef %6609, ptr noundef nonnull @.str.47, ptr noundef nonnull @.str.1, i32 noundef 672, ptr noundef %6611, ptr noundef %6613, ptr noundef %6615, i32 noundef %6616) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6618:                                             ; preds = %6589
  %6619 = load i32, ptr @test_count, align 4, !tbaa !5
  %6620 = add nsw i32 %6619, 1
  store i32 %6620, ptr @test_count, align 4, !tbaa !5
  %6621 = load ptr, ptr %98, align 8, !tbaa !9
  %6622 = load ptr, ptr %99, align 8, !tbaa !9
  %6623 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %6621, ptr noundef %6622) #12
  %6624 = icmp eq i32 %6623, -1
  br i1 %6624, label %6625, label %6647

6625:                                             ; preds = %6618
  %6626 = load i32, ptr %598, align 4, !tbaa !5
  %6627 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6628 = call i32 @s2n_print_stacktrace(ptr noundef %6627) #12
  %6629 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6630 = trunc nuw i8 %6629 to i1
  br i1 %6630, label %6631, label %6635

6631:                                             ; preds = %6625
  %6632 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6633 = call i32 @fileno(ptr noundef %6632) #12
  %6634 = call i32 @isatty(i32 noundef %6633) #12
  %.not1053 = icmp eq i32 %6634, 0
  br i1 %.not1053, label %6635, label %6636

6635:                                             ; preds = %6631, %6625
  br label %6636

6636:                                             ; preds = %6631, %6635
  %.str.5.sink3347 = phi ptr [ @.str.5, %6635 ], [ @.str.2, %6631 ]
  store i32 %6626, ptr %598, align 4, !tbaa !5
  %6637 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6638 = load i32, ptr @test_count, align 4, !tbaa !5
  %6639 = load i32, ptr %544, align 4, !tbaa !5
  %6640 = call ptr @s2n_strerror(i32 noundef %6639, ptr noundef nonnull @.str.4) #12
  %6641 = load i32, ptr %544, align 4, !tbaa !5
  %6642 = call ptr @s2n_strerror_debug(i32 noundef %6641, ptr noundef nonnull @.str.4) #12
  %6643 = load i32, ptr %598, align 4, !tbaa !5
  %6644 = call ptr @strerror(i32 noundef %6643) #12
  %6645 = load i32, ptr %598, align 4, !tbaa !5
  %6646 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6637, ptr noundef nonnull %.str.5.sink3347, i32 noundef %6638, ptr noundef nonnull @.str.48, ptr noundef nonnull @.str.1, i32 noundef 674, ptr noundef %6640, ptr noundef %6642, ptr noundef %6644, i32 noundef %6645) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6647:                                             ; preds = %6618
  %6648 = load i32, ptr @test_count, align 4, !tbaa !5
  %6649 = add nsw i32 %6648, 1
  store i32 %6649, ptr @test_count, align 4, !tbaa !5
  %6650 = load ptr, ptr %98, align 8, !tbaa !9
  %6651 = call i32 @s2n_connection_get_actual_protocol_version(ptr noundef %6650) #12
  %6652 = icmp eq i32 %6651, 34
  br i1 %6652, label %6675, label %6653

6653:                                             ; preds = %6647
  %6654 = load i32, ptr %598, align 4, !tbaa !5
  %6655 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6656 = call i32 @s2n_print_stacktrace(ptr noundef %6655) #12
  %6657 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6658 = trunc nuw i8 %6657 to i1
  br i1 %6658, label %6659, label %6663

6659:                                             ; preds = %6653
  %6660 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6661 = call i32 @fileno(ptr noundef %6660) #12
  %6662 = call i32 @isatty(i32 noundef %6661) #12
  %.not940 = icmp eq i32 %6662, 0
  br i1 %.not940, label %6663, label %6664

6663:                                             ; preds = %6659, %6653
  br label %6664

6664:                                             ; preds = %6659, %6663
  %.str.5.sink3356 = phi ptr [ @.str.5, %6663 ], [ @.str.2, %6659 ]
  store i32 %6654, ptr %598, align 4, !tbaa !5
  %6665 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6666 = load i32, ptr @test_count, align 4, !tbaa !5
  %6667 = load i32, ptr %544, align 4, !tbaa !5
  %6668 = call ptr @s2n_strerror(i32 noundef %6667, ptr noundef nonnull @.str.4) #12
  %6669 = load i32, ptr %544, align 4, !tbaa !5
  %6670 = call ptr @s2n_strerror_debug(i32 noundef %6669, ptr noundef nonnull @.str.4) #12
  %6671 = load i32, ptr %598, align 4, !tbaa !5
  %6672 = call ptr @strerror(i32 noundef %6671) #12
  %6673 = load i32, ptr %598, align 4, !tbaa !5
  %6674 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6665, ptr noundef nonnull %.str.5.sink3356, i32 noundef %6666, ptr noundef nonnull @.str.77, ptr noundef nonnull @.str.1, i32 noundef 675, ptr noundef %6668, ptr noundef %6670, ptr noundef %6672, i32 noundef %6673) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6675:                                             ; preds = %6647
  %6676 = load i32, ptr @test_count, align 4, !tbaa !5
  %6677 = add nsw i32 %6676, 1
  store i32 %6677, ptr @test_count, align 4, !tbaa !5
  %6678 = load ptr, ptr %98, align 8, !tbaa !9
  %6679 = load ptr, ptr %99, align 8, !tbaa !9
  %6680 = call i32 @s2n_send_and_recv_test(ptr noundef %6678, ptr noundef %6679) #12
  %6681 = call zeroext i1 @s2n_result_is_ok(i32 %6680)
  br i1 %6681, label %6704, label %6682

6682:                                             ; preds = %6675
  %6683 = load i32, ptr %598, align 4, !tbaa !5
  %6684 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6685 = call i32 @s2n_print_stacktrace(ptr noundef %6684) #12
  %6686 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6687 = trunc nuw i8 %6686 to i1
  br i1 %6687, label %6688, label %6692

6688:                                             ; preds = %6682
  %6689 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6690 = call i32 @fileno(ptr noundef %6689) #12
  %6691 = call i32 @isatty(i32 noundef %6690) #12
  %.not941 = icmp eq i32 %6691, 0
  br i1 %.not941, label %6692, label %6693

6692:                                             ; preds = %6688, %6682
  br label %6693

6693:                                             ; preds = %6688, %6692
  %.str.5.sink3365 = phi ptr [ @.str.5, %6692 ], [ @.str.2, %6688 ]
  store i32 %6683, ptr %598, align 4, !tbaa !5
  %6694 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6695 = load i32, ptr @test_count, align 4, !tbaa !5
  %6696 = load i32, ptr %544, align 4, !tbaa !5
  %6697 = call ptr @s2n_strerror(i32 noundef %6696, ptr noundef nonnull @.str.4) #12
  %6698 = load i32, ptr %544, align 4, !tbaa !5
  %6699 = call ptr @s2n_strerror_debug(i32 noundef %6698, ptr noundef nonnull @.str.4) #12
  %6700 = load i32, ptr %598, align 4, !tbaa !5
  %6701 = call ptr @strerror(i32 noundef %6700) #12
  %6702 = load i32, ptr %598, align 4, !tbaa !5
  %6703 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6694, ptr noundef nonnull %.str.5.sink3365, i32 noundef %6695, ptr noundef nonnull @.str.103, ptr noundef nonnull @.str.1, i32 noundef 678, ptr noundef %6697, ptr noundef %6699, ptr noundef %6701, i32 noundef %6702) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6704:                                             ; preds = %6675
  %6705 = load i32, ptr @test_count, align 4, !tbaa !5
  %6706 = add nsw i32 %6705, 1
  store i32 %6706, ptr @test_count, align 4, !tbaa !5
  %6707 = load ptr, ptr %99, align 8, !tbaa !9
  %6708 = call i32 @s2n_ticket_pickup(ptr noundef %6707, ptr noundef nonnull %96)
  %6709 = call zeroext i1 @s2n_result_is_ok(i32 %6708)
  br i1 %6709, label %6732, label %6710

6710:                                             ; preds = %6704
  %6711 = load i32, ptr %598, align 4, !tbaa !5
  %6712 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6713 = call i32 @s2n_print_stacktrace(ptr noundef %6712) #12
  %6714 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6715 = trunc nuw i8 %6714 to i1
  br i1 %6715, label %6716, label %6720

6716:                                             ; preds = %6710
  %6717 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6718 = call i32 @fileno(ptr noundef %6717) #12
  %6719 = call i32 @isatty(i32 noundef %6718) #12
  %.not942 = icmp eq i32 %6719, 0
  br i1 %.not942, label %6720, label %6721

6720:                                             ; preds = %6716, %6710
  br label %6721

6721:                                             ; preds = %6716, %6720
  %.str.5.sink3374 = phi ptr [ @.str.5, %6720 ], [ @.str.2, %6716 ]
  store i32 %6711, ptr %598, align 4, !tbaa !5
  %6722 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6723 = load i32, ptr @test_count, align 4, !tbaa !5
  %6724 = load i32, ptr %544, align 4, !tbaa !5
  %6725 = call ptr @s2n_strerror(i32 noundef %6724, ptr noundef nonnull @.str.4) #12
  %6726 = load i32, ptr %544, align 4, !tbaa !5
  %6727 = call ptr @s2n_strerror_debug(i32 noundef %6726, ptr noundef nonnull @.str.4) #12
  %6728 = load i32, ptr %598, align 4, !tbaa !5
  %6729 = call ptr @strerror(i32 noundef %6728) #12
  %6730 = load i32, ptr %598, align 4, !tbaa !5
  %6731 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6722, ptr noundef nonnull %.str.5.sink3374, i32 noundef %6723, ptr noundef nonnull @.str.131, ptr noundef nonnull @.str.1, i32 noundef 679, ptr noundef %6725, ptr noundef %6727, ptr noundef %6729, i32 noundef %6730) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6732:                                             ; preds = %6704
  %6733 = load i32, ptr @test_count, align 4, !tbaa !5
  %6734 = add nsw i32 %6733, 1
  store i32 %6734, ptr @test_count, align 4, !tbaa !5
  %6735 = load ptr, ptr %99, align 8, !tbaa !9
  %6736 = call i32 @s2n_connection_serialize(ptr noundef %6735, ptr noundef nonnull %95, i32 noundef 142) #12
  %6737 = icmp eq i32 %6736, -1
  br i1 %6737, label %6738, label %6760

6738:                                             ; preds = %6732
  %6739 = load i32, ptr %598, align 4, !tbaa !5
  %6740 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6741 = call i32 @s2n_print_stacktrace(ptr noundef %6740) #12
  %6742 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6743 = trunc nuw i8 %6742 to i1
  br i1 %6743, label %6744, label %6748

6744:                                             ; preds = %6738
  %6745 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6746 = call i32 @fileno(ptr noundef %6745) #12
  %6747 = call i32 @isatty(i32 noundef %6746) #12
  %.not1052 = icmp eq i32 %6747, 0
  br i1 %.not1052, label %6748, label %6749

6748:                                             ; preds = %6744, %6738
  br label %6749

6749:                                             ; preds = %6744, %6748
  %.str.5.sink3383 = phi ptr [ @.str.5, %6748 ], [ @.str.2, %6744 ]
  store i32 %6739, ptr %598, align 4, !tbaa !5
  %6750 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6751 = load i32, ptr @test_count, align 4, !tbaa !5
  %6752 = load i32, ptr %544, align 4, !tbaa !5
  %6753 = call ptr @s2n_strerror(i32 noundef %6752, ptr noundef nonnull @.str.4) #12
  %6754 = load i32, ptr %544, align 4, !tbaa !5
  %6755 = call ptr @s2n_strerror_debug(i32 noundef %6754, ptr noundef nonnull @.str.4) #12
  %6756 = load i32, ptr %598, align 4, !tbaa !5
  %6757 = call ptr @strerror(i32 noundef %6756) #12
  %6758 = load i32, ptr %598, align 4, !tbaa !5
  %6759 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6750, ptr noundef nonnull %.str.5.sink3383, i32 noundef %6751, ptr noundef nonnull @.str.126, ptr noundef nonnull @.str.1, i32 noundef 681, ptr noundef %6753, ptr noundef %6755, ptr noundef %6757, i32 noundef %6758) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6760:                                             ; preds = %6732
  %6761 = call i32 @s2n_io_stuffer_pair_free(ptr noundef nonnull %100) #12
  call void @llvm.lifetime.end.p0(i64 80, ptr nonnull %100) #12
  %6762 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %99) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %99) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %101) #12
  %6763 = call ptr @s2n_connection_new(i32 noundef 1) #12
  store ptr %6763, ptr %101, align 8, !tbaa !9
  %6764 = load i32, ptr @test_count, align 4, !tbaa !5
  %6765 = add nsw i32 %6764, 1
  store i32 %6765, ptr @test_count, align 4, !tbaa !5
  %6766 = icmp eq ptr %6763, null
  br i1 %6766, label %6767, label %6789

6767:                                             ; preds = %6760
  %6768 = load i32, ptr %598, align 4, !tbaa !5
  %6769 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6770 = call i32 @s2n_print_stacktrace(ptr noundef %6769) #12
  %6771 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6772 = trunc nuw i8 %6771 to i1
  br i1 %6772, label %6773, label %6777

6773:                                             ; preds = %6767
  %6774 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6775 = call i32 @fileno(ptr noundef %6774) #12
  %6776 = call i32 @isatty(i32 noundef %6775) #12
  %.not1051 = icmp eq i32 %6776, 0
  br i1 %.not1051, label %6777, label %6778

6777:                                             ; preds = %6773, %6767
  br label %6778

6778:                                             ; preds = %6773, %6777
  %.str.5.sink3392 = phi ptr [ @.str.5, %6777 ], [ @.str.2, %6773 ]
  store i32 %6768, ptr %598, align 4, !tbaa !5
  %6779 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6780 = load i32, ptr @test_count, align 4, !tbaa !5
  %6781 = load i32, ptr %544, align 4, !tbaa !5
  %6782 = call ptr @s2n_strerror(i32 noundef %6781, ptr noundef nonnull @.str.4) #12
  %6783 = load i32, ptr %544, align 4, !tbaa !5
  %6784 = call ptr @s2n_strerror_debug(i32 noundef %6783, ptr noundef nonnull @.str.4) #12
  %6785 = load i32, ptr %598, align 4, !tbaa !5
  %6786 = call ptr @strerror(i32 noundef %6785) #12
  %6787 = load i32, ptr %598, align 4, !tbaa !5
  %6788 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6779, ptr noundef nonnull %.str.5.sink3392, i32 noundef %6780, ptr noundef nonnull @.str.42, ptr noundef nonnull @.str.1, i32 noundef 688, ptr noundef %6782, ptr noundef %6784, ptr noundef %6786, i32 noundef %6787) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6789:                                             ; preds = %6760
  %6790 = add nsw i32 %6764, 2
  store i32 %6790, ptr @test_count, align 4, !tbaa !5
  %6791 = call i32 @s2n_connection_deserialize(ptr noundef nonnull %6763, ptr noundef nonnull %95, i32 noundef 142) #12
  %6792 = icmp eq i32 %6791, -1
  br i1 %6792, label %6793, label %6815

6793:                                             ; preds = %6789
  %6794 = load i32, ptr %598, align 4, !tbaa !5
  %6795 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6796 = call i32 @s2n_print_stacktrace(ptr noundef %6795) #12
  %6797 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6798 = trunc nuw i8 %6797 to i1
  br i1 %6798, label %6799, label %6803

6799:                                             ; preds = %6793
  %6800 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6801 = call i32 @fileno(ptr noundef %6800) #12
  %6802 = call i32 @isatty(i32 noundef %6801) #12
  %.not1050 = icmp eq i32 %6802, 0
  br i1 %.not1050, label %6803, label %6804

6803:                                             ; preds = %6799, %6793
  br label %6804

6804:                                             ; preds = %6799, %6803
  %.str.5.sink3401 = phi ptr [ @.str.5, %6803 ], [ @.str.2, %6799 ]
  store i32 %6794, ptr %598, align 4, !tbaa !5
  %6805 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6806 = load i32, ptr @test_count, align 4, !tbaa !5
  %6807 = load i32, ptr %544, align 4, !tbaa !5
  %6808 = call ptr @s2n_strerror(i32 noundef %6807, ptr noundef nonnull @.str.4) #12
  %6809 = load i32, ptr %544, align 4, !tbaa !5
  %6810 = call ptr @s2n_strerror_debug(i32 noundef %6809, ptr noundef nonnull @.str.4) #12
  %6811 = load i32, ptr %598, align 4, !tbaa !5
  %6812 = call ptr @strerror(i32 noundef %6811) #12
  %6813 = load i32, ptr %598, align 4, !tbaa !5
  %6814 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6805, ptr noundef nonnull %.str.5.sink3401, i32 noundef %6806, ptr noundef nonnull @.str.127, ptr noundef nonnull @.str.1, i32 noundef 689, ptr noundef %6808, ptr noundef %6810, ptr noundef %6812, i32 noundef %6813) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6815:                                             ; preds = %6789
  %6816 = load i32, ptr @test_count, align 4, !tbaa !5
  %6817 = add nsw i32 %6816, 1
  store i32 %6817, ptr @test_count, align 4, !tbaa !5
  %6818 = load ptr, ptr %101, align 8, !tbaa !9
  %6819 = load ptr, ptr %94, align 8, !tbaa !9
  %6820 = call i32 @s2n_connection_set_config(ptr noundef %6818, ptr noundef %6819) #12
  %6821 = icmp eq i32 %6820, -1
  br i1 %6821, label %6822, label %6844

6822:                                             ; preds = %6815
  %6823 = load i32, ptr %598, align 4, !tbaa !5
  %6824 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6825 = call i32 @s2n_print_stacktrace(ptr noundef %6824) #12
  %6826 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6827 = trunc nuw i8 %6826 to i1
  br i1 %6827, label %6828, label %6832

6828:                                             ; preds = %6822
  %6829 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6830 = call i32 @fileno(ptr noundef %6829) #12
  %6831 = call i32 @isatty(i32 noundef %6830) #12
  %.not1049 = icmp eq i32 %6831, 0
  br i1 %.not1049, label %6832, label %6833

6832:                                             ; preds = %6828, %6822
  br label %6833

6833:                                             ; preds = %6828, %6832
  %.str.5.sink3410 = phi ptr [ @.str.5, %6832 ], [ @.str.2, %6828 ]
  store i32 %6823, ptr %598, align 4, !tbaa !5
  %6834 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6835 = load i32, ptr @test_count, align 4, !tbaa !5
  %6836 = load i32, ptr %544, align 4, !tbaa !5
  %6837 = call ptr @s2n_strerror(i32 noundef %6836, ptr noundef nonnull @.str.4) #12
  %6838 = load i32, ptr %544, align 4, !tbaa !5
  %6839 = call ptr @s2n_strerror_debug(i32 noundef %6838, ptr noundef nonnull @.str.4) #12
  %6840 = load i32, ptr %598, align 4, !tbaa !5
  %6841 = call ptr @strerror(i32 noundef %6840) #12
  %6842 = load i32, ptr %598, align 4, !tbaa !5
  %6843 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6834, ptr noundef nonnull %.str.5.sink3410, i32 noundef %6835, ptr noundef nonnull @.str.123, ptr noundef nonnull @.str.1, i32 noundef 690, ptr noundef %6837, ptr noundef %6839, ptr noundef %6841, i32 noundef %6842) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6844:                                             ; preds = %6815
  call void @llvm.lifetime.start.p0(i64 80, ptr nonnull %102) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(80) %102, i8 0, i64 80, i1 false)
  %6845 = load i32, ptr @test_count, align 4, !tbaa !5
  %6846 = add nsw i32 %6845, 1
  store i32 %6846, ptr @test_count, align 4, !tbaa !5
  %6847 = call i32 @s2n_io_stuffer_pair_init(ptr noundef nonnull %102) #12
  %6848 = call zeroext i1 @s2n_result_is_ok(i32 %6847)
  br i1 %6848, label %6871, label %6849

6849:                                             ; preds = %6844
  %6850 = load i32, ptr %598, align 4, !tbaa !5
  %6851 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6852 = call i32 @s2n_print_stacktrace(ptr noundef %6851) #12
  %6853 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6854 = trunc nuw i8 %6853 to i1
  br i1 %6854, label %6855, label %6859

6855:                                             ; preds = %6849
  %6856 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6857 = call i32 @fileno(ptr noundef %6856) #12
  %6858 = call i32 @isatty(i32 noundef %6857) #12
  %.not943 = icmp eq i32 %6858, 0
  br i1 %.not943, label %6859, label %6860

6859:                                             ; preds = %6855, %6849
  br label %6860

6860:                                             ; preds = %6855, %6859
  %.str.5.sink3419 = phi ptr [ @.str.5, %6859 ], [ @.str.2, %6855 ]
  store i32 %6850, ptr %598, align 4, !tbaa !5
  %6861 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6862 = load i32, ptr @test_count, align 4, !tbaa !5
  %6863 = load i32, ptr %544, align 4, !tbaa !5
  %6864 = call ptr @s2n_strerror(i32 noundef %6863, ptr noundef nonnull @.str.4) #12
  %6865 = load i32, ptr %544, align 4, !tbaa !5
  %6866 = call ptr @s2n_strerror_debug(i32 noundef %6865, ptr noundef nonnull @.str.4) #12
  %6867 = load i32, ptr %598, align 4, !tbaa !5
  %6868 = call ptr @strerror(i32 noundef %6867) #12
  %6869 = load i32, ptr %598, align 4, !tbaa !5
  %6870 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6861, ptr noundef nonnull %.str.5.sink3419, i32 noundef %6862, ptr noundef nonnull @.str.46, ptr noundef nonnull @.str.1, i32 noundef 693, ptr noundef %6864, ptr noundef %6866, ptr noundef %6868, i32 noundef %6869) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6871:                                             ; preds = %6844
  %6872 = load i32, ptr @test_count, align 4, !tbaa !5
  %6873 = add nsw i32 %6872, 1
  store i32 %6873, ptr @test_count, align 4, !tbaa !5
  %6874 = load ptr, ptr %101, align 8, !tbaa !9
  %6875 = load ptr, ptr %98, align 8, !tbaa !9
  %6876 = call i32 @s2n_connections_set_io_stuffer_pair(ptr noundef %6874, ptr noundef %6875, ptr noundef nonnull %102) #12
  %6877 = call zeroext i1 @s2n_result_is_ok(i32 %6876)
  br i1 %6877, label %6900, label %6878

6878:                                             ; preds = %6871
  %6879 = load i32, ptr %598, align 4, !tbaa !5
  %6880 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6881 = call i32 @s2n_print_stacktrace(ptr noundef %6880) #12
  %6882 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6883 = trunc nuw i8 %6882 to i1
  br i1 %6883, label %6884, label %6888

6884:                                             ; preds = %6878
  %6885 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6886 = call i32 @fileno(ptr noundef %6885) #12
  %6887 = call i32 @isatty(i32 noundef %6886) #12
  %.not944 = icmp eq i32 %6887, 0
  br i1 %.not944, label %6888, label %6889

6888:                                             ; preds = %6884, %6878
  br label %6889

6889:                                             ; preds = %6884, %6888
  %.str.5.sink3428 = phi ptr [ @.str.5, %6888 ], [ @.str.2, %6884 ]
  store i32 %6879, ptr %598, align 4, !tbaa !5
  %6890 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6891 = load i32, ptr @test_count, align 4, !tbaa !5
  %6892 = load i32, ptr %544, align 4, !tbaa !5
  %6893 = call ptr @s2n_strerror(i32 noundef %6892, ptr noundef nonnull @.str.4) #12
  %6894 = load i32, ptr %544, align 4, !tbaa !5
  %6895 = call ptr @s2n_strerror_debug(i32 noundef %6894, ptr noundef nonnull @.str.4) #12
  %6896 = load i32, ptr %598, align 4, !tbaa !5
  %6897 = call ptr @strerror(i32 noundef %6896) #12
  %6898 = load i32, ptr %598, align 4, !tbaa !5
  %6899 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6890, ptr noundef nonnull %.str.5.sink3428, i32 noundef %6891, ptr noundef nonnull @.str.47, ptr noundef nonnull @.str.1, i32 noundef 694, ptr noundef %6893, ptr noundef %6895, ptr noundef %6897, i32 noundef %6898) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6900:                                             ; preds = %6871
  %6901 = load i32, ptr @test_count, align 4, !tbaa !5
  %6902 = add nsw i32 %6901, 1
  store i32 %6902, ptr @test_count, align 4, !tbaa !5
  %6903 = load ptr, ptr %98, align 8, !tbaa !9
  %6904 = call i32 @s2n_connection_add_new_tickets_to_send(ptr noundef %6903, i8 noundef zeroext 1) #12
  %6905 = icmp eq i32 %6904, -1
  br i1 %6905, label %6906, label %6928

6906:                                             ; preds = %6900
  %6907 = load i32, ptr %598, align 4, !tbaa !5
  %6908 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6909 = call i32 @s2n_print_stacktrace(ptr noundef %6908) #12
  %6910 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6911 = trunc nuw i8 %6910 to i1
  br i1 %6911, label %6912, label %6916

6912:                                             ; preds = %6906
  %6913 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6914 = call i32 @fileno(ptr noundef %6913) #12
  %6915 = call i32 @isatty(i32 noundef %6914) #12
  %.not1048 = icmp eq i32 %6915, 0
  br i1 %.not1048, label %6916, label %6917

6916:                                             ; preds = %6912, %6906
  br label %6917

6917:                                             ; preds = %6912, %6916
  %.str.5.sink3437 = phi ptr [ @.str.5, %6916 ], [ @.str.2, %6912 ]
  store i32 %6907, ptr %598, align 4, !tbaa !5
  %6918 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6919 = load i32, ptr @test_count, align 4, !tbaa !5
  %6920 = load i32, ptr %544, align 4, !tbaa !5
  %6921 = call ptr @s2n_strerror(i32 noundef %6920, ptr noundef nonnull @.str.4) #12
  %6922 = load i32, ptr %544, align 4, !tbaa !5
  %6923 = call ptr @s2n_strerror_debug(i32 noundef %6922, ptr noundef nonnull @.str.4) #12
  %6924 = load i32, ptr %598, align 4, !tbaa !5
  %6925 = call ptr @strerror(i32 noundef %6924) #12
  %6926 = load i32, ptr %598, align 4, !tbaa !5
  %6927 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6918, ptr noundef nonnull %.str.5.sink3437, i32 noundef %6919, ptr noundef nonnull @.str.132, ptr noundef nonnull @.str.1, i32 noundef 696, ptr noundef %6921, ptr noundef %6923, ptr noundef %6925, i32 noundef %6926) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6928:                                             ; preds = %6900
  %6929 = load i32, ptr @test_count, align 4, !tbaa !5
  %6930 = add nsw i32 %6929, 1
  store i32 %6930, ptr @test_count, align 4, !tbaa !5
  %6931 = load ptr, ptr %98, align 8, !tbaa !9
  %6932 = load ptr, ptr %101, align 8, !tbaa !9
  %6933 = call i32 @s2n_send_and_recv_test(ptr noundef %6931, ptr noundef %6932) #12
  %6934 = call zeroext i1 @s2n_result_is_ok(i32 %6933)
  br i1 %6934, label %6957, label %6935

6935:                                             ; preds = %6928
  %6936 = load i32, ptr %598, align 4, !tbaa !5
  %6937 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6938 = call i32 @s2n_print_stacktrace(ptr noundef %6937) #12
  %6939 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6940 = trunc nuw i8 %6939 to i1
  br i1 %6940, label %6941, label %6945

6941:                                             ; preds = %6935
  %6942 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6943 = call i32 @fileno(ptr noundef %6942) #12
  %6944 = call i32 @isatty(i32 noundef %6943) #12
  %.not945 = icmp eq i32 %6944, 0
  br i1 %.not945, label %6945, label %6946

6945:                                             ; preds = %6941, %6935
  br label %6946

6946:                                             ; preds = %6941, %6945
  %.str.5.sink3446 = phi ptr [ @.str.5, %6945 ], [ @.str.2, %6941 ]
  store i32 %6936, ptr %598, align 4, !tbaa !5
  %6947 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6948 = load i32, ptr @test_count, align 4, !tbaa !5
  %6949 = load i32, ptr %544, align 4, !tbaa !5
  %6950 = call ptr @s2n_strerror(i32 noundef %6949, ptr noundef nonnull @.str.4) #12
  %6951 = load i32, ptr %544, align 4, !tbaa !5
  %6952 = call ptr @s2n_strerror_debug(i32 noundef %6951, ptr noundef nonnull @.str.4) #12
  %6953 = load i32, ptr %598, align 4, !tbaa !5
  %6954 = call ptr @strerror(i32 noundef %6953) #12
  %6955 = load i32, ptr %598, align 4, !tbaa !5
  %6956 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6947, ptr noundef nonnull %.str.5.sink3446, i32 noundef %6948, ptr noundef nonnull @.str.103, ptr noundef nonnull @.str.1, i32 noundef 697, ptr noundef %6950, ptr noundef %6952, ptr noundef %6954, i32 noundef %6955) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6957:                                             ; preds = %6928
  %6958 = load i32, ptr @test_count, align 4, !tbaa !5
  %6959 = add nsw i32 %6958, 1
  store i32 %6959, ptr @test_count, align 4, !tbaa !5
  %6960 = load ptr, ptr %101, align 8, !tbaa !9
  %6961 = call i32 @s2n_ticket_pickup(ptr noundef %6960, ptr noundef nonnull %97)
  %6962 = call zeroext i1 @s2n_result_is_ok(i32 %6961)
  br i1 %6962, label %6985, label %6963

6963:                                             ; preds = %6957
  %6964 = load i32, ptr %598, align 4, !tbaa !5
  %6965 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6966 = call i32 @s2n_print_stacktrace(ptr noundef %6965) #12
  %6967 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6968 = trunc nuw i8 %6967 to i1
  br i1 %6968, label %6969, label %6973

6969:                                             ; preds = %6963
  %6970 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6971 = call i32 @fileno(ptr noundef %6970) #12
  %6972 = call i32 @isatty(i32 noundef %6971) #12
  %.not946 = icmp eq i32 %6972, 0
  br i1 %.not946, label %6973, label %6974

6973:                                             ; preds = %6969, %6963
  br label %6974

6974:                                             ; preds = %6969, %6973
  %.str.5.sink3455 = phi ptr [ @.str.5, %6973 ], [ @.str.2, %6969 ]
  store i32 %6964, ptr %598, align 4, !tbaa !5
  %6975 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6976 = load i32, ptr @test_count, align 4, !tbaa !5
  %6977 = load i32, ptr %544, align 4, !tbaa !5
  %6978 = call ptr @s2n_strerror(i32 noundef %6977, ptr noundef nonnull @.str.4) #12
  %6979 = load i32, ptr %544, align 4, !tbaa !5
  %6980 = call ptr @s2n_strerror_debug(i32 noundef %6979, ptr noundef nonnull @.str.4) #12
  %6981 = load i32, ptr %598, align 4, !tbaa !5
  %6982 = call ptr @strerror(i32 noundef %6981) #12
  %6983 = load i32, ptr %598, align 4, !tbaa !5
  %6984 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6975, ptr noundef nonnull %.str.5.sink3455, i32 noundef %6976, ptr noundef nonnull @.str.133, ptr noundef nonnull @.str.1, i32 noundef 699, ptr noundef %6978, ptr noundef %6980, ptr noundef %6982, i32 noundef %6983) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6985:                                             ; preds = %6957
  %6986 = call i32 @s2n_io_stuffer_pair_free(ptr noundef nonnull %102) #12
  call void @llvm.lifetime.end.p0(i64 80, ptr nonnull %102) #12
  %6987 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %101) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %101) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %103) #12
  %6988 = call ptr @s2n_connection_new(i32 noundef 1) #12
  store ptr %6988, ptr %103, align 8, !tbaa !9
  %6989 = load i32, ptr @test_count, align 4, !tbaa !5
  %6990 = add nsw i32 %6989, 1
  store i32 %6990, ptr @test_count, align 4, !tbaa !5
  %6991 = icmp eq ptr %6988, null
  br i1 %6991, label %6992, label %7014

6992:                                             ; preds = %6985
  %6993 = load i32, ptr %598, 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
  %.not1047 = icmp eq i32 %7001, 0
  br i1 %.not1047, label %7002, label %7003

7002:                                             ; preds = %6998, %6992
  br label %7003

7003:                                             ; preds = %6998, %7002
  %.str.5.sink3464 = phi ptr [ @.str.5, %7002 ], [ @.str.2, %6998 ]
  store i32 %6993, ptr %598, 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 %544, align 4, !tbaa !5
  %7007 = call ptr @s2n_strerror(i32 noundef %7006, ptr noundef nonnull @.str.4) #12
  %7008 = load i32, ptr %544, align 4, !tbaa !5
  %7009 = call ptr @s2n_strerror_debug(i32 noundef %7008, ptr noundef nonnull @.str.4) #12
  %7010 = load i32, ptr %598, align 4, !tbaa !5
  %7011 = call ptr @strerror(i32 noundef %7010) #12
  %7012 = load i32, ptr %598, align 4, !tbaa !5
  %7013 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7004, ptr noundef nonnull %.str.5.sink3464, i32 noundef %7005, ptr noundef nonnull @.str.42, ptr noundef nonnull @.str.1, i32 noundef 706, ptr noundef %7007, ptr noundef %7009, ptr noundef %7011, i32 noundef %7012) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7014:                                             ; preds = %6985
  %7015 = add nsw i32 %6989, 2
  store i32 %7015, ptr @test_count, align 4, !tbaa !5
  %7016 = load ptr, ptr %94, align 8, !tbaa !9
  %7017 = call i32 @s2n_connection_set_config(ptr noundef nonnull %6988, ptr noundef %7016) #12
  %7018 = icmp eq i32 %7017, -1
  br i1 %7018, label %7019, label %7041

7019:                                             ; preds = %7014
  %7020 = load i32, ptr %598, 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
  %.not1046 = icmp eq i32 %7028, 0
  br i1 %.not1046, label %7029, label %7030

7029:                                             ; preds = %7025, %7019
  br label %7030

7030:                                             ; preds = %7025, %7029
  %.str.5.sink3473 = phi ptr [ @.str.5, %7029 ], [ @.str.2, %7025 ]
  store i32 %7020, ptr %598, 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 %544, align 4, !tbaa !5
  %7034 = call ptr @s2n_strerror(i32 noundef %7033, ptr noundef nonnull @.str.4) #12
  %7035 = load i32, ptr %544, align 4, !tbaa !5
  %7036 = call ptr @s2n_strerror_debug(i32 noundef %7035, ptr noundef nonnull @.str.4) #12
  %7037 = load i32, ptr %598, align 4, !tbaa !5
  %7038 = call ptr @strerror(i32 noundef %7037) #12
  %7039 = load i32, ptr %598, align 4, !tbaa !5
  %7040 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7031, ptr noundef nonnull %.str.5.sink3473, i32 noundef %7032, ptr noundef nonnull @.str.123, ptr noundef nonnull @.str.1, i32 noundef 707, 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 = load ptr, ptr %103, align 8, !tbaa !9
  %7045 = load ptr, ptr %96, align 8, !tbaa !64
  %7046 = getelementptr inbounds i8, ptr %96, i64 8
  %7047 = load i32, ptr %7046, align 8, !tbaa !65
  %7048 = zext i32 %7047 to i64
  %7049 = call i32 @s2n_connection_set_session(ptr noundef %7044, ptr noundef %7045, i64 noundef %7048) #12
  %7050 = icmp eq i32 %7049, -1
  br i1 %7050, label %7051, label %7073

7051:                                             ; preds = %7041
  %7052 = load i32, ptr %598, align 4, !tbaa !5
  %7053 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7054 = call i32 @s2n_print_stacktrace(ptr noundef %7053) #12
  %7055 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7056 = trunc nuw i8 %7055 to i1
  br i1 %7056, label %7057, label %7061

7057:                                             ; preds = %7051
  %7058 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7059 = call i32 @fileno(ptr noundef %7058) #12
  %7060 = call i32 @isatty(i32 noundef %7059) #12
  %.not1045 = icmp eq i32 %7060, 0
  br i1 %.not1045, label %7061, label %7062

7061:                                             ; preds = %7057, %7051
  br label %7062

7062:                                             ; preds = %7057, %7061
  %.str.5.sink3482 = phi ptr [ @.str.5, %7061 ], [ @.str.2, %7057 ]
  store i32 %7052, ptr %598, align 4, !tbaa !5
  %7063 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7064 = load i32, ptr @test_count, align 4, !tbaa !5
  %7065 = load i32, ptr %544, align 4, !tbaa !5
  %7066 = call ptr @s2n_strerror(i32 noundef %7065, ptr noundef nonnull @.str.4) #12
  %7067 = load i32, ptr %544, align 4, !tbaa !5
  %7068 = call ptr @s2n_strerror_debug(i32 noundef %7067, ptr noundef nonnull @.str.4) #12
  %7069 = load i32, ptr %598, align 4, !tbaa !5
  %7070 = call ptr @strerror(i32 noundef %7069) #12
  %7071 = load i32, ptr %598, align 4, !tbaa !5
  %7072 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7063, ptr noundef nonnull %.str.5.sink3482, i32 noundef %7064, ptr noundef nonnull @.str.134, ptr noundef nonnull @.str.1, i32 noundef 708, ptr noundef %7066, ptr noundef %7068, ptr noundef %7070, i32 noundef %7071) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7073:                                             ; preds = %7041
  %7074 = load i32, ptr @test_count, align 4, !tbaa !5
  %7075 = add nsw i32 %7074, 1
  store i32 %7075, ptr @test_count, align 4, !tbaa !5
  %7076 = load ptr, ptr %98, align 8, !tbaa !9
  %7077 = call i32 @s2n_connection_wipe(ptr noundef %7076) #12
  %7078 = icmp eq i32 %7077, -1
  br i1 %7078, label %7079, label %7101

7079:                                             ; preds = %7073
  %7080 = load i32, ptr %598, align 4, !tbaa !5
  %7081 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7082 = call i32 @s2n_print_stacktrace(ptr noundef %7081) #12
  %7083 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7084 = trunc nuw i8 %7083 to i1
  br i1 %7084, label %7085, label %7089

7085:                                             ; preds = %7079
  %7086 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7087 = call i32 @fileno(ptr noundef %7086) #12
  %7088 = call i32 @isatty(i32 noundef %7087) #12
  %.not1044 = icmp eq i32 %7088, 0
  br i1 %.not1044, label %7089, label %7090

7089:                                             ; preds = %7085, %7079
  br label %7090

7090:                                             ; preds = %7085, %7089
  %.str.5.sink3491 = phi ptr [ @.str.5, %7089 ], [ @.str.2, %7085 ]
  store i32 %7080, ptr %598, align 4, !tbaa !5
  %7091 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7092 = load i32, ptr @test_count, align 4, !tbaa !5
  %7093 = load i32, ptr %544, align 4, !tbaa !5
  %7094 = call ptr @s2n_strerror(i32 noundef %7093, ptr noundef nonnull @.str.4) #12
  %7095 = load i32, ptr %544, align 4, !tbaa !5
  %7096 = call ptr @s2n_strerror_debug(i32 noundef %7095, ptr noundef nonnull @.str.4) #12
  %7097 = load i32, ptr %598, align 4, !tbaa !5
  %7098 = call ptr @strerror(i32 noundef %7097) #12
  %7099 = load i32, ptr %598, align 4, !tbaa !5
  %7100 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7091, ptr noundef nonnull %.str.5.sink3491, i32 noundef %7092, ptr noundef nonnull @.str.135, ptr noundef nonnull @.str.1, i32 noundef 709, ptr noundef %7094, ptr noundef %7096, ptr noundef %7098, i32 noundef %7099) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7101:                                             ; preds = %7073
  call void @llvm.lifetime.start.p0(i64 80, ptr nonnull %104) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(80) %104, i8 0, i64 80, i1 false)
  %7102 = load i32, ptr @test_count, align 4, !tbaa !5
  %7103 = add nsw i32 %7102, 1
  store i32 %7103, ptr @test_count, align 4, !tbaa !5
  %7104 = call i32 @s2n_io_stuffer_pair_init(ptr noundef nonnull %104) #12
  %7105 = call zeroext i1 @s2n_result_is_ok(i32 %7104)
  br i1 %7105, label %7128, label %7106

7106:                                             ; preds = %7101
  %7107 = load i32, ptr %598, 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
  %.not947 = icmp eq i32 %7115, 0
  br i1 %.not947, label %7116, label %7117

7116:                                             ; preds = %7112, %7106
  br label %7117

7117:                                             ; preds = %7112, %7116
  %.str.5.sink3500 = phi ptr [ @.str.5, %7116 ], [ @.str.2, %7112 ]
  store i32 %7107, ptr %598, 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 %544, align 4, !tbaa !5
  %7121 = call ptr @s2n_strerror(i32 noundef %7120, ptr noundef nonnull @.str.4) #12
  %7122 = load i32, ptr %544, align 4, !tbaa !5
  %7123 = call ptr @s2n_strerror_debug(i32 noundef %7122, ptr noundef nonnull @.str.4) #12
  %7124 = load i32, ptr %598, align 4, !tbaa !5
  %7125 = call ptr @strerror(i32 noundef %7124) #12
  %7126 = load i32, ptr %598, align 4, !tbaa !5
  %7127 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7118, ptr noundef nonnull %.str.5.sink3500, i32 noundef %7119, ptr noundef nonnull @.str.46, ptr noundef nonnull @.str.1, i32 noundef 712, ptr noundef %7121, ptr noundef %7123, ptr noundef %7125, i32 noundef %7126) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7128:                                             ; preds = %7101
  %7129 = load i32, ptr @test_count, align 4, !tbaa !5
  %7130 = add nsw i32 %7129, 1
  store i32 %7130, ptr @test_count, align 4, !tbaa !5
  %7131 = load ptr, ptr %103, align 8, !tbaa !9
  %7132 = load ptr, ptr %98, align 8, !tbaa !9
  %7133 = call i32 @s2n_connections_set_io_stuffer_pair(ptr noundef %7131, ptr noundef %7132, ptr noundef nonnull %104) #12
  %7134 = call zeroext i1 @s2n_result_is_ok(i32 %7133)
  br i1 %7134, label %7157, label %7135

7135:                                             ; preds = %7128
  %7136 = load i32, ptr %598, align 4, !tbaa !5
  %7137 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7138 = call i32 @s2n_print_stacktrace(ptr noundef %7137) #12
  %7139 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7140 = trunc nuw i8 %7139 to i1
  br i1 %7140, label %7141, label %7145

7141:                                             ; preds = %7135
  %7142 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7143 = call i32 @fileno(ptr noundef %7142) #12
  %7144 = call i32 @isatty(i32 noundef %7143) #12
  %.not948 = icmp eq i32 %7144, 0
  br i1 %.not948, label %7145, label %7146

7145:                                             ; preds = %7141, %7135
  br label %7146

7146:                                             ; preds = %7141, %7145
  %.str.5.sink3509 = phi ptr [ @.str.5, %7145 ], [ @.str.2, %7141 ]
  store i32 %7136, ptr %598, align 4, !tbaa !5
  %7147 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7148 = load i32, ptr @test_count, align 4, !tbaa !5
  %7149 = load i32, ptr %544, align 4, !tbaa !5
  %7150 = call ptr @s2n_strerror(i32 noundef %7149, ptr noundef nonnull @.str.4) #12
  %7151 = load i32, ptr %544, align 4, !tbaa !5
  %7152 = call ptr @s2n_strerror_debug(i32 noundef %7151, ptr noundef nonnull @.str.4) #12
  %7153 = load i32, ptr %598, align 4, !tbaa !5
  %7154 = call ptr @strerror(i32 noundef %7153) #12
  %7155 = load i32, ptr %598, align 4, !tbaa !5
  %7156 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7147, ptr noundef nonnull %.str.5.sink3509, i32 noundef %7148, ptr noundef nonnull @.str.47, ptr noundef nonnull @.str.1, i32 noundef 713, ptr noundef %7150, ptr noundef %7152, ptr noundef %7154, i32 noundef %7155) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7157:                                             ; preds = %7128
  %7158 = load i32, ptr @test_count, align 4, !tbaa !5
  %7159 = add nsw i32 %7158, 1
  store i32 %7159, ptr @test_count, align 4, !tbaa !5
  %7160 = load ptr, ptr %98, align 8, !tbaa !9
  %7161 = load ptr, ptr %103, align 8, !tbaa !9
  %7162 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %7160, ptr noundef %7161) #12
  %7163 = icmp eq i32 %7162, -1
  br i1 %7163, label %7164, label %7186

7164:                                             ; preds = %7157
  %7165 = load i32, ptr %598, align 4, !tbaa !5
  %7166 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7167 = call i32 @s2n_print_stacktrace(ptr noundef %7166) #12
  %7168 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7169 = trunc nuw i8 %7168 to i1
  br i1 %7169, label %7170, label %7174

7170:                                             ; preds = %7164
  %7171 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7172 = call i32 @fileno(ptr noundef %7171) #12
  %7173 = call i32 @isatty(i32 noundef %7172) #12
  %.not1043 = icmp eq i32 %7173, 0
  br i1 %.not1043, label %7174, label %7175

7174:                                             ; preds = %7170, %7164
  br label %7175

7175:                                             ; preds = %7170, %7174
  %.str.5.sink3518 = phi ptr [ @.str.5, %7174 ], [ @.str.2, %7170 ]
  store i32 %7165, ptr %598, align 4, !tbaa !5
  %7176 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7177 = load i32, ptr @test_count, align 4, !tbaa !5
  %7178 = load i32, ptr %544, align 4, !tbaa !5
  %7179 = call ptr @s2n_strerror(i32 noundef %7178, ptr noundef nonnull @.str.4) #12
  %7180 = load i32, ptr %544, align 4, !tbaa !5
  %7181 = call ptr @s2n_strerror_debug(i32 noundef %7180, ptr noundef nonnull @.str.4) #12
  %7182 = load i32, ptr %598, align 4, !tbaa !5
  %7183 = call ptr @strerror(i32 noundef %7182) #12
  %7184 = load i32, ptr %598, align 4, !tbaa !5
  %7185 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7176, ptr noundef nonnull %.str.5.sink3518, i32 noundef %7177, ptr noundef nonnull @.str.48, ptr noundef nonnull @.str.1, i32 noundef 715, ptr noundef %7179, ptr noundef %7181, ptr noundef %7183, i32 noundef %7184) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7186:                                             ; preds = %7157
  %7187 = load i32, ptr @test_count, align 4, !tbaa !5
  %7188 = add nsw i32 %7187, 1
  store i32 %7188, ptr @test_count, align 4, !tbaa !5
  %7189 = load ptr, ptr %103, align 8, !tbaa !9
  %7190 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef %7189, i32 noundef 2) #12
  br i1 %7190, label %7191, label %7213

7191:                                             ; preds = %7186
  %7192 = load i32, ptr %598, align 4, !tbaa !5
  %7193 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7194 = call i32 @s2n_print_stacktrace(ptr noundef %7193) #12
  %7195 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7196 = trunc nuw i8 %7195 to i1
  br i1 %7196, label %7197, label %7201

7197:                                             ; preds = %7191
  %7198 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7199 = call i32 @fileno(ptr noundef %7198) #12
  %7200 = call i32 @isatty(i32 noundef %7199) #12
  %.not1042 = icmp eq i32 %7200, 0
  br i1 %.not1042, label %7201, label %7202

7201:                                             ; preds = %7197, %7191
  br label %7202

7202:                                             ; preds = %7197, %7201
  %.str.5.sink3527 = phi ptr [ @.str.5, %7201 ], [ @.str.2, %7197 ]
  store i32 %7192, ptr %598, align 4, !tbaa !5
  %7203 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7204 = load i32, ptr @test_count, align 4, !tbaa !5
  %7205 = load i32, ptr %544, align 4, !tbaa !5
  %7206 = call ptr @s2n_strerror(i32 noundef %7205, ptr noundef nonnull @.str.4) #12
  %7207 = load i32, ptr %544, align 4, !tbaa !5
  %7208 = call ptr @s2n_strerror_debug(i32 noundef %7207, ptr noundef nonnull @.str.4) #12
  %7209 = load i32, ptr %598, align 4, !tbaa !5
  %7210 = call ptr @strerror(i32 noundef %7209) #12
  %7211 = load i32, ptr %598, align 4, !tbaa !5
  %7212 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7203, ptr noundef nonnull %.str.5.sink3527, i32 noundef %7204, ptr noundef nonnull @.str.136, ptr noundef nonnull @.str.1, i32 noundef 716, ptr noundef %7206, ptr noundef %7208, ptr noundef %7210, i32 noundef %7211) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7213:                                             ; preds = %7186
  %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 = load ptr, ptr %98, align 8, !tbaa !9
  %7217 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef %7216, i32 noundef 2) #12
  br i1 %7217, label %7218, label %7240

7218:                                             ; preds = %7213
  %7219 = load i32, ptr %598, align 4, !tbaa !5
  %7220 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7221 = call i32 @s2n_print_stacktrace(ptr noundef %7220) #12
  %7222 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7223 = trunc nuw i8 %7222 to i1
  br i1 %7223, label %7224, label %7228

7224:                                             ; preds = %7218
  %7225 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7226 = call i32 @fileno(ptr noundef %7225) #12
  %7227 = call i32 @isatty(i32 noundef %7226) #12
  %.not1041 = icmp eq i32 %7227, 0
  br i1 %.not1041, label %7228, label %7229

7228:                                             ; preds = %7224, %7218
  br label %7229

7229:                                             ; preds = %7224, %7228
  %.str.5.sink3536 = phi ptr [ @.str.5, %7228 ], [ @.str.2, %7224 ]
  store i32 %7219, ptr %598, align 4, !tbaa !5
  %7230 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7231 = load i32, ptr @test_count, align 4, !tbaa !5
  %7232 = load i32, ptr %544, align 4, !tbaa !5
  %7233 = call ptr @s2n_strerror(i32 noundef %7232, ptr noundef nonnull @.str.4) #12
  %7234 = load i32, ptr %544, align 4, !tbaa !5
  %7235 = call ptr @s2n_strerror_debug(i32 noundef %7234, ptr noundef nonnull @.str.4) #12
  %7236 = load i32, ptr %598, align 4, !tbaa !5
  %7237 = call ptr @strerror(i32 noundef %7236) #12
  %7238 = load i32, ptr %598, align 4, !tbaa !5
  %7239 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7230, ptr noundef nonnull %.str.5.sink3536, i32 noundef %7231, ptr noundef nonnull @.str.137, ptr noundef nonnull @.str.1, i32 noundef 717, ptr noundef %7233, ptr noundef %7235, ptr noundef %7237, i32 noundef %7238) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7240:                                             ; preds = %7213
  %7241 = call i32 @s2n_io_stuffer_pair_free(ptr noundef nonnull %104) #12
  call void @llvm.lifetime.end.p0(i64 80, ptr nonnull %104) #12
  %7242 = 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 %105) #12
  %7243 = call ptr @s2n_connection_new(i32 noundef 1) #12
  store ptr %7243, ptr %105, align 8, !tbaa !9
  %7244 = load i32, ptr @test_count, align 4, !tbaa !5
  %7245 = add nsw i32 %7244, 1
  store i32 %7245, ptr @test_count, align 4, !tbaa !5
  %7246 = icmp eq ptr %7243, null
  br i1 %7246, label %7247, label %7269

7247:                                             ; preds = %7240
  %7248 = load i32, ptr %598, align 4, !tbaa !5
  %7249 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7250 = call i32 @s2n_print_stacktrace(ptr noundef %7249) #12
  %7251 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7252 = trunc nuw i8 %7251 to i1
  br i1 %7252, label %7253, label %7257

7253:                                             ; preds = %7247
  %7254 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7255 = call i32 @fileno(ptr noundef %7254) #12
  %7256 = call i32 @isatty(i32 noundef %7255) #12
  %.not1040 = icmp eq i32 %7256, 0
  br i1 %.not1040, label %7257, label %7258

7257:                                             ; preds = %7253, %7247
  br label %7258

7258:                                             ; preds = %7253, %7257
  %.str.5.sink3545 = phi ptr [ @.str.5, %7257 ], [ @.str.2, %7253 ]
  store i32 %7248, ptr %598, align 4, !tbaa !5
  %7259 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7260 = load i32, ptr @test_count, align 4, !tbaa !5
  %7261 = load i32, ptr %544, align 4, !tbaa !5
  %7262 = call ptr @s2n_strerror(i32 noundef %7261, ptr noundef nonnull @.str.4) #12
  %7263 = load i32, ptr %544, align 4, !tbaa !5
  %7264 = call ptr @s2n_strerror_debug(i32 noundef %7263, ptr noundef nonnull @.str.4) #12
  %7265 = load i32, ptr %598, align 4, !tbaa !5
  %7266 = call ptr @strerror(i32 noundef %7265) #12
  %7267 = load i32, ptr %598, align 4, !tbaa !5
  %7268 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7259, ptr noundef nonnull %.str.5.sink3545, i32 noundef %7260, ptr noundef nonnull @.str.42, ptr noundef nonnull @.str.1, i32 noundef 724, ptr noundef %7262, ptr noundef %7264, ptr noundef %7266, i32 noundef %7267) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7269:                                             ; preds = %7240
  %7270 = add nsw i32 %7244, 2
  store i32 %7270, ptr @test_count, align 4, !tbaa !5
  %7271 = load ptr, ptr %94, align 8, !tbaa !9
  %7272 = call i32 @s2n_connection_set_config(ptr noundef nonnull %7243, ptr noundef %7271) #12
  %7273 = icmp eq i32 %7272, -1
  br i1 %7273, label %7274, label %7296

7274:                                             ; preds = %7269
  %7275 = load i32, ptr %598, align 4, !tbaa !5
  %7276 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7277 = call i32 @s2n_print_stacktrace(ptr noundef %7276) #12
  %7278 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7279 = trunc nuw i8 %7278 to i1
  br i1 %7279, label %7280, label %7284

7280:                                             ; preds = %7274
  %7281 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7282 = call i32 @fileno(ptr noundef %7281) #12
  %7283 = call i32 @isatty(i32 noundef %7282) #12
  %.not1039 = icmp eq i32 %7283, 0
  br i1 %.not1039, label %7284, label %7285

7284:                                             ; preds = %7280, %7274
  br label %7285

7285:                                             ; preds = %7280, %7284
  %.str.5.sink3554 = phi ptr [ @.str.5, %7284 ], [ @.str.2, %7280 ]
  store i32 %7275, ptr %598, align 4, !tbaa !5
  %7286 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7287 = load i32, ptr @test_count, align 4, !tbaa !5
  %7288 = load i32, ptr %544, align 4, !tbaa !5
  %7289 = call ptr @s2n_strerror(i32 noundef %7288, ptr noundef nonnull @.str.4) #12
  %7290 = load i32, ptr %544, align 4, !tbaa !5
  %7291 = call ptr @s2n_strerror_debug(i32 noundef %7290, ptr noundef nonnull @.str.4) #12
  %7292 = load i32, ptr %598, align 4, !tbaa !5
  %7293 = call ptr @strerror(i32 noundef %7292) #12
  %7294 = load i32, ptr %598, align 4, !tbaa !5
  %7295 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7286, ptr noundef nonnull %.str.5.sink3554, i32 noundef %7287, ptr noundef nonnull @.str.123, ptr noundef nonnull @.str.1, i32 noundef 725, ptr noundef %7289, ptr noundef %7291, ptr noundef %7293, i32 noundef %7294) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7296:                                             ; preds = %7269
  %7297 = load i32, ptr @test_count, align 4, !tbaa !5
  %7298 = add nsw i32 %7297, 1
  store i32 %7298, ptr @test_count, align 4, !tbaa !5
  %7299 = load ptr, ptr %105, align 8, !tbaa !9
  %7300 = load ptr, ptr %97, align 8, !tbaa !64
  %7301 = getelementptr inbounds i8, ptr %97, i64 8
  %7302 = load i32, ptr %7301, align 8, !tbaa !65
  %7303 = zext i32 %7302 to i64
  %7304 = call i32 @s2n_connection_set_session(ptr noundef %7299, ptr noundef %7300, i64 noundef %7303) #12
  %7305 = icmp eq i32 %7304, -1
  br i1 %7305, label %7306, label %7328

7306:                                             ; preds = %7296
  %7307 = load i32, ptr %598, align 4, !tbaa !5
  %7308 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7309 = call i32 @s2n_print_stacktrace(ptr noundef %7308) #12
  %7310 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7311 = trunc nuw i8 %7310 to i1
  br i1 %7311, label %7312, label %7316

7312:                                             ; preds = %7306
  %7313 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7314 = call i32 @fileno(ptr noundef %7313) #12
  %7315 = call i32 @isatty(i32 noundef %7314) #12
  %.not1038 = icmp eq i32 %7315, 0
  br i1 %.not1038, label %7316, label %7317

7316:                                             ; preds = %7312, %7306
  br label %7317

7317:                                             ; preds = %7312, %7316
  %.str.5.sink3563 = phi ptr [ @.str.5, %7316 ], [ @.str.2, %7312 ]
  store i32 %7307, ptr %598, align 4, !tbaa !5
  %7318 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7319 = load i32, ptr @test_count, align 4, !tbaa !5
  %7320 = load i32, ptr %544, align 4, !tbaa !5
  %7321 = call ptr @s2n_strerror(i32 noundef %7320, ptr noundef nonnull @.str.4) #12
  %7322 = load i32, ptr %544, align 4, !tbaa !5
  %7323 = call ptr @s2n_strerror_debug(i32 noundef %7322, ptr noundef nonnull @.str.4) #12
  %7324 = load i32, ptr %598, align 4, !tbaa !5
  %7325 = call ptr @strerror(i32 noundef %7324) #12
  %7326 = load i32, ptr %598, align 4, !tbaa !5
  %7327 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7318, ptr noundef nonnull %.str.5.sink3563, i32 noundef %7319, ptr noundef nonnull @.str.138, ptr noundef nonnull @.str.1, i32 noundef 726, ptr noundef %7321, ptr noundef %7323, ptr noundef %7325, i32 noundef %7326) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7328:                                             ; preds = %7296
  %7329 = load i32, ptr @test_count, align 4, !tbaa !5
  %7330 = add nsw i32 %7329, 1
  store i32 %7330, ptr @test_count, align 4, !tbaa !5
  %7331 = load ptr, ptr %98, align 8, !tbaa !9
  %7332 = call i32 @s2n_connection_wipe(ptr noundef %7331) #12
  %7333 = icmp eq i32 %7332, -1
  br i1 %7333, label %7334, label %7356

7334:                                             ; preds = %7328
  %7335 = load i32, ptr %598, align 4, !tbaa !5
  %7336 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7337 = call i32 @s2n_print_stacktrace(ptr noundef %7336) #12
  %7338 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7339 = trunc nuw i8 %7338 to i1
  br i1 %7339, label %7340, label %7344

7340:                                             ; preds = %7334
  %7341 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7342 = call i32 @fileno(ptr noundef %7341) #12
  %7343 = call i32 @isatty(i32 noundef %7342) #12
  %.not1037 = icmp eq i32 %7343, 0
  br i1 %.not1037, label %7344, label %7345

7344:                                             ; preds = %7340, %7334
  br label %7345

7345:                                             ; preds = %7340, %7344
  %.str.5.sink3572 = phi ptr [ @.str.5, %7344 ], [ @.str.2, %7340 ]
  store i32 %7335, ptr %598, align 4, !tbaa !5
  %7346 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7347 = load i32, ptr @test_count, align 4, !tbaa !5
  %7348 = load i32, ptr %544, align 4, !tbaa !5
  %7349 = call ptr @s2n_strerror(i32 noundef %7348, ptr noundef nonnull @.str.4) #12
  %7350 = load i32, ptr %544, align 4, !tbaa !5
  %7351 = call ptr @s2n_strerror_debug(i32 noundef %7350, ptr noundef nonnull @.str.4) #12
  %7352 = load i32, ptr %598, align 4, !tbaa !5
  %7353 = call ptr @strerror(i32 noundef %7352) #12
  %7354 = load i32, ptr %598, align 4, !tbaa !5
  %7355 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7346, ptr noundef nonnull %.str.5.sink3572, i32 noundef %7347, ptr noundef nonnull @.str.135, ptr noundef nonnull @.str.1, i32 noundef 727, ptr noundef %7349, ptr noundef %7351, ptr noundef %7353, i32 noundef %7354) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7356:                                             ; preds = %7328
  call void @llvm.lifetime.start.p0(i64 80, ptr nonnull %106) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(80) %106, i8 0, i64 80, i1 false)
  %7357 = load i32, ptr @test_count, align 4, !tbaa !5
  %7358 = add nsw i32 %7357, 1
  store i32 %7358, ptr @test_count, align 4, !tbaa !5
  %7359 = call i32 @s2n_io_stuffer_pair_init(ptr noundef nonnull %106) #12
  %7360 = call zeroext i1 @s2n_result_is_ok(i32 %7359)
  br i1 %7360, label %7383, label %7361

7361:                                             ; preds = %7356
  %7362 = load i32, ptr %598, align 4, !tbaa !5
  %7363 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7364 = call i32 @s2n_print_stacktrace(ptr noundef %7363) #12
  %7365 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7366 = trunc nuw i8 %7365 to i1
  br i1 %7366, label %7367, label %7371

7367:                                             ; preds = %7361
  %7368 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7369 = call i32 @fileno(ptr noundef %7368) #12
  %7370 = call i32 @isatty(i32 noundef %7369) #12
  %.not949 = icmp eq i32 %7370, 0
  br i1 %.not949, label %7371, label %7372

7371:                                             ; preds = %7367, %7361
  br label %7372

7372:                                             ; preds = %7367, %7371
  %.str.5.sink3581 = phi ptr [ @.str.5, %7371 ], [ @.str.2, %7367 ]
  store i32 %7362, ptr %598, align 4, !tbaa !5
  %7373 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7374 = load i32, ptr @test_count, align 4, !tbaa !5
  %7375 = load i32, ptr %544, align 4, !tbaa !5
  %7376 = call ptr @s2n_strerror(i32 noundef %7375, ptr noundef nonnull @.str.4) #12
  %7377 = load i32, ptr %544, align 4, !tbaa !5
  %7378 = call ptr @s2n_strerror_debug(i32 noundef %7377, ptr noundef nonnull @.str.4) #12
  %7379 = load i32, ptr %598, align 4, !tbaa !5
  %7380 = call ptr @strerror(i32 noundef %7379) #12
  %7381 = load i32, ptr %598, align 4, !tbaa !5
  %7382 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7373, ptr noundef nonnull %.str.5.sink3581, i32 noundef %7374, ptr noundef nonnull @.str.46, ptr noundef nonnull @.str.1, i32 noundef 730, ptr noundef %7376, ptr noundef %7378, ptr noundef %7380, i32 noundef %7381) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7383:                                             ; preds = %7356
  %7384 = load i32, ptr @test_count, align 4, !tbaa !5
  %7385 = add nsw i32 %7384, 1
  store i32 %7385, ptr @test_count, align 4, !tbaa !5
  %7386 = load ptr, ptr %105, align 8, !tbaa !9
  %7387 = load ptr, ptr %98, align 8, !tbaa !9
  %7388 = call i32 @s2n_connections_set_io_stuffer_pair(ptr noundef %7386, ptr noundef %7387, ptr noundef nonnull %106) #12
  %7389 = call zeroext i1 @s2n_result_is_ok(i32 %7388)
  br i1 %7389, label %7412, label %7390

7390:                                             ; preds = %7383
  %7391 = load i32, ptr %598, align 4, !tbaa !5
  %7392 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7393 = call i32 @s2n_print_stacktrace(ptr noundef %7392) #12
  %7394 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7395 = trunc nuw i8 %7394 to i1
  br i1 %7395, label %7396, label %7400

7396:                                             ; preds = %7390
  %7397 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7398 = call i32 @fileno(ptr noundef %7397) #12
  %7399 = call i32 @isatty(i32 noundef %7398) #12
  %.not950 = icmp eq i32 %7399, 0
  br i1 %.not950, label %7400, label %7401

7400:                                             ; preds = %7396, %7390
  br label %7401

7401:                                             ; preds = %7396, %7400
  %.str.5.sink3590 = phi ptr [ @.str.5, %7400 ], [ @.str.2, %7396 ]
  store i32 %7391, ptr %598, align 4, !tbaa !5
  %7402 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7403 = load i32, ptr @test_count, align 4, !tbaa !5
  %7404 = load i32, ptr %544, align 4, !tbaa !5
  %7405 = call ptr @s2n_strerror(i32 noundef %7404, ptr noundef nonnull @.str.4) #12
  %7406 = load i32, ptr %544, align 4, !tbaa !5
  %7407 = call ptr @s2n_strerror_debug(i32 noundef %7406, ptr noundef nonnull @.str.4) #12
  %7408 = load i32, ptr %598, align 4, !tbaa !5
  %7409 = call ptr @strerror(i32 noundef %7408) #12
  %7410 = load i32, ptr %598, align 4, !tbaa !5
  %7411 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7402, ptr noundef nonnull %.str.5.sink3590, i32 noundef %7403, ptr noundef nonnull @.str.47, ptr noundef nonnull @.str.1, i32 noundef 731, ptr noundef %7405, ptr noundef %7407, ptr noundef %7409, i32 noundef %7410) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7412:                                             ; preds = %7383
  %7413 = load i32, ptr @test_count, align 4, !tbaa !5
  %7414 = add nsw i32 %7413, 1
  store i32 %7414, ptr @test_count, align 4, !tbaa !5
  %7415 = load ptr, ptr %98, align 8, !tbaa !9
  %7416 = load ptr, ptr %105, align 8, !tbaa !9
  %7417 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %7415, ptr noundef %7416) #12
  %7418 = icmp eq i32 %7417, -1
  br i1 %7418, label %7419, label %7441

7419:                                             ; preds = %7412
  %7420 = load i32, ptr %598, align 4, !tbaa !5
  %7421 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7422 = call i32 @s2n_print_stacktrace(ptr noundef %7421) #12
  %7423 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7424 = trunc nuw i8 %7423 to i1
  br i1 %7424, label %7425, label %7429

7425:                                             ; preds = %7419
  %7426 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7427 = call i32 @fileno(ptr noundef %7426) #12
  %7428 = call i32 @isatty(i32 noundef %7427) #12
  %.not1036 = icmp eq i32 %7428, 0
  br i1 %.not1036, label %7429, label %7430

7429:                                             ; preds = %7425, %7419
  br label %7430

7430:                                             ; preds = %7425, %7429
  %.str.5.sink3599 = phi ptr [ @.str.5, %7429 ], [ @.str.2, %7425 ]
  store i32 %7420, ptr %598, align 4, !tbaa !5
  %7431 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7432 = load i32, ptr @test_count, align 4, !tbaa !5
  %7433 = load i32, ptr %544, align 4, !tbaa !5
  %7434 = call ptr @s2n_strerror(i32 noundef %7433, ptr noundef nonnull @.str.4) #12
  %7435 = load i32, ptr %544, align 4, !tbaa !5
  %7436 = call ptr @s2n_strerror_debug(i32 noundef %7435, ptr noundef nonnull @.str.4) #12
  %7437 = load i32, ptr %598, align 4, !tbaa !5
  %7438 = call ptr @strerror(i32 noundef %7437) #12
  %7439 = load i32, ptr %598, align 4, !tbaa !5
  %7440 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7431, ptr noundef nonnull %.str.5.sink3599, i32 noundef %7432, ptr noundef nonnull @.str.48, ptr noundef nonnull @.str.1, i32 noundef 733, ptr noundef %7434, ptr noundef %7436, ptr noundef %7438, i32 noundef %7439) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7441:                                             ; preds = %7412
  %7442 = load i32, ptr @test_count, align 4, !tbaa !5
  %7443 = add nsw i32 %7442, 1
  store i32 %7443, ptr @test_count, align 4, !tbaa !5
  %7444 = load ptr, ptr %105, align 8, !tbaa !9
  %7445 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef %7444, i32 noundef 2) #12
  br i1 %7445, label %7446, label %7468

7446:                                             ; preds = %7441
  %7447 = load i32, ptr %598, align 4, !tbaa !5
  %7448 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7449 = call i32 @s2n_print_stacktrace(ptr noundef %7448) #12
  %7450 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7451 = trunc nuw i8 %7450 to i1
  br i1 %7451, label %7452, label %7456

7452:                                             ; preds = %7446
  %7453 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7454 = call i32 @fileno(ptr noundef %7453) #12
  %7455 = call i32 @isatty(i32 noundef %7454) #12
  %.not1035 = icmp eq i32 %7455, 0
  br i1 %.not1035, label %7456, label %7457

7456:                                             ; preds = %7452, %7446
  br label %7457

7457:                                             ; preds = %7452, %7456
  %.str.5.sink3608 = phi ptr [ @.str.5, %7456 ], [ @.str.2, %7452 ]
  store i32 %7447, ptr %598, align 4, !tbaa !5
  %7458 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7459 = load i32, ptr @test_count, align 4, !tbaa !5
  %7460 = load i32, ptr %544, align 4, !tbaa !5
  %7461 = call ptr @s2n_strerror(i32 noundef %7460, ptr noundef nonnull @.str.4) #12
  %7462 = load i32, ptr %544, align 4, !tbaa !5
  %7463 = call ptr @s2n_strerror_debug(i32 noundef %7462, ptr noundef nonnull @.str.4) #12
  %7464 = load i32, ptr %598, align 4, !tbaa !5
  %7465 = call ptr @strerror(i32 noundef %7464) #12
  %7466 = load i32, ptr %598, align 4, !tbaa !5
  %7467 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7458, ptr noundef nonnull %.str.5.sink3608, i32 noundef %7459, ptr noundef nonnull @.str.136, ptr noundef nonnull @.str.1, i32 noundef 734, ptr noundef %7461, ptr noundef %7463, ptr noundef %7465, i32 noundef %7466) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7468:                                             ; preds = %7441
  %7469 = load i32, ptr @test_count, align 4, !tbaa !5
  %7470 = add nsw i32 %7469, 1
  store i32 %7470, ptr @test_count, align 4, !tbaa !5
  %7471 = load ptr, ptr %98, align 8, !tbaa !9
  %7472 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef %7471, i32 noundef 2) #12
  br i1 %7472, label %7473, label %7495

7473:                                             ; preds = %7468
  %7474 = load i32, ptr %598, align 4, !tbaa !5
  %7475 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7476 = call i32 @s2n_print_stacktrace(ptr noundef %7475) #12
  %7477 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7478 = trunc nuw i8 %7477 to i1
  br i1 %7478, label %7479, label %7483

7479:                                             ; preds = %7473
  %7480 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7481 = call i32 @fileno(ptr noundef %7480) #12
  %7482 = call i32 @isatty(i32 noundef %7481) #12
  %.not1034 = icmp eq i32 %7482, 0
  br i1 %.not1034, label %7483, label %7484

7483:                                             ; preds = %7479, %7473
  br label %7484

7484:                                             ; preds = %7479, %7483
  %.str.5.sink3617 = phi ptr [ @.str.5, %7483 ], [ @.str.2, %7479 ]
  store i32 %7474, ptr %598, align 4, !tbaa !5
  %7485 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7486 = load i32, ptr @test_count, align 4, !tbaa !5
  %7487 = load i32, ptr %544, align 4, !tbaa !5
  %7488 = call ptr @s2n_strerror(i32 noundef %7487, ptr noundef nonnull @.str.4) #12
  %7489 = load i32, ptr %544, align 4, !tbaa !5
  %7490 = call ptr @s2n_strerror_debug(i32 noundef %7489, ptr noundef nonnull @.str.4) #12
  %7491 = load i32, ptr %598, align 4, !tbaa !5
  %7492 = call ptr @strerror(i32 noundef %7491) #12
  %7493 = load i32, ptr %598, align 4, !tbaa !5
  %7494 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7485, ptr noundef nonnull %.str.5.sink3617, i32 noundef %7486, ptr noundef nonnull @.str.137, ptr noundef nonnull @.str.1, i32 noundef 735, ptr noundef %7488, ptr noundef %7490, ptr noundef %7492, i32 noundef %7493) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7495:                                             ; preds = %7468
  %7496 = call i32 @s2n_io_stuffer_pair_free(ptr noundef nonnull %106) #12
  call void @llvm.lifetime.end.p0(i64 80, ptr nonnull %106) #12
  %7497 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %105) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %105) #12
  %7498 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %98) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %98) #12
  %7499 = call i32 @s2n_free(ptr noundef nonnull %97) #12
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %97) #12
  %7500 = call i32 @s2n_free(ptr noundef nonnull %96) #12
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %96) #12
  call void @llvm.lifetime.end.p0(i64 142, ptr nonnull %95) #12
  call void @llvm.lifetime.start.p0(i64 142, ptr nonnull %107) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(142) %107, i8 0, i64 142, i1 false)
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %108) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %108, i8 0, i64 24, i1 false)
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %109) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %109, i8 0, i64 24, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %110) #12
  %7501 = call ptr @s2n_connection_new(i32 noundef 1) #12
  store ptr %7501, ptr %110, align 8, !tbaa !9
  %7502 = load i32, ptr @test_count, align 4, !tbaa !5
  %7503 = add nsw i32 %7502, 1
  store i32 %7503, ptr @test_count, align 4, !tbaa !5
  %7504 = icmp eq ptr %7501, null
  br i1 %7504, label %7505, label %7527

7505:                                             ; preds = %7495
  %7506 = load i32, ptr %598, align 4, !tbaa !5
  %7507 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7508 = call i32 @s2n_print_stacktrace(ptr noundef %7507) #12
  %7509 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7510 = trunc nuw i8 %7509 to i1
  br i1 %7510, label %7511, label %7515

7511:                                             ; preds = %7505
  %7512 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7513 = call i32 @fileno(ptr noundef %7512) #12
  %7514 = call i32 @isatty(i32 noundef %7513) #12
  %.not1033 = icmp eq i32 %7514, 0
  br i1 %.not1033, label %7515, label %7516

7515:                                             ; preds = %7511, %7505
  br label %7516

7516:                                             ; preds = %7511, %7515
  %.str.5.sink3626 = phi ptr [ @.str.5, %7515 ], [ @.str.2, %7511 ]
  store i32 %7506, ptr %598, align 4, !tbaa !5
  %7517 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7518 = load i32, ptr @test_count, align 4, !tbaa !5
  %7519 = load i32, ptr %544, align 4, !tbaa !5
  %7520 = call ptr @s2n_strerror(i32 noundef %7519, ptr noundef nonnull @.str.4) #12
  %7521 = load i32, ptr %544, align 4, !tbaa !5
  %7522 = call ptr @s2n_strerror_debug(i32 noundef %7521, ptr noundef nonnull @.str.4) #12
  %7523 = load i32, ptr %598, align 4, !tbaa !5
  %7524 = call ptr @strerror(i32 noundef %7523) #12
  %7525 = load i32, ptr %598, align 4, !tbaa !5
  %7526 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7517, ptr noundef nonnull %.str.5.sink3626, i32 noundef %7518, ptr noundef nonnull @.str.42, ptr noundef nonnull @.str.1, i32 noundef 748, ptr noundef %7520, ptr noundef %7522, ptr noundef %7524, i32 noundef %7525) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7527:                                             ; preds = %7495
  %7528 = add nsw i32 %7502, 2
  store i32 %7528, ptr @test_count, align 4, !tbaa !5
  %7529 = load ptr, ptr %94, align 8, !tbaa !9
  %7530 = call i32 @s2n_connection_set_config(ptr noundef nonnull %7501, ptr noundef %7529) #12
  %7531 = icmp eq i32 %7530, -1
  br i1 %7531, label %7532, label %7554

7532:                                             ; preds = %7527
  %7533 = load i32, ptr %598, align 4, !tbaa !5
  %7534 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7535 = call i32 @s2n_print_stacktrace(ptr noundef %7534) #12
  %7536 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7537 = trunc nuw i8 %7536 to i1
  br i1 %7537, label %7538, label %7542

7538:                                             ; preds = %7532
  %7539 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7540 = call i32 @fileno(ptr noundef %7539) #12
  %7541 = call i32 @isatty(i32 noundef %7540) #12
  %.not1032 = icmp eq i32 %7541, 0
  br i1 %.not1032, label %7542, label %7543

7542:                                             ; preds = %7538, %7532
  br label %7543

7543:                                             ; preds = %7538, %7542
  %.str.5.sink3635 = phi ptr [ @.str.5, %7542 ], [ @.str.2, %7538 ]
  store i32 %7533, ptr %598, align 4, !tbaa !5
  %7544 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7545 = load i32, ptr @test_count, align 4, !tbaa !5
  %7546 = load i32, ptr %544, align 4, !tbaa !5
  %7547 = call ptr @s2n_strerror(i32 noundef %7546, ptr noundef nonnull @.str.4) #12
  %7548 = load i32, ptr %544, align 4, !tbaa !5
  %7549 = call ptr @s2n_strerror_debug(i32 noundef %7548, ptr noundef nonnull @.str.4) #12
  %7550 = load i32, ptr %598, align 4, !tbaa !5
  %7551 = call ptr @strerror(i32 noundef %7550) #12
  %7552 = load i32, ptr %598, align 4, !tbaa !5
  %7553 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7544, ptr noundef nonnull %.str.5.sink3635, i32 noundef %7545, ptr noundef nonnull @.str.123, ptr noundef nonnull @.str.1, i32 noundef 749, ptr noundef %7547, ptr noundef %7549, ptr noundef %7551, i32 noundef %7552) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7554:                                             ; preds = %7527
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %111) #12
  %7555 = call ptr @s2n_connection_new(i32 noundef 0) #12
  store ptr %7555, ptr %111, align 8, !tbaa !9
  %7556 = load i32, ptr @test_count, align 4, !tbaa !5
  %7557 = add nsw i32 %7556, 1
  store i32 %7557, ptr @test_count, align 4, !tbaa !5
  %7558 = icmp eq ptr %7555, null
  br i1 %7558, label %7559, label %7581

7559:                                             ; preds = %7554
  %7560 = load i32, ptr %598, align 4, !tbaa !5
  %7561 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7562 = call i32 @s2n_print_stacktrace(ptr noundef %7561) #12
  %7563 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7564 = trunc nuw i8 %7563 to i1
  br i1 %7564, label %7565, label %7569

7565:                                             ; preds = %7559
  %7566 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7567 = call i32 @fileno(ptr noundef %7566) #12
  %7568 = call i32 @isatty(i32 noundef %7567) #12
  %.not1031 = icmp eq i32 %7568, 0
  br i1 %.not1031, label %7569, label %7570

7569:                                             ; preds = %7565, %7559
  br label %7570

7570:                                             ; preds = %7565, %7569
  %.str.5.sink3644 = phi ptr [ @.str.5, %7569 ], [ @.str.2, %7565 ]
  store i32 %7560, ptr %598, align 4, !tbaa !5
  %7571 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7572 = load i32, ptr @test_count, align 4, !tbaa !5
  %7573 = load i32, ptr %544, align 4, !tbaa !5
  %7574 = call ptr @s2n_strerror(i32 noundef %7573, ptr noundef nonnull @.str.4) #12
  %7575 = load i32, ptr %544, align 4, !tbaa !5
  %7576 = call ptr @s2n_strerror_debug(i32 noundef %7575, ptr noundef nonnull @.str.4) #12
  %7577 = load i32, ptr %598, align 4, !tbaa !5
  %7578 = call ptr @strerror(i32 noundef %7577) #12
  %7579 = load i32, ptr %598, align 4, !tbaa !5
  %7580 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7571, ptr noundef nonnull %.str.5.sink3644, i32 noundef %7572, ptr noundef nonnull @.str.43, ptr noundef nonnull @.str.1, i32 noundef 755, ptr noundef %7574, ptr noundef %7576, ptr noundef %7578, i32 noundef %7579) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7581:                                             ; preds = %7554
  %7582 = add nsw i32 %7556, 2
  store i32 %7582, ptr @test_count, align 4, !tbaa !5
  %7583 = load ptr, ptr %94, align 8, !tbaa !9
  %7584 = call i32 @s2n_connection_set_config(ptr noundef nonnull %7555, ptr noundef %7583) #12
  %7585 = icmp eq i32 %7584, -1
  br i1 %7585, label %7586, label %7608

7586:                                             ; preds = %7581
  %7587 = load i32, ptr %598, align 4, !tbaa !5
  %7588 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7589 = call i32 @s2n_print_stacktrace(ptr noundef %7588) #12
  %7590 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7591 = trunc nuw i8 %7590 to i1
  br i1 %7591, label %7592, label %7596

7592:                                             ; preds = %7586
  %7593 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7594 = call i32 @fileno(ptr noundef %7593) #12
  %7595 = call i32 @isatty(i32 noundef %7594) #12
  %.not1030 = icmp eq i32 %7595, 0
  br i1 %.not1030, label %7596, label %7597

7596:                                             ; preds = %7592, %7586
  br label %7597

7597:                                             ; preds = %7592, %7596
  %.str.5.sink3653 = phi ptr [ @.str.5, %7596 ], [ @.str.2, %7592 ]
  store i32 %7587, ptr %598, align 4, !tbaa !5
  %7598 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7599 = load i32, ptr @test_count, align 4, !tbaa !5
  %7600 = load i32, ptr %544, align 4, !tbaa !5
  %7601 = call ptr @s2n_strerror(i32 noundef %7600, ptr noundef nonnull @.str.4) #12
  %7602 = load i32, ptr %544, align 4, !tbaa !5
  %7603 = call ptr @s2n_strerror_debug(i32 noundef %7602, ptr noundef nonnull @.str.4) #12
  %7604 = load i32, ptr %598, align 4, !tbaa !5
  %7605 = call ptr @strerror(i32 noundef %7604) #12
  %7606 = load i32, ptr %598, align 4, !tbaa !5
  %7607 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7598, ptr noundef nonnull %.str.5.sink3653, i32 noundef %7599, ptr noundef nonnull @.str.124, ptr noundef nonnull @.str.1, i32 noundef 756, ptr noundef %7601, ptr noundef %7603, ptr noundef %7605, i32 noundef %7606) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7608:                                             ; preds = %7581
  call void @llvm.lifetime.start.p0(i64 80, ptr nonnull %112) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(80) %112, i8 0, i64 80, i1 false)
  %7609 = load i32, ptr @test_count, align 4, !tbaa !5
  %7610 = add nsw i32 %7609, 1
  store i32 %7610, ptr @test_count, align 4, !tbaa !5
  %7611 = call i32 @s2n_io_stuffer_pair_init(ptr noundef nonnull %112) #12
  %7612 = call zeroext i1 @s2n_result_is_ok(i32 %7611)
  br i1 %7612, label %7635, label %7613

7613:                                             ; preds = %7608
  %7614 = load i32, ptr %598, align 4, !tbaa !5
  %7615 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7616 = call i32 @s2n_print_stacktrace(ptr noundef %7615) #12
  %7617 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7618 = trunc nuw i8 %7617 to i1
  br i1 %7618, label %7619, label %7623

7619:                                             ; preds = %7613
  %7620 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7621 = call i32 @fileno(ptr noundef %7620) #12
  %7622 = call i32 @isatty(i32 noundef %7621) #12
  %.not951 = icmp eq i32 %7622, 0
  br i1 %.not951, label %7623, label %7624

7623:                                             ; preds = %7619, %7613
  br label %7624

7624:                                             ; preds = %7619, %7623
  %.str.5.sink3662 = phi ptr [ @.str.5, %7623 ], [ @.str.2, %7619 ]
  store i32 %7614, ptr %598, align 4, !tbaa !5
  %7625 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7626 = load i32, ptr @test_count, align 4, !tbaa !5
  %7627 = load i32, ptr %544, align 4, !tbaa !5
  %7628 = call ptr @s2n_strerror(i32 noundef %7627, ptr noundef nonnull @.str.4) #12
  %7629 = load i32, ptr %544, align 4, !tbaa !5
  %7630 = call ptr @s2n_strerror_debug(i32 noundef %7629, ptr noundef nonnull @.str.4) #12
  %7631 = load i32, ptr %598, align 4, !tbaa !5
  %7632 = call ptr @strerror(i32 noundef %7631) #12
  %7633 = load i32, ptr %598, align 4, !tbaa !5
  %7634 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7625, ptr noundef nonnull %.str.5.sink3662, i32 noundef %7626, ptr noundef nonnull @.str.46, ptr noundef nonnull @.str.1, i32 noundef 759, ptr noundef %7628, ptr noundef %7630, ptr noundef %7632, i32 noundef %7633) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7635:                                             ; preds = %7608
  %7636 = load i32, ptr @test_count, align 4, !tbaa !5
  %7637 = add nsw i32 %7636, 1
  store i32 %7637, ptr @test_count, align 4, !tbaa !5
  %7638 = load ptr, ptr %110, align 8, !tbaa !9
  %7639 = load ptr, ptr %111, align 8, !tbaa !9
  %7640 = call i32 @s2n_connections_set_io_stuffer_pair(ptr noundef %7638, ptr noundef %7639, ptr noundef nonnull %112) #12
  %7641 = call zeroext i1 @s2n_result_is_ok(i32 %7640)
  br i1 %7641, label %7664, label %7642

7642:                                             ; preds = %7635
  %7643 = load i32, ptr %598, align 4, !tbaa !5
  %7644 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7645 = call i32 @s2n_print_stacktrace(ptr noundef %7644) #12
  %7646 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7647 = trunc nuw i8 %7646 to i1
  br i1 %7647, label %7648, label %7652

7648:                                             ; preds = %7642
  %7649 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7650 = call i32 @fileno(ptr noundef %7649) #12
  %7651 = call i32 @isatty(i32 noundef %7650) #12
  %.not952 = icmp eq i32 %7651, 0
  br i1 %.not952, label %7652, label %7653

7652:                                             ; preds = %7648, %7642
  br label %7653

7653:                                             ; preds = %7648, %7652
  %.str.5.sink3671 = phi ptr [ @.str.5, %7652 ], [ @.str.2, %7648 ]
  store i32 %7643, ptr %598, align 4, !tbaa !5
  %7654 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7655 = load i32, ptr @test_count, align 4, !tbaa !5
  %7656 = load i32, ptr %544, align 4, !tbaa !5
  %7657 = call ptr @s2n_strerror(i32 noundef %7656, ptr noundef nonnull @.str.4) #12
  %7658 = load i32, ptr %544, align 4, !tbaa !5
  %7659 = call ptr @s2n_strerror_debug(i32 noundef %7658, ptr noundef nonnull @.str.4) #12
  %7660 = load i32, ptr %598, align 4, !tbaa !5
  %7661 = call ptr @strerror(i32 noundef %7660) #12
  %7662 = load i32, ptr %598, align 4, !tbaa !5
  %7663 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7654, ptr noundef nonnull %.str.5.sink3671, i32 noundef %7655, ptr noundef nonnull @.str.47, ptr noundef nonnull @.str.1, i32 noundef 760, ptr noundef %7657, ptr noundef %7659, ptr noundef %7661, i32 noundef %7662) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7664:                                             ; preds = %7635
  %7665 = load i32, ptr @test_count, align 4, !tbaa !5
  %7666 = add nsw i32 %7665, 1
  store i32 %7666, ptr @test_count, align 4, !tbaa !5
  %7667 = load ptr, ptr %111, align 8, !tbaa !9
  %7668 = load ptr, ptr %110, align 8, !tbaa !9
  %7669 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %7667, ptr noundef %7668) #12
  %7670 = icmp eq i32 %7669, -1
  br i1 %7670, label %7671, label %7693

7671:                                             ; preds = %7664
  %7672 = load i32, ptr %598, align 4, !tbaa !5
  %7673 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7674 = call i32 @s2n_print_stacktrace(ptr noundef %7673) #12
  %7675 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7676 = trunc nuw i8 %7675 to i1
  br i1 %7676, label %7677, label %7681

7677:                                             ; preds = %7671
  %7678 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7679 = call i32 @fileno(ptr noundef %7678) #12
  %7680 = call i32 @isatty(i32 noundef %7679) #12
  %.not1029 = icmp eq i32 %7680, 0
  br i1 %.not1029, label %7681, label %7682

7681:                                             ; preds = %7677, %7671
  br label %7682

7682:                                             ; preds = %7677, %7681
  %.str.5.sink3680 = phi ptr [ @.str.5, %7681 ], [ @.str.2, %7677 ]
  store i32 %7672, ptr %598, align 4, !tbaa !5
  %7683 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7684 = load i32, ptr @test_count, align 4, !tbaa !5
  %7685 = load i32, ptr %544, align 4, !tbaa !5
  %7686 = call ptr @s2n_strerror(i32 noundef %7685, ptr noundef nonnull @.str.4) #12
  %7687 = load i32, ptr %544, align 4, !tbaa !5
  %7688 = call ptr @s2n_strerror_debug(i32 noundef %7687, ptr noundef nonnull @.str.4) #12
  %7689 = load i32, ptr %598, align 4, !tbaa !5
  %7690 = call ptr @strerror(i32 noundef %7689) #12
  %7691 = load i32, ptr %598, align 4, !tbaa !5
  %7692 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7683, ptr noundef nonnull %.str.5.sink3680, i32 noundef %7684, ptr noundef nonnull @.str.48, ptr noundef nonnull @.str.1, i32 noundef 762, ptr noundef %7686, ptr noundef %7688, ptr noundef %7690, i32 noundef %7691) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7693:                                             ; preds = %7664
  %7694 = load i32, ptr @test_count, align 4, !tbaa !5
  %7695 = add nsw i32 %7694, 1
  store i32 %7695, ptr @test_count, align 4, !tbaa !5
  %7696 = load ptr, ptr %111, align 8, !tbaa !9
  %7697 = call i32 @s2n_connection_get_actual_protocol_version(ptr noundef %7696) #12
  %7698 = icmp eq i32 %7697, 34
  br i1 %7698, label %7721, label %7699

7699:                                             ; preds = %7693
  %7700 = load i32, ptr %598, align 4, !tbaa !5
  %7701 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7702 = call i32 @s2n_print_stacktrace(ptr noundef %7701) #12
  %7703 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7704 = trunc nuw i8 %7703 to i1
  br i1 %7704, label %7705, label %7709

7705:                                             ; preds = %7699
  %7706 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7707 = call i32 @fileno(ptr noundef %7706) #12
  %7708 = call i32 @isatty(i32 noundef %7707) #12
  %.not953 = icmp eq i32 %7708, 0
  br i1 %.not953, label %7709, label %7710

7709:                                             ; preds = %7705, %7699
  br label %7710

7710:                                             ; preds = %7705, %7709
  %.str.5.sink3689 = phi ptr [ @.str.5, %7709 ], [ @.str.2, %7705 ]
  store i32 %7700, ptr %598, align 4, !tbaa !5
  %7711 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7712 = load i32, ptr @test_count, align 4, !tbaa !5
  %7713 = load i32, ptr %544, align 4, !tbaa !5
  %7714 = call ptr @s2n_strerror(i32 noundef %7713, ptr noundef nonnull @.str.4) #12
  %7715 = load i32, ptr %544, align 4, !tbaa !5
  %7716 = call ptr @s2n_strerror_debug(i32 noundef %7715, ptr noundef nonnull @.str.4) #12
  %7717 = load i32, ptr %598, align 4, !tbaa !5
  %7718 = call ptr @strerror(i32 noundef %7717) #12
  %7719 = load i32, ptr %598, align 4, !tbaa !5
  %7720 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7711, ptr noundef nonnull %.str.5.sink3689, i32 noundef %7712, ptr noundef nonnull @.str.77, ptr noundef nonnull @.str.1, i32 noundef 763, ptr noundef %7714, ptr noundef %7716, ptr noundef %7718, i32 noundef %7719) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7721:                                             ; preds = %7693
  %7722 = load i32, ptr @test_count, align 4, !tbaa !5
  %7723 = add nsw i32 %7722, 1
  store i32 %7723, ptr @test_count, align 4, !tbaa !5
  %7724 = load ptr, ptr %111, align 8, !tbaa !9
  %7725 = load ptr, ptr %110, align 8, !tbaa !9
  %7726 = call i32 @s2n_send_and_recv_test(ptr noundef %7724, ptr noundef %7725) #12
  %7727 = call zeroext i1 @s2n_result_is_ok(i32 %7726)
  br i1 %7727, label %7750, label %7728

7728:                                             ; preds = %7721
  %7729 = load i32, ptr %598, align 4, !tbaa !5
  %7730 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7731 = call i32 @s2n_print_stacktrace(ptr noundef %7730) #12
  %7732 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7733 = trunc nuw i8 %7732 to i1
  br i1 %7733, label %7734, label %7738

7734:                                             ; preds = %7728
  %7735 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7736 = call i32 @fileno(ptr noundef %7735) #12
  %7737 = call i32 @isatty(i32 noundef %7736) #12
  %.not954 = icmp eq i32 %7737, 0
  br i1 %.not954, label %7738, label %7739

7738:                                             ; preds = %7734, %7728
  br label %7739

7739:                                             ; preds = %7734, %7738
  %.str.5.sink3698 = phi ptr [ @.str.5, %7738 ], [ @.str.2, %7734 ]
  store i32 %7729, ptr %598, align 4, !tbaa !5
  %7740 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7741 = load i32, ptr @test_count, align 4, !tbaa !5
  %7742 = load i32, ptr %544, align 4, !tbaa !5
  %7743 = call ptr @s2n_strerror(i32 noundef %7742, ptr noundef nonnull @.str.4) #12
  %7744 = load i32, ptr %544, align 4, !tbaa !5
  %7745 = call ptr @s2n_strerror_debug(i32 noundef %7744, ptr noundef nonnull @.str.4) #12
  %7746 = load i32, ptr %598, align 4, !tbaa !5
  %7747 = call ptr @strerror(i32 noundef %7746) #12
  %7748 = load i32, ptr %598, align 4, !tbaa !5
  %7749 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7740, ptr noundef nonnull %.str.5.sink3698, i32 noundef %7741, ptr noundef nonnull @.str.103, ptr noundef nonnull @.str.1, i32 noundef 766, ptr noundef %7743, ptr noundef %7745, ptr noundef %7747, i32 noundef %7748) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7750:                                             ; preds = %7721
  %7751 = load i32, ptr @test_count, align 4, !tbaa !5
  %7752 = add nsw i32 %7751, 1
  store i32 %7752, ptr @test_count, align 4, !tbaa !5
  %7753 = load ptr, ptr %110, align 8, !tbaa !9
  %7754 = call i32 @s2n_ticket_pickup(ptr noundef %7753, ptr noundef nonnull %108)
  %7755 = call zeroext i1 @s2n_result_is_ok(i32 %7754)
  br i1 %7755, label %7778, label %7756

7756:                                             ; preds = %7750
  %7757 = load i32, ptr %598, align 4, !tbaa !5
  %7758 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7759 = call i32 @s2n_print_stacktrace(ptr noundef %7758) #12
  %7760 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7761 = trunc nuw i8 %7760 to i1
  br i1 %7761, label %7762, label %7766

7762:                                             ; preds = %7756
  %7763 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7764 = call i32 @fileno(ptr noundef %7763) #12
  %7765 = call i32 @isatty(i32 noundef %7764) #12
  %.not955 = icmp eq i32 %7765, 0
  br i1 %.not955, label %7766, label %7767

7766:                                             ; preds = %7762, %7756
  br label %7767

7767:                                             ; preds = %7762, %7766
  %.str.5.sink3707 = phi ptr [ @.str.5, %7766 ], [ @.str.2, %7762 ]
  store i32 %7757, ptr %598, align 4, !tbaa !5
  %7768 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7769 = load i32, ptr @test_count, align 4, !tbaa !5
  %7770 = load i32, ptr %544, align 4, !tbaa !5
  %7771 = call ptr @s2n_strerror(i32 noundef %7770, ptr noundef nonnull @.str.4) #12
  %7772 = load i32, ptr %544, align 4, !tbaa !5
  %7773 = call ptr @s2n_strerror_debug(i32 noundef %7772, ptr noundef nonnull @.str.4) #12
  %7774 = load i32, ptr %598, align 4, !tbaa !5
  %7775 = call ptr @strerror(i32 noundef %7774) #12
  %7776 = load i32, ptr %598, align 4, !tbaa !5
  %7777 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7768, ptr noundef nonnull %.str.5.sink3707, i32 noundef %7769, ptr noundef nonnull @.str.131, ptr noundef nonnull @.str.1, i32 noundef 767, ptr noundef %7771, ptr noundef %7773, ptr noundef %7775, i32 noundef %7776) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7778:                                             ; preds = %7750
  %7779 = load i32, ptr @test_count, align 4, !tbaa !5
  %7780 = add nsw i32 %7779, 1
  store i32 %7780, ptr @test_count, align 4, !tbaa !5
  %7781 = load ptr, ptr %111, align 8, !tbaa !9
  %7782 = call i32 @s2n_connection_serialize(ptr noundef %7781, ptr noundef nonnull %107, i32 noundef 142) #12
  %7783 = icmp eq i32 %7782, -1
  br i1 %7783, label %7784, label %7806

7784:                                             ; preds = %7778
  %7785 = load i32, ptr %598, align 4, !tbaa !5
  %7786 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7787 = call i32 @s2n_print_stacktrace(ptr noundef %7786) #12
  %7788 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7789 = trunc nuw i8 %7788 to i1
  br i1 %7789, label %7790, label %7794

7790:                                             ; preds = %7784
  %7791 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7792 = call i32 @fileno(ptr noundef %7791) #12
  %7793 = call i32 @isatty(i32 noundef %7792) #12
  %.not1028 = icmp eq i32 %7793, 0
  br i1 %.not1028, label %7794, label %7795

7794:                                             ; preds = %7790, %7784
  br label %7795

7795:                                             ; preds = %7790, %7794
  %.str.5.sink3716 = phi ptr [ @.str.5, %7794 ], [ @.str.2, %7790 ]
  store i32 %7785, ptr %598, align 4, !tbaa !5
  %7796 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7797 = load i32, ptr @test_count, align 4, !tbaa !5
  %7798 = load i32, ptr %544, align 4, !tbaa !5
  %7799 = call ptr @s2n_strerror(i32 noundef %7798, ptr noundef nonnull @.str.4) #12
  %7800 = load i32, ptr %544, align 4, !tbaa !5
  %7801 = call ptr @s2n_strerror_debug(i32 noundef %7800, ptr noundef nonnull @.str.4) #12
  %7802 = load i32, ptr %598, align 4, !tbaa !5
  %7803 = call ptr @strerror(i32 noundef %7802) #12
  %7804 = load i32, ptr %598, align 4, !tbaa !5
  %7805 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7796, ptr noundef nonnull %.str.5.sink3716, i32 noundef %7797, ptr noundef nonnull @.str.139, ptr noundef nonnull @.str.1, i32 noundef 769, ptr noundef %7799, ptr noundef %7801, ptr noundef %7803, i32 noundef %7804) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7806:                                             ; preds = %7778
  %7807 = call i32 @s2n_io_stuffer_pair_free(ptr noundef nonnull %112) #12
  call void @llvm.lifetime.end.p0(i64 80, ptr nonnull %112) #12
  %7808 = 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 %113) #12
  %7809 = call ptr @s2n_connection_new(i32 noundef 0) #12
  store ptr %7809, ptr %113, align 8, !tbaa !9
  %7810 = load i32, ptr @test_count, align 4, !tbaa !5
  %7811 = add nsw i32 %7810, 1
  store i32 %7811, ptr @test_count, align 4, !tbaa !5
  %7812 = icmp eq ptr %7809, null
  br i1 %7812, label %7813, label %7835

7813:                                             ; preds = %7806
  %7814 = load i32, ptr %598, align 4, !tbaa !5
  %7815 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7816 = call i32 @s2n_print_stacktrace(ptr noundef %7815) #12
  %7817 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7818 = trunc nuw i8 %7817 to i1
  br i1 %7818, label %7819, label %7823

7819:                                             ; preds = %7813
  %7820 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7821 = call i32 @fileno(ptr noundef %7820) #12
  %7822 = call i32 @isatty(i32 noundef %7821) #12
  %.not1027 = icmp eq i32 %7822, 0
  br i1 %.not1027, label %7823, label %7824

7823:                                             ; preds = %7819, %7813
  br label %7824

7824:                                             ; preds = %7819, %7823
  %.str.5.sink3725 = phi ptr [ @.str.5, %7823 ], [ @.str.2, %7819 ]
  store i32 %7814, ptr %598, align 4, !tbaa !5
  %7825 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7826 = load i32, ptr @test_count, align 4, !tbaa !5
  %7827 = load i32, ptr %544, align 4, !tbaa !5
  %7828 = call ptr @s2n_strerror(i32 noundef %7827, ptr noundef nonnull @.str.4) #12
  %7829 = load i32, ptr %544, align 4, !tbaa !5
  %7830 = call ptr @s2n_strerror_debug(i32 noundef %7829, ptr noundef nonnull @.str.4) #12
  %7831 = load i32, ptr %598, align 4, !tbaa !5
  %7832 = call ptr @strerror(i32 noundef %7831) #12
  %7833 = load i32, ptr %598, align 4, !tbaa !5
  %7834 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7825, ptr noundef nonnull %.str.5.sink3725, i32 noundef %7826, ptr noundef nonnull @.str.43, ptr noundef nonnull @.str.1, i32 noundef 776, ptr noundef %7828, ptr noundef %7830, ptr noundef %7832, i32 noundef %7833) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7835:                                             ; preds = %7806
  %7836 = add nsw i32 %7810, 2
  store i32 %7836, ptr @test_count, align 4, !tbaa !5
  %7837 = call i32 @s2n_connection_deserialize(ptr noundef nonnull %7809, ptr noundef nonnull %107, i32 noundef 142) #12
  %7838 = icmp eq i32 %7837, -1
  br i1 %7838, label %7839, label %7861

7839:                                             ; preds = %7835
  %7840 = load i32, ptr %598, align 4, !tbaa !5
  %7841 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7842 = call i32 @s2n_print_stacktrace(ptr noundef %7841) #12
  %7843 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7844 = trunc nuw i8 %7843 to i1
  br i1 %7844, label %7845, label %7849

7845:                                             ; preds = %7839
  %7846 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7847 = call i32 @fileno(ptr noundef %7846) #12
  %7848 = call i32 @isatty(i32 noundef %7847) #12
  %.not1026 = icmp eq i32 %7848, 0
  br i1 %.not1026, label %7849, label %7850

7849:                                             ; preds = %7845, %7839
  br label %7850

7850:                                             ; preds = %7845, %7849
  %.str.5.sink3734 = phi ptr [ @.str.5, %7849 ], [ @.str.2, %7845 ]
  store i32 %7840, ptr %598, align 4, !tbaa !5
  %7851 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7852 = load i32, ptr @test_count, align 4, !tbaa !5
  %7853 = load i32, ptr %544, align 4, !tbaa !5
  %7854 = call ptr @s2n_strerror(i32 noundef %7853, ptr noundef nonnull @.str.4) #12
  %7855 = load i32, ptr %544, align 4, !tbaa !5
  %7856 = call ptr @s2n_strerror_debug(i32 noundef %7855, ptr noundef nonnull @.str.4) #12
  %7857 = load i32, ptr %598, align 4, !tbaa !5
  %7858 = call ptr @strerror(i32 noundef %7857) #12
  %7859 = load i32, ptr %598, align 4, !tbaa !5
  %7860 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7851, ptr noundef nonnull %.str.5.sink3734, i32 noundef %7852, ptr noundef nonnull @.str.140, ptr noundef nonnull @.str.1, i32 noundef 777, ptr noundef %7854, ptr noundef %7856, ptr noundef %7858, i32 noundef %7859) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7861:                                             ; preds = %7835
  %7862 = load i32, ptr @test_count, align 4, !tbaa !5
  %7863 = add nsw i32 %7862, 1
  store i32 %7863, ptr @test_count, align 4, !tbaa !5
  %7864 = load ptr, ptr %113, align 8, !tbaa !9
  %7865 = load ptr, ptr %94, align 8, !tbaa !9
  %7866 = call i32 @s2n_connection_set_config(ptr noundef %7864, ptr noundef %7865) #12
  %7867 = icmp eq i32 %7866, -1
  br i1 %7867, label %7868, label %7890

7868:                                             ; preds = %7861
  %7869 = load i32, ptr %598, align 4, !tbaa !5
  %7870 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7871 = call i32 @s2n_print_stacktrace(ptr noundef %7870) #12
  %7872 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7873 = trunc nuw i8 %7872 to i1
  br i1 %7873, label %7874, label %7878

7874:                                             ; preds = %7868
  %7875 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7876 = call i32 @fileno(ptr noundef %7875) #12
  %7877 = call i32 @isatty(i32 noundef %7876) #12
  %.not1025 = icmp eq i32 %7877, 0
  br i1 %.not1025, label %7878, label %7879

7878:                                             ; preds = %7874, %7868
  br label %7879

7879:                                             ; preds = %7874, %7878
  %.str.5.sink3743 = phi ptr [ @.str.5, %7878 ], [ @.str.2, %7874 ]
  store i32 %7869, ptr %598, align 4, !tbaa !5
  %7880 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7881 = load i32, ptr @test_count, align 4, !tbaa !5
  %7882 = load i32, ptr %544, align 4, !tbaa !5
  %7883 = call ptr @s2n_strerror(i32 noundef %7882, ptr noundef nonnull @.str.4) #12
  %7884 = load i32, ptr %544, align 4, !tbaa !5
  %7885 = call ptr @s2n_strerror_debug(i32 noundef %7884, ptr noundef nonnull @.str.4) #12
  %7886 = load i32, ptr %598, align 4, !tbaa !5
  %7887 = call ptr @strerror(i32 noundef %7886) #12
  %7888 = load i32, ptr %598, align 4, !tbaa !5
  %7889 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7880, ptr noundef nonnull %.str.5.sink3743, i32 noundef %7881, ptr noundef nonnull @.str.124, ptr noundef nonnull @.str.1, i32 noundef 778, ptr noundef %7883, ptr noundef %7885, ptr noundef %7887, i32 noundef %7888) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7890:                                             ; preds = %7861
  call void @llvm.lifetime.start.p0(i64 80, ptr nonnull %114) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(80) %114, i8 0, i64 80, i1 false)
  %7891 = load i32, ptr @test_count, align 4, !tbaa !5
  %7892 = add nsw i32 %7891, 1
  store i32 %7892, ptr @test_count, align 4, !tbaa !5
  %7893 = call i32 @s2n_io_stuffer_pair_init(ptr noundef nonnull %114) #12
  %7894 = call zeroext i1 @s2n_result_is_ok(i32 %7893)
  br i1 %7894, label %7917, label %7895

7895:                                             ; preds = %7890
  %7896 = load i32, ptr %598, align 4, !tbaa !5
  %7897 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7898 = call i32 @s2n_print_stacktrace(ptr noundef %7897) #12
  %7899 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7900 = trunc nuw i8 %7899 to i1
  br i1 %7900, label %7901, label %7905

7901:                                             ; preds = %7895
  %7902 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7903 = call i32 @fileno(ptr noundef %7902) #12
  %7904 = call i32 @isatty(i32 noundef %7903) #12
  %.not956 = icmp eq i32 %7904, 0
  br i1 %.not956, label %7905, label %7906

7905:                                             ; preds = %7901, %7895
  br label %7906

7906:                                             ; preds = %7901, %7905
  %.str.5.sink3752 = phi ptr [ @.str.5, %7905 ], [ @.str.2, %7901 ]
  store i32 %7896, ptr %598, align 4, !tbaa !5
  %7907 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7908 = load i32, ptr @test_count, align 4, !tbaa !5
  %7909 = load i32, ptr %544, align 4, !tbaa !5
  %7910 = call ptr @s2n_strerror(i32 noundef %7909, ptr noundef nonnull @.str.4) #12
  %7911 = load i32, ptr %544, align 4, !tbaa !5
  %7912 = call ptr @s2n_strerror_debug(i32 noundef %7911, ptr noundef nonnull @.str.4) #12
  %7913 = load i32, ptr %598, align 4, !tbaa !5
  %7914 = call ptr @strerror(i32 noundef %7913) #12
  %7915 = load i32, ptr %598, align 4, !tbaa !5
  %7916 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7907, ptr noundef nonnull %.str.5.sink3752, i32 noundef %7908, ptr noundef nonnull @.str.46, ptr noundef nonnull @.str.1, i32 noundef 781, ptr noundef %7910, ptr noundef %7912, ptr noundef %7914, i32 noundef %7915) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7917:                                             ; preds = %7890
  %7918 = load i32, ptr @test_count, align 4, !tbaa !5
  %7919 = add nsw i32 %7918, 1
  store i32 %7919, ptr @test_count, align 4, !tbaa !5
  %7920 = load ptr, ptr %110, align 8, !tbaa !9
  %7921 = load ptr, ptr %113, align 8, !tbaa !9
  %7922 = call i32 @s2n_connections_set_io_stuffer_pair(ptr noundef %7920, ptr noundef %7921, ptr noundef nonnull %114) #12
  %7923 = call zeroext i1 @s2n_result_is_ok(i32 %7922)
  br i1 %7923, label %7946, label %7924

7924:                                             ; preds = %7917
  %7925 = load i32, ptr %598, align 4, !tbaa !5
  %7926 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7927 = call i32 @s2n_print_stacktrace(ptr noundef %7926) #12
  %7928 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7929 = trunc nuw i8 %7928 to i1
  br i1 %7929, label %7930, label %7934

7930:                                             ; preds = %7924
  %7931 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7932 = call i32 @fileno(ptr noundef %7931) #12
  %7933 = call i32 @isatty(i32 noundef %7932) #12
  %.not957 = icmp eq i32 %7933, 0
  br i1 %.not957, label %7934, label %7935

7934:                                             ; preds = %7930, %7924
  br label %7935

7935:                                             ; preds = %7930, %7934
  %.str.5.sink3761 = phi ptr [ @.str.5, %7934 ], [ @.str.2, %7930 ]
  store i32 %7925, ptr %598, align 4, !tbaa !5
  %7936 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7937 = load i32, ptr @test_count, align 4, !tbaa !5
  %7938 = load i32, ptr %544, align 4, !tbaa !5
  %7939 = call ptr @s2n_strerror(i32 noundef %7938, ptr noundef nonnull @.str.4) #12
  %7940 = load i32, ptr %544, align 4, !tbaa !5
  %7941 = call ptr @s2n_strerror_debug(i32 noundef %7940, ptr noundef nonnull @.str.4) #12
  %7942 = load i32, ptr %598, align 4, !tbaa !5
  %7943 = call ptr @strerror(i32 noundef %7942) #12
  %7944 = load i32, ptr %598, align 4, !tbaa !5
  %7945 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7936, ptr noundef nonnull %.str.5.sink3761, i32 noundef %7937, ptr noundef nonnull @.str.47, ptr noundef nonnull @.str.1, i32 noundef 782, ptr noundef %7939, ptr noundef %7941, ptr noundef %7943, i32 noundef %7944) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7946:                                             ; preds = %7917
  %7947 = load i32, ptr @test_count, align 4, !tbaa !5
  %7948 = add nsw i32 %7947, 1
  store i32 %7948, ptr @test_count, align 4, !tbaa !5
  %7949 = load ptr, ptr %113, align 8, !tbaa !9
  %7950 = load ptr, ptr %110, align 8, !tbaa !9
  %7951 = call i32 @s2n_send_and_recv_test(ptr noundef %7949, ptr noundef %7950) #12
  %7952 = call zeroext i1 @s2n_result_is_ok(i32 %7951)
  br i1 %7952, label %7975, label %7953

7953:                                             ; preds = %7946
  %7954 = load i32, ptr %598, align 4, !tbaa !5
  %7955 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7956 = call i32 @s2n_print_stacktrace(ptr noundef %7955) #12
  %7957 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7958 = trunc nuw i8 %7957 to i1
  br i1 %7958, label %7959, label %7963

7959:                                             ; preds = %7953
  %7960 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7961 = call i32 @fileno(ptr noundef %7960) #12
  %7962 = call i32 @isatty(i32 noundef %7961) #12
  %.not958 = icmp eq i32 %7962, 0
  br i1 %.not958, label %7963, label %7964

7963:                                             ; preds = %7959, %7953
  br label %7964

7964:                                             ; preds = %7959, %7963
  %.str.5.sink3770 = phi ptr [ @.str.5, %7963 ], [ @.str.2, %7959 ]
  store i32 %7954, ptr %598, align 4, !tbaa !5
  %7965 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7966 = load i32, ptr @test_count, align 4, !tbaa !5
  %7967 = load i32, ptr %544, align 4, !tbaa !5
  %7968 = call ptr @s2n_strerror(i32 noundef %7967, ptr noundef nonnull @.str.4) #12
  %7969 = load i32, ptr %544, align 4, !tbaa !5
  %7970 = call ptr @s2n_strerror_debug(i32 noundef %7969, ptr noundef nonnull @.str.4) #12
  %7971 = load i32, ptr %598, align 4, !tbaa !5
  %7972 = call ptr @strerror(i32 noundef %7971) #12
  %7973 = load i32, ptr %598, align 4, !tbaa !5
  %7974 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7965, ptr noundef nonnull %.str.5.sink3770, i32 noundef %7966, ptr noundef nonnull @.str.103, ptr noundef nonnull @.str.1, i32 noundef 784, ptr noundef %7968, ptr noundef %7970, ptr noundef %7972, i32 noundef %7973) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7975:                                             ; preds = %7946
  %7976 = load i32, ptr @test_count, align 4, !tbaa !5
  %7977 = add nsw i32 %7976, 1
  store i32 %7977, ptr @test_count, align 4, !tbaa !5
  %7978 = load ptr, ptr %110, align 8, !tbaa !9
  %7979 = call i32 @s2n_ticket_pickup(ptr noundef %7978, ptr noundef nonnull %109)
  %7980 = call zeroext i1 @s2n_result_is_ok(i32 %7979)
  br i1 %7980, label %8003, label %7981

7981:                                             ; preds = %7975
  %7982 = load i32, ptr %598, align 4, !tbaa !5
  %7983 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7984 = call i32 @s2n_print_stacktrace(ptr noundef %7983) #12
  %7985 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7986 = trunc nuw i8 %7985 to i1
  br i1 %7986, label %7987, label %7991

7987:                                             ; preds = %7981
  %7988 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7989 = call i32 @fileno(ptr noundef %7988) #12
  %7990 = call i32 @isatty(i32 noundef %7989) #12
  %.not959 = icmp eq i32 %7990, 0
  br i1 %.not959, label %7991, label %7992

7991:                                             ; preds = %7987, %7981
  br label %7992

7992:                                             ; preds = %7987, %7991
  %.str.5.sink3779 = phi ptr [ @.str.5, %7991 ], [ @.str.2, %7987 ]
  store i32 %7982, ptr %598, align 4, !tbaa !5
  %7993 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7994 = load i32, ptr @test_count, align 4, !tbaa !5
  %7995 = load i32, ptr %544, align 4, !tbaa !5
  %7996 = call ptr @s2n_strerror(i32 noundef %7995, ptr noundef nonnull @.str.4) #12
  %7997 = load i32, ptr %544, align 4, !tbaa !5
  %7998 = call ptr @s2n_strerror_debug(i32 noundef %7997, ptr noundef nonnull @.str.4) #12
  %7999 = load i32, ptr %598, align 4, !tbaa !5
  %8000 = call ptr @strerror(i32 noundef %7999) #12
  %8001 = load i32, ptr %598, align 4, !tbaa !5
  %8002 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7993, ptr noundef nonnull %.str.5.sink3779, i32 noundef %7994, ptr noundef nonnull @.str.133, ptr noundef nonnull @.str.1, i32 noundef 785, ptr noundef %7996, ptr noundef %7998, ptr noundef %8000, i32 noundef %8001) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8003:                                             ; preds = %7975
  %8004 = call i32 @s2n_io_stuffer_pair_free(ptr noundef nonnull %114) #12
  call void @llvm.lifetime.end.p0(i64 80, ptr nonnull %114) #12
  %8005 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %113) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %113) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %115) #12
  %8006 = call ptr @s2n_connection_new(i32 noundef 0) #12
  store ptr %8006, ptr %115, align 8, !tbaa !9
  %8007 = load i32, ptr @test_count, align 4, !tbaa !5
  %8008 = add nsw i32 %8007, 1
  store i32 %8008, ptr @test_count, align 4, !tbaa !5
  %8009 = icmp eq ptr %8006, null
  br i1 %8009, label %8010, label %8032

8010:                                             ; preds = %8003
  %8011 = load i32, ptr %598, align 4, !tbaa !5
  %8012 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8013 = call i32 @s2n_print_stacktrace(ptr noundef %8012) #12
  %8014 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8015 = trunc nuw i8 %8014 to i1
  br i1 %8015, label %8016, label %8020

8016:                                             ; preds = %8010
  %8017 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8018 = call i32 @fileno(ptr noundef %8017) #12
  %8019 = call i32 @isatty(i32 noundef %8018) #12
  %.not1024 = icmp eq i32 %8019, 0
  br i1 %.not1024, label %8020, label %8021

8020:                                             ; preds = %8016, %8010
  br label %8021

8021:                                             ; preds = %8016, %8020
  %.str.5.sink3788 = phi ptr [ @.str.5, %8020 ], [ @.str.2, %8016 ]
  store i32 %8011, ptr %598, align 4, !tbaa !5
  %8022 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8023 = load i32, ptr @test_count, align 4, !tbaa !5
  %8024 = load i32, ptr %544, align 4, !tbaa !5
  %8025 = call ptr @s2n_strerror(i32 noundef %8024, ptr noundef nonnull @.str.4) #12
  %8026 = load i32, ptr %544, align 4, !tbaa !5
  %8027 = call ptr @s2n_strerror_debug(i32 noundef %8026, ptr noundef nonnull @.str.4) #12
  %8028 = load i32, ptr %598, align 4, !tbaa !5
  %8029 = call ptr @strerror(i32 noundef %8028) #12
  %8030 = load i32, ptr %598, align 4, !tbaa !5
  %8031 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8022, ptr noundef nonnull %.str.5.sink3788, i32 noundef %8023, ptr noundef nonnull @.str.43, ptr noundef nonnull @.str.1, i32 noundef 792, ptr noundef %8025, ptr noundef %8027, ptr noundef %8029, i32 noundef %8030) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8032:                                             ; preds = %8003
  %8033 = add nsw i32 %8007, 2
  store i32 %8033, ptr @test_count, align 4, !tbaa !5
  %8034 = load ptr, ptr %94, align 8, !tbaa !9
  %8035 = call i32 @s2n_connection_set_config(ptr noundef nonnull %8006, ptr noundef %8034) #12
  %8036 = icmp eq i32 %8035, -1
  br i1 %8036, label %8037, label %8059

8037:                                             ; preds = %8032
  %8038 = load i32, ptr %598, align 4, !tbaa !5
  %8039 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8040 = call i32 @s2n_print_stacktrace(ptr noundef %8039) #12
  %8041 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8042 = trunc nuw i8 %8041 to i1
  br i1 %8042, label %8043, label %8047

8043:                                             ; preds = %8037
  %8044 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8045 = call i32 @fileno(ptr noundef %8044) #12
  %8046 = call i32 @isatty(i32 noundef %8045) #12
  %.not1023 = icmp eq i32 %8046, 0
  br i1 %.not1023, label %8047, label %8048

8047:                                             ; preds = %8043, %8037
  br label %8048

8048:                                             ; preds = %8043, %8047
  %.str.5.sink3797 = phi ptr [ @.str.5, %8047 ], [ @.str.2, %8043 ]
  store i32 %8038, ptr %598, align 4, !tbaa !5
  %8049 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8050 = load i32, ptr @test_count, align 4, !tbaa !5
  %8051 = load i32, ptr %544, align 4, !tbaa !5
  %8052 = call ptr @s2n_strerror(i32 noundef %8051, ptr noundef nonnull @.str.4) #12
  %8053 = load i32, ptr %544, align 4, !tbaa !5
  %8054 = call ptr @s2n_strerror_debug(i32 noundef %8053, ptr noundef nonnull @.str.4) #12
  %8055 = load i32, ptr %598, align 4, !tbaa !5
  %8056 = call ptr @strerror(i32 noundef %8055) #12
  %8057 = load i32, ptr %598, align 4, !tbaa !5
  %8058 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8049, ptr noundef nonnull %.str.5.sink3797, i32 noundef %8050, ptr noundef nonnull @.str.124, ptr noundef nonnull @.str.1, i32 noundef 793, ptr noundef %8052, ptr noundef %8054, ptr noundef %8056, i32 noundef %8057) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8059:                                             ; preds = %8032
  %8060 = load i32, ptr @test_count, align 4, !tbaa !5
  %8061 = add nsw i32 %8060, 1
  store i32 %8061, ptr @test_count, align 4, !tbaa !5
  %8062 = load ptr, ptr %110, align 8, !tbaa !9
  %8063 = call i32 @s2n_connection_wipe(ptr noundef %8062) #12
  %8064 = icmp eq i32 %8063, -1
  br i1 %8064, label %8065, label %8087

8065:                                             ; preds = %8059
  %8066 = load i32, ptr %598, align 4, !tbaa !5
  %8067 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8068 = call i32 @s2n_print_stacktrace(ptr noundef %8067) #12
  %8069 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8070 = trunc nuw i8 %8069 to i1
  br i1 %8070, label %8071, label %8075

8071:                                             ; preds = %8065
  %8072 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8073 = call i32 @fileno(ptr noundef %8072) #12
  %8074 = call i32 @isatty(i32 noundef %8073) #12
  %.not1022 = icmp eq i32 %8074, 0
  br i1 %.not1022, label %8075, label %8076

8075:                                             ; preds = %8071, %8065
  br label %8076

8076:                                             ; preds = %8071, %8075
  %.str.5.sink3806 = phi ptr [ @.str.5, %8075 ], [ @.str.2, %8071 ]
  store i32 %8066, ptr %598, align 4, !tbaa !5
  %8077 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8078 = load i32, ptr @test_count, align 4, !tbaa !5
  %8079 = load i32, ptr %544, align 4, !tbaa !5
  %8080 = call ptr @s2n_strerror(i32 noundef %8079, ptr noundef nonnull @.str.4) #12
  %8081 = load i32, ptr %544, align 4, !tbaa !5
  %8082 = call ptr @s2n_strerror_debug(i32 noundef %8081, ptr noundef nonnull @.str.4) #12
  %8083 = load i32, ptr %598, align 4, !tbaa !5
  %8084 = call ptr @strerror(i32 noundef %8083) #12
  %8085 = load i32, ptr %598, align 4, !tbaa !5
  %8086 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8077, ptr noundef nonnull %.str.5.sink3806, i32 noundef %8078, ptr noundef nonnull @.str.141, ptr noundef nonnull @.str.1, i32 noundef 794, ptr noundef %8080, ptr noundef %8082, ptr noundef %8084, i32 noundef %8085) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8087:                                             ; preds = %8059
  %8088 = load i32, ptr @test_count, align 4, !tbaa !5
  %8089 = add nsw i32 %8088, 1
  store i32 %8089, ptr @test_count, align 4, !tbaa !5
  %8090 = load ptr, ptr %110, align 8, !tbaa !9
  %8091 = load ptr, ptr %108, align 8, !tbaa !64
  %8092 = getelementptr inbounds i8, ptr %108, i64 8
  %8093 = load i32, ptr %8092, align 8, !tbaa !65
  %8094 = zext i32 %8093 to i64
  %8095 = call i32 @s2n_connection_set_session(ptr noundef %8090, ptr noundef %8091, i64 noundef %8094) #12
  %8096 = icmp eq i32 %8095, -1
  br i1 %8096, label %8097, label %8119

8097:                                             ; preds = %8087
  %8098 = load i32, ptr %598, align 4, !tbaa !5
  %8099 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8100 = call i32 @s2n_print_stacktrace(ptr noundef %8099) #12
  %8101 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8102 = trunc nuw i8 %8101 to i1
  br i1 %8102, label %8103, label %8107

8103:                                             ; preds = %8097
  %8104 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8105 = call i32 @fileno(ptr noundef %8104) #12
  %8106 = call i32 @isatty(i32 noundef %8105) #12
  %.not1021 = icmp eq i32 %8106, 0
  br i1 %.not1021, label %8107, label %8108

8107:                                             ; preds = %8103, %8097
  br label %8108

8108:                                             ; preds = %8103, %8107
  %.str.5.sink3815 = phi ptr [ @.str.5, %8107 ], [ @.str.2, %8103 ]
  store i32 %8098, ptr %598, align 4, !tbaa !5
  %8109 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8110 = load i32, ptr @test_count, align 4, !tbaa !5
  %8111 = load i32, ptr %544, align 4, !tbaa !5
  %8112 = call ptr @s2n_strerror(i32 noundef %8111, ptr noundef nonnull @.str.4) #12
  %8113 = load i32, ptr %544, align 4, !tbaa !5
  %8114 = call ptr @s2n_strerror_debug(i32 noundef %8113, ptr noundef nonnull @.str.4) #12
  %8115 = load i32, ptr %598, align 4, !tbaa !5
  %8116 = call ptr @strerror(i32 noundef %8115) #12
  %8117 = load i32, ptr %598, align 4, !tbaa !5
  %8118 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8109, ptr noundef nonnull %.str.5.sink3815, i32 noundef %8110, ptr noundef nonnull @.str.134, ptr noundef nonnull @.str.1, i32 noundef 795, ptr noundef %8112, ptr noundef %8114, ptr noundef %8116, i32 noundef %8117) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8119:                                             ; preds = %8087
  call void @llvm.lifetime.start.p0(i64 80, ptr nonnull %116) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(80) %116, i8 0, i64 80, i1 false)
  %8120 = load i32, ptr @test_count, align 4, !tbaa !5
  %8121 = add nsw i32 %8120, 1
  store i32 %8121, ptr @test_count, align 4, !tbaa !5
  %8122 = call i32 @s2n_io_stuffer_pair_init(ptr noundef nonnull %116) #12
  %8123 = call zeroext i1 @s2n_result_is_ok(i32 %8122)
  br i1 %8123, label %8146, label %8124

8124:                                             ; preds = %8119
  %8125 = load i32, ptr %598, align 4, !tbaa !5
  %8126 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8127 = call i32 @s2n_print_stacktrace(ptr noundef %8126) #12
  %8128 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8129 = trunc nuw i8 %8128 to i1
  br i1 %8129, label %8130, label %8134

8130:                                             ; preds = %8124
  %8131 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8132 = call i32 @fileno(ptr noundef %8131) #12
  %8133 = call i32 @isatty(i32 noundef %8132) #12
  %.not960 = icmp eq i32 %8133, 0
  br i1 %.not960, label %8134, label %8135

8134:                                             ; preds = %8130, %8124
  br label %8135

8135:                                             ; preds = %8130, %8134
  %.str.5.sink3824 = phi ptr [ @.str.5, %8134 ], [ @.str.2, %8130 ]
  store i32 %8125, ptr %598, align 4, !tbaa !5
  %8136 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8137 = load i32, ptr @test_count, align 4, !tbaa !5
  %8138 = load i32, ptr %544, align 4, !tbaa !5
  %8139 = call ptr @s2n_strerror(i32 noundef %8138, ptr noundef nonnull @.str.4) #12
  %8140 = load i32, ptr %544, align 4, !tbaa !5
  %8141 = call ptr @s2n_strerror_debug(i32 noundef %8140, ptr noundef nonnull @.str.4) #12
  %8142 = load i32, ptr %598, align 4, !tbaa !5
  %8143 = call ptr @strerror(i32 noundef %8142) #12
  %8144 = load i32, ptr %598, align 4, !tbaa !5
  %8145 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8136, ptr noundef nonnull %.str.5.sink3824, i32 noundef %8137, ptr noundef nonnull @.str.46, ptr noundef nonnull @.str.1, i32 noundef 798, ptr noundef %8139, ptr noundef %8141, ptr noundef %8143, i32 noundef %8144) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8146:                                             ; preds = %8119
  %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 = load ptr, ptr %110, align 8, !tbaa !9
  %8150 = load ptr, ptr %115, align 8, !tbaa !9
  %8151 = call i32 @s2n_connections_set_io_stuffer_pair(ptr noundef %8149, ptr noundef %8150, ptr noundef nonnull %116) #12
  %8152 = call zeroext i1 @s2n_result_is_ok(i32 %8151)
  br i1 %8152, label %8175, label %8153

8153:                                             ; preds = %8146
  %8154 = load i32, ptr %598, align 4, !tbaa !5
  %8155 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8156 = call i32 @s2n_print_stacktrace(ptr noundef %8155) #12
  %8157 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8158 = trunc nuw i8 %8157 to i1
  br i1 %8158, label %8159, label %8163

8159:                                             ; preds = %8153
  %8160 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8161 = call i32 @fileno(ptr noundef %8160) #12
  %8162 = call i32 @isatty(i32 noundef %8161) #12
  %.not961 = icmp eq i32 %8162, 0
  br i1 %.not961, label %8163, label %8164

8163:                                             ; preds = %8159, %8153
  br label %8164

8164:                                             ; preds = %8159, %8163
  %.str.5.sink3833 = phi ptr [ @.str.5, %8163 ], [ @.str.2, %8159 ]
  store i32 %8154, ptr %598, align 4, !tbaa !5
  %8165 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8166 = load i32, ptr @test_count, align 4, !tbaa !5
  %8167 = load i32, ptr %544, align 4, !tbaa !5
  %8168 = call ptr @s2n_strerror(i32 noundef %8167, ptr noundef nonnull @.str.4) #12
  %8169 = load i32, ptr %544, align 4, !tbaa !5
  %8170 = call ptr @s2n_strerror_debug(i32 noundef %8169, ptr noundef nonnull @.str.4) #12
  %8171 = load i32, ptr %598, align 4, !tbaa !5
  %8172 = call ptr @strerror(i32 noundef %8171) #12
  %8173 = load i32, ptr %598, align 4, !tbaa !5
  %8174 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8165, ptr noundef nonnull %.str.5.sink3833, i32 noundef %8166, ptr noundef nonnull @.str.47, ptr noundef nonnull @.str.1, i32 noundef 799, ptr noundef %8168, ptr noundef %8170, ptr noundef %8172, i32 noundef %8173) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8175:                                             ; preds = %8146
  %8176 = load i32, ptr @test_count, align 4, !tbaa !5
  %8177 = add nsw i32 %8176, 1
  store i32 %8177, ptr @test_count, align 4, !tbaa !5
  %8178 = load ptr, ptr %115, align 8, !tbaa !9
  %8179 = load ptr, ptr %110, align 8, !tbaa !9
  %8180 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %8178, ptr noundef %8179) #12
  %8181 = icmp eq i32 %8180, -1
  br i1 %8181, label %8182, label %8204

8182:                                             ; preds = %8175
  %8183 = load i32, ptr %598, align 4, !tbaa !5
  %8184 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8185 = call i32 @s2n_print_stacktrace(ptr noundef %8184) #12
  %8186 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8187 = trunc nuw i8 %8186 to i1
  br i1 %8187, label %8188, label %8192

8188:                                             ; preds = %8182
  %8189 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8190 = call i32 @fileno(ptr noundef %8189) #12
  %8191 = call i32 @isatty(i32 noundef %8190) #12
  %.not1020 = icmp eq i32 %8191, 0
  br i1 %.not1020, label %8192, label %8193

8192:                                             ; preds = %8188, %8182
  br label %8193

8193:                                             ; preds = %8188, %8192
  %.str.5.sink3842 = phi ptr [ @.str.5, %8192 ], [ @.str.2, %8188 ]
  store i32 %8183, ptr %598, align 4, !tbaa !5
  %8194 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8195 = load i32, ptr @test_count, align 4, !tbaa !5
  %8196 = load i32, ptr %544, align 4, !tbaa !5
  %8197 = call ptr @s2n_strerror(i32 noundef %8196, ptr noundef nonnull @.str.4) #12
  %8198 = load i32, ptr %544, align 4, !tbaa !5
  %8199 = call ptr @s2n_strerror_debug(i32 noundef %8198, ptr noundef nonnull @.str.4) #12
  %8200 = load i32, ptr %598, align 4, !tbaa !5
  %8201 = call ptr @strerror(i32 noundef %8200) #12
  %8202 = load i32, ptr %598, align 4, !tbaa !5
  %8203 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8194, ptr noundef nonnull %.str.5.sink3842, i32 noundef %8195, ptr noundef nonnull @.str.48, ptr noundef nonnull @.str.1, i32 noundef 801, ptr noundef %8197, ptr noundef %8199, ptr noundef %8201, i32 noundef %8202) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8204:                                             ; preds = %8175
  %8205 = load i32, ptr @test_count, align 4, !tbaa !5
  %8206 = add nsw i32 %8205, 1
  store i32 %8206, ptr @test_count, align 4, !tbaa !5
  %8207 = load ptr, ptr %110, align 8, !tbaa !9
  %8208 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef %8207, i32 noundef 2) #12
  br i1 %8208, label %8209, label %8231

8209:                                             ; preds = %8204
  %8210 = load i32, ptr %598, align 4, !tbaa !5
  %8211 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8212 = call i32 @s2n_print_stacktrace(ptr noundef %8211) #12
  %8213 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8214 = trunc nuw i8 %8213 to i1
  br i1 %8214, label %8215, label %8219

8215:                                             ; preds = %8209
  %8216 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8217 = call i32 @fileno(ptr noundef %8216) #12
  %8218 = call i32 @isatty(i32 noundef %8217) #12
  %.not1019 = icmp eq i32 %8218, 0
  br i1 %.not1019, label %8219, label %8220

8219:                                             ; preds = %8215, %8209
  br label %8220

8220:                                             ; preds = %8215, %8219
  %.str.5.sink3851 = phi ptr [ @.str.5, %8219 ], [ @.str.2, %8215 ]
  store i32 %8210, ptr %598, align 4, !tbaa !5
  %8221 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8222 = load i32, ptr @test_count, align 4, !tbaa !5
  %8223 = load i32, ptr %544, align 4, !tbaa !5
  %8224 = call ptr @s2n_strerror(i32 noundef %8223, ptr noundef nonnull @.str.4) #12
  %8225 = load i32, ptr %544, align 4, !tbaa !5
  %8226 = call ptr @s2n_strerror_debug(i32 noundef %8225, ptr noundef nonnull @.str.4) #12
  %8227 = load i32, ptr %598, align 4, !tbaa !5
  %8228 = call ptr @strerror(i32 noundef %8227) #12
  %8229 = load i32, ptr %598, align 4, !tbaa !5
  %8230 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8221, ptr noundef nonnull %.str.5.sink3851, i32 noundef %8222, ptr noundef nonnull @.str.136, ptr noundef nonnull @.str.1, i32 noundef 802, ptr noundef %8224, ptr noundef %8226, ptr noundef %8228, i32 noundef %8229) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8231:                                             ; preds = %8204
  %8232 = load i32, ptr @test_count, align 4, !tbaa !5
  %8233 = add nsw i32 %8232, 1
  store i32 %8233, ptr @test_count, align 4, !tbaa !5
  %8234 = load ptr, ptr %115, align 8, !tbaa !9
  %8235 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef %8234, i32 noundef 2) #12
  br i1 %8235, label %8236, label %8258

8236:                                             ; preds = %8231
  %8237 = load i32, ptr %598, align 4, !tbaa !5
  %8238 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8239 = call i32 @s2n_print_stacktrace(ptr noundef %8238) #12
  %8240 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8241 = trunc nuw i8 %8240 to i1
  br i1 %8241, label %8242, label %8246

8242:                                             ; preds = %8236
  %8243 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8244 = call i32 @fileno(ptr noundef %8243) #12
  %8245 = call i32 @isatty(i32 noundef %8244) #12
  %.not1018 = icmp eq i32 %8245, 0
  br i1 %.not1018, label %8246, label %8247

8246:                                             ; preds = %8242, %8236
  br label %8247

8247:                                             ; preds = %8242, %8246
  %.str.5.sink3860 = phi ptr [ @.str.5, %8246 ], [ @.str.2, %8242 ]
  store i32 %8237, ptr %598, align 4, !tbaa !5
  %8248 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8249 = load i32, ptr @test_count, align 4, !tbaa !5
  %8250 = load i32, ptr %544, align 4, !tbaa !5
  %8251 = call ptr @s2n_strerror(i32 noundef %8250, ptr noundef nonnull @.str.4) #12
  %8252 = load i32, ptr %544, align 4, !tbaa !5
  %8253 = call ptr @s2n_strerror_debug(i32 noundef %8252, ptr noundef nonnull @.str.4) #12
  %8254 = load i32, ptr %598, align 4, !tbaa !5
  %8255 = call ptr @strerror(i32 noundef %8254) #12
  %8256 = load i32, ptr %598, align 4, !tbaa !5
  %8257 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8248, ptr noundef nonnull %.str.5.sink3860, i32 noundef %8249, ptr noundef nonnull @.str.137, ptr noundef nonnull @.str.1, i32 noundef 803, ptr noundef %8251, ptr noundef %8253, ptr noundef %8255, i32 noundef %8256) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8258:                                             ; preds = %8231
  %8259 = call i32 @s2n_io_stuffer_pair_free(ptr noundef nonnull %116) #12
  call void @llvm.lifetime.end.p0(i64 80, ptr nonnull %116) #12
  %8260 = 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 8, ptr nonnull %117) #12
  %8261 = call ptr @s2n_connection_new(i32 noundef 0) #12
  store ptr %8261, ptr %117, align 8, !tbaa !9
  %8262 = load i32, ptr @test_count, align 4, !tbaa !5
  %8263 = add nsw i32 %8262, 1
  store i32 %8263, ptr @test_count, align 4, !tbaa !5
  %8264 = icmp eq ptr %8261, null
  br i1 %8264, label %8265, label %8287

8265:                                             ; preds = %8258
  %8266 = load i32, ptr %598, align 4, !tbaa !5
  %8267 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8268 = call i32 @s2n_print_stacktrace(ptr noundef %8267) #12
  %8269 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8270 = trunc nuw i8 %8269 to i1
  br i1 %8270, label %8271, label %8275

8271:                                             ; preds = %8265
  %8272 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8273 = call i32 @fileno(ptr noundef %8272) #12
  %8274 = call i32 @isatty(i32 noundef %8273) #12
  %.not1017 = icmp eq i32 %8274, 0
  br i1 %.not1017, label %8275, label %8276

8275:                                             ; preds = %8271, %8265
  br label %8276

8276:                                             ; preds = %8271, %8275
  %.str.5.sink3869 = phi ptr [ @.str.5, %8275 ], [ @.str.2, %8271 ]
  store i32 %8266, ptr %598, align 4, !tbaa !5
  %8277 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8278 = load i32, ptr @test_count, align 4, !tbaa !5
  %8279 = load i32, ptr %544, align 4, !tbaa !5
  %8280 = call ptr @s2n_strerror(i32 noundef %8279, ptr noundef nonnull @.str.4) #12
  %8281 = load i32, ptr %544, align 4, !tbaa !5
  %8282 = call ptr @s2n_strerror_debug(i32 noundef %8281, ptr noundef nonnull @.str.4) #12
  %8283 = load i32, ptr %598, align 4, !tbaa !5
  %8284 = call ptr @strerror(i32 noundef %8283) #12
  %8285 = load i32, ptr %598, align 4, !tbaa !5
  %8286 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8277, ptr noundef nonnull %.str.5.sink3869, i32 noundef %8278, ptr noundef nonnull @.str.43, ptr noundef nonnull @.str.1, i32 noundef 810, ptr noundef %8280, ptr noundef %8282, ptr noundef %8284, i32 noundef %8285) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8287:                                             ; preds = %8258
  %8288 = add nsw i32 %8262, 2
  store i32 %8288, ptr @test_count, align 4, !tbaa !5
  %8289 = load ptr, ptr %94, align 8, !tbaa !9
  %8290 = call i32 @s2n_connection_set_config(ptr noundef nonnull %8261, ptr noundef %8289) #12
  %8291 = icmp eq i32 %8290, -1
  br i1 %8291, label %8292, label %8314

8292:                                             ; preds = %8287
  %8293 = load i32, ptr %598, align 4, !tbaa !5
  %8294 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8295 = call i32 @s2n_print_stacktrace(ptr noundef %8294) #12
  %8296 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8297 = trunc nuw i8 %8296 to i1
  br i1 %8297, label %8298, label %8302

8298:                                             ; preds = %8292
  %8299 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8300 = call i32 @fileno(ptr noundef %8299) #12
  %8301 = call i32 @isatty(i32 noundef %8300) #12
  %.not1016 = icmp eq i32 %8301, 0
  br i1 %.not1016, label %8302, label %8303

8302:                                             ; preds = %8298, %8292
  br label %8303

8303:                                             ; preds = %8298, %8302
  %.str.5.sink3878 = phi ptr [ @.str.5, %8302 ], [ @.str.2, %8298 ]
  store i32 %8293, ptr %598, align 4, !tbaa !5
  %8304 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8305 = load i32, ptr @test_count, align 4, !tbaa !5
  %8306 = load i32, ptr %544, align 4, !tbaa !5
  %8307 = call ptr @s2n_strerror(i32 noundef %8306, ptr noundef nonnull @.str.4) #12
  %8308 = load i32, ptr %544, align 4, !tbaa !5
  %8309 = call ptr @s2n_strerror_debug(i32 noundef %8308, ptr noundef nonnull @.str.4) #12
  %8310 = load i32, ptr %598, align 4, !tbaa !5
  %8311 = call ptr @strerror(i32 noundef %8310) #12
  %8312 = load i32, ptr %598, align 4, !tbaa !5
  %8313 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8304, ptr noundef nonnull %.str.5.sink3878, i32 noundef %8305, ptr noundef nonnull @.str.124, ptr noundef nonnull @.str.1, i32 noundef 811, ptr noundef %8307, ptr noundef %8309, ptr noundef %8311, i32 noundef %8312) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8314:                                             ; preds = %8287
  %8315 = load i32, ptr @test_count, align 4, !tbaa !5
  %8316 = add nsw i32 %8315, 1
  store i32 %8316, ptr @test_count, align 4, !tbaa !5
  %8317 = load ptr, ptr %110, align 8, !tbaa !9
  %8318 = call i32 @s2n_connection_wipe(ptr noundef %8317) #12
  %8319 = icmp eq i32 %8318, -1
  br i1 %8319, label %8320, label %8342

8320:                                             ; preds = %8314
  %8321 = load i32, ptr %598, align 4, !tbaa !5
  %8322 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8323 = call i32 @s2n_print_stacktrace(ptr noundef %8322) #12
  %8324 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8325 = trunc nuw i8 %8324 to i1
  br i1 %8325, label %8326, label %8330

8326:                                             ; preds = %8320
  %8327 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8328 = call i32 @fileno(ptr noundef %8327) #12
  %8329 = call i32 @isatty(i32 noundef %8328) #12
  %.not1015 = icmp eq i32 %8329, 0
  br i1 %.not1015, label %8330, label %8331

8330:                                             ; preds = %8326, %8320
  br label %8331

8331:                                             ; preds = %8326, %8330
  %.str.5.sink3887 = phi ptr [ @.str.5, %8330 ], [ @.str.2, %8326 ]
  store i32 %8321, ptr %598, align 4, !tbaa !5
  %8332 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8333 = load i32, ptr @test_count, align 4, !tbaa !5
  %8334 = load i32, ptr %544, align 4, !tbaa !5
  %8335 = call ptr @s2n_strerror(i32 noundef %8334, ptr noundef nonnull @.str.4) #12
  %8336 = load i32, ptr %544, align 4, !tbaa !5
  %8337 = call ptr @s2n_strerror_debug(i32 noundef %8336, ptr noundef nonnull @.str.4) #12
  %8338 = load i32, ptr %598, align 4, !tbaa !5
  %8339 = call ptr @strerror(i32 noundef %8338) #12
  %8340 = load i32, ptr %598, align 4, !tbaa !5
  %8341 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8332, ptr noundef nonnull %.str.5.sink3887, i32 noundef %8333, ptr noundef nonnull @.str.141, ptr noundef nonnull @.str.1, i32 noundef 812, ptr noundef %8335, ptr noundef %8337, ptr noundef %8339, i32 noundef %8340) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8342:                                             ; preds = %8314
  %8343 = load i32, ptr @test_count, align 4, !tbaa !5
  %8344 = add nsw i32 %8343, 1
  store i32 %8344, ptr @test_count, align 4, !tbaa !5
  %8345 = load ptr, ptr %110, align 8, !tbaa !9
  %8346 = load ptr, ptr %109, align 8, !tbaa !64
  %8347 = getelementptr inbounds i8, ptr %109, i64 8
  %8348 = load i32, ptr %8347, align 8, !tbaa !65
  %8349 = zext i32 %8348 to i64
  %8350 = call i32 @s2n_connection_set_session(ptr noundef %8345, ptr noundef %8346, i64 noundef %8349) #12
  %8351 = icmp eq i32 %8350, -1
  br i1 %8351, label %8352, label %8374

8352:                                             ; preds = %8342
  %8353 = load i32, ptr %598, align 4, !tbaa !5
  %8354 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8355 = call i32 @s2n_print_stacktrace(ptr noundef %8354) #12
  %8356 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8357 = trunc nuw i8 %8356 to i1
  br i1 %8357, label %8358, label %8362

8358:                                             ; preds = %8352
  %8359 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8360 = call i32 @fileno(ptr noundef %8359) #12
  %8361 = call i32 @isatty(i32 noundef %8360) #12
  %.not1014 = icmp eq i32 %8361, 0
  br i1 %.not1014, label %8362, label %8363

8362:                                             ; preds = %8358, %8352
  br label %8363

8363:                                             ; preds = %8358, %8362
  %.str.5.sink3896 = phi ptr [ @.str.5, %8362 ], [ @.str.2, %8358 ]
  store i32 %8353, ptr %598, align 4, !tbaa !5
  %8364 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8365 = load i32, ptr @test_count, align 4, !tbaa !5
  %8366 = load i32, ptr %544, align 4, !tbaa !5
  %8367 = call ptr @s2n_strerror(i32 noundef %8366, ptr noundef nonnull @.str.4) #12
  %8368 = load i32, ptr %544, align 4, !tbaa !5
  %8369 = call ptr @s2n_strerror_debug(i32 noundef %8368, ptr noundef nonnull @.str.4) #12
  %8370 = load i32, ptr %598, align 4, !tbaa !5
  %8371 = call ptr @strerror(i32 noundef %8370) #12
  %8372 = load i32, ptr %598, align 4, !tbaa !5
  %8373 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8364, ptr noundef nonnull %.str.5.sink3896, i32 noundef %8365, ptr noundef nonnull @.str.138, ptr noundef nonnull @.str.1, i32 noundef 813, ptr noundef %8367, ptr noundef %8369, ptr noundef %8371, i32 noundef %8372) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8374:                                             ; preds = %8342
  call void @llvm.lifetime.start.p0(i64 80, ptr nonnull %118) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(80) %118, i8 0, i64 80, i1 false)
  %8375 = load i32, ptr @test_count, align 4, !tbaa !5
  %8376 = add nsw i32 %8375, 1
  store i32 %8376, ptr @test_count, align 4, !tbaa !5
  %8377 = call i32 @s2n_io_stuffer_pair_init(ptr noundef nonnull %118) #12
  %8378 = call zeroext i1 @s2n_result_is_ok(i32 %8377)
  br i1 %8378, label %8401, label %8379

8379:                                             ; preds = %8374
  %8380 = load i32, ptr %598, align 4, !tbaa !5
  %8381 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8382 = call i32 @s2n_print_stacktrace(ptr noundef %8381) #12
  %8383 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8384 = trunc nuw i8 %8383 to i1
  br i1 %8384, label %8385, label %8389

8385:                                             ; preds = %8379
  %8386 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8387 = call i32 @fileno(ptr noundef %8386) #12
  %8388 = call i32 @isatty(i32 noundef %8387) #12
  %.not962 = icmp eq i32 %8388, 0
  br i1 %.not962, label %8389, label %8390

8389:                                             ; preds = %8385, %8379
  br label %8390

8390:                                             ; preds = %8385, %8389
  %.str.5.sink3905 = phi ptr [ @.str.5, %8389 ], [ @.str.2, %8385 ]
  store i32 %8380, ptr %598, align 4, !tbaa !5
  %8391 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8392 = load i32, ptr @test_count, align 4, !tbaa !5
  %8393 = load i32, ptr %544, align 4, !tbaa !5
  %8394 = call ptr @s2n_strerror(i32 noundef %8393, ptr noundef nonnull @.str.4) #12
  %8395 = load i32, ptr %544, align 4, !tbaa !5
  %8396 = call ptr @s2n_strerror_debug(i32 noundef %8395, ptr noundef nonnull @.str.4) #12
  %8397 = load i32, ptr %598, align 4, !tbaa !5
  %8398 = call ptr @strerror(i32 noundef %8397) #12
  %8399 = load i32, ptr %598, align 4, !tbaa !5
  %8400 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8391, ptr noundef nonnull %.str.5.sink3905, i32 noundef %8392, ptr noundef nonnull @.str.46, ptr noundef nonnull @.str.1, i32 noundef 816, ptr noundef %8394, ptr noundef %8396, ptr noundef %8398, i32 noundef %8399) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8401:                                             ; preds = %8374
  %8402 = load i32, ptr @test_count, align 4, !tbaa !5
  %8403 = add nsw i32 %8402, 1
  store i32 %8403, ptr @test_count, align 4, !tbaa !5
  %8404 = load ptr, ptr %110, align 8, !tbaa !9
  %8405 = load ptr, ptr %117, align 8, !tbaa !9
  %8406 = call i32 @s2n_connections_set_io_stuffer_pair(ptr noundef %8404, ptr noundef %8405, ptr noundef nonnull %118) #12
  %8407 = call zeroext i1 @s2n_result_is_ok(i32 %8406)
  br i1 %8407, label %8430, label %8408

8408:                                             ; preds = %8401
  %8409 = load i32, ptr %598, align 4, !tbaa !5
  %8410 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8411 = call i32 @s2n_print_stacktrace(ptr noundef %8410) #12
  %8412 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8413 = trunc nuw i8 %8412 to i1
  br i1 %8413, label %8414, label %8418

8414:                                             ; preds = %8408
  %8415 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8416 = call i32 @fileno(ptr noundef %8415) #12
  %8417 = call i32 @isatty(i32 noundef %8416) #12
  %.not963 = icmp eq i32 %8417, 0
  br i1 %.not963, label %8418, label %8419

8418:                                             ; preds = %8414, %8408
  br label %8419

8419:                                             ; preds = %8414, %8418
  %.str.5.sink3914 = phi ptr [ @.str.5, %8418 ], [ @.str.2, %8414 ]
  store i32 %8409, ptr %598, align 4, !tbaa !5
  %8420 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8421 = load i32, ptr @test_count, align 4, !tbaa !5
  %8422 = load i32, ptr %544, align 4, !tbaa !5
  %8423 = call ptr @s2n_strerror(i32 noundef %8422, ptr noundef nonnull @.str.4) #12
  %8424 = load i32, ptr %544, align 4, !tbaa !5
  %8425 = call ptr @s2n_strerror_debug(i32 noundef %8424, ptr noundef nonnull @.str.4) #12
  %8426 = load i32, ptr %598, align 4, !tbaa !5
  %8427 = call ptr @strerror(i32 noundef %8426) #12
  %8428 = load i32, ptr %598, align 4, !tbaa !5
  %8429 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8420, ptr noundef nonnull %.str.5.sink3914, i32 noundef %8421, ptr noundef nonnull @.str.47, ptr noundef nonnull @.str.1, i32 noundef 817, ptr noundef %8423, ptr noundef %8425, ptr noundef %8427, i32 noundef %8428) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8430:                                             ; preds = %8401
  %8431 = load i32, ptr @test_count, align 4, !tbaa !5
  %8432 = add nsw i32 %8431, 1
  store i32 %8432, ptr @test_count, align 4, !tbaa !5
  %8433 = load ptr, ptr %117, align 8, !tbaa !9
  %8434 = load ptr, ptr %110, align 8, !tbaa !9
  %8435 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %8433, ptr noundef %8434) #12
  %8436 = icmp eq i32 %8435, -1
  br i1 %8436, label %8437, label %8459

8437:                                             ; preds = %8430
  %8438 = load i32, ptr %598, align 4, !tbaa !5
  %8439 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8440 = call i32 @s2n_print_stacktrace(ptr noundef %8439) #12
  %8441 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8442 = trunc nuw i8 %8441 to i1
  br i1 %8442, label %8443, label %8447

8443:                                             ; preds = %8437
  %8444 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8445 = call i32 @fileno(ptr noundef %8444) #12
  %8446 = call i32 @isatty(i32 noundef %8445) #12
  %.not1013 = icmp eq i32 %8446, 0
  br i1 %.not1013, label %8447, label %8448

8447:                                             ; preds = %8443, %8437
  br label %8448

8448:                                             ; preds = %8443, %8447
  %.str.5.sink3923 = phi ptr [ @.str.5, %8447 ], [ @.str.2, %8443 ]
  store i32 %8438, ptr %598, align 4, !tbaa !5
  %8449 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8450 = load i32, ptr @test_count, align 4, !tbaa !5
  %8451 = load i32, ptr %544, align 4, !tbaa !5
  %8452 = call ptr @s2n_strerror(i32 noundef %8451, ptr noundef nonnull @.str.4) #12
  %8453 = load i32, ptr %544, align 4, !tbaa !5
  %8454 = call ptr @s2n_strerror_debug(i32 noundef %8453, ptr noundef nonnull @.str.4) #12
  %8455 = load i32, ptr %598, align 4, !tbaa !5
  %8456 = call ptr @strerror(i32 noundef %8455) #12
  %8457 = load i32, ptr %598, align 4, !tbaa !5
  %8458 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8449, ptr noundef nonnull %.str.5.sink3923, i32 noundef %8450, ptr noundef nonnull @.str.48, ptr noundef nonnull @.str.1, i32 noundef 819, ptr noundef %8452, ptr noundef %8454, ptr noundef %8456, i32 noundef %8457) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8459:                                             ; preds = %8430
  %8460 = load i32, ptr @test_count, align 4, !tbaa !5
  %8461 = add nsw i32 %8460, 1
  store i32 %8461, ptr @test_count, align 4, !tbaa !5
  %8462 = load ptr, ptr %110, align 8, !tbaa !9
  %8463 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef %8462, i32 noundef 2) #12
  br i1 %8463, label %8464, label %8486

8464:                                             ; preds = %8459
  %8465 = load i32, ptr %598, align 4, !tbaa !5
  %8466 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8467 = call i32 @s2n_print_stacktrace(ptr noundef %8466) #12
  %8468 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8469 = trunc nuw i8 %8468 to i1
  br i1 %8469, label %8470, label %8474

8470:                                             ; preds = %8464
  %8471 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8472 = call i32 @fileno(ptr noundef %8471) #12
  %8473 = call i32 @isatty(i32 noundef %8472) #12
  %.not1012 = icmp eq i32 %8473, 0
  br i1 %.not1012, label %8474, label %8475

8474:                                             ; preds = %8470, %8464
  br label %8475

8475:                                             ; preds = %8470, %8474
  %.str.5.sink3932 = phi ptr [ @.str.5, %8474 ], [ @.str.2, %8470 ]
  store i32 %8465, ptr %598, align 4, !tbaa !5
  %8476 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8477 = load i32, ptr @test_count, align 4, !tbaa !5
  %8478 = load i32, ptr %544, align 4, !tbaa !5
  %8479 = call ptr @s2n_strerror(i32 noundef %8478, ptr noundef nonnull @.str.4) #12
  %8480 = load i32, ptr %544, align 4, !tbaa !5
  %8481 = call ptr @s2n_strerror_debug(i32 noundef %8480, ptr noundef nonnull @.str.4) #12
  %8482 = load i32, ptr %598, align 4, !tbaa !5
  %8483 = call ptr @strerror(i32 noundef %8482) #12
  %8484 = load i32, ptr %598, align 4, !tbaa !5
  %8485 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8476, ptr noundef nonnull %.str.5.sink3932, i32 noundef %8477, ptr noundef nonnull @.str.136, ptr noundef nonnull @.str.1, i32 noundef 820, ptr noundef %8479, ptr noundef %8481, ptr noundef %8483, i32 noundef %8484) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8486:                                             ; preds = %8459
  %8487 = load i32, ptr @test_count, align 4, !tbaa !5
  %8488 = add nsw i32 %8487, 1
  store i32 %8488, ptr @test_count, align 4, !tbaa !5
  %8489 = load ptr, ptr %117, align 8, !tbaa !9
  %8490 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef %8489, i32 noundef 2) #12
  br i1 %8490, label %8491, label %8513

8491:                                             ; preds = %8486
  %8492 = load i32, ptr %598, align 4, !tbaa !5
  %8493 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8494 = call i32 @s2n_print_stacktrace(ptr noundef %8493) #12
  %8495 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8496 = trunc nuw i8 %8495 to i1
  br i1 %8496, label %8497, label %8501

8497:                                             ; preds = %8491
  %8498 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8499 = call i32 @fileno(ptr noundef %8498) #12
  %8500 = call i32 @isatty(i32 noundef %8499) #12
  %.not1011 = icmp eq i32 %8500, 0
  br i1 %.not1011, label %8501, label %8502

8501:                                             ; preds = %8497, %8491
  br label %8502

8502:                                             ; preds = %8497, %8501
  %.str.5.sink3941 = phi ptr [ @.str.5, %8501 ], [ @.str.2, %8497 ]
  store i32 %8492, ptr %598, align 4, !tbaa !5
  %8503 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8504 = load i32, ptr @test_count, align 4, !tbaa !5
  %8505 = load i32, ptr %544, align 4, !tbaa !5
  %8506 = call ptr @s2n_strerror(i32 noundef %8505, ptr noundef nonnull @.str.4) #12
  %8507 = load i32, ptr %544, align 4, !tbaa !5
  %8508 = call ptr @s2n_strerror_debug(i32 noundef %8507, ptr noundef nonnull @.str.4) #12
  %8509 = load i32, ptr %598, align 4, !tbaa !5
  %8510 = call ptr @strerror(i32 noundef %8509) #12
  %8511 = load i32, ptr %598, align 4, !tbaa !5
  %8512 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8503, ptr noundef nonnull %.str.5.sink3941, i32 noundef %8504, ptr noundef nonnull @.str.137, ptr noundef nonnull @.str.1, i32 noundef 821, ptr noundef %8506, ptr noundef %8508, ptr noundef %8510, i32 noundef %8511) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8513:                                             ; preds = %8486
  %8514 = call i32 @s2n_io_stuffer_pair_free(ptr noundef nonnull %118) #12
  call void @llvm.lifetime.end.p0(i64 80, ptr nonnull %118) #12
  %8515 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %117) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %117) #12
  %8516 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %110) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %110) #12
  %8517 = call i32 @s2n_free(ptr noundef nonnull %109) #12
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %109) #12
  %8518 = call i32 @s2n_free(ptr noundef nonnull %108) #12
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %108) #12
  call void @llvm.lifetime.end.p0(i64 142, ptr nonnull %107) #12
  %8519 = call i32 @s2n_config_ptr_free(ptr noundef nonnull %94) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %94) #12
  br label %8520

8520:                                             ; preds = %8513, %6309
  %8521 = call zeroext i1 (...) @s2n_is_tls13_fully_supported() #12
  br i1 %8521, label %8522, label %9420

8522:                                             ; preds = %8520
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %119) #12
  %8523 = call ptr @s2n_connection_new(i32 noundef 0) #12
  store ptr %8523, ptr %119, align 8, !tbaa !9
  %8524 = load i32, ptr @test_count, align 4, !tbaa !5
  %8525 = add nsw i32 %8524, 1
  store i32 %8525, ptr @test_count, align 4, !tbaa !5
  %8526 = icmp eq ptr %8523, null
  br i1 %8526, label %8527, label %8549

8527:                                             ; preds = %8522
  %8528 = load i32, ptr %598, 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
  %.not1010 = icmp eq i32 %8536, 0
  br i1 %.not1010, label %8537, label %8538

8537:                                             ; preds = %8533, %8527
  br label %8538

8538:                                             ; preds = %8533, %8537
  %.str.5.sink3950 = phi ptr [ @.str.5, %8537 ], [ @.str.2, %8533 ]
  store i32 %8528, ptr %598, 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 %544, align 4, !tbaa !5
  %8542 = call ptr @s2n_strerror(i32 noundef %8541, ptr noundef nonnull @.str.4) #12
  %8543 = load i32, ptr %544, align 4, !tbaa !5
  %8544 = call ptr @s2n_strerror_debug(i32 noundef %8543, ptr noundef nonnull @.str.4) #12
  %8545 = load i32, ptr %598, align 4, !tbaa !5
  %8546 = call ptr @strerror(i32 noundef %8545) #12
  %8547 = load i32, ptr %598, align 4, !tbaa !5
  %8548 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8539, ptr noundef nonnull %.str.5.sink3950, i32 noundef %8540, ptr noundef nonnull @.str.43, ptr noundef nonnull @.str.1, i32 noundef 832, 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 %8524, 2
  store i32 %8550, ptr @test_count, align 4, !tbaa !5
  %8551 = load ptr, ptr %5, align 8, !tbaa !9
  %8552 = call i32 @s2n_connection_set_config(ptr noundef nonnull %8523, ptr noundef %8551) #12
  %8553 = icmp eq i32 %8552, -1
  br i1 %8553, label %8554, label %8576

8554:                                             ; preds = %8549
  %8555 = load i32, ptr %598, align 4, !tbaa !5
  %8556 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8557 = call i32 @s2n_print_stacktrace(ptr noundef %8556) #12
  %8558 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8559 = trunc nuw i8 %8558 to i1
  br i1 %8559, label %8560, label %8564

8560:                                             ; preds = %8554
  %8561 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8562 = call i32 @fileno(ptr noundef %8561) #12
  %8563 = call i32 @isatty(i32 noundef %8562) #12
  %.not1009 = icmp eq i32 %8563, 0
  br i1 %.not1009, label %8564, label %8565

8564:                                             ; preds = %8560, %8554
  br label %8565

8565:                                             ; preds = %8560, %8564
  %.str.5.sink3959 = phi ptr [ @.str.5, %8564 ], [ @.str.2, %8560 ]
  store i32 %8555, ptr %598, align 4, !tbaa !5
  %8566 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8567 = load i32, ptr @test_count, align 4, !tbaa !5
  %8568 = load i32, ptr %544, align 4, !tbaa !5
  %8569 = call ptr @s2n_strerror(i32 noundef %8568, ptr noundef nonnull @.str.4) #12
  %8570 = load i32, ptr %544, align 4, !tbaa !5
  %8571 = call ptr @s2n_strerror_debug(i32 noundef %8570, ptr noundef nonnull @.str.4) #12
  %8572 = load i32, ptr %598, align 4, !tbaa !5
  %8573 = call ptr @strerror(i32 noundef %8572) #12
  %8574 = load i32, ptr %598, align 4, !tbaa !5
  %8575 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8566, ptr noundef nonnull %.str.5.sink3959, i32 noundef %8567, ptr noundef nonnull @.str.76, ptr noundef nonnull @.str.1, i32 noundef 833, ptr noundef %8569, ptr noundef %8571, ptr noundef %8573, i32 noundef %8574) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8576:                                             ; preds = %8549
  call void @llvm.lifetime.start.p0(i64 142, ptr nonnull %120) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(142) %120, i8 0, i64 142, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %121) #12
  %8577 = call ptr @s2n_connection_new(i32 noundef 1) #12
  store ptr %8577, ptr %121, 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 = %8576
  %8582 = load i32, ptr %598, 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
  %.not1008 = icmp eq i32 %8590, 0
  br i1 %.not1008, label %8591, label %8592

8591:                                             ; preds = %8587, %8581
  br label %8592

8592:                                             ; preds = %8587, %8591
  %.str.5.sink3968 = phi ptr [ @.str.5, %8591 ], [ @.str.2, %8587 ]
  store i32 %8582, ptr %598, 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 %544, align 4, !tbaa !5
  %8596 = call ptr @s2n_strerror(i32 noundef %8595, ptr noundef nonnull @.str.4) #12
  %8597 = load i32, ptr %544, align 4, !tbaa !5
  %8598 = call ptr @s2n_strerror_debug(i32 noundef %8597, ptr noundef nonnull @.str.4) #12
  %8599 = load i32, ptr %598, align 4, !tbaa !5
  %8600 = call ptr @strerror(i32 noundef %8599) #12
  %8601 = load i32, ptr %598, align 4, !tbaa !5
  %8602 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8593, ptr noundef nonnull %.str.5.sink3968, i32 noundef %8594, ptr noundef nonnull @.str.42, ptr noundef nonnull @.str.1, i32 noundef 841, ptr noundef %8596, ptr noundef %8598, ptr noundef %8600, i32 noundef %8601) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8603:                                             ; preds = %8576
  %8604 = add nsw i32 %8578, 2
  store i32 %8604, ptr @test_count, align 4, !tbaa !5
  %8605 = call i32 @s2n_connection_set_config(ptr noundef nonnull %8577, ptr noundef %8551) #12
  %8606 = icmp eq i32 %8605, -1
  br i1 %8606, label %8607, label %8629

8607:                                             ; preds = %8603
  %8608 = load i32, ptr %598, 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
  %.not1007 = icmp eq i32 %8616, 0
  br i1 %.not1007, label %8617, label %8618

8617:                                             ; preds = %8613, %8607
  br label %8618

8618:                                             ; preds = %8613, %8617
  %.str.5.sink3977 = phi ptr [ @.str.5, %8617 ], [ @.str.2, %8613 ]
  store i32 %8608, ptr %598, 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 %544, align 4, !tbaa !5
  %8622 = call ptr @s2n_strerror(i32 noundef %8621, ptr noundef nonnull @.str.4) #12
  %8623 = load i32, ptr %544, align 4, !tbaa !5
  %8624 = call ptr @s2n_strerror_debug(i32 noundef %8623, ptr noundef nonnull @.str.4) #12
  %8625 = load i32, ptr %598, align 4, !tbaa !5
  %8626 = call ptr @strerror(i32 noundef %8625) #12
  %8627 = load i32, ptr %598, align 4, !tbaa !5
  %8628 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8619, ptr noundef nonnull %.str.5.sink3977, i32 noundef %8620, ptr noundef nonnull @.str.75, ptr noundef nonnull @.str.1, i32 noundef 842, ptr noundef %8622, ptr noundef %8624, ptr noundef %8626, i32 noundef %8627) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8629:                                             ; preds = %8603
  call void @llvm.lifetime.start.p0(i64 80, ptr nonnull %122) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(80) %122, i8 0, i64 80, i1 false)
  %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 = call i32 @s2n_io_stuffer_pair_init(ptr noundef nonnull %122) #12
  %8633 = call zeroext i1 @s2n_result_is_ok(i32 %8632)
  br i1 %8633, label %8656, label %8634

8634:                                             ; preds = %8629
  %8635 = load i32, ptr %598, 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
  %.not964 = icmp eq i32 %8643, 0
  br i1 %.not964, label %8644, label %8645

8644:                                             ; preds = %8640, %8634
  br label %8645

8645:                                             ; preds = %8640, %8644
  %.str.5.sink3986 = phi ptr [ @.str.5, %8644 ], [ @.str.2, %8640 ]
  store i32 %8635, ptr %598, 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 %544, align 4, !tbaa !5
  %8649 = call ptr @s2n_strerror(i32 noundef %8648, ptr noundef nonnull @.str.4) #12
  %8650 = load i32, ptr %544, align 4, !tbaa !5
  %8651 = call ptr @s2n_strerror_debug(i32 noundef %8650, ptr noundef nonnull @.str.4) #12
  %8652 = load i32, ptr %598, align 4, !tbaa !5
  %8653 = call ptr @strerror(i32 noundef %8652) #12
  %8654 = load i32, ptr %598, align 4, !tbaa !5
  %8655 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8646, ptr noundef nonnull %.str.5.sink3986, i32 noundef %8647, ptr noundef nonnull @.str.46, ptr noundef nonnull @.str.1, i32 noundef 845, 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 = load i32, ptr @test_count, align 4, !tbaa !5
  %8658 = add nsw i32 %8657, 1
  store i32 %8658, ptr @test_count, align 4, !tbaa !5
  %8659 = load ptr, ptr %121, align 8, !tbaa !9
  %8660 = load ptr, ptr %119, align 8, !tbaa !9
  %8661 = call i32 @s2n_connections_set_io_stuffer_pair(ptr noundef %8659, ptr noundef %8660, ptr noundef nonnull %122) #12
  %8662 = call zeroext i1 @s2n_result_is_ok(i32 %8661)
  br i1 %8662, label %8685, label %8663

8663:                                             ; preds = %8656
  %8664 = load i32, ptr %598, align 4, !tbaa !5
  %8665 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8666 = call i32 @s2n_print_stacktrace(ptr noundef %8665) #12
  %8667 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8668 = trunc nuw i8 %8667 to i1
  br i1 %8668, label %8669, label %8673

8669:                                             ; preds = %8663
  %8670 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8671 = call i32 @fileno(ptr noundef %8670) #12
  %8672 = call i32 @isatty(i32 noundef %8671) #12
  %.not965 = icmp eq i32 %8672, 0
  br i1 %.not965, label %8673, label %8674

8673:                                             ; preds = %8669, %8663
  br label %8674

8674:                                             ; preds = %8669, %8673
  %.str.5.sink3995 = phi ptr [ @.str.5, %8673 ], [ @.str.2, %8669 ]
  store i32 %8664, ptr %598, align 4, !tbaa !5
  %8675 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8676 = load i32, ptr @test_count, align 4, !tbaa !5
  %8677 = load i32, ptr %544, align 4, !tbaa !5
  %8678 = call ptr @s2n_strerror(i32 noundef %8677, ptr noundef nonnull @.str.4) #12
  %8679 = load i32, ptr %544, align 4, !tbaa !5
  %8680 = call ptr @s2n_strerror_debug(i32 noundef %8679, ptr noundef nonnull @.str.4) #12
  %8681 = load i32, ptr %598, align 4, !tbaa !5
  %8682 = call ptr @strerror(i32 noundef %8681) #12
  %8683 = load i32, ptr %598, align 4, !tbaa !5
  %8684 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8675, ptr noundef nonnull %.str.5.sink3995, i32 noundef %8676, ptr noundef nonnull @.str.47, ptr noundef nonnull @.str.1, i32 noundef 846, ptr noundef %8678, ptr noundef %8680, ptr noundef %8682, i32 noundef %8683) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8685:                                             ; preds = %8656
  %8686 = load i32, ptr @test_count, align 4, !tbaa !5
  %8687 = add nsw i32 %8686, 1
  store i32 %8687, ptr @test_count, align 4, !tbaa !5
  %8688 = load ptr, ptr %119, align 8, !tbaa !9
  %8689 = load ptr, ptr %121, align 8, !tbaa !9
  %8690 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %8688, ptr noundef %8689) #12
  %8691 = icmp eq i32 %8690, -1
  br i1 %8691, label %8692, label %8714

8692:                                             ; preds = %8685
  %8693 = load i32, ptr %598, align 4, !tbaa !5
  %8694 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8695 = call i32 @s2n_print_stacktrace(ptr noundef %8694) #12
  %8696 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8697 = trunc nuw i8 %8696 to i1
  br i1 %8697, label %8698, label %8702

8698:                                             ; preds = %8692
  %8699 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8700 = call i32 @fileno(ptr noundef %8699) #12
  %8701 = call i32 @isatty(i32 noundef %8700) #12
  %.not1006 = icmp eq i32 %8701, 0
  br i1 %.not1006, label %8702, label %8703

8702:                                             ; preds = %8698, %8692
  br label %8703

8703:                                             ; preds = %8698, %8702
  %.str.5.sink4004 = phi ptr [ @.str.5, %8702 ], [ @.str.2, %8698 ]
  store i32 %8693, ptr %598, align 4, !tbaa !5
  %8704 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8705 = load i32, ptr @test_count, align 4, !tbaa !5
  %8706 = load i32, ptr %544, align 4, !tbaa !5
  %8707 = call ptr @s2n_strerror(i32 noundef %8706, ptr noundef nonnull @.str.4) #12
  %8708 = load i32, ptr %544, align 4, !tbaa !5
  %8709 = call ptr @s2n_strerror_debug(i32 noundef %8708, ptr noundef nonnull @.str.4) #12
  %8710 = load i32, ptr %598, align 4, !tbaa !5
  %8711 = call ptr @strerror(i32 noundef %8710) #12
  %8712 = load i32, ptr %598, align 4, !tbaa !5
  %8713 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8704, ptr noundef nonnull %.str.5.sink4004, i32 noundef %8705, ptr noundef nonnull @.str.48, ptr noundef nonnull @.str.1, i32 noundef 848, ptr noundef %8707, ptr noundef %8709, ptr noundef %8711, i32 noundef %8712) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8714:                                             ; preds = %8685
  %8715 = load i32, ptr @test_count, align 4, !tbaa !5
  %8716 = add nsw i32 %8715, 1
  store i32 %8716, ptr @test_count, align 4, !tbaa !5
  %8717 = load ptr, ptr %119, align 8, !tbaa !9
  %8718 = call i32 @s2n_connection_get_actual_protocol_version(ptr noundef %8717) #12
  %8719 = icmp eq i32 %8718, 34
  br i1 %8719, label %8742, label %8720

8720:                                             ; preds = %8714
  %8721 = load i32, ptr %598, align 4, !tbaa !5
  %8722 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8723 = call i32 @s2n_print_stacktrace(ptr noundef %8722) #12
  %8724 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8725 = trunc nuw i8 %8724 to i1
  br i1 %8725, label %8726, label %8730

8726:                                             ; preds = %8720
  %8727 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8728 = call i32 @fileno(ptr noundef %8727) #12
  %8729 = call i32 @isatty(i32 noundef %8728) #12
  %.not966 = icmp eq i32 %8729, 0
  br i1 %.not966, label %8730, label %8731

8730:                                             ; preds = %8726, %8720
  br label %8731

8731:                                             ; preds = %8726, %8730
  %.str.5.sink4013 = phi ptr [ @.str.5, %8730 ], [ @.str.2, %8726 ]
  store i32 %8721, ptr %598, align 4, !tbaa !5
  %8732 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8733 = load i32, ptr @test_count, align 4, !tbaa !5
  %8734 = load i32, ptr %544, align 4, !tbaa !5
  %8735 = call ptr @s2n_strerror(i32 noundef %8734, ptr noundef nonnull @.str.4) #12
  %8736 = load i32, ptr %544, align 4, !tbaa !5
  %8737 = call ptr @s2n_strerror_debug(i32 noundef %8736, ptr noundef nonnull @.str.4) #12
  %8738 = load i32, ptr %598, align 4, !tbaa !5
  %8739 = call ptr @strerror(i32 noundef %8738) #12
  %8740 = load i32, ptr %598, align 4, !tbaa !5
  %8741 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8732, ptr noundef nonnull %.str.5.sink4013, i32 noundef %8733, ptr noundef nonnull @.str.77, ptr noundef nonnull @.str.1, i32 noundef 849, ptr noundef %8735, ptr noundef %8737, ptr noundef %8739, i32 noundef %8740) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8742:                                             ; preds = %8714
  %8743 = load i32, ptr @test_count, align 4, !tbaa !5
  %8744 = add nsw i32 %8743, 1
  store i32 %8744, ptr @test_count, align 4, !tbaa !5
  %8745 = load ptr, ptr %119, align 8, !tbaa !9
  %8746 = load ptr, ptr %121, align 8, !tbaa !9
  %8747 = call i32 @s2n_send_and_recv_test(ptr noundef %8745, ptr noundef %8746) #12
  %8748 = call zeroext i1 @s2n_result_is_ok(i32 %8747)
  br i1 %8748, label %8771, label %8749

8749:                                             ; preds = %8742
  %8750 = load i32, ptr %598, align 4, !tbaa !5
  %8751 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8752 = call i32 @s2n_print_stacktrace(ptr noundef %8751) #12
  %8753 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8754 = trunc nuw i8 %8753 to i1
  br i1 %8754, label %8755, label %8759

8755:                                             ; preds = %8749
  %8756 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8757 = call i32 @fileno(ptr noundef %8756) #12
  %8758 = call i32 @isatty(i32 noundef %8757) #12
  %.not967 = icmp eq i32 %8758, 0
  br i1 %.not967, label %8759, label %8760

8759:                                             ; preds = %8755, %8749
  br label %8760

8760:                                             ; preds = %8755, %8759
  %.str.5.sink4022 = phi ptr [ @.str.5, %8759 ], [ @.str.2, %8755 ]
  store i32 %8750, ptr %598, align 4, !tbaa !5
  %8761 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8762 = load i32, ptr @test_count, align 4, !tbaa !5
  %8763 = load i32, ptr %544, align 4, !tbaa !5
  %8764 = call ptr @s2n_strerror(i32 noundef %8763, ptr noundef nonnull @.str.4) #12
  %8765 = load i32, ptr %544, align 4, !tbaa !5
  %8766 = call ptr @s2n_strerror_debug(i32 noundef %8765, ptr noundef nonnull @.str.4) #12
  %8767 = load i32, ptr %598, align 4, !tbaa !5
  %8768 = call ptr @strerror(i32 noundef %8767) #12
  %8769 = load i32, ptr %598, align 4, !tbaa !5
  %8770 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8761, ptr noundef nonnull %.str.5.sink4022, i32 noundef %8762, ptr noundef nonnull @.str.103, ptr noundef nonnull @.str.1, i32 noundef 852, ptr noundef %8764, ptr noundef %8766, ptr noundef %8768, i32 noundef %8769) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8771:                                             ; preds = %8742
  %8772 = load i32, ptr @test_count, align 4, !tbaa !5
  %8773 = add nsw i32 %8772, 1
  store i32 %8773, ptr @test_count, align 4, !tbaa !5
  %8774 = load ptr, ptr %121, align 8, !tbaa !9
  %8775 = load ptr, ptr %119, align 8, !tbaa !9
  %8776 = call i32 @s2n_send_and_recv_test(ptr noundef %8774, ptr noundef %8775) #12
  %8777 = call zeroext i1 @s2n_result_is_ok(i32 %8776)
  br i1 %8777, label %8800, label %8778

8778:                                             ; preds = %8771
  %8779 = load i32, ptr %598, align 4, !tbaa !5
  %8780 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8781 = call i32 @s2n_print_stacktrace(ptr noundef %8780) #12
  %8782 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8783 = trunc nuw i8 %8782 to i1
  br i1 %8783, label %8784, label %8788

8784:                                             ; preds = %8778
  %8785 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8786 = call i32 @fileno(ptr noundef %8785) #12
  %8787 = call i32 @isatty(i32 noundef %8786) #12
  %.not968 = icmp eq i32 %8787, 0
  br i1 %.not968, label %8788, label %8789

8788:                                             ; preds = %8784, %8778
  br label %8789

8789:                                             ; preds = %8784, %8788
  %.str.5.sink4031 = phi ptr [ @.str.5, %8788 ], [ @.str.2, %8784 ]
  store i32 %8779, ptr %598, align 4, !tbaa !5
  %8790 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8791 = load i32, ptr @test_count, align 4, !tbaa !5
  %8792 = load i32, ptr %544, align 4, !tbaa !5
  %8793 = call ptr @s2n_strerror(i32 noundef %8792, ptr noundef nonnull @.str.4) #12
  %8794 = load i32, ptr %544, align 4, !tbaa !5
  %8795 = call ptr @s2n_strerror_debug(i32 noundef %8794, ptr noundef nonnull @.str.4) #12
  %8796 = load i32, ptr %598, align 4, !tbaa !5
  %8797 = call ptr @strerror(i32 noundef %8796) #12
  %8798 = load i32, ptr %598, align 4, !tbaa !5
  %8799 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8790, ptr noundef nonnull %.str.5.sink4031, i32 noundef %8791, ptr noundef nonnull @.str.104, ptr noundef nonnull @.str.1, i32 noundef 853, ptr noundef %8793, ptr noundef %8795, ptr noundef %8797, i32 noundef %8798) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8800:                                             ; preds = %8771
  %8801 = load i32, ptr @test_count, align 4, !tbaa !5
  %8802 = add nsw i32 %8801, 1
  store i32 %8802, ptr @test_count, align 4, !tbaa !5
  %8803 = load ptr, ptr %121, align 8, !tbaa !9
  %8804 = call i32 @s2n_connection_serialize(ptr noundef %8803, ptr noundef nonnull %120, i32 noundef 142) #12
  %8805 = icmp eq i32 %8804, -1
  br i1 %8805, label %8806, label %8828

8806:                                             ; preds = %8800
  %8807 = load i32, ptr %598, align 4, !tbaa !5
  %8808 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8809 = call i32 @s2n_print_stacktrace(ptr noundef %8808) #12
  %8810 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8811 = trunc nuw i8 %8810 to i1
  br i1 %8811, label %8812, label %8816

8812:                                             ; preds = %8806
  %8813 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8814 = call i32 @fileno(ptr noundef %8813) #12
  %8815 = call i32 @isatty(i32 noundef %8814) #12
  %.not1005 = icmp eq i32 %8815, 0
  br i1 %.not1005, label %8816, label %8817

8816:                                             ; preds = %8812, %8806
  br label %8817

8817:                                             ; preds = %8812, %8816
  %.str.5.sink4040 = phi ptr [ @.str.5, %8816 ], [ @.str.2, %8812 ]
  store i32 %8807, ptr %598, align 4, !tbaa !5
  %8818 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8819 = load i32, ptr @test_count, align 4, !tbaa !5
  %8820 = load i32, ptr %544, align 4, !tbaa !5
  %8821 = call ptr @s2n_strerror(i32 noundef %8820, ptr noundef nonnull @.str.4) #12
  %8822 = load i32, ptr %544, align 4, !tbaa !5
  %8823 = call ptr @s2n_strerror_debug(i32 noundef %8822, ptr noundef nonnull @.str.4) #12
  %8824 = load i32, ptr %598, align 4, !tbaa !5
  %8825 = call ptr @strerror(i32 noundef %8824) #12
  %8826 = load i32, ptr %598, align 4, !tbaa !5
  %8827 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8818, ptr noundef nonnull %.str.5.sink4040, i32 noundef %8819, ptr noundef nonnull @.str.126, ptr noundef nonnull @.str.1, i32 noundef 855, ptr noundef %8821, ptr noundef %8823, ptr noundef %8825, i32 noundef %8826) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8828:                                             ; preds = %8800
  %8829 = call i32 @s2n_io_stuffer_pair_free(ptr noundef nonnull %122) #12
  call void @llvm.lifetime.end.p0(i64 80, ptr nonnull %122) #12
  %8830 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %121) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %121) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %123) #12
  %8831 = call ptr @s2n_connection_new(i32 noundef 1) #12
  store ptr %8831, ptr %123, align 8, !tbaa !9
  %8832 = load i32, ptr @test_count, align 4, !tbaa !5
  %8833 = add nsw i32 %8832, 1
  store i32 %8833, ptr @test_count, align 4, !tbaa !5
  %8834 = icmp eq ptr %8831, null
  br i1 %8834, label %8835, label %8857

8835:                                             ; preds = %8828
  %8836 = load i32, ptr %598, align 4, !tbaa !5
  %8837 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8838 = call i32 @s2n_print_stacktrace(ptr noundef %8837) #12
  %8839 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8840 = trunc nuw i8 %8839 to i1
  br i1 %8840, label %8841, label %8845

8841:                                             ; preds = %8835
  %8842 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8843 = call i32 @fileno(ptr noundef %8842) #12
  %8844 = call i32 @isatty(i32 noundef %8843) #12
  %.not1004 = icmp eq i32 %8844, 0
  br i1 %.not1004, label %8845, label %8846

8845:                                             ; preds = %8841, %8835
  br label %8846

8846:                                             ; preds = %8841, %8845
  %.str.5.sink4049 = phi ptr [ @.str.5, %8845 ], [ @.str.2, %8841 ]
  store i32 %8836, ptr %598, align 4, !tbaa !5
  %8847 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8848 = load i32, ptr @test_count, align 4, !tbaa !5
  %8849 = load i32, ptr %544, align 4, !tbaa !5
  %8850 = call ptr @s2n_strerror(i32 noundef %8849, ptr noundef nonnull @.str.4) #12
  %8851 = load i32, ptr %544, align 4, !tbaa !5
  %8852 = call ptr @s2n_strerror_debug(i32 noundef %8851, ptr noundef nonnull @.str.4) #12
  %8853 = load i32, ptr %598, align 4, !tbaa !5
  %8854 = call ptr @strerror(i32 noundef %8853) #12
  %8855 = load i32, ptr %598, align 4, !tbaa !5
  %8856 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8847, ptr noundef nonnull %.str.5.sink4049, i32 noundef %8848, ptr noundef nonnull @.str.42, ptr noundef nonnull @.str.1, i32 noundef 862, ptr noundef %8850, ptr noundef %8852, ptr noundef %8854, i32 noundef %8855) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8857:                                             ; preds = %8828
  %8858 = add nsw i32 %8832, 2
  store i32 %8858, ptr @test_count, align 4, !tbaa !5
  %8859 = call i32 @s2n_connection_deserialize(ptr noundef nonnull %8831, ptr noundef nonnull %120, i32 noundef 142) #12
  %8860 = icmp eq i32 %8859, -1
  br i1 %8860, label %8861, label %8883

8861:                                             ; preds = %8857
  %8862 = load i32, ptr %598, align 4, !tbaa !5
  %8863 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8864 = call i32 @s2n_print_stacktrace(ptr noundef %8863) #12
  %8865 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8866 = trunc nuw i8 %8865 to i1
  br i1 %8866, label %8867, label %8871

8867:                                             ; preds = %8861
  %8868 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8869 = call i32 @fileno(ptr noundef %8868) #12
  %8870 = call i32 @isatty(i32 noundef %8869) #12
  %.not1003 = icmp eq i32 %8870, 0
  br i1 %.not1003, label %8871, label %8872

8871:                                             ; preds = %8867, %8861
  br label %8872

8872:                                             ; preds = %8867, %8871
  %.str.5.sink4058 = phi ptr [ @.str.5, %8871 ], [ @.str.2, %8867 ]
  store i32 %8862, ptr %598, align 4, !tbaa !5
  %8873 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8874 = load i32, ptr @test_count, align 4, !tbaa !5
  %8875 = load i32, ptr %544, align 4, !tbaa !5
  %8876 = call ptr @s2n_strerror(i32 noundef %8875, ptr noundef nonnull @.str.4) #12
  %8877 = load i32, ptr %544, align 4, !tbaa !5
  %8878 = call ptr @s2n_strerror_debug(i32 noundef %8877, ptr noundef nonnull @.str.4) #12
  %8879 = load i32, ptr %598, align 4, !tbaa !5
  %8880 = call ptr @strerror(i32 noundef %8879) #12
  %8881 = load i32, ptr %598, align 4, !tbaa !5
  %8882 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8873, ptr noundef nonnull %.str.5.sink4058, i32 noundef %8874, ptr noundef nonnull @.str.127, ptr noundef nonnull @.str.1, i32 noundef 863, ptr noundef %8876, ptr noundef %8878, ptr noundef %8880, i32 noundef %8881) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8883:                                             ; preds = %8857
  call void @llvm.lifetime.start.p0(i64 80, ptr nonnull %124) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(80) %124, i8 0, i64 80, i1 false)
  %8884 = load i32, ptr @test_count, align 4, !tbaa !5
  %8885 = add nsw i32 %8884, 1
  store i32 %8885, ptr @test_count, align 4, !tbaa !5
  %8886 = call i32 @s2n_io_stuffer_pair_init(ptr noundef nonnull %124) #12
  %8887 = call zeroext i1 @s2n_result_is_ok(i32 %8886)
  br i1 %8887, label %8910, label %8888

8888:                                             ; preds = %8883
  %8889 = load i32, ptr %598, align 4, !tbaa !5
  %8890 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8891 = call i32 @s2n_print_stacktrace(ptr noundef %8890) #12
  %8892 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8893 = trunc nuw i8 %8892 to i1
  br i1 %8893, label %8894, label %8898

8894:                                             ; preds = %8888
  %8895 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8896 = call i32 @fileno(ptr noundef %8895) #12
  %8897 = call i32 @isatty(i32 noundef %8896) #12
  %.not969 = icmp eq i32 %8897, 0
  br i1 %.not969, label %8898, label %8899

8898:                                             ; preds = %8894, %8888
  br label %8899

8899:                                             ; preds = %8894, %8898
  %.str.5.sink4067 = phi ptr [ @.str.5, %8898 ], [ @.str.2, %8894 ]
  store i32 %8889, ptr %598, align 4, !tbaa !5
  %8900 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8901 = load i32, ptr @test_count, align 4, !tbaa !5
  %8902 = load i32, ptr %544, align 4, !tbaa !5
  %8903 = call ptr @s2n_strerror(i32 noundef %8902, ptr noundef nonnull @.str.4) #12
  %8904 = load i32, ptr %544, align 4, !tbaa !5
  %8905 = call ptr @s2n_strerror_debug(i32 noundef %8904, ptr noundef nonnull @.str.4) #12
  %8906 = load i32, ptr %598, align 4, !tbaa !5
  %8907 = call ptr @strerror(i32 noundef %8906) #12
  %8908 = load i32, ptr %598, align 4, !tbaa !5
  %8909 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8900, ptr noundef nonnull %.str.5.sink4067, i32 noundef %8901, ptr noundef nonnull @.str.46, ptr noundef nonnull @.str.1, i32 noundef 866, ptr noundef %8903, ptr noundef %8905, ptr noundef %8907, i32 noundef %8908) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8910:                                             ; preds = %8883
  %8911 = load i32, ptr @test_count, align 4, !tbaa !5
  %8912 = add nsw i32 %8911, 1
  store i32 %8912, ptr @test_count, align 4, !tbaa !5
  %8913 = load ptr, ptr %123, align 8, !tbaa !9
  %8914 = load ptr, ptr %119, align 8, !tbaa !9
  %8915 = call i32 @s2n_connections_set_io_stuffer_pair(ptr noundef %8913, ptr noundef %8914, ptr noundef nonnull %124) #12
  %8916 = call zeroext i1 @s2n_result_is_ok(i32 %8915)
  br i1 %8916, label %8939, label %8917

8917:                                             ; preds = %8910
  %8918 = load i32, ptr %598, align 4, !tbaa !5
  %8919 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8920 = call i32 @s2n_print_stacktrace(ptr noundef %8919) #12
  %8921 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8922 = trunc nuw i8 %8921 to i1
  br i1 %8922, label %8923, label %8927

8923:                                             ; preds = %8917
  %8924 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8925 = call i32 @fileno(ptr noundef %8924) #12
  %8926 = call i32 @isatty(i32 noundef %8925) #12
  %.not970 = icmp eq i32 %8926, 0
  br i1 %.not970, label %8927, label %8928

8927:                                             ; preds = %8923, %8917
  br label %8928

8928:                                             ; preds = %8923, %8927
  %.str.5.sink4076 = phi ptr [ @.str.5, %8927 ], [ @.str.2, %8923 ]
  store i32 %8918, ptr %598, align 4, !tbaa !5
  %8929 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8930 = load i32, ptr @test_count, align 4, !tbaa !5
  %8931 = load i32, ptr %544, align 4, !tbaa !5
  %8932 = call ptr @s2n_strerror(i32 noundef %8931, ptr noundef nonnull @.str.4) #12
  %8933 = load i32, ptr %544, align 4, !tbaa !5
  %8934 = call ptr @s2n_strerror_debug(i32 noundef %8933, ptr noundef nonnull @.str.4) #12
  %8935 = load i32, ptr %598, align 4, !tbaa !5
  %8936 = call ptr @strerror(i32 noundef %8935) #12
  %8937 = load i32, ptr %598, align 4, !tbaa !5
  %8938 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8929, ptr noundef nonnull %.str.5.sink4076, i32 noundef %8930, ptr noundef nonnull @.str.47, ptr noundef nonnull @.str.1, i32 noundef 867, ptr noundef %8932, ptr noundef %8934, ptr noundef %8936, i32 noundef %8937) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8939:                                             ; preds = %8910
  %8940 = load i32, ptr @test_count, align 4, !tbaa !5
  %8941 = add nsw i32 %8940, 1
  store i32 %8941, ptr @test_count, align 4, !tbaa !5
  %8942 = load ptr, ptr %123, align 8, !tbaa !9
  %8943 = load ptr, ptr %119, align 8, !tbaa !9
  %8944 = call i32 @s2n_test_key_update(ptr noundef %8942, ptr noundef %8943)
  %8945 = call zeroext i1 @s2n_result_is_ok(i32 %8944)
  br i1 %8945, label %8968, label %8946

8946:                                             ; preds = %8939
  %8947 = load i32, ptr %598, align 4, !tbaa !5
  %8948 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8949 = call i32 @s2n_print_stacktrace(ptr noundef %8948) #12
  %8950 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8951 = trunc nuw i8 %8950 to i1
  br i1 %8951, label %8952, label %8956

8952:                                             ; preds = %8946
  %8953 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8954 = call i32 @fileno(ptr noundef %8953) #12
  %8955 = call i32 @isatty(i32 noundef %8954) #12
  %.not971 = icmp eq i32 %8955, 0
  br i1 %.not971, label %8956, label %8957

8956:                                             ; preds = %8952, %8946
  br label %8957

8957:                                             ; preds = %8952, %8956
  %.str.5.sink4085 = phi ptr [ @.str.5, %8956 ], [ @.str.2, %8952 ]
  store i32 %8947, ptr %598, align 4, !tbaa !5
  %8958 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8959 = load i32, ptr @test_count, align 4, !tbaa !5
  %8960 = load i32, ptr %544, align 4, !tbaa !5
  %8961 = call ptr @s2n_strerror(i32 noundef %8960, ptr noundef nonnull @.str.4) #12
  %8962 = load i32, ptr %544, align 4, !tbaa !5
  %8963 = call ptr @s2n_strerror_debug(i32 noundef %8962, ptr noundef nonnull @.str.4) #12
  %8964 = load i32, ptr %598, align 4, !tbaa !5
  %8965 = call ptr @strerror(i32 noundef %8964) #12
  %8966 = load i32, ptr %598, align 4, !tbaa !5
  %8967 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8958, ptr noundef nonnull %.str.5.sink4085, i32 noundef %8959, ptr noundef nonnull @.str.142, ptr noundef nonnull @.str.1, i32 noundef 869, ptr noundef %8961, ptr noundef %8963, ptr noundef %8965, i32 noundef %8966) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8968:                                             ; preds = %8939
  %8969 = call i32 @s2n_io_stuffer_pair_free(ptr noundef nonnull %124) #12
  call void @llvm.lifetime.end.p0(i64 80, ptr nonnull %124) #12
  %8970 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %123) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %123) #12
  call void @llvm.lifetime.end.p0(i64 142, ptr nonnull %120) #12
  %8971 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %119) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %119) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %125) #12
  %8972 = call ptr @s2n_connection_new(i32 noundef 1) #12
  store ptr %8972, ptr %125, align 8, !tbaa !9
  %8973 = load i32, ptr @test_count, align 4, !tbaa !5
  %8974 = add nsw i32 %8973, 1
  store i32 %8974, ptr @test_count, align 4, !tbaa !5
  %8975 = icmp eq ptr %8972, null
  br i1 %8975, label %8976, label %8998

8976:                                             ; preds = %8968
  %8977 = load i32, ptr %598, align 4, !tbaa !5
  %8978 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8979 = call i32 @s2n_print_stacktrace(ptr noundef %8978) #12
  %8980 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8981 = trunc nuw i8 %8980 to i1
  br i1 %8981, label %8982, label %8986

8982:                                             ; preds = %8976
  %8983 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8984 = call i32 @fileno(ptr noundef %8983) #12
  %8985 = call i32 @isatty(i32 noundef %8984) #12
  %.not1002 = icmp eq i32 %8985, 0
  br i1 %.not1002, label %8986, label %8987

8986:                                             ; preds = %8982, %8976
  br label %8987

8987:                                             ; preds = %8982, %8986
  %.str.5.sink4094 = phi ptr [ @.str.5, %8986 ], [ @.str.2, %8982 ]
  store i32 %8977, ptr %598, align 4, !tbaa !5
  %8988 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8989 = load i32, ptr @test_count, align 4, !tbaa !5
  %8990 = load i32, ptr %544, align 4, !tbaa !5
  %8991 = call ptr @s2n_strerror(i32 noundef %8990, ptr noundef nonnull @.str.4) #12
  %8992 = load i32, ptr %544, align 4, !tbaa !5
  %8993 = call ptr @s2n_strerror_debug(i32 noundef %8992, ptr noundef nonnull @.str.4) #12
  %8994 = load i32, ptr %598, align 4, !tbaa !5
  %8995 = call ptr @strerror(i32 noundef %8994) #12
  %8996 = load i32, ptr %598, align 4, !tbaa !5
  %8997 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8988, ptr noundef nonnull %.str.5.sink4094, i32 noundef %8989, ptr noundef nonnull @.str.42, ptr noundef nonnull @.str.1, i32 noundef 877, ptr noundef %8991, ptr noundef %8993, ptr noundef %8995, i32 noundef %8996) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8998:                                             ; preds = %8968
  %8999 = add nsw i32 %8973, 2
  store i32 %8999, ptr @test_count, align 4, !tbaa !5
  %9000 = call i32 @s2n_connection_set_config(ptr noundef nonnull %8972, ptr noundef %8551) #12
  %9001 = icmp eq i32 %9000, -1
  br i1 %9001, label %9002, label %9024

9002:                                             ; preds = %8998
  %9003 = load i32, ptr %598, align 4, !tbaa !5
  %9004 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9005 = call i32 @s2n_print_stacktrace(ptr noundef %9004) #12
  %9006 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9007 = trunc nuw i8 %9006 to i1
  br i1 %9007, label %9008, label %9012

9008:                                             ; preds = %9002
  %9009 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9010 = call i32 @fileno(ptr noundef %9009) #12
  %9011 = call i32 @isatty(i32 noundef %9010) #12
  %.not1001 = icmp eq i32 %9011, 0
  br i1 %.not1001, label %9012, label %9013

9012:                                             ; preds = %9008, %9002
  br label %9013

9013:                                             ; preds = %9008, %9012
  %.str.5.sink4103 = phi ptr [ @.str.5, %9012 ], [ @.str.2, %9008 ]
  store i32 %9003, ptr %598, align 4, !tbaa !5
  %9014 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9015 = load i32, ptr @test_count, align 4, !tbaa !5
  %9016 = load i32, ptr %544, align 4, !tbaa !5
  %9017 = call ptr @s2n_strerror(i32 noundef %9016, ptr noundef nonnull @.str.4) #12
  %9018 = load i32, ptr %544, align 4, !tbaa !5
  %9019 = call ptr @s2n_strerror_debug(i32 noundef %9018, ptr noundef nonnull @.str.4) #12
  %9020 = load i32, ptr %598, align 4, !tbaa !5
  %9021 = call ptr @strerror(i32 noundef %9020) #12
  %9022 = load i32, ptr %598, align 4, !tbaa !5
  %9023 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9014, ptr noundef nonnull %.str.5.sink4103, i32 noundef %9015, ptr noundef nonnull @.str.75, ptr noundef nonnull @.str.1, i32 noundef 878, ptr noundef %9017, ptr noundef %9019, ptr noundef %9021, i32 noundef %9022) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9024:                                             ; preds = %8998
  call void @llvm.lifetime.start.p0(i64 142, ptr nonnull %126) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(142) %126, i8 0, i64 142, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %127) #12
  %9025 = call ptr @s2n_connection_new(i32 noundef 0) #12
  store ptr %9025, ptr %127, align 8, !tbaa !9
  %9026 = load i32, ptr @test_count, align 4, !tbaa !5
  %9027 = add nsw i32 %9026, 1
  store i32 %9027, ptr @test_count, align 4, !tbaa !5
  %9028 = icmp eq ptr %9025, null
  br i1 %9028, label %9029, label %9051

9029:                                             ; preds = %9024
  %9030 = load i32, ptr %598, align 4, !tbaa !5
  %9031 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9032 = call i32 @s2n_print_stacktrace(ptr noundef %9031) #12
  %9033 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9034 = trunc nuw i8 %9033 to i1
  br i1 %9034, label %9035, label %9039

9035:                                             ; preds = %9029
  %9036 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9037 = call i32 @fileno(ptr noundef %9036) #12
  %9038 = call i32 @isatty(i32 noundef %9037) #12
  %.not1000 = icmp eq i32 %9038, 0
  br i1 %.not1000, label %9039, label %9040

9039:                                             ; preds = %9035, %9029
  br label %9040

9040:                                             ; preds = %9035, %9039
  %.str.5.sink4112 = phi ptr [ @.str.5, %9039 ], [ @.str.2, %9035 ]
  store i32 %9030, ptr %598, align 4, !tbaa !5
  %9041 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9042 = load i32, ptr @test_count, align 4, !tbaa !5
  %9043 = load i32, ptr %544, align 4, !tbaa !5
  %9044 = call ptr @s2n_strerror(i32 noundef %9043, ptr noundef nonnull @.str.4) #12
  %9045 = load i32, ptr %544, align 4, !tbaa !5
  %9046 = call ptr @s2n_strerror_debug(i32 noundef %9045, ptr noundef nonnull @.str.4) #12
  %9047 = load i32, ptr %598, align 4, !tbaa !5
  %9048 = call ptr @strerror(i32 noundef %9047) #12
  %9049 = load i32, ptr %598, align 4, !tbaa !5
  %9050 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9041, ptr noundef nonnull %.str.5.sink4112, i32 noundef %9042, ptr noundef nonnull @.str.43, ptr noundef nonnull @.str.1, i32 noundef 886, ptr noundef %9044, ptr noundef %9046, ptr noundef %9048, i32 noundef %9049) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9051:                                             ; preds = %9024
  %9052 = add nsw i32 %9026, 2
  store i32 %9052, ptr @test_count, align 4, !tbaa !5
  %9053 = call i32 @s2n_connection_set_config(ptr noundef nonnull %9025, ptr noundef %8551) #12
  %9054 = icmp eq i32 %9053, -1
  br i1 %9054, label %9055, label %9077

9055:                                             ; preds = %9051
  %9056 = load i32, ptr %598, align 4, !tbaa !5
  %9057 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9058 = call i32 @s2n_print_stacktrace(ptr noundef %9057) #12
  %9059 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9060 = trunc nuw i8 %9059 to i1
  br i1 %9060, label %9061, label %9065

9061:                                             ; preds = %9055
  %9062 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9063 = call i32 @fileno(ptr noundef %9062) #12
  %9064 = call i32 @isatty(i32 noundef %9063) #12
  %.not999 = icmp eq i32 %9064, 0
  br i1 %.not999, label %9065, label %9066

9065:                                             ; preds = %9061, %9055
  br label %9066

9066:                                             ; preds = %9061, %9065
  %.str.5.sink4121 = phi ptr [ @.str.5, %9065 ], [ @.str.2, %9061 ]
  store i32 %9056, ptr %598, align 4, !tbaa !5
  %9067 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9068 = load i32, ptr @test_count, align 4, !tbaa !5
  %9069 = load i32, ptr %544, align 4, !tbaa !5
  %9070 = call ptr @s2n_strerror(i32 noundef %9069, ptr noundef nonnull @.str.4) #12
  %9071 = load i32, ptr %544, align 4, !tbaa !5
  %9072 = call ptr @s2n_strerror_debug(i32 noundef %9071, ptr noundef nonnull @.str.4) #12
  %9073 = load i32, ptr %598, align 4, !tbaa !5
  %9074 = call ptr @strerror(i32 noundef %9073) #12
  %9075 = load i32, ptr %598, align 4, !tbaa !5
  %9076 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9067, ptr noundef nonnull %.str.5.sink4121, i32 noundef %9068, ptr noundef nonnull @.str.76, ptr noundef nonnull @.str.1, i32 noundef 888, ptr noundef %9070, ptr noundef %9072, ptr noundef %9074, i32 noundef %9075) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9077:                                             ; preds = %9051
  call void @llvm.lifetime.start.p0(i64 80, ptr nonnull %128) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(80) %128, i8 0, i64 80, i1 false)
  %9078 = load i32, ptr @test_count, align 4, !tbaa !5
  %9079 = add nsw i32 %9078, 1
  store i32 %9079, ptr @test_count, align 4, !tbaa !5
  %9080 = call i32 @s2n_io_stuffer_pair_init(ptr noundef nonnull %128) #12
  %9081 = call zeroext i1 @s2n_result_is_ok(i32 %9080)
  br i1 %9081, label %9104, label %9082

9082:                                             ; preds = %9077
  %9083 = load i32, ptr %598, align 4, !tbaa !5
  %9084 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9085 = call i32 @s2n_print_stacktrace(ptr noundef %9084) #12
  %9086 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9087 = trunc nuw i8 %9086 to i1
  br i1 %9087, label %9088, label %9092

9088:                                             ; preds = %9082
  %9089 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9090 = call i32 @fileno(ptr noundef %9089) #12
  %9091 = call i32 @isatty(i32 noundef %9090) #12
  %.not972 = icmp eq i32 %9091, 0
  br i1 %.not972, label %9092, label %9093

9092:                                             ; preds = %9088, %9082
  br label %9093

9093:                                             ; preds = %9088, %9092
  %.str.5.sink4130 = phi ptr [ @.str.5, %9092 ], [ @.str.2, %9088 ]
  store i32 %9083, ptr %598, align 4, !tbaa !5
  %9094 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9095 = load i32, ptr @test_count, align 4, !tbaa !5
  %9096 = load i32, ptr %544, align 4, !tbaa !5
  %9097 = call ptr @s2n_strerror(i32 noundef %9096, ptr noundef nonnull @.str.4) #12
  %9098 = load i32, ptr %544, align 4, !tbaa !5
  %9099 = call ptr @s2n_strerror_debug(i32 noundef %9098, ptr noundef nonnull @.str.4) #12
  %9100 = load i32, ptr %598, align 4, !tbaa !5
  %9101 = call ptr @strerror(i32 noundef %9100) #12
  %9102 = load i32, ptr %598, align 4, !tbaa !5
  %9103 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9094, ptr noundef nonnull %.str.5.sink4130, i32 noundef %9095, ptr noundef nonnull @.str.46, ptr noundef nonnull @.str.1, i32 noundef 891, ptr noundef %9097, ptr noundef %9099, ptr noundef %9101, i32 noundef %9102) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9104:                                             ; preds = %9077
  %9105 = load i32, ptr @test_count, align 4, !tbaa !5
  %9106 = add nsw i32 %9105, 1
  store i32 %9106, ptr @test_count, align 4, !tbaa !5
  %9107 = load ptr, ptr %125, align 8, !tbaa !9
  %9108 = load ptr, ptr %127, align 8, !tbaa !9
  %9109 = call i32 @s2n_connections_set_io_stuffer_pair(ptr noundef %9107, ptr noundef %9108, ptr noundef nonnull %128) #12
  %9110 = call zeroext i1 @s2n_result_is_ok(i32 %9109)
  br i1 %9110, label %9133, label %9111

9111:                                             ; preds = %9104
  %9112 = load i32, ptr %598, align 4, !tbaa !5
  %9113 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9114 = call i32 @s2n_print_stacktrace(ptr noundef %9113) #12
  %9115 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9116 = trunc nuw i8 %9115 to i1
  br i1 %9116, label %9117, label %9121

9117:                                             ; preds = %9111
  %9118 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9119 = call i32 @fileno(ptr noundef %9118) #12
  %9120 = call i32 @isatty(i32 noundef %9119) #12
  %.not973 = icmp eq i32 %9120, 0
  br i1 %.not973, label %9121, label %9122

9121:                                             ; preds = %9117, %9111
  br label %9122

9122:                                             ; preds = %9117, %9121
  %.str.5.sink4139 = phi ptr [ @.str.5, %9121 ], [ @.str.2, %9117 ]
  store i32 %9112, ptr %598, align 4, !tbaa !5
  %9123 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9124 = load i32, ptr @test_count, align 4, !tbaa !5
  %9125 = load i32, ptr %544, align 4, !tbaa !5
  %9126 = call ptr @s2n_strerror(i32 noundef %9125, ptr noundef nonnull @.str.4) #12
  %9127 = load i32, ptr %544, align 4, !tbaa !5
  %9128 = call ptr @s2n_strerror_debug(i32 noundef %9127, ptr noundef nonnull @.str.4) #12
  %9129 = load i32, ptr %598, align 4, !tbaa !5
  %9130 = call ptr @strerror(i32 noundef %9129) #12
  %9131 = load i32, ptr %598, align 4, !tbaa !5
  %9132 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9123, ptr noundef nonnull %.str.5.sink4139, i32 noundef %9124, ptr noundef nonnull @.str.47, ptr noundef nonnull @.str.1, i32 noundef 892, ptr noundef %9126, ptr noundef %9128, ptr noundef %9130, i32 noundef %9131) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9133:                                             ; preds = %9104
  %9134 = load i32, ptr @test_count, align 4, !tbaa !5
  %9135 = add nsw i32 %9134, 1
  store i32 %9135, ptr @test_count, align 4, !tbaa !5
  %9136 = load ptr, ptr %127, align 8, !tbaa !9
  %9137 = load ptr, ptr %125, align 8, !tbaa !9
  %9138 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %9136, ptr noundef %9137) #12
  %9139 = icmp eq i32 %9138, -1
  br i1 %9139, label %9140, label %9162

9140:                                             ; preds = %9133
  %9141 = load i32, ptr %598, align 4, !tbaa !5
  %9142 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9143 = call i32 @s2n_print_stacktrace(ptr noundef %9142) #12
  %9144 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9145 = trunc nuw i8 %9144 to i1
  br i1 %9145, label %9146, label %9150

9146:                                             ; preds = %9140
  %9147 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9148 = call i32 @fileno(ptr noundef %9147) #12
  %9149 = call i32 @isatty(i32 noundef %9148) #12
  %.not998 = icmp eq i32 %9149, 0
  br i1 %.not998, label %9150, label %9151

9150:                                             ; preds = %9146, %9140
  br label %9151

9151:                                             ; preds = %9146, %9150
  %.str.5.sink4148 = phi ptr [ @.str.5, %9150 ], [ @.str.2, %9146 ]
  store i32 %9141, ptr %598, align 4, !tbaa !5
  %9152 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9153 = load i32, ptr @test_count, align 4, !tbaa !5
  %9154 = load i32, ptr %544, align 4, !tbaa !5
  %9155 = call ptr @s2n_strerror(i32 noundef %9154, ptr noundef nonnull @.str.4) #12
  %9156 = load i32, ptr %544, align 4, !tbaa !5
  %9157 = call ptr @s2n_strerror_debug(i32 noundef %9156, ptr noundef nonnull @.str.4) #12
  %9158 = load i32, ptr %598, align 4, !tbaa !5
  %9159 = call ptr @strerror(i32 noundef %9158) #12
  %9160 = load i32, ptr %598, align 4, !tbaa !5
  %9161 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9152, ptr noundef nonnull %.str.5.sink4148, i32 noundef %9153, ptr noundef nonnull @.str.48, ptr noundef nonnull @.str.1, i32 noundef 894, ptr noundef %9155, ptr noundef %9157, ptr noundef %9159, i32 noundef %9160) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9162:                                             ; preds = %9133
  %9163 = load i32, ptr @test_count, align 4, !tbaa !5
  %9164 = add nsw i32 %9163, 1
  store i32 %9164, ptr @test_count, align 4, !tbaa !5
  %9165 = load ptr, ptr %127, align 8, !tbaa !9
  %9166 = call i32 @s2n_connection_get_actual_protocol_version(ptr noundef %9165) #12
  %9167 = icmp eq i32 %9166, 34
  br i1 %9167, label %9190, label %9168

9168:                                             ; preds = %9162
  %9169 = load i32, ptr %598, align 4, !tbaa !5
  %9170 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9171 = call i32 @s2n_print_stacktrace(ptr noundef %9170) #12
  %9172 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9173 = trunc nuw i8 %9172 to i1
  br i1 %9173, label %9174, label %9178

9174:                                             ; preds = %9168
  %9175 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9176 = call i32 @fileno(ptr noundef %9175) #12
  %9177 = call i32 @isatty(i32 noundef %9176) #12
  %.not974 = icmp eq i32 %9177, 0
  br i1 %.not974, label %9178, label %9179

9178:                                             ; preds = %9174, %9168
  br label %9179

9179:                                             ; preds = %9174, %9178
  %.str.5.sink4157 = phi ptr [ @.str.5, %9178 ], [ @.str.2, %9174 ]
  store i32 %9169, ptr %598, align 4, !tbaa !5
  %9180 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9181 = load i32, ptr @test_count, align 4, !tbaa !5
  %9182 = load i32, ptr %544, align 4, !tbaa !5
  %9183 = call ptr @s2n_strerror(i32 noundef %9182, ptr noundef nonnull @.str.4) #12
  %9184 = load i32, ptr %544, align 4, !tbaa !5
  %9185 = call ptr @s2n_strerror_debug(i32 noundef %9184, ptr noundef nonnull @.str.4) #12
  %9186 = load i32, ptr %598, align 4, !tbaa !5
  %9187 = call ptr @strerror(i32 noundef %9186) #12
  %9188 = load i32, ptr %598, align 4, !tbaa !5
  %9189 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9180, ptr noundef nonnull %.str.5.sink4157, i32 noundef %9181, ptr noundef nonnull @.str.77, ptr noundef nonnull @.str.1, i32 noundef 895, ptr noundef %9183, ptr noundef %9185, ptr noundef %9187, i32 noundef %9188) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9190:                                             ; preds = %9162
  %9191 = load i32, ptr @test_count, align 4, !tbaa !5
  %9192 = add nsw i32 %9191, 1
  store i32 %9192, ptr @test_count, align 4, !tbaa !5
  %9193 = load ptr, ptr %127, align 8, !tbaa !9
  %9194 = load ptr, ptr %125, align 8, !tbaa !9
  %9195 = call i32 @s2n_send_and_recv_test(ptr noundef %9193, ptr noundef %9194) #12
  %9196 = call zeroext i1 @s2n_result_is_ok(i32 %9195)
  br i1 %9196, label %9219, label %9197

9197:                                             ; preds = %9190
  %9198 = load i32, ptr %598, align 4, !tbaa !5
  %9199 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9200 = call i32 @s2n_print_stacktrace(ptr noundef %9199) #12
  %9201 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9202 = trunc nuw i8 %9201 to i1
  br i1 %9202, label %9203, label %9207

9203:                                             ; preds = %9197
  %9204 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9205 = call i32 @fileno(ptr noundef %9204) #12
  %9206 = call i32 @isatty(i32 noundef %9205) #12
  %.not975 = icmp eq i32 %9206, 0
  br i1 %.not975, label %9207, label %9208

9207:                                             ; preds = %9203, %9197
  br label %9208

9208:                                             ; preds = %9203, %9207
  %.str.5.sink4166 = phi ptr [ @.str.5, %9207 ], [ @.str.2, %9203 ]
  store i32 %9198, ptr %598, align 4, !tbaa !5
  %9209 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9210 = load i32, ptr @test_count, align 4, !tbaa !5
  %9211 = load i32, ptr %544, align 4, !tbaa !5
  %9212 = call ptr @s2n_strerror(i32 noundef %9211, ptr noundef nonnull @.str.4) #12
  %9213 = load i32, ptr %544, align 4, !tbaa !5
  %9214 = call ptr @s2n_strerror_debug(i32 noundef %9213, ptr noundef nonnull @.str.4) #12
  %9215 = load i32, ptr %598, align 4, !tbaa !5
  %9216 = call ptr @strerror(i32 noundef %9215) #12
  %9217 = load i32, ptr %598, align 4, !tbaa !5
  %9218 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9209, ptr noundef nonnull %.str.5.sink4166, i32 noundef %9210, ptr noundef nonnull @.str.103, ptr noundef nonnull @.str.1, i32 noundef 898, ptr noundef %9212, ptr noundef %9214, ptr noundef %9216, i32 noundef %9217) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9219:                                             ; preds = %9190
  %9220 = load i32, ptr @test_count, align 4, !tbaa !5
  %9221 = add nsw i32 %9220, 1
  store i32 %9221, ptr @test_count, align 4, !tbaa !5
  %9222 = load ptr, ptr %125, align 8, !tbaa !9
  %9223 = load ptr, ptr %127, align 8, !tbaa !9
  %9224 = call i32 @s2n_send_and_recv_test(ptr noundef %9222, ptr noundef %9223) #12
  %9225 = call zeroext i1 @s2n_result_is_ok(i32 %9224)
  br i1 %9225, label %9248, label %9226

9226:                                             ; preds = %9219
  %9227 = load i32, ptr %598, align 4, !tbaa !5
  %9228 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9229 = call i32 @s2n_print_stacktrace(ptr noundef %9228) #12
  %9230 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9231 = trunc nuw i8 %9230 to i1
  br i1 %9231, label %9232, label %9236

9232:                                             ; preds = %9226
  %9233 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9234 = call i32 @fileno(ptr noundef %9233) #12
  %9235 = call i32 @isatty(i32 noundef %9234) #12
  %.not976 = icmp eq i32 %9235, 0
  br i1 %.not976, label %9236, label %9237

9236:                                             ; preds = %9232, %9226
  br label %9237

9237:                                             ; preds = %9232, %9236
  %.str.5.sink4175 = phi ptr [ @.str.5, %9236 ], [ @.str.2, %9232 ]
  store i32 %9227, ptr %598, align 4, !tbaa !5
  %9238 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9239 = load i32, ptr @test_count, align 4, !tbaa !5
  %9240 = load i32, ptr %544, align 4, !tbaa !5
  %9241 = call ptr @s2n_strerror(i32 noundef %9240, ptr noundef nonnull @.str.4) #12
  %9242 = load i32, ptr %544, align 4, !tbaa !5
  %9243 = call ptr @s2n_strerror_debug(i32 noundef %9242, ptr noundef nonnull @.str.4) #12
  %9244 = load i32, ptr %598, align 4, !tbaa !5
  %9245 = call ptr @strerror(i32 noundef %9244) #12
  %9246 = load i32, ptr %598, align 4, !tbaa !5
  %9247 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9238, ptr noundef nonnull %.str.5.sink4175, i32 noundef %9239, ptr noundef nonnull @.str.104, ptr noundef nonnull @.str.1, i32 noundef 899, ptr noundef %9241, ptr noundef %9243, ptr noundef %9245, i32 noundef %9246) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9248:                                             ; preds = %9219
  %9249 = load i32, ptr @test_count, align 4, !tbaa !5
  %9250 = add nsw i32 %9249, 1
  store i32 %9250, ptr @test_count, align 4, !tbaa !5
  %9251 = load ptr, ptr %127, align 8, !tbaa !9
  %9252 = call i32 @s2n_connection_serialize(ptr noundef %9251, ptr noundef nonnull %126, i32 noundef 142) #12
  %9253 = icmp eq i32 %9252, -1
  br i1 %9253, label %9254, label %9276

9254:                                             ; preds = %9248
  %9255 = load i32, ptr %598, align 4, !tbaa !5
  %9256 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9257 = call i32 @s2n_print_stacktrace(ptr noundef %9256) #12
  %9258 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9259 = trunc nuw i8 %9258 to i1
  br i1 %9259, label %9260, label %9264

9260:                                             ; preds = %9254
  %9261 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9262 = call i32 @fileno(ptr noundef %9261) #12
  %9263 = call i32 @isatty(i32 noundef %9262) #12
  %.not997 = icmp eq i32 %9263, 0
  br i1 %.not997, label %9264, label %9265

9264:                                             ; preds = %9260, %9254
  br label %9265

9265:                                             ; preds = %9260, %9264
  %.str.5.sink4184 = phi ptr [ @.str.5, %9264 ], [ @.str.2, %9260 ]
  store i32 %9255, ptr %598, align 4, !tbaa !5
  %9266 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9267 = load i32, ptr @test_count, align 4, !tbaa !5
  %9268 = load i32, ptr %544, align 4, !tbaa !5
  %9269 = call ptr @s2n_strerror(i32 noundef %9268, ptr noundef nonnull @.str.4) #12
  %9270 = load i32, ptr %544, align 4, !tbaa !5
  %9271 = call ptr @s2n_strerror_debug(i32 noundef %9270, ptr noundef nonnull @.str.4) #12
  %9272 = load i32, ptr %598, align 4, !tbaa !5
  %9273 = call ptr @strerror(i32 noundef %9272) #12
  %9274 = load i32, ptr %598, align 4, !tbaa !5
  %9275 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9266, ptr noundef nonnull %.str.5.sink4184, i32 noundef %9267, ptr noundef nonnull @.str.139, ptr noundef nonnull @.str.1, i32 noundef 901, ptr noundef %9269, ptr noundef %9271, ptr noundef %9273, i32 noundef %9274) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9276:                                             ; preds = %9248
  %9277 = call i32 @s2n_io_stuffer_pair_free(ptr noundef nonnull %128) #12
  call void @llvm.lifetime.end.p0(i64 80, ptr nonnull %128) #12
  %9278 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %127) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %127) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %129) #12
  %9279 = call ptr @s2n_connection_new(i32 noundef 0) #12
  store ptr %9279, ptr %129, align 8, !tbaa !9
  %9280 = load i32, ptr @test_count, align 4, !tbaa !5
  %9281 = add nsw i32 %9280, 1
  store i32 %9281, ptr @test_count, align 4, !tbaa !5
  %9282 = icmp eq ptr %9279, null
  br i1 %9282, label %9283, label %9305

9283:                                             ; preds = %9276
  %9284 = load i32, ptr %598, align 4, !tbaa !5
  %9285 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9286 = call i32 @s2n_print_stacktrace(ptr noundef %9285) #12
  %9287 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9288 = trunc nuw i8 %9287 to i1
  br i1 %9288, label %9289, label %9293

9289:                                             ; preds = %9283
  %9290 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9291 = call i32 @fileno(ptr noundef %9290) #12
  %9292 = call i32 @isatty(i32 noundef %9291) #12
  %.not996 = icmp eq i32 %9292, 0
  br i1 %.not996, label %9293, label %9294

9293:                                             ; preds = %9289, %9283
  br label %9294

9294:                                             ; preds = %9289, %9293
  %.str.5.sink4193 = phi ptr [ @.str.5, %9293 ], [ @.str.2, %9289 ]
  store i32 %9284, ptr %598, align 4, !tbaa !5
  %9295 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9296 = load i32, ptr @test_count, align 4, !tbaa !5
  %9297 = load i32, ptr %544, align 4, !tbaa !5
  %9298 = call ptr @s2n_strerror(i32 noundef %9297, ptr noundef nonnull @.str.4) #12
  %9299 = load i32, ptr %544, align 4, !tbaa !5
  %9300 = call ptr @s2n_strerror_debug(i32 noundef %9299, ptr noundef nonnull @.str.4) #12
  %9301 = load i32, ptr %598, align 4, !tbaa !5
  %9302 = call ptr @strerror(i32 noundef %9301) #12
  %9303 = load i32, ptr %598, align 4, !tbaa !5
  %9304 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9295, ptr noundef nonnull %.str.5.sink4193, i32 noundef %9296, ptr noundef nonnull @.str.43, ptr noundef nonnull @.str.1, i32 noundef 908, ptr noundef %9298, ptr noundef %9300, ptr noundef %9302, i32 noundef %9303) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9305:                                             ; preds = %9276
  %9306 = add nsw i32 %9280, 2
  store i32 %9306, ptr @test_count, align 4, !tbaa !5
  %9307 = call i32 @s2n_connection_deserialize(ptr noundef nonnull %9279, ptr noundef nonnull %126, i32 noundef 142) #12
  %9308 = icmp eq i32 %9307, -1
  br i1 %9308, label %9309, label %9331

9309:                                             ; preds = %9305
  %9310 = load i32, ptr %598, align 4, !tbaa !5
  %9311 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9312 = call i32 @s2n_print_stacktrace(ptr noundef %9311) #12
  %9313 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9314 = trunc nuw i8 %9313 to i1
  br i1 %9314, label %9315, label %9319

9315:                                             ; preds = %9309
  %9316 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9317 = call i32 @fileno(ptr noundef %9316) #12
  %9318 = call i32 @isatty(i32 noundef %9317) #12
  %.not995 = icmp eq i32 %9318, 0
  br i1 %.not995, label %9319, label %9320

9319:                                             ; preds = %9315, %9309
  br label %9320

9320:                                             ; preds = %9315, %9319
  %.str.5.sink4202 = phi ptr [ @.str.5, %9319 ], [ @.str.2, %9315 ]
  store i32 %9310, ptr %598, align 4, !tbaa !5
  %9321 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9322 = load i32, ptr @test_count, align 4, !tbaa !5
  %9323 = load i32, ptr %544, align 4, !tbaa !5
  %9324 = call ptr @s2n_strerror(i32 noundef %9323, ptr noundef nonnull @.str.4) #12
  %9325 = load i32, ptr %544, align 4, !tbaa !5
  %9326 = call ptr @s2n_strerror_debug(i32 noundef %9325, ptr noundef nonnull @.str.4) #12
  %9327 = load i32, ptr %598, align 4, !tbaa !5
  %9328 = call ptr @strerror(i32 noundef %9327) #12
  %9329 = load i32, ptr %598, align 4, !tbaa !5
  %9330 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9321, ptr noundef nonnull %.str.5.sink4202, i32 noundef %9322, ptr noundef nonnull @.str.140, ptr noundef nonnull @.str.1, i32 noundef 909, ptr noundef %9324, ptr noundef %9326, ptr noundef %9328, i32 noundef %9329) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9331:                                             ; preds = %9305
  call void @llvm.lifetime.start.p0(i64 80, ptr nonnull %130) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(80) %130, i8 0, i64 80, i1 false)
  %9332 = load i32, ptr @test_count, align 4, !tbaa !5
  %9333 = add nsw i32 %9332, 1
  store i32 %9333, ptr @test_count, align 4, !tbaa !5
  %9334 = call i32 @s2n_io_stuffer_pair_init(ptr noundef nonnull %130) #12
  %9335 = call zeroext i1 @s2n_result_is_ok(i32 %9334)
  br i1 %9335, label %9358, label %9336

9336:                                             ; preds = %9331
  %9337 = load i32, ptr %598, align 4, !tbaa !5
  %9338 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9339 = call i32 @s2n_print_stacktrace(ptr noundef %9338) #12
  %9340 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9341 = trunc nuw i8 %9340 to i1
  br i1 %9341, label %9342, label %9346

9342:                                             ; preds = %9336
  %9343 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9344 = call i32 @fileno(ptr noundef %9343) #12
  %9345 = call i32 @isatty(i32 noundef %9344) #12
  %.not977 = icmp eq i32 %9345, 0
  br i1 %.not977, label %9346, label %9347

9346:                                             ; preds = %9342, %9336
  br label %9347

9347:                                             ; preds = %9342, %9346
  %.str.5.sink4211 = phi ptr [ @.str.5, %9346 ], [ @.str.2, %9342 ]
  store i32 %9337, ptr %598, align 4, !tbaa !5
  %9348 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9349 = load i32, ptr @test_count, align 4, !tbaa !5
  %9350 = load i32, ptr %544, align 4, !tbaa !5
  %9351 = call ptr @s2n_strerror(i32 noundef %9350, ptr noundef nonnull @.str.4) #12
  %9352 = load i32, ptr %544, align 4, !tbaa !5
  %9353 = call ptr @s2n_strerror_debug(i32 noundef %9352, ptr noundef nonnull @.str.4) #12
  %9354 = load i32, ptr %598, align 4, !tbaa !5
  %9355 = call ptr @strerror(i32 noundef %9354) #12
  %9356 = load i32, ptr %598, align 4, !tbaa !5
  %9357 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9348, ptr noundef nonnull %.str.5.sink4211, i32 noundef %9349, ptr noundef nonnull @.str.46, ptr noundef nonnull @.str.1, i32 noundef 912, ptr noundef %9351, ptr noundef %9353, ptr noundef %9355, i32 noundef %9356) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9358:                                             ; preds = %9331
  %9359 = load i32, ptr @test_count, align 4, !tbaa !5
  %9360 = add nsw i32 %9359, 1
  store i32 %9360, ptr @test_count, align 4, !tbaa !5
  %9361 = load ptr, ptr %125, align 8, !tbaa !9
  %9362 = load ptr, ptr %129, align 8, !tbaa !9
  %9363 = call i32 @s2n_connections_set_io_stuffer_pair(ptr noundef %9361, ptr noundef %9362, ptr noundef nonnull %130) #12
  %9364 = call zeroext i1 @s2n_result_is_ok(i32 %9363)
  br i1 %9364, label %9387, label %9365

9365:                                             ; preds = %9358
  %9366 = load i32, ptr %598, align 4, !tbaa !5
  %9367 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9368 = call i32 @s2n_print_stacktrace(ptr noundef %9367) #12
  %9369 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9370 = trunc nuw i8 %9369 to i1
  br i1 %9370, label %9371, label %9375

9371:                                             ; preds = %9365
  %9372 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9373 = call i32 @fileno(ptr noundef %9372) #12
  %9374 = call i32 @isatty(i32 noundef %9373) #12
  %.not978 = icmp eq i32 %9374, 0
  br i1 %.not978, label %9375, label %9376

9375:                                             ; preds = %9371, %9365
  br label %9376

9376:                                             ; preds = %9371, %9375
  %.str.5.sink4220 = phi ptr [ @.str.5, %9375 ], [ @.str.2, %9371 ]
  store i32 %9366, ptr %598, align 4, !tbaa !5
  %9377 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9378 = load i32, ptr @test_count, align 4, !tbaa !5
  %9379 = load i32, ptr %544, align 4, !tbaa !5
  %9380 = call ptr @s2n_strerror(i32 noundef %9379, ptr noundef nonnull @.str.4) #12
  %9381 = load i32, ptr %544, align 4, !tbaa !5
  %9382 = call ptr @s2n_strerror_debug(i32 noundef %9381, ptr noundef nonnull @.str.4) #12
  %9383 = load i32, ptr %598, align 4, !tbaa !5
  %9384 = call ptr @strerror(i32 noundef %9383) #12
  %9385 = load i32, ptr %598, align 4, !tbaa !5
  %9386 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9377, ptr noundef nonnull %.str.5.sink4220, i32 noundef %9378, ptr noundef nonnull @.str.47, ptr noundef nonnull @.str.1, i32 noundef 913, ptr noundef %9380, ptr noundef %9382, ptr noundef %9384, i32 noundef %9385) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9387:                                             ; preds = %9358
  %9388 = load i32, ptr @test_count, align 4, !tbaa !5
  %9389 = add nsw i32 %9388, 1
  store i32 %9389, ptr @test_count, align 4, !tbaa !5
  %9390 = load ptr, ptr %125, align 8, !tbaa !9
  %9391 = load ptr, ptr %129, align 8, !tbaa !9
  %9392 = call i32 @s2n_test_key_update(ptr noundef %9390, ptr noundef %9391)
  %9393 = call zeroext i1 @s2n_result_is_ok(i32 %9392)
  br i1 %9393, label %9416, label %9394

9394:                                             ; preds = %9387
  %9395 = load i32, ptr %598, align 4, !tbaa !5
  %9396 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9397 = call i32 @s2n_print_stacktrace(ptr noundef %9396) #12
  %9398 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9399 = trunc nuw i8 %9398 to i1
  br i1 %9399, label %9400, label %9404

9400:                                             ; preds = %9394
  %9401 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9402 = call i32 @fileno(ptr noundef %9401) #12
  %9403 = call i32 @isatty(i32 noundef %9402) #12
  %.not979 = icmp eq i32 %9403, 0
  br i1 %.not979, label %9404, label %9405

9404:                                             ; preds = %9400, %9394
  br label %9405

9405:                                             ; preds = %9400, %9404
  %.str.5.sink4229 = phi ptr [ @.str.5, %9404 ], [ @.str.2, %9400 ]
  store i32 %9395, ptr %598, align 4, !tbaa !5
  %9406 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9407 = load i32, ptr @test_count, align 4, !tbaa !5
  %9408 = load i32, ptr %544, align 4, !tbaa !5
  %9409 = call ptr @s2n_strerror(i32 noundef %9408, ptr noundef nonnull @.str.4) #12
  %9410 = load i32, ptr %544, align 4, !tbaa !5
  %9411 = call ptr @s2n_strerror_debug(i32 noundef %9410, ptr noundef nonnull @.str.4) #12
  %9412 = load i32, ptr %598, align 4, !tbaa !5
  %9413 = call ptr @strerror(i32 noundef %9412) #12
  %9414 = load i32, ptr %598, align 4, !tbaa !5
  %9415 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9406, ptr noundef nonnull %.str.5.sink4229, i32 noundef %9407, ptr noundef nonnull @.str.142, ptr noundef nonnull @.str.1, i32 noundef 915, ptr noundef %9409, ptr noundef %9411, ptr noundef %9413, i32 noundef %9414) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9416:                                             ; preds = %9387
  %9417 = call i32 @s2n_io_stuffer_pair_free(ptr noundef nonnull %130) #12
  call void @llvm.lifetime.end.p0(i64 80, ptr nonnull %130) #12
  %9418 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %129) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %129) #12
  call void @llvm.lifetime.end.p0(i64 142, ptr nonnull %126) #12
  %9419 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %125) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %125) #12
  br label %9420

9420:                                             ; preds = %9416, %8520
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %131) #12
  %9421 = call ptr @s2n_config_new() #12
  store ptr %9421, ptr %131, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %132) #12
  %9422 = call ptr @s2n_connection_new(i32 noundef 1) #12
  store ptr %9422, ptr %132, align 8, !tbaa !9
  %9423 = load i32, ptr @test_count, align 4, !tbaa !5
  %9424 = add nsw i32 %9423, 1
  store i32 %9424, ptr @test_count, align 4, !tbaa !5
  %9425 = icmp eq ptr %9422, null
  br i1 %9425, label %9426, label %9448

9426:                                             ; preds = %9420
  %9427 = load i32, ptr %598, align 4, !tbaa !5
  %9428 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9429 = call i32 @s2n_print_stacktrace(ptr noundef %9428) #12
  %9430 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9431 = trunc nuw i8 %9430 to i1
  br i1 %9431, label %9432, label %9436

9432:                                             ; preds = %9426
  %9433 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9434 = call i32 @fileno(ptr noundef %9433) #12
  %9435 = call i32 @isatty(i32 noundef %9434) #12
  %.not994 = icmp eq i32 %9435, 0
  br i1 %.not994, label %9436, label %9437

9436:                                             ; preds = %9432, %9426
  br label %9437

9437:                                             ; preds = %9432, %9436
  %.str.5.sink4238 = phi ptr [ @.str.5, %9436 ], [ @.str.2, %9432 ]
  store i32 %9427, ptr %598, align 4, !tbaa !5
  %9438 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9439 = load i32, ptr @test_count, align 4, !tbaa !5
  %9440 = load i32, ptr %544, align 4, !tbaa !5
  %9441 = call ptr @s2n_strerror(i32 noundef %9440, ptr noundef nonnull @.str.4) #12
  %9442 = load i32, ptr %544, align 4, !tbaa !5
  %9443 = call ptr @s2n_strerror_debug(i32 noundef %9442, ptr noundef nonnull @.str.4) #12
  %9444 = load i32, ptr %598, align 4, !tbaa !5
  %9445 = call ptr @strerror(i32 noundef %9444) #12
  %9446 = load i32, ptr %598, align 4, !tbaa !5
  %9447 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9438, ptr noundef nonnull %.str.5.sink4238, i32 noundef %9439, ptr noundef nonnull @.str.42, ptr noundef nonnull @.str.1, i32 noundef 934, ptr noundef %9441, ptr noundef %9443, ptr noundef %9445, i32 noundef %9446) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9448:                                             ; preds = %9420
  %9449 = add nsw i32 %9423, 2
  store i32 %9449, ptr @test_count, align 4, !tbaa !5
  %9450 = call i32 @s2n_config_set_renegotiate_request_cb(ptr noundef %9421, ptr noundef nonnull @s2n_test_reneg_cb, ptr noundef null) #12
  %9451 = icmp eq i32 %9450, -1
  br i1 %9451, label %9452, label %9474

9452:                                             ; preds = %9448
  %9453 = load i32, ptr %598, align 4, !tbaa !5
  %9454 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9455 = call i32 @s2n_print_stacktrace(ptr noundef %9454) #12
  %9456 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9457 = trunc nuw i8 %9456 to i1
  br i1 %9457, label %9458, label %9462

9458:                                             ; preds = %9452
  %9459 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9460 = call i32 @fileno(ptr noundef %9459) #12
  %9461 = call i32 @isatty(i32 noundef %9460) #12
  %.not993 = icmp eq i32 %9461, 0
  br i1 %.not993, label %9462, label %9463

9462:                                             ; preds = %9458, %9452
  br label %9463

9463:                                             ; preds = %9458, %9462
  %.str.5.sink4247 = phi ptr [ @.str.5, %9462 ], [ @.str.2, %9458 ]
  store i32 %9453, ptr %598, align 4, !tbaa !5
  %9464 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9465 = load i32, ptr @test_count, align 4, !tbaa !5
  %9466 = load i32, ptr %544, align 4, !tbaa !5
  %9467 = call ptr @s2n_strerror(i32 noundef %9466, ptr noundef nonnull @.str.4) #12
  %9468 = load i32, ptr %544, align 4, !tbaa !5
  %9469 = call ptr @s2n_strerror_debug(i32 noundef %9468, ptr noundef nonnull @.str.4) #12
  %9470 = load i32, ptr %598, align 4, !tbaa !5
  %9471 = call ptr @strerror(i32 noundef %9470) #12
  %9472 = load i32, ptr %598, align 4, !tbaa !5
  %9473 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9464, ptr noundef nonnull %.str.5.sink4247, i32 noundef %9465, ptr noundef nonnull @.str.143, ptr noundef nonnull @.str.1, i32 noundef 937, ptr noundef %9467, ptr noundef %9469, ptr noundef %9471, i32 noundef %9472) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9474:                                             ; preds = %9448
  %9475 = load i32, ptr @test_count, align 4, !tbaa !5
  %9476 = add nsw i32 %9475, 1
  store i32 %9476, ptr @test_count, align 4, !tbaa !5
  %9477 = call i32 @s2n_config_set_serialization_version(ptr noundef %9421, i32 noundef 1) #12
  %9478 = icmp eq i32 %9477, -1
  br i1 %9478, label %9501, label %9479

9479:                                             ; preds = %9474
  %9480 = load i32, ptr %598, align 4, !tbaa !5
  %9481 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9482 = call i32 @s2n_print_stacktrace(ptr noundef %9481) #12
  %9483 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9484 = trunc nuw i8 %9483 to i1
  br i1 %9484, label %9485, label %9489

9485:                                             ; preds = %9479
  %9486 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9487 = call i32 @fileno(ptr noundef %9486) #12
  %9488 = call i32 @isatty(i32 noundef %9487) #12
  %.not980 = icmp eq i32 %9488, 0
  br i1 %.not980, label %9489, label %9490

9489:                                             ; preds = %9485, %9479
  br label %9490

9490:                                             ; preds = %9485, %9489
  %.str.5.sink4256 = phi ptr [ @.str.5, %9489 ], [ @.str.2, %9485 ]
  store i32 %9480, ptr %598, align 4, !tbaa !5
  %9491 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9492 = load i32, ptr @test_count, align 4, !tbaa !5
  %9493 = load i32, ptr %544, align 4, !tbaa !5
  %9494 = call ptr @s2n_strerror(i32 noundef %9493, ptr noundef nonnull @.str.4) #12
  %9495 = load i32, ptr %544, align 4, !tbaa !5
  %9496 = call ptr @s2n_strerror_debug(i32 noundef %9495, ptr noundef nonnull @.str.4) #12
  %9497 = load i32, ptr %598, align 4, !tbaa !5
  %9498 = call ptr @strerror(i32 noundef %9497) #12
  %9499 = load i32, ptr %598, align 4, !tbaa !5
  %9500 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9491, ptr noundef nonnull %.str.5.sink4256, i32 noundef %9492, ptr noundef nonnull @.str.144, ptr noundef nonnull @.str.1, i32 noundef 939, ptr noundef %9494, ptr noundef %9496, ptr noundef %9498, i32 noundef %9499) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9501:                                             ; preds = %9474
  %9502 = load i32, ptr @test_count, align 4, !tbaa !5
  %9503 = add nsw i32 %9502, 1
  store i32 %9503, ptr @test_count, align 4, !tbaa !5
  %9504 = load i32, ptr %544, align 4, !tbaa !5
  %9505 = icmp eq i32 %9504, 469762112
  br i1 %9505, label %9528, label %9506

9506:                                             ; preds = %9501
  %9507 = load i32, ptr %598, align 4, !tbaa !5
  %9508 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9509 = call i32 @s2n_print_stacktrace(ptr noundef %9508) #12
  %9510 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9511 = trunc nuw i8 %9510 to i1
  br i1 %9511, label %9512, label %9516

9512:                                             ; preds = %9506
  %9513 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9514 = call i32 @fileno(ptr noundef %9513) #12
  %9515 = call i32 @isatty(i32 noundef %9514) #12
  %.not981 = icmp eq i32 %9515, 0
  br i1 %.not981, label %9516, label %9517

9516:                                             ; preds = %9512, %9506
  br label %9517

9517:                                             ; preds = %9512, %9516
  %.str.5.sink4265 = phi ptr [ @.str.5, %9516 ], [ @.str.2, %9512 ]
  store i32 %9507, ptr %598, align 4, !tbaa !5
  %9518 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9519 = load i32, ptr @test_count, align 4, !tbaa !5
  %9520 = load i32, ptr %544, align 4, !tbaa !5
  %9521 = call ptr @s2n_strerror(i32 noundef %9520, ptr noundef nonnull @.str.4) #12
  %9522 = load i32, ptr %544, align 4, !tbaa !5
  %9523 = call ptr @s2n_strerror_debug(i32 noundef %9522, ptr noundef nonnull @.str.4) #12
  %9524 = load i32, ptr %598, align 4, !tbaa !5
  %9525 = call ptr @strerror(i32 noundef %9524) #12
  %9526 = load i32, ptr %598, align 4, !tbaa !5
  %9527 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9518, ptr noundef nonnull %.str.5.sink4265, i32 noundef %9519, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.1, i32 noundef 939, ptr noundef %9521, ptr noundef %9523, ptr noundef %9525, i32 noundef %9526) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9528:                                             ; preds = %9501
  %9529 = add nsw i32 %9502, 2
  store i32 %9529, ptr @test_count, align 4, !tbaa !5
  %9530 = call ptr @s2n_strerror_debug(i32 noundef 469762112, ptr noundef nonnull @.str.4) #12
  %9531 = icmp eq ptr %9530, null
  br i1 %9531, label %9532, label %9554

9532:                                             ; preds = %9528
  %9533 = load i32, ptr %598, align 4, !tbaa !5
  %9534 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9535 = call i32 @s2n_print_stacktrace(ptr noundef %9534) #12
  %9536 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9537 = trunc nuw i8 %9536 to i1
  br i1 %9537, label %9538, label %9542

9538:                                             ; preds = %9532
  %9539 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9540 = call i32 @fileno(ptr noundef %9539) #12
  %9541 = call i32 @isatty(i32 noundef %9540) #12
  %.not992 = icmp eq i32 %9541, 0
  br i1 %.not992, label %9542, label %9543

9542:                                             ; preds = %9538, %9532
  br label %9543

9543:                                             ; preds = %9538, %9542
  %.str.5.sink4274 = phi ptr [ @.str.5, %9542 ], [ @.str.2, %9538 ]
  store i32 %9533, ptr %598, align 4, !tbaa !5
  %9544 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9545 = load i32, ptr @test_count, align 4, !tbaa !5
  %9546 = load i32, ptr %544, align 4, !tbaa !5
  %9547 = call ptr @s2n_strerror(i32 noundef %9546, ptr noundef nonnull @.str.4) #12
  %9548 = load i32, ptr %544, align 4, !tbaa !5
  %9549 = call ptr @s2n_strerror_debug(i32 noundef %9548, ptr noundef nonnull @.str.4) #12
  %9550 = load i32, ptr %598, align 4, !tbaa !5
  %9551 = call ptr @strerror(i32 noundef %9550) #12
  %9552 = load i32, ptr %598, align 4, !tbaa !5
  %9553 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9544, ptr noundef nonnull %.str.5.sink4274, i32 noundef %9545, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 939, ptr noundef %9547, ptr noundef %9549, ptr noundef %9551, i32 noundef %9552) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9554:                                             ; preds = %9528
  store i32 0, ptr %544, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %598, align 4, !tbaa !5
  %9555 = load i32, ptr @test_count, align 4, !tbaa !5
  %9556 = add nsw i32 %9555, 1
  store i32 %9556, ptr @test_count, align 4, !tbaa !5
  %9557 = call i32 @s2n_config_set_renegotiate_request_cb(ptr noundef %9421, ptr noundef null, ptr noundef null) #12
  %9558 = icmp eq i32 %9557, -1
  br i1 %9558, label %9559, label %9581

9559:                                             ; preds = %9554
  %9560 = load i32, ptr %598, align 4, !tbaa !5
  %9561 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9562 = call i32 @s2n_print_stacktrace(ptr noundef %9561) #12
  %9563 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9564 = trunc nuw i8 %9563 to i1
  br i1 %9564, label %9565, label %9569

9565:                                             ; preds = %9559
  %9566 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9567 = call i32 @fileno(ptr noundef %9566) #12
  %9568 = call i32 @isatty(i32 noundef %9567) #12
  %.not991 = icmp eq i32 %9568, 0
  br i1 %.not991, label %9569, label %9570

9569:                                             ; preds = %9565, %9559
  br label %9570

9570:                                             ; preds = %9565, %9569
  %.str.5.sink4283 = phi ptr [ @.str.5, %9569 ], [ @.str.2, %9565 ]
  store i32 %9560, ptr %598, align 4, !tbaa !5
  %9571 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9572 = load i32, ptr @test_count, align 4, !tbaa !5
  %9573 = load i32, ptr %544, align 4, !tbaa !5
  %9574 = call ptr @s2n_strerror(i32 noundef %9573, ptr noundef nonnull @.str.4) #12
  %9575 = load i32, ptr %544, align 4, !tbaa !5
  %9576 = call ptr @s2n_strerror_debug(i32 noundef %9575, ptr noundef nonnull @.str.4) #12
  %9577 = load i32, ptr %598, align 4, !tbaa !5
  %9578 = call ptr @strerror(i32 noundef %9577) #12
  %9579 = load i32, ptr %598, align 4, !tbaa !5
  %9580 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9571, ptr noundef nonnull %.str.5.sink4283, i32 noundef %9572, ptr noundef nonnull @.str.145, ptr noundef nonnull @.str.1, i32 noundef 942, ptr noundef %9574, ptr noundef %9576, ptr noundef %9578, i32 noundef %9579) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9581:                                             ; preds = %9554
  %9582 = load i32, ptr @test_count, align 4, !tbaa !5
  %9583 = add nsw i32 %9582, 1
  store i32 %9583, ptr @test_count, align 4, !tbaa !5
  %9584 = call i32 @s2n_config_set_serialization_version(ptr noundef %9421, i32 noundef 1) #12
  %9585 = icmp eq i32 %9584, -1
  br i1 %9585, label %9586, label %9608

9586:                                             ; preds = %9581
  %9587 = load i32, ptr %598, align 4, !tbaa !5
  %9588 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9589 = call i32 @s2n_print_stacktrace(ptr noundef %9588) #12
  %9590 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9591 = trunc nuw i8 %9590 to i1
  br i1 %9591, label %9592, label %9596

9592:                                             ; preds = %9586
  %9593 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9594 = call i32 @fileno(ptr noundef %9593) #12
  %9595 = call i32 @isatty(i32 noundef %9594) #12
  %.not990 = icmp eq i32 %9595, 0
  br i1 %.not990, label %9596, label %9597

9596:                                             ; preds = %9592, %9586
  br label %9597

9597:                                             ; preds = %9592, %9596
  %.str.5.sink4292 = phi ptr [ @.str.5, %9596 ], [ @.str.2, %9592 ]
  store i32 %9587, ptr %598, align 4, !tbaa !5
  %9598 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9599 = load i32, ptr @test_count, align 4, !tbaa !5
  %9600 = load i32, ptr %544, align 4, !tbaa !5
  %9601 = call ptr @s2n_strerror(i32 noundef %9600, ptr noundef nonnull @.str.4) #12
  %9602 = load i32, ptr %544, align 4, !tbaa !5
  %9603 = call ptr @s2n_strerror_debug(i32 noundef %9602, ptr noundef nonnull @.str.4) #12
  %9604 = load i32, ptr %598, align 4, !tbaa !5
  %9605 = call ptr @strerror(i32 noundef %9604) #12
  %9606 = load i32, ptr %598, align 4, !tbaa !5
  %9607 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9598, ptr noundef nonnull %.str.5.sink4292, i32 noundef %9599, ptr noundef nonnull @.str.38, ptr noundef nonnull @.str.1, i32 noundef 945, ptr noundef %9601, ptr noundef %9603, ptr noundef %9605, i32 noundef %9606) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9608:                                             ; preds = %9581
  %9609 = load i32, ptr @test_count, align 4, !tbaa !5
  %9610 = add nsw i32 %9609, 1
  store i32 %9610, ptr @test_count, align 4, !tbaa !5
  %9611 = call i32 @s2n_config_set_renegotiate_request_cb(ptr noundef %9421, ptr noundef nonnull @s2n_test_reneg_cb, ptr noundef null) #12
  %9612 = icmp eq i32 %9611, -1
  br i1 %9612, label %9635, label %9613

9613:                                             ; preds = %9608
  %9614 = load i32, ptr %598, align 4, !tbaa !5
  %9615 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9616 = call i32 @s2n_print_stacktrace(ptr noundef %9615) #12
  %9617 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9618 = trunc nuw i8 %9617 to i1
  br i1 %9618, label %9619, label %9623

9619:                                             ; preds = %9613
  %9620 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9621 = call i32 @fileno(ptr noundef %9620) #12
  %9622 = call i32 @isatty(i32 noundef %9621) #12
  %.not982 = icmp eq i32 %9622, 0
  br i1 %.not982, label %9623, label %9624

9623:                                             ; preds = %9619, %9613
  br label %9624

9624:                                             ; preds = %9619, %9623
  %.str.5.sink4301 = phi ptr [ @.str.5, %9623 ], [ @.str.2, %9619 ]
  store i32 %9614, ptr %598, align 4, !tbaa !5
  %9625 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9626 = load i32, ptr @test_count, align 4, !tbaa !5
  %9627 = load i32, ptr %544, align 4, !tbaa !5
  %9628 = call ptr @s2n_strerror(i32 noundef %9627, ptr noundef nonnull @.str.4) #12
  %9629 = load i32, ptr %544, align 4, !tbaa !5
  %9630 = call ptr @s2n_strerror_debug(i32 noundef %9629, ptr noundef nonnull @.str.4) #12
  %9631 = load i32, ptr %598, align 4, !tbaa !5
  %9632 = call ptr @strerror(i32 noundef %9631) #12
  %9633 = load i32, ptr %598, align 4, !tbaa !5
  %9634 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9625, ptr noundef nonnull %.str.5.sink4301, i32 noundef %9626, ptr noundef nonnull @.str.146, ptr noundef nonnull @.str.1, i32 noundef 948, ptr noundef %9628, ptr noundef %9630, ptr noundef %9632, i32 noundef %9633) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9635:                                             ; preds = %9608
  %9636 = load i32, ptr @test_count, align 4, !tbaa !5
  %9637 = add nsw i32 %9636, 1
  store i32 %9637, ptr @test_count, align 4, !tbaa !5
  %9638 = load i32, ptr %544, align 4, !tbaa !5
  %9639 = icmp eq i32 %9638, 469762112
  br i1 %9639, label %9662, label %9640

9640:                                             ; preds = %9635
  %9641 = load i32, ptr %598, align 4, !tbaa !5
  %9642 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9643 = call i32 @s2n_print_stacktrace(ptr noundef %9642) #12
  %9644 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9645 = trunc nuw i8 %9644 to i1
  br i1 %9645, label %9646, label %9650

9646:                                             ; preds = %9640
  %9647 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9648 = call i32 @fileno(ptr noundef %9647) #12
  %9649 = call i32 @isatty(i32 noundef %9648) #12
  %.not983 = icmp eq i32 %9649, 0
  br i1 %.not983, label %9650, label %9651

9650:                                             ; preds = %9646, %9640
  br label %9651

9651:                                             ; preds = %9646, %9650
  %.str.5.sink4310 = phi ptr [ @.str.5, %9650 ], [ @.str.2, %9646 ]
  store i32 %9641, ptr %598, align 4, !tbaa !5
  %9652 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9653 = load i32, ptr @test_count, align 4, !tbaa !5
  %9654 = load i32, ptr %544, align 4, !tbaa !5
  %9655 = call ptr @s2n_strerror(i32 noundef %9654, ptr noundef nonnull @.str.4) #12
  %9656 = load i32, ptr %544, align 4, !tbaa !5
  %9657 = call ptr @s2n_strerror_debug(i32 noundef %9656, ptr noundef nonnull @.str.4) #12
  %9658 = load i32, ptr %598, align 4, !tbaa !5
  %9659 = call ptr @strerror(i32 noundef %9658) #12
  %9660 = load i32, ptr %598, align 4, !tbaa !5
  %9661 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9652, ptr noundef nonnull %.str.5.sink4310, i32 noundef %9653, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.1, i32 noundef 948, ptr noundef %9655, ptr noundef %9657, ptr noundef %9659, i32 noundef %9660) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9662:                                             ; preds = %9635
  %9663 = add nsw i32 %9636, 2
  store i32 %9663, ptr @test_count, align 4, !tbaa !5
  %9664 = call ptr @s2n_strerror_debug(i32 noundef 469762112, ptr noundef nonnull @.str.4) #12
  %9665 = icmp eq ptr %9664, null
  br i1 %9665, label %9666, label %9688

9666:                                             ; preds = %9662
  %9667 = load i32, ptr %598, align 4, !tbaa !5
  %9668 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9669 = call i32 @s2n_print_stacktrace(ptr noundef %9668) #12
  %9670 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9671 = trunc nuw i8 %9670 to i1
  br i1 %9671, label %9672, label %9676

9672:                                             ; preds = %9666
  %9673 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9674 = call i32 @fileno(ptr noundef %9673) #12
  %9675 = call i32 @isatty(i32 noundef %9674) #12
  %.not989 = icmp eq i32 %9675, 0
  br i1 %.not989, label %9676, label %9677

9676:                                             ; preds = %9672, %9666
  br label %9677

9677:                                             ; preds = %9672, %9676
  %.str.5.sink4319 = phi ptr [ @.str.5, %9676 ], [ @.str.2, %9672 ]
  store i32 %9667, ptr %598, align 4, !tbaa !5
  %9678 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9679 = load i32, ptr @test_count, align 4, !tbaa !5
  %9680 = load i32, ptr %544, align 4, !tbaa !5
  %9681 = call ptr @s2n_strerror(i32 noundef %9680, ptr noundef nonnull @.str.4) #12
  %9682 = load i32, ptr %544, align 4, !tbaa !5
  %9683 = call ptr @s2n_strerror_debug(i32 noundef %9682, ptr noundef nonnull @.str.4) #12
  %9684 = load i32, ptr %598, align 4, !tbaa !5
  %9685 = call ptr @strerror(i32 noundef %9684) #12
  %9686 = load i32, ptr %598, align 4, !tbaa !5
  %9687 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9678, ptr noundef nonnull %.str.5.sink4319, i32 noundef %9679, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 948, ptr noundef %9681, ptr noundef %9683, ptr noundef %9685, i32 noundef %9686) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9688:                                             ; preds = %9662
  store i32 0, ptr %544, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %598, align 4, !tbaa !5
  %9689 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %132) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %132) #12
  %9690 = call i32 @s2n_config_ptr_free(ptr noundef nonnull %131) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %131) #12
  %9691 = call i32 @s2n_cleanup() #12
  %9692 = icmp eq i32 %9691, -1
  br i1 %9692, label %9693, label %9715

9693:                                             ; preds = %9688
  %9694 = load i32, ptr %598, align 4, !tbaa !5
  %9695 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9696 = call i32 @s2n_print_stacktrace(ptr noundef %9695) #12
  %9697 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9698 = trunc nuw i8 %9697 to i1
  br i1 %9698, label %9699, label %9703

9699:                                             ; preds = %9693
  %9700 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9701 = call i32 @fileno(ptr noundef %9700) #12
  %9702 = call i32 @isatty(i32 noundef %9701) #12
  %.not988 = icmp eq i32 %9702, 0
  br i1 %.not988, label %9703, label %9704

9703:                                             ; preds = %9699, %9693
  br label %9704

9704:                                             ; preds = %9699, %9703
  %.str.5.sink4328 = phi ptr [ @.str.5, %9703 ], [ @.str.2, %9699 ]
  store i32 %9694, ptr %598, align 4, !tbaa !5
  %9705 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9706 = load i32, ptr @test_count, align 4, !tbaa !5
  %9707 = load i32, ptr %544, align 4, !tbaa !5
  %9708 = call ptr @s2n_strerror(i32 noundef %9707, ptr noundef nonnull @.str.4) #12
  %9709 = load i32, ptr %544, align 4, !tbaa !5
  %9710 = call ptr @s2n_strerror_debug(i32 noundef %9709, ptr noundef nonnull @.str.4) #12
  %9711 = load i32, ptr %598, align 4, !tbaa !5
  %9712 = call ptr @strerror(i32 noundef %9711) #12
  %9713 = load i32, ptr %598, align 4, !tbaa !5
  %9714 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9705, ptr noundef nonnull %.str.5.sink4328, i32 noundef %9706, ptr noundef nonnull @.str.147, ptr noundef nonnull @.str.1, i32 noundef 951, ptr noundef %9708, ptr noundef %9710, ptr noundef %9712, i32 noundef %9713) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9715:                                             ; preds = %9688
  %9716 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext false) #12
  %9717 = icmp eq i32 %9716, -1
  br i1 %9717, label %9718, label %9740

9718:                                             ; preds = %9715
  %9719 = load i32, ptr %598, align 4, !tbaa !5
  %9720 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9721 = call i32 @s2n_print_stacktrace(ptr noundef %9720) #12
  %9722 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9723 = trunc nuw i8 %9722 to i1
  br i1 %9723, label %9724, label %9728

9724:                                             ; preds = %9718
  %9725 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9726 = call i32 @fileno(ptr noundef %9725) #12
  %9727 = call i32 @isatty(i32 noundef %9726) #12
  %.not987 = icmp eq i32 %9727, 0
  br i1 %.not987, label %9728, label %9729

9728:                                             ; preds = %9724, %9718
  br label %9729

9729:                                             ; preds = %9724, %9728
  %.str.5.sink4337 = phi ptr [ @.str.5, %9728 ], [ @.str.2, %9724 ]
  store i32 %9719, ptr %598, align 4, !tbaa !5
  %9730 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9731 = load i32, ptr @test_count, align 4, !tbaa !5
  %9732 = load i32, ptr %544, align 4, !tbaa !5
  %9733 = call ptr @s2n_strerror(i32 noundef %9732, ptr noundef nonnull @.str.4) #12
  %9734 = load i32, ptr %544, align 4, !tbaa !5
  %9735 = call ptr @s2n_strerror_debug(i32 noundef %9734, ptr noundef nonnull @.str.4) #12
  %9736 = load i32, ptr %598, align 4, !tbaa !5
  %9737 = call ptr @strerror(i32 noundef %9736) #12
  %9738 = load i32, ptr %598, align 4, !tbaa !5
  %9739 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9730, ptr noundef nonnull %.str.5.sink4337, i32 noundef %9731, ptr noundef nonnull @.str.148, ptr noundef nonnull @.str.1, i32 noundef 951, ptr noundef %9733, ptr noundef %9735, ptr noundef %9737, i32 noundef %9738) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9740:                                             ; preds = %9715
  %9741 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9742 = trunc nuw i8 %9741 to i1
  br i1 %9742, label %9743, label %9754

9743:                                             ; preds = %9740
  %9744 = load ptr, ptr @stdout, align 8, !tbaa !9
  %9745 = call i32 @fileno(ptr noundef %9744) #12
  %9746 = call i32 @isatty(i32 noundef %9745) #12
  %.not984 = icmp eq i32 %9746, 0
  br i1 %.not984, label %9754, label %9747

9747:                                             ; preds = %9743
  %9748 = load i32, ptr @test_count, align 4, !tbaa !5
  %.not986 = icmp eq i32 %9748, 0
  %9749 = load ptr, ptr @stdout, align 8, !tbaa !9
  br i1 %.not986, label %9752, label %9750

9750:                                             ; preds = %9747
  %9751 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9749, ptr noundef nonnull @.str.149, i32 noundef %9748) #12
  br label %9761

9752:                                             ; preds = %9747
  %9753 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9749, ptr noundef nonnull @.str.150) #12
  br label %9761

9754:                                             ; preds = %9743, %9740
  %9755 = load i32, ptr @test_count, align 4, !tbaa !5
  %.not985 = icmp eq i32 %9755, 0
  %9756 = load ptr, ptr @stdout, align 8, !tbaa !9
  br i1 %.not985, label %9759, label %9757

9757:                                             ; preds = %9754
  %9758 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9756, ptr noundef nonnull @.str.151, i32 noundef %9755) #12
  br label %9761

9759:                                             ; preds = %9754
  %9760 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9756, ptr noundef nonnull @.str.152) #12
  br label %9761

9761:                                             ; preds = %9757, %9759, %9750, %9752
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %.sroa.0)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %.sroa.5)
  %9762 = call i32 @s2n_config_ptr_free(ptr noundef nonnull %5) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %5) #12
  %9763 = call i32 @s2n_config_ptr_free(ptr noundef nonnull %4) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %4) #12
  %9764 = call i32 @s2n_cert_chain_and_key_ptr_free(ptr noundef nonnull %3) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %3) #12
  ret i32 0
}

; Function Attrs: nofree nounwind
declare noundef i32 @fprintf(ptr nocapture noundef, ptr nocapture noundef readonly, ...) local_unnamed_addr #1

; Function Attrs: nofree nounwind
declare noundef i32 @fflush(ptr nocapture noundef) local_unnamed_addr #1

declare i32 @s2n_in_unit_test_set(i1 noundef zeroext) local_unnamed_addr #2

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

; Function Attrs: mustprogress nofree nosync nounwind willreturn memory(none)
declare ptr @__errno_location() local_unnamed_addr #4

declare i32 @s2n_print_stacktrace(ptr noundef) local_unnamed_addr #2

; Function Attrs: nounwind
declare i32 @isatty(i32 noundef) local_unnamed_addr #5

; Function Attrs: nofree nounwind
declare noundef i32 @fileno(ptr nocapture noundef) local_unnamed_addr #1

declare ptr @s2n_strerror(i32 noundef, ptr noundef) local_unnamed_addr #2

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

declare ptr @s2n_strerror_debug(i32 noundef, ptr noundef) local_unnamed_addr #2

; Function Attrs: nounwind
declare ptr @strerror(i32 noundef) local_unnamed_addr #5

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

; Function Attrs: noreturn nounwind
declare void @exit(i32 noundef) local_unnamed_addr #7

declare i32 @s2n_enable_atexit() local_unnamed_addr #2

declare i32 @s2n_init() local_unnamed_addr #2

declare i32 @s2n_cert_chain_and_key_ptr_free(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_test_cert_chain_and_key_new(ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #2

declare ptr @s2n_config_new() local_unnamed_addr #2

declare i32 @s2n_config_ptr_free(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_config_set_cipher_preferences(ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_config_disable_x509_verification(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_config_set_serialization_version(ptr noundef, i32 noundef) local_unnamed_addr #2

declare ptr @s2n_connection_new(i32 noundef) local_unnamed_addr #2

declare i32 @s2n_connection_ptr_free(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_connection_serialization_length(ptr noundef, ptr noundef) local_unnamed_addr #2

declare void @s2n_debug_info_reset() local_unnamed_addr #2

declare i32 @s2n_connection_set_config(ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_hmac_digest_size(i32 noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_connection_serialize(ptr noundef, ptr noundef, i32 noundef) local_unnamed_addr #2

; Function Attrs: mustprogress nocallback nofree nounwind willreturn memory(argmem: write)
declare void @llvm.memset.p0.i64(ptr nocapture writeonly, i8, i64, i1 immarg) #8

; Function Attrs: inlinehint nounwind uwtable
declare hidden zeroext i1 @s2n_result_is_ok(i32) local_unnamed_addr #9

declare i32 @s2n_skip_handshake(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_io_stuffer_pair_free(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_io_stuffer_pair_init(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_connections_set_io_stuffer_pair(ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_negotiate_test_server_and_client(ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_connection_get_actual_protocol_version(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_connection_get_cipher_iana_value(ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_blob_init(ptr noundef, ptr noundef, i32 noundef) local_unnamed_addr #2

declare i32 @s2n_stuffer_init_written(ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_stuffer_read_uint64(ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_stuffer_read_bytes(ptr noundef, ptr noundef, i32 noundef) local_unnamed_addr #2

; Function Attrs: mustprogress nocallback nofree nounwind willreturn memory(argmem: readwrite)
declare void @llvm.memcpy.p0.p0.i64(ptr noalias nocapture writeonly, ptr noalias nocapture readonly, i64, i1 immarg) #10

declare i32 @s2n_stuffer_read_uint16(ptr noundef, ptr noundef) local_unnamed_addr #2

declare zeroext i1 @s2n_is_tls13_fully_supported(...) local_unnamed_addr #2

declare i64 @s2n_send(ptr noundef, ptr noundef, i64 noundef, ptr noundef) local_unnamed_addr #2

declare i64 @s2n_recv(ptr noundef, ptr noundef, i64 noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_shutdown_send(ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_connection_deserialize(ptr noundef, ptr noundef, i32 noundef) local_unnamed_addr #2

declare i32 @s2n_send_and_recv_test(ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_stuffer_wipe(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_resumption_test_ticket_key_setup(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_connection_get_session_length(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_free(ptr noundef) local_unnamed_addr #2

; Function Attrs: nounwind uwtable
declare hidden i32 @s2n_ticket_pickup(ptr noundef, ptr noundef) local_unnamed_addr #0

declare i32 @s2n_connection_add_new_tickets_to_send(ptr noundef, i8 noundef zeroext) local_unnamed_addr #2

declare i32 @s2n_connection_set_session(ptr noundef, ptr noundef, i64 noundef) local_unnamed_addr #2

declare i32 @s2n_connection_wipe(ptr noundef) local_unnamed_addr #2

declare zeroext i1 @s2n_handshake_type_check_flag(ptr noundef, i32 noundef) local_unnamed_addr #2

; Function Attrs: nounwind uwtable
declare hidden i32 @s2n_test_key_update(ptr noundef, ptr noundef) local_unnamed_addr #0

declare i32 @s2n_config_set_renegotiate_request_cb(ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #2

; Function Attrs: nounwind uwtable
declare hidden i32 @s2n_test_reneg_cb(ptr noundef, ptr noundef, ptr noundef) #0

declare i32 @s2n_cleanup() local_unnamed_addr #2

; Function Attrs: nofree nounwind willreturn memory(argmem: read)
declare i32 @bcmp(ptr nocapture, ptr nocapture, i64) local_unnamed_addr #11

attributes #0 = { nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #1 = { nofree nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #2 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #3 = { mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #4 = { mustprogress nofree nosync nounwind willreturn memory(none) "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #5 = { nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #6 = { mustprogress nocallback nofree nosync nounwind speculatable willreturn memory(none) }
attributes #7 = { noreturn nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #8 = { mustprogress nocallback nofree nounwind willreturn memory(argmem: write) }
attributes #9 = { 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 = !{!16, !7, i64 220}
!16 = !{!"s2n_connection", !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 2, !6, i64 2, !6, i64 2, !6, i64 2, !6, i64 2, !6, i64 2, !6, i64 2, !10, i64 8, !10, i64 16, !10, i64 24, !10, i64 32, !10, i64 40, !10, i64 48, !10, i64 56, !10, i64 64, !10, i64 72, !7, i64 80, !7, i64 102, !7, i64 124, !6, i64 148, !6, i64 152, !17, i64 160, !18, i64 168, !18, i64 176, !7, i64 184, !7, i64 216, !7, i64 217, !7, i64 218, !7, i64 219, !7, i64 220, !7, i64 221, !7, i64 222, !10, i64 224, !10, i64 232, !19, i64 240, !10, i64 632, !10, i64 640, !20, i64 648, !26, i64 1144, !29, i64 1688, !10, i64 1752, !7, i64 1760, !6, i64 1764, !7, i64 1768, !32, i64 1776, !32, i64 1816, !32, i64 1856, !32, i64 1896, !6, i64 1936, !18, i64 1944, !7, i64 1952, !32, i64 1960, !7, i64 2000, !7, i64 2001, !7, i64 2002, !12, i64 2003, !33, i64 2004, !33, i64 2008, !34, i64 2016, !31, i64 2208, !6, i64 2212, !31, i64 2216, !18, i64 2224, !7, i64 2232, !18, i64 2240, !18, i64 2248, !18, i64 2256, !33, i64 2264, !33, i64 2268, !7, i64 2272, !7, i64 2528, !6, i64 2784, !25, i64 2792, !6, i64 2816, !25, i64 2824, !25, i64 2848, !25, i64 2872, !36, i64 2896, !38, i64 3704, !10, i64 3760, !10, i64 3768, !7, i64 3776, !6, i64 3780, !25, i64 3784, !6, i64 3808, !40, i64 3816, !7, i64 3848, !32, i64 3992, !25, i64 4032, !25, i64 4056, !12, i64 4080, !12, i64 4081, !12, i64 4082, !31, i64 4084, !31, i64 4086, !6, i64 4088, !6, i64 4092, !25, i64 4096, !6, i64 4120, !41, i64 4128, !33, i64 4176, !7, i64 4180, !7, i64 4181}
!17 = !{!"s2n_timer", !18, i64 0}
!18 = !{!"long", !7, i64 0}
!19 = !{!"s2n_secrets", !7, i64 0, !6, i64 388}
!20 = !{!"s2n_kex_parameters", !21, i64 0, !22, i64 8, !7, i64 24, !22, i64 56, !23, i64 72, !23, i64 184, !7, i64 296, !24, i64 360, !25, i64 448, !25, i64 472}
!21 = !{!"s2n_dh_params", !10, i64 0}
!22 = !{!"s2n_ecc_evp_params", !10, i64 0, !10, i64 8}
!23 = !{!"s2n_kem_group_params", !10, i64 0, !24, i64 8, !22, i64 96}
!24 = !{!"s2n_kem_params", !10, i64 0, !25, i64 8, !25, i64 32, !25, i64 56, !12, i64 80}
!25 = !{!"s2n_blob", !10, i64 0, !6, i64 8, !6, i64 12, !6, i64 16}
!26 = !{!"s2n_handshake_parameters", !27, i64 0, !27, i64 48, !25, i64 96, !6, i64 120, !28, i64 124, !10, i64 384, !10, i64 392, !10, i64 400, !7, i64 408, !7, i64 440, !7, i64 472, !7, i64 473, !7, i64 474, !7, i64 506}
!27 = !{!"s2n_pkey", !10, i64 0, !10, i64 8, !10, i64 16, !10, i64 24, !10, i64 32, !10, i64 40}
!28 = !{!"s2n_sig_scheme_list", !7, i64 0, !7, i64 256}
!29 = !{!"s2n_psk_parameters", !6, i64 0, !30, i64 8, !31, i64 40, !31, i64 42, !10, i64 48, !6, i64 56}
!30 = !{!"s2n_array", !25, i64 0, !6, i64 24, !6, i64 28}
!31 = !{!"short", !7, i64 0}
!32 = !{!"s2n_stuffer", !25, i64 0, !6, i64 24, !6, i64 28, !6, i64 32, !6, i64 36, !6, i64 36, !6, i64 36}
!33 = !{!"", !6, i64 0}
!34 = !{!"s2n_handshake", !32, i64 0, !10, i64 40, !7, i64 48, !7, i64 56, !7, i64 104, !7, i64 152, !6, i64 156, !6, i64 160, !6, i64 164, !6, i64 168, !35, i64 176, !6, i64 184, !6, i64 184, !6, i64 184, !6, i64 184, !6, i64 188}
!35 = !{!"s2n_offered_early_data", !10, i64 0}
!36 = !{!"s2n_client_hello", !25, i64 0, !37, i64 24, !25, i64 728, !25, i64 752, !25, i64 776, !7, i64 800, !7, i64 801, !6, i64 802, !6, i64 802, !6, i64 802, !6, i64 802, !6, i64 802, !6, i64 802, !6, i64 802}
!37 = !{!"", !7, i64 0, !25, i64 672, !31, i64 696}
!38 = !{!"s2n_x509_validator", !10, i64 0, !10, i64 8, !7, i64 16, !7, i64 17, !31, i64 18, !10, i64 24, !6, i64 32, !10, i64 40, !39, i64 48, !12, i64 52}
!39 = !{!"s2n_cert_validation_info", !6, i64 0, !6, i64 0}
!40 = !{!"s2n_ticket_fields", !25, i64 0, !6, i64 24}
!41 = !{!"s2n_post_handshake", !32, i64 0, !7, i64 40}
!42 = !{!43, !31, i64 0}
!43 = !{!"s2n_cipher_preferences", !31, i64 0, !10, i64 8, !12, i64 16}
!44 = !{!43, !10, i64 8}
!45 = !{!16, !10, i64 232}
!46 = !{!47, !10, i64 0}
!47 = !{!"s2n_crypto_parameters", !10, i64 0, !48, i64 8, !48, i64 16, !49, i64 24, !49, i64 456, !7, i64 888, !7, i64 904, !7, i64 920, !7, i64 928}
!48 = !{!"s2n_session_key", !10, i64 0}
!49 = !{!"s2n_hmac_state", !6, i64 0, !31, i64 4, !6, i64 8, !31, i64 12, !7, i64 14, !50, i64 16, !50, i64 72, !50, i64 128, !50, i64 184, !7, i64 240, !7, i64 368}
!50 = !{!"s2n_hash_state", !10, i64 0, !6, i64 8, !7, i64 12, !18, i64 16, !7, i64 24}
!51 = !{!7, !7, i64 0}
!52 = !{!53, !6, i64 96}
!53 = !{!"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}
!54 = distinct !{!54, !55}
!55 = !{!"llvm.loop.mustprogress"}
!56 = !{!32, !6, i64 28}
!57 = !{!32, !6, i64 24}
!58 = !{!18, !18, i64 0}
!59 = !{!31, !31, i64 0}
!60 = distinct !{!60, !55}
!61 = distinct !{!61, !55}
!62 = distinct !{!62, !55}
!63 = distinct !{!63, !55}
!64 = !{!25, !10, i64 0}
!65 = !{!25, !6, i64 8}


; Effective O3 passes: ADCEPass,CorrelatedValuePropagationPass,EarlyCSEPass,GVNPass,GlobalOptPass,IPSCCPPass,IndVarSimplifyPass,InferAlignmentPass,InferFunctionAttrsPass,InstCombinePass,JumpThreadingPass,LICMPass,LoopInstSimplifyPass,LoopRotatePass,LoopSimplifyPass,LoopUnrollPass,PostOrderFunctionAttrsPass,SROAPass,SimplifyCFGPass,TailCallElimPass